From 5cf6cf3a74c07ceeeafb991c175cb87d6df93cf5 Mon Sep 17 00:00:00 2001 From: hardfist Date: Mon, 20 Nov 2023 22:01:51 +0800 Subject: [PATCH] add arco --- examples/arco-pro/.env.development | 2 + examples/arco-pro/.eslintignore | 1 + examples/arco-pro/.gitignore | 41 + examples/arco-pro/README.md | 13 + examples/arco-pro/index.html | 12 + examples/arco-pro/package.json | 74 + examples/arco-pro/patches/mock.js | 11 + examples/arco-pro/public/favicon.ico | Bin 0 -> 93062 bytes examples/arco-pro/rspack.config.js | 74 + examples/arco-pro/src/assets/dark.svg | 1 + examples/arco-pro/src/assets/light.svg | 39 + examples/arco-pro/src/assets/logo.svg | 12 + examples/arco-pro/src/assets/world.json | 1 + .../src/components/Chart/area-polar.tsx | 84 + .../src/components/Chart/customer-tooltip.tsx | 42 + .../src/components/Chart/fact-multi-pie.tsx | 67 + .../components/Chart/horizontal-interval.tsx | 76 + .../src/components/Chart/multi-area-line.tsx | 63 + .../components/Chart/multi-stack-interval.tsx | 44 + .../components/Chart/overview-area-line.tsx | 83 + .../components/Chart/period-legend-line.tsx | 81 + .../components/Chart/style/index.module.less | 36 + .../arco-pro/src/components/Footer/index.tsx | 16 + .../components/Footer/style/index.module.less | 8 + .../src/components/MessageBox/index.tsx | 139 + .../src/components/MessageBox/list.tsx | 114 + .../MessageBox/style/index.module.less | 46 + .../src/components/NavBar/IconButton.tsx | 21 + .../arco-pro/src/components/NavBar/index.tsx | 188 + .../NavBar/style/icon-button.module.less | 8 + .../components/NavBar/style/index.module.less | 77 + .../arco-pro/src/components/Panel/index.tsx | 23 + .../components/Panel/style/index.module.less | 4 + .../components/PermissionWrapper/index.tsx | 41 + .../src/components/Settings/block.tsx | 77 + .../src/components/Settings/color.tsx | 71 + .../src/components/Settings/index.tsx | 72 + .../Settings/style/block.module.less | 16 + .../Settings/style/color-panel.module.less | 25 + examples/arco-pro/src/context.tsx | 8 + examples/arco-pro/src/declaration.d.ts | 27 + examples/arco-pro/src/empty.tsx | 0 examples/arco-pro/src/index.tsx | 97 + examples/arco-pro/src/layout.tsx | 316 + examples/arco-pro/src/locale/index.ts | 121 + examples/arco-pro/src/mock/index.ts | 11 + examples/arco-pro/src/mock/message-box.ts | 99 + examples/arco-pro/src/mock/user.ts | 62 + .../pages/dashboard/monitor/chat-panel.tsx | 67 + .../dashboard/monitor/data-statistic-list.tsx | 76 + .../dashboard/monitor/data-statistic.tsx | 42 + .../src/pages/dashboard/monitor/index.tsx | 37 + .../pages/dashboard/monitor/locale/index.ts | 99 + .../dashboard/monitor/message-list/index.tsx | 20 + .../dashboard/monitor/message-list/item.tsx | 52 + .../message-list/style/index.module.less | 52 + .../src/pages/dashboard/monitor/mock/index.ts | 21 + .../dashboard/monitor/quick-operation.tsx | 30 + .../dashboard/monitor/studio-information.tsx | 41 + .../pages/dashboard/monitor/studio-status.tsx | 102 + .../src/pages/dashboard/monitor/studio.tsx | 59 + .../dashboard/monitor/style/index.module.less | 94 + .../dashboard/workplace/announcement.tsx | 67 + .../dashboard/workplace/assets/calendar.svg | 86 + .../dashboard/workplace/assets/comments.svg | 71 + .../dashboard/workplace/assets/content.svg | 168 + .../dashboard/workplace/assets/increase.svg | 77 + .../pages/dashboard/workplace/carousel.tsx | 36 + .../workplace/content-percentage.tsx | 88 + .../src/pages/dashboard/workplace/docs.tsx | 32 + .../src/pages/dashboard/workplace/index.tsx | 41 + .../pages/dashboard/workplace/locale/index.ts | 78 + .../pages/dashboard/workplace/mock/index.ts | 117 + .../pages/dashboard/workplace/overview.tsx | 141 + .../dashboard/workplace/popular-contents.tsx | 113 + .../pages/dashboard/workplace/shortcuts.tsx | 105 + .../workplace/style/announcement.module.less | 19 + .../workplace/style/docs.module.less | 15 + .../workplace/style/index.module.less | 19 + .../workplace/style/overview.module.less | 69 + .../style/popular-contents.module.less | 8 + .../workplace/style/shortcuts.module.less | 57 + .../src/pages/exception/403/index.tsx | 28 + .../src/pages/exception/403/locale/index.ts | 17 + .../exception/403/style/index.module.less | 11 + .../src/pages/exception/404/index.tsx | 29 + .../src/pages/exception/404/locale/index.ts | 18 + .../exception/404/style/index.module.less | 11 + .../src/pages/exception/500/index.tsx | 26 + .../src/pages/exception/500/locale/index.ts | 16 + .../exception/500/style/index.module.less | 11 + .../arco-pro/src/pages/form/group/index.tsx | 251 + .../src/pages/form/group/locale/index.ts | 84 + .../src/pages/form/group/mock/index.ts | 11 + .../pages/form/group/style/index.module.less | 23 + .../arco-pro/src/pages/form/step/index.tsx | 259 + .../src/pages/form/step/locale/index.ts | 94 + .../src/pages/form/step/mock/index.ts | 11 + .../pages/form/step/style/index.module.less | 39 + .../arco-pro/src/pages/list/card/card-add.tsx | 28 + .../src/pages/list/card/card-block.tsx | 243 + .../arco-pro/src/pages/list/card/index.tsx | 97 + .../arco-pro/src/pages/list/card/interface.ts | 13 + .../src/pages/list/card/locale/index.ts | 66 + .../src/pages/list/card/mock/index.ts | 106 + .../pages/list/card/style/index.module.less | 156 + .../src/pages/list/card/useRequest.ts | 21 + .../src/pages/list/search-table/constants.tsx | 91 + .../src/pages/list/search-table/form.tsx | 128 + .../list/search-table/icons/horizontal.svg | 20 + .../pages/list/search-table/icons/text.svg | 41 + .../list/search-table/icons/vertical.svg | 24 + .../src/pages/list/search-table/index.tsx | 108 + .../pages/list/search-table/locale/index.ts | 52 + .../src/pages/list/search-table/mock/index.ts | 99 + .../list/search-table/style/index.module.less | 50 + examples/arco-pro/src/pages/login/banner.tsx | 46 + examples/arco-pro/src/pages/login/form.tsx | 122 + examples/arco-pro/src/pages/login/index.tsx | 37 + .../arco-pro/src/pages/login/locale/index.ts | 42 + .../src/pages/login/style/index.module.less | 120 + .../src/pages/profile/basic/index.tsx | 155 + .../arco-pro/src/pages/profile/basic/item.tsx | 122 + .../src/pages/profile/basic/locale/index.ts | 82 + .../src/pages/profile/basic/mock/index.ts | 52 + .../profile/basic/style/index.module.less | 12 + .../arco-pro/src/pages/result/error/index.tsx | 53 + .../src/pages/result/error/locale/index.ts | 33 + .../result/error/style/index.module.less | 18 + .../src/pages/result/success/index.tsx | 61 + .../src/pages/result/success/locale/index.ts | 36 + .../result/success/style/index.module.less | 19 + .../pages/user/info/assets/header-banner.png | Bin 0 -> 220598 bytes .../src/pages/user/info/blocks/project.tsx | 52 + .../arco-pro/src/pages/user/info/header.tsx | 84 + .../arco-pro/src/pages/user/info/index.tsx | 90 + .../src/pages/user/info/latest-news.tsx | 69 + .../src/pages/user/info/locale/index.ts | 26 + .../src/pages/user/info/mock/index.ts | 99 + .../src/pages/user/info/my-projects.tsx | 41 + .../arco-pro/src/pages/user/info/my-team.tsx | 73 + .../pages/user/info/style/blocks.module.less | 18 + .../pages/user/info/style/index.module.less | 62 + .../src/pages/user/setting/header.tsx | 116 + .../arco-pro/src/pages/user/setting/index.tsx | 39 + .../arco-pro/src/pages/user/setting/info.tsx | 173 + .../src/pages/user/setting/locale/index.ts | 150 + .../src/pages/user/setting/mock/index.ts | 35 + .../src/pages/user/setting/security.tsx | 67 + .../user/setting/style/header.module.less | 33 + .../user/setting/style/index.module.less | 74 + .../src/pages/user/setting/verified.tsx | 141 + .../visualization/data-analysis/index.tsx | 118 + .../data-analysis/locale/index.ts | 38 + .../visualization/data-analysis/mock/index.ts | 91 + .../data-analysis/public-opinion/card.tsx | 175 + .../data-analysis/public-opinion/index.tsx | 83 + .../style/public-opinion.module.less | 96 + .../card-list.tsx | 200 + .../data-overview.tsx | 97 + .../multi-dimension-data-analysis/index.tsx | 119 + .../locale/index.ts | 44 + .../mock/index.ts | 134 + .../style/card-block.module.less | 43 + .../style/data-overview.module.less | 39 + .../utils/map.ts | 60 + .../arco-pro/src/pages/welcome/code-block.tsx | 29 + examples/arco-pro/src/pages/welcome/index.tsx | 66 + .../src/pages/welcome/locale/index.ts | 38 + .../welcome/style/code-block.module.less | 14 + .../src/pages/welcome/style/index.module.less | 4 + examples/arco-pro/src/react-app-env.d.ts | 1 + examples/arco-pro/src/routes.ts | 222 + examples/arco-pro/src/settings.json | 8 + examples/arco-pro/src/store/index.ts | 42 + examples/arco-pro/src/style/global.less | 42 + .../arco-pro/src/style/layout.module.less | 138 + examples/arco-pro/src/utils/authentication.ts | 57 + examples/arco-pro/src/utils/changeTheme.ts | 9 + examples/arco-pro/src/utils/checkLogin.tsx | 3 + examples/arco-pro/src/utils/clipboard.ts | 41 + examples/arco-pro/src/utils/getUrlParams.ts | 19 + examples/arco-pro/src/utils/is.ts | 17 + examples/arco-pro/src/utils/lazyload.tsx | 38 + examples/arco-pro/src/utils/setupMock.ts | 5 + examples/arco-pro/src/utils/useChartTheme.ts | 26 + examples/arco-pro/src/utils/useLocale.ts | 11 + examples/arco-pro/src/utils/useStorage.ts | 48 + examples/arco-pro/tsconfig-base.json | 9 + examples/arco-pro/tsconfig.json | 28 + package.json | 27 + pnpm-lock.yaml | 9281 +++++++++++++++++ pnpm-workspace.yaml | 2 + 193 files changed, 21039 insertions(+) create mode 100644 examples/arco-pro/.env.development create mode 100644 examples/arco-pro/.eslintignore create mode 100644 examples/arco-pro/.gitignore create mode 100644 examples/arco-pro/README.md create mode 100644 examples/arco-pro/index.html create mode 100644 examples/arco-pro/package.json create mode 100644 examples/arco-pro/patches/mock.js create mode 100644 examples/arco-pro/public/favicon.ico create mode 100644 examples/arco-pro/rspack.config.js create mode 100644 examples/arco-pro/src/assets/dark.svg create mode 100644 examples/arco-pro/src/assets/light.svg create mode 100644 examples/arco-pro/src/assets/logo.svg create mode 100644 examples/arco-pro/src/assets/world.json create mode 100644 examples/arco-pro/src/components/Chart/area-polar.tsx create mode 100644 examples/arco-pro/src/components/Chart/customer-tooltip.tsx create mode 100644 examples/arco-pro/src/components/Chart/fact-multi-pie.tsx create mode 100644 examples/arco-pro/src/components/Chart/horizontal-interval.tsx create mode 100644 examples/arco-pro/src/components/Chart/multi-area-line.tsx create mode 100644 examples/arco-pro/src/components/Chart/multi-stack-interval.tsx create mode 100644 examples/arco-pro/src/components/Chart/overview-area-line.tsx create mode 100644 examples/arco-pro/src/components/Chart/period-legend-line.tsx create mode 100644 examples/arco-pro/src/components/Chart/style/index.module.less create mode 100644 examples/arco-pro/src/components/Footer/index.tsx create mode 100644 examples/arco-pro/src/components/Footer/style/index.module.less create mode 100644 examples/arco-pro/src/components/MessageBox/index.tsx create mode 100644 examples/arco-pro/src/components/MessageBox/list.tsx create mode 100644 examples/arco-pro/src/components/MessageBox/style/index.module.less create mode 100644 examples/arco-pro/src/components/NavBar/IconButton.tsx create mode 100644 examples/arco-pro/src/components/NavBar/index.tsx create mode 100644 examples/arco-pro/src/components/NavBar/style/icon-button.module.less create mode 100644 examples/arco-pro/src/components/NavBar/style/index.module.less create mode 100644 examples/arco-pro/src/components/Panel/index.tsx create mode 100644 examples/arco-pro/src/components/Panel/style/index.module.less create mode 100644 examples/arco-pro/src/components/PermissionWrapper/index.tsx create mode 100644 examples/arco-pro/src/components/Settings/block.tsx create mode 100644 examples/arco-pro/src/components/Settings/color.tsx create mode 100644 examples/arco-pro/src/components/Settings/index.tsx create mode 100644 examples/arco-pro/src/components/Settings/style/block.module.less create mode 100644 examples/arco-pro/src/components/Settings/style/color-panel.module.less create mode 100644 examples/arco-pro/src/context.tsx create mode 100644 examples/arco-pro/src/declaration.d.ts create mode 100644 examples/arco-pro/src/empty.tsx create mode 100644 examples/arco-pro/src/index.tsx create mode 100644 examples/arco-pro/src/layout.tsx create mode 100644 examples/arco-pro/src/locale/index.ts create mode 100644 examples/arco-pro/src/mock/index.ts create mode 100644 examples/arco-pro/src/mock/message-box.ts create mode 100644 examples/arco-pro/src/mock/user.ts create mode 100644 examples/arco-pro/src/pages/dashboard/monitor/chat-panel.tsx create mode 100644 examples/arco-pro/src/pages/dashboard/monitor/data-statistic-list.tsx create mode 100644 examples/arco-pro/src/pages/dashboard/monitor/data-statistic.tsx create mode 100644 examples/arco-pro/src/pages/dashboard/monitor/index.tsx create mode 100644 examples/arco-pro/src/pages/dashboard/monitor/locale/index.ts create mode 100644 examples/arco-pro/src/pages/dashboard/monitor/message-list/index.tsx create mode 100644 examples/arco-pro/src/pages/dashboard/monitor/message-list/item.tsx create mode 100644 examples/arco-pro/src/pages/dashboard/monitor/message-list/style/index.module.less create mode 100644 examples/arco-pro/src/pages/dashboard/monitor/mock/index.ts create mode 100644 examples/arco-pro/src/pages/dashboard/monitor/quick-operation.tsx create mode 100644 examples/arco-pro/src/pages/dashboard/monitor/studio-information.tsx create mode 100644 examples/arco-pro/src/pages/dashboard/monitor/studio-status.tsx create mode 100644 examples/arco-pro/src/pages/dashboard/monitor/studio.tsx create mode 100644 examples/arco-pro/src/pages/dashboard/monitor/style/index.module.less create mode 100644 examples/arco-pro/src/pages/dashboard/workplace/announcement.tsx create mode 100644 examples/arco-pro/src/pages/dashboard/workplace/assets/calendar.svg create mode 100644 examples/arco-pro/src/pages/dashboard/workplace/assets/comments.svg create mode 100644 examples/arco-pro/src/pages/dashboard/workplace/assets/content.svg create mode 100644 examples/arco-pro/src/pages/dashboard/workplace/assets/increase.svg create mode 100644 examples/arco-pro/src/pages/dashboard/workplace/carousel.tsx create mode 100644 examples/arco-pro/src/pages/dashboard/workplace/content-percentage.tsx create mode 100644 examples/arco-pro/src/pages/dashboard/workplace/docs.tsx create mode 100644 examples/arco-pro/src/pages/dashboard/workplace/index.tsx create mode 100644 examples/arco-pro/src/pages/dashboard/workplace/locale/index.ts create mode 100644 examples/arco-pro/src/pages/dashboard/workplace/mock/index.ts create mode 100644 examples/arco-pro/src/pages/dashboard/workplace/overview.tsx create mode 100644 examples/arco-pro/src/pages/dashboard/workplace/popular-contents.tsx create mode 100644 examples/arco-pro/src/pages/dashboard/workplace/shortcuts.tsx create mode 100644 examples/arco-pro/src/pages/dashboard/workplace/style/announcement.module.less create mode 100644 examples/arco-pro/src/pages/dashboard/workplace/style/docs.module.less create mode 100644 examples/arco-pro/src/pages/dashboard/workplace/style/index.module.less create mode 100644 examples/arco-pro/src/pages/dashboard/workplace/style/overview.module.less create mode 100644 examples/arco-pro/src/pages/dashboard/workplace/style/popular-contents.module.less create mode 100644 examples/arco-pro/src/pages/dashboard/workplace/style/shortcuts.module.less create mode 100644 examples/arco-pro/src/pages/exception/403/index.tsx create mode 100644 examples/arco-pro/src/pages/exception/403/locale/index.ts create mode 100644 examples/arco-pro/src/pages/exception/403/style/index.module.less create mode 100644 examples/arco-pro/src/pages/exception/404/index.tsx create mode 100644 examples/arco-pro/src/pages/exception/404/locale/index.ts create mode 100644 examples/arco-pro/src/pages/exception/404/style/index.module.less create mode 100644 examples/arco-pro/src/pages/exception/500/index.tsx create mode 100644 examples/arco-pro/src/pages/exception/500/locale/index.ts create mode 100644 examples/arco-pro/src/pages/exception/500/style/index.module.less create mode 100644 examples/arco-pro/src/pages/form/group/index.tsx create mode 100644 examples/arco-pro/src/pages/form/group/locale/index.ts create mode 100644 examples/arco-pro/src/pages/form/group/mock/index.ts create mode 100644 examples/arco-pro/src/pages/form/group/style/index.module.less create mode 100644 examples/arco-pro/src/pages/form/step/index.tsx create mode 100644 examples/arco-pro/src/pages/form/step/locale/index.ts create mode 100644 examples/arco-pro/src/pages/form/step/mock/index.ts create mode 100644 examples/arco-pro/src/pages/form/step/style/index.module.less create mode 100644 examples/arco-pro/src/pages/list/card/card-add.tsx create mode 100644 examples/arco-pro/src/pages/list/card/card-block.tsx create mode 100644 examples/arco-pro/src/pages/list/card/index.tsx create mode 100644 examples/arco-pro/src/pages/list/card/interface.ts create mode 100644 examples/arco-pro/src/pages/list/card/locale/index.ts create mode 100644 examples/arco-pro/src/pages/list/card/mock/index.ts create mode 100644 examples/arco-pro/src/pages/list/card/style/index.module.less create mode 100644 examples/arco-pro/src/pages/list/card/useRequest.ts create mode 100644 examples/arco-pro/src/pages/list/search-table/constants.tsx create mode 100644 examples/arco-pro/src/pages/list/search-table/form.tsx create mode 100644 examples/arco-pro/src/pages/list/search-table/icons/horizontal.svg create mode 100644 examples/arco-pro/src/pages/list/search-table/icons/text.svg create mode 100644 examples/arco-pro/src/pages/list/search-table/icons/vertical.svg create mode 100644 examples/arco-pro/src/pages/list/search-table/index.tsx create mode 100644 examples/arco-pro/src/pages/list/search-table/locale/index.ts create mode 100644 examples/arco-pro/src/pages/list/search-table/mock/index.ts create mode 100644 examples/arco-pro/src/pages/list/search-table/style/index.module.less create mode 100644 examples/arco-pro/src/pages/login/banner.tsx create mode 100644 examples/arco-pro/src/pages/login/form.tsx create mode 100644 examples/arco-pro/src/pages/login/index.tsx create mode 100644 examples/arco-pro/src/pages/login/locale/index.ts create mode 100644 examples/arco-pro/src/pages/login/style/index.module.less create mode 100644 examples/arco-pro/src/pages/profile/basic/index.tsx create mode 100644 examples/arco-pro/src/pages/profile/basic/item.tsx create mode 100644 examples/arco-pro/src/pages/profile/basic/locale/index.ts create mode 100644 examples/arco-pro/src/pages/profile/basic/mock/index.ts create mode 100644 examples/arco-pro/src/pages/profile/basic/style/index.module.less create mode 100644 examples/arco-pro/src/pages/result/error/index.tsx create mode 100644 examples/arco-pro/src/pages/result/error/locale/index.ts create mode 100644 examples/arco-pro/src/pages/result/error/style/index.module.less create mode 100644 examples/arco-pro/src/pages/result/success/index.tsx create mode 100644 examples/arco-pro/src/pages/result/success/locale/index.ts create mode 100644 examples/arco-pro/src/pages/result/success/style/index.module.less create mode 100644 examples/arco-pro/src/pages/user/info/assets/header-banner.png create mode 100644 examples/arco-pro/src/pages/user/info/blocks/project.tsx create mode 100644 examples/arco-pro/src/pages/user/info/header.tsx create mode 100644 examples/arco-pro/src/pages/user/info/index.tsx create mode 100644 examples/arco-pro/src/pages/user/info/latest-news.tsx create mode 100644 examples/arco-pro/src/pages/user/info/locale/index.ts create mode 100644 examples/arco-pro/src/pages/user/info/mock/index.ts create mode 100644 examples/arco-pro/src/pages/user/info/my-projects.tsx create mode 100644 examples/arco-pro/src/pages/user/info/my-team.tsx create mode 100644 examples/arco-pro/src/pages/user/info/style/blocks.module.less create mode 100644 examples/arco-pro/src/pages/user/info/style/index.module.less create mode 100644 examples/arco-pro/src/pages/user/setting/header.tsx create mode 100644 examples/arco-pro/src/pages/user/setting/index.tsx create mode 100644 examples/arco-pro/src/pages/user/setting/info.tsx create mode 100644 examples/arco-pro/src/pages/user/setting/locale/index.ts create mode 100644 examples/arco-pro/src/pages/user/setting/mock/index.ts create mode 100644 examples/arco-pro/src/pages/user/setting/security.tsx create mode 100644 examples/arco-pro/src/pages/user/setting/style/header.module.less create mode 100644 examples/arco-pro/src/pages/user/setting/style/index.module.less create mode 100644 examples/arco-pro/src/pages/user/setting/verified.tsx create mode 100644 examples/arco-pro/src/pages/visualization/data-analysis/index.tsx create mode 100644 examples/arco-pro/src/pages/visualization/data-analysis/locale/index.ts create mode 100644 examples/arco-pro/src/pages/visualization/data-analysis/mock/index.ts create mode 100644 examples/arco-pro/src/pages/visualization/data-analysis/public-opinion/card.tsx create mode 100644 examples/arco-pro/src/pages/visualization/data-analysis/public-opinion/index.tsx create mode 100644 examples/arco-pro/src/pages/visualization/data-analysis/style/public-opinion.module.less create mode 100644 examples/arco-pro/src/pages/visualization/multi-dimension-data-analysis/card-list.tsx create mode 100644 examples/arco-pro/src/pages/visualization/multi-dimension-data-analysis/data-overview.tsx create mode 100644 examples/arco-pro/src/pages/visualization/multi-dimension-data-analysis/index.tsx create mode 100644 examples/arco-pro/src/pages/visualization/multi-dimension-data-analysis/locale/index.ts create mode 100644 examples/arco-pro/src/pages/visualization/multi-dimension-data-analysis/mock/index.ts create mode 100644 examples/arco-pro/src/pages/visualization/multi-dimension-data-analysis/style/card-block.module.less create mode 100644 examples/arco-pro/src/pages/visualization/multi-dimension-data-analysis/style/data-overview.module.less create mode 100644 examples/arco-pro/src/pages/visualization/multi-dimension-data-analysis/utils/map.ts create mode 100644 examples/arco-pro/src/pages/welcome/code-block.tsx create mode 100644 examples/arco-pro/src/pages/welcome/index.tsx create mode 100644 examples/arco-pro/src/pages/welcome/locale/index.ts create mode 100644 examples/arco-pro/src/pages/welcome/style/code-block.module.less create mode 100644 examples/arco-pro/src/pages/welcome/style/index.module.less create mode 100644 examples/arco-pro/src/react-app-env.d.ts create mode 100644 examples/arco-pro/src/routes.ts create mode 100644 examples/arco-pro/src/settings.json create mode 100644 examples/arco-pro/src/store/index.ts create mode 100644 examples/arco-pro/src/style/global.less create mode 100644 examples/arco-pro/src/style/layout.module.less create mode 100644 examples/arco-pro/src/utils/authentication.ts create mode 100644 examples/arco-pro/src/utils/changeTheme.ts create mode 100644 examples/arco-pro/src/utils/checkLogin.tsx create mode 100644 examples/arco-pro/src/utils/clipboard.ts create mode 100644 examples/arco-pro/src/utils/getUrlParams.ts create mode 100644 examples/arco-pro/src/utils/is.ts create mode 100644 examples/arco-pro/src/utils/lazyload.tsx create mode 100644 examples/arco-pro/src/utils/setupMock.ts create mode 100644 examples/arco-pro/src/utils/useChartTheme.ts create mode 100644 examples/arco-pro/src/utils/useLocale.ts create mode 100644 examples/arco-pro/src/utils/useStorage.ts create mode 100644 examples/arco-pro/tsconfig-base.json create mode 100644 examples/arco-pro/tsconfig.json create mode 100644 package.json create mode 100644 pnpm-lock.yaml create mode 100644 pnpm-workspace.yaml diff --git a/examples/arco-pro/.env.development b/examples/arco-pro/.env.development new file mode 100644 index 000000000..3cf6085ef --- /dev/null +++ b/examples/arco-pro/.env.development @@ -0,0 +1,2 @@ +PORT=3000 +EXTEND_ESLINT=true \ No newline at end of file diff --git a/examples/arco-pro/.eslintignore b/examples/arco-pro/.eslintignore new file mode 100644 index 000000000..3c3629e64 --- /dev/null +++ b/examples/arco-pro/.eslintignore @@ -0,0 +1 @@ +node_modules diff --git a/examples/arco-pro/.gitignore b/examples/arco-pro/.gitignore new file mode 100644 index 000000000..ed9f1d39d --- /dev/null +++ b/examples/arco-pro/.gitignore @@ -0,0 +1,41 @@ +# See https://help.github.com/articles/ignoring-files/ for more about ignoring files. + +# dependencies +/node_modules +/.pnp +.pnp.js + +# testing +/coverage + +# next.js +/.next/ +/out/ + +# production +/build + +# misc +.DS_Store +*.pem + +# debug +npm-debug.log* +yarn-debug.log* +yarn-error.log* + +# local env files +.env.local +.env.development.local +.env.test.local +.env.production.local + +# vercel +.vercel + +# typescript +*.tsbuildinfo + +dist +/rspack-stats.json +/webpack-stats.json diff --git a/examples/arco-pro/README.md b/examples/arco-pro/README.md new file mode 100644 index 000000000..b4b654516 --- /dev/null +++ b/examples/arco-pro/README.md @@ -0,0 +1,13 @@ +# Arco Design Pro + +## 快速开始 + +``` +// 初始化项目 +npm install + +// 开发模式 +npm run dev + +// 构建 +npm run build diff --git a/examples/arco-pro/index.html b/examples/arco-pro/index.html new file mode 100644 index 000000000..eb277687b --- /dev/null +++ b/examples/arco-pro/index.html @@ -0,0 +1,12 @@ + + + + + + + <%= htmlWebpackPlugin.options.title %> + + +
+ + \ No newline at end of file diff --git a/examples/arco-pro/package.json b/examples/arco-pro/package.json new file mode 100644 index 000000000..596f29c8a --- /dev/null +++ b/examples/arco-pro/package.json @@ -0,0 +1,74 @@ +{ + "name": "example-arco-design-pro", + "version": "1.0.0", + "description": "Arco Design Pro", + "private": true, + "scripts": { + "dev": "rspack serve", + "build": "rspack build", + "analyze": "pnpm run build --analyze", + "preview": "cd dist && serve -s", + "bundle-stats": "rspack build --json ./rspack-stats.json" + }, + "dependencies": { + "@antv/data-set": "^0.11.8", + "@arco-design/color": "^0.4.0", + "@arco-design/web-react": "2.29.2", + "@arco-themes/react-arco-pro": "^0.0.7", + "@loadable/component": "^5.15.2", + "@turf/turf": "^6.5.0", + "arco-design-pro": "^2.3.0", + "axios": "^0.24.0", + "bizcharts": "^4.1.15", + "classnames": "^2.3.1", + "copy-to-clipboard": "^3.3.1", + "dayjs": "^1.10.7", + "lodash": "^4.17.21", + "mockjs": "^1.1.0", + "nprogress": "^0.2.0", + "query-string": "^6.14.1", + "react": "^17.0.2", + "react-color": "^2.19.3", + "react-dom": "^17.0.2", + "react-redux": "^7.2.6", + "react-router": "^5.2.1", + "react-router-dom": "^5.3.0", + "redux": "^4.1.2", + "regenerator-runtime": "0.13.9" + }, + "devDependencies": { + "serve": "14.1.2", + "@rspack/plugin-react-refresh": "0.3.14", + "@rspack/cli": "0.3.14", + "@rspack/core": "0.3.14", + "@rspack/plugin-html": "0.3.14", + "@svgr/webpack": "^6.5.1", + "@swc/core": "^1.3.14", + "bundle-stats": "^4.1.2", + "css-loader": "^6.7.1", + "html-webpack-plugin": "^5.5.0", + "less-loader": "^11.1.0", + "postcss-loader": "7.0.2", + "mini-css-extract-plugin": "^2.6.1", + "style-loader": "^3.3.1", + "swc-loader": "^0.2.3" + }, + "browserslist": { + "production": [ + ">0.2%", + "not dead", + "not op_mini all" + ], + "development": [ + "last 1 chrome version", + "last 1 firefox version", + "last 1 safari version" + ] + }, + "husky": { + "hooks": { + "pre-commit": "lint-staged" + } + }, + "rspack": {} +} \ No newline at end of file diff --git a/examples/arco-pro/patches/mock.js b/examples/arco-pro/patches/mock.js new file mode 100644 index 000000000..8238e0475 --- /dev/null +++ b/examples/arco-pro/patches/mock.js @@ -0,0 +1,11 @@ +export default { + setup() {}, + mock() { + return {}; + }, + XHR: { + prototype: { + withCredentials: true + } + } +}; diff --git a/examples/arco-pro/public/favicon.ico b/examples/arco-pro/public/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..f5299f03b75baac0a2169af47e6f3e9d4ff7ae7d GIT binary patch literal 93062 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 \ No newline at end of file diff --git a/examples/arco-pro/src/assets/light.svg b/examples/arco-pro/src/assets/light.svg new file mode 100644 index 000000000..e8af81b80 --- /dev/null +++ b/examples/arco-pro/src/assets/light.svg @@ -0,0 +1,39 @@ + + + + +编组 5备份 +Created with Sketch. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/examples/arco-pro/src/assets/logo.svg b/examples/arco-pro/src/assets/logo.svg new file mode 100644 index 000000000..3215438fe --- /dev/null +++ b/examples/arco-pro/src/assets/logo.svg @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/examples/arco-pro/src/assets/world.json b/examples/arco-pro/src/assets/world.json new file mode 100644 index 000000000..2d5973193 --- /dev/null +++ b/examples/arco-pro/src/assets/world.json @@ -0,0 +1 @@ +{"type":"FeatureCollection","features":[{"geometry":{"type":"Polygon","coordinates":[[[61.210817,35.650072],[62.230651,35.270664],[62.984662,35.404041],[63.193538,35.857166],[63.982896,36.007957],[64.546479,36.312073],[64.746105,37.111818],[65.588948,37.305217],[65.745631,37.661164],[66.217385,37.39379],[66.518607,37.362784],[67.075782,37.356144],[67.83,37.144994],[68.135562,37.023115],[68.859446,37.344336],[69.196273,37.151144],[69.518785,37.608997],[70.116578,37.588223],[70.270574,37.735165],[70.376304,38.138396],[70.806821,38.486282],[71.348131,38.258905],[71.239404,37.953265],[71.541918,37.905774],[71.448693,37.065645],[71.844638,36.738171],[72.193041,36.948288],[72.63689,37.047558],[73.260056,37.495257],[73.948696,37.421566],[74.980002,37.41999],[75.158028,37.133031],[74.575893,37.020841],[74.067552,36.836176],[72.920025,36.720007],[71.846292,36.509942],[71.262348,36.074388],[71.498768,35.650563],[71.613076,35.153203],[71.115019,34.733126],[71.156773,34.348911],[70.881803,33.988856],[69.930543,34.02012],[70.323594,33.358533],[69.687147,33.105499],[69.262522,32.501944],[69.317764,31.901412],[68.926677,31.620189],[68.556932,31.71331],[67.792689,31.58293],[67.683394,31.303154],[66.938891,31.304911],[66.381458,30.738899],[66.346473,29.887943],[65.046862,29.472181],[64.350419,29.560031],[64.148002,29.340819],[63.550261,29.468331],[62.549857,29.318572],[60.874248,29.829239],[61.781222,30.73585],[61.699314,31.379506],[60.941945,31.548075],[60.863655,32.18292],[60.536078,32.981269],[60.9637,33.528832],[60.52843,33.676446],[60.803193,34.404102],[61.210817,35.650072]]]},"type":"Feature","id":"AFG","properties":{"name":"Afghanistan","id":"AFG","centroid":[69.11,34.28]}},{"geometry":{"type":"MultiPolygon","coordinates":[[[[16.326528,-5.87747],[16.57318,-6.622645],[16.860191,-7.222298],[17.089996,-7.545689],[17.47297,-8.068551],[18.134222,-7.987678],[18.464176,-7.847014],[19.016752,-7.988246],[19.166613,-7.738184],[19.417502,-7.155429],[20.037723,-7.116361],[20.091622,-6.94309],[20.601823,-6.939318],[20.514748,-7.299606],[21.728111,-7.290872],[21.746456,-7.920085],[21.949131,-8.305901],[21.801801,-8.908707],[21.875182,-9.523708],[22.208753,-9.894796],[22.155268,-11.084801],[22.402798,-10.993075],[22.837345,-11.017622],[23.456791,-10.867863],[23.912215,-10.926826],[24.017894,-11.237298],[23.904154,-11.722282],[24.079905,-12.191297],[23.930922,-12.565848],[24.016137,-12.911046],[21.933886,-12.898437],[21.887843,-16.08031],[22.562478,-16.898451],[23.215048,-17.523116],[21.377176,-17.930636],[18.956187,-17.789095],[18.263309,-17.309951],[14.209707,-17.353101],[14.058501,-17.423381],[13.462362,-16.971212],[12.814081,-16.941343],[12.215461,-17.111668],[11.734199,-17.301889],[11.640096,-16.673142],[11.778537,-15.793816],[12.123581,-14.878316],[12.175619,-14.449144],[12.500095,-13.5477],[12.738479,-13.137906],[13.312914,-12.48363],[13.633721,-12.038645],[13.738728,-11.297863],[13.686379,-10.731076],[13.387328,-10.373578],[13.120988,-9.766897],[12.87537,-9.166934],[12.929061,-8.959091],[13.236433,-8.562629],[12.93304,-7.596539],[12.728298,-6.927122],[12.227347,-6.294448],[12.322432,-6.100092],[12.735171,-5.965682],[13.024869,-5.984389],[13.375597,-5.864241],[16.326528,-5.87747]]],[[[12.436688,-5.684304],[12.182337,-5.789931],[11.914963,-5.037987],[12.318608,-4.60623],[12.62076,-4.438023],[12.995517,-4.781103],[12.631612,-4.991271],[12.468004,-5.248362],[12.436688,-5.684304]]]]},"type":"Feature","id":"AGO","properties":{"name":"Angola","id":"AGO","centroid":[13.15,-8.5]}},{"geometry":{"type":"Polygon","coordinates":[[[20.590247,41.855404],[20.463175,41.515089],[20.605182,41.086226],[21.02004,40.842727],[20.99999,40.580004],[20.674997,40.435],[20.615,40.110007],[20.150016,39.624998],[19.98,39.694993],[19.960002,39.915006],[19.406082,40.250773],[19.319059,40.72723],[19.40355,41.409566],[19.540027,41.719986],[19.371769,41.877548],[19.304486,42.195745],[19.738051,42.688247],[19.801613,42.500093],[20.0707,42.58863],[20.283755,42.32026],[20.52295,42.21787],[20.590247,41.855404]]]},"type":"Feature","id":"ALB","properties":{"name":"Albania","id":"ALB","centroid":[19.49,41.18]}},{"geometry":{"type":"Polygon","coordinates":[[[51.579519,24.245497],[51.757441,24.294073],[51.794389,24.019826],[52.577081,24.177439],[53.404007,24.151317],[54.008001,24.121758],[54.693024,24.797892],[55.439025,25.439145],[56.070821,26.055464],[56.261042,25.714606],[56.396847,24.924732],[55.886233,24.920831],[55.804119,24.269604],[55.981214,24.130543],[55.528632,23.933604],[55.525841,23.524869],[55.234489,23.110993],[55.208341,22.70833],[55.006803,22.496948],[52.000733,23.001154],[51.617708,24.014219],[51.579519,24.245497]]]},"type":"Feature","id":"ARE","properties":{"name":"United Arab Emirates","id":"ARE","centroid":[55.18,25.15]}},{"geometry":{"type":"MultiPolygon","coordinates":[[[[-65.5,-55.2],[-66.45,-55.25],[-66.95992,-54.89681],[-67.56244,-54.87001],[-68.63335,-54.8695],[-68.63401,-52.63637],[-68.25,-53.1],[-67.75,-53.85],[-66.45,-54.45],[-65.05,-54.7],[-65.5,-55.2]]],[[[-64.964892,-22.075862],[-64.377021,-22.798091],[-63.986838,-21.993644],[-62.846468,-22.034985],[-62.685057,-22.249029],[-60.846565,-23.880713],[-60.028966,-24.032796],[-58.807128,-24.771459],[-57.777217,-25.16234],[-57.63366,-25.603657],[-58.618174,-27.123719],[-57.60976,-27.395899],[-56.486702,-27.548499],[-55.695846,-27.387837],[-54.788795,-26.621786],[-54.625291,-25.739255],[-54.13005,-25.547639],[-53.628349,-26.124865],[-53.648735,-26.923473],[-54.490725,-27.474757],[-55.162286,-27.881915],[-56.2909,-28.852761],[-57.625133,-30.216295],[-57.874937,-31.016556],[-58.14244,-32.044504],[-58.132648,-33.040567],[-58.349611,-33.263189],[-58.427074,-33.909454],[-58.495442,-34.43149],[-57.22583,-35.288027],[-57.362359,-35.97739],[-56.737487,-36.413126],[-56.788285,-36.901572],[-57.749157,-38.183871],[-59.231857,-38.72022],[-61.237445,-38.928425],[-62.335957,-38.827707],[-62.125763,-39.424105],[-62.330531,-40.172586],[-62.145994,-40.676897],[-62.745803,-41.028761],[-63.770495,-41.166789],[-64.73209,-40.802677],[-65.118035,-41.064315],[-64.978561,-42.058001],[-64.303408,-42.359016],[-63.755948,-42.043687],[-63.458059,-42.563138],[-64.378804,-42.873558],[-65.181804,-43.495381],[-65.328823,-44.501366],[-65.565269,-45.036786],[-66.509966,-45.039628],[-67.293794,-45.551896],[-67.580546,-46.301773],[-66.597066,-47.033925],[-65.641027,-47.236135],[-65.985088,-48.133289],[-67.166179,-48.697337],[-67.816088,-49.869669],[-68.728745,-50.264218],[-69.138539,-50.73251],[-68.815561,-51.771104],[-68.149995,-52.349983],[-68.571545,-52.299444],[-69.498362,-52.142761],[-71.914804,-52.009022],[-72.329404,-51.425956],[-72.309974,-50.67701],[-72.975747,-50.74145],[-73.328051,-50.378785],[-73.415436,-49.318436],[-72.648247,-48.878618],[-72.331161,-48.244238],[-72.447355,-47.738533],[-71.917258,-46.884838],[-71.552009,-45.560733],[-71.659316,-44.973689],[-71.222779,-44.784243],[-71.329801,-44.407522],[-71.793623,-44.207172],[-71.464056,-43.787611],[-71.915424,-43.408565],[-72.148898,-42.254888],[-71.746804,-42.051386],[-71.915734,-40.832339],[-71.680761,-39.808164],[-71.413517,-38.916022],[-70.814664,-38.552995],[-71.118625,-37.576827],[-71.121881,-36.658124],[-70.364769,-36.005089],[-70.388049,-35.169688],[-69.817309,-34.193571],[-69.814777,-33.273886],[-70.074399,-33.09121],[-70.535069,-31.36501],[-69.919008,-30.336339],[-70.01355,-29.367923],[-69.65613,-28.459141],[-69.001235,-27.521214],[-68.295542,-26.89934],[-68.5948,-26.506909],[-68.386001,-26.185016],[-68.417653,-24.518555],[-67.328443,-24.025303],[-66.985234,-22.986349],[-67.106674,-22.735925],[-66.273339,-21.83231],[-64.964892,-22.075862]]]]},"type":"Feature","id":"ARG","properties":{"name":"Argentina","id":"ARG","centroid":[-60,-36.3]}},{"geometry":{"type":"Polygon","coordinates":[[[43.582746,41.092143],[44.97248,41.248129],[45.179496,40.985354],[45.560351,40.81229],[45.359175,40.561504],[45.891907,40.218476],[45.610012,39.899994],[46.034534,39.628021],[46.483499,39.464155],[46.50572,38.770605],[46.143623,38.741201],[45.735379,39.319719],[45.739978,39.473999],[45.298145,39.471751],[45.001987,39.740004],[44.79399,39.713003],[44.400009,40.005],[43.656436,40.253564],[43.752658,40.740201],[43.582746,41.092143]]]},"type":"Feature","id":"ARM","properties":{"name":"Armenia","id":"ARM","centroid":[44.31,40.1]}},{"geometry":{"type":"Polygon","coordinates":[[[68.935,-48.625],[69.58,-48.94],[70.525,-49.065],[70.56,-49.255],[70.28,-49.71],[68.745,-49.775],[68.72,-49.2425],[68.8675,-48.83],[68.935,-48.625]]]},"type":"Feature","id":"ATF","properties":{"name":"French Southern and Antarctic Lands","id":"ATF","centroid":null}},{"geometry":{"type":"MultiPolygon","coordinates":[[[[145.397978,-40.792549],[146.364121,-41.137695],[146.908584,-41.000546],[147.689259,-40.808258],[148.289068,-40.875438],[148.359865,-42.062445],[148.017301,-42.407024],[147.914052,-43.211522],[147.564564,-42.937689],[146.870343,-43.634597],[146.663327,-43.580854],[146.048378,-43.549745],[145.43193,-42.693776],[145.29509,-42.03361],[144.718071,-41.162552],[144.743755,-40.703975],[145.397978,-40.792549]]],[[[143.561811,-13.763656],[143.922099,-14.548311],[144.563714,-14.171176],[144.894908,-14.594458],[145.374724,-14.984976],[145.271991,-15.428205],[145.48526,-16.285672],[145.637033,-16.784918],[145.888904,-16.906926],[146.160309,-17.761655],[146.063674,-18.280073],[146.387478,-18.958274],[147.471082,-19.480723],[148.177602,-19.955939],[148.848414,-20.39121],[148.717465,-20.633469],[149.28942,-21.260511],[149.678337,-22.342512],[150.077382,-22.122784],[150.482939,-22.556142],[150.727265,-22.402405],[150.899554,-23.462237],[151.609175,-24.076256],[152.07354,-24.457887],[152.855197,-25.267501],[153.136162,-26.071173],[153.161949,-26.641319],[153.092909,-27.2603],[153.569469,-28.110067],[153.512108,-28.995077],[153.339095,-29.458202],[153.069241,-30.35024],[153.089602,-30.923642],[152.891578,-31.640446],[152.450002,-32.550003],[151.709117,-33.041342],[151.343972,-33.816023],[151.010555,-34.31036],[150.714139,-35.17346],[150.32822,-35.671879],[150.075212,-36.420206],[149.946124,-37.109052],[149.997284,-37.425261],[149.423882,-37.772681],[148.304622,-37.809061],[147.381733,-38.219217],[146.922123,-38.606532],[146.317922,-39.035757],[145.489652,-38.593768],[144.876976,-38.417448],[145.032212,-37.896188],[144.485682,-38.085324],[143.609974,-38.809465],[142.745427,-38.538268],[142.17833,-38.380034],[141.606582,-38.308514],[140.638579,-38.019333],[139.992158,-37.402936],[139.806588,-36.643603],[139.574148,-36.138362],[139.082808,-35.732754],[138.120748,-35.612296],[138.449462,-35.127261],[138.207564,-34.384723],[137.71917,-35.076825],[136.829406,-35.260535],[137.352371,-34.707339],[137.503886,-34.130268],[137.890116,-33.640479],[137.810328,-32.900007],[136.996837,-33.752771],[136.372069,-34.094766],[135.989043,-34.890118],[135.208213,-34.47867],[135.239218,-33.947953],[134.613417,-33.222778],[134.085904,-32.848072],[134.273903,-32.617234],[132.990777,-32.011224],[132.288081,-31.982647],[131.326331,-31.495803],[129.535794,-31.590423],[128.240938,-31.948489],[127.102867,-32.282267],[126.148714,-32.215966],[125.088623,-32.728751],[124.221648,-32.959487],[124.028947,-33.483847],[123.659667,-33.890179],[122.811036,-33.914467],[122.183064,-34.003402],[121.299191,-33.821036],[120.580268,-33.930177],[119.893695,-33.976065],[119.298899,-34.509366],[119.007341,-34.464149],[118.505718,-34.746819],[118.024972,-35.064733],[117.295507,-35.025459],[116.625109,-35.025097],[115.564347,-34.386428],[115.026809,-34.196517],[115.048616,-33.623425],[115.545123,-33.487258],[115.714674,-33.259572],[115.679379,-32.900369],[115.801645,-32.205062],[115.689611,-31.612437],[115.160909,-30.601594],[114.997043,-30.030725],[115.040038,-29.461095],[114.641974,-28.810231],[114.616498,-28.516399],[114.173579,-28.118077],[114.048884,-27.334765],[113.477498,-26.543134],[113.338953,-26.116545],[113.778358,-26.549025],[113.440962,-25.621278],[113.936901,-25.911235],[114.232852,-26.298446],[114.216161,-25.786281],[113.721255,-24.998939],[113.625344,-24.683971],[113.393523,-24.384764],[113.502044,-23.80635],[113.706993,-23.560215],[113.843418,-23.059987],[113.736552,-22.475475],[114.149756,-21.755881],[114.225307,-22.517488],[114.647762,-21.82952],[115.460167,-21.495173],[115.947373,-21.068688],[116.711615,-20.701682],[117.166316,-20.623599],[117.441545,-20.746899],[118.229559,-20.374208],[118.836085,-20.263311],[118.987807,-20.044203],[119.252494,-19.952942],[119.805225,-19.976506],[120.85622,-19.683708],[121.399856,-19.239756],[121.655138,-18.705318],[122.241665,-18.197649],[122.286624,-17.798603],[122.312772,-17.254967],[123.012574,-16.4052],[123.433789,-17.268558],[123.859345,-17.069035],[123.503242,-16.596506],[123.817073,-16.111316],[124.258287,-16.327944],[124.379726,-15.56706],[124.926153,-15.0751],[125.167275,-14.680396],[125.670087,-14.51007],[125.685796,-14.230656],[126.125149,-14.347341],[126.142823,-14.095987],[126.582589,-13.952791],[127.065867,-13.817968],[127.804633,-14.276906],[128.35969,-14.86917],[128.985543,-14.875991],[129.621473,-14.969784],[129.4096,-14.42067],[129.888641,-13.618703],[130.339466,-13.357376],[130.183506,-13.10752],[130.617795,-12.536392],[131.223495,-12.183649],[131.735091,-12.302453],[132.575298,-12.114041],[132.557212,-11.603012],[131.824698,-11.273782],[132.357224,-11.128519],[133.019561,-11.376411],[133.550846,-11.786515],[134.393068,-12.042365],[134.678632,-11.941183],[135.298491,-12.248606],[135.882693,-11.962267],[136.258381,-12.049342],[136.492475,-11.857209],[136.95162,-12.351959],[136.685125,-12.887223],[136.305407,-13.29123],[135.961758,-13.324509],[136.077617,-13.724278],[135.783836,-14.223989],[135.428664,-14.715432],[135.500184,-14.997741],[136.295175,-15.550265],[137.06536,-15.870762],[137.580471,-16.215082],[138.303217,-16.807604],[138.585164,-16.806622],[139.108543,-17.062679],[139.260575,-17.371601],[140.215245,-17.710805],[140.875463,-17.369069],[141.07111,-16.832047],[141.274095,-16.38887],[141.398222,-15.840532],[141.702183,-15.044921],[141.56338,-14.561333],[141.63552,-14.270395],[141.519869,-13.698078],[141.65092,-12.944688],[141.842691,-12.741548],[141.68699,-12.407614],[141.928629,-11.877466],[142.118488,-11.328042],[142.143706,-11.042737],[142.51526,-10.668186],[142.79731,-11.157355],[142.866763,-11.784707],[143.115947,-11.90563],[143.158632,-12.325656],[143.522124,-12.834358],[143.597158,-13.400422],[143.561811,-13.763656]]]]},"type":"Feature","id":"AUS","properties":{"name":"Australia","id":"AUS","centroid":[149.08,-35.15]}},{"geometry":{"type":"Polygon","coordinates":[[[16.979667,48.123497],[16.903754,47.714866],[16.340584,47.712902],[16.534268,47.496171],[16.202298,46.852386],[16.011664,46.683611],[15.137092,46.658703],[14.632472,46.431817],[13.806475,46.509306],[12.376485,46.767559],[12.153088,47.115393],[11.164828,46.941579],[11.048556,46.751359],[10.442701,46.893546],[9.932448,46.920728],[9.47997,47.10281],[9.632932,47.347601],[9.594226,47.525058],[9.896068,47.580197],[10.402084,47.302488],[10.544504,47.566399],[11.426414,47.523766],[12.141357,47.703083],[12.62076,47.672388],[12.932627,47.467646],[13.025851,47.637584],[12.884103,48.289146],[13.243357,48.416115],[13.595946,48.877172],[14.338898,48.555305],[14.901447,48.964402],[15.253416,49.039074],[16.029647,48.733899],[16.499283,48.785808],[16.960288,48.596982],[16.879983,48.470013],[16.979667,48.123497]]]},"type":"Feature","id":"AUT","properties":{"name":"Austria","id":"AUT","centroid":[16.22,48.12]}},{"geometry":{"type":"MultiPolygon","coordinates":[[[[45.001987,39.740004],[45.298145,39.471751],[45.739978,39.473999],[45.735379,39.319719],[46.143623,38.741201],[45.457722,38.874139],[44.952688,39.335765],[44.79399,39.713003],[45.001987,39.740004]]],[[[47.373315,41.219732],[47.815666,41.151416],[47.987283,41.405819],[48.584353,41.80887],[49.110264,41.282287],[49.618915,40.572924],[50.08483,40.526157],[50.392821,40.256561],[49.569202,40.176101],[49.395259,39.399482],[49.223228,39.049219],[48.856532,38.815486],[48.883249,38.320245],[48.634375,38.270378],[48.010744,38.794015],[48.355529,39.288765],[48.060095,39.582235],[47.685079,39.508364],[46.50572,38.770605],[46.483499,39.464155],[46.034534,39.628021],[45.610012,39.899994],[45.891907,40.218476],[45.359175,40.561504],[45.560351,40.81229],[45.179496,40.985354],[44.97248,41.248129],[45.217426,41.411452],[45.962601,41.123873],[46.501637,41.064445],[46.637908,41.181673],[46.145432,41.722802],[46.404951,41.860675],[46.686071,41.827137],[47.373315,41.219732]]]]},"type":"Feature","id":"AZE","properties":{"name":"Azerbaijan","id":"AZE","centroid":[49.56,40.29]}},{"geometry":{"type":"Polygon","coordinates":[[[29.339998,-4.499983],[29.276384,-3.293907],[29.024926,-2.839258],[29.632176,-2.917858],[29.938359,-2.348487],[30.469696,-2.413858],[30.527677,-2.807632],[30.743013,-3.034285],[30.752263,-3.35933],[30.50556,-3.568567],[30.116333,-4.090138],[29.753512,-4.452389],[29.339998,-4.499983]]]},"type":"Feature","id":"BDI","properties":{"name":"Burundi","id":"BDI","centroid":[29.18,-3.16]}},{"geometry":{"type":"Polygon","coordinates":[[[3.314971,51.345781],[4.047071,51.267259],[4.973991,51.475024],[5.606976,51.037298],[6.156658,50.803721],[6.043073,50.128052],[5.782417,50.090328],[5.674052,49.529484],[4.799222,49.985373],[4.286023,49.907497],[3.588184,50.378992],[3.123252,50.780363],[2.658422,50.796848],[2.513573,51.148506],[3.314971,51.345781]]]},"type":"Feature","id":"BEL","properties":{"name":"Belgium","id":"BEL","centroid":[4.21,50.51]}},{"geometry":{"type":"Polygon","coordinates":[[[2.691702,6.258817],[1.865241,6.142158],[1.618951,6.832038],[1.664478,9.12859],[1.463043,9.334624],[1.425061,9.825395],[1.077795,10.175607],[0.772336,10.470808],[0.899563,10.997339],[1.24347,11.110511],[1.447178,11.547719],[1.935986,11.64115],[2.154474,11.94015],[2.490164,12.233052],[2.848643,12.235636],[3.61118,11.660167],[3.572216,11.327939],[3.797112,10.734746],[3.60007,10.332186],[3.705438,10.06321],[3.220352,9.444153],[2.912308,9.137608],[2.723793,8.506845],[2.749063,7.870734],[2.691702,6.258817]]]},"type":"Feature","id":"BEN","properties":{"name":"Benin","id":"BEN","centroid":[2.42,6.23]}},{"geometry":{"type":"Polygon","coordinates":[[[-2.827496,9.642461],[-3.511899,9.900326],[-3.980449,9.862344],[-4.330247,9.610835],[-4.779884,9.821985],[-4.954653,10.152714],[-5.404342,10.370737],[-5.470565,10.95127],[-5.197843,11.375146],[-5.220942,11.713859],[-4.427166,12.542646],[-4.280405,13.228444],[-4.006391,13.472485],[-3.522803,13.337662],[-3.103707,13.541267],[-2.967694,13.79815],[-2.191825,14.246418],[-2.001035,14.559008],[-1.066363,14.973815],[-0.515854,15.116158],[-0.266257,14.924309],[0.374892,14.928908],[0.295646,14.444235],[0.429928,13.988733],[0.993046,13.33575],[1.024103,12.851826],[2.177108,12.625018],[2.154474,11.94015],[1.935986,11.64115],[1.447178,11.547719],[1.24347,11.110511],[0.899563,10.997339],[0.023803,11.018682],[-0.438702,11.098341],[-0.761576,10.93693],[-1.203358,11.009819],[-2.940409,10.96269],[-2.963896,10.395335],[-2.827496,9.642461]]]},"type":"Feature","id":"BFA","properties":{"name":"Burkina Faso","id":"BFA","centroid":[-1.3,12.15]}},{"geometry":{"type":"Polygon","coordinates":[[[92.672721,22.041239],[92.652257,21.324048],[92.303234,21.475485],[92.368554,20.670883],[92.082886,21.192195],[92.025215,21.70157],[91.834891,22.182936],[91.417087,22.765019],[90.496006,22.805017],[90.586957,22.392794],[90.272971,21.836368],[89.847467,22.039146],[89.70205,21.857116],[89.418863,21.966179],[89.031961,22.055708],[88.876312,22.879146],[88.52977,23.631142],[88.69994,24.233715],[88.084422,24.501657],[88.306373,24.866079],[88.931554,25.238692],[88.209789,25.768066],[88.563049,26.446526],[89.355094,26.014407],[89.832481,25.965082],[89.920693,25.26975],[90.872211,25.132601],[91.799596,25.147432],[92.376202,24.976693],[91.915093,24.130414],[91.46773,24.072639],[91.158963,23.503527],[91.706475,22.985264],[91.869928,23.624346],[92.146035,23.627499],[92.672721,22.041239]]]},"type":"Feature","id":"BGD","properties":{"name":"Bangladesh","id":"BGD","centroid":[90.23,23.42]}},{"geometry":{"type":"Polygon","coordinates":[[[22.65715,44.234923],[22.944832,43.823785],[23.332302,43.897011],[24.100679,43.741051],[25.569272,43.688445],[26.065159,43.943494],[27.2424,44.175986],[27.970107,43.812468],[28.558081,43.707462],[28.039095,43.293172],[27.673898,42.577892],[27.99672,42.007359],[27.135739,42.141485],[26.117042,41.826905],[26.106138,41.328899],[25.197201,41.234486],[24.492645,41.583896],[23.692074,41.309081],[22.952377,41.337994],[22.881374,41.999297],[22.380526,42.32026],[22.545012,42.461362],[22.436595,42.580321],[22.604801,42.898519],[22.986019,43.211161],[22.500157,43.642814],[22.410446,44.008063],[22.65715,44.234923]]]},"type":"Feature","id":"BGR","properties":{"name":"Bulgaria","id":"BGR","centroid":[23.2,42.45]}},{"geometry":{"type":"MultiPolygon","coordinates":[[[[-77.53466,23.75975],[-77.78,23.71],[-78.03405,24.28615],[-78.40848,24.57564],[-78.19087,25.2103],[-77.89,25.17],[-77.54,24.34],[-77.53466,23.75975]]],[[[-77.82,26.58],[-78.91,26.42],[-78.98,26.79],[-78.51,26.87],[-77.85,26.84],[-77.82,26.58]]],[[[-77,26.59],[-77.17255,25.87918],[-77.35641,26.00735],[-77.34,26.53],[-77.78802,26.92516],[-77.79,27.04],[-77,26.59]]]]},"type":"Feature","id":"BHS","properties":{"name":"The Bahamas","id":"BHS","centroid":[-77.2,25.05]}},{"geometry":{"type":"Polygon","coordinates":[[[19.005486,44.860234],[19.36803,44.863],[19.11761,44.42307],[19.59976,44.03847],[19.454,43.5681],[19.21852,43.52384],[19.03165,43.43253],[18.70648,43.20011],[18.56,42.65],[17.674922,43.028563],[17.297373,43.446341],[16.916156,43.667722],[16.456443,44.04124],[16.23966,44.351143],[15.750026,44.818712],[15.959367,45.233777],[16.318157,45.004127],[16.534939,45.211608],[17.002146,45.233777],[17.861783,45.06774],[18.553214,45.08159],[19.005486,44.860234]]]},"type":"Feature","id":"BIH","properties":{"name":"Bosnia and Herzegovina","id":"BIH","centroid":[18.25,43.52]}},{"geometry":{"type":"Polygon","coordinates":[[[23.484128,53.912498],[24.450684,53.905702],[25.536354,54.282423],[25.768433,54.846963],[26.588279,55.167176],[26.494331,55.615107],[27.10246,55.783314],[28.176709,56.16913],[29.229513,55.918344],[29.371572,55.670091],[29.896294,55.789463],[30.873909,55.550976],[30.971836,55.081548],[30.757534,54.811771],[31.384472,54.157056],[31.791424,53.974639],[31.731273,53.794029],[32.405599,53.618045],[32.693643,53.351421],[32.304519,53.132726],[31.497644,53.167427],[31.305201,53.073996],[31.540018,52.742052],[31.785998,52.101678],[30.927549,52.042353],[30.619454,51.822806],[30.555117,51.319503],[30.157364,51.416138],[29.254938,51.368234],[28.992835,51.602044],[28.617613,51.427714],[28.241615,51.572227],[27.454066,51.592303],[26.337959,51.832289],[25.327788,51.910656],[24.553106,51.888461],[24.005078,51.617444],[23.527071,51.578454],[23.508002,52.023647],[23.199494,52.486977],[23.799199,52.691099],[23.804935,53.089731],[23.527536,53.470122],[23.484128,53.912498]]]},"type":"Feature","id":"BLR","properties":{"name":"Belarus","id":"BLR","centroid":[27.3,53.52]}},{"geometry":{"type":"Polygon","coordinates":[[[-89.14308,17.808319],[-89.150909,17.955468],[-89.029857,18.001511],[-88.848344,17.883198],[-88.490123,18.486831],[-88.300031,18.499982],[-88.296336,18.353273],[-88.106813,18.348674],[-88.123479,18.076675],[-88.285355,17.644143],[-88.197867,17.489475],[-88.302641,17.131694],[-88.239518,17.036066],[-88.355428,16.530774],[-88.551825,16.265467],[-88.732434,16.233635],[-88.930613,15.887273],[-89.229122,15.886938],[-89.150806,17.015577],[-89.14308,17.808319]]]},"type":"Feature","id":"BLZ","properties":{"name":"Belize","id":"BLZ","centroid":[-88.3,17.18]}},{"geometry":{"type":"Polygon","coordinates":[[[-64.7799734332998,32.3072000581802],[-64.7873319183061,32.3039237143428],[-64.7946942710173,32.3032682700388],[-64.8094297981283,32.3098175728414],[-64.8167896352437,32.3058845718466],[-64.8101968029642,32.3022833180511],[-64.7962291465484,32.2934409732427],[-64.7815086336978,32.2868973114514],[-64.7997025513437,32.2796896417328],[-64.8066707691087,32.2747767569465],[-64.8225587873683,32.2669111289395],[-64.8287548840306,32.2669075473817],[-64.8306732143498,32.2583944840235],[-64.8399924854972,32.254782282336],[-64.8566090462354,32.2547740387514],[-64.8682296789446,32.2616393614322],[-64.8628241459563,32.2724481933959],[-64.8748651338951,32.2757120264753],[-64.8717752856644,32.2819371582026],[-64.8671422127295,32.2930760547989],[-64.8559068764437,32.2960321186471],[-64.8597429072279,32.3015842021933],[-64.8439233486717,32.3140553852543],[-64.8350242329311,32.3242161760006],[-64.8338690593672,32.3294587561557],[-64.8520298651164,32.3110911879954],[-64.8635922932573,32.3048469433363],[-64.8686668994079,32.30910745083],[-64.8721354593415,32.3041908606301],[-64.8779667328485,32.3038632800462],[-64.8780046844321,32.2907757831692],[-64.8849776658292,32.2819261366004],[-64.8783230004629,32.2613001418681],[-64.863194968877,32.2465799485801],[-64.8519819555722,32.2485519134663],[-64.842311980074,32.2492123317296],[-64.8388242605209,32.2475773472534],[-64.8334002575532,32.2462714714698],[-64.8256389530584,32.2472637398594],[-64.8205697556026,32.2531698880328],[-64.8105087275579,32.2561208974156],[-64.7900177727338,32.2659446936992],[-64.7745415970416,32.2718413023427],[-64.7644742436426,32.2855931353214],[-64.7551803442276,32.2908326702531],[-64.7423982971436,32.2996734994024],[-64.7206991797682,32.3137542201258],[-64.7117851247134,32.3176823360806],[-64.6962778813133,32.3275029115532],[-64.6768921127452,32.3324095397555],[-64.6567136927777,32.3451776458469],[-64.6532168823499,32.3494356627941],[-64.6605720384429,32.3589423487763],[-64.65125819471,32.3615600906466],[-64.6462011670816,32.36975169749],[-64.6613227512832,32.3763135008721],[-64.6690666074397,32.388444543924],[-64.6834270548595,32.3854968316788],[-64.6954617672714,32.3763221285869],[-64.70438689565,32.3704254760469],[-64.7117569982798,32.368132600249],[-64.7061764744404,32.3600110593559],[-64.700531552697,32.3590601356818],[-64.6940348033967,32.3640708659835],[-64.6895164826082,32.3633598579866],[-64.6864150099255,32.3547797587266],[-64.6824635995504,32.3540628176846],[-64.6835876652835,32.3626447677968],[-64.6801998697415,32.3631199096979],[-64.6672170444687,32.3597751617473],[-64.6598811264978,32.3497625771755],[-64.6737331235384,32.3390281851635],[-64.6887090648183,32.3342439408053],[-64.706732854446,32.3429010723036],[-64.7149301576112,32.3552188753513],[-64.7185967666669,32.3552239212394],[-64.7214189847314,32.3518830231342],[-64.7270616067222,32.3466461715475],[-64.734962460882,32.3442819830499],[-64.7383521549094,32.3407216514918],[-64.7411729976333,32.3311790864627],[-64.7423019216485,32.323311561213],[-64.7462482354281,32.318538611581],[-64.7566773739613,32.3130509130175],[-64.768738200563,32.3088369816572],[-64.7799734332998,32.3072000581802]]]},"type":"Feature","id":"BMU","properties":{"name":"Bermuda","id":"BMU","centroid":[-64.47,32.18]}},{"geometry":{"type":"Polygon","coordinates":[[[-62.846468,-22.034985],[-63.986838,-21.993644],[-64.377021,-22.798091],[-64.964892,-22.075862],[-66.273339,-21.83231],[-67.106674,-22.735925],[-67.82818,-22.872919],[-68.219913,-21.494347],[-68.757167,-20.372658],[-68.442225,-19.405068],[-68.966818,-18.981683],[-69.100247,-18.260125],[-69.590424,-17.580012],[-68.959635,-16.500698],[-69.389764,-15.660129],[-69.160347,-15.323974],[-69.339535,-14.953195],[-68.948887,-14.453639],[-68.929224,-13.602684],[-68.88008,-12.899729],[-68.66508,-12.5613],[-69.529678,-10.951734],[-68.786158,-11.03638],[-68.271254,-11.014521],[-68.048192,-10.712059],[-67.173801,-10.306812],[-66.646908,-9.931331],[-65.338435,-9.761988],[-65.444837,-10.511451],[-65.321899,-10.895872],[-65.402281,-11.56627],[-64.316353,-12.461978],[-63.196499,-12.627033],[-62.80306,-13.000653],[-62.127081,-13.198781],[-61.713204,-13.489202],[-61.084121,-13.479384],[-60.503304,-13.775955],[-60.459198,-14.354007],[-60.264326,-14.645979],[-60.251149,-15.077219],[-60.542966,-15.09391],[-60.15839,-16.258284],[-58.24122,-16.299573],[-58.388058,-16.877109],[-58.280804,-17.27171],[-57.734558,-17.552468],[-57.498371,-18.174188],[-57.676009,-18.96184],[-57.949997,-19.400004],[-57.853802,-19.969995],[-58.166392,-20.176701],[-58.183471,-19.868399],[-59.115042,-19.356906],[-60.043565,-19.342747],[-61.786326,-19.633737],[-62.265961,-20.513735],[-62.291179,-21.051635],[-62.685057,-22.249029],[-62.846468,-22.034985]]]},"type":"Feature","id":"BOL","properties":{"name":"Bolivia","id":"BOL","centroid":[-68.1,-16.2]}},{"geometry":{"type":"Polygon","coordinates":[[[-57.625133,-30.216295],[-56.2909,-28.852761],[-55.162286,-27.881915],[-54.490725,-27.474757],[-53.648735,-26.923473],[-53.628349,-26.124865],[-54.13005,-25.547639],[-54.625291,-25.739255],[-54.428946,-25.162185],[-54.293476,-24.5708],[-54.29296,-24.021014],[-54.652834,-23.839578],[-55.027902,-24.001274],[-55.400747,-23.956935],[-55.517639,-23.571998],[-55.610683,-22.655619],[-55.797958,-22.35693],[-56.473317,-22.0863],[-56.88151,-22.282154],[-57.937156,-22.090176],[-57.870674,-20.732688],[-58.166392,-20.176701],[-57.853802,-19.969995],[-57.949997,-19.400004],[-57.676009,-18.96184],[-57.498371,-18.174188],[-57.734558,-17.552468],[-58.280804,-17.27171],[-58.388058,-16.877109],[-58.24122,-16.299573],[-60.15839,-16.258284],[-60.542966,-15.09391],[-60.251149,-15.077219],[-60.264326,-14.645979],[-60.459198,-14.354007],[-60.503304,-13.775955],[-61.084121,-13.479384],[-61.713204,-13.489202],[-62.127081,-13.198781],[-62.80306,-13.000653],[-63.196499,-12.627033],[-64.316353,-12.461978],[-65.402281,-11.56627],[-65.321899,-10.895872],[-65.444837,-10.511451],[-65.338435,-9.761988],[-66.646908,-9.931331],[-67.173801,-10.306812],[-68.048192,-10.712059],[-68.271254,-11.014521],[-68.786158,-11.03638],[-69.529678,-10.951734],[-70.093752,-11.123972],[-70.548686,-11.009147],[-70.481894,-9.490118],[-71.302412,-10.079436],[-72.184891,-10.053598],[-72.563033,-9.520194],[-73.226713,-9.462213],[-73.015383,-9.032833],[-73.571059,-8.424447],[-73.987235,-7.52383],[-73.723401,-7.340999],[-73.724487,-6.918595],[-73.120027,-6.629931],[-73.219711,-6.089189],[-72.964507,-5.741251],[-72.891928,-5.274561],[-71.748406,-4.593983],[-70.928843,-4.401591],[-70.794769,-4.251265],[-69.893635,-4.298187],[-69.444102,-1.556287],[-69.420486,-1.122619],[-69.577065,-0.549992],[-70.020656,-0.185156],[-70.015566,0.541414],[-69.452396,0.706159],[-69.252434,0.602651],[-69.218638,0.985677],[-69.804597,1.089081],[-69.816973,1.714805],[-67.868565,1.692455],[-67.53781,2.037163],[-67.259998,1.719999],[-67.065048,1.130112],[-66.876326,1.253361],[-66.325765,0.724452],[-65.548267,0.789254],[-65.354713,1.095282],[-64.611012,1.328731],[-64.199306,1.492855],[-64.083085,1.916369],[-63.368788,2.2009],[-63.422867,2.411068],[-64.269999,2.497006],[-64.408828,3.126786],[-64.368494,3.79721],[-64.816064,4.056445],[-64.628659,4.148481],[-63.888343,4.02053],[-63.093198,3.770571],[-62.804533,4.006965],[-62.08543,4.162124],[-60.966893,4.536468],[-60.601179,4.918098],[-60.733574,5.200277],[-60.213683,5.244486],[-59.980959,5.014061],[-60.111002,4.574967],[-59.767406,4.423503],[-59.53804,3.958803],[-59.815413,3.606499],[-59.974525,2.755233],[-59.718546,2.24963],[-59.646044,1.786894],[-59.030862,1.317698],[-58.540013,1.268088],[-58.429477,1.463942],[-58.11345,1.507195],[-57.660971,1.682585],[-57.335823,1.948538],[-56.782704,1.863711],[-56.539386,1.899523],[-55.995698,1.817667],[-55.9056,2.021996],[-56.073342,2.220795],[-55.973322,2.510364],[-55.569755,2.421506],[-55.097587,2.523748],[-54.524754,2.311849],[-54.088063,2.105557],[-53.778521,2.376703],[-53.554839,2.334897],[-53.418465,2.053389],[-52.939657,2.124858],[-52.556425,2.504705],[-52.249338,3.241094],[-51.657797,4.156232],[-51.317146,4.203491],[-51.069771,3.650398],[-50.508875,1.901564],[-49.974076,1.736483],[-49.947101,1.04619],[-50.699251,0.222984],[-50.388211,-0.078445],[-48.620567,-0.235489],[-48.584497,-1.237805],[-47.824956,-0.581618],[-46.566584,-0.941028],[-44.905703,-1.55174],[-44.417619,-2.13775],[-44.581589,-2.691308],[-43.418791,-2.38311],[-41.472657,-2.912018],[-39.978665,-2.873054],[-38.500383,-3.700652],[-37.223252,-4.820946],[-36.452937,-5.109404],[-35.597796,-5.149504],[-35.235389,-5.464937],[-34.89603,-6.738193],[-34.729993,-7.343221],[-35.128212,-8.996401],[-35.636967,-9.649282],[-37.046519,-11.040721],[-37.683612,-12.171195],[-38.423877,-13.038119],[-38.673887,-13.057652],[-38.953276,-13.79337],[-38.882298,-15.667054],[-39.161092,-17.208407],[-39.267339,-17.867746],[-39.583521,-18.262296],[-39.760823,-19.599113],[-40.774741,-20.904512],[-40.944756,-21.937317],[-41.754164,-22.370676],[-41.988284,-22.97007],[-43.074704,-22.967693],[-44.647812,-23.351959],[-45.352136,-23.796842],[-46.472093,-24.088969],[-47.648972,-24.885199],[-48.495458,-25.877025],[-48.641005,-26.623698],[-48.474736,-27.175912],[-48.66152,-28.186135],[-48.888457,-28.674115],[-49.587329,-29.224469],[-50.696874,-30.984465],[-51.576226,-31.777698],[-52.256081,-32.24537],[-52.7121,-33.196578],[-53.373662,-33.768378],[-53.650544,-33.202004],[-53.209589,-32.727666],[-53.787952,-32.047243],[-54.572452,-31.494511],[-55.60151,-30.853879],[-55.973245,-30.883076],[-56.976026,-30.109686],[-57.625133,-30.216295]]]},"type":"Feature","id":"BRA","properties":{"name":"Brazil","id":"BRA","centroid":[-47.55,-15.47]}},{"geometry":{"type":"Polygon","coordinates":[[[114.204017,4.525874],[114.599961,4.900011],[115.45071,5.44773],[115.4057,4.955228],[115.347461,4.316636],[114.869557,4.348314],[114.659596,4.007637],[114.204017,4.525874]]]},"type":"Feature","id":"BRN","properties":{"name":"Brunei","id":"BRN","centroid":[115,4.52]}},{"geometry":{"type":"Polygon","coordinates":[[[91.696657,27.771742],[92.103712,27.452614],[92.033484,26.83831],[91.217513,26.808648],[90.373275,26.875724],[89.744528,26.719403],[88.835643,27.098966],[88.814248,27.299316],[89.47581,28.042759],[90.015829,28.296439],[90.730514,28.064954],[91.258854,28.040614],[91.696657,27.771742]]]},"type":"Feature","id":"BTN","properties":{"name":"Bhutan","id":"BTN","centroid":[89.45,27.31]}},{"geometry":{"type":"Polygon","coordinates":[[[25.649163,-18.536026],[25.850391,-18.714413],[26.164791,-19.293086],[27.296505,-20.39152],[27.724747,-20.499059],[27.727228,-20.851802],[28.02137,-21.485975],[28.794656,-21.639454],[29.432188,-22.091313],[28.017236,-22.827754],[27.11941,-23.574323],[26.786407,-24.240691],[26.485753,-24.616327],[25.941652,-24.696373],[25.765849,-25.174845],[25.664666,-25.486816],[25.025171,-25.71967],[24.211267,-25.670216],[23.73357,-25.390129],[23.312097,-25.26869],[22.824271,-25.500459],[22.579532,-25.979448],[22.105969,-26.280256],[21.605896,-26.726534],[20.889609,-26.828543],[20.66647,-26.477453],[20.758609,-25.868136],[20.165726,-24.917962],[19.895768,-24.76779],[19.895458,-21.849157],[20.881134,-21.814327],[20.910641,-18.252219],[21.65504,-18.219146],[23.196858,-17.869038],[23.579006,-18.281261],[24.217365,-17.889347],[24.520705,-17.887125],[25.084443,-17.661816],[25.264226,-17.73654],[25.649163,-18.536026]]]},"type":"Feature","id":"BWA","properties":{"name":"Botswana","id":"BWA","centroid":[25.57,-24.45]}},{"geometry":{"type":"Polygon","coordinates":[[[15.27946,7.421925],[16.106232,7.497088],[16.290562,7.754307],[16.456185,7.734774],[16.705988,7.508328],[17.96493,7.890914],[18.389555,8.281304],[18.911022,8.630895],[18.81201,8.982915],[19.094008,9.074847],[20.059685,9.012706],[21.000868,9.475985],[21.723822,10.567056],[22.231129,10.971889],[22.864165,11.142395],[22.977544,10.714463],[23.554304,10.089255],[23.55725,9.681218],[23.394779,9.265068],[23.459013,8.954286],[23.805813,8.666319],[24.567369,8.229188],[25.114932,7.825104],[25.124131,7.500085],[25.796648,6.979316],[26.213418,6.546603],[26.465909,5.946717],[27.213409,5.550953],[27.374226,5.233944],[27.044065,5.127853],[26.402761,5.150875],[25.650455,5.256088],[25.278798,5.170408],[25.128833,4.927245],[24.805029,4.897247],[24.410531,5.108784],[23.297214,4.609693],[22.84148,4.710126],[22.704124,4.633051],[22.405124,4.02916],[21.659123,4.224342],[20.927591,4.322786],[20.290679,4.691678],[19.467784,5.031528],[18.932312,4.709506],[18.542982,4.201785],[18.453065,3.504386],[17.8099,3.560196],[17.133042,3.728197],[16.537058,3.198255],[16.012852,2.26764],[15.907381,2.557389],[15.862732,3.013537],[15.405396,3.335301],[15.03622,3.851367],[14.950953,4.210389],[14.478372,4.732605],[14.558936,5.030598],[14.459407,5.451761],[14.53656,6.226959],[14.776545,6.408498],[15.27946,7.421925]]]},"type":"Feature","id":"CAF","properties":{"name":"Central African Republic","id":"CAF","centroid":[18.33,4.22]}},{"geometry":{"type":"MultiPolygon","coordinates":[[[[-63.6645,46.55001],[-62.9393,46.41587],[-62.01208,46.44314],[-62.50391,46.03339],[-62.87433,45.96818],[-64.1428,46.39265],[-64.39261,46.72747],[-64.01486,47.03601],[-63.6645,46.55001]]],[[[-61.806305,49.10506],[-62.29318,49.08717],[-63.58926,49.40069],[-64.51912,49.87304],[-64.17322,49.95718],[-62.85829,49.70641],[-61.835585,49.28855],[-61.806305,49.10506]]],[[[-123.510002,48.510011],[-124.012891,48.370846],[-125.655013,48.825005],[-125.954994,49.179996],[-126.850004,49.53],[-127.029993,49.814996],[-128.059336,49.994959],[-128.444584,50.539138],[-128.358414,50.770648],[-127.308581,50.552574],[-126.695001,50.400903],[-125.755007,50.295018],[-125.415002,49.950001],[-124.920768,49.475275],[-123.922509,49.062484],[-123.510002,48.510011]]],[[[-56.134036,50.68701],[-56.795882,49.812309],[-56.143105,50.150117],[-55.471492,49.935815],[-55.822401,49.587129],[-54.935143,49.313011],[-54.473775,49.556691],[-53.476549,49.249139],[-53.786014,48.516781],[-53.086134,48.687804],[-52.958648,48.157164],[-52.648099,47.535548],[-53.069158,46.655499],[-53.521456,46.618292],[-54.178936,46.807066],[-53.961869,47.625207],[-54.240482,47.752279],[-55.400773,46.884994],[-55.997481,46.91972],[-55.291219,47.389562],[-56.250799,47.632545],[-57.325229,47.572807],[-59.266015,47.603348],[-59.419494,47.899454],[-58.796586,48.251525],[-59.231625,48.523188],[-58.391805,49.125581],[-57.35869,50.718274],[-56.73865,51.287438],[-55.870977,51.632094],[-55.406974,51.588273],[-55.600218,51.317075],[-56.134036,50.68701]]],[[[-132.710008,54.040009],[-132.710009,54.040009],[-132.710008,54.040009],[-132.710008,54.040009],[-131.74999,54.120004],[-132.04948,52.984621],[-131.179043,52.180433],[-131.57783,52.182371],[-132.180428,52.639707],[-132.549992,53.100015],[-133.054611,53.411469],[-133.239664,53.85108],[-133.180004,54.169975],[-132.710008,54.040009]]],[[[-79.26582,62.158675],[-79.65752,61.63308],[-80.09956,61.7181],[-80.36215,62.01649],[-80.315395,62.085565],[-79.92939,62.3856],[-79.52002,62.36371],[-79.26582,62.158675]]],[[[-81.89825,62.7108],[-83.06857,62.15922],[-83.77462,62.18231],[-83.99367,62.4528],[-83.25048,62.91409],[-81.87699,62.90458],[-81.89825,62.7108]]],[[[-85.161308,65.657285],[-84.975764,65.217518],[-84.464012,65.371772],[-83.882626,65.109618],[-82.787577,64.766693],[-81.642014,64.455136],[-81.55344,63.979609],[-80.817361,64.057486],[-80.103451,63.725981],[-80.99102,63.411246],[-82.547178,63.651722],[-83.108798,64.101876],[-84.100417,63.569712],[-85.523405,63.052379],[-85.866769,63.637253],[-87.221983,63.541238],[-86.35276,64.035833],[-86.224886,64.822917],[-85.883848,65.738778],[-85.161308,65.657285]]],[[[-75.86588,67.14886],[-76.98687,67.09873],[-77.2364,67.58809],[-76.81166,68.14856],[-75.89521,68.28721],[-75.1145,68.01036],[-75.10333,67.58202],[-75.21597,67.44425],[-75.86588,67.14886]]],[[[-95.647681,69.10769],[-96.269521,68.75704],[-97.617401,69.06003],[-98.431801,68.9507],[-99.797401,69.40003],[-98.917401,69.71003],[-98.218261,70.14354],[-97.157401,69.86003],[-96.557401,69.68003],[-96.257401,69.49003],[-95.647681,69.10769]]],[[[-90.5471,69.49766],[-90.55151,68.47499],[-89.21515,69.25873],[-88.01966,68.61508],[-88.31749,67.87338],[-87.35017,67.19872],[-86.30607,67.92146],[-85.57664,68.78456],[-85.52197,69.88211],[-84.10081,69.80539],[-82.62258,69.65826],[-81.28043,69.16202],[-81.2202,68.66567],[-81.96436,68.13253],[-81.25928,67.59716],[-81.38653,67.11078],[-83.34456,66.41154],[-84.73542,66.2573],[-85.76943,66.55833],[-86.0676,66.05625],[-87.03143,65.21297],[-87.32324,64.77563],[-88.48296,64.09897],[-89.91444,64.03273],[-90.70398,63.61017],[-90.77004,62.96021],[-91.93342,62.83508],[-93.15698,62.02469],[-94.24153,60.89865],[-94.62931,60.11021],[-94.6846,58.94882],[-93.21502,58.78212],[-92.76462,57.84571],[-92.29703,57.08709],[-90.89769,57.28468],[-89.03953,56.85172],[-88.03978,56.47162],[-87.32421,55.99914],[-86.07121,55.72383],[-85.01181,55.3026],[-83.36055,55.24489],[-82.27285,55.14832],[-82.4362,54.28227],[-82.12502,53.27703],[-81.40075,52.15788],[-79.91289,51.20842],[-79.14301,51.53393],[-78.60191,52.56208],[-79.12421,54.14145],[-79.82958,54.66772],[-78.22874,55.13645],[-77.0956,55.83741],[-76.54137,56.53423],[-76.62319,57.20263],[-77.30226,58.05209],[-78.51688,58.80458],[-77.33676,59.85261],[-77.77272,60.75788],[-78.10687,62.31964],[-77.41067,62.55053],[-75.69621,62.2784],[-74.6682,62.18111],[-73.83988,62.4438],[-72.90853,62.10507],[-71.67708,61.52535],[-71.37369,61.13717],[-69.59042,61.06141],[-69.62033,60.22125],[-69.2879,58.95736],[-68.37455,58.80106],[-67.64976,58.21206],[-66.20178,58.76731],[-65.24517,59.87071],[-64.58352,60.33558],[-63.80475,59.4426],[-62.50236,58.16708],[-61.39655,56.96745],[-61.79866,56.33945],[-60.46853,55.77548],[-59.56962,55.20407],[-57.97508,54.94549],[-57.3332,54.6265],[-56.93689,53.78032],[-56.15811,53.64749],[-55.75632,53.27036],[-55.68338,52.14664],[-56.40916,51.7707],[-57.12691,51.41972],[-58.77482,51.0643],[-60.03309,50.24277],[-61.72366,50.08046],[-63.86251,50.29099],[-65.36331,50.2982],[-66.39905,50.22897],[-67.23631,49.51156],[-68.51114,49.06836],[-69.95362,47.74488],[-71.10458,46.82171],[-70.25522,46.98606],[-68.65,48.3],[-66.55243,49.1331],[-65.05626,49.23278],[-64.17099,48.74248],[-65.11545,48.07085],[-64.79854,46.99297],[-64.47219,46.23849],[-63.17329,45.73902],[-61.52072,45.88377],[-60.51815,47.00793],[-60.4486,46.28264],[-59.80287,45.9204],[-61.03988,45.26525],[-63.25471,44.67014],[-64.24656,44.26553],[-65.36406,43.54523],[-66.1234,43.61867],[-66.16173,44.46512],[-64.42549,45.29204],[-66.02605,45.25931],[-67.13741,45.13753],[-67.79134,45.70281],[-67.79046,47.06636],[-68.23444,47.35486],[-68.905,47.185],[-69.237216,47.447781],[-69.99997,46.69307],[-70.305,45.915],[-70.66,45.46],[-71.08482,45.30524],[-71.405,45.255],[-71.50506,45.0082],[-73.34783,45.00738],[-74.867,45.00048],[-75.31821,44.81645],[-76.375,44.09631],[-76.5,44.018459],[-76.820034,43.628784],[-77.737885,43.629056],[-78.72028,43.625089],[-79.171674,43.466339],[-79.01,43.27],[-78.92,42.965],[-78.939362,42.863611],[-80.247448,42.3662],[-81.277747,42.209026],[-82.439278,41.675105],[-82.690089,41.675105],[-83.02981,41.832796],[-83.142,41.975681],[-83.12,42.08],[-82.9,42.43],[-82.43,42.98],[-82.137642,43.571088],[-82.337763,44.44],[-82.550925,45.347517],[-83.592851,45.816894],[-83.469551,45.994686],[-83.616131,46.116927],[-83.890765,46.116927],[-84.091851,46.275419],[-84.14212,46.512226],[-84.3367,46.40877],[-84.6049,46.4396],[-84.543749,46.538684],[-84.779238,46.637102],[-84.87608,46.900083],[-85.652363,47.220219],[-86.461991,47.553338],[-87.439793,47.94],[-88.378114,48.302918],[-89.272917,48.019808],[-89.6,48.01],[-90.83,48.27],[-91.64,48.14],[-92.61,48.45],[-93.63087,48.60926],[-94.32914,48.67074],[-94.64,48.84],[-94.81758,49.38905],[-95.15609,49.38425],[-95.15907,49],[-97.22872,49.0007],[-100.65,49],[-104.04826,48.99986],[-107.05,49],[-110.05,49],[-113,49],[-116.04818,49],[-117.03121,49],[-120,49],[-122.84,49],[-122.97421,49.002538],[-124.91024,49.98456],[-125.62461,50.41656],[-127.43561,50.83061],[-127.99276,51.71583],[-127.85032,52.32961],[-129.12979,52.75538],[-129.30523,53.56159],[-130.51497,54.28757],[-130.53611,54.80278],[-129.98,55.285],[-130.00778,55.91583],[-131.70781,56.55212],[-132.73042,57.69289],[-133.35556,58.41028],[-134.27111,58.86111],[-134.945,59.27056],[-135.47583,59.78778],[-136.47972,59.46389],[-137.4525,58.905],[-138.34089,59.56211],[-139.039,60],[-140.013,60.27682],[-140.99778,60.30639],[-140.9925,66.00003],[-140.986,69.712],[-139.12052,69.47102],[-137.54636,68.99002],[-136.50358,68.89804],[-135.62576,69.31512],[-134.41464,69.62743],[-132.92925,69.50534],[-131.43136,69.94451],[-129.79471,70.19369],[-129.10773,69.77927],[-128.36156,70.01286],[-128.13817,70.48384],[-127.44712,70.37721],[-125.75632,69.48058],[-124.42483,70.1584],[-124.28968,69.39969],[-123.06108,69.56372],[-122.6835,69.85553],[-121.47226,69.79778],[-119.94288,69.37786],[-117.60268,69.01128],[-116.22643,68.84151],[-115.2469,68.90591],[-113.89794,68.3989],[-115.30489,67.90261],[-113.49727,67.68815],[-110.798,67.80612],[-109.94619,67.98104],[-108.8802,67.38144],[-107.79239,67.88736],[-108.81299,68.31164],[-108.16721,68.65392],[-106.95,68.7],[-106.15,68.8],[-105.34282,68.56122],[-104.33791,68.018],[-103.22115,68.09775],[-101.45433,67.64689],[-99.90195,67.80566],[-98.4432,67.78165],[-98.5586,68.40394],[-97.66948,68.57864],[-96.11991,68.23939],[-96.12588,67.29338],[-95.48943,68.0907],[-94.685,68.06383],[-94.23282,69.06903],[-95.30408,69.68571],[-96.47131,70.08976],[-96.39115,71.19482],[-95.2088,71.92053],[-93.88997,71.76015],[-92.87818,71.31869],[-91.51964,70.19129],[-92.40692,69.69997],[-90.5471,69.49766]]],[[[-114.16717,73.12145],[-114.66634,72.65277],[-112.44102,72.9554],[-111.05039,72.4504],[-109.92035,72.96113],[-109.00654,72.63335],[-108.18835,71.65089],[-107.68599,72.06548],[-108.39639,73.08953],[-107.51645,73.23598],[-106.52259,73.07601],[-105.40246,72.67259],[-104.77484,71.6984],[-104.46476,70.99297],[-102.78537,70.49776],[-100.98078,70.02432],[-101.08929,69.58447],[-102.73116,69.50402],[-102.09329,69.11962],[-102.43024,68.75282],[-104.24,68.91],[-105.96,69.18],[-107.12254,69.11922],[-109,68.78],[-111.534149,68.630059],[-113.3132,68.53554],[-113.85496,69.00744],[-115.22,69.28],[-116.10794,69.16821],[-117.34,69.96],[-116.67473,70.06655],[-115.13112,70.2373],[-113.72141,70.19237],[-112.4161,70.36638],[-114.35,70.6],[-116.48684,70.52045],[-117.9048,70.54056],[-118.43238,70.9092],[-116.11311,71.30918],[-117.65568,71.2952],[-119.40199,71.55859],[-118.56267,72.30785],[-117.86642,72.70594],[-115.18909,73.31459],[-114.16717,73.12145]]],[[[-104.5,73.42],[-105.38,72.76],[-106.94,73.46],[-106.6,73.6],[-105.26,73.64],[-104.5,73.42]]],[[[-76.34,73.102685],[-76.251404,72.826385],[-77.314438,72.855545],[-78.39167,72.876656],[-79.486252,72.742203],[-79.775833,72.802902],[-80.876099,73.333183],[-80.833885,73.693184],[-80.353058,73.75972],[-78.064438,73.651932],[-76.34,73.102685]]],[[[-86.562179,73.157447],[-85.774371,72.534126],[-84.850112,73.340278],[-82.31559,73.750951],[-80.600088,72.716544],[-80.748942,72.061907],[-78.770639,72.352173],[-77.824624,72.749617],[-75.605845,72.243678],[-74.228616,71.767144],[-74.099141,71.33084],[-72.242226,71.556925],[-71.200015,70.920013],[-68.786054,70.525024],[-67.91497,70.121948],[-66.969033,69.186087],[-68.805123,68.720198],[-66.449866,68.067163],[-64.862314,67.847539],[-63.424934,66.928473],[-61.851981,66.862121],[-62.163177,66.160251],[-63.918444,64.998669],[-65.14886,65.426033],[-66.721219,66.388041],[-68.015016,66.262726],[-68.141287,65.689789],[-67.089646,65.108455],[-65.73208,64.648406],[-65.320168,64.382737],[-64.669406,63.392927],[-65.013804,62.674185],[-66.275045,62.945099],[-68.783186,63.74567],[-67.369681,62.883966],[-66.328297,62.280075],[-66.165568,61.930897],[-68.877367,62.330149],[-71.023437,62.910708],[-72.235379,63.397836],[-71.886278,63.679989],[-73.378306,64.193963],[-74.834419,64.679076],[-74.818503,64.389093],[-77.70998,64.229542],[-78.555949,64.572906],[-77.897281,65.309192],[-76.018274,65.326969],[-73.959795,65.454765],[-74.293883,65.811771],[-73.944912,66.310578],[-72.651167,67.284576],[-72.92606,67.726926],[-73.311618,68.069437],[-74.843307,68.554627],[-76.869101,68.894736],[-76.228649,69.147769],[-77.28737,69.76954],[-78.168634,69.826488],[-78.957242,70.16688],[-79.492455,69.871808],[-81.305471,69.743185],[-84.944706,69.966634],[-87.060003,70.260001],[-88.681713,70.410741],[-89.51342,70.762038],[-88.467721,71.218186],[-89.888151,71.222552],[-90.20516,72.235074],[-89.436577,73.129464],[-88.408242,73.537889],[-85.826151,73.803816],[-86.562179,73.157447]]],[[[-100.35642,73.84389],[-99.16387,73.63339],[-97.38,73.76],[-97.12,73.47],[-98.05359,72.99052],[-96.54,72.56],[-96.72,71.66],[-98.35966,71.27285],[-99.32286,71.35639],[-100.01482,71.73827],[-102.5,72.51],[-102.48,72.83],[-100.43836,72.70588],[-101.54,73.36],[-100.35642,73.84389]]],[[[-93.196296,72.771992],[-94.269047,72.024596],[-95.409856,72.061881],[-96.033745,72.940277],[-96.018268,73.43743],[-95.495793,73.862417],[-94.503658,74.134907],[-92.420012,74.100025],[-90.509793,73.856732],[-92.003965,72.966244],[-93.196296,72.771992]]],[[[-120.46,71.383602],[-123.09219,70.90164],[-123.62,71.34],[-125.928949,71.868688],[-125.5,72.292261],[-124.80729,73.02256],[-123.94,73.68],[-124.91775,74.29275],[-121.53788,74.44893],[-120.10978,74.24135],[-117.55564,74.18577],[-116.58442,73.89607],[-115.51081,73.47519],[-116.76794,73.22292],[-119.22,72.52],[-120.46,71.82],[-120.46,71.383602]]],[[[-93.612756,74.979997],[-94.156909,74.592347],[-95.608681,74.666864],[-96.820932,74.927623],[-96.288587,75.377828],[-94.85082,75.647218],[-93.977747,75.29649],[-93.612756,74.979997]]],[[[-98.5,76.72],[-97.735585,76.25656],[-97.704415,75.74344],[-98.16,75],[-99.80874,74.89744],[-100.88366,75.05736],[-100.86292,75.64075],[-102.50209,75.5638],[-102.56552,76.3366],[-101.48973,76.30537],[-99.98349,76.64634],[-98.57699,76.58859],[-98.5,76.72]]],[[[-108.21141,76.20168],[-107.81943,75.84552],[-106.92893,76.01282],[-105.881,75.9694],[-105.70498,75.47951],[-106.31347,75.00527],[-109.7,74.85],[-112.22307,74.41696],[-113.74381,74.39427],[-113.87135,74.72029],[-111.79421,75.1625],[-116.31221,75.04343],[-117.7104,75.2222],[-116.34602,76.19903],[-115.40487,76.47887],[-112.59056,76.14134],[-110.81422,75.54919],[-109.0671,75.47321],[-110.49726,76.42982],[-109.5811,76.79417],[-108.54859,76.67832],[-108.21141,76.20168]]],[[[-94.684086,77.097878],[-93.573921,76.776296],[-91.605023,76.778518],[-90.741846,76.449597],[-90.969661,76.074013],[-89.822238,75.847774],[-89.187083,75.610166],[-87.838276,75.566189],[-86.379192,75.482421],[-84.789625,75.699204],[-82.753445,75.784315],[-81.128531,75.713983],[-80.057511,75.336849],[-79.833933,74.923127],[-80.457771,74.657304],[-81.948843,74.442459],[-83.228894,74.564028],[-86.097452,74.410032],[-88.15035,74.392307],[-89.764722,74.515555],[-92.422441,74.837758],[-92.768285,75.38682],[-92.889906,75.882655],[-93.893824,76.319244],[-95.962457,76.441381],[-97.121379,76.751078],[-96.745123,77.161389],[-94.684086,77.097878]]],[[[-116.198587,77.645287],[-116.335813,76.876962],[-117.106051,76.530032],[-118.040412,76.481172],[-119.899318,76.053213],[-121.499995,75.900019],[-122.854924,76.116543],[-122.854925,76.116543],[-121.157535,76.864508],[-119.103939,77.51222],[-117.570131,77.498319],[-116.198587,77.645287]]],[[[-93.840003,77.519997],[-94.295608,77.491343],[-96.169654,77.555111],[-96.436304,77.834629],[-94.422577,77.820005],[-93.720656,77.634331],[-93.840003,77.519997]]],[[[-110.186938,77.697015],[-112.051191,77.409229],[-113.534279,77.732207],[-112.724587,78.05105],[-111.264443,78.152956],[-109.854452,77.996325],[-110.186938,77.697015]]],[[[-109.663146,78.601973],[-110.881314,78.40692],[-112.542091,78.407902],[-112.525891,78.550555],[-111.50001,78.849994],[-110.963661,78.804441],[-109.663146,78.601973]]],[[[-95.830295,78.056941],[-97.309843,77.850597],[-98.124289,78.082857],[-98.552868,78.458105],[-98.631984,78.87193],[-97.337231,78.831984],[-96.754399,78.765813],[-95.559278,78.418315],[-95.830295,78.056941]]],[[[-100.060192,78.324754],[-99.670939,77.907545],[-101.30394,78.018985],[-102.949809,78.343229],[-105.176133,78.380332],[-104.210429,78.67742],[-105.41958,78.918336],[-105.492289,79.301594],[-103.529282,79.165349],[-100.825158,78.800462],[-100.060192,78.324754]]],[[[-87.02,79.66],[-85.81435,79.3369],[-87.18756,79.0393],[-89.03535,78.28723],[-90.80436,78.21533],[-92.87669,78.34333],[-93.95116,78.75099],[-93.93574,79.11373],[-93.14524,79.3801],[-94.974,79.37248],[-96.07614,79.70502],[-96.70972,80.15777],[-96.01644,80.60233],[-95.32345,80.90729],[-94.29843,80.97727],[-94.73542,81.20646],[-92.40984,81.25739],[-91.13289,80.72345],[-89.45,80.509322],[-87.81,80.32],[-87.02,79.66]]],[[[-68.5,83.106322],[-65.82735,83.02801],[-63.68,82.9],[-61.85,82.6286],[-61.89388,82.36165],[-64.334,81.92775],[-66.75342,81.72527],[-67.65755,81.50141],[-65.48031,81.50657],[-67.84,80.9],[-69.4697,80.61683],[-71.18,79.8],[-73.2428,79.63415],[-73.88,79.430162],[-76.90773,79.32309],[-75.52924,79.19766],[-76.22046,79.01907],[-75.39345,78.52581],[-76.34354,78.18296],[-77.88851,77.89991],[-78.36269,77.50859],[-79.75951,77.20968],[-79.61965,76.98336],[-77.91089,77.022045],[-77.88911,76.777955],[-80.56125,76.17812],[-83.17439,76.45403],[-86.11184,76.29901],[-87.6,76.42],[-89.49068,76.47239],[-89.6161,76.95213],[-87.76739,77.17833],[-88.26,77.9],[-87.65,77.970222],[-84.97634,77.53873],[-86.34,78.18],[-87.96192,78.37181],[-87.15198,78.75867],[-85.37868,78.9969],[-85.09495,79.34543],[-86.50734,79.73624],[-86.93179,80.25145],[-84.19844,80.20836],[-83.408696,80.1],[-81.84823,80.46442],[-84.1,80.58],[-87.59895,80.51627],[-89.36663,80.85569],[-90.2,81.26],[-91.36786,81.5531],[-91.58702,81.89429],[-90.1,82.085],[-88.93227,82.11751],[-86.97024,82.27961],[-85.5,82.652273],[-84.260005,82.6],[-83.18,82.32],[-82.42,82.86],[-81.1,83.02],[-79.30664,83.13056],[-76.25,83.172059],[-75.71878,83.06404],[-72.83153,83.23324],[-70.665765,83.169781],[-68.5,83.106322]]]]},"type":"Feature","id":"CAN","properties":{"name":"Canada","id":"CAN","centroid":[-75.42,45.27]}},{"geometry":{"type":"Polygon","coordinates":[[[9.594226,47.525058],[9.632932,47.347601],[9.47997,47.10281],[9.932448,46.920728],[10.442701,46.893546],[10.363378,46.483571],[9.922837,46.314899],[9.182882,46.440215],[8.966306,46.036932],[8.489952,46.005151],[8.31663,46.163642],[7.755992,45.82449],[7.273851,45.776948],[6.843593,45.991147],[6.5001,46.429673],[6.022609,46.27299],[6.037389,46.725779],[6.768714,47.287708],[6.736571,47.541801],[7.192202,47.449766],[7.466759,47.620582],[8.317301,47.61358],[8.522612,47.830828],[9.594226,47.525058]]]},"type":"Feature","id":"CHE","properties":{"name":"Switzerland","id":"CHE","centroid":[7.28,46.57]}},{"geometry":{"type":"MultiPolygon","coordinates":[[[[-68.63401,-52.63637],[-68.63335,-54.8695],[-67.56244,-54.87001],[-66.95992,-54.89681],[-67.29103,-55.30124],[-68.14863,-55.61183],[-68.639991,-55.580018],[-69.2321,-55.49906],[-69.95809,-55.19843],[-71.00568,-55.05383],[-72.2639,-54.49514],[-73.2852,-53.95752],[-74.66253,-52.83749],[-73.8381,-53.04743],[-72.43418,-53.7154],[-71.10773,-54.07433],[-70.59178,-53.61583],[-70.26748,-52.93123],[-69.34565,-52.5183],[-68.63401,-52.63637]]],[[[-68.219913,-21.494347],[-67.82818,-22.872919],[-67.106674,-22.735925],[-66.985234,-22.986349],[-67.328443,-24.025303],[-68.417653,-24.518555],[-68.386001,-26.185016],[-68.5948,-26.506909],[-68.295542,-26.89934],[-69.001235,-27.521214],[-69.65613,-28.459141],[-70.01355,-29.367923],[-69.919008,-30.336339],[-70.535069,-31.36501],[-70.074399,-33.09121],[-69.814777,-33.273886],[-69.817309,-34.193571],[-70.388049,-35.169688],[-70.364769,-36.005089],[-71.121881,-36.658124],[-71.118625,-37.576827],[-70.814664,-38.552995],[-71.413517,-38.916022],[-71.680761,-39.808164],[-71.915734,-40.832339],[-71.746804,-42.051386],[-72.148898,-42.254888],[-71.915424,-43.408565],[-71.464056,-43.787611],[-71.793623,-44.207172],[-71.329801,-44.407522],[-71.222779,-44.784243],[-71.659316,-44.973689],[-71.552009,-45.560733],[-71.917258,-46.884838],[-72.447355,-47.738533],[-72.331161,-48.244238],[-72.648247,-48.878618],[-73.415436,-49.318436],[-73.328051,-50.378785],[-72.975747,-50.74145],[-72.309974,-50.67701],[-72.329404,-51.425956],[-71.914804,-52.009022],[-69.498362,-52.142761],[-68.571545,-52.299444],[-69.461284,-52.291951],[-69.94278,-52.537931],[-70.845102,-52.899201],[-71.006332,-53.833252],[-71.429795,-53.856455],[-72.557943,-53.53141],[-73.702757,-52.835069],[-73.702757,-52.83507],[-74.946763,-52.262754],[-75.260026,-51.629355],[-74.976632,-51.043396],[-75.479754,-50.378372],[-75.608015,-48.673773],[-75.18277,-47.711919],[-74.126581,-46.939253],[-75.644395,-46.647643],[-74.692154,-45.763976],[-74.351709,-44.103044],[-73.240356,-44.454961],[-72.717804,-42.383356],[-73.3889,-42.117532],[-73.701336,-43.365776],[-74.331943,-43.224958],[-74.017957,-41.794813],[-73.677099,-39.942213],[-73.217593,-39.258689],[-73.505559,-38.282883],[-73.588061,-37.156285],[-73.166717,-37.12378],[-72.553137,-35.50884],[-71.861732,-33.909093],[-71.43845,-32.418899],[-71.668721,-30.920645],[-71.370083,-30.095682],[-71.489894,-28.861442],[-70.905124,-27.64038],[-70.724954,-25.705924],[-70.403966,-23.628997],[-70.091246,-21.393319],[-70.16442,-19.756468],[-70.372572,-18.347975],[-69.858444,-18.092694],[-69.590424,-17.580012],[-69.100247,-18.260125],[-68.966818,-18.981683],[-68.442225,-19.405068],[-68.757167,-20.372658],[-68.219913,-21.494347]]]]},"type":"Feature","id":"CHL","properties":{"name":"Chile","id":"CHL","centroid":[-70.4,-33.24]}},{"geometry":{"type":"MultiPolygon","coordinates":[[[[121.777818,24.394274],[121.175632,22.790857],[120.74708,21.970571],[120.220083,22.814861],[120.106189,23.556263],[120.69468,24.538451],[121.495044,25.295459],[121.951244,24.997596],[121.777818,24.394274]],[[110.339188,18.678395],[109.47521,18.197701],[108.655208,18.507682],[108.626217,19.367888],[109.119056,19.821039],[110.211599,20.101254],[110.786551,20.077534],[111.010051,19.69593],[110.570647,19.255879],[110.339188,18.678395]]],[[[127.657407,49.76027],[129.397818,49.4406],[130.582293,48.729687],[130.987282,47.790132],[132.506672,47.78897],[133.373596,48.183442],[135.026311,48.47823],[134.500814,47.57844],[134.112362,47.212467],[133.769644,46.116927],[133.097127,45.144066],[131.883454,45.321162],[131.025212,44.967953],[131.288555,44.11152],[131.144688,42.92999],[130.633866,42.903015],[130.640016,42.395009],[129.994267,42.985387],[129.596669,42.424982],[128.052215,41.994285],[128.208433,41.466772],[127.343783,41.503152],[126.869083,41.816569],[126.182045,41.107336],[125.079942,40.569824],[124.265625,39.928493],[122.86757,39.637788],[122.131388,39.170452],[121.054554,38.897471],[121.585995,39.360854],[121.376757,39.750261],[122.168595,40.422443],[121.640359,40.94639],[120.768629,40.593388],[119.639602,39.898056],[119.023464,39.252333],[118.042749,39.204274],[117.532702,38.737636],[118.059699,38.061476],[118.87815,37.897325],[118.911636,37.448464],[119.702802,37.156389],[120.823457,37.870428],[121.711259,37.481123],[122.357937,37.454484],[122.519995,36.930614],[121.104164,36.651329],[120.637009,36.11144],[119.664562,35.609791],[119.151208,34.909859],[120.227525,34.360332],[120.620369,33.376723],[121.229014,32.460319],[121.908146,31.692174],[121.891919,30.949352],[121.264257,30.676267],[121.503519,30.142915],[122.092114,29.83252],[121.938428,29.018022],[121.684439,28.225513],[121.125661,28.135673],[120.395473,27.053207],[119.585497,25.740781],[118.656871,24.547391],[117.281606,23.624501],[115.890735,22.782873],[114.763827,22.668074],[114.152547,22.22376],[113.80678,22.54834],[113.241078,22.051367],[111.843592,21.550494],[110.785466,21.397144],[110.444039,20.341033],[109.889861,20.282457],[109.627655,21.008227],[109.864488,21.395051],[108.522813,21.715212],[108.05018,21.55238],[107.04342,21.811899],[106.567273,22.218205],[106.725403,22.794268],[105.811247,22.976892],[105.329209,23.352063],[104.476858,22.81915],[103.504515,22.703757],[102.706992,22.708795],[102.170436,22.464753],[101.652018,22.318199],[101.80312,21.174367],[101.270026,21.201652],[101.180005,21.436573],[101.150033,21.849984],[100.416538,21.558839],[99.983489,21.742937],[99.240899,22.118314],[99.531992,22.949039],[98.898749,23.142722],[98.660262,24.063286],[97.60472,23.897405],[97.724609,25.083637],[98.671838,25.918703],[98.712094,26.743536],[98.68269,27.508812],[98.246231,27.747221],[97.911988,28.335945],[97.327114,28.261583],[97.402561,27.882536],[97.051989,27.699059],[95.767822,28.139816],[94.306641,27.547242],[93.746338,27.108034],[92.033484,26.83831],[92.103712,27.452614],[91.696657,27.771742],[91.258854,28.040614],[90.730514,28.064954],[90.015829,28.296439],[89.47581,28.042759],[88.814248,27.299316],[88.730326,28.086865],[88.120441,27.876542],[86.954517,27.974262],[85.82332,28.203576],[85.011638,28.642774],[84.23458,28.839894],[83.898993,29.320226],[83.337115,29.463732],[82.327513,30.115268],[81.525804,30.422717],[81.111256,30.183481],[79.721367,30.882715],[78.738894,31.515906],[78.458446,32.618164],[79.176129,32.48378],[79.208892,32.994395],[78.811086,33.506198],[78.912269,34.321936],[77.837451,35.49401],[76.192848,35.898403],[75.896897,36.666806],[75.158028,37.133031],[74.980002,37.41999],[74.829986,37.990007],[74.864816,38.378846],[74.257514,38.606507],[73.928852,38.505815],[73.675379,39.431237],[73.960013,39.660008],[73.822244,39.893973],[74.776862,40.366425],[75.467828,40.562072],[76.526368,40.427946],[76.904484,41.066486],[78.187197,41.185316],[78.543661,41.582243],[80.11943,42.123941],[80.25999,42.349999],[80.18015,42.920068],[80.866206,43.180362],[79.966106,44.917517],[81.947071,45.317027],[82.458926,45.53965],[83.180484,47.330031],[85.16429,47.000956],[85.720484,47.452969],[85.768233,48.455751],[86.598776,48.549182],[87.35997,49.214981],[87.751264,49.297198],[88.013832,48.599463],[88.854298,48.069082],[90.280826,47.693549],[90.970809,46.888146],[90.585768,45.719716],[90.94554,45.286073],[92.133891,45.115076],[93.480734,44.975472],[94.688929,44.352332],[95.306875,44.241331],[95.762455,43.319449],[96.349396,42.725635],[97.451757,42.74889],[99.515817,42.524691],[100.845866,42.663804],[101.83304,42.514873],[103.312278,41.907468],[104.522282,41.908347],[104.964994,41.59741],[106.129316,42.134328],[107.744773,42.481516],[109.243596,42.519446],[110.412103,42.871234],[111.129682,43.406834],[111.829588,43.743118],[111.667737,44.073176],[111.348377,44.457442],[111.873306,45.102079],[112.436062,45.011646],[113.463907,44.808893],[114.460332,45.339817],[115.985096,45.727235],[116.717868,46.388202],[117.421701,46.672733],[118.874326,46.805412],[119.66327,46.69268],[119.772824,47.048059],[118.866574,47.74706],[118.064143,48.06673],[117.295507,47.697709],[116.308953,47.85341],[115.742837,47.726545],[115.485282,48.135383],[116.191802,49.134598],[116.678801,49.888531],[117.879244,49.510983],[119.288461,50.142883],[119.279366,50.582908],[120.18205,51.643566],[120.738191,51.964115],[120.725789,52.516226],[120.177089,52.753886],[121.003085,53.251401],[122.245748,53.431726],[123.571507,53.458804],[125.068211,53.161045],[125.946349,52.792799],[126.564399,51.784255],[126.939157,51.353894],[127.287456,50.739797],[127.657407,49.76027]]],[[[122.50662231445312,23.467723846435547],[122.78874206542969,24.572216033935547],[122.50662231445312,23.467723846435547]]],[[[121.17402648925781,20.826547622680664],[121.91168975830078,21.6975154876709],[121.17402648925781,20.826547622680664]]],[[[120.003662109375,19.03096327846469],[119.47631835937499,18.020527657852337],[120.003662109375,19.03096327846469]]],[[[119.06982421874999,16.024695711685315],[119.05883789062501,15.040295996106765],[119.06982421874999,16.024695711685315]]],[[[118.98193359375,11.953349393643416],[118.531494140625,10.908830155722107],[118.98193359375,11.953349393643416]]],[[[116.23535156249999,7.993957436359008],[115.55419921875,7.18810087117902],[116.23535156249999,7.993957436359008]]],[[[112.8515625,3.743671274749731],[111.785888671875,3.4147247646241174],[112.8515625,3.743671274749731]]],[[[108.30322265624999,5.998533174329341],[108.226318359375,7.089990476360545],[108.30322265624999,5.998533174329341]]],[[[110.06103515625,11.26461221250444],[110.31372070312499,12.264863532756566],[110.06103515625,11.26461221250444]]],[[[109.852294921875,15.178180945596376],[109.302978515625,16.214674588248556],[109.852294921875,15.178180945596376]]],[[[124.54185556547829,25.89184586734392],[124.53009788411983,25.91074214095596],[124.51834020276122,25.930898166142125],[124.54101573109565,25.946015185031744],[124.566804,25.941563],[124.584666,25.908731],[124.56873026572663,25.884707275090506],[124.54185556547829,25.89184586734392]]],[[[123.445178,25.726102],[123.43873310372739,25.753273194189074],[123.46896714150662,25.78308731477693],[123.51347836379274,25.768810130270065],[123.51095886064446,25.71464081258226],[123.46854722431526,25.703722965606424],[123.445178,25.726102]]],[[[119.646064,23.550928],[119.609108,23.503738],[119.578927,23.502641],[119.562297,23.530627],[119.566608,23.584937],[119.601717,23.575613],[119.61034,23.604132],[119.678093,23.600294],[119.691028,23.547087],[119.646064,23.550928]]],[[[123.65247095413902,25.910742140955957],[123.67598631685621,25.947274936605876],[123.70580043744403,25.935517255247277],[123.71503861565435,25.912421809721465],[123.69656225923376,25.8788284344112],[123.66968755898553,25.88680686104739],[123.65247095413902,25.910742140955957]]],[[[119.506246,23.625518],[119.52534,23.62497],[119.519181,23.559705],[119.47237,23.556962],[119.506246,23.577259],[119.506246,23.625518]]],[[[119.497623,23.38679],[119.516717,23.349982],[119.495159,23.349982],[119.497623,23.38679]]],[[[119.557369,23.666634],[119.586318,23.675952],[119.615268,23.661153],[119.608492,23.620035],[119.557369,23.666634]]],[[[122.066706,25.6247],[122.092575,25.639268],[122.087032,25.61067],[122.066706,25.6247]]],[[[121.468013,22.67687],[121.514824,22.676318],[121.513592,22.631582],[121.474788,22.643734],[121.468013,22.67687]]],[[[121.510513,22.086972],[121.575802,22.0842],[121.575186,22.037055],[121.604752,22.022631],[121.594281,21.995443],[121.533918,22.022076],[121.507433,22.048704],[121.510513,22.086972]]],[[[122.097503,25.499987],[122.122141,25.495666],[122.110438,25.465952],[122.097503,25.499987]]],[[[119.421247,23.216949],[119.453275,23.216399],[119.436029,23.186146],[119.421247,23.216949]]],[[[120.355011,22.327439],[120.383344,22.355669],[120.395663,22.342385],[120.355011,22.327439]]]]},"type":"Feature","id":"CHN","properties":{"name":"China","id":"CHN","centroid":[116.2,39.55]}},{"geometry":{"type":"Polygon","coordinates":[[[-2.856125,4.994476],[-3.311084,4.984296],[-4.00882,5.179813],[-4.649917,5.168264],[-5.834496,4.993701],[-6.528769,4.705088],[-7.518941,4.338288],[-7.712159,4.364566],[-7.635368,5.188159],[-7.539715,5.313345],[-7.570153,5.707352],[-7.993693,6.12619],[-8.311348,6.193033],[-8.60288,6.467564],[-8.385452,6.911801],[-8.485446,7.395208],[-8.439298,7.686043],[-8.280703,7.68718],[-8.221792,8.123329],[-8.299049,8.316444],[-8.203499,8.455453],[-7.8321,8.575704],[-8.079114,9.376224],[-8.309616,9.789532],[-8.229337,10.12902],[-8.029944,10.206535],[-7.89959,10.297382],[-7.622759,10.147236],[-6.850507,10.138994],[-6.666461,10.430811],[-6.493965,10.411303],[-6.205223,10.524061],[-6.050452,10.096361],[-5.816926,10.222555],[-5.404342,10.370737],[-4.954653,10.152714],[-4.779884,9.821985],[-4.330247,9.610835],[-3.980449,9.862344],[-3.511899,9.900326],[-2.827496,9.642461],[-2.56219,8.219628],[-2.983585,7.379705],[-3.24437,6.250472],[-2.810701,5.389051],[-2.856125,4.994476]]]},"type":"Feature","id":"CIV","properties":{"name":"Ivory Coast","id":"CIV","centroid":[-5.17,6.49]}},{"geometry":{"type":"Polygon","coordinates":[[[13.075822,2.267097],[12.951334,2.321616],[12.35938,2.192812],[11.751665,2.326758],[11.276449,2.261051],[9.649158,2.283866],[9.795196,3.073404],[9.404367,3.734527],[8.948116,3.904129],[8.744924,4.352215],[8.488816,4.495617],[8.500288,4.771983],[8.757533,5.479666],[9.233163,6.444491],[9.522706,6.453482],[10.118277,7.03877],[10.497375,7.055358],[11.058788,6.644427],[11.745774,6.981383],[11.839309,7.397042],[12.063946,7.799808],[12.218872,8.305824],[12.753672,8.717763],[12.955468,9.417772],[13.1676,9.640626],[13.308676,10.160362],[13.57295,10.798566],[14.415379,11.572369],[14.468192,11.904752],[14.577178,12.085361],[14.181336,12.483657],[14.213531,12.802035],[14.495787,12.859396],[14.893386,12.219048],[14.960152,11.555574],[14.923565,10.891325],[15.467873,9.982337],[14.909354,9.992129],[14.627201,9.920919],[14.171466,10.021378],[13.954218,9.549495],[14.544467,8.965861],[14.979996,8.796104],[15.120866,8.38215],[15.436092,7.692812],[15.27946,7.421925],[14.776545,6.408498],[14.53656,6.226959],[14.459407,5.451761],[14.558936,5.030598],[14.478372,4.732605],[14.950953,4.210389],[15.03622,3.851367],[15.405396,3.335301],[15.862732,3.013537],[15.907381,2.557389],[16.012852,2.26764],[15.940919,1.727673],[15.146342,1.964015],[14.337813,2.227875],[13.075822,2.267097]]]},"type":"Feature","id":"CMR","properties":{"name":"Cameroon","id":"CMR","centroid":[11.35,3.5]}},{"geometry":{"type":"Polygon","coordinates":[[[30.83386,3.509166],[30.773347,2.339883],[31.174149,2.204465],[30.85267,1.849396],[30.468508,1.583805],[30.086154,1.062313],[29.875779,0.59738],[29.819503,-0.20531],[29.587838,-0.587406],[29.579466,-1.341313],[29.291887,-1.620056],[29.254835,-2.21511],[29.117479,-2.292211],[29.024926,-2.839258],[29.276384,-3.293907],[29.339998,-4.499983],[29.519987,-5.419979],[29.419993,-5.939999],[29.620032,-6.520015],[30.199997,-7.079981],[30.740015,-8.340007],[30.346086,-8.238257],[29.002912,-8.407032],[28.734867,-8.526559],[28.449871,-9.164918],[28.673682,-9.605925],[28.49607,-10.789884],[28.372253,-11.793647],[28.642417,-11.971569],[29.341548,-12.360744],[29.616001,-12.178895],[29.699614,-13.257227],[28.934286,-13.248958],[28.523562,-12.698604],[28.155109,-12.272481],[27.388799,-12.132747],[27.16442,-11.608748],[26.553088,-11.92444],[25.75231,-11.784965],[25.418118,-11.330936],[24.78317,-11.238694],[24.314516,-11.262826],[24.257155,-10.951993],[23.912215,-10.926826],[23.456791,-10.867863],[22.837345,-11.017622],[22.402798,-10.993075],[22.155268,-11.084801],[22.208753,-9.894796],[21.875182,-9.523708],[21.801801,-8.908707],[21.949131,-8.305901],[21.746456,-7.920085],[21.728111,-7.290872],[20.514748,-7.299606],[20.601823,-6.939318],[20.091622,-6.94309],[20.037723,-7.116361],[19.417502,-7.155429],[19.166613,-7.738184],[19.016752,-7.988246],[18.464176,-7.847014],[18.134222,-7.987678],[17.47297,-8.068551],[17.089996,-7.545689],[16.860191,-7.222298],[16.57318,-6.622645],[16.326528,-5.87747],[13.375597,-5.864241],[13.024869,-5.984389],[12.735171,-5.965682],[12.322432,-6.100092],[12.182337,-5.789931],[12.436688,-5.684304],[12.468004,-5.248362],[12.631612,-4.991271],[12.995517,-4.781103],[13.25824,-4.882957],[13.600235,-4.500138],[14.144956,-4.510009],[14.209035,-4.793092],[14.582604,-4.970239],[15.170992,-4.343507],[15.75354,-3.855165],[16.00629,-3.535133],[15.972803,-2.712392],[16.407092,-1.740927],[16.865307,-1.225816],[17.523716,-0.74383],[17.638645,-0.424832],[17.663553,-0.058084],[17.82654,0.288923],[17.774192,0.855659],[17.898835,1.741832],[18.094276,2.365722],[18.393792,2.900443],[18.453065,3.504386],[18.542982,4.201785],[18.932312,4.709506],[19.467784,5.031528],[20.290679,4.691678],[20.927591,4.322786],[21.659123,4.224342],[22.405124,4.02916],[22.704124,4.633051],[22.84148,4.710126],[23.297214,4.609693],[24.410531,5.108784],[24.805029,4.897247],[25.128833,4.927245],[25.278798,5.170408],[25.650455,5.256088],[26.402761,5.150875],[27.044065,5.127853],[27.374226,5.233944],[27.979977,4.408413],[28.428994,4.287155],[28.696678,4.455077],[29.159078,4.389267],[29.715995,4.600805],[29.9535,4.173699],[30.83386,3.509166]]]},"type":"Feature","id":"COD","properties":{"name":"Democratic Republic of the Congo","id":"COD","centroid":[15.15,-4.2]}},{"geometry":{"type":"Polygon","coordinates":[[[12.995517,-4.781103],[12.62076,-4.438023],[12.318608,-4.60623],[11.914963,-5.037987],[11.093773,-3.978827],[11.855122,-3.426871],[11.478039,-2.765619],[11.820964,-2.514161],[12.495703,-2.391688],[12.575284,-1.948511],[13.109619,-2.42874],[13.992407,-2.470805],[14.29921,-1.998276],[14.425456,-1.333407],[14.316418,-0.552627],[13.843321,0.038758],[14.276266,1.19693],[14.026669,1.395677],[13.282631,1.314184],[13.003114,1.830896],[13.075822,2.267097],[14.337813,2.227875],[15.146342,1.964015],[15.940919,1.727673],[16.012852,2.26764],[16.537058,3.198255],[17.133042,3.728197],[17.8099,3.560196],[18.453065,3.504386],[18.393792,2.900443],[18.094276,2.365722],[17.898835,1.741832],[17.774192,0.855659],[17.82654,0.288923],[17.663553,-0.058084],[17.638645,-0.424832],[17.523716,-0.74383],[16.865307,-1.225816],[16.407092,-1.740927],[15.972803,-2.712392],[16.00629,-3.535133],[15.75354,-3.855165],[15.170992,-4.343507],[14.582604,-4.970239],[14.209035,-4.793092],[14.144956,-4.510009],[13.600235,-4.500138],[13.25824,-4.882957],[12.995517,-4.781103]]]},"type":"Feature","id":"COG","properties":{"name":"Republic of the Congo","id":"COG","centroid":[15.12,-4.09]}},{"geometry":{"type":"Polygon","coordinates":[[[-75.373223,-0.152032],[-75.801466,0.084801],[-76.292314,0.416047],[-76.57638,0.256936],[-77.424984,0.395687],[-77.668613,0.825893],[-77.855061,0.809925],[-78.855259,1.380924],[-78.990935,1.69137],[-78.617831,1.766404],[-78.662118,2.267355],[-78.42761,2.629556],[-77.931543,2.696606],[-77.510431,3.325017],[-77.12769,3.849636],[-77.496272,4.087606],[-77.307601,4.667984],[-77.533221,5.582812],[-77.318815,5.845354],[-77.476661,6.691116],[-77.881571,7.223771],[-77.753414,7.70984],[-77.431108,7.638061],[-77.242566,7.935278],[-77.474723,8.524286],[-77.353361,8.670505],[-76.836674,8.638749],[-76.086384,9.336821],[-75.6746,9.443248],[-75.664704,9.774003],[-75.480426,10.61899],[-74.906895,11.083045],[-74.276753,11.102036],[-74.197223,11.310473],[-73.414764,11.227015],[-72.627835,11.731972],[-72.238195,11.95555],[-71.75409,12.437303],[-71.399822,12.376041],[-71.137461,12.112982],[-71.331584,11.776284],[-71.973922,11.608672],[-72.227575,11.108702],[-72.614658,10.821975],[-72.905286,10.450344],[-73.027604,9.73677],[-73.304952,9.152],[-72.78873,9.085027],[-72.660495,8.625288],[-72.439862,8.405275],[-72.360901,8.002638],[-72.479679,7.632506],[-72.444487,7.423785],[-72.198352,7.340431],[-71.960176,6.991615],[-70.674234,7.087785],[-70.093313,6.960376],[-69.38948,6.099861],[-68.985319,6.206805],[-68.265052,6.153268],[-67.695087,6.267318],[-67.34144,6.095468],[-67.521532,5.55687],[-67.744697,5.221129],[-67.823012,4.503937],[-67.621836,3.839482],[-67.337564,3.542342],[-67.303173,3.318454],[-67.809938,2.820655],[-67.447092,2.600281],[-67.181294,2.250638],[-66.876326,1.253361],[-67.065048,1.130112],[-67.259998,1.719999],[-67.53781,2.037163],[-67.868565,1.692455],[-69.816973,1.714805],[-69.804597,1.089081],[-69.218638,0.985677],[-69.252434,0.602651],[-69.452396,0.706159],[-70.015566,0.541414],[-70.020656,-0.185156],[-69.577065,-0.549992],[-69.420486,-1.122619],[-69.444102,-1.556287],[-69.893635,-4.298187],[-70.394044,-3.766591],[-70.692682,-3.742872],[-70.047709,-2.725156],[-70.813476,-2.256865],[-71.413646,-2.342802],[-71.774761,-2.16979],[-72.325787,-2.434218],[-73.070392,-2.308954],[-73.659504,-1.260491],[-74.122395,-1.002833],[-74.441601,-0.53082],[-75.106625,-0.057205],[-75.373223,-0.152032]]]},"type":"Feature","id":"COL","properties":{"name":"Colombia","id":"COL","centroid":[-74,4.34]}},{"geometry":{"type":"Polygon","coordinates":[[[-82.965783,8.225028],[-83.508437,8.446927],[-83.711474,8.656836],[-83.596313,8.830443],[-83.632642,9.051386],[-83.909886,9.290803],[-84.303402,9.487354],[-84.647644,9.615537],[-84.713351,9.908052],[-84.97566,10.086723],[-84.911375,9.795992],[-85.110923,9.55704],[-85.339488,9.834542],[-85.660787,9.933347],[-85.797445,10.134886],[-85.791709,10.439337],[-85.659314,10.754331],[-85.941725,10.895278],[-85.71254,11.088445],[-85.561852,11.217119],[-84.903003,10.952303],[-84.673069,11.082657],[-84.355931,10.999226],[-84.190179,10.79345],[-83.895054,10.726839],[-83.655612,10.938764],[-83.40232,10.395438],[-83.015677,9.992982],[-82.546196,9.566135],[-82.932891,9.476812],[-82.927155,9.07433],[-82.719183,8.925709],[-82.868657,8.807266],[-82.829771,8.626295],[-82.913176,8.423517],[-82.965783,8.225028]]]},"type":"Feature","id":"CRI","properties":{"name":"Costa Rica","id":"CRI","centroid":[-84.02,9.55]}},{"geometry":{"type":"Polygon","coordinates":[[[-82.268151,23.188611],[-81.404457,23.117271],[-80.618769,23.10598],[-79.679524,22.765303],[-79.281486,22.399202],[-78.347434,22.512166],[-77.993296,22.277194],[-77.146422,21.657851],[-76.523825,21.20682],[-76.19462,21.220565],[-75.598222,21.016624],[-75.67106,20.735091],[-74.933896,20.693905],[-74.178025,20.284628],[-74.296648,20.050379],[-74.961595,19.923435],[-75.63468,19.873774],[-76.323656,19.952891],[-77.755481,19.855481],[-77.085108,20.413354],[-77.492655,20.673105],[-78.137292,20.739949],[-78.482827,21.028613],[-78.719867,21.598114],[-79.285,21.559175],[-80.217475,21.827324],[-80.517535,22.037079],[-81.820943,22.192057],[-82.169992,22.387109],[-81.795002,22.636965],[-82.775898,22.68815],[-83.494459,22.168518],[-83.9088,22.154565],[-84.052151,21.910575],[-84.54703,21.801228],[-84.974911,21.896028],[-84.447062,22.20495],[-84.230357,22.565755],[-83.77824,22.788118],[-83.267548,22.983042],[-82.510436,23.078747],[-82.268151,23.188611]]]},"type":"Feature","id":"CUB","properties":{"name":"Cuba","id":"CUB","centroid":[-82.21,23.08]}},{"geometry":{"type":"Polygon","coordinates":[[[32.73178,35.140026],[32.802474,35.145504],[32.946961,35.386703],[33.667227,35.373216],[34.576474,35.671596],[33.900804,35.245756],[34.004881,34.978098],[32.979827,34.571869],[32.490296,34.701655],[32.256667,35.103232],[32.73178,35.140026]]]},"type":"Feature","id":"CYP","properties":{"name":"Cyprus","id":"CYP","centroid":[33.25,35.1]}},{"geometry":{"type":"Polygon","coordinates":[[[16.960288,48.596982],[16.499283,48.785808],[16.029647,48.733899],[15.253416,49.039074],[14.901447,48.964402],[14.338898,48.555305],[13.595946,48.877172],[13.031329,49.307068],[12.521024,49.547415],[12.415191,49.969121],[12.240111,50.266338],[12.966837,50.484076],[13.338132,50.733234],[14.056228,50.926918],[14.307013,51.117268],[14.570718,51.002339],[15.016996,51.106674],[15.490972,50.78473],[16.238627,50.697733],[16.176253,50.422607],[16.719476,50.215747],[16.868769,50.473974],[17.554567,50.362146],[17.649445,50.049038],[18.392914,49.988629],[18.853144,49.49623],[18.554971,49.495015],[18.399994,49.315001],[18.170498,49.271515],[18.104973,49.043983],[17.913512,48.996493],[17.886485,48.903475],[17.545007,48.800019],[17.101985,48.816969],[16.960288,48.596982]]]},"type":"Feature","id":"CZE","properties":{"name":"Czech Republic","id":"CZE","centroid":[14.26,50.05]}},{"geometry":{"type":"Polygon","coordinates":[[[9.921906,54.983104],[9.93958,54.596642],[10.950112,54.363607],[10.939467,54.008693],[11.956252,54.196486],[12.51844,54.470371],[13.647467,54.075511],[14.119686,53.757029],[14.353315,53.248171],[14.074521,52.981263],[14.4376,52.62485],[14.685026,52.089947],[14.607098,51.745188],[15.016996,51.106674],[14.570718,51.002339],[14.307013,51.117268],[14.056228,50.926918],[13.338132,50.733234],[12.966837,50.484076],[12.240111,50.266338],[12.415191,49.969121],[12.521024,49.547415],[13.031329,49.307068],[13.595946,48.877172],[13.243357,48.416115],[12.884103,48.289146],[13.025851,47.637584],[12.932627,47.467646],[12.62076,47.672388],[12.141357,47.703083],[11.426414,47.523766],[10.544504,47.566399],[10.402084,47.302488],[9.896068,47.580197],[9.594226,47.525058],[8.522612,47.830828],[8.317301,47.61358],[7.466759,47.620582],[7.593676,48.333019],[8.099279,49.017784],[6.65823,49.201958],[6.18632,49.463803],[6.242751,49.902226],[6.043073,50.128052],[6.156658,50.803721],[5.988658,51.851616],[6.589397,51.852029],[6.84287,52.22844],[7.092053,53.144043],[6.90514,53.482162],[7.100425,53.693932],[7.936239,53.748296],[8.121706,53.527792],[8.800734,54.020786],[8.572118,54.395646],[8.526229,54.962744],[9.282049,54.830865],[9.921906,54.983104]]]},"type":"Feature","id":"DEU","properties":{"name":"Germany","id":"DEU","centroid":[13.25,52.3]}},{"geometry":{"type":"Polygon","coordinates":[[[43.081226,12.699639],[43.317852,12.390148],[43.286381,11.974928],[42.715874,11.735641],[43.145305,11.46204],[42.776852,10.926879],[42.55493,11.10511],[42.31414,11.0342],[41.75557,11.05091],[41.73959,11.35511],[41.66176,11.6312],[42,12.1],[42.35156,12.54223],[42.779642,12.455416],[43.081226,12.699639]]]},"type":"Feature","id":"DJI","properties":{"name":"Djibouti","id":"DJI","centroid":[42.2,11.08]}},{"geometry":{"type":"MultiPolygon","coordinates":[[[[12.690006,55.609991],[12.089991,54.800015],[11.043543,55.364864],[10.903914,55.779955],[12.370904,56.111407],[12.690006,55.609991]]],[[[10.912182,56.458621],[10.667804,56.081383],[10.369993,56.190007],[9.649985,55.469999],[9.921906,54.983104],[9.282049,54.830865],[8.526229,54.962744],[8.120311,55.517723],[8.089977,56.540012],[8.256582,56.809969],[8.543438,57.110003],[9.424469,57.172066],[9.775559,57.447941],[10.580006,57.730017],[10.546106,57.215733],[10.25,56.890016],[10.369993,56.609982],[10.912182,56.458621]]]]},"type":"Feature","id":"DNK","properties":{"name":"Denmark","id":"DNK","centroid":[12.34,55.41]}},{"geometry":{"type":"Polygon","coordinates":[[[-71.712361,19.714456],[-71.587304,19.884911],[-70.806706,19.880286],[-70.214365,19.622885],[-69.950815,19.648],[-69.76925,19.293267],[-69.222126,19.313214],[-69.254346,19.015196],[-68.809412,18.979074],[-68.317943,18.612198],[-68.689316,18.205142],[-69.164946,18.422648],[-69.623988,18.380713],[-69.952934,18.428307],[-70.133233,18.245915],[-70.517137,18.184291],[-70.669298,18.426886],[-70.99995,18.283329],[-71.40021,17.598564],[-71.657662,17.757573],[-71.708305,18.044997],[-71.687738,18.31666],[-71.945112,18.6169],[-71.701303,18.785417],[-71.624873,19.169838],[-71.712361,19.714456]]]},"type":"Feature","id":"DOM","properties":{"name":"Dominican Republic","id":"DOM","centroid":[-61.24,15.2]}},{"geometry":{"type":"Polygon","coordinates":[[[11.999506,23.471668],[8.572893,21.565661],[5.677566,19.601207],[4.267419,19.155265],[3.158133,19.057364],[3.146661,19.693579],[2.683588,19.85623],[2.060991,20.142233],[1.823228,20.610809],[-1.550055,22.792666],[-4.923337,24.974574],[-8.6844,27.395744],[-8.665124,27.589479],[-8.66559,27.656426],[-8.674116,28.841289],[-7.059228,29.579228],[-6.060632,29.7317],[-5.242129,30.000443],[-4.859646,30.501188],[-3.690441,30.896952],[-3.647498,31.637294],[-3.06898,31.724498],[-2.616605,32.094346],[-1.307899,32.262889],[-1.124551,32.651522],[-1.388049,32.864015],[-1.733455,33.919713],[-1.792986,34.527919],[-2.169914,35.168396],[-1.208603,35.714849],[-0.127454,35.888662],[0.503877,36.301273],[1.466919,36.605647],[3.161699,36.783905],[4.815758,36.865037],[5.32012,36.716519],[6.26182,37.110655],[7.330385,37.118381],[7.737078,36.885708],[8.420964,36.946427],[8.217824,36.433177],[8.376368,35.479876],[8.140981,34.655146],[7.524482,34.097376],[7.612642,33.344115],[8.430473,32.748337],[8.439103,32.506285],[9.055603,32.102692],[9.48214,30.307556],[9.805634,29.424638],[9.859998,28.95999],[9.683885,28.144174],[9.756128,27.688259],[9.629056,27.140953],[9.716286,26.512206],[9.319411,26.094325],[9.910693,25.365455],[9.948261,24.936954],[10.303847,24.379313],[10.771364,24.562532],[11.560669,24.097909],[11.999506,23.471668]]]},"type":"Feature","id":"DZA","properties":{"name":"Algeria","id":"DZA","centroid":[3.08,36.42]}},{"geometry":{"type":"Polygon","coordinates":[[[-80.302561,-3.404856],[-79.770293,-2.657512],[-79.986559,-2.220794],[-80.368784,-2.685159],[-80.967765,-2.246943],[-80.764806,-1.965048],[-80.933659,-1.057455],[-80.58337,-0.906663],[-80.399325,-0.283703],[-80.020898,0.36034],[-80.09061,0.768429],[-79.542762,0.982938],[-78.855259,1.380924],[-77.855061,0.809925],[-77.668613,0.825893],[-77.424984,0.395687],[-76.57638,0.256936],[-76.292314,0.416047],[-75.801466,0.084801],[-75.373223,-0.152032],[-75.233723,-0.911417],[-75.544996,-1.56161],[-76.635394,-2.608678],[-77.837905,-3.003021],[-78.450684,-3.873097],[-78.639897,-4.547784],[-79.205289,-4.959129],[-79.624979,-4.454198],[-80.028908,-4.346091],[-80.442242,-4.425724],[-80.469295,-4.059287],[-80.184015,-3.821162],[-80.302561,-3.404856]]]},"type":"Feature","id":"ECU","properties":{"name":"Ecuador","id":"ECU","centroid":[-78.35,-0.15]}},{"geometry":{"type":"Polygon","coordinates":[[[34.9226,29.50133],[34.64174,29.09942],[34.42655,28.34399],[34.15451,27.8233],[33.92136,27.6487],[33.58811,27.97136],[33.13676,28.41765],[32.42323,29.85108],[32.32046,29.76043],[32.73482,28.70523],[33.34876,27.69989],[34.10455,26.14227],[34.47387,25.59856],[34.79507,25.03375],[35.69241,23.92671],[35.49372,23.75237],[35.52598,23.10244],[36.69069,22.20485],[36.86623,22],[32.9,22],[29.02,22],[25,22],[25,25.6825],[25,29.238655],[24.70007,30.04419],[24.95762,30.6616],[24.80287,31.08929],[25.16482,31.56915],[26.49533,31.58568],[27.45762,31.32126],[28.45048,31.02577],[28.91353,30.87005],[29.68342,31.18686],[30.09503,31.4734],[30.97693,31.55586],[31.68796,31.4296],[31.96041,30.9336],[32.19247,31.26034],[32.99392,31.02407],[33.7734,30.96746],[34.26544,31.21936],[34.9226,29.50133]]]},"type":"Feature","id":"EGY","properties":{"name":"Egypt","id":"EGY","centroid":[31.14,30.01]}},{"geometry":{"type":"Polygon","coordinates":[[[42.35156,12.54223],[42.00975,12.86582],[41.59856,13.45209],[41.155194,13.77332],[40.8966,14.11864],[40.026219,14.519579],[39.34061,14.53155],[39.0994,14.74064],[38.51295,14.50547],[37.90607,14.95943],[37.59377,14.2131],[36.42951,14.42211],[36.323189,14.822481],[36.75386,16.291874],[36.85253,16.95655],[37.16747,17.26314],[37.904,17.42754],[38.41009,17.998307],[38.990623,16.840626],[39.26611,15.922723],[39.814294,15.435647],[41.179275,14.49108],[41.734952,13.921037],[42.276831,13.343992],[42.589576,13.000421],[43.081226,12.699639],[42.779642,12.455416],[42.35156,12.54223]]]},"type":"Feature","id":"ERI","properties":{"name":"Eritrea","id":"ERI","centroid":[38.55,15.19]}},{"geometry":{"type":"Polygon","coordinates":[[[-9.034818,41.880571],[-8.984433,42.592775],[-9.392884,43.026625],[-7.97819,43.748338],[-6.754492,43.567909],[-5.411886,43.57424],[-4.347843,43.403449],[-3.517532,43.455901],[-1.901351,43.422802],[-1.502771,43.034014],[0.338047,42.579546],[0.701591,42.795734],[1.826793,42.343385],[2.985999,42.473015],[3.039484,41.89212],[2.091842,41.226089],[0.810525,41.014732],[0.721331,40.678318],[0.106692,40.123934],[-0.278711,39.309978],[0.111291,38.738514],[-0.467124,38.292366],[-0.683389,37.642354],[-1.438382,37.443064],[-2.146453,36.674144],[-3.415781,36.6589],[-4.368901,36.677839],[-4.995219,36.324708],[-5.37716,35.94685],[-5.866432,36.029817],[-6.236694,36.367677],[-6.520191,36.942913],[-7.453726,37.097788],[-7.537105,37.428904],[-7.166508,37.803894],[-7.029281,38.075764],[-7.374092,38.373059],[-7.098037,39.030073],[-7.498632,39.629571],[-7.066592,39.711892],[-7.026413,40.184524],[-6.86402,40.330872],[-6.851127,41.111083],[-6.389088,41.381815],[-6.668606,41.883387],[-7.251309,41.918346],[-7.422513,41.792075],[-8.013175,41.790886],[-8.263857,42.280469],[-8.671946,42.134689],[-9.034818,41.880571]]]},"type":"Feature","id":"ESP","properties":{"name":"Spain","id":"ESP","centroid":[-3.45,40.25]}},{"geometry":{"type":"Polygon","coordinates":[[[24.312863,57.793424],[24.428928,58.383413],[24.061198,58.257375],[23.42656,58.612753],[23.339795,59.18724],[24.604214,59.465854],[25.864189,59.61109],[26.949136,59.445803],[27.981114,59.475388],[28.131699,59.300825],[27.420166,58.724581],[27.716686,57.791899],[27.288185,57.474528],[26.463532,57.476389],[25.60281,57.847529],[25.164594,57.970157],[24.312863,57.793424]]]},"type":"Feature","id":"EST","properties":{"name":"Estonia","id":"EST","centroid":[24.48,59.22]}},{"geometry":{"type":"Polygon","coordinates":[[[37.90607,14.95943],[38.51295,14.50547],[39.0994,14.74064],[39.34061,14.53155],[40.02625,14.51959],[40.8966,14.11864],[41.1552,13.77333],[41.59856,13.45209],[42.00975,12.86582],[42.35156,12.54223],[42,12.1],[41.66176,11.6312],[41.73959,11.35511],[41.75557,11.05091],[42.31414,11.0342],[42.55493,11.10511],[42.776852,10.926879],[42.55876,10.57258],[42.92812,10.02194],[43.29699,9.54048],[43.67875,9.18358],[46.94834,7.99688],[47.78942,8.003],[44.9636,5.00162],[43.66087,4.95755],[42.76967,4.25259],[42.12861,4.23413],[41.855083,3.918912],[41.1718,3.91909],[40.76848,4.25702],[39.85494,3.83879],[39.559384,3.42206],[38.89251,3.50074],[38.67114,3.61607],[38.43697,3.58851],[38.120915,3.598605],[36.855093,4.447864],[36.159079,4.447864],[35.817448,4.776966],[35.817448,5.338232],[35.298007,5.506],[34.70702,6.59422],[34.25032,6.82607],[34.0751,7.22595],[33.56829,7.71334],[32.95418,7.78497],[33.2948,8.35458],[33.8255,8.37916],[33.97498,8.68456],[33.96162,9.58358],[34.25745,10.63009],[34.73115,10.91017],[34.83163,11.31896],[35.26049,12.08286],[35.86363,12.57828],[36.27022,13.56333],[36.42951,14.42211],[37.59377,14.2131],[37.90607,14.95943]]]},"type":"Feature","id":"ETH","properties":{"name":"Ethiopia","id":"ETH","centroid":[38.42,9.02]}},{"geometry":{"type":"Polygon","coordinates":[[[28.59193,69.064777],[28.445944,68.364613],[29.977426,67.698297],[29.054589,66.944286],[30.21765,65.80598],[29.54443,64.948672],[30.444685,64.204453],[30.035872,63.552814],[31.516092,62.867687],[31.139991,62.357693],[30.211107,61.780028],[28.069998,60.503517],[26.255173,60.423961],[24.496624,60.057316],[22.869695,59.846373],[22.290764,60.391921],[21.322244,60.72017],[21.544866,61.705329],[21.059211,62.607393],[21.536029,63.189735],[22.442744,63.81781],[24.730512,64.902344],[25.398068,65.111427],[25.294043,65.534346],[23.903379,66.006927],[23.56588,66.396051],[23.539473,67.936009],[21.978535,68.616846],[20.645593,69.106247],[21.244936,69.370443],[22.356238,68.841741],[23.66205,68.891247],[24.735679,68.649557],[25.689213,69.092114],[26.179622,69.825299],[27.732292,70.164193],[29.015573,69.766491],[28.59193,69.064777]]]},"type":"Feature","id":"FIN","properties":{"name":"Finland","id":"FIN","centroid":[25.03,60.15]}},{"geometry":{"type":"MultiPolygon","coordinates":[[[[178.3736,-17.33992],[178.71806,-17.62846],[178.55271,-18.15059],[177.93266,-18.28799],[177.38146,-18.16432],[177.28504,-17.72465],[177.67087,-17.38114],[178.12557,-17.50481],[178.3736,-17.33992]]],[[[179.364143,-16.801354],[178.725059,-17.012042],[178.596839,-16.63915],[179.096609,-16.433984],[179.413509,-16.379054],[180,-16.067133],[180,-16.555217],[179.364143,-16.801354]]],[[[-179.917369,-16.501783],[-180,-16.555217],[-180,-16.067133],[-179.79332,-16.020882],[-179.917369,-16.501783]]]]},"type":"Feature","id":"FJI","properties":{"name":"Fiji","id":"FJI","centroid":[178.3,-18.06]}},{"geometry":{"type":"Polygon","coordinates":[[[-61.2,-51.85],[-60,-51.25],[-59.15,-51.5],[-58.55,-51.1],[-57.75,-51.55],[-58.05,-51.9],[-59.4,-52.2],[-59.85,-51.85],[-60.7,-52.3],[-61.2,-51.85]]]},"type":"Feature","id":"FLK","properties":{"name":"Falkland Islands","id":"FLK","centroid":null}},{"geometry":{"type":"MultiPolygon","coordinates":[[[[9.560016,42.152492],[9.229752,41.380007],[8.775723,41.583612],[8.544213,42.256517],[8.746009,42.628122],[9.390001,43.009985],[9.560016,42.152492]]],[[[3.588184,50.378992],[4.286023,49.907497],[4.799222,49.985373],[5.674052,49.529484],[5.897759,49.442667],[6.18632,49.463803],[6.65823,49.201958],[8.099279,49.017784],[7.593676,48.333019],[7.466759,47.620582],[7.192202,47.449766],[6.736571,47.541801],[6.768714,47.287708],[6.037389,46.725779],[6.022609,46.27299],[6.5001,46.429673],[6.843593,45.991147],[6.802355,45.70858],[7.096652,45.333099],[6.749955,45.028518],[7.007562,44.254767],[7.549596,44.127901],[7.435185,43.693845],[6.529245,43.128892],[4.556963,43.399651],[3.100411,43.075201],[2.985999,42.473015],[1.826793,42.343385],[0.701591,42.795734],[0.338047,42.579546],[-1.502771,43.034014],[-1.901351,43.422802],[-1.384225,44.02261],[-1.193798,46.014918],[-2.225724,47.064363],[-2.963276,47.570327],[-4.491555,47.954954],[-4.59235,48.68416],[-3.295814,48.901692],[-1.616511,48.644421],[-1.933494,49.776342],[-0.989469,49.347376],[1.338761,50.127173],[1.639001,50.946606],[2.513573,51.148506],[2.658422,50.796848],[3.123252,50.780363],[3.588184,50.378992]]]]},"type":"Feature","id":"FRA","properties":{"name":"France","id":"FRA","centroid":[2.2,48.5]}},{"geometry":{"type":"Polygon","coordinates":[[[11.093773,-3.978827],[10.066135,-2.969483],[9.405245,-2.144313],[8.797996,-1.111301],[8.830087,-0.779074],[9.04842,-0.459351],[9.291351,0.268666],[9.492889,1.01012],[9.830284,1.067894],[11.285079,1.057662],[11.276449,2.261051],[11.751665,2.326758],[12.35938,2.192812],[12.951334,2.321616],[13.075822,2.267097],[13.003114,1.830896],[13.282631,1.314184],[14.026669,1.395677],[14.276266,1.19693],[13.843321,0.038758],[14.316418,-0.552627],[14.425456,-1.333407],[14.29921,-1.998276],[13.992407,-2.470805],[13.109619,-2.42874],[12.575284,-1.948511],[12.495703,-2.391688],[11.820964,-2.514161],[11.478039,-2.765619],[11.855122,-3.426871],[11.093773,-3.978827]]]},"type":"Feature","id":"GAB","properties":{"name":"Gabon","id":"GAB","centroid":[9.26,0.25]}},{"geometry":{"type":"MultiPolygon","coordinates":[[[[-5.661949,54.554603],[-6.197885,53.867565],[-6.95373,54.073702],[-7.572168,54.059956],[-7.366031,54.595841],[-7.572168,55.131622],[-6.733847,55.17286],[-5.661949,54.554603]]],[[[-3.005005,58.635],[-4.073828,57.553025],[-3.055002,57.690019],[-1.959281,57.6848],[-2.219988,56.870017],[-3.119003,55.973793],[-2.085009,55.909998],[-2.005676,55.804903],[-1.114991,54.624986],[-0.430485,54.464376],[0.184981,53.325014],[0.469977,52.929999],[1.681531,52.73952],[1.559988,52.099998],[1.050562,51.806761],[1.449865,51.289428],[0.550334,50.765739],[-0.787517,50.774989],[-2.489998,50.500019],[-2.956274,50.69688],[-3.617448,50.228356],[-4.542508,50.341837],[-5.245023,49.96],[-5.776567,50.159678],[-4.30999,51.210001],[-3.414851,51.426009],[-3.422719,51.426848],[-4.984367,51.593466],[-5.267296,51.9914],[-4.222347,52.301356],[-4.770013,52.840005],[-4.579999,53.495004],[-3.093831,53.404547],[-3.09208,53.404441],[-2.945009,53.985],[-3.614701,54.600937],[-3.630005,54.615013],[-4.844169,54.790971],[-5.082527,55.061601],[-4.719112,55.508473],[-5.047981,55.783986],[-5.586398,55.311146],[-5.644999,56.275015],[-6.149981,56.78501],[-5.786825,57.818848],[-5.009999,58.630013],[-4.211495,58.550845],[-3.005005,58.635]]]]},"type":"Feature","id":"GBR","properties":{"name":"United Kingdom","id":"GBR","centroid":[-0.05,51.36]}},{"geometry":{"type":"Polygon","coordinates":[[[41.554084,41.535656],[41.703171,41.962943],[41.45347,42.645123],[40.875469,43.013628],[40.321394,43.128634],[39.955009,43.434998],[40.076965,43.553104],[40.922185,43.382159],[42.394395,43.220308],[43.756017,42.740828],[43.9312,42.554974],[44.537623,42.711993],[45.470279,42.502781],[45.77641,42.092444],[46.404951,41.860675],[46.145432,41.722802],[46.637908,41.181673],[46.501637,41.064445],[45.962601,41.123873],[45.217426,41.411452],[44.97248,41.248129],[43.582746,41.092143],[42.619549,41.583173],[41.554084,41.535656]]]},"type":"Feature","id":"GEO","properties":{"name":"Georgia","id":"GEO","centroid":[44.5,41.43]}},{"geometry":{"type":"Polygon","coordinates":[[[1.060122,5.928837],[-0.507638,5.343473],[-1.063625,5.000548],[-1.964707,4.710462],[-2.856125,4.994476],[-2.810701,5.389051],[-3.24437,6.250472],[-2.983585,7.379705],[-2.56219,8.219628],[-2.827496,9.642461],[-2.963896,10.395335],[-2.940409,10.96269],[-1.203358,11.009819],[-0.761576,10.93693],[-0.438702,11.098341],[0.023803,11.018682],[-0.049785,10.706918],[0.36758,10.191213],[0.365901,9.465004],[0.461192,8.677223],[0.712029,8.312465],[0.490957,7.411744],[0.570384,6.914359],[0.836931,6.279979],[1.060122,5.928837]]]},"type":"Feature","id":"GHA","properties":{"name":"Ghana","id":"GHA","centroid":[-0.06,5.35]}},{"geometry":{"type":"Polygon","coordinates":[[[-8.439298,7.686043],[-8.722124,7.711674],[-8.926065,7.309037],[-9.208786,7.313921],[-9.403348,7.526905],[-9.33728,7.928534],[-9.755342,8.541055],[-10.016567,8.428504],[-10.230094,8.406206],[-10.505477,8.348896],[-10.494315,8.715541],[-10.65477,8.977178],[-10.622395,9.26791],[-10.839152,9.688246],[-11.117481,10.045873],[-11.917277,10.046984],[-12.150338,9.858572],[-12.425929,9.835834],[-12.596719,9.620188],[-12.711958,9.342712],[-13.24655,8.903049],[-13.685154,9.494744],[-14.074045,9.886167],[-14.330076,10.01572],[-14.579699,10.214467],[-14.693232,10.656301],[-14.839554,10.876572],[-15.130311,11.040412],[-14.685687,11.527824],[-14.382192,11.509272],[-14.121406,11.677117],[-13.9008,11.678719],[-13.743161,11.811269],[-13.828272,12.142644],[-13.718744,12.247186],[-13.700476,12.586183],[-13.217818,12.575874],[-12.499051,12.33209],[-12.278599,12.35444],[-12.203565,12.465648],[-11.658301,12.386583],[-11.513943,12.442988],[-11.456169,12.076834],[-11.297574,12.077971],[-11.036556,12.211245],[-10.87083,12.177887],[-10.593224,11.923975],[-10.165214,11.844084],[-9.890993,12.060479],[-9.567912,12.194243],[-9.327616,12.334286],[-9.127474,12.30806],[-8.905265,12.088358],[-8.786099,11.812561],[-8.376305,11.393646],[-8.581305,11.136246],[-8.620321,10.810891],[-8.407311,10.909257],[-8.282357,10.792597],[-8.335377,10.494812],[-8.029944,10.206535],[-8.229337,10.12902],[-8.309616,9.789532],[-8.079114,9.376224],[-7.8321,8.575704],[-8.203499,8.455453],[-8.299049,8.316444],[-8.221792,8.123329],[-8.280703,7.68718],[-8.439298,7.686043]]]},"type":"Feature","id":"GIN","properties":{"name":"Guinea","id":"GIN","centroid":[-13.49,9.29]}},{"geometry":{"type":"Polygon","coordinates":[[[-16.841525,13.151394],[-16.713729,13.594959],[-15.624596,13.623587],[-15.39877,13.860369],[-15.081735,13.876492],[-14.687031,13.630357],[-14.376714,13.62568],[-14.046992,13.794068],[-13.844963,13.505042],[-14.277702,13.280585],[-14.712197,13.298207],[-15.141163,13.509512],[-15.511813,13.27857],[-15.691001,13.270353],[-15.931296,13.130284],[-16.841525,13.151394]]]},"type":"Feature","id":"GMB","properties":{"name":"Gambia","id":"GMB","centroid":[-16.4,13.28]}},{"geometry":{"type":"Polygon","coordinates":[[[-15.130311,11.040412],[-15.66418,11.458474],[-16.085214,11.524594],[-16.314787,11.806515],[-16.308947,11.958702],[-16.613838,12.170911],[-16.677452,12.384852],[-16.147717,12.547762],[-15.816574,12.515567],[-15.548477,12.62817],[-13.700476,12.586183],[-13.718744,12.247186],[-13.828272,12.142644],[-13.743161,11.811269],[-13.9008,11.678719],[-14.121406,11.677117],[-14.382192,11.509272],[-14.685687,11.527824],[-15.130311,11.040412]]]},"type":"Feature","id":"GNB","properties":{"name":"Guinea Bissau","id":"GNB","centroid":[-15.45,11.45]}},{"geometry":{"type":"Polygon","coordinates":[[[9.492889,1.01012],[9.305613,1.160911],[9.649158,2.283866],[11.276449,2.261051],[11.285079,1.057662],[9.830284,1.067894],[9.492889,1.01012]]]},"type":"Feature","id":"GNQ","properties":{"name":"Equatorial Guinea","id":"GNQ","centroid":[8.5,3.45]}},{"geometry":{"type":"MultiPolygon","coordinates":[[[[23.69998,35.705004],[24.246665,35.368022],[25.025015,35.424996],[25.769208,35.354018],[25.745023,35.179998],[26.290003,35.29999],[26.164998,35.004995],[24.724982,34.919988],[24.735007,35.084991],[23.514978,35.279992],[23.69998,35.705004]]],[[[26.604196,41.562115],[26.294602,40.936261],[26.056942,40.824123],[25.447677,40.852545],[24.925848,40.947062],[23.714811,40.687129],[24.407999,40.124993],[23.899968,39.962006],[23.342999,39.960998],[22.813988,40.476005],[22.626299,40.256561],[22.849748,39.659311],[23.350027,39.190011],[22.973099,38.970903],[23.530016,38.510001],[24.025025,38.219993],[24.040011,37.655015],[23.115003,37.920011],[23.409972,37.409991],[22.774972,37.30501],[23.154225,36.422506],[22.490028,36.41],[21.670026,36.844986],[21.295011,37.644989],[21.120034,38.310323],[20.730032,38.769985],[20.217712,39.340235],[20.150016,39.624998],[20.615,40.110007],[20.674997,40.435],[20.99999,40.580004],[21.02004,40.842727],[21.674161,40.931275],[22.055378,41.149866],[22.597308,41.130487],[22.76177,41.3048],[22.952377,41.337994],[23.692074,41.309081],[24.492645,41.583896],[25.197201,41.234486],[26.106138,41.328899],[26.117042,41.826905],[26.604196,41.562115]]]]},"type":"Feature","id":"GRC","properties":{"name":"Greece","id":"GRC","centroid":[23.46,37.58]}},{"geometry":{"type":"Polygon","coordinates":[[[-46.76379,82.62796],[-43.40644,83.22516],[-39.89753,83.18018],[-38.62214,83.54905],[-35.08787,83.64513],[-27.10046,83.51966],[-20.84539,82.72669],[-22.69182,82.34165],[-26.51753,82.29765],[-31.9,82.2],[-31.39646,82.02154],[-27.85666,82.13178],[-24.84448,81.78697],[-22.90328,82.09317],[-22.07175,81.73449],[-23.16961,81.15271],[-20.62363,81.52462],[-15.76818,81.91245],[-12.77018,81.71885],[-12.20855,81.29154],[-16.28533,80.58004],[-16.85,80.35],[-20.04624,80.17708],[-17.73035,80.12912],[-18.9,79.4],[-19.70499,78.75128],[-19.67353,77.63859],[-18.47285,76.98565],[-20.03503,76.94434],[-21.67944,76.62795],[-19.83407,76.09808],[-19.59896,75.24838],[-20.66818,75.15585],[-19.37281,74.29561],[-21.59422,74.22382],[-20.43454,73.81713],[-20.76234,73.46436],[-22.17221,73.30955],[-23.56593,73.30663],[-22.31311,72.62928],[-22.29954,72.18409],[-24.27834,72.59788],[-24.79296,72.3302],[-23.44296,72.08016],[-22.13281,71.46898],[-21.75356,70.66369],[-23.53603,70.471],[-24.30702,70.85649],[-25.54341,71.43094],[-25.20135,70.75226],[-26.36276,70.22646],[-23.72742,70.18401],[-22.34902,70.12946],[-25.02927,69.2588],[-27.74737,68.47046],[-30.67371,68.12503],[-31.77665,68.12078],[-32.81105,67.73547],[-34.20196,66.67974],[-36.35284,65.9789],[-37.04378,65.93768],[-38.37505,65.69213],[-39.81222,65.45848],[-40.66899,64.83997],[-40.68281,64.13902],[-41.1887,63.48246],[-42.81938,62.68233],[-42.41666,61.90093],[-42.86619,61.07404],[-43.3784,60.09772],[-44.7875,60.03676],[-46.26364,60.85328],[-48.26294,60.85843],[-49.23308,61.40681],[-49.90039,62.38336],[-51.63325,63.62691],[-52.14014,64.27842],[-52.27659,65.1767],[-53.66166,66.09957],[-53.30161,66.8365],[-53.96911,67.18899],[-52.9804,68.35759],[-51.47536,68.72958],[-51.08041,69.14781],[-50.87122,69.9291],[-52.013585,69.574925],[-52.55792,69.42616],[-53.45629,69.283625],[-54.68336,69.61003],[-54.75001,70.28932],[-54.35884,70.821315],[-53.431315,70.835755],[-51.39014,70.56978],[-53.10937,71.20485],[-54.00422,71.54719],[-55,71.406537],[-55.83468,71.65444],[-54.71819,72.58625],[-55.32634,72.95861],[-56.12003,73.64977],[-57.32363,74.71026],[-58.59679,75.09861],[-58.58516,75.51727],[-61.26861,76.10238],[-63.39165,76.1752],[-66.06427,76.13486],[-68.50438,76.06141],[-69.66485,76.37975],[-71.40257,77.00857],[-68.77671,77.32312],[-66.76397,77.37595],[-71.04293,77.63595],[-73.297,78.04419],[-73.15938,78.43271],[-69.37345,78.91388],[-65.7107,79.39436],[-65.3239,79.75814],[-68.02298,80.11721],[-67.15129,80.51582],[-63.68925,81.21396],[-62.23444,81.3211],[-62.65116,81.77042],[-60.28249,82.03363],[-57.20744,82.19074],[-54.13442,82.19962],[-53.04328,81.88833],[-50.39061,82.43883],[-48.00386,82.06481],[-46.59984,81.985945],[-44.523,81.6607],[-46.9007,82.19979],[-46.76379,82.62796]]]},"type":"Feature","id":"GRL","properties":{"name":"Greenland","id":"GRL","centroid":null}},{"geometry":{"type":"Polygon","coordinates":[[[-90.095555,13.735338],[-90.608624,13.909771],[-91.23241,13.927832],[-91.689747,14.126218],[-92.22775,14.538829],[-92.20323,14.830103],[-92.087216,15.064585],[-92.229249,15.251447],[-91.74796,16.066565],[-90.464473,16.069562],[-90.438867,16.41011],[-90.600847,16.470778],[-90.711822,16.687483],[-91.08167,16.918477],[-91.453921,17.252177],[-91.002269,17.254658],[-91.00152,17.817595],[-90.067934,17.819326],[-89.14308,17.808319],[-89.150806,17.015577],[-89.229122,15.886938],[-88.930613,15.887273],[-88.604586,15.70638],[-88.518364,15.855389],[-88.225023,15.727722],[-88.68068,15.346247],[-89.154811,15.066419],[-89.22522,14.874286],[-89.145535,14.678019],[-89.353326,14.424133],[-89.587343,14.362586],[-89.534219,14.244816],[-89.721934,14.134228],[-90.064678,13.88197],[-90.095555,13.735338]]]},"type":"Feature","id":"GTM","properties":{"name":"Guatemala","id":"GTM","centroid":[-90.22,14.4]}},{"geometry":{"type":"Polygon","coordinates":[[[-52.556425,2.504705],[-52.939657,2.124858],[-53.418465,2.053389],[-53.554839,2.334897],[-53.778521,2.376703],[-54.088063,2.105557],[-54.524754,2.311849],[-54.27123,2.738748],[-54.184284,3.194172],[-54.011504,3.62257],[-54.399542,4.212611],[-54.478633,4.896756],[-53.958045,5.756548],[-53.618453,5.646529],[-52.882141,5.409851],[-51.823343,4.565768],[-51.657797,4.156232],[-52.249338,3.241094],[-52.556425,2.504705]]]},"type":"Feature","id":"GUF","properties":{"name":"French Guiana","id":"GUF","centroid":[-52.18,5.05]}},{"geometry":{"type":"Polygon","coordinates":[[[-59.758285,8.367035],[-59.101684,7.999202],[-58.482962,7.347691],[-58.454876,6.832787],[-58.078103,6.809094],[-57.542219,6.321268],[-57.147436,5.97315],[-57.307246,5.073567],[-57.914289,4.812626],[-57.86021,4.576801],[-58.044694,4.060864],[-57.601569,3.334655],[-57.281433,3.333492],[-57.150098,2.768927],[-56.539386,1.899523],[-56.782704,1.863711],[-57.335823,1.948538],[-57.660971,1.682585],[-58.11345,1.507195],[-58.429477,1.463942],[-58.540013,1.268088],[-59.030862,1.317698],[-59.646044,1.786894],[-59.718546,2.24963],[-59.974525,2.755233],[-59.815413,3.606499],[-59.53804,3.958803],[-59.767406,4.423503],[-60.111002,4.574967],[-59.980959,5.014061],[-60.213683,5.244486],[-60.733574,5.200277],[-61.410303,5.959068],[-61.139415,6.234297],[-61.159336,6.696077],[-60.543999,6.856584],[-60.295668,7.043911],[-60.637973,7.415],[-60.550588,7.779603],[-59.758285,8.367035]]]},"type":"Feature","id":"GUY","properties":{"name":"Guyana","id":"GUY","centroid":[-58.12,6.5]}},{"geometry":{"type":"Polygon","coordinates":[[[-87.316654,12.984686],[-87.489409,13.297535],[-87.793111,13.38448],[-87.723503,13.78505],[-87.859515,13.893312],[-88.065343,13.964626],[-88.503998,13.845486],[-88.541231,13.980155],[-88.843073,14.140507],[-89.058512,14.340029],[-89.353326,14.424133],[-89.145535,14.678019],[-89.22522,14.874286],[-89.154811,15.066419],[-88.68068,15.346247],[-88.225023,15.727722],[-88.121153,15.688655],[-87.901813,15.864458],[-87.61568,15.878799],[-87.522921,15.797279],[-87.367762,15.84694],[-86.903191,15.756713],[-86.440946,15.782835],[-86.119234,15.893449],[-86.001954,16.005406],[-85.683317,15.953652],[-85.444004,15.885749],[-85.182444,15.909158],[-84.983722,15.995923],[-84.52698,15.857224],[-84.368256,15.835158],[-84.063055,15.648244],[-83.773977,15.424072],[-83.410381,15.270903],[-83.147219,14.995829],[-83.489989,15.016267],[-83.628585,14.880074],[-83.975721,14.749436],[-84.228342,14.748764],[-84.449336,14.621614],[-84.649582,14.666805],[-84.820037,14.819587],[-84.924501,14.790493],[-85.052787,14.551541],[-85.148751,14.560197],[-85.165365,14.35437],[-85.514413,14.079012],[-85.698665,13.960078],[-85.801295,13.836055],[-86.096264,14.038187],[-86.312142,13.771356],[-86.520708,13.778487],[-86.755087,13.754845],[-86.733822,13.263093],[-86.880557,13.254204],[-87.005769,13.025794],[-87.316654,12.984686]]]},"type":"Feature","id":"HND","properties":{"name":"Honduras","id":"HND","centroid":[-87.14,14.05]}},{"geometry":{"type":"Polygon","coordinates":[[[18.829838,45.908878],[19.072769,45.521511],[19.390476,45.236516],[19.005486,44.860234],[18.553214,45.08159],[17.861783,45.06774],[17.002146,45.233777],[16.534939,45.211608],[16.318157,45.004127],[15.959367,45.233777],[15.750026,44.818712],[16.23966,44.351143],[16.456443,44.04124],[16.916156,43.667722],[17.297373,43.446341],[17.674922,43.028563],[18.56,42.65],[18.450016,42.479991],[17.50997,42.849995],[16.930006,43.209998],[16.015385,43.507215],[15.174454,44.243191],[15.37625,44.317915],[14.920309,44.738484],[14.901602,45.07606],[14.258748,45.233777],[13.952255,44.802124],[13.656976,45.136935],[13.679403,45.484149],[13.71506,45.500324],[14.411968,45.466166],[14.595109,45.634941],[14.935244,45.471695],[15.327675,45.452316],[15.323954,45.731783],[15.67153,45.834154],[15.768733,46.238108],[16.564808,46.503751],[16.882515,46.380632],[17.630066,45.951769],[18.456062,45.759481],[18.829838,45.908878]]]},"type":"Feature","id":"HRV","properties":{"name":"Croatia","id":"HRV","centroid":[15.58,45.5]}},{"geometry":{"type":"Polygon","coordinates":[[[-73.189791,19.915684],[-72.579673,19.871501],[-71.712361,19.714456],[-71.624873,19.169838],[-71.701303,18.785417],[-71.945112,18.6169],[-71.687738,18.31666],[-71.708305,18.044997],[-72.372476,18.214961],[-72.844411,18.145611],[-73.454555,18.217906],[-73.922433,18.030993],[-74.458034,18.34255],[-74.369925,18.664908],[-73.449542,18.526053],[-72.694937,18.445799],[-72.334882,18.668422],[-72.79165,19.101625],[-72.784105,19.483591],[-73.415022,19.639551],[-73.189791,19.915684]]]},"type":"Feature","id":"HTI","properties":{"name":"Haiti","id":"HTI","centroid":[-72.2,18.4]}},{"geometry":{"type":"Polygon","coordinates":[[[16.202298,46.852386],[16.534268,47.496171],[16.340584,47.712902],[16.903754,47.714866],[16.979667,48.123497],[17.488473,47.867466],[17.857133,47.758429],[18.696513,47.880954],[18.777025,48.081768],[19.174365,48.111379],[19.661364,48.266615],[19.769471,48.202691],[20.239054,48.327567],[20.473562,48.56285],[20.801294,48.623854],[21.872236,48.319971],[22.085608,48.422264],[22.64082,48.15024],[22.710531,47.882194],[22.099768,47.672439],[21.626515,46.994238],[21.021952,46.316088],[20.220192,46.127469],[19.596045,46.17173],[18.829838,45.908878],[18.456062,45.759481],[17.630066,45.951769],[16.882515,46.380632],[16.564808,46.503751],[16.370505,46.841327],[16.202298,46.852386]]]},"type":"Feature","id":"HUN","properties":{"name":"Hungary","id":"HUN","centroid":[19.05,47.29]}},{"geometry":{"type":"MultiPolygon","coordinates":[[[[120.715609,-10.239581],[120.295014,-10.25865],[118.967808,-9.557969],[119.90031,-9.36134],[120.425756,-9.665921],[120.775502,-9.969675],[120.715609,-10.239581]]],[[[124.43595,-10.140001],[123.579982,-10.359987],[123.459989,-10.239995],[123.550009,-9.900016],[123.980009,-9.290027],[124.968682,-8.89279],[125.07002,-9.089987],[125.08852,-9.393173],[124.43595,-10.140001]]],[[[117.900018,-8.095681],[118.260616,-8.362383],[118.87846,-8.280683],[119.126507,-8.705825],[117.970402,-8.906639],[117.277731,-9.040895],[116.740141,-9.032937],[117.083737,-8.457158],[117.632024,-8.449303],[117.900018,-8.095681]]],[[[122.903537,-8.094234],[122.756983,-8.649808],[121.254491,-8.933666],[119.924391,-8.810418],[119.920929,-8.444859],[120.715092,-8.236965],[121.341669,-8.53674],[122.007365,-8.46062],[122.903537,-8.094234]]],[[[108.623479,-6.777674],[110.539227,-6.877358],[110.759576,-6.465186],[112.614811,-6.946036],[112.978768,-7.594213],[114.478935,-7.776528],[115.705527,-8.370807],[114.564511,-8.751817],[113.464734,-8.348947],[112.559672,-8.376181],[111.522061,-8.302129],[110.58615,-8.122605],[109.427667,-7.740664],[108.693655,-7.6416],[108.277763,-7.766657],[106.454102,-7.3549],[106.280624,-6.9249],[105.365486,-6.851416],[106.051646,-5.895919],[107.265009,-5.954985],[108.072091,-6.345762],[108.486846,-6.421985],[108.623479,-6.777674]]],[[[134.724624,-6.214401],[134.210134,-6.895238],[134.112776,-6.142467],[134.290336,-5.783058],[134.499625,-5.445042],[134.727002,-5.737582],[134.724624,-6.214401]]],[[[127.249215,-3.459065],[126.874923,-3.790983],[126.183802,-3.607376],[125.989034,-3.177273],[127.000651,-3.129318],[127.249215,-3.459065]]],[[[130.471344,-3.093764],[130.834836,-3.858472],[129.990547,-3.446301],[129.155249,-3.362637],[128.590684,-3.428679],[127.898891,-3.393436],[128.135879,-2.84365],[129.370998,-2.802154],[130.471344,-3.093764]]],[[[134.143368,-1.151867],[134.422627,-2.769185],[135.457603,-3.367753],[136.293314,-2.307042],[137.440738,-1.703513],[138.329727,-1.702686],[139.184921,-2.051296],[139.926684,-2.409052],[141.00021,-2.600151],[141.017057,-5.859022],[141.033852,-9.117893],[140.143415,-8.297168],[139.127767,-8.096043],[138.881477,-8.380935],[137.614474,-8.411683],[138.039099,-7.597882],[138.668621,-7.320225],[138.407914,-6.232849],[137.92784,-5.393366],[135.98925,-4.546544],[135.164598,-4.462931],[133.66288,-3.538853],[133.367705,-4.024819],[132.983956,-4.112979],[132.756941,-3.746283],[132.753789,-3.311787],[131.989804,-2.820551],[133.066845,-2.460418],[133.780031,-2.479848],[133.696212,-2.214542],[132.232373,-2.212526],[131.836222,-1.617162],[130.94284,-1.432522],[130.519558,-0.93772],[131.867538,-0.695461],[132.380116,-0.369538],[133.985548,-0.78021],[134.143368,-1.151867]]],[[[125.240501,1.419836],[124.437035,0.427881],[123.685505,0.235593],[122.723083,0.431137],[121.056725,0.381217],[120.183083,0.237247],[120.04087,-0.519658],[120.935905,-1.408906],[121.475821,-0.955962],[123.340565,-0.615673],[123.258399,-1.076213],[122.822715,-0.930951],[122.38853,-1.516858],[121.508274,-1.904483],[122.454572,-3.186058],[122.271896,-3.5295],[123.170963,-4.683693],[123.162333,-5.340604],[122.628515,-5.634591],[122.236394,-5.282933],[122.719569,-4.464172],[121.738234,-4.851331],[121.489463,-4.574553],[121.619171,-4.188478],[120.898182,-3.602105],[120.972389,-2.627643],[120.305453,-2.931604],[120.390047,-4.097579],[120.430717,-5.528241],[119.796543,-5.6734],[119.366906,-5.379878],[119.653606,-4.459417],[119.498835,-3.494412],[119.078344,-3.487022],[118.767769,-2.801999],[119.180974,-2.147104],[119.323394,-1.353147],[119.825999,0.154254],[120.035702,0.566477],[120.885779,1.309223],[121.666817,1.013944],[122.927567,0.875192],[124.077522,0.917102],[125.065989,1.643259],[125.240501,1.419836]]],[[[128.688249,1.132386],[128.635952,0.258486],[128.12017,0.356413],[127.968034,-0.252077],[128.379999,-0.780004],[128.100016,-0.899996],[127.696475,-0.266598],[127.39949,1.011722],[127.600512,1.810691],[127.932378,2.174596],[128.004156,1.628531],[128.594559,1.540811],[128.688249,1.132386]]],[[[117.875627,1.827641],[118.996747,0.902219],[117.811858,0.784242],[117.478339,0.102475],[117.521644,-0.803723],[116.560048,-1.487661],[116.533797,-2.483517],[116.148084,-4.012726],[116.000858,-3.657037],[114.864803,-4.106984],[114.468652,-3.495704],[113.755672,-3.43917],[113.256994,-3.118776],[112.068126,-3.478392],[111.703291,-2.994442],[111.04824,-3.049426],[110.223846,-2.934032],[110.070936,-1.592874],[109.571948,-1.314907],[109.091874,-0.459507],[108.952658,0.415375],[109.069136,1.341934],[109.66326,2.006467],[109.830227,1.338136],[110.514061,0.773131],[111.159138,0.976478],[111.797548,0.904441],[112.380252,1.410121],[112.859809,1.49779],[113.80585,1.217549],[114.621355,1.430688],[115.134037,2.821482],[115.519078,3.169238],[115.865517,4.306559],[117.015214,4.306094],[117.882035,4.137551],[117.313232,3.234428],[118.04833,2.28769],[117.875627,1.827641]]],[[[105.817655,-5.852356],[104.710384,-5.873285],[103.868213,-5.037315],[102.584261,-4.220259],[102.156173,-3.614146],[101.399113,-2.799777],[100.902503,-2.050262],[100.141981,-0.650348],[99.26374,0.183142],[98.970011,1.042882],[98.601351,1.823507],[97.699598,2.453184],[97.176942,3.308791],[96.424017,3.86886],[95.380876,4.970782],[95.293026,5.479821],[95.936863,5.439513],[97.484882,5.246321],[98.369169,4.26837],[99.142559,3.59035],[99.693998,3.174329],[100.641434,2.099381],[101.658012,2.083697],[102.498271,1.3987],[103.07684,0.561361],[103.838396,0.104542],[103.437645,-0.711946],[104.010789,-1.059212],[104.369991,-1.084843],[104.53949,-1.782372],[104.887893,-2.340425],[105.622111,-2.428844],[106.108593,-3.061777],[105.857446,-4.305525],[105.817655,-5.852356]]]]},"type":"Feature","id":"IDN","properties":{"name":"Indonesia","id":"IDN","centroid":[106.49,-6.09]}},{"geometry":{"type":"Polygon","coordinates":[[[77.837451,35.49401],[78.912269,34.321936],[78.811086,33.506198],[79.208892,32.994395],[79.176129,32.48378],[78.458446,32.618164],[78.738894,31.515906],[79.721367,30.882715],[81.111256,30.183481],[80.476721,29.729865],[80.088425,28.79447],[81.057203,28.416095],[81.999987,27.925479],[83.304249,27.364506],[84.675018,27.234901],[85.251779,26.726198],[86.024393,26.630985],[87.227472,26.397898],[88.060238,26.414615],[88.174804,26.810405],[88.043133,27.445819],[88.120441,27.876542],[88.730326,28.086865],[88.814248,27.299316],[88.835643,27.098966],[89.744528,26.719403],[90.373275,26.875724],[91.217513,26.808648],[92.033484,26.83831],[93.746338,27.108034],[94.306641,27.547242],[95.767822,28.139816],[97.051989,27.699059],[97.133999,27.083774],[96.419366,27.264589],[95.124768,26.573572],[95.155153,26.001307],[94.603249,25.162495],[94.552658,24.675238],[94.106742,23.850741],[93.325188,24.078556],[93.286327,23.043658],[93.060294,22.703111],[93.166128,22.27846],[92.672721,22.041239],[92.146035,23.627499],[91.869928,23.624346],[91.706475,22.985264],[91.158963,23.503527],[91.46773,24.072639],[91.915093,24.130414],[92.376202,24.976693],[91.799596,25.147432],[90.872211,25.132601],[89.920693,25.26975],[89.832481,25.965082],[89.355094,26.014407],[88.563049,26.446526],[88.209789,25.768066],[88.931554,25.238692],[88.306373,24.866079],[88.084422,24.501657],[88.69994,24.233715],[88.52977,23.631142],[88.876312,22.879146],[89.031961,22.055708],[88.888766,21.690588],[88.208497,21.703172],[86.975704,21.495562],[87.033169,20.743308],[86.499351,20.151638],[85.060266,19.478579],[83.941006,18.30201],[83.189217,17.671221],[82.192792,17.016636],[82.191242,16.556664],[81.692719,16.310219],[80.791999,15.951972],[80.324896,15.899185],[80.025069,15.136415],[80.233274,13.835771],[80.286294,13.006261],[79.862547,12.056215],[79.857999,10.357275],[79.340512,10.308854],[78.885345,9.546136],[79.18972,9.216544],[78.277941,8.933047],[77.941165,8.252959],[77.539898,7.965535],[76.592979,8.899276],[76.130061,10.29963],[75.746467,11.308251],[75.396101,11.781245],[74.864816,12.741936],[74.616717,13.992583],[74.443859,14.617222],[73.534199,15.990652],[73.119909,17.92857],[72.820909,19.208234],[72.824475,20.419503],[72.630533,21.356009],[71.175273,20.757441],[70.470459,20.877331],[69.16413,22.089298],[69.644928,22.450775],[69.349597,22.84318],[68.176645,23.691965],[68.842599,24.359134],[71.04324,24.356524],[70.844699,25.215102],[70.282873,25.722229],[70.168927,26.491872],[69.514393,26.940966],[70.616496,27.989196],[71.777666,27.91318],[72.823752,28.961592],[73.450638,29.976413],[74.42138,30.979815],[74.405929,31.692639],[75.258642,32.271105],[74.451559,32.7649],[74.104294,33.441473],[73.749948,34.317699],[74.240203,34.748887],[75.757061,34.504923],[76.871722,34.653544],[77.837451,35.49401]]]},"type":"Feature","id":"IND","properties":{"name":"India","id":"IND","centroid":[77.13,28.37]}},{"geometry":{"type":"Polygon","coordinates":[[[-6.197885,53.867565],[-6.032985,53.153164],[-6.788857,52.260118],[-8.561617,51.669301],[-9.977086,51.820455],[-9.166283,52.864629],[-9.688525,53.881363],[-8.327987,54.664519],[-7.572168,55.131622],[-7.366031,54.595841],[-7.572168,54.059956],[-6.95373,54.073702],[-6.197885,53.867565]]]},"type":"Feature","id":"IRL","properties":{"name":"Ireland","id":"IRL","centroid":[-6.15,53.21]}},{"geometry":{"type":"Polygon","coordinates":[[[53.921598,37.198918],[54.800304,37.392421],[55.511578,37.964117],[56.180375,37.935127],[56.619366,38.121394],[57.330434,38.029229],[58.436154,37.522309],[59.234762,37.412988],[60.377638,36.527383],[61.123071,36.491597],[61.210817,35.650072],[60.803193,34.404102],[60.52843,33.676446],[60.9637,33.528832],[60.536078,32.981269],[60.863655,32.18292],[60.941945,31.548075],[61.699314,31.379506],[61.781222,30.73585],[60.874248,29.829239],[61.369309,29.303276],[61.771868,28.699334],[62.72783,28.259645],[62.755426,27.378923],[63.233898,27.217047],[63.316632,26.756532],[61.874187,26.239975],[61.497363,25.078237],[59.616134,25.380157],[58.525761,25.609962],[57.397251,25.739902],[56.970766,26.966106],[56.492139,27.143305],[55.72371,26.964633],[54.71509,26.480658],[53.493097,26.812369],[52.483598,27.580849],[51.520763,27.86569],[50.852948,28.814521],[50.115009,30.147773],[49.57685,29.985715],[48.941333,30.31709],[48.567971,29.926778],[48.014568,30.452457],[48.004698,30.985137],[47.685286,30.984853],[47.849204,31.709176],[47.334661,32.469155],[46.109362,33.017287],[45.416691,33.967798],[45.64846,34.748138],[46.151788,35.093259],[46.07634,35.677383],[45.420618,35.977546],[44.77267,37.17045],[44.225756,37.971584],[44.421403,38.281281],[44.109225,39.428136],[44.79399,39.713003],[44.952688,39.335765],[45.457722,38.874139],[46.143623,38.741201],[46.50572,38.770605],[47.685079,39.508364],[48.060095,39.582235],[48.355529,39.288765],[48.010744,38.794015],[48.634375,38.270378],[48.883249,38.320245],[49.199612,37.582874],[50.147771,37.374567],[50.842354,36.872814],[52.264025,36.700422],[53.82579,36.965031],[53.921598,37.198918]]]},"type":"Feature","id":"IRN","properties":{"name":"Iran","id":"IRN","centroid":[51.25,35.42]}},{"geometry":{"type":"Polygon","coordinates":[[[45.420618,35.977546],[46.07634,35.677383],[46.151788,35.093259],[45.64846,34.748138],[45.416691,33.967798],[46.109362,33.017287],[47.334661,32.469155],[47.849204,31.709176],[47.685286,30.984853],[48.004698,30.985137],[48.014568,30.452457],[48.567971,29.926778],[47.974519,29.975819],[47.302622,30.05907],[46.568713,29.099025],[44.709499,29.178891],[41.889981,31.190009],[40.399994,31.889992],[39.195468,32.161009],[38.792341,33.378686],[41.006159,34.419372],[41.383965,35.628317],[41.289707,36.358815],[41.837064,36.605854],[42.349591,37.229873],[42.779126,37.385264],[43.942259,37.256228],[44.293452,37.001514],[44.772699,37.170445],[45.420618,35.977546]]]},"type":"Feature","id":"IRQ","properties":{"name":"Iraq","id":"IRQ","centroid":[44.3,33.2]}},{"geometry":{"type":"Polygon","coordinates":[[[-14.508695,66.455892],[-14.739637,65.808748],[-13.609732,65.126671],[-14.909834,64.364082],[-17.794438,63.678749],[-18.656246,63.496383],[-19.972755,63.643635],[-22.762972,63.960179],[-21.778484,64.402116],[-23.955044,64.89113],[-22.184403,65.084968],[-22.227423,65.378594],[-24.326184,65.611189],[-23.650515,66.262519],[-22.134922,66.410469],[-20.576284,65.732112],[-19.056842,66.276601],[-17.798624,65.993853],[-16.167819,66.526792],[-14.508695,66.455892]]]},"type":"Feature","id":"ISL","properties":{"name":"Iceland","id":"ISL","centroid":[-21.57,64.1]}},{"geometry":{"type":"Polygon","coordinates":[[[35.719918,32.709192],[35.545665,32.393992],[35.18393,32.532511],[34.974641,31.866582],[35.225892,31.754341],[34.970507,31.616778],[34.927408,31.353435],[35.397561,31.489086],[35.420918,31.100066],[34.922603,29.501326],[34.265433,31.219361],[34.556372,31.548824],[34.488107,31.605539],[34.752587,32.072926],[34.955417,32.827376],[35.098457,33.080539],[35.126053,33.0909],[35.460709,33.08904],[35.552797,33.264275],[35.821101,33.277426],[35.836397,32.868123],[35.700798,32.716014],[35.719918,32.709192]]]},"type":"Feature","id":"ISR","properties":{"name":"Israel","id":"ISR","centroid":[35.12,31.47]}},{"geometry":{"type":"MultiPolygon","coordinates":[[[[15.520376,38.231155],[15.160243,37.444046],[15.309898,37.134219],[15.099988,36.619987],[14.335229,36.996631],[13.826733,37.104531],[12.431004,37.61295],[12.570944,38.126381],[13.741156,38.034966],[14.761249,38.143874],[15.520376,38.231155]]],[[[9.210012,41.209991],[9.809975,40.500009],[9.669519,39.177376],[9.214818,39.240473],[8.806936,38.906618],[8.428302,39.171847],[8.388253,40.378311],[8.159998,40.950007],[8.709991,40.899984],[9.210012,41.209991]]],[[[12.376485,46.767559],[13.806475,46.509306],[13.69811,46.016778],[13.93763,45.591016],[13.141606,45.736692],[12.328581,45.381778],[12.383875,44.885374],[12.261453,44.600482],[12.589237,44.091366],[13.526906,43.587727],[14.029821,42.761008],[15.14257,41.95514],[15.926191,41.961315],[16.169897,41.740295],[15.889346,41.541082],[16.785002,41.179606],[17.519169,40.877143],[18.376687,40.355625],[18.480247,40.168866],[18.293385,39.810774],[17.73838,40.277671],[16.869596,40.442235],[16.448743,39.795401],[17.17149,39.4247],[17.052841,38.902871],[16.635088,38.843572],[16.100961,37.985899],[15.684087,37.908849],[15.687963,38.214593],[15.891981,38.750942],[16.109332,38.964547],[15.718814,39.544072],[15.413613,40.048357],[14.998496,40.172949],[14.703268,40.60455],[14.060672,40.786348],[13.627985,41.188287],[12.888082,41.25309],[12.106683,41.704535],[11.191906,42.355425],[10.511948,42.931463],[10.200029,43.920007],[9.702488,44.036279],[8.888946,44.366336],[8.428561,44.231228],[7.850767,43.767148],[7.435185,43.693845],[7.549596,44.127901],[7.007562,44.254767],[6.749955,45.028518],[7.096652,45.333099],[6.802355,45.70858],[6.843593,45.991147],[7.273851,45.776948],[7.755992,45.82449],[8.31663,46.163642],[8.489952,46.005151],[8.966306,46.036932],[9.182882,46.440215],[9.922837,46.314899],[10.363378,46.483571],[10.442701,46.893546],[11.048556,46.751359],[11.164828,46.941579],[12.153088,47.115393],[12.376485,46.767559]]]]},"type":"Feature","id":"ITA","properties":{"name":"Italy","id":"ITA","centroid":[12.29,41.54]}},{"geometry":{"type":"Polygon","coordinates":[[[-77.569601,18.490525],[-76.896619,18.400867],[-76.365359,18.160701],[-76.199659,17.886867],[-76.902561,17.868238],[-77.206341,17.701116],[-77.766023,17.861597],[-78.337719,18.225968],[-78.217727,18.454533],[-77.797365,18.524218],[-77.569601,18.490525]]]},"type":"Feature","id":"JAM","properties":{"name":"Jamaica","id":"JAM","centroid":[-76.5,18]}},{"geometry":{"type":"Polygon","coordinates":[[[35.545665,32.393992],[35.719918,32.709192],[36.834062,32.312938],[38.792341,33.378686],[39.195468,32.161009],[39.004886,32.010217],[37.002166,31.508413],[37.998849,30.5085],[37.66812,30.338665],[37.503582,30.003776],[36.740528,29.865283],[36.501214,29.505254],[36.068941,29.197495],[34.956037,29.356555],[34.922603,29.501326],[35.420918,31.100066],[35.397561,31.489086],[35.545252,31.782505],[35.545665,32.393992]]]},"type":"Feature","id":"JOR","properties":{"name":"Jordan","id":"JOR","centroid":[35.52,31.57]}},{"geometry":{"type":"MultiPolygon","coordinates":[[[[134.638428,34.149234],[134.766379,33.806335],[134.203416,33.201178],[133.79295,33.521985],[133.280268,33.28957],[133.014858,32.704567],[132.363115,32.989382],[132.371176,33.463642],[132.924373,34.060299],[133.492968,33.944621],[133.904106,34.364931],[134.638428,34.149234]]],[[[140.976388,37.142074],[140.59977,36.343983],[140.774074,35.842877],[140.253279,35.138114],[138.975528,34.6676],[137.217599,34.606286],[135.792983,33.464805],[135.120983,33.849071],[135.079435,34.596545],[133.340316,34.375938],[132.156771,33.904933],[130.986145,33.885761],[132.000036,33.149992],[131.33279,31.450355],[130.686318,31.029579],[130.20242,31.418238],[130.447676,32.319475],[129.814692,32.61031],[129.408463,33.296056],[130.353935,33.604151],[130.878451,34.232743],[131.884229,34.749714],[132.617673,35.433393],[134.608301,35.731618],[135.677538,35.527134],[136.723831,37.304984],[137.390612,36.827391],[138.857602,37.827485],[139.426405,38.215962],[140.05479,39.438807],[139.883379,40.563312],[140.305783,41.195005],[141.368973,41.37856],[141.914263,39.991616],[141.884601,39.180865],[140.959489,38.174001],[140.976388,37.142074]]],[[[143.910162,44.1741],[144.613427,43.960883],[145.320825,44.384733],[145.543137,43.262088],[144.059662,42.988358],[143.18385,41.995215],[141.611491,42.678791],[141.067286,41.584594],[139.955106,41.569556],[139.817544,42.563759],[140.312087,43.333273],[141.380549,43.388825],[141.671952,44.772125],[141.967645,45.551483],[143.14287,44.510358],[143.910162,44.1741]]]]},"type":"Feature","id":"JPN","properties":{"name":"Japan","id":"JPN","centroid":[139.41,35.41]}},{"geometry":{"type":"Polygon","coordinates":[[[70.962315,42.266154],[70.388965,42.081308],[69.070027,41.384244],[68.632483,40.668681],[68.259896,40.662325],[67.985856,41.135991],[66.714047,41.168444],[66.510649,41.987644],[66.023392,41.994646],[66.098012,42.99766],[64.900824,43.728081],[63.185787,43.650075],[62.0133,43.504477],[61.05832,44.405817],[60.239972,44.784037],[58.689989,45.500014],[58.503127,45.586804],[55.928917,44.995858],[55.968191,41.308642],[55.455251,41.259859],[54.755345,42.043971],[54.079418,42.324109],[52.944293,42.116034],[52.50246,41.783316],[52.446339,42.027151],[52.692112,42.443895],[52.501426,42.792298],[51.342427,43.132975],[50.891292,44.031034],[50.339129,44.284016],[50.305643,44.609836],[51.278503,44.514854],[51.316899,45.245998],[52.16739,45.408391],[53.040876,45.259047],[53.220866,46.234646],[53.042737,46.853006],[52.042023,46.804637],[51.191945,47.048705],[50.034083,46.60899],[49.10116,46.39933],[48.593241,46.561034],[48.694734,47.075628],[48.057253,47.743753],[47.315231,47.715847],[46.466446,48.394152],[47.043672,49.152039],[46.751596,49.356006],[47.54948,50.454698],[48.577841,49.87476],[48.702382,50.605128],[50.766648,51.692762],[52.328724,51.718652],[54.532878,51.02624],[55.716941,50.621717],[56.777961,51.043551],[58.363291,51.063653],[59.642282,50.545442],[59.932807,50.842194],[61.337424,50.79907],[61.588003,51.272659],[59.967534,51.96042],[60.927269,52.447548],[60.739993,52.719986],[61.699986,52.979996],[60.978066,53.664993],[61.436591,54.006265],[65.178534,54.354228],[65.666876,54.601267],[68.1691,54.970392],[69.068167,55.38525],[70.865267,55.169734],[71.180131,54.133285],[72.22415,54.376655],[73.508516,54.035617],[73.425679,53.48981],[74.384845,53.546861],[76.8911,54.490524],[76.525179,54.177003],[77.800916,53.404415],[80.03556,50.864751],[80.568447,51.388336],[81.945986,50.812196],[83.383004,51.069183],[83.935115,50.889246],[84.416377,50.3114],[85.11556,50.117303],[85.54127,49.692859],[86.829357,49.826675],[87.35997,49.214981],[86.598776,48.549182],[85.768233,48.455751],[85.720484,47.452969],[85.16429,47.000956],[83.180484,47.330031],[82.458926,45.53965],[81.947071,45.317027],[79.966106,44.917517],[80.866206,43.180362],[80.18015,42.920068],[80.25999,42.349999],[79.643645,42.496683],[79.142177,42.856092],[77.658392,42.960686],[76.000354,42.988022],[75.636965,42.8779],[74.212866,43.298339],[73.645304,43.091272],[73.489758,42.500894],[71.844638,42.845395],[71.186281,42.704293],[70.962315,42.266154]]]},"type":"Feature","id":"KAZ","properties":{"name":"Kazakhstan","id":"KAZ","centroid":[71.3,51.1]}},{"geometry":{"type":"Polygon","coordinates":[[[40.993,-0.85829],[41.58513,-1.68325],[40.88477,-2.08255],[40.63785,-2.49979],[40.26304,-2.57309],[40.12119,-3.27768],[39.80006,-3.68116],[39.60489,-4.34653],[39.20222,-4.67677],[37.7669,-3.67712],[37.69869,-3.09699],[34.07262,-1.05982],[33.903711,-0.95],[33.893569,0.109814],[34.18,0.515],[34.6721,1.17694],[35.03599,1.90584],[34.59607,3.05374],[34.47913,3.5556],[34.005,4.249885],[34.620196,4.847123],[35.298007,5.506],[35.817448,5.338232],[35.817448,4.776966],[36.159079,4.447864],[36.855093,4.447864],[38.120915,3.598605],[38.43697,3.58851],[38.67114,3.61607],[38.89251,3.50074],[39.559384,3.42206],[39.85494,3.83879],[40.76848,4.25702],[41.1718,3.91909],[41.855083,3.918912],[40.98105,2.78452],[40.993,-0.85829]]]},"type":"Feature","id":"KEN","properties":{"name":"Kenya","id":"KEN","centroid":[36.48,-1.17]}},{"geometry":{"type":"Polygon","coordinates":[[[70.962315,42.266154],[71.186281,42.704293],[71.844638,42.845395],[73.489758,42.500894],[73.645304,43.091272],[74.212866,43.298339],[75.636965,42.8779],[76.000354,42.988022],[77.658392,42.960686],[79.142177,42.856092],[79.643645,42.496683],[80.25999,42.349999],[80.11943,42.123941],[78.543661,41.582243],[78.187197,41.185316],[76.904484,41.066486],[76.526368,40.427946],[75.467828,40.562072],[74.776862,40.366425],[73.822244,39.893973],[73.960013,39.660008],[73.675379,39.431237],[71.784694,39.279463],[70.549162,39.604198],[69.464887,39.526683],[69.55961,40.103211],[70.648019,39.935754],[71.014198,40.244366],[71.774875,40.145844],[73.055417,40.866033],[71.870115,41.3929],[71.157859,41.143587],[70.420022,41.519998],[71.259248,42.167711],[70.962315,42.266154]]]},"type":"Feature","id":"KGZ","properties":{"name":"Kyrgyzstan","id":"KGZ","centroid":[74.46,42.54]}},{"geometry":{"type":"Polygon","coordinates":[[[103.49728,10.632555],[103.09069,11.153661],[102.584932,12.186595],[102.348099,13.394247],[102.988422,14.225721],[104.281418,14.416743],[105.218777,14.273212],[106.043946,13.881091],[106.496373,14.570584],[107.382727,14.202441],[107.614548,13.535531],[107.491403,12.337206],[105.810524,11.567615],[106.24967,10.961812],[105.199915,10.88931],[104.334335,10.486544],[103.49728,10.632555]]]},"type":"Feature","id":"KHM","properties":{"name":"Cambodia","id":"KHM","centroid":[104.55,11.33]}},{"geometry":{"type":"Polygon","coordinates":[[[128.349716,38.612243],[129.21292,37.432392],[129.46045,36.784189],[129.468304,35.632141],[129.091377,35.082484],[128.18585,34.890377],[127.386519,34.475674],[126.485748,34.390046],[126.37392,34.93456],[126.559231,35.684541],[126.117398,36.725485],[126.860143,36.893924],[126.174759,37.749686],[126.237339,37.840378],[126.68372,37.804773],[127.073309,38.256115],[127.780035,38.304536],[128.205746,38.370397],[128.349716,38.612243]]]},"type":"Feature","id":"KOR","properties":{"name":"South Korea","id":"KOR","centroid":[126.58,37.31]}},{"geometry":{"type":"Polygon","coordinates":[[[47.974519,29.975819],[48.183189,29.534477],[48.093943,29.306299],[48.416094,28.552004],[47.708851,28.526063],[47.459822,29.002519],[46.568713,29.099025],[47.302622,30.05907],[47.974519,29.975819]]]},"type":"Feature","id":"KWT","properties":{"name":"Kuwait","id":"KWT","centroid":[48,29.3]}},{"geometry":{"type":"Polygon","coordinates":[[[105.218777,14.273212],[105.544338,14.723934],[105.589039,15.570316],[104.779321,16.441865],[104.716947,17.428859],[103.956477,18.240954],[103.200192,18.309632],[102.998706,17.961695],[102.413005,17.932782],[102.113592,18.109102],[101.059548,17.512497],[101.035931,18.408928],[101.282015,19.462585],[100.606294,19.508344],[100.548881,20.109238],[100.115988,20.41785],[100.329101,20.786122],[101.180005,21.436573],[101.270026,21.201652],[101.80312,21.174367],[101.652018,22.318199],[102.170436,22.464753],[102.754896,21.675137],[103.203861,20.766562],[104.435,20.758733],[104.822574,19.886642],[104.183388,19.624668],[103.896532,19.265181],[105.094598,18.666975],[105.925762,17.485315],[106.556008,16.604284],[107.312706,15.908538],[107.564525,15.202173],[107.382727,14.202441],[106.496373,14.570584],[106.043946,13.881091],[105.218777,14.273212]]]},"type":"Feature","id":"LAO","properties":{"name":"Laos","id":"LAO","centroid":[102.36,17.58]}},{"geometry":{"type":"Polygon","coordinates":[[[35.821101,33.277426],[35.552797,33.264275],[35.460709,33.08904],[35.126053,33.0909],[35.482207,33.90545],[35.979592,34.610058],[35.998403,34.644914],[36.448194,34.593935],[36.61175,34.201789],[36.06646,33.824912],[35.821101,33.277426]]]},"type":"Feature","id":"LBN","properties":{"name":"Lebanon","id":"LBN","centroid":[35.31,33.53]}},{"geometry":{"type":"Polygon","coordinates":[[[-7.712159,4.364566],[-7.974107,4.355755],[-9.004794,4.832419],[-9.91342,5.593561],[-10.765384,6.140711],[-11.438779,6.785917],[-11.199802,7.105846],[-11.146704,7.396706],[-10.695595,7.939464],[-10.230094,8.406206],[-10.016567,8.428504],[-9.755342,8.541055],[-9.33728,7.928534],[-9.403348,7.526905],[-9.208786,7.313921],[-8.926065,7.309037],[-8.722124,7.711674],[-8.439298,7.686043],[-8.485446,7.395208],[-8.385452,6.911801],[-8.60288,6.467564],[-8.311348,6.193033],[-7.993693,6.12619],[-7.570153,5.707352],[-7.539715,5.313345],[-7.635368,5.188159],[-7.712159,4.364566]]]},"type":"Feature","id":"LBR","properties":{"name":"Liberia","id":"LBR","centroid":[-10.47,6.18]}},{"geometry":{"type":"Polygon","coordinates":[[[14.8513,22.86295],[14.143871,22.491289],[13.581425,23.040506],[11.999506,23.471668],[11.560669,24.097909],[10.771364,24.562532],[10.303847,24.379313],[9.948261,24.936954],[9.910693,25.365455],[9.319411,26.094325],[9.716286,26.512206],[9.629056,27.140953],[9.756128,27.688259],[9.683885,28.144174],[9.859998,28.95999],[9.805634,29.424638],[9.48214,30.307556],[9.970017,30.539325],[10.056575,30.961831],[9.950225,31.37607],[10.636901,31.761421],[10.94479,32.081815],[11.432253,32.368903],[11.488787,33.136996],[12.66331,32.79278],[13.08326,32.87882],[13.91868,32.71196],[15.24563,32.26508],[15.71394,31.37626],[16.61162,31.18218],[18.02109,30.76357],[19.08641,30.26639],[19.57404,30.52582],[20.05335,30.98576],[19.82033,31.75179],[20.13397,32.2382],[20.85452,32.7068],[21.54298,32.8432],[22.89576,32.63858],[23.2368,32.19149],[23.60913,32.18726],[23.9275,32.01667],[24.92114,31.89936],[25.16482,31.56915],[24.80287,31.08929],[24.95762,30.6616],[24.70007,30.04419],[25,29.238655],[25,25.6825],[25,22],[25,20.00304],[23.85,20],[23.83766,19.58047],[19.84926,21.49509],[15.86085,23.40972],[14.8513,22.86295]]]},"type":"Feature","id":"LBY","properties":{"name":"Libya","id":"LBY","centroid":[13.11,32.52]}},{"geometry":{"type":"Polygon","coordinates":[[[81.787959,7.523055],[81.637322,6.481775],[81.21802,6.197141],[80.348357,5.96837],[79.872469,6.763463],[79.695167,8.200843],[80.147801,9.824078],[80.838818,9.268427],[81.304319,8.564206],[81.787959,7.523055]]]},"type":"Feature","id":"LKA","properties":{"name":"Sri Lanka","id":"LKA","centroid":[79.54,6.54]}},{"geometry":{"type":"Polygon","coordinates":[[[28.978263,-28.955597],[29.325166,-29.257387],[29.018415,-29.743766],[28.8484,-30.070051],[28.291069,-30.226217],[28.107205,-30.545732],[27.749397,-30.645106],[26.999262,-29.875954],[27.532511,-29.242711],[28.074338,-28.851469],[28.5417,-28.647502],[28.978263,-28.955597]]]},"type":"Feature","id":"LSO","properties":{"name":"Lesotho","id":"LSO","centroid":[27.3,-29.18]}},{"geometry":{"type":"Polygon","coordinates":[[[22.731099,54.327537],[22.651052,54.582741],[22.757764,54.856574],[22.315724,55.015299],[21.268449,55.190482],[21.0558,56.031076],[22.201157,56.337802],[23.878264,56.273671],[24.860684,56.372528],[25.000934,56.164531],[25.533047,56.100297],[26.494331,55.615107],[26.588279,55.167176],[25.768433,54.846963],[25.536354,54.282423],[24.450684,53.905702],[23.484128,53.912498],[23.243987,54.220567],[22.731099,54.327537]]]},"type":"Feature","id":"LTU","properties":{"name":"Lithuania","id":"LTU","centroid":[25.19,54.38]}},{"geometry":{"type":"Polygon","coordinates":[[[6.043073,50.128052],[6.242751,49.902226],[6.18632,49.463803],[5.897759,49.442667],[5.674052,49.529484],[5.782417,50.090328],[6.043073,50.128052]]]},"type":"Feature","id":"LUX","properties":{"name":"Luxembourg","id":"LUX","centroid":[6.09,49.37]}},{"geometry":{"type":"Polygon","coordinates":[[[21.0558,56.031076],[21.090424,56.783873],[21.581866,57.411871],[22.524341,57.753374],[23.318453,57.006236],[24.12073,57.025693],[24.312863,57.793424],[25.164594,57.970157],[25.60281,57.847529],[26.463532,57.476389],[27.288185,57.474528],[27.770016,57.244258],[27.855282,56.759326],[28.176709,56.16913],[27.10246,55.783314],[26.494331,55.615107],[25.533047,56.100297],[25.000934,56.164531],[24.860684,56.372528],[23.878264,56.273671],[22.201157,56.337802],[21.0558,56.031076]]]},"type":"Feature","id":"LVA","properties":{"name":"Latvia","id":"LVA","centroid":[24.08,56.53]}},{"geometry":{"type":"Polygon","coordinates":[[[-5.193863,35.755182],[-4.591006,35.330712],[-3.640057,35.399855],[-2.604306,35.179093],[-2.169914,35.168396],[-1.792986,34.527919],[-1.733455,33.919713],[-1.388049,32.864015],[-1.124551,32.651522],[-1.307899,32.262889],[-2.616605,32.094346],[-3.06898,31.724498],[-3.647498,31.637294],[-3.690441,30.896952],[-4.859646,30.501188],[-5.242129,30.000443],[-6.060632,29.7317],[-7.059228,29.579228],[-8.674116,28.841289],[-8.66559,27.656426],[-8.817809,27.656426],[-8.817828,27.656426],[-8.794884,27.120696],[-9.413037,27.088476],[-9.735343,26.860945],[-10.189424,26.860945],[-10.551263,26.990808],[-11.392555,26.883424],[-11.71822,26.104092],[-12.030759,26.030866],[-12.500963,24.770116],[-13.89111,23.691009],[-14.221168,22.310163],[-14.630833,21.86094],[-14.750955,21.5006],[-17.002962,21.420734],[-17.020428,21.42231],[-16.973248,21.885745],[-16.589137,22.158234],[-16.261922,22.67934],[-16.326414,23.017768],[-15.982611,23.723358],[-15.426004,24.359134],[-15.089332,24.520261],[-14.824645,25.103533],[-14.800926,25.636265],[-14.43994,26.254418],[-13.773805,26.618892],[-13.139942,27.640148],[-13.121613,27.654148],[-12.618837,28.038186],[-11.688919,28.148644],[-10.900957,28.832142],[-10.399592,29.098586],[-9.564811,29.933574],[-9.814718,31.177736],[-9.434793,32.038096],[-9.300693,32.564679],[-8.657476,33.240245],[-7.654178,33.697065],[-6.912544,34.110476],[-6.244342,35.145865],[-5.929994,35.759988],[-5.193863,35.755182]]]},"type":"Feature","id":"MAR","properties":{"name":"Morocco","id":"MAR","centroid":[-6.5,34.01]}},{"geometry":{"type":"Polygon","coordinates":[[[26.619337,48.220726],[26.857824,48.368211],[27.522537,48.467119],[28.259547,48.155562],[28.670891,48.118149],[29.122698,47.849095],[29.050868,47.510227],[29.415135,47.346645],[29.559674,46.928583],[29.908852,46.674361],[29.83821,46.525326],[30.024659,46.423937],[29.759972,46.349988],[29.170654,46.379262],[29.072107,46.517678],[28.862972,46.437889],[28.933717,46.25883],[28.659987,45.939987],[28.485269,45.596907],[28.233554,45.488283],[28.054443,45.944586],[28.160018,46.371563],[28.12803,46.810476],[27.551166,47.405117],[27.233873,47.826771],[26.924176,48.123264],[26.619337,48.220726]]]},"type":"Feature","id":"MDA","properties":{"name":"Moldova","id":"MDA","centroid":[28.51,47]}},{"geometry":{"type":"Polygon","coordinates":[[[49.543519,-12.469833],[49.808981,-12.895285],[50.056511,-13.555761],[50.217431,-14.758789],[50.476537,-15.226512],[50.377111,-15.706069],[50.200275,-16.000263],[49.860606,-15.414253],[49.672607,-15.710204],[49.863344,-16.451037],[49.774564,-16.875042],[49.498612,-17.106036],[49.435619,-17.953064],[49.041792,-19.118781],[48.548541,-20.496888],[47.930749,-22.391501],[47.547723,-23.781959],[47.095761,-24.94163],[46.282478,-25.178463],[45.409508,-25.601434],[44.833574,-25.346101],[44.03972,-24.988345],[43.763768,-24.460677],[43.697778,-23.574116],[43.345654,-22.776904],[43.254187,-22.057413],[43.433298,-21.336475],[43.893683,-21.163307],[43.89637,-20.830459],[44.374325,-20.072366],[44.464397,-19.435454],[44.232422,-18.961995],[44.042976,-18.331387],[43.963084,-17.409945],[44.312469,-16.850496],[44.446517,-16.216219],[44.944937,-16.179374],[45.502732,-15.974373],[45.872994,-15.793454],[46.312243,-15.780018],[46.882183,-15.210182],[47.70513,-14.594303],[48.005215,-14.091233],[47.869047,-13.663869],[48.293828,-13.784068],[48.84506,-13.089175],[48.863509,-12.487868],[49.194651,-12.040557],[49.543519,-12.469833]]]},"type":"Feature","id":"MDG","properties":{"name":"Madagascar","id":"MDG","centroid":[47.31,-18.55]}},{"geometry":{"type":"Polygon","coordinates":[[[-97.140008,25.869997],[-97.528072,24.992144],[-97.702946,24.272343],[-97.776042,22.93258],[-97.872367,22.444212],[-97.699044,21.898689],[-97.38896,21.411019],[-97.189333,20.635433],[-96.525576,19.890931],[-96.292127,19.320371],[-95.900885,18.828024],[-94.839063,18.562717],[-94.42573,18.144371],[-93.548651,18.423837],[-92.786114,18.524839],[-92.037348,18.704569],[-91.407903,18.876083],[-90.77187,19.28412],[-90.53359,19.867418],[-90.451476,20.707522],[-90.278618,20.999855],[-89.601321,21.261726],[-88.543866,21.493675],[-87.658417,21.458846],[-87.05189,21.543543],[-86.811982,21.331515],[-86.845908,20.849865],[-87.383291,20.255405],[-87.621054,19.646553],[-87.43675,19.472403],[-87.58656,19.04013],[-87.837191,18.259816],[-88.090664,18.516648],[-88.300031,18.499982],[-88.490123,18.486831],[-88.848344,17.883198],[-89.029857,18.001511],[-89.150909,17.955468],[-89.14308,17.808319],[-90.067934,17.819326],[-91.00152,17.817595],[-91.002269,17.254658],[-91.453921,17.252177],[-91.08167,16.918477],[-90.711822,16.687483],[-90.600847,16.470778],[-90.438867,16.41011],[-90.464473,16.069562],[-91.74796,16.066565],[-92.229249,15.251447],[-92.087216,15.064585],[-92.20323,14.830103],[-92.22775,14.538829],[-93.359464,15.61543],[-93.875169,15.940164],[-94.691656,16.200975],[-95.250227,16.128318],[-96.053382,15.752088],[-96.557434,15.653515],[-97.263592,15.917065],[-98.01303,16.107312],[-98.947676,16.566043],[-99.697397,16.706164],[-100.829499,17.171071],[-101.666089,17.649026],[-101.918528,17.91609],[-102.478132,17.975751],[-103.50099,18.292295],[-103.917527,18.748572],[-104.99201,19.316134],[-105.493038,19.946767],[-105.731396,20.434102],[-105.397773,20.531719],[-105.500661,20.816895],[-105.270752,21.076285],[-105.265817,21.422104],[-105.603161,21.871146],[-105.693414,22.26908],[-106.028716,22.773752],[-106.90998,23.767774],[-107.915449,24.548915],[-108.401905,25.172314],[-109.260199,25.580609],[-109.444089,25.824884],[-109.291644,26.442934],[-109.801458,26.676176],[-110.391732,27.162115],[-110.641019,27.859876],[-111.178919,27.941241],[-111.759607,28.467953],[-112.228235,28.954409],[-112.271824,29.266844],[-112.809594,30.021114],[-113.163811,30.786881],[-113.148669,31.170966],[-113.871881,31.567608],[-114.205737,31.524045],[-114.776451,31.799532],[-114.9367,31.393485],[-114.771232,30.913617],[-114.673899,30.162681],[-114.330974,29.750432],[-113.588875,29.061611],[-113.424053,28.826174],[-113.271969,28.754783],[-113.140039,28.411289],[-112.962298,28.42519],[-112.761587,27.780217],[-112.457911,27.525814],[-112.244952,27.171727],[-111.616489,26.662817],[-111.284675,25.73259],[-110.987819,25.294606],[-110.710007,24.826004],[-110.655049,24.298595],[-110.172856,24.265548],[-109.771847,23.811183],[-109.409104,23.364672],[-109.433392,23.185588],[-109.854219,22.818272],[-110.031392,22.823078],[-110.295071,23.430973],[-110.949501,24.000964],[-111.670568,24.484423],[-112.182036,24.738413],[-112.148989,25.470125],[-112.300711,26.012004],[-112.777297,26.32196],[-113.464671,26.768186],[-113.59673,26.63946],[-113.848937,26.900064],[-114.465747,27.14209],[-115.055142,27.722727],[-114.982253,27.7982],[-114.570366,27.741485],[-114.199329,28.115003],[-114.162018,28.566112],[-114.931842,29.279479],[-115.518654,29.556362],[-115.887365,30.180794],[-116.25835,30.836464],[-116.721526,31.635744],[-117.12776,32.53534],[-115.99135,32.61239],[-114.72139,32.72083],[-114.815,32.52528],[-113.30498,32.03914],[-111.02361,31.33472],[-109.035,31.34194],[-108.24194,31.34222],[-108.24,31.754854],[-106.50759,31.75452],[-106.1429,31.39995],[-105.63159,31.08383],[-105.03737,30.64402],[-104.70575,30.12173],[-104.45697,29.57196],[-103.94,29.27],[-103.11,28.97],[-102.48,29.76],[-101.6624,29.7793],[-100.9576,29.38071],[-100.45584,28.69612],[-100.11,28.11],[-99.52,27.54],[-99.3,26.84],[-99.02,26.37],[-98.24,26.06],[-97.53,25.84],[-97.140008,25.869997]]]},"type":"Feature","id":"MEX","properties":{"name":"Mexico","id":"MEX","centroid":[-99.1,19.2]}},{"geometry":{"type":"Polygon","coordinates":[[[20.59023,41.85541],[20.71731,41.84711],[20.76216,42.05186],[21.3527,42.2068],[21.576636,42.245224],[21.91708,42.30364],[22.380526,42.32026],[22.881374,41.999297],[22.952377,41.337994],[22.76177,41.3048],[22.597308,41.130487],[22.055378,41.149866],[21.674161,40.931275],[21.02004,40.842727],[20.60518,41.08622],[20.46315,41.51509],[20.59023,41.85541]]]},"type":"Feature","id":"MKD","properties":{"name":"Macedonia","id":"MKD","centroid":null}},{"geometry":{"type":"Polygon","coordinates":[[[-12.17075,14.616834],[-11.834208,14.799097],[-11.666078,15.388208],[-11.349095,15.411256],[-10.650791,15.132746],[-10.086846,15.330486],[-9.700255,15.264107],[-9.550238,15.486497],[-5.537744,15.50169],[-5.315277,16.201854],[-5.488523,16.325102],[-5.971129,20.640833],[-6.453787,24.956591],[-4.923337,24.974574],[-1.550055,22.792666],[1.823228,20.610809],[2.060991,20.142233],[2.683588,19.85623],[3.146661,19.693579],[3.158133,19.057364],[4.267419,19.155265],[4.27021,16.852227],[3.723422,16.184284],[3.638259,15.56812],[2.749993,15.409525],[1.385528,15.323561],[1.015783,14.968182],[0.374892,14.928908],[-0.266257,14.924309],[-0.515854,15.116158],[-1.066363,14.973815],[-2.001035,14.559008],[-2.191825,14.246418],[-2.967694,13.79815],[-3.103707,13.541267],[-3.522803,13.337662],[-4.006391,13.472485],[-4.280405,13.228444],[-4.427166,12.542646],[-5.220942,11.713859],[-5.197843,11.375146],[-5.470565,10.95127],[-5.404342,10.370737],[-5.816926,10.222555],[-6.050452,10.096361],[-6.205223,10.524061],[-6.493965,10.411303],[-6.666461,10.430811],[-6.850507,10.138994],[-7.622759,10.147236],[-7.89959,10.297382],[-8.029944,10.206535],[-8.335377,10.494812],[-8.282357,10.792597],[-8.407311,10.909257],[-8.620321,10.810891],[-8.581305,11.136246],[-8.376305,11.393646],[-8.786099,11.812561],[-8.905265,12.088358],[-9.127474,12.30806],[-9.327616,12.334286],[-9.567912,12.194243],[-9.890993,12.060479],[-10.165214,11.844084],[-10.593224,11.923975],[-10.87083,12.177887],[-11.036556,12.211245],[-11.297574,12.077971],[-11.456169,12.076834],[-11.513943,12.442988],[-11.467899,12.754519],[-11.553398,13.141214],[-11.927716,13.422075],[-12.124887,13.994727],[-12.17075,14.616834]]]},"type":"Feature","id":"MLI","properties":{"name":"Mali","id":"MLI","centroid":[-7.55,12.34]}},{"geometry":{"type":"Polygon","coordinates":[[[99.543309,20.186598],[98.959676,19.752981],[98.253724,19.708203],[97.797783,18.62708],[97.375896,18.445438],[97.859123,17.567946],[98.493761,16.837836],[98.903348,16.177824],[98.537376,15.308497],[98.192074,15.123703],[98.430819,14.622028],[99.097755,13.827503],[99.212012,13.269294],[99.196354,12.804748],[99.587286,11.892763],[99.038121,10.960546],[98.553551,9.93296],[98.457174,10.675266],[98.764546,11.441292],[98.428339,12.032987],[98.509574,13.122378],[98.103604,13.64046],[97.777732,14.837286],[97.597072,16.100568],[97.16454,16.928734],[96.505769,16.427241],[95.369352,15.71439],[94.808405,15.803454],[94.188804,16.037936],[94.533486,17.27724],[94.324817,18.213514],[93.540988,19.366493],[93.663255,19.726962],[93.078278,19.855145],[92.368554,20.670883],[92.303234,21.475485],[92.652257,21.324048],[92.672721,22.041239],[93.166128,22.27846],[93.060294,22.703111],[93.286327,23.043658],[93.325188,24.078556],[94.106742,23.850741],[94.552658,24.675238],[94.603249,25.162495],[95.155153,26.001307],[95.124768,26.573572],[96.419366,27.264589],[97.133999,27.083774],[97.051989,27.699059],[97.402561,27.882536],[97.327114,28.261583],[97.911988,28.335945],[98.246231,27.747221],[98.68269,27.508812],[98.712094,26.743536],[98.671838,25.918703],[97.724609,25.083637],[97.60472,23.897405],[98.660262,24.063286],[98.898749,23.142722],[99.531992,22.949039],[99.240899,22.118314],[99.983489,21.742937],[100.416538,21.558839],[101.150033,21.849984],[101.180005,21.436573],[100.329101,20.786122],[100.115988,20.41785],[99.543309,20.186598]]]},"type":"Feature","id":"MMR","properties":{"name":"Myanmar","id":"MMR","centroid":[96.2,16.45]}},{"geometry":{"type":"Polygon","coordinates":[[[19.801613,42.500093],[19.738051,42.688247],[19.30449,42.19574],[19.37177,41.87755],[19.16246,41.95502],[18.88214,42.28151],[18.45,42.48],[18.56,42.65],[18.70648,43.20011],[19.03165,43.43253],[19.21852,43.52384],[19.48389,43.35229],[19.63,43.21378],[19.95857,43.10604],[20.3398,42.89852],[20.25758,42.81275],[20.0707,42.58863],[19.801613,42.500093]]]},"type":"Feature","id":"MNE","properties":{"name":"Montenegro","id":"MNE","centroid":[19.28,42.47]}},{"geometry":{"type":"Polygon","coordinates":[[[87.751264,49.297198],[88.805567,49.470521],[90.713667,50.331812],[92.234712,50.802171],[93.104219,50.49529],[94.147566,50.480537],[94.815949,50.013433],[95.814028,49.977467],[97.259728,49.726061],[98.231762,50.422401],[97.82574,51.010995],[98.861491,52.047366],[99.981732,51.634006],[100.88948,51.516856],[102.065223,51.259921],[102.255909,50.510561],[103.676545,50.089966],[104.621552,50.275329],[105.886591,50.406019],[106.888804,50.274296],[107.868176,49.793705],[108.475167,49.282548],[109.402449,49.292961],[110.662011,49.130128],[111.581231,49.377968],[112.89774,49.543565],[114.362456,50.248303],[114.96211,50.140247],[115.485695,49.805177],[116.678801,49.888531],[116.191802,49.134598],[115.485282,48.135383],[115.742837,47.726545],[116.308953,47.85341],[117.295507,47.697709],[118.064143,48.06673],[118.866574,47.74706],[119.772824,47.048059],[119.66327,46.69268],[118.874326,46.805412],[117.421701,46.672733],[116.717868,46.388202],[115.985096,45.727235],[114.460332,45.339817],[113.463907,44.808893],[112.436062,45.011646],[111.873306,45.102079],[111.348377,44.457442],[111.667737,44.073176],[111.829588,43.743118],[111.129682,43.406834],[110.412103,42.871234],[109.243596,42.519446],[107.744773,42.481516],[106.129316,42.134328],[104.964994,41.59741],[104.522282,41.908347],[103.312278,41.907468],[101.83304,42.514873],[100.845866,42.663804],[99.515817,42.524691],[97.451757,42.74889],[96.349396,42.725635],[95.762455,43.319449],[95.306875,44.241331],[94.688929,44.352332],[93.480734,44.975472],[92.133891,45.115076],[90.94554,45.286073],[90.585768,45.719716],[90.970809,46.888146],[90.280826,47.693549],[88.854298,48.069082],[88.013832,48.599463],[87.751264,49.297198]]]},"type":"Feature","id":"MNG","properties":{"name":"Mongolia","id":"MNG","centroid":[106.55,47.55]}},{"geometry":{"type":"Polygon","coordinates":[[[34.559989,-11.52002],[35.312398,-11.439146],[36.514082,-11.720938],[36.775151,-11.594537],[37.471284,-11.568751],[37.827645,-11.268769],[38.427557,-11.285202],[39.52103,-10.896854],[40.316589,-10.317096],[40.478387,-10.765441],[40.437253,-11.761711],[40.560811,-12.639177],[40.59962,-14.201975],[40.775475,-14.691764],[40.477251,-15.406294],[40.089264,-16.100774],[39.452559,-16.720891],[38.538351,-17.101023],[37.411133,-17.586368],[36.281279,-18.659688],[35.896497,-18.84226],[35.1984,-19.552811],[34.786383,-19.784012],[34.701893,-20.497043],[35.176127,-21.254361],[35.373428,-21.840837],[35.385848,-22.14],[35.562546,-22.09],[35.533935,-23.070788],[35.371774,-23.535359],[35.60747,-23.706563],[35.458746,-24.12261],[35.040735,-24.478351],[34.215824,-24.816314],[33.01321,-25.357573],[32.574632,-25.727318],[32.660363,-26.148584],[32.915955,-26.215867],[32.83012,-26.742192],[32.071665,-26.73382],[31.985779,-26.29178],[31.837778,-25.843332],[31.752408,-25.484284],[31.930589,-24.369417],[31.670398,-23.658969],[31.191409,-22.25151],[32.244988,-21.116489],[32.508693,-20.395292],[32.659743,-20.30429],[32.772708,-19.715592],[32.611994,-19.419383],[32.654886,-18.67209],[32.849861,-17.979057],[32.847639,-16.713398],[32.328239,-16.392074],[31.852041,-16.319417],[31.636498,-16.07199],[31.173064,-15.860944],[30.338955,-15.880839],[30.274256,-15.507787],[30.179481,-14.796099],[33.214025,-13.97186],[33.7897,-14.451831],[34.064825,-14.35995],[34.459633,-14.61301],[34.517666,-15.013709],[34.307291,-15.478641],[34.381292,-16.18356],[35.03381,-16.8013],[35.339063,-16.10744],[35.771905,-15.896859],[35.686845,-14.611046],[35.267956,-13.887834],[34.907151,-13.565425],[34.559989,-13.579998],[34.280006,-12.280025],[34.559989,-11.52002]]]},"type":"Feature","id":"MOZ","properties":{"name":"Mozambique","id":"MOZ","centroid":[32.32,-25.58]}},{"geometry":{"type":"Polygon","coordinates":[[[-12.17075,14.616834],[-12.830658,15.303692],[-13.435738,16.039383],[-14.099521,16.304302],[-14.577348,16.598264],[-15.135737,16.587282],[-15.623666,16.369337],[-16.12069,16.455663],[-16.463098,16.135036],[-16.549708,16.673892],[-16.270552,17.166963],[-16.146347,18.108482],[-16.256883,19.096716],[-16.377651,19.593817],[-16.277838,20.092521],[-16.536324,20.567866],[-17.063423,20.999752],[-16.845194,21.333323],[-12.929102,21.327071],[-13.118754,22.77122],[-12.874222,23.284832],[-11.937224,23.374594],[-11.969419,25.933353],[-8.687294,25.881056],[-8.6844,27.395744],[-4.923337,24.974574],[-6.453787,24.956591],[-5.971129,20.640833],[-5.488523,16.325102],[-5.315277,16.201854],[-5.537744,15.50169],[-9.550238,15.486497],[-9.700255,15.264107],[-10.086846,15.330486],[-10.650791,15.132746],[-11.349095,15.411256],[-11.666078,15.388208],[-11.834208,14.799097],[-12.17075,14.616834]]]},"type":"Feature","id":"MRT","properties":{"name":"Mauritania","id":"MRT","centroid":[-15.58,18.04]}},{"geometry":{"type":"Polygon","coordinates":[[[34.559989,-11.52002],[34.280006,-12.280025],[34.559989,-13.579998],[34.907151,-13.565425],[35.267956,-13.887834],[35.686845,-14.611046],[35.771905,-15.896859],[35.339063,-16.10744],[35.03381,-16.8013],[34.381292,-16.18356],[34.307291,-15.478641],[34.517666,-15.013709],[34.459633,-14.61301],[34.064825,-14.35995],[33.7897,-14.451831],[33.214025,-13.97186],[32.688165,-13.712858],[32.991764,-12.783871],[33.306422,-12.435778],[33.114289,-11.607198],[33.31531,-10.79655],[33.485688,-10.525559],[33.231388,-9.676722],[32.759375,-9.230599],[33.739729,-9.417151],[33.940838,-9.693674],[34.280006,-10.16],[34.559989,-11.52002]]]},"type":"Feature","id":"MWI","properties":{"name":"Malawi","id":"MWI","centroid":[33.48,-14]}},{"geometry":{"type":"MultiPolygon","coordinates":[[[[111.38925781250006,2.415332031250031],[111.31152343749997,2.437597656250034],[111.33349609374997,2.768310546875],[111.38925781250006,2.415332031250031]]],[[[104.22158203125,2.731738281250003],[104.1291015625001,2.767236328125037],[104.18476562500004,2.871728515625009],[104.22158203125,2.731738281250003]]],[[[117.88476562499997,4.186132812500006],[117.64902343750012,4.168994140624974],[117.70800781249997,4.262402343749997],[117.88476562499997,4.186132812500006]]],[[[100.28896484375005,5.294726562499989],[100.19101562500006,5.28286132812498],[100.2455078125,5.467773437499986],[100.33886718749997,5.410058593750037],[100.28896484375005,5.294726562499989]]],[[[99.848046875,6.465722656249994],[99.9186523437501,6.358593750000011],[99.74375,6.263281249999963],[99.64628906250002,6.418359375000023],[99.848046875,6.465722656249994]]],[[[102.10107421874997,6.242236328125031],[102.34013671875002,6.172021484375023],[102.534375,5.862548828125028],[103.09707031250005,5.408447265624986],[103.41582031250007,4.85029296875004],[103.43945312499997,2.93310546875],[103.8122070312501,2.58046875],[104.21855468750002,1.722851562499997],[104.25009765625012,1.388574218750009],[104.11494140625004,1.412255859375037],[103.98144531250003,1.623632812500034],[103.99150390625002,1.454785156249997],[103.6945312500001,1.449658203125026],[103.48027343750007,1.329492187499966],[103.35683593750005,1.546142578125057],[102.72714843750012,1.855566406250034],[101.29550781250012,2.885205078125011],[101.29990234375012,3.253271484375034],[100.71542968750006,3.966210937499966],[100.79550781250012,4.023388671874983],[100.61455078125002,4.3734375],[100.34326171874997,5.984179687500031],[100.11914062499997,6.441992187500048],[100.26142578125004,6.682714843749963],[100.3454101562501,6.549902343750006],[100.75449218750012,6.460058593749991],[100.87392578125,6.24541015624996],[101.05351562500002,6.242578125],[100.98164062500004,5.771044921875045],[101.1139648437501,5.636767578125045],[101.5560546875,5.907763671875003],[101.67841796875004,5.778808593750028],[101.87363281250012,5.825292968749991],[102.10107421874997,6.242236328125031]]],[[[117.5744140625001,4.17060546875004],[117.10058593750003,4.337060546875023],[116.51474609375006,4.370800781249969],[115.86074218750005,4.348046875000037],[115.67880859375006,4.193017578124994],[115.45439453125002,3.034326171875009],[115.24697265625005,3.025927734374989],[115.117578125,2.89487304687502],[115.08076171875004,2.63422851562504],[115.1791015625,2.523193359374972],[114.78642578125002,2.250488281250014],[114.83056640625003,1.980029296874989],[114.5125,1.452001953124963],[113.90234375000003,1.434277343749997],[113.6222656250001,1.2359375],[113.00654296875004,1.433886718750003],[112.94296875000006,1.566992187500034],[112.47617187500006,1.559082031250028],[112.1857421875001,1.4390625],[112.078515625,1.143359374999974],[111.80898437500005,1.011669921874969],[111.10136718750002,1.050537109374986],[110.50576171875005,0.861962890625023],[109.65400390625004,1.614892578125023],[109.53896484375,1.89619140625004],[109.62890625000003,2.027539062499983],[109.86484375000012,1.764453125000031],[110.34921875000012,1.719726562499972],[111.22324218750012,1.395849609374991],[111.0287109375,1.557812500000026],[111.26816406250012,2.13974609375002],[111.20859375000012,2.379638671875043],[111.44384765625003,2.381542968749983],[111.5125,2.743017578124991],[112.98789062500006,3.161914062499974],[113.92392578125006,4.243212890625003],[114.0638671875,4.592675781249966],[114.65410156250007,4.037646484375045],[114.84023437500005,4.393212890625009],[114.74667968750006,4.718066406250017],[115.02675781250005,4.899707031249989],[115.10703125000006,4.390429687499974],[115.290625,4.352587890624989],[115.1400390625,4.899755859374991],[115.37490234375,4.932763671874966],[115.55449218750007,5.093554687500045],[115.41904296875012,5.413183593749963],[115.60390625,5.603417968749994],[115.74082031250012,5.533007812500045],[115.8771484375001,5.613525390625014],[116.74980468750007,6.977099609374989],[116.8498046875001,6.826708984374989],[116.78808593749997,6.606103515624994],[117.12851562500012,6.968896484375009],[117.2298828125,6.939990234374974],[117.29404296875006,6.676904296875023],[117.60966796875002,6.512646484375054],[117.69375,6.35],[117.64453124999997,6.001855468749994],[117.5011718750001,5.884667968750009],[118.00380859375,6.053320312499991],[118.11582031250006,5.8625],[117.93476562500004,5.7875],[117.97363281249997,5.70625],[118.35312500000012,5.80605468749998],[118.59482421875006,5.592089843750003],[119.22343750000007,5.412646484375031],[119.2663085937501,5.308105468750057],[119.21962890625,5.159814453125037],[118.9125,5.02290039062504],[118.26054687500007,4.988867187500034],[118.18535156250002,4.828515625000051],[118.5625,4.502148437499997],[118.54833984375003,4.379248046875006],[118.008203125,4.250244140625014],[117.6964843750001,4.342822265625045],[117.5744140625001,4.17060546875004]]],[[[117.14160156250003,7.168212890625028],[117.08066406250006,7.115283203124989],[117.06425781250007,7.26069335937504],[117.2640625,7.351660156250006],[117.26679687500004,7.220800781249991],[117.14160156250003,7.168212890625028]]]]},"type":"Feature","id":"MYS","properties":{"name":"Malaysia","id":"MYS","centroid":[101.41,3.09]}},{"geometry":{"type":"Polygon","coordinates":[[[16.344977,-28.576705],[15.601818,-27.821247],[15.210472,-27.090956],[14.989711,-26.117372],[14.743214,-25.39292],[14.408144,-23.853014],[14.385717,-22.656653],[14.257714,-22.111208],[13.868642,-21.699037],[13.352498,-20.872834],[12.826845,-19.673166],[12.608564,-19.045349],[11.794919,-18.069129],[11.734199,-17.301889],[12.215461,-17.111668],[12.814081,-16.941343],[13.462362,-16.971212],[14.058501,-17.423381],[14.209707,-17.353101],[18.263309,-17.309951],[18.956187,-17.789095],[21.377176,-17.930636],[23.215048,-17.523116],[24.033862,-17.295843],[24.682349,-17.353411],[25.07695,-17.578823],[25.084443,-17.661816],[24.520705,-17.887125],[24.217365,-17.889347],[23.579006,-18.281261],[23.196858,-17.869038],[21.65504,-18.219146],[20.910641,-18.252219],[20.881134,-21.814327],[19.895458,-21.849157],[19.895768,-24.76779],[19.894734,-28.461105],[19.002127,-28.972443],[18.464899,-29.045462],[17.836152,-28.856378],[17.387497,-28.783514],[17.218929,-28.355943],[16.824017,-28.082162],[16.344977,-28.576705]]]},"type":"Feature","id":"NAM","properties":{"name":"Namibia","id":"NAM","centroid":[17.04,-22.35]}},{"geometry":{"type":"Polygon","coordinates":[[[165.77999,-21.080005],[166.599991,-21.700019],[167.120011,-22.159991],[166.740035,-22.399976],[166.189732,-22.129708],[165.474375,-21.679607],[164.829815,-21.14982],[164.167995,-20.444747],[164.029606,-20.105646],[164.459967,-20.120012],[165.020036,-20.459991],[165.460009,-20.800022],[165.77999,-21.080005]]]},"type":"Feature","id":"NCL","properties":{"name":"New Caledonia","id":"NCL","centroid":[166.3,-22.17]}},{"geometry":{"type":"Polygon","coordinates":[[[2.154474,11.94015],[2.177108,12.625018],[1.024103,12.851826],[0.993046,13.33575],[0.429928,13.988733],[0.295646,14.444235],[0.374892,14.928908],[1.015783,14.968182],[1.385528,15.323561],[2.749993,15.409525],[3.638259,15.56812],[3.723422,16.184284],[4.27021,16.852227],[4.267419,19.155265],[5.677566,19.601207],[8.572893,21.565661],[11.999506,23.471668],[13.581425,23.040506],[14.143871,22.491289],[14.8513,22.86295],[15.096888,21.308519],[15.471077,21.048457],[15.487148,20.730415],[15.903247,20.387619],[15.685741,19.95718],[15.300441,17.92795],[15.247731,16.627306],[13.972202,15.684366],[13.540394,14.367134],[13.956699,13.996691],[13.954477,13.353449],[14.595781,13.330427],[14.495787,12.859396],[14.213531,12.802035],[14.181336,12.483657],[13.995353,12.461565],[13.318702,13.556356],[13.083987,13.596147],[12.302071,13.037189],[11.527803,13.32898],[10.989593,13.387323],[10.701032,13.246918],[10.114814,13.277252],[9.524928,12.851102],[9.014933,12.826659],[7.804671,13.343527],[7.330747,13.098038],[6.820442,13.115091],[6.445426,13.492768],[5.443058,13.865924],[4.368344,13.747482],[4.107946,13.531216],[3.967283,12.956109],[3.680634,12.552903],[3.61118,11.660167],[2.848643,12.235636],[2.490164,12.233052],[2.154474,11.94015]]]},"type":"Feature","id":"NER","properties":{"name":"Niger","id":"NER","centroid":[2.06,13.27]}},{"geometry":{"type":"Polygon","coordinates":[[[8.500288,4.771983],[7.462108,4.412108],[7.082596,4.464689],[6.698072,4.240594],[5.898173,4.262453],[5.362805,4.887971],[5.033574,5.611802],[4.325607,6.270651],[3.57418,6.2583],[2.691702,6.258817],[2.749063,7.870734],[2.723793,8.506845],[2.912308,9.137608],[3.220352,9.444153],[3.705438,10.06321],[3.60007,10.332186],[3.797112,10.734746],[3.572216,11.327939],[3.61118,11.660167],[3.680634,12.552903],[3.967283,12.956109],[4.107946,13.531216],[4.368344,13.747482],[5.443058,13.865924],[6.445426,13.492768],[6.820442,13.115091],[7.330747,13.098038],[7.804671,13.343527],[9.014933,12.826659],[9.524928,12.851102],[10.114814,13.277252],[10.701032,13.246918],[10.989593,13.387323],[11.527803,13.32898],[12.302071,13.037189],[13.083987,13.596147],[13.318702,13.556356],[13.995353,12.461565],[14.181336,12.483657],[14.577178,12.085361],[14.468192,11.904752],[14.415379,11.572369],[13.57295,10.798566],[13.308676,10.160362],[13.1676,9.640626],[12.955468,9.417772],[12.753672,8.717763],[12.218872,8.305824],[12.063946,7.799808],[11.839309,7.397042],[11.745774,6.981383],[11.058788,6.644427],[10.497375,7.055358],[10.118277,7.03877],[9.522706,6.453482],[9.233163,6.444491],[8.757533,5.479666],[8.500288,4.771983]]]},"type":"Feature","id":"NGA","properties":{"name":"Nigeria","id":"NGA","centroid":[7.32,9.05]}},{"geometry":{"type":"Polygon","coordinates":[[[-85.71254,11.088445],[-86.058488,11.403439],[-86.52585,11.806877],[-86.745992,12.143962],[-87.167516,12.458258],[-87.668493,12.90991],[-87.557467,13.064552],[-87.392386,12.914018],[-87.316654,12.984686],[-87.005769,13.025794],[-86.880557,13.254204],[-86.733822,13.263093],[-86.755087,13.754845],[-86.520708,13.778487],[-86.312142,13.771356],[-86.096264,14.038187],[-85.801295,13.836055],[-85.698665,13.960078],[-85.514413,14.079012],[-85.165365,14.35437],[-85.148751,14.560197],[-85.052787,14.551541],[-84.924501,14.790493],[-84.820037,14.819587],[-84.649582,14.666805],[-84.449336,14.621614],[-84.228342,14.748764],[-83.975721,14.749436],[-83.628585,14.880074],[-83.489989,15.016267],[-83.147219,14.995829],[-83.233234,14.899866],[-83.284162,14.676624],[-83.182126,14.310703],[-83.4125,13.970078],[-83.519832,13.567699],[-83.552207,13.127054],[-83.498515,12.869292],[-83.473323,12.419087],[-83.626104,12.32085],[-83.719613,11.893124],[-83.650858,11.629032],[-83.85547,11.373311],[-83.808936,11.103044],[-83.655612,10.938764],[-83.895054,10.726839],[-84.190179,10.79345],[-84.355931,10.999226],[-84.673069,11.082657],[-84.903003,10.952303],[-85.561852,11.217119],[-85.71254,11.088445]]]},"type":"Feature","id":"NIC","properties":{"name":"Nicaragua","id":"NIC","centroid":[-86.2,12.06]}},{"geometry":{"type":"Polygon","coordinates":[[[6.074183,53.510403],[6.90514,53.482162],[7.092053,53.144043],[6.84287,52.22844],[6.589397,51.852029],[5.988658,51.851616],[6.156658,50.803721],[5.606976,51.037298],[4.973991,51.475024],[4.047071,51.267259],[3.314971,51.345755],[3.830289,51.620545],[4.705997,53.091798],[6.074183,53.510403]]]},"type":"Feature","id":"NLD","properties":{"name":"Netherlands","id":"NLD","centroid":[4.54,52.23]}},{"geometry":{"type":"MultiPolygon","coordinates":[[[[28.165547,71.185474],[31.293418,70.453788],[30.005435,70.186259],[31.101079,69.55808],[29.399581,69.156916],[28.59193,69.064777],[29.015573,69.766491],[27.732292,70.164193],[26.179622,69.825299],[25.689213,69.092114],[24.735679,68.649557],[23.66205,68.891247],[22.356238,68.841741],[21.244936,69.370443],[20.645593,69.106247],[20.025269,69.065139],[19.87856,68.407194],[17.993868,68.567391],[17.729182,68.010552],[16.768879,68.013937],[16.108712,67.302456],[15.108411,66.193867],[13.55569,64.787028],[13.919905,64.445421],[13.571916,64.049114],[12.579935,64.066219],[11.930569,63.128318],[11.992064,61.800362],[12.631147,61.293572],[12.300366,60.117933],[11.468272,59.432393],[11.027369,58.856149],[10.356557,59.469807],[8.382,58.313288],[7.048748,58.078884],[5.665835,58.588155],[5.308234,59.663232],[4.992078,61.970998],[5.9129,62.614473],[8.553411,63.454008],[10.527709,64.486038],[12.358347,65.879726],[14.761146,67.810642],[16.435927,68.563205],[19.184028,69.817444],[21.378416,70.255169],[23.023742,70.202072],[24.546543,71.030497],[26.37005,70.986262],[28.165547,71.185474]]],[[[24.72412,77.85385],[22.49032,77.44493],[20.72601,77.67704],[21.41611,77.93504],[20.8119,78.25463],[22.88426,78.45494],[23.28134,78.07954],[24.72412,77.85385]]],[[[18.25183,79.70175],[21.54383,78.95611],[19.02737,78.5626],[18.47172,77.82669],[17.59441,77.63796],[17.1182,76.80941],[15.91315,76.77045],[13.76259,77.38035],[14.66956,77.73565],[13.1706,78.02493],[11.22231,78.8693],[10.44453,79.65239],[13.17077,80.01046],[13.71852,79.66039],[15.14282,79.67431],[15.52255,80.01608],[16.99085,80.05086],[18.25183,79.70175]]],[[[25.447625,80.40734],[27.407506,80.056406],[25.924651,79.517834],[23.024466,79.400012],[20.075188,79.566823],[19.897266,79.842362],[18.462264,79.85988],[17.368015,80.318896],[20.455992,80.598156],[21.907945,80.357679],[22.919253,80.657144],[25.447625,80.40734]]]]},"type":"Feature","id":"NOR","properties":{"name":"Norway","id":"NOR","centroid":[10.45,59.55]}},{"geometry":{"type":"Polygon","coordinates":[[[88.120441,27.876542],[88.043133,27.445819],[88.174804,26.810405],[88.060238,26.414615],[87.227472,26.397898],[86.024393,26.630985],[85.251779,26.726198],[84.675018,27.234901],[83.304249,27.364506],[81.999987,27.925479],[81.057203,28.416095],[80.088425,28.79447],[80.476721,29.729865],[81.111256,30.183481],[81.525804,30.422717],[82.327513,30.115268],[83.337115,29.463732],[83.898993,29.320226],[84.23458,28.839894],[85.011638,28.642774],[85.82332,28.203576],[86.954517,27.974262],[88.120441,27.876542]]]},"type":"Feature","id":"NPL","properties":{"name":"Nepal","id":"NPL","centroid":[85.2,27.45]}},{"geometry":{"type":"MultiPolygon","coordinates":[[[[173.020375,-40.919052],[173.247234,-41.331999],[173.958405,-40.926701],[174.247587,-41.349155],[174.248517,-41.770008],[173.876447,-42.233184],[173.22274,-42.970038],[172.711246,-43.372288],[173.080113,-43.853344],[172.308584,-43.865694],[171.452925,-44.242519],[171.185138,-44.897104],[170.616697,-45.908929],[169.831422,-46.355775],[169.332331,-46.641235],[168.411354,-46.619945],[167.763745,-46.290197],[166.676886,-46.219917],[166.509144,-45.852705],[167.046424,-45.110941],[168.303763,-44.123973],[168.949409,-43.935819],[169.667815,-43.555326],[170.52492,-43.031688],[171.12509,-42.512754],[171.569714,-41.767424],[171.948709,-41.514417],[172.097227,-40.956104],[172.79858,-40.493962],[173.020375,-40.919052]]],[[[174.612009,-36.156397],[175.336616,-37.209098],[175.357596,-36.526194],[175.808887,-36.798942],[175.95849,-37.555382],[176.763195,-37.881253],[177.438813,-37.961248],[178.010354,-37.579825],[178.517094,-37.695373],[178.274731,-38.582813],[177.97046,-39.166343],[177.206993,-39.145776],[176.939981,-39.449736],[177.032946,-39.879943],[176.885824,-40.065978],[176.508017,-40.604808],[176.01244,-41.289624],[175.239567,-41.688308],[175.067898,-41.425895],[174.650973,-41.281821],[175.22763,-40.459236],[174.900157,-39.908933],[173.824047,-39.508854],[173.852262,-39.146602],[174.574802,-38.797683],[174.743474,-38.027808],[174.697017,-37.381129],[174.292028,-36.711092],[174.319004,-36.534824],[173.840997,-36.121981],[173.054171,-35.237125],[172.636005,-34.529107],[173.007042,-34.450662],[173.551298,-35.006183],[174.32939,-35.265496],[174.612009,-36.156397]]]]},"type":"Feature","id":"NZL","properties":{"name":"New Zealand","id":"NZL","centroid":[174.46,-41.19]}},{"geometry":{"type":"MultiPolygon","coordinates":[[[[58.861141,21.114035],[58.487986,20.428986],[58.034318,20.481437],[57.826373,20.243002],[57.665762,19.736005],[57.7887,19.06757],[57.694391,18.94471],[57.234264,18.947991],[56.609651,18.574267],[56.512189,18.087113],[56.283521,17.876067],[55.661492,17.884128],[55.269939,17.632309],[55.2749,17.228354],[54.791002,16.950697],[54.239253,17.044981],[53.570508,16.707663],[53.108573,16.651051],[52.782184,17.349742],[52.00001,19.000003],[54.999982,19.999994],[55.666659,22.000001],[55.208341,22.70833],[55.234489,23.110993],[55.525841,23.524869],[55.528632,23.933604],[55.981214,24.130543],[55.804119,24.269604],[55.886233,24.920831],[56.396847,24.924732],[56.84514,24.241673],[57.403453,23.878594],[58.136948,23.747931],[58.729211,23.565668],[59.180502,22.992395],[59.450098,22.660271],[59.80806,22.533612],[59.806148,22.310525],[59.442191,21.714541],[59.282408,21.433886],[58.861141,21.114035]]],[[[56.391421,25.895991],[56.261042,25.714606],[56.070821,26.055464],[56.362017,26.395934],[56.485679,26.309118],[56.391421,25.895991]]]]},"type":"Feature","id":"OMN","properties":{"name":"Oman","id":"OMN","centroid":[58.36,23.37]}},{"geometry":{"type":"Polygon","coordinates":[[[75.158028,37.133031],[75.896897,36.666806],[76.192848,35.898403],[77.837451,35.49401],[76.871722,34.653544],[75.757061,34.504923],[74.240203,34.748887],[73.749948,34.317699],[74.104294,33.441473],[74.451559,32.7649],[75.258642,32.271105],[74.405929,31.692639],[74.42138,30.979815],[73.450638,29.976413],[72.823752,28.961592],[71.777666,27.91318],[70.616496,27.989196],[69.514393,26.940966],[70.168927,26.491872],[70.282873,25.722229],[70.844699,25.215102],[71.04324,24.356524],[68.842599,24.359134],[68.176645,23.691965],[67.443667,23.944844],[67.145442,24.663611],[66.372828,25.425141],[64.530408,25.237039],[62.905701,25.218409],[61.497363,25.078237],[61.874187,26.239975],[63.316632,26.756532],[63.233898,27.217047],[62.755426,27.378923],[62.72783,28.259645],[61.771868,28.699334],[61.369309,29.303276],[60.874248,29.829239],[62.549857,29.318572],[63.550261,29.468331],[64.148002,29.340819],[64.350419,29.560031],[65.046862,29.472181],[66.346473,29.887943],[66.381458,30.738899],[66.938891,31.304911],[67.683394,31.303154],[67.792689,31.58293],[68.556932,31.71331],[68.926677,31.620189],[69.317764,31.901412],[69.262522,32.501944],[69.687147,33.105499],[70.323594,33.358533],[69.930543,34.02012],[70.881803,33.988856],[71.156773,34.348911],[71.115019,34.733126],[71.613076,35.153203],[71.498768,35.650563],[71.262348,36.074388],[71.846292,36.509942],[72.920025,36.720007],[74.067552,36.836176],[74.575893,37.020841],[75.158028,37.133031]]]},"type":"Feature","id":"PAK","properties":{"name":"Pakistan","id":"PAK","centroid":[73.1,33.4]}},{"geometry":{"type":"Polygon","coordinates":[[[-77.881571,7.223771],[-78.214936,7.512255],[-78.429161,8.052041],[-78.182096,8.319182],[-78.435465,8.387705],[-78.622121,8.718124],[-79.120307,8.996092],[-79.557877,8.932375],[-79.760578,8.584515],[-80.164481,8.333316],[-80.382659,8.298409],[-80.480689,8.090308],[-80.00369,7.547524],[-80.276671,7.419754],[-80.421158,7.271572],[-80.886401,7.220541],[-81.059543,7.817921],[-81.189716,7.647906],[-81.519515,7.70661],[-81.721311,8.108963],[-82.131441,8.175393],[-82.390934,8.292362],[-82.820081,8.290864],[-82.850958,8.073823],[-82.965783,8.225028],[-82.913176,8.423517],[-82.829771,8.626295],[-82.868657,8.807266],[-82.719183,8.925709],[-82.927155,9.07433],[-82.932891,9.476812],[-82.546196,9.566135],[-82.187123,9.207449],[-82.207586,8.995575],[-81.808567,8.950617],[-81.714154,9.031955],[-81.439287,8.786234],[-80.947302,8.858504],[-80.521901,9.111072],[-79.9146,9.312765],[-79.573303,9.61161],[-79.021192,9.552931],[-79.05845,9.454565],[-78.500888,9.420459],[-78.055928,9.24773],[-77.729514,8.946844],[-77.353361,8.670505],[-77.474723,8.524286],[-77.242566,7.935278],[-77.431108,7.638061],[-77.753414,7.70984],[-77.881571,7.223771]]]},"type":"Feature","id":"PAN","properties":{"name":"Panama","id":"PAN","centroid":[-79.25,9]}},{"geometry":{"type":"Polygon","coordinates":[[[-69.590424,-17.580012],[-69.858444,-18.092694],[-70.372572,-18.347975],[-71.37525,-17.773799],[-71.462041,-17.363488],[-73.44453,-16.359363],[-75.237883,-15.265683],[-76.009205,-14.649286],[-76.423469,-13.823187],[-76.259242,-13.535039],[-77.106192,-12.222716],[-78.092153,-10.377712],[-79.036953,-8.386568],[-79.44592,-7.930833],[-79.760578,-7.194341],[-80.537482,-6.541668],[-81.249996,-6.136834],[-80.926347,-5.690557],[-81.410943,-4.736765],[-81.09967,-4.036394],[-80.302561,-3.404856],[-80.184015,-3.821162],[-80.469295,-4.059287],[-80.442242,-4.425724],[-80.028908,-4.346091],[-79.624979,-4.454198],[-79.205289,-4.959129],[-78.639897,-4.547784],[-78.450684,-3.873097],[-77.837905,-3.003021],[-76.635394,-2.608678],[-75.544996,-1.56161],[-75.233723,-0.911417],[-75.373223,-0.152032],[-75.106625,-0.057205],[-74.441601,-0.53082],[-74.122395,-1.002833],[-73.659504,-1.260491],[-73.070392,-2.308954],[-72.325787,-2.434218],[-71.774761,-2.16979],[-71.413646,-2.342802],[-70.813476,-2.256865],[-70.047709,-2.725156],[-70.692682,-3.742872],[-70.394044,-3.766591],[-69.893635,-4.298187],[-70.794769,-4.251265],[-70.928843,-4.401591],[-71.748406,-4.593983],[-72.891928,-5.274561],[-72.964507,-5.741251],[-73.219711,-6.089189],[-73.120027,-6.629931],[-73.724487,-6.918595],[-73.723401,-7.340999],[-73.987235,-7.52383],[-73.571059,-8.424447],[-73.015383,-9.032833],[-73.226713,-9.462213],[-72.563033,-9.520194],[-72.184891,-10.053598],[-71.302412,-10.079436],[-70.481894,-9.490118],[-70.548686,-11.009147],[-70.093752,-11.123972],[-69.529678,-10.951734],[-68.66508,-12.5613],[-68.88008,-12.899729],[-68.929224,-13.602684],[-68.948887,-14.453639],[-69.339535,-14.953195],[-69.160347,-15.323974],[-69.389764,-15.660129],[-68.959635,-16.500698],[-69.590424,-17.580012]]]},"type":"Feature","id":"PER","properties":{"name":"Peru","id":"PER","centroid":[-77,-12]}},{"geometry":{"type":"MultiPolygon","coordinates":[[[[126.376814,8.414706],[126.478513,7.750354],[126.537424,7.189381],[126.196773,6.274294],[125.831421,7.293715],[125.363852,6.786485],[125.683161,6.049657],[125.396512,5.581003],[124.219788,6.161355],[123.93872,6.885136],[124.243662,7.36061],[123.610212,7.833527],[123.296071,7.418876],[122.825506,7.457375],[122.085499,6.899424],[121.919928,7.192119],[122.312359,8.034962],[122.942398,8.316237],[123.487688,8.69301],[123.841154,8.240324],[124.60147,8.514158],[124.764612,8.960409],[125.471391,8.986997],[125.412118,9.760335],[126.222714,9.286074],[126.306637,8.782487],[126.376814,8.414706]]],[[[123.982438,10.278779],[123.623183,9.950091],[123.309921,9.318269],[122.995883,9.022189],[122.380055,9.713361],[122.586089,9.981045],[122.837081,10.261157],[122.947411,10.881868],[123.49885,10.940624],[123.337774,10.267384],[124.077936,11.232726],[123.982438,10.278779]]],[[[118.504581,9.316383],[117.174275,8.3675],[117.664477,9.066889],[118.386914,9.6845],[118.987342,10.376292],[119.511496,11.369668],[119.689677,10.554291],[119.029458,10.003653],[118.504581,9.316383]]],[[[121.883548,11.891755],[122.483821,11.582187],[123.120217,11.58366],[123.100838,11.165934],[122.637714,10.741308],[122.00261,10.441017],[121.967367,10.905691],[122.03837,11.415841],[121.883548,11.891755]]],[[[125.502552,12.162695],[125.783465,11.046122],[125.011884,11.311455],[125.032761,10.975816],[125.277449,10.358722],[124.801819,10.134679],[124.760168,10.837995],[124.459101,10.88993],[124.302522,11.495371],[124.891013,11.415583],[124.87799,11.79419],[124.266762,12.557761],[125.227116,12.535721],[125.502552,12.162695]]],[[[121.527394,13.06959],[121.26219,12.20556],[120.833896,12.704496],[120.323436,13.466413],[121.180128,13.429697],[121.527394,13.06959]]],[[[121.321308,18.504065],[121.937601,18.218552],[122.246006,18.47895],[122.336957,18.224883],[122.174279,17.810283],[122.515654,17.093505],[122.252311,16.262444],[121.662786,15.931018],[121.50507,15.124814],[121.728829,14.328376],[122.258925,14.218202],[122.701276,14.336541],[123.950295,13.782131],[123.855107,13.237771],[124.181289,12.997527],[124.077419,12.536677],[123.298035,13.027526],[122.928652,13.55292],[122.671355,13.185836],[122.03465,13.784482],[121.126385,13.636687],[120.628637,13.857656],[120.679384,14.271016],[120.991819,14.525393],[120.693336,14.756671],[120.564145,14.396279],[120.070429,14.970869],[119.920929,15.406347],[119.883773,16.363704],[120.286488,16.034629],[120.390047,17.599081],[120.715867,18.505227],[121.321308,18.504065]]]]},"type":"Feature","id":"PHL","properties":{"name":"Philippines","id":"PHL","centroid":[121.03,14.4]}},{"geometry":{"type":"MultiPolygon","coordinates":[[[[155.880026,-6.819997],[155.599991,-6.919991],[155.166994,-6.535931],[154.729192,-5.900828],[154.514114,-5.139118],[154.652504,-5.042431],[154.759991,-5.339984],[155.062918,-5.566792],[155.547746,-6.200655],[156.019965,-6.540014],[155.880026,-6.819997]]],[[[151.982796,-5.478063],[151.459107,-5.56028],[151.30139,-5.840728],[150.754447,-6.083763],[150.241197,-6.317754],[149.709963,-6.316513],[148.890065,-6.02604],[148.318937,-5.747142],[148.401826,-5.437756],[149.298412,-5.583742],[149.845562,-5.505503],[149.99625,-5.026101],[150.139756,-5.001348],[150.236908,-5.53222],[150.807467,-5.455842],[151.089672,-5.113693],[151.647881,-4.757074],[151.537862,-4.167807],[152.136792,-4.14879],[152.338743,-4.312966],[152.318693,-4.867661],[151.982796,-5.478063]]],[[[147.191874,-7.388024],[148.084636,-8.044108],[148.734105,-9.104664],[149.306835,-9.071436],[149.266631,-9.514406],[150.038728,-9.684318],[149.738798,-9.872937],[150.801628,-10.293687],[150.690575,-10.582713],[150.028393,-10.652476],[149.78231,-10.393267],[148.923138,-10.280923],[147.913018,-10.130441],[147.135443,-9.492444],[146.567881,-8.942555],[146.048481,-8.067414],[144.744168,-7.630128],[143.897088,-7.91533],[143.286376,-8.245491],[143.413913,-8.983069],[142.628431,-9.326821],[142.068259,-9.159596],[141.033852,-9.117893],[141.017057,-5.859022],[141.00021,-2.600151],[142.735247,-3.289153],[144.583971,-3.861418],[145.27318,-4.373738],[145.829786,-4.876498],[145.981922,-5.465609],[147.648073,-6.083659],[147.891108,-6.614015],[146.970905,-6.721657],[147.191874,-7.388024]]],[[[153.140038,-4.499983],[152.827292,-4.766427],[152.638673,-4.176127],[152.406026,-3.789743],[151.953237,-3.462062],[151.384279,-3.035422],[150.66205,-2.741486],[150.939965,-2.500002],[151.479984,-2.779985],[151.820015,-2.999972],[152.239989,-3.240009],[152.640017,-3.659983],[153.019994,-3.980015],[153.140038,-4.499983]]]]},"type":"Feature","id":"PNG","properties":{"name":"Papua New Guinea","id":"PNG","centroid":[147.08,-9.24]}},{"geometry":{"type":"Polygon","coordinates":[[[15.016996,51.106674],[14.607098,51.745188],[14.685026,52.089947],[14.4376,52.62485],[14.074521,52.981263],[14.353315,53.248171],[14.119686,53.757029],[14.8029,54.050706],[16.363477,54.513159],[17.622832,54.851536],[18.620859,54.682606],[18.696255,54.438719],[19.66064,54.426084],[20.892245,54.312525],[22.731099,54.327537],[23.243987,54.220567],[23.484128,53.912498],[23.527536,53.470122],[23.804935,53.089731],[23.799199,52.691099],[23.199494,52.486977],[23.508002,52.023647],[23.527071,51.578454],[24.029986,50.705407],[23.922757,50.424881],[23.426508,50.308506],[22.51845,49.476774],[22.776419,49.027395],[22.558138,49.085738],[21.607808,49.470107],[20.887955,49.328772],[20.415839,49.431453],[19.825023,49.217125],[19.320713,49.571574],[18.909575,49.435846],[18.853144,49.49623],[18.392914,49.988629],[17.649445,50.049038],[17.554567,50.362146],[16.868769,50.473974],[16.719476,50.215747],[16.176253,50.422607],[16.238627,50.697733],[15.490972,50.78473],[15.016996,51.106674]]]},"type":"Feature","id":"POL","properties":{"name":"Poland","id":"POL","centroid":[21,52.13]}},{"geometry":{"type":"Polygon","coordinates":[[[-66.282434,18.514762],[-65.771303,18.426679],[-65.591004,18.228035],[-65.847164,17.975906],[-66.599934,17.981823],[-67.184162,17.946553],[-67.242428,18.37446],[-67.100679,18.520601],[-66.282434,18.514762]]]},"type":"Feature","id":"PRI","properties":{"name":"Puerto Rico","id":"PRI","centroid":[-66.07,18.28]}},{"geometry":{"type":"Polygon","coordinates":[[[130.640016,42.395009],[130.780007,42.220007],[130.400031,42.280004],[129.965949,41.941368],[129.667362,41.601104],[129.705189,40.882828],[129.188115,40.661808],[129.0104,40.485436],[128.633368,40.189847],[127.967414,40.025413],[127.533436,39.75685],[127.50212,39.323931],[127.385434,39.213472],[127.783343,39.050898],[128.349716,38.612243],[128.205746,38.370397],[127.780035,38.304536],[127.073309,38.256115],[126.68372,37.804773],[126.237339,37.840378],[126.174759,37.749686],[125.689104,37.94001],[125.568439,37.752089],[125.27533,37.669071],[125.240087,37.857224],[124.981033,37.948821],[124.712161,38.108346],[124.985994,38.548474],[125.221949,38.665857],[125.132859,38.848559],[125.38659,39.387958],[125.321116,39.551385],[124.737482,39.660344],[124.265625,39.928493],[125.079942,40.569824],[126.182045,41.107336],[126.869083,41.816569],[127.343783,41.503152],[128.208433,41.466772],[128.052215,41.994285],[129.596669,42.424982],[129.994267,42.985387],[130.640016,42.395009]]]},"type":"Feature","id":"PRK","properties":{"name":"North Korea","id":"PRK","centroid":[125.44,39.02]}},{"geometry":{"type":"Polygon","coordinates":[[[-9.034818,41.880571],[-8.671946,42.134689],[-8.263857,42.280469],[-8.013175,41.790886],[-7.422513,41.792075],[-7.251309,41.918346],[-6.668606,41.883387],[-6.389088,41.381815],[-6.851127,41.111083],[-6.86402,40.330872],[-7.026413,40.184524],[-7.066592,39.711892],[-7.498632,39.629571],[-7.098037,39.030073],[-7.374092,38.373059],[-7.029281,38.075764],[-7.166508,37.803894],[-7.537105,37.428904],[-7.453726,37.097788],[-7.855613,36.838269],[-8.382816,36.97888],[-8.898857,36.868809],[-8.746101,37.651346],[-8.839998,38.266243],[-9.287464,38.358486],[-9.526571,38.737429],[-9.446989,39.392066],[-9.048305,39.755093],[-8.977353,40.159306],[-8.768684,40.760639],[-8.790853,41.184334],[-8.990789,41.543459],[-9.034818,41.880571]]]},"type":"Feature","id":"PRT","properties":{"name":"Portugal","id":"PRT","centroid":[-9.1,38.42]}},{"geometry":{"type":"Polygon","coordinates":[[[-62.685057,-22.249029],[-62.291179,-21.051635],[-62.265961,-20.513735],[-61.786326,-19.633737],[-60.043565,-19.342747],[-59.115042,-19.356906],[-58.183471,-19.868399],[-58.166392,-20.176701],[-57.870674,-20.732688],[-57.937156,-22.090176],[-56.88151,-22.282154],[-56.473317,-22.0863],[-55.797958,-22.35693],[-55.610683,-22.655619],[-55.517639,-23.571998],[-55.400747,-23.956935],[-55.027902,-24.001274],[-54.652834,-23.839578],[-54.29296,-24.021014],[-54.293476,-24.5708],[-54.428946,-25.162185],[-54.625291,-25.739255],[-54.788795,-26.621786],[-55.695846,-27.387837],[-56.486702,-27.548499],[-57.60976,-27.395899],[-58.618174,-27.123719],[-57.63366,-25.603657],[-57.777217,-25.16234],[-58.807128,-24.771459],[-60.028966,-24.032796],[-60.846565,-23.880713],[-62.685057,-22.249029]]]},"type":"Feature","id":"PRY","properties":{"name":"Paraguay","id":"PRY","centroid":[-57.38,-25.18]}},{"geometry":{"type":"Polygon","coordinates":[[[50.810108,24.754743],[50.743911,25.482424],[51.013352,26.006992],[51.286462,26.114582],[51.589079,25.801113],[51.6067,25.21567],[51.389608,24.627386],[51.112415,24.556331],[50.810108,24.754743]]]},"type":"Feature","id":"QAT","properties":{"name":"Qatar","id":"QAT","centroid":[51.35,25.15]}},{"geometry":{"type":"Polygon","coordinates":[[[22.710531,47.882194],[23.142236,48.096341],[23.760958,47.985598],[24.402056,47.981878],[24.866317,47.737526],[25.207743,47.891056],[25.945941,47.987149],[26.19745,48.220881],[26.619337,48.220726],[26.924176,48.123264],[27.233873,47.826771],[27.551166,47.405117],[28.12803,46.810476],[28.160018,46.371563],[28.054443,45.944586],[28.233554,45.488283],[28.679779,45.304031],[29.149725,45.464925],[29.603289,45.293308],[29.626543,45.035391],[29.141612,44.82021],[28.837858,44.913874],[28.558081,43.707462],[27.970107,43.812468],[27.2424,44.175986],[26.065159,43.943494],[25.569272,43.688445],[24.100679,43.741051],[23.332302,43.897011],[22.944832,43.823785],[22.65715,44.234923],[22.474008,44.409228],[22.705726,44.578003],[22.459022,44.702517],[22.145088,44.478422],[21.562023,44.768947],[21.483526,45.18117],[20.874313,45.416375],[20.762175,45.734573],[20.220192,46.127469],[21.021952,46.316088],[21.626515,46.994238],[22.099768,47.672439],[22.710531,47.882194]]]},"type":"Feature","id":"ROU","properties":{"name":"Romania","id":"ROU","centroid":[26.1,44.27]}},{"geometry":{"type":"MultiPolygon","coordinates":[[[[143.648007,50.7476],[144.654148,48.976391],[143.173928,49.306551],[142.558668,47.861575],[143.533492,46.836728],[143.505277,46.137908],[142.747701,46.740765],[142.09203,45.966755],[141.906925,46.805929],[142.018443,47.780133],[141.904445,48.859189],[142.1358,49.615163],[142.179983,50.952342],[141.594076,51.935435],[141.682546,53.301966],[142.606934,53.762145],[142.209749,54.225476],[142.654786,54.365881],[142.914616,53.704578],[143.260848,52.74076],[143.235268,51.75666],[143.648007,50.7476]]],[[[22.731099,54.327537],[20.892245,54.312525],[19.66064,54.426084],[19.888481,54.86616],[21.268449,55.190482],[22.315724,55.015299],[22.757764,54.856574],[22.651052,54.582741],[22.731099,54.327537]]],[[[-175.01425,66.58435],[-174.33983,66.33556],[-174.57182,67.06219],[-171.85731,66.91308],[-169.89958,65.97724],[-170.89107,65.54139],[-172.53025,65.43791],[-172.555,64.46079],[-172.95533,64.25269],[-173.89184,64.2826],[-174.65392,64.63125],[-175.98353,64.92288],[-176.20716,65.35667],[-177.22266,65.52024],[-178.35993,65.39052],[-178.90332,65.74044],[-178.68611,66.11211],[-179.88377,65.87456],[-179.43268,65.40411],[-180,64.979709],[-180,68.963636],[-177.55,68.2],[-174.92825,67.20589],[-175.01425,66.58435]]],[[[180,70.832199],[178.903425,70.78114],[178.7253,71.0988],[180,71.515714],[180,70.832199]]],[[[-178.69378,70.89302],[-180,70.832199],[-180,71.515714],[-179.871875,71.55762],[-179.02433,71.55553],[-177.577945,71.26948],[-177.663575,71.13277],[-178.69378,70.89302]]],[[[143.60385,73.21244],[142.08763,73.20544],[140.038155,73.31692],[139.86312,73.36983],[140.81171,73.76506],[142.06207,73.85758],[143.48283,73.47525],[143.60385,73.21244]]],[[[150.73167,75.08406],[149.575925,74.68892],[147.977465,74.778355],[146.11919,75.17298],[146.358485,75.49682],[148.22223,75.345845],[150.73167,75.08406]]],[[[145.086285,75.562625],[144.3,74.82],[140.61381,74.84768],[138.95544,74.61148],[136.97439,75.26167],[137.51176,75.94917],[138.831075,76.13676],[141.471615,76.09289],[145.086285,75.562625]]],[[[57.535693,70.720464],[56.944979,70.632743],[53.677375,70.762658],[53.412017,71.206662],[51.601895,71.474759],[51.455754,72.014881],[52.478275,72.229442],[52.444169,72.774731],[54.427614,73.627548],[53.50829,73.749814],[55.902459,74.627486],[55.631933,75.081412],[57.868644,75.60939],[61.170044,76.251883],[64.498368,76.439055],[66.210977,76.809782],[68.15706,76.939697],[68.852211,76.544811],[68.180573,76.233642],[64.637326,75.737755],[61.583508,75.260885],[58.477082,74.309056],[56.986786,73.333044],[55.419336,72.371268],[55.622838,71.540595],[57.535693,70.720464]]],[[[106.97013,76.97419],[107.24,76.48],[108.1538,76.72335],[111.07726,76.71],[113.33151,76.22224],[114.13417,75.84764],[113.88539,75.32779],[112.77918,75.03186],[110.15125,74.47673],[109.4,74.18],[110.64,74.04],[112.11919,73.78774],[113.01954,73.97693],[113.52958,73.33505],[113.96881,73.59488],[115.56782,73.75285],[118.77633,73.58772],[119.02,73.12],[123.20066,72.97122],[123.25777,73.73503],[125.38,73.56],[126.97644,73.56549],[128.59126,73.03871],[129.05157,72.39872],[128.46,71.98],[129.71599,71.19304],[131.28858,70.78699],[132.2535,71.8363],[133.85766,71.38642],[135.56193,71.65525],[137.49755,71.34763],[138.23409,71.62803],[139.86983,71.48783],[139.14791,72.41619],[140.46817,72.84941],[149.5,72.2],[150.35118,71.60643],[152.9689,70.84222],[157.00688,71.03141],[158.99779,70.86672],[159.83031,70.45324],[159.70866,69.72198],[160.94053,69.43728],[162.27907,69.64204],[164.05248,69.66823],[165.94037,69.47199],[167.83567,69.58269],[169.57763,68.6938],[170.81688,69.01363],[170.0082,69.65276],[170.45345,70.09703],[173.64391,69.81743],[175.72403,69.87725],[178.6,69.4],[180,68.963636],[180,64.979709],[179.99281,64.97433],[178.7072,64.53493],[177.41128,64.60821],[178.313,64.07593],[178.90825,63.25197],[179.37034,62.98262],[179.48636,62.56894],[179.22825,62.3041],[177.3643,62.5219],[174.56929,61.76915],[173.68013,61.65261],[172.15,60.95],[170.6985,60.33618],[170.33085,59.88177],[168.90046,60.57355],[166.29498,59.78855],[165.84,60.16],[164.87674,59.7316],[163.53929,59.86871],[163.21711,59.21101],[162.01733,58.24328],[162.05297,57.83912],[163.19191,57.61503],[163.05794,56.15924],[162.12958,56.12219],[161.70146,55.28568],[162.11749,54.85514],[160.36877,54.34433],[160.02173,53.20257],[158.53094,52.95868],[158.23118,51.94269],[156.78979,51.01105],[156.42,51.7],[155.99182,53.15895],[155.43366,55.38103],[155.91442,56.76792],[156.75815,57.3647],[156.81035,57.83204],[158.36433,58.05575],[160.15064,59.31477],[161.87204,60.343],[163.66969,61.1409],[164.47355,62.55061],[163.25842,62.46627],[162.65791,61.6425],[160.12148,60.54423],[159.30232,61.77396],[156.72068,61.43442],[154.21806,59.75818],[155.04375,59.14495],[152.81185,58.88385],[151.26573,58.78089],[151.33815,59.50396],[149.78371,59.65573],[148.54481,59.16448],[145.48722,59.33637],[142.19782,59.03998],[138.95848,57.08805],[135.12619,54.72959],[136.70171,54.60355],[137.19342,53.97732],[138.1647,53.75501],[138.80463,54.25455],[139.90151,54.18968],[141.34531,53.08957],[141.37923,52.23877],[140.59742,51.23967],[140.51308,50.04553],[140.06193,48.44671],[138.55472,46.99965],[138.21971,46.30795],[136.86232,45.1435],[135.51535,43.989],[134.86939,43.39821],[133.53687,42.81147],[132.90627,42.79849],[132.27807,43.28456],[130.93587,42.55274],[130.78,42.22],[130.64,42.395],[130.633866,42.903015],[131.144688,42.92999],[131.288555,44.11152],[131.02519,44.96796],[131.883454,45.321162],[133.09712,45.14409],[133.769644,46.116927],[134.11235,47.21248],[134.50081,47.57845],[135.026311,48.47823],[133.373596,48.183442],[132.50669,47.78896],[130.98726,47.79013],[130.582293,48.729687],[129.397818,49.4406],[127.6574,49.76027],[127.287456,50.739797],[126.939157,51.353894],[126.564399,51.784255],[125.946349,52.792799],[125.068211,53.161045],[123.57147,53.4588],[122.245748,53.431726],[121.003085,53.251401],[120.177089,52.753886],[120.725789,52.516226],[120.7382,51.96411],[120.18208,51.64355],[119.27939,50.58292],[119.288461,50.142883],[117.879244,49.510983],[116.678801,49.888531],[115.485695,49.805177],[114.96211,50.140247],[114.362456,50.248303],[112.89774,49.543565],[111.581231,49.377968],[110.662011,49.130128],[109.402449,49.292961],[108.475167,49.282548],[107.868176,49.793705],[106.888804,50.274296],[105.886591,50.406019],[104.62158,50.27532],[103.676545,50.089966],[102.25589,50.51056],[102.06521,51.25991],[100.88948,51.516856],[99.981732,51.634006],[98.861491,52.047366],[97.82574,51.010995],[98.231762,50.422401],[97.25976,49.72605],[95.81402,49.97746],[94.815949,50.013433],[94.147566,50.480537],[93.10421,50.49529],[92.234712,50.802171],[90.713667,50.331812],[88.805567,49.470521],[87.751264,49.297198],[87.35997,49.214981],[86.829357,49.826675],[85.54127,49.692859],[85.11556,50.117303],[84.416377,50.3114],[83.935115,50.889246],[83.383004,51.069183],[81.945986,50.812196],[80.568447,51.388336],[80.03556,50.864751],[77.800916,53.404415],[76.525179,54.177003],[76.8911,54.490524],[74.38482,53.54685],[73.425679,53.48981],[73.508516,54.035617],[72.22415,54.376655],[71.180131,54.133285],[70.865267,55.169734],[69.068167,55.38525],[68.1691,54.970392],[65.66687,54.60125],[65.178534,54.354228],[61.4366,54.00625],[60.978066,53.664993],[61.699986,52.979996],[60.739993,52.719986],[60.927269,52.447548],[59.967534,51.96042],[61.588003,51.272659],[61.337424,50.79907],[59.932807,50.842194],[59.642282,50.545442],[58.36332,51.06364],[56.77798,51.04355],[55.71694,50.62171],[54.532878,51.02624],[52.328724,51.718652],[50.766648,51.692762],[48.702382,50.605128],[48.577841,49.87476],[47.54948,50.454698],[46.751596,49.356006],[47.043672,49.152039],[46.466446,48.394152],[47.31524,47.71585],[48.05725,47.74377],[48.694734,47.075628],[48.59325,46.56104],[49.10116,46.39933],[48.64541,45.80629],[47.67591,45.64149],[46.68201,44.6092],[47.59094,43.66016],[47.49252,42.98658],[48.58437,41.80888],[47.987283,41.405819],[47.815666,41.151416],[47.373315,41.219732],[46.686071,41.827137],[46.404951,41.860675],[45.7764,42.09244],[45.470279,42.502781],[44.537623,42.711993],[43.93121,42.55496],[43.75599,42.74083],[42.3944,43.2203],[40.92219,43.38215],[40.076965,43.553104],[39.955009,43.434998],[38.68,44.28],[37.53912,44.65721],[36.67546,45.24469],[37.40317,45.40451],[38.23295,46.24087],[37.67372,46.63657],[39.14767,47.04475],[39.1212,47.26336],[38.223538,47.10219],[38.255112,47.5464],[38.77057,47.82562],[39.738278,47.898937],[39.89562,48.23241],[39.67465,48.78382],[40.080789,49.30743],[40.06904,49.60105],[38.594988,49.926462],[38.010631,49.915662],[37.39346,50.383953],[36.626168,50.225591],[35.356116,50.577197],[35.37791,50.77394],[35.022183,51.207572],[34.224816,51.255993],[34.141978,51.566413],[34.391731,51.768882],[33.7527,52.335075],[32.715761,52.238465],[32.412058,52.288695],[32.15944,52.06125],[31.78597,52.10168],[31.540018,52.742052],[31.305201,53.073996],[31.49764,53.16743],[32.304519,53.132726],[32.693643,53.351421],[32.405599,53.618045],[31.731273,53.794029],[31.791424,53.974639],[31.384472,54.157056],[30.757534,54.811771],[30.971836,55.081548],[30.873909,55.550976],[29.896294,55.789463],[29.371572,55.670091],[29.229513,55.918344],[28.176709,56.16913],[27.855282,56.759326],[27.770016,57.244258],[27.288185,57.474528],[27.716686,57.791899],[27.42015,58.72457],[28.131699,59.300825],[27.98112,59.47537],[29.1177,60.02805],[28.07,60.50352],[30.211107,61.780028],[31.139991,62.357693],[31.516092,62.867687],[30.035872,63.552814],[30.444685,64.204453],[29.54443,64.948672],[30.21765,65.80598],[29.054589,66.944286],[29.977426,67.698297],[28.445944,68.364613],[28.59193,69.064777],[29.39955,69.15692],[31.10108,69.55811],[32.13272,69.90595],[33.77547,69.30142],[36.51396,69.06342],[40.29234,67.9324],[41.05987,67.45713],[41.12595,66.79158],[40.01583,66.26618],[38.38295,65.99953],[33.91871,66.75961],[33.18444,66.63253],[34.81477,65.90015],[34.878574,65.436213],[34.94391,64.41437],[36.23129,64.10945],[37.01273,63.84983],[37.14197,64.33471],[36.539579,64.76446],[37.17604,65.14322],[39.59345,64.52079],[40.4356,64.76446],[39.7626,65.49682],[42.09309,66.47623],[43.01604,66.41858],[43.94975,66.06908],[44.53226,66.75634],[43.69839,67.35245],[44.18795,67.95051],[43.45282,68.57079],[46.25,68.25],[46.82134,67.68997],[45.55517,67.56652],[45.56202,67.01005],[46.34915,66.66767],[47.89416,66.88455],[48.13876,67.52238],[50.22766,67.99867],[53.71743,68.85738],[54.47171,68.80815],[53.48582,68.20131],[54.72628,68.09702],[55.44268,68.43866],[57.31702,68.46628],[58.802,68.88082],[59.94142,68.27844],[61.07784,68.94069],[60.03,69.52],[60.55,69.85],[63.504,69.54739],[64.888115,69.234835],[68.51216,68.09233],[69.18068,68.61563],[68.16444,69.14436],[68.13522,69.35649],[66.93008,69.45461],[67.25976,69.92873],[66.72492,70.70889],[66.69466,71.02897],[68.54006,71.9345],[69.19636,72.84336],[69.94,73.04],[72.58754,72.77629],[72.79603,72.22006],[71.84811,71.40898],[72.47011,71.09019],[72.79188,70.39114],[72.5647,69.02085],[73.66787,68.4079],[73.2387,67.7404],[71.28,66.32],[72.42301,66.17267],[72.82077,66.53267],[73.92099,66.78946],[74.18651,67.28429],[75.052,67.76047],[74.46926,68.32899],[74.93584,68.98918],[73.84236,69.07146],[73.60187,69.62763],[74.3998,70.63175],[73.1011,71.44717],[74.89082,72.12119],[74.65926,72.83227],[75.15801,72.85497],[75.68351,72.30056],[75.28898,71.33556],[76.35911,71.15287],[75.90313,71.87401],[77.57665,72.26717],[79.65202,72.32011],[81.5,71.75],[80.61071,72.58285],[80.51109,73.6482],[82.25,73.85],[84.65526,73.80591],[86.8223,73.93688],[86.00956,74.45967],[87.16682,75.11643],[88.31571,75.14393],[90.26,75.64],[92.90058,75.77333],[93.23421,76.0472],[95.86,76.14],[96.67821,75.91548],[98.92254,76.44689],[100.75967,76.43028],[101.03532,76.86189],[101.99084,77.28754],[104.3516,77.69792],[106.06664,77.37389],[104.705,77.1274],[106.97013,76.97419]]],[[[105.07547,78.30689],[99.43814,77.921],[101.2649,79.23399],[102.08635,79.34641],[102.837815,79.28129],[105.37243,78.71334],[105.07547,78.30689]]],[[[51.136187,80.54728],[49.793685,80.415428],[48.894411,80.339567],[48.754937,80.175468],[47.586119,80.010181],[46.502826,80.247247],[47.072455,80.559424],[44.846958,80.58981],[46.799139,80.771918],[48.318477,80.78401],[48.522806,80.514569],[49.09719,80.753986],[50.039768,80.918885],[51.522933,80.699726],[51.136187,80.54728]]],[[[99.93976,78.88094],[97.75794,78.7562],[94.97259,79.044745],[93.31288,79.4265],[92.5454,80.14379],[91.18107,80.34146],[93.77766,81.0246],[95.940895,81.2504],[97.88385,80.746975],[100.186655,79.780135],[99.93976,78.88094]]]]},"type":"Feature","id":"RUS","properties":{"name":"Russia","id":"RUS","centroid":[37.35,55.45]}},{"geometry":{"type":"Polygon","coordinates":[[[30.419105,-1.134659],[30.816135,-1.698914],[30.758309,-2.28725],[30.469696,-2.413858],[29.938359,-2.348487],[29.632176,-2.917858],[29.024926,-2.839258],[29.117479,-2.292211],[29.254835,-2.21511],[29.291887,-1.620056],[29.579466,-1.341313],[29.821519,-1.443322],[30.419105,-1.134659]]]},"type":"Feature","id":"RWA","properties":{"name":"Rwanda","id":"RWA","centroid":[30.04,-1.59]}},{"geometry":{"type":"Polygon","coordinates":[[[-8.794884,27.120696],[-8.817828,27.656426],[-8.66559,27.656426],[-8.665124,27.589479],[-8.6844,27.395744],[-8.687294,25.881056],[-11.969419,25.933353],[-11.937224,23.374594],[-12.874222,23.284832],[-13.118754,22.77122],[-12.929102,21.327071],[-16.845194,21.333323],[-17.063423,20.999752],[-17.020428,21.42231],[-17.002962,21.420734],[-14.750955,21.5006],[-14.630833,21.86094],[-14.221168,22.310163],[-13.89111,23.691009],[-12.500963,24.770116],[-12.030759,26.030866],[-11.71822,26.104092],[-11.392555,26.883424],[-10.551263,26.990808],[-10.189424,26.860945],[-9.735343,26.860945],[-9.413037,27.088476],[-8.794884,27.120696]]]},"type":"Feature","id":"ESH","properties":{"name":"Western Sahara","id":"ESH","centroid":[-12.12,27.9]}},{"geometry":{"type":"Polygon","coordinates":[[[42.779332,16.347891],[42.649573,16.774635],[42.347989,17.075806],[42.270888,17.474722],[41.754382,17.833046],[41.221391,18.6716],[40.939341,19.486485],[40.247652,20.174635],[39.801685,20.338862],[39.139399,21.291905],[39.023696,21.986875],[39.066329,22.579656],[38.492772,23.688451],[38.02386,24.078686],[37.483635,24.285495],[37.154818,24.858483],[37.209491,25.084542],[36.931627,25.602959],[36.639604,25.826228],[36.249137,26.570136],[35.640182,27.37652],[35.130187,28.063352],[34.632336,28.058546],[34.787779,28.607427],[34.83222,28.957483],[34.956037,29.356555],[36.068941,29.197495],[36.501214,29.505254],[36.740528,29.865283],[37.503582,30.003776],[37.66812,30.338665],[37.998849,30.5085],[37.002166,31.508413],[39.004886,32.010217],[39.195468,32.161009],[40.399994,31.889992],[41.889981,31.190009],[44.709499,29.178891],[46.568713,29.099025],[47.459822,29.002519],[47.708851,28.526063],[48.416094,28.552004],[48.807595,27.689628],[49.299554,27.461218],[49.470914,27.109999],[50.152422,26.689663],[50.212935,26.277027],[50.113303,25.943972],[50.239859,25.60805],[50.527387,25.327808],[50.660557,24.999896],[50.810108,24.754743],[51.112415,24.556331],[51.389608,24.627386],[51.579519,24.245497],[51.617708,24.014219],[52.000733,23.001154],[55.006803,22.496948],[55.208341,22.70833],[55.666659,22.000001],[54.999982,19.999994],[52.00001,19.000003],[49.116672,18.616668],[48.183344,18.166669],[47.466695,17.116682],[47.000005,16.949999],[46.749994,17.283338],[46.366659,17.233315],[45.399999,17.333335],[45.216651,17.433329],[44.062613,17.410359],[43.791519,17.319977],[43.380794,17.579987],[43.115798,17.08844],[43.218375,16.66689],[42.779332,16.347891]]]},"type":"Feature","id":"SAU","properties":{"name":"Saudi Arabia","id":"SAU","centroid":[46.42,24.41]}},{"geometry":{"type":"Polygon","coordinates":[[[33.963393,9.464285],[33.824963,9.484061],[33.842131,9.981915],[33.721959,10.325262],[33.206938,10.720112],[33.086766,11.441141],[33.206938,12.179338],[32.743419,12.248008],[32.67475,12.024832],[32.073892,11.97333],[32.314235,11.681484],[32.400072,11.080626],[31.850716,10.531271],[31.352862,9.810241],[30.837841,9.707237],[29.996639,10.290927],[29.618957,10.084919],[29.515953,9.793074],[29.000932,9.604232],[28.966597,9.398224],[27.97089,9.398224],[27.833551,9.604232],[27.112521,9.638567],[26.752006,9.466893],[26.477328,9.55273],[25.962307,10.136421],[25.790633,10.411099],[25.069604,10.27376],[24.794926,9.810241],[24.537415,8.917538],[24.194068,8.728696],[23.88698,8.61973],[23.805813,8.666319],[23.459013,8.954286],[23.394779,9.265068],[23.55725,9.681218],[23.554304,10.089255],[22.977544,10.714463],[22.864165,11.142395],[22.87622,11.38461],[22.50869,11.67936],[22.49762,12.26024],[22.28801,12.64605],[21.93681,12.58818],[22.03759,12.95546],[22.29658,13.37232],[22.18329,13.78648],[22.51202,14.09318],[22.30351,14.32682],[22.56795,14.94429],[23.02459,15.68072],[23.88689,15.61084],[23.83766,19.58047],[23.85,20],[25,20.00304],[25,22],[29.02,22],[32.9,22],[36.86623,22],[37.18872,21.01885],[36.96941,20.83744],[37.1147,19.80796],[37.48179,18.61409],[37.86276,18.36786],[38.41009,17.998307],[37.904,17.42754],[37.16747,17.26314],[36.85253,16.95655],[36.75389,16.29186],[36.32322,14.82249],[36.42951,14.42211],[36.27022,13.56333],[35.86363,12.57828],[35.26049,12.08286],[34.83163,11.31896],[34.73115,10.91017],[34.25745,10.63009],[33.96162,9.58358],[33.963393,9.464285]]]},"type":"Feature","id":"SDN","properties":{"name":"Sudan","id":"SDN","centroid":[32.31,15.36]}},{"geometry":{"type":"Polygon","coordinates":[[[33.963393,9.464285],[33.97498,8.68456],[33.8255,8.37916],[33.2948,8.35458],[32.95418,7.78497],[33.56829,7.71334],[34.0751,7.22595],[34.25032,6.82607],[34.70702,6.59422],[35.298007,5.506],[34.620196,4.847123],[34.005,4.249885],[33.39,3.79],[32.68642,3.79232],[31.88145,3.55827],[31.24556,3.7819],[30.83385,3.50917],[29.95349,4.1737],[29.715995,4.600805],[29.159078,4.389267],[28.696678,4.455077],[28.428994,4.287155],[27.979977,4.408413],[27.374226,5.233944],[27.213409,5.550953],[26.465909,5.946717],[26.213418,6.546603],[25.796648,6.979316],[25.124131,7.500085],[25.114932,7.825104],[24.567369,8.229188],[23.88698,8.61973],[24.194068,8.728696],[24.537415,8.917538],[24.794926,9.810241],[25.069604,10.27376],[25.790633,10.411099],[25.962307,10.136421],[26.477328,9.55273],[26.752006,9.466893],[27.112521,9.638567],[27.833551,9.604232],[27.97089,9.398224],[28.966597,9.398224],[29.000932,9.604232],[29.515953,9.793074],[29.618957,10.084919],[29.996639,10.290927],[30.837841,9.707237],[31.352862,9.810241],[31.850716,10.531271],[32.400072,11.080626],[32.314235,11.681484],[32.073892,11.97333],[32.67475,12.024832],[32.743419,12.248008],[33.206938,12.179338],[33.086766,11.441141],[33.206938,10.720112],[33.721959,10.325262],[33.842131,9.981915],[33.824963,9.484061],[33.963393,9.464285]]]},"type":"Feature","id":"SSD","properties":{"name":"South Sudan","id":"SSD","centroid":[31.36,4.51]}},{"geometry":{"type":"Polygon","coordinates":[[[-16.713729,13.594959],[-17.126107,14.373516],[-17.625043,14.729541],[-17.185173,14.919477],[-16.700706,15.621527],[-16.463098,16.135036],[-16.12069,16.455663],[-15.623666,16.369337],[-15.135737,16.587282],[-14.577348,16.598264],[-14.099521,16.304302],[-13.435738,16.039383],[-12.830658,15.303692],[-12.17075,14.616834],[-12.124887,13.994727],[-11.927716,13.422075],[-11.553398,13.141214],[-11.467899,12.754519],[-11.513943,12.442988],[-11.658301,12.386583],[-12.203565,12.465648],[-12.278599,12.35444],[-12.499051,12.33209],[-13.217818,12.575874],[-13.700476,12.586183],[-15.548477,12.62817],[-15.816574,12.515567],[-16.147717,12.547762],[-16.677452,12.384852],[-16.841525,13.151394],[-15.931296,13.130284],[-15.691001,13.270353],[-15.511813,13.27857],[-15.141163,13.509512],[-14.712197,13.298207],[-14.277702,13.280585],[-13.844963,13.505042],[-14.046992,13.794068],[-14.376714,13.62568],[-14.687031,13.630357],[-15.081735,13.876492],[-15.39877,13.860369],[-15.624596,13.623587],[-16.713729,13.594959]]]},"type":"Feature","id":"SEN","properties":{"name":"Senegal","id":"SEN","centroid":[-17.29,14.34]}},{"geometry":{"type":"MultiPolygon","coordinates":[[[[162.119025,-10.482719],[162.398646,-10.826367],[161.700032,-10.820011],[161.319797,-10.204751],[161.917383,-10.446701],[162.119025,-10.482719]]],[[[160.852229,-9.872937],[160.462588,-9.89521],[159.849447,-9.794027],[159.640003,-9.63998],[159.702945,-9.24295],[160.362956,-9.400304],[160.688518,-9.610162],[160.852229,-9.872937]]],[[[161.679982,-9.599982],[161.529397,-9.784312],[160.788253,-8.917543],[160.579997,-8.320009],[160.920028,-8.320009],[161.280006,-9.120011],[161.679982,-9.599982]]],[[[159.875027,-8.33732],[159.917402,-8.53829],[159.133677,-8.114181],[158.586114,-7.754824],[158.21115,-7.421872],[158.359978,-7.320018],[158.820001,-7.560003],[159.640003,-8.020027],[159.875027,-8.33732]]],[[[157.538426,-7.34782],[157.33942,-7.404767],[156.90203,-7.176874],[156.491358,-6.765943],[156.542828,-6.599338],[157.14,-7.021638],[157.538426,-7.34782]]]]},"type":"Feature","id":"SLB","properties":{"name":"Solomon Islands","id":"SLB","centroid":[159.57,-9.27]}},{"geometry":{"type":"Polygon","coordinates":[[[-11.438779,6.785917],[-11.708195,6.860098],[-12.428099,7.262942],[-12.949049,7.798646],[-13.124025,8.163946],[-13.24655,8.903049],[-12.711958,9.342712],[-12.596719,9.620188],[-12.425929,9.835834],[-12.150338,9.858572],[-11.917277,10.046984],[-11.117481,10.045873],[-10.839152,9.688246],[-10.622395,9.26791],[-10.65477,8.977178],[-10.494315,8.715541],[-10.505477,8.348896],[-10.230094,8.406206],[-10.695595,7.939464],[-11.146704,7.396706],[-11.199802,7.105846],[-11.438779,6.785917]]]},"type":"Feature","id":"SLE","properties":{"name":"Sierra Leone","id":"SLE","centroid":[-13.17,8.3]}},{"geometry":{"type":"Polygon","coordinates":[[[-87.793111,13.38448],[-87.904112,13.149017],[-88.483302,13.163951],[-88.843228,13.259734],[-89.256743,13.458533],[-89.812394,13.520622],[-90.095555,13.735338],[-90.064678,13.88197],[-89.721934,14.134228],[-89.534219,14.244816],[-89.587343,14.362586],[-89.353326,14.424133],[-89.058512,14.340029],[-88.843073,14.140507],[-88.541231,13.980155],[-88.503998,13.845486],[-88.065343,13.964626],[-87.859515,13.893312],[-87.723503,13.78505],[-87.793111,13.38448]]]},"type":"Feature","id":"SLV","properties":{"name":"El Salvador","id":"SLV","centroid":[-89.1,13.4]}},{"geometry":{"type":"Polygon","coordinates":[[[49.72862,11.5789],[50.25878,11.67957],[50.73202,12.0219],[51.1112,12.02464],[51.13387,11.74815],[51.04153,11.16651],[51.04531,10.6409],[50.83418,10.27972],[50.55239,9.19874],[50.07092,8.08173],[49.4527,6.80466],[48.59455,5.33911],[47.74079,4.2194],[46.56476,2.85529],[45.56399,2.04576],[44.06815,1.05283],[43.13597,0.2922],[42.04157,-0.91916],[41.81095,-1.44647],[41.58513,-1.68325],[40.993,-0.85829],[40.98105,2.78452],[41.855083,3.918912],[42.12861,4.23413],[42.76967,4.25259],[43.66087,4.95755],[44.9636,5.00162],[47.78942,8.003],[46.948328,7.996877],[43.67875,9.18358],[43.296975,9.540477],[42.92812,10.02194],[42.55876,10.57258],[42.776852,10.926879],[43.145305,11.46204],[43.47066,11.27771],[43.666668,10.864169],[44.117804,10.445538],[44.614259,10.442205],[45.556941,10.698029],[46.645401,10.816549],[47.525658,11.127228],[48.021596,11.193064],[48.378784,11.375482],[48.948206,11.410622],[48.942005,11.394266],[48.948205,11.410617],[49.26776,11.43033],[49.72862,11.5789]]]},"type":"Feature","id":"SOM","properties":{"name":"Somalia","id":"SOM","centroid":[45.25,2.02]}},{"geometry":{"type":"Polygon","coordinates":[[[20.874313,45.416375],[21.483526,45.18117],[21.562023,44.768947],[22.145088,44.478422],[22.459022,44.702517],[22.705726,44.578003],[22.474008,44.409228],[22.65715,44.234923],[22.410446,44.008063],[22.500157,43.642814],[22.986019,43.211161],[22.604801,42.898519],[22.436595,42.580321],[22.545012,42.461362],[22.380526,42.32026],[21.91708,42.30364],[21.576636,42.245224],[21.3527,42.2068],[20.76216,42.05186],[20.76216,42.05186],[20.71731,41.84711],[20.59023,41.85541],[20.52295,42.21787],[20.28374,42.32025],[20.0707,42.58863],[20.25758,42.81275],[20.3398,42.89852],[19.95857,43.10604],[19.63,43.21378],[19.48389,43.35229],[19.21852,43.52384],[19.454,43.5681],[19.59976,44.03847],[19.11761,44.42307],[19.36803,44.863],[19.00548,44.86023],[19.390476,45.236516],[19.072769,45.521511],[18.82982,45.90888],[19.596045,46.17173],[20.220192,46.127469],[20.762175,45.734573],[20.874313,45.416375]]]},"type":"Feature","id":"SRB","properties":{"name":"Republic of Serbia","id":"SRB","centroid":[20.28,44.49]}},{"geometry":{"type":"Polygon","coordinates":[[[-57.147436,5.97315],[-55.949318,5.772878],[-55.84178,5.953125],[-55.03325,6.025291],[-53.958045,5.756548],[-54.478633,4.896756],[-54.399542,4.212611],[-54.006931,3.620038],[-54.181726,3.18978],[-54.269705,2.732392],[-54.524754,2.311849],[-55.097587,2.523748],[-55.569755,2.421506],[-55.973322,2.510364],[-56.073342,2.220795],[-55.9056,2.021996],[-55.995698,1.817667],[-56.539386,1.899523],[-57.150098,2.768927],[-57.281433,3.333492],[-57.601569,3.334655],[-58.044694,4.060864],[-57.86021,4.576801],[-57.914289,4.812626],[-57.307246,5.073567],[-57.147436,5.97315]]]},"type":"Feature","id":"SUR","properties":{"name":"Suriname","id":"SUR","centroid":[-55.1,5.5]}},{"geometry":{"type":"Polygon","coordinates":[[[18.853144,49.49623],[18.909575,49.435846],[19.320713,49.571574],[19.825023,49.217125],[20.415839,49.431453],[20.887955,49.328772],[21.607808,49.470107],[22.558138,49.085738],[22.280842,48.825392],[22.085608,48.422264],[21.872236,48.319971],[20.801294,48.623854],[20.473562,48.56285],[20.239054,48.327567],[19.769471,48.202691],[19.661364,48.266615],[19.174365,48.111379],[18.777025,48.081768],[18.696513,47.880954],[17.857133,47.758429],[17.488473,47.867466],[16.979667,48.123497],[16.879983,48.470013],[16.960288,48.596982],[17.101985,48.816969],[17.545007,48.800019],[17.886485,48.903475],[17.913512,48.996493],[18.104973,49.043983],[18.170498,49.271515],[18.399994,49.315001],[18.554971,49.495015],[18.853144,49.49623]]]},"type":"Feature","id":"SVK","properties":{"name":"Slovakia","id":"SVK","centroid":[17.07,48.1]}},{"geometry":{"type":"Polygon","coordinates":[[[13.806475,46.509306],[14.632472,46.431817],[15.137092,46.658703],[16.011664,46.683611],[16.202298,46.852386],[16.370505,46.841327],[16.564808,46.503751],[15.768733,46.238108],[15.67153,45.834154],[15.323954,45.731783],[15.327675,45.452316],[14.935244,45.471695],[14.595109,45.634941],[14.411968,45.466166],[13.71506,45.500324],[13.93763,45.591016],[13.69811,46.016778],[13.806475,46.509306]]]},"type":"Feature","id":"SVN","properties":{"name":"Slovenia","id":"SVN","centroid":[14.33,46.04]}},{"geometry":{"type":"Polygon","coordinates":[[[22.183173,65.723741],[21.213517,65.026005],[21.369631,64.413588],[19.778876,63.609554],[17.847779,62.7494],[17.119555,61.341166],[17.831346,60.636583],[18.787722,60.081914],[17.869225,58.953766],[16.829185,58.719827],[16.44771,57.041118],[15.879786,56.104302],[14.666681,56.200885],[14.100721,55.407781],[12.942911,55.361737],[12.625101,56.30708],[11.787942,57.441817],[11.027369,58.856149],[11.468272,59.432393],[12.300366,60.117933],[12.631147,61.293572],[11.992064,61.800362],[11.930569,63.128318],[12.579935,64.066219],[13.571916,64.049114],[13.919905,64.445421],[13.55569,64.787028],[15.108411,66.193867],[16.108712,67.302456],[16.768879,68.013937],[17.729182,68.010552],[17.993868,68.567391],[19.87856,68.407194],[20.025269,69.065139],[20.645593,69.106247],[21.978535,68.616846],[23.539473,67.936009],[23.56588,66.396051],[23.903379,66.006927],[22.183173,65.723741]]]},"type":"Feature","id":"SWE","properties":{"name":"Sweden","id":"SWE","centroid":[18.03,59.2]}},{"geometry":{"type":"Polygon","coordinates":[[[32.071665,-26.73382],[31.86806,-27.177927],[31.282773,-27.285879],[30.685962,-26.743845],[30.676609,-26.398078],[30.949667,-26.022649],[31.04408,-25.731452],[31.333158,-25.660191],[31.837778,-25.843332],[31.985779,-26.29178],[32.071665,-26.73382]]]},"type":"Feature","id":"SWZ","properties":{"name":"Swaziland","id":"SWZ","centroid":[31.06,-26.18]}},{"geometry":{"type":"Polygon","coordinates":[[[38.792341,33.378686],[36.834062,32.312938],[35.719918,32.709192],[35.700798,32.716014],[35.836397,32.868123],[35.821101,33.277426],[36.06646,33.824912],[36.61175,34.201789],[36.448194,34.593935],[35.998403,34.644914],[35.905023,35.410009],[36.149763,35.821535],[36.41755,36.040617],[36.685389,36.259699],[36.739494,36.81752],[37.066761,36.623036],[38.167727,36.90121],[38.699891,36.712927],[39.52258,36.716054],[40.673259,37.091276],[41.212089,37.074352],[42.349591,37.229873],[41.837064,36.605854],[41.289707,36.358815],[41.383965,35.628317],[41.006159,34.419372],[38.792341,33.378686]]]},"type":"Feature","id":"SYR","properties":{"name":"Syria","id":"SYR","centroid":[36.17,33.31]}},{"geometry":{"type":"Polygon","coordinates":[[[14.495787,12.859396],[14.595781,13.330427],[13.954477,13.353449],[13.956699,13.996691],[13.540394,14.367134],[13.97217,15.68437],[15.247731,16.627306],[15.300441,17.92795],[15.685741,19.95718],[15.903247,20.387619],[15.487148,20.730415],[15.47106,21.04845],[15.096888,21.308519],[14.8513,22.86295],[15.86085,23.40972],[19.84926,21.49509],[23.83766,19.58047],[23.88689,15.61084],[23.02459,15.68072],[22.56795,14.94429],[22.30351,14.32682],[22.51202,14.09318],[22.18329,13.78648],[22.29658,13.37232],[22.03759,12.95546],[21.93681,12.58818],[22.28801,12.64605],[22.49762,12.26024],[22.50869,11.67936],[22.87622,11.38461],[22.864165,11.142395],[22.231129,10.971889],[21.723822,10.567056],[21.000868,9.475985],[20.059685,9.012706],[19.094008,9.074847],[18.81201,8.982915],[18.911022,8.630895],[18.389555,8.281304],[17.96493,7.890914],[16.705988,7.508328],[16.456185,7.734774],[16.290562,7.754307],[16.106232,7.497088],[15.27946,7.421925],[15.436092,7.692812],[15.120866,8.38215],[14.979996,8.796104],[14.544467,8.965861],[13.954218,9.549495],[14.171466,10.021378],[14.627201,9.920919],[14.909354,9.992129],[15.467873,9.982337],[14.923565,10.891325],[14.960152,11.555574],[14.89336,12.21905],[14.495787,12.859396]]]},"type":"Feature","id":"TCD","properties":{"name":"Chad","id":"TCD","centroid":[14.59,12.1]}},{"geometry":{"type":"Polygon","coordinates":[[[1.865241,6.142158],[1.060122,5.928837],[0.836931,6.279979],[0.570384,6.914359],[0.490957,7.411744],[0.712029,8.312465],[0.461192,8.677223],[0.365901,9.465004],[0.36758,10.191213],[-0.049785,10.706918],[0.023803,11.018682],[0.899563,10.997339],[0.772336,10.470808],[1.077795,10.175607],[1.425061,9.825395],[1.463043,9.334624],[1.664478,9.12859],[1.618951,6.832038],[1.865241,6.142158]]]},"type":"Feature","id":"TGO","properties":{"name":"Togo","id":"TGO","centroid":[1.2,6.09]}},{"geometry":{"type":"Polygon","coordinates":[[[102.584932,12.186595],[101.687158,12.64574],[100.83181,12.627085],[100.978467,13.412722],[100.097797,13.406856],[100.018733,12.307001],[99.478921,10.846367],[99.153772,9.963061],[99.222399,9.239255],[99.873832,9.207862],[100.279647,8.295153],[100.459274,7.429573],[101.017328,6.856869],[101.623079,6.740622],[102.141187,6.221636],[101.814282,5.810808],[101.154219,5.691384],[101.075516,6.204867],[100.259596,6.642825],[100.085757,6.464489],[99.690691,6.848213],[99.519642,7.343454],[98.988253,7.907993],[98.503786,8.382305],[98.339662,7.794512],[98.150009,8.350007],[98.25915,8.973923],[98.553551,9.93296],[99.038121,10.960546],[99.587286,11.892763],[99.196354,12.804748],[99.212012,13.269294],[99.097755,13.827503],[98.430819,14.622028],[98.192074,15.123703],[98.537376,15.308497],[98.903348,16.177824],[98.493761,16.837836],[97.859123,17.567946],[97.375896,18.445438],[97.797783,18.62708],[98.253724,19.708203],[98.959676,19.752981],[99.543309,20.186598],[100.115988,20.41785],[100.548881,20.109238],[100.606294,19.508344],[101.282015,19.462585],[101.035931,18.408928],[101.059548,17.512497],[102.113592,18.109102],[102.413005,17.932782],[102.998706,17.961695],[103.200192,18.309632],[103.956477,18.240954],[104.716947,17.428859],[104.779321,16.441865],[105.589039,15.570316],[105.544338,14.723934],[105.218777,14.273212],[104.281418,14.416743],[102.988422,14.225721],[102.348099,13.394247],[102.584932,12.186595]]]},"type":"Feature","id":"THA","properties":{"name":"Thailand","id":"THA","centroid":[100.35,13.45]}},{"geometry":{"type":"Polygon","coordinates":[[[71.014198,40.244366],[70.648019,39.935754],[69.55961,40.103211],[69.464887,39.526683],[70.549162,39.604198],[71.784694,39.279463],[73.675379,39.431237],[73.928852,38.505815],[74.257514,38.606507],[74.864816,38.378846],[74.829986,37.990007],[74.980002,37.41999],[73.948696,37.421566],[73.260056,37.495257],[72.63689,37.047558],[72.193041,36.948288],[71.844638,36.738171],[71.448693,37.065645],[71.541918,37.905774],[71.239404,37.953265],[71.348131,38.258905],[70.806821,38.486282],[70.376304,38.138396],[70.270574,37.735165],[70.116578,37.588223],[69.518785,37.608997],[69.196273,37.151144],[68.859446,37.344336],[68.135562,37.023115],[67.83,37.144994],[68.392033,38.157025],[68.176025,38.901553],[67.44222,39.140144],[67.701429,39.580478],[68.536416,39.533453],[69.011633,40.086158],[69.329495,40.727824],[70.666622,40.960213],[70.45816,40.496495],[70.601407,40.218527],[71.014198,40.244366]]]},"type":"Feature","id":"TJK","properties":{"name":"Tajikistan","id":"TJK","centroid":[68.48,38.33]}},{"geometry":{"type":"Polygon","coordinates":[[[61.210817,35.650072],[61.123071,36.491597],[60.377638,36.527383],[59.234762,37.412988],[58.436154,37.522309],[57.330434,38.029229],[56.619366,38.121394],[56.180375,37.935127],[55.511578,37.964117],[54.800304,37.392421],[53.921598,37.198918],[53.735511,37.906136],[53.880929,38.952093],[53.101028,39.290574],[53.357808,39.975286],[52.693973,40.033629],[52.915251,40.876523],[53.858139,40.631034],[54.736845,40.951015],[54.008311,41.551211],[53.721713,42.123191],[52.91675,41.868117],[52.814689,41.135371],[52.50246,41.783316],[52.944293,42.116034],[54.079418,42.324109],[54.755345,42.043971],[55.455251,41.259859],[55.968191,41.308642],[57.096391,41.32231],[56.932215,41.826026],[57.78653,42.170553],[58.629011,42.751551],[59.976422,42.223082],[60.083341,41.425146],[60.465953,41.220327],[61.547179,41.26637],[61.882714,41.084857],[62.37426,40.053886],[63.518015,39.363257],[64.170223,38.892407],[65.215999,38.402695],[66.54615,37.974685],[66.518607,37.362784],[66.217385,37.39379],[65.745631,37.661164],[65.588948,37.305217],[64.746105,37.111818],[64.546479,36.312073],[63.982896,36.007957],[63.193538,35.857166],[62.984662,35.404041],[62.230651,35.270664],[61.210817,35.650072]]]},"type":"Feature","id":"TKM","properties":{"name":"Turkmenistan","id":"TKM","centroid":[57.5,38]}},{"geometry":{"type":"Polygon","coordinates":[[[124.968682,-8.89279],[125.086246,-8.656887],[125.947072,-8.432095],[126.644704,-8.398247],[126.957243,-8.273345],[127.335928,-8.397317],[126.967992,-8.668256],[125.925885,-9.106007],[125.08852,-9.393173],[125.07002,-9.089987],[124.968682,-8.89279]]]},"type":"Feature","id":"TLS","properties":{"name":"East Timor","id":"TLS","centroid":[125.34,-8.29]}},{"geometry":{"type":"Polygon","coordinates":[[[-61.68,10.76],[-61.105,10.89],[-60.895,10.855],[-60.935,10.11],[-61.77,10],[-61.95,10.09],[-61.66,10.365],[-61.68,10.76]]]},"type":"Feature","id":"TTO","properties":{"name":"Trinidad and Tobago","id":"TTO","centroid":[-61.31,10.4]}},{"geometry":{"type":"Polygon","coordinates":[[[9.48214,30.307556],[9.055603,32.102692],[8.439103,32.506285],[8.430473,32.748337],[7.612642,33.344115],[7.524482,34.097376],[8.140981,34.655146],[8.376368,35.479876],[8.217824,36.433177],[8.420964,36.946427],[9.509994,37.349994],[10.210002,37.230002],[10.18065,36.724038],[11.028867,37.092103],[11.100026,36.899996],[10.600005,36.41],[10.593287,35.947444],[10.939519,35.698984],[10.807847,34.833507],[10.149593,34.330773],[10.339659,33.785742],[10.856836,33.76874],[11.108501,33.293343],[11.488787,33.136996],[11.432253,32.368903],[10.94479,32.081815],[10.636901,31.761421],[9.950225,31.37607],[10.056575,30.961831],[9.970017,30.539325],[9.48214,30.307556]]]},"type":"Feature","id":"TUN","properties":{"name":"Tunisia","id":"TUN","centroid":[10.11,36.5]}},{"geometry":{"type":"MultiPolygon","coordinates":[[[[36.913127,41.335358],[38.347665,40.948586],[39.512607,41.102763],[40.373433,41.013673],[41.554084,41.535656],[42.619549,41.583173],[43.582746,41.092143],[43.752658,40.740201],[43.656436,40.253564],[44.400009,40.005],[44.79399,39.713003],[44.109225,39.428136],[44.421403,38.281281],[44.225756,37.971584],[44.772699,37.170445],[44.293452,37.001514],[43.942259,37.256228],[42.779126,37.385264],[42.349591,37.229873],[41.212089,37.074352],[40.673259,37.091276],[39.52258,36.716054],[38.699891,36.712927],[38.167727,36.90121],[37.066761,36.623036],[36.739494,36.81752],[36.685389,36.259699],[36.41755,36.040617],[36.149763,35.821535],[35.782085,36.274995],[36.160822,36.650606],[35.550936,36.565443],[34.714553,36.795532],[34.026895,36.21996],[32.509158,36.107564],[31.699595,36.644275],[30.621625,36.677865],[30.391096,36.262981],[29.699976,36.144357],[28.732903,36.676831],[27.641187,36.658822],[27.048768,37.653361],[26.318218,38.208133],[26.8047,38.98576],[26.170785,39.463612],[27.28002,40.420014],[28.819978,40.460011],[29.240004,41.219991],[31.145934,41.087622],[32.347979,41.736264],[33.513283,42.01896],[35.167704,42.040225],[36.913127,41.335358]]],[[[27.192377,40.690566],[26.358009,40.151994],[26.043351,40.617754],[26.056942,40.824123],[26.294602,40.936261],[26.604196,41.562115],[26.117042,41.826905],[27.135739,42.141485],[27.99672,42.007359],[28.115525,41.622886],[28.988443,41.299934],[28.806438,41.054962],[27.619017,40.999823],[27.192377,40.690566]]]]},"type":"Feature","id":"TUR","properties":{"name":"Turkey","id":"TUR","centroid":[32.54,39.57]}},{"geometry":{"type":"Polygon","coordinates":[[[33.903711,-0.95],[34.07262,-1.05982],[37.69869,-3.09699],[37.7669,-3.67712],[39.20222,-4.67677],[38.74054,-5.90895],[38.79977,-6.47566],[39.44,-6.84],[39.47,-7.1],[39.19469,-7.7039],[39.25203,-8.00781],[39.18652,-8.48551],[39.53574,-9.11237],[39.9496,-10.0984],[40.31659,-10.3171],[39.521,-10.89688],[38.427557,-11.285202],[37.82764,-11.26879],[37.47129,-11.56876],[36.775151,-11.594537],[36.514082,-11.720938],[35.312398,-11.439146],[34.559989,-11.52002],[34.28,-10.16],[33.940838,-9.693674],[33.73972,-9.41715],[32.759375,-9.230599],[32.191865,-8.930359],[31.556348,-8.762049],[31.157751,-8.594579],[30.74,-8.34],[30.2,-7.08],[29.62,-6.52],[29.419993,-5.939999],[29.519987,-5.419979],[29.339998,-4.499983],[29.753512,-4.452389],[30.11632,-4.09012],[30.50554,-3.56858],[30.75224,-3.35931],[30.74301,-3.03431],[30.52766,-2.80762],[30.46967,-2.41383],[30.758309,-2.28725],[30.816135,-1.698914],[30.419105,-1.134659],[30.76986,-1.01455],[31.86617,-1.02736],[33.903711,-0.95]]]},"type":"Feature","id":"TZA","properties":{"name":"United Republic of Tanzania","id":"TZA","centroid":[35.45,-6.08]}},{"geometry":{"type":"Polygon","coordinates":[[[31.86617,-1.02736],[30.76986,-1.01455],[30.419105,-1.134659],[29.821519,-1.443322],[29.579466,-1.341313],[29.587838,-0.587406],[29.8195,-0.2053],[29.875779,0.59738],[30.086154,1.062313],[30.468508,1.583805],[30.85267,1.849396],[31.174149,2.204465],[30.77332,2.33989],[30.83385,3.50917],[31.24556,3.7819],[31.88145,3.55827],[32.68642,3.79232],[33.39,3.79],[34.005,4.249885],[34.47913,3.5556],[34.59607,3.05374],[35.03599,1.90584],[34.6721,1.17694],[34.18,0.515],[33.893569,0.109814],[33.903711,-0.95],[31.86617,-1.02736]]]},"type":"Feature","id":"UGA","properties":{"name":"Uganda","id":"UGA","centroid":[32.3,0.2]}},{"geometry":{"type":"Polygon","coordinates":[[[31.785998,52.101678],[32.159412,52.061267],[32.412058,52.288695],[32.715761,52.238465],[33.7527,52.335075],[34.391731,51.768882],[34.141978,51.566413],[34.224816,51.255993],[35.022183,51.207572],[35.377924,50.773955],[35.356116,50.577197],[36.626168,50.225591],[37.39346,50.383953],[38.010631,49.915662],[38.594988,49.926462],[40.069058,49.601055],[40.080789,49.30743],[39.674664,48.783818],[39.895632,48.232405],[39.738278,47.898937],[38.770585,47.825608],[38.255112,47.5464],[38.223538,47.10219],[37.425137,47.022221],[36.759855,46.6987],[35.823685,46.645964],[34.962342,46.273197],[35.020788,45.651219],[35.510009,45.409993],[36.529998,45.46999],[36.334713,45.113216],[35.239999,44.939996],[33.882511,44.361479],[33.326421,44.564877],[33.546924,45.034771],[32.454174,45.327466],[32.630804,45.519186],[33.588162,45.851569],[33.298567,46.080598],[31.74414,46.333348],[31.675307,46.706245],[30.748749,46.5831],[30.377609,46.03241],[29.603289,45.293308],[29.149725,45.464925],[28.679779,45.304031],[28.233554,45.488283],[28.485269,45.596907],[28.659987,45.939987],[28.933717,46.25883],[28.862972,46.437889],[29.072107,46.517678],[29.170654,46.379262],[29.759972,46.349988],[30.024659,46.423937],[29.83821,46.525326],[29.908852,46.674361],[29.559674,46.928583],[29.415135,47.346645],[29.050868,47.510227],[29.122698,47.849095],[28.670891,48.118149],[28.259547,48.155562],[27.522537,48.467119],[26.857824,48.368211],[26.619337,48.220726],[26.19745,48.220881],[25.945941,47.987149],[25.207743,47.891056],[24.866317,47.737526],[24.402056,47.981878],[23.760958,47.985598],[23.142236,48.096341],[22.710531,47.882194],[22.64082,48.15024],[22.085608,48.422264],[22.280842,48.825392],[22.558138,49.085738],[22.776419,49.027395],[22.51845,49.476774],[23.426508,50.308506],[23.922757,50.424881],[24.029986,50.705407],[23.527071,51.578454],[24.005078,51.617444],[24.553106,51.888461],[25.327788,51.910656],[26.337959,51.832289],[27.454066,51.592303],[28.241615,51.572227],[28.617613,51.427714],[28.992835,51.602044],[29.254938,51.368234],[30.157364,51.416138],[30.555117,51.319503],[30.619454,51.822806],[30.927549,52.042353],[31.785998,52.101678]]]},"type":"Feature","id":"UKR","properties":{"name":"Ukraine","id":"UKR","centroid":[30.28,50.3]}},{"geometry":{"type":"Polygon","coordinates":[[[-57.625133,-30.216295],[-56.976026,-30.109686],[-55.973245,-30.883076],[-55.60151,-30.853879],[-54.572452,-31.494511],[-53.787952,-32.047243],[-53.209589,-32.727666],[-53.650544,-33.202004],[-53.373662,-33.768378],[-53.806426,-34.396815],[-54.935866,-34.952647],[-55.67409,-34.752659],[-56.215297,-34.859836],[-57.139685,-34.430456],[-57.817861,-34.462547],[-58.427074,-33.909454],[-58.349611,-33.263189],[-58.132648,-33.040567],[-58.14244,-32.044504],[-57.874937,-31.016556],[-57.625133,-30.216295]]]},"type":"Feature","id":"URY","properties":{"name":"Uruguay","id":"URY","centroid":[-56.11,-34.5]}},{"geometry":{"type":"MultiPolygon","coordinates":[[[[-155.54211,19.08348],[-155.68817,18.91619],[-155.93665,19.05939],[-155.90806,19.33888],[-156.07347,19.70294],[-156.02368,19.81422],[-155.85008,19.97729],[-155.91907,20.17395],[-155.86108,20.26721],[-155.78505,20.2487],[-155.40214,20.07975],[-155.22452,19.99302],[-155.06226,19.8591],[-154.80741,19.50871],[-154.83147,19.45328],[-155.22217,19.23972],[-155.54211,19.08348]]],[[[-156.07926,20.64397],[-156.41445,20.57241],[-156.58673,20.783],[-156.70167,20.8643],[-156.71055,20.92676],[-156.61258,21.01249],[-156.25711,20.91745],[-155.99566,20.76404],[-156.07926,20.64397]]],[[[-156.75824,21.17684],[-156.78933,21.06873],[-157.32521,21.09777],[-157.25027,21.21958],[-156.75824,21.17684]]],[[[-157.65283,21.32217],[-157.70703,21.26442],[-157.7786,21.27729],[-158.12667,21.31244],[-158.2538,21.53919],[-158.29265,21.57912],[-158.0252,21.71696],[-157.94161,21.65272],[-157.65283,21.32217]]],[[[-159.34512,21.982],[-159.46372,21.88299],[-159.80051,22.06533],[-159.74877,22.1382],[-159.5962,22.23618],[-159.36569,22.21494],[-159.34512,21.982]]],[[[-94.81758,49.38905],[-94.64,48.84],[-94.32914,48.67074],[-93.63087,48.60926],[-92.61,48.45],[-91.64,48.14],[-90.83,48.27],[-89.6,48.01],[-89.272917,48.019808],[-88.378114,48.302918],[-87.439793,47.94],[-86.461991,47.553338],[-85.652363,47.220219],[-84.87608,46.900083],[-84.779238,46.637102],[-84.543749,46.538684],[-84.6049,46.4396],[-84.3367,46.40877],[-84.14212,46.512226],[-84.091851,46.275419],[-83.890765,46.116927],[-83.616131,46.116927],[-83.469551,45.994686],[-83.592851,45.816894],[-82.550925,45.347517],[-82.337763,44.44],[-82.137642,43.571088],[-82.43,42.98],[-82.9,42.43],[-83.12,42.08],[-83.142,41.975681],[-83.02981,41.832796],[-82.690089,41.675105],[-82.439278,41.675105],[-81.277747,42.209026],[-80.247448,42.3662],[-78.939362,42.863611],[-78.92,42.965],[-79.01,43.27],[-79.171674,43.466339],[-78.72028,43.625089],[-77.737885,43.629056],[-76.820034,43.628784],[-76.5,44.018459],[-76.375,44.09631],[-75.31821,44.81645],[-74.867,45.00048],[-73.34783,45.00738],[-71.50506,45.0082],[-71.405,45.255],[-71.08482,45.30524],[-70.66,45.46],[-70.305,45.915],[-69.99997,46.69307],[-69.237216,47.447781],[-68.905,47.185],[-68.23444,47.35486],[-67.79046,47.06636],[-67.79134,45.70281],[-67.13741,45.13753],[-66.96466,44.8097],[-68.03252,44.3252],[-69.06,43.98],[-70.11617,43.68405],[-70.645476,43.090238],[-70.81489,42.8653],[-70.825,42.335],[-70.495,41.805],[-70.08,41.78],[-70.185,42.145],[-69.88497,41.92283],[-69.96503,41.63717],[-70.64,41.475],[-71.12039,41.49445],[-71.86,41.32],[-72.295,41.27],[-72.87643,41.22065],[-73.71,40.931102],[-72.24126,41.11948],[-71.945,40.93],[-73.345,40.63],[-73.982,40.628],[-73.952325,40.75075],[-74.25671,40.47351],[-73.96244,40.42763],[-74.17838,39.70926],[-74.90604,38.93954],[-74.98041,39.1964],[-75.20002,39.24845],[-75.52805,39.4985],[-75.32,38.96],[-75.071835,38.782032],[-75.05673,38.40412],[-75.37747,38.01551],[-75.94023,37.21689],[-76.03127,37.2566],[-75.72205,37.93705],[-76.23287,38.319215],[-76.35,39.15],[-76.542725,38.717615],[-76.32933,38.08326],[-76.989998,38.239992],[-76.30162,37.917945],[-76.25874,36.9664],[-75.9718,36.89726],[-75.86804,36.55125],[-75.72749,35.55074],[-76.36318,34.80854],[-77.397635,34.51201],[-78.05496,33.92547],[-78.55435,33.86133],[-79.06067,33.49395],[-79.20357,33.15839],[-80.301325,32.509355],[-80.86498,32.0333],[-81.33629,31.44049],[-81.49042,30.72999],[-81.31371,30.03552],[-80.98,29.18],[-80.535585,28.47213],[-80.53,28.04],[-80.056539,26.88],[-80.088015,26.205765],[-80.13156,25.816775],[-80.38103,25.20616],[-80.68,25.08],[-81.17213,25.20126],[-81.33,25.64],[-81.71,25.87],[-82.24,26.73],[-82.70515,27.49504],[-82.85526,27.88624],[-82.65,28.55],[-82.93,29.1],[-83.70959,29.93656],[-84.1,30.09],[-85.10882,29.63615],[-85.28784,29.68612],[-85.7731,30.15261],[-86.4,30.4],[-87.53036,30.27433],[-88.41782,30.3849],[-89.18049,30.31598],[-89.593831,30.159994],[-89.413735,29.89419],[-89.43,29.48864],[-89.21767,29.29108],[-89.40823,29.15961],[-89.77928,29.30714],[-90.15463,29.11743],[-90.880225,29.148535],[-91.626785,29.677],[-92.49906,29.5523],[-93.22637,29.78375],[-93.84842,29.71363],[-94.69,29.48],[-95.60026,28.73863],[-96.59404,28.30748],[-97.14,27.83],[-97.37,27.38],[-97.38,26.69],[-97.33,26.21],[-97.14,25.87],[-97.53,25.84],[-98.24,26.06],[-99.02,26.37],[-99.3,26.84],[-99.52,27.54],[-100.11,28.11],[-100.45584,28.69612],[-100.9576,29.38071],[-101.6624,29.7793],[-102.48,29.76],[-103.11,28.97],[-103.94,29.27],[-104.45697,29.57196],[-104.70575,30.12173],[-105.03737,30.64402],[-105.63159,31.08383],[-106.1429,31.39995],[-106.50759,31.75452],[-108.24,31.754854],[-108.24194,31.34222],[-109.035,31.34194],[-111.02361,31.33472],[-113.30498,32.03914],[-114.815,32.52528],[-114.72139,32.72083],[-115.99135,32.61239],[-117.12776,32.53534],[-117.295938,33.046225],[-117.944,33.621236],[-118.410602,33.740909],[-118.519895,34.027782],[-119.081,34.078],[-119.438841,34.348477],[-120.36778,34.44711],[-120.62286,34.60855],[-120.74433,35.15686],[-121.71457,36.16153],[-122.54747,37.55176],[-122.51201,37.78339],[-122.95319,38.11371],[-123.7272,38.95166],[-123.86517,39.76699],[-124.39807,40.3132],[-124.17886,41.14202],[-124.2137,41.99964],[-124.53284,42.76599],[-124.14214,43.70838],[-124.020535,44.615895],[-123.89893,45.52341],[-124.079635,46.86475],[-124.39567,47.72017],[-124.68721,48.184433],[-124.566101,48.379715],[-123.12,48.04],[-122.58736,47.096],[-122.34,47.36],[-122.5,48.18],[-122.84,49],[-120,49],[-117.03121,49],[-116.04818,49],[-113,49],[-110.05,49],[-107.05,49],[-104.04826,48.99986],[-100.65,49],[-97.22872,49.0007],[-95.15907,49],[-95.15609,49.38425],[-94.81758,49.38905]]],[[[-153.006314,57.115842],[-154.00509,56.734677],[-154.516403,56.992749],[-154.670993,57.461196],[-153.76278,57.816575],[-153.228729,57.968968],[-152.564791,57.901427],[-152.141147,57.591059],[-153.006314,57.115842]]],[[[-165.579164,59.909987],[-166.19277,59.754441],[-166.848337,59.941406],[-167.455277,60.213069],[-166.467792,60.38417],[-165.67443,60.293607],[-165.579164,59.909987]]],[[[-171.731657,63.782515],[-171.114434,63.592191],[-170.491112,63.694975],[-169.682505,63.431116],[-168.689439,63.297506],[-168.771941,63.188598],[-169.52944,62.976931],[-170.290556,63.194438],[-170.671386,63.375822],[-171.553063,63.317789],[-171.791111,63.405846],[-171.731657,63.782515]]],[[[-155.06779,71.147776],[-154.344165,70.696409],[-153.900006,70.889989],[-152.210006,70.829992],[-152.270002,70.600006],[-150.739992,70.430017],[-149.720003,70.53001],[-147.613362,70.214035],[-145.68999,70.12001],[-144.920011,69.989992],[-143.589446,70.152514],[-142.07251,69.851938],[-140.985988,69.711998],[-140.985988,69.711998],[-140.992499,66.000029],[-140.99777,60.306397],[-140.012998,60.276838],[-139.039,60.000007],[-138.34089,59.56211],[-137.4525,58.905],[-136.47972,59.46389],[-135.47583,59.78778],[-134.945,59.27056],[-134.27111,58.86111],[-133.355549,58.410285],[-132.73042,57.69289],[-131.70781,56.55212],[-130.00778,55.91583],[-129.979994,55.284998],[-130.53611,54.802753],[-131.085818,55.178906],[-131.967211,55.497776],[-132.250011,56.369996],[-133.539181,57.178887],[-134.078063,58.123068],[-135.038211,58.187715],[-136.628062,58.212209],[-137.800006,58.499995],[-139.867787,59.537762],[-140.825274,59.727517],[-142.574444,60.084447],[-143.958881,59.99918],[-145.925557,60.45861],[-147.114374,60.884656],[-148.224306,60.672989],[-148.018066,59.978329],[-148.570823,59.914173],[-149.727858,59.705658],[-150.608243,59.368211],[-151.716393,59.155821],[-151.859433,59.744984],[-151.409719,60.725803],[-150.346941,61.033588],[-150.621111,61.284425],[-151.895839,60.727198],[-152.57833,60.061657],[-154.019172,59.350279],[-153.287511,58.864728],[-154.232492,58.146374],[-155.307491,57.727795],[-156.308335,57.422774],[-156.556097,56.979985],[-158.117217,56.463608],[-158.433321,55.994154],[-159.603327,55.566686],[-160.28972,55.643581],[-161.223048,55.364735],[-162.237766,55.024187],[-163.069447,54.689737],[-164.785569,54.404173],[-164.942226,54.572225],[-163.84834,55.039431],[-162.870001,55.348043],[-161.804175,55.894986],[-160.563605,56.008055],[-160.07056,56.418055],[-158.684443,57.016675],[-158.461097,57.216921],[-157.72277,57.570001],[-157.550274,58.328326],[-157.041675,58.918885],[-158.194731,58.615802],[-158.517218,58.787781],[-159.058606,58.424186],[-159.711667,58.93139],[-159.981289,58.572549],[-160.355271,59.071123],[-161.355003,58.670838],[-161.968894,58.671665],[-162.054987,59.266925],[-161.874171,59.633621],[-162.518059,59.989724],[-163.818341,59.798056],[-164.662218,60.267484],[-165.346388,60.507496],[-165.350832,61.073895],[-166.121379,61.500019],[-165.734452,62.074997],[-164.919179,62.633076],[-164.562508,63.146378],[-163.753332,63.219449],[-163.067224,63.059459],[-162.260555,63.541936],[-161.53445,63.455817],[-160.772507,63.766108],[-160.958335,64.222799],[-161.518068,64.402788],[-160.777778,64.788604],[-161.391926,64.777235],[-162.45305,64.559445],[-162.757786,64.338605],[-163.546394,64.55916],[-164.96083,64.446945],[-166.425288,64.686672],[-166.845004,65.088896],[-168.11056,65.669997],[-166.705271,66.088318],[-164.47471,66.57666],[-163.652512,66.57666],[-163.788602,66.077207],[-161.677774,66.11612],[-162.489715,66.735565],[-163.719717,67.116395],[-164.430991,67.616338],[-165.390287,68.042772],[-166.764441,68.358877],[-166.204707,68.883031],[-164.430811,68.915535],[-163.168614,69.371115],[-162.930566,69.858062],[-161.908897,70.33333],[-160.934797,70.44769],[-159.039176,70.891642],[-158.119723,70.824721],[-156.580825,71.357764],[-155.06779,71.147776]]]]},"type":"Feature","id":"USA","properties":{"name":"United States of America","id":"USA","centroid":[-77.02,39.91]}},{"geometry":{"type":"Polygon","coordinates":[[[66.518607,37.362784],[66.54615,37.974685],[65.215999,38.402695],[64.170223,38.892407],[63.518015,39.363257],[62.37426,40.053886],[61.882714,41.084857],[61.547179,41.26637],[60.465953,41.220327],[60.083341,41.425146],[59.976422,42.223082],[58.629011,42.751551],[57.78653,42.170553],[56.932215,41.826026],[57.096391,41.32231],[55.968191,41.308642],[55.928917,44.995858],[58.503127,45.586804],[58.689989,45.500014],[60.239972,44.784037],[61.05832,44.405817],[62.0133,43.504477],[63.185787,43.650075],[64.900824,43.728081],[66.098012,42.99766],[66.023392,41.994646],[66.510649,41.987644],[66.714047,41.168444],[67.985856,41.135991],[68.259896,40.662325],[68.632483,40.668681],[69.070027,41.384244],[70.388965,42.081308],[70.962315,42.266154],[71.259248,42.167711],[70.420022,41.519998],[71.157859,41.143587],[71.870115,41.3929],[73.055417,40.866033],[71.774875,40.145844],[71.014198,40.244366],[70.601407,40.218527],[70.45816,40.496495],[70.666622,40.960213],[69.329495,40.727824],[69.011633,40.086158],[68.536416,39.533453],[67.701429,39.580478],[67.44222,39.140144],[68.176025,38.901553],[68.392033,38.157025],[67.83,37.144994],[67.075782,37.356144],[66.518607,37.362784]]]},"type":"Feature","id":"UZB","properties":{"name":"Uzbekistan","id":"UZB","centroid":[69.1,41.2]}},{"geometry":{"type":"Polygon","coordinates":[[[-71.331584,11.776284],[-71.360006,11.539994],[-71.94705,11.423282],[-71.620868,10.96946],[-71.633064,10.446494],[-72.074174,9.865651],[-71.695644,9.072263],[-71.264559,9.137195],[-71.039999,9.859993],[-71.350084,10.211935],[-71.400623,10.968969],[-70.155299,11.375482],[-70.293843,11.846822],[-69.943245,12.162307],[-69.5843,11.459611],[-68.882999,11.443385],[-68.233271,10.885744],[-68.194127,10.554653],[-67.296249,10.545868],[-66.227864,10.648627],[-65.655238,10.200799],[-64.890452,10.077215],[-64.329479,10.389599],[-64.318007,10.641418],[-63.079322,10.701724],[-61.880946,10.715625],[-62.730119,10.420269],[-62.388512,9.948204],[-61.588767,9.873067],[-60.830597,9.38134],[-60.671252,8.580174],[-60.150096,8.602757],[-59.758285,8.367035],[-60.550588,7.779603],[-60.637973,7.415],[-60.295668,7.043911],[-60.543999,6.856584],[-61.159336,6.696077],[-61.139415,6.234297],[-61.410303,5.959068],[-60.733574,5.200277],[-60.601179,4.918098],[-60.966893,4.536468],[-62.08543,4.162124],[-62.804533,4.006965],[-63.093198,3.770571],[-63.888343,4.02053],[-64.628659,4.148481],[-64.816064,4.056445],[-64.368494,3.79721],[-64.408828,3.126786],[-64.269999,2.497006],[-63.422867,2.411068],[-63.368788,2.2009],[-64.083085,1.916369],[-64.199306,1.492855],[-64.611012,1.328731],[-65.354713,1.095282],[-65.548267,0.789254],[-66.325765,0.724452],[-66.876326,1.253361],[-67.181294,2.250638],[-67.447092,2.600281],[-67.809938,2.820655],[-67.303173,3.318454],[-67.337564,3.542342],[-67.621836,3.839482],[-67.823012,4.503937],[-67.744697,5.221129],[-67.521532,5.55687],[-67.34144,6.095468],[-67.695087,6.267318],[-68.265052,6.153268],[-68.985319,6.206805],[-69.38948,6.099861],[-70.093313,6.960376],[-70.674234,7.087785],[-71.960176,6.991615],[-72.198352,7.340431],[-72.444487,7.423785],[-72.479679,7.632506],[-72.360901,8.002638],[-72.439862,8.405275],[-72.660495,8.625288],[-72.78873,9.085027],[-73.304952,9.152],[-73.027604,9.73677],[-72.905286,10.450344],[-72.614658,10.821975],[-72.227575,11.108702],[-71.973922,11.608672],[-71.331584,11.776284]]]},"type":"Feature","id":"VEN","properties":{"name":"Venezuela","id":"VEN","centroid":[-66.55,10.3]}},{"geometry":{"type":"Polygon","coordinates":[[[108.05018,21.55238],[106.715068,20.696851],[105.881682,19.75205],[105.662006,19.058165],[106.426817,18.004121],[107.361954,16.697457],[108.269495,16.079742],[108.877107,15.276691],[109.33527,13.426028],[109.200136,11.666859],[108.36613,11.008321],[107.220929,10.364484],[106.405113,9.53084],[105.158264,8.59976],[104.795185,9.241038],[105.076202,9.918491],[104.334335,10.486544],[105.199915,10.88931],[106.24967,10.961812],[105.810524,11.567615],[107.491403,12.337206],[107.614548,13.535531],[107.382727,14.202441],[107.564525,15.202173],[107.312706,15.908538],[106.556008,16.604284],[105.925762,17.485315],[105.094598,18.666975],[103.896532,19.265181],[104.183388,19.624668],[104.822574,19.886642],[104.435,20.758733],[103.203861,20.766562],[102.754896,21.675137],[102.170436,22.464753],[102.706992,22.708795],[103.504515,22.703757],[104.476858,22.81915],[105.329209,23.352063],[105.811247,22.976892],[106.725403,22.794268],[106.567273,22.218205],[107.04342,21.811899],[108.05018,21.55238]]]},"type":"Feature","id":"VNM","properties":{"name":"Vietnam","id":"VNM","centroid":[105.55,21.05]}},{"geometry":{"type":"MultiPolygon","coordinates":[[[[167.844877,-16.466333],[167.515181,-16.59785],[167.180008,-16.159995],[167.216801,-15.891846],[167.844877,-16.466333]]],[[[167.107712,-14.93392],[167.270028,-15.740021],[167.001207,-15.614602],[166.793158,-15.668811],[166.649859,-15.392704],[166.629137,-14.626497],[167.107712,-14.93392]]]]},"type":"Feature","id":"VUT","properties":{"name":"Vanuatu","id":"VUT","centroid":[168.18,-17.45]}},{"geometry":{"type":"Polygon","coordinates":[[[35.545665,32.393992],[35.545252,31.782505],[35.397561,31.489086],[34.927408,31.353435],[34.970507,31.616778],[35.225892,31.754341],[34.974641,31.866582],[35.18393,32.532511],[35.545665,32.393992]]]},"type":"Feature","id":"PSE","properties":{"name":"West Bank","id":"PSE","centroid":[35.14,31.47]}},{"geometry":{"type":"Polygon","coordinates":[[[53.108573,16.651051],[52.385206,16.382411],[52.191729,15.938433],[52.168165,15.59742],[51.172515,15.17525],[49.574576,14.708767],[48.679231,14.003202],[48.238947,13.94809],[47.938914,14.007233],[47.354454,13.59222],[46.717076,13.399699],[45.877593,13.347764],[45.62505,13.290946],[45.406459,13.026905],[45.144356,12.953938],[44.989533,12.699587],[44.494576,12.721653],[44.175113,12.58595],[43.482959,12.6368],[43.222871,13.22095],[43.251448,13.767584],[43.087944,14.06263],[42.892245,14.802249],[42.604873,15.213335],[42.805015,15.261963],[42.702438,15.718886],[42.823671,15.911742],[42.779332,16.347891],[43.218375,16.66689],[43.115798,17.08844],[43.380794,17.579987],[43.791519,17.319977],[44.062613,17.410359],[45.216651,17.433329],[45.399999,17.333335],[46.366659,17.233315],[46.749994,17.283338],[47.000005,16.949999],[47.466695,17.116682],[48.183344,18.166669],[49.116672,18.616668],[52.00001,19.000003],[52.782184,17.349742],[53.108573,16.651051]]]},"type":"Feature","id":"YEM","properties":{"name":"Yemen","id":"YEM","centroid":[44.2,15.35]}},{"geometry":{"type":"Polygon","coordinates":[[[31.521001,-29.257387],[31.325561,-29.401978],[30.901763,-29.909957],[30.622813,-30.423776],[30.055716,-31.140269],[28.925553,-32.172041],[28.219756,-32.771953],[27.464608,-33.226964],[26.419452,-33.61495],[25.909664,-33.66704],[25.780628,-33.944646],[25.172862,-33.796851],[24.677853,-33.987176],[23.594043,-33.794474],[22.988189,-33.916431],[22.574157,-33.864083],[21.542799,-34.258839],[20.689053,-34.417175],[20.071261,-34.795137],[19.616405,-34.819166],[19.193278,-34.462599],[18.855315,-34.444306],[18.424643,-33.997873],[18.377411,-34.136521],[18.244499,-33.867752],[18.25008,-33.281431],[17.92519,-32.611291],[18.24791,-32.429131],[18.221762,-31.661633],[17.566918,-30.725721],[17.064416,-29.878641],[17.062918,-29.875954],[16.344977,-28.576705],[16.824017,-28.082162],[17.218929,-28.355943],[17.387497,-28.783514],[17.836152,-28.856378],[18.464899,-29.045462],[19.002127,-28.972443],[19.894734,-28.461105],[19.895768,-24.76779],[20.165726,-24.917962],[20.758609,-25.868136],[20.66647,-26.477453],[20.889609,-26.828543],[21.605896,-26.726534],[22.105969,-26.280256],[22.579532,-25.979448],[22.824271,-25.500459],[23.312097,-25.26869],[23.73357,-25.390129],[24.211267,-25.670216],[25.025171,-25.71967],[25.664666,-25.486816],[25.765849,-25.174845],[25.941652,-24.696373],[26.485753,-24.616327],[26.786407,-24.240691],[27.11941,-23.574323],[28.017236,-22.827754],[29.432188,-22.091313],[29.839037,-22.102216],[30.322883,-22.271612],[30.659865,-22.151567],[31.191409,-22.25151],[31.670398,-23.658969],[31.930589,-24.369417],[31.752408,-25.484284],[31.837778,-25.843332],[31.333158,-25.660191],[31.04408,-25.731452],[30.949667,-26.022649],[30.676609,-26.398078],[30.685962,-26.743845],[31.282773,-27.285879],[31.86806,-27.177927],[32.071665,-26.73382],[32.83012,-26.742192],[32.580265,-27.470158],[32.462133,-28.301011],[32.203389,-28.752405],[31.521001,-29.257387]],[[28.978263,-28.955597],[28.5417,-28.647502],[28.074338,-28.851469],[27.532511,-29.242711],[26.999262,-29.875954],[27.749397,-30.645106],[28.107205,-30.545732],[28.291069,-30.226217],[28.8484,-30.070051],[29.018415,-29.743766],[29.325166,-29.257387],[28.978263,-28.955597]]]},"type":"Feature","id":"ZAF","properties":{"name":"South Africa","id":"ZAF","centroid":[28.11,-25.44]}},{"geometry":{"type":"Polygon","coordinates":[[[32.759375,-9.230599],[33.231388,-9.676722],[33.485688,-10.525559],[33.31531,-10.79655],[33.114289,-11.607198],[33.306422,-12.435778],[32.991764,-12.783871],[32.688165,-13.712858],[33.214025,-13.97186],[30.179481,-14.796099],[30.274256,-15.507787],[29.516834,-15.644678],[28.947463,-16.043051],[28.825869,-16.389749],[28.467906,-16.4684],[27.598243,-17.290831],[27.044427,-17.938026],[26.706773,-17.961229],[26.381935,-17.846042],[25.264226,-17.73654],[25.084443,-17.661816],[25.07695,-17.578823],[24.682349,-17.353411],[24.033862,-17.295843],[23.215048,-17.523116],[22.562478,-16.898451],[21.887843,-16.08031],[21.933886,-12.898437],[24.016137,-12.911046],[23.930922,-12.565848],[24.079905,-12.191297],[23.904154,-11.722282],[24.017894,-11.237298],[23.912215,-10.926826],[24.257155,-10.951993],[24.314516,-11.262826],[24.78317,-11.238694],[25.418118,-11.330936],[25.75231,-11.784965],[26.553088,-11.92444],[27.16442,-11.608748],[27.388799,-12.132747],[28.155109,-12.272481],[28.523562,-12.698604],[28.934286,-13.248958],[29.699614,-13.257227],[29.616001,-12.178895],[29.341548,-12.360744],[28.642417,-11.971569],[28.372253,-11.793647],[28.49607,-10.789884],[28.673682,-9.605925],[28.449871,-9.164918],[28.734867,-8.526559],[29.002912,-8.407032],[30.346086,-8.238257],[30.740015,-8.340007],[31.157751,-8.594579],[31.556348,-8.762049],[32.191865,-8.930359],[32.759375,-9.230599]]]},"type":"Feature","id":"ZMB","properties":{"name":"Zambia","id":"ZMB","centroid":[28.16,-15.28]}},{"geometry":{"type":"Polygon","coordinates":[[[103.9697265625,1.331445312499994],[103.65019531249999,1.325537109374991],[103.81796875000003,1.447070312499989],[103.9697265625,1.331445312499994]]]},"type":"Feature","id":"SGP","properties":{"childNum":1,"name":"Singapore","id":"SGP","centroid":[103.51,1.18]}},{"geometry":{"type":"Polygon","coordinates":[[[31.191409,-22.25151],[30.659865,-22.151567],[30.322883,-22.271612],[29.839037,-22.102216],[29.432188,-22.091313],[28.794656,-21.639454],[28.02137,-21.485975],[27.727228,-20.851802],[27.724747,-20.499059],[27.296505,-20.39152],[26.164791,-19.293086],[25.850391,-18.714413],[25.649163,-18.536026],[25.264226,-17.73654],[26.381935,-17.846042],[26.706773,-17.961229],[27.044427,-17.938026],[27.598243,-17.290831],[28.467906,-16.4684],[28.825869,-16.389749],[28.947463,-16.043051],[29.516834,-15.644678],[30.274256,-15.507787],[30.338955,-15.880839],[31.173064,-15.860944],[31.636498,-16.07199],[31.852041,-16.319417],[32.328239,-16.392074],[32.847639,-16.713398],[32.849861,-17.979057],[32.654886,-18.67209],[32.611994,-19.419383],[32.772708,-19.715592],[32.659743,-20.30429],[32.508693,-20.395292],[32.244988,-21.116489],[31.191409,-22.25151]]]},"type":"Feature","id":"ZWE","properties":{"name":"Zimbabwe","id":"ZWE","centroid":[31.02,-17.43]}}],"offset":{"y":90,"x":170}} \ No newline at end of file diff --git a/examples/arco-pro/src/components/Chart/area-polar.tsx b/examples/arco-pro/src/components/Chart/area-polar.tsx new file mode 100644 index 000000000..e2d4b1313 --- /dev/null +++ b/examples/arco-pro/src/components/Chart/area-polar.tsx @@ -0,0 +1,84 @@ +import DataSet from '@antv/data-set' +import { Spin } from '@arco-design/web-react' +import { Area, Axis, Chart, Coordinate, Legend, Line, Tooltip } from 'bizcharts' +import React from 'react' +import CustomTooltip from './customer-tooltip' + +interface AreaPolarProps { + data: any[] + loading: boolean + fields: string[] + height: number +} +function AreaPolar(props: AreaPolarProps) { + const { data, loading, fields, height } = props + + const { DataView } = DataSet + const dv = new DataView().source(data) + dv.transform({ + type: 'fold', + fields: fields, // 展开字段集 + key: 'category', // key字段 + value: 'score', // value字段 + }) + + return ( + + + + + {(title, items) => { + return + }} + + + + + { + return { + symbol: 'circle', + style: { + r: 4, + lineWidth: 0, + fill: ['#313CA9', '#21CCFF', '#249EFF'][index], + }, + } + }} + name="category" + /> + + + ) +} + +export default AreaPolar diff --git a/examples/arco-pro/src/components/Chart/customer-tooltip.tsx b/examples/arco-pro/src/components/Chart/customer-tooltip.tsx new file mode 100644 index 000000000..d987c0d36 --- /dev/null +++ b/examples/arco-pro/src/components/Chart/customer-tooltip.tsx @@ -0,0 +1,42 @@ +import { Badge, Typography } from '@arco-design/web-react' +import React from 'react' +import styles from './style/index.module.less' + +const { Text } = Typography +interface TooltipProps { + title: string + data: { + name: string + value: string + color: string + }[] + color?: string + name?: string + formatter?: (value: string) => React.ReactNode +} + +function CustomTooltip(props: TooltipProps) { + const { formatter = (value) => value, color, name } = props + return ( +
+
+ {props.title} +
+
+ {props.data.map((item, index) => ( +
+
+ + {name || item.name} +
+
+ {formatter(item.value)} +
+
+ ))} +
+
+ ) +} + +export default CustomTooltip diff --git a/examples/arco-pro/src/components/Chart/fact-multi-pie.tsx b/examples/arco-pro/src/components/Chart/fact-multi-pie.tsx new file mode 100644 index 000000000..0607ac298 --- /dev/null +++ b/examples/arco-pro/src/components/Chart/fact-multi-pie.tsx @@ -0,0 +1,67 @@ +import useBizTheme from '@/utils/useChartTheme' +import { Chart, Facet, Legend } from 'bizcharts' +import React from 'react' + +interface FactMultiPieProps { + data: any[] + loading: boolean + height: number +} +function FactMultiPie(props: FactMultiPieProps) { + return ( + + + { + const data = facet.data + view.coordinate({ + type: 'theta', + cfg: { + radius: 0.8, + innerRadius: 0.7, + }, + }) + view + .interval() + .adjust('stack') + .position('value') + .color('type', [ + '#249eff', + '#846BCE', + '#21CCFF', + ' #86DF6C', + '#0E42D2', + ]) + .label('value', { + content: (content) => { + return `${(content.value * 100).toFixed(2)} %` + }, + }), + view.annotation().text({ + position: ['50%', '46%'], + content: data[0].category, + style: { + fontSize: 14, + fontWeight: 500, + textAlign: 'center', + }, + offsetY: 10, + }) + view.interaction('element-single-selected') + }} + /> + + ) +} + +export default FactMultiPie diff --git a/examples/arco-pro/src/components/Chart/horizontal-interval.tsx b/examples/arco-pro/src/components/Chart/horizontal-interval.tsx new file mode 100644 index 000000000..04765ad96 --- /dev/null +++ b/examples/arco-pro/src/components/Chart/horizontal-interval.tsx @@ -0,0 +1,76 @@ +import { Spin } from '@arco-design/web-react' +import { Axis, Chart, Coordinate, G2, Interval, Tooltip } from 'bizcharts' +import React from 'react' +import CustomTooltip from './customer-tooltip' + +function HorizontalInterval({ + data, + loading, + height, +}: { + data: any[] + loading: boolean + height?: number +}) { + G2.registerShape('interval', 'border-radius', { + draw(cfg, container) { + const points = cfg.points as unknown as { x: string; y: number } + let path = [] + path.push(['M', points[0].x, points[0].y]) + path.push(['L', points[1].x, points[1].y]) + path.push(['L', points[2].x, points[2].y]) + path.push(['L', points[3].x, points[3].y]) + path.push('Z') + path = this.parsePath(path) // 将 0 - 1 转化为画布坐标 + + const group = container.addGroup() + const radius = (path[1][2] - path[2][2]) / 2 + group.addShape('rect', { + attrs: { + x: path[0][1], // 矩形起始点为左上角 + y: path[0][2] - radius * 2, + width: path[1][1] - path[0][1], + height: path[1][2] - path[2][2], + fill: cfg.color, + radius: radius, + }, + }) + return group + }, + }) + + return ( + + + + + + {(title, items) => { + return + }} + + + + + ) +} + +export default HorizontalInterval diff --git a/examples/arco-pro/src/components/Chart/multi-area-line.tsx b/examples/arco-pro/src/components/Chart/multi-area-line.tsx new file mode 100644 index 000000000..157840f0e --- /dev/null +++ b/examples/arco-pro/src/components/Chart/multi-area-line.tsx @@ -0,0 +1,63 @@ +import { Spin } from '@arco-design/web-react' +import { Area, Axis, Chart, Legend, Line, Tooltip } from 'bizcharts' +import React from 'react' +import CustomTooltip from './customer-tooltip' + +const areaColorMap = [ + 'l (90) 0:rgba(131, 100, 255, 0.5) 1:rgba(80, 52, 255, 0.001)', + 'l (90) 0:rgba(100, 255, 236, 0.5) 1:rgba(52, 255, 243, 0.001)', + 'l (90) 0:rgba(255, 211, 100, 0.5) 1:rgba(255, 235, 52, 0.001)', + 'l (90) 0:rgba(100, 162, 255, 0.5) 1:rgba(52, 105, 255, 0.001)', +] + +const lineColorMap = ['#722ED1', '#33D1C9', '#F77234', '#165DFF'] + +function MultiAreaLine({ data, loading }: { data: any[]; loading: boolean }) { + return ( + + + + + + {(title, items) => { + return ( + b.value - a.value)} + formatter={(value) => Number(value).toLocaleString()} + /> + ) + }} + + `${Number(value) / 100} k` }} + /> + + + + ) +} + +export default MultiAreaLine diff --git a/examples/arco-pro/src/components/Chart/multi-stack-interval.tsx b/examples/arco-pro/src/components/Chart/multi-stack-interval.tsx new file mode 100644 index 000000000..2984cbbe7 --- /dev/null +++ b/examples/arco-pro/src/components/Chart/multi-stack-interval.tsx @@ -0,0 +1,44 @@ +import { Spin } from '@arco-design/web-react' +import { Axis, Chart, Interval, Legend, Tooltip } from 'bizcharts' +import React from 'react' +import CustomTooltip from './customer-tooltip' + +function MultiInterval({ data, loading }: { data: any[]; loading: boolean }) { + return ( + + + + + {(title, items) => { + return + }} + + + + + + ) +} + +export default MultiInterval diff --git a/examples/arco-pro/src/components/Chart/overview-area-line.tsx b/examples/arco-pro/src/components/Chart/overview-area-line.tsx new file mode 100644 index 000000000..f04490b06 --- /dev/null +++ b/examples/arco-pro/src/components/Chart/overview-area-line.tsx @@ -0,0 +1,83 @@ +import { Spin } from '@arco-design/web-react' +import { Area, Axis, Chart, Line, Tooltip } from 'bizcharts' +import React from 'react' +import CustomTooltip from './customer-tooltip' + +function OverviewAreaLine({ + data, + loading, + name = '总内容量', + color = '#4080FF', +}: { + data: any[] + loading: boolean + name?: string + color?: string +}) { + return ( + + + + + + + + {(title, items) => { + return ( + Number(value).toLocaleString()} + /> + ) + }} + + + + ) +} + +export default OverviewAreaLine diff --git a/examples/arco-pro/src/components/Chart/period-legend-line.tsx b/examples/arco-pro/src/components/Chart/period-legend-line.tsx new file mode 100644 index 000000000..0af7f2dd1 --- /dev/null +++ b/examples/arco-pro/src/components/Chart/period-legend-line.tsx @@ -0,0 +1,81 @@ +import useBizTheme from '@/utils/useChartTheme' +import { Spin } from '@arco-design/web-react' +import { Axis, Chart, Legend, Line, Slider, Tooltip } from 'bizcharts' +import React from 'react' +import CustomTooltip from './customer-tooltip' + +const lineColor = ['#21CCFF', '#313CA9', '#249EFF'] +function PeriodLine({ data, loading }: { data: any[]; loading: boolean }) { + return ( + + + + + {(title, items) => { + return + }} + + + { + return { + symbol: 'circle', + style: { + fill: lineColor[index], + r: 4, + }, + } + }} + /> + item.rate), + isArea: true, + areaStyle: { + fill: 'rgba(4, 135, 255, 0.15)', + opacity: 1, + }, + backgroundStyle: { + fill: '#F2F3F5', + }, + lineStyle: { + stroke: 'rgba(36, 158, 255, 0.3)', + lineWidth: 2, + }, + }} + handlerStyle={{ + fill: '#ffffff', + opacity: 1, + width: 22, + height: 22, + stroke: '#165DFF', + }} + /> + + + ) +} + +export default PeriodLine diff --git a/examples/arco-pro/src/components/Chart/style/index.module.less b/examples/arco-pro/src/components/Chart/style/index.module.less new file mode 100644 index 000000000..f2ab0e326 --- /dev/null +++ b/examples/arco-pro/src/components/Chart/style/index.module.less @@ -0,0 +1,36 @@ +.customer-tooltip { + &-title { + margin-bottom: 4px; + } + + &-item { + height: 32px; + line-height: 32px; + display: flex; + justify-content: space-between; + padding: 0 8px; + background: rgb(255 255 255 / 90%); + box-shadow: 6px 0 20px rgb(34 87 188 / 10%); + border-radius: 4px; + color: var(--color-text-2); + + :global(.arco-badge-status-dot) { + width: 10px; + height: 10px; + margin-right: 8px; + } + } + + &-item:not(:last-child) { + margin-bottom: 8px; + } +} + +body[arco-theme='dark'] { + .customer-tooltip { + &-item { + background: #2a2a2b; + box-shadow: 6px 0px 20px rgba(34, 87, 188, 0.1); + } + } +} diff --git a/examples/arco-pro/src/components/Footer/index.tsx b/examples/arco-pro/src/components/Footer/index.tsx new file mode 100644 index 000000000..07459f9a0 --- /dev/null +++ b/examples/arco-pro/src/components/Footer/index.tsx @@ -0,0 +1,16 @@ +import { Layout } from '@arco-design/web-react' +import { FooterProps } from '@arco-design/web-react/es/Layout/interface' +import cs from 'classnames' +import React from 'react' +import styles from './style/index.module.less' + +function Footer(props: FooterProps = {}) { + const { className, ...restProps } = props + return ( + + Arco Design Pro + + ) +} + +export default Footer diff --git a/examples/arco-pro/src/components/Footer/style/index.module.less b/examples/arco-pro/src/components/Footer/style/index.module.less new file mode 100644 index 000000000..892f71c61 --- /dev/null +++ b/examples/arco-pro/src/components/Footer/style/index.module.less @@ -0,0 +1,8 @@ +.footer { + display: flex; + align-items: center; + justify-content: center; + height: 40px; + text-align: center; + color: var(--color-text-2); +} diff --git a/examples/arco-pro/src/components/MessageBox/index.tsx b/examples/arco-pro/src/components/MessageBox/index.tsx new file mode 100644 index 000000000..17a3c91ae --- /dev/null +++ b/examples/arco-pro/src/components/MessageBox/index.tsx @@ -0,0 +1,139 @@ +import { Avatar, Badge, Button, Spin, Tabs, Trigger } from '@arco-design/web-react' +import { IconCustomerService, IconDesktop, IconFile, IconMessage } from '@arco-design/web-react/icon' +import axios from 'axios' +import groupBy from 'lodash/groupBy' +import React, { useEffect, useState } from 'react' +import useLocale from '../../utils/useLocale' +import MessageList, { MessageListType } from './list' +import styles from './style/index.module.less' + +function DropContent() { + const t = useLocale() + const [loading, setLoading] = useState(false) + const [groupData, setGroupData] = useState<{ + [key: string]: MessageListType + }>({}) + const [sourceData, setSourceData] = useState([]) + + function fetchSourceData(showLoading = true) { + showLoading && setLoading(true) + axios + .get('/api/message/list') + .then((res) => { + setSourceData(res.data) + }) + .finally(() => { + showLoading && setLoading(false) + }) + } + + function readMessage(data: MessageListType) { + const ids = data.map((item) => item.id) + axios + .post('/api/message/read', { + ids, + }) + .then(() => { + fetchSourceData() + }) + } + + useEffect(() => { + fetchSourceData() + }, []) + + useEffect(() => { + const groupData: { [key: string]: MessageListType } = groupBy( + sourceData, + 'type', + ) + setGroupData(groupData) + }, [sourceData]) + + const tabList = [ + { + key: 'message', + title: t['message.tab.title.message'], + titleIcon: , + }, + { + key: 'notice', + title: t['message.tab.title.notice'], + titleIcon: , + }, + { + key: 'todo', + title: t['message.tab.title.todo'], + titleIcon: , + avatar: ( + + + + ), + }, + ] + + return ( +
+ + setSourceData([])}> + {t['message.empty']} + + } + > + {tabList.map((item) => { + const { key, title, avatar } = item + const data = groupData[key] || [] + const unReadData = data.filter((item) => !item.status) + return ( + + {title} + {unReadData.length ? `(${unReadData.length})` : ''} + + } + > + { + readMessage([item]) + }} + onAllBtnClick={(unReadData) => { + readMessage(unReadData) + }} + /> + + ) + })} + + +
+ ) +} + +function MessageBox({ children }) { + return ( + } + position="br" + unmountOnExit={false} + popupAlign={{ bottom: 4 }} + > + + {children} + + + ) +} + +export default MessageBox diff --git a/examples/arco-pro/src/components/MessageBox/list.tsx b/examples/arco-pro/src/components/MessageBox/list.tsx new file mode 100644 index 000000000..fbf258917 --- /dev/null +++ b/examples/arco-pro/src/components/MessageBox/list.tsx @@ -0,0 +1,114 @@ +import { Avatar, Button, List, Result, Space, Tag, Typography } from '@arco-design/web-react' +import React from 'react' +import useLocale from '../../utils/useLocale' +import styles from './style/index.module.less' + +export interface MessageItemData { + id: string + title: string + subTitle?: string + avatar?: string + content: string + time?: string + status: number + tag?: { + text?: string + color?: string + } +} + +export type MessageListType = MessageItemData[] + +interface MessageListProps { + data: MessageItemData[] + unReadData: MessageItemData[] + onItemClick?: (item: MessageItemData, index: number) => void + onAllBtnClick?: ( + unReadData: MessageItemData[], + data: MessageItemData[], + ) => void +} + +function MessageList(props: MessageListProps) { + const t = useLocale() + const { data, unReadData } = props + + function onItemClick(item: MessageItemData, index: number) { + if (item.status) return + props.onItemClick && props.onItemClick(item, index) + } + + function onAllBtnClick() { + props.onAllBtnClick && props.onAllBtnClick(unReadData, data) + } + + return ( + } + footer={ +
+
+ +
+
+ +
+
+ } + > + {data.map((item, index) => ( + +
{ + onItemClick(item, index) + }} + > + + + + )} + title={ +
+ + {item.title} + + {item.subTitle} + + + {item.tag && item.tag.text ? {item.tag.text} : null} +
+ } + description={ +
+ + {item.content} + + + {item.time} + +
+ } + /> +
+
+ ))} +
+ ) +} + +export default MessageList diff --git a/examples/arco-pro/src/components/MessageBox/style/index.module.less b/examples/arco-pro/src/components/MessageBox/style/index.module.less new file mode 100644 index 000000000..1c4742461 --- /dev/null +++ b/examples/arco-pro/src/components/MessageBox/style/index.module.less @@ -0,0 +1,46 @@ +@import '@arco-themes/react-arco-pro/variables.less'; + +.message-box { + width: 400px; + max-height: 800px; + background-color: var(--color-bg-popup); + border: 1px solid var(--color-border-2); + box-shadow: @shadow2-down; + border-radius: @border-radius-medium; + + :global(.arco-tabs-header-nav) { + padding: 8px 16px; + border-bottom: 1px solid var(--color-border-2); + } + + :global(.arco-list-item-meta) { + align-items: flex-start; + } + + :global(.arco-list-item-meta-content) { + width: 100%; + } + + :global(.arco-tabs-content) { + padding-top: 0; + } +} + +.message-title { + display: flex; + justify-content: space-between; +} + +.footer { + display: flex; +} + +.footer-item { + display: flex; + justify-content: center; + width: 50%; + + &:first-child { + border-right: 1px solid var(--color-border-2); + } +} diff --git a/examples/arco-pro/src/components/NavBar/IconButton.tsx b/examples/arco-pro/src/components/NavBar/IconButton.tsx new file mode 100644 index 000000000..5da13e1d5 --- /dev/null +++ b/examples/arco-pro/src/components/NavBar/IconButton.tsx @@ -0,0 +1,21 @@ +import { Button } from '@arco-design/web-react' +import cs from 'classnames' +import React, { forwardRef } from 'react' +import styles from './style/icon-button.module.less' + +function IconButton(props, ref) { + const { icon, className, ...rest } = props + + return ( + + + +
+ + + +
+
+ + } /> + + +
+ + ) +} diff --git a/examples/arco-pro/src/pages/dashboard/monitor/data-statistic-list.tsx b/examples/arco-pro/src/pages/dashboard/monitor/data-statistic-list.tsx new file mode 100644 index 000000000..a039e9f96 --- /dev/null +++ b/examples/arco-pro/src/pages/dashboard/monitor/data-statistic-list.tsx @@ -0,0 +1,76 @@ +import useLocale from '@/utils/useLocale' +import { Table, Tag, Typography } from '@arco-design/web-react' +import React from 'react' +import locale from './locale' +import styles from './style/index.module.less' + +export default function QuickOperation() { + const t = useLocale(locale) + const columns = [ + { + title: t['monitor.list.title.order'], + render: (_col, _record, index) => {index + 1}, + }, + { + title: t['monitor.list.title.cover'], + dataIndex: 'cover', + render: (_col, record) => ( +
+ + {record.status === -1 && ( + + {t['monitor.list.tag.auditFailed']} + + )} +
+ ), + }, + { + title: t['monitor.list.title.name'], + dataIndex: 'name', + }, + { + dataIndex: 'duration', + title: t['monitor.list.title.duration'], + }, + { + dataIndex: 'id', + title: t['monitor.list.title.id'], + }, + ] + const data = [ + { + cover: + 'http://p1-arco.byteimg.com/tos-cn-i-uwbnlip3yd/c788fc704d32cf3b1136c7d45afc2669.png~tplv-uwbnlip3yd-webp.webp', + name: '视频直播', + duration: '00:05:19', + id: '54e23ade', + status: -1, + }, + ] + return ( +
+ + + {t['monitor.list.tip.rotations']} + {data.length} + {t['monitor.list.tip.rest']} + + + ) +} diff --git a/examples/arco-pro/src/pages/dashboard/monitor/data-statistic.tsx b/examples/arco-pro/src/pages/dashboard/monitor/data-statistic.tsx new file mode 100644 index 000000000..8a4c14ec8 --- /dev/null +++ b/examples/arco-pro/src/pages/dashboard/monitor/data-statistic.tsx @@ -0,0 +1,42 @@ +import useLocale from '@/utils/useLocale' +import { Button, Card, Radio, Tabs } from '@arco-design/web-react' +import React from 'react' +import DataStatisticList from './data-statistic-list' +import locale from './locale' +import styles from './style/index.module.less' + +export default function DataStatistic() { + const t = useLocale(locale) + return ( + + + + + +
+ + {t['monitor.liveMethod.normal']} + {t['monitor.liveMethod.flowControl']} + {t['monitor.liveMethod.video']} + {t['monitor.liveMethod.web']} + + +
+
+ + +
+
+ +
+
+
+
+ ) +} diff --git a/examples/arco-pro/src/pages/dashboard/monitor/index.tsx b/examples/arco-pro/src/pages/dashboard/monitor/index.tsx new file mode 100644 index 000000000..b511fdfaf --- /dev/null +++ b/examples/arco-pro/src/pages/dashboard/monitor/index.tsx @@ -0,0 +1,37 @@ +import { Space } from '@arco-design/web-react' +import React from 'react' +import { useSelector } from 'react-redux' +import ChatPanel from './chat-panel' +import DataStatistic from './data-statistic' +import './mock' +import QuickOperation from './quick-operation' +import Studio from './studio' +import StudioInformation from './studio-information' +import StudioStatus from './studio-status' +import styles from './style/index.module.less' + +export default function Monitor() { + const userInfo = useSelector((state: any) => state.userInfo) + return ( +
+
+
+ +
+
+ + + + +
+
+ + + + + +
+
+
+ ) +} diff --git a/examples/arco-pro/src/pages/dashboard/monitor/locale/index.ts b/examples/arco-pro/src/pages/dashboard/monitor/locale/index.ts new file mode 100644 index 000000000..745b9bbdd --- /dev/null +++ b/examples/arco-pro/src/pages/dashboard/monitor/locale/index.ts @@ -0,0 +1,99 @@ +const i18n = { + "en-US": { + "menu.dashboard": "Dashboard", + "monitor.title.chatPanel": "Chat Window", + "monitor.title.quickOperation": "Quick Operation", + "monitor.title.studioInfo": "Studio Information", + "monitor.title.studioPreview": "Studio Preview", + "monitor.chat.options.all": "All", + "monitor.chat.placeholder.searchCategory": "Search Category", + "monitor.chat.update": "Update", + "monitor.list.title.order": "Order", + "monitor.list.title.cover": "Cover", + "monitor.list.title.name": "Name", + "monitor.list.title.duration": "Duration", + "monitor.list.title.id": "ID", + "monitor.list.tip.rotations": "Rotations ", + "monitor.list.tip.rest": ", The program list is not visible to viewers", + "monitor.list.tag.auditFailed": "Audit Failed", + "monitor.tab.title.liveMethod": "Live Method", + "monitor.tab.title.onlineUsers": "Online Users", + "monitor.liveMethod.normal": "Normal Live", + "monitor.liveMethod.flowControl": "Flow Control Live", + "monitor.liveMethod.video": "Video Live", + "monitor.liveMethod.web": "Web Live", + "monitor.editCarousel": "Edit", + "monitor.startCarousel": "Start", + "monitor.quickOperation.changeClarity": "Change the Clarity", + "monitor.quickOperation.switchStream": "Switch Stream", + "monitor.quickOperation.removeClarity": "Remove the Clarity", + "monitor.quickOperation.pushFlowGasket": "Push Flow Gasket", + "monitor.studioInfo.label.studioTitle": "Studio Title", + "monitor.studioInfo.label.onlineNotification": "Online Notification", + "monitor.studioInfo.label.studioCategory": "Studio Category", + "monitor.studioInfo.placeholder.studioTitle": "'s Studio", + "monitor.studioStatus.title.studioStatus": "Studio Status", + "monitor.studioStatus.title.pictureInfo": "Picture Information", + "monitor.studioStatus.smooth": "Smooth", + "monitor.studioStatus.frameRate": "Frame", + "monitor.studioStatus.bitRate": "Bit", + "monitor.studioStatus.mainstream": "Main", + "monitor.studioStatus.hotStandby": "Hot", + "monitor.studioStatus.coldStandby": "Cold", + "monitor.studioStatus.line": "Line", + "monitor.studioStatus.play": "Format", + "monitor.studioStatus.pictureQuality": "Quality", + "monitor.studioPreview.studio": "Studio", + "monitor.studioPreview.watching": "watching" + }, + "zh-CN": { + "menu.dashboard": "仪表盘", + "menu.dashboard.monitor": "实时监控", + "monitor.title.chatPanel": "聊天窗口", + "monitor.title.quickOperation": "快捷操作", + "monitor.title.studioInfo": "直播信息", + "monitor.title.studioPreview": "直播预览", + "monitor.chat.options.all": "全部", + "monitor.chat.placeholder.searchCategory": "搜索类目", + "monitor.chat.update": "更新", + "monitor.list.title.order": "序号", + "monitor.list.title.cover": "封面", + "monitor.list.title.name": "名称", + "monitor.list.title.duration": "视频时长", + "monitor.list.title.id": "视频Id", + "monitor.list.tip.rotations": "轮播次数", + "monitor.list.tip.rest": ",节目单观众不可见", + "monitor.list.tag.auditFailed": "审核未通过", + "monitor.tab.title.liveMethod": "直播方式", + "monitor.tab.title.onlineUsers": "在线人数", + "monitor.liveMethod.normal": "普通直播", + "monitor.liveMethod.flowControl": "控流直播", + "monitor.liveMethod.video": "视频直播", + "monitor.liveMethod.web": "网页开播", + "monitor.editCarousel": "编辑轮播", + "monitor.startCarousel": "开始轮播", + "monitor.quickOperation.changeClarity": "切换清晰度", + "monitor.quickOperation.switchStream": "主备流切换", + "monitor.quickOperation.removeClarity": "摘除清晰度", + "monitor.quickOperation.pushFlowGasket": "推流垫片", + "monitor.studioInfo.label.studioTitle": "直播标题", + "monitor.studioInfo.label.onlineNotification": "上线通知", + "monitor.studioInfo.label.studioCategory": "直播类目", + "monitor.studioInfo.placeholder.studioTitle": "的直播间", + "monitor.studioStatus.title.studioStatus": "直播状态", + "monitor.studioStatus.title.pictureInfo": "画面信息", + "monitor.studioStatus.smooth": "流畅", + "monitor.studioStatus.frameRate": "帧率", + "monitor.studioStatus.bitRate": "码率", + "monitor.studioStatus.mainstream": "主流", + "monitor.studioStatus.hotStandby": "热备", + "monitor.studioStatus.coldStandby": "冷备", + "monitor.studioStatus.line": "线路", + "monitor.studioStatus.play": "播放格式", + "monitor.studioStatus.pictureQuality": "画质", + "monitor.studioPreview.studio": "直播间", + "monitor.studioPreview.watching": "在看" + } +}; + +export default i18n; diff --git a/examples/arco-pro/src/pages/dashboard/monitor/message-list/index.tsx b/examples/arco-pro/src/pages/dashboard/monitor/message-list/index.tsx new file mode 100644 index 000000000..d6b575d3d --- /dev/null +++ b/examples/arco-pro/src/pages/dashboard/monitor/message-list/index.tsx @@ -0,0 +1,20 @@ +import { Result } from '@arco-design/web-react' +import React from 'react' +import MessageItem, { Message } from './item' +import styles from './style/index.module.less' + +interface MessageListProps { + data: Message[] +} + +function MessageList(props: MessageListProps) { + const { data = [] } = props + return ( +
+ {data.map((item) => )} + {!data.length && } +
+ ) +} + +export default MessageList diff --git a/examples/arco-pro/src/pages/dashboard/monitor/message-list/item.tsx b/examples/arco-pro/src/pages/dashboard/monitor/message-list/item.tsx new file mode 100644 index 000000000..d71ae017d --- /dev/null +++ b/examples/arco-pro/src/pages/dashboard/monitor/message-list/item.tsx @@ -0,0 +1,52 @@ +import { Space, Typography } from '@arco-design/web-react' +import { IconCommand, IconStar } from '@arco-design/web-react/icon' +import cs from 'classnames' +import React from 'react' +import styles from './style/index.module.less' + +export interface Message { + id?: string + username?: string + content?: string + time?: string + isCollect?: boolean +} + +export interface MessageItemProps { + data: Message +} + +function MessageItem(props: MessageItemProps) { + const { data = {} } = props + const classNames = cs(styles['message-item'], { + [styles['message-item-collected']]: data.isCollect, + }) + return ( +
+ + {data.username} + {data.content} +
+
+ {data.time} +
+
+
+ +
+
+ +
+
+
+
+
+ ) +} + +export default MessageItem diff --git a/examples/arco-pro/src/pages/dashboard/monitor/message-list/style/index.module.less b/examples/arco-pro/src/pages/dashboard/monitor/message-list/style/index.module.less new file mode 100644 index 000000000..afa031686 --- /dev/null +++ b/examples/arco-pro/src/pages/dashboard/monitor/message-list/style/index.module.less @@ -0,0 +1,52 @@ +.message-item { + font-size: 12px; + line-height: 20px; + padding: 8px; + border-radius: 2px; + + &-footer { + display: flex; + justify-content: space-between; + align-items: center; + } + + &-actions { + display: flex; + opacity: 0; + + &-item { + margin-right: 4px; + font-size: 14px; + color: var(--color-text-3); + width: 20px; + height: 20px; + border-radius: 50%; + display: flex; + justify-content: center; + align-items: center; + cursor: pointer; + + &:hover { + background-color: rgb(var(--gray-3)); + } + + &:last-child { + margin-right: 0; + } + } + } + + &-collected { + .message-item-actions-collect { + color: rgb(var(--gold-6)); + } + } + + &:hover { + background-color: rgb(var(--gray-2)); + + .message-item-actions { + opacity: 1; + } + } +} diff --git a/examples/arco-pro/src/pages/dashboard/monitor/mock/index.ts b/examples/arco-pro/src/pages/dashboard/monitor/mock/index.ts new file mode 100644 index 000000000..1113c672a --- /dev/null +++ b/examples/arco-pro/src/pages/dashboard/monitor/mock/index.ts @@ -0,0 +1,21 @@ +import setupMock from "@/utils/setupMock"; +import Mock from "mockjs"; + +setupMock({ + setup: () => { + Mock.mock(new RegExp("/api/chatList"), () => { + const data = Mock.mock({ + "data|4-6": [ + { + "id|+1": 1, + username: "用户7352772", + content: "马上就开始了,好激动!", + time: "13:09:12", + "isCollect|2": true + } + ] + }); + return data.data; + }); + } +}); diff --git a/examples/arco-pro/src/pages/dashboard/monitor/quick-operation.tsx b/examples/arco-pro/src/pages/dashboard/monitor/quick-operation.tsx new file mode 100644 index 000000000..e9616834d --- /dev/null +++ b/examples/arco-pro/src/pages/dashboard/monitor/quick-operation.tsx @@ -0,0 +1,30 @@ +import useLocale from '@/utils/useLocale' +import { Button, Card, Space, Typography } from '@arco-design/web-react' +import { IconArrowRight, IconStop, IconSwap, IconTags } from '@arco-design/web-react/icon' +import React from 'react' +import locale from './locale' + +export default function QuickOperation() { + const t = useLocale(locale) + return ( + + + {t['monitor.title.quickOperation']} + + + + + + + + + ) +} diff --git a/examples/arco-pro/src/pages/dashboard/monitor/studio-information.tsx b/examples/arco-pro/src/pages/dashboard/monitor/studio-information.tsx new file mode 100644 index 000000000..f604a2fff --- /dev/null +++ b/examples/arco-pro/src/pages/dashboard/monitor/studio-information.tsx @@ -0,0 +1,41 @@ +import useLocale from '@/utils/useLocale' +import { Button, Card, Form, Input, Typography } from '@arco-design/web-react' +import React from 'react' +import locale from './locale' + +export default function StudioInformation() { + const t = useLocale(locale) + return ( + + + {t['monitor.title.studioInfo']} + +
+ + + + + + + + + + + + + + +
+ ) +} diff --git a/examples/arco-pro/src/pages/dashboard/monitor/studio-status.tsx b/examples/arco-pro/src/pages/dashboard/monitor/studio-status.tsx new file mode 100644 index 000000000..47705248b --- /dev/null +++ b/examples/arco-pro/src/pages/dashboard/monitor/studio-status.tsx @@ -0,0 +1,102 @@ +import useLocale from '@/utils/useLocale' +import { Card, Descriptions, Space, Tag, Typography } from '@arco-design/web-react' +import React from 'react' +import locale from './locale' + +export default function StudioStatus() { + const t = useLocale(locale) + const dataStatus = [ + { + label: ( + + + {t['monitor.studioStatus.mainstream']} + + {t['monitor.studioStatus.bitRate']} + + ), + value: '6 Mbps', + }, + { + label: t['monitor.studioStatus.frameRate'], + value: '60', + }, + { + label: ( + + + {t['monitor.studioStatus.hotStandby']} + + {t['monitor.studioStatus.bitRate']} + + ), + value: '6 Mbps', + }, + { + label: t['monitor.studioStatus.frameRate'], + value: '60', + }, + { + label: ( + + + {t['monitor.studioStatus.coldStandby']} + + {t['monitor.studioStatus.bitRate']} + + ), + value: '6 Mbps', + }, + { + label: t['monitor.studioStatus.frameRate'], + value: '60', + }, + ] + const dataPicture = [ + { + label: t['monitor.studioStatus.line'], + value: '热备', + }, + { + label: 'CDN', + value: 'KS', + }, + { + label: t['monitor.studioStatus.play'], + value: 'FLV', + }, + { + label: t['monitor.studioStatus.pictureQuality'], + value: '原画', + }, + ] + + return ( + + + + {t['monitor.studioStatus.title.studioStatus']} + + {t['monitor.studioStatus.smooth']} + + + + {t['monitor.studioStatus.title.pictureInfo']} + + + + ) +} diff --git a/examples/arco-pro/src/pages/dashboard/monitor/studio.tsx b/examples/arco-pro/src/pages/dashboard/monitor/studio.tsx new file mode 100644 index 000000000..639b32193 --- /dev/null +++ b/examples/arco-pro/src/pages/dashboard/monitor/studio.tsx @@ -0,0 +1,59 @@ +import useLocale from '@/utils/useLocale' +import { Avatar, Card, Grid, Space, Typography } from '@arco-design/web-react' +import { IconMore } from '@arco-design/web-react/icon' +import React from 'react' +import locale from './locale' +import styles from './style/index.module.less' + +interface StudioProps { + userInfo: { + name?: string + avatar?: string + } +} + +export default function Studio(props: StudioProps) { + const t = useLocale(locale) + const { userInfo } = props + return ( + + + + + {t['monitor.title.studioPreview']} + + + + + + +
+ +
+ {userInfo && ( +
+ + + + + + {userInfo.name} + {t['monitor.studioPreview.studio']} + + +
+ )} + + 3,6000 {t['monitor.studioPreview.watching']} + +
+
+
+ ) +} diff --git a/examples/arco-pro/src/pages/dashboard/monitor/style/index.module.less b/examples/arco-pro/src/pages/dashboard/monitor/style/index.module.less new file mode 100644 index 000000000..d9ede3694 --- /dev/null +++ b/examples/arco-pro/src/pages/dashboard/monitor/style/index.module.less @@ -0,0 +1,94 @@ +.layout { + display: flex; + + &-left-side { + flex-basis: 300px; + } + + &-content { + flex: 1; + padding: 0 16px; + } + + &-right-side { + flex-basis: 280px; + } +} + +.chat-panel { + height: 100%; + background-color: var(--color-bg-2); + padding: 20px; + box-sizing: border-box; + display: flex; + flex-direction: column; + border-radius: 4px; + + &-content { + flex: 1; + margin: 20px 0; + box-sizing: border-box; + } +} + +.data-statistic { + &-content { + padding: 20px 0; + } + + &-list { + &-header { + margin-top: 16px; + display: flex; + justify-content: space-between; + } + + &-content { + margin-top: 16px; + } + + &-cover { + &-wrapper { + height: 68px; + position: relative; + + img { + height: 100%; + } + } + + &-tag { + position: absolute; + top: 6px; + left: 6px; + } + } + + &-tip { + display: block; + margin-top: 16px; + text-align: center; + } + } +} + +.studio { + &-wrapper { + :global(.arco-card-body) { + padding-top: 0 !important; + } + } + + &-preview { + width: 100%; + max-width: 600px; + display: block; + margin: 0 auto; + } + + &-bar { + margin-top: 16px; + display: flex; + justify-content: space-between; + } +} diff --git a/examples/arco-pro/src/pages/dashboard/workplace/announcement.tsx b/examples/arco-pro/src/pages/dashboard/workplace/announcement.tsx new file mode 100644 index 000000000..bbe3559a0 --- /dev/null +++ b/examples/arco-pro/src/pages/dashboard/workplace/announcement.tsx @@ -0,0 +1,67 @@ +import useLocale from '@/utils/useLocale' +import { Card, Link, Skeleton, Tag, Typography } from '@arco-design/web-react' +import axios from 'axios' +import React, { useEffect, useState } from 'react' +import locale from './locale' +import styles from './style/announcement.module.less' + +function Announcement() { + const [data, setData] = useState([]) + const [loading, setLoading] = useState(true) + + const t = useLocale(locale) + + const fetchData = () => { + setLoading(true) + axios + .get('/api/workplace/announcement') + .then((res) => { + setData(res.data) + }) + .finally(() => { + setLoading(false) + }) + } + + useEffect(() => { + fetchData() + }, []) + + function getTagColor(type) { + switch (type) { + case 'activity': + return 'orangered' + case 'info': + return 'cyan' + case 'notice': + return 'arcoblue' + default: + return 'arcoblue' + } + } + + return ( + +
+ + {t['workplace.announcement']} + + {t['workplace.seeMore']} +
+ +
+ {data.map((d) => ( +
+ + {t[`workplace.${d.type}`]} + + {d.content} +
+ ))} +
+
+
+ ) +} + +export default Announcement diff --git a/examples/arco-pro/src/pages/dashboard/workplace/assets/calendar.svg b/examples/arco-pro/src/pages/dashboard/workplace/assets/calendar.svg new file mode 100644 index 000000000..ceeb8ee08 --- /dev/null +++ b/examples/arco-pro/src/pages/dashboard/workplace/assets/calendar.svg @@ -0,0 +1,86 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/examples/arco-pro/src/pages/dashboard/workplace/assets/comments.svg b/examples/arco-pro/src/pages/dashboard/workplace/assets/comments.svg new file mode 100644 index 000000000..b537d09ec --- /dev/null +++ b/examples/arco-pro/src/pages/dashboard/workplace/assets/comments.svg @@ -0,0 +1,71 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/examples/arco-pro/src/pages/dashboard/workplace/assets/content.svg b/examples/arco-pro/src/pages/dashboard/workplace/assets/content.svg new file mode 100644 index 000000000..204c74930 --- /dev/null +++ b/examples/arco-pro/src/pages/dashboard/workplace/assets/content.svg @@ -0,0 +1,168 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/examples/arco-pro/src/pages/dashboard/workplace/assets/increase.svg b/examples/arco-pro/src/pages/dashboard/workplace/assets/increase.svg new file mode 100644 index 000000000..0d261cea4 --- /dev/null +++ b/examples/arco-pro/src/pages/dashboard/workplace/assets/increase.svg @@ -0,0 +1,77 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/examples/arco-pro/src/pages/dashboard/workplace/carousel.tsx b/examples/arco-pro/src/pages/dashboard/workplace/carousel.tsx new file mode 100644 index 000000000..6293206bf --- /dev/null +++ b/examples/arco-pro/src/pages/dashboard/workplace/carousel.tsx @@ -0,0 +1,36 @@ +import { Carousel } from '@arco-design/web-react' +import React from 'react' + +const imageSrc = [ + '//p1-arco.byteimg.com/tos-cn-i-uwbnlip3yd/f7e8fc1e09c42e30682526252365be1c.jpg~tplv-uwbnlip3yd-webp.webp', + '//p1-arco.byteimg.com/tos-cn-i-uwbnlip3yd/94e8dd2d6dc4efb2c8cfd82c0ff02a2c.jpg~tplv-uwbnlip3yd-webp.webp', + '//p1-arco.byteimg.com/tos-cn-i-uwbnlip3yd/ec447228c59ae1ebe185bab6cd776ca4.jpg~tplv-uwbnlip3yd-webp.webp', + '//p1-arco.byteimg.com/tos-cn-i-uwbnlip3yd/1d1580d2a5a1e27415ff594c756eabd8.jpg~tplv-uwbnlip3yd-webp.webp', +] +function C() { + return ( + + {imageSrc.map((src, index) => ( +
+ +
+ ))} +
+ ) +} + +export default C diff --git a/examples/arco-pro/src/pages/dashboard/workplace/content-percentage.tsx b/examples/arco-pro/src/pages/dashboard/workplace/content-percentage.tsx new file mode 100644 index 000000000..b01bebd64 --- /dev/null +++ b/examples/arco-pro/src/pages/dashboard/workplace/content-percentage.tsx @@ -0,0 +1,88 @@ +import useLocale from '@/utils/useLocale' +import { Card, Spin, Typography } from '@arco-design/web-react' +import axios from 'axios' +import { DonutChart } from 'bizcharts' +import React, { useEffect, useState } from 'react' +import locale from './locale' + +function PopularContent() { + const t = useLocale(locale) + const [data, setData] = useState([]) + const [loading, setLoading] = useState(true) + + const fetchData = () => { + setLoading(true) + axios + .get('/api/workplace/content-percentage') + .then((res) => { + setData(res.data) + }) + .finally(() => { + setLoading(false) + }) + } + + useEffect(() => { + fetchData() + }, []) + + return ( + + + {t['workplace.contentPercentage']} + + + `${(v.percent * 100).toFixed(0)}%`, + style: { + fill: '#86909C', + fontSize: 14, + }, + }} + legend={{ + position: 'bottom', + }} + statistic={{ + title: { + style: { + fontSize: '14px', + lineHeight: 2, + color: 'rgb(--var(color-text-1))', + }, + formatter: () => '内容量', + }, + content: { + style: { + fontSize: '16px', + color: 'rgb(--var(color-text-1))', + }, + formatter: (_, data) => { + const sum = data.reduce((a, b) => a + b.count, 0) + return Number(sum).toLocaleString() + }, + }, + }} + /> + + + ) +} + +export default PopularContent diff --git a/examples/arco-pro/src/pages/dashboard/workplace/docs.tsx b/examples/arco-pro/src/pages/dashboard/workplace/docs.tsx new file mode 100644 index 000000000..cad1c4354 --- /dev/null +++ b/examples/arco-pro/src/pages/dashboard/workplace/docs.tsx @@ -0,0 +1,32 @@ +import useLocale from '@/utils/useLocale' +import { Card, Link, Typography } from '@arco-design/web-react' +import React from 'react' +import locale from './locale' +import styles from './style/docs.module.less' + +const links = { + react: 'https://arco.design/react/docs/start', + vue: 'https://arco.design/vue/docs/start', + designLab: 'https://arco.design/themes', + materialMarket: 'https://arco.design/material/', +} +function QuickOperation() { + const t = useLocale(locale) + return ( + +
+ {t['workplace.docs']} + {t['workplace.seeMore']} +
+
+ {Object.entries(links).map(([key, value]) => ( + + {t[`workplace.${key}`]} + + ))} +
+
+ ) +} + +export default QuickOperation diff --git a/examples/arco-pro/src/pages/dashboard/workplace/index.tsx b/examples/arco-pro/src/pages/dashboard/workplace/index.tsx new file mode 100644 index 000000000..ce7f9d194 --- /dev/null +++ b/examples/arco-pro/src/pages/dashboard/workplace/index.tsx @@ -0,0 +1,41 @@ +import { Grid, Space } from '@arco-design/web-react' +import React from 'react' +import Announcement from './announcement' +import Carousel from './carousel' +import ContentPercentage from './content-percentage' +import Docs from './docs' +import './mock' +import Overview from './overview' +import PopularContents from './popular-contents' +import Shortcuts from './shortcuts' +import styles from './style/index.module.less' + +const { Row, Col } = Grid + +const gutter = 16 + +function Workplace() { + return ( + + + + + + + + + + + + + + + + + + + + ) +} + +export default Workplace diff --git a/examples/arco-pro/src/pages/dashboard/workplace/locale/index.ts b/examples/arco-pro/src/pages/dashboard/workplace/locale/index.ts new file mode 100644 index 000000000..7a556a5d4 --- /dev/null +++ b/examples/arco-pro/src/pages/dashboard/workplace/locale/index.ts @@ -0,0 +1,78 @@ +const i18n = { + "en-US": { + "workplace.welcomeBack": "Welcome Back,", + "workplace.totalOnlyData": "Total online data", + "workplace.contentInMarket": "Content in market", + "workplace.comments": "Comments", + "workplace.growth": "Growth", + "workplace.contentData": "Content Data", + "workplace.1year": "Nearly 1 Year", + "workplace.seeMore": "See More", + "workplace.popularContents": "Popular Contents", + "workplace.text": "Text", + "workplace.image": "Image", + "workplace.video": "Video", + "workplace.column.rank": "Rank", + "workplace.column.title": "Title", + "workplace.column.pv": "PV", + "workplace.column.increase": "Daily Increase", + "workplace.contentPercentage": "Percentage of content categories", + "workplace.shortcuts": "Shortcuts", + "workplace.manage": "Manage", + "workplace.contentMgmt": "Management", + "workplace.contentStatistic": "Statistic", + "workplace.advancedMgmt": "Advance", + "workplace.onlinePromotion": "Promotion", + "workplace.marketing": "Marketing", + "workplace.recent": "Recent", + "workplace.announcement": "Announcement", + "workplace.activity": "Activity", + "workplace.info": "Info", + "workplace.notice": "Notice", + "workplace.docs": "Document", + "workplace.pecs": "pecs", + "workplace.designLab": "DesignLab", + "workplace.materialMarket": "MaterialMarket", + "workplace.react": "React Quick Start", + "workplace.vue": "Vue Quick Start" + }, + "zh-CN": { + "workplace.welcomeBack": "欢迎回来,", + "workplace.totalOnlyData": "线上总数据", + "workplace.contentInMarket": "投放中的内容", + "workplace.comments": "日新增评论", + "workplace.growth": "较昨日新增", + "workplace.contentData": "内容数据", + "workplace.1year": "近1年", + "workplace.seeMore": "查看更多", + "workplace.popularContents": "线上热门内容", + "workplace.text": "文本", + "workplace.image": "图文", + "workplace.video": "视频", + "workplace.column.rank": "排名", + "workplace.column.title": "内容标题", + "workplace.column.pv": "点击量", + "workplace.column.increase": "日涨幅", + "workplace.contentPercentage": "内容类别占比", + "workplace.shortcuts": "快捷入口", + "workplace.manage": "管理", + "workplace.contentMgmt": "内容管理", + "workplace.contentStatistic": "内容数据", + "workplace.advancedMgmt": "高级管理", + "workplace.onlinePromotion": "线上推广", + "workplace.marketing": "内容投放", + "workplace.recent": "最近访问", + "workplace.announcement": "公告", + "workplace.activity": "活动", + "workplace.info": "消息", + "workplace.notice": "通知", + "workplace.docs": "文档中心", + "workplace.pecs": "个", + "workplace.designLab": "风格配置平台", + "workplace.materialMarket": "物料市场", + "workplace.react": "React 组件库", + "workplace.vue": "Vue 组件库" + } +}; + +export default i18n; diff --git a/examples/arco-pro/src/pages/dashboard/workplace/mock/index.ts b/examples/arco-pro/src/pages/dashboard/workplace/mock/index.ts new file mode 100644 index 000000000..a703219ee --- /dev/null +++ b/examples/arco-pro/src/pages/dashboard/workplace/mock/index.ts @@ -0,0 +1,117 @@ +import setupMock from "@/utils/setupMock"; +import Mock from "mockjs"; +import qs from "query-string"; + +setupMock({ + setup: () => { + Mock.mock(new RegExp("/api/workplace/overview-content"), () => { + const year = new Date().getFullYear(); + const getLineData = () => { + return new Array(12).fill(0).map((_item, index) => ({ + date: `${year}-${index + 1}`, + count: Mock.Random.natural(20000, 75000) + })); + }; + return { + allContents: "373.5w+", + liveContents: "368", + increaseComments: "8874", + growthRate: "2.8%", + chartData: getLineData() + }; + }); + + const getList = () => { + const { list } = Mock.mock({ + "list|100": [ + { + "rank|+1": 1, + title: () => + Mock.Random.pick([ + "经济日报:财政政策要精准提升效能", + "“双12”遇冷消费者厌倦了电商平台的促销“套路”", + "致敬坚守战“疫”一线的社区工作者", + "普高还是职高?家长们陷入选校难题" + ]), + pv: function () { + return 500000 - 3200 * this.rank; + }, + increase: "@float(-1, 1)" + } + ] + }); + return list; + }; + const listText = getList(); + const listPic = getList(); + const listVideo = getList(); + + Mock.mock(new RegExp("/api/workplace/popular-contents"), params => { + const { + page = 1, + pageSize = 5, + category = 0 + } = qs.parseUrl(params.url).query as unknown as { + page?: number; + pageSize?: number; + category?: number; + }; + + const list = [listText, listPic, listVideo][Number(category)]; + return { + list: list.slice((page - 1) * pageSize, page * pageSize), + total: 100 + }; + }); + + Mock.mock(new RegExp("/api/workplace/content-percentage"), () => { + return [ + { + type: "纯文本", + count: 148564, + percent: 0.16 + }, + { + type: "图文类", + count: 334271, + percent: 0.36 + }, + { + type: "视频类", + count: 445695, + percent: 0.48 + } + ]; + }); + + Mock.mock(new RegExp("/api/workplace/announcement"), () => { + return [ + { + type: "activity", + key: "1", + content: "内容最新优惠活动" + }, + { + type: "info", + key: "2", + content: "新增内容尚未通过审核,详情请点击查看。" + }, + { + type: "notice", + key: "3", + content: "当前产品试用期即将结束,如需续费请点击查看。" + }, + { + type: "notice", + key: "4", + content: "1 月新系统升级计划通知" + }, + { + type: "info", + key: "5", + content: "新增内容已经通过审核,详情请点击查看。" + } + ]; + }); + } +}); diff --git a/examples/arco-pro/src/pages/dashboard/workplace/overview.tsx b/examples/arco-pro/src/pages/dashboard/workplace/overview.tsx new file mode 100644 index 000000000..504ecebf8 --- /dev/null +++ b/examples/arco-pro/src/pages/dashboard/workplace/overview.tsx @@ -0,0 +1,141 @@ +import OverviewAreaLine from '@/components/Chart/overview-area-line' +import useLocale from '@/utils/useLocale' +import { Card, Divider, Grid, Link, Skeleton, Typography } from '@arco-design/web-react' +import { IconCaretUp } from '@arco-design/web-react/icon' +import axios from 'axios' +import React, { ReactNode, useEffect, useState } from 'react' +import { useSelector } from 'react-redux' +import IconCalendar from './assets/calendar.svg' +import IconComments from './assets/comments.svg' +import IconContent from './assets/content.svg' +import IconIncrease from './assets/increase.svg' +import locale from './locale' +import styles from './style/overview.module.less' + +const { Row, Col } = Grid + +type StatisticItemType = { + icon?: ReactNode + title?: ReactNode + count?: ReactNode + loading?: boolean + unit?: ReactNode +} + +function StatisticItem(props: StatisticItemType) { + const { icon, title, count, loading, unit } = props + return ( +
+
{icon}
+
+ +
{title}
+
+ {count} + {unit} +
+
+
+
+ ) +} + +type DataType = { + allContents?: string + liveContents?: string + increaseComments?: string + growthRate?: string + chartData?: { count?: number; date?: string }[] + down?: boolean +} + +function Overview() { + const [data, setData] = useState({}) + const [loading, setLoading] = useState(true) + const t = useLocale(locale) + + const userInfo = useSelector((state: any) => state.userInfo || {}) + + const fetchData = () => { + setLoading(true) + axios + .get('/api/workplace/overview-content') + .then((res) => { + setData(res.data) + }) + .finally(() => { + setLoading(false) + }) + } + + useEffect(() => { + fetchData() + }, []) + + return ( + + + {t['workplace.welcomeBack']} + {userInfo.name} + + + +
+ } + title={t['workplace.totalOnlyData']} + count={data.allContents} + loading={loading} + unit={t['workplace.pecs']} + /> + + + + } + title={t['workplace.contentInMarket']} + count={data.liveContents} + loading={loading} + unit={t['workplace.pecs']} + /> + + + + } + title={t['workplace.comments']} + count={data.increaseComments} + loading={loading} + unit={t['workplace.pecs']} + /> + + + + } + title={t['workplace.growth']} + count={ + + {data.growthRate} + + } + loading={loading} + /> + + + +
+
+ + {t['workplace.contentData']} + ({t['workplace.1year']}) + + {t['workplace.seeMore']} +
+ +
+ + ) +} + +export default Overview diff --git a/examples/arco-pro/src/pages/dashboard/workplace/popular-contents.tsx b/examples/arco-pro/src/pages/dashboard/workplace/popular-contents.tsx new file mode 100644 index 000000000..38d00c568 --- /dev/null +++ b/examples/arco-pro/src/pages/dashboard/workplace/popular-contents.tsx @@ -0,0 +1,113 @@ +import useLocale from '@/utils/useLocale' +import { Card, Link, Radio, Table, Typography } from '@arco-design/web-react' +import { IconCaretDown, IconCaretUp } from '@arco-design/web-react/icon' +import axios from 'axios' +import React, { useCallback, useEffect, useState } from 'react' +import locale from './locale' +import styles from './style/popular-contents.module.less' + +function PopularContent() { + const t = useLocale(locale) + const [type, setType] = useState(0) + const [data, setData] = useState([]) + const [loading, setLoading] = useState(true) + const [page, setPage] = useState(1) + const [total, setTotal] = useState(0) + + const fetchData = useCallback(() => { + setLoading(true) + axios + .get( + `/api/workplace/popular-contents?page=${page}&pageSize=5&category=${type}`, + ) + .then((res) => { + setData(res.data.list) + setTotal(res.data.total) + }) + .finally(() => { + setLoading(false) + }) + }, [page, type]) + + useEffect(() => { + fetchData() + }, [page, fetchData]) + + const columns = [ + { + title: t['workplace.column.rank'], + dataIndex: 'rank', + width: 65, + }, + { + title: t['workplace.column.title'], + dataIndex: 'title', + render: (x) => ( + + {x} + + ), + }, + { + title: t['workplace.column.pv'], + dataIndex: 'pv', + width: 100, + render: (text) => { + return `${text / 1000}k` + }, + }, + { + title: t['workplace.column.increase'], + dataIndex: 'increase', + sorter: (a, b) => a.increase - b.increase, + width: 110, + render: (text) => { + return ( + + {`${(text * 100).toFixed(2)}%`} + + {text < 0 + ? + : } + + + ) + }, + }, + ] + + return ( + +
+ + {t['workplace.popularContents']} + + {t['workplace.seeMore']} +
+ +
{ + setPage(pagination.current) + }} + pagination={{ total, current: page, pageSize: 5, simple: true }} + /> + + ) +} + +export default PopularContent diff --git a/examples/arco-pro/src/pages/dashboard/workplace/shortcuts.tsx b/examples/arco-pro/src/pages/dashboard/workplace/shortcuts.tsx new file mode 100644 index 000000000..de4f969db --- /dev/null +++ b/examples/arco-pro/src/pages/dashboard/workplace/shortcuts.tsx @@ -0,0 +1,105 @@ +import useLocale from '@/utils/useLocale' +import { Card, Divider, Link, Message, Typography } from '@arco-design/web-react' +import { IconFile, IconFire, IconMobile, IconSettings, IconStorage } from '@arco-design/web-react/icon' +import React from 'react' +import locale from './locale' +import styles from './style/shortcuts.module.less' + +function Shortcuts() { + const t = useLocale(locale) + + const shortcuts = [ + { + title: t['workplace.contentMgmt'], + key: 'Content Management', + icon: , + }, + { + title: t['workplace.contentStatistic'], + key: 'Content Statistic', + icon: , + }, + { + title: t['workplace.advancedMgmt'], + key: 'Advanced Management', + icon: , + }, + { + title: t['workplace.onlinePromotion'], + key: 'Online Promotion', + icon: , + }, + { + title: t['workplace.marketing'], + key: 'Marketing', + icon: , + }, + ] + + const recentShortcuts = [ + { + title: t['workplace.contentStatistic'], + key: 'Content Statistic', + icon: , + }, + { + title: t['workplace.contentMgmt'], + key: 'Content Management', + icon: , + }, + { + title: t['workplace.advancedMgmt'], + key: 'Advanced Management', + icon: , + }, + ] + + function onClickShortcut(key) { + Message.info({ + content: ( + + You clicked {key} + + ), + }) + } + + return ( + +
+ + {t['workplace.shortcuts']} + + {t['workplace.seeMore']} +
+
+ {shortcuts.map((shortcut) => ( +
onClickShortcut(shortcut.key)} + > +
{shortcut.icon}
+
{shortcut.title}
+
+ ))} +
+ +
{t['workplace.recent']}
+
+ {recentShortcuts.map((shortcut) => ( +
onClickShortcut(shortcut.key)} + > +
{shortcut.icon}
+
{shortcut.title}
+
+ ))} +
+
+ ) +} + +export default Shortcuts diff --git a/examples/arco-pro/src/pages/dashboard/workplace/style/announcement.module.less b/examples/arco-pro/src/pages/dashboard/workplace/style/announcement.module.less new file mode 100644 index 000000000..4f0bb3196 --- /dev/null +++ b/examples/arco-pro/src/pages/dashboard/workplace/style/announcement.module.less @@ -0,0 +1,19 @@ +.item { + display: flex; + align-items: center; + width: 100%; + height: 24px; + margin-bottom: 4px; +} + +.link { + flex: 1; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + margin-left: 4px; + color: var(--color-text-2); + text-decoration: none; + font-size: 13px; + cursor: pointer; +} diff --git a/examples/arco-pro/src/pages/dashboard/workplace/style/docs.module.less b/examples/arco-pro/src/pages/dashboard/workplace/style/docs.module.less new file mode 100644 index 000000000..e6cf8ed74 --- /dev/null +++ b/examples/arco-pro/src/pages/dashboard/workplace/style/docs.module.less @@ -0,0 +1,15 @@ +.docs { + display: grid; + grid-template-columns: 50% 50%; +} + +.link { + color: var(--color-text-2); + padding: 4px; + box-sizing: border-box; + margin-bottom: 12px; + + &:hover { + color: rgb(var(--primary-6)); + } +} diff --git a/examples/arco-pro/src/pages/dashboard/workplace/style/index.module.less b/examples/arco-pro/src/pages/dashboard/workplace/style/index.module.less new file mode 100644 index 000000000..e75c417fa --- /dev/null +++ b/examples/arco-pro/src/pages/dashboard/workplace/style/index.module.less @@ -0,0 +1,19 @@ +.banner { + background-color: var(--color-bg-2); + padding: 20px; +} + +.content { + padding: 20px; + display: flex; +} + +.right { + width: 280px; +} + +.panel { + background-color: var(--color-bg-2); + border-radius: 4px; + overflow: auto; +} diff --git a/examples/arco-pro/src/pages/dashboard/workplace/style/overview.module.less b/examples/arco-pro/src/pages/dashboard/workplace/style/overview.module.less new file mode 100644 index 000000000..6a1a2ebed --- /dev/null +++ b/examples/arco-pro/src/pages/dashboard/workplace/style/overview.module.less @@ -0,0 +1,69 @@ +.container { + padding: 20px; + + :global(.arco-divider-horizontal) { + border-bottom: 1px solid var(--color-border-1); + } + + :global(.arco-divider-vertical) { + border-left: 1px solid var(--color-border-1); + } +} + +.item { + display: flex; + align-items: center; + padding-left: 20px; + color: var(--color-text-1); +} + +.icon { + display: flex; + align-items: center; + justify-content: center; + width: 54px; + height: 54px; + background-color: var(--color-fill-2); + border-radius: 50%; + margin-right: 12px; +} + +.title { + font-size: 12px; + color: var(--color-text-1); +} + +.count { + font-size: 22px; + font-weight: 600; + color: var(--color-text-1); + + .unit { + font-size: 12px; + font-weight: 400; + color: var(--color-text-2); + margin-left: 8px; + } +} + +.divider { + height: 60px; +} + +.ctw { + display: flex; + justify-content: space-between; + margin-bottom: 16px; +} + +.chart-title { + font-size: 16px; + font-weight: 500; +} + +.chart-sub-title { + font-size: 12px; + font-weight: 400; + margin-left: 4px; + color: var(--color-text-3); +} diff --git a/examples/arco-pro/src/pages/dashboard/workplace/style/popular-contents.module.less b/examples/arco-pro/src/pages/dashboard/workplace/style/popular-contents.module.less new file mode 100644 index 000000000..6b8a56f1a --- /dev/null +++ b/examples/arco-pro/src/pages/dashboard/workplace/style/popular-contents.module.less @@ -0,0 +1,8 @@ +.symbol { + font-size: 10px; + margin-left: 4px; + + > svg { + vertical-align: 0; + } +} diff --git a/examples/arco-pro/src/pages/dashboard/workplace/style/shortcuts.module.less b/examples/arco-pro/src/pages/dashboard/workplace/style/shortcuts.module.less new file mode 100644 index 000000000..2d5a68f8e --- /dev/null +++ b/examples/arco-pro/src/pages/dashboard/workplace/style/shortcuts.module.less @@ -0,0 +1,57 @@ +.shortcuts { + display: grid; + grid-template-columns: 33.33% 33.33% 33.33%; +} + +.item { + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + padding: 12px; + box-sizing: border-box; + cursor: pointer; + + &:hover { + .icon { + background-color: var(--color-primary-light-1); + + svg { + color: rgb(var(--primary-6)); + } + } + + .title { + color: rgb(var(--primary-6)); + } + } +} + +.icon { + display: flex; + justify-content: center; + align-items: center; + width: 32px; + height: 32px; + border-radius: 6px; + background-color: var(--color-fill-2); + margin-bottom: 4px; + + svg { + font-size: 18px; + } +} + +.title { + font-size: 12px; + line-height: 20px; + color: var(--color-text-1); +} + +.recent { + font-weight: 500; + font-size: 16px; + line-height: 24px; + color: var(--color-text-1); + margin-bottom: 16px; +} diff --git a/examples/arco-pro/src/pages/exception/403/index.tsx b/examples/arco-pro/src/pages/exception/403/index.tsx new file mode 100644 index 000000000..adb7d6200 --- /dev/null +++ b/examples/arco-pro/src/pages/exception/403/index.tsx @@ -0,0 +1,28 @@ +import useLocale from '@/utils/useLocale' +import { Button, Result } from '@arco-design/web-react' +import React from 'react' +import locale from './locale' +import styles from './style/index.module.less' + +function Exception403() { + const t = useLocale(locale) + + return ( +
+
+ + {t['exception.result.403.back']} + + } + /> +
+
+ ) +} + +export default Exception403 diff --git a/examples/arco-pro/src/pages/exception/403/locale/index.ts b/examples/arco-pro/src/pages/exception/403/locale/index.ts new file mode 100644 index 000000000..83f3c4225 --- /dev/null +++ b/examples/arco-pro/src/pages/exception/403/locale/index.ts @@ -0,0 +1,17 @@ +const i18n = { + "en-US": { + "menu.exception": "Exception page", + "menu.exception.403": "403", + "exception.result.403.description": + "Access to this resource on the server is denied.", + "exception.result.403.back": "Back" + }, + "zh-CN": { + "menu.exception": "异常页", + "menu.exception.403": "403", + "exception.result.403.description": "对不起,您没有访问该资源的权限", + "exception.result.403.back": "返回" + } +}; + +export default i18n; diff --git a/examples/arco-pro/src/pages/exception/403/style/index.module.less b/examples/arco-pro/src/pages/exception/403/style/index.module.less new file mode 100644 index 000000000..14572c3ee --- /dev/null +++ b/examples/arco-pro/src/pages/exception/403/style/index.module.less @@ -0,0 +1,11 @@ +.wrapper { + position: relative; + background-color: var(--color-bg-1); + height: calc(100vh - 168px); +} + +.result { + position: absolute; + top: 50%; + transform: translateY(-50%); +} diff --git a/examples/arco-pro/src/pages/exception/404/index.tsx b/examples/arco-pro/src/pages/exception/404/index.tsx new file mode 100644 index 000000000..10b3f527b --- /dev/null +++ b/examples/arco-pro/src/pages/exception/404/index.tsx @@ -0,0 +1,29 @@ +import useLocale from '@/utils/useLocale' +import { Button, Result } from '@arco-design/web-react' +import React from 'react' +import locale from './locale' +import styles from './style/index.module.less' + +function Exception404() { + const t = useLocale(locale) + + return ( +
+ + {t['exception.result.404.retry']} + , + , + ]} + /> +
+ ) +} + +export default Exception404 diff --git a/examples/arco-pro/src/pages/exception/404/locale/index.ts b/examples/arco-pro/src/pages/exception/404/locale/index.ts new file mode 100644 index 000000000..de51c618f --- /dev/null +++ b/examples/arco-pro/src/pages/exception/404/locale/index.ts @@ -0,0 +1,18 @@ +const i18n = { + "en-US": { + "menu.exception": "Exception page", + "menu.exception.404": "404", + "exception.result.404.description": "Whoops, this page is gone.", + "exception.result.404.retry": "Retry", + "exception.result.404.back": "Back" + }, + "zh-CN": { + "menu.exception": "异常页", + "menu.exception.404": "404", + "exception.result.404.description": "抱歉,页面不见了~", + "exception.result.404.retry": "重试", + "exception.result.404.back": "返回" + } +}; + +export default i18n; diff --git a/examples/arco-pro/src/pages/exception/404/style/index.module.less b/examples/arco-pro/src/pages/exception/404/style/index.module.less new file mode 100644 index 000000000..14572c3ee --- /dev/null +++ b/examples/arco-pro/src/pages/exception/404/style/index.module.less @@ -0,0 +1,11 @@ +.wrapper { + position: relative; + background-color: var(--color-bg-1); + height: calc(100vh - 168px); +} + +.result { + position: absolute; + top: 50%; + transform: translateY(-50%); +} diff --git a/examples/arco-pro/src/pages/exception/500/index.tsx b/examples/arco-pro/src/pages/exception/500/index.tsx new file mode 100644 index 000000000..d3b77ffd0 --- /dev/null +++ b/examples/arco-pro/src/pages/exception/500/index.tsx @@ -0,0 +1,26 @@ +import useLocale from '@/utils/useLocale' +import { Button, Result } from '@arco-design/web-react' +import React from 'react' +import locale from './locale' +import styles from './style/index.module.less' + +function Exception500() { + const t = useLocale(locale) + + return ( +
+ + {t['exception.result.500.back']} + + } + /> +
+ ) +} + +export default Exception500 diff --git a/examples/arco-pro/src/pages/exception/500/locale/index.ts b/examples/arco-pro/src/pages/exception/500/locale/index.ts new file mode 100644 index 000000000..f0a2bb1f6 --- /dev/null +++ b/examples/arco-pro/src/pages/exception/500/locale/index.ts @@ -0,0 +1,16 @@ +const i18n = { + "en-US": { + "menu.exception": "Exception page", + "menu.exception.500": "500", + "exception.result.500.description": "Internal server error", + "exception.result.500.back": "Back" + }, + "zh-CN": { + "menu.exception": "异常页", + "menu.exception.500": "500", + "exception.result.500.description": "抱歉,服务器出了点问题~", + "exception.result.500.back": "返回" + } +}; + +export default i18n; diff --git a/examples/arco-pro/src/pages/exception/500/style/index.module.less b/examples/arco-pro/src/pages/exception/500/style/index.module.less new file mode 100644 index 000000000..14572c3ee --- /dev/null +++ b/examples/arco-pro/src/pages/exception/500/style/index.module.less @@ -0,0 +1,11 @@ +.wrapper { + position: relative; + background-color: var(--color-bg-1); + height: calc(100vh - 168px); +} + +.result { + position: absolute; + top: 50%; + transform: translateY(-50%); +} diff --git a/examples/arco-pro/src/pages/form/group/index.tsx b/examples/arco-pro/src/pages/form/group/index.tsx new file mode 100644 index 000000000..fd768ded2 --- /dev/null +++ b/examples/arco-pro/src/pages/form/group/index.tsx @@ -0,0 +1,251 @@ +import useLocale from '@/utils/useLocale' +import { Button, Card, Form, Grid, Input, Message, Select, Space, Typography } from '@arco-design/web-react' +import { FormInstance } from '@arco-design/web-react/es/Form' +import axios from 'axios' +import React, { useRef, useState } from 'react' +import locale from './locale' +import './mock' +import styles from './style/index.module.less' + +function GroupForm() { + const t = useLocale(locale) + const formRef = useRef() + const [loading, setLoading] = useState(false) + + function submit(data) { + setLoading(true) + axios + .post('/api/groupForm', { + data, + }) + .then(() => { + Message.success(t['groupForm.submitSuccess']) + }) + .finally(() => { + setLoading(false) + }) + } + + function handleSubmit() { + formRef.current.validate().then((values) => { + submit(values) + }) + } + + function handleReset() { + formRef.current.resetFields() + } + + return ( +
+
+ + + {t['groupForm.title.video']} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {t['groupForm.title.audio']} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {t['groupForm.title.explanation']} + + + + + + +
+ + + + +
+
+ ) +} + +export default GroupForm diff --git a/examples/arco-pro/src/pages/form/group/locale/index.ts b/examples/arco-pro/src/pages/form/group/locale/index.ts new file mode 100644 index 000000000..e7c2d8a36 --- /dev/null +++ b/examples/arco-pro/src/pages/form/group/locale/index.ts @@ -0,0 +1,84 @@ +const i18n = { + "en-US": { + "menu.form": "Form", + "menu.form.group": "Group Form", + "groupForm.title.video": "Video Parameters", + "groupForm.title.audio": "Audio Parameters", + "groupForm.title.explanation": "Enter Explanation", + "groupForm.form.label.video.mode": "Match Mode", + "groupForm.form.label.video.acquisition.resolution": + "Acquisition Resolution", + "groupForm.form.label.video.acquisition.frameRate": + "Acquisition Frame Rate", + "groupForm.form.label.video.encoding.resolution": "Encoding Resolution", + "groupForm.form.label.video.encoding.rate.min": "Encoding Min Rate", + "groupForm.form.label.video.encoding.rate.max": "Encoding Max Rate", + "groupForm.form.label.video.encoding.rate.default": "Encoding Default Rate", + "groupForm.form.label.video.encoding.frameRate": "Encoding Frame Rate", + "groupForm.form.label.video.encoding.profile": "Encoding Profile", + "groupForm.placeholder.video.mode": "Please Select", + "groupForm.placeholder.video.acquisition.resolution": "Please Select", + "groupForm.placeholder.video.acquisition.frameRate": "Enter Range [1, 30]", + "groupForm.placeholder.video.encoding.resolution": "Please Select", + "groupForm.placeholder.video.encoding.rate.min": "Enter Range [150, 1800]", + "groupForm.placeholder.video.encoding.rate.max": "Enter Range [150, 1800]", + "groupForm.placeholder.video.encoding.rate.default": + "Enter Range [150, 1800]", + "groupForm.placeholder.video.encoding.frameRate": "Enter Range [1, 30]", + "groupForm.placeholder.video.encoding.profile": "Enter Range [150, 1800]", + "groupForm.form.label.audio.mode": "Match Mode", + "groupForm.form.label.audio.acquisition.channels": "Acquisition Channels", + "groupForm.form.label.audio.encoding.rate": "Encoding Rate", + "groupForm.form.label.audio.encoding.profile": "Encoding Profile", + "groupForm.placeholder.audio.mode": "Please Select", + "groupForm.placeholder.audio.acquisition.channels": "Please Select", + "groupForm.placeholder.audio.encoding.rate": "Enter Range [150, 1800]", + "groupForm.placeholder.audio.encoding.profile": "Enter Range [150, 1800]", + "groupForm.form.label.explanation": "Explanation", + "groupForm.placeholder.explanation": + "Please fill in the parameter description, no more than 200 characters", + "groupForm.submit": "Submit", + "groupForm.reset": "Reset", + "groupForm.submitSuccess": "Submit Success" + }, + "zh-CN": { + "menu.form": "表单页", + "menu.form.group": "分组表单", + "groupForm.title.video": "视频参数", + "groupForm.title.audio": "音频参数", + "groupForm.title.explanation": "填写说明", + "groupForm.form.label.video.mode": "匹配模式", + "groupForm.form.label.video.acquisition.resolution": "采集分辨率", + "groupForm.form.label.video.acquisition.frameRate": "采集帧率", + "groupForm.form.label.video.encoding.resolution": "编码分辨率", + "groupForm.form.label.video.encoding.rate.min": "编码码率最小值", + "groupForm.form.label.video.encoding.rate.max": "编码码率最大值", + "groupForm.form.label.video.encoding.rate.default": "编码码率默认值", + "groupForm.form.label.video.encoding.frameRate": "编码帧率", + "groupForm.form.label.video.encoding.profile": "编码profile", + "groupForm.placeholder.video.mode": "请选择", + "groupForm.placeholder.video.acquisition.resolution": "请选择", + "groupForm.placeholder.video.acquisition.frameRate": "输入范围[1, 30]", + "groupForm.placeholder.video.encoding.resolution": "请选择", + "groupForm.placeholder.video.encoding.rate.min": "输入范围[150, 1800]", + "groupForm.placeholder.video.encoding.rate.max": "输入范围[150, 1800]", + "groupForm.placeholder.video.encoding.rate.default": "输入范围[150, 1800]", + "groupForm.placeholder.video.encoding.frameRate": "输入范围[1, 30]", + "groupForm.placeholder.video.encoding.profile": "输入范围[150, 1800]", + "groupForm.form.label.audio.mode": "配置模式", + "groupForm.form.label.audio.acquisition.channels": "采集声道数", + "groupForm.form.label.audio.encoding.rate": "编码码率", + "groupForm.form.label.audio.encoding.profile": "编码profile", + "groupForm.placeholder.audio.mode": "请选择", + "groupForm.placeholder.audio.acquisition.channels": "请选择", + "groupForm.placeholder.audio.encoding.rate": "输入范围[150, 1800]", + "groupForm.placeholder.audio.encoding.profile": "输入范围[150, 1800]", + "groupForm.form.label.explanation": "参数说明", + "groupForm.placeholder.explanation": "请填写参数说明,最多不超多200字", + "groupForm.submit": "提交", + "groupForm.reset": "重置", + "groupForm.submitSuccess": "提交成功" + } +}; + +export default i18n; diff --git a/examples/arco-pro/src/pages/form/group/mock/index.ts b/examples/arco-pro/src/pages/form/group/mock/index.ts new file mode 100644 index 000000000..af04a740f --- /dev/null +++ b/examples/arco-pro/src/pages/form/group/mock/index.ts @@ -0,0 +1,11 @@ +import setupMock from "@/utils/setupMock"; +import Mock from "mockjs"; + +setupMock({ + setup: () => { + // 保存表单数据 + Mock.mock(new RegExp("/api/groupForm"), () => { + return true; + }); + } +}); diff --git a/examples/arco-pro/src/pages/form/group/style/index.module.less b/examples/arco-pro/src/pages/form/group/style/index.module.less new file mode 100644 index 000000000..ca271d059 --- /dev/null +++ b/examples/arco-pro/src/pages/form/group/style/index.module.less @@ -0,0 +1,23 @@ +.container { + overflow: hidden; + + :global(.arco-card-body) { + padding: 20px 20px 10px; + } + + :global(.arco-card) { + margin-bottom: 16px; + } +} + +.actions { + padding: 12px 40px; + background-color: var(--color-bg-2); + display: flex; + flex-direction: row-reverse; + position: fixed; + left: 0; + right: 0; + bottom: 0; + box-shadow: 0 -3px 12px rgb(0 0 0 / 10%); +} diff --git a/examples/arco-pro/src/pages/form/step/index.tsx b/examples/arco-pro/src/pages/form/step/index.tsx new file mode 100644 index 000000000..174da0c0e --- /dev/null +++ b/examples/arco-pro/src/pages/form/step/index.tsx @@ -0,0 +1,259 @@ +import useLocale from '@/utils/useLocale' +import { + Button, + Card, + DatePicker, + Form, + Input, + InputTag, + Result, + Select, + Space, + Steps, + Switch, + Typography, +} from '@arco-design/web-react' +import React, { useState } from 'react' +import locale from './locale' +import styles from './style/index.module.less' + +const { Title, Paragraph } = Typography +function StepForm() { + const t = useLocale(locale) + const [current, setCurrent] = useState(1) + + const [form] = Form.useForm() + + const viewForm = () => { + const values = form.getFields() + form.setFields(values) + setCurrent(1) + } + + const reCreateForm = () => { + form.resetFields() + setCurrent(1) + } + + const toNext = async () => { + try { + await form.validate() + setCurrent(current + 1) + } catch (_) {} + } + return ( +
+ + {t['stepForm.desc.basicInfo']} +
+ + + + + +
+ {current === 1 && ( + + { + if (!/^[\u4e00-\u9fa5a-zA-Z0-9]{1,20}$/g.test(value)) { + callback(t['stepForm.basicInfo.name.placeholder']) + } + }, + }, + ]} + > + + + + + + + + + + + + + )} + {current === 2 && ( + + + + + + + + + + + + + + + + + + + )} + {current !== 3 + ? ( + + + {current === 2 && ( + + )} + {current !== 3 && ( + + )} + + + ) + : ( + + + {t['stepForm.created.success.view']} + , + , + ]} + /> + + )} + +
+ {current === 3 && ( +
+ {t['stepForm.created.extra.title']} + + {t['stepForm.created.extra.desc']} + + +
+ )} +
+
+ ) +} + +export default StepForm diff --git a/examples/arco-pro/src/pages/form/step/locale/index.ts b/examples/arco-pro/src/pages/form/step/locale/index.ts new file mode 100644 index 000000000..6df2e41f4 --- /dev/null +++ b/examples/arco-pro/src/pages/form/step/locale/index.ts @@ -0,0 +1,94 @@ +const i18n = { + "en-US": { + "menu.form": "Form", + "menu.form.step": "Step Form", + "stepForm.title": "Create a channel form", + "stepForm.next": "Next", + "stepForm.prev": "Prev", + "stepForm.title.basicInfo": "Basic Information", + "stepForm.desc.basicInfo": "Create event channel", + "stepForm.title.channel": "Channel Information", + "stepForm.desc.channel": "Enter detailed channel content", + "stepForm.title.created": "Complete creation", + "stepForm.desc.created": "Created successfully", + "stepForm.basicInfo.name": "Event name", + "stepForm.basicInfo.name.required": "Please enter the event name", + "stepForm.basicInfo.name.placeholder": + "Enter Chinese characters, letters or numbers, up to 20 characters", + "stepForm.basicInfo.channelType": "Channel Type", + "stepForm.basicInfo.channelType.required": "Please select the channel type", + "stepForm.basicInfo.time": "Promotion time", + "stepForm.basicInfo.time.required": "Please select the promotion time", + "stepForm.basicInfo.link": "Promotion URL", + "stepForm.basicInfo.link.placeholder": + "Please enter the promotion page address", + "stepForm.basicInfo.link.tips": + "Such as Android or iOS download address, intermediate redirect URL, the URL must start with http:// or https://", + "stepForm.channel.source": "Advertising source", + "stepForm.channel.source.required": "Please enter the advertising source", + "stepForm.channel.source.placeholder": "Referral address: sohu, sina", + "stepForm.channel.media": "Advertising medium", + "stepForm.channel.media.required": "Please enter the advertising medium", + "stepForm.channel.media.placeholder": "Marketing media: cpc, bannner, edm", + "stepForm.channel.keywords": "Key words", + "stepForm.channel.remind": "Push reminder", + "stepForm.channel.content": "Advertising content", + "stepForm.channel.content.required": "Please enter the advertising content", + "stepForm.channel.content.placeholder": + "Please enter the description of the advertisement content, no more than 200 words", + "stepForm.created.success.title": "Created successfully", + "stepForm.created.success.desc": "Form created successfully", + "stepForm.created.success.view": "View form", + "stepForm.created.success.again": "Create again", + "stepForm.created.extra.title": "Channel form description", + "stepForm.created.extra.desc": + "Advertiser channel promotion supports the tracking of users who place ads on third-party advertisers to download App users, such as launching App download advertisements on Toutiao channels, and tracking users who activate App by downloading on channels. ", + "stepForm.created.extra.detail": "Details" + }, + "zh-CN": { + "menu.form": "表单页", + "menu.form.step": "分布表单", + "stepForm.title": "创建渠道表单", + "stepForm.next": "下一步", + "stepForm.prev": "上一步", + "stepForm.title.basicInfo": "基本信息", + "stepForm.desc.basicInfo": "创建活动渠道", + "stepForm.title.channel": "输入渠道信息", + "stepForm.desc.channel": "输入详细的渠道内容", + "stepForm.title.created": "完成创建", + "stepForm.desc.created": "创建成功", + "stepForm.basicInfo.name": "活动名称", + "stepForm.basicInfo.name.required": "请输入活动名称", + "stepForm.basicInfo.name.placeholder": "输入汉字、字母或数字,最多20字符", + "stepForm.basicInfo.channelType": "渠道类型", + "stepForm.basicInfo.channelType.required": "请选择渠道类型", + "stepForm.basicInfo.time": "推广时间", + "stepForm.basicInfo.time.required": "请选择推广时间", + "stepForm.basicInfo.link": "推广地址", + "stepForm.basicInfo.link.placeholder": "请输入推广页面地址", + "stepForm.basicInfo.link.tips": + "如 Android 或 iOS 的下载地址、中间跳转URL,网址必须以 http:// 或 https:// 开头", + "stepForm.channel.source": "广告来源", + "stepForm.channel.source.required": "请输入广告来源", + "stepForm.channel.source.placeholder": "引荐来源地址:sohu、sina", + "stepForm.channel.media": "广告媒介", + "stepForm.channel.media.required": "请输入广告媒介", + "stepForm.channel.media.placeholder": "营销媒介:cpc、bannner、edm", + "stepForm.channel.keywords": "关键词", + "stepForm.channel.remind": "推送提醒", + "stepForm.channel.content": "广告内容", + "stepForm.channel.content.required": "请输入广告内容", + "stepForm.channel.content.placeholder": + "请输入广告内容介绍,最多不超过200字", + "stepForm.created.success.title": "创建成功", + "stepForm.created.success.desc": "表单创建成功", + "stepForm.created.success.view": "查看表单", + "stepForm.created.success.again": "再次创建", + "stepForm.created.extra.title": "渠道表单说明", + "stepForm.created.extra.desc": + "广告商渠道推广支持追踪在第三方广告商投放广告下载App用户的场景,例如在今日头条渠道投放下载App广告,追踪通过在渠道下载激活App的用户。", + "stepForm.created.extra.detail": "查看详情" + } +}; + +export default i18n; diff --git a/examples/arco-pro/src/pages/form/step/mock/index.ts b/examples/arco-pro/src/pages/form/step/mock/index.ts new file mode 100644 index 000000000..af04a740f --- /dev/null +++ b/examples/arco-pro/src/pages/form/step/mock/index.ts @@ -0,0 +1,11 @@ +import setupMock from "@/utils/setupMock"; +import Mock from "mockjs"; + +setupMock({ + setup: () => { + // 保存表单数据 + Mock.mock(new RegExp("/api/groupForm"), () => { + return true; + }); + } +}); diff --git a/examples/arco-pro/src/pages/form/step/style/index.module.less b/examples/arco-pro/src/pages/form/step/style/index.module.less new file mode 100644 index 000000000..191ea6093 --- /dev/null +++ b/examples/arco-pro/src/pages/form/step/style/index.module.less @@ -0,0 +1,39 @@ +.container { + :global(.arco-card-body) { + > h5 { + margin: 0; + } + + padding: 20px; + } +} + +.wrapper { + width: 624px; + margin: 0 auto; + padding-top: 56px; + padding-bottom: 70px; +} + +.form { + width: 100%; + box-sizing: border-box; + margin-top: 76px; + padding-right: 76px; +} + +.form-extra { + width: 895px; + margin: 54px auto; + background-color: var(--color-fill-1); + padding: 20px; + margin-bottom: 120px; + + > h6 { + margin-top: 0; + } + + > div { + margin-bottom: 0; + } +} diff --git a/examples/arco-pro/src/pages/list/card/card-add.tsx b/examples/arco-pro/src/pages/list/card/card-add.tsx new file mode 100644 index 000000000..b9c7caa4c --- /dev/null +++ b/examples/arco-pro/src/pages/list/card/card-add.tsx @@ -0,0 +1,28 @@ +import { Card } from '@arco-design/web-react' +import { IconPlus } from '@arco-design/web-react/icon' +import cs from 'classnames' +import React from 'react' +import styles from './style/index.module.less' + +interface AddCardProps { + description?: string +} +function AddCard(props: AddCardProps) { + return ( + +
+
+ +
+
{props.description}
+
+
+ ) +} + +export default AddCard diff --git a/examples/arco-pro/src/pages/list/card/card-block.tsx b/examples/arco-pro/src/pages/list/card/card-block.tsx new file mode 100644 index 000000000..5a961aa9e --- /dev/null +++ b/examples/arco-pro/src/pages/list/card/card-block.tsx @@ -0,0 +1,243 @@ +import PermissionWrapper from '@/components/PermissionWrapper' +import useLocale from '@/utils/useLocale' +import { Button, Card, Descriptions, Dropdown, Menu, Skeleton, Switch, Tag, Typography } from '@arco-design/web-react' +import { + IconCheckCircleFill, + IconCloseCircleFill, + IconFaceSmileFill, + IconMore, + IconPenFill, + IconStarFill, + IconSunFill, + IconThumbUpFill, +} from '@arco-design/web-react/icon' +import cs from 'classnames' +import React, { useEffect, useState } from 'react' +import { BasicCard, QualityInspection } from './interface' +import locale from './locale' +import styles from './style/index.module.less' + +interface CardBlockType { + type: 'quality' | 'service' | 'rules' + card: QualityInspection & BasicCard + loading?: boolean +} + +const IconList = [ + IconStarFill, + IconThumbUpFill, + IconSunFill, + IconFaceSmileFill, + IconPenFill, +].map((Tag, index) => ) + +const { Paragraph } = Typography + +function CardBlock(props: CardBlockType) { + const { type, card = {} } = props + const [visible, setVisible] = useState(false) + const [status, setStatus] = useState(card.status) + const [loading, setLoading] = useState(props.loading) + + const t = useLocale(locale) + const changeStatus = async () => { + setLoading(true) + await new Promise((resolve) => + setTimeout(() => { + setStatus(status !== 1 ? 1 : 0) + resolve(null) + }, 1000) + ).finally(() => setLoading(false)) + } + + useEffect(() => { + setLoading(props.loading) + }, [props.loading]) + + useEffect(() => { + if (card.status !== status) { + setStatus(card.status) + } + }, [card.status]) + + const getTitleIcon = () => { + if (type === 'service' && typeof card.icon === 'number') { + return ( +
+ {IconList[card.icon % IconList.length]} +
+ ) + } + return null + } + + const getButtonGroup = () => { + if (type === 'quality') { + return ( + <> + + + + + + + + + ) + } + + if (type === 'service') { + return ( + <> + {status === 1 + ? ( + + ) + : ( + + )} + + ) + } + + return + } + + const getStatus = () => { + if (type === 'rules' && status) { + return ( + } + className={styles.status} + size="small" + > + {t['cardList.tag.activated']} + + ) + } + switch (status) { + case 1: + return ( + } + className={styles.status} + size="small" + > + {t['cardList.tag.opened']} + + ) + case 2: + return ( + } + className={styles.status} + size="small" + > + {t['cardList.tag.expired']} + + ) + default: + return null + } + } + + const getContent = () => { + if (loading) { + return ( + + ) + } + if (type !== 'quality') { + return {card.description} + } + return ( + + ) + } + + const className = cs(styles['card-block'], styles[`${type}-card`]) + + return ( + + ) + : ( + <> +
+ {getTitleIcon()} + {card.title} + {getStatus()} + + {['操作1', '操作2'].map((item, key) => {item})} + + } + trigger="click" + onVisibleChange={setVisible} + popupVisible={visible} + > +
+ +
+
+
+
{card.time}
+ + )} + > +
{getContent()}
+
{getButtonGroup()}
+
+ ) +} + +export default CardBlock diff --git a/examples/arco-pro/src/pages/list/card/index.tsx b/examples/arco-pro/src/pages/list/card/index.tsx new file mode 100644 index 000000000..a7415f6fc --- /dev/null +++ b/examples/arco-pro/src/pages/list/card/index.tsx @@ -0,0 +1,97 @@ +import useLocale from '@/utils/useLocale' +import { Card, Grid, Input, Tabs, Typography } from '@arco-design/web-react' +import axios from 'axios' +import React, { useEffect, useState } from 'react' +import AddCard from './card-add' +import CardBlock from './card-block' +import { BasicCard, QualityInspection } from './interface' +import locale from './locale' +import './mock' +import styles from './style/index.module.less' + +const { Title } = Typography +const { Row, Col } = Grid + +const defaultList = new Array(10).fill({}) +export default function ListCard() { + const t = useLocale(locale) + const [loading, setLoading] = useState(true) + const [data, setData] = useState({ + quality: defaultList, + service: defaultList, + rules: defaultList, + }) + + const [activeKey, setActiveKey] = useState('all') + + const getData = () => { + axios + .get('/api/cardList') + .then((res) => { + setData(res.data) + }) + .finally(() => setLoading(false)) + } + + useEffect(() => { + getData() + }, []) + 7 + const getCardList = ( + list: Array, + type: keyof typeof data, + ) => { + return ( + + {type === 'quality' && ( +
+ + + )} + {list.map((item, index) => ( + + + + ))} + + ) + } + + return ( + + {t['menu.list.card']} + + } + > + + + + + +
+ {activeKey === 'all' + ? ( + Object.entries(data).map(([key, list]) => ( +
+ {t[`cardList.tab.title.${key}`]} + {getCardList(list, key as keyof typeof data)} +
+ )) + ) + : ( +
+ {getCardList(data[activeKey], activeKey as keyof typeof data)} +
+ )} +
+
+ ) +} diff --git a/examples/arco-pro/src/pages/list/card/interface.ts b/examples/arco-pro/src/pages/list/card/interface.ts new file mode 100644 index 000000000..89dabf5da --- /dev/null +++ b/examples/arco-pro/src/pages/list/card/interface.ts @@ -0,0 +1,13 @@ +export interface QualityInspection { + title?: string; + time?: string; + qualityCount?: number; + randomCount?: number; + duration?: number; +} + +export interface BasicCard { + icon?: number; + status?: 0 | 1 | 2; + description?: string; +} diff --git a/examples/arco-pro/src/pages/list/card/locale/index.ts b/examples/arco-pro/src/pages/list/card/locale/index.ts new file mode 100644 index 000000000..3f449860f --- /dev/null +++ b/examples/arco-pro/src/pages/list/card/locale/index.ts @@ -0,0 +1,66 @@ +const i18n = { + "en-US": { + "menu.list": "List", + "menu.list.card": "Card List", + "cardList.tab.title.all": "All", + "cardList.tab.title.quality": "Content quality", + "cardList.tab.title.service": "Service opening", + "cardList.tab.title.rules": "Rule presets", + "cardList.tab.all.placeholder": "Search", + "cardList.tab.quality.placeholder": "Search queue", + "cardList.tab.service.placeholder": "Search service", + "cardList.tab.rules.placeholder": "Search rule", + "cardList.searchInput.placeholder": "Search service", + "cardList.add.quality": "Create quality inspection queue", + "cardList.enable": "Enable", + "cardList.disable": "Disable", + "cardList.action": "action", + "cardList.detail": "Detail", + "cardList.tab.title.announcement": "Recent Announcement", + "cardList.announcement.noData": "No announcement", + "cardList.statistic.enable": "Enable", + "cardList.statistic.disable": "Disable", + "cardList.statistic.applicationNum": "Applications", + "cardList.options.qualityInspection": "Quality inspection", + "cardList.options.remove": "Remove", + "cardList.options.cancel": "Cancel", + "cardList.options.subscribe": "Subscribe", + "cardList.options.renewal": "Renewal", + "cardList.tag.activated": "Activated", + "cardList.tag.opened": "Already Opened", + "cardList.tag.expired": "Expired" + }, + "zh-CN": { + "menu.list": "列表页", + "menu.list.card": "卡片列表", + "cardList.tab.title.all": "全部", + "cardList.tab.title.quality": "内容质检", + "cardList.tab.title.service": "服务开通", + "cardList.tab.title.rules": "规则预置", + "cardList.tab.all.placeholder": "搜索", + "cardList.tab.quality.placeholder": "搜索队列", + "cardList.tab.service.placeholder": "搜索服务", + "cardList.tab.rules.placeholder": "搜索规则", + "cardList.searchInput.placeholder": "搜索服务", + "cardList.add.quality": "点击创建质检内容队列", + "cardList.enable": "启用", + "cardList.disable": "禁用", + "cardList.action": "操作", + "cardList.detail": "详细信息", + "cardList.tab.title.announcement": "最近公告", + "cardList.announcement.noData": "暂无公告", + "cardList.statistic.enable": "已启用", + "cardList.statistic.disable": "未启用", + "cardList.statistic.applicationNum": "应用数", + "cardList.options.qualityInspection": "质检", + "cardList.options.remove": "删除", + "cardList.options.cancel": "取消开通", + "cardList.options.subscribe": "开通服务", + "cardList.options.renewal": "续约服务", + "cardList.tag.activated": "已启用", + "cardList.tag.opened": "已开通", + "cardList.tag.expired": "已过期" + } +}; + +export default i18n; diff --git a/examples/arco-pro/src/pages/list/card/mock/index.ts b/examples/arco-pro/src/pages/list/card/mock/index.ts new file mode 100644 index 000000000..826fa4cdf --- /dev/null +++ b/examples/arco-pro/src/pages/list/card/mock/index.ts @@ -0,0 +1,106 @@ +import setupMock from "@/utils/setupMock"; +import dayjs from "dayjs"; +import Mock from "mockjs"; + +const qualityCategory = ["视频类", "图文类", "纯文本"]; +const qualityName = ["历史导入", "内容版权", "敏感内容", "商业品牌"]; + +const serviceName = [ + "漏斗分析", + "用户分布", + "资源分发", + "用户画像分析", + "事件分析" +]; + +const serviceDescriptions = [ + "用户行为分析之漏斗分析模型是企业实现精细化运营、进行用户行为分析的重要数据分析模型。 ", + "快速诊断用户人群,地域细分情况,了解数据分布的集中度,以及主要的数据分布的区间段是什么。", + "移动端动态化资源分发解决方案。提供稳定大流量服务支持、灵活定制的分发圈选规则,通过离线化预加载。 ", + "用户画像就是将典型用户信息标签化,根据用户特征、业务场景和用户行为等信息,构建一个标签化的用户模型。 ", + "事件分析即可进行筛选、分组、聚合的灵活多维数据分析。详情请点击卡片。" +]; + +const rulesName = [ + "内容屏蔽规则", + "内容置顶规则", + "内容加权规则", + "内容分发规则", + "多语言文字符号识别" +]; + +const rulesDescription = [ + "用户在执行特定的内容分发任务时,可使用内容屏蔽规则根据特定标签,过滤内容集合。 ", + "该规则支持用户在执行特定内容分发任务时,对固定的几条内容置顶。", + "选定内容加权规则后可自定义从不同内容集合获取内容的概率。", + "内容分发时,对某些内容需要固定在C端展示的位置。", + "精准识别英语、维语、藏语、蒙古语、朝鲜语等多种语言以及emoji表情形态的语义识别。" +]; +const getQualityCard = () => { + const { list } = Mock.mock({ + "list|10": [ + { + title: () => + `${Mock.Random.pick(qualityCategory)}-${Mock.Random.pick( + qualityName + )}`, + time: () => + dayjs() + .subtract(Mock.Random.natural(0, 30), "days") + .format("YYYY-MM-DD HH:mm:ss"), + qualityCount: () => Mock.Random.natural(100, 500), + randomCount: () => Mock.Random.natural(0, 100), + duration: () => Mock.Random.natural(0, 200) + } + ] + }); + return list; +}; + +const getServiceCard = () => { + const { list } = Mock.mock({ + "list|10": [ + { + icon: () => Mock.Random.natural(0, serviceName.length - 1), + title: function () { + return serviceName[this.icon]; + }, + description: function () { + return serviceDescriptions[this.icon]; + }, + status: () => Mock.Random.natural(0, 2) + } + ] + }); + return list; +}; + +const getRulesCard = () => { + const { list } = Mock.mock({ + "list|10": [ + { + index: () => Mock.Random.natural(0, rulesName.length - 1), + title: function () { + return rulesName[this.index]; + }, + description: function () { + return rulesDescription[this.index]; + }, + status: () => Mock.Random.natural(0, 1) + } + ] + }); + return list; +}; + +setupMock({ + setup: () => { + Mock.mock(new RegExp("/api/cardList"), () => { + return { + quality: getQualityCard(), + service: getServiceCard(), + rules: getRulesCard() + }; + }); + } +}); diff --git a/examples/arco-pro/src/pages/list/card/style/index.module.less b/examples/arco-pro/src/pages/list/card/style/index.module.less new file mode 100644 index 000000000..f653ef862 --- /dev/null +++ b/examples/arco-pro/src/pages/list/card/style/index.module.less @@ -0,0 +1,156 @@ +.container { + :global(.arco-list-content) { + overflow-x: hidden; + } + + :global(.arco-card-meta-title) { + font-size: 14px; + } + + h6 { + font-size: 14px; + margin-top: 16px; + margin-bottom: 12px; + } + + .card-content { + min-height: 180px; + width: 100%; + } + + .single-content { + margin-top: 30px; + } +} + +.card-block { + margin-bottom: 16px; + + :global(.arco-card-header) { + border-bottom: none; + height: auto; + padding: 16px; + padding-bottom: 0; + } + + .title { + display: flex; + line-height: 24px; + align-items: center; + font-size: 14px; + font-weight: 500; + + .icon { + height: 24px; + width: 24px; + color: var(--color-white); + background: #626aea; + text-align: center; + line-height: 24px; + border-radius: 50%; + margin-right: 8px; + } + + .status { + margin-left: 12px; + } + + .more { + color: var(--color-text-4); + font-size: 16px; + position: absolute; + right: 16px; + cursor: pointer; + opacity: 0; + } + } + + .title-more { + .more { + opacity: 1; + } + } + + .time, + .content > :global(.arco-typography), + :global(.arco-descriptions-item-label), + :global(.arco-descriptions-item-value) { + font-size: 12px; + font-weight: 400; + color: var(--color-text-3); + padding: 0; + line-height: 20px; + } + + :global(.arco-descriptions-item-value) { + color: var(--color-text-2); + padding-left: 6px; + } + + .content { + height: 48px; + } + + .extra { + display: flex; + flex-direction: row-reverse; + } + + &-skeleton { + :global(.arco-skeleton-content .arco-skeleton-text-row:not(:last-child)) { + height: 14px; + margin-bottom: 8px; + } + } +} + +.card-block:hover { + box-shadow: 4px 4px 10px rgba(0, 0, 0, 10%); + + .title { + .more { + opacity: 1; + } + } +} + +.add-card { + text-align: center; + cursor: pointer; + + .add-icon { + font-size: 22px; + } + + .description { + margin-top: 16px; + color: var(--color-text-3); + font-weight: 400; + } + + :global(.arco-card-body) { + padding-top: 52px; + padding-bottom: 64px; + } +} + +.service-card { + :global(.arco-card-body) { + padding: 12px 16px 16px 48px; + } + + .content { + margin-bottom: 10px; + height: 60px; + } +} + +.rules-card { + :global(.arco-card-body) { + padding: 12px 16px 16px; + } + + .content { + margin-bottom: 14px; + } +} diff --git a/examples/arco-pro/src/pages/list/card/useRequest.ts b/examples/arco-pro/src/pages/list/card/useRequest.ts new file mode 100644 index 000000000..00869a718 --- /dev/null +++ b/examples/arco-pro/src/pages/list/card/useRequest.ts @@ -0,0 +1,21 @@ +import axios from "axios"; +import { useEffect, useState } from "react"; + +export default (url: string, defaultValue: T[]): [boolean, T[]] => { + const [loading, setLoading] = useState(false); + const [data, setData] = useState(defaultValue); + + useEffect(() => { + setLoading(true); + axios + .get(url) + .then(res => { + setData(res.data); + }) + .finally(() => { + setLoading(false); + }); + }, [url]); + + return [loading, data]; +}; diff --git a/examples/arco-pro/src/pages/list/search-table/constants.tsx b/examples/arco-pro/src/pages/list/search-table/constants.tsx new file mode 100644 index 000000000..f4bac3e8a --- /dev/null +++ b/examples/arco-pro/src/pages/list/search-table/constants.tsx @@ -0,0 +1,91 @@ +import { Badge, Button, Typography } from '@arco-design/web-react' +import dayjs from 'dayjs' +import React from 'react' +import IconHorizontalVideo from './icons/horizontal.svg' +import IconText from './icons/text.svg' +import IconVerticalVideo from './icons/vertical.svg' +import styles from './style/index.module.less' + +const { Text } = Typography + +export const ContentType = ['图文', '横版短视频', '竖版短视频'] +export const FilterType = ['规则筛选', '人工'] +export const Status = ['未上线', '已上线'] + +const ContentIcon = [ + , + , + , +] + +export function getColumns( + t: any, + callback: (record: Record, type: string) => Promise, +) { + return [ + { + title: t['searchTable.columns.id'], + dataIndex: 'id', + render: (value) => {value}, + }, + { + title: t['searchTable.columns.name'], + dataIndex: 'name', + }, + { + title: t['searchTable.columns.contentType'], + dataIndex: 'contentType', + render: (value) => ( +
+ {ContentIcon[value]} + {ContentType[value]} +
+ ), + }, + { + title: t['searchTable.columns.filterType'], + dataIndex: 'filterType', + render: (value) => FilterType[value], + }, + { + title: t['searchTable.columns.contentNum'], + dataIndex: 'count', + sorter: (a, b) => a.count - b.count, + render(x) { + return Number(x).toLocaleString() + }, + }, + { + title: t['searchTable.columns.createdTime'], + dataIndex: 'createdTime', + render: (x) => dayjs().subtract(x, 'days').format('YYYY-MM-DD HH:mm:ss'), + sorter: (a, b) => b.createdTime - a.createdTime, + }, + { + title: t['searchTable.columns.status'], + dataIndex: 'status', + render: (x) => { + if (x === 0) { + return + } + return + }, + }, + { + title: t['searchTable.columns.operations'], + dataIndex: 'operations', + headerCellStyle: { paddingLeft: '15px' }, + render: (_, record) => ( + + ), + }, + ] +} + +export default () => ContentIcon diff --git a/examples/arco-pro/src/pages/list/search-table/form.tsx b/examples/arco-pro/src/pages/list/search-table/form.tsx new file mode 100644 index 000000000..d26a8804e --- /dev/null +++ b/examples/arco-pro/src/pages/list/search-table/form.tsx @@ -0,0 +1,128 @@ +import { GlobalContext } from '@/context' +import useLocale from '@/utils/useLocale' +import { Button, DatePicker, Form, Grid, Input, Select } from '@arco-design/web-react' +import { IconRefresh, IconSearch } from '@arco-design/web-react/icon' +import dayjs from 'dayjs' +import React, { useContext } from 'react' +import { ContentType, FilterType, Status } from './constants' +import locale from './locale' +import styles from './style/index.module.less' + +const { Row, Col } = Grid +const { useForm } = Form + +function SearchForm(props: { + onSearch: (values: Record) => void +}) { + const { lang } = useContext(GlobalContext) + + const t = useLocale(locale) + const [form] = useForm() + + const handleSubmit = () => { + const values = form.getFieldsValue() + props.onSearch(values) + } + + const handleReset = () => { + form.resetFields() + props.onSearch({}) + } + + const colSpan = lang === 'zh-CN' ? 8 : 12 + + return ( +
+
+ +
+ + + + + + + + + + + + ({ + label: item, + value: index, + }))} + mode="multiple" + allowClear + /> + + + + + dayjs(date).isAfter(dayjs())} + /> + + + + +
+ + ) +} + +export default SearchTable diff --git a/examples/arco-pro/src/pages/list/search-table/locale/index.ts b/examples/arco-pro/src/pages/list/search-table/locale/index.ts new file mode 100644 index 000000000..3dba83c2a --- /dev/null +++ b/examples/arco-pro/src/pages/list/search-table/locale/index.ts @@ -0,0 +1,52 @@ +const i18n = { + "en-US": { + "menu.list": "List", + "menu.list.searchTable": "Search Table", + "searchTable.form.search": "Search", + "searchTable.form.reset": "Reset", + "searchTable.columns.id": "Collection ID", + "searchTable.columns.name": "Collection Name", + "searchTable.columns.contentType": "Content genre", + "searchTable.columns.filterType": "Filter method", + "searchTable.columns.createdTime": "Creation time", + "searchTable.columns.status": "Status", + "searchTable.columns.contentNum": "Content quantity", + "searchTable.columns.operations": "Operation", + "searchTable.columns.operations.view": "View", + "searchTable.columns.operations.update": "Edit", + "searchTable.columns.operations.offline": "Offline", + "searchTable.columns.operations.online": "Online", + "searchTable.operations.add": "New", + "searchTable.operations.upload": "Bulk upload", + "searchTable.operation.download": "Download", + "searchForm.id.placeholder": "Please enter the collection ID", + "searchForm.name.placeholder": "Please enter the collection name", + "searchForm.all.placeholder": "all" + }, + "zh-CN": { + "menu.list": "列表页", + "menu.list.searchTable": "查询表格", + "searchTable.form.search": "查询", + "searchTable.form.reset": "重置", + "searchTable.columns.id": "集合编号", + "searchTable.columns.name": "集合名称", + "searchTable.columns.contentType": "内容体裁", + "searchTable.columns.filterType": "筛选方式", + "searchTable.columns.createdTime": "创建时间", + "searchTable.columns.status": "状态", + "searchTable.columns.contentNum": "内容量", + "searchTable.columns.operations": "操作", + "searchTable.columns.operations.view": "查看", + "searchTable.columns.operations.update": "修改", + "searchTable.columns.operations.online": "上线", + "searchTable.columns.operations.offline": "下线", + "searchTable.operations.add": "新建", + "searchTable.operations.upload": "批量导入", + "searchTable.operation.download": "下载", + "searchForm.id.placeholder": "请输入集合编号", + "searchForm.name.placeholder": "请输入集合名称", + "searchForm.all.placeholder": "全部" + } +}; + +export default i18n; diff --git a/examples/arco-pro/src/pages/list/search-table/mock/index.ts b/examples/arco-pro/src/pages/list/search-table/mock/index.ts new file mode 100644 index 000000000..5ae87eb33 --- /dev/null +++ b/examples/arco-pro/src/pages/list/search-table/mock/index.ts @@ -0,0 +1,99 @@ +import setupMock from "@/utils/setupMock"; +import dayjs from "dayjs"; +import Mock from "mockjs"; +import qs from "query-string"; + +const { list } = Mock.mock({ + "list|100": [ + { + id: /[0-9]{8}[-][0-9]{4}/, + name: () => + Mock.Random.pick([ + "每日推荐视频集", + "抖音短视频候选集", + "国际新闻集合" + ]), + "contentType|0-2": 0, + "filterType|0-1": 0, + "count|0-2000": 0, + "createdTime|1-60": 0, + "status|0-1": 0 + } + ] +}); + +const filterData = ( + rest: { + id?: string; + name?: string; + "contentType[]"?: string[]; + "filterType[]"?: string[]; + "createdTime[]"?: string[]; + "status[]"?: string; + } = {} +) => { + const { + id, + name, + "contentType[]": contentType, + "filterType[]": filterType, + "createdTime[]": createdTime, + "status[]": status + } = rest; + if (id) { + return list.filter(item => item.id === id); + } + let result = [...list]; + if (name) { + result = result.filter(item => { + return (item.name as string).toLowerCase().includes(name.toLowerCase()); + }); + } + if (contentType) { + result = result.filter(item => + contentType.includes(item.contentType.toString()) + ); + } + if (filterType) { + result = result.filter(item => + filterType.includes(item.filterType.toString()) + ); + } + if (createdTime && createdTime.length === 2) { + const [begin, end] = createdTime; + result = result.filter(item => { + const time = dayjs() + .subtract(item.createdTime, "days") + .format("YYYY-MM-DD HH:mm:ss"); + return ( + !dayjs(time).isBefore(dayjs(begin)) && !dayjs(time).isAfter(dayjs(end)) + ); + }); + } + + if (status && status.length) { + result = result.filter(item => status.includes(item.status.toString())); + } + + return result; +}; + +setupMock({ + setup: () => { + Mock.mock(new RegExp("/api/list"), params => { + const { + page = 1, + pageSize = 10, + ...rest + } = qs.parseUrl(params.url).query; + const p = page as number; + const ps = pageSize as number; + + const result = filterData(rest); + return { + list: result.slice((p - 1) * ps, p * ps), + total: result.length + }; + }); + } +}); diff --git a/examples/arco-pro/src/pages/list/search-table/style/index.module.less b/examples/arco-pro/src/pages/list/search-table/style/index.module.less new file mode 100644 index 000000000..30c146c28 --- /dev/null +++ b/examples/arco-pro/src/pages/list/search-table/style/index.module.less @@ -0,0 +1,50 @@ +.toolbar { + display: flex; + justify-content: space-between; + margin-bottom: 24px; +} + +.operations { + display: flex; +} + +.content-type { + display: flex; + + > svg { + margin-right: 8px; + margin-top: 3px; + } +} + +.search-form-wrapper { + display: flex; + border-bottom: 1px solid var(--color-border-1); + margin-bottom: 20px; + + .right-button { + display: flex; + flex-direction: column; + justify-content: space-between; + padding-left: 20px; + margin-bottom: 20px; + border-left: 1px solid var(--color-border-2); + box-sizing: border-box; + } +} + +.button-group { + display: flex; + justify-content: space-between; + margin-bottom: 20px; +} + +.search-form { + padding-right: 20px; + + :global(.arco-form-label-item-left) { + > label { + white-space: nowrap; + } + } +} diff --git a/examples/arco-pro/src/pages/login/banner.tsx b/examples/arco-pro/src/pages/login/banner.tsx new file mode 100644 index 000000000..9101e0d06 --- /dev/null +++ b/examples/arco-pro/src/pages/login/banner.tsx @@ -0,0 +1,46 @@ +import useLocale from '@/utils/useLocale' +import { Carousel } from '@arco-design/web-react' +import React from 'react' +import locale from './locale' +import styles from './style/index.module.less' + +export default function LoginBanner() { + const t = useLocale(locale) + const data = [ + { + slogan: t['login.banner.slogan1'], + subSlogan: t['login.banner.subSlogan1'], + image: + 'http://p1-arco.byteimg.com/tos-cn-i-uwbnlip3yd/6c85f43aed61e320ebec194e6a78d6d3.png~tplv-uwbnlip3yd-png.png', + }, + { + slogan: t['login.banner.slogan2'], + subSlogan: t['login.banner.subSlogan2'], + image: + 'http://p1-arco.byteimg.com/tos-cn-i-uwbnlip3yd/6c85f43aed61e320ebec194e6a78d6d3.png~tplv-uwbnlip3yd-png.png', + }, + { + slogan: t['login.banner.slogan3'], + subSlogan: t['login.banner.subSlogan3'], + image: + 'http://p1-arco.byteimg.com/tos-cn-i-uwbnlip3yd/6c85f43aed61e320ebec194e6a78d6d3.png~tplv-uwbnlip3yd-png.png', + }, + ] + return ( + + {data.map((item, index) => ( +
+
+
{item.slogan}
+
{item.subSlogan}
+ banner-image +
+
+ ))} +
+ ) +} diff --git a/examples/arco-pro/src/pages/login/form.tsx b/examples/arco-pro/src/pages/login/form.tsx new file mode 100644 index 000000000..4d11c4a18 --- /dev/null +++ b/examples/arco-pro/src/pages/login/form.tsx @@ -0,0 +1,122 @@ +import useLocale from '@/utils/useLocale' +import useStorage from '@/utils/useStorage' +import { Button, Checkbox, Form, Input, Link, Space } from '@arco-design/web-react' +import { FormInstance } from '@arco-design/web-react/es/Form' +import { IconLock, IconUser } from '@arco-design/web-react/icon' +import axios from 'axios' +import React, { useEffect, useRef, useState } from 'react' +import locale from './locale' +import styles from './style/index.module.less' + +export default function LoginForm() { + const formRef = useRef() + const [errorMessage, setErrorMessage] = useState('') + const [loading, setLoading] = useState(false) + const [loginParams, setLoginParams, removeLoginParams] = useStorage('loginParams') + + const t = useLocale(locale) + + const [rememberPassword, setRememberPassword] = useState(!!loginParams) + + function afterLoginSuccess(params) { + // 记住密码 + if (rememberPassword) { + setLoginParams(JSON.stringify(params)) + } else { + removeLoginParams() + } + // 记录登录状态 + localStorage.setItem('userStatus', 'login') + // 跳转首页 + window.location.href = '/' + } + + function login(params) { + setErrorMessage('') + setLoading(true) + axios + .post('/api/user/login', params) + .then((res) => { + const { status, msg } = res.data + if (status === 'ok') { + afterLoginSuccess(params) + } else { + setErrorMessage(msg || t['login.form.login.errMsg']) + } + }) + .finally(() => { + setLoading(false) + }) + } + + function onSubmitClick() { + formRef.current.validate().then((values) => { + login(values) + }) + } + + // 读取 localStorage,设置初始值 + useEffect(() => { + const rememberPassword = !!loginParams + setRememberPassword(rememberPassword) + if (formRef.current && rememberPassword) { + const parseParams = JSON.parse(loginParams) + formRef.current.setFieldsValue(parseParams) + } + }, [loginParams]) + + return ( +
+
{t['login.form.title']}
+
+ {t['login.form.title']} +
+
{errorMessage}
+ + + } + placeholder={t['login.form.userName.placeholder']} + onPressEnter={onSubmitClick} + /> + + + } + placeholder={t['login.form.password.placeholder']} + onPressEnter={onSubmitClick} + /> + + +
+ + {t['login.form.rememberPassword']} + + {t['login.form.forgetPassword']} +
+ + +
+ +
+ ) +} diff --git a/examples/arco-pro/src/pages/login/index.tsx b/examples/arco-pro/src/pages/login/index.tsx new file mode 100644 index 000000000..399fec4df --- /dev/null +++ b/examples/arco-pro/src/pages/login/index.tsx @@ -0,0 +1,37 @@ +import Logo from '@/assets/logo.svg' +import Footer from '@/components/Footer' +import React, { useEffect } from 'react' +import LoginBanner from './banner' +import LoginForm from './form' +import styles from './style/index.module.less' + +function Login() { + useEffect(() => { + document.body.setAttribute('arco-theme', 'light') + }, []) + + return ( +
+
+ +
Arco Design Pro
+
+
+
+ +
+
+
+
+ +
+
+
+
+
+
+ ) +} +Login.displayName = 'LoginPage' + +export default Login diff --git a/examples/arco-pro/src/pages/login/locale/index.ts b/examples/arco-pro/src/pages/login/locale/index.ts new file mode 100644 index 000000000..e9a18df74 --- /dev/null +++ b/examples/arco-pro/src/pages/login/locale/index.ts @@ -0,0 +1,42 @@ +const i18n = { + "en-US": { + "login.form.title": "Login to Arco Design Pro", + "login.form.userName.errMsg": "Username cannot be empty", + "login.form.password.errMsg": "Password cannot be empty", + "login.form.login.errMsg": "Login error, refresh and try again", + "login.form.userName.placeholder": "Username: admin", + "login.form.password.placeholder": "Password: admin", + "login.form.rememberPassword": "Remember password", + "login.form.forgetPassword": "Forgot password", + "login.form.login": "login", + "login.form.register": "register account", + "login.banner.slogan1": "Out-of-the-box high-quality template", + "login.banner.subSlogan1": + "Rich page templates, covering most typical business scenarios", + "login.banner.slogan2": "Built-in solutions to common problems", + "login.banner.subSlogan2": + "Internationalization, routing configuration, state management everything", + "login.banner.slogan3": "Access visualization enhancement tool AUX", + "login.banner.subSlogan3": "Realize flexible block development" + }, + "zh-CN": { + "login.form.title": "登录 Arco Design Pro", + "login.form.userName.errMsg": "用户名不能为空", + "login.form.password.errMsg": "密码不能为空", + "login.form.login.errMsg": "登录出错,轻刷新重试", + "login.form.userName.placeholder": "用户名:admin", + "login.form.password.placeholder": "密码:admin", + "login.form.rememberPassword": "记住密码", + "login.form.forgetPassword": "忘记密码", + "login.form.login": "登录", + "login.form.register": "注册账号", + "login.banner.slogan1": "开箱即用的高质量模板", + "login.banner.subSlogan1": "丰富的的页面模板,覆盖大多数典型业务场景", + "login.banner.slogan2": "内置了常见问题的解决方案", + "login.banner.subSlogan2": "国际化,路由配置,状态管理应有尽有", + "login.banner.slogan3": "接入可视化增强工具AUX", + "login.banner.subSlogan3": "实现灵活的区块式开发" + } +}; + +export default i18n; diff --git a/examples/arco-pro/src/pages/login/style/index.module.less b/examples/arco-pro/src/pages/login/style/index.module.less new file mode 100644 index 000000000..61762241a --- /dev/null +++ b/examples/arco-pro/src/pages/login/style/index.module.less @@ -0,0 +1,120 @@ +.container { + display: flex; + height: 100vh; + + .banner { + width: 550px; + background: linear-gradient(163.85deg, #1d2129 0%, #00308f 100%); + } + + .content { + flex: 1; + position: relative; + padding-bottom: 40px; + } + + .footer { + width: 100%; + position: absolute; + bottom: 0; + right: 0; + } +} + +.logo { + position: fixed; + top: 24px; + left: 22px; + display: inline-flex; + align-items: center; + z-index: 1; + + &-text { + margin-left: 4px; + margin-right: 4px; + font-size: 20px; + color: var(--color-fill-1); + } +} + +.banner { + display: flex; + justify-content: center; + align-items: center; + + &-inner { + height: 100%; + flex: 1; + } +} + +.content { + display: flex; + justify-content: center; + align-items: center; +} + +.carousel { + height: 100%; + + &-item { + display: flex; + flex-direction: column; + justify-content: center; + align-items: center; + height: 100%; + } + + &-title { + font-weight: 500; + font-size: 20px; + line-height: 28px; + color: var(--color-fill-1); + } + + &-sub-title { + margin-top: 8px; + font-size: 14px; + line-height: 22px; + color: var(--color-text-3); + } + + &-image { + margin-top: 30px; + width: 320px; + } +} + +.login-form { + &-wrapper { + width: 320px; + } + + &-title { + font-size: 24px; + font-weight: 500; + color: var(--color-text-1); + line-height: 32px; + } + + &-sub-title { + font-size: 16px; + line-height: 24px; + color: var(--color-text-3); + } + + &-error-msg { + height: 32px; + line-height: 32px; + color: rgb(var(--red-6)); + } + + &-password-actions { + display: flex; + justify-content: space-between; + } + + &-register-btn { + color: var(--color-text-3) !important; + } +} diff --git a/examples/arco-pro/src/pages/profile/basic/index.tsx b/examples/arco-pro/src/pages/profile/basic/index.tsx new file mode 100644 index 000000000..abbec0811 --- /dev/null +++ b/examples/arco-pro/src/pages/profile/basic/index.tsx @@ -0,0 +1,155 @@ +import useLocale from '@/utils/useLocale' +import { Badge, Button, Card, Grid, Space, Steps, Table, Typography } from '@arco-design/web-react' +import axios from 'axios' +import React, { useEffect, useState } from 'react' +import ProfileItem from './item' +import locale from './locale' +import './mock' +import styles from './style/index.module.less' + +function BasicProfile() { + const t = useLocale(locale) + const [loading, setLoading] = useState(false) + const [data, setData] = useState({ status: 1 }) + const [preLoading, setPreLoading] = useState(false) + const [preData, setPreData] = useState({}) + const [tableLoading, setTableLoading] = useState(false) + const [tableData, setTableData] = useState([]) + + function fetchData() { + setLoading(true) + axios + .get('/api/basicProfile') + .then((res) => { + setData(res.data || {}) + }) + .finally(() => { + setLoading(false) + }) + } + + function fetchPreData() { + setPreLoading(true) + axios + .get('/api/basicProfile') + .then((res) => { + setPreData(res.data || {}) + }) + .finally(() => { + setPreLoading(false) + }) + } + + function fetchTableData() { + setTableLoading(true) + axios + .get('/api/adjustment') + .then((res) => { + setTableData(res.data) + }) + .finally(() => { + setTableLoading(false) + }) + } + useEffect(() => { + fetchData() + fetchPreData() + fetchTableData() + }, []) + + return ( +
+ + + + + {t['basicProfile.title.form']} + + + + + + + + + + + + + + + + + + + + + + {t['basicProfile.adjustment.record']} + +
{ + if (status) { + return ( + + ) + } + + return ( + + ) + }, + }, + { + dataIndex: 'updatedTime', + title: t['basicProfile.adjustment.updatedTime'], + }, + { + title: t['basicProfile.adjustment.operation'], + headerCellStyle: { paddingLeft: '15px' }, + render() { + return ( + + ) + }, + }, + ]} + /> + + + ) +} + +export default BasicProfile diff --git a/examples/arco-pro/src/pages/profile/basic/item.tsx b/examples/arco-pro/src/pages/profile/basic/item.tsx new file mode 100644 index 000000000..62c7ad510 --- /dev/null +++ b/examples/arco-pro/src/pages/profile/basic/item.tsx @@ -0,0 +1,122 @@ +import useLocale from '@/utils/useLocale' +import { Card, Descriptions, Skeleton } from '@arco-design/web-react' +import React, { CSSProperties } from 'react' +import locale from './locale' + +interface ProfileItemProps { + title: string + data: any + style?: CSSProperties + type: 'origin' | 'current' + loading?: boolean +} + +function ProfileItem(props: ProfileItemProps) { + const t = useLocale(locale) + const { title, data, type, loading } = props + const blockDataList: { + title: string + data: { + label: string + value: string + }[] + }[] = [] + + blockDataList.push({ + title: t[`basicProfile.title.${type}Video`], + data: [ + { + label: t['basicProfile.label.video.mode'], + value: data?.video?.mode || '-', + }, + { + label: t['basicProfile.label.video.acquisition.resolution'], + value: data?.video?.acquisition.resolution || '-', + }, + { + label: t['basicProfile.label.video.acquisition.frameRate'], + value: `${data?.video?.acquisition.frameRate || '-'} fps`, + }, + { + label: t['basicProfile.label.video.encoding.resolution'], + value: data?.video?.encoding.resolution || '-', + }, + { + label: t['basicProfile.label.video.encoding.rate.min'], + value: `${data?.video?.encoding.rate.min || '-'} bps`, + }, + { + label: t['basicProfile.label.video.encoding.rate.max'], + value: `${data?.video?.encoding.rate.max || '-'} bps`, + }, + { + label: t['basicProfile.label.video.encoding.rate.default'], + value: `${data?.video?.encoding.rate.default || '-'} bps`, + }, + { + label: t['basicProfile.label.video.encoding.frameRate'], + value: `${data?.video?.encoding.frameRate || '-'} fpx`, + }, + { + label: t['basicProfile.label.video.encoding.profile'], + value: data?.video?.encoding.profile || '-', + }, + ], + }) + + blockDataList.push({ + title: t[`basicProfile.title.${type}Audio`], + data: [ + { + label: t['basicProfile.label.audio.mode'], + value: data?.audio?.mode || '-', + }, + { + label: t['basicProfile.label.audio.acquisition.channels'], + value: `${data?.audio?.acquisition.channels || '-'} ${t['basicProfile.unit.audio.channels']}`, + }, + { + label: t['basicProfile.label.audio.encoding.channels'], + value: `${data?.audio?.encoding.channels || '-'} ${t['basicProfile.unit.audio.channels']}`, + }, + { + label: t['basicProfile.label.audio.encoding.rate'], + value: `${data?.audio?.encoding.rate || '-'} kbps`, + }, + { + label: t['basicProfile.label.audio.encoding.profile'], + value: data?.audio?.encoding.profile || '-', + }, + ], + }) + + return ( + +
+ {blockDataList.map(({ title: blockTitle, data: blockData }, index) => ( + ({ + ...item, + value: ( + + ), + })) + : blockData} + style={index > 0 ? { marginTop: '20px' } : {}} + /> + ))} +
+
+ ) +} + +export default ProfileItem diff --git a/examples/arco-pro/src/pages/profile/basic/locale/index.ts b/examples/arco-pro/src/pages/profile/basic/locale/index.ts new file mode 100644 index 000000000..d364d0e3a --- /dev/null +++ b/examples/arco-pro/src/pages/profile/basic/locale/index.ts @@ -0,0 +1,82 @@ +const i18n = { + "en-US": { + "menu.profile": "Profile", + "menu.profile.basic": "Basic Profile", + "basicProfile.title.form": "Parameter Approval Process Table", + "basicProfile.steps.commit": "Commit", + "basicProfile.steps.approval": "Approval", + "basicProfile.steps.finish": "Finish", + "basicProfile.title.currentVideo": "Current Video Parameters", + "basicProfile.title.currentAudio": "Current Audio Parameters", + "basicProfile.title.originVideo": "Origin Video Parameters", + "basicProfile.title.originAudio": "Origin Audio Parameters", + "basicProfile.label.video.mode": "Config Mode", + "basicProfile.label.video.acquisition.resolution": "Acquisition Resolution", + "basicProfile.label.video.acquisition.frameRate": "Acquisition Frame Rate", + "basicProfile.label.video.encoding.resolution": "Encoding Resolution", + "basicProfile.label.video.encoding.rate.min": "Encoding Min Rate", + "basicProfile.label.video.encoding.rate.max": "Encoding Max Rate", + "basicProfile.label.video.encoding.rate.default": "Encoding Default Rate", + "basicProfile.label.video.encoding.frameRate": "Encoding Frame Rate", + "basicProfile.label.video.encoding.profile": "Encoding Profile", + "basicProfile.label.audio.mode": "Config Mode", + "basicProfile.label.audio.acquisition.channels": "Acquisition Channels", + "basicProfile.label.audio.encoding.channels": "Encoding Channels", + "basicProfile.label.audio.encoding.rate": "Encoding Rate", + "basicProfile.label.audio.encoding.profile": "Encoding Profile", + "basicProfile.unit.audio.channels": "channels", + "basicProfile.goBack": "GoBack", + "basicProfile.cancel": "Cancel Process", + + "basicProfile.adjustment.record": "Parameter adjustment record", + "basicProfile.adjustment.contentId": "Content number", + "basicProfile.adjustment.content": "Adjust content", + "basicProfile.adjustment.status": "Current state", + "basicProfile.adjustment.updatedTime": "Change the time", + "basicProfile.adjustment.operation": "Operation", + "basicProfile.adjustment.success": "passed", + "basicProfile.adjustment.waiting": "under review", + "basicProfile.adjustment.operation.view": "view" + }, + "zh-CN": { + "menu.profile": "详情页", + "menu.profile.basic": "基础详情页", + "basicProfile.title.form": "参数审批流程表", + "basicProfile.steps.commit": "提交修改", + "basicProfile.steps.approval": "审批中", + "basicProfile.steps.finish": "修改完成", + "basicProfile.title.currentVideo": "现视频参数", + "basicProfile.title.currentAudio": "现音频参数", + "basicProfile.title.originVideo": "原视频参数", + "basicProfile.title.originAudio": "原音频参数", + "basicProfile.label.video.mode": "配置模式", + "basicProfile.label.video.acquisition.resolution": "采集分辨率", + "basicProfile.label.video.acquisition.frameRate": "采集帧率", + "basicProfile.label.video.encoding.resolution": "编码分辨率", + "basicProfile.label.video.encoding.rate.min": "编码码率最小值", + "basicProfile.label.video.encoding.rate.max": "编码码率最大值", + "basicProfile.label.video.encoding.rate.default": "编码码率默认值", + "basicProfile.label.video.encoding.frameRate": "编码帧率", + "basicProfile.label.video.encoding.profile": "编码profile", + "basicProfile.label.audio.mode": "配置模式", + "basicProfile.label.audio.acquisition.channels": "采集声道数", + "basicProfile.label.audio.encoding.channels": "编码声道数", + "basicProfile.label.audio.encoding.rate": "编码码率", + "basicProfile.label.audio.encoding.profile": "编码 profile", + "basicProfile.unit.audio.channels": "声道", + "basicProfile.goBack": "返回", + "basicProfile.cancel": "取消流程", + + "basicProfile.adjustment.record": "参数调整记录", + "basicProfile.adjustment.contentId": "内容编号", + "basicProfile.adjustment.content": "调整内容", + "basicProfile.adjustment.status": "当前状态", + "basicProfile.adjustment.updatedTime": "修改时间", + "basicProfile.adjustment.operation": "操作", + "basicProfile.adjustment.success": "已通过", + "basicProfile.adjustment.waiting": "审核中", + "basicProfile.adjustment.operation.view": "查看" + } +}; + +export default i18n; diff --git a/examples/arco-pro/src/pages/profile/basic/mock/index.ts b/examples/arco-pro/src/pages/profile/basic/mock/index.ts new file mode 100644 index 000000000..7fe5935e0 --- /dev/null +++ b/examples/arco-pro/src/pages/profile/basic/mock/index.ts @@ -0,0 +1,52 @@ +import setupMock from "@/utils/setupMock"; +import Mock from "mockjs"; + +setupMock({ + setup: () => { + Mock.mock(new RegExp("/api/basicProfile"), () => { + return { + status: 2, + video: { + mode: "自定义", + acquisition: { + resolution: "720*1280", + frameRate: 15 + }, + encoding: { + resolution: "720*1280", + rate: { + min: 300, + max: 800, + default: 1500 + }, + frameRate: 15, + profile: "high" + } + }, + audio: { + mode: "自定义", + acquisition: { + channels: 8 + }, + encoding: { + channels: 8, + rate: 128, + profile: "ACC-LC" + } + } + }; + }); + + Mock.mock(new RegExp("/api/adjustment"), () => { + return new Array(2).fill("0").map(() => ({ + contentId: `${Mock.Random.pick([ + "视频类", + "音频类" + ])}${Mock.Random.natural(1000, 9999)}`, + content: "视频参数变更,音频参数变更", + status: Mock.Random.natural(0, 1), + updatedTime: Mock.Random.datetime("yyyy-MM-dd HH:mm:ss") + })); + }); + } +}); diff --git a/examples/arco-pro/src/pages/profile/basic/style/index.module.less b/examples/arco-pro/src/pages/profile/basic/style/index.module.less new file mode 100644 index 000000000..f8b2670d0 --- /dev/null +++ b/examples/arco-pro/src/pages/profile/basic/style/index.module.less @@ -0,0 +1,12 @@ +.container { + :global(.arco-card) { + margin-top: 16px; + } +} + +.steps { + max-width: 548px; + margin: 0 auto; + margin-top: 8px; + margin-bottom: 30px; +} diff --git a/examples/arco-pro/src/pages/result/error/index.tsx b/examples/arco-pro/src/pages/result/error/index.tsx new file mode 100644 index 000000000..46520a26f --- /dev/null +++ b/examples/arco-pro/src/pages/result/error/index.tsx @@ -0,0 +1,53 @@ +import useLocale from '@/utils/useLocale' +import { Button, Link, Result, Typography } from '@arco-design/web-react' +import { IconLink } from '@arco-design/web-react/icon' +import React from 'react' +import locale from './locale' +import styles from './style/index.module.less' + +function Success() { + const t = useLocale(locale) + + return ( +
+
+ + {t['error.result.goBack']} + , + , + ]} + /> +
+ + {t['error.detailTitle']} + + +
    +
  1. + {t['error.detailLine.record']} + + + {t['error.detailLine.record.link']} + +
  2. +
  3. + {t['error.detailLine.auth']} + {t['error.detailLine.auth.link']} +
  4. +
+
+
+
+
+ ) +} + +export default Success diff --git a/examples/arco-pro/src/pages/result/error/locale/index.ts b/examples/arco-pro/src/pages/result/error/locale/index.ts new file mode 100644 index 000000000..ac2d10455 --- /dev/null +++ b/examples/arco-pro/src/pages/result/error/locale/index.ts @@ -0,0 +1,33 @@ +const i18n = { + "en-US": { + "menu.result": "Result", + "menu.result.error": "Error", + "error.result.title": "Submit Error", + "error.result.subTitle": + "Please check the modified information and try again", + "error.result.goBack": "GoBack", + "error.result.retry": "Retry", + "error.detailTitle": "Details of Error", + "error.detailLine.record": + "The current domain name has not been registered, please check the registration process: ", + "error.detailLine.record.link": "Registration Process", + "error.detailLine.auth": + "Your user group does not have the authority to perform this operation;", + "error.detailLine.auth.link": "Request for access" + }, + "zh-CN": { + "menu.result": "结果页", + "menu.result.error": "失败页", + "error.result.title": "提交失败", + "error.result.subTitle": "请核对修改信息后,再重试", + "error.result.goBack": "回到首页", + "error.result.retry": "返回修改", + "error.detailTitle": "错误详情", + "error.detailLine.record": "当前域名未备案,备案流程请查看:", + "error.detailLine.record.link": "备案流程", + "error.detailLine.auth": "你的用户组不具有进行此操作的权限;", + "error.detailLine.auth.link": "申请权限" + } +}; + +export default i18n; diff --git a/examples/arco-pro/src/pages/result/error/style/index.module.less b/examples/arco-pro/src/pages/result/error/style/index.module.less new file mode 100644 index 000000000..3947e2f28 --- /dev/null +++ b/examples/arco-pro/src/pages/result/error/style/index.module.less @@ -0,0 +1,18 @@ +.wrapper { + padding: 24px 150px; + background-color: var(--color-bg-2); + box-sizing: border-box; + min-height: calc(100vh - 168px); +} + +.result { + margin: 150px 0 36px; +} + +.details-wrapper { + width: 100%; + padding: 20px; + background-color: var(--color-fill-2); + box-sizing: border-box; + margin-bottom: 150px; +} diff --git a/examples/arco-pro/src/pages/result/success/index.tsx b/examples/arco-pro/src/pages/result/success/index.tsx new file mode 100644 index 000000000..2d6a5f215 --- /dev/null +++ b/examples/arco-pro/src/pages/result/success/index.tsx @@ -0,0 +1,61 @@ +import useLocale from '@/utils/useLocale' +import { Button, Result, Steps, Typography } from '@arco-design/web-react' +import React from 'react' +import locale from './locale' +import styles from './style/index.module.less' + +const Step = Steps.Step + +function Success() { + const t = useLocale(locale) + + return ( +
+
+ + {t['success.result.printResult']} + , + , + ]} + /> +
+ + {t['success.result.progress']} + + + + + + + + +
+
+
+ ) +} + +export default Success diff --git a/examples/arco-pro/src/pages/result/success/locale/index.ts b/examples/arco-pro/src/pages/result/success/locale/index.ts new file mode 100644 index 000000000..8144abe2e --- /dev/null +++ b/examples/arco-pro/src/pages/result/success/locale/index.ts @@ -0,0 +1,36 @@ +const i18n = { + "en-US": { + "menu.result": "Result", + "menu.result.success": "Success", + "success.result.title": "Submit Success", + "success.result.subTitle": "Submit form success!", + "success.result.printResult": "Print result", + "success.result.projectList": "Project List", + "success.result.progress": "Progress", + "success.submitApplication": "Submit Application", + "success.leaderReview": "Leader Review", + "success.purchaseCertificate": "Purchase Certificate", + "success.safetyTest": "Safety Test", + "success.launched": "Officially launched", + "success.waiting": "Waiting", + "success.processing": "Processing" + }, + "zh-CN": { + "menu.result": "结果页", + "menu.result.success": "成功页", + "success.result.title": "提交成功", + "success.result.subTitle": "表单提交成功!", + "success.result.printResult": "打印结果", + "success.result.projectList": "返回项目列表", + "success.result.progress": "当前进度", + "success.submitApplication": "提交申请", + "success.leaderReview": "直属领导审核", + "success.purchaseCertificate": "购买证书", + "success.safetyTest": "安全测试", + "success.launched": "正式上线", + "success.waiting": "未开始", + "success.processing": "进行中" + } +}; + +export default i18n; diff --git a/examples/arco-pro/src/pages/result/success/style/index.module.less b/examples/arco-pro/src/pages/result/success/style/index.module.less new file mode 100644 index 000000000..e1aba0d59 --- /dev/null +++ b/examples/arco-pro/src/pages/result/success/style/index.module.less @@ -0,0 +1,19 @@ +.wrapper { + padding: 24px 150px; + background-color: var(--color-bg-2); + box-sizing: border-box; + min-height: calc(100vh - 168px); +} + +.result { + margin: 150px 0 36px; +} + +.steps-wrapper { + width: 100%; + min-width: fit-content; + padding: 20px; + background-color: var(--color-fill-2); + box-sizing: border-box; + margin-bottom: 150px; +} diff --git a/examples/arco-pro/src/pages/user/info/assets/header-banner.png b/examples/arco-pro/src/pages/user/info/assets/header-banner.png new file mode 100644 index 0000000000000000000000000000000000000000..bda89bf4cbe591c2269fc459fb0be25095d64279 GIT binary patch literal 220598 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 z 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 literal 0 HcmV?d00001 diff --git a/examples/arco-pro/src/pages/user/info/blocks/project.tsx b/examples/arco-pro/src/pages/user/info/blocks/project.tsx new file mode 100644 index 000000000..75801beb7 --- /dev/null +++ b/examples/arco-pro/src/pages/user/info/blocks/project.tsx @@ -0,0 +1,52 @@ +import { Avatar, Card, Skeleton, Typography } from '@arco-design/web-react' +import React from 'react' +import styles from '../style/blocks.module.less' +const { Text, Title } = Typography + +export interface ProjectProps { + title?: string + enTitle?: string + contributors?: { + name?: string + email?: string + avatar?: string + }[] + contributorsLength?: number + loading?: boolean +} + +function ProjectCard(props: ProjectProps) { + const { loading, contributors } = props + return ( + + {loading ? : {props.title}} + + {loading + ? + : ( + + {props.enTitle} + + )} + +

+ {loading ? : ( + <> + + {(contributors || []).map((item, index) => ( + + + + ))} + + + 等{(props.contributorsLength || 0).toLocaleString()}人 + + + )} +
+ + ) +} + +export default ProjectCard diff --git a/examples/arco-pro/src/pages/user/info/header.tsx b/examples/arco-pro/src/pages/user/info/header.tsx new file mode 100644 index 000000000..45e2934e8 --- /dev/null +++ b/examples/arco-pro/src/pages/user/info/header.tsx @@ -0,0 +1,84 @@ +import { Avatar, Skeleton, Space } from '@arco-design/web-react' +import { IconCamera, IconHome, IconLocation, IconUser } from '@arco-design/web-react/icon' +import React from 'react' +import styles from './style/index.module.less' + +interface HeaderProps { + userInfo?: { + name?: string + avatar?: string + jobName?: string + organizationName?: string + locationName?: string + } + loading?: boolean +} + +function UserInfoHeader(props: HeaderProps) { + const { userInfo = {}, loading } = props + + const loadingNode = ( + + ) + const loadingImgNode = ( + + ) + return ( +
+ + {loading + ? ( + loadingImgNode + ) + : ( + }> + + + )} +
+ {loading ? loadingNode : userInfo.name} +
+
+ +
+ + + {loading ? loadingNode : userInfo.jobName} + +
+
+ + + {loading ? loadingNode : userInfo.organizationName} + +
+
+ + + {loading ? loadingNode : userInfo.locationName} + +
+
+
+
+
+ ) +} + +export default UserInfoHeader diff --git a/examples/arco-pro/src/pages/user/info/index.tsx b/examples/arco-pro/src/pages/user/info/index.tsx new file mode 100644 index 000000000..fec63aacc --- /dev/null +++ b/examples/arco-pro/src/pages/user/info/index.tsx @@ -0,0 +1,90 @@ +import useLocale from '@/utils/useLocale' +import { Grid, Link, Result, Skeleton, Typography } from '@arco-design/web-react' +import { Card } from '@arco-design/web-react' +import axios from 'axios' +import React, { useEffect, useState } from 'react' +import { useSelector } from 'react-redux' +import UserInfoHeader from './header' +import LatestNews from './latest-news' +import locale from './locale' +import './mock' +import MyProject from './my-projects' +import MyTeam from './my-team' +import styles from './style/index.module.less' + +const { Title } = Typography +const { Row, Col } = Grid +function UserInfo() { + const t = useLocale(locale) + const userInfo = useSelector((state: any) => state.userInfo) + const loading = useSelector((state: any) => state.userLoading) + + const [noticeLoading, setNoticeLoading] = useState(false) + + const getNotice = async () => { + setNoticeLoading(true) + await axios.get('/api/user/notice').finally(() => setNoticeLoading(false)) + } + + useEffect(() => { + getNotice() + }, []) + + return ( +
+ + +
+ +
+ + {t['userInfo.title.project']} + + {t['userInfo.btn.more']} +
+ +
+ +
+ +
+ + {t['userInfo.title.team']} + +
+ +
+ + + +
+ +
+ + {t['userInfo.title.news']} + + {t['userInfo.btn.all']} +
+ +
+ +
+ +
+ {t['userInfo.title.notice']} +
+ {noticeLoading ? : ( + + )} +
+ + + + ) +} + +export default UserInfo diff --git a/examples/arco-pro/src/pages/user/info/latest-news.tsx b/examples/arco-pro/src/pages/user/info/latest-news.tsx new file mode 100644 index 000000000..a5a63eeee --- /dev/null +++ b/examples/arco-pro/src/pages/user/info/latest-news.tsx @@ -0,0 +1,69 @@ +import { Avatar, List, Skeleton, Typography } from '@arco-design/web-react' +import axios from 'axios' +import React, { useEffect, useState } from 'react' +import styles from './style/index.module.less' + +const { Paragraph } = Typography +interface INews { + title?: string + description?: string + avatar?: string +} + +function LatestNews() { + const [data, setData] = useState(new Array(4).fill({})) + const [loading, setLoading] = useState(true) + + const getData = async () => { + const { data } = await axios + .get('/api/user/latestNews') + .finally(() => setLoading(false)) + setData(data) + } + + useEffect(() => { + getData() + }, []) + + return ( + { + return ( + + {loading + ? ( + + ) + : ( + + + + } + title={item.title} + description={ + + {item.description} + + } + /> + )} + + ) + }} + /> + ) +} + +export default LatestNews diff --git a/examples/arco-pro/src/pages/user/info/locale/index.ts b/examples/arco-pro/src/pages/user/info/locale/index.ts new file mode 100644 index 000000000..af8508c1f --- /dev/null +++ b/examples/arco-pro/src/pages/user/info/locale/index.ts @@ -0,0 +1,26 @@ +const i18n = { + "en-US": { + "menu.user": "Personal Center", + "menu.user.info": "User Center", + "userInfo.title.project": "My project", + "userInfo.title.news": "Latest News", + "userInfo.title.team": "My team", + "userInfo.title.notice": "In-site Notification", + "userInfo.btn.more": "More", + "userInfo.btn.all": "All", + "userInfo.notice.empty": "No Data" + }, + "zh-CN": { + "menu.user": "个人中心", + "menu.user.info": "用户中心", + "userInfo.title.project": "我的项目", + "userInfo.title.news": "最新动态", + "userInfo.title.team": "我的团队", + "userInfo.title.notice": "站内通知", + "userInfo.btn.more": "查看更多", + "userInfo.btn.all": "查看全部", + "userInfo.notice.empty": "暂无数据" + } +}; + +export default i18n; diff --git a/examples/arco-pro/src/pages/user/info/mock/index.ts b/examples/arco-pro/src/pages/user/info/mock/index.ts new file mode 100644 index 000000000..5bd48d2ed --- /dev/null +++ b/examples/arco-pro/src/pages/user/info/mock/index.ts @@ -0,0 +1,99 @@ +import setupMock from "@/utils/setupMock"; +import Mock from "mockjs"; + +setupMock({ + setup: () => { + // 我的项目 + Mock.mock(new RegExp("/api/user/projectList"), () => { + const contributors = [ + { + name: "秦臻宇", + email: "qingzhenyu@arco.design", + avatar: + "//p1-arco.byteimg.com/tos-cn-i-uwbnlip3yd/a8c8cdb109cb051163646151a4a5083b.png~tplv-uwbnlip3yd-webp.webp" + }, + { + name: "于涛", + email: "yuebao@arco.design", + avatar: + "//p1-arco.byteimg.com/tos-cn-i-uwbnlip3yd/a8c8cdb109cb051163646151a4a5083b.png~tplv-uwbnlip3yd-webp.webp" + }, + { + name: "宁波", + email: "ningbo@arco.design", + avatar: + "//p1-arco.byteimg.com/tos-cn-i-uwbnlip3yd/3ee5f13fb09879ecb5185e440cef6eb9.png~tplv-uwbnlip3yd-webp.webp" + }, + { + name: "郑曦月", + email: "zhengxiyue@arco.design", + avatar: + "//p1-arco.byteimg.com/tos-cn-i-uwbnlip3yd/8361eeb82904210b4f55fab888fe8416.png~tplv-uwbnlip3yd-webp.webp" + }, + { + name: "宁波", + email: "ningbo@arco.design", + avatar: + "//p1-arco.byteimg.com/tos-cn-i-uwbnlip3yd/3ee5f13fb09879ecb5185e440cef6eb9.png~tplv-uwbnlip3yd-webp.webp" + } + ]; + return new Array(6).fill(null).map((_item, index) => ({ + id: index, + enTitle: [ + "Arco Design System", + "The Volcano Engine", + "OCR text recognition", + "Content resource management", + "Toutiao content management", + "Intelligent Robot Project" + ][index], + title: [ + "企业级产品设计系统", + "火山引擎智能应用", + "OCR文本识别", + "内容资源管理", + "今日头条内容管理", + "智能机器人" + ][index], + contributors, + contributorsLength: Mock.Random.natural(5, 100) + })); + }); + + // 我的团队 + Mock.mock(new RegExp("/api/users/teamList"), () => { + return new Array(4).fill(null).map((_, index) => ({ + name: [ + "火山引擎智能应用团队", + "企业级产品设计团队", + "前端/UE小分队", + "内容识别插件小分队" + ][index], + avatar: [ + "//p1-arco.byteimg.com/tos-cn-i-uwbnlip3yd/a8c8cdb109cb051163646151a4a5083b.png~tplv-uwbnlip3yd-webp.webp", + "//p1-arco.byteimg.com/tos-cn-i-uwbnlip3yd/3ee5f13fb09879ecb5185e440cef6eb9.png~tplv-uwbnlip3yd-webp.webp", + "//p1-arco.byteimg.com/tos-cn-i-uwbnlip3yd/3ee5f13fb09879ecb5185e440cef6eb9.png~tplv-uwbnlip3yd-webp.webp", + "//p1-arco.byteimg.com/tos-cn-i-uwbnlip3yd/8361eeb82904210b4f55fab888fe8416.png~tplv-uwbnlip3yd-webp.webp" + ][index], + members: Mock.Random.natural(1, 1000) + })); + }); + + // 最新动态 + Mock.mock(new RegExp("/api/user/latestNews"), () => { + return new Array(8).fill(null).map((_item, index) => ({ + id: index, + title: "王多鱼审核了图文内容: 2021年,你过得怎么样?", + description: + "新华网年终特别策划:《这一年,你过得怎么样?》回访那些你最熟悉的“陌生人”带你重温这难忘的2021年回顾我们共同记忆中的生动故事!", + avatar: + "//p1-arco.byteimg.com/tos-cn-i-uwbnlip3yd/a8c8cdb109cb051163646151a4a5083b.png~tplv-uwbnlip3yd-webp.webp" + })); + }); + + // 站内通知 + Mock.mock(new RegExp("/api/user/notice"), () => { + return []; + }); + } +}); diff --git a/examples/arco-pro/src/pages/user/info/my-projects.tsx b/examples/arco-pro/src/pages/user/info/my-projects.tsx new file mode 100644 index 000000000..4d3af0951 --- /dev/null +++ b/examples/arco-pro/src/pages/user/info/my-projects.tsx @@ -0,0 +1,41 @@ +import { Grid } from '@arco-design/web-react' +import axios from 'axios' +import React, { useEffect, useState } from 'react' +import ProjectCard, { ProjectProps } from './blocks/project' + +function MyProject() { + const [data, setData] = useState(new Array(6).fill({})) + const [loading, setLoading] = useState(true) + + const { Row, Col } = Grid + + const getData = async () => { + setLoading(true) + const { data } = await axios.get('/api/user/projectList').finally(() => { + setLoading(false) + }) + setData(data) + } + + useEffect(() => { + getData() + }, []) + + return ( + + {data.map((item, index) => ( +
data.length - 4 && index < data.length + ? { marginTop: '16px' } + : {}} + > + + + ))} + + ) +} + +export default MyProject diff --git a/examples/arco-pro/src/pages/user/info/my-team.tsx b/examples/arco-pro/src/pages/user/info/my-team.tsx new file mode 100644 index 000000000..dc9e9083a --- /dev/null +++ b/examples/arco-pro/src/pages/user/info/my-team.tsx @@ -0,0 +1,73 @@ +import { Avatar, List, Skeleton, Typography } from '@arco-design/web-react' +import axios from 'axios' +import React, { useEffect, useState } from 'react' + +const { Text } = Typography + +interface ITeam { + avatar?: string + name?: string + members?: number +} + +function MyTeam() { + const [data, setData] = useState(new Array(4).fill({})) + const [loading, setLoading] = useState(true) + + const getData = async () => { + const { data } = await axios + .get('/api/users/teamList') + .finally(() => setLoading(false)) + setData(data) + } + + useEffect(() => { + getData() + }, []) + + return ( + { + return ( + + {loading + ? ( + + ) + : ( + + + + } + title={item.name} + description={ + + {`共${ + ( + item.members || 0 + ).toLocaleString() + }人`} + + } + /> + )} + + ) + }} + /> + ) +} + +export default MyTeam diff --git a/examples/arco-pro/src/pages/user/info/style/blocks.module.less b/examples/arco-pro/src/pages/user/info/style/blocks.module.less new file mode 100644 index 000000000..45b029a5f --- /dev/null +++ b/examples/arco-pro/src/pages/user/info/style/blocks.module.less @@ -0,0 +1,18 @@ +.project-wrapper { + cursor: pointer; + + h6 { + margin-top: 0; + margin-bottom: 6px; + font-size: 14px; + } + + .avatar { + margin-top: 22px; + } + + .more { + font-size: 12px; + margin-left: 12px; + } +} diff --git a/examples/arco-pro/src/pages/user/info/style/index.module.less b/examples/arco-pro/src/pages/user/info/style/index.module.less new file mode 100644 index 000000000..491fe2427 --- /dev/null +++ b/examples/arco-pro/src/pages/user/info/style/index.module.less @@ -0,0 +1,62 @@ +.header { + height: 200px; + display: flex; + justify-content: center; + align-items: center; + color: var(--color-text-1); + border-radius: 4px; + position: relative; + + :global(.arco-avatar-trigger-icon-button) { + color: rgb(var(--arcoblue-6)); + + :global(.arco-icon) { + vertical-align: -1px; + } + } + + .username { + font-weight: 500; + font-size: 16px; + } + + .user-msg { + &-text { + display: inline-block; + margin-left: 6px; + } + } +} + +.header::after { + background: url('../assets/header-banner.png') no-repeat; + background-size: 100%; + height: 200px; + width: 100%; + position: absolute; + top: 0; + left: 0; + opacity: 0.4; + content: ' '; +} + +.header-content { + position: relative; + z-index: 2; +} + +.wrapper { + margin-top: 16px; +} + +.card-title-wrapper { + display: flex; + justify-content: space-between; +} + +.list-meta-ellipsis { + :global(.arco-list-item-meta-content) { + width: 0; + flex: 1; + } +} diff --git a/examples/arco-pro/src/pages/user/setting/header.tsx b/examples/arco-pro/src/pages/user/setting/header.tsx new file mode 100644 index 000000000..2f43e0cd3 --- /dev/null +++ b/examples/arco-pro/src/pages/user/setting/header.tsx @@ -0,0 +1,116 @@ +import useLocale from '@/utils/useLocale' +import { Avatar, Button, Descriptions, Link, Skeleton, Tag, Upload } from '@arco-design/web-react' +import { IconCamera, IconPlus } from '@arco-design/web-react/icon' +import React, { useEffect, useState } from 'react' +import locale from './locale' +import styles from './style/header.module.less' + +export default function Info({ + userInfo = {}, + loading, +}: { + userInfo: any + loading: boolean +}) { + const t = useLocale(locale) + + const [avatar, setAvatar] = useState('') + + function onAvatarChange(_, file) { + setAvatar(file.originFile ? URL.createObjectURL(file.originFile) : '') + } + + useEffect(() => { + setAvatar(userInfo.avatar) + }, [userInfo]) + + const loadingImg = ( + + ) + + const loadingNode = + return ( +
+ + {loading + ? ( + loadingImg + ) + : ( + } + className={styles['info-avatar']} + > + {avatar ? : } + + )} + + + {userInfo.verified + ? ( + + {t['userSetting.value.verified']} + + ) + : ( + + {t['userSetting.value.notVerified']} + + )} + + {t['userSetting.btn.edit']} + + + ), + }, + { + label: t['userSetting.label.accountId'], + value: loading ? loadingNode : userInfo.accountId, + }, + { + label: t['userSetting.label.phoneNumber'], + value: loading + ? ( + loadingNode + ) + : ( + + {userInfo.phoneNumber} + + {t['userSetting.btn.edit']} + + + ), + }, + { + label: t['userSetting.label.registrationTime'], + value: loading ? loadingNode : userInfo.registrationTime, + }, + ]} + > + +
+ ) +} diff --git a/examples/arco-pro/src/pages/user/setting/index.tsx b/examples/arco-pro/src/pages/user/setting/index.tsx new file mode 100644 index 000000000..195be8d34 --- /dev/null +++ b/examples/arco-pro/src/pages/user/setting/index.tsx @@ -0,0 +1,39 @@ +import useLocale from '@/utils/useLocale' +import { Card, Tabs } from '@arco-design/web-react' +import React, { useState } from 'react' +import { useSelector } from 'react-redux' +import InfoHeader from './header' +import InfoForm from './info' +import locale from './locale' +import './mock' +import Security from './security' +import Verified from './verified' + +function UserInfo() { + const t = useLocale(locale) + const userInfo = useSelector((state: any) => state.userInfo) + const loading = useSelector((state: any) => state.userLoading) + const [activeTab, setActiveTab] = useState('basic') + return ( +
+ + + + + + + + + + + + + + + + +
+ ) +} + +export default UserInfo diff --git a/examples/arco-pro/src/pages/user/setting/info.tsx b/examples/arco-pro/src/pages/user/setting/info.tsx new file mode 100644 index 000000000..a51a9555d --- /dev/null +++ b/examples/arco-pro/src/pages/user/setting/info.tsx @@ -0,0 +1,173 @@ +import { GlobalContext } from '@/context' +import useLocale from '@/utils/useLocale' +import { Button, Cascader, Form, Input, Message, Select, Skeleton, Space } from '@arco-design/web-react' +import React, { useContext } from 'react' +import locale from './locale' + +function InfoForm({ loading }: { loading?: boolean }) { + const t = useLocale(locale) + const [form] = Form.useForm() + const { lang } = useContext(GlobalContext) + + const handleSave = async () => { + try { + await form.validate() + Message.success('userSetting.saveSuccess') + } catch (_) {} + } + + const handleReset = () => { + form.resetFields() + } + + const loadingNode = (rows = 1) => { + return ( + + ) + } + + return ( +
+ + {loading + ? ( + loadingNode() + ) + : } + + + {loading + ? ( + loadingNode() + ) + : } + + + {loading + ? ( + loadingNode() + ) + : ( + } + + + {loading + ? ( + loadingNode(3) + ) + : ( + + )} + + + + + + + + + + ) +} + +export default InfoForm diff --git a/examples/arco-pro/src/pages/user/setting/locale/index.ts b/examples/arco-pro/src/pages/user/setting/locale/index.ts new file mode 100644 index 000000000..2b0fd86f0 --- /dev/null +++ b/examples/arco-pro/src/pages/user/setting/locale/index.ts @@ -0,0 +1,150 @@ +const i18n = { + "en-US": { + "menu.user": "Personal Center", + "menu.user.setting": "User Setting", + "userSetting.menu.title.info": "Personal Information", + "userSetting.menu.title.account": "Account Setting", + "userSetting.menu.title.password": "Password", + "userSetting.menu.title.message": "Message Notification", + "userSetting.menu.title.result": "Result", + "userSetting.menu.title.data": "Export Data", + "userSetting.saveSuccess": "Save Success", + "userSetting.title.basicInfo": "Basic Information", + "userSetting.title.security": "Security Settings", + "userSetting.label.avatar": "Avatar", + "userSetting.label.name": "User Name", + "userSetting.label.accountId": "Account ID", + "userSetting.label.verified": "Whether Verified", + "userSetting.value.verified": "verified", + "userSetting.value.notVerified": "not verified", + "userSetting.label.phoneNumber": "Phone Number", + "userSetting.label.registrationTime": "Registration time", + "userSetting.btn.edit": "Edit", + "userSetting.save": "Save", + "userSetting.reset": "Reset", + + "userSetting.info.email": "Email", + "userSetting.info.email.placeholder": + "Please enter your email address, such as xxx@bytedance.com", + "userSetting.info.nickName": "Nick name", + "userSetting.info.nickName.placeholder": "Please enter your nickname", + "userSetting.info.area": "Country / Region", + "userSetting.info.area.placeholder": "Please select a country/region", + "userSetting.info.location": "Your location", + "userSetting.info.address": "Specific address", + "userSetting.info.address.placeholder": "Please enter your address", + "userSetting.info.profile": "Personal profile", + "userSetting.info.profile.placeholder": + "Please enter your profile, no more than 200 words.", + "userSetting.security.password": "Login Password", + "userSetting.security.password.tips": + "Has been set. The password has at least 6 characters, supports numbers, letters and special characters except spaces, and must contain both numbers and uppercase and lowercase letters. ", + "userSetting.security.question": "Secure question", + "userSetting.security.question.placeholder": + "You have not set a secret security question, which can effectively protect the security of your account.", + "userSetting.security.phone": "Secure phone", + "userSetting.security.phone.tips": "Bound:", + "userSetting.security.email": "Secure email", + "userSetting.security.email.placeholder": + "You have not set up an email address yet. The bound email address can be used to retrieve your password, receive notifications, etc.", + "userSetting.verified.enterprise": "Enterprise real-name certification", + "userSetting.verified.records": "Certification records", + "userSetting.verified.label.accountType": "Account Type", + + "userSetting.verified.label.isVerified": "Authentication status", + "userSetting.verified.label.verifiedTime": "Authentication time", + "userSetting.verified.label.legalPersonName": "Legal Person name", + "userSetting.verified.label.certificateType": + "Type of legal person certificate", + "userSetting.verified.label.certificationNumber": + "Legal person certification number", + "userSetting.verified.label.enterpriseName": "Enterprise Name", + + "userSetting.verified.label.enterpriseCertificateType": + "Enterprise certificate type", + "userSetting.verified.label.organizationCode": "Organization Code", + + "userSetting.verified.authType": "Authentication type", + "userSetting.verified.authContent": "Authentication content", + "userSetting.verified.authStatus": "Current status", + "userSetting.verified.createdTime": "Created time", + "userSetting.verified.operation": "Operation", + "userSetting.verified.operation.view": "View", + "userSetting.verified.operation.revoke": "Revoke", + "userSetting.verified.status.success": "passed", + "userSetting.verified.status.waiting": "under review" + }, + + "zh-CN": { + "menu.user": "个人中心", + "menu.user.setting": "用户设置", + "userSetting.menu.title.info": "个人信息", + "userSetting.menu.title.account": "账号设置", + "userSetting.menu.title.password": "密码", + "userSetting.menu.title.message": "消息通知", + "userSetting.menu.title.result": "结果页", + "userSetting.menu.title.data": "导出数据", + "userSetting.saveSuccess": "保存成功", + "userSetting.title.basicInfo": "基本信息", + "userSetting.title.security": "安全设置", + "userSetting.label.avatar": "头像", + "userSetting.label.name": "用户名", + "userSetting.label.accountId": "账号ID", + "userSetting.label.verified": "实名认证", + "userSetting.value.verified": "已认证", + "userSetting.value.notVerified": "未认证", + "userSetting.label.phoneNumber": "手机号码", + "userSetting.label.registrationTime": "注册时间", + "userSetting.btn.edit": "修改", + "userSetting.btn.set": "设置", + "userSetting.save": "保存", + "userSetting.reset": "重置", + "userSetting.info.email": "邮箱", + "userSetting.info.email.placeholder": "请输入邮箱地址,如xxx@bytedance.com", + "userSetting.info.nickName": "昵称", + "userSetting.info.nickName.placeholder": "请输入您的昵称", + "userSetting.info.area": "国家/地区", + "userSetting.info.area.placeholder": "请选择国家/地区", + "userSetting.info.location": "所在区域", + "userSetting.info.address": "具体地址", + "userSetting.info.address.placeholder": "请输入您的地址", + "userSetting.info.profile": "个人简介", + "userSetting.info.profile.placeholder": + "请输入您的个人简介,最多不超过200字。", + "userSetting.security.password": "登陆密码", + "userSetting.security.password.tips": + "已设置。密码至少6位字符,支持数字、字母和除空格外的特殊字符,且必须同时包含数字和大小写字母。", + "userSetting.security.question": "密保问题", + "userSetting.security.question.placeholder": + "您暂未设置密保问题,密保问题可以有效的保护账号的安全。", + "userSetting.security.phone": "安全手机", + "userSetting.security.phone.tips": "已绑定:", + "userSetting.security.email": "安全邮箱", + "userSetting.security.email.placeholder": + "您暂未设置邮箱,绑定邮箱可以用来找回密码、接收通知等。", + + "userSetting.verified.enterprise": "企业实名认证", + "userSetting.verified.label.accountType": "账号类型", + "userSetting.verified.label.isVerified": "认证状态", + "userSetting.verified.label.verifiedTime": "认证时间", + "userSetting.verified.label.legalPersonName": "法人姓名", + "userSetting.verified.label.certificateType": "法人证件类型", + "userSetting.verified.label.certificationNumber": "法人认证号码", + "userSetting.verified.label.enterpriseName": "企业名称", + "userSetting.verified.label.enterpriseCertificateType": "企业证件类型", + "userSetting.verified.label.organizationCode": "组织机构代码", + "userSetting.verified.records": "认证记录", + + "userSetting.verified.authType": "认证类型", + "userSetting.verified.authContent": "认证内容", + "userSetting.verified.authStatus": "当前状态", + "userSetting.verified.createdTime": "创建时间", + "userSetting.verified.operation": "操作", + "userSetting.verified.operation.view": "查看", + "userSetting.verified.operation.revoke": "撤回", + "userSetting.verified.status.success": "已通过", + "userSetting.verified.status.waiting": "审核中" + } +}; + +export default i18n; diff --git a/examples/arco-pro/src/pages/user/setting/mock/index.ts b/examples/arco-pro/src/pages/user/setting/mock/index.ts new file mode 100644 index 000000000..bd6fe085e --- /dev/null +++ b/examples/arco-pro/src/pages/user/setting/mock/index.ts @@ -0,0 +1,35 @@ +import setupMock from "@/utils/setupMock"; +import Mock from "mockjs"; + +setupMock({ + setup: () => { + // 保存个人信息 + Mock.mock(new RegExp("/api/user/saveInfo"), () => { + return "ok"; + }); + + // 实名认证信息 + Mock.mock(new RegExp("/api/user/verified/enterprise"), () => { + return Mock.mock({ + accountType: "企业账号", + isVerified: true, + verifiedTime: Mock.Random.datetime("yyyy-MM-dd HH:mm:ss"), + legalPersonName: Mock.Random.cfirst() + "**", + certificateType: "中国身份证", + certificationNumber: /[1-9]{3}[*]{12}[0-9]{3}/, + enterpriseName: Mock.Random.ctitle(), + enterpriseCertificateType: "企业营业执照", + organizationCode: /[1-9]{1}[*]{7}[0-9]{1}/ + }); + }); + + Mock.mock(new RegExp("/api/user/verified/authList"), () => { + return new Array(3).fill("0").map(() => ({ + authType: "企业证件认证", + authContent: `企业证件认证,法人姓名${Mock.Random.cfirst()}**`, + authStatus: Mock.Random.natural(0, 1), + createdTime: Mock.Random.datetime("yyyy-MM-dd HH:mm:ss") + })); + }); + } +}); diff --git a/examples/arco-pro/src/pages/user/setting/security.tsx b/examples/arco-pro/src/pages/user/setting/security.tsx new file mode 100644 index 000000000..1208f1fdf --- /dev/null +++ b/examples/arco-pro/src/pages/user/setting/security.tsx @@ -0,0 +1,67 @@ +import useLocale from '@/utils/useLocale' +import { Button } from '@arco-design/web-react' +import cs from 'classnames' +import React from 'react' +import { useSelector } from 'react-redux' +import locale from './locale' +import styles from './style/index.module.less' + +function Security() { + const t = useLocale(locale) + + const userInfo = useSelector((state: any) => { + return state.userInfo || {} + }) + + const data = [ + { + title: t['userSetting.security.password'], + value: t['userSetting.security.password.tips'], + }, + { + title: t['userSetting.security.question'], + value: '', + placeholder: t['userSetting.security.question.placeholder'], + }, + { + title: t['userSetting.security.phone'], + value: userInfo.phoneNumber + ? `${t['userSetting.security.phone.tips']} ${userInfo.phoneNumber}` + : '', + }, + { + title: t['userSetting.security.email'], + value: '', + placeholder: t['userSetting.security.email.placeholder'], + }, + ] + + return ( +
+ {data.map((item, index) => ( +
+ {item.title} +
+ + {item.value || item.placeholder} + + + + + +
+
+ ))} +
+ ) +} + +export default Security diff --git a/examples/arco-pro/src/pages/user/setting/style/header.module.less b/examples/arco-pro/src/pages/user/setting/style/header.module.less new file mode 100644 index 000000000..941c4e448 --- /dev/null +++ b/examples/arco-pro/src/pages/user/setting/style/header.module.less @@ -0,0 +1,33 @@ +.info-wrapper { + display: flex; +} + +.info-avatar { + :global(.arco-avatar-trigger-icon-button) { + color: rgb(var(--arcoblue-6)); + right: 0; + bottom: 0; + width: 30px; + height: 30px; + font-size: 14px; + box-sizing: border-box; + border: 2px solid var(--color-white); + } +} + +.info-content { + flex: 1; + width: 0; + margin-left: 60px; + padding-right: 60px; +} + +.verified-tag { + height: 20px; + line-height: 20px; + margin-top: -2px; +} + +.edit-btn { + margin-left: 12px; +} diff --git a/examples/arco-pro/src/pages/user/setting/style/index.module.less b/examples/arco-pro/src/pages/user/setting/style/index.module.less new file mode 100644 index 000000000..84a7d0a70 --- /dev/null +++ b/examples/arco-pro/src/pages/user/setting/style/index.module.less @@ -0,0 +1,74 @@ +.wrapper { + display: flex; + background-color: var(--color-bg-2); + + .sidebar { + width: 200px; + border-right: 1px solid var(--color-border); + } + + .content { + flex: 1; + padding: 20px 24px; + } +} + +.info { + &-form { + width: 375px; + } + + &-avatar { + :global(.arco-avatar-trigger-icon-button) { + color: rgb(var(--arcoblue-6)); + } + } +} + +.security { + padding: 0 16px; + + &-item { + display: flex; + + &-title { + margin-right: 16px; + font-weight: 500; + color: var(--color-text-2); + padding-top: 30px; + padding-bottom: 20px; + } + + &-content { + display: flex; + width: 0; + flex: 1; + justify-content: space-between; + border-bottom: 1px solid var(--color-border-2); + padding-top: 30px; + padding-bottom: 20px; + } + + &-placeholder { + color: var(--color-text-3); + } + } +} + +.verified { + padding: 0 16px; + + > h6 { + font-size: 14px; + margin-top: 16px; + } + + &-enterprise { + padding: 16px; + background-color: var(--color-fill-1); + + td { + width: 30%; + } + } +} diff --git a/examples/arco-pro/src/pages/user/setting/verified.tsx b/examples/arco-pro/src/pages/user/setting/verified.tsx new file mode 100644 index 000000000..bddf0dc46 --- /dev/null +++ b/examples/arco-pro/src/pages/user/setting/verified.tsx @@ -0,0 +1,141 @@ +import useLocale from '@/utils/useLocale' +import { Badge, Button, Descriptions, Skeleton, Space, Table, Tag, Typography } from '@arco-design/web-react' +import axios from 'axios' +import React, { useEffect, useState } from 'react' +import locale from './locale' +import styles from './style/index.module.less' + +function Verified() { + const t = useLocale(locale) + const [data, setData] = useState({ + accountType: '', + isVerified: true, + verifiedTime: '', + legalPersonName: '', + certificateType: '', + certificationNumber: '', + enterpriseName: '', + enterpriseCertificateType: '', + organizationCode: '', + }) + + const [loading, setLoading] = useState(true) + const [tableData, setTableData] = useState([]) + const [tableLoading, setTableLoading] = useState(true) + + const getData = async () => { + const { data } = await axios + .get('/api/user/verified/enterprise') + .finally(() => setLoading(false)) + setData(data) + + const { data: tableData } = await axios + .get('/api/user/verified/authList') + .finally(() => setTableLoading(false)) + setTableData(tableData) + } + + useEffect(() => { + getData() + }, []) + + const loadingNode = + + return ( +
+ + {t['userSetting.verified.enterprise']} + + ({ + label: t[`userSetting.verified.label.${key}`], + value: loading + ? ( + loadingNode + ) + : typeof value === 'boolean' + ? ( + value + ? {t['userSetting.value.verified']} + : {t['userSetting.value.notVerified']} + ) + : ( + value + ), + }))} + /> + + + {t['userSetting.verified.records']} + +
+ + ) + : ( + + + + + ) + }, + }, + { + title: t['userSetting.verified.createdTime'], + dataIndex: 'createdTime', + }, + { + title: t['userSetting.verified.operation'], + headerCellStyle: { paddingLeft: '15px' }, + render: (_, x) => { + if (x.authStatus) { + return ( + + ) + } + return ( + + + + + ) + }, + }, + ]} + data={tableData} + loading={tableLoading} + /> + + ) +} + +export default Verified diff --git a/examples/arco-pro/src/pages/visualization/data-analysis/index.tsx b/examples/arco-pro/src/pages/visualization/data-analysis/index.tsx new file mode 100644 index 000000000..3c8faabea --- /dev/null +++ b/examples/arco-pro/src/pages/visualization/data-analysis/index.tsx @@ -0,0 +1,118 @@ +import MultiInterval from '@/components/Chart/multi-stack-interval' +import PeriodLine from '@/components/Chart/period-legend-line' +import useLocale from '@/utils/useLocale' +import { Card, Grid, Space, Table, Typography } from '@arco-design/web-react' +import axios from 'axios' +import React, { useEffect, useMemo, useState } from 'react' +import locale from './locale' +import './mock' +import PublicOpinion from './public-opinion' + +const { Row, Col } = Grid + +function DataAnalysis() { + const t = useLocale(locale) + const [loading, setLoading] = useState(false) + const [tableLoading, setTableLoading] = useState(false) + + const [chartData, setChartData] = useState([]) + const [tableData, setTableData] = useState([]) + + const getChartData = async () => { + setLoading(true) + const { data } = await axios + .get('/api/data-analysis/content-publishing') + .finally(() => setLoading(false)) + setChartData(data) + } + + const getTableData = async () => { + setTableLoading(true) + const { data } = await axios + .get('/api/data-analysis/author-list') + .finally(() => setTableLoading(false)) + setTableData(data.list) + } + + useEffect(() => { + getChartData() + getTableData() + }, []) + + const columns = useMemo(() => { + return [ + { + title: t['dataAnalysis.authorTable.rank'], + dataIndex: 'id', + }, + { + title: t['dataAnalysis.authorTable.author'], + dataIndex: 'author', + }, + { + title: t['dataAnalysis.authorTable.content'], + dataIndex: 'contentCount', + sorter: (a, b) => a.contentCount - b.contentCount, + render(x) { + return Number(x).toLocaleString() + }, + }, + { + title: t['dataAnalysis.authorTable.click'], + dataIndex: 'clickCount', + sorter: (a, b) => a.clickCount - b.clickCount, + render(x) { + return Number(x).toLocaleString() + }, + }, + ] + }, [t]) + + return ( + + + + {t['dataAnalysis.title.publicOpinion']} + + + + + + + + {t['dataAnalysis.title.publishingRate']} + + + + + + + + {t['dataAnalysis.title.authorsList']} + +
+
+ + + + + + + + + {t['dataAnalysis.title.publishingTiming']} + + + + + + + ) +} +export default DataAnalysis diff --git a/examples/arco-pro/src/pages/visualization/data-analysis/locale/index.ts b/examples/arco-pro/src/pages/visualization/data-analysis/locale/index.ts new file mode 100644 index 000000000..95028e0b3 --- /dev/null +++ b/examples/arco-pro/src/pages/visualization/data-analysis/locale/index.ts @@ -0,0 +1,38 @@ +const i18n = { + "en-US": { + "menu.visualization": "Data Visualization", + "menu.visualization.analysis": "Analysis", + "dataAnalysis.yesterday": "Yesterday", + "dataAnalysis.title.publicOpinion": "Public Opinion Analysis", + "dataAnalysis.publicOpinion.visitor": "Total visitors", + "dataAnalysis.publicOpinion.content": "Total content publishing", + "dataAnalysis.publicOpinion.comment": "Total comments", + "dataAnalysis.publicOpinion.share": "Total share", + "dataAnalysis.title.publishingRate": "Content publishing rate", + "dataAnalysis.title.publishingTiming": "Content period analysis", + "dataAnalysis.title.authorsList": "Top authors list", + "dataAnalysis.authorTable.rank": "Rank ", + "dataAnalysis.authorTable.author": "Author", + "dataAnalysis.authorTable.content": "Interval volume", + "dataAnalysis.authorTable.click": "Click volume" + }, + "zh-CN": { + "menu.visualization": "数据可视化", + "menu.visualization.analysis": "分析页", + "dataAnalysis.yesterday": "较昨日", + "dataAnalysis.title.publicOpinion": "舆情分析", + "dataAnalysis.publicOpinion.visitor": "访问总人数", + "dataAnalysis.publicOpinion.content": "内容发布量", + "dataAnalysis.publicOpinion.comment": "评论总量", + "dataAnalysis.publicOpinion.share": "分享总量", + "dataAnalysis.title.publishingRate": "内容发布比例", + "dataAnalysis.title.publishingTiming": "内容时段分析", + "dataAnalysis.title.authorsList": "热门作者榜单", + "dataAnalysis.authorTable.rank": "排名", + "dataAnalysis.authorTable.author": "作者", + "dataAnalysis.authorTable.content": "内容量", + "dataAnalysis.authorTable.click": "点击量" + } +}; + +export default i18n; diff --git a/examples/arco-pro/src/pages/visualization/data-analysis/mock/index.ts b/examples/arco-pro/src/pages/visualization/data-analysis/mock/index.ts new file mode 100644 index 000000000..ff7eb7f94 --- /dev/null +++ b/examples/arco-pro/src/pages/visualization/data-analysis/mock/index.ts @@ -0,0 +1,91 @@ +import setupMock from "@/utils/setupMock"; +import Mock from "mockjs"; +import qs from "query-string"; + +const mockLine = name => { + const result = new Array(12).fill(0).map(() => ({ + y: Mock.Random.natural(20, 100) + })); + return result.map((item, index) => ({ + ...item, + x: index, + name + })); +}; + +const mockPie = () => { + return new Array(3).fill(0).map((_, index) => ({ + name: ["纯文本", "图文类", "视频类"][index], + count: Mock.Random.natural(20, 100) + })); +}; + +setupMock({ + setup: () => { + Mock.mock(new RegExp("/api/data-analysis/overview"), params => { + const { type } = qs.parseUrl(params.url).query; + return Mock.mock({ + count: () => Mock.Random.natural(1000, 10000), + increment: () => Mock.Random.boolean(), + diff: () => Mock.Random.natural(100, 1000), + chartType: type, + chartData: () => { + if (type === "pie") { + return mockPie(); + } else if (type === "line") { + return [...mockLine("类目1"), ...mockLine("类目2")]; + } + return mockLine("类目1"); + } + }); + }); + + const getTimeLine = name => { + const timeArr = new Array(12).fill(0).map((_, index) => { + const time = index * 2; + return time < 9 ? `0${time}:00` : `${time}:00`; + }); + return new Array(12).fill(0).map((_, index) => ({ + name, + time: timeArr[index], + count: Mock.Random.natural(1000, 5000), + rate: Mock.Random.natural(0, 100) + })); + }; + + Mock.mock(new RegExp("/api/data-analysis/content-publishing"), () => { + return [ + ...getTimeLine("纯文本"), + ...getTimeLine("视频类"), + ...getTimeLine("图文类") + ]; + }); + + Mock.mock(new RegExp("/api/data-analysis/author-list"), () => { + return Mock.mock({ + "list|8": [ + { + "id|+1": 1, + author: () => + Mock.Random.pick([ + "用魔法打败魔法", + "王多鱼", + "Christopher", + "叫我小李好了", + "陈皮话梅糖", + "碳烤小肥羊" + ]), + time: function () { + return new Array(12).fill(0).map((_, index) => { + const time = index * 2; + return time < 9 ? `0${time}:00` : `${time}:00`; + })[this.id % 12]; + }, + contentCount: () => Mock.Random.natural(1000, 5000), + clickCount: () => Mock.Random.natural(5000, 30000) + } + ] + }); + }); + } +}); diff --git a/examples/arco-pro/src/pages/visualization/data-analysis/public-opinion/card.tsx b/examples/arco-pro/src/pages/visualization/data-analysis/public-opinion/card.tsx new file mode 100644 index 000000000..bc0f87338 --- /dev/null +++ b/examples/arco-pro/src/pages/visualization/data-analysis/public-opinion/card.tsx @@ -0,0 +1,175 @@ +import { Skeleton, Statistic, Typography } from '@arco-design/web-react' +import { Chart, Coordinate, G2, Interaction, Interval, Legend, Line, Tooltip } from 'bizcharts' +import cs from 'classnames' +import React from 'react' + +import { IconArrowFall, IconArrowRise } from '@arco-design/web-react/icon' +import styles from '../style/public-opinion.module.less' + +const { Title, Text } = Typography +const basicChartProps = { + pure: true, + autoFit: true, + height: 80, + padding: [10, 10, 0, 10], +} + +export interface PublicOpinionCardProps { + key: string + title: string + chartData?: any[] + chartType: 'line' | 'interval' | 'pie' + count?: number + increment?: boolean + diff?: number + compareTime?: string + loading?: boolean +} + +function SimpleLine(props: { chartData: any[] }) { + const { chartData } = props + return ( + + { + if (name === '类目2') { + return { lineDash: [8, 10] } + } + return {} + }, + }} + /> + + ) +} + +function SimpleInterval(props: { chartData: any[] }) { + const { chartData } = props + + G2.registerShape('interval', 'border-radius', { + draw(cfg, container) { + const points = cfg.points as unknown as { x: string; y: number } + let path = [] + path.push(['M', points[0].x, points[0].y]) + path.push(['L', points[1].x, points[1].y]) + path.push(['L', points[2].x, points[2].y]) + path.push(['L', points[3].x, points[3].y]) + path.push('Z') + path = this.parsePath(path) // 将 0 - 1 转化为画布坐标 + + const group = container.addGroup() + group.addShape('rect', { + attrs: { + x: path[1][1], // 矩形起始点为左上角 + y: path[1][2], + width: path[2][1] - path[1][1], + height: path[0][2] - path[1][2], + fill: cfg.color, + radius: (path[2][1] - path[1][1]) / 2, + }, + }) + return group + }, + }) + + return ( + + { + if (Number(xVal) % 2 === 0) { + return '#2CAB40' + } + return '#86DF6C' + }, + ]} + shape="border-radius" + /> + + ) +} + +function SimplePie(props: { chartData: any[] }) { + const { chartData } = props + + return ( + + + + + + + + ) +} + +function PublicOpinionCard(props: PublicOpinionCardProps) { + const { chartType, title, count, increment, diff, chartData, loading } = props + const className = cs(styles.card, styles[`card-${chartType}`]) + + return ( +
+
+ + {title} + + } + loading={loading} + value={count} + groupSeparator + /> +
+ + {props.compareTime} + + + {loading ? : ( + <> + {diff} + {increment ? : } + + )} + +
+
+
+ {loading + ? ( + + ) + : ( + <> + {chartType === 'interval' && } + {chartType === 'line' && } + {chartType === 'pie' && } + + )} +
+
+ ) +} + +export default PublicOpinionCard diff --git a/examples/arco-pro/src/pages/visualization/data-analysis/public-opinion/index.tsx b/examples/arco-pro/src/pages/visualization/data-analysis/public-opinion/index.tsx new file mode 100644 index 000000000..5c9cd1e52 --- /dev/null +++ b/examples/arco-pro/src/pages/visualization/data-analysis/public-opinion/index.tsx @@ -0,0 +1,83 @@ +import useLocale from '@/utils/useLocale' +import { Grid } from '@arco-design/web-react' +import axios from 'axios' +import React, { useEffect, useMemo, useState } from 'react' +import locale from '../locale' +import PublicOpinionCard, { PublicOpinionCardProps } from './card' + +const { Row, Col } = Grid + +const cardInfo = [ + { + key: 'visitor', + type: 'line', + }, + { + key: 'content', + type: 'interval', + }, + { + key: 'comment', + type: 'line', + }, + { + key: 'share', + type: 'pie', + }, +] + +function PublicOpinion() { + const t = useLocale(locale) + const [loading, setLoading] = useState(true) + const [data, setData] = useState( + cardInfo.map((item) => ({ + ...item, + chartType: item.type as 'line' | 'pie' | 'interval', + title: t[`dataAnalysis.publicOpinion.${item.key}`], + })), + ) + + const getData = async () => { + const requestList = cardInfo.map(async (info) => { + const { data } = await axios + .get(`/api/data-analysis/overview?type=${info.type}`) + .catch(() => ({ data: {} })) + return { + ...data, + key: info.key, + chartType: info.type, + } + }) + const result = await Promise.all(requestList).finally(() => setLoading(false)) + setData(result) + } + + useEffect(() => { + getData() + }, []) + + const formatData = useMemo(() => { + return data.map((item) => ({ + ...item, + title: t[`dataAnalysis.publicOpinion.${item.key}`], + })) + }, [t, data]) + + return ( +
+ + {formatData.map((item, index) => ( +
+ + + ))} + + + ) +} + +export default PublicOpinion diff --git a/examples/arco-pro/src/pages/visualization/data-analysis/style/public-opinion.module.less b/examples/arco-pro/src/pages/visualization/data-analysis/style/public-opinion.module.less new file mode 100644 index 000000000..9277d1c48 --- /dev/null +++ b/examples/arco-pro/src/pages/visualization/data-analysis/style/public-opinion.module.less @@ -0,0 +1,96 @@ +@line-card-bg: linear-gradient(180deg, rgb(242 249 254) 0%, #e6f4fe 100%); + +@interval-card-bg: linear-gradient( + 180deg, + rgb(245 254 242) 0%, + rgb(230 254 238) 100% +); + +@pie-card-bg: linear-gradient( + 180deg, + rgb(247 247 255) 0%, + rgb(236 236 255) 100% +); + +@line-card-dark-bg: linear-gradient(180deg, #284991 0%, #122b62 100%); +@interval-card-dark-bg: linear-gradient(180deg, #3d492e 0%, #263827 100%); +@pie-card-dark-bg: linear-gradient(180deg, #312565 0%, #201936 100%); + +.card { + display: flex; + padding: 20px; + padding-top: 16px; + border-radius: 4px; + min-height: 100px; + + &-line { + background: @line-card-bg; + } + + &-interval { + background: @interval-card-bg; + } + + &-pie { + background: @pie-card-bg; + } + + .statistic { + white-space: nowrap; + } + + .chart { + flex: auto; + display: flex; + flex-direction: column-reverse; + margin-left: 16px; + } + + .title { + margin: 0; + } + + :global(.arco-statistic-content) { + margin-top: 24px; + margin-bottom: 4px; + + :global(.arco-statistic-value) { + font-size: 24px; + line-height: 28px; + } + } + + .compare-yesterday { + &-text { + font-size: 12px; + font-weight: 400; + color: var(--color-text-2); + } + } + + .diff { + margin-left: 8px; + line-height: 20px; + color: rgb(var(--red-6)); + } + + .diff-increment { + color: rgb(var(--green-6)); + } +} + +body[arco-theme='dark'] { + .card { + &-line { + background: @line-card-dark-bg; + } + + &-pie { + background: @pie-card-dark-bg; + } + + &-interval { + background: @interval-card-dark-bg; + } + } +} diff --git a/examples/arco-pro/src/pages/visualization/multi-dimension-data-analysis/card-list.tsx b/examples/arco-pro/src/pages/visualization/multi-dimension-data-analysis/card-list.tsx new file mode 100644 index 000000000..efed64c43 --- /dev/null +++ b/examples/arco-pro/src/pages/visualization/multi-dimension-data-analysis/card-list.tsx @@ -0,0 +1,200 @@ +import useLocale from '@/utils/useLocale' +import { Card, Grid, Skeleton, Spin, Statistic, Typography } from '@arco-design/web-react' +import axios from 'axios' +import { Chart, Interaction, Interval, Line, Tooltip } from 'bizcharts' +import cs from 'classnames' +import React, { useEffect, useMemo, useState } from 'react' +import locale from './locale' + +import { IconArrowFall, IconArrowRise } from '@arco-design/web-react/icon' +import styles from './style/card-block.module.less' + +const { Row, Col } = Grid +const { Title, Text } = Typography +const basicChartProps = { + pure: true, + autoFit: true, + height: 80, + padding: [0, 10, 0, 10], +} + +export interface CardProps { + key: string + title?: string + chartData?: any[] + chartType: string + count?: number + increment?: boolean + diff?: number + loading?: boolean +} + +function CustomTooltip(props: { items: any[] }) { + const { items } = props + return ( +
+ {items.map((item, index) => ( +
+ {Number(item.data.y).toLocaleString()} +
+ ))} +
+ ) +} +function SimpleLine(props: { chartData: any[] }) { + const { chartData } = props + return ( + + + + {(_, items) => } + + + ) +} + +function SimpleInterval(props: { chartData: any[] }) { + const { chartData } = props + return ( + + { + if (Number(xVal) % 2 === 0) { + return '#86DF6C' + } + return '#468DFF' + }, + ]} + /> + + {(_, items) => } + + + + ) +} + +function CardBlock(props: CardProps) { + const { chartType, title, count, increment, diff, chartData, loading } = props + + return ( + +
+ + {title} + + } + loading={loading} + value={count} + extra={ +
+ {loading + ? ( + + ) + : ( + + {diff} + {increment ? : } + + )} +
+ } + groupSeparator + /> +
+
+ + {chartType === 'interval' && } + {chartType === 'line' && } + +
+
+ ) +} + +const cardInfo = [ + { + key: 'userRetentionTrend', + type: 'line', + }, + { + key: 'userRetention', + type: 'interval', + }, + { + key: 'contentConsumptionTrend', + type: 'line', + }, + { + key: 'contentConsumption', + type: 'interval', + }, +] +function CardList() { + const t = useLocale(locale) + const [loading, setLoading] = useState(false) + const [data, setData] = useState( + cardInfo.map((item) => ({ + ...item, + chartType: item.type, + })), + ) + + const getData = async () => { + const requestList = cardInfo.map(async (info) => { + const { data } = await axios + .get(`/api/multi-dimension/card?type=${info.type}`) + .catch(() => ({ data: {} })) + return { + ...data, + key: info.key, + chartType: info.type, + } + }) + + setLoading(true) + const result = await Promise.all(requestList).finally(() => setLoading(false)) + setData(result) + } + + useEffect(() => { + getData() + }, []) + + const formatData = useMemo(() => { + return data.map((item) => ({ + ...item, + title: t[`multiDAnalysis.cardList.${item.key}`], + })) + }, [t, data]) + + return ( + + {formatData.map((item, index) => ( +
+ + + ))} + + ) +} + +export default CardList diff --git a/examples/arco-pro/src/pages/visualization/multi-dimension-data-analysis/data-overview.tsx b/examples/arco-pro/src/pages/visualization/multi-dimension-data-analysis/data-overview.tsx new file mode 100644 index 000000000..3be30051f --- /dev/null +++ b/examples/arco-pro/src/pages/visualization/multi-dimension-data-analysis/data-overview.tsx @@ -0,0 +1,97 @@ +// 数据总览 +import MultiAreaLine from '@/components/Chart/multi-area-line' +import useLocale from '@/utils/useLocale' +import { Card, Grid, Skeleton, Statistic, Typography } from '@arco-design/web-react' +import { IconEdit, IconHeart, IconThumbUp, IconUser } from '@arco-design/web-react/icon' +import axios from 'axios' +import React, { useEffect, useMemo, useState } from 'react' +import locale from './locale' +import styles from './style/data-overview.module.less' + +const { Title } = Typography +export default () => { + const t = useLocale(locale) + const [overview, setOverview] = useState([]) + const [lineData, setLineData] = useState([]) + const [loading, setLoading] = useState(false) + + const getData = async () => { + setLoading(true) + const { data } = await axios + .get('/api/multi-dimension/overview') + .finally(() => setLoading(false)) + + const { overviewData, chartData } = data + setLineData(chartData) + setOverview(overviewData) + } + + useEffect(() => { + getData() + }, []) + + const formatedData = useMemo(() => { + return [ + { + title: t['multiDAnalysis.dataOverview.contentProduction'], + icon: , + value: overview[0], + background: 'rgb(var(--orange-2))', + color: 'rgb(var(--orange-6))', + }, + { + title: t['multiDAnalysis.dataOverview.contentClicks'], + icon: , + value: overview[1], + background: 'rgb(var(--cyan-2))', + color: 'rgb(var(--cyan-6))', + }, + { + title: t['multiDAnalysis.dataOverview.contextExposure'], + value: overview[2], + icon: , + background: 'rgb(var(--arcoblue-1))', + color: 'rgb(var(--arcoblue-6))', + }, + { + title: t['multiDAnalysis.dataOverview.activeUsers'], + value: overview[3], + icon: , + background: 'rgb(var(--purple-1))', + color: 'rgb(var(--purple-6))', + }, + ] + }, [t, overview]) + + return ( + + {formatedData.map((item, index) => ( + + + {item.title} +
+
+ {item.icon} +
+ {loading + ? ( + + ) + : } +
+
+
+ ))} + + + +
+ ) +} diff --git a/examples/arco-pro/src/pages/visualization/multi-dimension-data-analysis/index.tsx b/examples/arco-pro/src/pages/visualization/multi-dimension-data-analysis/index.tsx new file mode 100644 index 000000000..65ff5d402 --- /dev/null +++ b/examples/arco-pro/src/pages/visualization/multi-dimension-data-analysis/index.tsx @@ -0,0 +1,119 @@ +import AreaPolar from '@/components/Chart/area-polar' +import FactMultiPie from '@/components/Chart/fact-multi-pie' +import HorizontalInterval from '@/components/Chart/horizontal-interval' +import useLocale from '@/utils/useLocale' +import { Card, Grid, Space, Typography } from '@arco-design/web-react' +import axios from 'axios' +import React, { useEffect, useState } from 'react' +import CardList from './card-list' +import DataOverview from './data-overview' +import locale from './locale' + +import './mock' + +const { Row, Col } = Grid +const { Title } = Typography + +function DataAnalysis() { + const t = useLocale(locale) + const [loading, setLoading] = useState(false) + const [interval, setInterval] = useState([]) + const [polarLoading, setPolarLoading] = useState(false) + const [polar, setPolar] = useState({ list: [], fields: [] }) + const [multiPieLoading, setMultiPieLoading] = useState(false) + const [multiPie, setMultiPie] = useState([]) + + const getInterval = async () => { + setLoading(true) + const { data } = await axios + .get('/api/multi-dimension/activity') + .finally(() => { + setLoading(false) + }) + setInterval(data) + } + + const getPolar = async () => { + setPolarLoading(true) + const { data } = await axios + .get('/api/multi-dimension/polar') + .finally(() => setPolarLoading(false)) + + setPolar(data) + } + + const getMultiPie = async () => { + setMultiPieLoading(true) + const { data } = await axios + .get('/api/multi-dimension/content-source') + .finally(() => { + setMultiPieLoading(false) + }) + + setMultiPie(data) + } + + useEffect(() => { + getInterval() + getPolar() + getMultiPie() + }, []) + + return ( + + +
+ + + {t['multiDAnalysis.card.title.dataOverview']} + + + + + + + + {t['multiDAnalysis.card.title.todayActivity']} + + + + + + {t['multiDAnalysis.card.title.contentTheme']} + + + + + + + + + + + + + + + {t['multiDAnalysis.card.title.contentSource']} + + + + + + + ) +} +export default DataAnalysis diff --git a/examples/arco-pro/src/pages/visualization/multi-dimension-data-analysis/locale/index.ts b/examples/arco-pro/src/pages/visualization/multi-dimension-data-analysis/locale/index.ts new file mode 100644 index 000000000..b4140d187 --- /dev/null +++ b/examples/arco-pro/src/pages/visualization/multi-dimension-data-analysis/locale/index.ts @@ -0,0 +1,44 @@ +const i18n = { + "en-US": { + "menu.visualization": "Data Visualization", + "menu.visualization.multiDimensionDataAnalysis": "Multi-D Analysis", + "multiDAnalysis.card.title.activeContributors": "Active Contributors", + "multiDAnalysis.unit": "times", + "multiDAnalysis.card.title.officeVisitors": "Office Visitors", + "multiDAnalysis.card.title.downloads": "Downloads", + "multiDAnalysis.card.title.dataOverview": "Overview", + "multiDAnalysis.card.title.todayActivity": + "Today's Likes and Comments Statistics", + "multiDAnalysis.card.title.contentTheme": "Content theme distribution", + "multiDAnalysis.card.title.contentSource": "Content publishing source", + "multiDAnalysis.dataOverview.contentProduction": "Content production", + "multiDAnalysis.dataOverview.contentClicks": "Content clicks", + "multiDAnalysis.dataOverview.contextExposure": "Content exposure", + "multiDAnalysis.dataOverview.activeUsers": "Active users", + "multiDAnalysis.cardList.userRetentionTrend": "User retention trends", + "multiDAnalysis.cardList.userRetention": "User retention", + "multiDAnalysis.cardList.contentConsumptionTrend": + "Content consumption trends", + "multiDAnalysis.cardList.contentConsumption": "Content consumption" + }, + "zh-CN": { + "menu.visualization": "数据可视化", + "menu.visualization.multiDimensionDataAnalysis": "多维数据分析", + "multiDAnalysis.card.title.officeVisitors": "官网访问量", + "multiDAnalysis.card.title.downloads": "下载量", + "multiDAnalysis.card.title.dataOverview": "数据总览", + "multiDAnalysis.card.title.todayActivity": "今日转赞评统计", + "multiDAnalysis.card.title.contentTheme": "内容题材分布", + "multiDAnalysis.card.title.contentSource": "内容发布来源", + "multiDAnalysis.dataOverview.contentProduction": "内容生产量", + "multiDAnalysis.dataOverview.contentClicks": "内容点击量", + "multiDAnalysis.dataOverview.contextExposure": "内容曝光量", + "multiDAnalysis.dataOverview.activeUsers": "活跃用户数", + "multiDAnalysis.cardList.userRetentionTrend": "用户留存趋势", + "multiDAnalysis.cardList.userRetention": "用户留存量", + "multiDAnalysis.cardList.contentConsumptionTrend": "内容消费趋势", + "multiDAnalysis.cardList.contentConsumption": "内容消费量" + } +}; + +export default i18n; diff --git a/examples/arco-pro/src/pages/visualization/multi-dimension-data-analysis/mock/index.ts b/examples/arco-pro/src/pages/visualization/multi-dimension-data-analysis/mock/index.ts new file mode 100644 index 000000000..1ce7cb7b3 --- /dev/null +++ b/examples/arco-pro/src/pages/visualization/multi-dimension-data-analysis/mock/index.ts @@ -0,0 +1,134 @@ +import setupMock from "@/utils/setupMock"; +import dayjs from "dayjs"; +import Mock from "mockjs"; +import qs from "query-string"; + +const legend = ["活跃用户数", "内容生产量", "内容点击量", "内容曝光量"]; +const count = [0, 600, 1000, 2000, 4000]; +const category = ["纯文本", "图文类", "视频类"]; +const getLineData = (name, index) => { + const { list } = Mock.mock({ + "list|10": [ + { + "id|+1": 1, + time: function () { + return dayjs().subtract(this.id, "days").format("MM-DD"); + }, + count: () => Mock.Random.natural(count[index], count[index + 1]), + name: name + } + ] + }); + return list.map(item => { + delete item.id; + return item; + }); +}; + +const mockLine = name => { + const result = new Array(12).fill(0).map(() => ({ + y: Mock.Random.natural(1000, 10000) + })); + return result + .sort((a, b) => a.y - b.y) + .map((item, index) => ({ + ...item, + x: index, + name + })); +}; + +const getContentSource = name => { + const typeList = ["UGC原创", "国外网站", "转载文章", "行业报告", "其他"]; + const result = []; + typeList.forEach(type => { + result.push({ + type, + value: Mock.Random.natural(100, 10000), + name + }); + }); + const total = result.reduce((a, b) => a + b.value, 0); + return result.map(item => ({ + ...item, + value: Number((item.value / total).toFixed(2)) + })); +}; + +setupMock({ + setup: () => { + Mock.mock(new RegExp("/api/multi-dimension/overview"), () => { + const { array: overviewData } = Mock.mock({ + "array|4": [ + function () { + return Mock.Random.natural(0, 10000); + } + ] + }); + let list = []; + legend.forEach( + (name, index) => (list = list.concat(getLineData(name, index))) + ); + return { + overviewData, + chartData: list + }; + }); + + Mock.mock(new RegExp("/api/multi-dimension/activity"), () => { + const { list } = Mock.mock({ + "list|3": [ + { + "name|+1": ["分享量", "评论量", "点赞量"], + count: () => Mock.Random.natural(1000, 10000) + } + ] + }); + return list; + }); + + Mock.mock(new RegExp("/api/multi-dimension/polar"), () => { + const items = ["国际", "娱乐", "体育", "财经", "科技", "其他"]; + + const getCategoryCount = () => { + const result = {}; + category.forEach(name => { + result[name] = Mock.Random.natural(0, 100); + }); + + return result; + }; + + return { + list: items.map(item => ({ + item, + ...getCategoryCount() + })), + fields: category + }; + }); + + Mock.mock(new RegExp("/api/multi-dimension/card"), params => { + const { type } = qs.parseUrl(params.url).query; + return Mock.mock({ + count: () => Mock.Random.natural(1000, 10000), + increment: () => Mock.Random.boolean(), + diff: () => Mock.Random.natural(100, 1000), + chartType: type, + chartData: () => { + return mockLine("类目1"); + } + }); + }); + + Mock.mock(new RegExp("/api/multi-dimension/content-source"), () => { + const allList = category.map(name => { + return getContentSource(name).map(item => ({ + ...item, + category: name + })); + }); + return allList.flat(); + }); + } +}); diff --git a/examples/arco-pro/src/pages/visualization/multi-dimension-data-analysis/style/card-block.module.less b/examples/arco-pro/src/pages/visualization/multi-dimension-data-analysis/style/card-block.module.less new file mode 100644 index 000000000..04060fc37 --- /dev/null +++ b/examples/arco-pro/src/pages/visualization/multi-dimension-data-analysis/style/card-block.module.less @@ -0,0 +1,43 @@ +.card { + .statistic { + display: flex; + } + + .title { + margin: 0; + } + + :global(.arco-statistic-content) { + margin-top: 12px; + margin-bottom: 4px; + display: flex; + + :global(.arco-statistic-value) { + font-size: 24px; + line-height: 28px; + } + } + + .diff { + margin-left: 12px; + line-height: 20px; + color: rgb(var(--red-6)); + } + + .diff-increment { + color: rgb(var(--green-6)); + } + + .tooltip { + color: var(--color-text-1); + padding: 10px 0px; + background: var(--color-bg-5); + } + + :global(.bizcharts-tooltip) { + background: var(--color-bg-5) !important; + color: var(--color-text-1) !important; + box-shadow: 2px 2px 5px rgba(19, 78, 196, 0.1) !important; + opacity: 1 !important; + } +} diff --git a/examples/arco-pro/src/pages/visualization/multi-dimension-data-analysis/style/data-overview.module.less b/examples/arco-pro/src/pages/visualization/multi-dimension-data-analysis/style/data-overview.module.less new file mode 100644 index 000000000..e909603ce --- /dev/null +++ b/examples/arco-pro/src/pages/visualization/multi-dimension-data-analysis/style/data-overview.module.less @@ -0,0 +1,39 @@ +.card { + :global(.arco-spin) { + width: 100%; + } + + :global(.arco-card-body) { + padding-top: 6px; + } + + h6 { + font-size: 12px; + margin-bottom: 8px; + } + + .content { + display: flex; + line-height: 32px; + + &-icon { + width: 32px; + height: 32px; + line-height: 32px; + border-radius: 6px; + margin-right: 8px; + text-align: center; + font-size: 18px; + } + + :global(.arco-statistic) { + line-height: normal; + } + } +} + +.skeleton { + :global(.arco-skeleton-text-row) { + height: 32px; + } +} diff --git a/examples/arco-pro/src/pages/visualization/multi-dimension-data-analysis/utils/map.ts b/examples/arco-pro/src/pages/visualization/multi-dimension-data-analysis/utils/map.ts new file mode 100644 index 000000000..f534124dd --- /dev/null +++ b/examples/arco-pro/src/pages/visualization/multi-dimension-data-analysis/utils/map.ts @@ -0,0 +1,60 @@ +import * as turf from "@turf/turf"; + +export function keepMapRatio(mapData, c) { + if (mapData && turf) { + // 获取数据外接矩形,计算宽高比 + const bbox = turf.bbox(mapData); + const width = bbox[2] - bbox[0]; + const height = bbox[3] - bbox[1]; + const ratio = height / width; + + const cWidth = c.width; + const cHeight = c.height; + const cRatio = cHeight / cWidth; + + let scale: { + x: { + range: number[]; + }; + y: { + range: number[]; + }; + }; + + if (cRatio >= ratio) { + const halfDisRatio = (cRatio - ratio) / 2 / cRatio; + scale = { + x: { + range: [0, 1] + }, + y: { + range: [halfDisRatio, 1 - halfDisRatio] + } + }; + } else { + const halfDisRatio = ((1 / cRatio - 1 / ratio) / 2) * cRatio; + scale = { + y: { + range: [0, 1] + }, + x: { + range: [halfDisRatio, 1 - halfDisRatio] + } + }; + } + const curScaleXRange = c.getScaleByField("x").range; + const curScaleYRange = c.getScaleByField("y").range; + + if ( + curScaleXRange[0] !== scale.x.range[0] || + curScaleXRange[1] !== scale.x.range[1] || + curScaleYRange[0] !== scale.y.range[0] || + curScaleYRange[1] !== scale.y.range[1] + ) { + setTimeout(() => { + c.scale(scale); + c.render(true); + }, 1); + } + } +} diff --git a/examples/arco-pro/src/pages/welcome/code-block.tsx b/examples/arco-pro/src/pages/welcome/code-block.tsx new file mode 100644 index 000000000..2eafd5d6a --- /dev/null +++ b/examples/arco-pro/src/pages/welcome/code-block.tsx @@ -0,0 +1,29 @@ +import clipboard from '@/utils/clipboard' +import { Button, Message, Tooltip } from '@arco-design/web-react' +import { IconCopy } from '@arco-design/web-react/icon' +import React from 'react' +import styles from './style/code-block.module.less' + +interface CodeBlockProps { + code: string +} + +export default function CodeBlock(props: CodeBlockProps) { + const { code } = props + return ( +
+      {code}
+      
+        
+ ) +} diff --git a/examples/arco-pro/src/pages/welcome/index.tsx b/examples/arco-pro/src/pages/welcome/index.tsx new file mode 100644 index 000000000..509b0b6c8 --- /dev/null +++ b/examples/arco-pro/src/pages/welcome/index.tsx @@ -0,0 +1,66 @@ +import useLocale from '@/utils/useLocale' +import { Alert, Card, Link, Tag, Typography } from '@arco-design/web-react' +import { IconDoubleRight } from '@arco-design/web-react/icon' +import React from 'react' +import { useSelector } from 'react-redux' +import CodeBlock from './code-block' +import locale from './locale' +import styles from './style/index.module.less' + +export default function Welcome() { + const t = useLocale(locale) + const userInfo = useSelector((state: any) => state.userInfo) || {} + return ( +
+
+ + {t['welcome.title.welcome']} + + + {userInfo.name}, {userInfo.email} + +
+
+ + + + 1. {t['welcome.step.title.pickup']} + + + {t['welcome.step.content.pickup']} + + @arco-design/pro-pages-workplace + + + + + 2. {t['welcome.step.title.install']} + + {t['welcome.step.content.install']} + + + + 3. {t['welcome.step.title.result']} + + {t['welcome.step.content.result']} + + + {t['welcome.title.material']} +
+ + {t['welcome.link.material-pro']} + +
+
+ + {t['welcome.link.material-all']} + +
+
+
+
+ ) +} diff --git a/examples/arco-pro/src/pages/welcome/locale/index.ts b/examples/arco-pro/src/pages/welcome/locale/index.ts new file mode 100644 index 000000000..33fd6f1ef --- /dev/null +++ b/examples/arco-pro/src/pages/welcome/locale/index.ts @@ -0,0 +1,38 @@ +const i18n = { + "en-US": { + "welcome.title.welcome": "Welcome", + "welcome.invite": + "Arco Cli commands can be used to install materials from the material market, and we sincerely invite you to experience it.", + "welcome.usage": "Usage", + "welcome.step.title.pickup": "Select materials from the material market", + "welcome.step.title.install": "Install", + "welcome.step.title.result": "Result", + "welcome.step.content.pickup": + "For example, if you want the workplace page of pro, you can get the package name of the material from the material details", + "welcome.step.content.install": + "After getting the package name, you can install the material through the following command.", + "welcome.step.content.result": "Then, you get a workplace page easily.", + "welcome.title.material": + "For more materials, please check the following link", + "welcome.link.material-pro": "Arco Design Pro material collection", + "welcome.link.material-all": "All materials" + }, + "zh-CN": { + "welcome.title.welcome": "欢迎", + "welcome.invite": "通过 Arco Cli 命令可以安装物料市场的物料,诚邀您体验。", + "welcome.usage": "使用方式", + "welcome.step.title.pickup": "从物料市场选择物料", + "welcome.step.title.install": "安装物料", + "welcome.step.title.result": "成果", + "welcome.step.content.pickup": + "例如您看中了 pro 的 workplace 页面,可以从物料详情中获得该物料的包名", + "welcome.step.content.install": + "得到包名后,您就可以通过如下命令安装该物料", + "welcome.step.content.result": "这样您就能轻松获得一个 workplace 页面", + "welcome.title.material": "更多物料请查看以下链接", + "welcome.link.material-pro": "Arco Design Pro 物料合集", + "welcome.link.material-all": "所有物料" + } +}; + +export default i18n; diff --git a/examples/arco-pro/src/pages/welcome/style/code-block.module.less b/examples/arco-pro/src/pages/welcome/style/code-block.module.less new file mode 100644 index 000000000..91a2f232b --- /dev/null +++ b/examples/arco-pro/src/pages/welcome/style/code-block.module.less @@ -0,0 +1,14 @@ +.code-block { + color: var(--color-text-2); + padding: 8px; + background-color: var(--color-fill-1); + width: fit-content; + + &-content { + display: inline-block; + } + + &-copy-btn { + margin-left: 8px; + } +} diff --git a/examples/arco-pro/src/pages/welcome/style/index.module.less b/examples/arco-pro/src/pages/welcome/style/index.module.less new file mode 100644 index 000000000..3e09cbafe --- /dev/null +++ b/examples/arco-pro/src/pages/welcome/style/index.module.less @@ -0,0 +1,4 @@ +.header { + background: var(--color-bg-2); + padding: 20px; +} diff --git a/examples/arco-pro/src/react-app-env.d.ts b/examples/arco-pro/src/react-app-env.d.ts new file mode 100644 index 000000000..6431bc5fc --- /dev/null +++ b/examples/arco-pro/src/react-app-env.d.ts @@ -0,0 +1 @@ +/// diff --git a/examples/arco-pro/src/routes.ts b/examples/arco-pro/src/routes.ts new file mode 100644 index 000000000..bba44f125 --- /dev/null +++ b/examples/arco-pro/src/routes.ts @@ -0,0 +1,222 @@ +import auth, { AuthParams } from "@/utils/authentication"; +import { useEffect, useMemo, useState } from "react"; + +export type Route = AuthParams & { + name: string; + key: string; + breadcrumb?: boolean; + children?: Route[]; +}; + +export const routes: Route[] = [ + { + name: "menu.dashboard", + key: "dashboard", + children: [ + { + name: "menu.dashboard.workplace", + key: "dashboard/workplace" + }, + { + name: "menu.dashboard.monitor", + key: "dashboard/monitor", + requiredPermissions: [ + { resource: "menu.dashboard.monitor", actions: ["write"] } + ] + } + ] + }, + { + name: "menu.visualization", + key: "visualization", + children: [ + { + name: "menu.visualization.dataAnalysis", + key: "visualization/data-analysis", + requiredPermissions: [ + { resource: "menu.visualization.dataAnalysis", actions: ["read"] } + ] + }, + { + name: "menu.visualization.multiDimensionDataAnalysis", + key: "visualization/multi-dimension-data-analysis", + requiredPermissions: [ + { + resource: "menu.visualization.dataAnalysis", + actions: ["read", "write"] + }, + { + resource: "menu.visualization.multiDimensionDataAnalysis", + actions: ["write"] + } + ], + oneOfPerm: true + } + ] + }, + { + name: "menu.list", + key: "list", + children: [ + { + name: "menu.list.searchTable", + key: "list/search-table" + }, + { + name: "menu.list.cardList", + key: "list/card" + } + ] + }, + { + name: "menu.form", + key: "form", + children: [ + { + name: "menu.form.group", + key: "form/group", + requiredPermissions: [ + { resource: "menu.form.group", actions: ["read", "write"] } + ] + }, + { + name: "menu.form.step", + key: "form/step", + requiredPermissions: [{ resource: "menu.form.step", actions: ["read"] }] + } + ] + }, + { + name: "menu.profile", + key: "profile", + children: [ + { + name: "menu.profile.basic", + key: "profile/basic" + } + ] + }, + + { + name: "menu.result", + key: "result", + children: [ + { + name: "menu.result.success", + key: "result/success", + breadcrumb: false + }, + { + name: "menu.result.error", + key: "result/error", + breadcrumb: false + } + ] + }, + { + name: "menu.exception", + key: "exception", + children: [ + { + name: "menu.exception.403", + key: "exception/403" + }, + { + name: "menu.exception.404", + key: "exception/404" + }, + { + name: "menu.exception.500", + key: "exception/500" + } + ] + }, + { + name: "menu.user", + key: "user", + children: [ + { + name: "menu.user.info", + key: "user/info" + }, + { + name: "menu.user.setting", + key: "user/setting" + } + ] + } +]; + +export const getName = (path: string, routes) => { + return routes.find(item => { + const itemPath = `/${item.key}`; + if (path === itemPath) { + return item.name; + } else if (item.children) { + return getName(path, item.children); + } + }); +}; + +export const generatePermission = (role: string) => { + const actions = role === "admin" ? ["*"] : ["read"]; + const result = {}; + routes.forEach(item => { + if (item.children) { + item.children.forEach(child => { + result[child.name] = actions; + }); + } + }); + return result; +}; + +const useRoute = (userPermission): [Route[], string] => { + const filterRoute = (routes: Route[], arr = []): Route[] => { + if (!routes.length) { + return []; + } + for (const route of routes) { + const { requiredPermissions, oneOfPerm } = route; + let visible = true; + if (requiredPermissions) { + visible = auth({ requiredPermissions, oneOfPerm }, userPermission); + } + + if (!visible) { + continue; + } + if (route.children && route.children.length) { + const newRoute = { ...route, children: [] }; + filterRoute(route.children, newRoute.children); + if (newRoute.children.length) { + arr.push(newRoute); + } + } else { + arr.push({ ...route }); + } + } + + return arr; + }; + + const [permissionRoute, setPermissionRoute] = useState(routes); + + useEffect(() => { + const newRoutes = filterRoute(routes); + setPermissionRoute(newRoutes); + }, [userPermission]); + + const defaultRoute = useMemo(() => { + const first = permissionRoute[0]; + if (first) { + const firstRoute = first?.children?.[0]?.key || first.key; + return firstRoute; + } + return ""; + }, [permissionRoute]); + + return [permissionRoute, defaultRoute]; +}; + +export default useRoute; diff --git a/examples/arco-pro/src/settings.json b/examples/arco-pro/src/settings.json new file mode 100644 index 000000000..c84e59c39 --- /dev/null +++ b/examples/arco-pro/src/settings.json @@ -0,0 +1,8 @@ +{ + "colorWeek": false, + "navbar": true, + "menu": true, + "footer": true, + "themeColor": "#165DFF", + "menuWidth": 220 +} diff --git a/examples/arco-pro/src/store/index.ts b/examples/arco-pro/src/store/index.ts new file mode 100644 index 000000000..bce74974a --- /dev/null +++ b/examples/arco-pro/src/store/index.ts @@ -0,0 +1,42 @@ +import defaultSettings from "../settings.json"; +export interface GlobalState { + settings?: typeof defaultSettings; + userInfo?: { + name?: string; + avatar?: string; + job?: string; + organization?: string; + location?: string; + email?: string; + permissions: Record; + }; +} + +const initialState: GlobalState = { + settings: defaultSettings, + userInfo: { + permissions: {} + } +}; + +export default function store(state = initialState, action) { + switch (action.type) { + case "update-settings": { + const { settings } = action.payload; + return { + ...state, + settings + }; + } + case "update-userInfo": { + const { userInfo = initialState.userInfo, userLoading } = action.payload; + return { + ...state, + userLoading, + userInfo + }; + } + default: + return state; + } +} diff --git a/examples/arco-pro/src/style/global.less b/examples/arco-pro/src/style/global.less new file mode 100644 index 000000000..2fa5f9d80 --- /dev/null +++ b/examples/arco-pro/src/style/global.less @@ -0,0 +1,42 @@ +@import '@arco-themes/react-arco-pro/index.less'; +@import 'nprogress/nprogress.css'; + +html, +body { + width: 100%; + height: 100%; + margin: 0; + padding: 0; + font-size: 14px; + background-color: var(--color-bg-1); +} + +.chart-wrapper { + .bizcharts-tooltip { + background: linear-gradient( + 304.17deg, + rgb(253 254 255 / 60%) -6.04%, + rgb(244 247 252 / 60%) 85.2% + ) !important; + border-radius: 6px; + backdrop-filter: blur(10px); + padding: 8px !important; + width: 180px !important; + opacity: 1 !important; + } +} + +body[arco-theme='dark'] { + .chart-wrapper { + .bizcharts-tooltip { + background: linear-gradient( + 304.17deg, + rgba(90, 92, 95, 0.6) -6.04%, + rgba(87, 87, 87, 0.6) 85.2% + ) !important; + backdrop-filter: blur(10px); + border-radius: 6px; + box-shadow: none !important; + } + } +} diff --git a/examples/arco-pro/src/style/layout.module.less b/examples/arco-pro/src/style/layout.module.less new file mode 100644 index 000000000..9d8126efd --- /dev/null +++ b/examples/arco-pro/src/style/layout.module.less @@ -0,0 +1,138 @@ +@nav-size-height: 60px; +@layout-max-width: 1100px; + +.layout { + width: 100%; + height: 100%; +} + +.layout-navbar { + position: fixed; + width: 100%; + min-width: @layout-max-width; + top: 0; + left: 0; + height: @nav-size-height; + z-index: 100; + + &-hidden { + height: 0; + } +} + +.layout-sider { + position: fixed; + height: 100%; + top: 0; + left: 0; + z-index: 99; + box-sizing: border-box; + + ::-webkit-scrollbar { + width: 12px; + height: 4px; + } + + ::-webkit-scrollbar-thumb { + border: 4px solid transparent; + background-clip: padding-box; + border-radius: 7px; + background-color: var(--color-text-4); + } + + ::-webkit-scrollbar-thumb:hover { + background-color: var(--color-text-3); + } + + &::after { + content: ''; + display: block; + position: absolute; + top: 0; + right: -1px; + width: 1px; + height: 100%; + background-color: var(--color-border); + } + + > :global(.arco-layout-sider-children) { + overflow-y: hidden; + } + + .collapse-btn { + height: 24px; + width: 24px; + background-color: var(--color-fill-1); + color: var(--color-text-3); + border-radius: 2px; + cursor: pointer; + display: flex; + justify-content: center; + align-items: center; + // 位置 + position: absolute; + bottom: 12px; + right: 12px; + + &:hover { + background-color: var(--color-fill-3); + } + } +} + +.menu-wrapper { + overflow: auto; + height: 100%; + + :global(.arco-menu-item-inner > a::after), + :global(.arco-menu-item > a::after) { + content: ''; + display: block; + position: absolute; + width: 100%; + height: 100%; + left: 0; + right: 0; + top: 0; + bottom: 0; + } + + :global(.arco-menu-inline-header) { + font-weight: 500; + } +} + +.icon { + font-size: 18px; + vertical-align: text-bottom; +} + +.icon-empty { + width: 12px; + height: 18px; + display: inline-block; +} + +.layout-content { + background-color: var(--color-fill-2); + min-width: @layout-max-width; + min-height: 100vh; + transition: padding-left 0.2s; + box-sizing: border-box; +} + +.layout-content-wrapper { + padding: 16px 20px 0px 20px; +} + +.layout-breadcrumb { + margin-bottom: 16px; +} + +.spin { + display: flex; + align-items: center; + justify-content: center; + width: 100%; + min-height: calc(100vh - @nav-size-height); +} diff --git a/examples/arco-pro/src/utils/authentication.ts b/examples/arco-pro/src/utils/authentication.ts new file mode 100644 index 000000000..62b822c97 --- /dev/null +++ b/examples/arco-pro/src/utils/authentication.ts @@ -0,0 +1,57 @@ +/** + * { data-analysis: ['read', 'write'] } + */ + +export type UserPermission = Record; + +type Auth = { + resource: string | RegExp; + actions?: string[]; +}; + +export interface AuthParams { + requiredPermissions?: Array; + oneOfPerm?: boolean; +} + +const judge = (actions: string[], perm: string[]) => { + if (!perm || !perm.length) { + return false; + } + + if (perm.join("") === "*") { + return true; + } + + return actions.every(action => perm.includes(action)); +}; + +const auth = (params: Auth, userPermission: UserPermission) => { + const { resource, actions = [] } = params; + if (resource instanceof RegExp) { + const permKeys = Object.keys(userPermission); + const matchPermissions = permKeys.filter(item => item.match(resource)); + + return matchPermissions.every(key => { + const perm = userPermission[key]; + return judge(actions, perm); + }); + } + + const perm = userPermission[resource]; + return judge(actions, perm); +}; + +export default (params: AuthParams, userPermission: UserPermission) => { + const { requiredPermissions, oneOfPerm } = params; + if (Array.isArray(requiredPermissions) && requiredPermissions.length) { + let count = 0; + for (const rp of requiredPermissions) { + if (auth(rp, userPermission)) { + count++; + } + } + return oneOfPerm ? count > 0 : count === requiredPermissions.length; + } + return true; +}; diff --git a/examples/arco-pro/src/utils/changeTheme.ts b/examples/arco-pro/src/utils/changeTheme.ts new file mode 100644 index 000000000..ca3a12aa2 --- /dev/null +++ b/examples/arco-pro/src/utils/changeTheme.ts @@ -0,0 +1,9 @@ +function changeTheme(theme) { + if (theme === "dark") { + document.body.setAttribute("arco-theme", "dark"); + } else { + document.body.removeAttribute("arco-theme"); + } +} + +export default changeTheme; diff --git a/examples/arco-pro/src/utils/checkLogin.tsx b/examples/arco-pro/src/utils/checkLogin.tsx new file mode 100644 index 000000000..3b2f0d958 --- /dev/null +++ b/examples/arco-pro/src/utils/checkLogin.tsx @@ -0,0 +1,3 @@ +export default function checkLogin() { + return localStorage.getItem('userStatus') === 'login' +} diff --git a/examples/arco-pro/src/utils/clipboard.ts b/examples/arco-pro/src/utils/clipboard.ts new file mode 100644 index 000000000..2cb84b980 --- /dev/null +++ b/examples/arco-pro/src/utils/clipboard.ts @@ -0,0 +1,41 @@ +// https://github.com/feross/clipboard-copy/blob/master/index.js + +export default function clipboard(text) { + if (navigator.clipboard) { + return navigator.clipboard.writeText(text).catch(function (err) { + throw err !== undefined + ? err + : new DOMException("The request is not allowed", "NotAllowedError"); + }); + } + + const span = document.createElement("span"); + span.textContent = text; + + span.style.whiteSpace = "pre"; + + document.body.appendChild(span); + + const selection = window.getSelection(); + const range = window.document.createRange(); + selection.removeAllRanges(); + range.selectNode(span); + selection.addRange(range); + + let success = false; + try { + success = window.document.execCommand("copy"); + } catch (err) { + // eslint-disable-next-line + console.log("error", err); + } + + selection.removeAllRanges(); + window.document.body.removeChild(span); + + return success + ? Promise.resolve() + : Promise.reject( + new DOMException("The request is not allowed", "NotAllowedError") + ); +} diff --git a/examples/arco-pro/src/utils/getUrlParams.ts b/examples/arco-pro/src/utils/getUrlParams.ts new file mode 100644 index 000000000..e8fe45b32 --- /dev/null +++ b/examples/arco-pro/src/utils/getUrlParams.ts @@ -0,0 +1,19 @@ +// 仅用于线上预览,实际使用中可以将此逻辑删除 +import qs from "query-string"; +import { isSSR } from "./is"; + +export type ParamsType = Record; + +export default function getUrlParams(): ParamsType { + const params = qs.parseUrl(!isSSR ? window.location.href : "").query; + const returnParams: ParamsType = {}; + Object.keys(params).forEach(p => { + if (params[p] === "true") { + returnParams[p] = true; + } + if (params[p] === "false") { + returnParams[p] = false; + } + }); + return returnParams; +} diff --git a/examples/arco-pro/src/utils/is.ts b/examples/arco-pro/src/utils/is.ts new file mode 100644 index 000000000..2b94d17a1 --- /dev/null +++ b/examples/arco-pro/src/utils/is.ts @@ -0,0 +1,17 @@ +export function isArray(val): boolean { + return Object.prototype.toString.call(val) === "[object Array]"; +} +export function isObject(val): boolean { + return Object.prototype.toString.call(val) === "[object Object]"; +} +export function isString(val): boolean { + return Object.prototype.toString.call(val) === "[object String]"; +} + +export const isSSR = (function () { + try { + return !(typeof window !== "undefined" && document !== undefined); + } catch (e) { + return true; + } +})(); diff --git a/examples/arco-pro/src/utils/lazyload.tsx b/examples/arco-pro/src/utils/lazyload.tsx new file mode 100644 index 000000000..b414d39bf --- /dev/null +++ b/examples/arco-pro/src/utils/lazyload.tsx @@ -0,0 +1,38 @@ +import { Spin } from '@arco-design/web-react' +import loadable from '@loadable/component' +import React from 'react' +import styles from '../style/layout.module.less' + +// https://github.com/gregberge/loadable-components/pull/226 +function load(fn, options) { + const Component = loadable(fn, options) + + Component.preload = fn.requireAsync || fn + + return Component +} + +function LoadingComponent(props: { + error: boolean + timedOut: boolean + pastDelay: boolean +}) { + if (props.error) { + console.error(props.error) + return null + } + return ( +
+ +
+ ) +} + +export default (loader) => + load(loader, { + fallback: LoadingComponent({ + pastDelay: true, + error: false, + timedOut: false, + }), + }) diff --git a/examples/arco-pro/src/utils/setupMock.ts b/examples/arco-pro/src/utils/setupMock.ts new file mode 100644 index 000000000..ad37e3193 --- /dev/null +++ b/examples/arco-pro/src/utils/setupMock.ts @@ -0,0 +1,5 @@ +export default (config: { mock?: boolean; setup: () => void }) => { + const { mock = process.env.NODE_ENV === "development", setup } = config; + if (mock === false) return; + setup(); +}; diff --git a/examples/arco-pro/src/utils/useChartTheme.ts b/examples/arco-pro/src/utils/useChartTheme.ts new file mode 100644 index 000000000..67c92aae2 --- /dev/null +++ b/examples/arco-pro/src/utils/useChartTheme.ts @@ -0,0 +1,26 @@ +import { G2 } from "bizcharts"; +import { useEffect, useState } from "react"; +import { useSelector } from "react-redux"; + +const defaultDarkTheme = G2.getTheme("dark"); + +G2.registerTheme("darkTheme", { + ...defaultDarkTheme, + background: "transparent" +}); + +function useBizTheme() { + const theme = useSelector((state: any) => state.theme); + const themeName = theme === "dark" ? "darkTheme" : "light"; + const [themeObj, setThemeObj] = useState(G2.getTheme(themeName)); + + useEffect(() => { + const themeName = theme === "dark" ? "darkTheme" : "light"; + const newTheme = G2.getTheme(themeName); + setThemeObj(newTheme); + }, [theme]); + + return themeObj; +} + +export default useBizTheme; diff --git a/examples/arco-pro/src/utils/useLocale.ts b/examples/arco-pro/src/utils/useLocale.ts new file mode 100644 index 000000000..4e3564840 --- /dev/null +++ b/examples/arco-pro/src/utils/useLocale.ts @@ -0,0 +1,11 @@ +import { useContext } from "react"; +import { GlobalContext } from "../context"; +import defaultLocale from "../locale"; + +function useLocale(locale = null) { + const { lang } = useContext(GlobalContext); + + return (locale || defaultLocale)[lang] || {}; +} + +export default useLocale; diff --git a/examples/arco-pro/src/utils/useStorage.ts b/examples/arco-pro/src/utils/useStorage.ts new file mode 100644 index 000000000..c86e09c34 --- /dev/null +++ b/examples/arco-pro/src/utils/useStorage.ts @@ -0,0 +1,48 @@ +// https://stackoverflow.com/questions/68424114/next-js-how-to-fetch-localstorage-data-before-client-side-rendering +// 解决 nextJS 无法获取初始localstorage问题 + +import { isSSR } from "@/utils/is"; +import { useEffect, useState } from "react"; + +const getDefaultStorage = key => { + if (!isSSR) { + return localStorage.getItem(key); + } else { + return undefined; + } +}; + +function useStorage( + key: string, + defaultValue?: string +): [string, (string) => void, () => void] { + const [storedValue, setStoredValue] = useState( + getDefaultStorage(key) || defaultValue + ); + + const setStorageValue = (value: string) => { + if (!isSSR) { + localStorage.setItem(key, value); + if (value !== storedValue) { + setStoredValue(value); + } + } + }; + + const removeStorage = () => { + if (!isSSR) { + localStorage.removeItem("key"); + } + }; + + useEffect(() => { + const storageValue = localStorage.getItem(key); + if (storageValue) { + setStoredValue(storageValue); + } + }, []); + + return [storedValue, setStorageValue, removeStorage]; +} + +export default useStorage; diff --git a/examples/arco-pro/tsconfig-base.json b/examples/arco-pro/tsconfig-base.json new file mode 100644 index 000000000..c6daa82d6 --- /dev/null +++ b/examples/arco-pro/tsconfig-base.json @@ -0,0 +1,9 @@ +{ + "compilerOptions": { + // "rootDirs": ["./src", "../arco-design-pro-next/src"], + "baseUrl": ".", + "paths": { + "@/*": ["src/*"] + } + } +} diff --git a/examples/arco-pro/tsconfig.json b/examples/arco-pro/tsconfig.json new file mode 100644 index 000000000..6b12eb3af --- /dev/null +++ b/examples/arco-pro/tsconfig.json @@ -0,0 +1,28 @@ +{ + "extends": "./tsconfig-base.json", + "compilerOptions": { + "target": "es5", + "lib": [ + "dom", + "dom.iterable", + "esnext" + ], + "allowJs": true, + // TODO: Remove skipLibCheck when fix upstream type bug + "skipLibCheck": true, + "esModuleInterop": true, + "allowSyntheticDefaultImports": true, + "strict": false, + "forceConsistentCasingInFileNames": true, + "noFallthroughCasesInSwitch": true, + "module": "esnext", + "moduleResolution": "node", + "resolveJsonModule": true, + "isolatedModules": true, + "noEmit": true, + "jsx": "react-jsx" + }, + "include": [ + "src" + ] +} diff --git a/package.json b/package.json new file mode 100644 index 000000000..809b35104 --- /dev/null +++ b/package.json @@ -0,0 +1,27 @@ +{ + "name": "rspack-examples", + "version": "1.0.0", + "description": "Rspack Examples", + "main": "index.js", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/rspack-contrib/rspack-examples.git" + }, + "keywords": [], + "author": "", + "license": "ISC", + "bugs": { + "url": "https://github.com/rspack-contrib/rspack-examples/issues" + }, + "homepage": "https://github.com/rspack-contrib/rspack-examples#readme", + "devDependencies": { + "@rspack/core": "0.3.14", + "@rspack/cli": "0.3.14", + "webpack": "5.89.0", + "webpack-cli": "5.1.4", + "html-webpack-plugin": "5.5.3" + } +} diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml new file mode 100644 index 000000000..e5dc2c28b --- /dev/null +++ b/pnpm-lock.yaml @@ -0,0 +1,9281 @@ +lockfileVersion: '6.0' + +importers: + + .: + devDependencies: + '@rspack/cli': + specifier: 0.3.14 + version: 0.3.14(@swc/core@1.3.14)(react-refresh@0.14.0)(webpack-cli@5.1.4) + '@rspack/core': + specifier: 0.3.14 + version: 0.3.14 + html-webpack-plugin: + specifier: 5.5.3 + version: 5.5.3(webpack@5.89.0) + webpack: + specifier: 5.89.0 + version: 5.89.0(@swc/core@1.3.14)(webpack-cli@5.1.4) + webpack-cli: + specifier: 5.1.4 + version: 5.1.4(webpack@5.89.0) + + examples/arco-pro: + dependencies: + '@antv/data-set': + specifier: ^0.11.8 + version: 0.11.8 + '@arco-design/color': + specifier: ^0.4.0 + version: 0.4.0 + '@arco-design/web-react': + specifier: 2.29.2 + version: 2.29.2(react-dom@17.0.2)(react@17.0.2) + '@arco-themes/react-arco-pro': + specifier: ^0.0.7 + version: 0.0.7(@arco-design/web-react@2.29.2) + '@loadable/component': + specifier: ^5.15.2 + version: 5.15.2(react@17.0.2) + '@turf/turf': + specifier: ^6.5.0 + version: 6.5.0 + arco-design-pro: + specifier: ^2.3.0 + version: 2.3.0 + axios: + specifier: ^0.24.0 + version: 0.24.0 + bizcharts: + specifier: ^4.1.15 + version: 4.1.15(@antv/g@5.18.21)(@babel/core@7.23.3)(react@17.0.2) + classnames: + specifier: ^2.3.1 + version: 2.3.1 + copy-to-clipboard: + specifier: ^3.3.1 + version: 3.3.1 + dayjs: + specifier: ^1.10.7 + version: 1.10.7 + lodash: + specifier: ^4.17.21 + version: 4.17.21 + mockjs: + specifier: ^1.1.0 + version: 1.1.0 + nprogress: + specifier: ^0.2.0 + version: 0.2.0 + query-string: + specifier: ^6.14.1 + version: 6.14.1 + react: + specifier: ^17.0.2 + version: 17.0.2 + react-color: + specifier: ^2.19.3 + version: 2.19.3(react@17.0.2) + react-dom: + specifier: ^17.0.2 + version: 17.0.2(react@17.0.2) + react-redux: + specifier: ^7.2.6 + version: 7.2.6(react-dom@17.0.2)(react@17.0.2) + react-router: + specifier: ^5.2.1 + version: 5.2.1(react@17.0.2) + react-router-dom: + specifier: ^5.3.0 + version: 5.3.0(react@17.0.2) + redux: + specifier: ^4.1.2 + version: 4.1.2 + regenerator-runtime: + specifier: 0.13.9 + version: 0.13.9 + devDependencies: + '@rspack/cli': + specifier: 0.3.14 + version: 0.3.14(@swc/core@1.3.14)(react-refresh@0.14.0)(webpack-cli@5.1.4) + '@rspack/core': + specifier: 0.3.14 + version: 0.3.14 + '@rspack/plugin-html': + specifier: 0.3.14 + version: 0.3.14(@rspack/core@0.3.14) + '@rspack/plugin-react-refresh': + specifier: 0.3.14 + version: 0.3.14(react-refresh@0.14.0)(webpack-dev-server@4.13.1)(webpack@5.76.0) + '@svgr/webpack': + specifier: ^6.5.1 + version: 6.5.1 + '@swc/core': + specifier: ^1.3.14 + version: 1.3.14 + bundle-stats: + specifier: ^4.1.2 + version: 4.1.2 + css-loader: + specifier: ^6.7.1 + version: 6.7.1(webpack@5.89.0) + html-webpack-plugin: + specifier: ^5.5.0 + version: 5.5.3(webpack@5.89.0) + less-loader: + specifier: ^11.1.0 + version: 11.1.0(less@4.2.0)(webpack@5.89.0) + mini-css-extract-plugin: + specifier: ^2.6.1 + version: 2.6.1(webpack@5.89.0) + postcss-loader: + specifier: 7.0.2 + version: 7.0.2(postcss@8.4.31)(webpack@5.89.0) + serve: + specifier: 14.1.2 + version: 14.1.2 + style-loader: + specifier: ^3.3.1 + version: 3.3.1(webpack@5.89.0) + swc-loader: + specifier: ^0.2.3 + version: 0.2.3(@swc/core@1.3.14)(webpack@5.89.0) + +packages: + + /@ampproject/remapping@2.2.1: + resolution: {integrity: sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==} + engines: {node: '>=6.0.0'} + dependencies: + '@jridgewell/gen-mapping': 0.3.3 + '@jridgewell/trace-mapping': 0.3.20 + + /@antv/adjust@0.2.5: + resolution: {integrity: sha512-MfWZOkD9CqXRES6MBGRNe27Q577a72EIwyMnE29wIlPliFvJfWwsrONddpGU7lilMpVKecS3WAzOoip3RfPTRQ==} + dependencies: + '@antv/util': 2.0.17 + tslib: 1.14.1 + dev: false + + /@antv/attr@0.3.5: + resolution: {integrity: sha512-wuj2gUo6C8Q2ASSMrVBuTcb5LcV+Tc0Egiy6bC42D0vxcQ+ta13CLxgMmHz8mjD0FxTPJDXSciyszRSC5TdLsg==} + dependencies: + '@antv/color-util': 2.0.6 + '@antv/scale': 0.3.18 + '@antv/util': 2.0.17 + tslib: 2.6.2 + dev: false + + /@antv/color-util@2.0.6: + resolution: {integrity: sha512-KnPEaAH+XNJMjax9U35W67nzPI+QQ2x27pYlzmSIWrbj4/k8PGrARXfzDTjwoozHJY8qG62Z+Ww6Alhu2FctXQ==} + dependencies: + '@antv/util': 2.0.17 + tslib: 2.6.2 + dev: false + + /@antv/component@0.8.35: + resolution: {integrity: sha512-VnRa5X77nBPI952o2xePEEMSNZ6g2mcUDrQY8mVL2kino/8TFhqDq5fTRmDXZyWyIYd4ulJTz5zgeSwAnX/INQ==} + dependencies: + '@antv/color-util': 2.0.6 + '@antv/dom-util': 2.0.4 + '@antv/g-base': 0.5.15 + '@antv/matrix-util': 3.1.0-beta.3 + '@antv/path-util': 2.0.15 + '@antv/scale': 0.3.18 + '@antv/util': 2.0.17 + fecha: 4.2.3 + tslib: 2.6.2 + dev: false + + /@antv/component@1.0.0-beta.2(@antv/g@5.18.21): + resolution: {integrity: sha512-WQPgnoLsvVOoHXGaQWKitD38mF1olP+IqoXYARfwCuNEMMDMtNqdUbMZrU/P3ypmz2iEbqdVEOjagL9Aebk/Rw==} + peerDependencies: + '@antv/g': ^5.14.1 + dependencies: + '@antv/g': 5.18.21 + '@antv/scale': 0.4.12 + '@antv/util': 3.3.5 + svg-path-parser: 1.1.0 + dev: false + + /@antv/coord@0.3.1: + resolution: {integrity: sha512-rFE94C8Xzbx4xmZnHh2AnlB3Qm1n5x0VT3OROy257IH6Rm4cuzv1+tZaUBATviwZd99S+rOY9telw/+6C9GbRw==} + dependencies: + '@antv/matrix-util': 3.1.0-beta.3 + '@antv/util': 2.0.17 + tslib: 2.6.2 + dev: false + + /@antv/data-set@0.11.8: + resolution: {integrity: sha512-8/YDsfk4wNQdo/J9tfmzOuo9Y5nl0mB+sSZO+tEZsHFLUhMrioJGBMPkuW51Pn0zcVZPNivuMBi2sQKYCpCeew==} + dependencies: + '@antv/hierarchy': 0.6.11 + '@antv/util': 2.0.17 + d3-composite-projections: 1.4.0 + d3-dsv: 1.2.0 + d3-geo: 1.6.4 + d3-geo-projection: 2.1.2 + d3-hexjson: 1.1.1 + d3-hierarchy: 1.1.9 + d3-sankey: 0.9.1 + d3-voronoi: 1.1.4 + dagre: 0.8.5 + point-at-length: 1.1.0 + regression: 2.0.1 + simple-statistics: 6.1.1 + topojson-client: 3.1.0 + wolfy87-eventemitter: 5.2.9 + dev: false + + /@antv/dom-util@2.0.4: + resolution: {integrity: sha512-2shXUl504fKwt82T3GkuT4Uoc6p9qjCKnJ8gXGLSW4T1W37dqf9AV28aCfoVPHp2BUXpSsB+PAJX2rG/jLHsLQ==} + dependencies: + tslib: 2.6.2 + dev: false + + /@antv/event-emitter@0.1.3: + resolution: {integrity: sha512-4ddpsiHN9Pd4UIlWuKVK1C4IiZIdbwQvy9i7DUSI3xNJ89FPUFt8lxDYj8GzzfdllV0NkJTRxnG+FvLk0llidg==} + dev: false + + /@antv/g-base@0.5.15: + resolution: {integrity: sha512-QOtq50QpnKez9J75/Z8j2yZ7QDQdk8R8mVQJiHtaEO5eI7DM4ZbrsWff/Ew26JYmPWdq7nbRuARMAD4PX9uuLA==} + dependencies: + '@antv/event-emitter': 0.1.3 + '@antv/g-math': 0.1.9 + '@antv/matrix-util': 3.1.0-beta.3 + '@antv/path-util': 2.0.15 + '@antv/util': 2.0.17 + '@types/d3-timer': 2.0.3 + d3-ease: 1.0.7 + d3-interpolate: 3.0.1 + d3-timer: 1.0.10 + detect-browser: 5.3.0 + tslib: 2.6.2 + dev: false + + /@antv/g-camera-api@1.2.20: + resolution: {integrity: sha512-HapY48zFzDt43A3Z34kogApshwmUxQiXJKQ8XwB0UGzLc6ndMKGYx9tyXdMuozSqIQZ0AT5qasujYuu4h+6m7g==} + dependencies: + '@antv/g-lite': 1.2.19 + '@antv/util': 3.3.5 + gl-matrix: 3.4.3 + tslib: 2.6.2 + dev: false + + /@antv/g-canvas@0.5.14: + resolution: {integrity: sha512-IUGLEMIMAUYgaBMT8h3FTmYQYz7sjQkKWwh6Psqx+UPK86fySa+G8fMRrh1EqAL07jVB+GRnn6Ym+3FoFUgeFg==} + dependencies: + '@antv/g-base': 0.5.15 + '@antv/g-math': 0.1.9 + '@antv/matrix-util': 3.1.0-beta.3 + '@antv/path-util': 2.0.15 + '@antv/util': 2.0.17 + gl-matrix: 3.4.3 + tslib: 2.6.2 + dev: false + + /@antv/g-dom-mutation-observer-api@1.2.19: + resolution: {integrity: sha512-sBrwUIkcixEQIr1hhoRfCrZ80m6aNl/VbI0PhRGLDlkJRuoLd9pLn1uSQI042N7M5X7oLW4F9tbN1Aw3ahjT+Q==} + dependencies: + '@antv/g-lite': 1.2.19 + dev: false + + /@antv/g-lite@1.2.19: + resolution: {integrity: sha512-eHFkha7smINzzPCZ2znh10Fx47B7wGf9HM8I6srL5WJskgDYc7nQ2fs/azJcwoFdWxJLar3hugWi8azYkRTZNA==} + dependencies: + '@antv/g-math': 2.0.2 + '@antv/util': 3.3.5 + d3-color: 1.4.1 + eventemitter3: 5.0.1 + gl-matrix: 3.4.3 + rbush: 3.0.1 + tslib: 2.6.2 + dev: false + + /@antv/g-math@0.1.9: + resolution: {integrity: sha512-KHMSfPfZ5XHM1PZnG42Q2gxXfOitYveNTA7L61lR6mhZ8Y/aExsYmHqaKBsSarU0z+6WLrl9C07PQJZaw0uljQ==} + dependencies: + '@antv/util': 2.0.17 + gl-matrix: 3.4.3 + dev: false + + /@antv/g-math@2.0.2: + resolution: {integrity: sha512-uqGU1C+70orjeSUoIzD3TuXjL5dRQCIyjZrBrTmm0FWd6VQJMWHyG5ypuZ2lMiI5MrRajVSE1w+3J4hiNBYSJg==} + dependencies: + '@antv/util': 3.3.5 + gl-matrix: 3.4.3 + tslib: 2.6.2 + dev: false + + /@antv/g-svg@0.5.7: + resolution: {integrity: sha512-jUbWoPgr4YNsOat2Y/rGAouNQYGpw4R0cvlN0YafwOyacFFYy2zC8RslNd6KkPhhR3XHNSqJOuCYZj/YmLUwYw==} + dependencies: + '@antv/g-base': 0.5.15 + '@antv/g-math': 0.1.9 + '@antv/util': 2.0.17 + detect-browser: 5.3.0 + tslib: 2.6.2 + dev: false + + /@antv/g-web-animations-api@1.2.19: + resolution: {integrity: sha512-Px4Lj5wDkGTaj4BkazdcWVgWdV98oIumljKjSFyrrEdkV/Xq+f7LgSOIA6zBFQ6MQpt7PS6DtYWdmSQKjynPWw==} + dependencies: + '@antv/g-lite': 1.2.19 + '@antv/util': 3.3.5 + tslib: 2.6.2 + dev: false + + /@antv/g2@4.1.32: + resolution: {integrity: sha512-vJC0LgFyCjN3RdPA6JOi59qC8O4Z70TqFh/th+kzdWlt9KXDJc3MBBYcJI97m1IlrT9XqTGKqkZyGduZw4HCoA==} + dependencies: + '@antv/adjust': 0.2.5 + '@antv/attr': 0.3.5 + '@antv/color-util': 2.0.6 + '@antv/component': 0.8.35 + '@antv/coord': 0.3.1 + '@antv/dom-util': 2.0.4 + '@antv/event-emitter': 0.1.3 + '@antv/g-base': 0.5.15 + '@antv/g-canvas': 0.5.14 + '@antv/g-svg': 0.5.7 + '@antv/matrix-util': 3.1.0-beta.3 + '@antv/path-util': 2.0.15 + '@antv/scale': 0.3.18 + '@antv/util': 2.0.17 + tslib: 2.6.2 + dev: false + + /@antv/g2plot@2.3.39: + resolution: {integrity: sha512-B6/b+MiUOuO3vlvY19Qt0v+3B7ds72pxESI714hzuH2niXQ35AW8GaQ7+1U6Y7Kk7btoaB2AaCyWcvZuloWoPw==} + dependencies: + '@antv/event-emitter': 0.1.3 + '@antv/g2': 4.1.32 + d3-hierarchy: 2.0.0 + d3-regression: 1.3.10 + fmin: 0.0.2 + pdfast: 0.2.0 + size-sensor: 1.0.2 + tslib: 2.6.2 + dev: false + + /@antv/g@5.18.21: + resolution: {integrity: sha512-+RFiVeMgmPL94U4/wN3HUwxYmkOq2msrPAg38NeGG6Mwo4DOW2nEZqoQCpDFxzmTRwKM984b24epcEPv+wNy+g==} + dependencies: + '@antv/g-camera-api': 1.2.20 + '@antv/g-dom-mutation-observer-api': 1.2.19 + '@antv/g-lite': 1.2.19 + '@antv/g-web-animations-api': 1.2.19 + dev: false + + /@antv/hierarchy@0.6.11: + resolution: {integrity: sha512-RJVhEMCuu4vj+Dt25lXIiNdd7jaqm/fqWGYikiELha4S5tnzdJoTUaUvvpfWlxLx4B0RsS9XRwBs1bOKN71TKg==} + dependencies: + '@antv/util': 2.0.17 + dev: false + + /@antv/matrix-util@3.0.4: + resolution: {integrity: sha512-BAPyu6dUliHcQ7fm9hZSGKqkwcjEDVLVAstlHULLvcMZvANHeLXgHEgV7JqcAV/GIhIz8aZChIlzM1ZboiXpYQ==} + dependencies: + '@antv/util': 2.0.17 + gl-matrix: 3.4.3 + tslib: 2.6.2 + dev: false + + /@antv/matrix-util@3.1.0-beta.3: + resolution: {integrity: sha512-W2R6Za3A6CmG51Y/4jZUM/tFgYSq7vTqJL1VD9dKrvwxS4sE0ZcXINtkp55CdyBwJ6Cwm8pfoRpnD4FnHahN0A==} + dependencies: + '@antv/util': 2.0.17 + gl-matrix: 3.4.3 + tslib: 2.6.2 + dev: false + + /@antv/path-util@2.0.15: + resolution: {integrity: sha512-R2VLZ5C8PLPtr3VciNyxtjKqJ0XlANzpFb5sE9GE61UQqSRuSVSzIakMxjEPrpqbgc+s+y8i+fmc89Snu7qbNw==} + dependencies: + '@antv/matrix-util': 3.0.4 + '@antv/util': 2.0.17 + tslib: 2.6.2 + dev: false + + /@antv/scale@0.3.18: + resolution: {integrity: sha512-GHwE6Lo7S/Q5fgaLPaCsW+CH+3zl4aXpnN1skOiEY0Ue9/u+s2EySv6aDXYkAqs//i0uilMDD/0/4n8caX9U9w==} + dependencies: + '@antv/util': 2.0.17 + fecha: 4.2.3 + tslib: 2.6.2 + dev: false + + /@antv/scale@0.4.12: + resolution: {integrity: sha512-7klJjPXUpCwYc7WADh1XBC11DJYrP5fJoNfv4Ks6z7zPkIM7/PTGr+nU48P69nFL3X04Pe7QjVpevdfCqWvhZQ==} + dependencies: + '@antv/util': 2.0.17 + color-string: 1.9.1 + fecha: 4.2.3 + dev: false + + /@antv/util@2.0.17: + resolution: {integrity: sha512-o6I9hi5CIUvLGDhth0RxNSFDRwXeywmt6ExR4+RmVAzIi48ps6HUy+svxOCayvrPBN37uE6TAc2KDofRo0nK9Q==} + dependencies: + csstype: 3.1.2 + tslib: 2.6.2 + dev: false + + /@antv/util@3.3.5: + resolution: {integrity: sha512-bVv1loamL/MgUEN9dNt7VKAsghO4Wgb+kzr8B9TgkM5tHgKk++xiTwi3pejIdgU8DDkzcyaRsO+VTOXJt8jLng==} + dependencies: + fast-deep-equal: 3.1.3 + flru: 1.0.2 + gl-matrix: 3.4.3 + tslib: 2.6.2 + dev: false + + /@arco-design/color@0.4.0: + resolution: {integrity: sha512-s7p9MSwJgHeL8DwcATaXvWT3m2SigKpxx4JA1BGPHL4gfvaQsmQfrLBDpjOJFJuJ2jG2dMt3R3P8Pm9E65q18g==} + dependencies: + color: 3.2.1 + dev: false + + /@arco-design/web-react@2.29.2(react-dom@17.0.2)(react@17.0.2): + resolution: {integrity: sha512-nDMIWfuvYKlxc8lFBtaLPPDURtAJLmXu77r0KCH0Y6GB3S8mUQb7hs0hCC/K+1Pp5yzuVr05ESrEYovM8O5AvQ==} + peerDependencies: + react: '>=16' + react-dom: '>=16' + dependencies: + '@arco-design/color': 0.4.0 + '@babel/runtime': 7.23.2 + b-tween: 0.3.3 + b-validate: 1.5.3 + compute-scroll-into-view: 1.0.20 + dayjs: 1.10.7 + lodash: 4.17.21 + number-precision: 1.6.0 + react: 17.0.2 + react-dom: 17.0.2(react@17.0.2) + react-focus-lock: 2.9.6(react@17.0.2) + react-transition-group: 4.4.5(react-dom@17.0.2)(react@17.0.2) + resize-observer-polyfill: 1.5.1 + scroll-into-view-if-needed: 2.2.20 + shallowequal: 1.1.0 + transitivePeerDependencies: + - '@types/react' + dev: false + + /@arco-themes/react-arco-pro@0.0.7(@arco-design/web-react@2.29.2): + resolution: {integrity: sha512-ymLuKbfwdYha9noATRQXe5qQH4THjqlEkZTWtAysq4GssYeemNObof51NnuJSMyQtdTS8KC7r//+zHjZrk4dcA==} + peerDependencies: + '@arco-design/web-react': ^2.25.1 + dependencies: + '@arco-design/web-react': 2.29.2(react-dom@17.0.2)(react@17.0.2) + dev: false + + /@babel/code-frame@7.22.13: + resolution: {integrity: sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/highlight': 7.22.20 + chalk: 2.4.2 + + /@babel/compat-data@7.23.3: + resolution: {integrity: sha512-BmR4bWbDIoFJmJ9z2cZ8Gmm2MXgEDgjdWgpKmKWUt54UGFJdlj31ECtbaDvCG/qVdG3AQ1SfpZEs01lUFbzLOQ==} + engines: {node: '>=6.9.0'} + + /@babel/core@7.23.3: + resolution: {integrity: sha512-Jg+msLuNuCJDyBvFv5+OKOUjWMZgd85bKjbICd3zWrKAo+bJ49HJufi7CQE0q0uR8NGyO6xkCACScNqyjHSZew==} + engines: {node: '>=6.9.0'} + dependencies: + '@ampproject/remapping': 2.2.1 + '@babel/code-frame': 7.22.13 + '@babel/generator': 7.23.3 + '@babel/helper-compilation-targets': 7.22.15 + '@babel/helper-module-transforms': 7.23.3(@babel/core@7.23.3) + '@babel/helpers': 7.23.2 + '@babel/parser': 7.23.3 + '@babel/template': 7.22.15 + '@babel/traverse': 7.23.3 + '@babel/types': 7.23.3 + convert-source-map: 2.0.0 + debug: 4.3.4 + gensync: 1.0.0-beta.2 + json5: 2.2.3 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + + /@babel/generator@7.23.3: + resolution: {integrity: sha512-keeZWAV4LU3tW0qRi19HRpabC/ilM0HRBBzf9/k8FFiG4KVpiv0FIy4hHfLfFQZNhziCTPTmd59zoyv6DNISzg==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.23.3 + '@jridgewell/gen-mapping': 0.3.3 + '@jridgewell/trace-mapping': 0.3.20 + jsesc: 2.5.2 + + /@babel/helper-annotate-as-pure@7.22.5: + resolution: {integrity: sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.23.3 + dev: true + + /@babel/helper-builder-binary-assignment-operator-visitor@7.22.15: + resolution: {integrity: sha512-QkBXwGgaoC2GtGZRoma6kv7Szfv06khvhFav67ZExau2RaXzy8MpHSMO2PNoP2XtmQphJQRHFfg77Bq731Yizw==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.23.3 + dev: true + + /@babel/helper-compilation-targets@7.22.15: + resolution: {integrity: sha512-y6EEzULok0Qvz8yyLkCvVX+02ic+By2UdOhylwUOvOn9dvYc9mKICJuuU1n1XBI02YWsNsnrY1kc6DVbjcXbtw==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/compat-data': 7.23.3 + '@babel/helper-validator-option': 7.22.15 + browserslist: 4.22.1 + lru-cache: 5.1.1 + semver: 6.3.1 + + /@babel/helper-create-class-features-plugin@7.22.15(@babel/core@7.23.3): + resolution: {integrity: sha512-jKkwA59IXcvSaiK2UN45kKwSC9o+KuoXsBDvHvU/7BecYIp8GQ2UwrVvFgJASUT+hBnwJx6MhvMCuMzwZZ7jlg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-annotate-as-pure': 7.22.5 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-function-name': 7.23.0 + '@babel/helper-member-expression-to-functions': 7.23.0 + '@babel/helper-optimise-call-expression': 7.22.5 + '@babel/helper-replace-supers': 7.22.20(@babel/core@7.23.3) + '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 + '@babel/helper-split-export-declaration': 7.22.6 + semver: 6.3.1 + dev: true + + /@babel/helper-create-regexp-features-plugin@7.22.15(@babel/core@7.23.3): + resolution: {integrity: sha512-29FkPLFjn4TPEa3RE7GpW+qbE8tlsu3jntNYNfcGsc49LphF1PQIiD+vMZ1z1xVOKt+93khA9tc2JBs3kBjA7w==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-annotate-as-pure': 7.22.5 + regexpu-core: 5.3.2 + semver: 6.3.1 + dev: true + + /@babel/helper-define-polyfill-provider@0.4.3(@babel/core@7.23.3): + resolution: {integrity: sha512-WBrLmuPP47n7PNwsZ57pqam6G/RGo1vw/87b0Blc53tZNGZ4x7YvZ6HgQe2vo1W/FR20OgjeZuGXzudPiXHFug==} + peerDependencies: + '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-compilation-targets': 7.22.15 + '@babel/helper-plugin-utils': 7.22.5 + debug: 4.3.4 + lodash.debounce: 4.0.8 + resolve: 1.22.8 + transitivePeerDependencies: + - supports-color + + /@babel/helper-environment-visitor@7.22.20: + resolution: {integrity: sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==} + engines: {node: '>=6.9.0'} + + /@babel/helper-function-name@7.23.0: + resolution: {integrity: sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/template': 7.22.15 + '@babel/types': 7.23.3 + + /@babel/helper-hoist-variables@7.22.5: + resolution: {integrity: sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.23.3 + + /@babel/helper-member-expression-to-functions@7.23.0: + resolution: {integrity: sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.23.3 + dev: true + + /@babel/helper-module-imports@7.22.15: + resolution: {integrity: sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.23.3 + + /@babel/helper-module-transforms@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-module-imports': 7.22.15 + '@babel/helper-simple-access': 7.22.5 + '@babel/helper-split-export-declaration': 7.22.6 + '@babel/helper-validator-identifier': 7.22.20 + + /@babel/helper-optimise-call-expression@7.22.5: + resolution: {integrity: sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.23.3 + dev: true + + /@babel/helper-plugin-utils@7.22.5: + resolution: {integrity: sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==} + engines: {node: '>=6.9.0'} + + /@babel/helper-remap-async-to-generator@7.22.20(@babel/core@7.23.3): + resolution: {integrity: sha512-pBGyV4uBqOns+0UvhsTO8qgl8hO89PmiDYv+/COyp1aeMcmfrfruz+/nCMFiYyFF/Knn0yfrC85ZzNFjembFTw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-annotate-as-pure': 7.22.5 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-wrap-function': 7.22.20 + dev: true + + /@babel/helper-replace-supers@7.22.20(@babel/core@7.23.3): + resolution: {integrity: sha512-qsW0In3dbwQUbK8kejJ4R7IHVGwHJlV6lpG6UA7a9hSa2YEiAib+N1T2kr6PEeUT+Fl7najmSOS6SmAwCHK6Tw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-member-expression-to-functions': 7.23.0 + '@babel/helper-optimise-call-expression': 7.22.5 + dev: true + + /@babel/helper-simple-access@7.22.5: + resolution: {integrity: sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.23.3 + + /@babel/helper-skip-transparent-expression-wrappers@7.22.5: + resolution: {integrity: sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.23.3 + dev: true + + /@babel/helper-split-export-declaration@7.22.6: + resolution: {integrity: sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.23.3 + + /@babel/helper-string-parser@7.22.5: + resolution: {integrity: sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==} + engines: {node: '>=6.9.0'} + + /@babel/helper-validator-identifier@7.22.20: + resolution: {integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==} + engines: {node: '>=6.9.0'} + + /@babel/helper-validator-option@7.22.15: + resolution: {integrity: sha512-bMn7RmyFjY/mdECUbgn9eoSY4vqvacUnS9i9vGAGttgFWesO6B4CYWA7XlpbWgBt71iv/hfbPlynohStqnu5hA==} + engines: {node: '>=6.9.0'} + + /@babel/helper-wrap-function@7.22.20: + resolution: {integrity: sha512-pms/UwkOpnQe/PDAEdV/d7dVCoBbB+R4FvYoHGZz+4VPcg7RtYy2KP7S2lbuWM6FCSgob5wshfGESbC/hzNXZw==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-function-name': 7.23.0 + '@babel/template': 7.22.15 + '@babel/types': 7.23.3 + dev: true + + /@babel/helpers@7.23.2: + resolution: {integrity: sha512-lzchcp8SjTSVe/fPmLwtWVBFC7+Tbn8LGHDVfDp9JGxpAY5opSaEFgt8UQvrnECWOTdji2mOWMz1rOhkHscmGQ==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/template': 7.22.15 + '@babel/traverse': 7.23.3 + '@babel/types': 7.23.3 + transitivePeerDependencies: + - supports-color + + /@babel/highlight@7.22.20: + resolution: {integrity: sha512-dkdMCN3py0+ksCgYmGG8jKeGA/8Tk+gJwSYYlFGxG5lmhfKNoAy004YpLxpS1W2J8m/EK2Ew+yOs9pVRwO89mg==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-validator-identifier': 7.22.20 + chalk: 2.4.2 + js-tokens: 4.0.0 + + /@babel/parser@7.23.3: + resolution: {integrity: sha512-uVsWNvlVsIninV2prNz/3lHCb+5CJ+e+IUBfbjToAHODtfGYLfCFuY4AU7TskI+dAKk+njsPiBjq1gKTvZOBaw==} + engines: {node: '>=6.0.0'} + hasBin: true + dependencies: + '@babel/types': 7.23.3 + + /@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-iRkKcCqb7iGnq9+3G6rZ+Ciz5VywC4XNRHe57lKM+jOeYAoR0lVqdeeDRfh0tQcTfw/+vBhHn926FmQhLtlFLQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-WwlxbfMNdVEpQjZmK5mhm7oSwD3dS6eU+Iwsi4Knl9wAletWem7kaRsGOG+8UEbRyqxY4SS5zvtfXwX+jMxUwQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.13.0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 + '@babel/plugin-transform-optional-chaining': 7.23.3(@babel/core@7.23.3) + dev: true + + /@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-XaJak1qcityzrX0/IU5nKHb34VaibwP3saKqG6a/tppelgllOH13LUann4ZCIBcVOeE6H18K4Vx9QKkVww3z/w==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.23.3): + resolution: {integrity: sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + dev: true + + /@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.23.3): + resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.23.3): + resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.23.3): + resolution: {integrity: sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.23.3): + resolution: {integrity: sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-syntax-export-namespace-from@7.8.3(@babel/core@7.23.3): + resolution: {integrity: sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-syntax-import-assertions@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-lPgDSU+SJLK3xmFDTV2ZRQAiM7UuUjGidwBywFavObCiZc1BeAAcMtHJKUya92hPHO+at63JJPLygilZard8jw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-syntax-import-attributes@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-pawnE0P9g10xgoP7yKr6CK63K2FMsTE+FZidZO/1PwRdzmAPVs+HS1mAURUsgaoxammTJvULUdIkEK0gOcU2tA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.23.3): + resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.23.3): + resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-syntax-jsx@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-EB2MELswq55OHUoRZLGg/zC7QWUKfNLpE57m/S2yr1uEneIgsTgrSzXP3NXEsMkVn76OlaVVnzN+ugObuYGwhg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.23.3): + resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.23.3): + resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.23.3): + resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.23.3): + resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.23.3): + resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.23.3): + resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.23.3): + resolution: {integrity: sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.23.3): + resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-syntax-typescript@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-9EiNjVJOMwCO+43TqoTrgQ8jMwcAd0sWyXi9RPfIsLTj4R2MADDDQXELhffaUx/uJv2AYcxBgPwH6j4TIA4ytQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.23.3): + resolution: {integrity: sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.23.3) + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-transform-arrow-functions@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-NzQcQrzaQPkaEwoTm4Mhyl8jI1huEL/WWIEvudjTCMJ9aBZNpsJbMASx7EQECtQQPS/DcnFpo0FIh3LvEO9cxQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-transform-async-generator-functions@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-59GsVNavGxAXCDDbakWSMJhajASb4kBCqDjqJsv+p5nKdbz7istmZ3HrX3L2LuiI80+zsOADCvooqQH3qGCucQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-remap-async-to-generator': 7.22.20(@babel/core@7.23.3) + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.23.3) + dev: true + + /@babel/plugin-transform-async-to-generator@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-A7LFsKi4U4fomjqXJlZg/u0ft/n8/7n7lpffUP/ZULx/DtV9SGlNKZolHH6PE8Xl1ngCc0M11OaeZptXVkfKSw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-module-imports': 7.22.15 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-remap-async-to-generator': 7.22.20(@babel/core@7.23.3) + dev: true + + /@babel/plugin-transform-block-scoped-functions@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-vI+0sIaPIO6CNuM9Kk5VmXcMVRiOpDh7w2zZt9GXzmE/9KD70CUEVhvPR/etAeNK/FAEkhxQtXOzVF3EuRL41A==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-transform-block-scoping@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-QPZxHrThbQia7UdvfpaRRlq/J9ciz1J4go0k+lPBXbgaNeY7IQrBj/9ceWjvMMI07/ZBzHl/F0R/2K0qH7jCVw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-transform-class-properties@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-uM+AN8yCIjDPccsKGlw271xjJtGii+xQIF/uMPS8H15L12jZTsLfF4o5vNO7d/oUguOyfdikHGc/yi9ge4SGIg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-create-class-features-plugin': 7.22.15(@babel/core@7.23.3) + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-transform-class-static-block@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-PENDVxdr7ZxKPyi5Ffc0LjXdnJyrJxyqF5T5YjlVg4a0VFfQHW0r8iAtRiDXkfHlu1wwcvdtnndGYIeJLSuRMQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.12.0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-create-class-features-plugin': 7.22.15(@babel/core@7.23.3) + '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.23.3) + dev: true + + /@babel/plugin-transform-classes@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-FGEQmugvAEu2QtgtU0uTASXevfLMFfBeVCIIdcQhn/uBQsMTjBajdnAtanQlOcuihWh10PZ7+HWvc7NtBwP74w==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-annotate-as-pure': 7.22.5 + '@babel/helper-compilation-targets': 7.22.15 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-function-name': 7.23.0 + '@babel/helper-optimise-call-expression': 7.22.5 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-replace-supers': 7.22.20(@babel/core@7.23.3) + '@babel/helper-split-export-declaration': 7.22.6 + globals: 11.12.0 + dev: true + + /@babel/plugin-transform-computed-properties@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-dTj83UVTLw/+nbiHqQSFdwO9CbTtwq1DsDqm3CUEtDrZNET5rT5E6bIdTlOftDTDLMYxvxHNEYO4B9SLl8SLZw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/template': 7.22.15 + dev: true + + /@babel/plugin-transform-destructuring@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-n225npDqjDIr967cMScVKHXJs7rout1q+tt50inyBCPkyZ8KxeI6d+GIbSBTT/w/9WdlWDOej3V9HE5Lgk57gw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-transform-dotall-regex@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-vgnFYDHAKzFaTVp+mneDsIEbnJ2Np/9ng9iviHw3P/KVcgONxpNULEW/51Z/BaFojG2GI2GwwXck5uV1+1NOYQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.23.3) + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-transform-duplicate-keys@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-RrqQ+BQmU3Oyav3J+7/myfvRCq7Tbz+kKLLshUmMwNlDHExbGL7ARhajvoBJEvc+fCguPPu887N+3RRXBVKZUA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-transform-dynamic-import@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-vTG+cTGxPFou12Rj7ll+eD5yWeNl5/8xvQvF08y5Gv3v4mZQoyFf8/n9zg4q5vvCWt5jmgymfzMAldO7orBn7A==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.23.3) + dev: true + + /@babel/plugin-transform-exponentiation-operator@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-5fhCsl1odX96u7ILKHBj4/Y8vipoqwsJMh4csSA8qFfxrZDEA4Ssku2DyNvMJSmZNOEBT750LfFPbtrnTP90BQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-builder-binary-assignment-operator-visitor': 7.22.15 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-transform-export-namespace-from@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-yCLhW34wpJWRdTxxWtFZASJisihrfyMOTOQexhVzA78jlU+dH7Dw+zQgcPepQ5F3C6bAIiblZZ+qBggJdHiBAg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.23.3) + dev: true + + /@babel/plugin-transform-for-of@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-X8jSm8X1CMwxmK878qsUGJRmbysKNbdpTv/O1/v0LuY/ZkZrng5WYiekYSdg9m09OTmDDUWeEDsTE+17WYbAZw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-transform-function-name@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-I1QXp1LxIvt8yLaib49dRW5Okt7Q4oaxao6tFVKS/anCdEOMtYwWVKoiOA1p34GOWIZjUK0E+zCp7+l1pfQyiw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-compilation-targets': 7.22.15 + '@babel/helper-function-name': 7.23.0 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-transform-json-strings@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-H9Ej2OiISIZowZHaBwF0tsJOih1PftXJtE8EWqlEIwpc7LMTGq0rPOrywKLQ4nefzx8/HMR0D3JGXoMHYvhi0A==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.23.3) + dev: true + + /@babel/plugin-transform-literals@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-wZ0PIXRxnwZvl9AYpqNUxpZ5BiTGrYt7kueGQ+N5FiQ7RCOD4cm8iShd6S6ggfVIWaJf2EMk8eRzAh52RfP4rQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-transform-logical-assignment-operators@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-+pD5ZbxofyOygEp+zZAfujY2ShNCXRpDRIPOiBmTO693hhyOEteZgl876Xs9SAHPQpcV0vz8LvA/T+w8AzyX8A==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.23.3) + dev: true + + /@babel/plugin-transform-member-expression-literals@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-sC3LdDBDi5x96LA+Ytekz2ZPk8i/Ck+DEuDbRAll5rknJ5XRTSaPKEYwomLcs1AA8wg9b3KjIQRsnApj+q51Ag==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-transform-modules-amd@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-vJYQGxeKM4t8hYCKVBlZX/gtIY2I7mRGFNcm85sgXGMTBcoV3QdVtdpbcWEbzbfUIUZKwvgFT82mRvaQIebZzw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-module-transforms': 7.23.3(@babel/core@7.23.3) + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-transform-modules-commonjs@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-aVS0F65LKsdNOtcz6FRCpE4OgsP2OFnW46qNxNIX9h3wuzaNcSQsJysuMwqSibC98HPrf2vCgtxKNwS0DAlgcA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-module-transforms': 7.23.3(@babel/core@7.23.3) + '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-simple-access': 7.22.5 + + /@babel/plugin-transform-modules-systemjs@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-ZxyKGTkF9xT9YJuKQRo19ewf3pXpopuYQd8cDXqNzc3mUNbOME0RKMoZxviQk74hwzfQsEe66dE92MaZbdHKNQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-hoist-variables': 7.22.5 + '@babel/helper-module-transforms': 7.23.3(@babel/core@7.23.3) + '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-validator-identifier': 7.22.20 + dev: true + + /@babel/plugin-transform-modules-umd@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-zHsy9iXX2nIsCBFPud3jKn1IRPWg3Ing1qOZgeKV39m1ZgIdpJqvlWVeiHBZC6ITRG0MfskhYe9cLgntfSFPIg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-module-transforms': 7.23.3(@babel/core@7.23.3) + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-transform-named-capturing-groups-regex@7.22.5(@babel/core@7.23.3): + resolution: {integrity: sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.23.3) + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-transform-new-target@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-YJ3xKqtJMAT5/TIZnpAR3I+K+WaDowYbN3xyxI8zxx/Gsypwf9B9h0VB+1Nh6ACAAPRS5NSRje0uVv5i79HYGQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-transform-nullish-coalescing-operator@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-xzg24Lnld4DYIdysyf07zJ1P+iIfJpxtVFOzX4g+bsJ3Ng5Le7rXx9KwqKzuyaUeRnt+I1EICwQITqc0E2PmpA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.23.3) + dev: true + + /@babel/plugin-transform-numeric-separator@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-s9GO7fIBi/BLsZ0v3Rftr6Oe4t0ctJ8h4CCXfPoEJwmvAPMyNrfkOOJzm6b9PX9YXcCJWWQd/sBF/N26eBiMVw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.23.3) + dev: true + + /@babel/plugin-transform-object-rest-spread@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-VxHt0ANkDmu8TANdE9Kc0rndo/ccsmfe2Cx2y5sI4hu3AukHQ5wAu4cM7j3ba8B9548ijVyclBU+nuDQftZsog==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/compat-data': 7.23.3 + '@babel/core': 7.23.3 + '@babel/helper-compilation-targets': 7.22.15 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.23.3) + '@babel/plugin-transform-parameters': 7.23.3(@babel/core@7.23.3) + dev: true + + /@babel/plugin-transform-object-super@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-BwQ8q0x2JG+3lxCVFohg+KbQM7plfpBwThdW9A6TMtWwLsbDA01Ek2Zb/AgDN39BiZsExm4qrXxjk+P1/fzGrA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-replace-supers': 7.22.20(@babel/core@7.23.3) + dev: true + + /@babel/plugin-transform-optional-catch-binding@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-LxYSb0iLjUamfm7f1D7GpiS4j0UAC8AOiehnsGAP8BEsIX8EOi3qV6bbctw8M7ZvLtcoZfZX5Z7rN9PlWk0m5A==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.23.3) + dev: true + + /@babel/plugin-transform-optional-chaining@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-zvL8vIfIUgMccIAK1lxjvNv572JHFJIKb4MWBz5OGdBQA0fB0Xluix5rmOby48exiJc987neOmP/m9Fnpkz3Tg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.23.3) + dev: true + + /@babel/plugin-transform-parameters@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-09lMt6UsUb3/34BbECKVbVwrT9bO6lILWln237z7sLaWnMsTi7Yc9fhX5DLpkJzAGfaReXI22wP41SZmnAA3Vw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-transform-private-methods@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-UzqRcRtWsDMTLrRWFvUBDwmw06tCQH9Rl1uAjfh6ijMSmGYQ+fpdB+cnqRC8EMh5tuuxSv0/TejGL+7vyj+50g==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-create-class-features-plugin': 7.22.15(@babel/core@7.23.3) + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-transform-private-property-in-object@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-a5m2oLNFyje2e/rGKjVfAELTVI5mbA0FeZpBnkOWWV7eSmKQ+T/XW0Vf+29ScLzSxX+rnsarvU0oie/4m6hkxA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-annotate-as-pure': 7.22.5 + '@babel/helper-create-class-features-plugin': 7.22.15(@babel/core@7.23.3) + '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.23.3) + dev: true + + /@babel/plugin-transform-property-literals@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-jR3Jn3y7cZp4oEWPFAlRsSWjxKe4PZILGBSd4nis1TsC5qeSpb+nrtihJuDhNI7QHiVbUaiXa0X2RZY3/TI6Nw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-transform-react-constant-elements@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-zP0QKq/p6O42OL94udMgSfKXyse4RyJ0JqbQ34zDAONWjyrEsghYEyTSK5FIpmXmCpB55SHokL1cRRKHv8L2Qw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-transform-react-display-name@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-GnvhtVfA2OAtzdX58FJxU19rhoGeQzyVndw3GgtdECQvQFXPEZIOVULHVZGAYmOgmqjXpVpfocAbSjh99V/Fqw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-transform-react-jsx-development@7.22.5(@babel/core@7.23.3): + resolution: {integrity: sha512-bDhuzwWMuInwCYeDeMzyi7TaBgRQei6DqxhbyniL7/VG4RSS7HtSL2QbY4eESy1KJqlWt8g3xeEBGPuo+XqC8A==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/plugin-transform-react-jsx': 7.22.15(@babel/core@7.23.3) + dev: true + + /@babel/plugin-transform-react-jsx@7.22.15(@babel/core@7.23.3): + resolution: {integrity: sha512-oKckg2eZFa8771O/5vi7XeTvmM6+O9cxZu+kanTU7tD4sin5nO/G8jGJhq8Hvt2Z0kUoEDRayuZLaUlYl8QuGA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-annotate-as-pure': 7.22.5 + '@babel/helper-module-imports': 7.22.15 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-jsx': 7.23.3(@babel/core@7.23.3) + '@babel/types': 7.23.3 + dev: true + + /@babel/plugin-transform-react-pure-annotations@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-qMFdSS+TUhB7Q/3HVPnEdYJDQIk57jkntAwSuz9xfSE4n+3I+vHYCli3HoHawN1Z3RfCz/y1zXA/JXjG6cVImQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-annotate-as-pure': 7.22.5 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-transform-regenerator@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-KP+75h0KghBMcVpuKisx3XTu9Ncut8Q8TuvGO4IhY+9D5DFEckQefOuIsB/gQ2tG71lCke4NMrtIPS8pOj18BQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-plugin-utils': 7.22.5 + regenerator-transform: 0.15.2 + dev: true + + /@babel/plugin-transform-reserved-words@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-QnNTazY54YqgGxwIexMZva9gqbPa15t/x9VS+0fsEFWplwVpXYZivtgl43Z1vMpc1bdPP2PP8siFeVcnFvA3Cg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-transform-runtime@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-XcQ3X58CKBdBnnZpPaQjgVMePsXtSZzHoku70q9tUAQp02ggPQNM04BF3RvlW1GSM/McbSOQAzEK4MXbS7/JFg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-module-imports': 7.22.15 + '@babel/helper-plugin-utils': 7.22.5 + babel-plugin-polyfill-corejs2: 0.4.6(@babel/core@7.23.3) + babel-plugin-polyfill-corejs3: 0.8.6(@babel/core@7.23.3) + babel-plugin-polyfill-regenerator: 0.5.3(@babel/core@7.23.3) + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + dev: false + + /@babel/plugin-transform-shorthand-properties@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-ED2fgqZLmexWiN+YNFX26fx4gh5qHDhn1O2gvEhreLW2iI63Sqm4llRLCXALKrCnbN4Jy0VcMQZl/SAzqug/jg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-transform-spread@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-VvfVYlrlBVu+77xVTOAoxQ6mZbnIq5FM0aGBSFEcIh03qHf+zNqA4DC/3XMUozTg7bZV3e3mZQ0i13VB6v5yUg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 + dev: true + + /@babel/plugin-transform-sticky-regex@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-HZOyN9g+rtvnOU3Yh7kSxXrKbzgrm5X4GncPY1QOquu7epga5MxKHVpYu2hvQnry/H+JjckSYRb93iNfsioAGg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-transform-template-literals@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-Flok06AYNp7GV2oJPZZcP9vZdszev6vPBkHLwxwSpaIqx75wn6mUd3UFWsSsA0l8nXAKkyCmL/sR02m8RYGeHg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-transform-typeof-symbol@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-4t15ViVnaFdrPC74be1gXBSMzXk3B4Us9lP7uLRQHTFpV5Dvt33pn+2MyyNxmN3VTTm3oTrZVMUmuw3oBnQ2oQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-transform-typescript@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-ogV0yWnq38CFwH20l2Afz0dfKuZBx9o/Y2Rmh5vuSS0YD1hswgEgTfyTzuSrT2q9btmHRSqYoSfwFUVaC1M1Jw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-annotate-as-pure': 7.22.5 + '@babel/helper-create-class-features-plugin': 7.22.15(@babel/core@7.23.3) + '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-typescript': 7.23.3(@babel/core@7.23.3) + dev: true + + /@babel/plugin-transform-unicode-escapes@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-OMCUx/bU6ChE3r4+ZdylEqAjaQgHAgipgW8nsCfu5pGqDcFytVd91AwRvUJSBZDz0exPGgnjoqhgRYLRjFZc9Q==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-transform-unicode-property-regex@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-KcLIm+pDZkWZQAFJ9pdfmh89EwVfmNovFBcXko8szpBeF8z68kWIPeKlmSOkT9BXJxs2C0uk+5LxoxIv62MROA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.23.3) + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-transform-unicode-regex@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-wMHpNA4x2cIA32b/ci3AfwNgheiva2W0WUKWTK7vBHBhDKfPsc5cFGNWm69WBqpwd86u1qwZ9PWevKqm1A3yAw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.23.3) + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-transform-unicode-sets-regex@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-W7lliA/v9bNR83Qc3q1ip9CQMZ09CcHDbHfbLRDNuAhn1Mvkr1ZNF7hPmztMQvtTGVLJ9m8IZqWsTkXOml8dbw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.23.3) + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/preset-env@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-ovzGc2uuyNfNAs/jyjIGxS8arOHS5FENZaNn4rtE7UdKMMkqHCvboHfcuhWLZNX5cB44QfcGNWjaevxMzzMf+Q==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/compat-data': 7.23.3 + '@babel/core': 7.23.3 + '@babel/helper-compilation-targets': 7.22.15 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-validator-option': 7.22.15 + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.23.3) + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.23.3) + '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.23.3) + '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.23.3) + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.23.3) + '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.23.3) + '@babel/plugin-syntax-import-assertions': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-syntax-import-attributes': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.23.3) + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.23.3) + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.23.3) + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.23.3) + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.23.3) + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.23.3) + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.23.3) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.23.3) + '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.23.3) + '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.23.3) + '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.23.3) + '@babel/plugin-transform-arrow-functions': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-transform-async-generator-functions': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-transform-async-to-generator': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-transform-block-scoped-functions': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-transform-block-scoping': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-transform-class-properties': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-transform-class-static-block': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-transform-classes': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-transform-computed-properties': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-transform-destructuring': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-transform-dotall-regex': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-transform-duplicate-keys': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-transform-dynamic-import': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-transform-exponentiation-operator': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-transform-export-namespace-from': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-transform-for-of': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-transform-function-name': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-transform-json-strings': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-transform-literals': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-transform-logical-assignment-operators': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-transform-member-expression-literals': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-transform-modules-amd': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-transform-modules-commonjs': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-transform-modules-systemjs': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-transform-modules-umd': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-transform-named-capturing-groups-regex': 7.22.5(@babel/core@7.23.3) + '@babel/plugin-transform-new-target': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-transform-nullish-coalescing-operator': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-transform-numeric-separator': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-transform-object-rest-spread': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-transform-object-super': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-transform-optional-catch-binding': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-transform-optional-chaining': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-transform-parameters': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-transform-private-methods': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-transform-private-property-in-object': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-transform-property-literals': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-transform-regenerator': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-transform-reserved-words': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-transform-shorthand-properties': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-transform-spread': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-transform-sticky-regex': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-transform-template-literals': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-transform-typeof-symbol': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-transform-unicode-escapes': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-transform-unicode-property-regex': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-transform-unicode-regex': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-transform-unicode-sets-regex': 7.23.3(@babel/core@7.23.3) + '@babel/preset-modules': 0.1.6-no-external-plugins(@babel/core@7.23.3) + babel-plugin-polyfill-corejs2: 0.4.6(@babel/core@7.23.3) + babel-plugin-polyfill-corejs3: 0.8.6(@babel/core@7.23.3) + babel-plugin-polyfill-regenerator: 0.5.3(@babel/core@7.23.3) + core-js-compat: 3.33.3 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.23.3): + 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 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/types': 7.23.3 + esutils: 2.0.3 + dev: true + + /@babel/preset-react@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-tbkHOS9axH6Ysf2OUEqoSZ6T3Fa2SrNH6WTWSPBboxKzdxNc9qOICeLXkNG0ZEwbQ1HY8liwOce4aN/Ceyuq6w==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-validator-option': 7.22.15 + '@babel/plugin-transform-react-display-name': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-transform-react-jsx': 7.22.15(@babel/core@7.23.3) + '@babel/plugin-transform-react-jsx-development': 7.22.5(@babel/core@7.23.3) + '@babel/plugin-transform-react-pure-annotations': 7.23.3(@babel/core@7.23.3) + dev: true + + /@babel/preset-typescript@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-17oIGVlqz6CchO9RFYn5U6ZpWRZIngayYCtrPRSgANSwC2V1Jb+iP74nVxzzXJte8b8BYxrL1yY96xfhTBrNNQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-validator-option': 7.22.15 + '@babel/plugin-syntax-jsx': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-transform-modules-commonjs': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-transform-typescript': 7.23.3(@babel/core@7.23.3) + dev: true + + /@babel/regjsgen@0.8.0: + resolution: {integrity: sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==} + dev: true + + /@babel/runtime@7.23.2: + resolution: {integrity: sha512-mM8eg4yl5D6i3lu2QKPuPH4FArvJ8KhTofbE7jwMUv9KX5mBvwPAqnV3MlyBNqdp9RyRKP6Yck8TrfYrPvX3bg==} + engines: {node: '>=6.9.0'} + dependencies: + regenerator-runtime: 0.14.0 + + /@babel/template@7.22.15: + resolution: {integrity: sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/code-frame': 7.22.13 + '@babel/parser': 7.23.3 + '@babel/types': 7.23.3 + + /@babel/traverse@7.23.3: + resolution: {integrity: sha512-+K0yF1/9yR0oHdE0StHuEj3uTPzwwbrLGfNOndVJVV2TqA5+j3oljJUb4nmB954FLGjNem976+B+eDuLIjesiQ==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/code-frame': 7.22.13 + '@babel/generator': 7.23.3 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-function-name': 7.23.0 + '@babel/helper-hoist-variables': 7.22.5 + '@babel/helper-split-export-declaration': 7.22.6 + '@babel/parser': 7.23.3 + '@babel/types': 7.23.3 + debug: 4.3.4 + globals: 11.12.0 + transitivePeerDependencies: + - supports-color + + /@babel/types@7.23.3: + resolution: {integrity: sha512-OZnvoH2l8PK5eUvEcUyCt/sXgr/h+UWpVuBbOljwcrAgUl6lpchoQ++PHGyQy1AtYnVA6CEq3y5xeEI10brpXw==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-string-parser': 7.22.5 + '@babel/helper-validator-identifier': 7.22.20 + to-fast-properties: 2.0.0 + + /@bundle-stats/cli-utils@4.8.1(core-js@3.33.3): + resolution: {integrity: sha512-FukLH6zJ114Qs0tFo5PbJ4o/XomfqZLWBfR8YsDzN8rGwWGt+gYi6zy6Oow22Jq9R4X7l7qqJT8/FMA2g6h0bw==} + engines: {node: '>= 14.0'} + dependencies: + '@bundle-stats/html-templates': 4.8.1 + '@bundle-stats/plugin-webpack-filter': 4.8.1(core-js@3.33.3) + '@bundle-stats/utils': 4.8.1(core-js@3.33.3)(lodash@4.17.21) + find-cache-dir: 3.3.2 + lodash: 4.17.21 + stream-chain: 2.2.5 + stream-json: 1.8.0 + transitivePeerDependencies: + - core-js + dev: true + + /@bundle-stats/html-templates@4.8.1: + resolution: {integrity: sha512-+l4rsXK7pGKs2kv40+r5s3uTz7njqMoxXsxQMR5Bq0gqhacmbPgAR3qoRQpfUJcWoSByu/RJIhYFJ5aRXoLhjA==} + dev: true + + /@bundle-stats/plugin-webpack-filter@4.8.1(core-js@3.33.3): + resolution: {integrity: sha512-Mai7vkkwzTzhwrZbzTSSvLvsHDB6w4ZTzoNKw6LR0JBOGenOPEMerUC+Y+6yXaR4/Owp0H1F4s6PUjuGnNz4fw==} + engines: {node: '>= 14.0'} + peerDependencies: + core-js: ^3.0.0 + dependencies: + core-js: 3.33.3 + dev: true + + /@bundle-stats/plugin-webpack-validate@4.8.1: + resolution: {integrity: sha512-WRiWNo/MOYGS42QWXV0kT6wuFbQzcJg1YgsvphiJzY7xJwyw+5RKMBpgl9LqrlurZWhHUMiEvwzZ68Hqd8HePQ==} + engines: {node: '>= 14.0'} + dependencies: + lodash: 4.17.21 + superstruct: 1.0.3 + dev: true + + /@bundle-stats/utils@4.8.1(core-js@3.33.3)(lodash@4.17.21): + resolution: {integrity: sha512-OiBeujjOoQUS/nNLMA66/qrGxnVS6TTuiiqbn73jgjez7lHUnd0a+oRenSEy0k/8u//ujA+y5vB32v5Pi3zsdA==} + engines: {node: '>= 14.0'} + peerDependencies: + core-js: ^3.0.0 + lodash: ^4.0.0 + dependencies: + '@bundle-stats/plugin-webpack-filter': 4.8.1(core-js@3.33.3) + '@bundle-stats/plugin-webpack-validate': 4.8.1 + core-js: 3.33.3 + lodash: 4.17.21 + serialize-query-params: 2.0.2 + dev: true + + /@discoveryjs/json-ext@0.5.7: + resolution: {integrity: sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==} + engines: {node: '>=10.0.0'} + dev: true + + /@icons/material@0.2.4(react@17.0.2): + resolution: {integrity: sha512-QPcGmICAPbGLGb6F/yNf/KzKqvFx8z5qx3D1yFqVAjoFmXK35EgyW+cJ57Te3CNsmzblwtzakLGFqHPqrfb4Tw==} + peerDependencies: + react: '*' + dependencies: + react: 17.0.2 + dev: false + + /@jridgewell/gen-mapping@0.3.3: + resolution: {integrity: sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==} + engines: {node: '>=6.0.0'} + dependencies: + '@jridgewell/set-array': 1.1.2 + '@jridgewell/sourcemap-codec': 1.4.15 + '@jridgewell/trace-mapping': 0.3.20 + + /@jridgewell/resolve-uri@3.1.1: + resolution: {integrity: sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==} + engines: {node: '>=6.0.0'} + + /@jridgewell/set-array@1.1.2: + resolution: {integrity: sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==} + engines: {node: '>=6.0.0'} + + /@jridgewell/source-map@0.3.5: + resolution: {integrity: sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ==} + dependencies: + '@jridgewell/gen-mapping': 0.3.3 + '@jridgewell/trace-mapping': 0.3.20 + dev: true + + /@jridgewell/sourcemap-codec@1.4.15: + resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} + + /@jridgewell/trace-mapping@0.3.20: + resolution: {integrity: sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q==} + dependencies: + '@jridgewell/resolve-uri': 3.1.1 + '@jridgewell/sourcemap-codec': 1.4.15 + + /@juggle/resize-observer@3.4.0: + resolution: {integrity: sha512-dfLbk+PwWvFzSxwk3n5ySL0hfBog779o8h68wK/7/APo/7cgyWp5jcXockbxdk5kFRkbeXWm4Fbi9FrdN381sA==} + dev: false + + /@leichtgewicht/ip-codec@2.0.4: + resolution: {integrity: sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A==} + dev: true + + /@ljharb/resumer@0.0.1: + resolution: {integrity: sha512-skQiAOrCfO7vRTq53cxznMpks7wS1va95UCidALlOVWqvBAzwPVErwizDwoMqNVMEn1mDq0utxZd02eIrvF1lw==} + engines: {node: '>= 0.4'} + dependencies: + '@ljharb/through': 2.3.11 + dev: false + + /@ljharb/through@2.3.11: + resolution: {integrity: sha512-ccfcIDlogiXNq5KcbAwbaO7lMh3Tm1i3khMPYpxlK8hH/W53zN81KM9coerRLOnTGu3nfXIniAmQbRI9OxbC0w==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.5 + dev: false + + /@loadable/component@5.15.2(react@17.0.2): + resolution: {integrity: sha512-ryFAZOX5P2vFkUdzaAtTG88IGnr9qxSdvLRvJySXcUA4B4xVWurUNADu3AnKPksxOZajljqTrDEDcYjeL4lvLw==} + engines: {node: '>=8'} + peerDependencies: + react: '>=16.3.0' + dependencies: + '@babel/runtime': 7.23.2 + hoist-non-react-statics: 3.3.2 + react: 17.0.2 + react-is: 16.13.1 + dev: false + + /@pmmmwh/react-refresh-webpack-plugin@0.5.10(react-refresh@0.14.0)(webpack-dev-server@4.13.1)(webpack@5.76.0): + resolution: {integrity: sha512-j0Ya0hCFZPd4x40qLzbhGsh9TMtdb+CJQiso+WxLOPNasohq9cc5SNUcwsZaRH6++Xh91Xkm/xHCkuIiIu0LUA==} + engines: {node: '>= 10.13'} + peerDependencies: + '@types/webpack': 4.x || 5.x + react-refresh: '>=0.10.0 <1.0.0' + sockjs-client: ^1.4.0 + type-fest: '>=0.17.0 <4.0.0' + webpack: '>=4.43.0 <6.0.0' + webpack-dev-server: 3.x || 4.x + webpack-hot-middleware: 2.x + webpack-plugin-serve: 0.x || 1.x + peerDependenciesMeta: + '@types/webpack': + optional: true + sockjs-client: + optional: true + type-fest: + optional: true + webpack-dev-server: + optional: true + webpack-hot-middleware: + optional: true + webpack-plugin-serve: + optional: true + dependencies: + ansi-html-community: 0.0.8 + common-path-prefix: 3.0.0 + core-js-pure: 3.33.3 + error-stack-parser: 2.1.4 + find-up: 5.0.0 + html-entities: 2.4.0 + loader-utils: 2.0.4 + react-refresh: 0.14.0 + schema-utils: 3.3.0 + source-map: 0.7.4 + webpack: 5.76.0(@swc/core@1.3.14)(webpack-cli@5.1.4) + webpack-dev-server: 4.13.1(webpack-cli@5.1.4)(webpack@5.76.0) + dev: true + + /@polka/url@1.0.0-next.23: + resolution: {integrity: sha512-C16M+IYz0rgRhWZdCmK+h58JMv8vijAA61gmz2rspCSwKwzBebpdcsiUmwrtJRdphuY30i6BSLEOP8ppbNLyLg==} + dev: true + + /@rspack/binding-darwin-arm64@0.3.14: + resolution: {integrity: sha512-mUljW63ljx7gDn8ZFov+7AHTbQ6afU7CGwQFdpyoBW8XKFdHz6DPBllpMq5mMv2gDhQdpJUhdU0b/fNDl7d9QQ==} + cpu: [arm64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /@rspack/binding-darwin-x64@0.3.14: + resolution: {integrity: sha512-3/TplaFuUfukvR+50xHdAkRRAjZWuT4+V4xn8puel22Qx53gGi2Bh6pdAKXDDeoSEvF2bozrOeKZm04lPaAQOQ==} + cpu: [x64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /@rspack/binding-linux-arm64-gnu@0.3.14: + resolution: {integrity: sha512-HPTWqZZlPsjS489ByX8RtgYoodn4IcSFrdTdi8gyLCKNfq7hf7uwWP5/dJQK/EW+wVch8HkrOJECxdXHRCDFIg==} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rspack/binding-linux-arm64-musl@0.3.14: + resolution: {integrity: sha512-8d0VFLlUatZJp/Z/udpV7kW3g3Uyrenr5bu6w5oETIv7Bv1T6IR3as7R0s2dONa7JkuAw4gQB0c1k9X44SxoBQ==} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rspack/binding-linux-x64-gnu@0.3.14: + resolution: {integrity: sha512-Hy7z+orffDzQ5Jt3CSF9kncCPPGWyDS6Bs4FgSbYiOgoB314tdpgBSkdrh6wiG5inXLbOFI5Mc3Gct5hK0ok/w==} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rspack/binding-linux-x64-musl@0.3.14: + resolution: {integrity: sha512-m/DEip/dJhUuFCLZggOllBAHsRtBmUfRk/YyzxaHLNEImR7/ZV2SIEU1krnicNsz5pO8pQ7mjPeFpio/XsHciQ==} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rspack/binding-win32-arm64-msvc@0.3.14: + resolution: {integrity: sha512-Mpj5on9HWHcQ2BnAXWm/OhwbrEtNYSr3Ab1v/0sGxFdufcqI5u7xRjFlLbgEUDmDb4Cfr4/VoWMvAKCIsilc6A==} + cpu: [arm64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@rspack/binding-win32-ia32-msvc@0.3.14: + resolution: {integrity: sha512-JwMCL+l2UicDPgQG6GCtDfxjahcCIMyWc+CCvFH9BeI4/XWU6O6m1kXbJfx0qLXRWAZQhALlpW9o8BE8Sr73dg==} + cpu: [ia32] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@rspack/binding-win32-x64-msvc@0.3.14: + resolution: {integrity: sha512-QqcPv2II8YTRybuhMCnJXlz7xIvknwyaIlhflDcC2hNBGIo8H866A66cMY/r3bDVcrrVpgx79yFeJ+a/pyjdHQ==} + cpu: [x64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@rspack/binding@0.3.14: + resolution: {integrity: sha512-kcbhfvrXqxf2NQsidnRxZ4ab/Vvxm2timNZIWu5BgXi8hPAXayG+JyDEQMVC0xj5qlDrJid+z7J4U0IIHi5RrQ==} + optionalDependencies: + '@rspack/binding-darwin-arm64': 0.3.14 + '@rspack/binding-darwin-x64': 0.3.14 + '@rspack/binding-linux-arm64-gnu': 0.3.14 + '@rspack/binding-linux-arm64-musl': 0.3.14 + '@rspack/binding-linux-x64-gnu': 0.3.14 + '@rspack/binding-linux-x64-musl': 0.3.14 + '@rspack/binding-win32-arm64-msvc': 0.3.14 + '@rspack/binding-win32-ia32-msvc': 0.3.14 + '@rspack/binding-win32-x64-msvc': 0.3.14 + dev: true + + /@rspack/cli@0.3.14(@swc/core@1.3.14)(react-refresh@0.14.0)(webpack-cli@5.1.4): + resolution: {integrity: sha512-xkdAx3CIawIB5NratKEAFu5pA9eZCu2Hs0TnXnPYdJ4mwI+5mB3WAWx2Zqp+QYQ0gTe8RflzxKtzzAx2VuqqvQ==} + hasBin: true + dependencies: + '@discoveryjs/json-ext': 0.5.7 + '@rspack/core': 0.3.14 + '@rspack/dev-server': 0.3.14(@rspack/core@0.3.14)(@swc/core@1.3.14)(react-refresh@0.14.0)(webpack-cli@5.1.4) + colorette: 2.0.19 + exit-hook: 3.2.0 + interpret: 3.1.1 + rechoir: 0.8.0 + semver: 6.3.1 + webpack-bundle-analyzer: 4.6.1 + yargs: 17.6.2 + transitivePeerDependencies: + - '@swc/core' + - '@types/express' + - '@types/webpack' + - bufferutil + - debug + - esbuild + - react-refresh + - sockjs-client + - supports-color + - type-fest + - uglify-js + - utf-8-validate + - webpack-cli + - webpack-hot-middleware + - webpack-plugin-serve + dev: true + + /@rspack/core@0.3.14: + resolution: {integrity: sha512-B76vRdbKXMi/Xjd8Q0f/4xrlqp4mFELH2w+6ROoAscGVgS8eDsWmJHa7ddIB3FELizzDvI3BjGfBeGftZjSg3g==} + dependencies: + '@rspack/binding': 0.3.14 + '@swc/helpers': 0.5.1 + browserslist: 4.22.1 + compare-versions: 6.0.0-rc.1 + enhanced-resolve: 5.12.0 + fast-querystring: 1.1.2 + graceful-fs: 4.2.10 + json-parse-even-better-errors: 3.0.0 + neo-async: 2.6.2 + react-refresh: 0.14.0 + tapable: 2.2.1 + terminal-link: 2.1.1 + watchpack: 2.4.0 + webpack-sources: 3.2.3 + zod: 3.22.4 + zod-validation-error: 1.2.0(zod@3.22.4) + dev: true + + /@rspack/dev-server@0.3.14(@rspack/core@0.3.14)(@swc/core@1.3.14)(react-refresh@0.14.0)(webpack-cli@5.1.4): + resolution: {integrity: sha512-CGQFf08AdoBZtELzKKweOHjPJa2Dzkg42o7OZry2FIR6UQorDEApEx+VCiQfn08m1s4f7/6wnAZ5wZQKVS2WLw==} + peerDependencies: + '@rspack/core': '*' + dependencies: + '@rspack/core': 0.3.14 + '@rspack/plugin-react-refresh': 0.3.14(react-refresh@0.14.0)(webpack-dev-server@4.13.1)(webpack@5.76.0) + chokidar: 3.5.3 + connect-history-api-fallback: 2.0.0 + express: 4.18.1 + http-proxy-middleware: 2.0.6(@types/express@4.17.21) + mime-types: 2.1.35 + webpack: 5.76.0(@swc/core@1.3.14)(webpack-cli@5.1.4) + webpack-dev-middleware: 6.0.2(webpack@5.76.0) + webpack-dev-server: 4.13.1(webpack-cli@5.1.4)(webpack@5.76.0) + ws: 8.8.1 + transitivePeerDependencies: + - '@swc/core' + - '@types/express' + - '@types/webpack' + - bufferutil + - debug + - esbuild + - react-refresh + - sockjs-client + - supports-color + - type-fest + - uglify-js + - utf-8-validate + - webpack-cli + - webpack-hot-middleware + - webpack-plugin-serve + dev: true + + /@rspack/plugin-html@0.3.14(@rspack/core@0.3.14): + resolution: {integrity: sha512-x4qfE/RSQKNyh6UYWWjtiI/ObluWgLOxkcOv2Xhv68b8Fm2MoRy1YU4lVWlbYTec1o3m6MphE3qtnAAQzp399Q==} + peerDependencies: + '@rspack/core': 0.3.14 + peerDependenciesMeta: + '@rspack/core': + optional: true + dependencies: + '@rspack/core': 0.3.14 + html-minifier-terser: 7.0.0 + lodash.template: 4.5.0 + parse5: 7.1.1 + tapable: 2.2.1 + dev: true + + /@rspack/plugin-react-refresh@0.3.14(react-refresh@0.14.0)(webpack-dev-server@4.13.1)(webpack@5.76.0): + resolution: {integrity: sha512-xHMDOHpQdI7aTJHdVUJMDyE5KM+5bGNcDCY+kptITTrIfiL4RtpIQYa0w0kSZR+/JqgFgviZgqJLW8gnnS1b8Q==} + peerDependencies: + react-refresh: '>=0.10.0 <1.0.0' + peerDependenciesMeta: + react-refresh: + optional: true + dependencies: + '@pmmmwh/react-refresh-webpack-plugin': 0.5.10(react-refresh@0.14.0)(webpack-dev-server@4.13.1)(webpack@5.76.0) + react-refresh: 0.14.0 + transitivePeerDependencies: + - '@types/webpack' + - sockjs-client + - type-fest + - webpack + - webpack-dev-server + - webpack-hot-middleware + - webpack-plugin-serve + dev: true + + /@sindresorhus/is@0.14.0: + resolution: {integrity: sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ==} + engines: {node: '>=6'} + dev: true + + /@svgr/babel-plugin-add-jsx-attribute@6.5.1(@babel/core@7.23.3): + resolution: {integrity: sha512-9PYGcXrAxitycIjRmZB+Q0JaN07GZIWaTBIGQzfaZv+qr1n8X1XUEJ5rZ/vx6OVD9RRYlrNnXWExQXcmZeD/BQ==} + engines: {node: '>=10'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + dev: true + + /@svgr/babel-plugin-remove-jsx-attribute@8.0.0(@babel/core@7.23.3): + resolution: {integrity: sha512-BcCkm/STipKvbCl6b7QFrMh/vx00vIP63k2eM66MfHJzPr6O2U0jYEViXkHJWqXqQYjdeA9cuCl5KWmlwjDvbA==} + engines: {node: '>=14'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + dev: true + + /@svgr/babel-plugin-remove-jsx-empty-expression@8.0.0(@babel/core@7.23.3): + resolution: {integrity: sha512-5BcGCBfBxB5+XSDSWnhTThfI9jcO5f0Ai2V24gZpG+wXF14BzwxxdDb4g6trdOux0rhibGs385BeFMSmxtS3uA==} + engines: {node: '>=14'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + dev: true + + /@svgr/babel-plugin-replace-jsx-attribute-value@6.5.1(@babel/core@7.23.3): + resolution: {integrity: sha512-8DPaVVE3fd5JKuIC29dqyMB54sA6mfgki2H2+swh+zNJoynC8pMPzOkidqHOSc6Wj032fhl8Z0TVn1GiPpAiJg==} + engines: {node: '>=10'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + dev: true + + /@svgr/babel-plugin-svg-dynamic-title@6.5.1(@babel/core@7.23.3): + resolution: {integrity: sha512-FwOEi0Il72iAzlkaHrlemVurgSQRDFbk0OC8dSvD5fSBPHltNh7JtLsxmZUhjYBZo2PpcU/RJvvi6Q0l7O7ogw==} + engines: {node: '>=10'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + dev: true + + /@svgr/babel-plugin-svg-em-dimensions@6.5.1(@babel/core@7.23.3): + resolution: {integrity: sha512-gWGsiwjb4tw+ITOJ86ndY/DZZ6cuXMNE/SjcDRg+HLuCmwpcjOktwRF9WgAiycTqJD/QXqL2f8IzE2Rzh7aVXA==} + engines: {node: '>=10'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + dev: true + + /@svgr/babel-plugin-transform-react-native-svg@6.5.1(@babel/core@7.23.3): + resolution: {integrity: sha512-2jT3nTayyYP7kI6aGutkyfJ7UMGtuguD72OjeGLwVNyfPRBD8zQthlvL+fAbAKk5n9ZNcvFkp/b1lZ7VsYqVJg==} + engines: {node: '>=10'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + dev: true + + /@svgr/babel-plugin-transform-svg-component@6.5.1(@babel/core@7.23.3): + resolution: {integrity: sha512-a1p6LF5Jt33O3rZoVRBqdxL350oge54iZWHNI6LJB5tQ7EelvD/Mb1mfBiZNAan0dt4i3VArkFRjA4iObuNykQ==} + engines: {node: '>=12'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + dev: true + + /@svgr/babel-preset@6.5.1(@babel/core@7.23.3): + resolution: {integrity: sha512-6127fvO/FF2oi5EzSQOAjo1LE3OtNVh11R+/8FXa+mHx1ptAaS4cknIjnUA7e6j6fwGGJ17NzaTJFUwOV2zwCw==} + engines: {node: '>=10'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@svgr/babel-plugin-add-jsx-attribute': 6.5.1(@babel/core@7.23.3) + '@svgr/babel-plugin-remove-jsx-attribute': 8.0.0(@babel/core@7.23.3) + '@svgr/babel-plugin-remove-jsx-empty-expression': 8.0.0(@babel/core@7.23.3) + '@svgr/babel-plugin-replace-jsx-attribute-value': 6.5.1(@babel/core@7.23.3) + '@svgr/babel-plugin-svg-dynamic-title': 6.5.1(@babel/core@7.23.3) + '@svgr/babel-plugin-svg-em-dimensions': 6.5.1(@babel/core@7.23.3) + '@svgr/babel-plugin-transform-react-native-svg': 6.5.1(@babel/core@7.23.3) + '@svgr/babel-plugin-transform-svg-component': 6.5.1(@babel/core@7.23.3) + dev: true + + /@svgr/core@6.5.1: + resolution: {integrity: sha512-/xdLSWxK5QkqG524ONSjvg3V/FkNyCv538OIBdQqPNaAta3AsXj/Bd2FbvR87yMbXO2hFSWiAe/Q6IkVPDw+mw==} + engines: {node: '>=10'} + dependencies: + '@babel/core': 7.23.3 + '@svgr/babel-preset': 6.5.1(@babel/core@7.23.3) + '@svgr/plugin-jsx': 6.5.1(@svgr/core@6.5.1) + camelcase: 6.3.0 + cosmiconfig: 7.1.0 + transitivePeerDependencies: + - supports-color + dev: true + + /@svgr/hast-util-to-babel-ast@6.5.1: + resolution: {integrity: sha512-1hnUxxjd83EAxbL4a0JDJoD3Dao3hmjvyvyEV8PzWmLK3B9m9NPlW7GKjFyoWE8nM7HnXzPcmmSyOW8yOddSXw==} + engines: {node: '>=10'} + dependencies: + '@babel/types': 7.23.3 + entities: 4.5.0 + dev: true + + /@svgr/plugin-jsx@6.5.1(@svgr/core@6.5.1): + resolution: {integrity: sha512-+UdQxI3jgtSjCykNSlEMuy1jSRQlGC7pqBCPvkG/2dATdWo082zHTTK3uhnAju2/6XpE6B5mZ3z4Z8Ns01S8Gw==} + engines: {node: '>=10'} + peerDependencies: + '@svgr/core': ^6.0.0 + dependencies: + '@babel/core': 7.23.3 + '@svgr/babel-preset': 6.5.1(@babel/core@7.23.3) + '@svgr/core': 6.5.1 + '@svgr/hast-util-to-babel-ast': 6.5.1 + svg-parser: 2.0.4 + transitivePeerDependencies: + - supports-color + dev: true + + /@svgr/plugin-svgo@6.5.1(@svgr/core@6.5.1): + resolution: {integrity: sha512-omvZKf8ixP9z6GWgwbtmP9qQMPX4ODXi+wzbVZgomNFsUIlHA1sf4fThdwTWSsZGgvGAG6yE+b/F5gWUkcZ/iQ==} + engines: {node: '>=10'} + peerDependencies: + '@svgr/core': '*' + dependencies: + '@svgr/core': 6.5.1 + cosmiconfig: 7.1.0 + deepmerge: 4.3.1 + svgo: 2.8.0 + dev: true + + /@svgr/webpack@6.5.1: + resolution: {integrity: sha512-cQ/AsnBkXPkEK8cLbv4Dm7JGXq2XrumKnL1dRpJD9rIO2fTIlJI9a1uCciYG1F2aUsox/hJQyNGbt3soDxSRkA==} + engines: {node: '>=10'} + dependencies: + '@babel/core': 7.23.3 + '@babel/plugin-transform-react-constant-elements': 7.23.3(@babel/core@7.23.3) + '@babel/preset-env': 7.23.3(@babel/core@7.23.3) + '@babel/preset-react': 7.23.3(@babel/core@7.23.3) + '@babel/preset-typescript': 7.23.3(@babel/core@7.23.3) + '@svgr/core': 6.5.1 + '@svgr/plugin-jsx': 6.5.1(@svgr/core@6.5.1) + '@svgr/plugin-svgo': 6.5.1(@svgr/core@6.5.1) + transitivePeerDependencies: + - supports-color + dev: true + + /@swc/core-darwin-arm64@1.3.14: + resolution: {integrity: sha512-QFuUq3341uOCrJMIWGuo+CmRC5qZoM2lUo7o2lmv1FO1Dh9njTG85pLD83vz6y4j/F034DBGzvRgSti/Bsoccw==} + engines: {node: '>=10'} + cpu: [arm64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /@swc/core-darwin-x64@1.3.14: + resolution: {integrity: sha512-fpAjbjXimJBmxCumRB8zjEtPc0lGUi9Uvu92XH6ww6AyXvg7KQmua5P2R9tnzAm6NwTCXKkgS86cgKysAbbObw==} + engines: {node: '>=10'} + cpu: [x64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /@swc/core-linux-arm-gnueabihf@1.3.14: + resolution: {integrity: sha512-3XSFlgIyDPS+x2c0IFr0AGj4NUbrWGKbkkUCpmAURII0n3YoDsYw8Ux73I8MkWxTTwDGkou8qQOXyA28kAUM4w==} + engines: {node: '>=10'} + cpu: [arm] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@swc/core-linux-arm64-gnu@1.3.14: + resolution: {integrity: sha512-r3fToDRYX76NEptAjvDg5aGrbitOgqooV37RpSTIGYd/CSNuin4cpCNFdca/Vh5lnNfal7mqdGDbG7gMruARtw==} + engines: {node: '>=10'} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@swc/core-linux-arm64-musl@1.3.14: + resolution: {integrity: sha512-IivEUC+3HNSsQNCfaCDzev2CpsvWpgFReitCmj0PKIdXFRsTi78jtJiraLWnYy956j4wwZbKN0OFGkS2ekKAVg==} + engines: {node: '>=10'} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@swc/core-linux-x64-gnu@1.3.14: + resolution: {integrity: sha512-HtwwA1Z0tE2z9fgaR5ehgY5ULbnVLHj3tayyWhIElF4EWsi6aQfCyn/oCZAcjoPKfEnJiSNBYt5gMmfK8l4mJA==} + engines: {node: '>=10'} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@swc/core-linux-x64-musl@1.3.14: + resolution: {integrity: sha512-RPXilkTD8IVgpou4TNuqZJOB7kMrVJ7sm7GgHF4v1eV3xdIyvy4w5FWjXZRdwMW6iunLgQEckuOmVx0I4mrdNg==} + engines: {node: '>=10'} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@swc/core-win32-arm64-msvc@1.3.14: + resolution: {integrity: sha512-H8Ka/ahJRs84hQCHC5ndORujbLBmi1mv+Z/m4CXpOaEX7TmeAo8nA17rrRckNvVkud9fghsKQGjkBQvJ0v7mRw==} + engines: {node: '>=10'} + cpu: [arm64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@swc/core-win32-ia32-msvc@1.3.14: + resolution: {integrity: sha512-H3ZmDXrVxrqBzzCFodwYfcXfTHE0xGNLJlLGzJ4haV6RBM3ZYIvRzDtPivDzic/VQncmPj1WpLoEDfx/7KNC8Q==} + engines: {node: '>=10'} + cpu: [ia32] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@swc/core-win32-x64-msvc@1.3.14: + resolution: {integrity: sha512-/D1lhWF/DQi2M7b6jWL35NmTY0mRJ5mwTXdmjqNNWOZ8h8TXQo1A3/FDFnfIIcRUeSNdF7IeB3xInT3BI34E1w==} + engines: {node: '>=10'} + cpu: [x64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@swc/core@1.3.14: + resolution: {integrity: sha512-LpTTrXOGS7vnbR/rHrAux7GykUWbyVmI5NbICl9iF9yeqFdGm6JjaGBhbanmG8zrQL5aFx2kMxxb92V9D1KUiw==} + engines: {node: '>=10'} + hasBin: true + requiresBuild: true + optionalDependencies: + '@swc/core-darwin-arm64': 1.3.14 + '@swc/core-darwin-x64': 1.3.14 + '@swc/core-linux-arm-gnueabihf': 1.3.14 + '@swc/core-linux-arm64-gnu': 1.3.14 + '@swc/core-linux-arm64-musl': 1.3.14 + '@swc/core-linux-x64-gnu': 1.3.14 + '@swc/core-linux-x64-musl': 1.3.14 + '@swc/core-win32-arm64-msvc': 1.3.14 + '@swc/core-win32-ia32-msvc': 1.3.14 + '@swc/core-win32-x64-msvc': 1.3.14 + dev: true + + /@swc/helpers@0.5.1: + resolution: {integrity: sha512-sJ902EfIzn1Fa+qYmjdQqh8tPsoxyBz+8yBKC2HKUxyezKJFwPGOn7pv4WY6QuQW//ySQi5lJjA/ZT9sNWWNTg==} + dependencies: + tslib: 2.6.2 + dev: true + + /@szmarczak/http-timer@1.1.2: + resolution: {integrity: sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA==} + engines: {node: '>=6'} + dependencies: + defer-to-connect: 1.1.3 + dev: true + + /@trysound/sax@0.2.0: + resolution: {integrity: sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==} + engines: {node: '>=10.13.0'} + dev: true + + /@turf/along@6.5.0: + resolution: {integrity: sha512-LLyWQ0AARqJCmMcIEAXF4GEu8usmd4Kbz3qk1Oy5HoRNpZX47+i5exQtmIWKdqJ1MMhW26fCTXgpsEs5zgJ5gw==} + dependencies: + '@turf/bearing': 6.5.0 + '@turf/destination': 6.5.0 + '@turf/distance': 6.5.0 + '@turf/helpers': 6.5.0 + '@turf/invariant': 6.5.0 + dev: false + + /@turf/angle@6.5.0: + resolution: {integrity: sha512-4pXMbWhFofJJAOvTMCns6N4C8CMd5Ih4O2jSAG9b3dDHakj3O4yN1+Zbm+NUei+eVEZ9gFeVp9svE3aMDenIkw==} + dependencies: + '@turf/bearing': 6.5.0 + '@turf/helpers': 6.5.0 + '@turf/invariant': 6.5.0 + '@turf/rhumb-bearing': 6.5.0 + dev: false + + /@turf/area@6.5.0: + resolution: {integrity: sha512-xCZdiuojokLbQ+29qR6qoMD89hv+JAgWjLrwSEWL+3JV8IXKeNFl6XkEJz9HGkVpnXvQKJoRz4/liT+8ZZ5Jyg==} + dependencies: + '@turf/helpers': 6.5.0 + '@turf/meta': 6.5.0 + dev: false + + /@turf/bbox-clip@6.5.0: + resolution: {integrity: sha512-F6PaIRF8WMp8EmgU/Ke5B1Y6/pia14UAYB5TiBC668w5rVVjy5L8rTm/m2lEkkDMHlzoP9vNY4pxpNthE7rLcQ==} + dependencies: + '@turf/helpers': 6.5.0 + '@turf/invariant': 6.5.0 + dev: false + + /@turf/bbox-polygon@6.5.0: + resolution: {integrity: sha512-+/r0NyL1lOG3zKZmmf6L8ommU07HliP4dgYToMoTxqzsWzyLjaj/OzgQ8rBmv703WJX+aS6yCmLuIhYqyufyuw==} + dependencies: + '@turf/helpers': 6.5.0 + dev: false + + /@turf/bbox@6.5.0: + resolution: {integrity: sha512-RBbLaao5hXTYyyg577iuMtDB8ehxMlUqHEJiMs8jT1GHkFhr6sYre3lmLsPeYEi/ZKj5TP5tt7fkzNdJ4GIVyw==} + dependencies: + '@turf/helpers': 6.5.0 + '@turf/meta': 6.5.0 + dev: false + + /@turf/bearing@6.5.0: + resolution: {integrity: sha512-dxINYhIEMzgDOztyMZc20I7ssYVNEpSv04VbMo5YPQsqa80KO3TFvbuCahMsCAW5z8Tncc8dwBlEFrmRjJG33A==} + dependencies: + '@turf/helpers': 6.5.0 + '@turf/invariant': 6.5.0 + dev: false + + /@turf/bezier-spline@6.5.0: + resolution: {integrity: sha512-vokPaurTd4PF96rRgGVm6zYYC5r1u98ZsG+wZEv9y3kJTuJRX/O3xIY2QnTGTdbVmAJN1ouOsD0RoZYaVoXORQ==} + dependencies: + '@turf/helpers': 6.5.0 + '@turf/invariant': 6.5.0 + dev: false + + /@turf/boolean-clockwise@6.5.0: + resolution: {integrity: sha512-45+C7LC5RMbRWrxh3Z0Eihsc8db1VGBO5d9BLTOAwU4jR6SgsunTfRWR16X7JUwIDYlCVEmnjcXJNi/kIU3VIw==} + dependencies: + '@turf/helpers': 6.5.0 + '@turf/invariant': 6.5.0 + dev: false + + /@turf/boolean-contains@6.5.0: + resolution: {integrity: sha512-4m8cJpbw+YQcKVGi8y0cHhBUnYT+QRfx6wzM4GI1IdtYH3p4oh/DOBJKrepQyiDzFDaNIjxuWXBh0ai1zVwOQQ==} + dependencies: + '@turf/bbox': 6.5.0 + '@turf/boolean-point-in-polygon': 6.5.0 + '@turf/boolean-point-on-line': 6.5.0 + '@turf/helpers': 6.5.0 + '@turf/invariant': 6.5.0 + dev: false + + /@turf/boolean-crosses@6.5.0: + resolution: {integrity: sha512-gvshbTPhAHporTlQwBJqyfW+2yV8q/mOTxG6PzRVl6ARsqNoqYQWkd4MLug7OmAqVyBzLK3201uAeBjxbGw0Ng==} + dependencies: + '@turf/boolean-point-in-polygon': 6.5.0 + '@turf/helpers': 6.5.0 + '@turf/invariant': 6.5.0 + '@turf/line-intersect': 6.5.0 + '@turf/polygon-to-line': 6.5.0 + dev: false + + /@turf/boolean-disjoint@6.5.0: + resolution: {integrity: sha512-rZ2ozlrRLIAGo2bjQ/ZUu4oZ/+ZjGvLkN5CKXSKBcu6xFO6k2bgqeM8a1836tAW+Pqp/ZFsTA5fZHsJZvP2D5g==} + dependencies: + '@turf/boolean-point-in-polygon': 6.5.0 + '@turf/helpers': 6.5.0 + '@turf/line-intersect': 6.5.0 + '@turf/meta': 6.5.0 + '@turf/polygon-to-line': 6.5.0 + dev: false + + /@turf/boolean-equal@6.5.0: + resolution: {integrity: sha512-cY0M3yoLC26mhAnjv1gyYNQjn7wxIXmL2hBmI/qs8g5uKuC2hRWi13ydufE3k4x0aNRjFGlg41fjoYLwaVF+9Q==} + dependencies: + '@turf/clean-coords': 6.5.0 + '@turf/helpers': 6.5.0 + '@turf/invariant': 6.5.0 + geojson-equality: 0.1.6 + dev: false + + /@turf/boolean-intersects@6.5.0: + resolution: {integrity: sha512-nIxkizjRdjKCYFQMnml6cjPsDOBCThrt+nkqtSEcxkKMhAQj5OO7o2CecioNTaX8EayqwMGVKcsz27oP4mKPTw==} + dependencies: + '@turf/boolean-disjoint': 6.5.0 + '@turf/helpers': 6.5.0 + '@turf/meta': 6.5.0 + dev: false + + /@turf/boolean-overlap@6.5.0: + resolution: {integrity: sha512-8btMIdnbXVWUa1M7D4shyaSGxLRw6NjMcqKBcsTXcZdnaixl22k7ar7BvIzkaRYN3SFECk9VGXfLncNS3ckQUw==} + dependencies: + '@turf/helpers': 6.5.0 + '@turf/invariant': 6.5.0 + '@turf/line-intersect': 6.5.0 + '@turf/line-overlap': 6.5.0 + '@turf/meta': 6.5.0 + geojson-equality: 0.1.6 + dev: false + + /@turf/boolean-parallel@6.5.0: + resolution: {integrity: sha512-aSHJsr1nq9e5TthZGZ9CZYeXklJyRgR5kCLm5X4urz7+MotMOp/LsGOsvKvK9NeUl9+8OUmfMn8EFTT8LkcvIQ==} + dependencies: + '@turf/clean-coords': 6.5.0 + '@turf/helpers': 6.5.0 + '@turf/line-segment': 6.5.0 + '@turf/rhumb-bearing': 6.5.0 + dev: false + + /@turf/boolean-point-in-polygon@6.5.0: + resolution: {integrity: sha512-DtSuVFB26SI+hj0SjrvXowGTUCHlgevPAIsukssW6BG5MlNSBQAo70wpICBNJL6RjukXg8d2eXaAWuD/CqL00A==} + dependencies: + '@turf/helpers': 6.5.0 + '@turf/invariant': 6.5.0 + dev: false + + /@turf/boolean-point-on-line@6.5.0: + resolution: {integrity: sha512-A1BbuQ0LceLHvq7F/P7w3QvfpmZqbmViIUPHdNLvZimFNLo4e6IQunmzbe+8aSStH9QRZm3VOflyvNeXvvpZEQ==} + dependencies: + '@turf/helpers': 6.5.0 + '@turf/invariant': 6.5.0 + dev: false + + /@turf/boolean-within@6.5.0: + resolution: {integrity: sha512-YQB3oU18Inx35C/LU930D36RAVe7LDXk1kWsQ8mLmuqYn9YdPsDQTMTkLJMhoQ8EbN7QTdy333xRQ4MYgToteQ==} + dependencies: + '@turf/bbox': 6.5.0 + '@turf/boolean-point-in-polygon': 6.5.0 + '@turf/boolean-point-on-line': 6.5.0 + '@turf/helpers': 6.5.0 + '@turf/invariant': 6.5.0 + dev: false + + /@turf/buffer@6.5.0: + resolution: {integrity: sha512-qeX4N6+PPWbKqp1AVkBVWFerGjMYMUyencwfnkCesoznU6qvfugFHNAngNqIBVnJjZ5n8IFyOf+akcxnrt9sNg==} + dependencies: + '@turf/bbox': 6.5.0 + '@turf/center': 6.5.0 + '@turf/helpers': 6.5.0 + '@turf/meta': 6.5.0 + '@turf/projection': 6.5.0 + d3-geo: 1.7.1 + turf-jsts: 1.2.3 + dev: false + + /@turf/center-mean@6.5.0: + resolution: {integrity: sha512-AAX6f4bVn12pTVrMUiB9KrnV94BgeBKpyg3YpfnEbBpkN/znfVhL8dG8IxMAxAoSZ61Zt9WLY34HfENveuOZ7Q==} + dependencies: + '@turf/bbox': 6.5.0 + '@turf/helpers': 6.5.0 + '@turf/meta': 6.5.0 + dev: false + + /@turf/center-median@6.5.0: + resolution: {integrity: sha512-dT8Ndu5CiZkPrj15PBvslpuf01ky41DEYEPxS01LOxp5HOUHXp1oJxsPxvc+i/wK4BwccPNzU1vzJ0S4emd1KQ==} + dependencies: + '@turf/center-mean': 6.5.0 + '@turf/centroid': 6.5.0 + '@turf/distance': 6.5.0 + '@turf/helpers': 6.5.0 + '@turf/meta': 6.5.0 + dev: false + + /@turf/center-of-mass@6.5.0: + resolution: {integrity: sha512-EWrriU6LraOfPN7m1jZi+1NLTKNkuIsGLZc2+Y8zbGruvUW+QV7K0nhf7iZWutlxHXTBqEXHbKue/o79IumAsQ==} + dependencies: + '@turf/centroid': 6.5.0 + '@turf/convex': 6.5.0 + '@turf/helpers': 6.5.0 + '@turf/invariant': 6.5.0 + '@turf/meta': 6.5.0 + dev: false + + /@turf/center@6.5.0: + resolution: {integrity: sha512-T8KtMTfSATWcAX088rEDKjyvQCBkUsLnK/Txb6/8WUXIeOZyHu42G7MkdkHRoHtwieLdduDdmPLFyTdG5/e7ZQ==} + dependencies: + '@turf/bbox': 6.5.0 + '@turf/helpers': 6.5.0 + dev: false + + /@turf/centroid@6.5.0: + resolution: {integrity: sha512-MwE1oq5E3isewPprEClbfU5pXljIK/GUOMbn22UM3IFPDJX0KeoyLNwghszkdmFp/qMGL/M13MMWvU+GNLXP/A==} + dependencies: + '@turf/helpers': 6.5.0 + '@turf/meta': 6.5.0 + dev: false + + /@turf/circle@6.5.0: + resolution: {integrity: sha512-oU1+Kq9DgRnoSbWFHKnnUdTmtcRUMmHoV9DjTXu9vOLNV5OWtAAh1VZ+mzsioGGzoDNT/V5igbFOkMfBQc0B6A==} + dependencies: + '@turf/destination': 6.5.0 + '@turf/helpers': 6.5.0 + dev: false + + /@turf/clean-coords@6.5.0: + resolution: {integrity: sha512-EMX7gyZz0WTH/ET7xV8MyrExywfm9qUi0/MY89yNffzGIEHuFfqwhcCqZ8O00rZIPZHUTxpmsxQSTfzJJA1CPw==} + dependencies: + '@turf/helpers': 6.5.0 + '@turf/invariant': 6.5.0 + dev: false + + /@turf/clone@6.5.0: + resolution: {integrity: sha512-mzVtTFj/QycXOn6ig+annKrM6ZlimreKYz6f/GSERytOpgzodbQyOgkfwru100O1KQhhjSudKK4DsQ0oyi9cTw==} + dependencies: + '@turf/helpers': 6.5.0 + dev: false + + /@turf/clusters-dbscan@6.5.0: + resolution: {integrity: sha512-SxZEE4kADU9DqLRiT53QZBBhu8EP9skviSyl+FGj08Y01xfICM/RR9ACUdM0aEQimhpu+ZpRVcUK+2jtiCGrYQ==} + dependencies: + '@turf/clone': 6.5.0 + '@turf/distance': 6.5.0 + '@turf/helpers': 6.5.0 + '@turf/meta': 6.5.0 + density-clustering: 1.3.0 + dev: false + + /@turf/clusters-kmeans@6.5.0: + resolution: {integrity: sha512-DwacD5+YO8kwDPKaXwT9DV46tMBVNsbi1IzdajZu1JDSWoN7yc7N9Qt88oi+p30583O0UPVkAK+A10WAQv4mUw==} + dependencies: + '@turf/clone': 6.5.0 + '@turf/helpers': 6.5.0 + '@turf/invariant': 6.5.0 + '@turf/meta': 6.5.0 + skmeans: 0.9.7 + dev: false + + /@turf/clusters@6.5.0: + resolution: {integrity: sha512-Y6gfnTJzQ1hdLfCsyd5zApNbfLIxYEpmDibHUqR5z03Lpe02pa78JtgrgUNt1seeO/aJ4TG1NLN8V5gOrHk04g==} + dependencies: + '@turf/helpers': 6.5.0 + '@turf/meta': 6.5.0 + dev: false + + /@turf/collect@6.5.0: + resolution: {integrity: sha512-4dN/T6LNnRg099m97BJeOcTA5fSI8cu87Ydgfibewd2KQwBexO69AnjEFqfPX3Wj+Zvisj1uAVIZbPmSSrZkjg==} + dependencies: + '@turf/bbox': 6.5.0 + '@turf/boolean-point-in-polygon': 6.5.0 + '@turf/helpers': 6.5.0 + rbush: 2.0.2 + dev: false + + /@turf/combine@6.5.0: + resolution: {integrity: sha512-Q8EIC4OtAcHiJB3C4R+FpB4LANiT90t17uOd851qkM2/o6m39bfN5Mv0PWqMZIHWrrosZqRqoY9dJnzz/rJxYQ==} + dependencies: + '@turf/helpers': 6.5.0 + '@turf/meta': 6.5.0 + dev: false + + /@turf/concave@6.5.0: + resolution: {integrity: sha512-I/sUmUC8TC5h/E2vPwxVht+nRt+TnXIPRoztDFvS8/Y0+cBDple9inLSo9nnPXMXidrBlGXZ9vQx/BjZUJgsRQ==} + dependencies: + '@turf/clone': 6.5.0 + '@turf/distance': 6.5.0 + '@turf/helpers': 6.5.0 + '@turf/invariant': 6.5.0 + '@turf/meta': 6.5.0 + '@turf/tin': 6.5.0 + topojson-client: 3.1.0 + topojson-server: 3.0.1 + dev: false + + /@turf/convex@6.5.0: + resolution: {integrity: sha512-x7ZwC5z7PJB0SBwNh7JCeCNx7Iu+QSrH7fYgK0RhhNop13TqUlvHMirMLRgf2db1DqUetrAO2qHJeIuasquUWg==} + dependencies: + '@turf/helpers': 6.5.0 + '@turf/meta': 6.5.0 + concaveman: 1.2.1 + dev: false + + /@turf/destination@6.5.0: + resolution: {integrity: sha512-4cnWQlNC8d1tItOz9B4pmJdWpXqS0vEvv65bI/Pj/genJnsL7evI0/Xw42RvEGROS481MPiU80xzvwxEvhQiMQ==} + dependencies: + '@turf/helpers': 6.5.0 + '@turf/invariant': 6.5.0 + dev: false + + /@turf/difference@6.5.0: + resolution: {integrity: sha512-l8iR5uJqvI+5Fs6leNbhPY5t/a3vipUF/3AeVLpwPQcgmedNXyheYuy07PcMGH5Jdpi5gItOiTqwiU/bUH4b3A==} + dependencies: + '@turf/helpers': 6.5.0 + '@turf/invariant': 6.5.0 + polygon-clipping: 0.15.3 + dev: false + + /@turf/dissolve@6.5.0: + resolution: {integrity: sha512-WBVbpm9zLTp0Bl9CE35NomTaOL1c4TQCtEoO43YaAhNEWJOOIhZMFJyr8mbvYruKl817KinT3x7aYjjCMjTAsQ==} + dependencies: + '@turf/helpers': 6.5.0 + '@turf/invariant': 6.5.0 + '@turf/meta': 6.5.0 + polygon-clipping: 0.15.3 + dev: false + + /@turf/distance-weight@6.5.0: + resolution: {integrity: sha512-a8qBKkgVNvPKBfZfEJZnC3DV7dfIsC3UIdpRci/iap/wZLH41EmS90nM+BokAJflUHYy8PqE44wySGWHN1FXrQ==} + dependencies: + '@turf/centroid': 6.5.0 + '@turf/helpers': 6.5.0 + '@turf/invariant': 6.5.0 + '@turf/meta': 6.5.0 + dev: false + + /@turf/distance@6.5.0: + resolution: {integrity: sha512-xzykSLfoURec5qvQJcfifw/1mJa+5UwByZZ5TZ8iaqjGYN0vomhV9aiSLeYdUGtYRESZ+DYC/OzY+4RclZYgMg==} + dependencies: + '@turf/helpers': 6.5.0 + '@turf/invariant': 6.5.0 + dev: false + + /@turf/ellipse@6.5.0: + resolution: {integrity: sha512-kuXtwFviw/JqnyJXF1mrR/cb496zDTSbGKtSiolWMNImYzGGkbsAsFTjwJYgD7+4FixHjp0uQPzo70KDf3AIBw==} + dependencies: + '@turf/helpers': 6.5.0 + '@turf/invariant': 6.5.0 + '@turf/rhumb-destination': 6.5.0 + '@turf/transform-rotate': 6.5.0 + dev: false + + /@turf/envelope@6.5.0: + resolution: {integrity: sha512-9Z+FnBWvOGOU4X+fMZxYFs1HjFlkKqsddLuMknRaqcJd6t+NIv5DWvPtDL8ATD2GEExYDiFLwMdckfr1yqJgHA==} + dependencies: + '@turf/bbox': 6.5.0 + '@turf/bbox-polygon': 6.5.0 + '@turf/helpers': 6.5.0 + dev: false + + /@turf/explode@6.5.0: + resolution: {integrity: sha512-6cSvMrnHm2qAsace6pw9cDmK2buAlw8+tjeJVXMfMyY+w7ZUi1rprWMsY92J7s2Dar63Bv09n56/1V7+tcj52Q==} + dependencies: + '@turf/helpers': 6.5.0 + '@turf/meta': 6.5.0 + dev: false + + /@turf/flatten@6.5.0: + resolution: {integrity: sha512-IBZVwoNLVNT6U/bcUUllubgElzpMsNoCw8tLqBw6dfYg9ObGmpEjf9BIYLr7a2Yn5ZR4l7YIj2T7kD5uJjZADQ==} + dependencies: + '@turf/helpers': 6.5.0 + '@turf/meta': 6.5.0 + dev: false + + /@turf/flip@6.5.0: + resolution: {integrity: sha512-oyikJFNjt2LmIXQqgOGLvt70RgE2lyzPMloYWM7OR5oIFGRiBvqVD2hA6MNw6JewIm30fWZ8DQJw1NHXJTJPbg==} + dependencies: + '@turf/clone': 6.5.0 + '@turf/helpers': 6.5.0 + '@turf/meta': 6.5.0 + dev: false + + /@turf/great-circle@6.5.0: + resolution: {integrity: sha512-7ovyi3HaKOXdFyN7yy1yOMa8IyOvV46RC1QOQTT+RYUN8ke10eyqExwBpL9RFUPvlpoTzoYbM/+lWPogQlFncg==} + dependencies: + '@turf/helpers': 6.5.0 + '@turf/invariant': 6.5.0 + dev: false + + /@turf/helpers@6.5.0: + resolution: {integrity: sha512-VbI1dV5bLFzohYYdgqwikdMVpe7pJ9X3E+dlr425wa2/sMJqYDhTO++ec38/pcPvPE6oD9WEEeU3Xu3gza+VPw==} + dev: false + + /@turf/hex-grid@6.5.0: + resolution: {integrity: sha512-Ln3tc2tgZT8etDOldgc6e741Smg1CsMKAz1/Mlel+MEL5Ynv2mhx3m0q4J9IB1F3a4MNjDeVvm8drAaf9SF33g==} + dependencies: + '@turf/distance': 6.5.0 + '@turf/helpers': 6.5.0 + '@turf/intersect': 6.5.0 + '@turf/invariant': 6.5.0 + dev: false + + /@turf/interpolate@6.5.0: + resolution: {integrity: sha512-LSH5fMeiGyuDZ4WrDJNgh81d2DnNDUVJtuFryJFup8PV8jbs46lQGfI3r1DJ2p1IlEJIz3pmAZYeTfMMoeeohw==} + dependencies: + '@turf/bbox': 6.5.0 + '@turf/centroid': 6.5.0 + '@turf/clone': 6.5.0 + '@turf/distance': 6.5.0 + '@turf/helpers': 6.5.0 + '@turf/hex-grid': 6.5.0 + '@turf/invariant': 6.5.0 + '@turf/meta': 6.5.0 + '@turf/point-grid': 6.5.0 + '@turf/square-grid': 6.5.0 + '@turf/triangle-grid': 6.5.0 + dev: false + + /@turf/intersect@6.5.0: + resolution: {integrity: sha512-2legGJeKrfFkzntcd4GouPugoqPUjexPZnOvfez+3SfIMrHvulw8qV8u7pfVyn2Yqs53yoVCEjS5sEpvQ5YRQg==} + dependencies: + '@turf/helpers': 6.5.0 + '@turf/invariant': 6.5.0 + polygon-clipping: 0.15.3 + dev: false + + /@turf/invariant@6.5.0: + resolution: {integrity: sha512-Wv8PRNCtPD31UVbdJE/KVAWKe7l6US+lJItRR/HOEW3eh+U/JwRCSUl/KZ7bmjM/C+zLNoreM2TU6OoLACs4eg==} + dependencies: + '@turf/helpers': 6.5.0 + dev: false + + /@turf/isobands@6.5.0: + resolution: {integrity: sha512-4h6sjBPhRwMVuFaVBv70YB7eGz+iw0bhPRnp+8JBdX1UPJSXhoi/ZF2rACemRUr0HkdVB/a1r9gC32vn5IAEkw==} + dependencies: + '@turf/area': 6.5.0 + '@turf/bbox': 6.5.0 + '@turf/boolean-point-in-polygon': 6.5.0 + '@turf/explode': 6.5.0 + '@turf/helpers': 6.5.0 + '@turf/invariant': 6.5.0 + '@turf/meta': 6.5.0 + object-assign: 4.1.1 + dev: false + + /@turf/isolines@6.5.0: + resolution: {integrity: sha512-6ElhiLCopxWlv4tPoxiCzASWt/jMRvmp6mRYrpzOm3EUl75OhHKa/Pu6Y9nWtCMmVC/RcWtiiweUocbPLZLm0A==} + dependencies: + '@turf/bbox': 6.5.0 + '@turf/helpers': 6.5.0 + '@turf/invariant': 6.5.0 + '@turf/meta': 6.5.0 + object-assign: 4.1.1 + dev: false + + /@turf/kinks@6.5.0: + resolution: {integrity: sha512-ViCngdPt1eEL7hYUHR2eHR662GvCgTc35ZJFaNR6kRtr6D8plLaDju0FILeFFWSc+o8e3fwxZEJKmFj9IzPiIQ==} + dependencies: + '@turf/helpers': 6.5.0 + dev: false + + /@turf/length@6.5.0: + resolution: {integrity: sha512-5pL5/pnw52fck3oRsHDcSGrj9HibvtlrZ0QNy2OcW8qBFDNgZ4jtl6U7eATVoyWPKBHszW3dWETW+iLV7UARig==} + dependencies: + '@turf/distance': 6.5.0 + '@turf/helpers': 6.5.0 + '@turf/meta': 6.5.0 + dev: false + + /@turf/line-arc@6.5.0: + resolution: {integrity: sha512-I6c+V6mIyEwbtg9P9zSFF89T7QPe1DPTG3MJJ6Cm1MrAY0MdejwQKOpsvNl8LDU2ekHOlz2kHpPVR7VJsoMllA==} + dependencies: + '@turf/circle': 6.5.0 + '@turf/destination': 6.5.0 + '@turf/helpers': 6.5.0 + dev: false + + /@turf/line-chunk@6.5.0: + resolution: {integrity: sha512-i1FGE6YJaaYa+IJesTfyRRQZP31QouS+wh/pa6O3CC0q4T7LtHigyBSYjrbjSLfn2EVPYGlPCMFEqNWCOkC6zg==} + dependencies: + '@turf/helpers': 6.5.0 + '@turf/length': 6.5.0 + '@turf/line-slice-along': 6.5.0 + '@turf/meta': 6.5.0 + dev: false + + /@turf/line-intersect@6.5.0: + resolution: {integrity: sha512-CS6R1tZvVQD390G9Ea4pmpM6mJGPWoL82jD46y0q1KSor9s6HupMIo1kY4Ny+AEYQl9jd21V3Scz20eldpbTVA==} + dependencies: + '@turf/helpers': 6.5.0 + '@turf/invariant': 6.5.0 + '@turf/line-segment': 6.5.0 + '@turf/meta': 6.5.0 + geojson-rbush: 3.2.0 + dev: false + + /@turf/line-offset@6.5.0: + resolution: {integrity: sha512-CEXZbKgyz8r72qRvPchK0dxqsq8IQBdH275FE6o4MrBkzMcoZsfSjghtXzKaz9vvro+HfIXal0sTk2mqV1lQTw==} + dependencies: + '@turf/helpers': 6.5.0 + '@turf/invariant': 6.5.0 + '@turf/meta': 6.5.0 + dev: false + + /@turf/line-overlap@6.5.0: + resolution: {integrity: sha512-xHOaWLd0hkaC/1OLcStCpfq55lPHpPNadZySDXYiYjEz5HXr1oKmtMYpn0wGizsLwrOixRdEp+j7bL8dPt4ojQ==} + dependencies: + '@turf/boolean-point-on-line': 6.5.0 + '@turf/helpers': 6.5.0 + '@turf/invariant': 6.5.0 + '@turf/line-segment': 6.5.0 + '@turf/meta': 6.5.0 + '@turf/nearest-point-on-line': 6.5.0 + deep-equal: 1.1.2 + geojson-rbush: 3.2.0 + dev: false + + /@turf/line-segment@6.5.0: + resolution: {integrity: sha512-jI625Ho4jSuJESNq66Mmi290ZJ5pPZiQZruPVpmHkUw257Pew0alMmb6YrqYNnLUuiVVONxAAKXUVeeUGtycfw==} + dependencies: + '@turf/helpers': 6.5.0 + '@turf/invariant': 6.5.0 + '@turf/meta': 6.5.0 + dev: false + + /@turf/line-slice-along@6.5.0: + resolution: {integrity: sha512-KHJRU6KpHrAj+BTgTNqby6VCTnDzG6a1sJx/I3hNvqMBLvWVA2IrkR9L9DtsQsVY63IBwVdQDqiwCuZLDQh4Ng==} + dependencies: + '@turf/bearing': 6.5.0 + '@turf/destination': 6.5.0 + '@turf/distance': 6.5.0 + '@turf/helpers': 6.5.0 + dev: false + + /@turf/line-slice@6.5.0: + resolution: {integrity: sha512-vDqJxve9tBHhOaVVFXqVjF5qDzGtKWviyjbyi2QnSnxyFAmLlLnBfMX8TLQCAf2GxHibB95RO5FBE6I2KVPRuw==} + dependencies: + '@turf/helpers': 6.5.0 + '@turf/invariant': 6.5.0 + '@turf/nearest-point-on-line': 6.5.0 + dev: false + + /@turf/line-split@6.5.0: + resolution: {integrity: sha512-/rwUMVr9OI2ccJjw7/6eTN53URtGThNSD5I0GgxyFXMtxWiloRJ9MTff8jBbtPWrRka/Sh2GkwucVRAEakx9Sw==} + dependencies: + '@turf/bbox': 6.5.0 + '@turf/helpers': 6.5.0 + '@turf/invariant': 6.5.0 + '@turf/line-intersect': 6.5.0 + '@turf/line-segment': 6.5.0 + '@turf/meta': 6.5.0 + '@turf/nearest-point-on-line': 6.5.0 + '@turf/square': 6.5.0 + '@turf/truncate': 6.5.0 + geojson-rbush: 3.2.0 + dev: false + + /@turf/line-to-polygon@6.5.0: + resolution: {integrity: sha512-qYBuRCJJL8Gx27OwCD1TMijM/9XjRgXH/m/TyuND4OXedBpIWlK5VbTIO2gJ8OCfznBBddpjiObLBrkuxTpN4Q==} + dependencies: + '@turf/bbox': 6.5.0 + '@turf/clone': 6.5.0 + '@turf/helpers': 6.5.0 + '@turf/invariant': 6.5.0 + dev: false + + /@turf/mask@6.5.0: + resolution: {integrity: sha512-RQha4aU8LpBrmrkH8CPaaoAfk0Egj5OuXtv6HuCQnHeGNOQt3TQVibTA3Sh4iduq4EPxnZfDjgsOeKtrCA19lg==} + dependencies: + '@turf/helpers': 6.5.0 + polygon-clipping: 0.15.3 + dev: false + + /@turf/meta@6.5.0: + resolution: {integrity: sha512-RrArvtsV0vdsCBegoBtOalgdSOfkBrTJ07VkpiCnq/491W67hnMWmDu7e6Ztw0C3WldRYTXkg3SumfdzZxLBHA==} + dependencies: + '@turf/helpers': 6.5.0 + dev: false + + /@turf/midpoint@6.5.0: + resolution: {integrity: sha512-MyTzV44IwmVI6ec9fB2OgZ53JGNlgOpaYl9ArKoF49rXpL84F9rNATndbe0+MQIhdkw8IlzA6xVP4lZzfMNVCw==} + dependencies: + '@turf/bearing': 6.5.0 + '@turf/destination': 6.5.0 + '@turf/distance': 6.5.0 + '@turf/helpers': 6.5.0 + dev: false + + /@turf/moran-index@6.5.0: + resolution: {integrity: sha512-ItsnhrU2XYtTtTudrM8so4afBCYWNaB0Mfy28NZwLjB5jWuAsvyV+YW+J88+neK/ougKMTawkmjQqodNJaBeLQ==} + dependencies: + '@turf/distance-weight': 6.5.0 + '@turf/helpers': 6.5.0 + '@turf/meta': 6.5.0 + dev: false + + /@turf/nearest-point-on-line@6.5.0: + resolution: {integrity: sha512-WthrvddddvmymnC+Vf7BrkHGbDOUu6Z3/6bFYUGv1kxw8tiZ6n83/VG6kHz4poHOfS0RaNflzXSkmCi64fLBlg==} + dependencies: + '@turf/bearing': 6.5.0 + '@turf/destination': 6.5.0 + '@turf/distance': 6.5.0 + '@turf/helpers': 6.5.0 + '@turf/invariant': 6.5.0 + '@turf/line-intersect': 6.5.0 + '@turf/meta': 6.5.0 + dev: false + + /@turf/nearest-point-to-line@6.5.0: + resolution: {integrity: sha512-PXV7cN0BVzUZdjj6oeb/ESnzXSfWmEMrsfZSDRgqyZ9ytdiIj/eRsnOXLR13LkTdXVOJYDBuf7xt1mLhM4p6+Q==} + dependencies: + '@turf/helpers': 6.5.0 + '@turf/invariant': 6.5.0 + '@turf/meta': 6.5.0 + '@turf/point-to-line-distance': 6.5.0 + object-assign: 4.1.1 + dev: false + + /@turf/nearest-point@6.5.0: + resolution: {integrity: sha512-fguV09QxilZv/p94s8SMsXILIAMiaXI5PATq9d7YWijLxWUj6Q/r43kxyoi78Zmwwh1Zfqz9w+bCYUAxZ5+euA==} + dependencies: + '@turf/clone': 6.5.0 + '@turf/distance': 6.5.0 + '@turf/helpers': 6.5.0 + '@turf/meta': 6.5.0 + dev: false + + /@turf/planepoint@6.5.0: + resolution: {integrity: sha512-R3AahA6DUvtFbka1kcJHqZ7DMHmPXDEQpbU5WaglNn7NaCQg9HB0XM0ZfqWcd5u92YXV+Gg8QhC8x5XojfcM4Q==} + dependencies: + '@turf/helpers': 6.5.0 + '@turf/invariant': 6.5.0 + dev: false + + /@turf/point-grid@6.5.0: + resolution: {integrity: sha512-Iq38lFokNNtQJnOj/RBKmyt6dlof0yhaHEDELaWHuECm1lIZLY3ZbVMwbs+nXkwTAHjKfS/OtMheUBkw+ee49w==} + dependencies: + '@turf/boolean-within': 6.5.0 + '@turf/distance': 6.5.0 + '@turf/helpers': 6.5.0 + '@turf/invariant': 6.5.0 + dev: false + + /@turf/point-on-feature@6.5.0: + resolution: {integrity: sha512-bDpuIlvugJhfcF/0awAQ+QI6Om1Y1FFYE8Y/YdxGRongivix850dTeXCo0mDylFdWFPGDo7Mmh9Vo4VxNwW/TA==} + dependencies: + '@turf/boolean-point-in-polygon': 6.5.0 + '@turf/center': 6.5.0 + '@turf/explode': 6.5.0 + '@turf/helpers': 6.5.0 + '@turf/nearest-point': 6.5.0 + dev: false + + /@turf/point-to-line-distance@6.5.0: + resolution: {integrity: sha512-opHVQ4vjUhNBly1bob6RWy+F+hsZDH9SA0UW36pIRzfpu27qipU18xup0XXEePfY6+wvhF6yL/WgCO2IbrLqEA==} + dependencies: + '@turf/bearing': 6.5.0 + '@turf/distance': 6.5.0 + '@turf/helpers': 6.5.0 + '@turf/invariant': 6.5.0 + '@turf/meta': 6.5.0 + '@turf/projection': 6.5.0 + '@turf/rhumb-bearing': 6.5.0 + '@turf/rhumb-distance': 6.5.0 + dev: false + + /@turf/points-within-polygon@6.5.0: + resolution: {integrity: sha512-YyuheKqjliDsBDt3Ho73QVZk1VXX1+zIA2gwWvuz8bR1HXOkcuwk/1J76HuFMOQI3WK78wyAi+xbkx268PkQzQ==} + dependencies: + '@turf/boolean-point-in-polygon': 6.5.0 + '@turf/helpers': 6.5.0 + '@turf/meta': 6.5.0 + dev: false + + /@turf/polygon-smooth@6.5.0: + resolution: {integrity: sha512-LO/X/5hfh/Rk4EfkDBpLlVwt3i6IXdtQccDT9rMjXEP32tRgy0VMFmdkNaXoGlSSKf/1mGqLl4y4wHd86DqKbg==} + dependencies: + '@turf/helpers': 6.5.0 + '@turf/meta': 6.5.0 + dev: false + + /@turf/polygon-tangents@6.5.0: + resolution: {integrity: sha512-sB4/IUqJMYRQH9jVBwqS/XDitkEfbyqRy+EH/cMRJURTg78eHunvJ708x5r6umXsbiUyQU4eqgPzEylWEQiunw==} + dependencies: + '@turf/bbox': 6.5.0 + '@turf/boolean-within': 6.5.0 + '@turf/explode': 6.5.0 + '@turf/helpers': 6.5.0 + '@turf/invariant': 6.5.0 + '@turf/nearest-point': 6.5.0 + dev: false + + /@turf/polygon-to-line@6.5.0: + resolution: {integrity: sha512-5p4n/ij97EIttAq+ewSnKt0ruvuM+LIDzuczSzuHTpq4oS7Oq8yqg5TQ4nzMVuK41r/tALCk7nAoBuw3Su4Gcw==} + dependencies: + '@turf/helpers': 6.5.0 + '@turf/invariant': 6.5.0 + dev: false + + /@turf/polygonize@6.5.0: + resolution: {integrity: sha512-a/3GzHRaCyzg7tVYHo43QUChCspa99oK4yPqooVIwTC61npFzdrmnywMv0S+WZjHZwK37BrFJGFrZGf6ocmY5w==} + dependencies: + '@turf/boolean-point-in-polygon': 6.5.0 + '@turf/envelope': 6.5.0 + '@turf/helpers': 6.5.0 + '@turf/invariant': 6.5.0 + '@turf/meta': 6.5.0 + dev: false + + /@turf/projection@6.5.0: + resolution: {integrity: sha512-/Pgh9mDvQWWu8HRxqpM+tKz8OzgauV+DiOcr3FCjD6ubDnrrmMJlsf6fFJmggw93mtVPrZRL6yyi9aYCQBOIvg==} + dependencies: + '@turf/clone': 6.5.0 + '@turf/helpers': 6.5.0 + '@turf/meta': 6.5.0 + dev: false + + /@turf/random@6.5.0: + resolution: {integrity: sha512-8Q25gQ/XbA7HJAe+eXp4UhcXM9aOOJFaxZ02+XSNwMvY8gtWSCBLVqRcW4OhqilgZ8PeuQDWgBxeo+BIqqFWFQ==} + dependencies: + '@turf/helpers': 6.5.0 + dev: false + + /@turf/rectangle-grid@6.5.0: + resolution: {integrity: sha512-yQZ/1vbW68O2KsSB3OZYK+72aWz/Adnf7m2CMKcC+aq6TwjxZjAvlbCOsNUnMAuldRUVN1ph6RXMG4e9KEvKvg==} + dependencies: + '@turf/boolean-intersects': 6.5.0 + '@turf/distance': 6.5.0 + '@turf/helpers': 6.5.0 + dev: false + + /@turf/rewind@6.5.0: + resolution: {integrity: sha512-IoUAMcHWotBWYwSYuYypw/LlqZmO+wcBpn8ysrBNbazkFNkLf3btSDZMkKJO/bvOzl55imr/Xj4fi3DdsLsbzQ==} + dependencies: + '@turf/boolean-clockwise': 6.5.0 + '@turf/clone': 6.5.0 + '@turf/helpers': 6.5.0 + '@turf/invariant': 6.5.0 + '@turf/meta': 6.5.0 + dev: false + + /@turf/rhumb-bearing@6.5.0: + resolution: {integrity: sha512-jMyqiMRK4hzREjQmnLXmkJ+VTNTx1ii8vuqRwJPcTlKbNWfjDz/5JqJlb5NaFDcdMpftWovkW5GevfnuzHnOYA==} + dependencies: + '@turf/helpers': 6.5.0 + '@turf/invariant': 6.5.0 + dev: false + + /@turf/rhumb-destination@6.5.0: + resolution: {integrity: sha512-RHNP1Oy+7xTTdRrTt375jOZeHceFbjwohPHlr9Hf68VdHHPMAWgAKqiX2YgSWDcvECVmiGaBKWus1Df+N7eE4Q==} + dependencies: + '@turf/helpers': 6.5.0 + '@turf/invariant': 6.5.0 + dev: false + + /@turf/rhumb-distance@6.5.0: + resolution: {integrity: sha512-oKp8KFE8E4huC2Z1a1KNcFwjVOqa99isxNOwfo4g3SUABQ6NezjKDDrnvC4yI5YZ3/huDjULLBvhed45xdCrzg==} + dependencies: + '@turf/helpers': 6.5.0 + '@turf/invariant': 6.5.0 + dev: false + + /@turf/sample@6.5.0: + resolution: {integrity: sha512-kSdCwY7el15xQjnXYW520heKUrHwRvnzx8ka4eYxX9NFeOxaFITLW2G7UtXb6LJK8mmPXI8Aexv23F2ERqzGFg==} + dependencies: + '@turf/helpers': 6.5.0 + dev: false + + /@turf/sector@6.5.0: + resolution: {integrity: sha512-cYUOkgCTWqa23SOJBqxoFAc/yGCUsPRdn/ovbRTn1zNTm/Spmk6hVB84LCKOgHqvSF25i0d2kWqpZDzLDdAPbw==} + dependencies: + '@turf/circle': 6.5.0 + '@turf/helpers': 6.5.0 + '@turf/invariant': 6.5.0 + '@turf/line-arc': 6.5.0 + '@turf/meta': 6.5.0 + dev: false + + /@turf/shortest-path@6.5.0: + resolution: {integrity: sha512-4de5+G7+P4hgSoPwn+SO9QSi9HY5NEV/xRJ+cmoFVRwv2CDsuOPDheHKeuIAhKyeKDvPvPt04XYWbac4insJMg==} + dependencies: + '@turf/bbox': 6.5.0 + '@turf/bbox-polygon': 6.5.0 + '@turf/boolean-point-in-polygon': 6.5.0 + '@turf/clean-coords': 6.5.0 + '@turf/distance': 6.5.0 + '@turf/helpers': 6.5.0 + '@turf/invariant': 6.5.0 + '@turf/meta': 6.5.0 + '@turf/transform-scale': 6.5.0 + dev: false + + /@turf/simplify@6.5.0: + resolution: {integrity: sha512-USas3QqffPHUY184dwQdP8qsvcVH/PWBYdXY5am7YTBACaQOMAlf6AKJs9FT8jiO6fQpxfgxuEtwmox+pBtlOg==} + dependencies: + '@turf/clean-coords': 6.5.0 + '@turf/clone': 6.5.0 + '@turf/helpers': 6.5.0 + '@turf/meta': 6.5.0 + dev: false + + /@turf/square-grid@6.5.0: + resolution: {integrity: sha512-mlR0ayUdA+L4c9h7p4k3pX6gPWHNGuZkt2c5II1TJRmhLkW2557d6b/Vjfd1z9OVaajb1HinIs1FMSAPXuuUrA==} + dependencies: + '@turf/helpers': 6.5.0 + '@turf/rectangle-grid': 6.5.0 + dev: false + + /@turf/square@6.5.0: + resolution: {integrity: sha512-BM2UyWDmiuHCadVhHXKIx5CQQbNCpOxB6S/aCNOCLbhCeypKX5Q0Aosc5YcmCJgkwO5BERCC6Ee7NMbNB2vHmQ==} + dependencies: + '@turf/distance': 6.5.0 + '@turf/helpers': 6.5.0 + dev: false + + /@turf/standard-deviational-ellipse@6.5.0: + resolution: {integrity: sha512-02CAlz8POvGPFK2BKK8uHGUk/LXb0MK459JVjKxLC2yJYieOBTqEbjP0qaWhiBhGzIxSMaqe8WxZ0KvqdnstHA==} + dependencies: + '@turf/center-mean': 6.5.0 + '@turf/ellipse': 6.5.0 + '@turf/helpers': 6.5.0 + '@turf/invariant': 6.5.0 + '@turf/meta': 6.5.0 + '@turf/points-within-polygon': 6.5.0 + dev: false + + /@turf/tag@6.5.0: + resolution: {integrity: sha512-XwlBvrOV38CQsrNfrxvBaAPBQgXMljeU0DV8ExOyGM7/hvuGHJw3y8kKnQ4lmEQcmcrycjDQhP7JqoRv8vFssg==} + dependencies: + '@turf/boolean-point-in-polygon': 6.5.0 + '@turf/clone': 6.5.0 + '@turf/helpers': 6.5.0 + '@turf/meta': 6.5.0 + dev: false + + /@turf/tesselate@6.5.0: + resolution: {integrity: sha512-M1HXuyZFCfEIIKkglh/r5L9H3c5QTEsnMBoZOFQiRnGPGmJWcaBissGb7mTFX2+DKE7FNWXh4TDnZlaLABB0dQ==} + dependencies: + '@turf/helpers': 6.5.0 + earcut: 2.2.4 + dev: false + + /@turf/tin@6.5.0: + resolution: {integrity: sha512-YLYikRzKisfwj7+F+Tmyy/LE3d2H7D4kajajIfc9mlik2+esG7IolsX/+oUz1biguDYsG0DUA8kVYXDkobukfg==} + dependencies: + '@turf/helpers': 6.5.0 + dev: false + + /@turf/transform-rotate@6.5.0: + resolution: {integrity: sha512-A2Ip1v4246ZmpssxpcL0hhiVBEf4L8lGnSPWTgSv5bWBEoya2fa/0SnFX9xJgP40rMP+ZzRaCN37vLHbv1Guag==} + dependencies: + '@turf/centroid': 6.5.0 + '@turf/clone': 6.5.0 + '@turf/helpers': 6.5.0 + '@turf/invariant': 6.5.0 + '@turf/meta': 6.5.0 + '@turf/rhumb-bearing': 6.5.0 + '@turf/rhumb-destination': 6.5.0 + '@turf/rhumb-distance': 6.5.0 + dev: false + + /@turf/transform-scale@6.5.0: + resolution: {integrity: sha512-VsATGXC9rYM8qTjbQJ/P7BswKWXHdnSJ35JlV4OsZyHBMxJQHftvmZJsFbOqVtQnIQIzf2OAly6rfzVV9QLr7g==} + dependencies: + '@turf/bbox': 6.5.0 + '@turf/center': 6.5.0 + '@turf/centroid': 6.5.0 + '@turf/clone': 6.5.0 + '@turf/helpers': 6.5.0 + '@turf/invariant': 6.5.0 + '@turf/meta': 6.5.0 + '@turf/rhumb-bearing': 6.5.0 + '@turf/rhumb-destination': 6.5.0 + '@turf/rhumb-distance': 6.5.0 + dev: false + + /@turf/transform-translate@6.5.0: + resolution: {integrity: sha512-NABLw5VdtJt/9vSstChp93pc6oel4qXEos56RBMsPlYB8hzNTEKYtC146XJvyF4twJeeYS8RVe1u7KhoFwEM5w==} + dependencies: + '@turf/clone': 6.5.0 + '@turf/helpers': 6.5.0 + '@turf/invariant': 6.5.0 + '@turf/meta': 6.5.0 + '@turf/rhumb-destination': 6.5.0 + dev: false + + /@turf/triangle-grid@6.5.0: + resolution: {integrity: sha512-2jToUSAS1R1htq4TyLQYPTIsoy6wg3e3BQXjm2rANzw4wPQCXGOxrur1Fy9RtzwqwljlC7DF4tg0OnWr8RjmfA==} + dependencies: + '@turf/distance': 6.5.0 + '@turf/helpers': 6.5.0 + '@turf/intersect': 6.5.0 + dev: false + + /@turf/truncate@6.5.0: + resolution: {integrity: sha512-pFxg71pLk+eJj134Z9yUoRhIi8vqnnKvCYwdT4x/DQl/19RVdq1tV3yqOT3gcTQNfniteylL5qV1uTBDV5sgrg==} + dependencies: + '@turf/helpers': 6.5.0 + '@turf/meta': 6.5.0 + dev: false + + /@turf/turf@6.5.0: + resolution: {integrity: sha512-ipMCPnhu59bh92MNt8+pr1VZQhHVuTMHklciQURo54heoxRzt1neNYZOBR6jdL+hNsbDGAECMuIpAutX+a3Y+w==} + dependencies: + '@turf/along': 6.5.0 + '@turf/angle': 6.5.0 + '@turf/area': 6.5.0 + '@turf/bbox': 6.5.0 + '@turf/bbox-clip': 6.5.0 + '@turf/bbox-polygon': 6.5.0 + '@turf/bearing': 6.5.0 + '@turf/bezier-spline': 6.5.0 + '@turf/boolean-clockwise': 6.5.0 + '@turf/boolean-contains': 6.5.0 + '@turf/boolean-crosses': 6.5.0 + '@turf/boolean-disjoint': 6.5.0 + '@turf/boolean-equal': 6.5.0 + '@turf/boolean-intersects': 6.5.0 + '@turf/boolean-overlap': 6.5.0 + '@turf/boolean-parallel': 6.5.0 + '@turf/boolean-point-in-polygon': 6.5.0 + '@turf/boolean-point-on-line': 6.5.0 + '@turf/boolean-within': 6.5.0 + '@turf/buffer': 6.5.0 + '@turf/center': 6.5.0 + '@turf/center-mean': 6.5.0 + '@turf/center-median': 6.5.0 + '@turf/center-of-mass': 6.5.0 + '@turf/centroid': 6.5.0 + '@turf/circle': 6.5.0 + '@turf/clean-coords': 6.5.0 + '@turf/clone': 6.5.0 + '@turf/clusters': 6.5.0 + '@turf/clusters-dbscan': 6.5.0 + '@turf/clusters-kmeans': 6.5.0 + '@turf/collect': 6.5.0 + '@turf/combine': 6.5.0 + '@turf/concave': 6.5.0 + '@turf/convex': 6.5.0 + '@turf/destination': 6.5.0 + '@turf/difference': 6.5.0 + '@turf/dissolve': 6.5.0 + '@turf/distance': 6.5.0 + '@turf/distance-weight': 6.5.0 + '@turf/ellipse': 6.5.0 + '@turf/envelope': 6.5.0 + '@turf/explode': 6.5.0 + '@turf/flatten': 6.5.0 + '@turf/flip': 6.5.0 + '@turf/great-circle': 6.5.0 + '@turf/helpers': 6.5.0 + '@turf/hex-grid': 6.5.0 + '@turf/interpolate': 6.5.0 + '@turf/intersect': 6.5.0 + '@turf/invariant': 6.5.0 + '@turf/isobands': 6.5.0 + '@turf/isolines': 6.5.0 + '@turf/kinks': 6.5.0 + '@turf/length': 6.5.0 + '@turf/line-arc': 6.5.0 + '@turf/line-chunk': 6.5.0 + '@turf/line-intersect': 6.5.0 + '@turf/line-offset': 6.5.0 + '@turf/line-overlap': 6.5.0 + '@turf/line-segment': 6.5.0 + '@turf/line-slice': 6.5.0 + '@turf/line-slice-along': 6.5.0 + '@turf/line-split': 6.5.0 + '@turf/line-to-polygon': 6.5.0 + '@turf/mask': 6.5.0 + '@turf/meta': 6.5.0 + '@turf/midpoint': 6.5.0 + '@turf/moran-index': 6.5.0 + '@turf/nearest-point': 6.5.0 + '@turf/nearest-point-on-line': 6.5.0 + '@turf/nearest-point-to-line': 6.5.0 + '@turf/planepoint': 6.5.0 + '@turf/point-grid': 6.5.0 + '@turf/point-on-feature': 6.5.0 + '@turf/point-to-line-distance': 6.5.0 + '@turf/points-within-polygon': 6.5.0 + '@turf/polygon-smooth': 6.5.0 + '@turf/polygon-tangents': 6.5.0 + '@turf/polygon-to-line': 6.5.0 + '@turf/polygonize': 6.5.0 + '@turf/projection': 6.5.0 + '@turf/random': 6.5.0 + '@turf/rewind': 6.5.0 + '@turf/rhumb-bearing': 6.5.0 + '@turf/rhumb-destination': 6.5.0 + '@turf/rhumb-distance': 6.5.0 + '@turf/sample': 6.5.0 + '@turf/sector': 6.5.0 + '@turf/shortest-path': 6.5.0 + '@turf/simplify': 6.5.0 + '@turf/square': 6.5.0 + '@turf/square-grid': 6.5.0 + '@turf/standard-deviational-ellipse': 6.5.0 + '@turf/tag': 6.5.0 + '@turf/tesselate': 6.5.0 + '@turf/tin': 6.5.0 + '@turf/transform-rotate': 6.5.0 + '@turf/transform-scale': 6.5.0 + '@turf/transform-translate': 6.5.0 + '@turf/triangle-grid': 6.5.0 + '@turf/truncate': 6.5.0 + '@turf/union': 6.5.0 + '@turf/unkink-polygon': 6.5.0 + '@turf/voronoi': 6.5.0 + dev: false + + /@turf/union@6.5.0: + resolution: {integrity: sha512-igYWCwP/f0RFHIlC2c0SKDuM/ObBaqSljI3IdV/x71805QbIvY/BYGcJdyNcgEA6cylIGl/0VSlIbpJHZ9ldhw==} + dependencies: + '@turf/helpers': 6.5.0 + '@turf/invariant': 6.5.0 + polygon-clipping: 0.15.3 + dev: false + + /@turf/unkink-polygon@6.5.0: + resolution: {integrity: sha512-8QswkzC0UqKmN1DT6HpA9upfa1HdAA5n6bbuzHy8NJOX8oVizVAqfEPY0wqqTgboDjmBR4yyImsdPGUl3gZ8JQ==} + dependencies: + '@turf/area': 6.5.0 + '@turf/boolean-point-in-polygon': 6.5.0 + '@turf/helpers': 6.5.0 + '@turf/meta': 6.5.0 + rbush: 2.0.2 + dev: false + + /@turf/voronoi@6.5.0: + resolution: {integrity: sha512-C/xUsywYX+7h1UyNqnydHXiun4UPjK88VDghtoRypR9cLlb7qozkiLRphQxxsCM0KxyxpVPHBVQXdAL3+Yurow==} + dependencies: + '@turf/helpers': 6.5.0 + '@turf/invariant': 6.5.0 + d3-voronoi: 1.1.2 + dev: false + + /@types/body-parser@1.19.5: + resolution: {integrity: sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg==} + dependencies: + '@types/connect': 3.4.38 + '@types/node': 20.9.2 + dev: true + + /@types/bonjour@3.5.13: + resolution: {integrity: sha512-z9fJ5Im06zvUL548KvYNecEVlA7cVDkGUi6kZusb04mpyEFKCIZJvloCcmpmLaIahDpOQGHaHmG6imtPMmPXGQ==} + dependencies: + '@types/node': 20.9.2 + dev: true + + /@types/connect-history-api-fallback@1.5.3: + resolution: {integrity: sha512-6mfQ6iNvhSKCZJoY6sIG3m0pKkdUcweVNOLuBBKvoWGzl2yRxOJcYOTRyLKt3nxXvBLJWa6QkW//tgbIwJehmA==} + dependencies: + '@types/express-serve-static-core': 4.17.41 + '@types/node': 20.9.2 + dev: true + + /@types/connect@3.4.38: + resolution: {integrity: sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==} + dependencies: + '@types/node': 20.9.2 + dev: true + + /@types/d3-timer@2.0.3: + resolution: {integrity: sha512-jhAJzaanK5LqyLQ50jJNIrB8fjL9gwWZTgYjevPvkDLMU+kTAZkYsobI59nYoeSrH1PucuyJEi247Pb90t6XUg==} + dev: false + + /@types/eslint-scope@3.7.7: + resolution: {integrity: sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==} + dependencies: + '@types/eslint': 8.44.7 + '@types/estree': 0.0.51 + dev: true + + /@types/eslint@8.44.7: + resolution: {integrity: sha512-f5ORu2hcBbKei97U73mf+l9t4zTGl74IqZ0GQk4oVea/VS8tQZYkUveSYojk+frraAVYId0V2WC9O4PTNru2FQ==} + dependencies: + '@types/estree': 1.0.5 + '@types/json-schema': 7.0.15 + dev: true + + /@types/estree@0.0.51: + resolution: {integrity: sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ==} + dev: true + + /@types/estree@1.0.5: + resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==} + dev: true + + /@types/express-serve-static-core@4.17.41: + resolution: {integrity: sha512-OaJ7XLaelTgrvlZD8/aa0vvvxZdUmlCn6MtWeB7TkiKW70BQLc9XEPpDLPdbo52ZhXUCrznlWdCHWxJWtdyajA==} + dependencies: + '@types/node': 20.9.2 + '@types/qs': 6.9.10 + '@types/range-parser': 1.2.7 + '@types/send': 0.17.4 + dev: true + + /@types/express@4.17.21: + resolution: {integrity: sha512-ejlPM315qwLpaQlQDTjPdsUFSc6ZsP4AN6AlWnogPjQ7CVi7PYF3YVz+CY3jE2pwYf7E/7HlDAN0rV2GxTG0HQ==} + dependencies: + '@types/body-parser': 1.19.5 + '@types/express-serve-static-core': 4.17.41 + '@types/qs': 6.9.10 + '@types/serve-static': 1.15.5 + dev: true + + /@types/geojson@7946.0.8: + resolution: {integrity: sha512-1rkryxURpr6aWP7R786/UQOkJ3PcpQiWkAXBmdWc7ryFWqN6a4xfK7BtjXvFBKO9LjQ+MWQSWxYeZX1OApnArA==} + dev: false + + /@types/hoist-non-react-statics@3.3.5: + resolution: {integrity: sha512-SbcrWzkKBw2cdwRTwQAswfpB9g9LJWfjtUeW/jvNwbhC8cpmmNYVePa+ncbUe0rGTQ7G3Ff6mYUN2VMfLVr+Sg==} + dependencies: + '@types/react': 18.2.37 + hoist-non-react-statics: 3.3.2 + dev: false + + /@types/html-minifier-terser@6.1.0: + resolution: {integrity: sha512-oh/6byDPnL1zeNXFrDXFLyZjkr1MsBG667IM792caf1L2UPOOMf65NFzjUH/ltyfwjAGfs1rsX1eftK0jC/KIg==} + dev: true + + /@types/http-errors@2.0.4: + resolution: {integrity: sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA==} + dev: true + + /@types/http-proxy@1.17.14: + resolution: {integrity: sha512-SSrD0c1OQzlFX7pGu1eXxSEjemej64aaNPRhhVYUGqXh0BtldAAx37MG8btcumvpgKyZp1F5Gn3JkktdxiFv6w==} + dependencies: + '@types/node': 20.9.2 + dev: true + + /@types/json-schema@7.0.15: + resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} + dev: true + + /@types/keyv@3.1.4: + resolution: {integrity: sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==} + dependencies: + '@types/node': 20.9.2 + dev: true + + /@types/mime@1.3.5: + resolution: {integrity: sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==} + dev: true + + /@types/mime@3.0.4: + resolution: {integrity: sha512-iJt33IQnVRkqeqC7PzBHPTC6fDlRNRW8vjrgqtScAhrmMwe8c4Eo7+fUGTa+XdWrpEgpyKWMYmi2dIwMAYRzPw==} + dev: true + + /@types/node-forge@1.3.9: + resolution: {integrity: sha512-meK88cx/sTalPSLSoCzkiUB4VPIFHmxtXm5FaaqRDqBX2i/Sy8bJ4odsan0b20RBjPh06dAQ+OTTdnyQyhJZyQ==} + dependencies: + '@types/node': 20.9.2 + dev: true + + /@types/node@20.9.2: + resolution: {integrity: sha512-WHZXKFCEyIUJzAwh3NyyTHYSR35SevJ6mZ1nWwJafKtiQbqRTIKSRcw3Ma3acqgsent3RRDqeVwpHntMk+9irg==} + dependencies: + undici-types: 5.26.5 + dev: true + + /@types/parse-json@4.0.2: + resolution: {integrity: sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==} + dev: true + + /@types/prop-types@15.7.10: + resolution: {integrity: sha512-mxSnDQxPqsZxmeShFH+uwQ4kO4gcJcGahjjMFeLbKE95IAZiiZyiEepGZjtXJ7hN/yfu0bu9xN2ajcU0JcxX6A==} + dev: false + + /@types/qs@6.9.10: + resolution: {integrity: sha512-3Gnx08Ns1sEoCrWssEgTSJs/rsT2vhGP+Ja9cnnk9k4ALxinORlQneLXFeFKOTJMOeZUFD1s7w+w2AphTpvzZw==} + dev: true + + /@types/range-parser@1.2.7: + resolution: {integrity: sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==} + dev: true + + /@types/react-redux@7.1.30: + resolution: {integrity: sha512-i2kqM6YaUwFKduamV6QM/uHbb0eCP8f8ZQ/0yWf+BsAVVsZPRYJ9eeGWZ3uxLfWwwA0SrPRMTPTqsPFkY3HZdA==} + dependencies: + '@types/hoist-non-react-statics': 3.3.5 + '@types/react': 18.2.37 + hoist-non-react-statics: 3.3.2 + redux: 4.1.2 + dev: false + + /@types/react@18.2.37: + resolution: {integrity: sha512-RGAYMi2bhRgEXT3f4B92WTohopH6bIXw05FuGlmJEnv/omEn190+QYEIYxIAuIBdKgboYYdVved2p1AxZVQnaw==} + dependencies: + '@types/prop-types': 15.7.10 + '@types/scheduler': 0.16.6 + csstype: 3.1.2 + dev: false + + /@types/responselike@1.0.3: + resolution: {integrity: sha512-H/+L+UkTV33uf49PH5pCAUBVPNj2nDBXTN+qS1dOwyyg24l3CcicicCA7ca+HMvJBZcFgl5r8e+RR6elsb4Lyw==} + dependencies: + '@types/node': 20.9.2 + dev: true + + /@types/retry@0.12.0: + resolution: {integrity: sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==} + dev: true + + /@types/scheduler@0.16.6: + resolution: {integrity: sha512-Vlktnchmkylvc9SnwwwozTv04L/e1NykF5vgoQ0XTmI8DD+wxfjQuHuvHS3p0r2jz2x2ghPs2h1FVeDirIteWA==} + dev: false + + /@types/send@0.17.4: + resolution: {integrity: sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA==} + dependencies: + '@types/mime': 1.3.5 + '@types/node': 20.9.2 + dev: true + + /@types/serve-index@1.9.4: + resolution: {integrity: sha512-qLpGZ/c2fhSs5gnYsQxtDEq3Oy8SXPClIXkW5ghvAvsNuVSA8k+gCONcUCS/UjLEYvYps+e8uBtfgXgvhwfNug==} + dependencies: + '@types/express': 4.17.21 + dev: true + + /@types/serve-static@1.15.5: + resolution: {integrity: sha512-PDRk21MnK70hja/YF8AHfC7yIsiQHn1rcXx7ijCFBX/k+XQJhQT/gw3xekXKJvx+5SXaMMS8oqQy09Mzvz2TuQ==} + dependencies: + '@types/http-errors': 2.0.4 + '@types/mime': 3.0.4 + '@types/node': 20.9.2 + dev: true + + /@types/sockjs@0.3.36: + resolution: {integrity: sha512-MK9V6NzAS1+Ud7JV9lJLFqW85VbC9dq3LmwZCuBe4wBDgKC0Kj/jd8Xl+nSviU+Qc3+m7umHHyHg//2KSa0a0Q==} + dependencies: + '@types/node': 20.9.2 + dev: true + + /@types/ws@8.5.9: + resolution: {integrity: sha512-jbdrY0a8lxfdTp/+r7Z4CkycbOFN8WX+IOchLJr3juT/xzbJ8URyTVSJ/hvNdadTgM1mnedb47n+Y31GsFnQlg==} + dependencies: + '@types/node': 20.9.2 + dev: true + + /@webassemblyjs/ast@1.11.1: + resolution: {integrity: sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw==} + dependencies: + '@webassemblyjs/helper-numbers': 1.11.1 + '@webassemblyjs/helper-wasm-bytecode': 1.11.1 + dev: true + + /@webassemblyjs/ast@1.11.6: + resolution: {integrity: sha512-IN1xI7PwOvLPgjcf180gC1bqn3q/QaOCwYUahIOhbYUu8KA/3tw2RT/T0Gidi1l7Hhj5D/INhJxiICObqpMu4Q==} + dependencies: + '@webassemblyjs/helper-numbers': 1.11.6 + '@webassemblyjs/helper-wasm-bytecode': 1.11.6 + dev: true + + /@webassemblyjs/floating-point-hex-parser@1.11.1: + resolution: {integrity: sha512-iGRfyc5Bq+NnNuX8b5hwBrRjzf0ocrJPI6GWFodBFzmFnyvrQ83SHKhmilCU/8Jv67i4GJZBMhEzltxzcNagtQ==} + dev: true + + /@webassemblyjs/floating-point-hex-parser@1.11.6: + resolution: {integrity: sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==} + dev: true + + /@webassemblyjs/helper-api-error@1.11.1: + resolution: {integrity: sha512-RlhS8CBCXfRUR/cwo2ho9bkheSXG0+NwooXcc3PAILALf2QLdFyj7KGsKRbVc95hZnhnERon4kW/D3SZpp6Tcg==} + dev: true + + /@webassemblyjs/helper-api-error@1.11.6: + resolution: {integrity: sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==} + dev: true + + /@webassemblyjs/helper-buffer@1.11.1: + resolution: {integrity: sha512-gwikF65aDNeeXa8JxXa2BAk+REjSyhrNC9ZwdT0f8jc4dQQeDQ7G4m0f2QCLPJiMTTO6wfDmRmj/pW0PsUvIcA==} + dev: true + + /@webassemblyjs/helper-buffer@1.11.6: + resolution: {integrity: sha512-z3nFzdcp1mb8nEOFFk8DrYLpHvhKC3grJD2ardfKOzmbmJvEf/tPIqCY+sNcwZIY8ZD7IkB2l7/pqhUhqm7hLA==} + dev: true + + /@webassemblyjs/helper-numbers@1.11.1: + resolution: {integrity: sha512-vDkbxiB8zfnPdNK9Rajcey5C0w+QJugEglN0of+kmO8l7lDb77AnlKYQF7aarZuCrv+l0UvqL+68gSDr3k9LPQ==} + dependencies: + '@webassemblyjs/floating-point-hex-parser': 1.11.1 + '@webassemblyjs/helper-api-error': 1.11.1 + '@xtuc/long': 4.2.2 + dev: true + + /@webassemblyjs/helper-numbers@1.11.6: + resolution: {integrity: sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==} + dependencies: + '@webassemblyjs/floating-point-hex-parser': 1.11.6 + '@webassemblyjs/helper-api-error': 1.11.6 + '@xtuc/long': 4.2.2 + dev: true + + /@webassemblyjs/helper-wasm-bytecode@1.11.1: + resolution: {integrity: sha512-PvpoOGiJwXeTrSf/qfudJhwlvDQxFgelbMqtq52WWiXC6Xgg1IREdngmPN3bs4RoO83PnL/nFrxucXj1+BX62Q==} + dev: true + + /@webassemblyjs/helper-wasm-bytecode@1.11.6: + resolution: {integrity: sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==} + dev: true + + /@webassemblyjs/helper-wasm-section@1.11.1: + resolution: {integrity: sha512-10P9No29rYX1j7F3EVPX3JvGPQPae+AomuSTPiF9eBQeChHI6iqjMIwR9JmOJXwpnn/oVGDk7I5IlskuMwU/pg==} + dependencies: + '@webassemblyjs/ast': 1.11.1 + '@webassemblyjs/helper-buffer': 1.11.1 + '@webassemblyjs/helper-wasm-bytecode': 1.11.1 + '@webassemblyjs/wasm-gen': 1.11.1 + dev: true + + /@webassemblyjs/helper-wasm-section@1.11.6: + resolution: {integrity: sha512-LPpZbSOwTpEC2cgn4hTydySy1Ke+XEu+ETXuoyvuyezHO3Kjdu90KK95Sh9xTbmjrCsUwvWwCOQQNta37VrS9g==} + dependencies: + '@webassemblyjs/ast': 1.11.6 + '@webassemblyjs/helper-buffer': 1.11.6 + '@webassemblyjs/helper-wasm-bytecode': 1.11.6 + '@webassemblyjs/wasm-gen': 1.11.6 + dev: true + + /@webassemblyjs/ieee754@1.11.1: + resolution: {integrity: sha512-hJ87QIPtAMKbFq6CGTkZYJivEwZDbQUgYd3qKSadTNOhVY7p+gfP6Sr0lLRVTaG1JjFj+r3YchoqRYxNH3M0GQ==} + dependencies: + '@xtuc/ieee754': 1.2.0 + dev: true + + /@webassemblyjs/ieee754@1.11.6: + resolution: {integrity: sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==} + dependencies: + '@xtuc/ieee754': 1.2.0 + dev: true + + /@webassemblyjs/leb128@1.11.1: + resolution: {integrity: sha512-BJ2P0hNZ0u+Th1YZXJpzW6miwqQUGcIHT1G/sf72gLVD9DZ5AdYTqPNbHZh6K1M5VmKvFXwGSWZADz+qBWxeRw==} + dependencies: + '@xtuc/long': 4.2.2 + dev: true + + /@webassemblyjs/leb128@1.11.6: + resolution: {integrity: sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==} + dependencies: + '@xtuc/long': 4.2.2 + dev: true + + /@webassemblyjs/utf8@1.11.1: + resolution: {integrity: sha512-9kqcxAEdMhiwQkHpkNiorZzqpGrodQQ2IGrHHxCy+Ozng0ofyMA0lTqiLkVs1uzTRejX+/O0EOT7KxqVPuXosQ==} + dev: true + + /@webassemblyjs/utf8@1.11.6: + resolution: {integrity: sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==} + dev: true + + /@webassemblyjs/wasm-edit@1.11.1: + resolution: {integrity: sha512-g+RsupUC1aTHfR8CDgnsVRVZFJqdkFHpsHMfJuWQzWU3tvnLC07UqHICfP+4XyL2tnr1amvl1Sdp06TnYCmVkA==} + dependencies: + '@webassemblyjs/ast': 1.11.1 + '@webassemblyjs/helper-buffer': 1.11.1 + '@webassemblyjs/helper-wasm-bytecode': 1.11.1 + '@webassemblyjs/helper-wasm-section': 1.11.1 + '@webassemblyjs/wasm-gen': 1.11.1 + '@webassemblyjs/wasm-opt': 1.11.1 + '@webassemblyjs/wasm-parser': 1.11.1 + '@webassemblyjs/wast-printer': 1.11.1 + dev: true + + /@webassemblyjs/wasm-edit@1.11.6: + resolution: {integrity: sha512-Ybn2I6fnfIGuCR+Faaz7YcvtBKxvoLV3Lebn1tM4o/IAJzmi9AWYIPWpyBfU8cC+JxAO57bk4+zdsTjJR+VTOw==} + dependencies: + '@webassemblyjs/ast': 1.11.6 + '@webassemblyjs/helper-buffer': 1.11.6 + '@webassemblyjs/helper-wasm-bytecode': 1.11.6 + '@webassemblyjs/helper-wasm-section': 1.11.6 + '@webassemblyjs/wasm-gen': 1.11.6 + '@webassemblyjs/wasm-opt': 1.11.6 + '@webassemblyjs/wasm-parser': 1.11.6 + '@webassemblyjs/wast-printer': 1.11.6 + dev: true + + /@webassemblyjs/wasm-gen@1.11.1: + resolution: {integrity: sha512-F7QqKXwwNlMmsulj6+O7r4mmtAlCWfO/0HdgOxSklZfQcDu0TpLiD1mRt/zF25Bk59FIjEuGAIyn5ei4yMfLhA==} + dependencies: + '@webassemblyjs/ast': 1.11.1 + '@webassemblyjs/helper-wasm-bytecode': 1.11.1 + '@webassemblyjs/ieee754': 1.11.1 + '@webassemblyjs/leb128': 1.11.1 + '@webassemblyjs/utf8': 1.11.1 + dev: true + + /@webassemblyjs/wasm-gen@1.11.6: + resolution: {integrity: sha512-3XOqkZP/y6B4F0PBAXvI1/bky7GryoogUtfwExeP/v7Nzwo1QLcq5oQmpKlftZLbT+ERUOAZVQjuNVak6UXjPA==} + dependencies: + '@webassemblyjs/ast': 1.11.6 + '@webassemblyjs/helper-wasm-bytecode': 1.11.6 + '@webassemblyjs/ieee754': 1.11.6 + '@webassemblyjs/leb128': 1.11.6 + '@webassemblyjs/utf8': 1.11.6 + dev: true + + /@webassemblyjs/wasm-opt@1.11.1: + resolution: {integrity: sha512-VqnkNqnZlU5EB64pp1l7hdm3hmQw7Vgqa0KF/KCNO9sIpI6Fk6brDEiX+iCOYrvMuBWDws0NkTOxYEb85XQHHw==} + dependencies: + '@webassemblyjs/ast': 1.11.1 + '@webassemblyjs/helper-buffer': 1.11.1 + '@webassemblyjs/wasm-gen': 1.11.1 + '@webassemblyjs/wasm-parser': 1.11.1 + dev: true + + /@webassemblyjs/wasm-opt@1.11.6: + resolution: {integrity: sha512-cOrKuLRE7PCe6AsOVl7WasYf3wbSo4CeOk6PkrjS7g57MFfVUF9u6ysQBBODX0LdgSvQqRiGz3CXvIDKcPNy4g==} + dependencies: + '@webassemblyjs/ast': 1.11.6 + '@webassemblyjs/helper-buffer': 1.11.6 + '@webassemblyjs/wasm-gen': 1.11.6 + '@webassemblyjs/wasm-parser': 1.11.6 + dev: true + + /@webassemblyjs/wasm-parser@1.11.1: + resolution: {integrity: sha512-rrBujw+dJu32gYB7/Lup6UhdkPx9S9SnobZzRVL7VcBH9Bt9bCBLEuX/YXOOtBsOZ4NQrRykKhffRWHvigQvOA==} + dependencies: + '@webassemblyjs/ast': 1.11.1 + '@webassemblyjs/helper-api-error': 1.11.1 + '@webassemblyjs/helper-wasm-bytecode': 1.11.1 + '@webassemblyjs/ieee754': 1.11.1 + '@webassemblyjs/leb128': 1.11.1 + '@webassemblyjs/utf8': 1.11.1 + dev: true + + /@webassemblyjs/wasm-parser@1.11.6: + resolution: {integrity: sha512-6ZwPeGzMJM3Dqp3hCsLgESxBGtT/OeCvCZ4TA1JUPYgmhAx38tTPR9JaKy0S5H3evQpO/h2uWs2j6Yc/fjkpTQ==} + dependencies: + '@webassemblyjs/ast': 1.11.6 + '@webassemblyjs/helper-api-error': 1.11.6 + '@webassemblyjs/helper-wasm-bytecode': 1.11.6 + '@webassemblyjs/ieee754': 1.11.6 + '@webassemblyjs/leb128': 1.11.6 + '@webassemblyjs/utf8': 1.11.6 + dev: true + + /@webassemblyjs/wast-printer@1.11.1: + resolution: {integrity: sha512-IQboUWM4eKzWW+N/jij2sRatKMh99QEelo3Eb2q0qXkvPRISAj8Qxtmw5itwqK+TTkBuUIE45AxYPToqPtL5gg==} + dependencies: + '@webassemblyjs/ast': 1.11.1 + '@xtuc/long': 4.2.2 + dev: true + + /@webassemblyjs/wast-printer@1.11.6: + resolution: {integrity: sha512-JM7AhRcE+yW2GWYaKeHL5vt4xqee5N2WcezptmgyhNS+ScggqcT1OtXykhAb13Sn5Yas0j2uv9tHgrjwvzAP4A==} + dependencies: + '@webassemblyjs/ast': 1.11.6 + '@xtuc/long': 4.2.2 + dev: true + + /@webpack-cli/configtest@2.1.1(webpack-cli@5.1.4)(webpack@5.89.0): + resolution: {integrity: sha512-wy0mglZpDSiSS0XHrVR+BAdId2+yxPSoJW8fsna3ZpYSlufjvxnP4YbKTCBZnNIcGN4r6ZPXV55X4mYExOfLmw==} + engines: {node: '>=14.15.0'} + peerDependencies: + webpack: 5.x.x + webpack-cli: 5.x.x + dependencies: + webpack: 5.89.0(@swc/core@1.3.14)(webpack-cli@5.1.4) + webpack-cli: 5.1.4(webpack@5.89.0) + dev: true + + /@webpack-cli/info@2.0.2(webpack-cli@5.1.4)(webpack@5.89.0): + resolution: {integrity: sha512-zLHQdI/Qs1UyT5UBdWNqsARasIA+AaF8t+4u2aS2nEpBQh2mWIVb8qAklq0eUENnC5mOItrIB4LiS9xMtph18A==} + engines: {node: '>=14.15.0'} + peerDependencies: + webpack: 5.x.x + webpack-cli: 5.x.x + dependencies: + webpack: 5.89.0(@swc/core@1.3.14)(webpack-cli@5.1.4) + webpack-cli: 5.1.4(webpack@5.89.0) + dev: true + + /@webpack-cli/serve@2.0.5(webpack-cli@5.1.4)(webpack@5.89.0): + resolution: {integrity: sha512-lqaoKnRYBdo1UgDX8uF24AfGMifWK19TxPmM5FHc2vAGxrJ/qtyUyFBWoY1tISZdelsQ5fBcOusifo5o5wSJxQ==} + engines: {node: '>=14.15.0'} + peerDependencies: + webpack: 5.x.x + webpack-cli: 5.x.x + webpack-dev-server: '*' + peerDependenciesMeta: + webpack-dev-server: + optional: true + dependencies: + webpack: 5.89.0(@swc/core@1.3.14)(webpack-cli@5.1.4) + webpack-cli: 5.1.4(webpack@5.89.0) + dev: true + + /@xtuc/ieee754@1.2.0: + resolution: {integrity: sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==} + dev: true + + /@xtuc/long@4.2.2: + resolution: {integrity: sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==} + dev: true + + /@zeit/schemas@2.21.0: + resolution: {integrity: sha512-/J4WBTpWtQ4itN1rb3ao8LfClmVcmz2pO6oYb7Qd4h7VSqUhIbJIvrykz9Ew1WMg6eFWsKdsMHc5uPbFxqlCpg==} + dev: true + + /abs-svg-path@0.1.1: + resolution: {integrity: sha512-d8XPSGjfyzlXC3Xx891DJRyZfqk5JU0BJrDQcsWomFIV1/BIzPW5HDH5iDdWpqWaav0YVIEzT1RHTwWr0FFshA==} + dev: false + + /accepts@1.3.8: + resolution: {integrity: sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==} + engines: {node: '>= 0.6'} + dependencies: + mime-types: 2.1.35 + negotiator: 0.6.3 + dev: true + + /acorn-import-assertions@1.9.0(acorn@8.11.2): + resolution: {integrity: sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==} + peerDependencies: + acorn: ^8 + dependencies: + acorn: 8.11.2 + dev: true + + /acorn-walk@8.3.0: + resolution: {integrity: sha512-FS7hV565M5l1R08MXqo8odwMTB02C2UqzB17RVgu9EyuYFBqJZ3/ZY97sQD5FewVu1UyDFc1yztUDrAwT0EypA==} + engines: {node: '>=0.4.0'} + dev: true + + /acorn@8.11.2: + resolution: {integrity: sha512-nc0Axzp/0FILLEVsm4fNwLCwMttvhEI263QtVPQcbpfZZ3ts0hLsZGOpE6czNlid7CJ9MlyH8reXkpsf3YUY4w==} + engines: {node: '>=0.4.0'} + hasBin: true + dev: true + + /aggregate-error@3.1.0: + resolution: {integrity: sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==} + engines: {node: '>=8'} + dependencies: + clean-stack: 2.2.0 + indent-string: 4.0.0 + dev: true + + /ajv-formats@2.1.1(ajv@8.12.0): + resolution: {integrity: sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==} + peerDependencies: + ajv: ^8.0.0 + peerDependenciesMeta: + ajv: + optional: true + dependencies: + ajv: 8.12.0 + dev: true + + /ajv-keywords@3.5.2(ajv@6.12.6): + resolution: {integrity: sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==} + peerDependencies: + ajv: ^6.9.1 + dependencies: + ajv: 6.12.6 + dev: true + + /ajv-keywords@5.1.0(ajv@8.12.0): + resolution: {integrity: sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==} + peerDependencies: + ajv: ^8.8.2 + dependencies: + ajv: 8.12.0 + fast-deep-equal: 3.1.3 + dev: true + + /ajv@6.12.6: + resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} + 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 + dev: true + + /ajv@8.11.0: + resolution: {integrity: sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==} + dependencies: + fast-deep-equal: 3.1.3 + json-schema-traverse: 1.0.0 + require-from-string: 2.0.2 + uri-js: 4.4.1 + dev: true + + /ajv@8.12.0: + resolution: {integrity: sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==} + dependencies: + fast-deep-equal: 3.1.3 + json-schema-traverse: 1.0.0 + require-from-string: 2.0.2 + uri-js: 4.4.1 + dev: true + + /align-text@0.1.4: + resolution: {integrity: sha512-GrTZLRpmp6wIC2ztrWW9MjjTgSKccffgFagbNDOX95/dcjEcYZibYTeaOntySQLcdw1ztBoFkviiUvTMbb9MYg==} + engines: {node: '>=0.10.0'} + dependencies: + kind-of: 3.2.2 + longest: 1.0.1 + repeat-string: 1.6.1 + dev: false + + /amdefine@1.0.1: + resolution: {integrity: sha512-S2Hw0TtNkMJhIabBwIojKL9YHO5T0n5eNqWJ7Lrlel/zDbftQpxpapi8tZs3X1HWa+u+QeydGmzzNU0m09+Rcg==} + engines: {node: '>=0.4.2'} + dev: false + + /ansi-align@3.0.1: + resolution: {integrity: sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==} + dependencies: + string-width: 4.2.3 + dev: true + + /ansi-escapes@4.3.2: + resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==} + engines: {node: '>=8'} + dependencies: + type-fest: 0.21.3 + dev: true + + /ansi-html-community@0.0.8: + resolution: {integrity: sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==} + engines: {'0': node >= 0.8.0} + hasBin: true + dev: true + + /ansi-regex@2.1.1: + resolution: {integrity: sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==} + engines: {node: '>=0.10.0'} + dev: false + + /ansi-regex@5.0.1: + resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} + engines: {node: '>=8'} + dev: true + + /ansi-regex@6.0.1: + resolution: {integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==} + engines: {node: '>=12'} + dev: true + + /ansi-styles@2.2.1: + resolution: {integrity: sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA==} + engines: {node: '>=0.10.0'} + dev: false + + /ansi-styles@3.2.1: + resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} + engines: {node: '>=4'} + dependencies: + color-convert: 1.9.3 + + /ansi-styles@4.3.0: + resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} + engines: {node: '>=8'} + dependencies: + color-convert: 2.0.1 + dev: true + + /ansi-styles@6.2.1: + resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} + engines: {node: '>=12'} + dev: true + + /anymatch@3.1.3: + resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} + engines: {node: '>= 8'} + dependencies: + normalize-path: 3.0.0 + picomatch: 2.3.1 + dev: true + + /arch@2.2.0: + resolution: {integrity: sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ==} + dev: true + + /arco-design-pro@2.3.0: + resolution: {integrity: sha512-YR9vQRBhahosg6AR+D0N99R4thuDCfguvnzMXMrEIQzmAte8XfX1FUSebIBDXavohObZOU/KLNWupBrBTIxZFQ==} + dependencies: + fs-extra: 10.1.0 + minimist: 1.2.8 + dev: false + + /arg@5.0.2: + resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==} + dev: true + + /array-buffer-byte-length@1.0.0: + resolution: {integrity: sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==} + dependencies: + call-bind: 1.0.5 + is-array-buffer: 3.0.2 + dev: false + + /array-flatten@1.1.1: + resolution: {integrity: sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==} + dev: true + + /array-flatten@2.1.2: + resolution: {integrity: sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==} + dev: true + + /arraybuffer.prototype.slice@1.0.2: + resolution: {integrity: sha512-yMBKppFur/fbHu9/6USUe03bZ4knMYiwFBcyiaXB8Go0qNehwX6inYPzK9U0NeQvGxKthcmHcaR8P5MStSRBAw==} + engines: {node: '>= 0.4'} + dependencies: + array-buffer-byte-length: 1.0.0 + call-bind: 1.0.5 + define-properties: 1.2.1 + es-abstract: 1.22.3 + get-intrinsic: 1.2.2 + is-array-buffer: 3.0.2 + is-shared-array-buffer: 1.0.2 + dev: false + + /astral-regex@2.0.0: + resolution: {integrity: sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==} + engines: {node: '>=8'} + dev: true + + /available-typed-arrays@1.0.5: + resolution: {integrity: sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==} + engines: {node: '>= 0.4'} + dev: false + + /axios@0.24.0: + resolution: {integrity: sha512-Q6cWsys88HoPgAaFAVUb0WpPk0O8iTeisR9IMqy9G8AbO4NlpVknrnQS03zzF9PGAWgO3cgletO3VjV/P7VztA==} + dependencies: + follow-redirects: 1.15.3 + transitivePeerDependencies: + - debug + dev: false + + /b-tween@0.3.3: + resolution: {integrity: sha512-oEHegcRpA7fAuc9KC4nktucuZn2aS8htymCPcP3qkEGPqiBH+GfqtqoG2l7LxHngg6O0HFM7hOeOYExl1Oz4ZA==} + dev: false + + /b-validate@1.5.3: + resolution: {integrity: sha512-iCvCkGFskbaYtfQ0a3GmcQCHl/Sv1GufXFGuUQ+FE+WJa7A/espLOuFIn09B944V8/ImPj71T4+rTASxO2PAuA==} + dev: false + + /babel-plugin-polyfill-corejs2@0.4.6(@babel/core@7.23.3): + resolution: {integrity: sha512-jhHiWVZIlnPbEUKSSNb9YoWcQGdlTLq7z1GHL4AjFxaoOUMuuEVJ+Y4pAaQUGOGk93YsVCKPbqbfw3m0SM6H8Q==} + peerDependencies: + '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 + dependencies: + '@babel/compat-data': 7.23.3 + '@babel/core': 7.23.3 + '@babel/helper-define-polyfill-provider': 0.4.3(@babel/core@7.23.3) + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + + /babel-plugin-polyfill-corejs3@0.8.6(@babel/core@7.23.3): + resolution: {integrity: sha512-leDIc4l4tUgU7str5BWLS2h8q2N4Nf6lGZP6UrNDxdtfF2g69eJ5L0H7S8A5Ln/arfFAfHor5InAdZuIOwZdgQ==} + peerDependencies: + '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-define-polyfill-provider': 0.4.3(@babel/core@7.23.3) + core-js-compat: 3.33.3 + transitivePeerDependencies: + - supports-color + + /babel-plugin-polyfill-regenerator@0.5.3(@babel/core@7.23.3): + resolution: {integrity: sha512-8sHeDOmXC8csczMrYEOf0UTNa4yE2SxV5JGeT/LP1n0OYVDUUFPxG9vdk2AlDlIit4t+Kf0xCtpgXPBwnn/9pw==} + peerDependencies: + '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-define-polyfill-provider': 0.4.3(@babel/core@7.23.3) + transitivePeerDependencies: + - supports-color + + /babel-plugin-transform-replace-object-assign@2.0.0(@babel/core@7.23.3): + resolution: {integrity: sha512-PMT+dRz6JAHbXIsJB4XjcIstmKK9SFj9MYZGcEWW/1jISiemGz9w6TVLrj4hgpR89X0J9mFuHq61zPvP8lgZZQ==} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-module-imports': 7.22.15 + dev: false + + /balanced-match@1.0.2: + resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} + + /batch@0.6.1: + resolution: {integrity: sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==} + dev: true + + /big.js@5.2.2: + resolution: {integrity: sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==} + dev: true + + /binary-extensions@2.2.0: + resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==} + engines: {node: '>=8'} + dev: true + + /bizcharts@4.1.15(@antv/g@5.18.21)(@babel/core@7.23.3)(react@17.0.2): + resolution: {integrity: sha512-Tx7gQhtZCxi9k5uOmtp5z36Otw5qaKtpn4rB07ZMtZA82qidCb9aRYLfD6ceQjrrBBaFQt9MSiSP6AjH/Dic8g==} + dependencies: + '@antv/component': 1.0.0-beta.2(@antv/g@5.18.21) + '@antv/g2': 4.1.32 + '@antv/g2plot': 2.3.39 + '@antv/util': 3.3.5 + '@babel/plugin-transform-modules-commonjs': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-transform-runtime': 7.23.3(@babel/core@7.23.3) + '@juggle/resize-observer': 3.4.0 + babel-plugin-transform-replace-object-assign: 2.0.0(@babel/core@7.23.3) + d3-color: 1.4.1 + react-error-boundary: 3.0.2(react@17.0.2) + react-reconciler: 0.25.1(react@17.0.2) + simple-statistics: 7.8.3 + warning: 4.0.3 + transitivePeerDependencies: + - '@antv/g' + - '@babel/core' + - react + - supports-color + dev: false + + /body-parser@1.20.0: + resolution: {integrity: sha512-DfJ+q6EPcGKZD1QWUjSpqp+Q7bDQTsQIF4zfUAtZ6qk+H/3/QRhg9CEp39ss+/T2vw0+HaidC0ecJj/DRLIaKg==} + engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} + 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.10.3 + raw-body: 2.5.1 + type-is: 1.6.18 + unpipe: 1.0.0 + transitivePeerDependencies: + - supports-color + dev: true + + /bonjour-service@1.1.1: + resolution: {integrity: sha512-Z/5lQRMOG9k7W+FkeGTNjh7htqn/2LMnfOvBZ8pynNZCM9MwkQkI3zeI4oz09uWdcgmgHugVvBqxGg4VQJ5PCg==} + dependencies: + array-flatten: 2.1.2 + dns-equal: 1.0.0 + fast-deep-equal: 3.1.3 + multicast-dns: 7.2.5 + dev: true + + /boolbase@1.0.0: + resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==} + dev: true + + /boxen@5.1.2: + resolution: {integrity: sha512-9gYgQKXx+1nP8mP7CzFyaUARhg7D3n1dF/FnErWmu9l6JvGpNUN278h0aSb+QjoiKSWG+iZ3uHrcqk0qrY9RQQ==} + engines: {node: '>=10'} + dependencies: + ansi-align: 3.0.1 + camelcase: 6.3.0 + chalk: 4.1.2 + cli-boxes: 2.2.1 + string-width: 4.2.3 + type-fest: 0.20.2 + widest-line: 3.1.0 + wrap-ansi: 7.0.0 + dev: true + + /boxen@7.0.0: + resolution: {integrity: sha512-j//dBVuyacJbvW+tvZ9HuH03fZ46QcaKvvhZickZqtB271DxJ7SNRSNxrV/dZX0085m7hISRZWbzWlJvx/rHSg==} + engines: {node: '>=14.16'} + dependencies: + ansi-align: 3.0.1 + camelcase: 7.0.1 + chalk: 5.0.1 + cli-boxes: 3.0.0 + string-width: 5.1.2 + type-fest: 2.19.0 + widest-line: 4.0.1 + wrap-ansi: 8.1.0 + dev: true + + /brace-expansion@1.1.11: + resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} + dependencies: + balanced-match: 1.0.2 + concat-map: 0.0.1 + + /braces@3.0.2: + resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} + engines: {node: '>=8'} + dependencies: + fill-range: 7.0.1 + dev: true + + /browserslist@4.22.1: + resolution: {integrity: sha512-FEVc202+2iuClEhZhrWy6ZiAcRLvNMyYcxZ8raemul1DYVOVdFsbqckWLdsixQZCpJlwe77Z3UTalE7jsjnKfQ==} + engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} + hasBin: true + dependencies: + caniuse-lite: 1.0.30001563 + electron-to-chromium: 1.4.588 + node-releases: 2.0.13 + update-browserslist-db: 1.0.13(browserslist@4.22.1) + + /buffer-from@1.1.2: + resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} + dev: true + + /bundle-stats@4.1.2: + resolution: {integrity: sha512-XxdnMG0pkZFAEjZGLSMGe/U4pJ2ZZ393d7KYO5htD4IkTr66tcFFyCyRbMUMfyd1Is6EG/TcwEseDZNt/QyKag==} + engines: {node: '>= 14.0'} + hasBin: true + dependencies: + '@bundle-stats/cli-utils': 4.8.1(core-js@3.33.3) + '@bundle-stats/plugin-webpack-filter': 4.8.1(core-js@3.33.3) + '@bundle-stats/plugin-webpack-validate': 4.8.1 + '@bundle-stats/utils': 4.8.1(core-js@3.33.3)(lodash@4.17.21) + boxen: 5.1.2 + core-js: 3.33.3 + fs-extra: 10.1.0 + listr2: 5.0.8 + lodash: 4.17.21 + update-notifier: 5.1.0 + yargs: 17.6.2 + transitivePeerDependencies: + - enquirer + dev: true + + /bytes@3.0.0: + resolution: {integrity: sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==} + engines: {node: '>= 0.8'} + dev: true + + /bytes@3.1.2: + resolution: {integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==} + engines: {node: '>= 0.8'} + dev: true + + /cacheable-request@6.1.0: + resolution: {integrity: sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg==} + engines: {node: '>=8'} + dependencies: + clone-response: 1.0.3 + get-stream: 5.2.0 + http-cache-semantics: 4.1.1 + keyv: 3.1.0 + lowercase-keys: 2.0.0 + normalize-url: 4.5.1 + responselike: 1.0.2 + dev: true + + /call-bind@1.0.5: + resolution: {integrity: sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ==} + dependencies: + function-bind: 1.1.2 + get-intrinsic: 1.2.2 + set-function-length: 1.1.1 + + /callsites@3.1.0: + resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} + engines: {node: '>=6'} + dev: true + + /camel-case@4.1.2: + resolution: {integrity: sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==} + dependencies: + pascal-case: 3.1.2 + tslib: 2.6.2 + dev: true + + /camelcase@1.2.1: + resolution: {integrity: sha512-wzLkDa4K/mzI1OSITC+DUyjgIl/ETNHE9QvYgy6J6Jvqyyz4C0Xfd+lQhb19sX2jMpZV4IssUn0VDVmglV+s4g==} + engines: {node: '>=0.10.0'} + dev: false + + /camelcase@6.3.0: + resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==} + engines: {node: '>=10'} + dev: true + + /camelcase@7.0.1: + resolution: {integrity: sha512-xlx1yCK2Oc1APsPXDL2LdlNP6+uu8OCDdhOBSVT279M/S+y75O30C2VuD8T2ogdePBBl7PfPF4504tnLgX3zfw==} + engines: {node: '>=14.16'} + dev: true + + /caniuse-lite@1.0.30001563: + resolution: {integrity: sha512-na2WUmOxnwIZtwnFI2CZ/3er0wdNzU7hN+cPYz/z2ajHThnkWjNBOpEPP4n+4r2WPM847JaMotaJE3bnfzjyKw==} + + /center-align@0.1.3: + resolution: {integrity: sha512-Baz3aNe2gd2LP2qk5U+sDk/m4oSuwSDcBfayTCTBoWpfIGO5XFxPmjILQII4NGiZjD6DoDI6kf7gKaxkf7s3VQ==} + engines: {node: '>=0.10.0'} + dependencies: + align-text: 0.1.4 + lazy-cache: 1.0.4 + dev: false + + /chalk-template@0.4.0: + resolution: {integrity: sha512-/ghrgmhfY8RaSdeo43hNXxpoHAtxdbskUHjPpfqUWGttFgycUhYPGx3YZBCnUCvOa7Doivn1IZec3DEGFoMgLg==} + engines: {node: '>=12'} + dependencies: + chalk: 4.1.2 + dev: true + + /chalk@1.1.3: + resolution: {integrity: sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==} + engines: {node: '>=0.10.0'} + 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 + dev: false + + /chalk@2.4.2: + resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} + engines: {node: '>=4'} + dependencies: + ansi-styles: 3.2.1 + escape-string-regexp: 1.0.5 + supports-color: 5.5.0 + + /chalk@4.1.2: + resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} + engines: {node: '>=10'} + dependencies: + ansi-styles: 4.3.0 + supports-color: 7.2.0 + dev: true + + /chalk@5.0.1: + resolution: {integrity: sha512-Fo07WOYGqMfCWHOzSXOt2CxDbC6skS/jO9ynEcmpANMoPrD+W1r1K6Vx7iNm+AQmETU1Xr2t+n8nzkV9t6xh3w==} + engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} + dev: true + + /chokidar@3.5.3: + resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==} + engines: {node: '>= 8.10.0'} + dependencies: + anymatch: 3.1.3 + braces: 3.0.2 + 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 + dev: true + + /chrome-trace-event@1.0.3: + resolution: {integrity: sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==} + engines: {node: '>=6.0'} + dev: true + + /ci-info@2.0.0: + resolution: {integrity: sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==} + dev: true + + /classnames@2.3.1: + resolution: {integrity: sha512-OlQdbZ7gLfGarSqxesMesDa5uz7KFbID8Kpq/SxIoNGDqY8lSYs0D+hhtBXhcdB3rcbXArFr7vlHheLk1voeNA==} + dev: false + + /clean-css@5.2.0: + resolution: {integrity: sha512-2639sWGa43EMmG7fn8mdVuBSs6HuWaSor+ZPoFWzenBc6oN+td8YhTfghWXZ25G1NiiSvz8bOFBS7PdSbTiqEA==} + engines: {node: '>= 10.0'} + dependencies: + source-map: 0.6.1 + dev: true + + /clean-css@5.3.2: + resolution: {integrity: sha512-JVJbM+f3d3Q704rF4bqQ5UUyTtuJ0JRKNbTKVEeujCCBoMdkEi+V+e8oktO9qGQNSvHrFTM6JZRXrUvGR1czww==} + engines: {node: '>= 10.0'} + dependencies: + source-map: 0.6.1 + dev: true + + /clean-stack@2.2.0: + resolution: {integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==} + engines: {node: '>=6'} + dev: true + + /cli-boxes@2.2.1: + resolution: {integrity: sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw==} + engines: {node: '>=6'} + dev: true + + /cli-boxes@3.0.0: + resolution: {integrity: sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g==} + engines: {node: '>=10'} + dev: true + + /cli-cursor@3.1.0: + resolution: {integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==} + engines: {node: '>=8'} + dependencies: + restore-cursor: 3.1.0 + dev: true + + /cli-truncate@2.1.0: + resolution: {integrity: sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==} + engines: {node: '>=8'} + dependencies: + slice-ansi: 3.0.0 + string-width: 4.2.3 + dev: true + + /clipboardy@3.0.0: + resolution: {integrity: sha512-Su+uU5sr1jkUy1sGRpLKjKrvEOVXgSgiSInwa/qeID6aJ07yh+5NWc3h2QfjHjBnfX4LhtFcuAWKUsJ3r+fjbg==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dependencies: + arch: 2.2.0 + execa: 5.1.1 + is-wsl: 2.2.0 + dev: true + + /cliui@2.1.0: + resolution: {integrity: sha512-GIOYRizG+TGoc7Wgc1LiOTLare95R3mzKgoln+Q/lE4ceiYH19gUpl0l0Ffq4lJDEf3FxujMe6IBfOCs7pfqNA==} + dependencies: + center-align: 0.1.3 + right-align: 0.1.3 + wordwrap: 0.0.2 + dev: false + + /cliui@8.0.1: + resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} + engines: {node: '>=12'} + dependencies: + string-width: 4.2.3 + strip-ansi: 6.0.1 + wrap-ansi: 7.0.0 + dev: true + + /clone-deep@4.0.1: + resolution: {integrity: sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==} + engines: {node: '>=6'} + dependencies: + is-plain-object: 2.0.4 + kind-of: 6.0.3 + shallow-clone: 3.0.1 + dev: true + + /clone-response@1.0.3: + resolution: {integrity: sha512-ROoL94jJH2dUVML2Y/5PEDNaSHgeOdSDicUyS7izcF63G6sTc/FTjLub4b8Il9S8S0beOfYt0TaA5qvFK+w0wA==} + dependencies: + mimic-response: 1.0.1 + dev: true + + /color-convert@1.9.3: + resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} + dependencies: + color-name: 1.1.3 + + /color-convert@2.0.1: + resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} + engines: {node: '>=7.0.0'} + dependencies: + color-name: 1.1.4 + dev: true + + /color-name@1.1.3: + resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} + + /color-name@1.1.4: + resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} + + /color-string@1.9.1: + resolution: {integrity: sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==} + dependencies: + color-name: 1.1.4 + simple-swizzle: 0.2.2 + dev: false + + /color@3.2.1: + resolution: {integrity: sha512-aBl7dZI9ENN6fUGC7mWpMTPNHmWUSNan9tuWN6ahh5ZLNk9baLJOnSMlrQkHcrfFgz2/RigjUVAjdx36VcemKA==} + dependencies: + color-convert: 1.9.3 + color-string: 1.9.1 + dev: false + + /colorette@2.0.19: + resolution: {integrity: sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ==} + dev: true + + /commander@10.0.1: + resolution: {integrity: sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==} + engines: {node: '>=14'} + + /commander@2.20.3: + resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} + + /commander@7.2.0: + resolution: {integrity: sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==} + engines: {node: '>= 10'} + dev: true + + /commander@8.3.0: + resolution: {integrity: sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==} + engines: {node: '>= 12'} + dev: true + + /commander@9.5.0: + resolution: {integrity: sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==} + engines: {node: ^12.20.0 || >=14} + dev: true + + /common-path-prefix@3.0.0: + resolution: {integrity: sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w==} + dev: true + + /commondir@1.0.1: + resolution: {integrity: sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==} + dev: true + + /compare-versions@6.0.0-rc.1: + resolution: {integrity: sha512-cFhkjbGY1jLFWIV7KegECbfuyYPxSGvgGkdkfM+ibboQDoPwg2FRHm5BSNTOApiauRBzJIQH7qvOJs2sW5ueKQ==} + dev: true + + /compressible@2.0.18: + resolution: {integrity: sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==} + engines: {node: '>= 0.6'} + dependencies: + mime-db: 1.52.0 + dev: true + + /compression@1.7.4: + resolution: {integrity: sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==} + engines: {node: '>= 0.8.0'} + dependencies: + accepts: 1.3.8 + bytes: 3.0.0 + compressible: 2.0.18 + debug: 2.6.9 + on-headers: 1.0.2 + safe-buffer: 5.1.2 + vary: 1.1.2 + transitivePeerDependencies: + - supports-color + dev: true + + /compute-scroll-into-view@1.0.11: + resolution: {integrity: sha512-uUnglJowSe0IPmWOdDtrlHXof5CTIJitfJEyITHBW6zDVOGu9Pjk5puaLM73SLcwak0L4hEjO7Td88/a6P5i7A==} + dev: false + + /compute-scroll-into-view@1.0.20: + resolution: {integrity: sha512-UCB0ioiyj8CRjtrvaceBLqqhZCVP+1B8+NWQhmdsm0VXOJtobBCf1dBQmebCCo34qZmUwZfIH2MZLqNHazrfjg==} + dev: false + + /concat-map@0.0.1: + resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} + + /concaveman@1.2.1: + resolution: {integrity: sha512-PwZYKaM/ckQSa8peP5JpVr7IMJ4Nn/MHIaWUjP4be+KoZ7Botgs8seAZGpmaOM+UZXawcdYRao/px9ycrCihHw==} + dependencies: + point-in-polygon: 1.1.0 + rbush: 3.0.1 + robust-predicates: 2.0.4 + tinyqueue: 2.0.3 + dev: false + + /configstore@5.0.1: + resolution: {integrity: sha512-aMKprgk5YhBNyH25hj8wGt2+D52Sw1DRRIzqBwLp2Ya9mFmY8KPvvtvmna8SxVR9JMZ4kzMD68N22vlaRpkeFA==} + engines: {node: '>=8'} + dependencies: + dot-prop: 5.3.0 + graceful-fs: 4.2.11 + make-dir: 3.1.0 + unique-string: 2.0.0 + write-file-atomic: 3.0.3 + xdg-basedir: 4.0.0 + dev: true + + /connect-history-api-fallback@2.0.0: + resolution: {integrity: sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA==} + engines: {node: '>=0.8'} + dev: true + + /content-disposition@0.5.2: + resolution: {integrity: sha512-kRGRZw3bLlFISDBgwTSA1TMBFN6J6GWDeubmDE3AF+3+yXL8hTWv8r5rkLbqYXY4RjPk/EzHnClI3zQf1cFmHA==} + engines: {node: '>= 0.6'} + dev: true + + /content-disposition@0.5.4: + resolution: {integrity: sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==} + engines: {node: '>= 0.6'} + dependencies: + safe-buffer: 5.2.1 + dev: true + + /content-type@1.0.5: + resolution: {integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==} + engines: {node: '>= 0.6'} + dev: true + + /contour_plot@0.0.1: + resolution: {integrity: sha512-Nil2HI76Xux6sVGORvhSS8v66m+/h5CwFkBJDO+U5vWaMdNC0yXNCsGDPbzPhvqOEU5koebhdEvD372LI+IyLw==} + dev: false + + /convert-source-map@2.0.0: + resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} + + /cookie-signature@1.0.6: + resolution: {integrity: sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==} + dev: true + + /cookie@0.5.0: + resolution: {integrity: sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==} + engines: {node: '>= 0.6'} + dev: true + + /copy-anything@2.0.6: + resolution: {integrity: sha512-1j20GZTsvKNkc4BY3NpMOM8tt///wY3FpIzozTOFO2ffuZcV61nojHXVKIy3WM+7ADCy5FVhdZYHYDdgTU0yJw==} + dependencies: + is-what: 3.14.1 + dev: true + + /copy-to-clipboard@3.3.1: + resolution: {integrity: sha512-i13qo6kIHTTpCm8/Wup+0b1mVWETvu2kIMzKoK8FpkLkFxlt0znUAHcMzox+T8sPlqtZXq3CulEjQHsYiGFJUw==} + dependencies: + toggle-selection: 1.0.6 + dev: false + + /core-js-compat@3.33.3: + resolution: {integrity: sha512-cNzGqFsh3Ot+529GIXacjTJ7kegdt5fPXxCBVS1G0iaZpuo/tBz399ymceLJveQhFFZ8qThHiP3fzuoQjKN2ow==} + dependencies: + browserslist: 4.22.1 + + /core-js-pure@3.33.3: + resolution: {integrity: sha512-taJ00IDOP+XYQEA2dAe4ESkmHt1fL8wzYDo3mRWQey8uO9UojlBFMneA65kMyxfYP7106c6LzWaq7/haDT6BCQ==} + requiresBuild: true + dev: true + + /core-js@3.33.3: + resolution: {integrity: sha512-lo0kOocUlLKmm6kv/FswQL8zbkH7mVsLJ/FULClOhv8WRVmKLVcs6XPNQAzstfeJTCHMyButEwG+z1kHxHoDZw==} + requiresBuild: true + dev: true + + /core-util-is@1.0.3: + resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} + dev: true + + /cosmiconfig@7.1.0: + resolution: {integrity: sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==} + engines: {node: '>=10'} + dependencies: + '@types/parse-json': 4.0.2 + import-fresh: 3.3.0 + parse-json: 5.2.0 + path-type: 4.0.0 + yaml: 1.10.2 + dev: true + + /cross-spawn@7.0.3: + resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} + engines: {node: '>= 8'} + dependencies: + path-key: 3.1.1 + shebang-command: 2.0.0 + which: 2.0.2 + dev: true + + /crypto-random-string@2.0.0: + resolution: {integrity: sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==} + engines: {node: '>=8'} + dev: true + + /css-loader@6.7.1(webpack@5.89.0): + resolution: {integrity: sha512-yB5CNFa14MbPJcomwNh3wLThtkZgcNyI2bNMRt8iE5Z8Vwl7f8vQXFAzn2HDOJvtDq2NTZBUGMSUNNyrv3/+cw==} + engines: {node: '>= 12.13.0'} + peerDependencies: + webpack: ^5.0.0 + dependencies: + icss-utils: 5.1.0(postcss@8.4.31) + postcss: 8.4.31 + postcss-modules-extract-imports: 3.0.0(postcss@8.4.31) + postcss-modules-local-by-default: 4.0.3(postcss@8.4.31) + postcss-modules-scope: 3.0.0(postcss@8.4.31) + postcss-modules-values: 4.0.0(postcss@8.4.31) + postcss-value-parser: 4.2.0 + semver: 7.5.4 + webpack: 5.89.0(@swc/core@1.3.14)(webpack-cli@5.1.4) + dev: true + + /css-select@4.3.0: + resolution: {integrity: sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==} + dependencies: + boolbase: 1.0.0 + css-what: 6.1.0 + domhandler: 4.3.1 + domutils: 2.8.0 + nth-check: 2.1.1 + dev: true + + /css-tree@1.1.3: + resolution: {integrity: sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==} + engines: {node: '>=8.0.0'} + dependencies: + mdn-data: 2.0.14 + source-map: 0.6.1 + dev: true + + /css-what@6.1.0: + resolution: {integrity: sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==} + engines: {node: '>= 6'} + dev: true + + /cssesc@3.0.0: + resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} + engines: {node: '>=4'} + hasBin: true + dev: true + + /csso@4.2.0: + resolution: {integrity: sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==} + engines: {node: '>=8.0.0'} + dependencies: + css-tree: 1.1.3 + dev: true + + /csstype@3.1.2: + resolution: {integrity: sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==} + dev: false + + /d3-array@1.2.4: + resolution: {integrity: sha512-KHW6M86R+FUPYGb3R5XiYjXPq7VzwxZ22buHhAEVG5ztoEcZZMLov530mmccaqA1GghZArjQV46fuc8kUqhhHw==} + dev: false + + /d3-array@2.12.1: + resolution: {integrity: sha512-B0ErZK/66mHtEsR1TkPEEkwdy+WDesimkM5gpZr5Dsg54BiTA5RXtYW5qTLIAcekaS9xfZrzBLF/OAkB3Qn1YQ==} + dependencies: + internmap: 1.0.1 + dev: false + + /d3-collection@1.0.7: + resolution: {integrity: sha512-ii0/r5f4sjKNTfh84Di+DpztYwqKhEyUlKoPrzUFfeSkWxjW49xU2QzO9qrPrNkpdI0XJkfzvmTu8V2Zylln6A==} + dev: false + + /d3-color@1.4.1: + resolution: {integrity: sha512-p2sTHSLCJI2QKunbGb7ocOh7DgTAn8IrLx21QRc/BSnodXM4sv6aLQlnfpvehFMLZEfBc6g9pH9SWQccFYfJ9Q==} + dev: false + + /d3-composite-projections@1.4.0: + resolution: {integrity: sha512-csygyxdRfy7aUYRPea23veM6sjisdHI+DNd0nHcAGMd2LyL2lklr+xLRzHiJ+hy1HGp6YgAtbqdJR8CsLolrNQ==} + dependencies: + d3-geo: 2.0.2 + d3-path: 2.0.0 + dev: false + + /d3-dsv@1.2.0: + resolution: {integrity: sha512-9yVlqvZcSOMhCYzniHE7EVUws7Fa1zgw+/EAV2BxJoG3ME19V6BQFBwI855XQDsxyOuG7NibqRMTtiF/Qup46g==} + hasBin: true + dependencies: + commander: 2.20.3 + iconv-lite: 0.4.24 + rw: 1.3.3 + dev: false + + /d3-ease@1.0.7: + resolution: {integrity: sha512-lx14ZPYkhNx0s/2HX5sLFUI3mbasHjSSpwO/KaaNACweVwxUruKyWVcb293wMv1RqTPZyZ8kSZ2NogUZNcLOFQ==} + dev: false + + /d3-geo-projection@2.1.2: + resolution: {integrity: sha512-zft6RRvPaB1qplTodBVcSH5Ftvmvvg0qoDiqpt+fyNthGr/qr+DD30cizNDluXjW7jmo7EKUTjvFCAHofv08Ow==} + hasBin: true + dependencies: + commander: 2.20.3 + d3-array: 1.2.4 + d3-geo: 1.6.4 + dev: false + + /d3-geo@1.6.4: + resolution: {integrity: sha512-O5Q3iftLc6/EdU1MHUm+O29NoKKN/cyQtySnD9/yEEcinN+q4ng+H56e2Yn1YWdfZBoiaRVtR2NoJ3ivKX5ptQ==} + dependencies: + d3-array: 1.2.4 + dev: false + + /d3-geo@1.7.1: + resolution: {integrity: sha512-O4AempWAr+P5qbk2bC2FuN/sDW4z+dN2wDf9QV3bxQt4M5HfOEeXLgJ/UKQW0+o1Dj8BE+L5kiDbdWUMjsmQpw==} + dependencies: + d3-array: 1.2.4 + dev: false + + /d3-geo@2.0.2: + resolution: {integrity: sha512-8pM1WGMLGFuhq9S+FpPURxic+gKzjluCD/CHTuUF3mXMeiCo0i6R0tO1s4+GArRFde96SLcW/kOFRjoAosPsFA==} + dependencies: + d3-array: 2.12.1 + dev: false + + /d3-hexjson@1.1.1: + resolution: {integrity: sha512-WMF1juFJwAx6LzdEVKlsCGZz+7QUG7VMJDtg8uD3cfNwWOTgMiy6qBRRGU7LSY2KbmEObu3BV5ZQbq9l/BvUZQ==} + dependencies: + d3-array: 1.2.4 + dev: false + + /d3-hierarchy@1.1.9: + resolution: {integrity: sha512-j8tPxlqh1srJHAtxfvOUwKNYJkQuBFdM1+JAUfq6xqH5eAqf93L7oG1NVqDa4CpFZNvnNKtCYEUC8KY9yEn9lQ==} + dev: false + + /d3-hierarchy@2.0.0: + resolution: {integrity: sha512-SwIdqM3HxQX2214EG9GTjgmCc/mbSx4mQBn+DuEETubhOw6/U3fmnji4uCVrmzOydMHSO1nZle5gh6HB/wdOzw==} + dev: false + + /d3-interpolate@3.0.1: + resolution: {integrity: sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g==} + engines: {node: '>=12'} + dependencies: + d3-color: 1.4.1 + dev: false + + /d3-path@1.0.9: + resolution: {integrity: sha512-VLaYcn81dtHVTjEHd8B+pbe9yHWpXKZUC87PzoFmsFrJqgFwDe/qxfp5MlfsfM1V5E/iVt0MmEbWQ7FVIXh/bg==} + dev: false + + /d3-path@2.0.0: + resolution: {integrity: sha512-ZwZQxKhBnv9yHaiWd6ZU4x5BtCQ7pXszEV9CU6kRgwIQVQGLMv1oiL4M+MK/n79sYzsj+gcgpPQSctJUsLN7fA==} + dev: false + + /d3-regression@1.3.10: + resolution: {integrity: sha512-PF8GWEL70cHHWpx2jUQXc68r1pyPHIA+St16muk/XRokETzlegj5LriNKg7o4LR0TySug4nHYPJNNRz/W+/Niw==} + dev: false + + /d3-sankey@0.9.1: + resolution: {integrity: sha512-nnRkDaUMjBdeuGg+kWGdA+tjG1AVTnJ+Ykw7ff7CZHVI17Hm5sy8n0UXykVffn13aNHwK5wPOdOt1gS1ZEaF+A==} + dependencies: + d3-array: 1.2.4 + d3-collection: 1.0.7 + d3-shape: 1.3.7 + dev: false + + /d3-shape@1.3.7: + resolution: {integrity: sha512-EUkvKjqPFUAZyOlhY5gzCxCeI0Aep04LwIRpsZ/mLFelJiUfnK56jo5JMDSE7yyP2kLSb6LtF+S5chMk7uqPqw==} + dependencies: + d3-path: 1.0.9 + dev: false + + /d3-timer@1.0.10: + resolution: {integrity: sha512-B1JDm0XDaQC+uvo4DT79H0XmBskgS3l6Ve+1SBCfxgmtIb1AVrPIoqd+nPSv+loMX8szQ0sVUhGngL7D5QPiXw==} + dev: false + + /d3-voronoi@1.1.2: + resolution: {integrity: sha512-RhGS1u2vavcO7ay7ZNAPo4xeDh/VYeGof3x5ZLJBQgYhLegxr3s5IykvWmJ94FTU6mcbtp4sloqZ54mP6R4Utw==} + dev: false + + /d3-voronoi@1.1.4: + resolution: {integrity: sha512-dArJ32hchFsrQ8uMiTBLq256MpnZjeuBtdHpaDlYuQyjU0CVzCJl/BVW+SkszaAeH95D/8gxqAhgx0ouAWAfRg==} + dev: false + + /dagre@0.8.5: + resolution: {integrity: sha512-/aTqmnRta7x7MCCpExk7HQL2O4owCT2h8NT//9I1OQ9vt29Pa0BzSAkR5lwFUcQ7491yVi/3CXU9jQ5o0Mn2Sw==} + dependencies: + graphlib: 2.1.8 + lodash: 4.17.21 + dev: false + + /dayjs@1.10.7: + resolution: {integrity: sha512-P6twpd70BcPK34K26uJ1KT3wlhpuOAPoMwJzpsIWUxHZ7wpmbdZL/hQqBDfz7hGurYSa5PhzdhDHtt319hL3ig==} + dev: false + + /debug@2.6.9: + resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + dependencies: + ms: 2.0.0 + dev: true + + /debug@3.2.7: + resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + dependencies: + ms: 2.1.3 + dev: true + optional: true + + /debug@4.3.4: + resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + dependencies: + ms: 2.1.2 + + /decamelize@1.2.0: + resolution: {integrity: sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==} + engines: {node: '>=0.10.0'} + dev: false + + /decode-uri-component@0.2.2: + resolution: {integrity: sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==} + engines: {node: '>=0.10'} + dev: false + + /decompress-response@3.3.0: + resolution: {integrity: sha512-BzRPQuY1ip+qDonAOz42gRm/pg9F768C+npV/4JOsxRC2sq+Rlk+Q4ZCAsOhnIaMrgarILY+RMUIvMmmX1qAEA==} + engines: {node: '>=4'} + dependencies: + mimic-response: 1.0.1 + dev: true + + /deep-equal@1.1.2: + resolution: {integrity: sha512-5tdhKF6DbU7iIzrIOa1AOUt39ZRm13cmL1cGEh//aqR8x9+tNfbywRf0n5FD/18OKMdo7DNEtrX2t22ZAkI+eg==} + engines: {node: '>= 0.4'} + dependencies: + is-arguments: 1.1.1 + is-date-object: 1.0.5 + is-regex: 1.1.4 + object-is: 1.1.5 + object-keys: 1.1.1 + regexp.prototype.flags: 1.5.1 + dev: false + + /deep-extend@0.6.0: + resolution: {integrity: sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==} + engines: {node: '>=4.0.0'} + dev: true + + /deepmerge@4.3.1: + resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==} + engines: {node: '>=0.10.0'} + dev: true + + /default-gateway@6.0.3: + resolution: {integrity: sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==} + engines: {node: '>= 10'} + dependencies: + execa: 5.1.1 + dev: true + + /defer-to-connect@1.1.3: + resolution: {integrity: sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ==} + dev: true + + /define-data-property@1.1.1: + resolution: {integrity: sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ==} + engines: {node: '>= 0.4'} + dependencies: + get-intrinsic: 1.2.2 + gopd: 1.0.1 + has-property-descriptors: 1.0.1 + + /define-lazy-prop@2.0.0: + resolution: {integrity: sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==} + engines: {node: '>=8'} + dev: true + + /define-properties@1.2.1: + resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==} + engines: {node: '>= 0.4'} + dependencies: + define-data-property: 1.1.1 + has-property-descriptors: 1.0.1 + object-keys: 1.1.1 + dev: false + + /defined@1.0.1: + resolution: {integrity: sha512-hsBd2qSVCRE+5PmNdHt1uzyrFu5d3RwmFDKzyNZMFq/EwDNJF7Ee5+D5oEKF0hU6LhtoUF1macFvOe4AskQC1Q==} + dev: false + + /density-clustering@1.3.0: + resolution: {integrity: sha512-icpmBubVTwLnsaor9qH/4tG5+7+f61VcqMN3V3pm9sxxSCt2Jcs0zWOgwZW9ARJYaKD3FumIgHiMOcIMRRAzFQ==} + dev: false + + /depd@1.1.2: + resolution: {integrity: sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==} + engines: {node: '>= 0.6'} + dev: true + + /depd@2.0.0: + resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==} + engines: {node: '>= 0.8'} + dev: true + + /destroy@1.2.0: + resolution: {integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==} + engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} + dev: true + + /detect-browser@5.3.0: + resolution: {integrity: sha512-53rsFbGdwMwlF7qvCt0ypLM5V5/Mbl0szB7GPN8y9NCcbknYOeVVXdrXEq+90IwAfrrzt6Hd+u2E2ntakICU8w==} + dev: false + + /detect-node-es@1.1.0: + resolution: {integrity: sha512-ypdmJU/TbBby2Dxibuv7ZLW3Bs1QEmM7nHjEANfohJLvE0XVujisn1qPJcZxg+qDucsr+bP6fLD1rPS3AhJ7EQ==} + dev: false + + /detect-node@2.1.0: + resolution: {integrity: sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==} + dev: true + + /dns-equal@1.0.0: + resolution: {integrity: sha512-z+paD6YUQsk+AbGCEM4PrOXSss5gd66QfcVBFTKR/HpFL9jCqikS94HYwKww6fQyO7IxrIIyUu+g0Ka9tUS2Cg==} + dev: true + + /dns-packet@5.6.1: + resolution: {integrity: sha512-l4gcSouhcgIKRvyy99RNVOgxXiicE+2jZoNmaNmZ6JXiGajBOJAesk1OBlJuM5k2c+eudGdLxDqXuPCKIj6kpw==} + engines: {node: '>=6'} + dependencies: + '@leichtgewicht/ip-codec': 2.0.4 + dev: true + + /dom-converter@0.2.0: + resolution: {integrity: sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==} + dependencies: + utila: 0.4.0 + dev: true + + /dom-helpers@5.2.1: + resolution: {integrity: sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA==} + dependencies: + '@babel/runtime': 7.23.2 + csstype: 3.1.2 + dev: false + + /dom-serializer@1.4.1: + resolution: {integrity: sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==} + dependencies: + domelementtype: 2.3.0 + domhandler: 4.3.1 + entities: 2.2.0 + dev: true + + /domelementtype@2.3.0: + resolution: {integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==} + dev: true + + /domhandler@4.3.1: + resolution: {integrity: sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==} + engines: {node: '>= 4'} + dependencies: + domelementtype: 2.3.0 + dev: true + + /domutils@2.8.0: + resolution: {integrity: sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==} + dependencies: + dom-serializer: 1.4.1 + domelementtype: 2.3.0 + domhandler: 4.3.1 + dev: true + + /dot-case@3.0.4: + resolution: {integrity: sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==} + dependencies: + no-case: 3.0.4 + tslib: 2.6.2 + dev: true + + /dot-prop@5.3.0: + resolution: {integrity: sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==} + engines: {node: '>=8'} + dependencies: + is-obj: 2.0.0 + dev: true + + /dotignore@0.1.2: + resolution: {integrity: sha512-UGGGWfSauusaVJC+8fgV+NVvBXkCTmVv7sk6nojDZZvuOUNGUy0Zk4UpHQD6EDjS0jpBwcACvH4eofvyzBcRDw==} + hasBin: true + dependencies: + minimatch: 3.1.2 + dev: false + + /duplexer3@0.1.5: + resolution: {integrity: sha512-1A8za6ws41LQgv9HrE/66jyC5yuSjQ3L/KOpFtoBilsAK2iA2wuS5rTt1OCzIvtS2V7nVmedsUU+DGRcjBmOYA==} + dev: true + + /duplexer@0.1.2: + resolution: {integrity: sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==} + dev: true + + /earcut@2.2.4: + resolution: {integrity: sha512-/pjZsA1b4RPHbeWZQn66SWS8nZZWLQQ23oE3Eam7aroEFGEvwKAsJfZ9ytiEMycfzXWpca4FA9QIOehf7PocBQ==} + dev: false + + /eastasianwidth@0.2.0: + resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} + dev: true + + /ee-first@1.1.1: + resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} + dev: true + + /electron-to-chromium@1.4.588: + resolution: {integrity: sha512-soytjxwbgcCu7nh5Pf4S2/4wa6UIu+A3p03U2yVr53qGxi1/VTR3ENI+p50v+UxqqZAfl48j3z55ud7VHIOr9w==} + + /emoji-regex@8.0.0: + resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} + dev: true + + /emoji-regex@9.2.2: + resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} + dev: true + + /emojis-list@3.0.0: + resolution: {integrity: sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==} + engines: {node: '>= 4'} + dev: true + + /encodeurl@1.0.2: + resolution: {integrity: sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==} + engines: {node: '>= 0.8'} + dev: true + + /end-of-stream@1.4.4: + resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==} + dependencies: + once: 1.4.0 + dev: true + + /enhanced-resolve@5.12.0: + resolution: {integrity: sha512-QHTXI/sZQmko1cbDoNAa3mJ5qhWUUNAq3vR0/YiD379fWQrcfuoX1+HW2S0MTt7XmoPLapdaDKUtelUSPic7hQ==} + engines: {node: '>=10.13.0'} + dependencies: + graceful-fs: 4.2.10 + tapable: 2.2.1 + dev: true + + /enhanced-resolve@5.15.0: + resolution: {integrity: sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg==} + engines: {node: '>=10.13.0'} + dependencies: + graceful-fs: 4.2.11 + tapable: 2.2.1 + dev: true + + /entities@2.2.0: + resolution: {integrity: sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==} + dev: true + + /entities@4.5.0: + resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==} + engines: {node: '>=0.12'} + dev: true + + /envinfo@7.11.0: + resolution: {integrity: sha512-G9/6xF1FPbIw0TtalAMaVPpiq2aDEuKLXM314jPVAO9r2fo2a4BLqMNkmRS7O/xPPZ+COAhGIz3ETvHEV3eUcg==} + engines: {node: '>=4'} + hasBin: true + dev: true + + /errno@0.1.8: + resolution: {integrity: sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==} + hasBin: true + requiresBuild: true + dependencies: + prr: 1.0.1 + dev: true + optional: true + + /error-ex@1.3.2: + resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} + dependencies: + is-arrayish: 0.2.1 + dev: true + + /error-stack-parser@2.1.4: + resolution: {integrity: sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ==} + dependencies: + stackframe: 1.3.4 + dev: true + + /es-abstract@1.22.3: + resolution: {integrity: sha512-eiiY8HQeYfYH2Con2berK+To6GrK2RxbPawDkGq4UiCQQfZHb6wX9qQqkbpPqaxQFcl8d9QzZqo0tGE0VcrdwA==} + engines: {node: '>= 0.4'} + dependencies: + array-buffer-byte-length: 1.0.0 + arraybuffer.prototype.slice: 1.0.2 + available-typed-arrays: 1.0.5 + call-bind: 1.0.5 + es-set-tostringtag: 2.0.2 + es-to-primitive: 1.2.1 + function.prototype.name: 1.1.6 + get-intrinsic: 1.2.2 + get-symbol-description: 1.0.0 + globalthis: 1.0.3 + gopd: 1.0.1 + has-property-descriptors: 1.0.1 + has-proto: 1.0.1 + has-symbols: 1.0.3 + hasown: 2.0.0 + internal-slot: 1.0.6 + is-array-buffer: 3.0.2 + is-callable: 1.2.7 + is-negative-zero: 2.0.2 + is-regex: 1.1.4 + is-shared-array-buffer: 1.0.2 + is-string: 1.0.7 + is-typed-array: 1.1.12 + is-weakref: 1.0.2 + object-inspect: 1.13.1 + object-keys: 1.1.1 + object.assign: 4.1.4 + regexp.prototype.flags: 1.5.1 + safe-array-concat: 1.0.1 + safe-regex-test: 1.0.0 + string.prototype.trim: 1.2.8 + string.prototype.trimend: 1.0.7 + string.prototype.trimstart: 1.0.7 + typed-array-buffer: 1.0.0 + typed-array-byte-length: 1.0.0 + typed-array-byte-offset: 1.0.0 + typed-array-length: 1.0.4 + unbox-primitive: 1.0.2 + which-typed-array: 1.1.13 + dev: false + + /es-module-lexer@0.9.3: + resolution: {integrity: sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ==} + dev: true + + /es-module-lexer@1.4.1: + resolution: {integrity: sha512-cXLGjP0c4T3flZJKQSuziYoq7MlT+rnvfZjfp7h+I7K9BNX54kP9nyWvdbwjQ4u1iWbOL4u96fgeZLToQlZC7w==} + dev: true + + /es-set-tostringtag@2.0.2: + resolution: {integrity: sha512-BuDyupZt65P9D2D2vA/zqcI3G5xRsklm5N3xCwuiy+/vKy8i0ifdsQP1sLgO4tZDSCaQUSnmC48khknGMV3D2Q==} + engines: {node: '>= 0.4'} + dependencies: + get-intrinsic: 1.2.2 + has-tostringtag: 1.0.0 + hasown: 2.0.0 + dev: false + + /es-to-primitive@1.2.1: + resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==} + engines: {node: '>= 0.4'} + dependencies: + is-callable: 1.2.7 + is-date-object: 1.0.5 + is-symbol: 1.0.4 + dev: false + + /escalade@3.1.1: + resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} + engines: {node: '>=6'} + + /escape-goat@2.1.1: + resolution: {integrity: sha512-8/uIhbG12Csjy2JEW7D9pHbreaVaS/OpN3ycnyvElTdwM5n6GY6W6e2IPemfvGZeUMqZ9A/3GqIZMgKnBhAw/Q==} + engines: {node: '>=8'} + dev: true + + /escape-html@1.0.3: + resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==} + dev: true + + /escape-string-regexp@1.0.5: + resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} + engines: {node: '>=0.8.0'} + + /eslint-scope@5.1.1: + resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==} + engines: {node: '>=8.0.0'} + dependencies: + esrecurse: 4.3.0 + estraverse: 4.3.0 + dev: true + + /esrecurse@4.3.0: + resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} + engines: {node: '>=4.0'} + dependencies: + estraverse: 5.3.0 + dev: true + + /estraverse@4.3.0: + resolution: {integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==} + engines: {node: '>=4.0'} + dev: true + + /estraverse@5.3.0: + resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} + engines: {node: '>=4.0'} + dev: true + + /esutils@2.0.3: + resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} + engines: {node: '>=0.10.0'} + dev: true + + /etag@1.8.1: + resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==} + engines: {node: '>= 0.6'} + dev: true + + /eventemitter3@4.0.7: + resolution: {integrity: sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==} + dev: true + + /eventemitter3@5.0.1: + resolution: {integrity: sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==} + dev: false + + /events@3.3.0: + resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==} + engines: {node: '>=0.8.x'} + dev: true + + /execa@5.1.1: + resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} + engines: {node: '>=10'} + dependencies: + cross-spawn: 7.0.3 + 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 + dev: true + + /exit-hook@3.2.0: + resolution: {integrity: sha512-aIQN7Q04HGAV/I5BszisuHTZHXNoC23WtLkxdCLuYZMdWviRD0TMIt2bnUBi9MrHaF/hH8b3gwG9iaAUHKnJGA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dev: true + + /express@4.18.1: + resolution: {integrity: sha512-zZBcOX9TfehHQhtupq57OF8lFZ3UZi08Y97dwFCkD8p9d/d2Y3M+ykKcwaMDEL+4qyUolgBDX6AblpR3fL212Q==} + engines: {node: '>= 0.10.0'} + dependencies: + accepts: 1.3.8 + array-flatten: 1.1.1 + body-parser: 1.20.0 + content-disposition: 0.5.4 + content-type: 1.0.5 + cookie: 0.5.0 + cookie-signature: 1.0.6 + debug: 2.6.9 + depd: 2.0.0 + encodeurl: 1.0.2 + escape-html: 1.0.3 + etag: 1.8.1 + finalhandler: 1.2.0 + fresh: 0.5.2 + http-errors: 2.0.0 + merge-descriptors: 1.0.1 + methods: 1.1.2 + on-finished: 2.4.1 + parseurl: 1.3.3 + path-to-regexp: 0.1.7 + proxy-addr: 2.0.7 + qs: 6.10.3 + range-parser: 1.2.1 + safe-buffer: 5.2.1 + send: 0.18.0 + serve-static: 1.15.0 + 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 + dev: true + + /fast-decode-uri-component@1.0.1: + resolution: {integrity: sha512-WKgKWg5eUxvRZGwW8FvfbaH7AXSh2cL+3j5fMGzUMCxWBJ3dV3a7Wz8y2f/uQ0e3B6WmodD3oS54jTQ9HVTIIg==} + dev: true + + /fast-deep-equal@3.1.3: + resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} + + /fast-json-stable-stringify@2.1.0: + resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} + dev: true + + /fast-querystring@1.1.2: + resolution: {integrity: sha512-g6KuKWmFXc0fID8WWH0jit4g0AGBoJhCkJMb1RmbsSEUNvQ+ZC8D6CUZ+GtF8nMzSPXnhiePyyqqipzNNEnHjg==} + dependencies: + fast-decode-uri-component: 1.0.1 + dev: true + + /fast-url-parser@1.1.3: + resolution: {integrity: sha512-5jOCVXADYNuRkKFzNJ0dCCewsZiYo0dz8QNYljkOpFC6r2U4OBmKtvm/Tsuh4w1YYdDqDb31a8TVhBJ2OJKdqQ==} + dependencies: + punycode: 1.4.1 + dev: true + + /fastest-levenshtein@1.0.16: + resolution: {integrity: sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==} + engines: {node: '>= 4.9.1'} + dev: true + + /faye-websocket@0.11.4: + resolution: {integrity: sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==} + engines: {node: '>=0.8.0'} + dependencies: + websocket-driver: 0.7.4 + dev: true + + /fecha@4.2.3: + resolution: {integrity: sha512-OP2IUU6HeYKJi3i0z4A19kHMQoLVs4Hc+DPqqxI2h/DPZHTm/vjsfC6P0b4jCMy14XizLBqvndQ+UilD7707Jw==} + dev: false + + /fill-range@7.0.1: + resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} + engines: {node: '>=8'} + dependencies: + to-regex-range: 5.0.1 + dev: true + + /filter-obj@1.1.0: + resolution: {integrity: sha512-8rXg1ZnX7xzy2NGDVkBVaAy+lSlPNwad13BtgSlLuxfIslyt5Vg64U7tFcCt4WS1R0hvtnQybT/IyCkGZ3DpXQ==} + engines: {node: '>=0.10.0'} + dev: false + + /finalhandler@1.2.0: + resolution: {integrity: sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==} + engines: {node: '>= 0.8'} + dependencies: + debug: 2.6.9 + encodeurl: 1.0.2 + 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 + dev: true + + /find-cache-dir@3.3.2: + resolution: {integrity: sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==} + engines: {node: '>=8'} + dependencies: + commondir: 1.0.1 + make-dir: 3.1.0 + pkg-dir: 4.2.0 + dev: true + + /find-up@4.1.0: + resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} + engines: {node: '>=8'} + dependencies: + locate-path: 5.0.0 + path-exists: 4.0.0 + dev: true + + /find-up@5.0.0: + resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} + engines: {node: '>=10'} + dependencies: + locate-path: 6.0.0 + path-exists: 4.0.0 + dev: true + + /flat@5.0.2: + resolution: {integrity: sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==} + hasBin: true + dev: true + + /flru@1.0.2: + resolution: {integrity: sha512-kWyh8ADvHBFz6ua5xYOPnUroZTT/bwWfrCeL0Wj1dzG4/YOmOcfJ99W8dOVyyynJN35rZ9aCOtHChqQovV7yog==} + engines: {node: '>=6'} + dev: false + + /fmin@0.0.2: + resolution: {integrity: sha512-sSi6DzInhl9d8yqssDfGZejChO8d2bAGIpysPsvYsxFe898z89XhCZg6CPNV3nhUhFefeC/AXZK2bAJxlBjN6A==} + dependencies: + contour_plot: 0.0.1 + json2module: 0.0.3 + rollup: 0.25.8 + tape: 4.17.0 + uglify-js: 2.8.29 + dev: false + + /focus-lock@1.0.0: + resolution: {integrity: sha512-a8Ge6cdKh9za/GZR/qtigTAk7SrGore56EFcoMshClsh7FLk1zwszc/ltuMfKhx56qeuyL/jWQ4J4axou0iJ9w==} + engines: {node: '>=10'} + dependencies: + tslib: 2.6.2 + dev: false + + /follow-redirects@1.15.3: + resolution: {integrity: sha512-1VzOtuEM8pC9SFU1E+8KfTjZyMztRsgEfwQl44z8A25uy13jSzTj6dyK2Df52iV0vgHCfBwLhDWevLn95w5v6Q==} + engines: {node: '>=4.0'} + peerDependencies: + debug: '*' + peerDependenciesMeta: + debug: + optional: true + + /for-each@0.3.3: + resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==} + dependencies: + is-callable: 1.2.7 + dev: false + + /forwarded@0.2.0: + resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==} + engines: {node: '>= 0.6'} + dev: true + + /fresh@0.5.2: + resolution: {integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==} + engines: {node: '>= 0.6'} + dev: true + + /fs-extra@10.1.0: + resolution: {integrity: sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==} + engines: {node: '>=12'} + dependencies: + graceful-fs: 4.2.11 + jsonfile: 6.1.0 + universalify: 2.0.1 + + /fs-monkey@1.0.5: + resolution: {integrity: sha512-8uMbBjrhzW76TYgEV27Y5E//W2f/lTFmx78P2w19FZSxarhI/798APGQyuGCwmkNxgwGRhrLfvWyLBvNtuOmew==} + dev: true + + /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] + requiresBuild: true + dev: true + optional: true + + /function-bind@1.1.2: + resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} + + /function.prototype.name@1.1.6: + resolution: {integrity: sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.5 + define-properties: 1.2.1 + es-abstract: 1.22.3 + functions-have-names: 1.2.3 + dev: false + + /functions-have-names@1.2.3: + resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} + dev: false + + /gensync@1.0.0-beta.2: + resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} + engines: {node: '>=6.9.0'} + + /geojson-equality@0.1.6: + resolution: {integrity: sha512-TqG8YbqizP3EfwP5Uw4aLu6pKkg6JQK9uq/XZ1lXQntvTHD1BBKJWhNpJ2M0ax6TuWMP3oyx6Oq7FCIfznrgpQ==} + dependencies: + deep-equal: 1.1.2 + dev: false + + /geojson-rbush@3.2.0: + resolution: {integrity: sha512-oVltQTXolxvsz1sZnutlSuLDEcQAKYC/uXt9zDzJJ6bu0W+baTI8LZBaTup5afzibEH4N3jlq2p+a152wlBJ7w==} + dependencies: + '@turf/bbox': 6.5.0 + '@turf/helpers': 6.5.0 + '@turf/meta': 6.5.0 + '@types/geojson': 7946.0.8 + rbush: 3.0.1 + dev: false + + /get-caller-file@2.0.5: + resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} + engines: {node: 6.* || 8.* || >= 10.*} + dev: true + + /get-intrinsic@1.2.2: + resolution: {integrity: sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA==} + dependencies: + function-bind: 1.1.2 + has-proto: 1.0.1 + has-symbols: 1.0.3 + hasown: 2.0.0 + + /get-stream@4.1.0: + resolution: {integrity: sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==} + engines: {node: '>=6'} + dependencies: + pump: 3.0.0 + dev: true + + /get-stream@5.2.0: + resolution: {integrity: sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==} + engines: {node: '>=8'} + dependencies: + pump: 3.0.0 + dev: true + + /get-stream@6.0.1: + resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} + engines: {node: '>=10'} + dev: true + + /get-symbol-description@1.0.0: + resolution: {integrity: sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.5 + get-intrinsic: 1.2.2 + dev: false + + /gl-matrix@3.4.3: + resolution: {integrity: sha512-wcCp8vu8FT22BnvKVPjXa/ICBWRq/zjFfdofZy1WSpQZpphblv12/bOQLBC1rMM7SGOFS9ltVmKOHil5+Ml7gA==} + dev: false + + /glob-parent@5.1.2: + resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} + engines: {node: '>= 6'} + dependencies: + is-glob: 4.0.3 + dev: true + + /glob-to-regexp@0.4.1: + resolution: {integrity: sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==} + dev: true + + /glob@7.2.3: + resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} + 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-dirs@3.0.1: + resolution: {integrity: sha512-NBcGGFbBA9s1VzD41QXDG+3++t9Mn5t1FpLdhESY6oKY4gYTFpX4wO3sqGUa0Srjtbfj3szX0RnemmrVRUdULA==} + engines: {node: '>=10'} + dependencies: + ini: 2.0.0 + dev: true + + /globals@11.12.0: + resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} + engines: {node: '>=4'} + + /globalthis@1.0.3: + resolution: {integrity: sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==} + engines: {node: '>= 0.4'} + dependencies: + define-properties: 1.2.1 + dev: false + + /gopd@1.0.1: + resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==} + dependencies: + get-intrinsic: 1.2.2 + + /got@9.6.0: + resolution: {integrity: sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q==} + engines: {node: '>=8.6'} + dependencies: + '@sindresorhus/is': 0.14.0 + '@szmarczak/http-timer': 1.1.2 + '@types/keyv': 3.1.4 + '@types/responselike': 1.0.3 + cacheable-request: 6.1.0 + decompress-response: 3.3.0 + duplexer3: 0.1.5 + get-stream: 4.1.0 + lowercase-keys: 1.0.1 + mimic-response: 1.0.1 + p-cancelable: 1.1.0 + to-readable-stream: 1.0.0 + url-parse-lax: 3.0.0 + dev: true + + /graceful-fs@4.2.10: + resolution: {integrity: sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==} + dev: true + + /graceful-fs@4.2.11: + resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} + + /graphlib@2.1.8: + resolution: {integrity: sha512-jcLLfkpoVGmH7/InMC/1hIvOPSUh38oJtGhvrOFGzioE1DZ+0YW16RgmOJhHiuWTvGiJQ9Z1Ik43JvkRPRvE+A==} + dependencies: + lodash: 4.17.21 + dev: false + + /gzip-size@6.0.0: + resolution: {integrity: sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==} + engines: {node: '>=10'} + dependencies: + duplexer: 0.1.2 + dev: true + + /handle-thing@2.0.1: + resolution: {integrity: sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==} + dev: true + + /has-ansi@2.0.0: + resolution: {integrity: sha512-C8vBJ8DwUCx19vhm7urhTuUsr4/IyP6l4VzNQDv+ryHQObW3TTTp9yB68WpYgRe2bbaGuZ/se74IqFeVnMnLZg==} + engines: {node: '>=0.10.0'} + dependencies: + ansi-regex: 2.1.1 + dev: false + + /has-bigints@1.0.2: + resolution: {integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==} + dev: false + + /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'} + dev: true + + /has-property-descriptors@1.0.1: + resolution: {integrity: sha512-VsX8eaIewvas0xnvinAe9bw4WfIeODpGYikiWYLH+dma0Jw6KHYqWiWfhQlgOVK8D6PvjubK5Uc4P0iIhIcNVg==} + dependencies: + get-intrinsic: 1.2.2 + + /has-proto@1.0.1: + resolution: {integrity: sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==} + engines: {node: '>= 0.4'} + + /has-symbols@1.0.3: + resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==} + engines: {node: '>= 0.4'} + + /has-tostringtag@1.0.0: + resolution: {integrity: sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==} + engines: {node: '>= 0.4'} + dependencies: + has-symbols: 1.0.3 + dev: false + + /has-yarn@2.1.0: + resolution: {integrity: sha512-UqBRqi4ju7T+TqGNdqAO0PaSVGsDGJUBQvk9eUWNGRY1CFGDzYhLWoM7JQEemnlvVcv/YEmc2wNW8BC24EnUsw==} + engines: {node: '>=8'} + dev: true + + /has@1.0.4: + resolution: {integrity: sha512-qdSAmqLF6209RFj4VVItywPMbm3vWylknmB3nvNiUIs72xAimcM8nVYxYr7ncvZq5qzk9MKIZR8ijqD/1QuYjQ==} + engines: {node: '>= 0.4.0'} + dev: false + + /hasown@2.0.0: + resolution: {integrity: sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==} + engines: {node: '>= 0.4'} + dependencies: + function-bind: 1.1.2 + + /he@1.2.0: + resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==} + hasBin: true + dev: true + + /history@4.10.1: + resolution: {integrity: sha512-36nwAD620w12kuzPAsyINPWJqlNbij+hpK1k9XRloDtym8mxzGYl2c17LnV6IAGB2Dmg4tEa7G7DlawS0+qjew==} + dependencies: + '@babel/runtime': 7.23.2 + loose-envify: 1.4.0 + resolve-pathname: 3.0.0 + tiny-invariant: 1.3.1 + tiny-warning: 1.0.3 + value-equal: 1.0.1 + dev: false + + /hoist-non-react-statics@3.3.2: + resolution: {integrity: sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==} + dependencies: + react-is: 16.13.1 + dev: false + + /hpack.js@2.1.6: + resolution: {integrity: sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ==} + dependencies: + inherits: 2.0.4 + obuf: 1.1.2 + readable-stream: 2.3.8 + wbuf: 1.7.3 + dev: true + + /html-entities@2.4.0: + resolution: {integrity: sha512-igBTJcNNNhvZFRtm8uA6xMY6xYleeDwn3PeBCkDz7tHttv4F2hsDI2aPgNERWzvRcNYHNT3ymRaQzllmXj4YsQ==} + dev: true + + /html-minifier-terser@6.1.0: + resolution: {integrity: sha512-YXxSlJBZTP7RS3tWnQw74ooKa6L9b9i9QYXY21eUEvhZ3u9XLfv6OnFsQq6RxkhHygsaUMvYsZRV5rU/OVNZxw==} + engines: {node: '>=12'} + hasBin: true + dependencies: + camel-case: 4.1.2 + clean-css: 5.3.2 + commander: 8.3.0 + he: 1.2.0 + param-case: 3.0.4 + relateurl: 0.2.7 + terser: 5.24.0 + dev: true + + /html-minifier-terser@7.0.0: + resolution: {integrity: sha512-Adqk0b/pWKIQiGvEAuzPKpBKNHiwblr3QSGS7TTr6v+xXKV9AI2k4vWW+6Oytt6Z5SeBnfvYypKOnz8r75pz3Q==} + engines: {node: ^14.13.1 || >=16.0.0} + hasBin: true + dependencies: + camel-case: 4.1.2 + clean-css: 5.2.0 + commander: 9.5.0 + entities: 4.5.0 + param-case: 3.0.4 + relateurl: 0.2.7 + terser: 5.24.0 + dev: true + + /html-webpack-plugin@5.5.3(webpack@5.89.0): + resolution: {integrity: sha512-6YrDKTuqaP/TquFH7h4srYWsZx+x6k6+FbsTm0ziCwGHDP78Unr1r9F/H4+sGmMbX08GQcJ+K64x55b+7VM/jg==} + engines: {node: '>=10.13.0'} + peerDependencies: + webpack: ^5.20.0 + dependencies: + '@types/html-minifier-terser': 6.1.0 + html-minifier-terser: 6.1.0 + lodash: 4.17.21 + pretty-error: 4.0.0 + tapable: 2.2.1 + webpack: 5.89.0(@swc/core@1.3.14)(webpack-cli@5.1.4) + dev: true + + /htmlparser2@6.1.0: + resolution: {integrity: sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==} + dependencies: + domelementtype: 2.3.0 + domhandler: 4.3.1 + domutils: 2.8.0 + entities: 2.2.0 + dev: true + + /http-cache-semantics@4.1.1: + resolution: {integrity: sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==} + dev: true + + /http-deceiver@1.2.7: + resolution: {integrity: sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw==} + dev: true + + /http-errors@1.6.3: + resolution: {integrity: sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==} + engines: {node: '>= 0.6'} + dependencies: + depd: 1.1.2 + inherits: 2.0.3 + setprototypeof: 1.1.0 + statuses: 1.5.0 + dev: true + + /http-errors@2.0.0: + resolution: {integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==} + engines: {node: '>= 0.8'} + dependencies: + depd: 2.0.0 + inherits: 2.0.4 + setprototypeof: 1.2.0 + statuses: 2.0.1 + toidentifier: 1.0.1 + dev: true + + /http-parser-js@0.5.8: + resolution: {integrity: sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q==} + dev: true + + /http-proxy-middleware@2.0.6(@types/express@4.17.21): + resolution: {integrity: sha512-ya/UeJ6HVBYxrgYotAZo1KvPWlgB48kUJLDePFeneHsVujFaW5WNj2NgWCAE//B1Dl02BIfYlpNgBy8Kf8Rjmw==} + engines: {node: '>=12.0.0'} + peerDependencies: + '@types/express': ^4.17.13 + peerDependenciesMeta: + '@types/express': + optional: true + dependencies: + '@types/express': 4.17.21 + '@types/http-proxy': 1.17.14 + http-proxy: 1.18.1 + is-glob: 4.0.3 + is-plain-obj: 3.0.0 + micromatch: 4.0.5 + transitivePeerDependencies: + - debug + dev: true + + /http-proxy@1.18.1: + resolution: {integrity: sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==} + engines: {node: '>=8.0.0'} + dependencies: + eventemitter3: 4.0.7 + follow-redirects: 1.15.3 + requires-port: 1.0.0 + transitivePeerDependencies: + - debug + dev: true + + /human-signals@2.1.0: + resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} + engines: {node: '>=10.17.0'} + dev: true + + /iconv-lite@0.4.24: + resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} + engines: {node: '>=0.10.0'} + dependencies: + safer-buffer: 2.1.2 + + /iconv-lite@0.6.3: + resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==} + engines: {node: '>=0.10.0'} + dependencies: + safer-buffer: 2.1.2 + dev: true + optional: true + + /icss-utils@5.1.0(postcss@8.4.31): + resolution: {integrity: sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==} + engines: {node: ^10 || ^12 || >= 14} + peerDependencies: + postcss: ^8.1.0 + dependencies: + postcss: 8.4.31 + dev: true + + /image-size@0.5.5: + resolution: {integrity: sha512-6TDAlDPZxUFCv+fuOkIoXT/V/f3Qbq8e37p+YOiYrUv3v9cc3/6x78VdfPgFVaB9dZYeLUfKgHRebpkm/oP2VQ==} + engines: {node: '>=0.10.0'} + hasBin: true + requiresBuild: true + dev: true + optional: true + + /import-fresh@3.3.0: + resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} + engines: {node: '>=6'} + dependencies: + parent-module: 1.0.1 + resolve-from: 4.0.0 + dev: true + + /import-lazy@2.1.0: + resolution: {integrity: sha512-m7ZEHgtw69qOGw+jwxXkHlrlIPdTGkyh66zXZ1ajZbxkDBNjSY/LGbmjc7h0s2ELsUDTAhFr55TrPSSqJGPG0A==} + engines: {node: '>=4'} + dev: true + + /import-local@3.1.0: + resolution: {integrity: sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==} + engines: {node: '>=8'} + hasBin: true + dependencies: + pkg-dir: 4.2.0 + resolve-cwd: 3.0.0 + dev: true + + /imurmurhash@0.1.4: + resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} + engines: {node: '>=0.8.19'} + dev: true + + /indent-string@4.0.0: + resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==} + engines: {node: '>=8'} + dev: true + + /inflight@1.0.6: + resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} + dependencies: + once: 1.4.0 + wrappy: 1.0.2 + + /inherits@2.0.3: + resolution: {integrity: sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==} + dev: true + + /inherits@2.0.4: + resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} + + /ini@1.3.8: + resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==} + dev: true + + /ini@2.0.0: + resolution: {integrity: sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==} + engines: {node: '>=10'} + dev: true + + /internal-slot@1.0.6: + resolution: {integrity: sha512-Xj6dv+PsbtwyPpEflsejS+oIZxmMlV44zAhG479uYu89MsjcYOhCFnNyKrkJrihbsiasQyY0afoCl/9BLR65bg==} + engines: {node: '>= 0.4'} + dependencies: + get-intrinsic: 1.2.2 + hasown: 2.0.0 + side-channel: 1.0.4 + dev: false + + /internmap@1.0.1: + resolution: {integrity: sha512-lDB5YccMydFBtasVtxnZ3MRBHuaoE8GKsppq+EchKL2U4nK/DmEpPHNH8MZe5HkMtpSiTSOZwfN0tzYjO/lJEw==} + dev: false + + /interpret@3.1.1: + resolution: {integrity: sha512-6xwYfHbajpoF0xLW+iwLkhwgvLoZDfjYfoFNu8ftMoXINzwuymNLd9u/KmwtdT2GbR+/Cz66otEGEVVUHX9QLQ==} + engines: {node: '>=10.13.0'} + dev: true + + /ipaddr.js@1.9.1: + resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==} + engines: {node: '>= 0.10'} + dev: true + + /ipaddr.js@2.1.0: + resolution: {integrity: sha512-LlbxQ7xKzfBusov6UMi4MFpEg0m+mAm9xyNGEduwXMEDuf4WfzB/RZwMVYEd7IKGvh4IUkEXYxtAVu9T3OelJQ==} + engines: {node: '>= 10'} + dev: true + + /is-arguments@1.1.1: + resolution: {integrity: sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.5 + has-tostringtag: 1.0.0 + dev: false + + /is-array-buffer@3.0.2: + resolution: {integrity: sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==} + dependencies: + call-bind: 1.0.5 + get-intrinsic: 1.2.2 + is-typed-array: 1.1.12 + dev: false + + /is-arrayish@0.2.1: + resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} + dev: true + + /is-arrayish@0.3.2: + resolution: {integrity: sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==} + dev: false + + /is-bigint@1.0.4: + resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==} + dependencies: + has-bigints: 1.0.2 + dev: false + + /is-binary-path@2.1.0: + resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} + engines: {node: '>=8'} + dependencies: + binary-extensions: 2.2.0 + dev: true + + /is-boolean-object@1.1.2: + resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.5 + has-tostringtag: 1.0.0 + dev: false + + /is-buffer@1.1.6: + resolution: {integrity: sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==} + dev: false + + /is-callable@1.2.7: + resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} + engines: {node: '>= 0.4'} + dev: false + + /is-ci@2.0.0: + resolution: {integrity: sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==} + hasBin: true + dependencies: + ci-info: 2.0.0 + dev: true + + /is-core-module@2.13.1: + resolution: {integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==} + dependencies: + hasown: 2.0.0 + + /is-date-object@1.0.5: + resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==} + engines: {node: '>= 0.4'} + dependencies: + has-tostringtag: 1.0.0 + dev: false + + /is-docker@2.2.1: + resolution: {integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==} + engines: {node: '>=8'} + hasBin: true + dev: true + + /is-extglob@2.1.1: + resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} + engines: {node: '>=0.10.0'} + dev: true + + /is-fullwidth-code-point@3.0.0: + resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} + engines: {node: '>=8'} + dev: true + + /is-glob@4.0.3: + resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} + engines: {node: '>=0.10.0'} + dependencies: + is-extglob: 2.1.1 + dev: true + + /is-installed-globally@0.4.0: + resolution: {integrity: sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ==} + engines: {node: '>=10'} + dependencies: + global-dirs: 3.0.1 + is-path-inside: 3.0.3 + dev: true + + /is-negative-zero@2.0.2: + resolution: {integrity: sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==} + engines: {node: '>= 0.4'} + dev: false + + /is-npm@5.0.0: + resolution: {integrity: sha512-WW/rQLOazUq+ST/bCAVBp/2oMERWLsR7OrKyt052dNDk4DHcDE0/7QSXITlmi+VBcV13DfIbysG3tZJm5RfdBA==} + engines: {node: '>=10'} + dev: true + + /is-number-object@1.0.7: + resolution: {integrity: sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==} + engines: {node: '>= 0.4'} + dependencies: + has-tostringtag: 1.0.0 + dev: false + + /is-number@7.0.0: + resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} + engines: {node: '>=0.12.0'} + dev: true + + /is-obj@2.0.0: + resolution: {integrity: sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==} + engines: {node: '>=8'} + dev: true + + /is-path-inside@3.0.3: + resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} + engines: {node: '>=8'} + dev: true + + /is-plain-obj@3.0.0: + resolution: {integrity: sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==} + engines: {node: '>=10'} + dev: true + + /is-plain-object@2.0.4: + resolution: {integrity: sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==} + engines: {node: '>=0.10.0'} + dependencies: + isobject: 3.0.1 + dev: true + + /is-port-reachable@4.0.0: + resolution: {integrity: sha512-9UoipoxYmSk6Xy7QFgRv2HDyaysmgSG75TFQs6S+3pDM7ZhKTF/bskZV+0UlABHzKjNVhPjYCLfeZUEg1wXxig==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dev: true + + /is-regex@1.1.4: + resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.5 + has-tostringtag: 1.0.0 + dev: false + + /is-shared-array-buffer@1.0.2: + resolution: {integrity: sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==} + dependencies: + call-bind: 1.0.5 + dev: false + + /is-stream@2.0.1: + resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} + engines: {node: '>=8'} + dev: true + + /is-string@1.0.7: + resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==} + engines: {node: '>= 0.4'} + dependencies: + has-tostringtag: 1.0.0 + dev: false + + /is-symbol@1.0.4: + resolution: {integrity: sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==} + engines: {node: '>= 0.4'} + dependencies: + has-symbols: 1.0.3 + dev: false + + /is-typed-array@1.1.12: + resolution: {integrity: sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==} + engines: {node: '>= 0.4'} + dependencies: + which-typed-array: 1.1.13 + dev: false + + /is-typedarray@1.0.0: + resolution: {integrity: sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==} + dev: true + + /is-weakref@1.0.2: + resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==} + dependencies: + call-bind: 1.0.5 + dev: false + + /is-what@3.14.1: + resolution: {integrity: sha512-sNxgpk9793nzSs7bA6JQJGeIuRBQhAaNGG77kzYQgMkrID+lS6SlK07K5LaptscDlSaIgH+GPFzf+d75FVxozA==} + dev: true + + /is-wsl@2.2.0: + resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==} + engines: {node: '>=8'} + dependencies: + is-docker: 2.2.1 + dev: true + + /is-yarn-global@0.3.0: + resolution: {integrity: sha512-VjSeb/lHmkoyd8ryPVIKvOCn4D1koMqY+vqyjjUfc3xyKtP4dYOxM44sZrnqQSzSds3xyOrUTLTC9LVCVgLngw==} + dev: true + + /isarray@0.0.1: + resolution: {integrity: sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==} + dev: false + + /isarray@1.0.0: + resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==} + dev: true + + /isarray@2.0.5: + resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==} + dev: false + + /isexe@2.0.0: + resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} + dev: true + + /isobject@3.0.1: + resolution: {integrity: sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==} + engines: {node: '>=0.10.0'} + dev: true + + /jest-worker@27.5.1: + resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==} + engines: {node: '>= 10.13.0'} + dependencies: + '@types/node': 20.9.2 + merge-stream: 2.0.0 + supports-color: 8.1.1 + dev: true + + /js-tokens@4.0.0: + resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} + + /jsesc@0.5.0: + resolution: {integrity: sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==} + hasBin: true + dev: true + + /jsesc@2.5.2: + resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==} + engines: {node: '>=4'} + hasBin: true + + /json-buffer@3.0.0: + resolution: {integrity: sha512-CuUqjv0FUZIdXkHPI8MezCnFCdaTAacej1TZYulLoAg1h/PhwkdXFN4V/gzY4g+fMBCOV2xF+rp7t2XD2ns/NQ==} + dev: true + + /json-parse-even-better-errors@2.3.1: + resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} + dev: true + + /json-parse-even-better-errors@3.0.0: + resolution: {integrity: sha512-iZbGHafX/59r39gPwVPRBGw0QQKnA7tte5pSMrhWOW7swGsVvVTjmfyAV9pNqk8YGT7tRCdxRu8uzcgZwoDooA==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + dev: true + + /json-schema-traverse@0.4.1: + resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} + dev: true + + /json-schema-traverse@1.0.0: + resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==} + dev: true + + /json2module@0.0.3: + resolution: {integrity: sha512-qYGxqrRrt4GbB8IEOy1jJGypkNsjWoIMlZt4bAsmUScCA507Hbc2p1JOhBzqn45u3PWafUgH2OnzyNU7udO/GA==} + hasBin: true + dependencies: + rw: 1.3.3 + dev: false + + /json5@2.2.3: + resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} + engines: {node: '>=6'} + hasBin: true + + /jsonfile@6.1.0: + resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} + dependencies: + universalify: 2.0.1 + optionalDependencies: + graceful-fs: 4.2.11 + + /keyv@3.1.0: + resolution: {integrity: sha512-9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA==} + dependencies: + json-buffer: 3.0.0 + dev: true + + /kind-of@3.2.2: + resolution: {integrity: sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==} + engines: {node: '>=0.10.0'} + dependencies: + is-buffer: 1.1.6 + dev: false + + /kind-of@6.0.3: + resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==} + engines: {node: '>=0.10.0'} + dev: true + + /klona@2.0.6: + resolution: {integrity: sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA==} + engines: {node: '>= 8'} + dev: true + + /latest-version@5.1.0: + resolution: {integrity: sha512-weT+r0kTkRQdCdYCNtkMwWXQTMEswKrFBkm4ckQOMVhhqhIMI1UT2hMj+1iigIhgSZm5gTmrRXBNoGUgaTY1xA==} + engines: {node: '>=8'} + dependencies: + package-json: 6.5.0 + dev: true + + /launch-editor@2.6.1: + resolution: {integrity: sha512-eB/uXmFVpY4zezmGp5XtU21kwo7GBbKB+EQ+UZeWtGb9yAM5xt/Evk+lYH3eRNAtId+ej4u7TYPFZ07w4s7rRw==} + dependencies: + picocolors: 1.0.0 + shell-quote: 1.8.1 + dev: true + + /lazy-cache@1.0.4: + resolution: {integrity: sha512-RE2g0b5VGZsOCFOCgP7omTRYFqydmZkBwl5oNnQ1lDYC57uyO9KqNnNVxT7COSHTxrRCWVcAVOcbjk+tvh/rgQ==} + engines: {node: '>=0.10.0'} + dev: false + + /less-loader@11.1.0(less@4.2.0)(webpack@5.89.0): + resolution: {integrity: sha512-C+uDBV7kS7W5fJlUjq5mPBeBVhYpTIm5gB09APT9o3n/ILeaXVsiSFTbZpTJCJwQ/Crczfn3DmfQFwxYusWFug==} + engines: {node: '>= 14.15.0'} + peerDependencies: + less: ^3.5.0 || ^4.0.0 + webpack: ^5.0.0 + dependencies: + klona: 2.0.6 + less: 4.2.0 + webpack: 5.89.0(@swc/core@1.3.14)(webpack-cli@5.1.4) + dev: true + + /less@4.2.0: + resolution: {integrity: sha512-P3b3HJDBtSzsXUl0im2L7gTO5Ubg8mEN6G8qoTS77iXxXX4Hvu4Qj540PZDvQ8V6DmX6iXo98k7Md0Cm1PrLaA==} + engines: {node: '>=6'} + hasBin: true + dependencies: + copy-anything: 2.0.6 + parse-node-version: 1.0.1 + tslib: 2.6.2 + 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.2.0 + source-map: 0.6.1 + transitivePeerDependencies: + - supports-color + dev: true + + /lines-and-columns@1.2.4: + resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} + dev: true + + /listr2@5.0.8: + resolution: {integrity: sha512-mC73LitKHj9w6v30nLNGPetZIlfpUniNSsxxrbaPcWOjDb92SHPzJPi/t+v1YC/lxKz/AJ9egOjww0qUuFxBpA==} + engines: {node: ^14.13.1 || >=16.0.0} + peerDependencies: + enquirer: '>= 2.3.0 < 3' + peerDependenciesMeta: + enquirer: + optional: true + dependencies: + cli-truncate: 2.1.0 + colorette: 2.0.19 + log-update: 4.0.0 + p-map: 4.0.0 + rfdc: 1.3.0 + rxjs: 7.8.1 + through: 2.3.8 + wrap-ansi: 7.0.0 + dev: true + + /loader-runner@4.3.0: + resolution: {integrity: sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==} + engines: {node: '>=6.11.5'} + dev: true + + /loader-utils@2.0.4: + resolution: {integrity: sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==} + engines: {node: '>=8.9.0'} + dependencies: + big.js: 5.2.2 + emojis-list: 3.0.0 + json5: 2.2.3 + dev: true + + /locate-path@5.0.0: + resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} + engines: {node: '>=8'} + dependencies: + p-locate: 4.1.0 + dev: true + + /locate-path@6.0.0: + resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} + engines: {node: '>=10'} + dependencies: + p-locate: 5.0.0 + dev: true + + /lodash-es@4.17.21: + resolution: {integrity: sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==} + dev: false + + /lodash._reinterpolate@3.0.0: + resolution: {integrity: sha512-xYHt68QRoYGjeeM/XOE1uJtvXQAgvszfBhjV4yvsQH0u2i9I6cI6c6/eG4Hh3UAOVn0y/xAXwmTzEay49Q//HA==} + dev: true + + /lodash.debounce@4.0.8: + resolution: {integrity: sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==} + + /lodash.template@4.5.0: + resolution: {integrity: sha512-84vYFxIkmidUiFxidA/KjjH9pAycqW+h980j7Fuz5qxRtO9pgB7MDFTdys1N7A5mcucRiDyEq4fusljItR1T/A==} + dependencies: + lodash._reinterpolate: 3.0.0 + lodash.templatesettings: 4.2.0 + dev: true + + /lodash.templatesettings@4.2.0: + resolution: {integrity: sha512-stgLz+i3Aa9mZgnjr/O+v9ruKZsPsndy7qPZOchbqk2cnTU1ZaldKK+v7m54WoKIyxiuMZTKT2H81F8BeAc3ZQ==} + dependencies: + lodash._reinterpolate: 3.0.0 + dev: true + + /lodash@4.17.21: + resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} + + /log-update@4.0.0: + resolution: {integrity: sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg==} + engines: {node: '>=10'} + dependencies: + ansi-escapes: 4.3.2 + cli-cursor: 3.1.0 + slice-ansi: 4.0.0 + wrap-ansi: 6.2.0 + dev: true + + /longest@1.0.1: + resolution: {integrity: sha512-k+yt5n3l48JU4k8ftnKG6V7u32wyH2NfKzeMto9F/QRE0amxy/LayxwlvjjkZEIzqR+19IrtFO8p5kB9QaYUFg==} + engines: {node: '>=0.10.0'} + dev: false + + /loose-envify@1.4.0: + resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==} + hasBin: true + dependencies: + js-tokens: 4.0.0 + dev: false + + /lower-case@2.0.2: + resolution: {integrity: sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==} + dependencies: + tslib: 2.6.2 + dev: true + + /lowercase-keys@1.0.1: + resolution: {integrity: sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==} + engines: {node: '>=0.10.0'} + dev: true + + /lowercase-keys@2.0.0: + resolution: {integrity: sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==} + engines: {node: '>=8'} + dev: true + + /lru-cache@5.1.1: + resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} + dependencies: + yallist: 3.1.1 + + /lru-cache@6.0.0: + resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} + engines: {node: '>=10'} + dependencies: + yallist: 4.0.0 + dev: true + + /make-dir@2.1.0: + resolution: {integrity: sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==} + engines: {node: '>=6'} + requiresBuild: true + dependencies: + pify: 4.0.1 + semver: 5.7.2 + dev: true + optional: true + + /make-dir@3.1.0: + resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==} + engines: {node: '>=8'} + dependencies: + semver: 6.3.1 + dev: true + + /material-colors@1.2.6: + resolution: {integrity: sha512-6qE4B9deFBIa9YSpOc9O0Sgc43zTeVYbgDT5veRKSlB2+ZuHNoVVxA1L/ckMUayV9Ay9y7Z/SZCLcGteW9i7bg==} + dev: false + + /mdn-data@2.0.14: + resolution: {integrity: sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==} + dev: true + + /media-typer@0.3.0: + resolution: {integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==} + engines: {node: '>= 0.6'} + dev: true + + /memfs@3.5.3: + resolution: {integrity: sha512-UERzLsxzllchadvbPs5aolHh65ISpKpM+ccLbOJ8/vvpBKmAWf+la7dXFy7Mr0ySHbdHrFv5kGFCUHHe6GFEmw==} + engines: {node: '>= 4.0.0'} + dependencies: + fs-monkey: 1.0.5 + dev: true + + /merge-descriptors@1.0.1: + resolution: {integrity: sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==} + dev: true + + /merge-stream@2.0.0: + resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} + dev: true + + /methods@1.1.2: + resolution: {integrity: sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==} + engines: {node: '>= 0.6'} + dev: true + + /micromatch@4.0.5: + resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} + engines: {node: '>=8.6'} + dependencies: + braces: 3.0.2 + picomatch: 2.3.1 + dev: true + + /mime-db@1.33.0: + resolution: {integrity: sha512-BHJ/EKruNIqJf/QahvxwQZXKygOQ256myeN/Ew+THcAa5q+PjyTTMMeNQC4DZw5AwfvelsUrA6B67NKMqXDbzQ==} + engines: {node: '>= 0.6'} + dev: true + + /mime-db@1.52.0: + resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} + engines: {node: '>= 0.6'} + dev: true + + /mime-types@2.1.18: + resolution: {integrity: sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ==} + engines: {node: '>= 0.6'} + dependencies: + mime-db: 1.33.0 + dev: true + + /mime-types@2.1.35: + resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} + engines: {node: '>= 0.6'} + dependencies: + mime-db: 1.52.0 + dev: true + + /mime@1.6.0: + resolution: {integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==} + engines: {node: '>=4'} + hasBin: true + dev: true + + /mimic-fn@2.1.0: + resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} + engines: {node: '>=6'} + dev: true + + /mimic-response@1.0.1: + resolution: {integrity: sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==} + engines: {node: '>=4'} + dev: true + + /mini-create-react-context@0.4.1(prop-types@15.8.1)(react@17.0.2): + resolution: {integrity: sha512-YWCYEmd5CQeHGSAKrYvXgmzzkrvssZcuuQDDeqkT+PziKGMgE+0MCCtcKbROzocGBG1meBLl2FotlRwf4gAzbQ==} + deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info. + peerDependencies: + prop-types: ^15.0.0 + react: ^0.14.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 + dependencies: + '@babel/runtime': 7.23.2 + prop-types: 15.8.1 + react: 17.0.2 + tiny-warning: 1.0.3 + dev: false + + /mini-css-extract-plugin@2.6.1(webpack@5.89.0): + resolution: {integrity: sha512-wd+SD57/K6DiV7jIR34P+s3uckTRuQvx0tKPcvjFlrEylk6P4mQ2KSWk1hblj1Kxaqok7LogKOieygXqBczNlg==} + engines: {node: '>= 12.13.0'} + peerDependencies: + webpack: ^5.0.0 + dependencies: + schema-utils: 4.2.0 + webpack: 5.89.0(@swc/core@1.3.14)(webpack-cli@5.1.4) + dev: true + + /minimalistic-assert@1.0.1: + resolution: {integrity: sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==} + dev: true + + /minimatch@3.1.2: + resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} + dependencies: + brace-expansion: 1.1.11 + + /minimist@1.2.8: + resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} + + /mock-property@1.0.3: + resolution: {integrity: sha512-2emPTb1reeLLYwHxyVx993iYyCHEiRRO+y8NFXFPL5kl5q14sgTK76cXyEKkeKCHeRw35SfdkUJ10Q1KfHuiIQ==} + engines: {node: '>= 0.4'} + dependencies: + define-data-property: 1.1.1 + functions-have-names: 1.2.3 + gopd: 1.0.1 + has-property-descriptors: 1.0.1 + hasown: 2.0.0 + isarray: 2.0.5 + dev: false + + /mockjs@1.1.0: + resolution: {integrity: sha512-eQsKcWzIaZzEZ07NuEyO4Nw65g0hdWAyurVol1IPl1gahRwY+svqzfgfey8U8dahLwG44d6/RwEzuK52rSa/JQ==} + hasBin: true + dependencies: + commander: 10.0.1 + dev: false + + /mrmime@1.0.1: + resolution: {integrity: sha512-hzzEagAgDyoU1Q6yg5uI+AorQgdvMCur3FcKf7NhMKWsaYg+RnbTyHRa/9IlLF9rf455MOCtcqqrQQ83pPP7Uw==} + engines: {node: '>=10'} + dev: true + + /ms@2.0.0: + resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==} + dev: true + + /ms@2.1.2: + resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} + + /ms@2.1.3: + resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} + dev: true + + /multicast-dns@7.2.5: + resolution: {integrity: sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg==} + hasBin: true + dependencies: + dns-packet: 5.6.1 + thunky: 1.1.0 + dev: true + + /nanoid@3.3.7: + resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==} + engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} + hasBin: true + dev: true + + /needle@3.2.0: + resolution: {integrity: sha512-oUvzXnyLiVyVGoianLijF9O/RecZUf7TkBfimjGrLM4eQhXyeJwM6GeAWccwfQ9aa4gMCZKqhAOuLaMIcQxajQ==} + engines: {node: '>= 4.4.x'} + hasBin: true + requiresBuild: true + dependencies: + debug: 3.2.7 + iconv-lite: 0.6.3 + sax: 1.3.0 + transitivePeerDependencies: + - supports-color + dev: true + optional: true + + /negotiator@0.6.3: + resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==} + engines: {node: '>= 0.6'} + dev: true + + /neo-async@2.6.2: + resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==} + dev: true + + /no-case@3.0.4: + resolution: {integrity: sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==} + dependencies: + lower-case: 2.0.2 + tslib: 2.6.2 + dev: true + + /node-forge@1.3.1: + resolution: {integrity: sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==} + engines: {node: '>= 6.13.0'} + dev: true + + /node-releases@2.0.13: + resolution: {integrity: sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==} + + /normalize-path@3.0.0: + resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} + engines: {node: '>=0.10.0'} + dev: true + + /normalize-url@4.5.1: + resolution: {integrity: sha512-9UZCFRHQdNrfTpGg8+1INIg93B6zE0aXMVFkw1WFwvO4SlZywU6aLg5Of0Ap/PgcbSw4LNxvMWXMeugwMCX0AA==} + engines: {node: '>=8'} + dev: true + + /npm-run-path@4.0.1: + resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} + engines: {node: '>=8'} + dependencies: + path-key: 3.1.1 + dev: true + + /nprogress@0.2.0: + resolution: {integrity: sha512-I19aIingLgR1fmhftnbWWO3dXc0hSxqHQHQb3H8m+K3TnEn/iSeTZZOyvKXWqQESMwuUVnatlCnZdLBZZt2VSA==} + dev: false + + /nth-check@2.1.1: + resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==} + dependencies: + boolbase: 1.0.0 + dev: true + + /number-precision@1.6.0: + resolution: {integrity: sha512-05OLPgbgmnixJw+VvEh18yNPUo3iyp4BEWJcrLu4X9W05KmMifN7Mu5exYvQXqxxeNWhvIF+j3Rij+HmddM/hQ==} + dev: false + + /object-assign@4.1.1: + resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} + engines: {node: '>=0.10.0'} + dev: false + + /object-inspect@1.12.3: + resolution: {integrity: sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==} + dev: false + + /object-inspect@1.13.1: + resolution: {integrity: sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==} + + /object-is@1.1.5: + resolution: {integrity: sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.5 + define-properties: 1.2.1 + dev: false + + /object-keys@1.1.1: + resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} + engines: {node: '>= 0.4'} + dev: false + + /object.assign@4.1.4: + resolution: {integrity: sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.5 + define-properties: 1.2.1 + has-symbols: 1.0.3 + object-keys: 1.1.1 + dev: false + + /obuf@1.1.2: + resolution: {integrity: sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==} + dev: true + + /on-finished@2.4.1: + resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==} + engines: {node: '>= 0.8'} + dependencies: + ee-first: 1.1.1 + dev: true + + /on-headers@1.0.2: + resolution: {integrity: sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==} + engines: {node: '>= 0.8'} + dev: true + + /once@1.4.0: + resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} + dependencies: + wrappy: 1.0.2 + + /onetime@5.1.2: + resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} + engines: {node: '>=6'} + dependencies: + mimic-fn: 2.1.0 + dev: true + + /open@8.4.2: + resolution: {integrity: sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==} + engines: {node: '>=12'} + dependencies: + define-lazy-prop: 2.0.0 + is-docker: 2.2.1 + is-wsl: 2.2.0 + dev: true + + /opener@1.5.2: + resolution: {integrity: sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==} + hasBin: true + dev: true + + /p-cancelable@1.1.0: + resolution: {integrity: sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw==} + engines: {node: '>=6'} + dev: true + + /p-limit@2.3.0: + resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} + engines: {node: '>=6'} + dependencies: + p-try: 2.2.0 + dev: true + + /p-limit@3.1.0: + resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} + engines: {node: '>=10'} + dependencies: + yocto-queue: 0.1.0 + dev: true + + /p-locate@4.1.0: + resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==} + engines: {node: '>=8'} + dependencies: + p-limit: 2.3.0 + dev: true + + /p-locate@5.0.0: + resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} + engines: {node: '>=10'} + dependencies: + p-limit: 3.1.0 + dev: true + + /p-map@4.0.0: + resolution: {integrity: sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==} + engines: {node: '>=10'} + dependencies: + aggregate-error: 3.1.0 + dev: true + + /p-retry@4.6.2: + resolution: {integrity: sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ==} + engines: {node: '>=8'} + dependencies: + '@types/retry': 0.12.0 + retry: 0.13.1 + dev: true + + /p-try@2.2.0: + resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} + engines: {node: '>=6'} + dev: true + + /package-json@6.5.0: + resolution: {integrity: sha512-k3bdm2n25tkyxcjSKzB5x8kfVxlMdgsbPr0GkZcwHsLpba6cBjqCt1KlcChKEvxHIcTB1FVMuwoijZ26xex5MQ==} + engines: {node: '>=8'} + dependencies: + got: 9.6.0 + registry-auth-token: 4.2.2 + registry-url: 5.1.0 + semver: 6.3.1 + dev: true + + /param-case@3.0.4: + resolution: {integrity: sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==} + dependencies: + dot-case: 3.0.4 + tslib: 2.6.2 + dev: true + + /parent-module@1.0.1: + resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} + engines: {node: '>=6'} + dependencies: + callsites: 3.1.0 + dev: true + + /parse-json@5.2.0: + resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} + engines: {node: '>=8'} + dependencies: + '@babel/code-frame': 7.22.13 + error-ex: 1.3.2 + json-parse-even-better-errors: 2.3.1 + lines-and-columns: 1.2.4 + dev: true + + /parse-node-version@1.0.1: + resolution: {integrity: sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA==} + engines: {node: '>= 0.10'} + dev: true + + /parse-svg-path@0.1.2: + resolution: {integrity: sha512-JyPSBnkTJ0AI8GGJLfMXvKq42cj5c006fnLz6fXy6zfoVjJizi8BNTpu8on8ziI1cKy9d9DGNuY17Ce7wuejpQ==} + dev: false + + /parse5@7.1.1: + resolution: {integrity: sha512-kwpuwzB+px5WUg9pyK0IcK/shltJN5/OVhQagxhCQNtT9Y9QRZqNY2e1cmbu/paRh5LMnz/oVTVLBpjFmMZhSg==} + dependencies: + entities: 4.5.0 + dev: true + + /parseurl@1.3.3: + resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==} + engines: {node: '>= 0.8'} + dev: true + + /pascal-case@3.1.2: + resolution: {integrity: sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==} + dependencies: + no-case: 3.0.4 + tslib: 2.6.2 + dev: true + + /path-exists@4.0.0: + resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} + engines: {node: '>=8'} + dev: true + + /path-is-absolute@1.0.1: + resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} + engines: {node: '>=0.10.0'} + + /path-is-inside@1.0.2: + resolution: {integrity: sha512-DUWJr3+ULp4zXmol/SZkFf3JGsS9/SIv+Y3Rt93/UjPpDpklB5f1er4O3POIbUuUJ3FXgqte2Q7SrU6zAqwk8w==} + dev: true + + /path-key@3.1.1: + resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} + engines: {node: '>=8'} + dev: true + + /path-parse@1.0.7: + resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} + + /path-to-regexp@0.1.7: + resolution: {integrity: sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==} + dev: true + + /path-to-regexp@1.8.0: + resolution: {integrity: sha512-n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA==} + dependencies: + isarray: 0.0.1 + dev: false + + /path-to-regexp@2.2.1: + resolution: {integrity: sha512-gu9bD6Ta5bwGrrU8muHzVOBFFREpp2iRkVfhBJahwJ6p6Xw20SjT0MxLnwkjOibQmGSYhiUnf2FLe7k+jcFmGQ==} + dev: true + + /path-type@4.0.0: + resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} + engines: {node: '>=8'} + dev: true + + /pdfast@0.2.0: + resolution: {integrity: sha512-cq6TTu6qKSFUHwEahi68k/kqN2mfepjkGrG9Un70cgdRRKLKY6Rf8P8uvP2NvZktaQZNF3YE7agEkLj0vGK9bA==} + dev: false + + /picocolors@1.0.0: + resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} + + /picomatch@2.3.1: + resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} + engines: {node: '>=8.6'} + dev: true + + /pify@4.0.1: + resolution: {integrity: sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==} + engines: {node: '>=6'} + dev: true + optional: true + + /pkg-dir@4.2.0: + resolution: {integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==} + engines: {node: '>=8'} + dependencies: + find-up: 4.1.0 + dev: true + + /point-at-length@1.1.0: + resolution: {integrity: sha512-nNHDk9rNEh/91o2Y8kHLzBLNpLf80RYd2gCun9ss+V0ytRSf6XhryBTx071fesktjbachRmGuUbId+JQmzhRXw==} + dependencies: + abs-svg-path: 0.1.1 + isarray: 0.0.1 + parse-svg-path: 0.1.2 + dev: false + + /point-in-polygon@1.1.0: + resolution: {integrity: sha512-3ojrFwjnnw8Q9242TzgXuTD+eKiutbzyslcq1ydfu82Db2y+Ogbmyrkpv0Hgj31qwT3lbS9+QAAO/pIQM35XRw==} + dev: false + + /polygon-clipping@0.15.3: + resolution: {integrity: sha512-ho0Xx5DLkgxRx/+n4O74XyJ67DcyN3Tu9bGYKsnTukGAW6ssnuak6Mwcyb1wHy9MZc9xsUWqIoiazkZB5weECg==} + dependencies: + splaytree: 3.1.2 + dev: false + + /postcss-loader@7.0.2(postcss@8.4.31)(webpack@5.89.0): + resolution: {integrity: sha512-fUJzV/QH7NXUAqV8dWJ9Lg4aTkDCezpTS5HgJ2DvqznexTbSTxgi/dTECvTZ15BwKTtk8G/bqI/QTu2HPd3ZCg==} + engines: {node: '>= 14.15.0'} + peerDependencies: + postcss: ^7.0.0 || ^8.0.1 + webpack: ^5.0.0 + dependencies: + cosmiconfig: 7.1.0 + klona: 2.0.6 + postcss: 8.4.31 + semver: 7.5.4 + webpack: 5.89.0(@swc/core@1.3.14)(webpack-cli@5.1.4) + dev: true + + /postcss-modules-extract-imports@3.0.0(postcss@8.4.31): + resolution: {integrity: sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==} + engines: {node: ^10 || ^12 || >= 14} + peerDependencies: + postcss: ^8.1.0 + dependencies: + postcss: 8.4.31 + dev: true + + /postcss-modules-local-by-default@4.0.3(postcss@8.4.31): + resolution: {integrity: sha512-2/u2zraspoACtrbFRnTijMiQtb4GW4BvatjaG/bCjYQo8kLTdevCUlwuBHx2sCnSyrI3x3qj4ZK1j5LQBgzmwA==} + engines: {node: ^10 || ^12 || >= 14} + peerDependencies: + postcss: ^8.1.0 + dependencies: + icss-utils: 5.1.0(postcss@8.4.31) + postcss: 8.4.31 + postcss-selector-parser: 6.0.13 + postcss-value-parser: 4.2.0 + dev: true + + /postcss-modules-scope@3.0.0(postcss@8.4.31): + resolution: {integrity: sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg==} + engines: {node: ^10 || ^12 || >= 14} + peerDependencies: + postcss: ^8.1.0 + dependencies: + postcss: 8.4.31 + postcss-selector-parser: 6.0.13 + dev: true + + /postcss-modules-values@4.0.0(postcss@8.4.31): + resolution: {integrity: sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==} + engines: {node: ^10 || ^12 || >= 14} + peerDependencies: + postcss: ^8.1.0 + dependencies: + icss-utils: 5.1.0(postcss@8.4.31) + postcss: 8.4.31 + dev: true + + /postcss-selector-parser@6.0.13: + resolution: {integrity: sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ==} + engines: {node: '>=4'} + dependencies: + cssesc: 3.0.0 + util-deprecate: 1.0.2 + dev: true + + /postcss-value-parser@4.2.0: + resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} + dev: true + + /postcss@8.4.31: + resolution: {integrity: sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==} + engines: {node: ^10 || ^12 || >=14} + dependencies: + nanoid: 3.3.7 + picocolors: 1.0.0 + source-map-js: 1.0.2 + dev: true + + /prepend-http@2.0.0: + resolution: {integrity: sha512-ravE6m9Atw9Z/jjttRUZ+clIXogdghyZAuWJ3qEzjT+jI/dL1ifAqhZeC5VHzQp1MSt1+jxKkFNemj/iO7tVUA==} + engines: {node: '>=4'} + dev: true + + /pretty-error@4.0.0: + resolution: {integrity: sha512-AoJ5YMAcXKYxKhuJGdcvse+Voc6v1RgnsR3nWcYU7q4t6z0Q6T86sv5Zq8VIRbOWWFpvdGE83LtdSMNd+6Y0xw==} + dependencies: + lodash: 4.17.21 + renderkid: 3.0.0 + dev: true + + /process-nextick-args@2.0.1: + resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==} + dev: true + + /prop-types@15.8.1: + resolution: {integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==} + dependencies: + loose-envify: 1.4.0 + object-assign: 4.1.1 + react-is: 16.13.1 + dev: false + + /proxy-addr@2.0.7: + resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==} + engines: {node: '>= 0.10'} + dependencies: + forwarded: 0.2.0 + ipaddr.js: 1.9.1 + dev: true + + /prr@1.0.1: + resolution: {integrity: sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==} + dev: true + optional: true + + /pump@3.0.0: + resolution: {integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==} + dependencies: + end-of-stream: 1.4.4 + once: 1.4.0 + dev: true + + /punycode@1.4.1: + resolution: {integrity: sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==} + dev: true + + /punycode@2.3.1: + resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} + engines: {node: '>=6'} + dev: true + + /pupa@2.1.1: + resolution: {integrity: sha512-l1jNAspIBSFqbT+y+5FosojNpVpF94nlI+wDUpqP9enwOTfHx9f0gh5nB96vl+6yTpsJsypeNrwfzPrKuHB41A==} + engines: {node: '>=8'} + dependencies: + escape-goat: 2.1.1 + dev: true + + /qs@6.10.3: + resolution: {integrity: sha512-wr7M2E0OFRfIfJZjKGieI8lBKb7fRCH4Fv5KNPEs7gJ8jadvotdsS08PzOKR7opXhZ/Xkjtt3WF9g38drmyRqQ==} + engines: {node: '>=0.6'} + dependencies: + side-channel: 1.0.4 + dev: true + + /query-string@6.14.1: + resolution: {integrity: sha512-XDxAeVmpfu1/6IjyT/gXHOl+S0vQ9owggJ30hhWKdHAsNPOcasn5o9BW0eejZqL2e4vMjhAxoW3jVHcD6mbcYw==} + engines: {node: '>=6'} + dependencies: + decode-uri-component: 0.2.2 + filter-obj: 1.1.0 + split-on-first: 1.1.0 + strict-uri-encode: 2.0.0 + dev: false + + /quickselect@1.1.1: + resolution: {integrity: sha512-qN0Gqdw4c4KGPsBOQafj6yj/PA6c/L63f6CaZ/DCF/xF4Esu3jVmKLUDYxghFx8Kb/O7y9tI7x2RjTSXwdK1iQ==} + dev: false + + /quickselect@2.0.0: + resolution: {integrity: sha512-RKJ22hX8mHe3Y6wH/N3wCM6BWtjaxIyyUIkpHOvfFnxdI4yD4tBXEBKSbriGujF6jnSVkJrffuo6vxACiSSxIw==} + dev: false + + /randombytes@2.1.0: + resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==} + dependencies: + safe-buffer: 5.2.1 + dev: true + + /range-parser@1.2.0: + resolution: {integrity: sha512-kA5WQoNVo4t9lNx2kQNFCxKeBl5IbbSNBl1M/tLkw9WCn+hxNBAW5Qh8gdhs63CJnhjJ2zQWFoqPJP2sK1AV5A==} + engines: {node: '>= 0.6'} + dev: true + + /range-parser@1.2.1: + resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==} + engines: {node: '>= 0.6'} + dev: true + + /raw-body@2.5.1: + resolution: {integrity: sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==} + engines: {node: '>= 0.8'} + dependencies: + bytes: 3.1.2 + http-errors: 2.0.0 + iconv-lite: 0.4.24 + unpipe: 1.0.0 + dev: true + + /rbush@2.0.2: + resolution: {integrity: sha512-XBOuALcTm+O/H8G90b6pzu6nX6v2zCKiFG4BJho8a+bY6AER6t8uQUZdi5bomQc0AprCWhEGa7ncAbbRap0bRA==} + dependencies: + quickselect: 1.1.1 + dev: false + + /rbush@3.0.1: + resolution: {integrity: sha512-XRaVO0YecOpEuIvbhbpTrZgoiI6xBlz6hnlr6EHhd+0x9ase6EmeN+hdwwUaJvLcsFFQ8iWVF1GAK1yB0BWi0w==} + dependencies: + quickselect: 2.0.0 + dev: false + + /rc@1.2.8: + resolution: {integrity: sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==} + hasBin: true + dependencies: + deep-extend: 0.6.0 + ini: 1.3.8 + minimist: 1.2.8 + strip-json-comments: 2.0.1 + dev: true + + /react-clientside-effect@1.2.6(react@17.0.2): + resolution: {integrity: sha512-XGGGRQAKY+q25Lz9a/4EPqom7WRjz3z9R2k4jhVKA/puQFH/5Nt27vFZYql4m4NVNdUvX8PS3O7r/Zzm7cjUlg==} + peerDependencies: + react: ^15.3.0 || ^16.0.0 || ^17.0.0 || ^18.0.0 + dependencies: + '@babel/runtime': 7.23.2 + react: 17.0.2 + dev: false + + /react-color@2.19.3(react@17.0.2): + resolution: {integrity: sha512-LEeGE/ZzNLIsFWa1TMe8y5VYqr7bibneWmvJwm1pCn/eNmrabWDh659JSPn9BuaMpEfU83WTOJfnCcjDZwNQTA==} + peerDependencies: + react: '*' + dependencies: + '@icons/material': 0.2.4(react@17.0.2) + lodash: 4.17.21 + lodash-es: 4.17.21 + material-colors: 1.2.6 + prop-types: 15.8.1 + react: 17.0.2 + reactcss: 1.2.3(react@17.0.2) + tinycolor2: 1.6.0 + dev: false + + /react-dom@17.0.2(react@17.0.2): + resolution: {integrity: sha512-s4h96KtLDUQlsENhMn1ar8t2bEa+q/YAtj8pPPdIjPDGBDIVNsrD9aXNWqspUe6AzKCIG0C1HZZLqLV7qpOBGA==} + peerDependencies: + react: 17.0.2 + dependencies: + loose-envify: 1.4.0 + object-assign: 4.1.1 + react: 17.0.2 + scheduler: 0.20.2 + dev: false + + /react-error-boundary@3.0.2(react@17.0.2): + resolution: {integrity: sha512-KVzCusRTFpUYG0OFJbzbdRuxNQOBiGXVCqyNpBXM9z5NFsFLzMjUXMjx8gTja6M6WH+D2PvP3yKz4d8gD1PRaA==} + engines: {node: '>=10', npm: '>=6'} + peerDependencies: + react: '>=16.13.1' + dependencies: + '@babel/runtime': 7.23.2 + react: 17.0.2 + dev: false + + /react-focus-lock@2.9.6(react@17.0.2): + resolution: {integrity: sha512-B7gYnCjHNrNYwY2juS71dHbf0+UpXXojt02svxybj8N5bxceAkzPChKEncHuratjUHkIFNCn06k2qj1DRlzTug==} + peerDependencies: + '@types/react': ^16.8.0 || ^17.0.0 || ^18.0.0 + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + peerDependenciesMeta: + '@types/react': + optional: true + dependencies: + '@babel/runtime': 7.23.2 + focus-lock: 1.0.0 + prop-types: 15.8.1 + react: 17.0.2 + react-clientside-effect: 1.2.6(react@17.0.2) + use-callback-ref: 1.3.0(react@17.0.2) + use-sidecar: 1.1.2(react@17.0.2) + dev: false + + /react-is@16.13.1: + resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==} + dev: false + + /react-is@17.0.2: + resolution: {integrity: sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==} + dev: false + + /react-reconciler@0.25.1(react@17.0.2): + resolution: {integrity: sha512-R5UwsIvRcSs3w8n9k3tBoTtUHdVhu9u84EG7E5M0Jk9F5i6DA1pQzPfUZd6opYWGy56MJOtV3VADzy6DRwYDjw==} + engines: {node: '>=0.10.0'} + peerDependencies: + react: ^16.13.1 + dependencies: + loose-envify: 1.4.0 + object-assign: 4.1.1 + prop-types: 15.8.1 + react: 17.0.2 + scheduler: 0.19.1 + dev: false + + /react-redux@7.2.6(react-dom@17.0.2)(react@17.0.2): + resolution: {integrity: sha512-10RPdsz0UUrRL1NZE0ejTkucnclYSgXp5q+tB5SWx2qeG2ZJQJyymgAhwKy73yiL/13btfB6fPr+rgbMAaZIAQ==} + peerDependencies: + react: ^16.8.3 || ^17 + react-dom: '*' + react-native: '*' + peerDependenciesMeta: + react-dom: + optional: true + react-native: + optional: true + dependencies: + '@babel/runtime': 7.23.2 + '@types/react-redux': 7.1.30 + hoist-non-react-statics: 3.3.2 + loose-envify: 1.4.0 + prop-types: 15.8.1 + react: 17.0.2 + react-dom: 17.0.2(react@17.0.2) + react-is: 17.0.2 + dev: false + + /react-refresh@0.14.0: + resolution: {integrity: sha512-wViHqhAd8OHeLS/IRMJjTSDHF3U9eWi62F/MledQGPdJGDhodXJ9PBLNGr6WWL7qlH12Mt3TyTpbS+hGXMjCzQ==} + engines: {node: '>=0.10.0'} + dev: true + + /react-router-dom@5.3.0(react@17.0.2): + resolution: {integrity: sha512-ObVBLjUZsphUUMVycibxgMdh5jJ1e3o+KpAZBVeHcNQZ4W+uUGGWsokurzlF4YOldQYRQL4y6yFRWM4m3svmuQ==} + peerDependencies: + react: '>=15' + dependencies: + '@babel/runtime': 7.23.2 + history: 4.10.1 + loose-envify: 1.4.0 + prop-types: 15.8.1 + react: 17.0.2 + react-router: 5.2.1(react@17.0.2) + tiny-invariant: 1.3.1 + tiny-warning: 1.0.3 + dev: false + + /react-router@5.2.1(react@17.0.2): + resolution: {integrity: sha512-lIboRiOtDLFdg1VTemMwud9vRVuOCZmUIT/7lUoZiSpPODiiH1UQlfXy+vPLC/7IWdFYnhRwAyNqA/+I7wnvKQ==} + peerDependencies: + react: '>=15' + dependencies: + '@babel/runtime': 7.23.2 + history: 4.10.1 + hoist-non-react-statics: 3.3.2 + loose-envify: 1.4.0 + mini-create-react-context: 0.4.1(prop-types@15.8.1)(react@17.0.2) + path-to-regexp: 1.8.0 + prop-types: 15.8.1 + react: 17.0.2 + react-is: 16.13.1 + tiny-invariant: 1.3.1 + tiny-warning: 1.0.3 + dev: false + + /react-transition-group@4.4.5(react-dom@17.0.2)(react@17.0.2): + resolution: {integrity: sha512-pZcd1MCJoiKiBR2NRxeCRg13uCXbydPnmB4EOeRrY7480qNWO8IIgQG6zlDkm6uRMsURXPuKq0GWtiM59a5Q6g==} + peerDependencies: + react: '>=16.6.0' + react-dom: '>=16.6.0' + dependencies: + '@babel/runtime': 7.23.2 + dom-helpers: 5.2.1 + loose-envify: 1.4.0 + prop-types: 15.8.1 + react: 17.0.2 + react-dom: 17.0.2(react@17.0.2) + dev: false + + /react@17.0.2: + resolution: {integrity: sha512-gnhPt75i/dq/z3/6q/0asP78D0u592D5L1pd7M8P+dck6Fu/jJeL6iVVK23fptSUZj8Vjf++7wXA8UNclGQcbA==} + engines: {node: '>=0.10.0'} + dependencies: + loose-envify: 1.4.0 + object-assign: 4.1.1 + dev: false + + /reactcss@1.2.3(react@17.0.2): + resolution: {integrity: sha512-KiwVUcFu1RErkI97ywr8nvx8dNOpT03rbnma0SSalTYjkrPYaEajR4a/MRt6DZ46K6arDRbWMNHF+xH7G7n/8A==} + peerDependencies: + react: '*' + dependencies: + lodash: 4.17.21 + react: 17.0.2 + dev: false + + /readable-stream@2.3.8: + resolution: {integrity: sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==} + 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 + dev: true + + /readable-stream@3.6.2: + resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} + engines: {node: '>= 6'} + dependencies: + inherits: 2.0.4 + string_decoder: 1.3.0 + util-deprecate: 1.0.2 + dev: true + + /readdirp@3.6.0: + resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} + engines: {node: '>=8.10.0'} + dependencies: + picomatch: 2.3.1 + dev: true + + /rechoir@0.8.0: + resolution: {integrity: sha512-/vxpCXddiX8NGfGO/mTafwjq4aFa/71pvamip0++IQk3zG8cbCj0fifNPrjjF1XMXUne91jL9OoxmdykoEtifQ==} + engines: {node: '>= 10.13.0'} + dependencies: + resolve: 1.22.8 + dev: true + + /redux@4.1.2: + resolution: {integrity: sha512-SH8PglcebESbd/shgf6mii6EIoRM0zrQyjcuQ+ojmfxjTtE0z9Y8pa62iA/OJ58qjP6j27uyW4kUF4jl/jd6sw==} + dependencies: + '@babel/runtime': 7.23.2 + dev: false + + /regenerate-unicode-properties@10.1.1: + resolution: {integrity: sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q==} + engines: {node: '>=4'} + dependencies: + regenerate: 1.4.2 + dev: true + + /regenerate@1.4.2: + resolution: {integrity: sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==} + dev: true + + /regenerator-runtime@0.13.9: + resolution: {integrity: sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==} + dev: false + + /regenerator-runtime@0.14.0: + resolution: {integrity: sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA==} + + /regenerator-transform@0.15.2: + resolution: {integrity: sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==} + dependencies: + '@babel/runtime': 7.23.2 + dev: true + + /regexp.prototype.flags@1.5.1: + resolution: {integrity: sha512-sy6TXMN+hnP/wMy+ISxg3krXx7BAtWVO4UouuCN/ziM9UEne0euamVNafDfvC83bRNr95y0V5iijeDQFUNpvrg==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.5 + define-properties: 1.2.1 + set-function-name: 2.0.1 + dev: false + + /regexpu-core@5.3.2: + resolution: {integrity: sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==} + engines: {node: '>=4'} + dependencies: + '@babel/regjsgen': 0.8.0 + regenerate: 1.4.2 + regenerate-unicode-properties: 10.1.1 + regjsparser: 0.9.1 + unicode-match-property-ecmascript: 2.0.0 + unicode-match-property-value-ecmascript: 2.1.0 + dev: true + + /registry-auth-token@3.3.2: + resolution: {integrity: sha512-JL39c60XlzCVgNrO+qq68FoNb56w/m7JYvGR2jT5iR1xBrUA3Mfx5Twk5rqTThPmQKMWydGmq8oFtDlxfrmxnQ==} + dependencies: + rc: 1.2.8 + safe-buffer: 5.2.1 + dev: true + + /registry-auth-token@4.2.2: + resolution: {integrity: sha512-PC5ZysNb42zpFME6D/XlIgtNGdTl8bBOCw90xQLVMpzuuubJKYDWFAEuUNc+Cn8Z8724tg2SDhDRrkVEsqfDMg==} + engines: {node: '>=6.0.0'} + dependencies: + rc: 1.2.8 + dev: true + + /registry-url@3.1.0: + resolution: {integrity: sha512-ZbgR5aZEdf4UKZVBPYIgaglBmSF2Hi94s2PcIHhRGFjKYu+chjJdYfHn4rt3hB6eCKLJ8giVIIfgMa1ehDfZKA==} + engines: {node: '>=0.10.0'} + dependencies: + rc: 1.2.8 + dev: true + + /registry-url@5.1.0: + resolution: {integrity: sha512-8acYXXTI0AkQv6RAOjE3vOaIXZkT9wo4LOFbBKYQEEnnMNBpKqdUrI6S4NT0KPIo/WVvJ5tE/X5LF/TQUf0ekw==} + engines: {node: '>=8'} + dependencies: + rc: 1.2.8 + dev: true + + /regjsparser@0.9.1: + resolution: {integrity: sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==} + hasBin: true + dependencies: + jsesc: 0.5.0 + dev: true + + /regression@2.0.1: + resolution: {integrity: sha512-A4XYsc37dsBaNOgEjkJKzfJlE394IMmUPlI/p3TTI9u3T+2a+eox5Pr/CPUqF0eszeWZJPAc6QkroAhuUpWDJQ==} + dev: false + + /relateurl@0.2.7: + resolution: {integrity: sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==} + engines: {node: '>= 0.10'} + dev: true + + /renderkid@3.0.0: + resolution: {integrity: sha512-q/7VIQA8lmM1hF+jn+sFSPWGlMkSAeNYcPLmDQx2zzuiDfaLrOmumR8iaUKlenFgh0XRPIUeSPlH3A+AW3Z5pg==} + dependencies: + css-select: 4.3.0 + dom-converter: 0.2.0 + htmlparser2: 6.1.0 + lodash: 4.17.21 + strip-ansi: 6.0.1 + dev: true + + /repeat-string@1.6.1: + resolution: {integrity: sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==} + engines: {node: '>=0.10'} + dev: false + + /require-directory@2.1.1: + resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} + engines: {node: '>=0.10.0'} + dev: true + + /require-from-string@2.0.2: + resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} + engines: {node: '>=0.10.0'} + dev: true + + /requires-port@1.0.0: + resolution: {integrity: sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==} + dev: true + + /resize-observer-polyfill@1.5.1: + resolution: {integrity: sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg==} + dev: false + + /resolve-cwd@3.0.0: + resolution: {integrity: sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==} + engines: {node: '>=8'} + dependencies: + resolve-from: 5.0.0 + dev: true + + /resolve-from@4.0.0: + resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} + engines: {node: '>=4'} + dev: true + + /resolve-from@5.0.0: + resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==} + engines: {node: '>=8'} + dev: true + + /resolve-pathname@3.0.0: + resolution: {integrity: sha512-C7rARubxI8bXFNB/hqcp/4iUeIXJhJZvFPFPiSPRnhU5UPxzMFIl+2E6yY6c4k9giDJAhtV+enfA+G89N6Csng==} + dev: false + + /resolve@1.22.8: + resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==} + hasBin: true + dependencies: + is-core-module: 2.13.1 + path-parse: 1.0.7 + supports-preserve-symlinks-flag: 1.0.0 + + /responselike@1.0.2: + resolution: {integrity: sha512-/Fpe5guzJk1gPqdJLJR5u7eG/gNY4nImjbRDaVWVMRhne55TCmj2i9Q+54PBRfatRC8v/rIiv9BN0pMd9OV5EQ==} + dependencies: + lowercase-keys: 1.0.1 + dev: true + + /restore-cursor@3.1.0: + resolution: {integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==} + engines: {node: '>=8'} + dependencies: + onetime: 5.1.2 + signal-exit: 3.0.7 + dev: true + + /retry@0.13.1: + resolution: {integrity: sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==} + engines: {node: '>= 4'} + dev: true + + /rfdc@1.3.0: + resolution: {integrity: sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==} + dev: true + + /right-align@0.1.3: + resolution: {integrity: sha512-yqINtL/G7vs2v+dFIZmFUDbnVyFUJFKd6gK22Kgo6R4jfJGFtisKyncWDDULgjfqf4ASQuIQyjJ7XZ+3aWpsAg==} + engines: {node: '>=0.10.0'} + dependencies: + align-text: 0.1.4 + dev: false + + /rimraf@3.0.2: + resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} + hasBin: true + dependencies: + glob: 7.2.3 + dev: true + + /robust-predicates@2.0.4: + resolution: {integrity: sha512-l4NwboJM74Ilm4VKfbAtFeGq7aEjWL+5kVFcmgFA2MrdnQWx9iE/tUGvxY5HyMI7o/WpSIUFLbC5fbeaHgSCYg==} + dev: false + + /rollup@0.25.8: + resolution: {integrity: sha512-a2S4Bh3bgrdO4BhKr2E4nZkjTvrJ2m2bWjMTzVYtoqSCn0HnuxosXnaJUHrMEziOWr3CzL9GjilQQKcyCQpJoA==} + hasBin: true + dependencies: + chalk: 1.1.3 + minimist: 1.2.8 + source-map-support: 0.3.3 + dev: false + + /rw@1.3.3: + resolution: {integrity: sha512-PdhdWy89SiZogBLaw42zdeqtRJ//zFd2PgQavcICDUgJT5oW10QCRKbJ6bg4r0/UY2M6BWd5tkxuGFRvCkgfHQ==} + dev: false + + /rxjs@7.8.1: + resolution: {integrity: sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==} + dependencies: + tslib: 2.6.2 + dev: true + + /safe-array-concat@1.0.1: + resolution: {integrity: sha512-6XbUAseYE2KtOuGueyeobCySj9L4+66Tn6KQMOPQJrAJEowYKW/YR/MGJZl7FdydUdaFu4LYyDZjxf4/Nmo23Q==} + engines: {node: '>=0.4'} + dependencies: + call-bind: 1.0.5 + get-intrinsic: 1.2.2 + has-symbols: 1.0.3 + isarray: 2.0.5 + dev: false + + /safe-buffer@5.1.2: + resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==} + dev: true + + /safe-buffer@5.2.1: + resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} + dev: true + + /safe-regex-test@1.0.0: + resolution: {integrity: sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==} + dependencies: + call-bind: 1.0.5 + get-intrinsic: 1.2.2 + is-regex: 1.1.4 + dev: false + + /safer-buffer@2.1.2: + resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} + + /sax@1.3.0: + resolution: {integrity: sha512-0s+oAmw9zLl1V1cS9BtZN7JAd0cW5e0QH4W3LWEK6a4LaLEA2OTpGYWDY+6XasBLtz6wkm3u1xRw95mRuJ59WA==} + dev: true + optional: true + + /scheduler@0.19.1: + resolution: {integrity: sha512-n/zwRWRYSUj0/3g/otKDRPMh6qv2SYMWNq85IEa8iZyAv8od9zDYpGSnpBEjNgcMNq6Scbu5KfIPxNF72R/2EA==} + dependencies: + loose-envify: 1.4.0 + object-assign: 4.1.1 + dev: false + + /scheduler@0.20.2: + resolution: {integrity: sha512-2eWfGgAqqWFGqtdMmcL5zCMK1U8KlXv8SQFGglL3CEtd0aDVDWgeF/YoCmvln55m5zSk3J/20hTaSBeSObsQDQ==} + dependencies: + loose-envify: 1.4.0 + object-assign: 4.1.1 + dev: false + + /schema-utils@3.3.0: + resolution: {integrity: sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==} + engines: {node: '>= 10.13.0'} + dependencies: + '@types/json-schema': 7.0.15 + ajv: 6.12.6 + ajv-keywords: 3.5.2(ajv@6.12.6) + dev: true + + /schema-utils@4.2.0: + resolution: {integrity: sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==} + engines: {node: '>= 12.13.0'} + dependencies: + '@types/json-schema': 7.0.15 + ajv: 8.12.0 + ajv-formats: 2.1.1(ajv@8.12.0) + ajv-keywords: 5.1.0(ajv@8.12.0) + dev: true + + /scroll-into-view-if-needed@2.2.20: + resolution: {integrity: sha512-P9kYMrhi9f6dvWwTGpO5I3HgjSU/8Mts7xL3lkoH5xlewK7O9Obdc5WmMCzppln7bCVGNmf3qfoZXrpCeyNJXw==} + dependencies: + compute-scroll-into-view: 1.0.11 + dev: false + + /select-hose@2.0.0: + resolution: {integrity: sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==} + dev: true + + /selfsigned@2.4.1: + resolution: {integrity: sha512-th5B4L2U+eGLq1TVh7zNRGBapioSORUeymIydxgFpwww9d2qyKvtuPU2jJuHvYAwwqi2Y596QBL3eEqcPEYL8Q==} + engines: {node: '>=10'} + dependencies: + '@types/node-forge': 1.3.9 + node-forge: 1.3.1 + dev: true + + /semver-diff@3.1.1: + resolution: {integrity: sha512-GX0Ix/CJcHyB8c4ykpHGIAvLyOwOobtM/8d+TQkAd81/bEjgPHrfba41Vpesr7jX/t8Uh+R3EX9eAS5be+jQYg==} + engines: {node: '>=8'} + dependencies: + semver: 6.3.1 + dev: true + + /semver@5.7.2: + resolution: {integrity: sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==} + hasBin: true + dev: true + optional: true + + /semver@6.3.1: + resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} + hasBin: true + + /semver@7.5.4: + resolution: {integrity: sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==} + engines: {node: '>=10'} + hasBin: true + dependencies: + lru-cache: 6.0.0 + dev: true + + /send@0.18.0: + resolution: {integrity: sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==} + engines: {node: '>= 0.8.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 + dev: true + + /serialize-javascript@6.0.1: + resolution: {integrity: sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w==} + dependencies: + randombytes: 2.1.0 + dev: true + + /serialize-query-params@2.0.2: + resolution: {integrity: sha512-1chMo1dST4pFA9RDXAtF0Rbjaut4is7bzFbI1Z26IuMub68pNCILku85aYmeFhvnY//BXUPUhoRMjYcsT93J/Q==} + dev: true + + /serve-handler@6.1.5: + resolution: {integrity: sha512-ijPFle6Hwe8zfmBxJdE+5fta53fdIY0lHISJvuikXB3VYFafRjMRpOffSPvCYsbKyBA7pvy9oYr/BT1O3EArlg==} + dependencies: + bytes: 3.0.0 + content-disposition: 0.5.2 + fast-url-parser: 1.1.3 + mime-types: 2.1.18 + minimatch: 3.1.2 + path-is-inside: 1.0.2 + path-to-regexp: 2.2.1 + range-parser: 1.2.0 + dev: true + + /serve-index@1.9.1: + resolution: {integrity: sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw==} + engines: {node: '>= 0.8.0'} + dependencies: + accepts: 1.3.8 + batch: 0.6.1 + debug: 2.6.9 + escape-html: 1.0.3 + http-errors: 1.6.3 + mime-types: 2.1.35 + parseurl: 1.3.3 + transitivePeerDependencies: + - supports-color + dev: true + + /serve-static@1.15.0: + resolution: {integrity: sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==} + engines: {node: '>= 0.8.0'} + dependencies: + encodeurl: 1.0.2 + escape-html: 1.0.3 + parseurl: 1.3.3 + send: 0.18.0 + transitivePeerDependencies: + - supports-color + dev: true + + /serve@14.1.2: + resolution: {integrity: sha512-luwVfJwbeE7dhCKeRU0vIBpt4bXdbAfzwsWJIQ5eqrIW2e+4nLWXbSlZ0WzelSFHQq+FlueOW6dr90jEewS9zw==} + engines: {node: '>= 14'} + hasBin: true + dependencies: + '@zeit/schemas': 2.21.0 + ajv: 8.11.0 + arg: 5.0.2 + boxen: 7.0.0 + chalk: 5.0.1 + chalk-template: 0.4.0 + clipboardy: 3.0.0 + compression: 1.7.4 + is-port-reachable: 4.0.0 + serve-handler: 6.1.5 + update-check: 1.5.4 + transitivePeerDependencies: + - supports-color + dev: true + + /set-function-length@1.1.1: + resolution: {integrity: sha512-VoaqjbBJKiWtg4yRcKBQ7g7wnGnLV3M8oLvVWwOk2PdYY6PEFegR1vezXR0tw6fZGF9csVakIRjrJiy2veSBFQ==} + engines: {node: '>= 0.4'} + dependencies: + define-data-property: 1.1.1 + get-intrinsic: 1.2.2 + gopd: 1.0.1 + has-property-descriptors: 1.0.1 + + /set-function-name@2.0.1: + resolution: {integrity: sha512-tMNCiqYVkXIZgc2Hnoy2IvC/f8ezc5koaRFkCjrpWzGpCd3qbZXPzVy9MAZzK1ch/X0jvSkojys3oqJN0qCmdA==} + engines: {node: '>= 0.4'} + dependencies: + define-data-property: 1.1.1 + functions-have-names: 1.2.3 + has-property-descriptors: 1.0.1 + dev: false + + /setprototypeof@1.1.0: + resolution: {integrity: sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==} + dev: true + + /setprototypeof@1.2.0: + resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} + dev: true + + /shallow-clone@3.0.1: + resolution: {integrity: sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==} + engines: {node: '>=8'} + dependencies: + kind-of: 6.0.3 + dev: true + + /shallowequal@1.1.0: + resolution: {integrity: sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ==} + dev: false + + /shebang-command@2.0.0: + resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} + engines: {node: '>=8'} + dependencies: + shebang-regex: 3.0.0 + dev: true + + /shebang-regex@3.0.0: + resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} + engines: {node: '>=8'} + dev: true + + /shell-quote@1.8.1: + resolution: {integrity: sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==} + dev: true + + /side-channel@1.0.4: + resolution: {integrity: sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==} + dependencies: + call-bind: 1.0.5 + get-intrinsic: 1.2.2 + object-inspect: 1.13.1 + + /signal-exit@3.0.7: + resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} + dev: true + + /simple-statistics@6.1.1: + resolution: {integrity: sha512-zGwn0DDRa9Zel4H4n2pjTFIyGoAGpnpjrGIctreCxj5XWrcx9v7Xy7270FkC967WMmcvuc8ZU7m0ZG+hGN7gAA==} + dev: false + + /simple-statistics@7.8.3: + resolution: {integrity: sha512-JFvMY00t6SBGtwMuJ+nqgsx9ylkMiJ5JlK9bkj8AdvniIe5615wWQYkKHXe84XtSuc40G/tlrPu0A5/NlJvv8A==} + dev: false + + /simple-swizzle@0.2.2: + resolution: {integrity: sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==} + dependencies: + is-arrayish: 0.3.2 + dev: false + + /sirv@1.0.19: + resolution: {integrity: sha512-JuLThK3TnZG1TAKDwNIqNq6QA2afLOCcm+iE8D1Kj3GA40pSPsxQjjJl0J8X3tsR7T+CP1GavpzLwYkgVLWrZQ==} + engines: {node: '>= 10'} + dependencies: + '@polka/url': 1.0.0-next.23 + mrmime: 1.0.1 + totalist: 1.1.0 + dev: true + + /size-sensor@1.0.2: + resolution: {integrity: sha512-2NCmWxY7A9pYKGXNBfteo4hy14gWu47rg5692peVMst6lQLPKrVjhY+UTEsPI5ceFRJSl3gVgMYaUi/hKuaiKw==} + dev: false + + /skmeans@0.9.7: + resolution: {integrity: sha512-hNj1/oZ7ygsfmPZ7ZfN5MUBRoGg1gtpnImuJBgLO0ljQ67DtJuiQaiYdS4lUA6s0KCwnPhGivtC/WRwIZLkHyg==} + dev: false + + /slice-ansi@3.0.0: + resolution: {integrity: sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==} + engines: {node: '>=8'} + dependencies: + ansi-styles: 4.3.0 + astral-regex: 2.0.0 + is-fullwidth-code-point: 3.0.0 + dev: true + + /slice-ansi@4.0.0: + resolution: {integrity: sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==} + engines: {node: '>=10'} + dependencies: + ansi-styles: 4.3.0 + astral-regex: 2.0.0 + is-fullwidth-code-point: 3.0.0 + dev: true + + /sockjs@0.3.24: + resolution: {integrity: sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==} + dependencies: + faye-websocket: 0.11.4 + uuid: 8.3.2 + websocket-driver: 0.7.4 + dev: true + + /source-map-js@1.0.2: + resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==} + engines: {node: '>=0.10.0'} + dev: true + + /source-map-support@0.3.3: + resolution: {integrity: sha512-9O4+y9n64RewmFoKUZ/5Tx9IHIcXM6Q+RTSw6ehnqybUz4a7iwR3Eaw80uLtqqQ5D0C+5H03D4KKGo9PdP33Gg==} + dependencies: + source-map: 0.1.32 + dev: false + + /source-map-support@0.5.21: + resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==} + dependencies: + buffer-from: 1.1.2 + source-map: 0.6.1 + dev: true + + /source-map@0.1.32: + resolution: {integrity: sha512-htQyLrrRLkQ87Zfrir4/yN+vAUd6DNjVayEjTSHXu29AYQJw57I4/xEL/M6p6E/woPNJwvZt6rVlzc7gFEJccQ==} + engines: {node: '>=0.8.0'} + dependencies: + amdefine: 1.0.1 + dev: false + + /source-map@0.5.7: + resolution: {integrity: sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==} + engines: {node: '>=0.10.0'} + dev: false + + /source-map@0.6.1: + resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} + engines: {node: '>=0.10.0'} + dev: true + + /source-map@0.7.4: + resolution: {integrity: sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==} + engines: {node: '>= 8'} + dev: true + + /spdy-transport@3.0.0: + resolution: {integrity: sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==} + dependencies: + debug: 4.3.4 + detect-node: 2.1.0 + hpack.js: 2.1.6 + obuf: 1.1.2 + readable-stream: 3.6.2 + wbuf: 1.7.3 + transitivePeerDependencies: + - supports-color + dev: true + + /spdy@4.0.2: + resolution: {integrity: sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==} + engines: {node: '>=6.0.0'} + dependencies: + debug: 4.3.4 + handle-thing: 2.0.1 + http-deceiver: 1.2.7 + select-hose: 2.0.0 + spdy-transport: 3.0.0 + transitivePeerDependencies: + - supports-color + dev: true + + /splaytree@3.1.2: + resolution: {integrity: sha512-4OM2BJgC5UzrhVnnJA4BkHKGtjXNzzUfpQjCO8I05xYPsfS/VuQDwjCGGMi8rYQilHEV4j8NBqTFbls/PZEE7A==} + dev: false + + /split-on-first@1.1.0: + resolution: {integrity: sha512-43ZssAJaMusuKWL8sKUBQXHWOpq8d6CfN/u1p4gUzfJkM05C8rxTmYrkIPTXapZpORA6LkkzcUulJ8FqA7Uudw==} + engines: {node: '>=6'} + dev: false + + /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' + dev: true + + /stackframe@1.3.4: + resolution: {integrity: sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==} + dev: true + + /statuses@1.5.0: + resolution: {integrity: sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==} + engines: {node: '>= 0.6'} + dev: true + + /statuses@2.0.1: + resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==} + engines: {node: '>= 0.8'} + dev: true + + /stream-chain@2.2.5: + resolution: {integrity: sha512-1TJmBx6aSWqZ4tx7aTpBDXK0/e2hhcNSTV8+CbFJtDjbb+I1mZ8lHit0Grw9GRT+6JbIrrDd8esncgBi8aBXGA==} + dev: true + + /stream-json@1.8.0: + resolution: {integrity: sha512-HZfXngYHUAr1exT4fxlbc1IOce1RYxp2ldeaf97LYCOPSoOqY/1Psp7iGvpb+6JIOgkra9zDYnPX01hGAHzEPw==} + dependencies: + stream-chain: 2.2.5 + dev: true + + /strict-uri-encode@2.0.0: + resolution: {integrity: sha512-QwiXZgpRcKkhTj2Scnn++4PKtWsH0kpzZ62L2R6c/LUVYv7hVnZqcg2+sMuT6R7Jusu1vviK/MFsu6kNJfWlEQ==} + engines: {node: '>=4'} + dev: false + + /string-width@4.2.3: + resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} + engines: {node: '>=8'} + dependencies: + emoji-regex: 8.0.0 + is-fullwidth-code-point: 3.0.0 + strip-ansi: 6.0.1 + dev: true + + /string-width@5.1.2: + resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} + engines: {node: '>=12'} + dependencies: + eastasianwidth: 0.2.0 + emoji-regex: 9.2.2 + strip-ansi: 7.1.0 + dev: true + + /string.prototype.trim@1.2.8: + resolution: {integrity: sha512-lfjY4HcixfQXOfaqCvcBuOIapyaroTXhbkfJN3gcB1OtyupngWK4sEET9Knd0cXd28kTUqu/kHoV4HKSJdnjiQ==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.5 + define-properties: 1.2.1 + es-abstract: 1.22.3 + dev: false + + /string.prototype.trimend@1.0.7: + resolution: {integrity: sha512-Ni79DqeB72ZFq1uH/L6zJ+DKZTkOtPIHovb3YZHQViE+HDouuU4mBrLOLDn5Dde3RF8qw5qVETEjhu9locMLvA==} + dependencies: + call-bind: 1.0.5 + define-properties: 1.2.1 + es-abstract: 1.22.3 + dev: false + + /string.prototype.trimstart@1.0.7: + resolution: {integrity: sha512-NGhtDFu3jCEm7B4Fy0DpLewdJQOZcQ0rGbwQ/+stjnrp2i+rlKeCvos9hOIeCmqwratM47OBxY7uFZzjxHXmrg==} + dependencies: + call-bind: 1.0.5 + define-properties: 1.2.1 + es-abstract: 1.22.3 + dev: false + + /string_decoder@1.1.1: + resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==} + dependencies: + safe-buffer: 5.1.2 + dev: true + + /string_decoder@1.3.0: + resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} + dependencies: + safe-buffer: 5.2.1 + dev: true + + /strip-ansi@3.0.1: + resolution: {integrity: sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==} + engines: {node: '>=0.10.0'} + dependencies: + ansi-regex: 2.1.1 + dev: false + + /strip-ansi@6.0.1: + resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} + engines: {node: '>=8'} + dependencies: + ansi-regex: 5.0.1 + dev: true + + /strip-ansi@7.1.0: + resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==} + engines: {node: '>=12'} + dependencies: + ansi-regex: 6.0.1 + dev: true + + /strip-final-newline@2.0.0: + resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} + engines: {node: '>=6'} + dev: true + + /strip-json-comments@2.0.1: + resolution: {integrity: sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==} + engines: {node: '>=0.10.0'} + dev: true + + /style-loader@3.3.1(webpack@5.89.0): + resolution: {integrity: sha512-GPcQ+LDJbrcxHORTRes6Jy2sfvK2kS6hpSfI/fXhPt+spVzxF6LJ1dHLN9zIGmVaaP044YKaIatFaufENRiDoQ==} + engines: {node: '>= 12.13.0'} + peerDependencies: + webpack: ^5.0.0 + dependencies: + webpack: 5.89.0(@swc/core@1.3.14)(webpack-cli@5.1.4) + dev: true + + /superstruct@1.0.3: + resolution: {integrity: sha512-8iTn3oSS8nRGn+C2pgXSKPI3jmpm6FExNazNpjvqS6ZUJQCej3PUXEKM8NjHBOs54ExM+LPW/FBRhymrdcCiSg==} + engines: {node: '>=14.0.0'} + dev: true + + /supports-color@2.0.0: + resolution: {integrity: sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g==} + engines: {node: '>=0.8.0'} + dev: false + + /supports-color@5.5.0: + resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} + engines: {node: '>=4'} + dependencies: + has-flag: 3.0.0 + + /supports-color@7.2.0: + resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} + engines: {node: '>=8'} + dependencies: + has-flag: 4.0.0 + dev: true + + /supports-color@8.1.1: + resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==} + engines: {node: '>=10'} + dependencies: + has-flag: 4.0.0 + dev: true + + /supports-hyperlinks@2.3.0: + resolution: {integrity: sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==} + engines: {node: '>=8'} + dependencies: + has-flag: 4.0.0 + supports-color: 7.2.0 + dev: true + + /supports-preserve-symlinks-flag@1.0.0: + resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} + engines: {node: '>= 0.4'} + + /svg-parser@2.0.4: + resolution: {integrity: sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ==} + dev: true + + /svg-path-parser@1.1.0: + resolution: {integrity: sha512-jGCUqcQyXpfe38R7RFfhrMyfXcBmpMNJI/B+4CE9/Unkh98UporAc461GTthv+TVDuZXsBx7/WiwJb1Oh4tt4A==} + dev: false + + /svgo@2.8.0: + resolution: {integrity: sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==} + engines: {node: '>=10.13.0'} + hasBin: true + 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.0.0 + stable: 0.1.8 + dev: true + + /swc-loader@0.2.3(@swc/core@1.3.14)(webpack@5.89.0): + resolution: {integrity: sha512-D1p6XXURfSPleZZA/Lipb3A8pZ17fP4NObZvFCDjK/OKljroqDpPmsBdTraWhVBqUNpcWBQY1imWdoPScRlQ7A==} + peerDependencies: + '@swc/core': ^1.2.147 + webpack: '>=2' + dependencies: + '@swc/core': 1.3.14 + webpack: 5.89.0(@swc/core@1.3.14)(webpack-cli@5.1.4) + dev: true + + /tapable@2.2.1: + resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==} + engines: {node: '>=6'} + dev: true + + /tape@4.17.0: + resolution: {integrity: sha512-KCuXjYxCZ3ru40dmND+oCLsXyuA8hoseu2SS404Px5ouyS0A99v8X/mdiLqsR5MTAyamMBN7PRwt2Dv3+xGIxw==} + hasBin: true + dependencies: + '@ljharb/resumer': 0.0.1 + '@ljharb/through': 2.3.11 + call-bind: 1.0.5 + deep-equal: 1.1.2 + defined: 1.0.1 + dotignore: 0.1.2 + for-each: 0.3.3 + glob: 7.2.3 + has: 1.0.4 + inherits: 2.0.4 + is-regex: 1.1.4 + minimist: 1.2.8 + mock-property: 1.0.3 + object-inspect: 1.12.3 + resolve: 1.22.8 + string.prototype.trim: 1.2.8 + dev: false + + /terminal-link@2.1.1: + resolution: {integrity: sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==} + engines: {node: '>=8'} + dependencies: + ansi-escapes: 4.3.2 + supports-hyperlinks: 2.3.0 + dev: true + + /terser-webpack-plugin@5.3.9(@swc/core@1.3.14)(webpack@5.76.0): + resolution: {integrity: sha512-ZuXsqE07EcggTWQjXUj+Aot/OMcD0bMKGgF63f7UxYcu5/AJF53aIpK1YoP5xR9l6s/Hy2b+t1AM0bLNPRuhwA==} + engines: {node: '>= 10.13.0'} + peerDependencies: + '@swc/core': '*' + esbuild: '*' + uglify-js: '*' + webpack: ^5.1.0 + peerDependenciesMeta: + '@swc/core': + optional: true + esbuild: + optional: true + uglify-js: + optional: true + dependencies: + '@jridgewell/trace-mapping': 0.3.20 + '@swc/core': 1.3.14 + jest-worker: 27.5.1 + schema-utils: 3.3.0 + serialize-javascript: 6.0.1 + terser: 5.24.0 + webpack: 5.76.0(@swc/core@1.3.14)(webpack-cli@5.1.4) + dev: true + + /terser-webpack-plugin@5.3.9(@swc/core@1.3.14)(webpack@5.89.0): + resolution: {integrity: sha512-ZuXsqE07EcggTWQjXUj+Aot/OMcD0bMKGgF63f7UxYcu5/AJF53aIpK1YoP5xR9l6s/Hy2b+t1AM0bLNPRuhwA==} + engines: {node: '>= 10.13.0'} + peerDependencies: + '@swc/core': '*' + esbuild: '*' + uglify-js: '*' + webpack: ^5.1.0 + peerDependenciesMeta: + '@swc/core': + optional: true + esbuild: + optional: true + uglify-js: + optional: true + dependencies: + '@jridgewell/trace-mapping': 0.3.20 + '@swc/core': 1.3.14 + jest-worker: 27.5.1 + schema-utils: 3.3.0 + serialize-javascript: 6.0.1 + terser: 5.24.0 + webpack: 5.89.0(@swc/core@1.3.14)(webpack-cli@5.1.4) + dev: true + + /terser@5.24.0: + resolution: {integrity: sha512-ZpGR4Hy3+wBEzVEnHvstMvqpD/nABNelQn/z2r0fjVWGQsN3bpOLzQlqDxmb4CDZnXq5lpjnQ+mHQLAOpfM5iw==} + engines: {node: '>=10'} + hasBin: true + dependencies: + '@jridgewell/source-map': 0.3.5 + acorn: 8.11.2 + commander: 2.20.3 + source-map-support: 0.5.21 + dev: true + + /through@2.3.8: + resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==} + dev: true + + /thunky@1.1.0: + resolution: {integrity: sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==} + dev: true + + /tiny-invariant@1.3.1: + resolution: {integrity: sha512-AD5ih2NlSssTCwsMznbvwMZpJ1cbhkGd2uueNxzv2jDlEeZdU04JQfRnggJQ8DrcVBGjAsCKwFBbDlVNtEMlzw==} + dev: false + + /tiny-warning@1.0.3: + resolution: {integrity: sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==} + dev: false + + /tinycolor2@1.6.0: + resolution: {integrity: sha512-XPaBkWQJdsf3pLKJV9p4qN/S+fm2Oj8AIPo1BTUhg5oxkvm9+SVEGFdhyOz7tTdUTfvxMiAs4sp6/eZO2Ew+pw==} + dev: false + + /tinyqueue@2.0.3: + resolution: {integrity: sha512-ppJZNDuKGgxzkHihX8v9v9G5f+18gzaTfrukGrq6ueg0lmH4nqVnA2IPG0AEH3jKEk2GRJCUhDoqpoiw3PHLBA==} + dev: false + + /to-fast-properties@2.0.0: + resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} + engines: {node: '>=4'} + + /to-readable-stream@1.0.0: + resolution: {integrity: sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q==} + engines: {node: '>=6'} + dev: true + + /to-regex-range@5.0.1: + resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} + engines: {node: '>=8.0'} + dependencies: + is-number: 7.0.0 + dev: true + + /toggle-selection@1.0.6: + resolution: {integrity: sha512-BiZS+C1OS8g/q2RRbJmy59xpyghNBqrr6k5L/uKBGRsTfxmu3ffiRnd8mlGPUVayg8pvfi5urfnu8TU7DVOkLQ==} + dev: false + + /toidentifier@1.0.1: + resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==} + engines: {node: '>=0.6'} + dev: true + + /topojson-client@3.1.0: + resolution: {integrity: sha512-605uxS6bcYxGXw9qi62XyrV6Q3xwbndjachmNxu8HWTtVPxZfEJN9fd/SZS1Q54Sn2y0TMyMxFj/cJINqGHrKw==} + hasBin: true + dependencies: + commander: 2.20.3 + dev: false + + /topojson-server@3.0.1: + resolution: {integrity: sha512-/VS9j/ffKr2XAOjlZ9CgyyeLmgJ9dMwq6Y0YEON8O7p/tGGk+dCWnrE03zEdu7i4L7YsFZLEPZPzCvcB7lEEXw==} + hasBin: true + dependencies: + commander: 2.20.3 + dev: false + + /totalist@1.1.0: + resolution: {integrity: sha512-gduQwd1rOdDMGxFG1gEvhV88Oirdo2p+KjoYFU7k2g+i7n6AFFbDQ5kMPUsW0pNbfQsB/cwXvT1i4Bue0s9g5g==} + engines: {node: '>=6'} + dev: true + + /tslib@1.14.1: + resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} + dev: false + + /tslib@2.6.2: + resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==} + + /turf-jsts@1.2.3: + resolution: {integrity: sha512-Ja03QIJlPuHt4IQ2FfGex4F4JAr8m3jpaHbFbQrgwr7s7L6U8ocrHiF3J1+wf9jzhGKxvDeaCAnGDot8OjGFyA==} + dev: false + + /type-fest@0.20.2: + resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} + engines: {node: '>=10'} + dev: true + + /type-fest@0.21.3: + resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==} + engines: {node: '>=10'} + dev: true + + /type-fest@2.19.0: + resolution: {integrity: sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==} + engines: {node: '>=12.20'} + dev: true + + /type-is@1.6.18: + resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==} + engines: {node: '>= 0.6'} + dependencies: + media-typer: 0.3.0 + mime-types: 2.1.35 + dev: true + + /typed-array-buffer@1.0.0: + resolution: {integrity: sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.5 + get-intrinsic: 1.2.2 + is-typed-array: 1.1.12 + dev: false + + /typed-array-byte-length@1.0.0: + resolution: {integrity: sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.5 + for-each: 0.3.3 + has-proto: 1.0.1 + is-typed-array: 1.1.12 + dev: false + + /typed-array-byte-offset@1.0.0: + resolution: {integrity: sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg==} + engines: {node: '>= 0.4'} + dependencies: + available-typed-arrays: 1.0.5 + call-bind: 1.0.5 + for-each: 0.3.3 + has-proto: 1.0.1 + is-typed-array: 1.1.12 + dev: false + + /typed-array-length@1.0.4: + resolution: {integrity: sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==} + dependencies: + call-bind: 1.0.5 + for-each: 0.3.3 + is-typed-array: 1.1.12 + dev: false + + /typedarray-to-buffer@3.1.5: + resolution: {integrity: sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==} + dependencies: + is-typedarray: 1.0.0 + dev: true + + /uglify-js@2.8.29: + resolution: {integrity: sha512-qLq/4y2pjcU3vhlhseXGGJ7VbFO4pBANu0kwl8VCa9KEI0V8VfZIx2Fy3w01iSTA/pGwKZSmu/+I4etLNDdt5w==} + engines: {node: '>=0.8.0'} + hasBin: true + dependencies: + source-map: 0.5.7 + yargs: 3.10.0 + optionalDependencies: + uglify-to-browserify: 1.0.2 + dev: false + + /uglify-to-browserify@1.0.2: + resolution: {integrity: sha512-vb2s1lYx2xBtUgy+ta+b2J/GLVUR+wmpINwHePmPRhOsIVCG2wDzKJ0n14GslH1BifsqVzSOwQhRaCAsZ/nI4Q==} + requiresBuild: true + dev: false + optional: true + + /unbox-primitive@1.0.2: + resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==} + dependencies: + call-bind: 1.0.5 + has-bigints: 1.0.2 + has-symbols: 1.0.3 + which-boxed-primitive: 1.0.2 + dev: false + + /undici-types@5.26.5: + resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} + dev: true + + /unicode-canonical-property-names-ecmascript@2.0.0: + resolution: {integrity: sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==} + engines: {node: '>=4'} + dev: true + + /unicode-match-property-ecmascript@2.0.0: + resolution: {integrity: sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==} + engines: {node: '>=4'} + dependencies: + unicode-canonical-property-names-ecmascript: 2.0.0 + unicode-property-aliases-ecmascript: 2.1.0 + dev: true + + /unicode-match-property-value-ecmascript@2.1.0: + resolution: {integrity: sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==} + engines: {node: '>=4'} + dev: true + + /unicode-property-aliases-ecmascript@2.1.0: + resolution: {integrity: sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==} + engines: {node: '>=4'} + dev: true + + /unique-string@2.0.0: + resolution: {integrity: sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==} + engines: {node: '>=8'} + dependencies: + crypto-random-string: 2.0.0 + dev: true + + /universalify@2.0.1: + resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==} + engines: {node: '>= 10.0.0'} + + /unpipe@1.0.0: + resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==} + engines: {node: '>= 0.8'} + dev: true + + /update-browserslist-db@1.0.13(browserslist@4.22.1): + resolution: {integrity: sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==} + hasBin: true + peerDependencies: + browserslist: '>= 4.21.0' + dependencies: + browserslist: 4.22.1 + escalade: 3.1.1 + picocolors: 1.0.0 + + /update-check@1.5.4: + resolution: {integrity: sha512-5YHsflzHP4t1G+8WGPlvKbJEbAJGCgw+Em+dGR1KmBUbr1J36SJBqlHLjR7oob7sco5hWHGQVcr9B2poIVDDTQ==} + dependencies: + registry-auth-token: 3.3.2 + registry-url: 3.1.0 + dev: true + + /update-notifier@5.1.0: + resolution: {integrity: sha512-ItnICHbeMh9GqUy31hFPrD1kcuZ3rpxDZbf4KUDavXwS0bW5m7SLbDQpGX3UYr072cbrF5hFUs3r5tUsPwjfHw==} + engines: {node: '>=10'} + dependencies: + boxen: 5.1.2 + chalk: 4.1.2 + configstore: 5.0.1 + has-yarn: 2.1.0 + import-lazy: 2.1.0 + is-ci: 2.0.0 + is-installed-globally: 0.4.0 + is-npm: 5.0.0 + is-yarn-global: 0.3.0 + latest-version: 5.1.0 + pupa: 2.1.1 + semver: 7.5.4 + semver-diff: 3.1.1 + xdg-basedir: 4.0.0 + dev: true + + /uri-js@4.4.1: + resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} + dependencies: + punycode: 2.3.1 + dev: true + + /url-parse-lax@3.0.0: + resolution: {integrity: sha512-NjFKA0DidqPa5ciFcSrXnAltTtzz84ogy+NebPvfEgAck0+TNg4UJ4IN+fB7zRZfbgUf0syOo9MDxFkDSMuFaQ==} + engines: {node: '>=4'} + dependencies: + prepend-http: 2.0.0 + dev: true + + /use-callback-ref@1.3.0(react@17.0.2): + resolution: {integrity: sha512-3FT9PRuRdbB9HfXhEq35u4oZkvpJ5kuYbpqhCfmiZyReuRgpnhDlbr2ZEnnuS0RrJAPn6l23xjFg9kpDM+Ms7w==} + engines: {node: '>=10'} + peerDependencies: + '@types/react': ^16.8.0 || ^17.0.0 || ^18.0.0 + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + peerDependenciesMeta: + '@types/react': + optional: true + dependencies: + react: 17.0.2 + tslib: 2.6.2 + dev: false + + /use-sidecar@1.1.2(react@17.0.2): + resolution: {integrity: sha512-epTbsLuzZ7lPClpz2TyryBfztm7m+28DlEv2ZCQ3MDr5ssiwyOwGH/e5F9CkfWjJ1t4clvI58yF822/GUkjjhw==} + engines: {node: '>=10'} + peerDependencies: + '@types/react': ^16.9.0 || ^17.0.0 || ^18.0.0 + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + peerDependenciesMeta: + '@types/react': + optional: true + dependencies: + detect-node-es: 1.1.0 + react: 17.0.2 + tslib: 2.6.2 + dev: false + + /util-deprecate@1.0.2: + resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} + dev: true + + /utila@0.4.0: + resolution: {integrity: sha512-Z0DbgELS9/L/75wZbro8xAnT50pBVFQZ+hUEueGDU5FN51YSCYM+jdxsfCiHjwNP/4LCDD0i/graKpeBnOXKRA==} + dev: true + + /utils-merge@1.0.1: + resolution: {integrity: sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==} + engines: {node: '>= 0.4.0'} + dev: true + + /uuid@8.3.2: + resolution: {integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==} + hasBin: true + dev: true + + /value-equal@1.0.1: + resolution: {integrity: sha512-NOJ6JZCAWr0zlxZt+xqCHNTEKOsrks2HQd4MqhP1qy4z1SkbEP467eNx6TgDKXMvUOb+OENfJCZwM+16n7fRfw==} + dev: false + + /vary@1.1.2: + resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==} + engines: {node: '>= 0.8'} + dev: true + + /warning@4.0.3: + resolution: {integrity: sha512-rpJyN222KWIvHJ/F53XSZv0Zl/accqHR8et1kpaMTD/fLCRxtV8iX8czMzY7sVZupTI3zcUTg8eycS2kNF9l6w==} + dependencies: + loose-envify: 1.4.0 + dev: false + + /watchpack@2.4.0: + resolution: {integrity: sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==} + engines: {node: '>=10.13.0'} + dependencies: + glob-to-regexp: 0.4.1 + graceful-fs: 4.2.10 + dev: true + + /wbuf@1.7.3: + resolution: {integrity: sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==} + dependencies: + minimalistic-assert: 1.0.1 + dev: true + + /webpack-bundle-analyzer@4.6.1: + resolution: {integrity: sha512-oKz9Oz9j3rUciLNfpGFjOb49/jEpXNmWdVH8Ls//zNcnLlQdTGXQQMsBbb/gR7Zl8WNLxVCq+0Hqbx3zv6twBw==} + engines: {node: '>= 10.13.0'} + hasBin: true + dependencies: + acorn: 8.11.2 + acorn-walk: 8.3.0 + chalk: 4.1.2 + commander: 7.2.0 + gzip-size: 6.0.0 + lodash: 4.17.21 + opener: 1.5.2 + sirv: 1.0.19 + ws: 7.5.9 + transitivePeerDependencies: + - bufferutil + - utf-8-validate + dev: true + + /webpack-cli@5.1.4(webpack@5.89.0): + resolution: {integrity: sha512-pIDJHIEI9LR0yxHXQ+Qh95k2EvXpWzZ5l+d+jIo+RdSm9MiHfzazIxwwni/p7+x4eJZuvG1AJwgC4TNQ7NRgsg==} + engines: {node: '>=14.15.0'} + hasBin: true + peerDependencies: + '@webpack-cli/generators': '*' + webpack: 5.x.x + webpack-bundle-analyzer: '*' + webpack-dev-server: '*' + peerDependenciesMeta: + '@webpack-cli/generators': + optional: true + webpack-bundle-analyzer: + optional: true + webpack-dev-server: + optional: true + dependencies: + '@discoveryjs/json-ext': 0.5.7 + '@webpack-cli/configtest': 2.1.1(webpack-cli@5.1.4)(webpack@5.89.0) + '@webpack-cli/info': 2.0.2(webpack-cli@5.1.4)(webpack@5.89.0) + '@webpack-cli/serve': 2.0.5(webpack-cli@5.1.4)(webpack@5.89.0) + colorette: 2.0.19 + commander: 10.0.1 + cross-spawn: 7.0.3 + envinfo: 7.11.0 + fastest-levenshtein: 1.0.16 + import-local: 3.1.0 + interpret: 3.1.1 + rechoir: 0.8.0 + webpack: 5.89.0(@swc/core@1.3.14)(webpack-cli@5.1.4) + webpack-merge: 5.10.0 + dev: true + + /webpack-dev-middleware@5.3.3(webpack@5.76.0): + resolution: {integrity: sha512-hj5CYrY0bZLB+eTO+x/j67Pkrquiy7kWepMHmUMoPsmcUaeEnQJqFzHJOyxgWlq746/wUuA64p9ta34Kyb01pA==} + engines: {node: '>= 12.13.0'} + peerDependencies: + webpack: ^4.0.0 || ^5.0.0 + dependencies: + colorette: 2.0.19 + memfs: 3.5.3 + mime-types: 2.1.35 + range-parser: 1.2.1 + schema-utils: 4.2.0 + webpack: 5.76.0(@swc/core@1.3.14)(webpack-cli@5.1.4) + dev: true + + /webpack-dev-middleware@6.0.2(webpack@5.76.0): + resolution: {integrity: sha512-iOddiJzPcQC6lwOIu60vscbGWth8PCRcWRCwoQcTQf9RMoOWBHg5EyzpGdtSmGMrSPd5vHEfFXmVErQEmkRngQ==} + engines: {node: '>= 14.15.0'} + peerDependencies: + webpack: ^5.0.0 + peerDependenciesMeta: + webpack: + optional: true + dependencies: + colorette: 2.0.19 + memfs: 3.5.3 + mime-types: 2.1.35 + range-parser: 1.2.1 + schema-utils: 4.2.0 + webpack: 5.76.0(@swc/core@1.3.14)(webpack-cli@5.1.4) + dev: true + + /webpack-dev-server@4.13.1(webpack-cli@5.1.4)(webpack@5.76.0): + resolution: {integrity: sha512-5tWg00bnWbYgkN+pd5yISQKDejRBYGEw15RaEEslH+zdbNDxxaZvEAO2WulaSaFKb5n3YG8JXsGaDsut1D0xdA==} + engines: {node: '>= 12.13.0'} + hasBin: true + peerDependencies: + webpack: ^4.37.0 || ^5.0.0 + webpack-cli: '*' + peerDependenciesMeta: + webpack: + optional: true + webpack-cli: + optional: true + dependencies: + '@types/bonjour': 3.5.13 + '@types/connect-history-api-fallback': 1.5.3 + '@types/express': 4.17.21 + '@types/serve-index': 1.9.4 + '@types/serve-static': 1.15.5 + '@types/sockjs': 0.3.36 + '@types/ws': 8.5.9 + ansi-html-community: 0.0.8 + bonjour-service: 1.1.1 + chokidar: 3.5.3 + colorette: 2.0.19 + compression: 1.7.4 + connect-history-api-fallback: 2.0.0 + default-gateway: 6.0.3 + express: 4.18.1 + graceful-fs: 4.2.11 + html-entities: 2.4.0 + http-proxy-middleware: 2.0.6(@types/express@4.17.21) + ipaddr.js: 2.1.0 + launch-editor: 2.6.1 + open: 8.4.2 + p-retry: 4.6.2 + rimraf: 3.0.2 + schema-utils: 4.2.0 + selfsigned: 2.4.1 + serve-index: 1.9.1 + sockjs: 0.3.24 + spdy: 4.0.2 + webpack: 5.76.0(@swc/core@1.3.14)(webpack-cli@5.1.4) + webpack-cli: 5.1.4(webpack@5.89.0) + webpack-dev-middleware: 5.3.3(webpack@5.76.0) + ws: 8.14.2 + transitivePeerDependencies: + - bufferutil + - debug + - supports-color + - utf-8-validate + dev: true + + /webpack-merge@5.10.0: + resolution: {integrity: sha512-+4zXKdx7UnO+1jaN4l2lHVD+mFvnlZQP/6ljaJVb4SZiwIKeUnrT5l0gkT8z+n4hKpC+jpOv6O9R+gLtag7pSA==} + engines: {node: '>=10.0.0'} + dependencies: + clone-deep: 4.0.1 + flat: 5.0.2 + wildcard: 2.0.1 + dev: true + + /webpack-sources@3.2.3: + resolution: {integrity: sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==} + engines: {node: '>=10.13.0'} + dev: true + + /webpack@5.76.0(@swc/core@1.3.14)(webpack-cli@5.1.4): + resolution: {integrity: sha512-l5sOdYBDunyf72HW8dF23rFtWq/7Zgvt/9ftMof71E/yUb1YLOBmTgA2K4vQthB3kotMrSj609txVE0dnr2fjA==} + engines: {node: '>=10.13.0'} + hasBin: true + peerDependencies: + webpack-cli: '*' + peerDependenciesMeta: + webpack-cli: + optional: true + dependencies: + '@types/eslint-scope': 3.7.7 + '@types/estree': 0.0.51 + '@webassemblyjs/ast': 1.11.1 + '@webassemblyjs/wasm-edit': 1.11.1 + '@webassemblyjs/wasm-parser': 1.11.1 + acorn: 8.11.2 + acorn-import-assertions: 1.9.0(acorn@8.11.2) + browserslist: 4.22.1 + chrome-trace-event: 1.0.3 + enhanced-resolve: 5.15.0 + es-module-lexer: 0.9.3 + eslint-scope: 5.1.1 + events: 3.3.0 + glob-to-regexp: 0.4.1 + graceful-fs: 4.2.11 + json-parse-even-better-errors: 2.3.1 + loader-runner: 4.3.0 + mime-types: 2.1.35 + neo-async: 2.6.2 + schema-utils: 3.3.0 + tapable: 2.2.1 + terser-webpack-plugin: 5.3.9(@swc/core@1.3.14)(webpack@5.76.0) + watchpack: 2.4.0 + webpack-cli: 5.1.4(webpack@5.89.0) + webpack-sources: 3.2.3 + transitivePeerDependencies: + - '@swc/core' + - esbuild + - uglify-js + dev: true + + /webpack@5.89.0(@swc/core@1.3.14)(webpack-cli@5.1.4): + resolution: {integrity: sha512-qyfIC10pOr70V+jkmud8tMfajraGCZMBWJtrmuBymQKCrLTRejBI8STDp1MCyZu/QTdZSeacCQYpYNQVOzX5kw==} + engines: {node: '>=10.13.0'} + hasBin: true + peerDependencies: + webpack-cli: '*' + peerDependenciesMeta: + webpack-cli: + optional: true + dependencies: + '@types/eslint-scope': 3.7.7 + '@types/estree': 1.0.5 + '@webassemblyjs/ast': 1.11.6 + '@webassemblyjs/wasm-edit': 1.11.6 + '@webassemblyjs/wasm-parser': 1.11.6 + acorn: 8.11.2 + acorn-import-assertions: 1.9.0(acorn@8.11.2) + browserslist: 4.22.1 + chrome-trace-event: 1.0.3 + enhanced-resolve: 5.15.0 + es-module-lexer: 1.4.1 + eslint-scope: 5.1.1 + events: 3.3.0 + glob-to-regexp: 0.4.1 + graceful-fs: 4.2.11 + json-parse-even-better-errors: 2.3.1 + loader-runner: 4.3.0 + mime-types: 2.1.35 + neo-async: 2.6.2 + schema-utils: 3.3.0 + tapable: 2.2.1 + terser-webpack-plugin: 5.3.9(@swc/core@1.3.14)(webpack@5.89.0) + watchpack: 2.4.0 + webpack-cli: 5.1.4(webpack@5.89.0) + webpack-sources: 3.2.3 + transitivePeerDependencies: + - '@swc/core' + - esbuild + - uglify-js + dev: true + + /websocket-driver@0.7.4: + resolution: {integrity: sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==} + engines: {node: '>=0.8.0'} + dependencies: + http-parser-js: 0.5.8 + safe-buffer: 5.2.1 + websocket-extensions: 0.1.4 + dev: true + + /websocket-extensions@0.1.4: + resolution: {integrity: sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==} + engines: {node: '>=0.8.0'} + dev: true + + /which-boxed-primitive@1.0.2: + resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==} + dependencies: + is-bigint: 1.0.4 + is-boolean-object: 1.1.2 + is-number-object: 1.0.7 + is-string: 1.0.7 + is-symbol: 1.0.4 + dev: false + + /which-typed-array@1.1.13: + resolution: {integrity: sha512-P5Nra0qjSncduVPEAr7xhoF5guty49ArDTwzJ/yNuPIbZppyRxFQsRCWrocxIY+CnMVG+qfbU2FmDKyvSGClow==} + engines: {node: '>= 0.4'} + dependencies: + available-typed-arrays: 1.0.5 + call-bind: 1.0.5 + for-each: 0.3.3 + gopd: 1.0.1 + has-tostringtag: 1.0.0 + dev: false + + /which@2.0.2: + resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} + engines: {node: '>= 8'} + hasBin: true + dependencies: + isexe: 2.0.0 + dev: true + + /widest-line@3.1.0: + resolution: {integrity: sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==} + engines: {node: '>=8'} + dependencies: + string-width: 4.2.3 + dev: true + + /widest-line@4.0.1: + resolution: {integrity: sha512-o0cyEG0e8GPzT4iGHphIOh0cJOV8fivsXxddQasHPHfoZf1ZexrfeA21w2NaEN1RHE+fXlfISmOE8R9N3u3Qig==} + engines: {node: '>=12'} + dependencies: + string-width: 5.1.2 + dev: true + + /wildcard@2.0.1: + resolution: {integrity: sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==} + dev: true + + /window-size@0.1.0: + resolution: {integrity: sha512-1pTPQDKTdd61ozlKGNCjhNRd+KPmgLSGa3mZTHoOliaGcESD8G1PXhh7c1fgiPjVbNVfgy2Faw4BI8/m0cC8Mg==} + engines: {node: '>= 0.8.0'} + dev: false + + /wolfy87-eventemitter@5.2.9: + resolution: {integrity: sha512-P+6vtWyuDw+MB01X7UeF8TaHBvbCovf4HPEMF/SV7BdDc1SMTiBy13SRD71lQh4ExFTG1d/WNzDGDCyOKSMblw==} + dev: false + + /wordwrap@0.0.2: + resolution: {integrity: sha512-xSBsCeh+g+dinoBv3GAOWM4LcVVO68wLXRanibtBSdUvkGWQRGeE9P7IwU9EmDDi4jA6L44lz15CGMwdw9N5+Q==} + engines: {node: '>=0.4.0'} + dev: false + + /wrap-ansi@6.2.0: + resolution: {integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==} + engines: {node: '>=8'} + dependencies: + ansi-styles: 4.3.0 + string-width: 4.2.3 + strip-ansi: 6.0.1 + dev: true + + /wrap-ansi@7.0.0: + resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} + engines: {node: '>=10'} + dependencies: + ansi-styles: 4.3.0 + string-width: 4.2.3 + strip-ansi: 6.0.1 + dev: true + + /wrap-ansi@8.1.0: + resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==} + engines: {node: '>=12'} + dependencies: + ansi-styles: 6.2.1 + string-width: 5.1.2 + strip-ansi: 7.1.0 + dev: true + + /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==} + dependencies: + imurmurhash: 0.1.4 + is-typedarray: 1.0.0 + signal-exit: 3.0.7 + typedarray-to-buffer: 3.1.5 + dev: true + + /ws@7.5.9: + resolution: {integrity: sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==} + 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 + dev: true + + /ws@8.14.2: + resolution: {integrity: sha512-wEBG1ftX4jcglPxgFCMJmZ2PLtSbJ2Peg6TmpJFTbe9GZYOQCDPdMYu/Tm0/bGZkw8paZnJY45J4K2PZrLYq8g==} + 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 + dev: true + + /ws@8.8.1: + resolution: {integrity: sha512-bGy2JzvzkPowEJV++hF07hAD6niYSr0JzBNo/J29WsB57A2r7Wlc1UFcTR9IzrPvuNVO4B8LGqF8qcpsVOhJCA==} + 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 + dev: true + + /xdg-basedir@4.0.0: + resolution: {integrity: sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q==} + engines: {node: '>=8'} + dev: true + + /y18n@5.0.8: + resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} + engines: {node: '>=10'} + dev: true + + /yallist@3.1.1: + resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} + + /yallist@4.0.0: + resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} + dev: true + + /yaml@1.10.2: + resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==} + engines: {node: '>= 6'} + dev: true + + /yargs-parser@21.1.1: + resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} + engines: {node: '>=12'} + dev: true + + /yargs@17.6.2: + resolution: {integrity: sha512-1/9UrdHjDZc0eOU0HxOHoS78C69UD3JRMvzlJ7S79S2nTaWRA/whGCTV8o9e/N/1Va9YIV7Q4sOxD8VV4pCWOw==} + engines: {node: '>=12'} + dependencies: + cliui: 8.0.1 + escalade: 3.1.1 + 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 + dev: true + + /yargs@3.10.0: + resolution: {integrity: sha512-QFzUah88GAGy9lyDKGBqZdkYApt63rCXYBGYnEP4xDJPXNqXXnBDACnbrXnViV6jRSqAePwrATi2i8mfYm4L1A==} + dependencies: + camelcase: 1.2.1 + cliui: 2.1.0 + decamelize: 1.2.0 + window-size: 0.1.0 + dev: false + + /yocto-queue@0.1.0: + resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} + engines: {node: '>=10'} + dev: true + + /zod-validation-error@1.2.0(zod@3.22.4): + resolution: {integrity: sha512-laJkD/ugwEh8CpuH+xXv5L9Z+RLz3lH8alNxolfaHZJck611OJj97R4Rb+ZqA7WNly2kNtTo4QwjdjXw9scpiw==} + engines: {node: ^14.17 || >=16.0.0} + peerDependencies: + zod: ^3.18.0 + dependencies: + zod: 3.22.4 + dev: true + + /zod@3.22.4: + resolution: {integrity: sha512-iC+8Io04lddc+mVqQ9AZ7OQ2MrUKGN+oIQyq1vemgt46jwCwLfhq7/pwnBnNXXXZb8VTVLKwp9EDkx+ryxIWmg==} + dev: true diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml new file mode 100644 index 000000000..3a0aaf577 --- /dev/null +++ b/pnpm-workspace.yaml @@ -0,0 +1,2 @@ +packages: + - 'examples/*' \ No newline at end of file