From dde6b11fce54977dc56c978bc1d98e963b52f535 Mon Sep 17 00:00:00 2001 From: hailin Date: Fri, 7 Jun 2024 15:29:58 +0800 Subject: [PATCH] initial commit. --- .gitignore | 26 + README.md | 9 + admin-v5/.editorconfig | 16 + admin-v5/.env.example | 40 + admin-v5/.eslintignore | 8 + admin-v5/.eslintrc.js | 8 + admin-v5/.gitignore | 50 + admin-v5/.prettierignore | 23 + admin-v5/.prettierrc.js | 5 + admin-v5/.stylelintrc.js | 5 + admin-v5/README.md | 11 + admin-v5/config/config.dev.ts | 18 + admin-v5/config/config.ts | 72 + admin-v5/config/defaultSettings.ts | 21 + admin-v5/config/oneapi.json | 593 + admin-v5/config/proxy.ts | 37 + admin-v5/config/routes.ts | 402 + admin-v5/images/dept.png | Bin 0 -> 56811 bytes admin-v5/images/dict.png | Bin 0 -> 49481 bytes admin-v5/images/log.png | Bin 0 -> 79088 bytes admin-v5/images/menu.png | Bin 0 -> 110231 bytes admin-v5/images/role.png | Bin 0 -> 64335 bytes admin-v5/images/user.png | Bin 0 -> 114701 bytes admin-v5/jest.config.js | 9 + admin-v5/jsconfig.json | 11 + admin-v5/mock/listTableList.ts | 174 + admin-v5/mock/notices.ts | 107 + admin-v5/mock/route.ts | 5 + admin-v5/mock/user.ts | 203 + admin-v5/package-lock.json | 57262 ++++++++++++++ admin-v5/package.json | 120 + admin-v5/playwright.config.ts | 22 + admin-v5/public/CNAME | 1 + admin-v5/public/favicon.ico | Bin 0 -> 4286 bytes admin-v5/public/icons/icon-128x128.png | Bin 0 -> 1329 bytes admin-v5/public/icons/icon-192x192.png | Bin 0 -> 1856 bytes admin-v5/public/icons/icon-512x512.png | Bin 0 -> 5082 bytes admin-v5/public/logo.svg | 1 + admin-v5/public/pro_icon.svg | 5 + admin-v5/src/access.ts | 9 + admin-v5/src/app.tsx | 238 + admin-v5/src/components/Footer/index.tsx | 44 + .../src/components/HeaderDropdown/index.less | 16 + .../src/components/HeaderDropdown/index.tsx | 17 + .../src/components/HeaderSearch/index.less | 25 + .../src/components/HeaderSearch/index.tsx | 101 + .../src/components/NoticeIcon/NoticeIcon.tsx | 126 + .../src/components/NoticeIcon/NoticeList.less | 103 + .../src/components/NoticeIcon/NoticeList.tsx | 113 + admin-v5/src/components/NoticeIcon/index.less | 35 + admin-v5/src/components/NoticeIcon/index.tsx | 153 + .../RightContent/AvatarDropdown.tsx | 105 + .../src/components/RightContent/index.less | 84 + .../src/components/RightContent/index.tsx | 62 + admin-v5/src/e2e/baseLayout.e2e.spec.ts | 45 + admin-v5/src/global.less | 57 + admin-v5/src/global.tsx | 91 + admin-v5/src/locales/bn-BD.ts | 26 + admin-v5/src/locales/bn-BD/component.ts | 5 + admin-v5/src/locales/bn-BD/globalHeader.ts | 17 + admin-v5/src/locales/bn-BD/menu.ts | 52 + admin-v5/src/locales/bn-BD/pages.ts | 70 + admin-v5/src/locales/bn-BD/pwa.ts | 7 + admin-v5/src/locales/bn-BD/settingDrawer.ts | 31 + admin-v5/src/locales/bn-BD/settings.ts | 59 + admin-v5/src/locales/en-US.ts | 25 + admin-v5/src/locales/en-US/component.ts | 5 + admin-v5/src/locales/en-US/globalHeader.ts | 17 + admin-v5/src/locales/en-US/menu.ts | 52 + admin-v5/src/locales/en-US/pages.ts | 70 + admin-v5/src/locales/en-US/pwa.ts | 6 + admin-v5/src/locales/en-US/settingDrawer.ts | 31 + admin-v5/src/locales/en-US/settings.ts | 60 + admin-v5/src/locales/fa-IR.ts | 24 + admin-v5/src/locales/fa-IR/component.ts | 5 + admin-v5/src/locales/fa-IR/globalHeader.ts | 17 + admin-v5/src/locales/fa-IR/menu.ts | 52 + admin-v5/src/locales/fa-IR/pages.ts | 67 + admin-v5/src/locales/fa-IR/pwa.ts | 7 + admin-v5/src/locales/fa-IR/settingDrawer.ts | 32 + admin-v5/src/locales/fa-IR/settings.ts | 60 + admin-v5/src/locales/id-ID.ts | 25 + admin-v5/src/locales/id-ID/component.ts | 5 + admin-v5/src/locales/id-ID/globalHeader.ts | 17 + admin-v5/src/locales/id-ID/menu.ts | 52 + admin-v5/src/locales/id-ID/pages.ts | 70 + admin-v5/src/locales/id-ID/pwa.ts | 7 + admin-v5/src/locales/id-ID/settingDrawer.ts | 32 + admin-v5/src/locales/id-ID/settings.ts | 60 + admin-v5/src/locales/ja-JP.ts | 24 + admin-v5/src/locales/ja-JP/component.ts | 5 + admin-v5/src/locales/ja-JP/globalHeader.ts | 17 + admin-v5/src/locales/ja-JP/menu.ts | 52 + admin-v5/src/locales/ja-JP/pages.ts | 67 + admin-v5/src/locales/ja-JP/pwa.ts | 7 + admin-v5/src/locales/ja-JP/settingDrawer.ts | 31 + admin-v5/src/locales/ja-JP/settings.ts | 59 + admin-v5/src/locales/pt-BR.ts | 22 + admin-v5/src/locales/pt-BR/component.ts | 5 + admin-v5/src/locales/pt-BR/globalHeader.ts | 18 + admin-v5/src/locales/pt-BR/menu.ts | 52 + admin-v5/src/locales/pt-BR/pages.ts | 70 + admin-v5/src/locales/pt-BR/pwa.ts | 7 + admin-v5/src/locales/pt-BR/settingDrawer.ts | 32 + admin-v5/src/locales/pt-BR/settings.ts | 60 + admin-v5/src/locales/zh-CN.ts | 26 + admin-v5/src/locales/zh-CN/component.ts | 5 + admin-v5/src/locales/zh-CN/globalHeader.ts | 17 + admin-v5/src/locales/zh-CN/menu.ts | 52 + admin-v5/src/locales/zh-CN/pages.ts | 69 + admin-v5/src/locales/zh-CN/pwa.ts | 6 + admin-v5/src/locales/zh-CN/settingDrawer.ts | 31 + admin-v5/src/locales/zh-CN/settings.ts | 55 + admin-v5/src/locales/zh-TW.ts | 20 + admin-v5/src/locales/zh-TW/component.ts | 5 + admin-v5/src/locales/zh-TW/globalHeader.ts | 17 + admin-v5/src/locales/zh-TW/menu.ts | 52 + admin-v5/src/locales/zh-TW/pwa.ts | 6 + admin-v5/src/locales/zh-TW/settingDrawer.ts | 31 + admin-v5/src/locales/zh-TW/settings.ts | 55 + admin-v5/src/manifest.json | 22 + admin-v5/src/menuTree.ts | 764 + admin-v5/src/pages/404.tsx | 18 + admin-v5/src/pages/Admin.tsx | 45 + .../pages/TableList/components/UpdateForm.tsx | 209 + admin-v5/src/pages/TableList/index.tsx | 393 + admin-v5/src/pages/Welcome copy.tsx | 240 + admin-v5/src/pages/Welcome.less | 8 + admin-v5/src/pages/Welcome.tsx | 45 + .../src/pages/article/edit/MarkdownRender.tsx | 49 + admin-v5/src/pages/article/edit/data.d.ts | 47 + admin-v5/src/pages/article/edit/editor.tsx | 74 + admin-v5/src/pages/article/edit/index.tsx | 764 + admin-v5/src/pages/article/edit/service.ts | 94 + admin-v5/src/pages/article/edit/viewer.tsx | 63 + .../pages/article/editqa/MarkdownRender.tsx | 49 + admin-v5/src/pages/article/editqa/data.d.ts | 57 + admin-v5/src/pages/article/editqa/editor.tsx | 74 + admin-v5/src/pages/article/editqa/index.tsx | 522 + admin-v5/src/pages/article/editqa/service.ts | 61 + admin-v5/src/pages/article/editqa/viewer.tsx | 63 + .../article/news/components/LogsModal.tsx | 85 + .../news/components/MemberLoginLogModal.tsx | 111 + .../news/components/UpdateMemberForm.tsx | 169 + admin-v5/src/pages/article/news/data.d.ts | 119 + admin-v5/src/pages/article/news/index.tsx | 911 + admin-v5/src/pages/article/news/service.ts | 177 + .../pages/article/qa/components/LogsModal.tsx | 85 + .../qa/components/MemberLoginLogModal.tsx | 111 + .../qa/components/UpdateMemberForm.tsx | 169 + admin-v5/src/pages/article/qa/data.d.ts | 150 + admin-v5/src/pages/article/qa/index.tsx | 767 + admin-v5/src/pages/article/qa/service.ts | 110 + .../subscribe/components/LogsModal.tsx | 85 + .../components/MemberLoginLogModal.tsx | 111 + .../subscribe/components/UpdateMemberForm.tsx | 169 + .../src/pages/article/subscribe/data.d.ts | 215 + .../src/pages/article/subscribe/index.tsx | 825 + .../src/pages/article/subscribe/service.ts | 121 + .../article/tag/components/CreateTagForm.tsx | 97 + .../pages/article/tag/components/MenuForm.tsx | 119 + .../article/tag/components/UpdateRoleForm.tsx | 122 + admin-v5/src/pages/article/tag/data.d.ts | 52 + admin-v5/src/pages/article/tag/index.tsx | 450 + admin-v5/src/pages/article/tag/service.ts | 101 + admin-v5/src/pages/document.ejs | 236 + admin-v5/src/pages/log/loginlog/data.d.ts | 30 + admin-v5/src/pages/log/loginlog/index.tsx | 209 + admin-v5/src/pages/log/loginlog/service.ts | 37 + admin-v5/src/pages/log/syslog/data.d.ts | 29 + admin-v5/src/pages/log/syslog/index.tsx | 203 + admin-v5/src/pages/log/syslog/service.ts | 20 + .../pages/oms/order/components/BaseInfo.tsx | 55 + .../pages/oms/order/components/CostInfo.tsx | 63 + .../oms/order/components/DeliveryModel.tsx | 159 + .../oms/order/components/NoteOrderModel.tsx | 77 + .../oms/order/components/OperationInfo.tsx | 67 + .../oms/order/components/OrderDetailModel.tsx | 264 + .../order/components/OrderTrackingModel.tsx | 52 + .../oms/order/components/ProductInfo.tsx | 77 + .../oms/order/components/ReceiveInfo.tsx | 32 + admin-v5/src/pages/oms/order/data.d.ts | 95 + admin-v5/src/pages/oms/order/index.less | 7 + admin-v5/src/pages/oms/order/index.tsx | 355 + admin-v5/src/pages/oms/order/service.ts | 43 + .../components/ReturnApplyBase.tsx | 64 + .../components/ReturnApplyDetailModel.tsx | 83 + .../components/ReturnApplyHandler.tsx | 32 + .../components/ReturnApplyHandlerSubmit.tsx | 52 + .../components/ReturnApplyInfo.tsx | 80 + .../components/ReturnApplyInfoSubmit.tsx | 51 + .../components/ReturnApplyProduct.tsx | 58 + .../components/ReturnApplyReceive.tsx | 31 + .../pages/oms/order_return_apply/data.d.ts | 64 + .../pages/oms/order_return_apply/index.less | 3 + .../pages/oms/order_return_apply/index.tsx | 209 + .../pages/oms/order_return_apply/service.ts | 32 + .../components/CreateReasonForm.tsx | 102 + .../components/UpdateReasonForm.tsx | 117 + .../pages/oms/order_return_reason/data.d.ts | 24 + .../pages/oms/order_return_reason/index.tsx | 283 + .../pages/oms/order_return_reason/service.ts | 41 + .../components/UpdateSettingForm.tsx | 155 + .../src/pages/oms/order_setting/data.d.ts | 24 + .../src/pages/oms/order_setting/index.tsx | 137 + .../src/pages/oms/order_setting/service.ts | 21 + .../components/OperationProductForm.tsx | 154 + .../components/ProductAttributeInfo.tsx | 236 + .../product/components/ProductBaseInfo.tsx | 98 + .../components/ProductPromotionalInfo.tsx | 143 + .../components/ProductRelationshipInfo.tsx | 101 + .../product/components/ProductStepInfo.tsx | 38 + admin-v5/src/pages/pms/product/data.d.ts | 89 + admin-v5/src/pages/pms/product/index.tsx | 252 + admin-v5/src/pages/pms/product/service.ts | 53 + .../components/CreateAttributeForm.tsx | 139 + .../components/UpdateAttributeForm.tsx | 151 + .../src/pages/pms/product_attribute/data.d.ts | 30 + .../src/pages/pms/product_attribute/index.tsx | 362 + .../pages/pms/product_attribute/service.ts | 45 + .../components/CreateAttributeForm.tsx | 67 + .../components/UpdateAttributeForm.tsx | 85 + .../pms/product_attribute_category/data.d.ts | 24 + .../pms/product_attribute_category/index.tsx | 292 + .../pms/product_attribute_category/service.ts | 40 + .../components/CreateBrandForm.tsx | 103 + .../components/UpdateBrandForm.tsx | 119 + .../src/pages/pms/product_brand/data.d.ts | 25 + .../src/pages/pms/product_brand/index.tsx | 313 + .../src/pages/pms/product_brand/service.ts | 45 + .../components/CreateCategoryForm.tsx | 130 + .../components/UpdateCategoryForm.tsx | 143 + .../src/pages/pms/product_category/data.d.ts | 25 + .../src/pages/pms/product_category/index.tsx | 307 + .../src/pages/pms/product_category/service.ts | 39 + .../coupon/components/CreateCouponForm.tsx | 221 + .../coupon/components/UpdateCouponForm.tsx | 245 + admin-v5/src/pages/sms/coupon/data.d.ts | 32 + admin-v5/src/pages/sms/coupon/index.tsx | 351 + admin-v5/src/pages/sms/coupon/service.ts | 55 + .../components/CreateFlashForm.tsx | 111 + .../components/UpdateFlashForm.tsx | 135 + .../src/pages/sms/flash_promotion/data.d.ts | 27 + .../src/pages/sms/flash_promotion/index.tsx | 284 + .../src/pages/sms/flash_promotion/service.ts | 41 + .../components/CreateHomeAdvertiseForm.tsx | 104 + .../components/UpdateHomeAdvertiseForm.tsx | 135 + .../src/pages/sms/home_advertise/data.d.ts | 27 + .../src/pages/sms/home_advertise/index.tsx | 332 + .../src/pages/sms/home_advertise/service.ts | 44 + .../components/CreateHomeBrandForm.tsx | 81 + .../components/UpdateHomeBrandForm.tsx | 92 + admin-v5/src/pages/sms/home_brand/data.d.ts | 28 + admin-v5/src/pages/sms/home_brand/index.tsx | 283 + admin-v5/src/pages/sms/home_brand/service.ts | 51 + .../components/CreateHomeNewProductForm.tsx | 90 + .../components/UpdateHomeNewProductForm.tsx | 92 + .../src/pages/sms/home_new_product/data.d.ts | 28 + .../src/pages/sms/home_new_product/index.tsx | 283 + .../src/pages/sms/home_new_product/service.ts | 51 + .../components/CreateRecommendProductForm.tsx | 90 + .../components/UpdateRecommendProductForm.tsx | 91 + .../sms/home_recommend_product/data.d.ts | 28 + .../sms/home_recommend_product/index.tsx | 284 + .../sms/home_recommend_product/service.ts | 51 + .../components/CreateRecommendSubjectForm.tsx | 84 + .../components/UpdateRecommendSubjectForm.tsx | 91 + .../sms/home_recommend_subject/data.d.ts | 38 + .../sms/home_recommend_subject/index.tsx | 284 + .../sms/home_recommend_subject/service.ts | 50 + .../system/dept/components/CreateDeptForm.tsx | 116 + .../system/dept/components/UpdateDeptForm.tsx | 120 + admin-v5/src/pages/system/dept/data.d.ts | 27 + admin-v5/src/pages/system/dept/index.tsx | 299 + admin-v5/src/pages/system/dept/service.ts | 45 + .../system/dict/components/CreateDictForm.tsx | 88 + .../system/dict/components/UpdateDictForm.tsx | 101 + admin-v5/src/pages/system/dict/data.d.ts | 26 + admin-v5/src/pages/system/dict/index.tsx | 316 + admin-v5/src/pages/system/dict/service.ts | 41 + .../system/job/components/CreateJobForm.tsx | 107 + .../system/job/components/UpdateJobForm.tsx | 123 + admin-v5/src/pages/system/job/data.d.ts | 27 + admin-v5/src/pages/system/job/index.tsx | 298 + admin-v5/src/pages/system/job/service.ts | 41 + .../system/menu/components/CreateMenuForm.tsx | 182 + .../system/menu/components/UpdateMenuForm.tsx | 189 + admin-v5/src/pages/system/menu/data.d.ts | 26 + admin-v5/src/pages/system/menu/index.tsx | 306 + admin-v5/src/pages/system/menu/service.ts | 47 + .../system/role/components/CreateRoleForm.tsx | 100 + .../pages/system/role/components/MenuForm.tsx | 119 + .../system/role/components/UpdateRoleForm.tsx | 114 + admin-v5/src/pages/system/role/data.d.ts | 25 + admin-v5/src/pages/system/role/index.tsx | 333 + admin-v5/src/pages/system/role/service.ts | 68 + .../system/user/components/CreateUserForm.tsx | 159 + .../system/user/components/UpdateUserForm.tsx | 170 + admin-v5/src/pages/system/user/data.d.ts | 44 + admin-v5/src/pages/system/user/index.tsx | 326 + admin-v5/src/pages/system/user/service.ts | 57 + .../systemV2/role/components/CheckboxList.tsx | 148 + .../role/components/CreateRoleForm.tsx | 90 + .../systemV2/role/components/MenuForm.tsx | 119 + .../role/components/UpdateRoleForm.tsx | 127 + admin-v5/src/pages/systemV2/role/data.d.ts | 65 + admin-v5/src/pages/systemV2/role/index.tsx | 621 + admin-v5/src/pages/systemV2/role/service.ts | 121 + .../user/components/CreateUserForm.tsx | 131 + .../user/components/UpdateUserForm.tsx | 142 + admin-v5/src/pages/systemV2/user/data.d.ts | 74 + admin-v5/src/pages/systemV2/user/index.tsx | 300 + admin-v5/src/pages/systemV2/user/service.ts | 82 + .../member/components/MemberAddressModal.tsx | 129 + .../member/components/MemberLoginLogModal.tsx | 111 + .../member/components/UpdateMemberForm.tsx | 169 + admin-v5/src/pages/ums/member/data.d.ts | 52 + admin-v5/src/pages/ums/member/index.tsx | 327 + admin-v5/src/pages/ums/member/service.ts | 50 + .../components/CreateAddressForm.tsx | 130 + .../components/UpdateAddressForm.tsx | 111 + .../src/pages/ums/member_address/data.d.ts | 24 + .../src/pages/ums/member_address/index.tsx | 301 + .../src/pages/ums/member_address/service.ts | 40 + .../components/CreateLevelForm.tsx | 130 + .../components/UpdateLevelForm.tsx | 143 + admin-v5/src/pages/ums/member_level/data.d.ts | 25 + admin-v5/src/pages/ums/member_level/index.tsx | 350 + .../src/pages/ums/member_level/service.ts | 40 + .../src/pages/ums/member_login_log/data.d.ts | 24 + .../src/pages/ums/member_login_log/index.tsx | 189 + .../src/pages/ums/member_login_log/service.ts | 21 + .../member/components/MemberAddressModal.tsx | 129 + .../member/components/MemberLoginLogModal.tsx | 111 + .../member/components/UpdateMemberForm.tsx | 169 + admin-v5/src/pages/umsV2/member/data.d.ts | 63 + admin-v5/src/pages/umsV2/member/index.tsx | 266 + admin-v5/src/pages/umsV2/member/service.ts | 90 + .../components/CreateAddressForm.tsx | 130 + .../components/UpdateAddressForm.tsx | 111 + .../src/pages/umsV2/member_address/data.d.ts | 24 + .../src/pages/umsV2/member_address/index.tsx | 301 + .../src/pages/umsV2/member_address/service.ts | 40 + .../components/CreateLevelForm.tsx | 130 + .../components/UpdateLevelForm.tsx | 143 + .../src/pages/umsV2/member_level/data.d.ts | 25 + .../src/pages/umsV2/member_level/index.tsx | 350 + .../src/pages/umsV2/member_level/service.ts | 40 + .../pages/umsV2/member_login_log/data.d.ts | 24 + .../pages/umsV2/member_login_log/index.tsx | 189 + .../pages/umsV2/member_login_log/service.ts | 21 + admin-v5/src/pages/user/login/index.less | 53 + admin-v5/src/pages/user/login/index.tsx | 348 + admin-v5/src/service-worker.js | 65 + admin-v5/src/services/ant-design-pro/api.ts | 85 + admin-v5/src/services/ant-design-pro/index.ts | 10 + admin-v5/src/services/ant-design-pro/login.ts | 21 + .../src/services/ant-design-pro/typings.d.ts | 103 + admin-v5/src/services/http/README.md | 1 + admin-v5/src/services/http/api.ts | 59 + admin-v5/src/services/http/axios_config.ts | 31 + admin-v5/src/services/http/index.ts | 8 + admin-v5/src/services/http/service.ts | 100 + admin-v5/src/services/http/typings.d.ts | 19 + admin-v5/src/services/swagger/index.ts | 12 + admin-v5/src/services/swagger/pet.ts | 166 + admin-v5/src/services/swagger/store.ts | 54 + admin-v5/src/services/swagger/typings.d.ts | 52 + admin-v5/src/services/swagger/user.ts | 114 + admin-v5/src/styles/base.scss | 10 + admin-v5/src/styles/style.scss | 24 + admin-v5/src/typings.d.ts | 24 + admin-v5/src/utils/utils.ts | 23 + admin-v5/tests/run-tests.js | 47 + admin-v5/tests/setupTests.js | 10 + admin-v5/tsconfig.json | 42 + .../意图交互管理端接口-20240408.md | 4419 ++ apps/api/.dev.vars.example | 4 + apps/api/.gitignore | 2 + apps/api/.infisical.json | 5 + apps/api/CHANGELOG.md | 15 + apps/api/package.json | 46 + .../src/benchmarks/ratelimit_latency.test.ts | 188 + .../create_verify_delete_key.test.ts | 79 + apps/api/src/integration/list_keys.test.ts | 172 + .../remaining_is_consistent.test.ts | 105 + .../integration/sdk/create_and_verify.test.ts | 65 + apps/api/src/integration/sdk/verify.test.ts | 94 + .../update_key_add_remaining.test.ts | 129 + .../integration/verify_permissions.test.ts | 223 + apps/api/src/pkg/analytics.ts | 147 + apps/api/src/pkg/auth/root_key.ts | 50 + apps/api/src/pkg/cache/interface.ts | 68 + apps/api/src/pkg/cache/memory.test.ts | 25 + apps/api/src/pkg/cache/memory.ts | 61 + apps/api/src/pkg/cache/metrics.ts | 87 + apps/api/src/pkg/cache/namespaces.ts | 40 + .../src/pkg/cache/stale-while-revalidate.ts | 8 + apps/api/src/pkg/cache/tiered.ts | 135 + apps/api/src/pkg/cache/tracing.ts | 93 + apps/api/src/pkg/cache/zone.ts | 139 + apps/api/src/pkg/db.ts | 43 + apps/api/src/pkg/env.ts | 25 + apps/api/src/pkg/errors/http.ts | 205 + apps/api/src/pkg/errors/index.ts | 2 + apps/api/src/pkg/errors/openapi_responses.ts | 67 + apps/api/src/pkg/hono/app.ts | 51 + apps/api/src/pkg/hono/env.ts | 33 + apps/api/src/pkg/keys/service.ts | 531 + apps/api/src/pkg/logging/axiom.ts | 90 + apps/api/src/pkg/logging/console.ts | 36 + apps/api/src/pkg/logging/index.ts | 2 + apps/api/src/pkg/logging/interface.ts | 11 + apps/api/src/pkg/logging/queue.ts | 68 + apps/api/src/pkg/metrics/axiom.ts | 47 + apps/api/src/pkg/metrics/index.ts | 4 + apps/api/src/pkg/metrics/interface.ts | 13 + apps/api/src/pkg/metrics/noop.ts | 9 + apps/api/src/pkg/metrics/queue.ts | 30 + apps/api/src/pkg/middleware/index.ts | 4 + apps/api/src/pkg/middleware/init.ts | 124 + apps/api/src/pkg/middleware/metrics.ts | 76 + apps/api/src/pkg/middleware/otel.ts | 35 + apps/api/src/pkg/ratelimit/client.ts | 75 + apps/api/src/pkg/ratelimit/durable_object.ts | 70 + apps/api/src/pkg/ratelimit/index.ts | 4 + apps/api/src/pkg/ratelimit/interface.ts | 30 + apps/api/src/pkg/ratelimit/noop.ts | 9 + .../api/src/pkg/testutil/benchmark-harness.ts | 32 + apps/api/src/pkg/testutil/common-tests.ts | 137 + apps/api/src/pkg/testutil/env.ts | 27 + apps/api/src/pkg/testutil/harness.ts | 322 + .../src/pkg/testutil/integration-harness.ts | 30 + apps/api/src/pkg/testutil/load.ts | 17 + apps/api/src/pkg/testutil/request.ts | 74 + apps/api/src/pkg/testutil/route-harness.ts | 88 + apps/api/src/pkg/tracing/config.ts | 26 + apps/api/src/pkg/tracing/span.ts | 0 apps/api/src/pkg/types/maybe.ts | 2 + apps/api/src/pkg/usagelimit/client.ts | 74 + apps/api/src/pkg/usagelimit/durable_object.ts | 129 + apps/api/src/pkg/usagelimit/index.ts | 4 + apps/api/src/pkg/usagelimit/interface.ts | 22 + apps/api/src/pkg/usagelimit/noop.ts | 9 + apps/api/src/routes/legacy_apis_listKeys.ts | 148 + .../src/routes/legacy_keys_createKey.test.ts | 88 + apps/api/src/routes/legacy_keys_createKey.ts | 252 + .../src/routes/legacy_keys_verifyKey.test.ts | 207 + apps/api/src/routes/legacy_keys_verifyKey.ts | 183 + apps/api/src/routes/schema.ts | 135 + .../routes/v1_apis_createApi.error.test.ts | 33 + .../routes/v1_apis_createApi.happy.test.ts | 27 + .../routes/v1_apis_createApi.security.test.ts | 46 + apps/api/src/routes/v1_apis_createApi.ts | 113 + .../routes/v1_apis_deleteApi.error.test.ts | 32 + .../routes/v1_apis_deleteApi.happy.test.ts | 36 + .../routes/v1_apis_deleteApi.security.test.ts | 70 + apps/api/src/routes/v1_apis_deleteApi.ts | 142 + .../src/routes/v1_apis_getApi.error.test.ts | 29 + .../src/routes/v1_apis_getApi.happy.test.ts | 55 + .../routes/v1_apis_getApi.security.test.ts | 55 + apps/api/src/routes/v1_apis_getApi.ts | 84 + .../src/routes/v1_apis_listKeys.error.test.ts | 64 + .../src/routes/v1_apis_listKeys.happy.test.ts | 151 + .../routes/v1_apis_listKeys.security.test.ts | 82 + apps/api/src/routes/v1_apis_listKeys.ts | 162 + .../routes/v1_keys_createKey.error.test.ts | 92 + .../routes/v1_keys_createKey.happy.test.ts | 222 + .../routes/v1_keys_createKey.security.test.ts | 79 + apps/api/src/routes/v1_keys_createKey.ts | 367 + apps/api/src/routes/v1_keys_createRole.ts | 77 + .../routes/v1_keys_deleteKey.error.test.ts | 31 + .../routes/v1_keys_deleteKey.happy.test.ts | 44 + .../routes/v1_keys_deleteKey.security.test.ts | 33 + apps/api/src/routes/v1_keys_deleteKey.ts | 142 + .../src/routes/v1_keys_getKey.error.test.ts | 29 + .../src/routes/v1_keys_getKey.happy.test.ts | 37 + .../routes/v1_keys_getKey.security.test.ts | 84 + apps/api/src/routes/v1_keys_getKey.ts | 130 + .../v1_keys_getVerifications.error.test.ts | 44 + .../v1_keys_getVerifications.happy.test.ts | 64 + .../v1_keys_getVerifications.security.test.ts | 132 + .../src/routes/v1_keys_getVerifications.ts | 238 + .../routes/v1_keys_updateKey.error.test.ts | 32 + .../routes/v1_keys_updateKey.happy.test.ts | 347 + .../routes/v1_keys_updateKey.security.test.ts | 82 + apps/api/src/routes/v1_keys_updateKey.ts | 244 + .../v1_keys_updateRemaining.error.test.ts | 37 + .../v1_keys_updateRemaining.happy.test.ts | 143 + .../v1_keys_updateRemaining.security.test.ts | 87 + .../api/src/routes/v1_keys_updateRemaining.ts | 191 + .../v1_keys_verifyKey.permissions.test.ts | 279 + apps/api/src/routes/v1_keys_verifyKey.test.ts | 373 + apps/api/src/routes/v1_keys_verifyKey.ts | 225 + apps/api/src/routes/v1_liveness.test.ts | 26 + apps/api/src/routes/v1_liveness.ts | 62 + .../v1_ratelimit_limit.accuracy.test.ts | 113 + .../v1_ratelimit_limit.consistency.test.ts | 58 + apps/api/src/routes/v1_ratelimit_limit.ts | 224 + apps/api/src/worker.ts | 100 + apps/api/tsconfig.json | 103 + apps/api/vitest.benchmark.ts | 18 + apps/api/vitest.integration.ts | 18 + apps/api/vitest.routes.ts | 16 + apps/api/vitest.unit.ts | 12 + apps/api/wrangler.toml | 102 + apps/blogai/.env.example | 54 + apps/blogai/.eslintrc.json | 36 + apps/blogai/.gitignore | 39 + apps/blogai/1.log | 2 + apps/blogai/CHANGELOG.md | 36 + apps/blogai/LICENSE | 13 + apps/blogai/README.md | 293 + apps/blogai/app/[locale]/auth/banners.tsx | 18 + apps/blogai/app/[locale]/auth/layout.tsx | 684 + .../blogai/app/[locale]/auth/oauth-button.tsx | 18 + .../auth/sign-in/[[...sign-in]]/page.tsx | 111 + .../app/[locale]/auth/sign-in/email-code.tsx | 140 + .../[locale]/auth/sign-in/email-signin.tsx | 187 + .../[locale]/auth/sign-in/oauth-signin.tsx | 52 + .../auth/sign-up/[[...sign-up]]/page.tsx | 76 + .../app/[locale]/auth/sign-up/email-code.tsx | 205 + .../[locale]/auth/sign-up/email-signup.tsx | 310 + .../[locale]/auth/sign-up/oauth-signup.tsx | 52 + .../sso-callback/[[...sso-callback]]/page.tsx | 15 + apps/blogai/app/[locale]/blog/[slug]/page.tsx | 364 + apps/blogai/app/[locale]/blog/page.tsx | 75 + apps/blogai/app/[locale]/chat/[id]/page.tsx | 55 + apps/blogai/app/[locale]/layout.tsx | 103 + apps/blogai/app/[locale]/morphic/action.tsx | 124 + apps/blogai/app/[locale]/morphic/layout.tsx | 77 + apps/blogai/app/[locale]/morphic/page.tsx | 9 + apps/blogai/app/[locale]/not-found.tsx | 11 + apps/blogai/app/[locale]/page.tsx | 192 + apps/blogai/app/[locale]/qa/[slug]/page.tsx | 293 + apps/blogai/app/[locale]/qa/page.tsx | 69 + .../[locale]/share/[id]/opengraph-image.tsx | 108 + apps/blogai/app/[locale]/share/[id]/page.tsx | 50 + apps/blogai/app/[locale]/subscribe/page.tsx | 742 + apps/blogai/app/actions.ts | 205 + .../app/api/auth/[...nextauth]/route.ts | 2 + apps/blogai/app/api/chat/route.ts | 125 + apps/blogai/app/api/compile-contract/route.ts | 22 + apps/blogai/app/api/deploy-contract/route.ts | 32 + apps/blogai/app/api/ipfs-upload/route.ts | 26 + apps/blogai/app/api/text-to-image/route.ts | 76 + apps/blogai/app/api/verify-contract/route.ts | 35 + apps/blogai/app/globals.css | 74 + apps/blogai/app/i18n.ts | 93 + apps/blogai/app/sitemap.ts | 29 + apps/blogai/app/state/global-store.tsx | 68 + apps/blogai/assets/fonts/Inter-Bold.woff | Bin 0 -> 25760 bytes apps/blogai/assets/fonts/Inter-Regular.woff | Bin 0 -> 24576 bytes apps/blogai/assets/images/opengraph-image.png | Bin 0 -> 105608 bytes apps/blogai/assets/images/twitter-image.png | Bin 0 -> 105595 bytes apps/blogai/auth.ts | 53 + apps/blogai/bun.lockb | Bin 0 -> 456815 bytes apps/blogai/components/LanguageChanger.tsx | 67 + .../components/TranslationsProvider.tsx | 76 + apps/blogai/components/article/article.tsx | 587 + apps/blogai/components/article/card.tsx | 295 + .../components/button-scroll-to-bottom.tsx | 34 + apps/blogai/components/chat-list.tsx | 30 + .../components/chat-message-actions.tsx | 46 + apps/blogai/components/chat-message.tsx | 132 + apps/blogai/components/chat-model.tsx | 699 + apps/blogai/components/chat-panel.tsx | 105 + apps/blogai/components/chat-scroll-anchor.tsx | 29 + apps/blogai/components/chat.tsx | 294 + apps/blogai/components/clear-history.tsx | 73 + apps/blogai/components/connect-button.tsx | 7 + .../components/deploy-contract-button.tsx | 222 + .../components/deploy-frontend-button.tsx | 149 + apps/blogai/components/external-link.tsx | 29 + apps/blogai/components/footer.tsx | 500 + apps/blogai/components/header.tsx | 180 + apps/blogai/components/images/JellyAi.svg | 60 + apps/blogai/components/images/a.png | Bin 0 -> 2197 bytes apps/blogai/components/images/favicon.ico | Bin 0 -> 4286 bytes apps/blogai/components/images/favicon.png | Bin 0 -> 15597 bytes apps/blogai/components/images/jellai.png | Bin 0 -> 2094 bytes apps/blogai/components/images/login_user.png | Bin 0 -> 456 bytes apps/blogai/components/images/logo.png | Bin 0 -> 3484 bytes apps/blogai/components/images/q.png | Bin 0 -> 2306 bytes apps/blogai/components/images/show.png | Bin 0 -> 649 bytes apps/blogai/components/images/sub.png | Bin 0 -> 486 bytes apps/blogai/components/images/user.png | Bin 0 -> 4427 bytes apps/blogai/components/landing.tsx | 164 + .../components/landing/animated-list.tsx | 139 + apps/blogai/components/landing/border.tsx | 30 + apps/blogai/components/landing/container.tsx | 17 + apps/blogai/components/landing/fade-in.tsx | 45 + apps/blogai/components/landing/loading.tsx | 27 + .../blogai/components/landing/mdx-content.tsx | 16 + apps/blogai/components/landing/newsletter.tsx | 80 + apps/blogai/components/login-button.tsx | 60 + apps/blogai/components/markdown.tsx | 9 + apps/blogai/components/mdx-content.tsx | 30 + apps/blogai/components/mpv2/chat-messages.tsx | 14 + apps/blogai/components/mpv2/chat-panel.tsx | 128 + apps/blogai/components/mpv2/chat.tsx | 13 + apps/blogai/components/mpv2/copilot.tsx | 182 + apps/blogai/components/mpv2/empty-screen.tsx | 51 + .../blogai/components/mpv2/followup-panel.tsx | 60 + apps/blogai/components/mpv2/footer.tsx | 42 + apps/blogai/components/mpv2/header.tsx | 23 + apps/blogai/components/mpv2/message.tsx | 37 + apps/blogai/components/mpv2/mode-toggle.tsx | 40 + .../blogai/components/mpv2/search-related.tsx | 72 + .../components/mpv2/search-results-image.tsx | 132 + .../blogai/components/mpv2/search-results.tsx | 69 + .../components/mpv2/search-skeleton.tsx | 30 + apps/blogai/components/mpv2/section.tsx | 71 + .../blogai/components/mpv2/theme-provider.tsx | 9 + apps/blogai/components/mpv2/tool-badge.tsx | 26 + apps/blogai/components/mpv2/user-message.tsx | 18 + apps/blogai/components/prompt-form.tsx | 194 + apps/blogai/components/prompt-index.tsx | 158 + .../components/providers/ui-providers.tsx | 14 + .../components/providers/web3-provider.tsx | 70 + apps/blogai/components/settings-drop-down.tsx | 118 + apps/blogai/components/sidebar-actions.tsx | 217 + apps/blogai/components/sidebar-footer.tsx | 16 + apps/blogai/components/sidebar-item.tsx | 62 + apps/blogai/components/sidebar-list.tsx | 49 + apps/blogai/components/sidebar.tsx | 36 + apps/blogai/components/theme-toggle.tsx | 51 + apps/blogai/components/toaster.tsx | 3 + apps/blogai/components/ui-v2/avatar.tsx | 50 + apps/blogai/components/ui-v2/badge.tsx | 36 + apps/blogai/components/ui-v2/button.tsx | 56 + apps/blogai/components/ui-v2/card.tsx | 79 + apps/blogai/components/ui-v2/carousel.tsx | 262 + apps/blogai/components/ui-v2/checkbox.tsx | 30 + apps/blogai/components/ui-v2/dialog.tsx | 122 + .../blogai/components/ui-v2/dropdown-menu.tsx | 200 + apps/blogai/components/ui-v2/icons.tsx | 22 + apps/blogai/components/ui-v2/input.tsx | 25 + apps/blogai/components/ui-v2/label.tsx | 26 + apps/blogai/components/ui-v2/markdown.tsx | 9 + apps/blogai/components/ui-v2/separator.tsx | 31 + apps/blogai/components/ui-v2/skeleton.tsx | 15 + apps/blogai/components/ui-v2/slider.tsx | 28 + apps/blogai/components/ui-v2/spinner.tsx | 25 + apps/blogai/components/ui-v2/switch.tsx | 29 + apps/blogai/components/ui-v2/textarea.tsx | 24 + apps/blogai/components/ui/alert-dialog.tsx | 150 + apps/blogai/components/ui/avatar.tsx | 47 + apps/blogai/components/ui/badge.tsx | 36 + apps/blogai/components/ui/button.tsx | 75 + apps/blogai/components/ui/codeblock.tsx | 169 + apps/blogai/components/ui/dialog.tsx | 128 + apps/blogai/components/ui/dropdown-menu.tsx | 128 + apps/blogai/components/ui/flex.tsx | 93 + apps/blogai/components/ui/icons.tsx | 644 + apps/blogai/components/ui/index.module.scss | 210 + apps/blogai/components/ui/input.tsx | 25 + apps/blogai/components/ui/label.tsx | 26 + apps/blogai/components/ui/loading.tsx | 40 + apps/blogai/components/ui/scroll-area.tsx | 46 + apps/blogai/components/ui/select.tsx | 123 + apps/blogai/components/ui/separator.tsx | 31 + apps/blogai/components/ui/sheet.tsx | 122 + apps/blogai/components/ui/switch.tsx | 29 + apps/blogai/components/ui/textarea.tsx | 24 + apps/blogai/components/ui/toaster.tsx | 29 + apps/blogai/components/ui/tooltip.tsx | 30 + apps/blogai/components/user-menu.tsx | 128 + apps/blogai/content/blog/authors.ts | 29 + .../content/blog/building-authentic-comms.mdx | 40 + apps/blogai/content/blog/cli-auth.mdx | 184 + .../blog/high-frequency-usage-billing.mdx | 201 + .../blog/how-unkey-treats-marketing.mdx | 235 + apps/blogai/content/blog/how-we-ai.mdx | 102 + .../blog/introducing-vercel-integration.mdx | 23 + apps/blogai/content/blog/ocr-service.mdx | 388 + .../secure-supabase-functions-using-unkey.mdx | 243 + .../content/blog/unkey-raises-1-5-million.mdx | 56 + .../content/blog/using-unkey-with-auth.mdx | 478 + apps/blogai/content/blog/uuid-ux.mdx | 175 + .../content/blog/why-we-built-unkey.mdx | 75 + apps/blogai/content/changelog/2023-06-25.mdx | 19 + apps/blogai/content/changelog/2023-07-02.mdx | 40 + apps/blogai/content/changelog/2023-07-03.mdx | 18 + apps/blogai/content/changelog/2023-07-10.mdx | 34 + apps/blogai/content/changelog/2023-07-21.mdx | 67 + apps/blogai/content/changelog/2023-08-10.mdx | 49 + apps/blogai/content/changelog/2023-08-25.mdx | 88 + apps/blogai/content/changelog/2023-09-08.mdx | 59 + apps/blogai/content/changelog/2023-09-29.mdx | 62 + apps/blogai/content/changelog/2023-11-03.mdx | 83 + apps/blogai/content/changelog/2023-12-01.mdx | 53 + apps/blogai/content/changelog/2023-12-15.mdx | 66 + apps/blogai/content/changelog/2024-01-05.mdx | 75 + apps/blogai/content/changelog/2024-01-19.mdx | 82 + apps/blogai/content/changelog/2024-02-16.mdx | 53 + .../blogai/content/jobs/software-engineer.mdx | 62 + apps/blogai/content/policies/privacy.mdx | 71 + apps/blogai/content/policies/terms.mdx | 89 + apps/blogai/docs/btc.md | 121 + apps/blogai/fonts/Inter-Bold.woff | Bin 0 -> 25760 bytes apps/blogai/fonts/Inter-Regular.woff | Bin 0 -> 24576 bytes apps/blogai/i18nConfig.ts | 8 + apps/blogai/info.welcome_email.html | 3162 + apps/blogai/lib/agents/index.tsx | 4 + apps/blogai/lib/agents/inquire.tsx | 72 + apps/blogai/lib/agents/query-suggestor.tsx | 51 + apps/blogai/lib/agents/researcher.tsx | 202 + apps/blogai/lib/agents/task-manager.tsx | 29 + apps/blogai/lib/analytics.ts | 62 + apps/blogai/lib/chains-all.json | 22573 ++++++ apps/blogai/lib/chains.json | 407 + apps/blogai/lib/constants.ts | 8 + apps/blogai/lib/fonts.ts | 11 + .../deploy-contract/compile-contract.ts | 37 + .../deploy-contract/deploy-contract.ts | 173 + .../deploy-contract/handle-imports.ts | 95 + .../functions/deploy-contract/ipfs-upload.ts | 26 + .../deploy-contract/verify-contract.ts | 77 + .../deploy-contract/wallet-deploy.ts | 230 + apps/blogai/lib/functions/schemas.ts | 65 + apps/blogai/lib/functions/types.ts | 43 + apps/blogai/lib/hooks/shared/call-chat-api.ts | 79 + .../lib/hooks/shared/call-completion-api.ts | 119 + apps/blogai/lib/hooks/shared/generate-id.ts | 9 + .../hooks/shared/parse-complex-response.ts | 162 + .../lib/hooks/shared/process-chat-stream.ts | 203 + .../lib/hooks/shared/read-data-stream.ts | 80 + apps/blogai/lib/hooks/shared/stream-data.ts | 136 + apps/blogai/lib/hooks/shared/stream-parts.ts | 375 + .../hooks/shared/streaming-react-response.ts | 87 + apps/blogai/lib/hooks/shared/types.ts | 348 + apps/blogai/lib/hooks/shared/utils.ts | 60 + apps/blogai/lib/hooks/use-at-bottom.tsx | 23 + apps/blogai/lib/hooks/use-chat.ts | 479 + .../lib/hooks/use-copy-to-clipboard.tsx | 33 + apps/blogai/lib/hooks/use-enter-submit.tsx | 23 + apps/blogai/lib/hooks/use-isdk_b.ts | 438 + apps/blogai/lib/hooks/use-local-storage.ts | 24 + apps/blogai/lib/hooks/use-w3gpt-deploy.tsx | 100 + apps/blogai/lib/http/README.md | 1 + apps/blogai/lib/http/axios_config.ts | 31 + apps/blogai/lib/http/service.ts | 42 + apps/blogai/lib/is-client-context.tsx | 22 + apps/blogai/lib/mdx-helper.ts | 444 + apps/blogai/lib/metadata.ts | 19 + apps/blogai/lib/schema/inquiry.tsx | 22 + apps/blogai/lib/schema/next-action.tsx | 8 + apps/blogai/lib/schema/related.tsx | 13 + apps/blogai/lib/schema/search.tsx | 17 + apps/blogai/lib/types.ts | 55 + apps/blogai/lib/utils.ts | 76 + apps/blogai/lib/viem-utils.ts | 40 + apps/blogai/locales/en/common.json | 73 + apps/blogai/locales/en/home.json | 111 + apps/blogai/locales/zh-CN/common.json | 73 + apps/blogai/locales/zh-CN/home.json | 111 + apps/blogai/middleware.ts | 42 + apps/blogai/next-env.d.ts | 5 + apps/blogai/next-i18next.config.js | 16 + apps/blogai/next.config.js | 76 + apps/blogai/package.json | 122 + apps/blogai/postcss.config.js | 6 + apps/blogai/prettier.config.cjs | 34 + .../public/.well-known/walletconnect.txt | 1 + apps/blogai/public/favicon.ico | Bin 0 -> 4286 bytes apps/blogai/public/favicon.png | Bin 0 -> 2094 bytes apps/blogai/public/favicon_16.png | Bin 0 -> 1454 bytes apps/blogai/public/lotties/clock.json | 1 + apps/blogai/public/lotties/globe.json | 1 + apps/blogai/public/lotties/puzzle.json | 1 + apps/blogai/public/mantle-logo.jpeg | Bin 0 -> 8351 bytes apps/blogai/public/w3gpt-logo-beta.svg | 12 + apps/blogai/public/w3gpt-logo.svg | 9 + apps/blogai/public/welcome_email.html | 930 + apps/blogai/public/welcome_email_cn.html | 909 + apps/blogai/tailwind.config.js | 101 + apps/blogai/tsconfig.json | 51 + apps/blogai/vercel.json | 7 + apps/blogai/welcome_email_tmp.html | 945 + .../意图交互客户接口-20240408.md | 745 + apps/blogai/意图交互服务程序协议.md | 299 + apps/blogai/网关接口说明.md | 635 + apps/migrant/.env.example | 54 + apps/migrant/.eslintrc.json | 42 + apps/migrant/.gitignore | 39 + apps/migrant/1.log | 2 + .../AI员工商户和管理端接口.md | 590 + apps/migrant/CHANGELOG.md | 36 + apps/migrant/LICENSE | 13 + apps/migrant/README.md | 291 + apps/migrant/app/[locale]/auth/banners.tsx | 18 + apps/migrant/app/[locale]/auth/layout.tsx | 677 + .../app/[locale]/auth/oauth-button.tsx | 18 + .../auth/sign-in/[[...sign-in]]/page.tsx | 111 + .../app/[locale]/auth/sign-in/email-code.tsx | 140 + .../[locale]/auth/sign-in/email-signin.tsx | 190 + .../[locale]/auth/sign-in/oauth-signin.tsx | 52 + .../auth/sign-up/[[...sign-up]]/page.tsx | 76 + .../app/[locale]/auth/sign-up/email-code.tsx | 201 + .../[locale]/auth/sign-up/email-signup.tsx | 310 + .../[locale]/auth/sign-up/oauth-signup.tsx | 52 + .../sso-callback/[[...sso-callback]]/page.tsx | 15 + apps/migrant/app/[locale]/chat/[id]/page.tsx | 55 + .../app/[locale]/chatbot/chat/[id]/page.tsx | 60 + apps/migrant/app/[locale]/chatbot/layout.tsx | 14 + apps/migrant/app/[locale]/chatbot/page.tsx | 22 + apps/migrant/app/[locale]/jelly/page.tsx | 139 + apps/migrant/app/[locale]/layout.tsx | 156 + .../[locale]/manage/[...not-found]/page.tsx | 22 + .../app/[locale]/manage/analysis/page.tsx | 12 + .../[locale]/manage/apis/[apiId]/layout.tsx | 74 + .../[locale]/manage/apis/[apiId]/loading.tsx | 62 + .../app/[locale]/manage/apis/[apiId]/page.tsx | 312 + .../[locale]/manage/apis/[apiId]/select.tsx | 76 + .../manage/apis/[apiId]/settings/actions.ts | 7 + .../apis/[apiId]/settings/delete-api.tsx | 174 + .../manage/apis/[apiId]/settings/page.tsx | 68 + .../apis/[apiId]/settings/update-api-name.tsx | 98 + .../[apiId]/settings/update-ip-whitelist.tsx | 129 + .../app/[locale]/manage/apis/client.tsx | 101 + .../manage/apis/create-api-button.tsx | 97 + .../app/[locale]/manage/apis/loading.tsx | 43 + .../migrant/app/[locale]/manage/apis/page.tsx | 96 + .../[locale]/manage/authorization/layout.tsx | 68 + .../permissions/[permissionId]/client.tsx | 123 + .../[permissionId]/delete-permission.tsx | 126 + .../permissions/[permissionId]/page.tsx | 135 + .../permissions/create-new-permission.tsx | 146 + .../manage/authorization/permissions/page.tsx | 88 + .../roles/[roleId]/delete-role.tsx | 132 + .../authorization/roles/[roleId]/page.tsx | 85 + .../roles/[roleId]/permission-toggle.tsx | 80 + .../authorization/roles/[roleId]/tree.tsx | 100 + .../roles/[roleId]/update-role.tsx | 145 + .../authorization/roles/create-new-role.tsx | 183 + .../manage/authorization/roles/page.tsx | 108 + .../app/[locale]/manage/billing/lists.tsx | 283 + .../app/[locale]/manage/billing/page.tsx | 16 + .../[locale]/manage/billing/success/page.tsx | 104 + .../app/[locale]/manage/desktop-sidebar.tsx | 360 + .../keys/[keyAuthId]/[keyId]/layout.tsx | 98 + .../manage/keys/[keyAuthId]/[keyId]/page.tsx | 274 + .../[keyAuthId]/[keyId]/permissions/chart.tsx | 321 + .../[keyAuthId]/[keyId]/permissions/page.tsx | 106 + .../[keyId]/permissions/role-toggle.tsx | 80 + .../[keyId]/settings/delete-key.tsx | 90 + .../[keyAuthId]/[keyId]/settings/page.tsx | 82 + .../[keyId]/settings/update-key-enabled.tsx | 113 + .../settings/update-key-expiration.tsx | 159 + .../[keyId]/settings/update-key-metadata.tsx | 125 + .../[keyId]/settings/update-key-name.tsx | 109 + .../[keyId]/settings/update-key-owner-id.tsx | 116 + .../[keyId]/settings/update-key-ratelimit.tsx | 242 + .../[keyId]/settings/update-key-remaining.tsx | 253 + .../manage/keys/[keyAuthId]/[keyId]/table.tsx | 82 + .../[locale]/manage/keys/[keyAuthId]/keys.tsx | 143 + .../manage/keys/[keyAuthId]/new/client.tsx | 849 + .../manage/keys/[keyAuthId]/new/page.tsx | 30 + .../[locale]/manage/keys/[keyAuthId]/page.tsx | 74 + apps/migrant/app/[locale]/manage/layout.tsx | 109 + .../app/[locale]/manage/mobile-sidebar.tsx | 71 + .../app/[locale]/manage/new/create-api.tsx | 127 + .../app/[locale]/manage/new/create-form.tsx | 325 + .../[locale]/manage/new/create-workspace.tsx | 151 + apps/migrant/app/[locale]/manage/new/keys.tsx | 270 + .../app/[locale]/manage/new/layout.tsx | 31 + apps/migrant/app/[locale]/manage/new/page.tsx | 187 + .../app/[locale]/manage/overview/page.tsx | 67 + apps/migrant/app/[locale]/manage/page.tsx | 15 + .../app/[locale]/manage/plans/button.tsx | 107 + .../app/[locale]/manage/plans/card.tsx | 409 + .../app/[locale]/manage/plans/page.tsx | 44 + .../app/[locale]/manage/repository/lists.tsx | 283 + .../[locale]/manage/repository/new/page.tsx | 85 + .../repository/new/update-workspace-image.tsx | 174 + .../repository/new/update-workspace-name.tsx | 98 + .../repository/new/update-workspace.tsx | 419 + .../app/[locale]/manage/repository/page.tsx | 25 + .../[locale]/manage/staffs/[apiId]/item.tsx | 311 + .../[locale]/manage/staffs/[apiId]/layout.tsx | 68 + .../manage/staffs/[apiId]/loading.tsx | 62 + .../[locale]/manage/staffs/[apiId]/page.tsx | 299 + .../[locale]/manage/staffs/[apiId]/select.tsx | 76 + .../manage/staffs/[apiId]/settings/actions.ts | 7 + .../staffs/[apiId]/settings/delete-api.tsx | 174 + .../manage/staffs/[apiId]/settings/page.tsx | 100 + .../[apiId]/settings/update-api-name.tsx | 97 + .../[apiId]/settings/update-ip-whitelist.tsx | 130 + .../app/[locale]/manage/staffs/client.tsx | 193 + .../manage/staffs/create-api-button.tsx | 390 + .../app/[locale]/manage/staffs/loading.tsx | 43 + .../app/[locale]/manage/staffs/page.tsx | 102 + .../app/[locale]/manage/team-switcher.tsx | 149 + .../app/[locale]/manage/user-button.tsx | 162 + apps/migrant/app/[locale]/morphic/action.tsx | 136 + apps/migrant/app/[locale]/morphic/layout.tsx | 77 + apps/migrant/app/[locale]/morphic/page.tsx | 9 + apps/migrant/app/[locale]/not-found.tsx | 11 + apps/migrant/app/[locale]/page.tsx | 294 + apps/migrant/app/[locale]/pay/create-api.tsx | 127 + .../app/[locale]/pay/create-workspace.tsx | 138 + apps/migrant/app/[locale]/pay/keys.tsx | 271 + apps/migrant/app/[locale]/pay/layout.tsx | 31 + apps/migrant/app/[locale]/pay/page.tsx | 174 + .../app/[locale]/preview/create-api.tsx | 127 + .../app/[locale]/preview/create-workspace.tsx | 150 + apps/migrant/app/[locale]/preview/keys.tsx | 271 + apps/migrant/app/[locale]/preview/layout.tsx | 31 + apps/migrant/app/[locale]/preview/page.tsx | 225 + .../app/[locale]/pricing/components.tsx | 1528 + .../migrant/app/[locale]/pricing/discover.tsx | 209 + .../app/[locale]/pricing/hero-svgs.tsx | 2438 + apps/migrant/app/[locale]/pricing/page.tsx | 175 + apps/migrant/app/[locale]/pricing/svgs.tsx | 332 + apps/migrant/app/[locale]/sdk/page.tsx | 306 + .../[locale]/share/[id]/opengraph-image.tsx | 108 + apps/migrant/app/[locale]/share/[id]/page.tsx | 50 + apps/migrant/app/[locale]/staff/page.tsx | 179 + apps/migrant/app/actions.ts | 259 + .../app/api/auth/[...nextauth]/route.ts | 2 + apps/migrant/app/api/chat/route.ts | 126 + .../migrant/app/api/compile-contract/route.ts | 22 + apps/migrant/app/api/deploy-contract/route.ts | 32 + apps/migrant/app/api/ipfs-upload/route.ts | 26 + apps/migrant/app/api/text-to-image/route.ts | 76 + apps/migrant/app/api/verify-contract/route.ts | 35 + apps/migrant/app/globals.css | 142 + apps/migrant/app/i18n.ts | 93 + apps/migrant/app/section-title.tsx | 61 + apps/migrant/app/sitemap.ts | 29 + .../app/staffai/[staffId]/create-api.tsx | 127 + .../staffai/[staffId]/create-workspace.tsx | 179 + apps/migrant/app/staffai/[staffId]/keys.tsx | 271 + apps/migrant/app/staffai/[staffId]/page.tsx | 205 + apps/migrant/app/staffai/layout.tsx | 65 + apps/migrant/app/staffai/page.tsx | 102 + apps/migrant/app/state/global-store.tsx | 68 + apps/migrant/app/xauth/layout.tsx | 65 + apps/migrant/app/xauth/login/actions.ts | 109 + apps/migrant/app/xauth/login/page.tsx | 18 + apps/migrant/app/xauth/signup/actions.ts | 111 + apps/migrant/app/xauth/signup/page.tsx | 18 + apps/migrant/assets/fonts/Inter-Bold.woff | Bin 0 -> 25760 bytes apps/migrant/assets/fonts/Inter-Regular.woff | Bin 0 -> 24576 bytes .../migrant/assets/images/opengraph-image.png | Bin 0 -> 105608 bytes apps/migrant/assets/images/twitter-image.png | Bin 0 -> 105595 bytes apps/migrant/auth.config.ts | 42 + apps/migrant/auth.ts | 99 + apps/migrant/bun.lockb | Bin 0 -> 456815 bytes .../components-ai/button-scroll-to-bottom.tsx | 36 + apps/migrant/components-ai/chat-history.tsx | 49 + apps/migrant/components-ai/chat-list.tsx | 52 + .../components-ai/chat-message-actions.tsx | 40 + apps/migrant/components-ai/chat-message.tsx | 80 + apps/migrant/components-ai/chat-panel.tsx | 138 + .../components-ai/chat-share-dialog.tsx | 95 + apps/migrant/components-ai/chat.tsx | 85 + apps/migrant/components-ai/clear-history.tsx | 75 + apps/migrant/components-ai/empty-screen.tsx | 53 + apps/migrant/components-ai/external-link.tsx | 29 + apps/migrant/components-ai/footer.tsx | 23 + apps/migrant/components-ai/header.tsx | 80 + apps/migrant/components-ai/login-button.tsx | 42 + apps/migrant/components-ai/login-form.tsx | 97 + apps/migrant/components-ai/markdown.tsx | 9 + apps/migrant/components-ai/prompt-form.tsx | 115 + apps/migrant/components-ai/providers.tsx | 17 + .../migrant/components-ai/sidebar-actions.tsx | 125 + .../migrant/components-ai/sidebar-desktop.tsx | 19 + apps/migrant/components-ai/sidebar-footer.tsx | 16 + apps/migrant/components-ai/sidebar-item.tsx | 124 + apps/migrant/components-ai/sidebar-items.tsx | 42 + apps/migrant/components-ai/sidebar-list.tsx | 38 + apps/migrant/components-ai/sidebar-mobile.tsx | 31 + apps/migrant/components-ai/sidebar-toggle.tsx | 24 + apps/migrant/components-ai/sidebar.tsx | 21 + apps/migrant/components-ai/signup-form.tsx | 95 + .../components-ai/stocks/events-skeleton.tsx | 31 + apps/migrant/components-ai/stocks/events.tsx | 30 + apps/migrant/components-ai/stocks/index.tsx | 36 + apps/migrant/components-ai/stocks/message.tsx | 134 + apps/migrant/components-ai/stocks/spinner.tsx | 16 + .../components-ai/stocks/stock-purchase.tsx | 146 + .../components-ai/stocks/stock-skeleton.tsx | 22 + apps/migrant/components-ai/stocks/stock.tsx | 209 + .../components-ai/stocks/stocks-skeleton.tsx | 9 + apps/migrant/components-ai/stocks/stocks.tsx | 64 + .../components-ai/tailwind-indicator.tsx | 14 + apps/migrant/components-ai/theme-toggle.tsx | 31 + .../migrant/components-ai/ui/alert-dialog.tsx | 141 + apps/migrant/components-ai/ui/badge.tsx | 36 + apps/migrant/components-ai/ui/button.tsx | 57 + apps/migrant/components-ai/ui/codeblock.tsx | 148 + apps/migrant/components-ai/ui/dialog.tsx | 122 + .../components-ai/ui/dropdown-menu.tsx | 205 + apps/migrant/components-ai/ui/icons.tsx | 507 + apps/migrant/components-ai/ui/input.tsx | 25 + apps/migrant/components-ai/ui/label.tsx | 26 + apps/migrant/components-ai/ui/select.tsx | 164 + apps/migrant/components-ai/ui/separator.tsx | 31 + apps/migrant/components-ai/ui/sheet.tsx | 140 + apps/migrant/components-ai/ui/sonner.tsx | 32 + apps/migrant/components-ai/ui/switch.tsx | 29 + apps/migrant/components-ai/ui/textarea.tsx | 24 + apps/migrant/components-ai/ui/tooltip.tsx | 30 + apps/migrant/components-ai/user-menu.tsx | 53 + apps/migrant/components/LanguageChanger.tsx | 67 + .../components/TranslationsProvider.tsx | 76 + apps/migrant/components/article/article.tsx | 587 + apps/migrant/components/article/card.tsx | 295 + .../components/button-scroll-to-bottom.tsx | 34 + apps/migrant/components/chat-list.tsx | 30 + .../components/chat-message-actions.tsx | 46 + apps/migrant/components/chat-message.tsx | 133 + apps/migrant/components/chat-model.tsx | 679 + apps/migrant/components/chat-panel.tsx | 106 + .../migrant/components/chat-scroll-anchor.tsx | 29 + apps/migrant/components/chat-staff.tsx | 390 + apps/migrant/components/chat.tsx | 345 + apps/migrant/components/clear-history.tsx | 73 + apps/migrant/components/connect-button.tsx | 7 + .../dashboard/api-key-table/index.tsx | 296 + .../dashboard/api-key-table/table.tsx | 223 + apps/migrant/components/dashboard/charts.tsx | 233 + .../components/dashboard/command-menu.tsx | 255 + apps/migrant/components/dashboard/confirm.tsx | 63 + .../components/dashboard/copy-button.tsx | 42 + .../dashboard/create-key-button.tsx | 24 + .../dashboard/empty-placeholder.tsx | 57 + apps/migrant/components/dashboard/loading.tsx | 27 + apps/migrant/components/dashboard/navbar.tsx | 67 + .../components/dashboard/page-header.tsx | 38 + .../dashboard/root-key-table/index.tsx | 215 + .../dashboard/root-key-table/table.tsx | 223 + apps/migrant/components/dashboard/text.tsx | 52 + .../components/dashboard/visible-button.tsx | 39 + .../components/deploy-contract-button.tsx | 222 + .../components/deploy-frontend-button.tsx | 149 + apps/migrant/components/external-link.tsx | 29 + .../migrant/components/footer/footer-svgs.tsx | 234 + apps/migrant/components/footer/footer.tsx | 200 + .../components/footer/social-media.tsx | 34 + apps/migrant/components/frame.tsx | 45 + apps/migrant/components/images/JellyAi.svg | 60 + apps/migrant/components/images/a.png | Bin 0 -> 144934 bytes apps/migrant/components/images/ai_a.png | Bin 0 -> 694003 bytes apps/migrant/components/images/ai_b.png | Bin 0 -> 291681 bytes apps/migrant/components/images/ai_c.png | Bin 0 -> 376909 bytes apps/migrant/components/images/ai_d.png | Bin 0 -> 202516 bytes apps/migrant/components/images/ai_jelly_a.png | Bin 0 -> 1059549 bytes apps/migrant/components/images/ai_jelly_b.png | Bin 0 -> 964362 bytes .../migrant/components/images/ai_jelly_bg.png | Bin 0 -> 884043 bytes apps/migrant/components/images/ai_jelly_c.png | Bin 0 -> 586633 bytes apps/migrant/components/images/ai_jelly_d.png | Bin 0 -> 490134 bytes apps/migrant/components/images/ai_staff.png | Bin 0 -> 52969 bytes .../migrant/components/images/ai_staff_bg.png | Bin 0 -> 1176724 bytes apps/migrant/components/images/b.png | Bin 0 -> 170783 bytes apps/migrant/components/images/c.png | Bin 0 -> 140446 bytes apps/migrant/components/images/d.png | Bin 0 -> 115613 bytes apps/migrant/components/images/favicon.ico | Bin 0 -> 4286 bytes apps/migrant/components/images/favicon.png | Bin 0 -> 15597 bytes apps/migrant/components/images/jellai.png | Bin 0 -> 2094 bytes apps/migrant/components/images/jellydrops.png | Bin 0 -> 3994 bytes apps/migrant/components/images/kefu.png | Bin 0 -> 626991 bytes apps/migrant/components/images/lipread.png | Bin 0 -> 467839 bytes apps/migrant/components/images/login_user.png | Bin 0 -> 456 bytes apps/migrant/components/images/natural.png | Bin 0 -> 1030377 bytes apps/migrant/components/images/q.png | Bin 0 -> 2306 bytes apps/migrant/components/images/show.png | Bin 0 -> 649 bytes apps/migrant/components/images/signlang.png | Bin 0 -> 460257 bytes apps/migrant/components/images/sub.png | Bin 0 -> 486 bytes apps/migrant/components/images/user.png | Bin 0 -> 4427 bytes apps/migrant/components/images/voice.png | Bin 0 -> 431868 bytes apps/migrant/components/landing.tsx | 164 + .../components/landing/animated-list.tsx | 139 + apps/migrant/components/landing/border.tsx | 30 + apps/migrant/components/landing/container.tsx | 17 + apps/migrant/components/landing/fade-in.tsx | 45 + apps/migrant/components/landing/loading.tsx | 27 + .../components/landing/mdx-content.tsx | 16 + .../migrant/components/landing/newsletter.tsx | 80 + apps/migrant/components/login-button.tsx | 60 + apps/migrant/components/markdown.tsx | 9 + apps/migrant/components/mdx-content.tsx | 30 + .../migrant/components/mpv2/chat-messages.tsx | 14 + apps/migrant/components/mpv2/chat-panel.tsx | 128 + apps/migrant/components/mpv2/chat.tsx | 13 + apps/migrant/components/mpv2/copilot.tsx | 182 + apps/migrant/components/mpv2/empty-screen.tsx | 51 + .../components/mpv2/followup-panel.tsx | 60 + apps/migrant/components/mpv2/footer.tsx | 42 + apps/migrant/components/mpv2/header.tsx | 23 + apps/migrant/components/mpv2/message.tsx | 38 + apps/migrant/components/mpv2/mode-toggle.tsx | 40 + .../components/mpv2/search-related.tsx | 72 + .../components/mpv2/search-results-image.tsx | 132 + .../components/mpv2/search-results.tsx | 69 + .../components/mpv2/search-skeleton.tsx | 30 + apps/migrant/components/mpv2/section.tsx | 71 + .../components/mpv2/theme-provider.tsx | 9 + apps/migrant/components/mpv2/tool-badge.tsx | 26 + apps/migrant/components/mpv2/user-message.tsx | 18 + apps/migrant/components/navbar/header.tsx | 182 + apps/migrant/components/navbar/link.tsx | 47 + apps/migrant/components/navbar/navigation.tsx | 230 + apps/migrant/components/particles.tsx | 233 + apps/migrant/components/prompt-form.tsx | 195 + apps/migrant/components/prompt-index.tsx | 156 + .../components/providers/ui-providers.tsx | 14 + .../components/providers/web3-provider.tsx | 70 + .../migrant/components/settings-drop-down.tsx | 118 + apps/migrant/components/shiny-card.tsx | 112 + apps/migrant/components/sidebar-actions.tsx | 217 + apps/migrant/components/sidebar-footer.tsx | 16 + apps/migrant/components/sidebar-item.tsx | 62 + apps/migrant/components/sidebar-list.tsx | 49 + apps/migrant/components/sidebar.tsx | 36 + apps/migrant/components/staffs/banner.tsx | 36 + .../components/staffs/multi-select.tsx | 134 + apps/migrant/components/staffs/opt-in.tsx | 58 + apps/migrant/components/theme-toggle.tsx | 51 + apps/migrant/components/toaster.tsx | 3 + apps/migrant/components/ui-v2/avatar.tsx | 50 + apps/migrant/components/ui-v2/badge.tsx | 36 + apps/migrant/components/ui-v2/button.tsx | 56 + apps/migrant/components/ui-v2/card.tsx | 79 + apps/migrant/components/ui-v2/carousel.tsx | 262 + apps/migrant/components/ui-v2/checkbox.tsx | 30 + apps/migrant/components/ui-v2/dialog.tsx | 122 + .../components/ui-v2/dropdown-menu.tsx | 200 + apps/migrant/components/ui-v2/icons.tsx | 22 + apps/migrant/components/ui-v2/input.tsx | 25 + apps/migrant/components/ui-v2/label.tsx | 26 + apps/migrant/components/ui-v2/markdown.tsx | 9 + apps/migrant/components/ui-v2/separator.tsx | 31 + apps/migrant/components/ui-v2/skeleton.tsx | 15 + apps/migrant/components/ui-v2/slider.tsx | 28 + apps/migrant/components/ui-v2/spinner.tsx | 25 + apps/migrant/components/ui-v2/switch.tsx | 29 + apps/migrant/components/ui-v2/textarea.tsx | 24 + apps/migrant/components/ui/alert-dialog.tsx | 150 + apps/migrant/components/ui/alert.tsx | 49 + apps/migrant/components/ui/avatar.tsx | 47 + apps/migrant/components/ui/badge.tsx | 36 + apps/migrant/components/ui/button.tsx | 141 + apps/migrant/components/ui/card.tsx | 70 + apps/migrant/components/ui/checkbox.tsx | 28 + apps/migrant/components/ui/code.tsx | 30 + apps/migrant/components/ui/codeblock.tsx | 169 + apps/migrant/components/ui/collapsible.tsx | 11 + apps/migrant/components/ui/command.tsx | 145 + apps/migrant/components/ui/dialog.tsx | 128 + apps/migrant/components/ui/drawer.tsx | 100 + apps/migrant/components/ui/dropdown-menu.tsx | 191 + apps/migrant/components/ui/flex.tsx | 93 + apps/migrant/components/ui/form.tsx | 167 + apps/migrant/components/ui/icons.tsx | 644 + apps/migrant/components/ui/index.module.scss | 210 + apps/migrant/components/ui/input.tsx | 25 + apps/migrant/components/ui/label.tsx | 26 + apps/migrant/components/ui/loading.tsx | 40 + apps/migrant/components/ui/scroll-area.tsx | 46 + apps/migrant/components/ui/select.tsx | 123 + apps/migrant/components/ui/separator.tsx | 31 + apps/migrant/components/ui/sheet.tsx | 121 + apps/migrant/components/ui/skeleton.tsx | 7 + apps/migrant/components/ui/switch.tsx | 29 + apps/migrant/components/ui/table.tsx | 96 + apps/migrant/components/ui/textarea.tsx | 24 + apps/migrant/components/ui/toaster.tsx | 29 + apps/migrant/components/ui/tooltip.tsx | 30 + apps/migrant/components/user-menu.tsx | 130 + apps/migrant/content/blog/authors.ts | 29 + .../content/blog/building-authentic-comms.mdx | 40 + apps/migrant/content/blog/cli-auth.mdx | 184 + .../blog/high-frequency-usage-billing.mdx | 201 + .../blog/how-unkey-treats-marketing.mdx | 235 + apps/migrant/content/blog/how-we-ai.mdx | 102 + .../blog/introducing-vercel-integration.mdx | 23 + apps/migrant/content/blog/ocr-service.mdx | 388 + .../secure-supabase-functions-using-unkey.mdx | 243 + .../content/blog/unkey-raises-1-5-million.mdx | 56 + .../content/blog/using-unkey-with-auth.mdx | 478 + apps/migrant/content/blog/uuid-ux.mdx | 175 + .../content/blog/why-we-built-unkey.mdx | 75 + apps/migrant/content/changelog/2023-06-25.mdx | 19 + apps/migrant/content/changelog/2023-07-02.mdx | 40 + apps/migrant/content/changelog/2023-07-03.mdx | 18 + apps/migrant/content/changelog/2023-07-10.mdx | 34 + apps/migrant/content/changelog/2023-07-21.mdx | 67 + apps/migrant/content/changelog/2023-08-10.mdx | 49 + apps/migrant/content/changelog/2023-08-25.mdx | 88 + apps/migrant/content/changelog/2023-09-08.mdx | 59 + apps/migrant/content/changelog/2023-09-29.mdx | 62 + apps/migrant/content/changelog/2023-11-03.mdx | 83 + apps/migrant/content/changelog/2023-12-01.mdx | 53 + apps/migrant/content/changelog/2023-12-15.mdx | 66 + apps/migrant/content/changelog/2024-01-05.mdx | 75 + apps/migrant/content/changelog/2024-01-19.mdx | 82 + apps/migrant/content/changelog/2024-02-16.mdx | 53 + .../content/jobs/software-engineer.mdx | 62 + apps/migrant/content/policies/privacy.mdx | 71 + apps/migrant/content/policies/terms.mdx | 89 + apps/migrant/docs/btc.md | 121 + apps/migrant/fonts/Inter-Bold.woff | Bin 0 -> 25760 bytes apps/migrant/fonts/Inter-Regular.woff | Bin 0 -> 24576 bytes apps/migrant/i18nConfig.ts | 8 + apps/migrant/info.welcome_email.html | 3162 + apps/migrant/lib/agents/index.tsx | 4 + apps/migrant/lib/agents/inquire.tsx | 72 + apps/migrant/lib/agents/query-suggestor.tsx | 51 + apps/migrant/lib/agents/researcher.tsx | 202 + apps/migrant/lib/agents/task-manager.tsx | 33 + apps/migrant/lib/analytics.ts | 62 + apps/migrant/lib/auth.ts | 12 + apps/migrant/lib/chains-all.json | 22573 ++++++ apps/migrant/lib/chains.json | 407 + apps/migrant/lib/chat/actions.tsx | 495 + apps/migrant/lib/constants.ts | 8 + apps/migrant/lib/fmt.ts | 3 + apps/migrant/lib/fonts.ts | 11 + .../deploy-contract/compile-contract.ts | 37 + .../deploy-contract/deploy-contract.ts | 173 + .../deploy-contract/handle-imports.ts | 95 + .../functions/deploy-contract/ipfs-upload.ts | 26 + .../deploy-contract/verify-contract.ts | 77 + .../deploy-contract/wallet-deploy.ts | 230 + apps/migrant/lib/functions/schemas.ts | 65 + apps/migrant/lib/functions/types.ts | 43 + .../migrant/lib/hooks/shared/call-chat-api.ts | 79 + .../lib/hooks/shared/call-completion-api.ts | 119 + apps/migrant/lib/hooks/shared/generate-id.ts | 9 + .../hooks/shared/parse-complex-response.ts | 162 + .../lib/hooks/shared/process-chat-stream.ts | 203 + .../lib/hooks/shared/read-data-stream.ts | 80 + apps/migrant/lib/hooks/shared/stream-data.ts | 136 + apps/migrant/lib/hooks/shared/stream-parts.ts | 375 + .../hooks/shared/streaming-react-response.ts | 87 + apps/migrant/lib/hooks/shared/types.ts | 348 + apps/migrant/lib/hooks/shared/utils.ts | 60 + apps/migrant/lib/hooks/use-at-bottom.tsx | 23 + apps/migrant/lib/hooks/use-chat.ts | 479 + .../lib/hooks/use-copy-to-clipboard.tsx | 33 + apps/migrant/lib/hooks/use-enter-submit.tsx | 23 + apps/migrant/lib/hooks/use-isdk_b.ts | 438 + apps/migrant/lib/hooks/use-local-storage.ts | 24 + apps/migrant/lib/hooks/use-scroll-anchor.tsx | 86 + apps/migrant/lib/hooks/use-sidebar.tsx | 60 + apps/migrant/lib/hooks/use-streamable-text.ts | 27 + apps/migrant/lib/hooks/use-w3gpt-deploy.tsx | 100 + apps/migrant/lib/http/README.md | 1 + apps/migrant/lib/http/axios_config.ts | 31 + apps/migrant/lib/http/service.ts | 77 + apps/migrant/lib/http/staff/data.d.ts | 170 + apps/migrant/lib/http/staff/index.ts | 6 + apps/migrant/lib/http/staff/service.ts | 146 + apps/migrant/lib/is-client-context.tsx | 22 + apps/migrant/lib/isdk/shared/call-chat-api.ts | 81 + .../lib/isdk/shared/call-completion-api.ts | 119 + apps/migrant/lib/isdk/shared/generate-id.ts | 9 + .../lib/isdk/shared/parse-complex-response.ts | 162 + .../lib/isdk/shared/process-chat-stream.ts | 203 + .../lib/isdk/shared/read-data-stream.ts | 82 + apps/migrant/lib/isdk/shared/stream-data.ts | 136 + apps/migrant/lib/isdk/shared/stream-parts.ts | 375 + .../isdk/shared/streaming-react-response.ts | 87 + apps/migrant/lib/isdk/shared/types.ts | 376 + apps/migrant/lib/isdk/shared/utils.ts | 60 + apps/migrant/lib/isdk/use-isdk.ts | 816 + apps/migrant/lib/mdx-helper.ts | 444 + apps/migrant/lib/metadata.ts | 16 + apps/migrant/lib/mouse.tsx | 24 + apps/migrant/lib/schema/inquiry.tsx | 22 + apps/migrant/lib/schema/next-action.tsx | 8 + apps/migrant/lib/schema/related.tsx | 13 + apps/migrant/lib/schema/search.tsx | 17 + apps/migrant/lib/types.ts | 109 + apps/migrant/lib/utils.ts | 117 + apps/migrant/lib/viem-utils.ts | 40 + apps/migrant/locales/en/common.json | 72 + apps/migrant/locales/en/home.json | 111 + apps/migrant/locales/zh-CN/common.json | 72 + apps/migrant/locales/zh-CN/home.json | 111 + apps/migrant/middleware.ts | 93 + apps/migrant/next-env.d.ts | 5 + apps/migrant/next-i18next.config.js | 16 + apps/migrant/next.config.js | 80 + apps/migrant/package.json | 141 + apps/migrant/postcss.config.js | 6 + apps/migrant/prettier.config.cjs | 34 + .../public/.well-known/walletconnect.txt | 1 + apps/migrant/public/favicon.ico | Bin 0 -> 16958 bytes apps/migrant/public/favicon.png | Bin 0 -> 873 bytes apps/migrant/public/lotties/clock.json | 1 + apps/migrant/public/lotties/globe.json | 1 + apps/migrant/public/lotties/puzzle.json | 1 + apps/migrant/public/mantle-logo.jpeg | Bin 0 -> 8351 bytes apps/migrant/public/w3gpt-logo-beta.svg | 12 + apps/migrant/public/w3gpt-logo.svg | 9 + apps/migrant/public/welcome_email.html | 930 + apps/migrant/public/welcome_email_cn.html | 909 + apps/migrant/public/路径@1x.png | Bin 0 -> 530 bytes apps/migrant/tailwind.config.js | 108 + apps/migrant/tsconfig.json | 48 + apps/migrant/vercel.json | 7 + apps/migrant/welcome_email_tmp.html | 945 + apps/staffai/.env.example | 56 + apps/staffai/.eslintrc.json | 42 + apps/staffai/.gitignore | 39 + apps/staffai/1.log | 2 + .../AI员工商户和管理端接口.md | 978 + apps/staffai/CHANGELOG.md | 36 + apps/staffai/LICENSE | 13 + apps/staffai/README.md | 291 + apps/staffai/app/[locale]/auth/banners.tsx | 18 + apps/staffai/app/[locale]/auth/layout.tsx | 677 + .../app/[locale]/auth/oauth-button.tsx | 18 + .../auth/sign-in/[[...sign-in]]/page.tsx | 111 + .../app/[locale]/auth/sign-in/email-code.tsx | 140 + .../[locale]/auth/sign-in/email-signin.tsx | 190 + .../[locale]/auth/sign-in/oauth-signin.tsx | 52 + .../auth/sign-up/[[...sign-up]]/page.tsx | 76 + .../app/[locale]/auth/sign-up/email-code.tsx | 201 + .../[locale]/auth/sign-up/email-signup.tsx | 315 + .../[locale]/auth/sign-up/oauth-signup.tsx | 52 + .../sso-callback/[[...sso-callback]]/page.tsx | 15 + apps/staffai/app/[locale]/chat/[id]/page.tsx | 57 + .../app/[locale]/chatbot/chat/[id]/page.tsx | 60 + apps/staffai/app/[locale]/chatbot/layout.tsx | 14 + apps/staffai/app/[locale]/chatbot/page.tsx | 22 + apps/staffai/app/[locale]/jelly/page.tsx | 139 + apps/staffai/app/[locale]/layout.tsx | 168 + .../[locale]/manage/[...not-found]/page.tsx | 23 + .../app/[locale]/manage/analysis/page.tsx | 12 + .../[locale]/manage/authorization/layout.tsx | 68 + .../permissions/[permissionId]/client.tsx | 123 + .../[permissionId]/delete-permission.tsx | 126 + .../permissions/[permissionId]/page.tsx | 135 + .../permissions/create-new-permission.tsx | 146 + .../manage/authorization/permissions/page.tsx | 88 + .../roles/[roleId]/delete-role.tsx | 132 + .../authorization/roles/[roleId]/page.tsx | 85 + .../roles/[roleId]/permission-toggle.tsx | 80 + .../authorization/roles/[roleId]/tree.tsx | 100 + .../roles/[roleId]/update-role.tsx | 145 + .../authorization/roles/create-new-role.tsx | 183 + .../manage/authorization/roles/page.tsx | 108 + .../app/[locale]/manage/billing/lists.tsx | 415 + .../app/[locale]/manage/billing/page.tsx | 16 + .../[locale]/manage/billing/success/page.tsx | 104 + .../app/[locale]/manage/desktop-sidebar.tsx | 362 + apps/staffai/app/[locale]/manage/layout.tsx | 110 + .../app/[locale]/manage/mobile-sidebar.tsx | 81 + .../app/[locale]/manage/new/create-api.tsx | 127 + .../app/[locale]/manage/new/create-form.tsx | 565 + .../[locale]/manage/new/create-workspace.tsx | 151 + apps/staffai/app/[locale]/manage/new/keys.tsx | 270 + .../app/[locale]/manage/new/layout.tsx | 31 + apps/staffai/app/[locale]/manage/new/page.tsx | 187 + .../app/[locale]/manage/overview/page.tsx | 67 + apps/staffai/app/[locale]/manage/page.tsx | 15 + .../app/[locale]/manage/plans/button.tsx | 107 + .../app/[locale]/manage/plans/card.tsx | 514 + .../app/[locale]/manage/plans/page.tsx | 37 + .../app/[locale]/manage/repository/layout.tsx | 58 + .../app/[locale]/manage/repository/lists.tsx | 283 + .../[locale]/manage/repository/loading.tsx | 32 + .../[locale]/manage/repository/new/page.tsx | 87 + .../repository/new/update-user-image.tsx | 159 + .../repository/new/update-workspace-image.tsx | 175 + .../repository/new/update-workspace-name.tsx | 98 + .../repository/new/update-workspace.tsx | 421 + .../repository/new/upload-workspace.tsx | 506 + .../app/[locale]/manage/repository/page.tsx | 25 + .../[locale]/manage/staffs/[staffId]/item.tsx | 357 + .../manage/staffs/[staffId]/layout.tsx | 68 + .../manage/staffs/[staffId]/loading.tsx | 62 + .../[locale]/manage/staffs/[staffId]/page.tsx | 344 + .../manage/staffs/[staffId]/select.tsx | 76 + .../staffs/[staffId]/settings/actions.ts | 7 + .../staffs/[staffId]/settings/delete-api.tsx | 227 + .../staffs/[staffId]/settings/frozen-api.tsx | 226 + .../manage/staffs/[staffId]/settings/page.tsx | 123 + .../[staffId]/settings/update-api-name.tsx | 97 + .../staffs/[staffId]/settings/update-api.tsx | 234 + .../staffs/[staffId]/settings/update-form.tsx | 572 + .../settings/update-ip-whitelist.tsx | 130 + .../app/[locale]/manage/staffs/client.tsx | 217 + .../manage/staffs/create-api-button.tsx | 390 + .../app/[locale]/manage/staffs/loading.tsx | 43 + .../app/[locale]/manage/staffs/page.tsx | 102 + .../app/[locale]/manage/team-switcher.tsx | 149 + .../app/[locale]/manage/user-button.tsx | 162 + apps/staffai/app/[locale]/morphic/action.tsx | 136 + apps/staffai/app/[locale]/morphic/layout.tsx | 77 + apps/staffai/app/[locale]/morphic/page.tsx | 9 + apps/staffai/app/[locale]/not-found.tsx | 11 + apps/staffai/app/[locale]/page.tsx | 310 + apps/staffai/app/[locale]/pay/create-api.tsx | 127 + .../app/[locale]/pay/create-workspace.tsx | 138 + apps/staffai/app/[locale]/pay/keys.tsx | 271 + apps/staffai/app/[locale]/pay/layout.tsx | 31 + apps/staffai/app/[locale]/pay/page.tsx | 174 + .../app/[locale]/preview/create-api.tsx | 127 + .../app/[locale]/preview/create-workspace.tsx | 150 + apps/staffai/app/[locale]/preview/keys.tsx | 271 + apps/staffai/app/[locale]/preview/layout.tsx | 31 + apps/staffai/app/[locale]/preview/page.tsx | 223 + .../app/[locale]/pricing/components.tsx | 1528 + .../staffai/app/[locale]/pricing/discover.tsx | 209 + .../app/[locale]/pricing/hero-svgs.tsx | 2438 + apps/staffai/app/[locale]/pricing/page.tsx | 175 + apps/staffai/app/[locale]/pricing/svgs.tsx | 332 + apps/staffai/app/[locale]/sdk/page.tsx | 306 + .../[locale]/share/[id]/opengraph-image.tsx | 108 + apps/staffai/app/[locale]/share/[id]/page.tsx | 50 + apps/staffai/app/[locale]/staff/page.tsx | 185 + apps/staffai/app/actions.ts | 259 + .../app/api/auth/[...nextauth]/route.ts | 2 + apps/staffai/app/api/chat/route.ts | 126 + .../staffai/app/api/compile-contract/route.ts | 22 + apps/staffai/app/api/deploy-contract/route.ts | 32 + apps/staffai/app/api/ipfs-upload/route.ts | 26 + apps/staffai/app/api/text-to-image/route.ts | 76 + apps/staffai/app/api/verify-contract/route.ts | 35 + apps/staffai/app/globals.css | 142 + apps/staffai/app/i18n.ts | 93 + apps/staffai/app/section-title.tsx | 61 + apps/staffai/app/sitemap.ts | 29 + .../app/staffai/[staffId]/create-api.tsx | 127 + .../staffai/[staffId]/create-workspace.tsx | 179 + apps/staffai/app/staffai/[staffId]/keys.tsx | 271 + apps/staffai/app/staffai/[staffId]/page.tsx | 258 + apps/staffai/app/staffai/layout.tsx | 94 + apps/staffai/app/staffai/page.tsx | 101 + apps/staffai/app/state/global-store.tsx | 68 + apps/staffai/app/xauth/layout.tsx | 65 + apps/staffai/app/xauth/login/actions.ts | 109 + apps/staffai/app/xauth/login/page.tsx | 18 + apps/staffai/app/xauth/signup/actions.ts | 111 + apps/staffai/app/xauth/signup/page.tsx | 18 + apps/staffai/assets/fonts/Inter-Bold.woff | Bin 0 -> 25760 bytes apps/staffai/assets/fonts/Inter-Regular.woff | Bin 0 -> 24576 bytes .../staffai/assets/images/opengraph-image.png | Bin 0 -> 105608 bytes apps/staffai/assets/images/twitter-image.png | Bin 0 -> 105595 bytes apps/staffai/auth.config.ts | 42 + apps/staffai/auth.ts | 99 + apps/staffai/bun.lockb | Bin 0 -> 456815 bytes .../components-ai/button-scroll-to-bottom.tsx | 36 + apps/staffai/components-ai/chat-history.tsx | 49 + apps/staffai/components-ai/chat-list.tsx | 52 + .../components-ai/chat-message-actions.tsx | 40 + apps/staffai/components-ai/chat-message.tsx | 80 + apps/staffai/components-ai/chat-panel.tsx | 138 + .../components-ai/chat-share-dialog.tsx | 95 + apps/staffai/components-ai/chat.tsx | 85 + apps/staffai/components-ai/clear-history.tsx | 75 + apps/staffai/components-ai/empty-screen.tsx | 53 + apps/staffai/components-ai/external-link.tsx | 29 + apps/staffai/components-ai/footer.tsx | 23 + apps/staffai/components-ai/header.tsx | 80 + apps/staffai/components-ai/login-button.tsx | 42 + apps/staffai/components-ai/login-form.tsx | 97 + apps/staffai/components-ai/markdown.tsx | 9 + apps/staffai/components-ai/prompt-form.tsx | 115 + apps/staffai/components-ai/providers.tsx | 17 + .../staffai/components-ai/sidebar-actions.tsx | 125 + .../staffai/components-ai/sidebar-desktop.tsx | 19 + apps/staffai/components-ai/sidebar-footer.tsx | 16 + apps/staffai/components-ai/sidebar-item.tsx | 124 + apps/staffai/components-ai/sidebar-items.tsx | 42 + apps/staffai/components-ai/sidebar-list.tsx | 38 + apps/staffai/components-ai/sidebar-mobile.tsx | 31 + apps/staffai/components-ai/sidebar-toggle.tsx | 24 + apps/staffai/components-ai/sidebar.tsx | 21 + apps/staffai/components-ai/signup-form.tsx | 95 + .../components-ai/stocks/events-skeleton.tsx | 31 + apps/staffai/components-ai/stocks/events.tsx | 30 + apps/staffai/components-ai/stocks/index.tsx | 36 + apps/staffai/components-ai/stocks/message.tsx | 134 + apps/staffai/components-ai/stocks/spinner.tsx | 16 + .../components-ai/stocks/stock-purchase.tsx | 146 + .../components-ai/stocks/stock-skeleton.tsx | 22 + apps/staffai/components-ai/stocks/stock.tsx | 209 + .../components-ai/stocks/stocks-skeleton.tsx | 9 + apps/staffai/components-ai/stocks/stocks.tsx | 64 + .../components-ai/tailwind-indicator.tsx | 14 + apps/staffai/components-ai/theme-toggle.tsx | 31 + .../staffai/components-ai/ui/alert-dialog.tsx | 141 + apps/staffai/components-ai/ui/badge.tsx | 36 + apps/staffai/components-ai/ui/button.tsx | 57 + apps/staffai/components-ai/ui/codeblock.tsx | 148 + apps/staffai/components-ai/ui/dialog.tsx | 122 + .../components-ai/ui/dropdown-menu.tsx | 205 + apps/staffai/components-ai/ui/icons.tsx | 507 + apps/staffai/components-ai/ui/input.tsx | 25 + apps/staffai/components-ai/ui/label.tsx | 26 + apps/staffai/components-ai/ui/select.tsx | 164 + apps/staffai/components-ai/ui/separator.tsx | 31 + apps/staffai/components-ai/ui/sheet.tsx | 140 + apps/staffai/components-ai/ui/sonner.tsx | 32 + apps/staffai/components-ai/ui/switch.tsx | 29 + apps/staffai/components-ai/ui/textarea.tsx | 24 + apps/staffai/components-ai/ui/tooltip.tsx | 30 + apps/staffai/components-ai/user-menu.tsx | 53 + apps/staffai/components/LanguageChanger.tsx | 67 + .../components/TranslationsProvider.tsx | 76 + apps/staffai/components/article/article.tsx | 587 + apps/staffai/components/article/card.tsx | 295 + .../components/button-scroll-to-bottom.tsx | 34 + apps/staffai/components/chat-list.tsx | 40 + .../components/chat-message-actions.tsx | 46 + apps/staffai/components/chat-message.tsx | 162 + apps/staffai/components/chat-model.tsx | 693 + apps/staffai/components/chat-panel.tsx | 108 + .../staffai/components/chat-scroll-anchor.tsx | 29 + apps/staffai/components/chat-staff.tsx | 404 + apps/staffai/components/chat.tsx | 344 + apps/staffai/components/clear-history.tsx | 73 + apps/staffai/components/connect-button.tsx | 7 + .../dashboard/api-key-table/index.tsx | 296 + .../dashboard/api-key-table/table.tsx | 223 + apps/staffai/components/dashboard/charts.tsx | 233 + .../components/dashboard/command-menu.tsx | 255 + apps/staffai/components/dashboard/confirm.tsx | 63 + .../components/dashboard/copy-button.tsx | 42 + .../dashboard/create-key-button.tsx | 24 + .../dashboard/empty-placeholder.tsx | 57 + apps/staffai/components/dashboard/loading.tsx | 27 + apps/staffai/components/dashboard/navbar.tsx | 67 + .../components/dashboard/page-header.tsx | 38 + .../dashboard/root-key-table/index.tsx | 215 + .../dashboard/root-key-table/table.tsx | 223 + apps/staffai/components/dashboard/text.tsx | 52 + .../components/dashboard/visible-button.tsx | 39 + .../components/deploy-contract-button.tsx | 222 + .../components/deploy-frontend-button.tsx | 149 + apps/staffai/components/external-link.tsx | 29 + .../staffai/components/footer/footer-svgs.tsx | 234 + apps/staffai/components/footer/footer.tsx | 200 + .../components/footer/social-media.tsx | 34 + apps/staffai/components/frame.tsx | 45 + apps/staffai/components/images/JellyAi.svg | 60 + apps/staffai/components/images/a.png | Bin 0 -> 144934 bytes apps/staffai/components/images/ai_a.png | Bin 0 -> 388060 bytes apps/staffai/components/images/ai_b.png | Bin 0 -> 291681 bytes apps/staffai/components/images/ai_c.png | Bin 0 -> 376909 bytes apps/staffai/components/images/ai_d.png | Bin 0 -> 202516 bytes apps/staffai/components/images/ai_e.png | Bin 0 -> 154279 bytes apps/staffai/components/images/ai_jelly_a.png | Bin 0 -> 1059549 bytes apps/staffai/components/images/ai_jelly_b.png | Bin 0 -> 964362 bytes .../staffai/components/images/ai_jelly_bg.png | Bin 0 -> 884043 bytes apps/staffai/components/images/ai_jelly_c.png | Bin 0 -> 586633 bytes apps/staffai/components/images/ai_jelly_d.png | Bin 0 -> 490134 bytes apps/staffai/components/images/ai_staff.png | Bin 0 -> 322925 bytes .../staffai/components/images/ai_staff_bg.png | Bin 0 -> 948442 bytes apps/staffai/components/images/b.png | Bin 0 -> 170783 bytes apps/staffai/components/images/c.png | Bin 0 -> 140446 bytes apps/staffai/components/images/d.png | Bin 0 -> 115613 bytes apps/staffai/components/images/favicon.ico | Bin 0 -> 4286 bytes apps/staffai/components/images/favicon.png | Bin 0 -> 15597 bytes apps/staffai/components/images/jellai.png | Bin 0 -> 2094 bytes apps/staffai/components/images/jellydrops.png | Bin 0 -> 746 bytes apps/staffai/components/images/lipread.png | Bin 0 -> 467839 bytes apps/staffai/components/images/login_user.png | Bin 0 -> 456 bytes apps/staffai/components/images/logo.png | Bin 0 -> 556 bytes apps/staffai/components/images/natural.png | Bin 0 -> 1030377 bytes apps/staffai/components/images/q.png | Bin 0 -> 2306 bytes apps/staffai/components/images/show.png | Bin 0 -> 649 bytes apps/staffai/components/images/signlang.png | Bin 0 -> 460257 bytes apps/staffai/components/images/sub.png | Bin 0 -> 486 bytes apps/staffai/components/images/user.png | Bin 0 -> 4427 bytes apps/staffai/components/images/voice.png | Bin 0 -> 431868 bytes apps/staffai/components/landing.tsx | 164 + .../components/landing/animated-list.tsx | 139 + apps/staffai/components/landing/border.tsx | 30 + apps/staffai/components/landing/container.tsx | 17 + apps/staffai/components/landing/fade-in.tsx | 45 + apps/staffai/components/landing/loading.tsx | 27 + .../components/landing/mdx-content.tsx | 16 + .../staffai/components/landing/newsletter.tsx | 80 + apps/staffai/components/login-button.tsx | 60 + apps/staffai/components/markdown.tsx | 9 + apps/staffai/components/mdx-content.tsx | 30 + .../staffai/components/mpv2/chat-messages.tsx | 14 + apps/staffai/components/mpv2/chat-panel.tsx | 128 + apps/staffai/components/mpv2/chat.tsx | 13 + apps/staffai/components/mpv2/copilot.tsx | 182 + apps/staffai/components/mpv2/empty-screen.tsx | 51 + .../components/mpv2/followup-panel.tsx | 60 + apps/staffai/components/mpv2/footer.tsx | 42 + apps/staffai/components/mpv2/header.tsx | 23 + apps/staffai/components/mpv2/message.tsx | 37 + apps/staffai/components/mpv2/mode-toggle.tsx | 40 + .../components/mpv2/search-related.tsx | 72 + .../components/mpv2/search-results-image.tsx | 132 + .../components/mpv2/search-results.tsx | 69 + .../components/mpv2/search-skeleton.tsx | 30 + apps/staffai/components/mpv2/section.tsx | 71 + .../components/mpv2/theme-provider.tsx | 9 + apps/staffai/components/mpv2/tool-badge.tsx | 26 + apps/staffai/components/mpv2/user-message.tsx | 18 + apps/staffai/components/navbar/header.tsx | 182 + apps/staffai/components/navbar/link.tsx | 47 + apps/staffai/components/navbar/navigation.tsx | 228 + apps/staffai/components/particles.tsx | 233 + apps/staffai/components/prompt-form.tsx | 194 + apps/staffai/components/prompt-index.tsx | 155 + .../components/providers/ui-providers.tsx | 14 + .../components/providers/web3-provider.tsx | 70 + .../staffai/components/settings-drop-down.tsx | 118 + apps/staffai/components/shiny-card.tsx | 112 + apps/staffai/components/sidebar-actions.tsx | 217 + apps/staffai/components/sidebar-footer.tsx | 16 + apps/staffai/components/sidebar-item.tsx | 62 + apps/staffai/components/sidebar-list.tsx | 49 + apps/staffai/components/sidebar.tsx | 36 + apps/staffai/components/staffs/banner.tsx | 36 + .../components/staffs/multi-select.tsx | 134 + apps/staffai/components/staffs/opt-in.tsx | 58 + apps/staffai/components/theme-toggle.tsx | 51 + apps/staffai/components/toaster.tsx | 3 + apps/staffai/components/ui-v2/avatar.tsx | 50 + apps/staffai/components/ui-v2/badge.tsx | 36 + apps/staffai/components/ui-v2/button.tsx | 56 + apps/staffai/components/ui-v2/card.tsx | 79 + apps/staffai/components/ui-v2/carousel.tsx | 262 + apps/staffai/components/ui-v2/checkbox.tsx | 30 + apps/staffai/components/ui-v2/dialog.tsx | 122 + .../components/ui-v2/dropdown-menu.tsx | 200 + apps/staffai/components/ui-v2/icons.tsx | 22 + apps/staffai/components/ui-v2/input.tsx | 25 + apps/staffai/components/ui-v2/label.tsx | 26 + apps/staffai/components/ui-v2/markdown.tsx | 9 + apps/staffai/components/ui-v2/separator.tsx | 31 + apps/staffai/components/ui-v2/skeleton.tsx | 15 + apps/staffai/components/ui-v2/slider.tsx | 28 + apps/staffai/components/ui-v2/spinner.tsx | 25 + apps/staffai/components/ui-v2/switch.tsx | 29 + apps/staffai/components/ui-v2/textarea.tsx | 24 + apps/staffai/components/ui/alert-dialog.tsx | 150 + apps/staffai/components/ui/alert.tsx | 49 + apps/staffai/components/ui/avatar.tsx | 47 + apps/staffai/components/ui/badge.tsx | 36 + apps/staffai/components/ui/button.tsx | 141 + apps/staffai/components/ui/card.tsx | 70 + apps/staffai/components/ui/checkbox.tsx | 28 + apps/staffai/components/ui/code.tsx | 30 + apps/staffai/components/ui/codeblock.tsx | 169 + apps/staffai/components/ui/collapsible.tsx | 11 + apps/staffai/components/ui/command.tsx | 145 + apps/staffai/components/ui/dialog.tsx | 128 + apps/staffai/components/ui/drawer.tsx | 100 + apps/staffai/components/ui/dropdown-menu.tsx | 191 + apps/staffai/components/ui/flex.tsx | 93 + apps/staffai/components/ui/form.tsx | 167 + apps/staffai/components/ui/icons.tsx | 651 + apps/staffai/components/ui/index.module.scss | 210 + apps/staffai/components/ui/input.tsx | 25 + apps/staffai/components/ui/label.tsx | 26 + apps/staffai/components/ui/loading.tsx | 40 + apps/staffai/components/ui/scroll-area.tsx | 46 + apps/staffai/components/ui/select.tsx | 123 + apps/staffai/components/ui/separator.tsx | 31 + apps/staffai/components/ui/sheet.tsx | 121 + apps/staffai/components/ui/skeleton.tsx | 7 + apps/staffai/components/ui/switch.tsx | 29 + apps/staffai/components/ui/table.tsx | 96 + apps/staffai/components/ui/textarea.tsx | 24 + apps/staffai/components/ui/toaster.tsx | 29 + apps/staffai/components/ui/tooltip.tsx | 30 + apps/staffai/components/user-menu.tsx | 130 + apps/staffai/content/blog/authors.ts | 29 + .../content/blog/building-authentic-comms.mdx | 40 + apps/staffai/content/blog/cli-auth.mdx | 184 + .../blog/high-frequency-usage-billing.mdx | 201 + .../blog/how-unkey-treats-marketing.mdx | 235 + apps/staffai/content/blog/how-we-ai.mdx | 102 + .../blog/introducing-vercel-integration.mdx | 23 + apps/staffai/content/blog/ocr-service.mdx | 388 + .../secure-supabase-functions-using-unkey.mdx | 243 + .../content/blog/unkey-raises-1-5-million.mdx | 56 + .../content/blog/using-unkey-with-auth.mdx | 478 + apps/staffai/content/blog/uuid-ux.mdx | 175 + .../content/blog/why-we-built-unkey.mdx | 75 + apps/staffai/content/changelog/2023-06-25.mdx | 19 + apps/staffai/content/changelog/2023-07-02.mdx | 40 + apps/staffai/content/changelog/2023-07-03.mdx | 18 + apps/staffai/content/changelog/2023-07-10.mdx | 34 + apps/staffai/content/changelog/2023-07-21.mdx | 67 + apps/staffai/content/changelog/2023-08-10.mdx | 49 + apps/staffai/content/changelog/2023-08-25.mdx | 88 + apps/staffai/content/changelog/2023-09-08.mdx | 59 + apps/staffai/content/changelog/2023-09-29.mdx | 62 + apps/staffai/content/changelog/2023-11-03.mdx | 83 + apps/staffai/content/changelog/2023-12-01.mdx | 53 + apps/staffai/content/changelog/2023-12-15.mdx | 66 + apps/staffai/content/changelog/2024-01-05.mdx | 75 + apps/staffai/content/changelog/2024-01-19.mdx | 82 + apps/staffai/content/changelog/2024-02-16.mdx | 53 + .../content/jobs/software-engineer.mdx | 62 + apps/staffai/content/policies/privacy.mdx | 71 + apps/staffai/content/policies/terms.mdx | 89 + apps/staffai/docs/btc.md | 121 + apps/staffai/fonts/Inter-Bold.woff | Bin 0 -> 25760 bytes apps/staffai/fonts/Inter-Regular.woff | Bin 0 -> 24576 bytes apps/staffai/i18nConfig.ts | 8 + apps/staffai/info.welcome_email.html | 3162 + apps/staffai/lib/agents/index.tsx | 4 + apps/staffai/lib/agents/inquire.tsx | 72 + apps/staffai/lib/agents/query-suggestor.tsx | 51 + apps/staffai/lib/agents/researcher.tsx | 202 + apps/staffai/lib/agents/task-manager.tsx | 29 + apps/staffai/lib/analytics.ts | 62 + apps/staffai/lib/auth.ts | 12 + apps/staffai/lib/chains-all.json | 22573 ++++++ apps/staffai/lib/chains.json | 407 + apps/staffai/lib/chat/actions.tsx | 495 + apps/staffai/lib/constants.ts | 8 + apps/staffai/lib/fmt.ts | 3 + apps/staffai/lib/fonts.ts | 11 + .../deploy-contract/compile-contract.ts | 37 + .../deploy-contract/deploy-contract.ts | 173 + .../deploy-contract/handle-imports.ts | 95 + .../functions/deploy-contract/ipfs-upload.ts | 26 + .../deploy-contract/verify-contract.ts | 77 + .../deploy-contract/wallet-deploy.ts | 230 + apps/staffai/lib/functions/schemas.ts | 65 + apps/staffai/lib/functions/types.ts | 43 + .../staffai/lib/hooks/shared/call-chat-api.ts | 79 + .../lib/hooks/shared/call-completion-api.ts | 119 + apps/staffai/lib/hooks/shared/generate-id.ts | 9 + .../hooks/shared/parse-complex-response.ts | 162 + .../lib/hooks/shared/process-chat-stream.ts | 203 + .../lib/hooks/shared/read-data-stream.ts | 80 + apps/staffai/lib/hooks/shared/stream-data.ts | 136 + apps/staffai/lib/hooks/shared/stream-parts.ts | 375 + .../hooks/shared/streaming-react-response.ts | 87 + apps/staffai/lib/hooks/shared/types.ts | 348 + apps/staffai/lib/hooks/shared/utils.ts | 60 + apps/staffai/lib/hooks/use-at-bottom.tsx | 23 + apps/staffai/lib/hooks/use-chat.ts | 479 + .../lib/hooks/use-copy-to-clipboard.tsx | 33 + apps/staffai/lib/hooks/use-enter-submit.tsx | 23 + apps/staffai/lib/hooks/use-isdk_b.ts | 438 + apps/staffai/lib/hooks/use-local-storage.ts | 24 + apps/staffai/lib/hooks/use-scroll-anchor.tsx | 86 + apps/staffai/lib/hooks/use-sidebar.tsx | 60 + apps/staffai/lib/hooks/use-streamable-text.ts | 27 + apps/staffai/lib/hooks/use-w3gpt-deploy.tsx | 100 + apps/staffai/lib/http/README.md | 1 + apps/staffai/lib/http/axios_config.ts | 31 + apps/staffai/lib/http/service.ts | 90 + apps/staffai/lib/http/staff/data.d.ts | 258 + apps/staffai/lib/http/staff/index.ts | 6 + apps/staffai/lib/http/staff/service.ts | 315 + apps/staffai/lib/is-client-context.tsx | 22 + apps/staffai/lib/isdk/shared/call-chat-api.ts | 81 + .../lib/isdk/shared/call-completion-api.ts | 119 + apps/staffai/lib/isdk/shared/generate-id.ts | 9 + .../lib/isdk/shared/parse-complex-response.ts | 162 + .../lib/isdk/shared/process-chat-stream.ts | 203 + .../lib/isdk/shared/read-data-stream.ts | 82 + apps/staffai/lib/isdk/shared/stream-data.ts | 136 + apps/staffai/lib/isdk/shared/stream-parts.ts | 375 + .../isdk/shared/streaming-react-response.ts | 87 + apps/staffai/lib/isdk/shared/types.ts | 376 + apps/staffai/lib/isdk/shared/utils.ts | 60 + apps/staffai/lib/isdk/use-isdk.ts | 816 + apps/staffai/lib/mdx-helper.ts | 444 + apps/staffai/lib/metadata.ts | 17 + apps/staffai/lib/mouse.tsx | 24 + apps/staffai/lib/schema/inquiry.tsx | 22 + apps/staffai/lib/schema/next-action.tsx | 8 + apps/staffai/lib/schema/related.tsx | 13 + apps/staffai/lib/schema/search.tsx | 17 + apps/staffai/lib/types.ts | 109 + apps/staffai/lib/utils.ts | 117 + apps/staffai/lib/viem-utils.ts | 40 + apps/staffai/locales/en/common.json | 72 + apps/staffai/locales/en/home.json | 111 + apps/staffai/locales/zh-CN/common.json | 72 + apps/staffai/locales/zh-CN/home.json | 111 + apps/staffai/middleware.ts | 83 + apps/staffai/next-env.d.ts | 5 + apps/staffai/next-i18next.config.js | 16 + apps/staffai/next.config.js | 85 + apps/staffai/package.json | 143 + apps/staffai/postcss.config.js | 6 + apps/staffai/prettier.config.cjs | 34 + .../public/.well-known/walletconnect.txt | 1 + apps/staffai/public/favicon.ico | Bin 0 -> 4286 bytes apps/staffai/public/favicon.png | Bin 0 -> 527 bytes apps/staffai/public/lotties/clock.json | 1 + apps/staffai/public/lotties/globe.json | 1 + apps/staffai/public/lotties/puzzle.json | 1 + apps/staffai/public/mantle-logo.jpeg | Bin 0 -> 8351 bytes apps/staffai/public/w3gpt-logo-beta.svg | 12 + apps/staffai/public/w3gpt-logo.svg | 9 + apps/staffai/public/welcome_email.html | 930 + apps/staffai/public/welcome_email_cn.html | 909 + apps/staffai/tailwind.config.js | 111 + apps/staffai/tsconfig.json | 48 + apps/staffai/vercel.json | 7 + apps/staffai/welcome_email_tmp.html | 945 + index.html | 55 + internal/billing/package.json | 23 + internal/billing/src/index.ts | 3 + internal/billing/src/quota.ts | 15 + internal/billing/src/subscriptions.ts | 73 + internal/billing/src/tiers.test.ts | 140 + internal/billing/src/tiers.ts | 85 + internal/billing/tsconfig.json | 10 + internal/billing/vitest.config.ts | 10 + internal/db/drizzle.config.ts | 11 + internal/db/package.json | 27 + internal/db/src/index.ts | 4 + internal/db/src/schema/apis.ts | 37 + internal/db/src/schema/index.ts | 7 + internal/db/src/schema/keyAuth.ts | 26 + internal/db/src/schema/keys.ts | 115 + internal/db/src/schema/ratelimit.ts | 96 + internal/db/src/schema/rbac.ts | 213 + internal/db/src/schema/vercel_integration.ts | 67 + internal/db/src/schema/workspaces.ts | 107 + internal/db/src/types.ts | 13 + internal/db/tsconfig.json | 10 + internal/error/package.json | 20 + internal/error/src/error-handling.ts | 22 + internal/error/src/errors/base.ts | 33 + internal/error/src/errors/fetch-error.ts | 31 + internal/error/src/errors/schema-error.ts | 38 + internal/error/src/index.ts | 4 + internal/error/tsconfig.json | 95 + internal/hash/package.json | 15 + internal/hash/src/index.ts | 1 + internal/hash/src/sha256.test.ts | 117 + internal/hash/src/sha256.ts | 153 + internal/hash/tsconfig.json | 95 + internal/hash/vitest.config.ts | 10 + internal/id/package.json | 22 + internal/id/src/generate.test.ts | 48 + internal/id/src/generate.ts | 38 + internal/id/src/index.ts | 1 + internal/id/tsconfig.json | 10 + internal/id/vitest.config.ts | 10 + internal/keys/package.json | 18 + internal/keys/src/index.ts | 2 + internal/keys/src/util.ts | 17 + internal/keys/src/v1.test.ts | 24 + internal/keys/src/v1.ts | 60 + internal/keys/tsconfig.json | 95 + internal/keys/vitest.config.ts | 10 + internal/metrics/package.json | 18 + internal/metrics/src/index.ts | 67 + internal/metrics/tsconfig.json | 10 + internal/resend/emails/payment_issue.tsx | 62 + internal/resend/emails/subscription_ended.tsx | 64 + internal/resend/emails/trial_ended.tsx | 78 + internal/resend/emails/welcome_email.tsx | 66 + internal/resend/package.json | 35 + internal/resend/src/client.tsx | 104 + internal/resend/src/index.ts | 1 + internal/resend/tsconfig.json | 11 + internal/schema/package.json | 16 + internal/schema/src/auditlog.ts | 66 + internal/schema/src/ratelimit-tinybird.ts | 40 + internal/schema/tsconfig.json | 10 + internal/tinybird/.tinyenv | 2 + .../datasources/aggregate_mv.datasource | 11 + .../datasources/audit_logs.datasource | 19 + .../datasources/daily_usage.datasource | 14 + .../datasources/key_verifications.datasource | 18 + .../datasources/mv__daily_usage.datasource | 14 + .../mv__daily_verifications.datasource | 15 + .../mv__monthly_active_keys.datasource | 11 + .../datasources/mv__monthly_stats.datasource | 12 + .../mv__monthly_verifications.datasource | 14 + .../mv__total_verifications.datasource | 8 + ...ications_per_workspace_per_hour.datasource | 13 + .../mv_billing_hourly_active_keys.datasource | 11 + .../datasources/mv_key_total_usage.datasource | 9 + .../datasources/mv_keys_last_used.datasource | 8 + .../tinybird/datasources/pageviews.datasource | 16 + .../datasources/ratelimits.datasource | 22 + .../datasources/sdk_telemetry.datasource | 9 + .../verifications_daily_mv.datasource | 16 + .../verifications_hourly_mv.datasource | 16 + .../verifications_monthly_mv.datasource | 16 + .../verifications_weekly_mv.datasource | 16 + ...egate_active_keys_hourly_by_workspace.pipe | 18 + ...gate_active_keys_monthly_by_workspace.pipe | 22 + .../pipes/aggregate_active_keys_per_hour.pipe | 16 + .../tinybird/pipes/aggregate_last_used.pipe | 15 + .../pipes/aggregate_total_usage_per_key.pipe | 14 + .../aggregate_unique_visitors_per_hour.pipe | 10 + .../pipes/aggregate_verifications_daily.pipe | 24 + ...aggregate_verifications_daily_per_api.pipe | 16 + .../pipes/aggregate_verifications_hourly.pipe | 13 + ...ate_verifications_hourly_by_workspace.pipe | 18 + .../aggregate_verifications_monthly.pipe | 21 + ...te_verifications_monthly_by_workspace.pipe | 24 + .../aggregate_verifications_per_day.pipe | 23 + .../tinybird/pipes/all_verifications.pipe | 34 + .../pipes/count_monthly_verifications.pipe | 12 + .../pipes/count_verifications_daily.pipe | 7 + .../endpoint__active_keys_by_workspace.pipe | 13 + .../pipes/endpoint__all_verifications.pipe | 31 + .../endpoint__all_verifications__v1.pipe | 6 + ...point__billing_verifications_per_hour.pipe | 9 + .../pipes/endpoint__get_active_keys.pipe | 15 + .../endpoint__get_daily_verifications.pipe | 24 + .../pipes/endpoint__get_last_used.pipe | 10 + .../endpoint__get_latest_verifications.pipe | 14 + .../endpoint__get_total_usage_for_key.pipe | 8 + .../pipes/endpoint__monthly_stats.pipe | 12 + .../endpoint__verifications_by_workspace.pipe | 17 + ...et_active_keys_per_workspace_per_hour.pipe | 11 + ...ndpoint_billing_get_active_keys_usage.pipe | 18 + ..._verifications_per_workspace_per_hour.pipe | 11 + ...point_billing_get_verifications_usage.pipe | 13 + .../tinybird/pipes/endpoint_get_usage.pipe | 19 + internal/tinybird/pipes/get_active_keys.pipe | 18 + .../tinybird/pipes/get_active_keys_daily.pipe | 22 + .../pipes/get_active_keys_hourly.pipe | 22 + .../pipes/get_active_keys_monthly.pipe | 22 + .../pipes/get_active_keys_weekly.pipe | 22 + .../pipes/get_verifications_daily.pipe | 26 + .../pipes/get_verifications_hourly.pipe | 26 + .../pipes/get_verifications_monthly.pipe | 26 + .../pipes/get_verifications_weekly.pipe | 26 + .../pipes/mv__daily_verifications.pipe | 5 + ...ng_hourly_verifications__v1_pipe_1749.pipe | 4 + .../tinybird/pipes/verifications_daily.pipe | 25 + .../tinybird/pipes/verifications_hourly.pipe | 25 + .../pipes/verifications_monthly_v1.pipe | 24 + .../tinybird/pipes/verifications_weekly.pipe | 25 + internal/tinybird/scripts/exec_test.sh | 21 + internal/tsconfig/README.md | 4 + internal/tsconfig/base.json | 21 + internal/tsconfig/nextjs.json | 22 + internal/tsconfig/package.json | 10 + internal/tsconfig/react-library.json | 11 + internal/vercel/package.json | 18 + internal/vercel/src/client.ts | 135 + internal/vercel/src/index.ts | 1 + internal/vercel/tsconfig.json | 95 + internal/zod-queue/package.json | 19 + internal/zod-queue/src/index.ts | 71 + internal/zod-queue/tsconfig.json | 10 + nginx/admin.conf | 54 + nginx/aireport.conf | 28 + nginx/migrant.conf | 28 + nginx/seo.conf | 105 + nginx/staffai.conf | 69 + openapi.json | 1 + package.json | 51 + packages/api/CHANGELOG.md | 100 + packages/api/package.json | 39 + packages/api/src/client.ts | 357 + packages/api/src/errors.ts | 5 + packages/api/src/index.ts | 4 + packages/api/src/openapi.d.ts | 2000 + packages/api/src/telemetry.ts | 48 + packages/api/src/verify.ts | 29 + packages/api/tsconfig.json | 99 + packages/api/tsup.config.js | 11 + packages/hono/CHANGELOG.md | 126 + packages/hono/README.md | 34 + packages/hono/package.json | 43 + packages/hono/src/index.test.ts | 181 + packages/hono/src/index.ts | 104 + packages/hono/tsconfig.json | 98 + packages/hono/tsup.config.js | 11 + packages/hono/vitest.config.ts | 11 + packages/isdk/.eslintrc.js | 4 + packages/isdk/.gitignore | 73 + packages/isdk/.npmignore | 18 + packages/isdk/.npmrc | 4 + packages/isdk/CHANGELOG.md | 768 + packages/isdk/README.md | 37 + packages/isdk/anthropic/anthropic-error.ts | 17 + packages/isdk/anthropic/anthropic-facade.ts | 55 + .../anthropic-messages-language-model.test.ts | 294 + .../anthropic-messages-language-model.ts | 372 + .../anthropic/anthropic-messages-prompt.ts | 46 + .../anthropic/anthropic-messages-settings.ts | 16 + .../convert-to-anthropic-messages-prompt.ts | 100 + packages/isdk/anthropic/index.ts | 1 + .../anthropic/map-anthropic-stop-reason.ts | 17 + .../generate-object/generate-object.test.ts | 86 + .../core/generate-object/generate-object.ts | 256 + packages/isdk/core/generate-object/index.ts | 2 + .../inject-json-schema-into-system.ts | 27 + .../generate-object/stream-object.test.ts | 141 + .../core/generate-object/stream-object.ts | 272 + .../core/generate-text/generate-text.test.ts | 179 + .../isdk/core/generate-text/generate-text.ts | 206 + packages/isdk/core/generate-text/index.ts | 2 + .../generate-text/run-tools-transformation.ts | 191 + .../core/generate-text/stream-text.test.ts | 272 + .../isdk/core/generate-text/stream-text.ts | 248 + .../isdk/core/generate-text/token-usage.ts | 16 + packages/isdk/core/generate-text/tool-call.ts | 87 + .../isdk/core/generate-text/tool-result.ts | 60 + packages/isdk/core/index.ts | 5 + packages/isdk/core/prompt/call-settings.ts | 66 + packages/isdk/core/prompt/content-part.ts | 82 + .../convert-to-language-model-prompt.ts | 105 + packages/isdk/core/prompt/data-content.ts | 52 + .../isdk/core/prompt/get-validated-prompt.ts | 47 + packages/isdk/core/prompt/index.ts | 3 + packages/isdk/core/prompt/message.ts | 48 + .../isdk/core/prompt/prepare-call-settings.ts | 143 + packages/isdk/core/prompt/prompt.ts | 21 + .../test/convert-array-to-readable-stream.ts | 12 + .../test/convert-async-iterable-to-array.ts | 9 + .../isdk/core/test/mock-language-model-v1.ts | 38 + packages/isdk/core/tool/index.ts | 1 + packages/isdk/core/tool/tool.ts | 53 + .../isdk/core/util/async-iterable-stream.ts | 22 + .../core/util/convert-zod-to-json-schema.ts | 10 + packages/isdk/core/util/deep-partial.ts | 81 + packages/isdk/core/util/delay.ts | 3 + .../isdk/core/util/detect-image-mimetype.ts | 21 + packages/isdk/core/util/fix-json.test.ts | 268 + packages/isdk/core/util/fix-json.ts | 400 + .../isdk/core/util/is-deep-equal-data.test.ts | 118 + packages/isdk/core/util/is-deep-equal-data.ts | 48 + packages/isdk/core/util/parse-partial-json.ts | 25 + .../util/retry-with-exponential-backoff.ts | 82 + packages/isdk/core/util/value-of.ts | 65 + ...onvert-to-google-generative-ai-messages.ts | 104 + packages/isdk/google/google-error.ts | 17 + packages/isdk/google/google-facade.ts | 58 + ...oogle-generative-ai-language-model.test.ts | 241 + .../google-generative-ai-language-model.ts | 393 + .../google/google-generative-ai-prompt.ts | 33 + .../google/google-generative-ai-settings.ts | 10 + packages/isdk/google/index.ts | 1 + .../map-google-generative-ai-finish-reason.ts | 23 + .../convert-to-mistral-chat-messages.ts | 105 + packages/isdk/mistral/index.ts | 1 + .../isdk/mistral/map-mistral-finish-reason.ts | 17 + .../mistral-chat-language-model.test.ts | 263 + .../mistral/mistral-chat-language-model.ts | 355 + packages/isdk/mistral/mistral-chat-prompt.ts | 33 + .../isdk/mistral/mistral-chat-settings.ts | 17 + packages/isdk/mistral/mistral-error.ts | 17 + packages/isdk/mistral/mistral-facade.ts | 54 + .../openai/convert-to-openai-chat-messages.ts | 104 + .../convert-to-openai-completion-prompt.ts | 110 + packages/isdk/openai/index.ts | 1 + .../isdk/openai/map-openai-finish-reason.ts | 19 + .../openai/openai-chat-language-model.test.ts | 383 + .../isdk/openai/openai-chat-language-model.ts | 421 + packages/isdk/openai/openai-chat-prompt.ts | 54 + packages/isdk/openai/openai-chat-settings.ts | 43 + .../openai-completion-language-model.test.ts | 261 + .../openai-completion-language-model.ts | 284 + .../isdk/openai/openai-completion-settings.ts | 36 + packages/isdk/openai/openai-error.ts | 18 + packages/isdk/openai/openai-facade.ts | 62 + packages/isdk/package.json | 197 + packages/isdk/prompts/anthropic.ts | 39 + packages/isdk/prompts/antropic.test.ts | 20 + packages/isdk/prompts/huggingface.test.ts | 84 + packages/isdk/prompts/huggingface.ts | 78 + packages/isdk/prompts/index.ts | 3 + packages/isdk/prompts/openai.test.ts | 151 + packages/isdk/prompts/openai.tsx | 281 + packages/isdk/react/index.server.ts | 1 + packages/isdk/react/index.ts | 5 + packages/isdk/react/package.json | 10 + packages/isdk/react/server.ts | 1 + packages/isdk/react/tokens.tsx | 50 + packages/isdk/react/use-assistant.ts | 259 + packages/isdk/react/use-chat.ts | 479 + packages/isdk/react/use-chat.ui.test.tsx | 153 + packages/isdk/react/use-completion.ts | 200 + .../isdk/react/use-completion.ui.test.tsx | 94 + packages/isdk/react/use-isdk.ts | 906 + .../__snapshots__/streamable.ui.test.tsx.snap | 91 + packages/isdk/rsc/ai-state.tsx | 207 + packages/isdk/rsc/constants.ts | 2 + packages/isdk/rsc/index.ts | 19 + packages/isdk/rsc/package.json | 13 + packages/isdk/rsc/provider.tsx | 116 + packages/isdk/rsc/rsc-client.ts | 8 + packages/isdk/rsc/rsc-server.ts | 7 + packages/isdk/rsc/rsc-shared.mts | 11 + packages/isdk/rsc/shared-client/context.tsx | 226 + packages/isdk/rsc/shared-client/index.ts | 10 + .../isdk/rsc/shared-client/streamable.tsx | 216 + .../rsc/shared-client/streamable.ui.test.tsx | 232 + packages/isdk/rsc/streamable.tsx | 511 + packages/isdk/rsc/streamable.ui.test.tsx | 448 + packages/isdk/rsc/types.ts | 117 + packages/isdk/rsc/utils.tsx | 75 + packages/isdk/shared/call-chat-api.ts | 79 + packages/isdk/shared/call-completion-api.ts | 119 + packages/isdk/shared/generate-id.ts | 9 + .../shared/parse-complex-response.test.ts | 353 + .../isdk/shared/parse-complex-response.ts | 162 + packages/isdk/shared/process-chat-stream.ts | 203 + packages/isdk/shared/read-data-stream.ts | 69 + packages/isdk/shared/stream-parts.test.ts | 96 + packages/isdk/shared/stream-parts.ts | 374 + packages/isdk/shared/types.ts | 376 + packages/isdk/shared/utils.test.ts | 101 + packages/isdk/shared/utils.ts | 54 + packages/isdk/solid/index.ts | 2 + packages/isdk/solid/package.json | 10 + packages/isdk/solid/use-chat.ts | 271 + packages/isdk/solid/use-chat.ui.test.tsx | 126 + packages/isdk/solid/use-completion.ts | 165 + .../isdk/solid/use-completion.ui.test.tsx | 88 + packages/isdk/spec/index.ts | 1 + .../isdk/spec/test/convert-stream-to-array.ts | 14 + packages/isdk/spec/test/json-test-server.ts | 42 + .../isdk/spec/test/streaming-test-server.ts | 62 + packages/isdk/spec/util/generate-id.ts | 9 + packages/isdk/spec/util/get-error-message.ts | 15 + packages/isdk/spec/util/index.ts | 9 + packages/isdk/spec/util/load-api-key.ts | 45 + packages/isdk/spec/util/parse-json.ts | 118 + packages/isdk/spec/util/post-to-api.ts | 138 + packages/isdk/spec/util/response-handler.ts | 121 + packages/isdk/spec/util/scale.ts | 21 + packages/isdk/spec/util/uint8-utils.ts | 17 + packages/isdk/spec/util/validate-types.ts | 70 + packages/isdk/streams/ai-stream.ts | 297 + .../isdk/streams/anthropic-stream.test.ts | 170 + packages/isdk/streams/anthropic-stream.ts | 197 + packages/isdk/streams/assistant-response.ts | 164 + .../isdk/streams/aws-bedrock-stream.test.ts | 204 + packages/isdk/streams/aws-bedrock-stream.ts | 72 + packages/isdk/streams/azure-openai-types.ts | 39 + packages/isdk/streams/cohere-stream.test.ts | 74 + packages/isdk/streams/cohere-stream.ts | 102 + .../google-generative-ai-stream.test.ts | 107 + .../streams/google-generative-ai-stream.ts | 60 + .../isdk/streams/huggingface-stream.test.ts | 86 + packages/isdk/streams/huggingface-stream.ts | 46 + packages/isdk/streams/index.ts | 18 + packages/isdk/streams/inkeep-stream.test.ts | 94 + packages/isdk/streams/inkeep-stream.ts | 71 + .../isdk/streams/langchain-stream.test.ts | 198 + packages/isdk/streams/langchain-stream.ts | 71 + packages/isdk/streams/mistral-stream.test.ts | 88 + packages/isdk/streams/mistral-stream.ts | 29 + packages/isdk/streams/openai-stream.test.ts | 363 + packages/isdk/streams/openai-stream.ts | 716 + .../isdk/streams/replicate-stream.test.ts | 87 + packages/isdk/streams/replicate-stream.ts | 73 + packages/isdk/streams/stream-data.ts | 136 + .../streams/streaming-react-response.test.tsx | 286 + .../isdk/streams/streaming-react-response.ts | 87 + .../isdk/streams/streaming-text-response.ts | 51 + packages/isdk/svelte/index.ts | 2 + packages/isdk/svelte/package.json | 10 + packages/isdk/svelte/use-chat.ts | 360 + packages/isdk/svelte/use-completion.ts | 169 + packages/isdk/tests/snapshots/anthropic.ts | 60 + packages/isdk/tests/snapshots/aws-bedrock.ts | 80 + packages/isdk/tests/snapshots/azure-openai.ts | 382 + packages/isdk/tests/snapshots/cohere.ts | 46 + packages/isdk/tests/snapshots/huggingface.ts | 27 + packages/isdk/tests/snapshots/inkeep.ts | 57 + packages/isdk/tests/snapshots/mistral.ts | 74 + packages/isdk/tests/snapshots/openai-chat.ts | 693 + packages/isdk/tests/snapshots/replicate.ts | 10 + packages/isdk/tests/utils/mock-client.ts | 41 + packages/isdk/tests/utils/mock-fetch.ts | 115 + packages/isdk/tests/utils/mock-server.ts | 55 + packages/isdk/tsconfig.json | 9 + packages/isdk/tsup.config.ts | 136 + packages/isdk/turbo.json | 8 + packages/isdk/vitest.edge.config.js | 11 + packages/isdk/vitest.node.config.js | 11 + packages/isdk/vitest.ui.react.config.js | 17 + packages/isdk/vitest.ui.solid.config.js | 22 + packages/isdk/vitest.ui.vue.config.js | 12 + packages/isdk/vue/TestChatComponent.vue | 26 + packages/isdk/vue/TestCompletionComponent.vue | 17 + packages/isdk/vue/index.ts | 2 + packages/isdk/vue/package.json | 10 + packages/isdk/vue/shims-vue.d.ts | 5 + packages/isdk/vue/use-chat.ts | 263 + packages/isdk/vue/use-chat.ui.test.tsx | 101 + packages/isdk/vue/use-completion.ts | 174 + packages/isdk/vue/use-completion.ui.test.ts | 67 + packages/nextjs/CHANGELOG.md | 156 + packages/nextjs/package.json | 36 + packages/nextjs/src/index.ts | 134 + packages/nextjs/tsconfig.json | 98 + packages/nextjs/tsup.config.js | 12 + packages/nuxt/.gitignore | 56 + packages/nuxt/.nuxtrc | 2 + packages/nuxt/CHANGELOG.md | 110 + packages/nuxt/package.json | 56 + packages/nuxt/playground/.env.example | 2 + packages/nuxt/playground/app.vue | 12 + packages/nuxt/playground/nuxt.config.ts | 5 + packages/nuxt/playground/package.json | 15 + .../nuxt/playground/server/api/context.ts | 7 + packages/nuxt/playground/server/api/helper.ts | 7 + packages/nuxt/playground/tsconfig.json | 3 + packages/nuxt/src/module.ts | 81 + .../src/runtime/server/middleware/unkey.ts | 20 + .../nuxt/src/runtime/server/tsconfig.json | 6 + packages/nuxt/src/runtime/server/types.d.ts | 7 + .../nuxt/src/runtime/server/utils/unkey.ts | 23 + packages/nuxt/test/index.spec.ts | 56 + packages/nuxt/tsconfig.json | 3 + packages/provider/README.md | 1 + packages/provider/package.json | 56 + .../provider/src/errors/api-call-error.ts | 77 + .../provider/src/errors/get-error-message.ts | 15 + packages/provider/src/errors/index.ts | 16 + .../src/errors/invalid-argument-error.ts | 41 + .../src/errors/invalid-data-content-error.ts | 37 + .../src/errors/invalid-prompt-error.ts | 29 + .../src/errors/invalid-response-data-error.ts | 41 + .../errors/invalid-tool-arguments-error.ts | 52 + .../provider/src/errors/json-parse-error.ts | 40 + .../provider/src/errors/load-api-key-error.ts | 18 + .../src/errors/no-object-generated-error.ts | 22 + .../src/errors/no-response-body-error.ts | 19 + .../provider/src/errors/no-such-tool-error.ts | 46 + packages/provider/src/errors/retry-error.ts | 49 + .../src/errors/tool-call-parse-error.ts | 54 + .../src/errors/type-validation-error.ts | 39 + .../errors/unsupported-functionality-error.ts | 31 + .../errors/unsupported-json-schema-error.ts | 45 + packages/provider/src/index.ts | 2 + packages/provider/src/language-model/index.ts | 1 + .../provider/src/language-model/v1/index.ts | 7 + .../v1/language-model-v1-call-options.ts | 53 + .../v1/language-model-v1-call-settings.ts | 59 + .../v1/language-model-v1-call-warning.ts | 9 + .../v1/language-model-v1-finish-reason.ts | 7 + .../language-model-v1-function-tool-call.ts | 11 + .../v1/language-model-v1-function-tool.ts | 24 + .../v1/language-model-v1-prompt.ts | 103 + .../language-model/v1/language-model-v1.ts | 150 + packages/provider/tsconfig.json | 9 + packages/provider/tsup.config.ts | 11 + packages/provider/turbo.json | 8 + packages/ratelimit/package.json | 35 + packages/ratelimit/src/duration.ts | 31 + packages/ratelimit/src/index.ts | 72 + packages/ratelimit/tsconfig.json | 99 + packages/ratelimit/tsup.config.js | 11 + packages/rbac/CHANGELOG.md | 1 + packages/rbac/package.json | 41 + packages/rbac/src/index.ts | 4 + packages/rbac/src/permissions.test.ts | 18 + packages/rbac/src/permissions.ts | 76 + packages/rbac/src/queries.test.ts | 77 + packages/rbac/src/queries.ts | 59 + packages/rbac/src/rbac.test.ts | 168 + packages/rbac/src/rbac.ts | 60 + packages/rbac/src/types.ts | 33 + packages/rbac/tsconfig.json | 10 + packages/rbac/tsup.config.js | 11 + pnpm-lock.yaml | 62537 ++++++++++++++++ pnpm-workspace.yaml | 6 + test/assistant-stream-raw.ts | 39 + test/assistant-stream.ts | 61 + test/assistants.ts | 73 + tools/artillery/.dockerignore | 34 + tools/artillery/Dockerfile | 9 + tools/artillery/README.md | 17 + tools/artillery/fly.toml | 9 + tools/artillery/keys.verifyKey.yaml | 49 + tools/artillery/main.ts | 105 + tools/bootstrap/.env.example | 9 + tools/bootstrap/main.ts | 94 + tools/bootstrap/package.json | 25 + tools/bootstrap/tsconfig.json | 12 + tools/eslint-config/index.js | 11 + tools/eslint-config/package.json | 15 + tools/k6/Makefile | 5 + tools/k6/load.js | 38 + tools/k6/package.json | 12 + tools/migrate/.env.example | 7 + tools/migrate/main.ts | 154 + tools/migrate/package.json | 27 + tools/migrate/tsconfig.json | 12 + tools/tsconfig/base.json | 21 + tools/tsconfig/nextjs.json | 19 + tools/tsconfig/node14.json | 10 + tools/tsconfig/package.json | 9 + tools/tsconfig/react-library.json | 11 + tsconfig.json | 51 + turbo.json | 89 + 2298 files changed, 434571 insertions(+) create mode 100644 .gitignore create mode 100644 README.md create mode 100644 admin-v5/.editorconfig create mode 100644 admin-v5/.env.example create mode 100644 admin-v5/.eslintignore create mode 100644 admin-v5/.eslintrc.js create mode 100644 admin-v5/.gitignore create mode 100644 admin-v5/.prettierignore create mode 100644 admin-v5/.prettierrc.js create mode 100644 admin-v5/.stylelintrc.js create mode 100644 admin-v5/README.md create mode 100644 admin-v5/config/config.dev.ts create mode 100644 admin-v5/config/config.ts create mode 100644 admin-v5/config/defaultSettings.ts create mode 100644 admin-v5/config/oneapi.json create mode 100644 admin-v5/config/proxy.ts create mode 100644 admin-v5/config/routes.ts create mode 100644 admin-v5/images/dept.png create mode 100644 admin-v5/images/dict.png create mode 100644 admin-v5/images/log.png create mode 100644 admin-v5/images/menu.png create mode 100644 admin-v5/images/role.png create mode 100644 admin-v5/images/user.png create mode 100644 admin-v5/jest.config.js create mode 100644 admin-v5/jsconfig.json create mode 100644 admin-v5/mock/listTableList.ts create mode 100644 admin-v5/mock/notices.ts create mode 100644 admin-v5/mock/route.ts create mode 100644 admin-v5/mock/user.ts create mode 100644 admin-v5/package-lock.json create mode 100644 admin-v5/package.json create mode 100644 admin-v5/playwright.config.ts create mode 100644 admin-v5/public/CNAME create mode 100644 admin-v5/public/favicon.ico create mode 100644 admin-v5/public/icons/icon-128x128.png create mode 100644 admin-v5/public/icons/icon-192x192.png create mode 100644 admin-v5/public/icons/icon-512x512.png create mode 100644 admin-v5/public/logo.svg create mode 100644 admin-v5/public/pro_icon.svg create mode 100644 admin-v5/src/access.ts create mode 100644 admin-v5/src/app.tsx create mode 100644 admin-v5/src/components/Footer/index.tsx create mode 100644 admin-v5/src/components/HeaderDropdown/index.less create mode 100644 admin-v5/src/components/HeaderDropdown/index.tsx create mode 100644 admin-v5/src/components/HeaderSearch/index.less create mode 100644 admin-v5/src/components/HeaderSearch/index.tsx create mode 100644 admin-v5/src/components/NoticeIcon/NoticeIcon.tsx create mode 100644 admin-v5/src/components/NoticeIcon/NoticeList.less create mode 100644 admin-v5/src/components/NoticeIcon/NoticeList.tsx create mode 100644 admin-v5/src/components/NoticeIcon/index.less create mode 100644 admin-v5/src/components/NoticeIcon/index.tsx create mode 100644 admin-v5/src/components/RightContent/AvatarDropdown.tsx create mode 100644 admin-v5/src/components/RightContent/index.less create mode 100644 admin-v5/src/components/RightContent/index.tsx create mode 100644 admin-v5/src/e2e/baseLayout.e2e.spec.ts create mode 100644 admin-v5/src/global.less create mode 100644 admin-v5/src/global.tsx create mode 100644 admin-v5/src/locales/bn-BD.ts create mode 100644 admin-v5/src/locales/bn-BD/component.ts create mode 100644 admin-v5/src/locales/bn-BD/globalHeader.ts create mode 100644 admin-v5/src/locales/bn-BD/menu.ts create mode 100644 admin-v5/src/locales/bn-BD/pages.ts create mode 100644 admin-v5/src/locales/bn-BD/pwa.ts create mode 100644 admin-v5/src/locales/bn-BD/settingDrawer.ts create mode 100644 admin-v5/src/locales/bn-BD/settings.ts create mode 100644 admin-v5/src/locales/en-US.ts create mode 100644 admin-v5/src/locales/en-US/component.ts create mode 100644 admin-v5/src/locales/en-US/globalHeader.ts create mode 100644 admin-v5/src/locales/en-US/menu.ts create mode 100644 admin-v5/src/locales/en-US/pages.ts create mode 100644 admin-v5/src/locales/en-US/pwa.ts create mode 100644 admin-v5/src/locales/en-US/settingDrawer.ts create mode 100644 admin-v5/src/locales/en-US/settings.ts create mode 100644 admin-v5/src/locales/fa-IR.ts create mode 100644 admin-v5/src/locales/fa-IR/component.ts create mode 100644 admin-v5/src/locales/fa-IR/globalHeader.ts create mode 100644 admin-v5/src/locales/fa-IR/menu.ts create mode 100644 admin-v5/src/locales/fa-IR/pages.ts create mode 100644 admin-v5/src/locales/fa-IR/pwa.ts create mode 100644 admin-v5/src/locales/fa-IR/settingDrawer.ts create mode 100644 admin-v5/src/locales/fa-IR/settings.ts create mode 100644 admin-v5/src/locales/id-ID.ts create mode 100644 admin-v5/src/locales/id-ID/component.ts create mode 100644 admin-v5/src/locales/id-ID/globalHeader.ts create mode 100644 admin-v5/src/locales/id-ID/menu.ts create mode 100644 admin-v5/src/locales/id-ID/pages.ts create mode 100644 admin-v5/src/locales/id-ID/pwa.ts create mode 100644 admin-v5/src/locales/id-ID/settingDrawer.ts create mode 100644 admin-v5/src/locales/id-ID/settings.ts create mode 100644 admin-v5/src/locales/ja-JP.ts create mode 100644 admin-v5/src/locales/ja-JP/component.ts create mode 100644 admin-v5/src/locales/ja-JP/globalHeader.ts create mode 100644 admin-v5/src/locales/ja-JP/menu.ts create mode 100644 admin-v5/src/locales/ja-JP/pages.ts create mode 100644 admin-v5/src/locales/ja-JP/pwa.ts create mode 100644 admin-v5/src/locales/ja-JP/settingDrawer.ts create mode 100644 admin-v5/src/locales/ja-JP/settings.ts create mode 100644 admin-v5/src/locales/pt-BR.ts create mode 100644 admin-v5/src/locales/pt-BR/component.ts create mode 100644 admin-v5/src/locales/pt-BR/globalHeader.ts create mode 100644 admin-v5/src/locales/pt-BR/menu.ts create mode 100644 admin-v5/src/locales/pt-BR/pages.ts create mode 100644 admin-v5/src/locales/pt-BR/pwa.ts create mode 100644 admin-v5/src/locales/pt-BR/settingDrawer.ts create mode 100644 admin-v5/src/locales/pt-BR/settings.ts create mode 100644 admin-v5/src/locales/zh-CN.ts create mode 100644 admin-v5/src/locales/zh-CN/component.ts create mode 100644 admin-v5/src/locales/zh-CN/globalHeader.ts create mode 100644 admin-v5/src/locales/zh-CN/menu.ts create mode 100644 admin-v5/src/locales/zh-CN/pages.ts create mode 100644 admin-v5/src/locales/zh-CN/pwa.ts create mode 100644 admin-v5/src/locales/zh-CN/settingDrawer.ts create mode 100644 admin-v5/src/locales/zh-CN/settings.ts create mode 100644 admin-v5/src/locales/zh-TW.ts create mode 100644 admin-v5/src/locales/zh-TW/component.ts create mode 100644 admin-v5/src/locales/zh-TW/globalHeader.ts create mode 100644 admin-v5/src/locales/zh-TW/menu.ts create mode 100644 admin-v5/src/locales/zh-TW/pwa.ts create mode 100644 admin-v5/src/locales/zh-TW/settingDrawer.ts create mode 100644 admin-v5/src/locales/zh-TW/settings.ts create mode 100644 admin-v5/src/manifest.json create mode 100644 admin-v5/src/menuTree.ts create mode 100644 admin-v5/src/pages/404.tsx create mode 100644 admin-v5/src/pages/Admin.tsx create mode 100644 admin-v5/src/pages/TableList/components/UpdateForm.tsx create mode 100644 admin-v5/src/pages/TableList/index.tsx create mode 100644 admin-v5/src/pages/Welcome copy.tsx create mode 100644 admin-v5/src/pages/Welcome.less create mode 100644 admin-v5/src/pages/Welcome.tsx create mode 100644 admin-v5/src/pages/article/edit/MarkdownRender.tsx create mode 100644 admin-v5/src/pages/article/edit/data.d.ts create mode 100644 admin-v5/src/pages/article/edit/editor.tsx create mode 100644 admin-v5/src/pages/article/edit/index.tsx create mode 100644 admin-v5/src/pages/article/edit/service.ts create mode 100644 admin-v5/src/pages/article/edit/viewer.tsx create mode 100644 admin-v5/src/pages/article/editqa/MarkdownRender.tsx create mode 100644 admin-v5/src/pages/article/editqa/data.d.ts create mode 100644 admin-v5/src/pages/article/editqa/editor.tsx create mode 100644 admin-v5/src/pages/article/editqa/index.tsx create mode 100644 admin-v5/src/pages/article/editqa/service.ts create mode 100644 admin-v5/src/pages/article/editqa/viewer.tsx create mode 100644 admin-v5/src/pages/article/news/components/LogsModal.tsx create mode 100644 admin-v5/src/pages/article/news/components/MemberLoginLogModal.tsx create mode 100644 admin-v5/src/pages/article/news/components/UpdateMemberForm.tsx create mode 100644 admin-v5/src/pages/article/news/data.d.ts create mode 100644 admin-v5/src/pages/article/news/index.tsx create mode 100644 admin-v5/src/pages/article/news/service.ts create mode 100644 admin-v5/src/pages/article/qa/components/LogsModal.tsx create mode 100644 admin-v5/src/pages/article/qa/components/MemberLoginLogModal.tsx create mode 100644 admin-v5/src/pages/article/qa/components/UpdateMemberForm.tsx create mode 100644 admin-v5/src/pages/article/qa/data.d.ts create mode 100644 admin-v5/src/pages/article/qa/index.tsx create mode 100644 admin-v5/src/pages/article/qa/service.ts create mode 100644 admin-v5/src/pages/article/subscribe/components/LogsModal.tsx create mode 100644 admin-v5/src/pages/article/subscribe/components/MemberLoginLogModal.tsx create mode 100644 admin-v5/src/pages/article/subscribe/components/UpdateMemberForm.tsx create mode 100644 admin-v5/src/pages/article/subscribe/data.d.ts create mode 100644 admin-v5/src/pages/article/subscribe/index.tsx create mode 100644 admin-v5/src/pages/article/subscribe/service.ts create mode 100644 admin-v5/src/pages/article/tag/components/CreateTagForm.tsx create mode 100644 admin-v5/src/pages/article/tag/components/MenuForm.tsx create mode 100644 admin-v5/src/pages/article/tag/components/UpdateRoleForm.tsx create mode 100644 admin-v5/src/pages/article/tag/data.d.ts create mode 100644 admin-v5/src/pages/article/tag/index.tsx create mode 100644 admin-v5/src/pages/article/tag/service.ts create mode 100644 admin-v5/src/pages/document.ejs create mode 100644 admin-v5/src/pages/log/loginlog/data.d.ts create mode 100644 admin-v5/src/pages/log/loginlog/index.tsx create mode 100644 admin-v5/src/pages/log/loginlog/service.ts create mode 100644 admin-v5/src/pages/log/syslog/data.d.ts create mode 100644 admin-v5/src/pages/log/syslog/index.tsx create mode 100644 admin-v5/src/pages/log/syslog/service.ts create mode 100644 admin-v5/src/pages/oms/order/components/BaseInfo.tsx create mode 100644 admin-v5/src/pages/oms/order/components/CostInfo.tsx create mode 100644 admin-v5/src/pages/oms/order/components/DeliveryModel.tsx create mode 100644 admin-v5/src/pages/oms/order/components/NoteOrderModel.tsx create mode 100644 admin-v5/src/pages/oms/order/components/OperationInfo.tsx create mode 100644 admin-v5/src/pages/oms/order/components/OrderDetailModel.tsx create mode 100644 admin-v5/src/pages/oms/order/components/OrderTrackingModel.tsx create mode 100644 admin-v5/src/pages/oms/order/components/ProductInfo.tsx create mode 100644 admin-v5/src/pages/oms/order/components/ReceiveInfo.tsx create mode 100644 admin-v5/src/pages/oms/order/data.d.ts create mode 100644 admin-v5/src/pages/oms/order/index.less create mode 100644 admin-v5/src/pages/oms/order/index.tsx create mode 100644 admin-v5/src/pages/oms/order/service.ts create mode 100644 admin-v5/src/pages/oms/order_return_apply/components/ReturnApplyBase.tsx create mode 100644 admin-v5/src/pages/oms/order_return_apply/components/ReturnApplyDetailModel.tsx create mode 100644 admin-v5/src/pages/oms/order_return_apply/components/ReturnApplyHandler.tsx create mode 100644 admin-v5/src/pages/oms/order_return_apply/components/ReturnApplyHandlerSubmit.tsx create mode 100644 admin-v5/src/pages/oms/order_return_apply/components/ReturnApplyInfo.tsx create mode 100644 admin-v5/src/pages/oms/order_return_apply/components/ReturnApplyInfoSubmit.tsx create mode 100644 admin-v5/src/pages/oms/order_return_apply/components/ReturnApplyProduct.tsx create mode 100644 admin-v5/src/pages/oms/order_return_apply/components/ReturnApplyReceive.tsx create mode 100644 admin-v5/src/pages/oms/order_return_apply/data.d.ts create mode 100644 admin-v5/src/pages/oms/order_return_apply/index.less create mode 100644 admin-v5/src/pages/oms/order_return_apply/index.tsx create mode 100644 admin-v5/src/pages/oms/order_return_apply/service.ts create mode 100644 admin-v5/src/pages/oms/order_return_reason/components/CreateReasonForm.tsx create mode 100644 admin-v5/src/pages/oms/order_return_reason/components/UpdateReasonForm.tsx create mode 100644 admin-v5/src/pages/oms/order_return_reason/data.d.ts create mode 100644 admin-v5/src/pages/oms/order_return_reason/index.tsx create mode 100644 admin-v5/src/pages/oms/order_return_reason/service.ts create mode 100644 admin-v5/src/pages/oms/order_setting/components/UpdateSettingForm.tsx create mode 100644 admin-v5/src/pages/oms/order_setting/data.d.ts create mode 100644 admin-v5/src/pages/oms/order_setting/index.tsx create mode 100644 admin-v5/src/pages/oms/order_setting/service.ts create mode 100644 admin-v5/src/pages/pms/product/components/OperationProductForm.tsx create mode 100644 admin-v5/src/pages/pms/product/components/ProductAttributeInfo.tsx create mode 100644 admin-v5/src/pages/pms/product/components/ProductBaseInfo.tsx create mode 100644 admin-v5/src/pages/pms/product/components/ProductPromotionalInfo.tsx create mode 100644 admin-v5/src/pages/pms/product/components/ProductRelationshipInfo.tsx create mode 100644 admin-v5/src/pages/pms/product/components/ProductStepInfo.tsx create mode 100644 admin-v5/src/pages/pms/product/data.d.ts create mode 100644 admin-v5/src/pages/pms/product/index.tsx create mode 100644 admin-v5/src/pages/pms/product/service.ts create mode 100644 admin-v5/src/pages/pms/product_attribute/components/CreateAttributeForm.tsx create mode 100644 admin-v5/src/pages/pms/product_attribute/components/UpdateAttributeForm.tsx create mode 100644 admin-v5/src/pages/pms/product_attribute/data.d.ts create mode 100644 admin-v5/src/pages/pms/product_attribute/index.tsx create mode 100644 admin-v5/src/pages/pms/product_attribute/service.ts create mode 100644 admin-v5/src/pages/pms/product_attribute_category/components/CreateAttributeForm.tsx create mode 100644 admin-v5/src/pages/pms/product_attribute_category/components/UpdateAttributeForm.tsx create mode 100644 admin-v5/src/pages/pms/product_attribute_category/data.d.ts create mode 100644 admin-v5/src/pages/pms/product_attribute_category/index.tsx create mode 100644 admin-v5/src/pages/pms/product_attribute_category/service.ts create mode 100644 admin-v5/src/pages/pms/product_brand/components/CreateBrandForm.tsx create mode 100644 admin-v5/src/pages/pms/product_brand/components/UpdateBrandForm.tsx create mode 100644 admin-v5/src/pages/pms/product_brand/data.d.ts create mode 100644 admin-v5/src/pages/pms/product_brand/index.tsx create mode 100644 admin-v5/src/pages/pms/product_brand/service.ts create mode 100644 admin-v5/src/pages/pms/product_category/components/CreateCategoryForm.tsx create mode 100644 admin-v5/src/pages/pms/product_category/components/UpdateCategoryForm.tsx create mode 100644 admin-v5/src/pages/pms/product_category/data.d.ts create mode 100644 admin-v5/src/pages/pms/product_category/index.tsx create mode 100644 admin-v5/src/pages/pms/product_category/service.ts create mode 100644 admin-v5/src/pages/sms/coupon/components/CreateCouponForm.tsx create mode 100644 admin-v5/src/pages/sms/coupon/components/UpdateCouponForm.tsx create mode 100644 admin-v5/src/pages/sms/coupon/data.d.ts create mode 100644 admin-v5/src/pages/sms/coupon/index.tsx create mode 100644 admin-v5/src/pages/sms/coupon/service.ts create mode 100644 admin-v5/src/pages/sms/flash_promotion/components/CreateFlashForm.tsx create mode 100644 admin-v5/src/pages/sms/flash_promotion/components/UpdateFlashForm.tsx create mode 100644 admin-v5/src/pages/sms/flash_promotion/data.d.ts create mode 100644 admin-v5/src/pages/sms/flash_promotion/index.tsx create mode 100644 admin-v5/src/pages/sms/flash_promotion/service.ts create mode 100644 admin-v5/src/pages/sms/home_advertise/components/CreateHomeAdvertiseForm.tsx create mode 100644 admin-v5/src/pages/sms/home_advertise/components/UpdateHomeAdvertiseForm.tsx create mode 100644 admin-v5/src/pages/sms/home_advertise/data.d.ts create mode 100644 admin-v5/src/pages/sms/home_advertise/index.tsx create mode 100644 admin-v5/src/pages/sms/home_advertise/service.ts create mode 100644 admin-v5/src/pages/sms/home_brand/components/CreateHomeBrandForm.tsx create mode 100644 admin-v5/src/pages/sms/home_brand/components/UpdateHomeBrandForm.tsx create mode 100644 admin-v5/src/pages/sms/home_brand/data.d.ts create mode 100644 admin-v5/src/pages/sms/home_brand/index.tsx create mode 100644 admin-v5/src/pages/sms/home_brand/service.ts create mode 100644 admin-v5/src/pages/sms/home_new_product/components/CreateHomeNewProductForm.tsx create mode 100644 admin-v5/src/pages/sms/home_new_product/components/UpdateHomeNewProductForm.tsx create mode 100644 admin-v5/src/pages/sms/home_new_product/data.d.ts create mode 100644 admin-v5/src/pages/sms/home_new_product/index.tsx create mode 100644 admin-v5/src/pages/sms/home_new_product/service.ts create mode 100644 admin-v5/src/pages/sms/home_recommend_product/components/CreateRecommendProductForm.tsx create mode 100644 admin-v5/src/pages/sms/home_recommend_product/components/UpdateRecommendProductForm.tsx create mode 100644 admin-v5/src/pages/sms/home_recommend_product/data.d.ts create mode 100644 admin-v5/src/pages/sms/home_recommend_product/index.tsx create mode 100644 admin-v5/src/pages/sms/home_recommend_product/service.ts create mode 100644 admin-v5/src/pages/sms/home_recommend_subject/components/CreateRecommendSubjectForm.tsx create mode 100644 admin-v5/src/pages/sms/home_recommend_subject/components/UpdateRecommendSubjectForm.tsx create mode 100644 admin-v5/src/pages/sms/home_recommend_subject/data.d.ts create mode 100644 admin-v5/src/pages/sms/home_recommend_subject/index.tsx create mode 100644 admin-v5/src/pages/sms/home_recommend_subject/service.ts create mode 100644 admin-v5/src/pages/system/dept/components/CreateDeptForm.tsx create mode 100644 admin-v5/src/pages/system/dept/components/UpdateDeptForm.tsx create mode 100644 admin-v5/src/pages/system/dept/data.d.ts create mode 100644 admin-v5/src/pages/system/dept/index.tsx create mode 100644 admin-v5/src/pages/system/dept/service.ts create mode 100644 admin-v5/src/pages/system/dict/components/CreateDictForm.tsx create mode 100644 admin-v5/src/pages/system/dict/components/UpdateDictForm.tsx create mode 100644 admin-v5/src/pages/system/dict/data.d.ts create mode 100644 admin-v5/src/pages/system/dict/index.tsx create mode 100644 admin-v5/src/pages/system/dict/service.ts create mode 100644 admin-v5/src/pages/system/job/components/CreateJobForm.tsx create mode 100644 admin-v5/src/pages/system/job/components/UpdateJobForm.tsx create mode 100644 admin-v5/src/pages/system/job/data.d.ts create mode 100644 admin-v5/src/pages/system/job/index.tsx create mode 100644 admin-v5/src/pages/system/job/service.ts create mode 100644 admin-v5/src/pages/system/menu/components/CreateMenuForm.tsx create mode 100644 admin-v5/src/pages/system/menu/components/UpdateMenuForm.tsx create mode 100644 admin-v5/src/pages/system/menu/data.d.ts create mode 100644 admin-v5/src/pages/system/menu/index.tsx create mode 100644 admin-v5/src/pages/system/menu/service.ts create mode 100644 admin-v5/src/pages/system/role/components/CreateRoleForm.tsx create mode 100644 admin-v5/src/pages/system/role/components/MenuForm.tsx create mode 100644 admin-v5/src/pages/system/role/components/UpdateRoleForm.tsx create mode 100644 admin-v5/src/pages/system/role/data.d.ts create mode 100644 admin-v5/src/pages/system/role/index.tsx create mode 100644 admin-v5/src/pages/system/role/service.ts create mode 100644 admin-v5/src/pages/system/user/components/CreateUserForm.tsx create mode 100644 admin-v5/src/pages/system/user/components/UpdateUserForm.tsx create mode 100644 admin-v5/src/pages/system/user/data.d.ts create mode 100644 admin-v5/src/pages/system/user/index.tsx create mode 100644 admin-v5/src/pages/system/user/service.ts create mode 100644 admin-v5/src/pages/systemV2/role/components/CheckboxList.tsx create mode 100644 admin-v5/src/pages/systemV2/role/components/CreateRoleForm.tsx create mode 100644 admin-v5/src/pages/systemV2/role/components/MenuForm.tsx create mode 100644 admin-v5/src/pages/systemV2/role/components/UpdateRoleForm.tsx create mode 100644 admin-v5/src/pages/systemV2/role/data.d.ts create mode 100644 admin-v5/src/pages/systemV2/role/index.tsx create mode 100644 admin-v5/src/pages/systemV2/role/service.ts create mode 100644 admin-v5/src/pages/systemV2/user/components/CreateUserForm.tsx create mode 100644 admin-v5/src/pages/systemV2/user/components/UpdateUserForm.tsx create mode 100644 admin-v5/src/pages/systemV2/user/data.d.ts create mode 100644 admin-v5/src/pages/systemV2/user/index.tsx create mode 100644 admin-v5/src/pages/systemV2/user/service.ts create mode 100644 admin-v5/src/pages/ums/member/components/MemberAddressModal.tsx create mode 100644 admin-v5/src/pages/ums/member/components/MemberLoginLogModal.tsx create mode 100644 admin-v5/src/pages/ums/member/components/UpdateMemberForm.tsx create mode 100644 admin-v5/src/pages/ums/member/data.d.ts create mode 100644 admin-v5/src/pages/ums/member/index.tsx create mode 100644 admin-v5/src/pages/ums/member/service.ts create mode 100644 admin-v5/src/pages/ums/member_address/components/CreateAddressForm.tsx create mode 100644 admin-v5/src/pages/ums/member_address/components/UpdateAddressForm.tsx create mode 100644 admin-v5/src/pages/ums/member_address/data.d.ts create mode 100644 admin-v5/src/pages/ums/member_address/index.tsx create mode 100644 admin-v5/src/pages/ums/member_address/service.ts create mode 100644 admin-v5/src/pages/ums/member_level/components/CreateLevelForm.tsx create mode 100644 admin-v5/src/pages/ums/member_level/components/UpdateLevelForm.tsx create mode 100644 admin-v5/src/pages/ums/member_level/data.d.ts create mode 100644 admin-v5/src/pages/ums/member_level/index.tsx create mode 100644 admin-v5/src/pages/ums/member_level/service.ts create mode 100644 admin-v5/src/pages/ums/member_login_log/data.d.ts create mode 100644 admin-v5/src/pages/ums/member_login_log/index.tsx create mode 100644 admin-v5/src/pages/ums/member_login_log/service.ts create mode 100644 admin-v5/src/pages/umsV2/member/components/MemberAddressModal.tsx create mode 100644 admin-v5/src/pages/umsV2/member/components/MemberLoginLogModal.tsx create mode 100644 admin-v5/src/pages/umsV2/member/components/UpdateMemberForm.tsx create mode 100644 admin-v5/src/pages/umsV2/member/data.d.ts create mode 100644 admin-v5/src/pages/umsV2/member/index.tsx create mode 100644 admin-v5/src/pages/umsV2/member/service.ts create mode 100644 admin-v5/src/pages/umsV2/member_address/components/CreateAddressForm.tsx create mode 100644 admin-v5/src/pages/umsV2/member_address/components/UpdateAddressForm.tsx create mode 100644 admin-v5/src/pages/umsV2/member_address/data.d.ts create mode 100644 admin-v5/src/pages/umsV2/member_address/index.tsx create mode 100644 admin-v5/src/pages/umsV2/member_address/service.ts create mode 100644 admin-v5/src/pages/umsV2/member_level/components/CreateLevelForm.tsx create mode 100644 admin-v5/src/pages/umsV2/member_level/components/UpdateLevelForm.tsx create mode 100644 admin-v5/src/pages/umsV2/member_level/data.d.ts create mode 100644 admin-v5/src/pages/umsV2/member_level/index.tsx create mode 100644 admin-v5/src/pages/umsV2/member_level/service.ts create mode 100644 admin-v5/src/pages/umsV2/member_login_log/data.d.ts create mode 100644 admin-v5/src/pages/umsV2/member_login_log/index.tsx create mode 100644 admin-v5/src/pages/umsV2/member_login_log/service.ts create mode 100644 admin-v5/src/pages/user/login/index.less create mode 100644 admin-v5/src/pages/user/login/index.tsx create mode 100644 admin-v5/src/service-worker.js create mode 100644 admin-v5/src/services/ant-design-pro/api.ts create mode 100644 admin-v5/src/services/ant-design-pro/index.ts create mode 100644 admin-v5/src/services/ant-design-pro/login.ts create mode 100644 admin-v5/src/services/ant-design-pro/typings.d.ts create mode 100644 admin-v5/src/services/http/README.md create mode 100644 admin-v5/src/services/http/api.ts create mode 100644 admin-v5/src/services/http/axios_config.ts create mode 100644 admin-v5/src/services/http/index.ts create mode 100644 admin-v5/src/services/http/service.ts create mode 100644 admin-v5/src/services/http/typings.d.ts create mode 100644 admin-v5/src/services/swagger/index.ts create mode 100644 admin-v5/src/services/swagger/pet.ts create mode 100644 admin-v5/src/services/swagger/store.ts create mode 100644 admin-v5/src/services/swagger/typings.d.ts create mode 100644 admin-v5/src/services/swagger/user.ts create mode 100644 admin-v5/src/styles/base.scss create mode 100644 admin-v5/src/styles/style.scss create mode 100644 admin-v5/src/typings.d.ts create mode 100644 admin-v5/src/utils/utils.ts create mode 100644 admin-v5/tests/run-tests.js create mode 100644 admin-v5/tests/setupTests.js create mode 100644 admin-v5/tsconfig.json create mode 100644 admin-v5/意图交互管理端接口-20240408.md create mode 100644 apps/api/.dev.vars.example create mode 100644 apps/api/.gitignore create mode 100644 apps/api/.infisical.json create mode 100644 apps/api/CHANGELOG.md create mode 100644 apps/api/package.json create mode 100644 apps/api/src/benchmarks/ratelimit_latency.test.ts create mode 100644 apps/api/src/integration/create_verify_delete_key.test.ts create mode 100644 apps/api/src/integration/list_keys.test.ts create mode 100644 apps/api/src/integration/remaining_is_consistent.test.ts create mode 100644 apps/api/src/integration/sdk/create_and_verify.test.ts create mode 100644 apps/api/src/integration/sdk/verify.test.ts create mode 100644 apps/api/src/integration/update_key_add_remaining.test.ts create mode 100644 apps/api/src/integration/verify_permissions.test.ts create mode 100644 apps/api/src/pkg/analytics.ts create mode 100644 apps/api/src/pkg/auth/root_key.ts create mode 100644 apps/api/src/pkg/cache/interface.ts create mode 100644 apps/api/src/pkg/cache/memory.test.ts create mode 100644 apps/api/src/pkg/cache/memory.ts create mode 100644 apps/api/src/pkg/cache/metrics.ts create mode 100644 apps/api/src/pkg/cache/namespaces.ts create mode 100644 apps/api/src/pkg/cache/stale-while-revalidate.ts create mode 100644 apps/api/src/pkg/cache/tiered.ts create mode 100644 apps/api/src/pkg/cache/tracing.ts create mode 100644 apps/api/src/pkg/cache/zone.ts create mode 100644 apps/api/src/pkg/db.ts create mode 100644 apps/api/src/pkg/env.ts create mode 100644 apps/api/src/pkg/errors/http.ts create mode 100644 apps/api/src/pkg/errors/index.ts create mode 100644 apps/api/src/pkg/errors/openapi_responses.ts create mode 100644 apps/api/src/pkg/hono/app.ts create mode 100644 apps/api/src/pkg/hono/env.ts create mode 100644 apps/api/src/pkg/keys/service.ts create mode 100644 apps/api/src/pkg/logging/axiom.ts create mode 100644 apps/api/src/pkg/logging/console.ts create mode 100644 apps/api/src/pkg/logging/index.ts create mode 100644 apps/api/src/pkg/logging/interface.ts create mode 100644 apps/api/src/pkg/logging/queue.ts create mode 100644 apps/api/src/pkg/metrics/axiom.ts create mode 100644 apps/api/src/pkg/metrics/index.ts create mode 100644 apps/api/src/pkg/metrics/interface.ts create mode 100644 apps/api/src/pkg/metrics/noop.ts create mode 100644 apps/api/src/pkg/metrics/queue.ts create mode 100644 apps/api/src/pkg/middleware/index.ts create mode 100644 apps/api/src/pkg/middleware/init.ts create mode 100644 apps/api/src/pkg/middleware/metrics.ts create mode 100644 apps/api/src/pkg/middleware/otel.ts create mode 100644 apps/api/src/pkg/ratelimit/client.ts create mode 100644 apps/api/src/pkg/ratelimit/durable_object.ts create mode 100644 apps/api/src/pkg/ratelimit/index.ts create mode 100644 apps/api/src/pkg/ratelimit/interface.ts create mode 100644 apps/api/src/pkg/ratelimit/noop.ts create mode 100644 apps/api/src/pkg/testutil/benchmark-harness.ts create mode 100644 apps/api/src/pkg/testutil/common-tests.ts create mode 100644 apps/api/src/pkg/testutil/env.ts create mode 100644 apps/api/src/pkg/testutil/harness.ts create mode 100644 apps/api/src/pkg/testutil/integration-harness.ts create mode 100644 apps/api/src/pkg/testutil/load.ts create mode 100644 apps/api/src/pkg/testutil/request.ts create mode 100644 apps/api/src/pkg/testutil/route-harness.ts create mode 100644 apps/api/src/pkg/tracing/config.ts create mode 100644 apps/api/src/pkg/tracing/span.ts create mode 100644 apps/api/src/pkg/types/maybe.ts create mode 100644 apps/api/src/pkg/usagelimit/client.ts create mode 100644 apps/api/src/pkg/usagelimit/durable_object.ts create mode 100644 apps/api/src/pkg/usagelimit/index.ts create mode 100644 apps/api/src/pkg/usagelimit/interface.ts create mode 100644 apps/api/src/pkg/usagelimit/noop.ts create mode 100644 apps/api/src/routes/legacy_apis_listKeys.ts create mode 100644 apps/api/src/routes/legacy_keys_createKey.test.ts create mode 100644 apps/api/src/routes/legacy_keys_createKey.ts create mode 100644 apps/api/src/routes/legacy_keys_verifyKey.test.ts create mode 100644 apps/api/src/routes/legacy_keys_verifyKey.ts create mode 100644 apps/api/src/routes/schema.ts create mode 100644 apps/api/src/routes/v1_apis_createApi.error.test.ts create mode 100644 apps/api/src/routes/v1_apis_createApi.happy.test.ts create mode 100644 apps/api/src/routes/v1_apis_createApi.security.test.ts create mode 100644 apps/api/src/routes/v1_apis_createApi.ts create mode 100644 apps/api/src/routes/v1_apis_deleteApi.error.test.ts create mode 100644 apps/api/src/routes/v1_apis_deleteApi.happy.test.ts create mode 100644 apps/api/src/routes/v1_apis_deleteApi.security.test.ts create mode 100644 apps/api/src/routes/v1_apis_deleteApi.ts create mode 100644 apps/api/src/routes/v1_apis_getApi.error.test.ts create mode 100644 apps/api/src/routes/v1_apis_getApi.happy.test.ts create mode 100644 apps/api/src/routes/v1_apis_getApi.security.test.ts create mode 100644 apps/api/src/routes/v1_apis_getApi.ts create mode 100644 apps/api/src/routes/v1_apis_listKeys.error.test.ts create mode 100644 apps/api/src/routes/v1_apis_listKeys.happy.test.ts create mode 100644 apps/api/src/routes/v1_apis_listKeys.security.test.ts create mode 100644 apps/api/src/routes/v1_apis_listKeys.ts create mode 100644 apps/api/src/routes/v1_keys_createKey.error.test.ts create mode 100644 apps/api/src/routes/v1_keys_createKey.happy.test.ts create mode 100644 apps/api/src/routes/v1_keys_createKey.security.test.ts create mode 100644 apps/api/src/routes/v1_keys_createKey.ts create mode 100644 apps/api/src/routes/v1_keys_createRole.ts create mode 100644 apps/api/src/routes/v1_keys_deleteKey.error.test.ts create mode 100644 apps/api/src/routes/v1_keys_deleteKey.happy.test.ts create mode 100644 apps/api/src/routes/v1_keys_deleteKey.security.test.ts create mode 100644 apps/api/src/routes/v1_keys_deleteKey.ts create mode 100644 apps/api/src/routes/v1_keys_getKey.error.test.ts create mode 100644 apps/api/src/routes/v1_keys_getKey.happy.test.ts create mode 100644 apps/api/src/routes/v1_keys_getKey.security.test.ts create mode 100644 apps/api/src/routes/v1_keys_getKey.ts create mode 100644 apps/api/src/routes/v1_keys_getVerifications.error.test.ts create mode 100644 apps/api/src/routes/v1_keys_getVerifications.happy.test.ts create mode 100644 apps/api/src/routes/v1_keys_getVerifications.security.test.ts create mode 100644 apps/api/src/routes/v1_keys_getVerifications.ts create mode 100644 apps/api/src/routes/v1_keys_updateKey.error.test.ts create mode 100644 apps/api/src/routes/v1_keys_updateKey.happy.test.ts create mode 100644 apps/api/src/routes/v1_keys_updateKey.security.test.ts create mode 100644 apps/api/src/routes/v1_keys_updateKey.ts create mode 100644 apps/api/src/routes/v1_keys_updateRemaining.error.test.ts create mode 100644 apps/api/src/routes/v1_keys_updateRemaining.happy.test.ts create mode 100644 apps/api/src/routes/v1_keys_updateRemaining.security.test.ts create mode 100644 apps/api/src/routes/v1_keys_updateRemaining.ts create mode 100644 apps/api/src/routes/v1_keys_verifyKey.permissions.test.ts create mode 100644 apps/api/src/routes/v1_keys_verifyKey.test.ts create mode 100644 apps/api/src/routes/v1_keys_verifyKey.ts create mode 100644 apps/api/src/routes/v1_liveness.test.ts create mode 100644 apps/api/src/routes/v1_liveness.ts create mode 100644 apps/api/src/routes/v1_ratelimit_limit.accuracy.test.ts create mode 100644 apps/api/src/routes/v1_ratelimit_limit.consistency.test.ts create mode 100644 apps/api/src/routes/v1_ratelimit_limit.ts create mode 100644 apps/api/src/worker.ts create mode 100644 apps/api/tsconfig.json create mode 100644 apps/api/vitest.benchmark.ts create mode 100644 apps/api/vitest.integration.ts create mode 100644 apps/api/vitest.routes.ts create mode 100644 apps/api/vitest.unit.ts create mode 100644 apps/api/wrangler.toml create mode 100644 apps/blogai/.env.example create mode 100644 apps/blogai/.eslintrc.json create mode 100644 apps/blogai/.gitignore create mode 100644 apps/blogai/1.log create mode 100644 apps/blogai/CHANGELOG.md create mode 100644 apps/blogai/LICENSE create mode 100644 apps/blogai/README.md create mode 100644 apps/blogai/app/[locale]/auth/banners.tsx create mode 100644 apps/blogai/app/[locale]/auth/layout.tsx create mode 100644 apps/blogai/app/[locale]/auth/oauth-button.tsx create mode 100644 apps/blogai/app/[locale]/auth/sign-in/[[...sign-in]]/page.tsx create mode 100644 apps/blogai/app/[locale]/auth/sign-in/email-code.tsx create mode 100644 apps/blogai/app/[locale]/auth/sign-in/email-signin.tsx create mode 100644 apps/blogai/app/[locale]/auth/sign-in/oauth-signin.tsx create mode 100644 apps/blogai/app/[locale]/auth/sign-up/[[...sign-up]]/page.tsx create mode 100644 apps/blogai/app/[locale]/auth/sign-up/email-code.tsx create mode 100644 apps/blogai/app/[locale]/auth/sign-up/email-signup.tsx create mode 100644 apps/blogai/app/[locale]/auth/sign-up/oauth-signup.tsx create mode 100644 apps/blogai/app/[locale]/auth/sso-callback/[[...sso-callback]]/page.tsx create mode 100644 apps/blogai/app/[locale]/blog/[slug]/page.tsx create mode 100644 apps/blogai/app/[locale]/blog/page.tsx create mode 100644 apps/blogai/app/[locale]/chat/[id]/page.tsx create mode 100644 apps/blogai/app/[locale]/layout.tsx create mode 100644 apps/blogai/app/[locale]/morphic/action.tsx create mode 100644 apps/blogai/app/[locale]/morphic/layout.tsx create mode 100644 apps/blogai/app/[locale]/morphic/page.tsx create mode 100644 apps/blogai/app/[locale]/not-found.tsx create mode 100644 apps/blogai/app/[locale]/page.tsx create mode 100644 apps/blogai/app/[locale]/qa/[slug]/page.tsx create mode 100644 apps/blogai/app/[locale]/qa/page.tsx create mode 100644 apps/blogai/app/[locale]/share/[id]/opengraph-image.tsx create mode 100644 apps/blogai/app/[locale]/share/[id]/page.tsx create mode 100644 apps/blogai/app/[locale]/subscribe/page.tsx create mode 100644 apps/blogai/app/actions.ts create mode 100644 apps/blogai/app/api/auth/[...nextauth]/route.ts create mode 100644 apps/blogai/app/api/chat/route.ts create mode 100644 apps/blogai/app/api/compile-contract/route.ts create mode 100644 apps/blogai/app/api/deploy-contract/route.ts create mode 100644 apps/blogai/app/api/ipfs-upload/route.ts create mode 100644 apps/blogai/app/api/text-to-image/route.ts create mode 100644 apps/blogai/app/api/verify-contract/route.ts create mode 100644 apps/blogai/app/globals.css create mode 100644 apps/blogai/app/i18n.ts create mode 100644 apps/blogai/app/sitemap.ts create mode 100644 apps/blogai/app/state/global-store.tsx create mode 100644 apps/blogai/assets/fonts/Inter-Bold.woff create mode 100644 apps/blogai/assets/fonts/Inter-Regular.woff create mode 100644 apps/blogai/assets/images/opengraph-image.png create mode 100644 apps/blogai/assets/images/twitter-image.png create mode 100644 apps/blogai/auth.ts create mode 100644 apps/blogai/bun.lockb create mode 100644 apps/blogai/components/LanguageChanger.tsx create mode 100644 apps/blogai/components/TranslationsProvider.tsx create mode 100644 apps/blogai/components/article/article.tsx create mode 100644 apps/blogai/components/article/card.tsx create mode 100644 apps/blogai/components/button-scroll-to-bottom.tsx create mode 100644 apps/blogai/components/chat-list.tsx create mode 100644 apps/blogai/components/chat-message-actions.tsx create mode 100644 apps/blogai/components/chat-message.tsx create mode 100644 apps/blogai/components/chat-model.tsx create mode 100644 apps/blogai/components/chat-panel.tsx create mode 100644 apps/blogai/components/chat-scroll-anchor.tsx create mode 100644 apps/blogai/components/chat.tsx create mode 100644 apps/blogai/components/clear-history.tsx create mode 100644 apps/blogai/components/connect-button.tsx create mode 100644 apps/blogai/components/deploy-contract-button.tsx create mode 100644 apps/blogai/components/deploy-frontend-button.tsx create mode 100644 apps/blogai/components/external-link.tsx create mode 100644 apps/blogai/components/footer.tsx create mode 100644 apps/blogai/components/header.tsx create mode 100644 apps/blogai/components/images/JellyAi.svg create mode 100644 apps/blogai/components/images/a.png create mode 100644 apps/blogai/components/images/favicon.ico create mode 100644 apps/blogai/components/images/favicon.png create mode 100644 apps/blogai/components/images/jellai.png create mode 100644 apps/blogai/components/images/login_user.png create mode 100644 apps/blogai/components/images/logo.png create mode 100644 apps/blogai/components/images/q.png create mode 100644 apps/blogai/components/images/show.png create mode 100644 apps/blogai/components/images/sub.png create mode 100644 apps/blogai/components/images/user.png create mode 100644 apps/blogai/components/landing.tsx create mode 100644 apps/blogai/components/landing/animated-list.tsx create mode 100644 apps/blogai/components/landing/border.tsx create mode 100644 apps/blogai/components/landing/container.tsx create mode 100644 apps/blogai/components/landing/fade-in.tsx create mode 100644 apps/blogai/components/landing/loading.tsx create mode 100644 apps/blogai/components/landing/mdx-content.tsx create mode 100644 apps/blogai/components/landing/newsletter.tsx create mode 100644 apps/blogai/components/login-button.tsx create mode 100644 apps/blogai/components/markdown.tsx create mode 100644 apps/blogai/components/mdx-content.tsx create mode 100644 apps/blogai/components/mpv2/chat-messages.tsx create mode 100644 apps/blogai/components/mpv2/chat-panel.tsx create mode 100644 apps/blogai/components/mpv2/chat.tsx create mode 100644 apps/blogai/components/mpv2/copilot.tsx create mode 100644 apps/blogai/components/mpv2/empty-screen.tsx create mode 100644 apps/blogai/components/mpv2/followup-panel.tsx create mode 100644 apps/blogai/components/mpv2/footer.tsx create mode 100644 apps/blogai/components/mpv2/header.tsx create mode 100644 apps/blogai/components/mpv2/message.tsx create mode 100644 apps/blogai/components/mpv2/mode-toggle.tsx create mode 100644 apps/blogai/components/mpv2/search-related.tsx create mode 100644 apps/blogai/components/mpv2/search-results-image.tsx create mode 100644 apps/blogai/components/mpv2/search-results.tsx create mode 100644 apps/blogai/components/mpv2/search-skeleton.tsx create mode 100644 apps/blogai/components/mpv2/section.tsx create mode 100644 apps/blogai/components/mpv2/theme-provider.tsx create mode 100644 apps/blogai/components/mpv2/tool-badge.tsx create mode 100644 apps/blogai/components/mpv2/user-message.tsx create mode 100644 apps/blogai/components/prompt-form.tsx create mode 100644 apps/blogai/components/prompt-index.tsx create mode 100644 apps/blogai/components/providers/ui-providers.tsx create mode 100644 apps/blogai/components/providers/web3-provider.tsx create mode 100644 apps/blogai/components/settings-drop-down.tsx create mode 100644 apps/blogai/components/sidebar-actions.tsx create mode 100644 apps/blogai/components/sidebar-footer.tsx create mode 100644 apps/blogai/components/sidebar-item.tsx create mode 100644 apps/blogai/components/sidebar-list.tsx create mode 100644 apps/blogai/components/sidebar.tsx create mode 100644 apps/blogai/components/theme-toggle.tsx create mode 100644 apps/blogai/components/toaster.tsx create mode 100644 apps/blogai/components/ui-v2/avatar.tsx create mode 100644 apps/blogai/components/ui-v2/badge.tsx create mode 100644 apps/blogai/components/ui-v2/button.tsx create mode 100644 apps/blogai/components/ui-v2/card.tsx create mode 100644 apps/blogai/components/ui-v2/carousel.tsx create mode 100644 apps/blogai/components/ui-v2/checkbox.tsx create mode 100644 apps/blogai/components/ui-v2/dialog.tsx create mode 100644 apps/blogai/components/ui-v2/dropdown-menu.tsx create mode 100644 apps/blogai/components/ui-v2/icons.tsx create mode 100644 apps/blogai/components/ui-v2/input.tsx create mode 100644 apps/blogai/components/ui-v2/label.tsx create mode 100644 apps/blogai/components/ui-v2/markdown.tsx create mode 100644 apps/blogai/components/ui-v2/separator.tsx create mode 100644 apps/blogai/components/ui-v2/skeleton.tsx create mode 100644 apps/blogai/components/ui-v2/slider.tsx create mode 100644 apps/blogai/components/ui-v2/spinner.tsx create mode 100644 apps/blogai/components/ui-v2/switch.tsx create mode 100644 apps/blogai/components/ui-v2/textarea.tsx create mode 100644 apps/blogai/components/ui/alert-dialog.tsx create mode 100644 apps/blogai/components/ui/avatar.tsx create mode 100644 apps/blogai/components/ui/badge.tsx create mode 100644 apps/blogai/components/ui/button.tsx create mode 100644 apps/blogai/components/ui/codeblock.tsx create mode 100644 apps/blogai/components/ui/dialog.tsx create mode 100644 apps/blogai/components/ui/dropdown-menu.tsx create mode 100644 apps/blogai/components/ui/flex.tsx create mode 100644 apps/blogai/components/ui/icons.tsx create mode 100644 apps/blogai/components/ui/index.module.scss create mode 100644 apps/blogai/components/ui/input.tsx create mode 100644 apps/blogai/components/ui/label.tsx create mode 100644 apps/blogai/components/ui/loading.tsx create mode 100644 apps/blogai/components/ui/scroll-area.tsx create mode 100644 apps/blogai/components/ui/select.tsx create mode 100644 apps/blogai/components/ui/separator.tsx create mode 100644 apps/blogai/components/ui/sheet.tsx create mode 100644 apps/blogai/components/ui/switch.tsx create mode 100644 apps/blogai/components/ui/textarea.tsx create mode 100644 apps/blogai/components/ui/toaster.tsx create mode 100644 apps/blogai/components/ui/tooltip.tsx create mode 100644 apps/blogai/components/user-menu.tsx create mode 100644 apps/blogai/content/blog/authors.ts create mode 100644 apps/blogai/content/blog/building-authentic-comms.mdx create mode 100644 apps/blogai/content/blog/cli-auth.mdx create mode 100644 apps/blogai/content/blog/high-frequency-usage-billing.mdx create mode 100644 apps/blogai/content/blog/how-unkey-treats-marketing.mdx create mode 100644 apps/blogai/content/blog/how-we-ai.mdx create mode 100644 apps/blogai/content/blog/introducing-vercel-integration.mdx create mode 100644 apps/blogai/content/blog/ocr-service.mdx create mode 100644 apps/blogai/content/blog/secure-supabase-functions-using-unkey.mdx create mode 100644 apps/blogai/content/blog/unkey-raises-1-5-million.mdx create mode 100644 apps/blogai/content/blog/using-unkey-with-auth.mdx create mode 100644 apps/blogai/content/blog/uuid-ux.mdx create mode 100644 apps/blogai/content/blog/why-we-built-unkey.mdx create mode 100644 apps/blogai/content/changelog/2023-06-25.mdx create mode 100644 apps/blogai/content/changelog/2023-07-02.mdx create mode 100644 apps/blogai/content/changelog/2023-07-03.mdx create mode 100644 apps/blogai/content/changelog/2023-07-10.mdx create mode 100644 apps/blogai/content/changelog/2023-07-21.mdx create mode 100644 apps/blogai/content/changelog/2023-08-10.mdx create mode 100644 apps/blogai/content/changelog/2023-08-25.mdx create mode 100644 apps/blogai/content/changelog/2023-09-08.mdx create mode 100644 apps/blogai/content/changelog/2023-09-29.mdx create mode 100644 apps/blogai/content/changelog/2023-11-03.mdx create mode 100644 apps/blogai/content/changelog/2023-12-01.mdx create mode 100644 apps/blogai/content/changelog/2023-12-15.mdx create mode 100644 apps/blogai/content/changelog/2024-01-05.mdx create mode 100644 apps/blogai/content/changelog/2024-01-19.mdx create mode 100644 apps/blogai/content/changelog/2024-02-16.mdx create mode 100644 apps/blogai/content/jobs/software-engineer.mdx create mode 100644 apps/blogai/content/policies/privacy.mdx create mode 100644 apps/blogai/content/policies/terms.mdx create mode 100644 apps/blogai/docs/btc.md create mode 100644 apps/blogai/fonts/Inter-Bold.woff create mode 100644 apps/blogai/fonts/Inter-Regular.woff create mode 100644 apps/blogai/i18nConfig.ts create mode 100644 apps/blogai/info.welcome_email.html create mode 100644 apps/blogai/lib/agents/index.tsx create mode 100644 apps/blogai/lib/agents/inquire.tsx create mode 100644 apps/blogai/lib/agents/query-suggestor.tsx create mode 100644 apps/blogai/lib/agents/researcher.tsx create mode 100644 apps/blogai/lib/agents/task-manager.tsx create mode 100644 apps/blogai/lib/analytics.ts create mode 100644 apps/blogai/lib/chains-all.json create mode 100644 apps/blogai/lib/chains.json create mode 100644 apps/blogai/lib/constants.ts create mode 100644 apps/blogai/lib/fonts.ts create mode 100644 apps/blogai/lib/functions/deploy-contract/compile-contract.ts create mode 100644 apps/blogai/lib/functions/deploy-contract/deploy-contract.ts create mode 100644 apps/blogai/lib/functions/deploy-contract/handle-imports.ts create mode 100644 apps/blogai/lib/functions/deploy-contract/ipfs-upload.ts create mode 100644 apps/blogai/lib/functions/deploy-contract/verify-contract.ts create mode 100644 apps/blogai/lib/functions/deploy-contract/wallet-deploy.ts create mode 100644 apps/blogai/lib/functions/schemas.ts create mode 100644 apps/blogai/lib/functions/types.ts create mode 100644 apps/blogai/lib/hooks/shared/call-chat-api.ts create mode 100644 apps/blogai/lib/hooks/shared/call-completion-api.ts create mode 100644 apps/blogai/lib/hooks/shared/generate-id.ts create mode 100644 apps/blogai/lib/hooks/shared/parse-complex-response.ts create mode 100644 apps/blogai/lib/hooks/shared/process-chat-stream.ts create mode 100644 apps/blogai/lib/hooks/shared/read-data-stream.ts create mode 100644 apps/blogai/lib/hooks/shared/stream-data.ts create mode 100644 apps/blogai/lib/hooks/shared/stream-parts.ts create mode 100644 apps/blogai/lib/hooks/shared/streaming-react-response.ts create mode 100644 apps/blogai/lib/hooks/shared/types.ts create mode 100644 apps/blogai/lib/hooks/shared/utils.ts create mode 100644 apps/blogai/lib/hooks/use-at-bottom.tsx create mode 100644 apps/blogai/lib/hooks/use-chat.ts create mode 100644 apps/blogai/lib/hooks/use-copy-to-clipboard.tsx create mode 100644 apps/blogai/lib/hooks/use-enter-submit.tsx create mode 100644 apps/blogai/lib/hooks/use-isdk_b.ts create mode 100644 apps/blogai/lib/hooks/use-local-storage.ts create mode 100644 apps/blogai/lib/hooks/use-w3gpt-deploy.tsx create mode 100644 apps/blogai/lib/http/README.md create mode 100644 apps/blogai/lib/http/axios_config.ts create mode 100644 apps/blogai/lib/http/service.ts create mode 100644 apps/blogai/lib/is-client-context.tsx create mode 100644 apps/blogai/lib/mdx-helper.ts create mode 100644 apps/blogai/lib/metadata.ts create mode 100644 apps/blogai/lib/schema/inquiry.tsx create mode 100644 apps/blogai/lib/schema/next-action.tsx create mode 100644 apps/blogai/lib/schema/related.tsx create mode 100644 apps/blogai/lib/schema/search.tsx create mode 100644 apps/blogai/lib/types.ts create mode 100644 apps/blogai/lib/utils.ts create mode 100644 apps/blogai/lib/viem-utils.ts create mode 100644 apps/blogai/locales/en/common.json create mode 100644 apps/blogai/locales/en/home.json create mode 100644 apps/blogai/locales/zh-CN/common.json create mode 100644 apps/blogai/locales/zh-CN/home.json create mode 100644 apps/blogai/middleware.ts create mode 100644 apps/blogai/next-env.d.ts create mode 100644 apps/blogai/next-i18next.config.js create mode 100644 apps/blogai/next.config.js create mode 100644 apps/blogai/package.json create mode 100644 apps/blogai/postcss.config.js create mode 100644 apps/blogai/prettier.config.cjs create mode 100644 apps/blogai/public/.well-known/walletconnect.txt create mode 100644 apps/blogai/public/favicon.ico create mode 100644 apps/blogai/public/favicon.png create mode 100644 apps/blogai/public/favicon_16.png create mode 100644 apps/blogai/public/lotties/clock.json create mode 100644 apps/blogai/public/lotties/globe.json create mode 100644 apps/blogai/public/lotties/puzzle.json create mode 100644 apps/blogai/public/mantle-logo.jpeg create mode 100644 apps/blogai/public/w3gpt-logo-beta.svg create mode 100644 apps/blogai/public/w3gpt-logo.svg create mode 100644 apps/blogai/public/welcome_email.html create mode 100644 apps/blogai/public/welcome_email_cn.html create mode 100644 apps/blogai/tailwind.config.js create mode 100644 apps/blogai/tsconfig.json create mode 100644 apps/blogai/vercel.json create mode 100644 apps/blogai/welcome_email_tmp.html create mode 100644 apps/blogai/意图交互客户接口-20240408.md create mode 100644 apps/blogai/意图交互服务程序协议.md create mode 100644 apps/blogai/网关接口说明.md create mode 100644 apps/migrant/.env.example create mode 100644 apps/migrant/.eslintrc.json create mode 100644 apps/migrant/.gitignore create mode 100644 apps/migrant/1.log create mode 100644 apps/migrant/AI员工商户和管理端接口.md create mode 100644 apps/migrant/CHANGELOG.md create mode 100644 apps/migrant/LICENSE create mode 100644 apps/migrant/README.md create mode 100644 apps/migrant/app/[locale]/auth/banners.tsx create mode 100644 apps/migrant/app/[locale]/auth/layout.tsx create mode 100644 apps/migrant/app/[locale]/auth/oauth-button.tsx create mode 100644 apps/migrant/app/[locale]/auth/sign-in/[[...sign-in]]/page.tsx create mode 100644 apps/migrant/app/[locale]/auth/sign-in/email-code.tsx create mode 100644 apps/migrant/app/[locale]/auth/sign-in/email-signin.tsx create mode 100644 apps/migrant/app/[locale]/auth/sign-in/oauth-signin.tsx create mode 100644 apps/migrant/app/[locale]/auth/sign-up/[[...sign-up]]/page.tsx create mode 100644 apps/migrant/app/[locale]/auth/sign-up/email-code.tsx create mode 100644 apps/migrant/app/[locale]/auth/sign-up/email-signup.tsx create mode 100644 apps/migrant/app/[locale]/auth/sign-up/oauth-signup.tsx create mode 100644 apps/migrant/app/[locale]/auth/sso-callback/[[...sso-callback]]/page.tsx create mode 100644 apps/migrant/app/[locale]/chat/[id]/page.tsx create mode 100644 apps/migrant/app/[locale]/chatbot/chat/[id]/page.tsx create mode 100644 apps/migrant/app/[locale]/chatbot/layout.tsx create mode 100644 apps/migrant/app/[locale]/chatbot/page.tsx create mode 100644 apps/migrant/app/[locale]/jelly/page.tsx create mode 100644 apps/migrant/app/[locale]/layout.tsx create mode 100644 apps/migrant/app/[locale]/manage/[...not-found]/page.tsx create mode 100644 apps/migrant/app/[locale]/manage/analysis/page.tsx create mode 100644 apps/migrant/app/[locale]/manage/apis/[apiId]/layout.tsx create mode 100644 apps/migrant/app/[locale]/manage/apis/[apiId]/loading.tsx create mode 100644 apps/migrant/app/[locale]/manage/apis/[apiId]/page.tsx create mode 100644 apps/migrant/app/[locale]/manage/apis/[apiId]/select.tsx create mode 100644 apps/migrant/app/[locale]/manage/apis/[apiId]/settings/actions.ts create mode 100644 apps/migrant/app/[locale]/manage/apis/[apiId]/settings/delete-api.tsx create mode 100644 apps/migrant/app/[locale]/manage/apis/[apiId]/settings/page.tsx create mode 100644 apps/migrant/app/[locale]/manage/apis/[apiId]/settings/update-api-name.tsx create mode 100644 apps/migrant/app/[locale]/manage/apis/[apiId]/settings/update-ip-whitelist.tsx create mode 100644 apps/migrant/app/[locale]/manage/apis/client.tsx create mode 100644 apps/migrant/app/[locale]/manage/apis/create-api-button.tsx create mode 100644 apps/migrant/app/[locale]/manage/apis/loading.tsx create mode 100644 apps/migrant/app/[locale]/manage/apis/page.tsx create mode 100644 apps/migrant/app/[locale]/manage/authorization/layout.tsx create mode 100644 apps/migrant/app/[locale]/manage/authorization/permissions/[permissionId]/client.tsx create mode 100644 apps/migrant/app/[locale]/manage/authorization/permissions/[permissionId]/delete-permission.tsx create mode 100644 apps/migrant/app/[locale]/manage/authorization/permissions/[permissionId]/page.tsx create mode 100644 apps/migrant/app/[locale]/manage/authorization/permissions/create-new-permission.tsx create mode 100644 apps/migrant/app/[locale]/manage/authorization/permissions/page.tsx create mode 100644 apps/migrant/app/[locale]/manage/authorization/roles/[roleId]/delete-role.tsx create mode 100644 apps/migrant/app/[locale]/manage/authorization/roles/[roleId]/page.tsx create mode 100644 apps/migrant/app/[locale]/manage/authorization/roles/[roleId]/permission-toggle.tsx create mode 100644 apps/migrant/app/[locale]/manage/authorization/roles/[roleId]/tree.tsx create mode 100644 apps/migrant/app/[locale]/manage/authorization/roles/[roleId]/update-role.tsx create mode 100644 apps/migrant/app/[locale]/manage/authorization/roles/create-new-role.tsx create mode 100644 apps/migrant/app/[locale]/manage/authorization/roles/page.tsx create mode 100644 apps/migrant/app/[locale]/manage/billing/lists.tsx create mode 100644 apps/migrant/app/[locale]/manage/billing/page.tsx create mode 100644 apps/migrant/app/[locale]/manage/billing/success/page.tsx create mode 100644 apps/migrant/app/[locale]/manage/desktop-sidebar.tsx create mode 100644 apps/migrant/app/[locale]/manage/keys/[keyAuthId]/[keyId]/layout.tsx create mode 100644 apps/migrant/app/[locale]/manage/keys/[keyAuthId]/[keyId]/page.tsx create mode 100644 apps/migrant/app/[locale]/manage/keys/[keyAuthId]/[keyId]/permissions/chart.tsx create mode 100644 apps/migrant/app/[locale]/manage/keys/[keyAuthId]/[keyId]/permissions/page.tsx create mode 100644 apps/migrant/app/[locale]/manage/keys/[keyAuthId]/[keyId]/permissions/role-toggle.tsx create mode 100644 apps/migrant/app/[locale]/manage/keys/[keyAuthId]/[keyId]/settings/delete-key.tsx create mode 100644 apps/migrant/app/[locale]/manage/keys/[keyAuthId]/[keyId]/settings/page.tsx create mode 100644 apps/migrant/app/[locale]/manage/keys/[keyAuthId]/[keyId]/settings/update-key-enabled.tsx create mode 100644 apps/migrant/app/[locale]/manage/keys/[keyAuthId]/[keyId]/settings/update-key-expiration.tsx create mode 100644 apps/migrant/app/[locale]/manage/keys/[keyAuthId]/[keyId]/settings/update-key-metadata.tsx create mode 100644 apps/migrant/app/[locale]/manage/keys/[keyAuthId]/[keyId]/settings/update-key-name.tsx create mode 100644 apps/migrant/app/[locale]/manage/keys/[keyAuthId]/[keyId]/settings/update-key-owner-id.tsx create mode 100644 apps/migrant/app/[locale]/manage/keys/[keyAuthId]/[keyId]/settings/update-key-ratelimit.tsx create mode 100644 apps/migrant/app/[locale]/manage/keys/[keyAuthId]/[keyId]/settings/update-key-remaining.tsx create mode 100644 apps/migrant/app/[locale]/manage/keys/[keyAuthId]/[keyId]/table.tsx create mode 100644 apps/migrant/app/[locale]/manage/keys/[keyAuthId]/keys.tsx create mode 100644 apps/migrant/app/[locale]/manage/keys/[keyAuthId]/new/client.tsx create mode 100644 apps/migrant/app/[locale]/manage/keys/[keyAuthId]/new/page.tsx create mode 100644 apps/migrant/app/[locale]/manage/keys/[keyAuthId]/page.tsx create mode 100644 apps/migrant/app/[locale]/manage/layout.tsx create mode 100644 apps/migrant/app/[locale]/manage/mobile-sidebar.tsx create mode 100644 apps/migrant/app/[locale]/manage/new/create-api.tsx create mode 100644 apps/migrant/app/[locale]/manage/new/create-form.tsx create mode 100644 apps/migrant/app/[locale]/manage/new/create-workspace.tsx create mode 100644 apps/migrant/app/[locale]/manage/new/keys.tsx create mode 100644 apps/migrant/app/[locale]/manage/new/layout.tsx create mode 100644 apps/migrant/app/[locale]/manage/new/page.tsx create mode 100644 apps/migrant/app/[locale]/manage/overview/page.tsx create mode 100644 apps/migrant/app/[locale]/manage/page.tsx create mode 100644 apps/migrant/app/[locale]/manage/plans/button.tsx create mode 100644 apps/migrant/app/[locale]/manage/plans/card.tsx create mode 100644 apps/migrant/app/[locale]/manage/plans/page.tsx create mode 100644 apps/migrant/app/[locale]/manage/repository/lists.tsx create mode 100644 apps/migrant/app/[locale]/manage/repository/new/page.tsx create mode 100644 apps/migrant/app/[locale]/manage/repository/new/update-workspace-image.tsx create mode 100644 apps/migrant/app/[locale]/manage/repository/new/update-workspace-name.tsx create mode 100644 apps/migrant/app/[locale]/manage/repository/new/update-workspace.tsx create mode 100644 apps/migrant/app/[locale]/manage/repository/page.tsx create mode 100644 apps/migrant/app/[locale]/manage/staffs/[apiId]/item.tsx create mode 100644 apps/migrant/app/[locale]/manage/staffs/[apiId]/layout.tsx create mode 100644 apps/migrant/app/[locale]/manage/staffs/[apiId]/loading.tsx create mode 100644 apps/migrant/app/[locale]/manage/staffs/[apiId]/page.tsx create mode 100644 apps/migrant/app/[locale]/manage/staffs/[apiId]/select.tsx create mode 100644 apps/migrant/app/[locale]/manage/staffs/[apiId]/settings/actions.ts create mode 100644 apps/migrant/app/[locale]/manage/staffs/[apiId]/settings/delete-api.tsx create mode 100644 apps/migrant/app/[locale]/manage/staffs/[apiId]/settings/page.tsx create mode 100644 apps/migrant/app/[locale]/manage/staffs/[apiId]/settings/update-api-name.tsx create mode 100644 apps/migrant/app/[locale]/manage/staffs/[apiId]/settings/update-ip-whitelist.tsx create mode 100644 apps/migrant/app/[locale]/manage/staffs/client.tsx create mode 100644 apps/migrant/app/[locale]/manage/staffs/create-api-button.tsx create mode 100644 apps/migrant/app/[locale]/manage/staffs/loading.tsx create mode 100644 apps/migrant/app/[locale]/manage/staffs/page.tsx create mode 100644 apps/migrant/app/[locale]/manage/team-switcher.tsx create mode 100644 apps/migrant/app/[locale]/manage/user-button.tsx create mode 100644 apps/migrant/app/[locale]/morphic/action.tsx create mode 100644 apps/migrant/app/[locale]/morphic/layout.tsx create mode 100644 apps/migrant/app/[locale]/morphic/page.tsx create mode 100644 apps/migrant/app/[locale]/not-found.tsx create mode 100644 apps/migrant/app/[locale]/page.tsx create mode 100644 apps/migrant/app/[locale]/pay/create-api.tsx create mode 100644 apps/migrant/app/[locale]/pay/create-workspace.tsx create mode 100644 apps/migrant/app/[locale]/pay/keys.tsx create mode 100644 apps/migrant/app/[locale]/pay/layout.tsx create mode 100644 apps/migrant/app/[locale]/pay/page.tsx create mode 100644 apps/migrant/app/[locale]/preview/create-api.tsx create mode 100644 apps/migrant/app/[locale]/preview/create-workspace.tsx create mode 100644 apps/migrant/app/[locale]/preview/keys.tsx create mode 100644 apps/migrant/app/[locale]/preview/layout.tsx create mode 100644 apps/migrant/app/[locale]/preview/page.tsx create mode 100644 apps/migrant/app/[locale]/pricing/components.tsx create mode 100644 apps/migrant/app/[locale]/pricing/discover.tsx create mode 100644 apps/migrant/app/[locale]/pricing/hero-svgs.tsx create mode 100644 apps/migrant/app/[locale]/pricing/page.tsx create mode 100644 apps/migrant/app/[locale]/pricing/svgs.tsx create mode 100644 apps/migrant/app/[locale]/sdk/page.tsx create mode 100644 apps/migrant/app/[locale]/share/[id]/opengraph-image.tsx create mode 100644 apps/migrant/app/[locale]/share/[id]/page.tsx create mode 100644 apps/migrant/app/[locale]/staff/page.tsx create mode 100644 apps/migrant/app/actions.ts create mode 100644 apps/migrant/app/api/auth/[...nextauth]/route.ts create mode 100644 apps/migrant/app/api/chat/route.ts create mode 100644 apps/migrant/app/api/compile-contract/route.ts create mode 100644 apps/migrant/app/api/deploy-contract/route.ts create mode 100644 apps/migrant/app/api/ipfs-upload/route.ts create mode 100644 apps/migrant/app/api/text-to-image/route.ts create mode 100644 apps/migrant/app/api/verify-contract/route.ts create mode 100644 apps/migrant/app/globals.css create mode 100644 apps/migrant/app/i18n.ts create mode 100644 apps/migrant/app/section-title.tsx create mode 100644 apps/migrant/app/sitemap.ts create mode 100644 apps/migrant/app/staffai/[staffId]/create-api.tsx create mode 100644 apps/migrant/app/staffai/[staffId]/create-workspace.tsx create mode 100644 apps/migrant/app/staffai/[staffId]/keys.tsx create mode 100644 apps/migrant/app/staffai/[staffId]/page.tsx create mode 100644 apps/migrant/app/staffai/layout.tsx create mode 100644 apps/migrant/app/staffai/page.tsx create mode 100644 apps/migrant/app/state/global-store.tsx create mode 100644 apps/migrant/app/xauth/layout.tsx create mode 100644 apps/migrant/app/xauth/login/actions.ts create mode 100644 apps/migrant/app/xauth/login/page.tsx create mode 100644 apps/migrant/app/xauth/signup/actions.ts create mode 100644 apps/migrant/app/xauth/signup/page.tsx create mode 100644 apps/migrant/assets/fonts/Inter-Bold.woff create mode 100644 apps/migrant/assets/fonts/Inter-Regular.woff create mode 100644 apps/migrant/assets/images/opengraph-image.png create mode 100644 apps/migrant/assets/images/twitter-image.png create mode 100644 apps/migrant/auth.config.ts create mode 100644 apps/migrant/auth.ts create mode 100644 apps/migrant/bun.lockb create mode 100644 apps/migrant/components-ai/button-scroll-to-bottom.tsx create mode 100644 apps/migrant/components-ai/chat-history.tsx create mode 100644 apps/migrant/components-ai/chat-list.tsx create mode 100644 apps/migrant/components-ai/chat-message-actions.tsx create mode 100644 apps/migrant/components-ai/chat-message.tsx create mode 100644 apps/migrant/components-ai/chat-panel.tsx create mode 100644 apps/migrant/components-ai/chat-share-dialog.tsx create mode 100644 apps/migrant/components-ai/chat.tsx create mode 100644 apps/migrant/components-ai/clear-history.tsx create mode 100644 apps/migrant/components-ai/empty-screen.tsx create mode 100644 apps/migrant/components-ai/external-link.tsx create mode 100644 apps/migrant/components-ai/footer.tsx create mode 100644 apps/migrant/components-ai/header.tsx create mode 100644 apps/migrant/components-ai/login-button.tsx create mode 100644 apps/migrant/components-ai/login-form.tsx create mode 100644 apps/migrant/components-ai/markdown.tsx create mode 100644 apps/migrant/components-ai/prompt-form.tsx create mode 100644 apps/migrant/components-ai/providers.tsx create mode 100644 apps/migrant/components-ai/sidebar-actions.tsx create mode 100644 apps/migrant/components-ai/sidebar-desktop.tsx create mode 100644 apps/migrant/components-ai/sidebar-footer.tsx create mode 100644 apps/migrant/components-ai/sidebar-item.tsx create mode 100644 apps/migrant/components-ai/sidebar-items.tsx create mode 100644 apps/migrant/components-ai/sidebar-list.tsx create mode 100644 apps/migrant/components-ai/sidebar-mobile.tsx create mode 100644 apps/migrant/components-ai/sidebar-toggle.tsx create mode 100644 apps/migrant/components-ai/sidebar.tsx create mode 100644 apps/migrant/components-ai/signup-form.tsx create mode 100644 apps/migrant/components-ai/stocks/events-skeleton.tsx create mode 100644 apps/migrant/components-ai/stocks/events.tsx create mode 100644 apps/migrant/components-ai/stocks/index.tsx create mode 100644 apps/migrant/components-ai/stocks/message.tsx create mode 100644 apps/migrant/components-ai/stocks/spinner.tsx create mode 100644 apps/migrant/components-ai/stocks/stock-purchase.tsx create mode 100644 apps/migrant/components-ai/stocks/stock-skeleton.tsx create mode 100644 apps/migrant/components-ai/stocks/stock.tsx create mode 100644 apps/migrant/components-ai/stocks/stocks-skeleton.tsx create mode 100644 apps/migrant/components-ai/stocks/stocks.tsx create mode 100644 apps/migrant/components-ai/tailwind-indicator.tsx create mode 100644 apps/migrant/components-ai/theme-toggle.tsx create mode 100644 apps/migrant/components-ai/ui/alert-dialog.tsx create mode 100644 apps/migrant/components-ai/ui/badge.tsx create mode 100644 apps/migrant/components-ai/ui/button.tsx create mode 100644 apps/migrant/components-ai/ui/codeblock.tsx create mode 100644 apps/migrant/components-ai/ui/dialog.tsx create mode 100644 apps/migrant/components-ai/ui/dropdown-menu.tsx create mode 100644 apps/migrant/components-ai/ui/icons.tsx create mode 100644 apps/migrant/components-ai/ui/input.tsx create mode 100644 apps/migrant/components-ai/ui/label.tsx create mode 100644 apps/migrant/components-ai/ui/select.tsx create mode 100644 apps/migrant/components-ai/ui/separator.tsx create mode 100644 apps/migrant/components-ai/ui/sheet.tsx create mode 100644 apps/migrant/components-ai/ui/sonner.tsx create mode 100644 apps/migrant/components-ai/ui/switch.tsx create mode 100644 apps/migrant/components-ai/ui/textarea.tsx create mode 100644 apps/migrant/components-ai/ui/tooltip.tsx create mode 100644 apps/migrant/components-ai/user-menu.tsx create mode 100644 apps/migrant/components/LanguageChanger.tsx create mode 100644 apps/migrant/components/TranslationsProvider.tsx create mode 100644 apps/migrant/components/article/article.tsx create mode 100644 apps/migrant/components/article/card.tsx create mode 100644 apps/migrant/components/button-scroll-to-bottom.tsx create mode 100644 apps/migrant/components/chat-list.tsx create mode 100644 apps/migrant/components/chat-message-actions.tsx create mode 100644 apps/migrant/components/chat-message.tsx create mode 100644 apps/migrant/components/chat-model.tsx create mode 100644 apps/migrant/components/chat-panel.tsx create mode 100644 apps/migrant/components/chat-scroll-anchor.tsx create mode 100644 apps/migrant/components/chat-staff.tsx create mode 100644 apps/migrant/components/chat.tsx create mode 100644 apps/migrant/components/clear-history.tsx create mode 100644 apps/migrant/components/connect-button.tsx create mode 100644 apps/migrant/components/dashboard/api-key-table/index.tsx create mode 100644 apps/migrant/components/dashboard/api-key-table/table.tsx create mode 100644 apps/migrant/components/dashboard/charts.tsx create mode 100644 apps/migrant/components/dashboard/command-menu.tsx create mode 100644 apps/migrant/components/dashboard/confirm.tsx create mode 100644 apps/migrant/components/dashboard/copy-button.tsx create mode 100644 apps/migrant/components/dashboard/create-key-button.tsx create mode 100644 apps/migrant/components/dashboard/empty-placeholder.tsx create mode 100644 apps/migrant/components/dashboard/loading.tsx create mode 100644 apps/migrant/components/dashboard/navbar.tsx create mode 100644 apps/migrant/components/dashboard/page-header.tsx create mode 100644 apps/migrant/components/dashboard/root-key-table/index.tsx create mode 100644 apps/migrant/components/dashboard/root-key-table/table.tsx create mode 100644 apps/migrant/components/dashboard/text.tsx create mode 100644 apps/migrant/components/dashboard/visible-button.tsx create mode 100644 apps/migrant/components/deploy-contract-button.tsx create mode 100644 apps/migrant/components/deploy-frontend-button.tsx create mode 100644 apps/migrant/components/external-link.tsx create mode 100644 apps/migrant/components/footer/footer-svgs.tsx create mode 100644 apps/migrant/components/footer/footer.tsx create mode 100644 apps/migrant/components/footer/social-media.tsx create mode 100644 apps/migrant/components/frame.tsx create mode 100644 apps/migrant/components/images/JellyAi.svg create mode 100644 apps/migrant/components/images/a.png create mode 100644 apps/migrant/components/images/ai_a.png create mode 100644 apps/migrant/components/images/ai_b.png create mode 100644 apps/migrant/components/images/ai_c.png create mode 100644 apps/migrant/components/images/ai_d.png create mode 100644 apps/migrant/components/images/ai_jelly_a.png create mode 100644 apps/migrant/components/images/ai_jelly_b.png create mode 100644 apps/migrant/components/images/ai_jelly_bg.png create mode 100644 apps/migrant/components/images/ai_jelly_c.png create mode 100644 apps/migrant/components/images/ai_jelly_d.png create mode 100644 apps/migrant/components/images/ai_staff.png create mode 100644 apps/migrant/components/images/ai_staff_bg.png create mode 100644 apps/migrant/components/images/b.png create mode 100644 apps/migrant/components/images/c.png create mode 100644 apps/migrant/components/images/d.png create mode 100644 apps/migrant/components/images/favicon.ico create mode 100644 apps/migrant/components/images/favicon.png create mode 100644 apps/migrant/components/images/jellai.png create mode 100644 apps/migrant/components/images/jellydrops.png create mode 100644 apps/migrant/components/images/kefu.png create mode 100644 apps/migrant/components/images/lipread.png create mode 100644 apps/migrant/components/images/login_user.png create mode 100644 apps/migrant/components/images/natural.png create mode 100644 apps/migrant/components/images/q.png create mode 100644 apps/migrant/components/images/show.png create mode 100644 apps/migrant/components/images/signlang.png create mode 100644 apps/migrant/components/images/sub.png create mode 100644 apps/migrant/components/images/user.png create mode 100644 apps/migrant/components/images/voice.png create mode 100644 apps/migrant/components/landing.tsx create mode 100644 apps/migrant/components/landing/animated-list.tsx create mode 100644 apps/migrant/components/landing/border.tsx create mode 100644 apps/migrant/components/landing/container.tsx create mode 100644 apps/migrant/components/landing/fade-in.tsx create mode 100644 apps/migrant/components/landing/loading.tsx create mode 100644 apps/migrant/components/landing/mdx-content.tsx create mode 100644 apps/migrant/components/landing/newsletter.tsx create mode 100644 apps/migrant/components/login-button.tsx create mode 100644 apps/migrant/components/markdown.tsx create mode 100644 apps/migrant/components/mdx-content.tsx create mode 100644 apps/migrant/components/mpv2/chat-messages.tsx create mode 100644 apps/migrant/components/mpv2/chat-panel.tsx create mode 100644 apps/migrant/components/mpv2/chat.tsx create mode 100644 apps/migrant/components/mpv2/copilot.tsx create mode 100644 apps/migrant/components/mpv2/empty-screen.tsx create mode 100644 apps/migrant/components/mpv2/followup-panel.tsx create mode 100644 apps/migrant/components/mpv2/footer.tsx create mode 100644 apps/migrant/components/mpv2/header.tsx create mode 100644 apps/migrant/components/mpv2/message.tsx create mode 100644 apps/migrant/components/mpv2/mode-toggle.tsx create mode 100644 apps/migrant/components/mpv2/search-related.tsx create mode 100644 apps/migrant/components/mpv2/search-results-image.tsx create mode 100644 apps/migrant/components/mpv2/search-results.tsx create mode 100644 apps/migrant/components/mpv2/search-skeleton.tsx create mode 100644 apps/migrant/components/mpv2/section.tsx create mode 100644 apps/migrant/components/mpv2/theme-provider.tsx create mode 100644 apps/migrant/components/mpv2/tool-badge.tsx create mode 100644 apps/migrant/components/mpv2/user-message.tsx create mode 100644 apps/migrant/components/navbar/header.tsx create mode 100644 apps/migrant/components/navbar/link.tsx create mode 100644 apps/migrant/components/navbar/navigation.tsx create mode 100644 apps/migrant/components/particles.tsx create mode 100644 apps/migrant/components/prompt-form.tsx create mode 100644 apps/migrant/components/prompt-index.tsx create mode 100644 apps/migrant/components/providers/ui-providers.tsx create mode 100644 apps/migrant/components/providers/web3-provider.tsx create mode 100644 apps/migrant/components/settings-drop-down.tsx create mode 100644 apps/migrant/components/shiny-card.tsx create mode 100644 apps/migrant/components/sidebar-actions.tsx create mode 100644 apps/migrant/components/sidebar-footer.tsx create mode 100644 apps/migrant/components/sidebar-item.tsx create mode 100644 apps/migrant/components/sidebar-list.tsx create mode 100644 apps/migrant/components/sidebar.tsx create mode 100644 apps/migrant/components/staffs/banner.tsx create mode 100644 apps/migrant/components/staffs/multi-select.tsx create mode 100644 apps/migrant/components/staffs/opt-in.tsx create mode 100644 apps/migrant/components/theme-toggle.tsx create mode 100644 apps/migrant/components/toaster.tsx create mode 100644 apps/migrant/components/ui-v2/avatar.tsx create mode 100644 apps/migrant/components/ui-v2/badge.tsx create mode 100644 apps/migrant/components/ui-v2/button.tsx create mode 100644 apps/migrant/components/ui-v2/card.tsx create mode 100644 apps/migrant/components/ui-v2/carousel.tsx create mode 100644 apps/migrant/components/ui-v2/checkbox.tsx create mode 100644 apps/migrant/components/ui-v2/dialog.tsx create mode 100644 apps/migrant/components/ui-v2/dropdown-menu.tsx create mode 100644 apps/migrant/components/ui-v2/icons.tsx create mode 100644 apps/migrant/components/ui-v2/input.tsx create mode 100644 apps/migrant/components/ui-v2/label.tsx create mode 100644 apps/migrant/components/ui-v2/markdown.tsx create mode 100644 apps/migrant/components/ui-v2/separator.tsx create mode 100644 apps/migrant/components/ui-v2/skeleton.tsx create mode 100644 apps/migrant/components/ui-v2/slider.tsx create mode 100644 apps/migrant/components/ui-v2/spinner.tsx create mode 100644 apps/migrant/components/ui-v2/switch.tsx create mode 100644 apps/migrant/components/ui-v2/textarea.tsx create mode 100644 apps/migrant/components/ui/alert-dialog.tsx create mode 100644 apps/migrant/components/ui/alert.tsx create mode 100644 apps/migrant/components/ui/avatar.tsx create mode 100644 apps/migrant/components/ui/badge.tsx create mode 100644 apps/migrant/components/ui/button.tsx create mode 100644 apps/migrant/components/ui/card.tsx create mode 100644 apps/migrant/components/ui/checkbox.tsx create mode 100644 apps/migrant/components/ui/code.tsx create mode 100644 apps/migrant/components/ui/codeblock.tsx create mode 100644 apps/migrant/components/ui/collapsible.tsx create mode 100644 apps/migrant/components/ui/command.tsx create mode 100644 apps/migrant/components/ui/dialog.tsx create mode 100644 apps/migrant/components/ui/drawer.tsx create mode 100644 apps/migrant/components/ui/dropdown-menu.tsx create mode 100644 apps/migrant/components/ui/flex.tsx create mode 100644 apps/migrant/components/ui/form.tsx create mode 100644 apps/migrant/components/ui/icons.tsx create mode 100644 apps/migrant/components/ui/index.module.scss create mode 100644 apps/migrant/components/ui/input.tsx create mode 100644 apps/migrant/components/ui/label.tsx create mode 100644 apps/migrant/components/ui/loading.tsx create mode 100644 apps/migrant/components/ui/scroll-area.tsx create mode 100644 apps/migrant/components/ui/select.tsx create mode 100644 apps/migrant/components/ui/separator.tsx create mode 100644 apps/migrant/components/ui/sheet.tsx create mode 100644 apps/migrant/components/ui/skeleton.tsx create mode 100644 apps/migrant/components/ui/switch.tsx create mode 100644 apps/migrant/components/ui/table.tsx create mode 100644 apps/migrant/components/ui/textarea.tsx create mode 100644 apps/migrant/components/ui/toaster.tsx create mode 100644 apps/migrant/components/ui/tooltip.tsx create mode 100644 apps/migrant/components/user-menu.tsx create mode 100644 apps/migrant/content/blog/authors.ts create mode 100644 apps/migrant/content/blog/building-authentic-comms.mdx create mode 100644 apps/migrant/content/blog/cli-auth.mdx create mode 100644 apps/migrant/content/blog/high-frequency-usage-billing.mdx create mode 100644 apps/migrant/content/blog/how-unkey-treats-marketing.mdx create mode 100644 apps/migrant/content/blog/how-we-ai.mdx create mode 100644 apps/migrant/content/blog/introducing-vercel-integration.mdx create mode 100644 apps/migrant/content/blog/ocr-service.mdx create mode 100644 apps/migrant/content/blog/secure-supabase-functions-using-unkey.mdx create mode 100644 apps/migrant/content/blog/unkey-raises-1-5-million.mdx create mode 100644 apps/migrant/content/blog/using-unkey-with-auth.mdx create mode 100644 apps/migrant/content/blog/uuid-ux.mdx create mode 100644 apps/migrant/content/blog/why-we-built-unkey.mdx create mode 100644 apps/migrant/content/changelog/2023-06-25.mdx create mode 100644 apps/migrant/content/changelog/2023-07-02.mdx create mode 100644 apps/migrant/content/changelog/2023-07-03.mdx create mode 100644 apps/migrant/content/changelog/2023-07-10.mdx create mode 100644 apps/migrant/content/changelog/2023-07-21.mdx create mode 100644 apps/migrant/content/changelog/2023-08-10.mdx create mode 100644 apps/migrant/content/changelog/2023-08-25.mdx create mode 100644 apps/migrant/content/changelog/2023-09-08.mdx create mode 100644 apps/migrant/content/changelog/2023-09-29.mdx create mode 100644 apps/migrant/content/changelog/2023-11-03.mdx create mode 100644 apps/migrant/content/changelog/2023-12-01.mdx create mode 100644 apps/migrant/content/changelog/2023-12-15.mdx create mode 100644 apps/migrant/content/changelog/2024-01-05.mdx create mode 100644 apps/migrant/content/changelog/2024-01-19.mdx create mode 100644 apps/migrant/content/changelog/2024-02-16.mdx create mode 100644 apps/migrant/content/jobs/software-engineer.mdx create mode 100644 apps/migrant/content/policies/privacy.mdx create mode 100644 apps/migrant/content/policies/terms.mdx create mode 100644 apps/migrant/docs/btc.md create mode 100644 apps/migrant/fonts/Inter-Bold.woff create mode 100644 apps/migrant/fonts/Inter-Regular.woff create mode 100644 apps/migrant/i18nConfig.ts create mode 100644 apps/migrant/info.welcome_email.html create mode 100644 apps/migrant/lib/agents/index.tsx create mode 100644 apps/migrant/lib/agents/inquire.tsx create mode 100644 apps/migrant/lib/agents/query-suggestor.tsx create mode 100644 apps/migrant/lib/agents/researcher.tsx create mode 100644 apps/migrant/lib/agents/task-manager.tsx create mode 100644 apps/migrant/lib/analytics.ts create mode 100644 apps/migrant/lib/auth.ts create mode 100644 apps/migrant/lib/chains-all.json create mode 100644 apps/migrant/lib/chains.json create mode 100644 apps/migrant/lib/chat/actions.tsx create mode 100644 apps/migrant/lib/constants.ts create mode 100644 apps/migrant/lib/fmt.ts create mode 100644 apps/migrant/lib/fonts.ts create mode 100644 apps/migrant/lib/functions/deploy-contract/compile-contract.ts create mode 100644 apps/migrant/lib/functions/deploy-contract/deploy-contract.ts create mode 100644 apps/migrant/lib/functions/deploy-contract/handle-imports.ts create mode 100644 apps/migrant/lib/functions/deploy-contract/ipfs-upload.ts create mode 100644 apps/migrant/lib/functions/deploy-contract/verify-contract.ts create mode 100644 apps/migrant/lib/functions/deploy-contract/wallet-deploy.ts create mode 100644 apps/migrant/lib/functions/schemas.ts create mode 100644 apps/migrant/lib/functions/types.ts create mode 100644 apps/migrant/lib/hooks/shared/call-chat-api.ts create mode 100644 apps/migrant/lib/hooks/shared/call-completion-api.ts create mode 100644 apps/migrant/lib/hooks/shared/generate-id.ts create mode 100644 apps/migrant/lib/hooks/shared/parse-complex-response.ts create mode 100644 apps/migrant/lib/hooks/shared/process-chat-stream.ts create mode 100644 apps/migrant/lib/hooks/shared/read-data-stream.ts create mode 100644 apps/migrant/lib/hooks/shared/stream-data.ts create mode 100644 apps/migrant/lib/hooks/shared/stream-parts.ts create mode 100644 apps/migrant/lib/hooks/shared/streaming-react-response.ts create mode 100644 apps/migrant/lib/hooks/shared/types.ts create mode 100644 apps/migrant/lib/hooks/shared/utils.ts create mode 100644 apps/migrant/lib/hooks/use-at-bottom.tsx create mode 100644 apps/migrant/lib/hooks/use-chat.ts create mode 100644 apps/migrant/lib/hooks/use-copy-to-clipboard.tsx create mode 100644 apps/migrant/lib/hooks/use-enter-submit.tsx create mode 100644 apps/migrant/lib/hooks/use-isdk_b.ts create mode 100644 apps/migrant/lib/hooks/use-local-storage.ts create mode 100644 apps/migrant/lib/hooks/use-scroll-anchor.tsx create mode 100644 apps/migrant/lib/hooks/use-sidebar.tsx create mode 100644 apps/migrant/lib/hooks/use-streamable-text.ts create mode 100644 apps/migrant/lib/hooks/use-w3gpt-deploy.tsx create mode 100644 apps/migrant/lib/http/README.md create mode 100644 apps/migrant/lib/http/axios_config.ts create mode 100644 apps/migrant/lib/http/service.ts create mode 100644 apps/migrant/lib/http/staff/data.d.ts create mode 100644 apps/migrant/lib/http/staff/index.ts create mode 100644 apps/migrant/lib/http/staff/service.ts create mode 100644 apps/migrant/lib/is-client-context.tsx create mode 100644 apps/migrant/lib/isdk/shared/call-chat-api.ts create mode 100644 apps/migrant/lib/isdk/shared/call-completion-api.ts create mode 100644 apps/migrant/lib/isdk/shared/generate-id.ts create mode 100644 apps/migrant/lib/isdk/shared/parse-complex-response.ts create mode 100644 apps/migrant/lib/isdk/shared/process-chat-stream.ts create mode 100644 apps/migrant/lib/isdk/shared/read-data-stream.ts create mode 100644 apps/migrant/lib/isdk/shared/stream-data.ts create mode 100644 apps/migrant/lib/isdk/shared/stream-parts.ts create mode 100644 apps/migrant/lib/isdk/shared/streaming-react-response.ts create mode 100644 apps/migrant/lib/isdk/shared/types.ts create mode 100644 apps/migrant/lib/isdk/shared/utils.ts create mode 100644 apps/migrant/lib/isdk/use-isdk.ts create mode 100644 apps/migrant/lib/mdx-helper.ts create mode 100644 apps/migrant/lib/metadata.ts create mode 100644 apps/migrant/lib/mouse.tsx create mode 100644 apps/migrant/lib/schema/inquiry.tsx create mode 100644 apps/migrant/lib/schema/next-action.tsx create mode 100644 apps/migrant/lib/schema/related.tsx create mode 100644 apps/migrant/lib/schema/search.tsx create mode 100644 apps/migrant/lib/types.ts create mode 100644 apps/migrant/lib/utils.ts create mode 100644 apps/migrant/lib/viem-utils.ts create mode 100644 apps/migrant/locales/en/common.json create mode 100644 apps/migrant/locales/en/home.json create mode 100644 apps/migrant/locales/zh-CN/common.json create mode 100644 apps/migrant/locales/zh-CN/home.json create mode 100644 apps/migrant/middleware.ts create mode 100644 apps/migrant/next-env.d.ts create mode 100644 apps/migrant/next-i18next.config.js create mode 100644 apps/migrant/next.config.js create mode 100644 apps/migrant/package.json create mode 100644 apps/migrant/postcss.config.js create mode 100644 apps/migrant/prettier.config.cjs create mode 100644 apps/migrant/public/.well-known/walletconnect.txt create mode 100644 apps/migrant/public/favicon.ico create mode 100644 apps/migrant/public/favicon.png create mode 100644 apps/migrant/public/lotties/clock.json create mode 100644 apps/migrant/public/lotties/globe.json create mode 100644 apps/migrant/public/lotties/puzzle.json create mode 100644 apps/migrant/public/mantle-logo.jpeg create mode 100644 apps/migrant/public/w3gpt-logo-beta.svg create mode 100644 apps/migrant/public/w3gpt-logo.svg create mode 100644 apps/migrant/public/welcome_email.html create mode 100644 apps/migrant/public/welcome_email_cn.html create mode 100644 apps/migrant/public/路径@1x.png create mode 100644 apps/migrant/tailwind.config.js create mode 100644 apps/migrant/tsconfig.json create mode 100644 apps/migrant/vercel.json create mode 100644 apps/migrant/welcome_email_tmp.html create mode 100644 apps/staffai/.env.example create mode 100644 apps/staffai/.eslintrc.json create mode 100644 apps/staffai/.gitignore create mode 100644 apps/staffai/1.log create mode 100644 apps/staffai/AI员工商户和管理端接口.md create mode 100644 apps/staffai/CHANGELOG.md create mode 100644 apps/staffai/LICENSE create mode 100644 apps/staffai/README.md create mode 100644 apps/staffai/app/[locale]/auth/banners.tsx create mode 100644 apps/staffai/app/[locale]/auth/layout.tsx create mode 100644 apps/staffai/app/[locale]/auth/oauth-button.tsx create mode 100644 apps/staffai/app/[locale]/auth/sign-in/[[...sign-in]]/page.tsx create mode 100644 apps/staffai/app/[locale]/auth/sign-in/email-code.tsx create mode 100644 apps/staffai/app/[locale]/auth/sign-in/email-signin.tsx create mode 100644 apps/staffai/app/[locale]/auth/sign-in/oauth-signin.tsx create mode 100644 apps/staffai/app/[locale]/auth/sign-up/[[...sign-up]]/page.tsx create mode 100644 apps/staffai/app/[locale]/auth/sign-up/email-code.tsx create mode 100644 apps/staffai/app/[locale]/auth/sign-up/email-signup.tsx create mode 100644 apps/staffai/app/[locale]/auth/sign-up/oauth-signup.tsx create mode 100644 apps/staffai/app/[locale]/auth/sso-callback/[[...sso-callback]]/page.tsx create mode 100644 apps/staffai/app/[locale]/chat/[id]/page.tsx create mode 100644 apps/staffai/app/[locale]/chatbot/chat/[id]/page.tsx create mode 100644 apps/staffai/app/[locale]/chatbot/layout.tsx create mode 100644 apps/staffai/app/[locale]/chatbot/page.tsx create mode 100644 apps/staffai/app/[locale]/jelly/page.tsx create mode 100644 apps/staffai/app/[locale]/layout.tsx create mode 100644 apps/staffai/app/[locale]/manage/[...not-found]/page.tsx create mode 100644 apps/staffai/app/[locale]/manage/analysis/page.tsx create mode 100644 apps/staffai/app/[locale]/manage/authorization/layout.tsx create mode 100644 apps/staffai/app/[locale]/manage/authorization/permissions/[permissionId]/client.tsx create mode 100644 apps/staffai/app/[locale]/manage/authorization/permissions/[permissionId]/delete-permission.tsx create mode 100644 apps/staffai/app/[locale]/manage/authorization/permissions/[permissionId]/page.tsx create mode 100644 apps/staffai/app/[locale]/manage/authorization/permissions/create-new-permission.tsx create mode 100644 apps/staffai/app/[locale]/manage/authorization/permissions/page.tsx create mode 100644 apps/staffai/app/[locale]/manage/authorization/roles/[roleId]/delete-role.tsx create mode 100644 apps/staffai/app/[locale]/manage/authorization/roles/[roleId]/page.tsx create mode 100644 apps/staffai/app/[locale]/manage/authorization/roles/[roleId]/permission-toggle.tsx create mode 100644 apps/staffai/app/[locale]/manage/authorization/roles/[roleId]/tree.tsx create mode 100644 apps/staffai/app/[locale]/manage/authorization/roles/[roleId]/update-role.tsx create mode 100644 apps/staffai/app/[locale]/manage/authorization/roles/create-new-role.tsx create mode 100644 apps/staffai/app/[locale]/manage/authorization/roles/page.tsx create mode 100644 apps/staffai/app/[locale]/manage/billing/lists.tsx create mode 100644 apps/staffai/app/[locale]/manage/billing/page.tsx create mode 100644 apps/staffai/app/[locale]/manage/billing/success/page.tsx create mode 100644 apps/staffai/app/[locale]/manage/desktop-sidebar.tsx create mode 100644 apps/staffai/app/[locale]/manage/layout.tsx create mode 100644 apps/staffai/app/[locale]/manage/mobile-sidebar.tsx create mode 100644 apps/staffai/app/[locale]/manage/new/create-api.tsx create mode 100644 apps/staffai/app/[locale]/manage/new/create-form.tsx create mode 100644 apps/staffai/app/[locale]/manage/new/create-workspace.tsx create mode 100644 apps/staffai/app/[locale]/manage/new/keys.tsx create mode 100644 apps/staffai/app/[locale]/manage/new/layout.tsx create mode 100644 apps/staffai/app/[locale]/manage/new/page.tsx create mode 100644 apps/staffai/app/[locale]/manage/overview/page.tsx create mode 100644 apps/staffai/app/[locale]/manage/page.tsx create mode 100644 apps/staffai/app/[locale]/manage/plans/button.tsx create mode 100644 apps/staffai/app/[locale]/manage/plans/card.tsx create mode 100644 apps/staffai/app/[locale]/manage/plans/page.tsx create mode 100644 apps/staffai/app/[locale]/manage/repository/layout.tsx create mode 100644 apps/staffai/app/[locale]/manage/repository/lists.tsx create mode 100644 apps/staffai/app/[locale]/manage/repository/loading.tsx create mode 100644 apps/staffai/app/[locale]/manage/repository/new/page.tsx create mode 100644 apps/staffai/app/[locale]/manage/repository/new/update-user-image.tsx create mode 100644 apps/staffai/app/[locale]/manage/repository/new/update-workspace-image.tsx create mode 100644 apps/staffai/app/[locale]/manage/repository/new/update-workspace-name.tsx create mode 100644 apps/staffai/app/[locale]/manage/repository/new/update-workspace.tsx create mode 100644 apps/staffai/app/[locale]/manage/repository/new/upload-workspace.tsx create mode 100644 apps/staffai/app/[locale]/manage/repository/page.tsx create mode 100644 apps/staffai/app/[locale]/manage/staffs/[staffId]/item.tsx create mode 100644 apps/staffai/app/[locale]/manage/staffs/[staffId]/layout.tsx create mode 100644 apps/staffai/app/[locale]/manage/staffs/[staffId]/loading.tsx create mode 100644 apps/staffai/app/[locale]/manage/staffs/[staffId]/page.tsx create mode 100644 apps/staffai/app/[locale]/manage/staffs/[staffId]/select.tsx create mode 100644 apps/staffai/app/[locale]/manage/staffs/[staffId]/settings/actions.ts create mode 100644 apps/staffai/app/[locale]/manage/staffs/[staffId]/settings/delete-api.tsx create mode 100644 apps/staffai/app/[locale]/manage/staffs/[staffId]/settings/frozen-api.tsx create mode 100644 apps/staffai/app/[locale]/manage/staffs/[staffId]/settings/page.tsx create mode 100644 apps/staffai/app/[locale]/manage/staffs/[staffId]/settings/update-api-name.tsx create mode 100644 apps/staffai/app/[locale]/manage/staffs/[staffId]/settings/update-api.tsx create mode 100644 apps/staffai/app/[locale]/manage/staffs/[staffId]/settings/update-form.tsx create mode 100644 apps/staffai/app/[locale]/manage/staffs/[staffId]/settings/update-ip-whitelist.tsx create mode 100644 apps/staffai/app/[locale]/manage/staffs/client.tsx create mode 100644 apps/staffai/app/[locale]/manage/staffs/create-api-button.tsx create mode 100644 apps/staffai/app/[locale]/manage/staffs/loading.tsx create mode 100644 apps/staffai/app/[locale]/manage/staffs/page.tsx create mode 100644 apps/staffai/app/[locale]/manage/team-switcher.tsx create mode 100644 apps/staffai/app/[locale]/manage/user-button.tsx create mode 100644 apps/staffai/app/[locale]/morphic/action.tsx create mode 100644 apps/staffai/app/[locale]/morphic/layout.tsx create mode 100644 apps/staffai/app/[locale]/morphic/page.tsx create mode 100644 apps/staffai/app/[locale]/not-found.tsx create mode 100644 apps/staffai/app/[locale]/page.tsx create mode 100644 apps/staffai/app/[locale]/pay/create-api.tsx create mode 100644 apps/staffai/app/[locale]/pay/create-workspace.tsx create mode 100644 apps/staffai/app/[locale]/pay/keys.tsx create mode 100644 apps/staffai/app/[locale]/pay/layout.tsx create mode 100644 apps/staffai/app/[locale]/pay/page.tsx create mode 100644 apps/staffai/app/[locale]/preview/create-api.tsx create mode 100644 apps/staffai/app/[locale]/preview/create-workspace.tsx create mode 100644 apps/staffai/app/[locale]/preview/keys.tsx create mode 100644 apps/staffai/app/[locale]/preview/layout.tsx create mode 100644 apps/staffai/app/[locale]/preview/page.tsx create mode 100644 apps/staffai/app/[locale]/pricing/components.tsx create mode 100644 apps/staffai/app/[locale]/pricing/discover.tsx create mode 100644 apps/staffai/app/[locale]/pricing/hero-svgs.tsx create mode 100644 apps/staffai/app/[locale]/pricing/page.tsx create mode 100644 apps/staffai/app/[locale]/pricing/svgs.tsx create mode 100644 apps/staffai/app/[locale]/sdk/page.tsx create mode 100644 apps/staffai/app/[locale]/share/[id]/opengraph-image.tsx create mode 100644 apps/staffai/app/[locale]/share/[id]/page.tsx create mode 100644 apps/staffai/app/[locale]/staff/page.tsx create mode 100644 apps/staffai/app/actions.ts create mode 100644 apps/staffai/app/api/auth/[...nextauth]/route.ts create mode 100644 apps/staffai/app/api/chat/route.ts create mode 100644 apps/staffai/app/api/compile-contract/route.ts create mode 100644 apps/staffai/app/api/deploy-contract/route.ts create mode 100644 apps/staffai/app/api/ipfs-upload/route.ts create mode 100644 apps/staffai/app/api/text-to-image/route.ts create mode 100644 apps/staffai/app/api/verify-contract/route.ts create mode 100644 apps/staffai/app/globals.css create mode 100644 apps/staffai/app/i18n.ts create mode 100644 apps/staffai/app/section-title.tsx create mode 100644 apps/staffai/app/sitemap.ts create mode 100644 apps/staffai/app/staffai/[staffId]/create-api.tsx create mode 100644 apps/staffai/app/staffai/[staffId]/create-workspace.tsx create mode 100644 apps/staffai/app/staffai/[staffId]/keys.tsx create mode 100644 apps/staffai/app/staffai/[staffId]/page.tsx create mode 100644 apps/staffai/app/staffai/layout.tsx create mode 100644 apps/staffai/app/staffai/page.tsx create mode 100644 apps/staffai/app/state/global-store.tsx create mode 100644 apps/staffai/app/xauth/layout.tsx create mode 100644 apps/staffai/app/xauth/login/actions.ts create mode 100644 apps/staffai/app/xauth/login/page.tsx create mode 100644 apps/staffai/app/xauth/signup/actions.ts create mode 100644 apps/staffai/app/xauth/signup/page.tsx create mode 100644 apps/staffai/assets/fonts/Inter-Bold.woff create mode 100644 apps/staffai/assets/fonts/Inter-Regular.woff create mode 100644 apps/staffai/assets/images/opengraph-image.png create mode 100644 apps/staffai/assets/images/twitter-image.png create mode 100644 apps/staffai/auth.config.ts create mode 100644 apps/staffai/auth.ts create mode 100644 apps/staffai/bun.lockb create mode 100644 apps/staffai/components-ai/button-scroll-to-bottom.tsx create mode 100644 apps/staffai/components-ai/chat-history.tsx create mode 100644 apps/staffai/components-ai/chat-list.tsx create mode 100644 apps/staffai/components-ai/chat-message-actions.tsx create mode 100644 apps/staffai/components-ai/chat-message.tsx create mode 100644 apps/staffai/components-ai/chat-panel.tsx create mode 100644 apps/staffai/components-ai/chat-share-dialog.tsx create mode 100644 apps/staffai/components-ai/chat.tsx create mode 100644 apps/staffai/components-ai/clear-history.tsx create mode 100644 apps/staffai/components-ai/empty-screen.tsx create mode 100644 apps/staffai/components-ai/external-link.tsx create mode 100644 apps/staffai/components-ai/footer.tsx create mode 100644 apps/staffai/components-ai/header.tsx create mode 100644 apps/staffai/components-ai/login-button.tsx create mode 100644 apps/staffai/components-ai/login-form.tsx create mode 100644 apps/staffai/components-ai/markdown.tsx create mode 100644 apps/staffai/components-ai/prompt-form.tsx create mode 100644 apps/staffai/components-ai/providers.tsx create mode 100644 apps/staffai/components-ai/sidebar-actions.tsx create mode 100644 apps/staffai/components-ai/sidebar-desktop.tsx create mode 100644 apps/staffai/components-ai/sidebar-footer.tsx create mode 100644 apps/staffai/components-ai/sidebar-item.tsx create mode 100644 apps/staffai/components-ai/sidebar-items.tsx create mode 100644 apps/staffai/components-ai/sidebar-list.tsx create mode 100644 apps/staffai/components-ai/sidebar-mobile.tsx create mode 100644 apps/staffai/components-ai/sidebar-toggle.tsx create mode 100644 apps/staffai/components-ai/sidebar.tsx create mode 100644 apps/staffai/components-ai/signup-form.tsx create mode 100644 apps/staffai/components-ai/stocks/events-skeleton.tsx create mode 100644 apps/staffai/components-ai/stocks/events.tsx create mode 100644 apps/staffai/components-ai/stocks/index.tsx create mode 100644 apps/staffai/components-ai/stocks/message.tsx create mode 100644 apps/staffai/components-ai/stocks/spinner.tsx create mode 100644 apps/staffai/components-ai/stocks/stock-purchase.tsx create mode 100644 apps/staffai/components-ai/stocks/stock-skeleton.tsx create mode 100644 apps/staffai/components-ai/stocks/stock.tsx create mode 100644 apps/staffai/components-ai/stocks/stocks-skeleton.tsx create mode 100644 apps/staffai/components-ai/stocks/stocks.tsx create mode 100644 apps/staffai/components-ai/tailwind-indicator.tsx create mode 100644 apps/staffai/components-ai/theme-toggle.tsx create mode 100644 apps/staffai/components-ai/ui/alert-dialog.tsx create mode 100644 apps/staffai/components-ai/ui/badge.tsx create mode 100644 apps/staffai/components-ai/ui/button.tsx create mode 100644 apps/staffai/components-ai/ui/codeblock.tsx create mode 100644 apps/staffai/components-ai/ui/dialog.tsx create mode 100644 apps/staffai/components-ai/ui/dropdown-menu.tsx create mode 100644 apps/staffai/components-ai/ui/icons.tsx create mode 100644 apps/staffai/components-ai/ui/input.tsx create mode 100644 apps/staffai/components-ai/ui/label.tsx create mode 100644 apps/staffai/components-ai/ui/select.tsx create mode 100644 apps/staffai/components-ai/ui/separator.tsx create mode 100644 apps/staffai/components-ai/ui/sheet.tsx create mode 100644 apps/staffai/components-ai/ui/sonner.tsx create mode 100644 apps/staffai/components-ai/ui/switch.tsx create mode 100644 apps/staffai/components-ai/ui/textarea.tsx create mode 100644 apps/staffai/components-ai/ui/tooltip.tsx create mode 100644 apps/staffai/components-ai/user-menu.tsx create mode 100644 apps/staffai/components/LanguageChanger.tsx create mode 100644 apps/staffai/components/TranslationsProvider.tsx create mode 100644 apps/staffai/components/article/article.tsx create mode 100644 apps/staffai/components/article/card.tsx create mode 100644 apps/staffai/components/button-scroll-to-bottom.tsx create mode 100644 apps/staffai/components/chat-list.tsx create mode 100644 apps/staffai/components/chat-message-actions.tsx create mode 100644 apps/staffai/components/chat-message.tsx create mode 100644 apps/staffai/components/chat-model.tsx create mode 100644 apps/staffai/components/chat-panel.tsx create mode 100644 apps/staffai/components/chat-scroll-anchor.tsx create mode 100644 apps/staffai/components/chat-staff.tsx create mode 100644 apps/staffai/components/chat.tsx create mode 100644 apps/staffai/components/clear-history.tsx create mode 100644 apps/staffai/components/connect-button.tsx create mode 100644 apps/staffai/components/dashboard/api-key-table/index.tsx create mode 100644 apps/staffai/components/dashboard/api-key-table/table.tsx create mode 100644 apps/staffai/components/dashboard/charts.tsx create mode 100644 apps/staffai/components/dashboard/command-menu.tsx create mode 100644 apps/staffai/components/dashboard/confirm.tsx create mode 100644 apps/staffai/components/dashboard/copy-button.tsx create mode 100644 apps/staffai/components/dashboard/create-key-button.tsx create mode 100644 apps/staffai/components/dashboard/empty-placeholder.tsx create mode 100644 apps/staffai/components/dashboard/loading.tsx create mode 100644 apps/staffai/components/dashboard/navbar.tsx create mode 100644 apps/staffai/components/dashboard/page-header.tsx create mode 100644 apps/staffai/components/dashboard/root-key-table/index.tsx create mode 100644 apps/staffai/components/dashboard/root-key-table/table.tsx create mode 100644 apps/staffai/components/dashboard/text.tsx create mode 100644 apps/staffai/components/dashboard/visible-button.tsx create mode 100644 apps/staffai/components/deploy-contract-button.tsx create mode 100644 apps/staffai/components/deploy-frontend-button.tsx create mode 100644 apps/staffai/components/external-link.tsx create mode 100644 apps/staffai/components/footer/footer-svgs.tsx create mode 100644 apps/staffai/components/footer/footer.tsx create mode 100644 apps/staffai/components/footer/social-media.tsx create mode 100644 apps/staffai/components/frame.tsx create mode 100644 apps/staffai/components/images/JellyAi.svg create mode 100644 apps/staffai/components/images/a.png create mode 100644 apps/staffai/components/images/ai_a.png create mode 100644 apps/staffai/components/images/ai_b.png create mode 100644 apps/staffai/components/images/ai_c.png create mode 100644 apps/staffai/components/images/ai_d.png create mode 100644 apps/staffai/components/images/ai_e.png create mode 100644 apps/staffai/components/images/ai_jelly_a.png create mode 100644 apps/staffai/components/images/ai_jelly_b.png create mode 100644 apps/staffai/components/images/ai_jelly_bg.png create mode 100644 apps/staffai/components/images/ai_jelly_c.png create mode 100644 apps/staffai/components/images/ai_jelly_d.png create mode 100644 apps/staffai/components/images/ai_staff.png create mode 100644 apps/staffai/components/images/ai_staff_bg.png create mode 100644 apps/staffai/components/images/b.png create mode 100644 apps/staffai/components/images/c.png create mode 100644 apps/staffai/components/images/d.png create mode 100644 apps/staffai/components/images/favicon.ico create mode 100644 apps/staffai/components/images/favicon.png create mode 100644 apps/staffai/components/images/jellai.png create mode 100644 apps/staffai/components/images/jellydrops.png create mode 100644 apps/staffai/components/images/lipread.png create mode 100644 apps/staffai/components/images/login_user.png create mode 100644 apps/staffai/components/images/logo.png create mode 100644 apps/staffai/components/images/natural.png create mode 100644 apps/staffai/components/images/q.png create mode 100644 apps/staffai/components/images/show.png create mode 100644 apps/staffai/components/images/signlang.png create mode 100644 apps/staffai/components/images/sub.png create mode 100644 apps/staffai/components/images/user.png create mode 100644 apps/staffai/components/images/voice.png create mode 100644 apps/staffai/components/landing.tsx create mode 100644 apps/staffai/components/landing/animated-list.tsx create mode 100644 apps/staffai/components/landing/border.tsx create mode 100644 apps/staffai/components/landing/container.tsx create mode 100644 apps/staffai/components/landing/fade-in.tsx create mode 100644 apps/staffai/components/landing/loading.tsx create mode 100644 apps/staffai/components/landing/mdx-content.tsx create mode 100644 apps/staffai/components/landing/newsletter.tsx create mode 100644 apps/staffai/components/login-button.tsx create mode 100644 apps/staffai/components/markdown.tsx create mode 100644 apps/staffai/components/mdx-content.tsx create mode 100644 apps/staffai/components/mpv2/chat-messages.tsx create mode 100644 apps/staffai/components/mpv2/chat-panel.tsx create mode 100644 apps/staffai/components/mpv2/chat.tsx create mode 100644 apps/staffai/components/mpv2/copilot.tsx create mode 100644 apps/staffai/components/mpv2/empty-screen.tsx create mode 100644 apps/staffai/components/mpv2/followup-panel.tsx create mode 100644 apps/staffai/components/mpv2/footer.tsx create mode 100644 apps/staffai/components/mpv2/header.tsx create mode 100644 apps/staffai/components/mpv2/message.tsx create mode 100644 apps/staffai/components/mpv2/mode-toggle.tsx create mode 100644 apps/staffai/components/mpv2/search-related.tsx create mode 100644 apps/staffai/components/mpv2/search-results-image.tsx create mode 100644 apps/staffai/components/mpv2/search-results.tsx create mode 100644 apps/staffai/components/mpv2/search-skeleton.tsx create mode 100644 apps/staffai/components/mpv2/section.tsx create mode 100644 apps/staffai/components/mpv2/theme-provider.tsx create mode 100644 apps/staffai/components/mpv2/tool-badge.tsx create mode 100644 apps/staffai/components/mpv2/user-message.tsx create mode 100644 apps/staffai/components/navbar/header.tsx create mode 100644 apps/staffai/components/navbar/link.tsx create mode 100644 apps/staffai/components/navbar/navigation.tsx create mode 100644 apps/staffai/components/particles.tsx create mode 100644 apps/staffai/components/prompt-form.tsx create mode 100644 apps/staffai/components/prompt-index.tsx create mode 100644 apps/staffai/components/providers/ui-providers.tsx create mode 100644 apps/staffai/components/providers/web3-provider.tsx create mode 100644 apps/staffai/components/settings-drop-down.tsx create mode 100644 apps/staffai/components/shiny-card.tsx create mode 100644 apps/staffai/components/sidebar-actions.tsx create mode 100644 apps/staffai/components/sidebar-footer.tsx create mode 100644 apps/staffai/components/sidebar-item.tsx create mode 100644 apps/staffai/components/sidebar-list.tsx create mode 100644 apps/staffai/components/sidebar.tsx create mode 100644 apps/staffai/components/staffs/banner.tsx create mode 100644 apps/staffai/components/staffs/multi-select.tsx create mode 100644 apps/staffai/components/staffs/opt-in.tsx create mode 100644 apps/staffai/components/theme-toggle.tsx create mode 100644 apps/staffai/components/toaster.tsx create mode 100644 apps/staffai/components/ui-v2/avatar.tsx create mode 100644 apps/staffai/components/ui-v2/badge.tsx create mode 100644 apps/staffai/components/ui-v2/button.tsx create mode 100644 apps/staffai/components/ui-v2/card.tsx create mode 100644 apps/staffai/components/ui-v2/carousel.tsx create mode 100644 apps/staffai/components/ui-v2/checkbox.tsx create mode 100644 apps/staffai/components/ui-v2/dialog.tsx create mode 100644 apps/staffai/components/ui-v2/dropdown-menu.tsx create mode 100644 apps/staffai/components/ui-v2/icons.tsx create mode 100644 apps/staffai/components/ui-v2/input.tsx create mode 100644 apps/staffai/components/ui-v2/label.tsx create mode 100644 apps/staffai/components/ui-v2/markdown.tsx create mode 100644 apps/staffai/components/ui-v2/separator.tsx create mode 100644 apps/staffai/components/ui-v2/skeleton.tsx create mode 100644 apps/staffai/components/ui-v2/slider.tsx create mode 100644 apps/staffai/components/ui-v2/spinner.tsx create mode 100644 apps/staffai/components/ui-v2/switch.tsx create mode 100644 apps/staffai/components/ui-v2/textarea.tsx create mode 100644 apps/staffai/components/ui/alert-dialog.tsx create mode 100644 apps/staffai/components/ui/alert.tsx create mode 100644 apps/staffai/components/ui/avatar.tsx create mode 100644 apps/staffai/components/ui/badge.tsx create mode 100644 apps/staffai/components/ui/button.tsx create mode 100644 apps/staffai/components/ui/card.tsx create mode 100644 apps/staffai/components/ui/checkbox.tsx create mode 100644 apps/staffai/components/ui/code.tsx create mode 100644 apps/staffai/components/ui/codeblock.tsx create mode 100644 apps/staffai/components/ui/collapsible.tsx create mode 100644 apps/staffai/components/ui/command.tsx create mode 100644 apps/staffai/components/ui/dialog.tsx create mode 100644 apps/staffai/components/ui/drawer.tsx create mode 100644 apps/staffai/components/ui/dropdown-menu.tsx create mode 100644 apps/staffai/components/ui/flex.tsx create mode 100644 apps/staffai/components/ui/form.tsx create mode 100644 apps/staffai/components/ui/icons.tsx create mode 100644 apps/staffai/components/ui/index.module.scss create mode 100644 apps/staffai/components/ui/input.tsx create mode 100644 apps/staffai/components/ui/label.tsx create mode 100644 apps/staffai/components/ui/loading.tsx create mode 100644 apps/staffai/components/ui/scroll-area.tsx create mode 100644 apps/staffai/components/ui/select.tsx create mode 100644 apps/staffai/components/ui/separator.tsx create mode 100644 apps/staffai/components/ui/sheet.tsx create mode 100644 apps/staffai/components/ui/skeleton.tsx create mode 100644 apps/staffai/components/ui/switch.tsx create mode 100644 apps/staffai/components/ui/table.tsx create mode 100644 apps/staffai/components/ui/textarea.tsx create mode 100644 apps/staffai/components/ui/toaster.tsx create mode 100644 apps/staffai/components/ui/tooltip.tsx create mode 100644 apps/staffai/components/user-menu.tsx create mode 100644 apps/staffai/content/blog/authors.ts create mode 100644 apps/staffai/content/blog/building-authentic-comms.mdx create mode 100644 apps/staffai/content/blog/cli-auth.mdx create mode 100644 apps/staffai/content/blog/high-frequency-usage-billing.mdx create mode 100644 apps/staffai/content/blog/how-unkey-treats-marketing.mdx create mode 100644 apps/staffai/content/blog/how-we-ai.mdx create mode 100644 apps/staffai/content/blog/introducing-vercel-integration.mdx create mode 100644 apps/staffai/content/blog/ocr-service.mdx create mode 100644 apps/staffai/content/blog/secure-supabase-functions-using-unkey.mdx create mode 100644 apps/staffai/content/blog/unkey-raises-1-5-million.mdx create mode 100644 apps/staffai/content/blog/using-unkey-with-auth.mdx create mode 100644 apps/staffai/content/blog/uuid-ux.mdx create mode 100644 apps/staffai/content/blog/why-we-built-unkey.mdx create mode 100644 apps/staffai/content/changelog/2023-06-25.mdx create mode 100644 apps/staffai/content/changelog/2023-07-02.mdx create mode 100644 apps/staffai/content/changelog/2023-07-03.mdx create mode 100644 apps/staffai/content/changelog/2023-07-10.mdx create mode 100644 apps/staffai/content/changelog/2023-07-21.mdx create mode 100644 apps/staffai/content/changelog/2023-08-10.mdx create mode 100644 apps/staffai/content/changelog/2023-08-25.mdx create mode 100644 apps/staffai/content/changelog/2023-09-08.mdx create mode 100644 apps/staffai/content/changelog/2023-09-29.mdx create mode 100644 apps/staffai/content/changelog/2023-11-03.mdx create mode 100644 apps/staffai/content/changelog/2023-12-01.mdx create mode 100644 apps/staffai/content/changelog/2023-12-15.mdx create mode 100644 apps/staffai/content/changelog/2024-01-05.mdx create mode 100644 apps/staffai/content/changelog/2024-01-19.mdx create mode 100644 apps/staffai/content/changelog/2024-02-16.mdx create mode 100644 apps/staffai/content/jobs/software-engineer.mdx create mode 100644 apps/staffai/content/policies/privacy.mdx create mode 100644 apps/staffai/content/policies/terms.mdx create mode 100644 apps/staffai/docs/btc.md create mode 100644 apps/staffai/fonts/Inter-Bold.woff create mode 100644 apps/staffai/fonts/Inter-Regular.woff create mode 100644 apps/staffai/i18nConfig.ts create mode 100644 apps/staffai/info.welcome_email.html create mode 100644 apps/staffai/lib/agents/index.tsx create mode 100644 apps/staffai/lib/agents/inquire.tsx create mode 100644 apps/staffai/lib/agents/query-suggestor.tsx create mode 100644 apps/staffai/lib/agents/researcher.tsx create mode 100644 apps/staffai/lib/agents/task-manager.tsx create mode 100644 apps/staffai/lib/analytics.ts create mode 100644 apps/staffai/lib/auth.ts create mode 100644 apps/staffai/lib/chains-all.json create mode 100644 apps/staffai/lib/chains.json create mode 100644 apps/staffai/lib/chat/actions.tsx create mode 100644 apps/staffai/lib/constants.ts create mode 100644 apps/staffai/lib/fmt.ts create mode 100644 apps/staffai/lib/fonts.ts create mode 100644 apps/staffai/lib/functions/deploy-contract/compile-contract.ts create mode 100644 apps/staffai/lib/functions/deploy-contract/deploy-contract.ts create mode 100644 apps/staffai/lib/functions/deploy-contract/handle-imports.ts create mode 100644 apps/staffai/lib/functions/deploy-contract/ipfs-upload.ts create mode 100644 apps/staffai/lib/functions/deploy-contract/verify-contract.ts create mode 100644 apps/staffai/lib/functions/deploy-contract/wallet-deploy.ts create mode 100644 apps/staffai/lib/functions/schemas.ts create mode 100644 apps/staffai/lib/functions/types.ts create mode 100644 apps/staffai/lib/hooks/shared/call-chat-api.ts create mode 100644 apps/staffai/lib/hooks/shared/call-completion-api.ts create mode 100644 apps/staffai/lib/hooks/shared/generate-id.ts create mode 100644 apps/staffai/lib/hooks/shared/parse-complex-response.ts create mode 100644 apps/staffai/lib/hooks/shared/process-chat-stream.ts create mode 100644 apps/staffai/lib/hooks/shared/read-data-stream.ts create mode 100644 apps/staffai/lib/hooks/shared/stream-data.ts create mode 100644 apps/staffai/lib/hooks/shared/stream-parts.ts create mode 100644 apps/staffai/lib/hooks/shared/streaming-react-response.ts create mode 100644 apps/staffai/lib/hooks/shared/types.ts create mode 100644 apps/staffai/lib/hooks/shared/utils.ts create mode 100644 apps/staffai/lib/hooks/use-at-bottom.tsx create mode 100644 apps/staffai/lib/hooks/use-chat.ts create mode 100644 apps/staffai/lib/hooks/use-copy-to-clipboard.tsx create mode 100644 apps/staffai/lib/hooks/use-enter-submit.tsx create mode 100644 apps/staffai/lib/hooks/use-isdk_b.ts create mode 100644 apps/staffai/lib/hooks/use-local-storage.ts create mode 100644 apps/staffai/lib/hooks/use-scroll-anchor.tsx create mode 100644 apps/staffai/lib/hooks/use-sidebar.tsx create mode 100644 apps/staffai/lib/hooks/use-streamable-text.ts create mode 100644 apps/staffai/lib/hooks/use-w3gpt-deploy.tsx create mode 100644 apps/staffai/lib/http/README.md create mode 100644 apps/staffai/lib/http/axios_config.ts create mode 100644 apps/staffai/lib/http/service.ts create mode 100644 apps/staffai/lib/http/staff/data.d.ts create mode 100644 apps/staffai/lib/http/staff/index.ts create mode 100644 apps/staffai/lib/http/staff/service.ts create mode 100644 apps/staffai/lib/is-client-context.tsx create mode 100644 apps/staffai/lib/isdk/shared/call-chat-api.ts create mode 100644 apps/staffai/lib/isdk/shared/call-completion-api.ts create mode 100644 apps/staffai/lib/isdk/shared/generate-id.ts create mode 100644 apps/staffai/lib/isdk/shared/parse-complex-response.ts create mode 100644 apps/staffai/lib/isdk/shared/process-chat-stream.ts create mode 100644 apps/staffai/lib/isdk/shared/read-data-stream.ts create mode 100644 apps/staffai/lib/isdk/shared/stream-data.ts create mode 100644 apps/staffai/lib/isdk/shared/stream-parts.ts create mode 100644 apps/staffai/lib/isdk/shared/streaming-react-response.ts create mode 100644 apps/staffai/lib/isdk/shared/types.ts create mode 100644 apps/staffai/lib/isdk/shared/utils.ts create mode 100644 apps/staffai/lib/isdk/use-isdk.ts create mode 100644 apps/staffai/lib/mdx-helper.ts create mode 100644 apps/staffai/lib/metadata.ts create mode 100644 apps/staffai/lib/mouse.tsx create mode 100644 apps/staffai/lib/schema/inquiry.tsx create mode 100644 apps/staffai/lib/schema/next-action.tsx create mode 100644 apps/staffai/lib/schema/related.tsx create mode 100644 apps/staffai/lib/schema/search.tsx create mode 100644 apps/staffai/lib/types.ts create mode 100644 apps/staffai/lib/utils.ts create mode 100644 apps/staffai/lib/viem-utils.ts create mode 100644 apps/staffai/locales/en/common.json create mode 100644 apps/staffai/locales/en/home.json create mode 100644 apps/staffai/locales/zh-CN/common.json create mode 100644 apps/staffai/locales/zh-CN/home.json create mode 100644 apps/staffai/middleware.ts create mode 100644 apps/staffai/next-env.d.ts create mode 100644 apps/staffai/next-i18next.config.js create mode 100644 apps/staffai/next.config.js create mode 100644 apps/staffai/package.json create mode 100644 apps/staffai/postcss.config.js create mode 100644 apps/staffai/prettier.config.cjs create mode 100644 apps/staffai/public/.well-known/walletconnect.txt create mode 100644 apps/staffai/public/favicon.ico create mode 100644 apps/staffai/public/favicon.png create mode 100644 apps/staffai/public/lotties/clock.json create mode 100644 apps/staffai/public/lotties/globe.json create mode 100644 apps/staffai/public/lotties/puzzle.json create mode 100644 apps/staffai/public/mantle-logo.jpeg create mode 100644 apps/staffai/public/w3gpt-logo-beta.svg create mode 100644 apps/staffai/public/w3gpt-logo.svg create mode 100644 apps/staffai/public/welcome_email.html create mode 100644 apps/staffai/public/welcome_email_cn.html create mode 100644 apps/staffai/tailwind.config.js create mode 100644 apps/staffai/tsconfig.json create mode 100644 apps/staffai/vercel.json create mode 100644 apps/staffai/welcome_email_tmp.html create mode 100644 index.html create mode 100644 internal/billing/package.json create mode 100644 internal/billing/src/index.ts create mode 100644 internal/billing/src/quota.ts create mode 100644 internal/billing/src/subscriptions.ts create mode 100644 internal/billing/src/tiers.test.ts create mode 100644 internal/billing/src/tiers.ts create mode 100644 internal/billing/tsconfig.json create mode 100644 internal/billing/vitest.config.ts create mode 100644 internal/db/drizzle.config.ts create mode 100644 internal/db/package.json create mode 100644 internal/db/src/index.ts create mode 100644 internal/db/src/schema/apis.ts create mode 100644 internal/db/src/schema/index.ts create mode 100644 internal/db/src/schema/keyAuth.ts create mode 100644 internal/db/src/schema/keys.ts create mode 100644 internal/db/src/schema/ratelimit.ts create mode 100644 internal/db/src/schema/rbac.ts create mode 100644 internal/db/src/schema/vercel_integration.ts create mode 100644 internal/db/src/schema/workspaces.ts create mode 100644 internal/db/src/types.ts create mode 100644 internal/db/tsconfig.json create mode 100644 internal/error/package.json create mode 100644 internal/error/src/error-handling.ts create mode 100644 internal/error/src/errors/base.ts create mode 100644 internal/error/src/errors/fetch-error.ts create mode 100644 internal/error/src/errors/schema-error.ts create mode 100644 internal/error/src/index.ts create mode 100644 internal/error/tsconfig.json create mode 100644 internal/hash/package.json create mode 100644 internal/hash/src/index.ts create mode 100644 internal/hash/src/sha256.test.ts create mode 100644 internal/hash/src/sha256.ts create mode 100644 internal/hash/tsconfig.json create mode 100644 internal/hash/vitest.config.ts create mode 100644 internal/id/package.json create mode 100644 internal/id/src/generate.test.ts create mode 100644 internal/id/src/generate.ts create mode 100644 internal/id/src/index.ts create mode 100644 internal/id/tsconfig.json create mode 100644 internal/id/vitest.config.ts create mode 100644 internal/keys/package.json create mode 100644 internal/keys/src/index.ts create mode 100644 internal/keys/src/util.ts create mode 100644 internal/keys/src/v1.test.ts create mode 100644 internal/keys/src/v1.ts create mode 100644 internal/keys/tsconfig.json create mode 100644 internal/keys/vitest.config.ts create mode 100644 internal/metrics/package.json create mode 100644 internal/metrics/src/index.ts create mode 100644 internal/metrics/tsconfig.json create mode 100644 internal/resend/emails/payment_issue.tsx create mode 100644 internal/resend/emails/subscription_ended.tsx create mode 100644 internal/resend/emails/trial_ended.tsx create mode 100644 internal/resend/emails/welcome_email.tsx create mode 100644 internal/resend/package.json create mode 100644 internal/resend/src/client.tsx create mode 100644 internal/resend/src/index.ts create mode 100644 internal/resend/tsconfig.json create mode 100644 internal/schema/package.json create mode 100644 internal/schema/src/auditlog.ts create mode 100644 internal/schema/src/ratelimit-tinybird.ts create mode 100644 internal/schema/tsconfig.json create mode 100644 internal/tinybird/.tinyenv create mode 100644 internal/tinybird/datasources/aggregate_mv.datasource create mode 100644 internal/tinybird/datasources/audit_logs.datasource create mode 100644 internal/tinybird/datasources/daily_usage.datasource create mode 100644 internal/tinybird/datasources/key_verifications.datasource create mode 100644 internal/tinybird/datasources/mv__daily_usage.datasource create mode 100644 internal/tinybird/datasources/mv__daily_verifications.datasource create mode 100644 internal/tinybird/datasources/mv__monthly_active_keys.datasource create mode 100644 internal/tinybird/datasources/mv__monthly_stats.datasource create mode 100644 internal/tinybird/datasources/mv__monthly_verifications.datasource create mode 100644 internal/tinybird/datasources/mv__total_verifications.datasource create mode 100644 internal/tinybird/datasources/mv__verifications_per_workspace_per_hour.datasource create mode 100644 internal/tinybird/datasources/mv_billing_hourly_active_keys.datasource create mode 100644 internal/tinybird/datasources/mv_key_total_usage.datasource create mode 100644 internal/tinybird/datasources/mv_keys_last_used.datasource create mode 100644 internal/tinybird/datasources/pageviews.datasource create mode 100644 internal/tinybird/datasources/ratelimits.datasource create mode 100644 internal/tinybird/datasources/sdk_telemetry.datasource create mode 100644 internal/tinybird/datasources/verifications_daily_mv.datasource create mode 100644 internal/tinybird/datasources/verifications_hourly_mv.datasource create mode 100644 internal/tinybird/datasources/verifications_monthly_mv.datasource create mode 100644 internal/tinybird/datasources/verifications_weekly_mv.datasource create mode 100644 internal/tinybird/pipes/aggregate_active_keys_hourly_by_workspace.pipe create mode 100644 internal/tinybird/pipes/aggregate_active_keys_monthly_by_workspace.pipe create mode 100644 internal/tinybird/pipes/aggregate_active_keys_per_hour.pipe create mode 100644 internal/tinybird/pipes/aggregate_last_used.pipe create mode 100644 internal/tinybird/pipes/aggregate_total_usage_per_key.pipe create mode 100644 internal/tinybird/pipes/aggregate_unique_visitors_per_hour.pipe create mode 100644 internal/tinybird/pipes/aggregate_verifications_daily.pipe create mode 100644 internal/tinybird/pipes/aggregate_verifications_daily_per_api.pipe create mode 100644 internal/tinybird/pipes/aggregate_verifications_hourly.pipe create mode 100644 internal/tinybird/pipes/aggregate_verifications_hourly_by_workspace.pipe create mode 100644 internal/tinybird/pipes/aggregate_verifications_monthly.pipe create mode 100644 internal/tinybird/pipes/aggregate_verifications_monthly_by_workspace.pipe create mode 100644 internal/tinybird/pipes/aggregate_verifications_per_day.pipe create mode 100644 internal/tinybird/pipes/all_verifications.pipe create mode 100644 internal/tinybird/pipes/count_monthly_verifications.pipe create mode 100644 internal/tinybird/pipes/count_verifications_daily.pipe create mode 100644 internal/tinybird/pipes/endpoint__active_keys_by_workspace.pipe create mode 100644 internal/tinybird/pipes/endpoint__all_verifications.pipe create mode 100644 internal/tinybird/pipes/endpoint__all_verifications__v1.pipe create mode 100644 internal/tinybird/pipes/endpoint__billing_verifications_per_hour.pipe create mode 100644 internal/tinybird/pipes/endpoint__get_active_keys.pipe create mode 100644 internal/tinybird/pipes/endpoint__get_daily_verifications.pipe create mode 100644 internal/tinybird/pipes/endpoint__get_last_used.pipe create mode 100644 internal/tinybird/pipes/endpoint__get_latest_verifications.pipe create mode 100644 internal/tinybird/pipes/endpoint__get_total_usage_for_key.pipe create mode 100644 internal/tinybird/pipes/endpoint__monthly_stats.pipe create mode 100644 internal/tinybird/pipes/endpoint__verifications_by_workspace.pipe create mode 100644 internal/tinybird/pipes/endpoint_billing_get_active_keys_per_workspace_per_hour.pipe create mode 100644 internal/tinybird/pipes/endpoint_billing_get_active_keys_usage.pipe create mode 100644 internal/tinybird/pipes/endpoint_billing_get_verifications_per_workspace_per_hour.pipe create mode 100644 internal/tinybird/pipes/endpoint_billing_get_verifications_usage.pipe create mode 100644 internal/tinybird/pipes/endpoint_get_usage.pipe create mode 100644 internal/tinybird/pipes/get_active_keys.pipe create mode 100644 internal/tinybird/pipes/get_active_keys_daily.pipe create mode 100644 internal/tinybird/pipes/get_active_keys_hourly.pipe create mode 100644 internal/tinybird/pipes/get_active_keys_monthly.pipe create mode 100644 internal/tinybird/pipes/get_active_keys_weekly.pipe create mode 100644 internal/tinybird/pipes/get_verifications_daily.pipe create mode 100644 internal/tinybird/pipes/get_verifications_hourly.pipe create mode 100644 internal/tinybird/pipes/get_verifications_monthly.pipe create mode 100644 internal/tinybird/pipes/get_verifications_weekly.pipe create mode 100644 internal/tinybird/pipes/mv__daily_verifications.pipe create mode 100644 internal/tinybird/pipes/mv_billing_hourly_verifications__v1_pipe_1749.pipe create mode 100644 internal/tinybird/pipes/verifications_daily.pipe create mode 100644 internal/tinybird/pipes/verifications_hourly.pipe create mode 100644 internal/tinybird/pipes/verifications_monthly_v1.pipe create mode 100644 internal/tinybird/pipes/verifications_weekly.pipe create mode 100644 internal/tinybird/scripts/exec_test.sh create mode 100644 internal/tsconfig/README.md create mode 100644 internal/tsconfig/base.json create mode 100644 internal/tsconfig/nextjs.json create mode 100644 internal/tsconfig/package.json create mode 100644 internal/tsconfig/react-library.json create mode 100644 internal/vercel/package.json create mode 100644 internal/vercel/src/client.ts create mode 100644 internal/vercel/src/index.ts create mode 100644 internal/vercel/tsconfig.json create mode 100644 internal/zod-queue/package.json create mode 100644 internal/zod-queue/src/index.ts create mode 100644 internal/zod-queue/tsconfig.json create mode 100644 nginx/admin.conf create mode 100644 nginx/aireport.conf create mode 100644 nginx/migrant.conf create mode 100644 nginx/seo.conf create mode 100644 nginx/staffai.conf create mode 100644 openapi.json create mode 100644 package.json create mode 100644 packages/api/CHANGELOG.md create mode 100644 packages/api/package.json create mode 100644 packages/api/src/client.ts create mode 100644 packages/api/src/errors.ts create mode 100644 packages/api/src/index.ts create mode 100644 packages/api/src/openapi.d.ts create mode 100644 packages/api/src/telemetry.ts create mode 100644 packages/api/src/verify.ts create mode 100644 packages/api/tsconfig.json create mode 100644 packages/api/tsup.config.js create mode 100644 packages/hono/CHANGELOG.md create mode 100644 packages/hono/README.md create mode 100644 packages/hono/package.json create mode 100644 packages/hono/src/index.test.ts create mode 100644 packages/hono/src/index.ts create mode 100644 packages/hono/tsconfig.json create mode 100644 packages/hono/tsup.config.js create mode 100644 packages/hono/vitest.config.ts create mode 100644 packages/isdk/.eslintrc.js create mode 100644 packages/isdk/.gitignore create mode 100644 packages/isdk/.npmignore create mode 100644 packages/isdk/.npmrc create mode 100644 packages/isdk/CHANGELOG.md create mode 100644 packages/isdk/README.md create mode 100644 packages/isdk/anthropic/anthropic-error.ts create mode 100644 packages/isdk/anthropic/anthropic-facade.ts create mode 100644 packages/isdk/anthropic/anthropic-messages-language-model.test.ts create mode 100644 packages/isdk/anthropic/anthropic-messages-language-model.ts create mode 100644 packages/isdk/anthropic/anthropic-messages-prompt.ts create mode 100644 packages/isdk/anthropic/anthropic-messages-settings.ts create mode 100644 packages/isdk/anthropic/convert-to-anthropic-messages-prompt.ts create mode 100644 packages/isdk/anthropic/index.ts create mode 100644 packages/isdk/anthropic/map-anthropic-stop-reason.ts create mode 100644 packages/isdk/core/generate-object/generate-object.test.ts create mode 100644 packages/isdk/core/generate-object/generate-object.ts create mode 100644 packages/isdk/core/generate-object/index.ts create mode 100644 packages/isdk/core/generate-object/inject-json-schema-into-system.ts create mode 100644 packages/isdk/core/generate-object/stream-object.test.ts create mode 100644 packages/isdk/core/generate-object/stream-object.ts create mode 100644 packages/isdk/core/generate-text/generate-text.test.ts create mode 100644 packages/isdk/core/generate-text/generate-text.ts create mode 100644 packages/isdk/core/generate-text/index.ts create mode 100644 packages/isdk/core/generate-text/run-tools-transformation.ts create mode 100644 packages/isdk/core/generate-text/stream-text.test.ts create mode 100644 packages/isdk/core/generate-text/stream-text.ts create mode 100644 packages/isdk/core/generate-text/token-usage.ts create mode 100644 packages/isdk/core/generate-text/tool-call.ts create mode 100644 packages/isdk/core/generate-text/tool-result.ts create mode 100644 packages/isdk/core/index.ts create mode 100644 packages/isdk/core/prompt/call-settings.ts create mode 100644 packages/isdk/core/prompt/content-part.ts create mode 100644 packages/isdk/core/prompt/convert-to-language-model-prompt.ts create mode 100644 packages/isdk/core/prompt/data-content.ts create mode 100644 packages/isdk/core/prompt/get-validated-prompt.ts create mode 100644 packages/isdk/core/prompt/index.ts create mode 100644 packages/isdk/core/prompt/message.ts create mode 100644 packages/isdk/core/prompt/prepare-call-settings.ts create mode 100644 packages/isdk/core/prompt/prompt.ts create mode 100644 packages/isdk/core/test/convert-array-to-readable-stream.ts create mode 100644 packages/isdk/core/test/convert-async-iterable-to-array.ts create mode 100644 packages/isdk/core/test/mock-language-model-v1.ts create mode 100644 packages/isdk/core/tool/index.ts create mode 100644 packages/isdk/core/tool/tool.ts create mode 100644 packages/isdk/core/util/async-iterable-stream.ts create mode 100644 packages/isdk/core/util/convert-zod-to-json-schema.ts create mode 100644 packages/isdk/core/util/deep-partial.ts create mode 100644 packages/isdk/core/util/delay.ts create mode 100644 packages/isdk/core/util/detect-image-mimetype.ts create mode 100644 packages/isdk/core/util/fix-json.test.ts create mode 100644 packages/isdk/core/util/fix-json.ts create mode 100644 packages/isdk/core/util/is-deep-equal-data.test.ts create mode 100644 packages/isdk/core/util/is-deep-equal-data.ts create mode 100644 packages/isdk/core/util/parse-partial-json.ts create mode 100644 packages/isdk/core/util/retry-with-exponential-backoff.ts create mode 100644 packages/isdk/core/util/value-of.ts create mode 100644 packages/isdk/google/convert-to-google-generative-ai-messages.ts create mode 100644 packages/isdk/google/google-error.ts create mode 100644 packages/isdk/google/google-facade.ts create mode 100644 packages/isdk/google/google-generative-ai-language-model.test.ts create mode 100644 packages/isdk/google/google-generative-ai-language-model.ts create mode 100644 packages/isdk/google/google-generative-ai-prompt.ts create mode 100644 packages/isdk/google/google-generative-ai-settings.ts create mode 100644 packages/isdk/google/index.ts create mode 100644 packages/isdk/google/map-google-generative-ai-finish-reason.ts create mode 100644 packages/isdk/mistral/convert-to-mistral-chat-messages.ts create mode 100644 packages/isdk/mistral/index.ts create mode 100644 packages/isdk/mistral/map-mistral-finish-reason.ts create mode 100644 packages/isdk/mistral/mistral-chat-language-model.test.ts create mode 100644 packages/isdk/mistral/mistral-chat-language-model.ts create mode 100644 packages/isdk/mistral/mistral-chat-prompt.ts create mode 100644 packages/isdk/mistral/mistral-chat-settings.ts create mode 100644 packages/isdk/mistral/mistral-error.ts create mode 100644 packages/isdk/mistral/mistral-facade.ts create mode 100644 packages/isdk/openai/convert-to-openai-chat-messages.ts create mode 100644 packages/isdk/openai/convert-to-openai-completion-prompt.ts create mode 100644 packages/isdk/openai/index.ts create mode 100644 packages/isdk/openai/map-openai-finish-reason.ts create mode 100644 packages/isdk/openai/openai-chat-language-model.test.ts create mode 100644 packages/isdk/openai/openai-chat-language-model.ts create mode 100644 packages/isdk/openai/openai-chat-prompt.ts create mode 100644 packages/isdk/openai/openai-chat-settings.ts create mode 100644 packages/isdk/openai/openai-completion-language-model.test.ts create mode 100644 packages/isdk/openai/openai-completion-language-model.ts create mode 100644 packages/isdk/openai/openai-completion-settings.ts create mode 100644 packages/isdk/openai/openai-error.ts create mode 100644 packages/isdk/openai/openai-facade.ts create mode 100644 packages/isdk/package.json create mode 100644 packages/isdk/prompts/anthropic.ts create mode 100644 packages/isdk/prompts/antropic.test.ts create mode 100644 packages/isdk/prompts/huggingface.test.ts create mode 100644 packages/isdk/prompts/huggingface.ts create mode 100644 packages/isdk/prompts/index.ts create mode 100644 packages/isdk/prompts/openai.test.ts create mode 100644 packages/isdk/prompts/openai.tsx create mode 100644 packages/isdk/react/index.server.ts create mode 100644 packages/isdk/react/index.ts create mode 100644 packages/isdk/react/package.json create mode 100644 packages/isdk/react/server.ts create mode 100644 packages/isdk/react/tokens.tsx create mode 100644 packages/isdk/react/use-assistant.ts create mode 100644 packages/isdk/react/use-chat.ts create mode 100644 packages/isdk/react/use-chat.ui.test.tsx create mode 100644 packages/isdk/react/use-completion.ts create mode 100644 packages/isdk/react/use-completion.ui.test.tsx create mode 100644 packages/isdk/react/use-isdk.ts create mode 100644 packages/isdk/rsc/__snapshots__/streamable.ui.test.tsx.snap create mode 100644 packages/isdk/rsc/ai-state.tsx create mode 100644 packages/isdk/rsc/constants.ts create mode 100644 packages/isdk/rsc/index.ts create mode 100644 packages/isdk/rsc/package.json create mode 100644 packages/isdk/rsc/provider.tsx create mode 100644 packages/isdk/rsc/rsc-client.ts create mode 100644 packages/isdk/rsc/rsc-server.ts create mode 100644 packages/isdk/rsc/rsc-shared.mts create mode 100644 packages/isdk/rsc/shared-client/context.tsx create mode 100644 packages/isdk/rsc/shared-client/index.ts create mode 100644 packages/isdk/rsc/shared-client/streamable.tsx create mode 100644 packages/isdk/rsc/shared-client/streamable.ui.test.tsx create mode 100644 packages/isdk/rsc/streamable.tsx create mode 100644 packages/isdk/rsc/streamable.ui.test.tsx create mode 100644 packages/isdk/rsc/types.ts create mode 100644 packages/isdk/rsc/utils.tsx create mode 100644 packages/isdk/shared/call-chat-api.ts create mode 100644 packages/isdk/shared/call-completion-api.ts create mode 100644 packages/isdk/shared/generate-id.ts create mode 100644 packages/isdk/shared/parse-complex-response.test.ts create mode 100644 packages/isdk/shared/parse-complex-response.ts create mode 100644 packages/isdk/shared/process-chat-stream.ts create mode 100644 packages/isdk/shared/read-data-stream.ts create mode 100644 packages/isdk/shared/stream-parts.test.ts create mode 100644 packages/isdk/shared/stream-parts.ts create mode 100644 packages/isdk/shared/types.ts create mode 100644 packages/isdk/shared/utils.test.ts create mode 100644 packages/isdk/shared/utils.ts create mode 100644 packages/isdk/solid/index.ts create mode 100644 packages/isdk/solid/package.json create mode 100644 packages/isdk/solid/use-chat.ts create mode 100644 packages/isdk/solid/use-chat.ui.test.tsx create mode 100644 packages/isdk/solid/use-completion.ts create mode 100644 packages/isdk/solid/use-completion.ui.test.tsx create mode 100644 packages/isdk/spec/index.ts create mode 100644 packages/isdk/spec/test/convert-stream-to-array.ts create mode 100644 packages/isdk/spec/test/json-test-server.ts create mode 100644 packages/isdk/spec/test/streaming-test-server.ts create mode 100644 packages/isdk/spec/util/generate-id.ts create mode 100644 packages/isdk/spec/util/get-error-message.ts create mode 100644 packages/isdk/spec/util/index.ts create mode 100644 packages/isdk/spec/util/load-api-key.ts create mode 100644 packages/isdk/spec/util/parse-json.ts create mode 100644 packages/isdk/spec/util/post-to-api.ts create mode 100644 packages/isdk/spec/util/response-handler.ts create mode 100644 packages/isdk/spec/util/scale.ts create mode 100644 packages/isdk/spec/util/uint8-utils.ts create mode 100644 packages/isdk/spec/util/validate-types.ts create mode 100644 packages/isdk/streams/ai-stream.ts create mode 100644 packages/isdk/streams/anthropic-stream.test.ts create mode 100644 packages/isdk/streams/anthropic-stream.ts create mode 100644 packages/isdk/streams/assistant-response.ts create mode 100644 packages/isdk/streams/aws-bedrock-stream.test.ts create mode 100644 packages/isdk/streams/aws-bedrock-stream.ts create mode 100644 packages/isdk/streams/azure-openai-types.ts create mode 100644 packages/isdk/streams/cohere-stream.test.ts create mode 100644 packages/isdk/streams/cohere-stream.ts create mode 100644 packages/isdk/streams/google-generative-ai-stream.test.ts create mode 100644 packages/isdk/streams/google-generative-ai-stream.ts create mode 100644 packages/isdk/streams/huggingface-stream.test.ts create mode 100644 packages/isdk/streams/huggingface-stream.ts create mode 100644 packages/isdk/streams/index.ts create mode 100644 packages/isdk/streams/inkeep-stream.test.ts create mode 100644 packages/isdk/streams/inkeep-stream.ts create mode 100644 packages/isdk/streams/langchain-stream.test.ts create mode 100644 packages/isdk/streams/langchain-stream.ts create mode 100644 packages/isdk/streams/mistral-stream.test.ts create mode 100644 packages/isdk/streams/mistral-stream.ts create mode 100644 packages/isdk/streams/openai-stream.test.ts create mode 100644 packages/isdk/streams/openai-stream.ts create mode 100644 packages/isdk/streams/replicate-stream.test.ts create mode 100644 packages/isdk/streams/replicate-stream.ts create mode 100644 packages/isdk/streams/stream-data.ts create mode 100644 packages/isdk/streams/streaming-react-response.test.tsx create mode 100644 packages/isdk/streams/streaming-react-response.ts create mode 100644 packages/isdk/streams/streaming-text-response.ts create mode 100644 packages/isdk/svelte/index.ts create mode 100644 packages/isdk/svelte/package.json create mode 100644 packages/isdk/svelte/use-chat.ts create mode 100644 packages/isdk/svelte/use-completion.ts create mode 100644 packages/isdk/tests/snapshots/anthropic.ts create mode 100644 packages/isdk/tests/snapshots/aws-bedrock.ts create mode 100644 packages/isdk/tests/snapshots/azure-openai.ts create mode 100644 packages/isdk/tests/snapshots/cohere.ts create mode 100644 packages/isdk/tests/snapshots/huggingface.ts create mode 100644 packages/isdk/tests/snapshots/inkeep.ts create mode 100644 packages/isdk/tests/snapshots/mistral.ts create mode 100644 packages/isdk/tests/snapshots/openai-chat.ts create mode 100644 packages/isdk/tests/snapshots/replicate.ts create mode 100644 packages/isdk/tests/utils/mock-client.ts create mode 100644 packages/isdk/tests/utils/mock-fetch.ts create mode 100644 packages/isdk/tests/utils/mock-server.ts create mode 100644 packages/isdk/tsconfig.json create mode 100644 packages/isdk/tsup.config.ts create mode 100644 packages/isdk/turbo.json create mode 100644 packages/isdk/vitest.edge.config.js create mode 100644 packages/isdk/vitest.node.config.js create mode 100644 packages/isdk/vitest.ui.react.config.js create mode 100644 packages/isdk/vitest.ui.solid.config.js create mode 100644 packages/isdk/vitest.ui.vue.config.js create mode 100644 packages/isdk/vue/TestChatComponent.vue create mode 100644 packages/isdk/vue/TestCompletionComponent.vue create mode 100644 packages/isdk/vue/index.ts create mode 100644 packages/isdk/vue/package.json create mode 100644 packages/isdk/vue/shims-vue.d.ts create mode 100644 packages/isdk/vue/use-chat.ts create mode 100644 packages/isdk/vue/use-chat.ui.test.tsx create mode 100644 packages/isdk/vue/use-completion.ts create mode 100644 packages/isdk/vue/use-completion.ui.test.ts create mode 100644 packages/nextjs/CHANGELOG.md create mode 100644 packages/nextjs/package.json create mode 100644 packages/nextjs/src/index.ts create mode 100644 packages/nextjs/tsconfig.json create mode 100644 packages/nextjs/tsup.config.js create mode 100644 packages/nuxt/.gitignore create mode 100644 packages/nuxt/.nuxtrc create mode 100644 packages/nuxt/CHANGELOG.md create mode 100644 packages/nuxt/package.json create mode 100644 packages/nuxt/playground/.env.example create mode 100644 packages/nuxt/playground/app.vue create mode 100644 packages/nuxt/playground/nuxt.config.ts create mode 100644 packages/nuxt/playground/package.json create mode 100644 packages/nuxt/playground/server/api/context.ts create mode 100644 packages/nuxt/playground/server/api/helper.ts create mode 100644 packages/nuxt/playground/tsconfig.json create mode 100644 packages/nuxt/src/module.ts create mode 100644 packages/nuxt/src/runtime/server/middleware/unkey.ts create mode 100644 packages/nuxt/src/runtime/server/tsconfig.json create mode 100644 packages/nuxt/src/runtime/server/types.d.ts create mode 100644 packages/nuxt/src/runtime/server/utils/unkey.ts create mode 100644 packages/nuxt/test/index.spec.ts create mode 100644 packages/nuxt/tsconfig.json create mode 100644 packages/provider/README.md create mode 100644 packages/provider/package.json create mode 100644 packages/provider/src/errors/api-call-error.ts create mode 100644 packages/provider/src/errors/get-error-message.ts create mode 100644 packages/provider/src/errors/index.ts create mode 100644 packages/provider/src/errors/invalid-argument-error.ts create mode 100644 packages/provider/src/errors/invalid-data-content-error.ts create mode 100644 packages/provider/src/errors/invalid-prompt-error.ts create mode 100644 packages/provider/src/errors/invalid-response-data-error.ts create mode 100644 packages/provider/src/errors/invalid-tool-arguments-error.ts create mode 100644 packages/provider/src/errors/json-parse-error.ts create mode 100644 packages/provider/src/errors/load-api-key-error.ts create mode 100644 packages/provider/src/errors/no-object-generated-error.ts create mode 100644 packages/provider/src/errors/no-response-body-error.ts create mode 100644 packages/provider/src/errors/no-such-tool-error.ts create mode 100644 packages/provider/src/errors/retry-error.ts create mode 100644 packages/provider/src/errors/tool-call-parse-error.ts create mode 100644 packages/provider/src/errors/type-validation-error.ts create mode 100644 packages/provider/src/errors/unsupported-functionality-error.ts create mode 100644 packages/provider/src/errors/unsupported-json-schema-error.ts create mode 100644 packages/provider/src/index.ts create mode 100644 packages/provider/src/language-model/index.ts create mode 100644 packages/provider/src/language-model/v1/index.ts create mode 100644 packages/provider/src/language-model/v1/language-model-v1-call-options.ts create mode 100644 packages/provider/src/language-model/v1/language-model-v1-call-settings.ts create mode 100644 packages/provider/src/language-model/v1/language-model-v1-call-warning.ts create mode 100644 packages/provider/src/language-model/v1/language-model-v1-finish-reason.ts create mode 100644 packages/provider/src/language-model/v1/language-model-v1-function-tool-call.ts create mode 100644 packages/provider/src/language-model/v1/language-model-v1-function-tool.ts create mode 100644 packages/provider/src/language-model/v1/language-model-v1-prompt.ts create mode 100644 packages/provider/src/language-model/v1/language-model-v1.ts create mode 100644 packages/provider/tsconfig.json create mode 100644 packages/provider/tsup.config.ts create mode 100644 packages/provider/turbo.json create mode 100644 packages/ratelimit/package.json create mode 100644 packages/ratelimit/src/duration.ts create mode 100644 packages/ratelimit/src/index.ts create mode 100644 packages/ratelimit/tsconfig.json create mode 100644 packages/ratelimit/tsup.config.js create mode 100644 packages/rbac/CHANGELOG.md create mode 100644 packages/rbac/package.json create mode 100644 packages/rbac/src/index.ts create mode 100644 packages/rbac/src/permissions.test.ts create mode 100644 packages/rbac/src/permissions.ts create mode 100644 packages/rbac/src/queries.test.ts create mode 100644 packages/rbac/src/queries.ts create mode 100644 packages/rbac/src/rbac.test.ts create mode 100644 packages/rbac/src/rbac.ts create mode 100644 packages/rbac/src/types.ts create mode 100644 packages/rbac/tsconfig.json create mode 100644 packages/rbac/tsup.config.js create mode 100644 pnpm-lock.yaml create mode 100644 pnpm-workspace.yaml create mode 100644 test/assistant-stream-raw.ts create mode 100644 test/assistant-stream.ts create mode 100644 test/assistants.ts create mode 100644 tools/artillery/.dockerignore create mode 100644 tools/artillery/Dockerfile create mode 100644 tools/artillery/README.md create mode 100644 tools/artillery/fly.toml create mode 100644 tools/artillery/keys.verifyKey.yaml create mode 100644 tools/artillery/main.ts create mode 100644 tools/bootstrap/.env.example create mode 100644 tools/bootstrap/main.ts create mode 100644 tools/bootstrap/package.json create mode 100644 tools/bootstrap/tsconfig.json create mode 100644 tools/eslint-config/index.js create mode 100644 tools/eslint-config/package.json create mode 100644 tools/k6/Makefile create mode 100644 tools/k6/load.js create mode 100644 tools/k6/package.json create mode 100644 tools/migrate/.env.example create mode 100644 tools/migrate/main.ts create mode 100644 tools/migrate/package.json create mode 100644 tools/migrate/tsconfig.json create mode 100644 tools/tsconfig/base.json create mode 100644 tools/tsconfig/nextjs.json create mode 100644 tools/tsconfig/node14.json create mode 100644 tools/tsconfig/package.json create mode 100644 tools/tsconfig/react-library.json create mode 100644 tsconfig.json create mode 100644 turbo.json diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..c80ddfc --- /dev/null +++ b/.gitignore @@ -0,0 +1,26 @@ +.vercel + +.env* +!.env.example +rm + +.turbo +node_modules +dist +.next + +.tinyb + +# contentlayer +.contentlayer + +.DS_Store +# .vscode +.dev.vars +.wrangler +.vitest +.react-email + +.next + +ped4you-website \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..a3c1428 --- /dev/null +++ b/README.md @@ -0,0 +1,9 @@ +# + +```bash + +npm i -g pm2 + +pm2 start npm --name appgo -- start + +``` \ No newline at end of file diff --git a/admin-v5/.editorconfig b/admin-v5/.editorconfig new file mode 100644 index 0000000..7e3649a --- /dev/null +++ b/admin-v5/.editorconfig @@ -0,0 +1,16 @@ +# http://editorconfig.org +root = true + +[*] +indent_style = space +indent_size = 2 +end_of_line = lf +charset = utf-8 +trim_trailing_whitespace = true +insert_final_newline = true + +[*.md] +trim_trailing_whitespace = false + +[Makefile] +indent_style = tab diff --git a/admin-v5/.env.example b/admin-v5/.env.example new file mode 100644 index 0000000..84b77eb --- /dev/null +++ b/admin-v5/.env.example @@ -0,0 +1,40 @@ +# Vercel config +VERCEL="1" +VERCEL_ENV="development" +# KV REST API config +KV_REST_API_READ_ONLY_TOKEN= +KV_REST_API_TOKEN= +KV_REST_API_URL= +KV_URL= + +## Generate a random secret: https://generate-secret.vercel.app/32 +AUTH_SECRET= +## Create a GitHub OAuth app here: https://docs.github.com/en/apps/oauth-apps/building-oauth-apps/creating-an-oauth-app +AUTH_GITHUB_ID= +AUTH_GITHUB_SECRET= + +OPENAI_API_KEY= +STABILITY_API_KEY= +NFT_STORAGE_API_KEY= + +# WalletConnect Project ID +NEXT_PUBLIC_WALLETCONNECT_PROJECT_ID= + +# RPC API Keys +NEXT_PUBLIC_ALCHEMY_API_KEY= +QUICKNODE_API_KEY= +INFURA_API_KEY= + +# Block Explorer API Keys +ETHEREUM_EXPLORER_API_KEY= +POLYGON_EXPLORER_API_KEY= +ARBITRUM_EXPLORER_API_KEY= +OPTIMISM_EXPLORER_API_KEY= +BASE_EXPLORER_API_KEY= + +# Deployer Private Key +DEPLOYER_PRIVATE_KEY= + + +UMI_APP_PUBLIC_CLIENT_BASE_URL= +NEXT_PUBLIC_CLIENT_IMAGE_URL= \ No newline at end of file diff --git a/admin-v5/.eslintignore b/admin-v5/.eslintignore new file mode 100644 index 0000000..8336e93 --- /dev/null +++ b/admin-v5/.eslintignore @@ -0,0 +1,8 @@ +/lambda/ +/scripts +/config +.history +public +dist +.umi +mock \ No newline at end of file diff --git a/admin-v5/.eslintrc.js b/admin-v5/.eslintrc.js new file mode 100644 index 0000000..50c949b --- /dev/null +++ b/admin-v5/.eslintrc.js @@ -0,0 +1,8 @@ +module.exports = { + // extends: [require.resolve('@umijs/fabric/dist/eslint')], + globals: { + ANT_DESIGN_PRO_ONLY_DO_NOT_USE_IN_YOUR_PRODUCTION: true, + page: true, + REACT_APP_ENV: true, + }, +}; diff --git a/admin-v5/.gitignore b/admin-v5/.gitignore new file mode 100644 index 0000000..87a6159 --- /dev/null +++ b/admin-v5/.gitignore @@ -0,0 +1,50 @@ +# See https://help.github.com/articles/ignoring-files/ for more about ignoring files. + +# dependencies +**/node_modules +# roadhog-api-doc ignore +/src/utils/request-temp.js +_roadhog-api-doc + +# production +/dist + +# misc +.DS_Store +npm-debug.log* +yarn-error.log + +/coverage +.idea +# yarn.lock +# package-lock.json +# pnpm-lock.yaml +*bak + + +# visual studio code +.history +*.log +functions/* +.temp/** + +# umi +.umi +.umi-production + + +# local env files +.env +.env-development +.env-production +.env.local +.env.development.local +.env.test.local +.env.production.local + +# screenshot +screenshot +.firebase +.eslintcache + +build diff --git a/admin-v5/.prettierignore b/admin-v5/.prettierignore new file mode 100644 index 0000000..d17efb4 --- /dev/null +++ b/admin-v5/.prettierignore @@ -0,0 +1,23 @@ +**/*.svg +package.json +.umi +.umi-production +/dist +.dockerignore +.DS_Store +.eslintignore +*.png +*.toml +docker +.editorconfig +Dockerfile* +.gitignore +.prettierignore +LICENSE +.eslintcache +*.lock +yarn-error.log +.history +CNAME +/build +/public \ No newline at end of file diff --git a/admin-v5/.prettierrc.js b/admin-v5/.prettierrc.js new file mode 100644 index 0000000..7b597d7 --- /dev/null +++ b/admin-v5/.prettierrc.js @@ -0,0 +1,5 @@ +const fabric = require('@umijs/fabric'); + +module.exports = { + ...fabric.prettier, +}; diff --git a/admin-v5/.stylelintrc.js b/admin-v5/.stylelintrc.js new file mode 100644 index 0000000..c203078 --- /dev/null +++ b/admin-v5/.stylelintrc.js @@ -0,0 +1,5 @@ +const fabric = require('@umijs/fabric'); + +module.exports = { + ...fabric.stylelint, +}; diff --git a/admin-v5/README.md b/admin-v5/README.md new file mode 100644 index 0000000..76b34f2 --- /dev/null +++ b/admin-v5/README.md @@ -0,0 +1,11 @@ +# AI-Admin-UI AI 后台管理系统 + +"gitHooks": { "commit-msg": "fabric verify-commit" } + + +npm i marked --legacy-peer-deps + + "@types/react": "^18.2.65", + "@types/react-dom": "^18.2.21", + +npm i --legacy-peer-deps \ No newline at end of file diff --git a/admin-v5/config/config.dev.ts b/admin-v5/config/config.dev.ts new file mode 100644 index 0000000..76ad41d --- /dev/null +++ b/admin-v5/config/config.dev.ts @@ -0,0 +1,18 @@ +// https://umijs.org/config/ +import { defineConfig } from 'umi'; + +export default defineConfig({ + // base: '/admin/', + // publicPath: '/', + + plugins: [ + // https://github.com/zthxxx/react-dev-inspector + 'react-dev-inspector/plugins/umi/react-inspector', + ], + // https://github.com/zthxxx/react-dev-inspector#inspector-loader-props + inspectorConfig: { + exclude: [], + babelPlugins: [], + babelOptions: {}, + }, +}); diff --git a/admin-v5/config/config.ts b/admin-v5/config/config.ts new file mode 100644 index 0000000..34d1415 --- /dev/null +++ b/admin-v5/config/config.ts @@ -0,0 +1,72 @@ +// https://umijs.org/config/ +import { defineConfig } from 'umi'; +import { join } from 'path'; + +import defaultSettings from './defaultSettings'; +import proxy from './proxy'; +import routes from './routes'; + +const { REACT_APP_ENV } = process.env; + +export default defineConfig({ + hash: true, + antd: {}, + dva: { + hmr: true, + }, + layout: { + // https://umijs.org/zh-CN/plugins/plugin-layout + locale: true, + siderWidth: 208, + ...defaultSettings, + }, + // https://umijs.org/zh-CN/plugins/plugin-locale + locale: { + // default zh-CN + default: 'zh-CN', + antd: true, + // default true, when it is true, will use `navigator.language` overwrite default + baseNavigator: true, + }, + dynamicImport: { + loading: '@ant-design/pro-layout/es/PageLoading', + }, + targets: { + ie: 11, + }, + // umi routes: https://umijs.org/docs/routing + routes, + // Theme for antd: https://ant.design/docs/react/customize-theme-cn + theme: { + 'root-entry-name': 'variable', + }, + // esbuild is father build tools + // https://umijs.org/plugins/plugin-esbuild + esbuild: {}, + title: false, + ignoreMomentLocale: true, + proxy: proxy[REACT_APP_ENV || 'dev'], + manifest: { + basePath: '/', + }, + // Fast Refresh 热更新 + fastRefresh: {}, + openAPI: [ + { + requestLibPath: "import { request } from 'umi'", + // 或者使用在线的版本 + // schemaPath: "https://gw.alipayobjects.com/os/antfincdn/M%24jrzTTYJN/oneapi.json" + schemaPath: join(__dirname, 'oneapi.json'), + mock: false, + }, + { + requestLibPath: "import { request } from 'umi'", + schemaPath: 'https://gw.alipayobjects.com/os/antfincdn/CA1dOm%2631B/openapi.json', + projectName: 'swagger', + }, + ], + nodeModulesTransform: { type: 'none' }, + mfsu: {}, + webpack5: {}, + exportStatic: {}, +}); diff --git a/admin-v5/config/defaultSettings.ts b/admin-v5/config/defaultSettings.ts new file mode 100644 index 0000000..81de236 --- /dev/null +++ b/admin-v5/config/defaultSettings.ts @@ -0,0 +1,21 @@ +import { Settings as LayoutSettings } from '@ant-design/pro-layout'; + +const Settings: LayoutSettings & { + pwa?: boolean; + logo?: string; +} = { + navTheme: 'light', + // 拂晓蓝 + primaryColor: '#1890ff', + layout: 'mix', + contentWidth: 'Fluid', + fixedHeader: false, + fixSiderbar: true, + colorWeak: false, + title: 'AI网站管理后台', + pwa: false, + logo: 'https://gw.alipayobjects.com/zos/rmsportal/KDpgvguMpGfqaHPjicRK.svg', + iconfontUrl: '', +}; + +export default Settings; diff --git a/admin-v5/config/oneapi.json b/admin-v5/config/oneapi.json new file mode 100644 index 0000000..c77d988 --- /dev/null +++ b/admin-v5/config/oneapi.json @@ -0,0 +1,593 @@ +{ + "openapi": "3.0.1", + "info": { + "title": "Ant Design Pro", + "version": "1.0.0" + }, + "servers": [ + { + "url": "http://localhost:8000/" + }, + { + "url": "https://localhost:8000/" + } + ], + "paths": { + "/api/currentUser": { + "get": { + "tags": ["api"], + "description": "获取当前的用户", + "operationId": "currentUser", + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CurrentUser" + } + } + } + }, + "401": { + "description": "Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponse" + } + } + } + } + } + }, + "x-swagger-router-controller": "api" + }, + "/api/login/captcha": { + "post": { + "description": "发送验证码", + "operationId": "getFakeCaptcha", + "tags": ["login"], + "parameters": [ + { + "name": "phone", + "in": "query", + "description": "手机号", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/FakeCaptcha" + } + } + } + } + } + } + }, + "/api/login/outLogin": { + "post": { + "description": "登录接口", + "operationId": "outLogin", + "tags": ["login"], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object" + } + } + } + }, + "401": { + "description": "Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponse" + } + } + } + } + } + }, + "x-swagger-router-controller": "api" + }, + "/api/login/account": { + "post": { + "tags": ["login"], + "description": "登录接口", + "operationId": "login", + "requestBody": { + "description": "登录系统", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/LoginParams" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/LoginResult" + } + } + } + }, + "401": { + "description": "Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponse" + } + } + } + } + }, + "x-codegen-request-body-name": "body" + }, + "x-swagger-router-controller": "api" + }, + "/api/notices": { + "summary": "getNotices", + "description": "NoticeIconItem", + "get": { + "tags": ["api"], + "operationId": "getNotices", + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/NoticeIconList" + } + } + } + } + } + } + }, + "/api/rule": { + "get": { + "tags": ["rule"], + "description": "获取规则列表", + "operationId": "rule", + "parameters": [ + { + "name": "current", + "in": "query", + "description": "当前的页码", + "schema": { + "type": "number" + } + }, + { + "name": "pageSize", + "in": "query", + "description": "页面的容量", + "schema": { + "type": "number" + } + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/RuleList" + } + } + } + }, + "401": { + "description": "Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponse" + } + } + } + } + } + }, + "post": { + "tags": ["rule"], + "description": "新建规则", + "operationId": "addRule", + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/RuleListItem" + } + } + } + }, + "401": { + "description": "Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponse" + } + } + } + } + } + }, + "put": { + "tags": ["rule"], + "description": "新建规则", + "operationId": "updateRule", + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/RuleListItem" + } + } + } + }, + "401": { + "description": "Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponse" + } + } + } + } + } + }, + "delete": { + "tags": ["rule"], + "description": "删除规则", + "operationId": "removeRule", + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object" + } + } + } + }, + "401": { + "description": "Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponse" + } + } + } + } + } + }, + "x-swagger-router-controller": "api" + }, + "/swagger": { + "x-swagger-pipe": "swagger_raw" + } + }, + "components": { + "schemas": { + "CurrentUser": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "avatar": { + "type": "string" + }, + "userid": { + "type": "string" + }, + "email": { + "type": "string" + }, + "signature": { + "type": "string" + }, + "title": { + "type": "string" + }, + "group": { + "type": "string" + }, + "tags": { + "type": "array", + "items": { + "type": "object", + "properties": { + "key": { + "type": "string" + }, + "label": { + "type": "string" + } + } + } + }, + "notifyCount": { + "type": "integer", + "format": "int32" + }, + "unreadCount": { + "type": "integer", + "format": "int32" + }, + "country": { + "type": "string" + }, + "access": { + "type": "string" + }, + "geographic": { + "type": "object", + "properties": { + "province": { + "type": "object", + "properties": { + "label": { + "type": "string" + }, + "key": { + "type": "string" + } + } + }, + "city": { + "type": "object", + "properties": { + "label": { + "type": "string" + }, + "key": { + "type": "string" + } + } + } + } + }, + "address": { + "type": "string" + }, + "phone": { + "type": "string" + } + } + }, + "LoginResult": { + "type": "object", + "properties": { + "status": { + "type": "string" + }, + "type": { + "type": "string" + }, + "currentAuthority": { + "type": "string" + } + } + }, + "PageParams": { + "type": "object", + "properties": { + "current": { + "type": "number" + }, + "pageSize": { + "type": "number" + } + } + }, + "RuleListItem": { + "type": "object", + "properties": { + "key": { + "type": "integer", + "format": "int32" + }, + "disabled": { + "type": "boolean" + }, + "href": { + "type": "string" + }, + "avatar": { + "type": "string" + }, + "name": { + "type": "string" + }, + "owner": { + "type": "string" + }, + "desc": { + "type": "string" + }, + "callNo": { + "type": "integer", + "format": "int32" + }, + "status": { + "type": "integer", + "format": "int32" + }, + "updatedAt": { + "type": "string", + "format": "datetime" + }, + "createdAt": { + "type": "string", + "format": "datetime" + }, + "progress": { + "type": "integer", + "format": "int32" + } + } + }, + "RuleList": { + "type": "object", + "properties": { + "data": { + "type": "array", + "items": { + "$ref": "#/components/schemas/RuleListItem" + } + }, + "total": { + "type": "integer", + "description": "列表的内容总数", + "format": "int32" + }, + "success": { + "type": "boolean" + } + } + }, + "FakeCaptcha": { + "type": "object", + "properties": { + "code": { + "type": "integer", + "format": "int32" + }, + "status": { + "type": "string" + } + } + }, + "LoginParams": { + "type": "object", + "properties": { + "username": { + "type": "string" + }, + "password": { + "type": "string" + }, + "autoLogin": { + "type": "boolean" + }, + "type": { + "type": "string" + } + } + }, + "ErrorResponse": { + "required": ["errorCode"], + "type": "object", + "properties": { + "errorCode": { + "type": "string", + "description": "业务约定的错误码" + }, + "errorMessage": { + "type": "string", + "description": "业务上的错误信息" + }, + "success": { + "type": "boolean", + "description": "业务上的请求是否成功" + } + } + }, + "NoticeIconList": { + "type": "object", + "properties": { + "data": { + "type": "array", + "items": { + "$ref": "#/components/schemas/NoticeIconItem" + } + }, + "total": { + "type": "integer", + "description": "列表的内容总数", + "format": "int32" + }, + "success": { + "type": "boolean" + } + } + }, + "NoticeIconItemType": { + "title": "NoticeIconItemType", + "description": "已读未读列表的枚举", + "type": "string", + "properties": {}, + "enum": ["notification", "message", "event"] + }, + "NoticeIconItem": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "extra": { + "type": "string", + "format": "any" + }, + "key": { "type": "string" }, + "read": { + "type": "boolean" + }, + "avatar": { + "type": "string" + }, + "title": { + "type": "string" + }, + "status": { + "type": "string" + }, + "datetime": { + "type": "string", + "format": "date" + }, + "description": { + "type": "string" + }, + "type": { + "extensions": { + "x-is-enum": true + }, + "$ref": "#/components/schemas/NoticeIconItemType" + } + } + } + } + } +} diff --git a/admin-v5/config/proxy.ts b/admin-v5/config/proxy.ts new file mode 100644 index 0000000..921bf8a --- /dev/null +++ b/admin-v5/config/proxy.ts @@ -0,0 +1,37 @@ +/** + * 在生产环境 代理是无法生效的,所以这里没有生产环境的配置 + * ------------------------------- + * The agent cannot take effect in the production environment + * so there is no configuration of the production environment + * For details, please see + * https://pro.ant.design/docs/deploy + */ +export default { + dev: { + // localhost:8000/api/** -> https://preview.pro.ant.design/api/** + '/api/': { + // 要代理的地址 + // target: 'http://139.159.180.129:8888/', + target: 'http://110.41.179.89/', + // target: 'http://127.0.0.1:8888/', + // 配置了这个可以从 http 代理到 https + // 依赖 origin 的功能可能需要这个,比如 cookie + changeOrigin: true, + pathRewrite: { '^': '' }, + }, + }, + test: { + '/api/': { + target: 'https://proapi.azurewebsites.net', + changeOrigin: true, + pathRewrite: { '^': '' }, + }, + }, + pre: { + '/api/': { + target: 'your pre url', + changeOrigin: true, + pathRewrite: { '^': '' }, + }, + }, +}; diff --git a/admin-v5/config/routes.ts b/admin-v5/config/routes.ts new file mode 100644 index 0000000..f77d11a --- /dev/null +++ b/admin-v5/config/routes.ts @@ -0,0 +1,402 @@ +// { "id": 100, "path": "/system/dict/list2", "name": "News数据库", "parentId": 0, "icon": "DatabaseOutlined" }, +// { "id": 101, "path": "/system/dict/list2", "name": "Q&A数据", "parentId": 0, "icon": "BulbOutlined" }, +// { "id": 102, "path": "/system/dict/list2", "name": "订阅管理", "parentId": 0, "icon": "FileAddOutlined" }, +// { "id": 103, "path": "/system/dict/list2", "name": "标签管理", "parentId": 0, "icon": "TagsOutlined" }, +// { "id": 104, "path": "/system/dict/list2", "name": "客户管理", "parentId": 0, "icon": "UserOutlined" }, +// { "id": 105, "path": "/system/dict/list2", "name": "权限管理", "parentId": 0, "icon": "KeyOutlined" }, +// { "id": 106, "path": "/system/user/list", "name": "用户管理", "parentId": 0, "icon": "UsergroupDeleteOutlined" }, + + +const routesV2 = [ + { + path: '/systemV2', + name: '系统管理', + icon: 'crown', + routes: [ + { + name: '用户列表', + icon: 'table', + path: '/systemV2/user/list', + component: './systemV2/user', + }, + { + name: '权限列表', + icon: 'table', + path: '/systemV2/role/list', + component: './systemV2/role', + }, + ], + }, + { + path: '/umsV2', + name: '会员管理', + icon: 'crown', + routes: [ + { + name: '会员列表', + icon: 'table', + path: '/umsV2/member/list', + component: './umsV2/member', + }, + { + name: '会员等级', + icon: 'table', + path: '/umsV2/memberLevel/list', + component: './umsV2/member_level', + }, + { + name: '会员地址', + icon: 'table', + path: '/umsV2/memberAddress/list', + component: './umsV2/member_address', + }, + { + name: '登录记录', + icon: 'table', + path: '/umsV2/memberLoginLog/list', + component: './umsV2/member_login_log', + }, + ], + }, + { + path: '/article', + name: '文章管理', + icon: 'crown', + routes: [ + { + name: '标签', + icon: 'table', + path: '/article/tag/list', + component: './article/tag', + }, + { + name: '订阅', + icon: 'table', + path: '/article/subscribe/list', + component: './article/subscribe', + }, + { + name: 'QA', + icon: 'table', + path: '/article/qa/list', + component: './article/qa', + }, + { + name: '新闻', + icon: 'table', + path: '/article/news/list', + component: './article/news', + }, + { + name: '编辑问答', + icon: 'editqa', + path: '/article/editqa/:option', + component: './article/editqa', + }, + { + name: '编辑问答', + icon: 'editqa', + path: '/article/editqa/:option/:currTags/:article_id', + component: './article/editqa', + }, + { + name: '草稿箱新增', + icon: 'edit', + path: '/article/editnews/:option', + component: './article/edit', + }, + { + name: '草稿箱编辑', + icon: 'edit', + path: '/article/editnews/:option/:currTags/:article_id', + component: './article/edit', + }, + + + + ], + }, +] + + +const routesV1 = [ + { + path: '/admin', + name: 'admin', + icon: 'crown', + access: 'canAdmin', + component: './Admin', + routes: [ + { + path: '/admin/sub-page', + name: 'sub-page', + icon: 'smile', + component: './Welcome', + }, + { + component: './404', + }, + ], + }, + { + name: 'list.table-list', + icon: 'table', + path: '/list', + component: './TableList', + }, + { + path: '/', + redirect: '/welcome', + }, + { + path: '/system', + name: '系统管理', + icon: 'crown', + routes: [ + { + name: '用户列表', + icon: 'table', + path: '/system/user/list', + component: './system/user', + }, + { + name: '角色列表', + icon: 'table', + path: '/system/role/list', + component: './system/role', + }, + { + name: '菜单列表', + icon: 'table', + path: '/system/menu/list', + component: './system/menu', + }, + { + name: '机构列表', + icon: 'table', + path: '/system/dept/list', + component: './system/dept', + }, + { + name: '字典列表', + icon: 'table', + path: '/system/dict/list', + component: './system/dict', + }, + { + name: '职位列表', + icon: 'table', + path: '/system/job/list', + component: './system/job', + }, + // { + // name: '参数管理', + // icon: 'table', + // path: '/system/param/list', + // component: './system/param', + // }, + ], + }, + { + path: '/log', + name: '日志管理', + icon: 'crown', + routes: [ + { + name: '登录日志', + icon: 'table', + path: '/log/loginLog/list', + component: './log/loginlog', + }, + { + name: '操作日志', + icon: 'table', + path: '/log/sysLog/list', + component: './log/syslog', + }, + ], + }, + { + path: '/ums', + name: '会员管理', + icon: 'crown', + routes: [ + { + name: '会员列表', + icon: 'table', + path: '/ums/member/list', + component: './ums/member', + }, + { + name: '会员等级', + icon: 'table', + path: '/ums/memberLevel/list', + component: './ums/member_level', + }, + { + name: '会员地址', + icon: 'table', + path: '/ums/memberAddress/list', + component: './ums/member_address', + }, + { + name: '登录记录', + icon: 'table', + path: '/ums/memberLoginLog/list', + component: './ums/member_login_log', + }, + ], + }, + { + path: '/pms', + name: '商品管理', + icon: 'crown', + routes: [ + { + name: '商品列表', + icon: 'table', + path: '/pms/product/list', + component: './pms/product', + }, + { + name: '商品分类', + icon: 'table', + path: '/pms/productCategory/list', + component: './pms/product_category', + }, + { + name: '属性分类', + icon: 'table', + path: '/pms/attributecategory/list', + component: './pms/product_attribute_category', + }, + { + name: '品牌管理', + icon: 'table', + path: '/pms/productBrand/list', + component: './pms/product_brand', + }, + { + name: '商品属性', + icon: 'table', + path: '/pms/attribute/list', + component: './pms/product_attribute', + }, + ], + }, + { + path: '/oms', + name: '订单管理', + icon: 'crown', + routes: [ + { + name: '订单列表', + icon: 'table', + path: '/oms/order/list', + component: './oms/order', + }, + { + name: '订单设置', + icon: 'table', + path: '/oms/orderSetting/list', + component: './oms/order_setting', + }, + { + name: '退货申请', + icon: 'table', + path: '/oms/orderReturnApply/list', + component: './oms/order_return_apply', + }, + { + name: '退货原因', + icon: 'table', + path: '/oms/orderReturnReason/list', + component: './oms/order_return_reason', + }, + ], + }, + { + path: '/sms', + name: '营销管理', + icon: 'crown', + routes: [ + { + name: '秒杀活动', + icon: 'table', + path: '/sms/flashPromotion/list', + component: './sms/flash_promotion', + }, + { + name: '品牌推荐', + icon: 'table', + path: '/sms/homeBrand/list', + component: './sms/home_brand', + }, + { + name: '新品推荐', + icon: 'table', + path: '/sms/homeNewProduct/list', + component: './sms/home_new_product', + }, + { + name: '人气推荐', + icon: 'table', + path: '/sms/homeRecommendProduct/list', + component: './sms/home_recommend_product', + }, + { + name: '专题推荐', + icon: 'table', + path: '/sms/homeRecommendSubject/list', + component: './sms/home_recommend_subject', + }, + { + name: '广告列表', + icon: 'table', + path: '/sms/homeAdvertise/list', + component: './sms/home_advertise', + }, + { + name: '优惠券', + icon: 'table', + path: '/sms/coupon/list', + component: './sms/coupon', + }, + ], + }, +] + +export default [ + { + path: '/user', + layout: false, + routes: [ + { + path: '/user', + routes: [ + { + name: 'login', + path: '/user/login', + component: './user/login', + }, + ], + }, + { + component: './404', + }, + ], + }, + { + path: '/welcome', + name: 'welcome', + icon: 'smile', + component: './Welcome', + }, + + ...routesV1, + + ...routesV2, + { + component: './404', + }, +]; diff --git a/admin-v5/images/dept.png b/admin-v5/images/dept.png new file mode 100644 index 0000000000000000000000000000000000000000..6900a505a118955a67cc0f1d5ecef90756d8d5cd GIT binary patch literal 56811 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 z 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 Op`V9utNHBEcmD&0os!i6 literal 0 HcmV?d00001 diff --git a/admin-v5/images/dict.png b/admin-v5/images/dict.png new file mode 100644 index 0000000000000000000000000000000000000000..1fe39a2f7c55884be4b563b79a095c3a04a15003 GIT binary patch literal 49481 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⁡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 Tmv2xFwAsPlX>0BluT%d6;~V-s literal 0 HcmV?d00001 diff --git a/admin-v5/images/menu.png b/admin-v5/images/menu.png new file mode 100644 index 0000000000000000000000000000000000000000..9bb077ffdac3053a0371412a8e100762fbf1f773 GIT binary patch literal 110231 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

ufU1g0{kuzPD-WGpI_I?h6L5m{ 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 R)5u))F*^o1ntvF2>pz8Aa`ylL literal 0 HcmV?d00001 diff --git a/admin-v5/jest.config.js b/admin-v5/jest.config.js new file mode 100644 index 0000000..4729573 --- /dev/null +++ b/admin-v5/jest.config.js @@ -0,0 +1,9 @@ +module.exports = { + testURL: 'http://localhost:8000', + verbose: false, + extraSetupFiles: ['./tests/setupTests.js'], + globals: { + ANT_DESIGN_PRO_ONLY_DO_NOT_USE_IN_YOUR_PRODUCTION: false, + localStorage: null, + }, +}; diff --git a/admin-v5/jsconfig.json b/admin-v5/jsconfig.json new file mode 100644 index 0000000..197bee5 --- /dev/null +++ b/admin-v5/jsconfig.json @@ -0,0 +1,11 @@ +{ + "compilerOptions": { + "jsx": "react-jsx", + "emitDecoratorMetadata": true, + "experimentalDecorators": true, + "baseUrl": ".", + "paths": { + "@/*": ["./src/*"] + } + } +} diff --git a/admin-v5/mock/listTableList.ts b/admin-v5/mock/listTableList.ts new file mode 100644 index 0000000..08ed86d --- /dev/null +++ b/admin-v5/mock/listTableList.ts @@ -0,0 +1,174 @@ +import { Request, Response } from 'express'; +import moment from 'moment'; +import { parse } from 'url'; + +// mock tableListDataSource +const genList = (current: number, pageSize: number) => { + const tableListDataSource: API.RuleListItem[] = []; + + for (let i = 0; i < pageSize; i += 1) { + const index = (current - 1) * 10 + i; + tableListDataSource.push({ + key: index, + disabled: i % 6 === 0, + href: 'https://ant.design', + avatar: [ + 'https://gw.alipayobjects.com/zos/rmsportal/eeHMaZBwmTvLdIwMfBpg.png', + 'https://gw.alipayobjects.com/zos/rmsportal/udxAbMEhpwthVVcjLXik.png', + ][i % 2], + name: `TradeCode ${index}`, + owner: '曲丽丽', + desc: '这是一段描述', + callNo: Math.floor(Math.random() * 1000), + status: Math.floor(Math.random() * 10) % 4, + updatedAt: moment().format('YYYY-MM-DD'), + createdAt: moment().format('YYYY-MM-DD'), + progress: Math.ceil(Math.random() * 100), + }); + } + tableListDataSource.reverse(); + return tableListDataSource; +}; + +let tableListDataSource = genList(1, 100); + +function getRule(req: Request, res: Response, u: string) { + let realUrl = u; + if (!realUrl || Object.prototype.toString.call(realUrl) !== '[object String]') { + realUrl = req.url; + } + const { current = 1, pageSize = 10 } = req.query; + const params = parse(realUrl, true).query as unknown as API.PageParams & + API.RuleListItem & { + sorter: any; + filter: any; + }; + + let dataSource = [...tableListDataSource].slice( + ((current as number) - 1) * (pageSize as number), + (current as number) * (pageSize as number), + ); + if (params.sorter) { + const sorter = JSON.parse(params.sorter); + dataSource = dataSource.sort((prev, next) => { + let sortNumber = 0; + Object.keys(sorter).forEach((key) => { + if (sorter[key] === 'descend') { + if (prev[key] - next[key] > 0) { + sortNumber += -1; + } else { + sortNumber += 1; + } + return; + } + if (prev[key] - next[key] > 0) { + sortNumber += 1; + } else { + sortNumber += -1; + } + }); + return sortNumber; + }); + } + if (params.filter) { + const filter = JSON.parse(params.filter as any) as { + [key: string]: string[]; + }; + if (Object.keys(filter).length > 0) { + dataSource = dataSource.filter((item) => { + return Object.keys(filter).some((key) => { + if (!filter[key]) { + return true; + } + if (filter[key].includes(`${item[key]}`)) { + return true; + } + return false; + }); + }); + } + } + + if (params.name) { + dataSource = dataSource.filter((data) => data?.name?.includes(params.name || '')); + } + const result = { + data: dataSource, + total: tableListDataSource.length, + success: true, + pageSize, + current: parseInt(`${params.current}`, 10) || 1, + }; + + return res.json(result); +} + +function postRule(req: Request, res: Response, u: string, b: Request) { + let realUrl = u; + if (!realUrl || Object.prototype.toString.call(realUrl) !== '[object String]') { + realUrl = req.url; + } + + const body = (b && b.body) || req.body; + const { method, name, desc, key } = body; + + switch (method) { + /* eslint no-case-declarations:0 */ + case 'delete': + tableListDataSource = tableListDataSource.filter((item) => key.indexOf(item.key) === -1); + break; + case 'post': + (() => { + const i = Math.ceil(Math.random() * 10000); + const newRule: API.RuleListItem = { + key: tableListDataSource.length, + href: 'https://ant.design', + avatar: [ + 'https://gw.alipayobjects.com/zos/rmsportal/eeHMaZBwmTvLdIwMfBpg.png', + 'https://gw.alipayobjects.com/zos/rmsportal/udxAbMEhpwthVVcjLXik.png', + ][i % 2], + name, + owner: '曲丽丽', + desc, + callNo: Math.floor(Math.random() * 1000), + status: Math.floor(Math.random() * 10) % 2, + updatedAt: moment().format('YYYY-MM-DD'), + createdAt: moment().format('YYYY-MM-DD'), + progress: Math.ceil(Math.random() * 100), + }; + tableListDataSource.unshift(newRule); + return res.json(newRule); + })(); + return; + + case 'update': + (() => { + let newRule = {}; + tableListDataSource = tableListDataSource.map((item) => { + if (item.key === key) { + newRule = { ...item, desc, name }; + return { ...item, desc, name }; + } + return item; + }); + return res.json(newRule); + })(); + return; + default: + break; + } + + const result = { + list: tableListDataSource, + pagination: { + total: tableListDataSource.length, + }, + }; + + res.json(result); +} + +export default { + 'GET /api/rule': getRule, + 'POST /api/rule': postRule, +}; diff --git a/admin-v5/mock/notices.ts b/admin-v5/mock/notices.ts new file mode 100644 index 0000000..732dd58 --- /dev/null +++ b/admin-v5/mock/notices.ts @@ -0,0 +1,107 @@ +import { Request, Response } from 'express'; + +const getNotices = (req: Request, res: Response) => { + res.json({ + data: [ + { + id: '000000001', + avatar: 'https://gw.alipayobjects.com/zos/rmsportal/ThXAXghbEsBCCSDihZxY.png', + title: '你收到了 14 份新周报', + datetime: '2017-08-09', + type: 'notification', + }, + { + id: '000000002', + avatar: 'https://gw.alipayobjects.com/zos/rmsportal/OKJXDXrmkNshAMvwtvhu.png', + title: '你推荐的 曲妮妮 已通过第三轮面试', + datetime: '2017-08-08', + type: 'notification', + }, + { + id: '000000003', + avatar: 'https://gw.alipayobjects.com/zos/rmsportal/kISTdvpyTAhtGxpovNWd.png', + title: '这种模板可以区分多种通知类型', + datetime: '2017-08-07', + read: true, + type: 'notification', + }, + { + id: '000000004', + avatar: 'https://gw.alipayobjects.com/zos/rmsportal/GvqBnKhFgObvnSGkDsje.png', + title: '左侧图标用于区分不同的类型', + datetime: '2017-08-07', + type: 'notification', + }, + { + id: '000000005', + avatar: 'https://gw.alipayobjects.com/zos/rmsportal/ThXAXghbEsBCCSDihZxY.png', + title: '内容不要超过两行字,超出时自动截断', + datetime: '2017-08-07', + type: 'notification', + }, + { + id: '000000006', + avatar: 'https://gw.alipayobjects.com/zos/rmsportal/fcHMVNCjPOsbUGdEduuv.jpeg', + title: '曲丽丽 评论了你', + description: '描述信息描述信息描述信息', + datetime: '2017-08-07', + type: 'message', + clickClose: true, + }, + { + id: '000000007', + avatar: 'https://gw.alipayobjects.com/zos/rmsportal/fcHMVNCjPOsbUGdEduuv.jpeg', + title: '朱偏右 回复了你', + description: '这种模板用于提醒谁与你发生了互动,左侧放『谁』的头像', + datetime: '2017-08-07', + type: 'message', + clickClose: true, + }, + { + id: '000000008', + avatar: 'https://gw.alipayobjects.com/zos/rmsportal/fcHMVNCjPOsbUGdEduuv.jpeg', + title: '标题', + description: '这种模板用于提醒谁与你发生了互动,左侧放『谁』的头像', + datetime: '2017-08-07', + type: 'message', + clickClose: true, + }, + { + id: '000000009', + title: '任务名称', + description: '任务需要在 2017-01-12 20:00 前启动', + extra: '未开始', + status: 'todo', + type: 'event', + }, + { + id: '000000010', + title: '第三方紧急代码变更', + description: '冠霖提交于 2017-01-06,需在 2017-01-07 前完成代码变更任务', + extra: '马上到期', + status: 'urgent', + type: 'event', + }, + { + id: '000000011', + title: '信息安全考试', + description: '指派竹尔于 2017-01-09 前完成更新并发布', + extra: '已耗时 8 天', + status: 'doing', + type: 'event', + }, + { + id: '000000012', + title: 'ABCD 版本发布', + description: '冠霖提交于 2017-01-06,需在 2017-01-07 前完成代码变更任务', + extra: '进行中', + status: 'processing', + type: 'event', + }, + ], + }); +}; + +export default { + 'GET /api/notices': getNotices, +}; diff --git a/admin-v5/mock/route.ts b/admin-v5/mock/route.ts new file mode 100644 index 0000000..418d10f --- /dev/null +++ b/admin-v5/mock/route.ts @@ -0,0 +1,5 @@ +export default { + '/api/auth_routes': { + '/form/advanced-form': { authority: ['admin', 'user'] }, + }, +}; diff --git a/admin-v5/mock/user.ts b/admin-v5/mock/user.ts new file mode 100644 index 0000000..75edd34 --- /dev/null +++ b/admin-v5/mock/user.ts @@ -0,0 +1,203 @@ +import { Request, Response } from 'express'; + +const waitTime = (time: number = 100) => { + return new Promise((resolve) => { + setTimeout(() => { + resolve(true); + }, time); + }); +}; + +async function getFakeCaptcha(req: Request, res: Response) { + await waitTime(2000); + return res.json('captcha-xxx'); +} + +const { ANT_DESIGN_PRO_ONLY_DO_NOT_USE_IN_YOUR_PRODUCTION } = process.env; + +/** + * 当前用户的权限,如果为空代表没登录 + * current user access, if is '', user need login + * 如果是 pro 的预览,默认是有权限的 + */ +let access = ANT_DESIGN_PRO_ONLY_DO_NOT_USE_IN_YOUR_PRODUCTION === 'site' ? 'admin' : ''; + +const getAccess = () => { + return access; +}; + +// 代码中会兼容本地 service mock 以及部署站点的静态数据 +export default { + // 支持值为 Object 和 Array + 'GET /api/currentUser': (req: Request, res: Response) => { + if (!getAccess()) { + res.status(401).send({ + data: { + isLogin: false, + }, + errorCode: '401', + errorMessage: '请先登录!', + success: true, + }); + return; + } + res.send({ + success: true, + data: { + name: 'Serati Ma', + avatar: 'https://gw.alipayobjects.com/zos/antfincdn/XAosXuNZyF/BiazfanxmamNRoxxVxka.png', + userid: '00000001', + email: 'antdesign@alipay.com', + signature: '海纳百川,有容乃大', + title: '交互专家', + group: '蚂蚁金服-某某某事业群-某某平台部-某某技术部-UED', + tags: [ + { + key: '0', + label: '很有想法的', + }, + { + key: '1', + label: '专注设计', + }, + { + key: '2', + label: '辣~', + }, + { + key: '3', + label: '大长腿', + }, + { + key: '4', + label: '川妹子', + }, + { + key: '5', + label: '海纳百川', + }, + ], + notifyCount: 12, + unreadCount: 11, + country: 'China', + access: getAccess(), + geographic: { + province: { + label: '浙江省', + key: '330000', + }, + city: { + label: '杭州市', + key: '330100', + }, + }, + address: '西湖区工专路 77 号', + phone: '0752-268888888', + }, + }); + }, + // GET POST 可省略 + 'GET /api/users': [ + { + key: '1', + name: 'John Brown', + age: 32, + address: 'New York No. 1 Lake Park', + }, + { + key: '2', + name: 'Jim Green', + age: 42, + address: 'London No. 1 Lake Park', + }, + { + key: '3', + name: 'Joe Black', + age: 32, + address: 'Sidney No. 1 Lake Park', + }, + ], + 'POST /api/login/account': async (req: Request, res: Response) => { + const { password, username, type } = req.body; + await waitTime(2000); + if (password === 'ant.design' && username === 'admin') { + res.send({ + status: 'ok', + type, + currentAuthority: 'admin', + }); + access = 'admin'; + return; + } + if (password === 'ant.design' && username === 'user') { + res.send({ + status: 'ok', + type, + currentAuthority: 'user', + }); + access = 'user'; + return; + } + if (type === 'mobile') { + res.send({ + status: 'ok', + type, + currentAuthority: 'admin', + }); + access = 'admin'; + return; + } + + res.send({ + status: 'error', + type, + currentAuthority: 'guest', + }); + access = 'guest'; + }, + 'POST /api/login/outLogin': (req: Request, res: Response) => { + access = ''; + res.send({ data: {}, success: true }); + }, + 'POST /api/register': (req: Request, res: Response) => { + res.send({ status: 'ok', currentAuthority: 'user', success: true }); + }, + 'GET /api/500': (req: Request, res: Response) => { + res.status(500).send({ + timestamp: 1513932555104, + status: 500, + error: 'error', + message: 'error', + path: '/base/category/list', + }); + }, + 'GET /api/404': (req: Request, res: Response) => { + res.status(404).send({ + timestamp: 1513932643431, + status: 404, + error: 'Not Found', + message: 'No message available', + path: '/base/category/list/2121212', + }); + }, + 'GET /api/403': (req: Request, res: Response) => { + res.status(403).send({ + timestamp: 1513932555104, + status: 403, + error: 'Forbidden', + message: 'Forbidden', + path: '/base/category/list', + }); + }, + 'GET /api/401': (req: Request, res: Response) => { + res.status(401).send({ + timestamp: 1513932555104, + status: 401, + error: 'Unauthorized', + message: 'Unauthorized', + path: '/base/category/list', + }); + }, + + 'GET /api/login/captcha': getFakeCaptcha, +}; diff --git a/admin-v5/package-lock.json b/admin-v5/package-lock.json new file mode 100644 index 0000000..034ea99 --- /dev/null +++ b/admin-v5/package-lock.json @@ -0,0 +1,57262 @@ +{ + "name": "ant-design-pro", + "version": "5.2.0", + "lockfileVersion": 2, + "requires": true, + "packages": { + "": { + "name": "ant-design-pro", + "version": "5.2.0", + "hasInstallScript": true, + "dependencies": { + "@ant-design/icons": "^4.7.0", + "@ant-design/pro-descriptions": "^1.10.0", + "@ant-design/pro-form": "^1.52.0", + "@ant-design/pro-layout": "^6.32.0", + "@ant-design/pro-table": "^2.61.0", + "@arco-design/web-react": "^2.61.1", + "@toast-ui/editor": "^3.2.2", + "@types/md5": "^2.3.5", + "@umijs/route-utils": "^2.0.0", + "antd": "^4.17.0", + "axios": "^1.6.7", + "braft-editor": "^2.3.9", + "braft-utils": "^3.0.12", + "classnames": "^2.3.0", + "echarts": "^5.4.3", + "echarts-for-react": "^3.0.2", + "lodash": "^4.17.0", + "marked": "^12.0.1", + "md5": "^2.3.0", + "moment": "^2.29.0", + "omit.js": "^2.0.2", + "rc-menu": "^9.1.0", + "rc-util": "^5.16.0", + "react": "^17.0.0", + "react-dev-inspector": "^1.7.0", + "react-dom": "^17.0.0", + "react-helmet-async": "^1.2.0", + "swagger-ui-dist": "4.19.1", + "umi": "^3.5.0" + }, + "devDependencies": { + "@ant-design/pro-cli": "^2.1.0", + "@playwright/test": "^1.17.0", + "@types/express": "^4.17.0", + "@types/history": "^4.7.0", + "@types/jest": "^26.0.0", + "@types/lodash": "^4.14.0", + "@types/react": "^17.0.0", + "@types/react-dom": "^17.0.0", + "@types/react-helmet": "^6.1.0", + "@umijs/fabric": "^2.8.0", + "@umijs/openapi": "^1.3.0", + "@umijs/plugin-blocks": "^2.2.0", + "@umijs/plugin-esbuild": "^1.4.0", + "@umijs/plugin-openapi": "^1.3.0", + "@umijs/preset-ant-design-pro": "^1.3.0", + "@umijs/preset-dumi": "^1.1.0", + "@umijs/preset-react": "^1.8.17", + "@umijs/yorkie": "^2.0.5", + "carlo": "^0.9.46", + "cross-env": "^7.0.0", + "cross-port-killer": "^1.3.0", + "detect-installer": "^1.0.0", + "enzyme": "^3.11.0", + "eslint": "^7.32.0", + "express": "^4.17.0", + "gh-pages": "^3.2.0", + "jsdom-global": "^3.0.0", + "lint-staged": "^10.0.0", + "mockjs": "^1.1.0", + "prettier": "^2.5.0", + "puppeteer-core": "^8.0.0", + "stylelint": "^13.0.0", + "swagger-ui-react": "^3.52.0", + "typescript": "^4.5.0", + "umi-serve": "^1.9.10" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/@aashutoshrathi/word-wrap": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz", + "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@ahooksjs/use-request": { + "version": "2.8.15", + "resolved": "https://registry.npmjs.org/@ahooksjs/use-request/-/use-request-2.8.15.tgz", + "integrity": "sha512-xhVaM4fyIiAMdVFuuU5i3CFUdFa/IblF+fvITVMFaUEO3w/V5tVCAF6WIA3T03n1/RPuzRkA7Ao1PFtSGtGelw==", + "dev": true, + "dependencies": { + "lodash.debounce": "^4.0.8", + "lodash.throttle": "^4.1.1" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0" + } + }, + "node_modules/@ampproject/remapping": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz", + "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@ant-design/colors": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/@ant-design/colors/-/colors-6.0.0.tgz", + "integrity": "sha512-qAZRvPzfdWHtfameEGP2Qvuf838NhergR35o+EuVyB5XvSA98xod5r4utvi4TJ3ywmevm290g9nsCG5MryrdWQ==", + "dependencies": { + "@ctrl/tinycolor": "^3.4.0" + } + }, + "node_modules/@ant-design/icons": { + "version": "4.8.3", + "resolved": "https://registry.npmjs.org/@ant-design/icons/-/icons-4.8.3.tgz", + "integrity": "sha512-HGlIQZzrEbAhpJR6+IGdzfbPym94Owr6JZkJ2QCCnOkPVIWMO2xgIVcOKnl8YcpijIo39V7l2qQL5fmtw56cMw==", + "dependencies": { + "@ant-design/colors": "^6.0.0", + "@ant-design/icons-svg": "^4.3.0", + "@babel/runtime": "^7.11.2", + "classnames": "^2.2.6", + "lodash": "^4.17.15", + "rc-util": "^5.9.4" + }, + "engines": { + "node": ">=8" + }, + "peerDependencies": { + "react": ">=16.0.0", + "react-dom": ">=16.0.0" + } + }, + "node_modules/@ant-design/icons-svg": { + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/@ant-design/icons-svg/-/icons-svg-4.4.2.tgz", + "integrity": "sha512-vHbT+zJEVzllwP+CM+ul7reTEfBR0vgxFe7+lREAsAA7YGsYpboiq2sQNeQeRvh09GfQgs/GyFEvZpJ9cLXpXA==" + }, + "node_modules/@ant-design/pro-card": { + "version": "1.20.22", + "resolved": "https://registry.npmjs.org/@ant-design/pro-card/-/pro-card-1.20.22.tgz", + "integrity": "sha512-du4yMSLflfI+SOx7n87FtiPaEmGtWDN4yFC2vfQZQ6rhO0SVAOI2vRPKoXKOZn8Pr9fXVQGo+uPsVXJMZ3WwPg==", + "dependencies": { + "@ant-design/icons": "^4.2.1", + "@ant-design/pro-utils": "1.45.3", + "@babel/runtime": "^7.18.0", + "antd": "^4.20.0 ", + "classnames": "^2.2.6", + "omit.js": "^2.0.2", + "rc-util": "^5.4.0" + }, + "peerDependencies": { + "react": ">=16.9.0" + } + }, + "node_modules/@ant-design/pro-cli": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@ant-design/pro-cli/-/pro-cli-2.1.5.tgz", + "integrity": "sha512-nFdVRlKRFh6UcjKmkEnpImCz3mOCMz1u6lo9IIVo2lwlbNInc5EZxXfJJm4tAXUSrOfsiIl/Iwc2bsQ5xJBLeA==", + "dev": true, + "dependencies": { + "@babel/core": "^7.5.4", + "@babel/generator": "^7.5.0", + "@babel/parser": "^7.5.0", + "@babel/traverse": "^7.5.0", + "@babel/types": "^7.5.0", + "@umijs/fabric": "^2.0.0", + "babel-types": "^6.26.0", + "blink-diff": "^1.0.13", + "carlo": "^0.9.46", + "chalk": "^4.0.0", + "cross-port-killer": "^1.1.1", + "eslint": "^7.1.0", + "execa": "^5.0.0", + "getnpmregistry": "^1.0.1", + "glob": "^7.1.4", + "import-fresh": "^3.1.0", + "intl-messageformat": "^9.3.7", + "lodash.groupby": "^4.6.0", + "node-fetch": "^2.6.0", + "node-import-ts": "^1.0.2", + "ora": "^5.1.0", + "pngjs-image": "^0.11.7", + "prettier": "^2.0.2", + "rimraf": "^3.0.0", + "semver": "^7.0.0", + "typescript": "^4.0.3", + "umi-utils": "^1.5.1", + "yargs-parser": "^20.0.0" + }, + "bin": { + "pro": "cli.js" + } + }, + "node_modules/@ant-design/pro-descriptions": { + "version": "1.12.7", + "resolved": "https://registry.npmjs.org/@ant-design/pro-descriptions/-/pro-descriptions-1.12.7.tgz", + "integrity": "sha512-D1aiVszsJNs5lEe6wHjuyhdrR3IPZQW//LpB3R+X9C7xk6TLC9FIbJRdgp0NSHMdf+yXEXUzr2EsRWEBhH+Lfg==", + "dependencies": { + "@ant-design/pro-field": "1.36.7", + "@ant-design/pro-form": "1.74.7", + "@ant-design/pro-skeleton": "1.0.13", + "@ant-design/pro-utils": "1.45.3", + "@babel/runtime": "^7.18.0", + "antd": "^4.20.0 ", + "rc-util": "^5.0.6", + "use-json-comparison": "^1.0.5" + }, + "peerDependencies": { + "react": ">=16.9.0" + } + }, + "node_modules/@ant-design/pro-field": { + "version": "1.36.7", + "resolved": "https://registry.npmjs.org/@ant-design/pro-field/-/pro-field-1.36.7.tgz", + "integrity": "sha512-N5DGitBT2o5UC5lR8M6CQOhKsTMqhzggR6Q0xC2Uj50eUmy5A2uFDnsCjlaSgprocpIK0/zvTU02V9yE62SHSw==", + "dependencies": { + "@ant-design/icons": "^4.2.1", + "@ant-design/pro-provider": "1.10.0", + "@ant-design/pro-utils": "1.45.3", + "@babel/runtime": "^7.18.0", + "@chenshuai2144/sketch-color": "^1.0.8", + "antd": "^4.20.0 ", + "classnames": "^2.2.6", + "lodash.omit": "^4.5.0", + "lodash.tonumber": "^4.0.3", + "moment": "^2.27.0", + "omit.js": "^2.0.2", + "rc-util": "^5.4.0", + "swr": "^1.2.0" + }, + "peerDependencies": { + "react": ">=16.9.0" + } + }, + "node_modules/@ant-design/pro-form": { + "version": "1.74.7", + "resolved": "https://registry.npmjs.org/@ant-design/pro-form/-/pro-form-1.74.7.tgz", + "integrity": "sha512-3r6DdAkvsjN0lpVnbpAbtj5n+Od+IeLE6Z6DKPChobtwYJX5XyR8fWWOnyR43W8qbGTpXMxDwO9IP3VRY7VdMQ==", + "dependencies": { + "@ant-design/icons": "^4.2.1", + "@ant-design/pro-field": "1.36.7", + "@ant-design/pro-provider": "1.10.0", + "@ant-design/pro-utils": "1.45.3", + "@babel/runtime": "^7.18.0", + "@umijs/use-params": "^1.0.9", + "antd": "^4.20.0 ", + "classnames": "^2.2.6", + "lodash.merge": "^4.6.2", + "omit.js": "^2.0.2", + "rc-resize-observer": "^1.1.0", + "rc-util": "^5.0.6", + "use-json-comparison": "^1.0.5", + "use-media-antd-query": "^1.1.0" + }, + "peerDependencies": { + "rc-field-form": "^1.22.0", + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/@ant-design/pro-layout": { + "version": "6.38.22", + "resolved": "https://registry.npmjs.org/@ant-design/pro-layout/-/pro-layout-6.38.22.tgz", + "integrity": "sha512-rsxY2E0BTyRE7IO67VACWVPSfdtDnTaWtECuMnc4ctL+xmnzbnnr0zEHVQ+S58BxLnCqO3IyOsSc0nFl2hHsnQ==", + "dependencies": { + "@ant-design/icons": "^4.0.0", + "@ant-design/pro-provider": "1.10.0", + "@ant-design/pro-utils": "1.45.3", + "@babel/runtime": "^7.18.0", + "@umijs/route-utils": "^2.1.0", + "@umijs/ssr-darkreader": "^4.9.44", + "@umijs/use-params": "^1.0.9", + "antd": "^4.20.0 ", + "classnames": "^2.2.6", + "lodash.merge": "^4.6.2", + "omit.js": "^2.0.2", + "path-to-regexp": "2.4.0", + "rc-resize-observer": "^1.1.0", + "rc-util": "^5.0.6", + "swr": "^1.2.0", + "unstated-next": "^1.1.0", + "use-json-comparison": "^1.0.3", + "use-media-antd-query": "^1.1.0", + "warning": "^4.0.3" + }, + "peerDependencies": { + "react": ">=16.9.0" + } + }, + "node_modules/@ant-design/pro-provider": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/@ant-design/pro-provider/-/pro-provider-1.10.0.tgz", + "integrity": "sha512-gbQtq+Qlnob6aEghiWX/kXEzNhe4eOFlv5Ue2/xsal+22qvot/kFoOB652TD76fMI7vlkoema1pTKsvD5Uji6A==", + "dependencies": { + "@babel/runtime": "^7.18.0", + "antd": "^4.20.0 ", + "rc-util": "^5.0.1", + "swr": "^1.2.0" + }, + "peerDependencies": { + "react": ">=16.9.0" + } + }, + "node_modules/@ant-design/pro-skeleton": { + "version": "1.0.13", + "resolved": "https://registry.npmjs.org/@ant-design/pro-skeleton/-/pro-skeleton-1.0.13.tgz", + "integrity": "sha512-EWkW7ZqnT7NsyJTmxd0btrRpJFNLBkE2ceaKgp2Cz7GOC0l8yWX/TaNs6yb10j0DH6AB9YBXZNd2mxZ2MyQgGA==", + "dependencies": { + "@babel/runtime": "^7.18.0", + "antd": "^4.20.0 ", + "use-media-antd-query": "^1.1.0" + }, + "peerDependencies": { + "react": ">=16.9.0" + } + }, + "node_modules/@ant-design/pro-table": { + "version": "2.80.8", + "resolved": "https://registry.npmjs.org/@ant-design/pro-table/-/pro-table-2.80.8.tgz", + "integrity": "sha512-QPrGJJpXk8va/sUMlBYXIxNenc0OMHK+LKKLKOmh1hoA+a6/a75Tk+VaoncLGZZ99qXDQwMLlRZXMGDhrtCGgA==", + "dependencies": { + "@ant-design/icons": "^4.1.0", + "@ant-design/pro-card": "1.20.22", + "@ant-design/pro-field": "1.36.7", + "@ant-design/pro-form": "1.74.7", + "@ant-design/pro-provider": "1.10.0", + "@ant-design/pro-utils": "1.45.3", + "@babel/runtime": "^7.18.0", + "antd": "^4.20.0 ", + "classnames": "^2.2.6", + "moment": "^2.24.0", + "omit.js": "^2.0.2", + "rc-util": "^5.0.1", + "react-sortable-hoc": "^2.0.0", + "unstated-next": "^1.1.0", + "use-json-comparison": "^1.0.5", + "use-media-antd-query": "^1.1.0" + }, + "peerDependencies": { + "rc-field-form": "^1.22.0", + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/@ant-design/pro-utils": { + "version": "1.45.3", + "resolved": "https://registry.npmjs.org/@ant-design/pro-utils/-/pro-utils-1.45.3.tgz", + "integrity": "sha512-W2qtyckdkHTWGVXfFfqb9s/ahq3o4GlIZC3+WDiGUgqJTsUkwY69yV67E2ZfAro1XRXblUzbvxIv96M7bEAfFg==", + "dependencies": { + "@ant-design/icons": "^4.3.0", + "@ant-design/pro-provider": "1.10.0", + "@babel/runtime": "^7.18.0", + "antd": "^4.20.0 ", + "classnames": "^2.2.6", + "moment": "^2.27.0", + "rc-util": "^5.0.6", + "react-sortable-hoc": "^2.0.0", + "swr": "^1.2.0" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/@ant-design/react-slick": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@ant-design/react-slick/-/react-slick-1.0.2.tgz", + "integrity": "sha512-Wj8onxL/T8KQLFFiCA4t8eIRGpRR+UPgOdac2sYzonv+i0n3kXHmvHLLiOYL655DQx2Umii9Y9nNgL7ssu5haQ==", + "dependencies": { + "@babel/runtime": "^7.10.4", + "classnames": "^2.2.5", + "json2mq": "^0.2.0", + "resize-observer-polyfill": "^1.5.1", + "throttle-debounce": "^5.0.0" + }, + "peerDependencies": { + "react": ">=16.9.0" + } + }, + "node_modules/@arco-design/color": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/@arco-design/color/-/color-0.4.0.tgz", + "integrity": "sha512-s7p9MSwJgHeL8DwcATaXvWT3m2SigKpxx4JA1BGPHL4gfvaQsmQfrLBDpjOJFJuJ2jG2dMt3R3P8Pm9E65q18g==", + "dependencies": { + "color": "^3.1.3" + } + }, + "node_modules/@arco-design/web-react": { + "version": "2.61.1", + "resolved": "https://registry.npmjs.org/@arco-design/web-react/-/web-react-2.61.1.tgz", + "integrity": "sha512-JbrNCLZzpSCkri6319Wq75sZJRFAThqBzKpRiJbUqtLdKljlRR3IYxxfTgEJdWS6hTRu7A0PA6dbiNaVn/89yA==", + "dependencies": { + "@arco-design/color": "^0.4.0", + "@babel/runtime": "^7.5.5", + "b-tween": "^0.3.3", + "b-validate": "^1.4.2", + "compute-scroll-into-view": "^1.0.17", + "dayjs": "^1.10.5", + "lodash": "^4.17.21", + "number-precision": "^1.3.1", + "react-focus-lock": "^2.9.1", + "react-is": "^18.2.0", + "react-transition-group": "^4.3.0", + "resize-observer-polyfill": "^1.5.1", + "scroll-into-view-if-needed": "2.2.20", + "shallowequal": "^1.1.0" + }, + "peerDependencies": { + "react": ">=16", + "react-dom": ">=16" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.24.2", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.2.tgz", + "integrity": "sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ==", + "dependencies": { + "@babel/highlight": "^7.24.2", + "picocolors": "^1.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.24.1.tgz", + "integrity": "sha512-Pc65opHDliVpRHuKfzI+gSA4zcgr65O4cl64fFJIWEEh8JoHIHh0Oez1Eo8Arz8zq/JhgKodQaxEwUPRtZylVA==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.24.3", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.24.3.tgz", + "integrity": "sha512-5FcvN1JHw2sHJChotgx8Ek0lyuh4kCKelgMTTqhYJJtloNvUfpAFMeNQUtdlIaktwrSV9LtCdqwk48wL2wBacQ==", + "dependencies": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.24.2", + "@babel/generator": "^7.24.1", + "@babel/helper-compilation-targets": "^7.23.6", + "@babel/helper-module-transforms": "^7.23.3", + "@babel/helpers": "^7.24.1", + "@babel/parser": "^7.24.1", + "@babel/template": "^7.24.0", + "@babel/traverse": "^7.24.1", + "@babel/types": "^7.24.0", + "convert-source-map": "^2.0.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.3", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@babel/core/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/eslint-parser": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.24.1.tgz", + "integrity": "sha512-d5guuzMlPeDfZIbpQ8+g1NaCNuAGBBGNECh0HVqz1sjOeVLh2CEaifuOysCH18URW6R7pqXINvf5PaR/dC6jLQ==", + "dev": true, + "dependencies": { + "@nicolo-ribaudo/eslint-scope-5-internals": "5.1.1-v1", + "eslint-visitor-keys": "^2.1.0", + "semver": "^6.3.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || >=14.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.11.0", + "eslint": "^7.5.0 || ^8.0.0" + } + }, + "node_modules/@babel/eslint-parser/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/generator": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.24.1.tgz", + "integrity": "sha512-DfCRfZsBcrPEHUfuBMgbJ1Ut01Y/itOs+hY2nFLgqsqXd52/iSiVq5TITtUasIUgm+IIKdY2/1I7auiQOEeC9A==", + "dependencies": { + "@babel/types": "^7.24.0", + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25", + "jsesc": "^2.5.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-annotate-as-pure": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz", + "integrity": "sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==", + "dev": true, + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-builder-binary-assignment-operator-visitor": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.22.15.tgz", + "integrity": "sha512-QkBXwGgaoC2GtGZRoma6kv7Szfv06khvhFav67ZExau2RaXzy8MpHSMO2PNoP2XtmQphJQRHFfg77Bq731Yizw==", + "dev": true, + "dependencies": { + "@babel/types": "^7.22.15" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.23.6", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.23.6.tgz", + "integrity": "sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ==", + "dependencies": { + "@babel/compat-data": "^7.23.5", + "@babel/helper-validator-option": "^7.23.5", + "browserslist": "^4.22.2", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/helper-create-class-features-plugin": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.24.1.tgz", + "integrity": "sha512-1yJa9dX9g//V6fDebXoEfEsxkZHk3Hcbm+zLhyu6qVgYFLvmTALTeV+jNU9e5RnYtioBrGEOdoI2joMSNQ/+aA==", + "dev": true, + "dependencies": { + "@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.24.1", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-create-class-features-plugin/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/helper-create-regexp-features-plugin": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.22.15.tgz", + "integrity": "sha512-29FkPLFjn4TPEa3RE7GpW+qbE8tlsu3jntNYNfcGsc49LphF1PQIiD+vMZ1z1xVOKt+93khA9tc2JBs3kBjA7w==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "regexpu-core": "^5.3.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-create-regexp-features-plugin/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/helper-define-polyfill-provider": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.1.tgz", + "integrity": "sha512-o7SDgTJuvx5vLKD6SFvkydkSMBvahDKGiNJzG22IZYXhiqoe9efY7zocICBgzHV4IRg5wdgl2nEL/tulKIEIbA==", + "dev": true, + "dependencies": { + "@babel/helper-compilation-targets": "^7.22.6", + "@babel/helper-plugin-utils": "^7.22.5", + "debug": "^4.1.1", + "lodash.debounce": "^4.0.8", + "resolve": "^1.14.2" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/@babel/helper-environment-visitor": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz", + "integrity": "sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-function-name": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz", + "integrity": "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==", + "dependencies": { + "@babel/template": "^7.22.15", + "@babel/types": "^7.23.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-hoist-variables": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", + "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-member-expression-to-functions": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.23.0.tgz", + "integrity": "sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA==", + "dev": true, + "dependencies": { + "@babel/types": "^7.23.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.24.3", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.24.3.tgz", + "integrity": "sha512-viKb0F9f2s0BCS22QSF308z/+1YWKV/76mwt61NBzS5izMzDPwdq1pTrzf+Li3npBWX9KdQbkeCt1jSAM7lZqg==", + "dependencies": { + "@babel/types": "^7.24.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.23.3.tgz", + "integrity": "sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==", + "dependencies": { + "@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" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-optimise-call-expression": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.22.5.tgz", + "integrity": "sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==", + "dev": true, + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.24.0", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.0.tgz", + "integrity": "sha512-9cUznXMG0+FxRuJfvL82QlTqIzhVW9sL0KjMPHhAOOvpQGL8QtdxnBKILjBqxlHyliz0yCa1G903ZXI/FuHy2w==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-remap-async-to-generator": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.22.20.tgz", + "integrity": "sha512-pBGyV4uBqOns+0UvhsTO8qgl8hO89PmiDYv+/COyp1aeMcmfrfruz+/nCMFiYyFF/Knn0yfrC85ZzNFjembFTw==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-wrap-function": "^7.22.20" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-replace-supers": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.24.1.tgz", + "integrity": "sha512-QCR1UqC9BzG5vZl8BMicmZ28RuUBnHhAMddD8yHFHDRH9lLTZ9uUPehX8ctVPT8l0TKblJidqcgUUKGVrePleQ==", + "dev": true, + "dependencies": { + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-member-expression-to-functions": "^7.23.0", + "@babel/helper-optimise-call-expression": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-simple-access": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz", + "integrity": "sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==", + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-skip-transparent-expression-wrappers": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.22.5.tgz", + "integrity": "sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==", + "dev": true, + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-split-export-declaration": { + "version": "7.22.6", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", + "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.24.1.tgz", + "integrity": "sha512-2ofRCjnnA9y+wk8b9IAREroeUP02KHp431N2mhKniy2yKIDKpbrHv9eXwm8cBeWQYcJmzv5qKCu65P47eCF7CQ==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", + "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.23.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.23.5.tgz", + "integrity": "sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-wrap-function": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.22.20.tgz", + "integrity": "sha512-pms/UwkOpnQe/PDAEdV/d7dVCoBbB+R4FvYoHGZz+4VPcg7RtYy2KP7S2lbuWM6FCSgob5wshfGESbC/hzNXZw==", + "dev": true, + "dependencies": { + "@babel/helper-function-name": "^7.22.5", + "@babel/template": "^7.22.15", + "@babel/types": "^7.22.19" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.24.1.tgz", + "integrity": "sha512-BpU09QqEe6ZCHuIHFphEFgvNSrubve1FtyMton26ekZ85gRGi6LrTF7zArARp2YvyFxloeiRmtSCq5sjh1WqIg==", + "dependencies": { + "@babel/template": "^7.24.0", + "@babel/traverse": "^7.24.1", + "@babel/types": "^7.24.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight": { + "version": "7.24.2", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.2.tgz", + "integrity": "sha512-Yac1ao4flkTxTteCDZLEvdxg2fZfz1v8M4QpaGypq/WPDqg3ijHYbDfs+LG5hvzSoqaSZ9/Z9lKSP3CjZjv+pA==", + "dependencies": { + "@babel/helper-validator-identifier": "^7.22.20", + "chalk": "^2.4.2", + "js-tokens": "^4.0.0", + "picocolors": "^1.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/@babel/highlight/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" + }, + "node_modules/@babel/highlight/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/@babel/highlight/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/parser": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.24.1.tgz", + "integrity": "sha512-Zo9c7N3xdOIQrNip7Lc9wvRPzlRtovHVE4lkz8WEDr7uYh/GMQhSiIgFxGIArRHYdJE5kxtZjAf8rT0xhdLCzg==", + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.24.1.tgz", + "integrity": "sha512-y4HqEnkelJIOQGd+3g1bTeKsA5c6qM7eOn7VggGVbBc0y8MLSKHacwcIE2PplNlQSj0PqS9rrXL/nkPVK+kUNg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.24.1.tgz", + "integrity": "sha512-Hj791Ii4ci8HqnaKHAlLNs+zaLXb0EzSDhiAWp5VNlyvCNymYfacs64pxTxbH1znW/NcArSmwpmG9IKE/TUVVQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", + "@babel/plugin-transform-optional-chaining": "^7.24.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.13.0" + } + }, + "node_modules/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.24.1.tgz", + "integrity": "sha512-m9m/fXsXLiHfwdgydIFnpk+7jlVbnvlK5B2EKiPdLUb6WX654ZaaEWJUjk8TftRbZpK0XibovlLWX4KIZhV6jw==", + "dev": true, + "dependencies": { + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-plugin-utils": "^7.24.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-proposal-async-generator-functions": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.2.0.tgz", + "integrity": "sha512-+Dfo/SCQqrwx48ptLVGLdE39YtWRuKc/Y9I5Fy0P1DDBB9lsAHpjcEJQt+4IifuSOSTLBKJObJqMvaO1pIE8LQ==", + "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-async-generator-functions instead.", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-remap-async-to-generator": "^7.1.0", + "@babel/plugin-syntax-async-generators": "^7.2.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-class-properties": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz", + "integrity": "sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==", + "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-class-properties instead.", + "dev": true, + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-decorators": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.24.1.tgz", + "integrity": "sha512-zPEvzFijn+hRvJuX2Vu3KbEBN39LN3f7tW3MQO2LsIs57B26KU+kUc82BdAktS1VCM6libzh45eKGI65lg0cpA==", + "dev": true, + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.24.1", + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/plugin-syntax-decorators": "^7.24.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-do-expressions": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-do-expressions/-/plugin-proposal-do-expressions-7.2.0.tgz", + "integrity": "sha512-2bWN48zQHf/W5T8XvemGQJSi8hzhIo7y4kv/RiA08UcMLQ73lkTknhlaFGf1HjCJzG8FGopgsq6pSe1C+10fPg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-syntax-do-expressions": "^7.2.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-export-default-from": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-default-from/-/plugin-proposal-export-default-from-7.2.0.tgz", + "integrity": "sha512-NVfNe7F6nsasG1FnvcFxh2FN0l04ZNe75qTOAVOILWPam0tw9a63RtT/Dab8dPjedZa4fTQaQ83yMMywF9OSug==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-syntax-export-default-from": "^7.2.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-export-namespace-from": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.2.0.tgz", + "integrity": "sha512-DZUxbHYxQ5fUFIkMEnh75ogEdBLPfL+mQUqrO2hNY2LGm+tqFnxE924+mhAcCOh/8za8AaZsWHbq6bBoS3TAzA==", + "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-export-namespace-from instead.", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-syntax-export-namespace-from": "^7.2.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-function-bind": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-function-bind/-/plugin-proposal-function-bind-7.2.0.tgz", + "integrity": "sha512-qOFJ/eX1Is78sywwTxDcsntLOdb5ZlHVVqUz5xznq8ldAfOVIyZzp1JE2rzHnaksZIhrqMrwIpQL/qcEprnVbw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-syntax-function-bind": "^7.2.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-json-strings": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.18.6.tgz", + "integrity": "sha512-lr1peyn9kOdbYc0xr0OdHTZ5FMqS6Di+H0Fz2I/JwMzGmzJETNeOFq2pBySw6X/KFL5EWDjlJuMsUGRFb8fQgQ==", + "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-json-strings instead.", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-json-strings": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-nullish-coalescing-operator": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.4.4.tgz", + "integrity": "sha512-Amph7Epui1Dh/xxUxS2+K22/MUi6+6JVTvy3P58tja3B6yKTSjwwx0/d83rF7551D6PVSSoplQb8GCwqec7HRw==", + "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-nullish-coalescing-operator instead.", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.2.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-object-rest-spread": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.4.4.tgz", + "integrity": "sha512-dMBG6cSPBbHeEBdFXeQ2QLc5gUpg4Vkaz8octD4aoW/ISO+jBOcsuxYL7bsb5WSu8RLP6boxrBIALEHgoHtO9g==", + "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-object-rest-spread instead.", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-syntax-object-rest-spread": "^7.2.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-optional-catch-binding": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.2.0.tgz", + "integrity": "sha512-mgYj3jCcxug6KUcX4OBoOJz3CMrwRfQELPQ5560F70YQUBZB7uac9fqaWamKR1iWUzGiK2t0ygzjTScZnVz75g==", + "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-optional-catch-binding instead.", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-syntax-optional-catch-binding": "^7.2.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-optional-chaining": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.2.0.tgz", + "integrity": "sha512-ea3Q6edZC/55wEBVZAEz42v528VulyO0eir+7uky/sT4XRcdkWJcFi1aPtitTlwUzGnECWJNExWww1SStt+yWw==", + "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-optional-chaining instead.", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-syntax-optional-chaining": "^7.2.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-pipeline-operator": { + "version": "7.3.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-pipeline-operator/-/plugin-proposal-pipeline-operator-7.3.2.tgz", + "integrity": "sha512-wuzx8U/KZLJYoqU6joiaKY0PixHuYZ3Vxys+wPahNAZEEm+EDb1eTc19DuJob3BdxYSD9PWPbwyoRbhkdoYErg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-syntax-pipeline-operator": "^7.3.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-private-property-in-object": { + "version": "7.21.0-placeholder-for-preset-env.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz", + "integrity": "sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==", + "dev": true, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-unicode-property-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.18.6.tgz", + "integrity": "sha512-2BShG/d5yoZyXZfVePH91urL5wTG6ASZU9M4o03lKK8u8UW1y08OMttBSOADTcJrnPMpvDXRG3G8fyLh4ovs8w==", + "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-unicode-property-regex instead.", + "dev": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-async-generators": { + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", + "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-bigint": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz", + "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-class-properties": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", + "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.12.13" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-class-static-block": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", + "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-decorators": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.24.1.tgz", + "integrity": "sha512-05RJdO/cCrtVWuAaSn1tS3bH8jbsJa/Y1uD186u6J4C/1mnHFxseeuWpsqr9anvo7TUulev7tm7GDwRV+VuhDw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-do-expressions": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-do-expressions/-/plugin-syntax-do-expressions-7.24.1.tgz", + "integrity": "sha512-l5ZJA2DB2s/pM3SQzwf1ykWOiBaqN6Eb07EoZ/mH8dUR5RnaWlmPLoav6y4OT8A9Pkl615osBMZOedFbErdOOA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-dynamic-import": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", + "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-export-default-from": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-default-from/-/plugin-syntax-export-default-from-7.24.1.tgz", + "integrity": "sha512-cNXSxv9eTkGUtd0PsNMK8Yx5xeScxfpWOUAxE+ZPAXXEcAMOC3fk7LRdXq5fvpra2pLx2p1YtkAhpUbB2SwaRA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-export-namespace-from": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", + "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.3" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-function-bind": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-function-bind/-/plugin-syntax-function-bind-7.24.1.tgz", + "integrity": "sha512-7K+uzNJ5ZuL6g4Ud/UhbIxghwN2FAj8NBrzEO+eM0g9YddjOv+BD81ar/N7Es5sH+G8z9tnTYcfCu6EaPrkSDw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-assertions": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.24.1.tgz", + "integrity": "sha512-IuwnI5XnuF189t91XbxmXeCDz3qs6iDRO7GJ++wcfgeXNs/8FmIlKcpDSXNVyuLQxlwvskmI3Ct73wUODkJBlQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-attributes": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.24.1.tgz", + "integrity": "sha512-zhQTMH0X2nVLnb04tz+s7AMuasX8U0FnpE+nHTOhSOINjWMnopoZTxtIKsd45n4GQ/HIZLyfIpoul8e2m0DnRA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-meta": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", + "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-json-strings": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", + "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-jsx": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.24.1.tgz", + "integrity": "sha512-2eCtxZXf+kbkMIsXS4poTvT4Yu5rXiRa+9xGVT56raghjmBTKMpFNc9R4IDiB4emao9eO22Ox7CxuJG7BgExqA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-logical-assignment-operators": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", + "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", + "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-numeric-separator": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", + "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-object-rest-spread": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", + "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-optional-catch-binding": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", + "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-optional-chaining": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", + "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-pipeline-operator": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-pipeline-operator/-/plugin-syntax-pipeline-operator-7.24.1.tgz", + "integrity": "sha512-UU7uLj95zh6oMQiREvkTmXAvWy9pJI9p76SFkNsXTesDwQ67YM1UU1Bkx576djA6ZDcPSbzM/MqTJNcYeQ0G2g==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-private-property-in-object": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", + "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-top-level-await": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", + "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-typescript": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.24.1.tgz", + "integrity": "sha512-Yhnmvy5HZEnHUty6i++gcfH1/l68AHnItFHnaCv6hn9dNh0hQvvQJsxpi4BMBFN5DLeHBuucT/0DgzXif/OyRw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-unicode-sets-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz", + "integrity": "sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==", + "dev": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-transform-arrow-functions": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.24.1.tgz", + "integrity": "sha512-ngT/3NkRhsaep9ck9uj2Xhv9+xB1zShY3tM3g6om4xxCELwCDN4g4Aq5dRn48+0hasAql7s2hdBOysCfNpr4fw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-async-generator-functions": { + "version": "7.24.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.24.3.tgz", + "integrity": "sha512-Qe26CMYVjpQxJ8zxM1340JFNjZaF+ISWpr1Kt/jGo+ZTUzKkfw/pphEWbRCb+lmSM6k/TOgfYLvmbHkUQ0asIg==", + "dev": true, + "dependencies": { + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/helper-remap-async-to-generator": "^7.22.20", + "@babel/plugin-syntax-async-generators": "^7.8.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-async-to-generator": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.24.1.tgz", + "integrity": "sha512-AawPptitRXp1y0n4ilKcGbRYWfbbzFWz2NqNu7dacYDtFtz0CMjG64b3LQsb3KIgnf4/obcUL78hfaOS7iCUfw==", + "dev": true, + "dependencies": { + "@babel/helper-module-imports": "^7.24.1", + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/helper-remap-async-to-generator": "^7.22.20" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-block-scoped-functions": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.24.1.tgz", + "integrity": "sha512-TWWC18OShZutrv9C6mye1xwtam+uNi2bnTOCBUd5sZxyHOiWbU6ztSROofIMrK84uweEZC219POICK/sTYwfgg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-block-scoping": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.24.1.tgz", + "integrity": "sha512-h71T2QQvDgM2SmT29UYU6ozjMlAt7s7CSs5Hvy8f8cf/GM/Z4a2zMfN+fjVGaieeCrXR3EdQl6C4gQG+OgmbKw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-class-properties": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.24.1.tgz", + "integrity": "sha512-OMLCXi0NqvJfORTaPQBwqLXHhb93wkBKZ4aNwMl6WtehO7ar+cmp+89iPEQPqxAnxsOKTaMcs3POz3rKayJ72g==", + "dev": true, + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.24.1", + "@babel/helper-plugin-utils": "^7.24.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-class-static-block": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.24.1.tgz", + "integrity": "sha512-FUHlKCn6J3ERiu8Dv+4eoz7w8+kFLSyeVG4vDAikwADGjUCoHw/JHokyGtr8OR4UjpwPVivyF+h8Q5iv/JmrtA==", + "dev": true, + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.24.1", + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/plugin-syntax-class-static-block": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.12.0" + } + }, + "node_modules/@babel/plugin-transform-classes": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.24.1.tgz", + "integrity": "sha512-ZTIe3W7UejJd3/3R4p7ScyyOoafetUShSf4kCqV0O7F/RiHxVj/wRaRnQlrGwflvcehNA8M42HkAiEDYZu2F1Q==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-compilation-targets": "^7.23.6", + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-function-name": "^7.23.0", + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/helper-replace-supers": "^7.24.1", + "@babel/helper-split-export-declaration": "^7.22.6", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-computed-properties": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.24.1.tgz", + "integrity": "sha512-5pJGVIUfJpOS+pAqBQd+QMaTD2vCL/HcePooON6pDpHgRp4gNRmzyHTPIkXntwKsq3ayUFVfJaIKPw2pOkOcTw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/template": "^7.24.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-destructuring": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.24.1.tgz", + "integrity": "sha512-ow8jciWqNxR3RYbSNVuF4U2Jx130nwnBnhRw6N6h1bOejNkABmcI5X5oz29K4alWX7vf1C+o6gtKXikzRKkVdw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-dotall-regex": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.24.1.tgz", + "integrity": "sha512-p7uUxgSoZwZ2lPNMzUkqCts3xlp8n+o05ikjy7gbtFJSt9gdU88jAmtfmOxHM14noQXBxfgzf2yRWECiNVhTCw==", + "dev": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.22.15", + "@babel/helper-plugin-utils": "^7.24.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-duplicate-keys": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.24.1.tgz", + "integrity": "sha512-msyzuUnvsjsaSaocV6L7ErfNsa5nDWL1XKNnDePLgmz+WdU4w/J8+AxBMrWfi9m4IxfL5sZQKUPQKDQeeAT6lA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-dynamic-import": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.24.1.tgz", + "integrity": "sha512-av2gdSTyXcJVdI+8aFZsCAtR29xJt0S5tas+Ef8NvBNmD1a+N/3ecMLeMBgfcK+xzsjdLDT6oHt+DFPyeqUbDA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/plugin-syntax-dynamic-import": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-exponentiation-operator": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.24.1.tgz", + "integrity": "sha512-U1yX13dVBSwS23DEAqU+Z/PkwE9/m7QQy8Y9/+Tdb8UWYaGNDYwTLi19wqIAiROr8sXVum9A/rtiH5H0boUcTw==", + "dev": true, + "dependencies": { + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.22.15", + "@babel/helper-plugin-utils": "^7.24.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-export-namespace-from": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.24.1.tgz", + "integrity": "sha512-Ft38m/KFOyzKw2UaJFkWG9QnHPG/Q/2SkOrRk4pNBPg5IPZ+dOxcmkK5IyuBcxiNPyyYowPGUReyBvrvZs7IlQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-for-of": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.24.1.tgz", + "integrity": "sha512-OxBdcnF04bpdQdR3i4giHZNZQn7cm8RQKcSwA17wAAqEELo1ZOwp5FFgeptWUQXFyT9kwHo10aqqauYkRZPCAg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-function-name": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.24.1.tgz", + "integrity": "sha512-BXmDZpPlh7jwicKArQASrj8n22/w6iymRnvHYYd2zO30DbE277JO20/7yXJT3QxDPtiQiOxQBbZH4TpivNXIxA==", + "dev": true, + "dependencies": { + "@babel/helper-compilation-targets": "^7.23.6", + "@babel/helper-function-name": "^7.23.0", + "@babel/helper-plugin-utils": "^7.24.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-json-strings": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.24.1.tgz", + "integrity": "sha512-U7RMFmRvoasscrIFy5xA4gIp8iWnWubnKkKuUGJjsuOH7GfbMkB+XZzeslx2kLdEGdOJDamEmCqOks6e8nv8DQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/plugin-syntax-json-strings": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-literals": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.24.1.tgz", + "integrity": "sha512-zn9pwz8U7nCqOYIiBaOxoQOtYmMODXTJnkxG4AtX8fPmnCRYWBOHD0qcpwS9e2VDSp1zNJYpdnFMIKb8jmwu6g==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-logical-assignment-operators": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.24.1.tgz", + "integrity": "sha512-OhN6J4Bpz+hIBqItTeWJujDOfNP+unqv/NJgyhlpSqgBTPm37KkMmZV6SYcOj+pnDbdcl1qRGV/ZiIjX9Iy34w==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-member-expression-literals": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.24.1.tgz", + "integrity": "sha512-4ojai0KysTWXzHseJKa1XPNXKRbuUrhkOPY4rEGeR+7ChlJVKxFa3H3Bz+7tWaGKgJAXUWKOGmltN+u9B3+CVg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-amd": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.24.1.tgz", + "integrity": "sha512-lAxNHi4HVtjnHd5Rxg3D5t99Xm6H7b04hUS7EHIXcUl2EV4yl1gWdqZrNzXnSrHveL9qMdbODlLF55mvgjAfaQ==", + "dev": true, + "dependencies": { + "@babel/helper-module-transforms": "^7.23.3", + "@babel/helper-plugin-utils": "^7.24.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-commonjs": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.24.1.tgz", + "integrity": "sha512-szog8fFTUxBfw0b98gEWPaEqF42ZUD/T3bkynW/wtgx2p/XCP55WEsb+VosKceRSd6njipdZvNogqdtI4Q0chw==", + "dev": true, + "dependencies": { + "@babel/helper-module-transforms": "^7.23.3", + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/helper-simple-access": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-systemjs": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.24.1.tgz", + "integrity": "sha512-mqQ3Zh9vFO1Tpmlt8QPnbwGHzNz3lpNEMxQb1kAemn/erstyqw1r9KeOlOfo3y6xAnFEcOv2tSyrXfmMk+/YZA==", + "dev": true, + "dependencies": { + "@babel/helper-hoist-variables": "^7.22.5", + "@babel/helper-module-transforms": "^7.23.3", + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/helper-validator-identifier": "^7.22.20" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-umd": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.24.1.tgz", + "integrity": "sha512-tuA3lpPj+5ITfcCluy6nWonSL7RvaG0AOTeAuvXqEKS34lnLzXpDb0dcP6K8jD0zWZFNDVly90AGFJPnm4fOYg==", + "dev": true, + "dependencies": { + "@babel/helper-module-transforms": "^7.23.3", + "@babel/helper-plugin-utils": "^7.24.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.22.5.tgz", + "integrity": "sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ==", + "dev": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-transform-new-target": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.24.1.tgz", + "integrity": "sha512-/rurytBM34hYy0HKZQyA0nHbQgQNFm4Q/BOc9Hflxi2X3twRof7NaE5W46j4kQitm7SvACVRXsa6N/tSZxvPug==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-nullish-coalescing-operator": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.24.1.tgz", + "integrity": "sha512-iQ+caew8wRrhCikO5DrUYx0mrmdhkaELgFa+7baMcVuhxIkN7oxt06CZ51D65ugIb1UWRQ8oQe+HXAVM6qHFjw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-numeric-separator": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.24.1.tgz", + "integrity": "sha512-7GAsGlK4cNL2OExJH1DzmDeKnRv/LXq0eLUSvudrehVA5Rgg4bIrqEUW29FbKMBRT0ztSqisv7kjP+XIC4ZMNw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/plugin-syntax-numeric-separator": "^7.10.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-object-rest-spread": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.24.1.tgz", + "integrity": "sha512-XjD5f0YqOtebto4HGISLNfiNMTTs6tbkFf2TOqJlYKYmbo+mN9Dnpl4SRoofiziuOWMIyq3sZEUqLo3hLITFEA==", + "dev": true, + "dependencies": { + "@babel/helper-compilation-targets": "^7.23.6", + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-transform-parameters": "^7.24.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-object-super": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.24.1.tgz", + "integrity": "sha512-oKJqR3TeI5hSLRxudMjFQ9re9fBVUU0GICqM3J1mi8MqlhVr6hC/ZN4ttAyMuQR6EZZIY6h/exe5swqGNNIkWQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/helper-replace-supers": "^7.24.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-optional-catch-binding": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.24.1.tgz", + "integrity": "sha512-oBTH7oURV4Y+3EUrf6cWn1OHio3qG/PVwO5J03iSJmBg6m2EhKjkAu/xuaXaYwWW9miYtvbWv4LNf0AmR43LUA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-optional-chaining": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.24.1.tgz", + "integrity": "sha512-n03wmDt+987qXwAgcBlnUUivrZBPZ8z1plL0YvgQalLm+ZE5BMhGm94jhxXtA1wzv1Cu2aaOv1BM9vbVttrzSg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", + "@babel/plugin-syntax-optional-chaining": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-parameters": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.24.1.tgz", + "integrity": "sha512-8Jl6V24g+Uw5OGPeWNKrKqXPDw2YDjLc53ojwfMcKwlEoETKU9rU0mHUtcg9JntWI/QYzGAXNWEcVHZ+fR+XXg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-private-methods": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.24.1.tgz", + "integrity": "sha512-tGvisebwBO5em4PaYNqt4fkw56K2VALsAbAakY0FjTYqJp7gfdrgr7YX76Or8/cpik0W6+tj3rZ0uHU9Oil4tw==", + "dev": true, + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.24.1", + "@babel/helper-plugin-utils": "^7.24.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-private-property-in-object": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.24.1.tgz", + "integrity": "sha512-pTHxDVa0BpUbvAgX3Gat+7cSciXqUcY9j2VZKTbSB6+VQGpNgNO9ailxTGHSXlqOnX1Hcx1Enme2+yv7VqP9bg==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-create-class-features-plugin": "^7.24.1", + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-property-literals": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.24.1.tgz", + "integrity": "sha512-LetvD7CrHmEx0G442gOomRr66d7q8HzzGGr4PMHGr+5YIm6++Yke+jxj246rpvsbyhJwCLxcTn6zW1P1BSenqA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-display-name": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.24.1.tgz", + "integrity": "sha512-mvoQg2f9p2qlpDQRBC7M3c3XTr0k7cp/0+kFKKO/7Gtu0LSw16eKB+Fabe2bDT/UpsyasTBBkAnbdsLrkD5XMw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.23.4.tgz", + "integrity": "sha512-5xOpoPguCZCRbo/JeHlloSkTA8Bld1J/E1/kLfD1nsuiW1m8tduTA1ERCgIZokDflX/IBzKcqR3l7VlRgiIfHA==", + "dev": true, + "dependencies": { + "@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/types": "^7.23.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx-development": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.22.5.tgz", + "integrity": "sha512-bDhuzwWMuInwCYeDeMzyi7TaBgRQei6DqxhbyniL7/VG4RSS7HtSL2QbY4eESy1KJqlWt8g3xeEBGPuo+XqC8A==", + "dev": true, + "dependencies": { + "@babel/plugin-transform-react-jsx": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx-self": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.24.1.tgz", + "integrity": "sha512-kDJgnPujTmAZ/9q2CN4m2/lRsUUPDvsG3+tSHWUJIzMGTt5U/b/fwWd3RO3n+5mjLrsBrVa5eKFRVSQbi3dF1w==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx-source": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.24.1.tgz", + "integrity": "sha512-1v202n7aUq4uXAieRTKcwPzNyphlCuqHHDcdSNc+vdhoTEZcFMh+L5yZuCmGaIO7bs1nJUNfHB89TZyoL48xNA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-pure-annotations": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.24.1.tgz", + "integrity": "sha512-+pWEAaDJvSm9aFvJNpLiM2+ktl2Sn2U5DdyiWdZBxmLc6+xGt88dvFqsHiAiDS+8WqUwbDfkKz9jRxK3M0k+kA==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-plugin-utils": "^7.24.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-regenerator": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.24.1.tgz", + "integrity": "sha512-sJwZBCzIBE4t+5Q4IGLaaun5ExVMRY0lYwos/jNecjMrVCygCdph3IKv0tkP5Fc87e/1+bebAmEAGBfnRD+cnw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.0", + "regenerator-transform": "^0.15.2" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-reserved-words": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.24.1.tgz", + "integrity": "sha512-JAclqStUfIwKN15HrsQADFgeZt+wexNQ0uLhuqvqAUFoqPMjEcFCYZBhq0LUdz6dZK/mD+rErhW71fbx8RYElg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-runtime": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.4.4.tgz", + "integrity": "sha512-aMVojEjPszvau3NRg+TIH14ynZLvPewH4xhlCW1w6A3rkxTS1m4uwzRclYR9oS+rl/dr+kT+pzbfHuAWP/lc7Q==", + "dev": true, + "dependencies": { + "@babel/helper-module-imports": "^7.0.0", + "@babel/helper-plugin-utils": "^7.0.0", + "resolve": "^1.8.1", + "semver": "^5.5.1" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-runtime/node_modules/semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "dev": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/@babel/plugin-transform-shorthand-properties": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.24.1.tgz", + "integrity": "sha512-LyjVB1nsJ6gTTUKRjRWx9C1s9hE7dLfP/knKdrfeH9UPtAGjYGgxIbFfx7xyLIEWs7Xe1Gnf8EWiUqfjLhInZA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-spread": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.24.1.tgz", + "integrity": "sha512-KjmcIM+fxgY+KxPVbjelJC6hrH1CgtPmTvdXAfn3/a9CnWGSTY7nH4zm5+cjmWJybdcPSsD0++QssDsjcpe47g==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-sticky-regex": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.24.1.tgz", + "integrity": "sha512-9v0f1bRXgPVcPrngOQvLXeGNNVLc8UjMVfebo9ka0WF3/7+aVUHmaJVT3sa0XCzEFioPfPHZiOcYG9qOsH63cw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-template-literals": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.24.1.tgz", + "integrity": "sha512-WRkhROsNzriarqECASCNu/nojeXCDTE/F2HmRgOzi7NGvyfYGq1NEjKBK3ckLfRgGc6/lPAqP0vDOSw3YtG34g==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-typeof-symbol": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.24.1.tgz", + "integrity": "sha512-CBfU4l/A+KruSUoW+vTQthwcAdwuqbpRNB8HQKlZABwHRhsdHZ9fezp4Sn18PeAlYxTNiLMlx4xUBV3AWfg1BA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-typescript": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.24.1.tgz", + "integrity": "sha512-liYSESjX2fZ7JyBFkYG78nfvHlMKE6IpNdTVnxmlYUR+j5ZLsitFbaAE+eJSK2zPPkNWNw4mXL51rQ8WrvdK0w==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-create-class-features-plugin": "^7.24.1", + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/plugin-syntax-typescript": "^7.24.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-escapes": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.24.1.tgz", + "integrity": "sha512-RlkVIcWT4TLI96zM660S877E7beKlQw7Ig+wqkKBiWfj0zH5Q4h50q6er4wzZKRNSYpfo6ILJ+hrJAGSX2qcNw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-property-regex": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.24.1.tgz", + "integrity": "sha512-Ss4VvlfYV5huWApFsF8/Sq0oXnGO+jB+rijFEFugTd3cwSObUSnUi88djgR5528Csl0uKlrI331kRqe56Ov2Ng==", + "dev": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.22.15", + "@babel/helper-plugin-utils": "^7.24.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-regex": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.24.1.tgz", + "integrity": "sha512-2A/94wgZgxfTsiLaQ2E36XAOdcZmGAaEEgVmxQWwZXWkGhvoHbaqXcKnU8zny4ycpu3vNqg0L/PcCiYtHtA13g==", + "dev": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.22.15", + "@babel/helper-plugin-utils": "^7.24.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-sets-regex": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.24.1.tgz", + "integrity": "sha512-fqj4WuzzS+ukpgerpAoOnMfQXwUHFxXUZUE84oL2Kao2N8uSlvcpnAidKASgsNgzZHBsHWvcm8s9FPWUhAb8fA==", + "dev": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.22.15", + "@babel/helper-plugin-utils": "^7.24.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/preset-env": { + "version": "7.24.3", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.24.3.tgz", + "integrity": "sha512-fSk430k5c2ff8536JcPvPWK4tZDwehWLGlBp0wrsBUjZVdeQV6lePbwKWZaZfK2vnh/1kQX1PzAJWsnBmVgGJA==", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.24.1", + "@babel/helper-compilation-targets": "^7.23.6", + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/helper-validator-option": "^7.23.5", + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.24.1", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.24.1", + "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.24.1", + "@babel/plugin-proposal-private-property-in-object": "7.21.0-placeholder-for-preset-env.2", + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-class-properties": "^7.12.13", + "@babel/plugin-syntax-class-static-block": "^7.14.5", + "@babel/plugin-syntax-dynamic-import": "^7.8.3", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3", + "@babel/plugin-syntax-import-assertions": "^7.24.1", + "@babel/plugin-syntax-import-attributes": "^7.24.1", + "@babel/plugin-syntax-import-meta": "^7.10.4", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.10.4", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5", + "@babel/plugin-syntax-top-level-await": "^7.14.5", + "@babel/plugin-syntax-unicode-sets-regex": "^7.18.6", + "@babel/plugin-transform-arrow-functions": "^7.24.1", + "@babel/plugin-transform-async-generator-functions": "^7.24.3", + "@babel/plugin-transform-async-to-generator": "^7.24.1", + "@babel/plugin-transform-block-scoped-functions": "^7.24.1", + "@babel/plugin-transform-block-scoping": "^7.24.1", + "@babel/plugin-transform-class-properties": "^7.24.1", + "@babel/plugin-transform-class-static-block": "^7.24.1", + "@babel/plugin-transform-classes": "^7.24.1", + "@babel/plugin-transform-computed-properties": "^7.24.1", + "@babel/plugin-transform-destructuring": "^7.24.1", + "@babel/plugin-transform-dotall-regex": "^7.24.1", + "@babel/plugin-transform-duplicate-keys": "^7.24.1", + "@babel/plugin-transform-dynamic-import": "^7.24.1", + "@babel/plugin-transform-exponentiation-operator": "^7.24.1", + "@babel/plugin-transform-export-namespace-from": "^7.24.1", + "@babel/plugin-transform-for-of": "^7.24.1", + "@babel/plugin-transform-function-name": "^7.24.1", + "@babel/plugin-transform-json-strings": "^7.24.1", + "@babel/plugin-transform-literals": "^7.24.1", + "@babel/plugin-transform-logical-assignment-operators": "^7.24.1", + "@babel/plugin-transform-member-expression-literals": "^7.24.1", + "@babel/plugin-transform-modules-amd": "^7.24.1", + "@babel/plugin-transform-modules-commonjs": "^7.24.1", + "@babel/plugin-transform-modules-systemjs": "^7.24.1", + "@babel/plugin-transform-modules-umd": "^7.24.1", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.22.5", + "@babel/plugin-transform-new-target": "^7.24.1", + "@babel/plugin-transform-nullish-coalescing-operator": "^7.24.1", + "@babel/plugin-transform-numeric-separator": "^7.24.1", + "@babel/plugin-transform-object-rest-spread": "^7.24.1", + "@babel/plugin-transform-object-super": "^7.24.1", + "@babel/plugin-transform-optional-catch-binding": "^7.24.1", + "@babel/plugin-transform-optional-chaining": "^7.24.1", + "@babel/plugin-transform-parameters": "^7.24.1", + "@babel/plugin-transform-private-methods": "^7.24.1", + "@babel/plugin-transform-private-property-in-object": "^7.24.1", + "@babel/plugin-transform-property-literals": "^7.24.1", + "@babel/plugin-transform-regenerator": "^7.24.1", + "@babel/plugin-transform-reserved-words": "^7.24.1", + "@babel/plugin-transform-shorthand-properties": "^7.24.1", + "@babel/plugin-transform-spread": "^7.24.1", + "@babel/plugin-transform-sticky-regex": "^7.24.1", + "@babel/plugin-transform-template-literals": "^7.24.1", + "@babel/plugin-transform-typeof-symbol": "^7.24.1", + "@babel/plugin-transform-unicode-escapes": "^7.24.1", + "@babel/plugin-transform-unicode-property-regex": "^7.24.1", + "@babel/plugin-transform-unicode-regex": "^7.24.1", + "@babel/plugin-transform-unicode-sets-regex": "^7.24.1", + "@babel/preset-modules": "0.1.6-no-external-plugins", + "babel-plugin-polyfill-corejs2": "^0.4.10", + "babel-plugin-polyfill-corejs3": "^0.10.4", + "babel-plugin-polyfill-regenerator": "^0.6.1", + "core-js-compat": "^3.31.0", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/preset-env/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/preset-modules": { + "version": "0.1.6-no-external-plugins", + "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz", + "integrity": "sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/types": "^7.4.4", + "esutils": "^2.0.2" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/@babel/preset-react": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.24.1.tgz", + "integrity": "sha512-eFa8up2/8cZXLIpkafhaADTXSnl7IsUFCYenRWrARBz0/qZwcT0RBXpys0LJU4+WfPoF2ZG6ew6s2V6izMCwRA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/helper-validator-option": "^7.23.5", + "@babel/plugin-transform-react-display-name": "^7.24.1", + "@babel/plugin-transform-react-jsx": "^7.23.4", + "@babel/plugin-transform-react-jsx-development": "^7.22.5", + "@babel/plugin-transform-react-pure-annotations": "^7.24.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/preset-typescript": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.24.1.tgz", + "integrity": "sha512-1DBaMmRDpuYQBPWD8Pf/WEwCrtgRHxsZnP4mIy9G/X+hFfbI47Q2G4t1Paakld84+qsk2fSsUPMKg71jkoOOaQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/helper-validator-option": "^7.23.5", + "@babel/plugin-syntax-jsx": "^7.24.1", + "@babel/plugin-transform-modules-commonjs": "^7.24.1", + "@babel/plugin-transform-typescript": "^7.24.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/register": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/register/-/register-7.4.4.tgz", + "integrity": "sha512-sn51H88GRa00+ZoMqCVgOphmswG4b7mhf9VOB0LUBAieykq2GnRFerlN+JQkO/ntT7wz4jaHNSRPg9IdMPEUkA==", + "dev": true, + "dependencies": { + "core-js": "^3.0.0", + "find-cache-dir": "^2.0.0", + "lodash": "^4.17.11", + "mkdirp": "^0.5.1", + "pirates": "^4.0.0", + "source-map-support": "^0.5.9" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/register/node_modules/find-cache-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz", + "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==", + "dev": true, + "dependencies": { + "commondir": "^1.0.1", + "make-dir": "^2.0.0", + "pkg-dir": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@babel/register/node_modules/find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dev": true, + "dependencies": { + "locate-path": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@babel/register/node_modules/locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dev": true, + "dependencies": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@babel/register/node_modules/make-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", + "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", + "dev": true, + "dependencies": { + "pify": "^4.0.1", + "semver": "^5.6.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@babel/register/node_modules/mkdirp": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", + "dev": true, + "dependencies": { + "minimist": "^1.2.6" + }, + "bin": { + "mkdirp": "bin/cmd.js" + } + }, + "node_modules/@babel/register/node_modules/p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dev": true, + "dependencies": { + "p-limit": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@babel/register/node_modules/path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/register/node_modules/pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/@babel/register/node_modules/pkg-dir": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", + "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", + "dev": true, + "dependencies": { + "find-up": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@babel/register/node_modules/semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "dev": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/@babel/regjsgen": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/@babel/regjsgen/-/regjsgen-0.8.0.tgz", + "integrity": "sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==", + "dev": true + }, + "node_modules/@babel/runtime": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.24.1.tgz", + "integrity": "sha512-+BIznRzyqBf+2wCTxcKE3wDjfGeCoVE61KSHGpkzqrLi8qxqFwBeUFyId2cxkTmm55fzDGnm0+yCxaxygrLUnQ==", + "dependencies": { + "regenerator-runtime": "^0.14.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/runtime-corejs3": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.24.1.tgz", + "integrity": "sha512-T9ko/35G+Bkl+win48GduaPlhSlOjjE5s1TeiEcD+QpxlLQnoEfb/nO/T+TQqkm+ipFwORn+rB8w14iJ/uD0bg==", + "dev": true, + "dependencies": { + "core-js-pure": "^3.30.2", + "regenerator-runtime": "^0.14.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/template": { + "version": "7.24.0", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.24.0.tgz", + "integrity": "sha512-Bkf2q8lMB0AFpX0NFEqSbx1OkTHf0f+0j82mkw+ZpzBnkk7e9Ql0891vlfgi+kHwOk8tQjiQHpqh4LaSa0fKEA==", + "dependencies": { + "@babel/code-frame": "^7.23.5", + "@babel/parser": "^7.24.0", + "@babel/types": "^7.24.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.24.1.tgz", + "integrity": "sha512-xuU6o9m68KeqZbQuDt2TcKSxUw/mrsvavlEqQ1leZ/B+C9tk6E4sRWy97WaXgvq5E+nU3cXMxv3WKOCanVMCmQ==", + "dependencies": { + "@babel/code-frame": "^7.24.1", + "@babel/generator": "^7.24.1", + "@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.24.1", + "@babel/types": "^7.24.0", + "debug": "^4.3.1", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/types": { + "version": "7.24.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.24.0.tgz", + "integrity": "sha512-+j7a5c253RfKh8iABBhywc8NSfP5LURe7Uh4qpsh6jc+aLJguvmIUBdjSdEMQv2bENrCR5MfRdjGo7vzS/ob7w==", + "dependencies": { + "@babel/helper-string-parser": "^7.23.4", + "@babel/helper-validator-identifier": "^7.22.20", + "to-fast-properties": "^2.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@bcoe/v8-coverage": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", + "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", + "dev": true + }, + "node_modules/@bloomberg/record-tuple-polyfill": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/@bloomberg/record-tuple-polyfill/-/record-tuple-polyfill-0.0.3.tgz", + "integrity": "sha512-sBnCqW0nqofE47mxFnw+lvx6kzsQstwaQMVkh66qm/A6IlsnH7WsyGuVXTou8RF2wL4W7ybOoHPvP2WgIo6rhQ==" + }, + "node_modules/@braintree/sanitize-url": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/@braintree/sanitize-url/-/sanitize-url-5.0.2.tgz", + "integrity": "sha512-NBEJlHWrhQucLhZGHtSxM2loSaNUMajC7KOYJLyfcdW/6goVoff2HoYI3bz8YCDN0wKGbxtUL0gx2dvHpvnWlw==", + "deprecated": "Potential XSS vulnerability patched in v6.0.0.", + "dev": true + }, + "node_modules/@chenshuai2144/sketch-color": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/@chenshuai2144/sketch-color/-/sketch-color-1.0.9.tgz", + "integrity": "sha512-obzSy26cb7Pm7OprWyVpgMpIlrZpZ0B7vbrU0RMbvRg0YAI890S5Xy02Aj1Nhl4+KTbi1lVYHt6HQP8Hm9s+1w==", + "dependencies": { + "reactcss": "^1.2.3", + "tinycolor2": "^1.4.2" + }, + "peerDependencies": { + "react": ">=16.12.0" + } + }, + "node_modules/@cnakazawa/watch": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@cnakazawa/watch/-/watch-1.0.4.tgz", + "integrity": "sha512-v9kIhKwjeZThiWrLmj0y17CWoyddASLj9O2yvbZkbvw/N3rWOYy9zkV66ursAoVr0mV15bL8g0c4QZUE6cdDoQ==", + "dev": true, + "dependencies": { + "exec-sh": "^0.3.2", + "minimist": "^1.2.0" + }, + "bin": { + "watch": "cli.js" + }, + "engines": { + "node": ">=0.1.95" + } + }, + "node_modules/@csstools/convert-colors": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@csstools/convert-colors/-/convert-colors-1.4.0.tgz", + "integrity": "sha512-5a6wqoJV/xEdbRNKVo6I4hO3VjyDq//8q2f9I6PBAvMesJHFauXDorcNCsr9RzvsZnaWi5NYCcfyqP1QeFHFbw==", + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/@ctrl/tinycolor": { + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/@ctrl/tinycolor/-/tinycolor-3.6.1.tgz", + "integrity": "sha512-SITSV6aIXsuVNV3f3O0f2n/cgyEDWoSqtZMYiAmcsYHydcKrOz3gUxB/iXd/Qf08+IZX4KpgNbvUdMBmWz+kcA==", + "engines": { + "node": ">=10" + } + }, + "node_modules/@eslint-community/eslint-utils": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", + "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", + "dev": true, + "dependencies": { + "eslint-visitor-keys": "^3.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" + } + }, + "node_modules/@eslint-community/eslint-utils/node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@eslint-community/regexpp": { + "version": "4.10.0", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.10.0.tgz", + "integrity": "sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==", + "dev": true, + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + } + }, + "node_modules/@eslint/eslintrc": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.4.3.tgz", + "integrity": "sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw==", + "dev": true, + "dependencies": { + "ajv": "^6.12.4", + "debug": "^4.1.1", + "espree": "^7.3.0", + "globals": "^13.9.0", + "ignore": "^4.0.6", + "import-fresh": "^3.2.1", + "js-yaml": "^3.13.1", + "minimatch": "^3.0.4", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/@eslint/eslintrc/node_modules/globals": { + "version": "13.24.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", + "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", + "dev": true, + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@eslint/eslintrc/node_modules/ignore": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", + "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/@exodus/schemasafe": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@exodus/schemasafe/-/schemasafe-1.3.0.tgz", + "integrity": "sha512-5Aap/GaRupgNx/feGBwLLTVv8OQFfv3pq2lPRzPg9R+IOBnDgghTGW7l7EuVXOvg5cc/xSAlRW8rBrjIC3Nvqw==", + "dev": true + }, + "node_modules/@formatjs/ecma402-abstract": { + "version": "1.11.4", + "resolved": "https://registry.npmjs.org/@formatjs/ecma402-abstract/-/ecma402-abstract-1.11.4.tgz", + "integrity": "sha512-EBikYFp2JCdIfGEb5G9dyCkTGDmC57KSHhRQOC3aYxoPWVZvfWCDjZwkGYHN7Lis/fmuWl906bnNTJifDQ3sXw==", + "dev": true, + "dependencies": { + "@formatjs/intl-localematcher": "0.2.25", + "tslib": "^2.1.0" + } + }, + "node_modules/@formatjs/fast-memoize": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@formatjs/fast-memoize/-/fast-memoize-1.2.1.tgz", + "integrity": "sha512-Rg0e76nomkz3vF9IPlKeV+Qynok0r7YZjL6syLz4/urSg0IbjPZCB/iYUMNsYA643gh4mgrX3T7KEIFIxJBQeg==", + "dev": true, + "dependencies": { + "tslib": "^2.1.0" + } + }, + "node_modules/@formatjs/icu-messageformat-parser": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@formatjs/icu-messageformat-parser/-/icu-messageformat-parser-2.1.0.tgz", + "integrity": "sha512-Qxv/lmCN6hKpBSss2uQ8IROVnta2r9jd3ymUEIjm2UyIkUCHVcbUVRGL/KS/wv7876edvsPe+hjHVJ4z8YuVaw==", + "dev": true, + "dependencies": { + "@formatjs/ecma402-abstract": "1.11.4", + "@formatjs/icu-skeleton-parser": "1.3.6", + "tslib": "^2.1.0" + } + }, + "node_modules/@formatjs/icu-skeleton-parser": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/@formatjs/icu-skeleton-parser/-/icu-skeleton-parser-1.3.6.tgz", + "integrity": "sha512-I96mOxvml/YLrwU2Txnd4klA7V8fRhb6JG/4hm3VMNmeJo1F03IpV2L3wWt7EweqNLES59SZ4d6hVOPCSf80Bg==", + "dev": true, + "dependencies": { + "@formatjs/ecma402-abstract": "1.11.4", + "tslib": "^2.1.0" + } + }, + "node_modules/@formatjs/intl-displaynames": { + "version": "1.2.10", + "resolved": "https://registry.npmjs.org/@formatjs/intl-displaynames/-/intl-displaynames-1.2.10.tgz", + "integrity": "sha512-GROA2RP6+7Ouu0WnHFF78O5XIU7pBfI19WM1qm93l6MFWibUk67nCfVCK3VAYJkLy8L8ZxjkYT11VIAfvSz8wg==", + "dev": true, + "dependencies": { + "@formatjs/intl-utils": "^2.3.0" + } + }, + "node_modules/@formatjs/intl-listformat": { + "version": "1.4.8", + "resolved": "https://registry.npmjs.org/@formatjs/intl-listformat/-/intl-listformat-1.4.8.tgz", + "integrity": "sha512-WNMQlEg0e50VZrGIkgD5n7+DAMGt3boKi1GJALfhFMymslJb5i+5WzWxyj/3a929Z6MAFsmzRIJjKuv+BxKAOQ==", + "dev": true, + "dependencies": { + "@formatjs/intl-utils": "^2.3.0" + } + }, + "node_modules/@formatjs/intl-localematcher": { + "version": "0.2.25", + "resolved": "https://registry.npmjs.org/@formatjs/intl-localematcher/-/intl-localematcher-0.2.25.tgz", + "integrity": "sha512-YmLcX70BxoSopLFdLr1Ds99NdlTI2oWoLbaUW2M406lxOIPzE1KQhRz2fPUkq34xVZQaihCoU29h0KK7An3bhA==", + "dev": true, + "dependencies": { + "tslib": "^2.1.0" + } + }, + "node_modules/@formatjs/intl-pluralrules": { + "version": "1.5.9", + "resolved": "https://registry.npmjs.org/@formatjs/intl-pluralrules/-/intl-pluralrules-1.5.9.tgz", + "integrity": "sha512-37E1ZG+Oqo3qrpUfumzNcFTV+V+NCExmTkkQ9Zw4FSlvJ4WhbbeYdieVapUVz9M0cLy8XrhCkfuM/Kn03iKReg==", + "dev": true, + "dependencies": { + "@formatjs/intl-utils": "^2.3.0" + } + }, + "node_modules/@formatjs/intl-relativetimeformat": { + "version": "4.5.16", + "resolved": "https://registry.npmjs.org/@formatjs/intl-relativetimeformat/-/intl-relativetimeformat-4.5.16.tgz", + "integrity": "sha512-IQ0haY97oHAH5OYUdykNiepdyEWj3SAT+Fp9ZpR85ov2JNiFx+12WWlxlVS8ehdyncC2ZMt/SwFIy2huK2+6/A==", + "dev": true, + "dependencies": { + "@formatjs/intl-utils": "^2.3.0" + } + }, + "node_modules/@formatjs/intl-unified-numberformat": { + "version": "3.3.7", + "resolved": "https://registry.npmjs.org/@formatjs/intl-unified-numberformat/-/intl-unified-numberformat-3.3.7.tgz", + "integrity": "sha512-KnWgLRHzCAgT9eyt3OS34RHoyD7dPDYhRcuKn+/6Kv2knDF8Im43J6vlSW6Hm1w63fNq3ZIT1cFk7RuVO3Psag==", + "deprecated": "We have renamed the package to @formatjs/intl-numberformat", + "dev": true, + "dependencies": { + "@formatjs/intl-utils": "^2.3.0" + } + }, + "node_modules/@formatjs/intl-utils": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@formatjs/intl-utils/-/intl-utils-2.3.0.tgz", + "integrity": "sha512-KWk80UPIzPmUg+P0rKh6TqspRw0G6eux1PuJr+zz47ftMaZ9QDwbGzHZbtzWkl5hgayM/qrKRutllRC7D/vVXQ==", + "deprecated": "the package is rather renamed to @formatjs/ecma-abstract with some changes in functionality (primarily selectUnit is removed and we don't plan to make any further changes to this package", + "dev": true + }, + "node_modules/@hapi/address": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@hapi/address/-/address-2.1.4.tgz", + "integrity": "sha512-QD1PhQk+s31P1ixsX0H0Suoupp3VMXzIVMSwobR3F3MSUO2YCV0B7xqLcUw/Bh8yuvd3LhpyqLQWTNcRmp6IdQ==", + "deprecated": "Moved to 'npm install @sideway/address'", + "dev": true + }, + "node_modules/@hapi/formula": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@hapi/formula/-/formula-1.2.0.tgz", + "integrity": "sha512-UFbtbGPjstz0eWHb+ga/GM3Z9EzqKXFWIbSOFURU0A/Gku0Bky4bCk9/h//K2Xr3IrCfjFNhMm4jyZ5dbCewGA==", + "deprecated": "Moved to 'npm install @sideway/formula'", + "dev": true + }, + "node_modules/@hapi/hoek": { + "version": "8.5.1", + "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-8.5.1.tgz", + "integrity": "sha512-yN7kbciD87WzLGc5539Tn0sApjyiGHAJgKvG9W8C7O+6c7qmoQMfVs0W4bX17eqz6C78QJqqFrtgdK5EWf6Qow==", + "deprecated": "This version has been deprecated and is no longer supported or maintained", + "dev": true + }, + "node_modules/@hapi/joi": { + "version": "16.1.8", + "resolved": "https://registry.npmjs.org/@hapi/joi/-/joi-16.1.8.tgz", + "integrity": "sha512-wAsVvTPe+FwSrsAurNt5vkg3zo+TblvC5Bb1zMVK6SJzZqw9UrJnexxR+76cpePmtUZKHAPxcQ2Bf7oVHyahhg==", + "deprecated": "Switch to 'npm install joi'", + "dev": true, + "dependencies": { + "@hapi/address": "^2.1.2", + "@hapi/formula": "^1.2.0", + "@hapi/hoek": "^8.2.4", + "@hapi/pinpoint": "^1.0.2", + "@hapi/topo": "^3.1.3" + } + }, + "node_modules/@hapi/pinpoint": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@hapi/pinpoint/-/pinpoint-1.0.2.tgz", + "integrity": "sha512-dtXC/WkZBfC5vxscazuiJ6iq4j9oNx1SHknmIr8hofarpKUZKmlUVYVIhNVzIEgK5Wrc4GMHL5lZtt1uS2flmQ==", + "deprecated": "Moved to 'npm install @sideway/pinpoint'", + "dev": true + }, + "node_modules/@hapi/topo": { + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-3.1.6.tgz", + "integrity": "sha512-tAag0jEcjwH+P2quUfipd7liWCNX2F8NvYjQp2wtInsZxnMlypdw0FtAOLxtvvkO+GSRRbmNi8m/5y42PQJYCQ==", + "deprecated": "This version has been deprecated and is no longer supported or maintained", + "dev": true, + "dependencies": { + "@hapi/hoek": "^8.3.0" + } + }, + "node_modules/@humanwhocodes/config-array": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.5.0.tgz", + "integrity": "sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg==", + "dev": true, + "dependencies": { + "@humanwhocodes/object-schema": "^1.2.0", + "debug": "^4.1.1", + "minimatch": "^3.0.4" + }, + "engines": { + "node": ">=10.10.0" + } + }, + "node_modules/@humanwhocodes/object-schema": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", + "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", + "dev": true + }, + "node_modules/@istanbuljs/load-nyc-config": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", + "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", + "dev": true, + "dependencies": { + "camelcase": "^5.3.1", + "find-up": "^4.1.0", + "get-package-type": "^0.1.0", + "js-yaml": "^3.13.1", + "resolve-from": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/schema": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", + "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/console": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-26.6.2.tgz", + "integrity": "sha512-IY1R2i2aLsLr7Id3S6p2BA82GNWryt4oSvEXLAKc+L2zdi89dSkE8xC1C+0kpATG4JhBJREnQOH7/zmccM2B0g==", + "dev": true, + "dependencies": { + "@jest/types": "^26.6.2", + "@types/node": "*", + "chalk": "^4.0.0", + "jest-message-util": "^26.6.2", + "jest-util": "^26.6.2", + "slash": "^3.0.0" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/@jest/core": { + "version": "26.6.3", + "resolved": "https://registry.npmjs.org/@jest/core/-/core-26.6.3.tgz", + "integrity": "sha512-xvV1kKbhfUqFVuZ8Cyo+JPpipAHHAV3kcDBftiduK8EICXmTFddryy3P7NfZt8Pv37rA9nEJBKCCkglCPt/Xjw==", + "dev": true, + "dependencies": { + "@jest/console": "^26.6.2", + "@jest/reporters": "^26.6.2", + "@jest/test-result": "^26.6.2", + "@jest/transform": "^26.6.2", + "@jest/types": "^26.6.2", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.4", + "jest-changed-files": "^26.6.2", + "jest-config": "^26.6.3", + "jest-haste-map": "^26.6.2", + "jest-message-util": "^26.6.2", + "jest-regex-util": "^26.0.0", + "jest-resolve": "^26.6.2", + "jest-resolve-dependencies": "^26.6.3", + "jest-runner": "^26.6.3", + "jest-runtime": "^26.6.3", + "jest-snapshot": "^26.6.2", + "jest-util": "^26.6.2", + "jest-validate": "^26.6.2", + "jest-watcher": "^26.6.2", + "micromatch": "^4.0.2", + "p-each-series": "^2.1.0", + "rimraf": "^3.0.0", + "slash": "^3.0.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/@jest/environment": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-26.6.2.tgz", + "integrity": "sha512-nFy+fHl28zUrRsCeMB61VDThV1pVTtlEokBRgqPrcT1JNq4yRNIyTHfyht6PqtUvY9IsuLGTrbG8kPXjSZIZwA==", + "dev": true, + "dependencies": { + "@jest/fake-timers": "^26.6.2", + "@jest/types": "^26.6.2", + "@types/node": "*", + "jest-mock": "^26.6.2" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/@jest/fake-timers": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-26.6.2.tgz", + "integrity": "sha512-14Uleatt7jdzefLPYM3KLcnUl1ZNikaKq34enpb5XG9i81JpppDb5muZvonvKyrl7ftEHkKS5L5/eB/kxJ+bvA==", + "dev": true, + "dependencies": { + "@jest/types": "^26.6.2", + "@sinonjs/fake-timers": "^6.0.1", + "@types/node": "*", + "jest-message-util": "^26.6.2", + "jest-mock": "^26.6.2", + "jest-util": "^26.6.2" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/@jest/globals": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-26.6.2.tgz", + "integrity": "sha512-85Ltnm7HlB/KesBUuALwQ68YTU72w9H2xW9FjZ1eL1U3lhtefjjl5c2MiUbpXt/i6LaPRvoOFJ22yCBSfQ0JIA==", + "dev": true, + "dependencies": { + "@jest/environment": "^26.6.2", + "@jest/types": "^26.6.2", + "expect": "^26.6.2" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/@jest/reporters": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-26.6.2.tgz", + "integrity": "sha512-h2bW53APG4HvkOnVMo8q3QXa6pcaNt1HkwVsOPMBV6LD/q9oSpxNSYZQYkAnjdMjrJ86UuYeLo+aEZClV6opnw==", + "dev": true, + "dependencies": { + "@bcoe/v8-coverage": "^0.2.3", + "@jest/console": "^26.6.2", + "@jest/test-result": "^26.6.2", + "@jest/transform": "^26.6.2", + "@jest/types": "^26.6.2", + "chalk": "^4.0.0", + "collect-v8-coverage": "^1.0.0", + "exit": "^0.1.2", + "glob": "^7.1.2", + "graceful-fs": "^4.2.4", + "istanbul-lib-coverage": "^3.0.0", + "istanbul-lib-instrument": "^4.0.3", + "istanbul-lib-report": "^3.0.0", + "istanbul-lib-source-maps": "^4.0.0", + "istanbul-reports": "^3.0.2", + "jest-haste-map": "^26.6.2", + "jest-resolve": "^26.6.2", + "jest-util": "^26.6.2", + "jest-worker": "^26.6.2", + "slash": "^3.0.0", + "source-map": "^0.6.0", + "string-length": "^4.0.1", + "terminal-link": "^2.0.0", + "v8-to-istanbul": "^7.0.0" + }, + "engines": { + "node": ">= 10.14.2" + }, + "optionalDependencies": { + "node-notifier": "^8.0.0" + } + }, + "node_modules/@jest/reporters/node_modules/istanbul-lib-instrument": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz", + "integrity": "sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ==", + "dev": true, + "dependencies": { + "@babel/core": "^7.7.5", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-coverage": "^3.0.0", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/reporters/node_modules/jest-worker": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-26.6.2.tgz", + "integrity": "sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==", + "dev": true, + "dependencies": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^7.0.0" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/@jest/reporters/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@jest/reporters/node_modules/terminal-link": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/terminal-link/-/terminal-link-2.1.1.tgz", + "integrity": "sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==", + "dev": true, + "dependencies": { + "ansi-escapes": "^4.2.1", + "supports-hyperlinks": "^2.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@jest/source-map": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-26.6.2.tgz", + "integrity": "sha512-YwYcCwAnNmOVsZ8mr3GfnzdXDAl4LaenZP5z+G0c8bzC9/dugL8zRmxZzdoTl4IaS3CryS1uWnROLPFmb6lVvA==", + "dev": true, + "dependencies": { + "callsites": "^3.0.0", + "graceful-fs": "^4.2.4", + "source-map": "^0.6.0" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/@jest/test-result": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-26.6.2.tgz", + "integrity": "sha512-5O7H5c/7YlojphYNrK02LlDIV2GNPYisKwHm2QTKjNZeEzezCbwYs9swJySv2UfPMyZ0VdsmMv7jIlD/IKYQpQ==", + "dev": true, + "dependencies": { + "@jest/console": "^26.6.2", + "@jest/types": "^26.6.2", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/@jest/test-sequencer": { + "version": "26.6.3", + "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-26.6.3.tgz", + "integrity": "sha512-YHlVIjP5nfEyjlrSr8t/YdNfU/1XEt7c5b4OxcXCjyRhjzLYu/rO69/WHPuYcbCWkz8kAeZVZp2N2+IOLLEPGw==", + "dev": true, + "dependencies": { + "@jest/test-result": "^26.6.2", + "graceful-fs": "^4.2.4", + "jest-haste-map": "^26.6.2", + "jest-runner": "^26.6.3", + "jest-runtime": "^26.6.3" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/@jest/transform": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-26.6.2.tgz", + "integrity": "sha512-E9JjhUgNzvuQ+vVAL21vlyfy12gP0GhazGgJC4h6qUt1jSdUXGWJ1wfu/X7Sd8etSgxV4ovT1pb9v5D6QW4XgA==", + "dev": true, + "dependencies": { + "@babel/core": "^7.1.0", + "@jest/types": "^26.6.2", + "babel-plugin-istanbul": "^6.0.0", + "chalk": "^4.0.0", + "convert-source-map": "^1.4.0", + "fast-json-stable-stringify": "^2.0.0", + "graceful-fs": "^4.2.4", + "jest-haste-map": "^26.6.2", + "jest-regex-util": "^26.0.0", + "jest-util": "^26.6.2", + "micromatch": "^4.0.2", + "pirates": "^4.0.1", + "slash": "^3.0.0", + "source-map": "^0.6.1", + "write-file-atomic": "^3.0.0" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/@jest/transform/node_modules/convert-source-map": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", + "dev": true + }, + "node_modules/@jest/types": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz", + "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^15.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", + "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", + "dependencies": { + "@jridgewell/set-array": "^1.2.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.24" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/set-array": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", + "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/source-map": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.6.tgz", + "integrity": "sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.15", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", + "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.25", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", + "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@kyleshockey/object-assign-deep": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/@kyleshockey/object-assign-deep/-/object-assign-deep-0.4.2.tgz", + "integrity": "sha512-GWZ8omROOrXe4/T4wsKfq86E0efACDG+mghGoz0nWY/THVmt8O/vSpc1YqRBlvBnprhMcL4OrRjM7R/FyKcMJw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/@kyleshockey/xml": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@kyleshockey/xml/-/xml-1.0.2.tgz", + "integrity": "sha512-iMo32MPLcI9cPxs3YL5kmKxKgDmkSZDCFEqIT5eRk7d/Ll8r4X3SwGYSigzALd6+RHWlFEmjL1QyaQ15xDZFlw==", + "dev": true, + "dependencies": { + "stream": "^0.0.2" + } + }, + "node_modules/@mapbox/hast-util-to-jsx": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@mapbox/hast-util-to-jsx/-/hast-util-to-jsx-1.0.0.tgz", + "integrity": "sha512-HJRp3qkr0uGIBFASzA8rVATLo6y/UoOMoD8eXsG8HVofk5Dokc9PV+dh266zYLZniYgtpJbc2+AKf1fNpsVqAA==", + "dev": true, + "dependencies": { + "kebab-case": "^1.0.0", + "postcss": "^7.0.31", + "postcss-js": "^2.0.3", + "property-information": "^5.5.0", + "react-attr-converter": "^0.3.1", + "stringify-entities": "^3.0.1", + "stringify-object": "^3.3.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@nicolo-ribaudo/eslint-scope-5-internals": { + "version": "5.1.1-v1", + "resolved": "https://registry.npmjs.org/@nicolo-ribaudo/eslint-scope-5-internals/-/eslint-scope-5-internals-5.1.1-v1.tgz", + "integrity": "sha512-54/JRvkLIzzDWshCWfuhadfrfZVPiElY8Fcgmg1HroEly/EDSszzhBAsarCux+D/kOslTRquNzuyGSmUSTTHGg==", + "dev": true, + "dependencies": { + "eslint-scope": "5.1.1" + } + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@playwright/test": { + "version": "1.42.1", + "resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.42.1.tgz", + "integrity": "sha512-Gq9rmS54mjBL/7/MvBaNOBwbfnh7beHvS6oS4srqXFcQHpQCV1+c8JXWE8VLPyRDhgS3H8x8A7hztqI9VnwrAQ==", + "dev": true, + "dependencies": { + "playwright": "1.42.1" + }, + "bin": { + "playwright": "cli.js" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/@qixian.cs/path-to-regexp": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@qixian.cs/path-to-regexp/-/path-to-regexp-6.1.0.tgz", + "integrity": "sha512-2jIiLiVZB1jnY7IIRQKtoV8Gnr7XIhk4mC88ONGunZE3hYt5IHUG4BE/6+JiTBjjEWQLBeWnZB8hGpppkufiVw==" + }, + "node_modules/@rc-component/portal": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@rc-component/portal/-/portal-1.1.2.tgz", + "integrity": "sha512-6f813C0IsasTZms08kfA8kPAGxbbkYToa8ALaiDIGGECU4i9hj8Plgbx0sNJDrey3EtHO30hmdaxtT0138xZcg==", + "dependencies": { + "@babel/runtime": "^7.18.0", + "classnames": "^2.3.2", + "rc-util": "^5.24.4" + }, + "engines": { + "node": ">=8.x" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/@rc-component/trigger": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@rc-component/trigger/-/trigger-2.0.0.tgz", + "integrity": "sha512-niwKADPdY5dhdIblV6uwSayVivwo2uUISfJqri+/ovYQcH/omxDYBJKo755QKeoIIsWptxnRpgr7reEnNEZGFg==", + "dependencies": { + "@babel/runtime": "^7.23.2", + "@rc-component/portal": "^1.1.0", + "classnames": "^2.3.2", + "rc-motion": "^2.0.0", + "rc-resize-observer": "^1.3.1", + "rc-util": "^5.38.0" + }, + "engines": { + "node": ">=8.x" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/@sindresorhus/is": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.14.0.tgz", + "integrity": "sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/@sinonjs/commons": { + "version": "1.8.6", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.6.tgz", + "integrity": "sha512-Ky+XkAkqPZSm3NLBeUng77EBQl3cmeJhITaGHdYH8kjVB+aun3S4XBRti2zt17mtt0mIUDiNxYeoJm6drVvBJQ==", + "dev": true, + "dependencies": { + "type-detect": "4.0.8" + } + }, + "node_modules/@sinonjs/fake-timers": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-6.0.1.tgz", + "integrity": "sha512-MZPUxrmFubI36XS1DI3qmI0YdN1gks62JtFZvxR67ljjSNCeK6U08Zx4msEWOXuofgqUt6zPHSi1H9fbjR/NRA==", + "dev": true, + "dependencies": { + "@sinonjs/commons": "^1.7.0" + } + }, + "node_modules/@stylelint/postcss-css-in-js": { + "version": "0.37.3", + "resolved": "https://registry.npmjs.org/@stylelint/postcss-css-in-js/-/postcss-css-in-js-0.37.3.tgz", + "integrity": "sha512-scLk3cSH1H9KggSniseb2KNAU5D9FWc3H7BxCSAIdtU9OWIyw0zkEZ9qEKHryRM+SExYXRKNb7tOOVNAsQ3iwg==", + "deprecated": "Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.", + "dev": true, + "dependencies": { + "@babel/core": "^7.17.9" + }, + "peerDependencies": { + "postcss": ">=7.0.0", + "postcss-syntax": ">=0.36.2" + } + }, + "node_modules/@stylelint/postcss-markdown": { + "version": "0.36.2", + "resolved": "https://registry.npmjs.org/@stylelint/postcss-markdown/-/postcss-markdown-0.36.2.tgz", + "integrity": "sha512-2kGbqUVJUGE8dM+bMzXG/PYUWKkjLIkRLWNh39OaADkiabDRdw8ATFCgbMz5xdIcvwspPAluSL7uY+ZiTWdWmQ==", + "deprecated": "Use the original unforked package instead: postcss-markdown", + "dev": true, + "dependencies": { + "remark": "^13.0.0", + "unist-util-find-all-after": "^3.0.2" + }, + "peerDependencies": { + "postcss": ">=7.0.0", + "postcss-syntax": ">=0.36.2" + } + }, + "node_modules/@swagger-api/apidom-ast": { + "version": "0.98.0", + "resolved": "https://registry.npmjs.org/@swagger-api/apidom-ast/-/apidom-ast-0.98.0.tgz", + "integrity": "sha512-0PThtNVpLWWwWEt0AEFAiMAyXUDUkIQ5aspHBPQVyh2bKUg71H33/xOLAk0kgRSTLGlsWPrZtirgzAEz7AUWSw==", + "dev": true, + "dependencies": { + "@babel/runtime-corejs3": "^7.20.7", + "@swagger-api/apidom-error": "^0.98.0", + "@types/ramda": "~0.29.6", + "ramda": "~0.29.1", + "ramda-adjunct": "^4.1.1", + "unraw": "^3.0.0" + } + }, + "node_modules/@swagger-api/apidom-core": { + "version": "0.98.0", + "resolved": "https://registry.npmjs.org/@swagger-api/apidom-core/-/apidom-core-0.98.0.tgz", + "integrity": "sha512-WKyOmuloUC2jJ7qtSEiigx6RhCMwBTOnW/1qQlhttRy2HlrzziNPIpq2vfZUtSU6FG8InlWSrf939KLfrQG1Fw==", + "dev": true, + "dependencies": { + "@babel/runtime-corejs3": "^7.20.7", + "@swagger-api/apidom-ast": "^0.98.0", + "@swagger-api/apidom-error": "^0.98.0", + "@types/ramda": "~0.29.6", + "minim": "~0.23.8", + "ramda": "~0.29.1", + "ramda-adjunct": "^4.1.1", + "short-unique-id": "^5.0.2", + "stampit": "^4.3.2" + } + }, + "node_modules/@swagger-api/apidom-error": { + "version": "0.98.0", + "resolved": "https://registry.npmjs.org/@swagger-api/apidom-error/-/apidom-error-0.98.0.tgz", + "integrity": "sha512-c6Brf8Njg0zv0U6VZax6J0v/TkllP2+6//NCKKMvdecYknoJl9yfsG6dPP5DustbSNrsi2IGI9j0uyJ+osVh6Q==", + "dev": true, + "dependencies": { + "@babel/runtime-corejs3": "^7.20.7" + } + }, + "node_modules/@swagger-api/apidom-json-pointer": { + "version": "0.98.0", + "resolved": "https://registry.npmjs.org/@swagger-api/apidom-json-pointer/-/apidom-json-pointer-0.98.0.tgz", + "integrity": "sha512-CjQBBvvG26isK2YUx3+/cHWBLO/q0C7Lv42v6Ux5NVRbOtpqO7WQCX0gGiDg4MBDcPcuw0dgNilu9QoErRq2wg==", + "dev": true, + "dependencies": { + "@babel/runtime-corejs3": "^7.20.7", + "@swagger-api/apidom-core": "^0.98.0", + "@swagger-api/apidom-error": "^0.98.0", + "@types/ramda": "~0.29.6", + "ramda": "~0.29.1", + "ramda-adjunct": "^4.0.0" + } + }, + "node_modules/@swagger-api/apidom-ns-api-design-systems": { + "version": "0.98.0", + "resolved": "https://registry.npmjs.org/@swagger-api/apidom-ns-api-design-systems/-/apidom-ns-api-design-systems-0.98.0.tgz", + "integrity": "sha512-zs+BMXtffopb8h/gOgANVeF4xyt+MGo2EXRSiiqqKZObZ99vxvmZ3B/BvcKi41PIA14YLZAaXG8zDEpIgSTaRQ==", + "dev": true, + "optional": true, + "dependencies": { + "@babel/runtime-corejs3": "^7.20.7", + "@swagger-api/apidom-core": "^0.98.0", + "@swagger-api/apidom-error": "^0.98.0", + "@swagger-api/apidom-ns-openapi-3-1": "^0.98.0", + "@types/ramda": "~0.29.6", + "ramda": "~0.29.1", + "ramda-adjunct": "^4.1.1", + "ts-mixer": "^6.0.3" + } + }, + "node_modules/@swagger-api/apidom-ns-asyncapi-2": { + "version": "0.98.0", + "resolved": "https://registry.npmjs.org/@swagger-api/apidom-ns-asyncapi-2/-/apidom-ns-asyncapi-2-0.98.0.tgz", + "integrity": "sha512-3oXGYjNL60S+wKIOM7NGxoWpISAs9/mpXTOEtEBGwPy2LZ4HQ/DpAmkQJq5FUH3ChJDDkiWPR24jfBQDSIsLqw==", + "dev": true, + "optional": true, + "dependencies": { + "@babel/runtime-corejs3": "^7.20.7", + "@swagger-api/apidom-core": "^0.98.0", + "@swagger-api/apidom-ns-json-schema-draft-7": "^0.98.0", + "@types/ramda": "~0.29.6", + "ramda": "~0.29.1", + "ramda-adjunct": "^4.1.1", + "ts-mixer": "^6.0.3" + } + }, + "node_modules/@swagger-api/apidom-ns-json-schema-draft-4": { + "version": "0.98.0", + "resolved": "https://registry.npmjs.org/@swagger-api/apidom-ns-json-schema-draft-4/-/apidom-ns-json-schema-draft-4-0.98.0.tgz", + "integrity": "sha512-NgHyZ8a/Voeg4YzlWCX1zIidqFFA5236bjSs0g/DJAFDxi28jSs35OJKOXZz65T2LXIzdYytes9O/VyyxvHH5Q==", + "dev": true, + "dependencies": { + "@babel/runtime-corejs3": "^7.20.7", + "@swagger-api/apidom-ast": "^0.98.0", + "@swagger-api/apidom-core": "^0.98.0", + "@types/ramda": "~0.29.6", + "ramda": "~0.29.1", + "ramda-adjunct": "^4.1.1", + "stampit": "^4.3.2" + } + }, + "node_modules/@swagger-api/apidom-ns-json-schema-draft-6": { + "version": "0.98.0", + "resolved": "https://registry.npmjs.org/@swagger-api/apidom-ns-json-schema-draft-6/-/apidom-ns-json-schema-draft-6-0.98.0.tgz", + "integrity": "sha512-NOPB4byXEuZNl4Fh83GwUu3Vd7LgXNYjb3+4Zh6hC9JhMyTeN8yysbN+Llfh8Qq2KW4h7E+x9pZv7cIKrPAEMg==", + "dev": true, + "optional": true, + "dependencies": { + "@babel/runtime-corejs3": "^7.20.7", + "@swagger-api/apidom-core": "^0.98.0", + "@swagger-api/apidom-error": "^0.98.0", + "@swagger-api/apidom-ns-json-schema-draft-4": "^0.98.0", + "@types/ramda": "~0.29.6", + "ramda": "~0.29.1", + "ramda-adjunct": "^4.1.1", + "stampit": "^4.3.2" + } + }, + "node_modules/@swagger-api/apidom-ns-json-schema-draft-7": { + "version": "0.98.0", + "resolved": "https://registry.npmjs.org/@swagger-api/apidom-ns-json-schema-draft-7/-/apidom-ns-json-schema-draft-7-0.98.0.tgz", + "integrity": "sha512-mHc3J34iA1OZk1uOO0KfAVfH+Z7qjKpyXBEKkXuaf7ICCFC5vbPWGj10Ufjb8yx93TZ7akLXHLh8DhDqvH6beA==", + "dev": true, + "optional": true, + "dependencies": { + "@babel/runtime-corejs3": "^7.20.7", + "@swagger-api/apidom-core": "^0.98.0", + "@swagger-api/apidom-error": "^0.98.0", + "@swagger-api/apidom-ns-json-schema-draft-6": "^0.98.0", + "@types/ramda": "~0.29.6", + "ramda": "~0.29.1", + "ramda-adjunct": "^4.1.1", + "stampit": "^4.3.2" + } + }, + "node_modules/@swagger-api/apidom-ns-openapi-2": { + "version": "0.98.0", + "resolved": "https://registry.npmjs.org/@swagger-api/apidom-ns-openapi-2/-/apidom-ns-openapi-2-0.98.0.tgz", + "integrity": "sha512-AOZIUfRFwUN4ujb6BiFH16h8QEb93/ZDh7R5ly6lnKBsXhD/l8KgQFwZAB4PsGDJ1no6KlTWL1F0O3ucSv2cmQ==", + "dev": true, + "optional": true, + "dependencies": { + "@babel/runtime-corejs3": "^7.20.7", + "@swagger-api/apidom-core": "^0.98.0", + "@swagger-api/apidom-error": "^0.98.0", + "@swagger-api/apidom-ns-json-schema-draft-4": "^0.98.0", + "@types/ramda": "~0.29.6", + "ramda": "~0.29.1", + "ramda-adjunct": "^4.1.1", + "ts-mixer": "^6.0.3" + } + }, + "node_modules/@swagger-api/apidom-ns-openapi-3-0": { + "version": "0.98.0", + "resolved": "https://registry.npmjs.org/@swagger-api/apidom-ns-openapi-3-0/-/apidom-ns-openapi-3-0-0.98.0.tgz", + "integrity": "sha512-VHbdpH4y0zStSmKCaSUz+jalmj+sjbJfB7W8anKjqdiOMGywMHLjLYDkQWHg/z6fM+0OriWItHXe3sTtOBh7OQ==", + "dev": true, + "dependencies": { + "@babel/runtime-corejs3": "^7.20.7", + "@swagger-api/apidom-core": "^0.98.0", + "@swagger-api/apidom-error": "^0.98.0", + "@swagger-api/apidom-ns-json-schema-draft-4": "^0.98.0", + "@types/ramda": "~0.29.6", + "ramda": "~0.29.1", + "ramda-adjunct": "^4.1.1", + "ts-mixer": "^6.0.3" + } + }, + "node_modules/@swagger-api/apidom-ns-openapi-3-1": { + "version": "0.98.0", + "resolved": "https://registry.npmjs.org/@swagger-api/apidom-ns-openapi-3-1/-/apidom-ns-openapi-3-1-0.98.0.tgz", + "integrity": "sha512-T+B0Fcreq1iEuvUJWnYujAjAdPltKPRmXZ6aI+iL1g0rT3kmEig4KSuiynhEyftU1wukRw8IbKj4KiOyuAwyLg==", + "dev": true, + "dependencies": { + "@babel/runtime-corejs3": "^7.20.7", + "@swagger-api/apidom-ast": "^0.98.0", + "@swagger-api/apidom-core": "^0.98.0", + "@swagger-api/apidom-ns-openapi-3-0": "^0.98.0", + "@types/ramda": "~0.29.6", + "ramda": "~0.29.1", + "ramda-adjunct": "^4.1.1", + "ts-mixer": "^6.0.3" + } + }, + "node_modules/@swagger-api/apidom-ns-workflows-1": { + "version": "0.98.0", + "resolved": "https://registry.npmjs.org/@swagger-api/apidom-ns-workflows-1/-/apidom-ns-workflows-1-0.98.0.tgz", + "integrity": "sha512-jaJYpBHKcX+Sz8f3QGFEM6jYzSKOJTKNrfqwNBLkOwa1AZrMwiofqGhjAiz5HHFNkfYJdR6LQmSU4sq24IamHw==", + "dev": true, + "optional": true, + "dependencies": { + "@babel/runtime-corejs3": "^7.20.7", + "@swagger-api/apidom-core": "^0.98.0", + "@swagger-api/apidom-ns-openapi-3-1": "^0.98.0", + "@types/ramda": "~0.29.6", + "ramda": "~0.29.1", + "ramda-adjunct": "^4.1.1", + "ts-mixer": "^6.0.3" + } + }, + "node_modules/@swagger-api/apidom-parser-adapter-api-design-systems-json": { + "version": "0.98.0", + "resolved": "https://registry.npmjs.org/@swagger-api/apidom-parser-adapter-api-design-systems-json/-/apidom-parser-adapter-api-design-systems-json-0.98.0.tgz", + "integrity": "sha512-gfQmKNexWhDN3uOuc8NUt5wXGRFzwdNYeEYyEVPFO0+Nbs8qrdqmfgiuXgpvEDXkDJZiIug4zPMC2Q1XiB7zMA==", + "dev": true, + "optional": true, + "dependencies": { + "@babel/runtime-corejs3": "^7.20.7", + "@swagger-api/apidom-core": "^0.98.0", + "@swagger-api/apidom-ns-api-design-systems": "^0.98.0", + "@swagger-api/apidom-parser-adapter-json": "^0.98.0", + "@types/ramda": "~0.29.6", + "ramda": "~0.29.1", + "ramda-adjunct": "^4.0.0" + } + }, + "node_modules/@swagger-api/apidom-parser-adapter-api-design-systems-yaml": { + "version": "0.98.0", + "resolved": "https://registry.npmjs.org/@swagger-api/apidom-parser-adapter-api-design-systems-yaml/-/apidom-parser-adapter-api-design-systems-yaml-0.98.0.tgz", + "integrity": "sha512-U8zhua172l2CKh200rVKPwounwGDr6DEzi0BaA31pTcel8e2jwmEkGTJ4PdO1aCHN1cDYVYXMGyEf67gOoo/kg==", + "dev": true, + "optional": true, + "dependencies": { + "@babel/runtime-corejs3": "^7.20.7", + "@swagger-api/apidom-core": "^0.98.0", + "@swagger-api/apidom-ns-api-design-systems": "^0.98.0", + "@swagger-api/apidom-parser-adapter-yaml-1-2": "^0.98.0", + "@types/ramda": "~0.29.6", + "ramda": "~0.29.1", + "ramda-adjunct": "^4.0.0" + } + }, + "node_modules/@swagger-api/apidom-parser-adapter-asyncapi-json-2": { + "version": "0.98.0", + "resolved": "https://registry.npmjs.org/@swagger-api/apidom-parser-adapter-asyncapi-json-2/-/apidom-parser-adapter-asyncapi-json-2-0.98.0.tgz", + "integrity": "sha512-4mV0Ja+r2s5WAqJyZJHtQsNhyR2x8J+fYhcmuBHcqZp3sokzTObAAImsIdZ1zYdFYrrZgymD4GMk4RoLbJM3FQ==", + "dev": true, + "optional": true, + "dependencies": { + "@babel/runtime-corejs3": "^7.20.7", + "@swagger-api/apidom-core": "^0.98.0", + "@swagger-api/apidom-ns-asyncapi-2": "^0.98.0", + "@swagger-api/apidom-parser-adapter-json": "^0.98.0", + "@types/ramda": "~0.29.6", + "ramda": "~0.29.1", + "ramda-adjunct": "^4.0.0" + } + }, + "node_modules/@swagger-api/apidom-parser-adapter-asyncapi-yaml-2": { + "version": "0.98.0", + "resolved": "https://registry.npmjs.org/@swagger-api/apidom-parser-adapter-asyncapi-yaml-2/-/apidom-parser-adapter-asyncapi-yaml-2-0.98.0.tgz", + "integrity": "sha512-FLb5IUVhOdhRSfi2OnpOWxiB7CVZXrqG1rSniOWQ4fjeQ7urB5NJv6p2nbC9waduHA0B0mItiO1ijvbOFf0Dcw==", + "dev": true, + "optional": true, + "dependencies": { + "@babel/runtime-corejs3": "^7.20.7", + "@swagger-api/apidom-core": "^0.98.0", + "@swagger-api/apidom-ns-asyncapi-2": "^0.98.0", + "@swagger-api/apidom-parser-adapter-yaml-1-2": "^0.98.0", + "@types/ramda": "~0.29.6", + "ramda": "~0.29.1", + "ramda-adjunct": "^4.0.0" + } + }, + "node_modules/@swagger-api/apidom-parser-adapter-json": { + "version": "0.98.0", + "resolved": "https://registry.npmjs.org/@swagger-api/apidom-parser-adapter-json/-/apidom-parser-adapter-json-0.98.0.tgz", + "integrity": "sha512-tZkL4sZ5JsICnhYGTeCApHRbfyAkjydb5h+OOE+MAEajRxi/PWklFDGiU7viScPWWE9cPnzRqtp8M0RutmHJew==", + "dev": true, + "optional": true, + "dependencies": { + "@babel/runtime-corejs3": "^7.20.7", + "@swagger-api/apidom-ast": "^0.98.0", + "@swagger-api/apidom-core": "^0.98.0", + "@swagger-api/apidom-error": "^0.98.0", + "@types/ramda": "~0.29.6", + "ramda": "~0.29.1", + "ramda-adjunct": "^4.1.1", + "tree-sitter": "=0.20.4", + "tree-sitter-json": "=0.20.2", + "web-tree-sitter": "=0.20.3" + } + }, + "node_modules/@swagger-api/apidom-parser-adapter-openapi-json-2": { + "version": "0.98.0", + "resolved": "https://registry.npmjs.org/@swagger-api/apidom-parser-adapter-openapi-json-2/-/apidom-parser-adapter-openapi-json-2-0.98.0.tgz", + "integrity": "sha512-81M0Z0N0oWCiUy251IIewm9YwKDFyR84XccrHnIIf/aWuikU2IRr5fDonxweIPuDYybKdpia8lca0GG/iI6G3g==", + "dev": true, + "optional": true, + "dependencies": { + "@babel/runtime-corejs3": "^7.20.7", + "@swagger-api/apidom-core": "^0.98.0", + "@swagger-api/apidom-ns-openapi-2": "^0.98.0", + "@swagger-api/apidom-parser-adapter-json": "^0.98.0", + "@types/ramda": "~0.29.6", + "ramda": "~0.29.1", + "ramda-adjunct": "^4.0.0" + } + }, + "node_modules/@swagger-api/apidom-parser-adapter-openapi-json-3-0": { + "version": "0.98.0", + "resolved": "https://registry.npmjs.org/@swagger-api/apidom-parser-adapter-openapi-json-3-0/-/apidom-parser-adapter-openapi-json-3-0-0.98.0.tgz", + "integrity": "sha512-mfvj3f75CYAUtslv5ildHllGl8ZWpuge9alTcjxtwIGUu85oXdQ6yv7EExWHe2icZ3w+VY12VzwMbpEumx6k/Q==", + "dev": true, + "optional": true, + "dependencies": { + "@babel/runtime-corejs3": "^7.20.7", + "@swagger-api/apidom-core": "^0.98.0", + "@swagger-api/apidom-ns-openapi-3-0": "^0.98.0", + "@swagger-api/apidom-parser-adapter-json": "^0.98.0", + "@types/ramda": "~0.29.6", + "ramda": "~0.29.1", + "ramda-adjunct": "^4.0.0" + } + }, + "node_modules/@swagger-api/apidom-parser-adapter-openapi-json-3-1": { + "version": "0.98.0", + "resolved": "https://registry.npmjs.org/@swagger-api/apidom-parser-adapter-openapi-json-3-1/-/apidom-parser-adapter-openapi-json-3-1-0.98.0.tgz", + "integrity": "sha512-HzlF/G+tygojw8UswwdLptDUBGhp9d+nGzADG2j+M1onBrw35/jdRPtX4S2KQ8mmwyEEgHlRENhv7yndvCbvPg==", + "dev": true, + "optional": true, + "dependencies": { + "@babel/runtime-corejs3": "^7.20.7", + "@swagger-api/apidom-core": "^0.98.0", + "@swagger-api/apidom-ns-openapi-3-1": "^0.98.0", + "@swagger-api/apidom-parser-adapter-json": "^0.98.0", + "@types/ramda": "~0.29.6", + "ramda": "~0.29.1", + "ramda-adjunct": "^4.0.0" + } + }, + "node_modules/@swagger-api/apidom-parser-adapter-openapi-yaml-2": { + "version": "0.98.0", + "resolved": "https://registry.npmjs.org/@swagger-api/apidom-parser-adapter-openapi-yaml-2/-/apidom-parser-adapter-openapi-yaml-2-0.98.0.tgz", + "integrity": "sha512-FzQNMk6gDUSp2PLtMKhnDF6MFk0T7y6ewPrYk0ztcul+m6YQD4pdcUXhpXcwtfy9dspJQERF7UKuaK9dZsm8BQ==", + "dev": true, + "optional": true, + "dependencies": { + "@babel/runtime-corejs3": "^7.20.7", + "@swagger-api/apidom-core": "^0.98.0", + "@swagger-api/apidom-ns-openapi-2": "^0.98.0", + "@swagger-api/apidom-parser-adapter-yaml-1-2": "^0.98.0", + "@types/ramda": "~0.29.6", + "ramda": "~0.29.1", + "ramda-adjunct": "^4.0.0" + } + }, + "node_modules/@swagger-api/apidom-parser-adapter-openapi-yaml-3-0": { + "version": "0.98.0", + "resolved": "https://registry.npmjs.org/@swagger-api/apidom-parser-adapter-openapi-yaml-3-0/-/apidom-parser-adapter-openapi-yaml-3-0-0.98.0.tgz", + "integrity": "sha512-H1EYjBDeKx0WiPqsrUkb+Zlm59rqbtQb6w+SAdkw4PBHi0+yOgOlvUrIkTYEVy8BD6he01dbMocv+EDXpd9rww==", + "dev": true, + "optional": true, + "dependencies": { + "@babel/runtime-corejs3": "^7.20.7", + "@swagger-api/apidom-core": "^0.98.0", + "@swagger-api/apidom-ns-openapi-3-0": "^0.98.0", + "@swagger-api/apidom-parser-adapter-yaml-1-2": "^0.98.0", + "@types/ramda": "~0.29.6", + "ramda": "~0.29.1", + "ramda-adjunct": "^4.0.0" + } + }, + "node_modules/@swagger-api/apidom-parser-adapter-openapi-yaml-3-1": { + "version": "0.98.0", + "resolved": "https://registry.npmjs.org/@swagger-api/apidom-parser-adapter-openapi-yaml-3-1/-/apidom-parser-adapter-openapi-yaml-3-1-0.98.0.tgz", + "integrity": "sha512-sxnAJDg0TGK0T4HwtkE1mkfQWL564UGlgvU+gfrEmOLjsfqRDrlFfffYKguqtJdz17+HgUp78Sqj6Ey48J83Jw==", + "dev": true, + "optional": true, + "dependencies": { + "@babel/runtime-corejs3": "^7.20.7", + "@swagger-api/apidom-core": "^0.98.0", + "@swagger-api/apidom-ns-openapi-3-1": "^0.98.0", + "@swagger-api/apidom-parser-adapter-yaml-1-2": "^0.98.0", + "@types/ramda": "~0.29.6", + "ramda": "~0.29.1", + "ramda-adjunct": "^4.0.0" + } + }, + "node_modules/@swagger-api/apidom-parser-adapter-workflows-json-1": { + "version": "0.98.0", + "resolved": "https://registry.npmjs.org/@swagger-api/apidom-parser-adapter-workflows-json-1/-/apidom-parser-adapter-workflows-json-1-0.98.0.tgz", + "integrity": "sha512-XroOfEPbs6Ogl4pSZGQ4yctu4OsMQw5qvnVTFS3hCr+fHQXFIaD+remFRjHQRqhyVC0FDmw0mggWubcSosiyCg==", + "dev": true, + "optional": true, + "dependencies": { + "@babel/runtime-corejs3": "^7.20.7", + "@swagger-api/apidom-core": "^0.98.0", + "@swagger-api/apidom-ns-workflows-1": "^0.98.0", + "@swagger-api/apidom-parser-adapter-json": "^0.98.0", + "@types/ramda": "~0.29.6", + "ramda": "~0.29.1", + "ramda-adjunct": "^4.0.0" + } + }, + "node_modules/@swagger-api/apidom-parser-adapter-workflows-yaml-1": { + "version": "0.98.0", + "resolved": "https://registry.npmjs.org/@swagger-api/apidom-parser-adapter-workflows-yaml-1/-/apidom-parser-adapter-workflows-yaml-1-0.98.0.tgz", + "integrity": "sha512-9SG9g+raKEU8cpEVT7eYlHGUEWAB7DYm/oNN5k3i4hLbJUIYKrL4KAK1sRrfxrGRiCIJG/O/jw4NLcSVgLcVJQ==", + "dev": true, + "optional": true, + "dependencies": { + "@babel/runtime-corejs3": "^7.20.7", + "@swagger-api/apidom-core": "^0.98.0", + "@swagger-api/apidom-ns-workflows-1": "^0.98.0", + "@swagger-api/apidom-parser-adapter-yaml-1-2": "^0.98.0", + "@types/ramda": "~0.29.6", + "ramda": "~0.29.1", + "ramda-adjunct": "^4.0.0" + } + }, + "node_modules/@swagger-api/apidom-parser-adapter-yaml-1-2": { + "version": "0.98.0", + "resolved": "https://registry.npmjs.org/@swagger-api/apidom-parser-adapter-yaml-1-2/-/apidom-parser-adapter-yaml-1-2-0.98.0.tgz", + "integrity": "sha512-pEIZblIK+/k9p6wge3z9uX1bVD7zzXhoxg3hgpClojZmmJV/jriDUmRzLO1MeqVbH+JFXE2FGFvE5D4CRFCEVw==", + "dev": true, + "optional": true, + "dependencies": { + "@babel/runtime-corejs3": "^7.20.7", + "@swagger-api/apidom-ast": "^0.98.0", + "@swagger-api/apidom-core": "^0.98.0", + "@swagger-api/apidom-error": "^0.98.0", + "@types/ramda": "~0.29.6", + "ramda": "~0.29.1", + "ramda-adjunct": "^4.1.1", + "tree-sitter": "=0.20.4", + "tree-sitter-yaml": "=0.5.0", + "web-tree-sitter": "=0.20.3" + } + }, + "node_modules/@swagger-api/apidom-reference": { + "version": "0.98.3", + "resolved": "https://registry.npmjs.org/@swagger-api/apidom-reference/-/apidom-reference-0.98.3.tgz", + "integrity": "sha512-S7xink9IOmam6AlceCIgOvBKLqc8PirATsQcJiyJ/RvzS5bS8HC01laAkHv7LSIOd43887EzURep8yqzk/UYLg==", + "dev": true, + "dependencies": { + "@babel/runtime-corejs3": "^7.20.7", + "@swagger-api/apidom-core": "^0.98.0", + "@types/ramda": "~0.29.6", + "axios": "^1.4.0", + "minimatch": "^7.4.3", + "process": "^0.11.10", + "ramda": "~0.29.1", + "ramda-adjunct": "^4.1.1", + "stampit": "^4.3.2" + }, + "optionalDependencies": { + "@swagger-api/apidom-error": "^0.98.0", + "@swagger-api/apidom-json-pointer": "^0.98.0", + "@swagger-api/apidom-ns-asyncapi-2": "^0.98.0", + "@swagger-api/apidom-ns-openapi-2": "^0.98.0", + "@swagger-api/apidom-ns-openapi-3-0": "^0.98.0", + "@swagger-api/apidom-ns-openapi-3-1": "^0.98.0", + "@swagger-api/apidom-ns-workflows-1": "^0.98.0", + "@swagger-api/apidom-parser-adapter-api-design-systems-json": "^0.98.0", + "@swagger-api/apidom-parser-adapter-api-design-systems-yaml": "^0.98.0", + "@swagger-api/apidom-parser-adapter-asyncapi-json-2": "^0.98.0", + "@swagger-api/apidom-parser-adapter-asyncapi-yaml-2": "^0.98.0", + "@swagger-api/apidom-parser-adapter-json": "^0.98.0", + "@swagger-api/apidom-parser-adapter-openapi-json-2": "^0.98.0", + "@swagger-api/apidom-parser-adapter-openapi-json-3-0": "^0.98.0", + "@swagger-api/apidom-parser-adapter-openapi-json-3-1": "^0.98.0", + "@swagger-api/apidom-parser-adapter-openapi-yaml-2": "^0.98.0", + "@swagger-api/apidom-parser-adapter-openapi-yaml-3-0": "^0.98.0", + "@swagger-api/apidom-parser-adapter-openapi-yaml-3-1": "^0.98.0", + "@swagger-api/apidom-parser-adapter-workflows-json-1": "^0.98.0", + "@swagger-api/apidom-parser-adapter-workflows-yaml-1": "^0.98.0", + "@swagger-api/apidom-parser-adapter-yaml-1-2": "^0.98.0" + } + }, + "node_modules/@swagger-api/apidom-reference/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/@swagger-api/apidom-reference/node_modules/minimatch": { + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-7.4.6.tgz", + "integrity": "sha512-sBz8G/YjVniEz6lKPNpKxXwazJe4c19fEfV2GDMX6AjFz+MX9uDWIZW8XreVhkFW3fkIdTv/gxWr/Kks5FFAVw==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@szmarczak/http-timer": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-1.1.2.tgz", + "integrity": "sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA==", + "dev": true, + "dependencies": { + "defer-to-connect": "^1.0.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@toast-ui/editor": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/@toast-ui/editor/-/editor-3.2.2.tgz", + "integrity": "sha512-ASX7LFjN2ZYQJrwmkUajPs7DRr9FsM1+RQ82CfTO0Y5ZXorBk1VZS4C2Dpxinx9kl55V4F8/A2h2QF4QMDtRbA==", + "dependencies": { + "dompurify": "^2.3.3", + "prosemirror-commands": "^1.1.9", + "prosemirror-history": "^1.1.3", + "prosemirror-inputrules": "^1.1.3", + "prosemirror-keymap": "^1.1.4", + "prosemirror-model": "^1.14.1", + "prosemirror-state": "^1.3.4", + "prosemirror-view": "^1.18.7" + } + }, + "node_modules/@tootallnate/once": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz", + "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/@types/babel__core": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz", + "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==", + "dev": true, + "dependencies": { + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" + } + }, + "node_modules/@types/babel__generator": { + "version": "7.6.8", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.8.tgz", + "integrity": "sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==", + "dev": true, + "dependencies": { + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__template": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz", + "integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==", + "dev": true, + "dependencies": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__traverse": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.5.tgz", + "integrity": "sha512-WXCyOcRtH37HAUkpXhUduaxdm82b4GSlyTqajXviN4EfiuPgNYR109xMCKvpl6zPIpua0DGlMEDCq+g8EdoheQ==", + "dev": true, + "dependencies": { + "@babel/types": "^7.20.7" + } + }, + "node_modules/@types/body-parser": { + "version": "1.19.5", + "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.5.tgz", + "integrity": "sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg==", + "dev": true, + "dependencies": { + "@types/connect": "*", + "@types/node": "*" + } + }, + "node_modules/@types/connect": { + "version": "3.4.38", + "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.38.tgz", + "integrity": "sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/eslint": { + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-7.29.0.tgz", + "integrity": "sha512-VNcvioYDH8/FxaeTKkM4/TiTwt6pBV9E3OfGmvaw8tPl0rrHCJ4Ll15HRT+pMiFAf/MLQvAzC+6RzUMEL9Ceng==", + "dev": true, + "dependencies": { + "@types/estree": "*", + "@types/json-schema": "*" + } + }, + "node_modules/@types/estree": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", + "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==", + "dev": true + }, + "node_modules/@types/express": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.21.tgz", + "integrity": "sha512-ejlPM315qwLpaQlQDTjPdsUFSc6ZsP4AN6AlWnogPjQ7CVi7PYF3YVz+CY3jE2pwYf7E/7HlDAN0rV2GxTG0HQ==", + "dev": true, + "dependencies": { + "@types/body-parser": "*", + "@types/express-serve-static-core": "^4.17.33", + "@types/qs": "*", + "@types/serve-static": "*" + } + }, + "node_modules/@types/express-serve-static-core": { + "version": "4.17.43", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.43.tgz", + "integrity": "sha512-oaYtiBirUOPQGSWNGPWnzyAFJ0BP3cwvN4oWZQY+zUBwpVIGsKUkpBpSztp74drYcjavs7SKFZ4DX1V2QeN8rg==", + "dev": true, + "dependencies": { + "@types/node": "*", + "@types/qs": "*", + "@types/range-parser": "*", + "@types/send": "*" + } + }, + "node_modules/@types/glob": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.2.0.tgz", + "integrity": "sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==", + "dev": true, + "dependencies": { + "@types/minimatch": "*", + "@types/node": "*" + } + }, + "node_modules/@types/graceful-fs": { + "version": "4.1.9", + "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.9.tgz", + "integrity": "sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/hast": { + "version": "2.3.10", + "resolved": "https://registry.npmjs.org/@types/hast/-/hast-2.3.10.tgz", + "integrity": "sha512-McWspRw8xx8J9HurkVBfYj0xKoE25tOFlHGdx4MJ5xORQrMGZNqJhVQWaIbm6Oyla5kYOXtDiopzKRJzEOkwJw==", + "dev": true, + "dependencies": { + "@types/unist": "^2" + } + }, + "node_modules/@types/history": { + "version": "4.7.11", + "resolved": "https://registry.npmjs.org/@types/history/-/history-4.7.11.tgz", + "integrity": "sha512-qjDJRrmvBMiTx+jyLxvLfJU7UznFuokDv4f3WRuriHKERccVpFU+8XMQUAbDzoiJCsmexxRExQeMwwCdamSKDA==" + }, + "node_modules/@types/hoist-non-react-statics": { + "version": "3.3.5", + "resolved": "https://registry.npmjs.org/@types/hoist-non-react-statics/-/hoist-non-react-statics-3.3.5.tgz", + "integrity": "sha512-SbcrWzkKBw2cdwRTwQAswfpB9g9LJWfjtUeW/jvNwbhC8cpmmNYVePa+ncbUe0rGTQ7G3Ff6mYUN2VMfLVr+Sg==", + "dev": true, + "dependencies": { + "@types/react": "*", + "hoist-non-react-statics": "^3.3.0" + } + }, + "node_modules/@types/http-errors": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.4.tgz", + "integrity": "sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA==", + "dev": true + }, + "node_modules/@types/invariant": { + "version": "2.2.37", + "resolved": "https://registry.npmjs.org/@types/invariant/-/invariant-2.2.37.tgz", + "integrity": "sha512-IwpIMieE55oGWiXkQPSBY1nw1nFs6bsKXTFskNY8sdS17K24vyEBRQZEwlRS7ZmXCWnJcQtbxWzly+cODWGs2A==", + "dev": true + }, + "node_modules/@types/isomorphic-fetch": { + "version": "0.0.35", + "resolved": "https://registry.npmjs.org/@types/isomorphic-fetch/-/isomorphic-fetch-0.0.35.tgz", + "integrity": "sha512-DaZNUvLDCAnCTjgwxgiL1eQdxIKEpNLOlTNtAgnZc50bG2copGhRrFN9/PxPBuJe+tZVLCbQ7ls0xveXVRPkvw==", + "dev": true + }, + "node_modules/@types/istanbul-lib-coverage": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz", + "integrity": "sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==", + "dev": true + }, + "node_modules/@types/istanbul-lib-report": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.3.tgz", + "integrity": "sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-coverage": "*" + } + }, + "node_modules/@types/istanbul-reports": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz", + "integrity": "sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-report": "*" + } + }, + "node_modules/@types/jest": { + "version": "26.0.24", + "resolved": "https://registry.npmjs.org/@types/jest/-/jest-26.0.24.tgz", + "integrity": "sha512-E/X5Vib8BWqZNRlDxj9vYXhsDwPYbPINqKF9BsnSoon4RQ0D9moEuLD8txgyypFLH7J4+Lho9Nr/c8H0Fi+17w==", + "dev": true, + "dependencies": { + "jest-diff": "^26.0.0", + "pretty-format": "^26.0.0" + } + }, + "node_modules/@types/json-schema": { + "version": "7.0.15", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==" + }, + "node_modules/@types/lodash": { + "version": "4.17.0", + "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.17.0.tgz", + "integrity": "sha512-t7dhREVv6dbNj0q17X12j7yDG4bD/DHYX7o5/DbDxobP0HnGPgpRz2Ej77aL7TZT3DSw13fqUTj8J4mMnqa7WA==", + "dev": true + }, + "node_modules/@types/mathjax": { + "version": "0.0.36", + "resolved": "https://registry.npmjs.org/@types/mathjax/-/mathjax-0.0.36.tgz", + "integrity": "sha512-TqDJc2GWuTqd/m+G/FbNkN+/TF2OCCHvcawmhIrUaZkdVquMdNZmNiNUkupNg9qctorXXkVLVSogZv1DhmgLmg==", + "dev": true + }, + "node_modules/@types/md5": { + "version": "2.3.5", + "resolved": "https://registry.npmjs.org/@types/md5/-/md5-2.3.5.tgz", + "integrity": "sha512-/i42wjYNgE6wf0j2bcTX6kuowmdL/6PE4IVitMpm2eYKBUuYCprdcWVK+xEF0gcV6ufMCRhtxmReGfc6hIK7Jw==" + }, + "node_modules/@types/mdast": { + "version": "3.0.15", + "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-3.0.15.tgz", + "integrity": "sha512-LnwD+mUEfxWMa1QpDraczIn6k0Ee3SMicuYSSzS6ZYl2gKS09EClnJYGd8Du6rfc5r/GZEk5o1mRb8TaTj03sQ==", + "dev": true, + "dependencies": { + "@types/unist": "^2" + } + }, + "node_modules/@types/mime": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.5.tgz", + "integrity": "sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==", + "dev": true + }, + "node_modules/@types/minimatch": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.5.tgz", + "integrity": "sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==", + "dev": true + }, + "node_modules/@types/minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-hov8bUuiLiyFPGyFPE1lwWhmzYbirOXQNNo40+y3zow8aFVTeyn3VWL0VFFfdNddA8S4Vf0Tc062rzyNr7Paag==", + "dev": true + }, + "node_modules/@types/node": { + "version": "20.11.30", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.11.30.tgz", + "integrity": "sha512-dHM6ZxwlmuZaRmUPfv1p+KrdD1Dci04FbdEm/9wEMouFqxYoFl5aMkt0VMAUtYRQDyYvD41WJLukhq/ha3YuTw==", + "dependencies": { + "undici-types": "~5.26.4" + } + }, + "node_modules/@types/normalize-package-data": { + "version": "2.4.4", + "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.4.tgz", + "integrity": "sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==", + "dev": true + }, + "node_modules/@types/parse-json": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.2.tgz", + "integrity": "sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==" + }, + "node_modules/@types/parse5": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/@types/parse5/-/parse5-5.0.3.tgz", + "integrity": "sha512-kUNnecmtkunAoQ3CnjmMkzNU/gtxG8guhi+Fk2U/kOpIKjIMKnXGp4IJCgQJrXSgMsWYimYG4TGjz/UzbGEBTw==", + "dev": true + }, + "node_modules/@types/prettier": { + "version": "2.7.3", + "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.7.3.tgz", + "integrity": "sha512-+68kP9yzs4LMp7VNh8gdzMSPZFL44MLGqiHWvttYJe+6qnuVr4Ek9wSBQoveqY/r+LwjCcU29kNVkidwim+kYA==", + "dev": true + }, + "node_modules/@types/prop-types": { + "version": "15.7.12", + "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.12.tgz", + "integrity": "sha512-5zvhXYtRNRluoE/jAp4GVsSduVUzNWKkOZrCDBWYtE7biZywwdC2AcEzg+cSMLFRfVgeAFqpfNabiPjxFddV1Q==" + }, + "node_modules/@types/qs": { + "version": "6.9.14", + "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.14.tgz", + "integrity": "sha512-5khscbd3SwWMhFqylJBLQ0zIu7c1K6Vz0uBIt915BI3zV0q1nfjRQD3RqSBcPaO6PHEF4ov/t9y89fSiyThlPA==", + "dev": true + }, + "node_modules/@types/ramda": { + "version": "0.29.11", + "resolved": "https://registry.npmjs.org/@types/ramda/-/ramda-0.29.11.tgz", + "integrity": "sha512-jm1+PmNOpE7aPS+mMcuB4a72VkCXUJqPSaQRu2YqR8MbsFfaowYXgKxc7bluYdDpRHNXT5Z+xu+Lgr3/ml6wSA==", + "dev": true, + "dependencies": { + "types-ramda": "^0.29.9" + } + }, + "node_modules/@types/range-parser": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.7.tgz", + "integrity": "sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==", + "dev": true + }, + "node_modules/@types/react": { + "version": "17.0.80", + "resolved": "https://registry.npmjs.org/@types/react/-/react-17.0.80.tgz", + "integrity": "sha512-LrgHIu2lEtIo8M7d1FcI3BdwXWoRQwMoXOZ7+dPTW0lYREjmlHl3P0U1VD0i/9tppOuv8/sam7sOjx34TxSFbA==", + "dependencies": { + "@types/prop-types": "*", + "@types/scheduler": "^0.16", + "csstype": "^3.0.2" + } + }, + "node_modules/@types/react-dom": { + "version": "17.0.25", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-17.0.25.tgz", + "integrity": "sha512-urx7A7UxkZQmThYA4So0NelOVjx3V4rNFVJwp0WZlbIK5eM4rNJDiN3R/E9ix0MBh6kAEojk/9YL+Te6D9zHNA==", + "dev": true, + "dependencies": { + "@types/react": "^17" + } + }, + "node_modules/@types/react-helmet": { + "version": "6.1.11", + "resolved": "https://registry.npmjs.org/@types/react-helmet/-/react-helmet-6.1.11.tgz", + "integrity": "sha512-0QcdGLddTERotCXo3VFlUSWO3ztraw8nZ6e3zJSgG7apwV5xt+pJUS8ewPBqT4NYB1optGLprNQzFleIY84u/g==", + "dev": true, + "dependencies": { + "@types/react": "*" + } + }, + "node_modules/@types/react-redux": { + "version": "7.1.33", + "resolved": "https://registry.npmjs.org/@types/react-redux/-/react-redux-7.1.33.tgz", + "integrity": "sha512-NF8m5AjWCkert+fosDsN3hAlHzpjSiXlVy9EgQEmLoBhaNXbmyeGs/aj5dQzKuF+/q+S7JQagorGDW8pJ28Hmg==", + "dev": true, + "dependencies": { + "@types/hoist-non-react-statics": "^3.3.0", + "@types/react": "*", + "hoist-non-react-statics": "^3.3.0", + "redux": "^4.0.0" + } + }, + "node_modules/@types/react-router": { + "version": "5.1.12", + "resolved": "https://registry.npmjs.org/@types/react-router/-/react-router-5.1.12.tgz", + "integrity": "sha512-0bhXQwHYfMeJlCh7mGhc0VJTRm0Gk+Z8T00aiP4702mDUuLs9SMhnd2DitpjWFjdOecx2UXtICK14H9iMnziGA==", + "dependencies": { + "@types/history": "*", + "@types/react": "*" + } + }, + "node_modules/@types/react-router-config": { + "version": "5.0.11", + "resolved": "https://registry.npmjs.org/@types/react-router-config/-/react-router-config-5.0.11.tgz", + "integrity": "sha512-WmSAg7WgqW7m4x8Mt4N6ZyKz0BubSj/2tVUMsAHp+Yd2AMwcSbeFq9WympT19p5heCFmF97R9eD5uUR/t4HEqw==", + "dependencies": { + "@types/history": "^4.7.11", + "@types/react": "*", + "@types/react-router": "^5.1.0" + } + }, + "node_modules/@types/react-router-dom": { + "version": "5.1.7", + "resolved": "https://registry.npmjs.org/@types/react-router-dom/-/react-router-dom-5.1.7.tgz", + "integrity": "sha512-D5mHD6TbdV/DNHYsnwBTv+y73ei+mMjrkGrla86HthE4/PVvL1J94Bu3qABU+COXzpL23T1EZapVVpwHuBXiUg==", + "dependencies": { + "@types/history": "*", + "@types/react": "*", + "@types/react-router": "*" + } + }, + "node_modules/@types/sax": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/@types/sax/-/sax-1.2.7.tgz", + "integrity": "sha512-rO73L89PJxeYM3s3pPPjiPgVVcymqU490g0YO5n5By0k2Erzj6tay/4lr1CHAAU4JyOWd1rpQ8bCf6cZfHU96A==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/scheduler": { + "version": "0.16.8", + "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.8.tgz", + "integrity": "sha512-WZLiwShhwLRmeV6zH+GkbOFT6Z6VklCItrDioxUnv+u4Ll+8vKeFySoFyK/0ctcRpOmwAicELfmys1sDc/Rw+A==" + }, + "node_modules/@types/semver": { + "version": "7.5.8", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.8.tgz", + "integrity": "sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==", + "dev": true + }, + "node_modules/@types/send": { + "version": "0.17.4", + "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.4.tgz", + "integrity": "sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA==", + "dev": true, + "dependencies": { + "@types/mime": "^1", + "@types/node": "*" + } + }, + "node_modules/@types/serve-static": { + "version": "1.15.5", + "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.5.tgz", + "integrity": "sha512-PDRk21MnK70hja/YF8AHfC7yIsiQHn1rcXx7ijCFBX/k+XQJhQT/gw3xekXKJvx+5SXaMMS8oqQy09Mzvz2TuQ==", + "dev": true, + "dependencies": { + "@types/http-errors": "*", + "@types/mime": "*", + "@types/node": "*" + } + }, + "node_modules/@types/stack-utils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.3.tgz", + "integrity": "sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==", + "dev": true + }, + "node_modules/@types/unist": { + "version": "2.0.10", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.10.tgz", + "integrity": "sha512-IfYcSBWE3hLpBg8+X2SEa8LVkJdJEkT2Ese2aaLs3ptGdVtABxndrMaxuFlQ1qdFf9Q5rDvDpxI3WwgvKFAsQA==", + "dev": true + }, + "node_modules/@types/yargs": { + "version": "15.0.19", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.19.tgz", + "integrity": "sha512-2XUaGVmyQjgyAZldf0D0c14vvo/yv0MhQBSTJcejMMaitsn3nxCB6TmH4G0ZQf+uxROOa9mpanoSm8h6SG/1ZA==", + "dev": true, + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/@types/yargs-parser": { + "version": "21.0.3", + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.3.tgz", + "integrity": "sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==", + "dev": true + }, + "node_modules/@types/yauzl": { + "version": "2.10.3", + "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.10.3.tgz", + "integrity": "sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==", + "dev": true, + "optional": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@typescript-eslint/eslint-plugin": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.62.0.tgz", + "integrity": "sha512-TiZzBSJja/LbhNPvk6yc0JrX9XqhQ0hdh6M2svYfsHGejaKFIAGd9MQ+ERIMzLGlN/kZoYIgdxFV0PuljTKXag==", + "dev": true, + "dependencies": { + "@eslint-community/regexpp": "^4.4.0", + "@typescript-eslint/scope-manager": "5.62.0", + "@typescript-eslint/type-utils": "5.62.0", + "@typescript-eslint/utils": "5.62.0", + "debug": "^4.3.4", + "graphemer": "^1.4.0", + "ignore": "^5.2.0", + "natural-compare-lite": "^1.4.0", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "@typescript-eslint/parser": "^5.0.0", + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/experimental-utils": { + "version": "4.33.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-4.33.0.tgz", + "integrity": "sha512-zeQjOoES5JFjTnAhI5QY7ZviczMzDptls15GFsI6jyUOq0kOf9+WonkhtlIhh0RgHRnqj5gdNxW5j1EvAyYg6Q==", + "dev": true, + "dependencies": { + "@types/json-schema": "^7.0.7", + "@typescript-eslint/scope-manager": "4.33.0", + "@typescript-eslint/types": "4.33.0", + "@typescript-eslint/typescript-estree": "4.33.0", + "eslint-scope": "^5.1.1", + "eslint-utils": "^3.0.0" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "*" + } + }, + "node_modules/@typescript-eslint/experimental-utils/node_modules/@typescript-eslint/scope-manager": { + "version": "4.33.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.33.0.tgz", + "integrity": "sha512-5IfJHpgTsTZuONKbODctL4kKuQje/bzBRkwHE8UOZ4f89Zeddg+EGZs8PD8NcN4LdM3ygHWYB3ukPAYjvl/qbQ==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "4.33.0", + "@typescript-eslint/visitor-keys": "4.33.0" + }, + "engines": { + "node": "^8.10.0 || ^10.13.0 || >=11.10.1" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/experimental-utils/node_modules/@typescript-eslint/types": { + "version": "4.33.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.33.0.tgz", + "integrity": "sha512-zKp7CjQzLQImXEpLt2BUw1tvOMPfNoTAfb8l51evhYbOEEzdWyQNmHWWGPR6hwKJDAi+1VXSBmnhL9kyVTTOuQ==", + "dev": true, + "engines": { + "node": "^8.10.0 || ^10.13.0 || >=11.10.1" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/experimental-utils/node_modules/@typescript-eslint/typescript-estree": { + "version": "4.33.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.33.0.tgz", + "integrity": "sha512-rkWRY1MPFzjwnEVHsxGemDzqqddw2QbTJlICPD9p9I9LfsO8fdmfQPOX3uKfUaGRDFJbfrtm/sXhVXN4E+bzCA==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "4.33.0", + "@typescript-eslint/visitor-keys": "4.33.0", + "debug": "^4.3.1", + "globby": "^11.0.3", + "is-glob": "^4.0.1", + "semver": "^7.3.5", + "tsutils": "^3.21.0" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/experimental-utils/node_modules/@typescript-eslint/visitor-keys": { + "version": "4.33.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.33.0.tgz", + "integrity": "sha512-uqi/2aSz9g2ftcHWf8uLPJA70rUv6yuMW5Bohw+bwcuzaxQIHaKFZCKGoGXIrc9vkTJ3+0txM73K0Hq3d5wgIg==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "4.33.0", + "eslint-visitor-keys": "^2.0.0" + }, + "engines": { + "node": "^8.10.0 || ^10.13.0 || >=11.10.1" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/experimental-utils/node_modules/eslint-utils": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz", + "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==", + "dev": true, + "dependencies": { + "eslint-visitor-keys": "^2.0.0" + }, + "engines": { + "node": "^10.0.0 || ^12.0.0 || >= 14.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/mysticatea" + }, + "peerDependencies": { + "eslint": ">=5" + } + }, + "node_modules/@typescript-eslint/parser": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.62.0.tgz", + "integrity": "sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA==", + "dev": true, + "dependencies": { + "@typescript-eslint/scope-manager": "5.62.0", + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/typescript-estree": "5.62.0", + "debug": "^4.3.4" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/scope-manager": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.62.0.tgz", + "integrity": "sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/visitor-keys": "5.62.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/type-utils": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.62.0.tgz", + "integrity": "sha512-xsSQreu+VnfbqQpW5vnCJdq1Z3Q0U31qiWmRhr98ONQmcp/yhiPJFPq8MXiJVLiksmOKSjIldZzkebzHuCGzew==", + "dev": true, + "dependencies": { + "@typescript-eslint/typescript-estree": "5.62.0", + "@typescript-eslint/utils": "5.62.0", + "debug": "^4.3.4", + "tsutils": "^3.21.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "*" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/types": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.62.0.tgz", + "integrity": "sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/typescript-estree": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz", + "integrity": "sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/visitor-keys": "5.62.0", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/utils": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.62.0.tgz", + "integrity": "sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==", + "dev": true, + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@types/json-schema": "^7.0.9", + "@types/semver": "^7.3.12", + "@typescript-eslint/scope-manager": "5.62.0", + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/typescript-estree": "5.62.0", + "eslint-scope": "^5.1.1", + "semver": "^7.3.7" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/@typescript-eslint/visitor-keys": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz", + "integrity": "sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "5.62.0", + "eslint-visitor-keys": "^3.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/visitor-keys/node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@umijs/ast": { + "version": "3.5.41", + "resolved": "https://registry.npmjs.org/@umijs/ast/-/ast-3.5.41.tgz", + "integrity": "sha512-jwwpcQZd54gVKCYovhRepUaMbaakxUbj6+J7ClCa0rRQFfM86iCh/F4qZi7Lypwe/F3eukAIujho7HiHhVXMBQ==", + "dependencies": { + "@umijs/utils": "3.5.41" + } + }, + "node_modules/@umijs/babel-plugin-auto-css-modules": { + "version": "3.5.41", + "resolved": "https://registry.npmjs.org/@umijs/babel-plugin-auto-css-modules/-/babel-plugin-auto-css-modules-3.5.41.tgz", + "integrity": "sha512-8iUcSFyLwRcRBsTW6hHuzDWX9Np+0AXqsFN08fnPI1P7zD4CSZWBLkjLz+zl4X8vakaPbqZy346KHoukbvEcew==", + "dependencies": { + "@umijs/utils": "3.5.41" + } + }, + "node_modules/@umijs/babel-plugin-import-to-await-require": { + "version": "3.5.41", + "resolved": "https://registry.npmjs.org/@umijs/babel-plugin-import-to-await-require/-/babel-plugin-import-to-await-require-3.5.41.tgz", + "integrity": "sha512-xn9JhFc/vz/itTaLKC4NX4qcGfsBQQN03Kp8Bt5irXtp3CeBfeYFHjwcZ4TE4SJDTjka2wOR4RhmV3CJ2NZrQQ==", + "dependencies": { + "@umijs/utils": "3.5.41" + } + }, + "node_modules/@umijs/babel-plugin-lock-core-js-3": { + "version": "3.5.41", + "resolved": "https://registry.npmjs.org/@umijs/babel-plugin-lock-core-js-3/-/babel-plugin-lock-core-js-3-3.5.41.tgz", + "integrity": "sha512-+h47NI5u4YLA46iDv5TMPXtZWactlPgFYeMotrsxyW3R6QiUyX8oMF2UroT4lhbhcrf7GHe4n7jQH3TllgFL6Q==", + "dependencies": { + "@umijs/utils": "3.5.41", + "core-js": "3.6.5" + } + }, + "node_modules/@umijs/babel-plugin-no-anonymous-default-export": { + "version": "3.5.41", + "resolved": "https://registry.npmjs.org/@umijs/babel-plugin-no-anonymous-default-export/-/babel-plugin-no-anonymous-default-export-3.5.41.tgz", + "integrity": "sha512-uUoLNUsRcITEYW+ap8+OAjUYQS606Ob8YxqYCq0ZL4SktxjP5CDMabqrJ6CatWKjjpNvq2A6KPLJKA7/9/fwFA==", + "dependencies": { + "@umijs/utils": "3.5.41" + } + }, + "node_modules/@umijs/babel-preset-umi": { + "version": "3.5.41", + "resolved": "https://registry.npmjs.org/@umijs/babel-preset-umi/-/babel-preset-umi-3.5.41.tgz", + "integrity": "sha512-roKx1FWjqGtuqQazfceBVJrJNdiGRRiBgnthZtGujLWIec4iB5uliwvzmCunuw18l3MvLwkDEBhaRdMM0Ij3Dg==", + "dependencies": { + "@babel/runtime": "7.18.6", + "@umijs/babel-plugin-auto-css-modules": "3.5.41", + "@umijs/babel-plugin-import-to-await-require": "3.5.41", + "@umijs/babel-plugin-lock-core-js-3": "3.5.41", + "@umijs/babel-plugin-no-anonymous-default-export": "3.5.41", + "@umijs/deps": "3.5.41", + "@umijs/utils": "3.5.41" + } + }, + "node_modules/@umijs/babel-preset-umi/node_modules/@babel/runtime": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.18.6.tgz", + "integrity": "sha512-t9wi7/AW6XtKahAe20Yw0/mMljKq0B1r2fPdvaAdV/KPDZewFXdaaa6K7lxmZBZ8FBNpCiAT6iHPmd6QO9bKfQ==", + "dependencies": { + "regenerator-runtime": "^0.13.4" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@umijs/babel-preset-umi/node_modules/regenerator-runtime": { + "version": "0.13.11", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", + "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==" + }, + "node_modules/@umijs/block-sdk": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@umijs/block-sdk/-/block-sdk-2.3.0.tgz", + "integrity": "sha512-CRfemEEEUbXuGN+7UCa8PbHdkbIe1Ua6DPoiAj0lJPk3LLx1mj24muIEo9fVmbbyU4rcNwKejbEpNDiClqKRIw==", + "dev": true, + "dependencies": { + "@babel/generator": "7.4.4", + "@babel/parser": "7.4.5", + "@babel/runtime": "7.4.5", + "@babel/traverse": "7.4.5", + "@babel/types": "7.4.4", + "@hapi/joi": "16.1.8", + "@umijs/mem-fs-editor": "^6.0.2", + "@umijs/types": "^3.0.0", + "@umijs/utils": "^3.0.0-beta.12", + "clipboardy": "2.1.0", + "crequire": "1.8.1", + "dumi-assets-types": "^1.0.0-beta.0", + "getnpmregistry": "^1.0.1", + "git-url-parse": "^11.1.2", + "mem-fs": "^1.1.3", + "ora": "3.4.0", + "prettier": "2.3.2", + "sort-package-json": "^1.22.1", + "sylvanas": "^0.6.1", + "terminal-link": "1.3.0", + "uppercamelcase": "3.0.0" + } + }, + "node_modules/@umijs/block-sdk/node_modules/@babel/generator": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.4.4.tgz", + "integrity": "sha512-53UOLK6TVNqKxf7RUh8NE851EHRxOOeVXKbK2bivdb+iziMyk03Sr4eaE9OELCbyZAAafAKPDwF2TPUES5QbxQ==", + "dev": true, + "dependencies": { + "@babel/types": "^7.4.4", + "jsesc": "^2.5.1", + "lodash": "^4.17.11", + "source-map": "^0.5.0", + "trim-right": "^1.0.1" + } + }, + "node_modules/@umijs/block-sdk/node_modules/@babel/parser": { + "version": "7.4.5", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.4.5.tgz", + "integrity": "sha512-9mUqkL1FF5T7f0WDFfAoDdiMVPWsdD1gZYzSnaXsxUCUqzuch/8of9G3VUSNiZmMBoRxT3neyVsqeiL/ZPcjew==", + "dev": true, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@umijs/block-sdk/node_modules/@babel/runtime": { + "version": "7.4.5", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.4.5.tgz", + "integrity": "sha512-TuI4qpWZP6lGOGIuGWtp9sPluqYICmbk8T/1vpSysqJxRPkudh/ofFWyqdcMsDf2s7KvDL4/YHgKyvcS3g9CJQ==", + "dev": true, + "dependencies": { + "regenerator-runtime": "^0.13.2" + } + }, + "node_modules/@umijs/block-sdk/node_modules/@babel/traverse": { + "version": "7.4.5", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.4.5.tgz", + "integrity": "sha512-Vc+qjynwkjRmIFGxy0KYoPj4FdVDxLej89kMHFsWScq999uX+pwcX4v9mWRjW0KcAYTPAuVQl2LKP1wEVLsp+A==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.0.0", + "@babel/generator": "^7.4.4", + "@babel/helper-function-name": "^7.1.0", + "@babel/helper-split-export-declaration": "^7.4.4", + "@babel/parser": "^7.4.5", + "@babel/types": "^7.4.4", + "debug": "^4.1.0", + "globals": "^11.1.0", + "lodash": "^4.17.11" + } + }, + "node_modules/@umijs/block-sdk/node_modules/@babel/types": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.4.4.tgz", + "integrity": "sha512-dOllgYdnEFOebhkKCjzSVFqw/PmmB8pH6RGOWkY4GsboQNd47b1fBThBSwlHAq9alF9vc1M3+6oqR47R50L0tQ==", + "dev": true, + "dependencies": { + "esutils": "^2.0.2", + "lodash": "^4.17.11", + "to-fast-properties": "^2.0.0" + } + }, + "node_modules/@umijs/block-sdk/node_modules/ansi-regex": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", + "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/@umijs/block-sdk/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@umijs/block-sdk/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@umijs/block-sdk/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/@umijs/block-sdk/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, + "node_modules/@umijs/block-sdk/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/@umijs/block-sdk/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/@umijs/block-sdk/node_modules/log-symbols": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-2.2.0.tgz", + "integrity": "sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==", + "dev": true, + "dependencies": { + "chalk": "^2.0.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@umijs/block-sdk/node_modules/ora": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/ora/-/ora-3.4.0.tgz", + "integrity": "sha512-eNwHudNbO1folBP3JsZ19v9azXWtQZjICdr3Q0TDPIaeBQ3mXLrh54wM+er0+hSp+dWKf+Z8KM58CYzEyIYxYg==", + "dev": true, + "dependencies": { + "chalk": "^2.4.2", + "cli-cursor": "^2.1.0", + "cli-spinners": "^2.0.0", + "log-symbols": "^2.2.0", + "strip-ansi": "^5.2.0", + "wcwidth": "^1.0.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@umijs/block-sdk/node_modules/prettier": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.3.2.tgz", + "integrity": "sha512-lnJzDfJ66zkMy58OL5/NY5zp70S7Nz6KqcKkXYzn2tMVrNxvbqaBpg7H3qHaLxCJ5lNMsGuM8+ohS7cZrthdLQ==", + "dev": true, + "bin": { + "prettier": "bin-prettier.js" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/@umijs/block-sdk/node_modules/regenerator-runtime": { + "version": "0.13.11", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", + "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==", + "dev": true + }, + "node_modules/@umijs/block-sdk/node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@umijs/block-sdk/node_modules/strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "dependencies": { + "ansi-regex": "^4.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@umijs/block-sdk/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@umijs/bundler-utils": { + "version": "3.5.41", + "resolved": "https://registry.npmjs.org/@umijs/bundler-utils/-/bundler-utils-3.5.41.tgz", + "integrity": "sha512-irJUU/eWa2GG6JCkz172lMi+jiq7ZXatE2N7Tq/lokZUYu9R9BRaRN7dphgBlAUfOP3aBtjx51/5yZdYAeW0yQ==", + "dependencies": { + "@umijs/babel-preset-umi": "3.5.41", + "@umijs/types": "3.5.41", + "@umijs/utils": "3.5.41" + } + }, + "node_modules/@umijs/bundler-webpack": { + "version": "3.5.41", + "resolved": "https://registry.npmjs.org/@umijs/bundler-webpack/-/bundler-webpack-3.5.41.tgz", + "integrity": "sha512-n4HIrDUE3QfN5xSTWJlRz5wzsnWggzRJhEDJZ6l23BWiwWasFW6QMGCnFWLwO93ei273LovylD5vZhI221tBtQ==", + "dependencies": { + "@umijs/bundler-utils": "3.5.41", + "@umijs/case-sensitive-paths-webpack-plugin": "^1.0.1", + "@umijs/deps": "3.5.41", + "@umijs/types": "3.5.41", + "@umijs/utils": "3.5.41", + "jest-worker": "26.6.2", + "node-libs-browser": "2.2.1", + "normalize-url": "1.9.1", + "postcss": "7.0.32", + "postcss-flexbugs-fixes": "4.2.1", + "postcss-loader": "3.0.0", + "postcss-preset-env": "6.7.0", + "postcss-safe-parser": "4.0.2", + "terser": "5.14.2", + "webpack-chain": "6.5.1" + }, + "bin": { + "bundler-webpack": "bin/bundler-webpack.js" + } + }, + "node_modules/@umijs/bundler-webpack/node_modules/acorn": { + "version": "8.11.3", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz", + "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/@umijs/bundler-webpack/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@umijs/bundler-webpack/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@umijs/bundler-webpack/node_modules/chalk/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@umijs/bundler-webpack/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/@umijs/bundler-webpack/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" + }, + "node_modules/@umijs/bundler-webpack/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/@umijs/bundler-webpack/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "engines": { + "node": ">=4" + } + }, + "node_modules/@umijs/bundler-webpack/node_modules/jest-worker": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-26.6.2.tgz", + "integrity": "sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==", + "dependencies": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^7.0.0" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/@umijs/bundler-webpack/node_modules/normalize-url": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-1.9.1.tgz", + "integrity": "sha512-A48My/mtCklowHBlI8Fq2jFWK4tX4lJ5E6ytFsSOq1fzpvT0SQSgKhSg7lN5c2uYFOrUAOQp6zhhJnpp1eMloQ==", + "dependencies": { + "object-assign": "^4.0.1", + "prepend-http": "^1.0.0", + "query-string": "^4.1.0", + "sort-keys": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@umijs/bundler-webpack/node_modules/postcss": { + "version": "7.0.32", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.32.tgz", + "integrity": "sha512-03eXong5NLnNCD05xscnGKGDZ98CyzoqPSMjOe6SuoQY7Z2hIj0Ld1g/O/UQRuOle2aRtiIRDg9tDcTGAkLfKw==", + "dependencies": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + }, + "engines": { + "node": ">=6.0.0" + }, + "funding": { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + } + }, + "node_modules/@umijs/bundler-webpack/node_modules/postcss/node_modules/supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@umijs/bundler-webpack/node_modules/query-string": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/query-string/-/query-string-4.3.4.tgz", + "integrity": "sha512-O2XLNDBIg1DnTOa+2XrIwSiXEV8h2KImXUnjhhn2+UsvZ+Es2uyd5CCRTNQlDGbzUQOW3aYCBx9rVA6dzsiY7Q==", + "dependencies": { + "object-assign": "^4.1.0", + "strict-uri-encode": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@umijs/bundler-webpack/node_modules/strict-uri-encode": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz", + "integrity": "sha512-R3f198pcvnB+5IpnBlRkphuE9n46WyVl8I39W/ZUTZLz4nqSP/oLYUrcnJrw462Ds8he4YKMov2efsTIw1BDGQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@umijs/bundler-webpack/node_modules/terser": { + "version": "5.14.2", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.14.2.tgz", + "integrity": "sha512-oL0rGeM/WFQCUd0y2QrWxYnq7tfSuKBiqTjRPWrRgB46WD/kiwHwF8T23z78H6Q6kGCuuHcPB+KULHRdxvVGQA==", + "dependencies": { + "@jridgewell/source-map": "^0.3.2", + "acorn": "^8.5.0", + "commander": "^2.20.0", + "source-map-support": "~0.5.20" + }, + "bin": { + "terser": "bin/terser" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@umijs/case-sensitive-paths-webpack-plugin": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@umijs/case-sensitive-paths-webpack-plugin/-/case-sensitive-paths-webpack-plugin-1.0.1.tgz", + "integrity": "sha512-kDKJ8yTarxwxGJDInG33hOpaQRZ//XpNuuznQ/1Mscypw6kappzFmrBr2dOYave++K7JHouoANF354UpbEQw0Q==" + }, + "node_modules/@umijs/core": { + "version": "3.5.41", + "resolved": "https://registry.npmjs.org/@umijs/core/-/core-3.5.41.tgz", + "integrity": "sha512-DA10OuvEYaLNhug/mWlg6P9FMuH9xD8TP3VRKM5XXXdQwIja+QQaIg78l8Vk8FM/6ugXM6VUK/EK5AwGEQz6xw==", + "dependencies": { + "@umijs/ast": "3.5.41", + "@umijs/babel-preset-umi": "3.5.41", + "@umijs/deps": "3.5.41", + "@umijs/utils": "3.5.41" + } + }, + "node_modules/@umijs/deps": { + "version": "3.5.41", + "resolved": "https://registry.npmjs.org/@umijs/deps/-/deps-3.5.41.tgz", + "integrity": "sha512-bMozsu97L0HJMoRtCevi81XvZ+nkJw2WMAlQuHnl5DsFYon9M+WljG88T/FX/x+lYfgdGY+fOuvcKWEazfA3SA==", + "dependencies": { + "@bloomberg/record-tuple-polyfill": "0.0.3", + "chokidar": "3.5.1", + "clipboardy": "2.3.0", + "esbuild": "0.12.15", + "jest-worker": "24.9.0", + "prettier": "2.2.1", + "regenerate": "1.4.2", + "regenerate-unicode-properties": "10.0.1" + } + }, + "node_modules/@umijs/deps/node_modules/clipboardy": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/clipboardy/-/clipboardy-2.3.0.tgz", + "integrity": "sha512-mKhiIL2DrQIsuXMgBgnfEHOZOryC7kY7YO//TN6c63wlEm3NG5tz+YgY5rVi29KCmq/QQjKYvM7a19+MDOTHOQ==", + "dependencies": { + "arch": "^2.1.1", + "execa": "^1.0.0", + "is-wsl": "^2.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@umijs/deps/node_modules/cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "dependencies": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + }, + "engines": { + "node": ">=4.8" + } + }, + "node_modules/@umijs/deps/node_modules/execa": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", + "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", + "dependencies": { + "cross-spawn": "^6.0.0", + "get-stream": "^4.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@umijs/deps/node_modules/get-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", + "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "dependencies": { + "pump": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@umijs/deps/node_modules/is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@umijs/deps/node_modules/npm-run-path": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", + "integrity": "sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw==", + "dependencies": { + "path-key": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@umijs/deps/node_modules/path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==", + "engines": { + "node": ">=4" + } + }, + "node_modules/@umijs/deps/node_modules/prettier": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.2.1.tgz", + "integrity": "sha512-PqyhM2yCjg/oKkFPtTGUojv7gnZAoG80ttl45O6x2Ug/rMJw4wcc9k6aaf2hibP7BGVCCM33gZoGjyvt9mm16Q==", + "bin": { + "prettier": "bin-prettier.js" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/@umijs/deps/node_modules/pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "node_modules/@umijs/deps/node_modules/semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/@umijs/deps/node_modules/shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==", + "dependencies": { + "shebang-regex": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@umijs/deps/node_modules/shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@umijs/deps/node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" + } + }, + "node_modules/@umijs/error-code-map": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@umijs/error-code-map/-/error-code-map-1.0.1.tgz", + "integrity": "sha512-Q0KSpQYKTF2XWOlAxJO/SRbRhIGAp1GK1spWFbzwv3h0WvfX7pPeA05Y3p0hut7Vcjhdocnx5NduuApF4R1lGQ==", + "dev": true + }, + "node_modules/@umijs/fabric": { + "version": "2.14.1", + "resolved": "https://registry.npmjs.org/@umijs/fabric/-/fabric-2.14.1.tgz", + "integrity": "sha512-fOyXcbViOB+/jW+g2rCiK9XjSZVn4OzFuMZpSCriCdR/KxhxLTokvJWFm3CzBEmg9vXfrBFQ4c/ykmqoVacHtw==", + "dev": true, + "dependencies": { + "@babel/core": "^7.12.10", + "@babel/eslint-parser": "^7.12.1", + "@babel/plugin-proposal-class-properties": "^7.13.0", + "@babel/plugin-proposal-decorators": "^7.13.5", + "@babel/preset-env": "^7.12.11", + "@babel/preset-react": "^7.12.10", + "@babel/preset-typescript": "^7.12.7", + "@typescript-eslint/eslint-plugin": "^5.8.1", + "@typescript-eslint/parser": "^5.9.0", + "chalk": "^4.1.1", + "eslint": "^7.11.0", + "eslint-config-prettier": "^8.3.0", + "eslint-formatter-pretty": "^4.0.0", + "eslint-plugin-babel": "^5.3.0", + "eslint-plugin-jest": "^24.0.1", + "eslint-plugin-promise": "^6.0.0", + "eslint-plugin-react": "^7.21.5", + "eslint-plugin-react-hooks": "^4.1.2", + "eslint-plugin-unicorn": "^20.0.0", + "fast-glob": "^3.2.4", + "os-locale": "^5.0.0", + "prettier": "^2.3.2", + "prettier-plugin-packagejson": "2.3.0", + "prettier-plugin-two-style-order": "^1.0.0", + "stylelint": "^13.0.0", + "stylelint-config-css-modules": "^2.2.0", + "stylelint-config-prettier": "^8.0.1", + "stylelint-config-standard": "^20.0.0", + "stylelint-declaration-block-no-ignored-properties": "^2.1.0", + "typescript": "^4.5.4" + }, + "bin": { + "fabric": "cli.js" + } + }, + "node_modules/@umijs/mem-fs-editor": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/@umijs/mem-fs-editor/-/mem-fs-editor-6.0.2.tgz", + "integrity": "sha512-wGKHe4yyJc1CarRKAtvYrUc6zRf0jLANBN4HU+5ZkuSIR7xLDH51oHsZMjuxXqli6STe5ommYXnojXSXZ7NBRg==", + "dev": true, + "dependencies": { + "commondir": "^1.0.1", + "deep-extend": "^0.6.0", + "ejs": "^2.6.1", + "glob": "^7.1.4", + "globby": "^10.0.0", + "isbinaryfile": "^4.0.0", + "mkdirp": "^1.0.0", + "multimatch": "^4.0.0", + "rimraf": "^3.0.0", + "slash2": "^2.0.0", + "through2": "^3.0.1", + "vinyl": "^2.2.0" + } + }, + "node_modules/@umijs/mem-fs-editor/node_modules/globby": { + "version": "10.0.2", + "resolved": "https://registry.npmjs.org/globby/-/globby-10.0.2.tgz", + "integrity": "sha512-7dUi7RvCoT/xast/o/dLN53oqND4yk0nsHkhRgn9w65C4PofCLOoJ39iSOg+qVDdWQPIEj+eszMHQ+aLVwwQSg==", + "dev": true, + "dependencies": { + "@types/glob": "^7.1.1", + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.0.3", + "glob": "^7.1.3", + "ignore": "^5.1.1", + "merge2": "^1.2.3", + "slash": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@umijs/openapi": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@umijs/openapi/-/openapi-1.11.1.tgz", + "integrity": "sha512-s5eUvV/j7SPzyWBR4qqKxVTbHofC51aTuGSF2TmqCJwkto9ve9P8Prynuz35JJ6jboPMas0HdYZ1ZskM+WIMAQ==", + "dev": true, + "dependencies": { + "@umijs/fabric": "^2.5.6", + "chalk": "^4.1.2", + "dayjs": "^1.10.3", + "glob": "^7.1.6", + "lodash": "^4.17.21", + "memoizee": "^0.4.15", + "mock.js": "^0.2.0", + "mockjs": "^1.1.0", + "node-fetch": "^2.6.1", + "nunjucks": "^3.2.2", + "openapi3-ts": "^2.0.1", + "prettier": "^2.2.1", + "reserved-words": "^0.1.2", + "rimraf": "^3.0.2", + "swagger2openapi": "^7.0.4", + "tiny-pinyin": "^1.3.2" + } + }, + "node_modules/@umijs/plugin-access": { + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/@umijs/plugin-access/-/plugin-access-2.4.3.tgz", + "integrity": "sha512-6FON4aHzVFs/vtFK5Sdnw+FBolfoYi8wV8V9Q8x2T19NwjZtjXSPjt0gtrG4jdx4LRsSV2DKLaMGoJYbNr94aA==", + "dev": true, + "peerDependencies": { + "@umijs/plugin-initial-state": "2.x", + "@umijs/plugin-model": "2.x", + "umi": "3.x" + } + }, + "node_modules/@umijs/plugin-analytics": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/@umijs/plugin-analytics/-/plugin-analytics-0.2.4.tgz", + "integrity": "sha512-aIHc/okDmCae/6iJS3lRV2b9/cuFUoGQhioeoZzC2mBYy43o0Z6KWSY5TlzraY4bDdGurWsFQC6dB1TVUCMGbg==", + "dev": true, + "peerDependencies": { + "umi": "3.x" + } + }, + "node_modules/@umijs/plugin-antd": { + "version": "0.13.0", + "resolved": "https://registry.npmjs.org/@umijs/plugin-antd/-/plugin-antd-0.13.0.tgz", + "integrity": "sha512-7tooYtOylVatrzMWCJtk8JFQL90i94OD0FgZYpKBbM7keThH8prYkSkDJFIDkuGfZ6pl6BJT8ESnYLxf2OiQUw==", + "dev": true, + "dependencies": { + "antd": "^4.1.3", + "antd-mobile": "^2.3.1", + "semver": "^7.3.5" + }, + "peerDependencies": { + "umi": "3.x" + } + }, + "node_modules/@umijs/plugin-block-devtool": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@umijs/plugin-block-devtool/-/plugin-block-devtool-1.3.0.tgz", + "integrity": "sha512-BPoO3nJowx1sHUixO4FBhQUtAkcepPbHA9OGFtR2cXrxEyxUmUDaDHK+cQdbxQUj8lzeylfdy/OufLhaP3MM+Q==", + "dev": true, + "dependencies": { + "uppercamelcase": "^3.0.0" + }, + "peerDependencies": { + "umi": "3.x" + } + }, + "node_modules/@umijs/plugin-blocks": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/@umijs/plugin-blocks/-/plugin-blocks-2.2.2.tgz", + "integrity": "sha512-56lVfx4eJzQbxt620qzXADcemzHB5XjJuYxRNKorIdqXwA8+nWXQ+PzUOdWUzJnwNkFOVJbnXsUak5n8A8xsjw==", + "dev": true, + "dependencies": { + "@umijs/block-sdk": "^2.2.2" + }, + "peerDependencies": { + "umi": "3.x" + } + }, + "node_modules/@umijs/plugin-crossorigin": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@umijs/plugin-crossorigin/-/plugin-crossorigin-1.2.1.tgz", + "integrity": "sha512-4oXNFBLOCH1FHTgFi7EDmlcjjYMthOQlrTT+mSbNeMzvl0P/WKldSJsYAUXUTg+I7vlbb5bNby4dpHKK37JcbQ==", + "dev": true, + "peerDependencies": { + "umi": "3.x" + } + }, + "node_modules/@umijs/plugin-dva": { + "version": "0.13.0", + "resolved": "https://registry.npmjs.org/@umijs/plugin-dva/-/plugin-dva-0.13.0.tgz", + "integrity": "sha512-cpGq8vzN8AmyWxexWLQ+WGqfT0WMCiryvU5EcNGbx1/Ub9aICUfPBpB46cxJrxjDCjUzuVslRNb2pdgI0xXUXg==", + "dev": true, + "dependencies": { + "babel-plugin-dva-hmr": "^0.4.2", + "dva": "^2.6.0-beta.20", + "dva-immer": "^0.5.2", + "dva-loading": "^3.0.20" + }, + "peerDependencies": { + "umi": "3.x" + } + }, + "node_modules/@umijs/plugin-esbuild": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/@umijs/plugin-esbuild/-/plugin-esbuild-1.4.2.tgz", + "integrity": "sha512-K/0nZ1wNFg11xF3zx5E8jQQkY4d6SDNNhB16Ngp77i5ZUexWyfiRC+StN0KpYOAIorajNTMxHRnthRFV3dZbPA==", + "dev": true, + "dependencies": { + "esbuild-loader": "~2.9.2" + }, + "peerDependencies": { + "umi": "3.x" + } + }, + "node_modules/@umijs/plugin-helmet": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@umijs/plugin-helmet/-/plugin-helmet-1.1.3.tgz", + "integrity": "sha512-X4GRFlvOb8DxMDm1vExfpWOvxl6bp0oZz114DyhwnMSriJ8RcHAigTjtVJHYxJpKv7P6KayN3n13J4w/XZGWMg==", + "dev": true, + "dependencies": { + "@types/react-helmet": "^6.1.0", + "react-helmet": "^6.1.0" + }, + "peerDependencies": { + "umi": "3.x" + } + }, + "node_modules/@umijs/plugin-initial-state": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/@umijs/plugin-initial-state/-/plugin-initial-state-2.4.0.tgz", + "integrity": "sha512-UHH5fTL9skm4771R3xvWCrjd5xiQ7OdJ83G0P1YZLhuNbh0cAFVT8SPTU8dA9o8TTAZ66IEq7axhWl1cGxVsXw==", + "dev": true, + "peerDependencies": { + "umi": "3.x" + } + }, + "node_modules/@umijs/plugin-layout": { + "version": "0.18.1", + "resolved": "https://registry.npmjs.org/@umijs/plugin-layout/-/plugin-layout-0.18.1.tgz", + "integrity": "sha512-15YTcFpic0v15nFzlg6G8nvMCveBtcBL77Wr9wXYJdgR0iU7dnO7T4OqbLwgEc1uHxtGhTVibi6nSGelX56zCg==", + "dev": true, + "dependencies": { + "@umijs/route-utils": "^2.0.0", + "antd": "^4.1.2", + "lodash": "^4.17.15", + "path-to-regexp": "1.x" + }, + "peerDependencies": { + "@ant-design/icons": "^4.0.0", + "@ant-design/pro-layout": "^6.0.0", + "@umijs/plugin-initial-state": "2.x", + "@umijs/plugin-locale": "0.x", + "@umijs/plugin-model": "2.x", + "umi": "3.x" + } + }, + "node_modules/@umijs/plugin-layout/node_modules/isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==", + "dev": true + }, + "node_modules/@umijs/plugin-layout/node_modules/path-to-regexp": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.8.0.tgz", + "integrity": "sha512-n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA==", + "dev": true, + "dependencies": { + "isarray": "0.0.1" + } + }, + "node_modules/@umijs/plugin-locale": { + "version": "0.15.2", + "resolved": "https://registry.npmjs.org/@umijs/plugin-locale/-/plugin-locale-0.15.2.tgz", + "integrity": "sha512-/m3ik0NKbE/PHFPKPqSBEwGi5RUB6Dz2T7jepDXhU8ycV0zUPGbDbChUx1r/3t5zveZIND1s/7A49Apb+ujUmg==", + "dev": true, + "dependencies": { + "@ant-design/icons": "^4.1.0", + "@formatjs/intl-pluralrules": "^1.5.0", + "@formatjs/intl-relativetimeformat": "^4.5.7", + "intl": "1.2.5", + "moment": "^2.29.1", + "react-intl": "3.12.1", + "warning": "^4.0.3" + }, + "peerDependencies": { + "umi": "3.x" + } + }, + "node_modules/@umijs/plugin-model": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/@umijs/plugin-model/-/plugin-model-2.6.2.tgz", + "integrity": "sha512-MKLAgYIoBkciavxTqJY6VOhvnNQv7jp+olNmXqqZ3I3WsLg7jo33NCOAA3ej103kmo9ZvD9R1aakl7e9WKsdAw==", + "dev": true, + "dependencies": { + "fast-deep-equal": "3.1.1" + }, + "peerDependencies": { + "umi": "3.x" + } + }, + "node_modules/@umijs/plugin-openapi": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/@umijs/plugin-openapi/-/plugin-openapi-1.3.3.tgz", + "integrity": "sha512-z1gJpX1MDAO5YlJH+zsQ4bq0jgmIoy89k5lyTylVvP22M31h7sC9cAwNHmQeJMzGatYooGJu//rnThsSlRdIUg==", + "dev": true, + "dependencies": { + "@umijs/openapi": "^1.2.0", + "serve-static": "^1.14.1", + "swagger-ui-dist": "^4.12.0" + }, + "peerDependencies": { + "umi": "3.x" + } + }, + "node_modules/@umijs/plugin-request": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/@umijs/plugin-request/-/plugin-request-2.8.0.tgz", + "integrity": "sha512-bwJg0rFbMZcizO+fHbSNz6X/U6suR84ciLIo9zLtRMuradx/yanMnz+ckh2dlZvTlGYrckkJwWgoSFxWlU8yyA==", + "dev": true, + "dependencies": { + "@ahooksjs/use-request": "^2.0.0", + "umi-request": "^1.2.14" + }, + "peerDependencies": { + "umi": "3.x" + } + }, + "node_modules/@umijs/plugin-test": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@umijs/plugin-test/-/plugin-test-1.0.2.tgz", + "integrity": "sha512-EIV86Xmw/Cn8vRLXha+ct0PfY6gRRKov5lanvt1B2L5t6xAqnTd03AxmB7i1Go9vDcFxDBheuDf/nyGiT/xTFw==", + "dev": true, + "dependencies": { + "@umijs/test": "~3.5.14" + }, + "peerDependencies": { + "umi": "3.x" + } + }, + "node_modules/@umijs/preset-ant-design-pro": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/@umijs/preset-ant-design-pro/-/preset-ant-design-pro-1.3.3.tgz", + "integrity": "sha512-BBQKI+lrynX7cpWHhCgo+56GFBn/fbbgnjglstfQyKN+Ol/VtEhMMWeNz57/OfLUdeBpI/KOnyq8lJMVr2Czug==", + "dev": true, + "dependencies": { + "@umijs/plugin-block-devtool": "1.3.0", + "umi-plugin-antd-icon-config": "^2.0.0", + "umi-plugin-pro-block": "^2.0.1" + }, + "peerDependencies": { + "umi": "3.x" + } + }, + "node_modules/@umijs/preset-built-in": { + "version": "3.5.41", + "resolved": "https://registry.npmjs.org/@umijs/preset-built-in/-/preset-built-in-3.5.41.tgz", + "integrity": "sha512-YoUeiaoiG6Kv/9QkVYj4wUXP7dqdxOt95H9F7e8QaukH6le9CvvRyRn+NSLGk3R7Owv4jdkMBujwFzj1/85O3A==", + "dependencies": { + "@types/react-router-config": "5.0.2", + "@umijs/babel-preset-umi": "3.5.41", + "@umijs/bundler-webpack": "3.5.41", + "@umijs/core": "3.5.41", + "@umijs/deps": "3.5.41", + "@umijs/renderer-mpa": "3.5.41", + "@umijs/renderer-react": "3.5.41", + "@umijs/runtime": "3.5.41", + "@umijs/server": "3.5.41", + "@umijs/types": "3.5.41", + "@umijs/utils": "3.5.41", + "ansi-html": "^0.0.9", + "core-js": "3.6.5", + "core-js-pure": "^3.8.1", + "error-stack-parser": "^2.0.6", + "es-module-lexer": "0.7.1", + "es5-imcompatible-versions": "^0.1.62", + "history-with-query": "4.10.4", + "html-entities": "^2.1.0", + "mime": "1.4.1", + "react-refresh": "0.10.0", + "react-router": "5.2.0", + "react-router-config": "5.1.1", + "react-router-dom": "5.2.0", + "regenerator-runtime": "0.13.5", + "schema-utils": "^3.0.0" + }, + "peerDependencies": { + "react": "16.x || 17.x" + } + }, + "node_modules/@umijs/preset-built-in/node_modules/@types/react-router-config": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/@types/react-router-config/-/react-router-config-5.0.2.tgz", + "integrity": "sha512-WOSetDV3YPxbkVJAdv/bqExJjmcdCi/vpCJh3NfQOy1X15vHMSiMioXIcGekXDJJYhqGUMDo9e337mh508foAA==", + "dependencies": { + "@types/history": "*", + "@types/react": "*", + "@types/react-router": "*" + } + }, + "node_modules/@umijs/preset-built-in/node_modules/mime": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.4.1.tgz", + "integrity": "sha512-KI1+qOZu5DcW6wayYHSzR/tXKCDC5Om4s1z2QJjDULzLcmf3DvzS7oluY4HCTrc+9FiKmWUgeNLg7W3uIQvxtQ==", + "bin": { + "mime": "cli.js" + } + }, + "node_modules/@umijs/preset-built-in/node_modules/regenerator-runtime": { + "version": "0.13.5", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.5.tgz", + "integrity": "sha512-ZS5w8CpKFinUzOwW3c83oPeVXoNsrLsaCoLtJvAClH135j/R77RuymhiSErhm2lKcwSCIpmvIWSbDkIfAqKQlA==" + }, + "node_modules/@umijs/preset-built-in/node_modules/schema-utils": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", + "dependencies": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/@umijs/preset-dumi": { + "version": "1.1.54", + "resolved": "https://registry.npmjs.org/@umijs/preset-dumi/-/preset-dumi-1.1.54.tgz", + "integrity": "sha512-p7sG8TxirVtyKrYMSrYnPEwKq2cBiosaYcGVs0k9lVf+jcsFeQSmylsToyZiHZ8PtjItXw0DZIiSvdM/7mg0vA==", + "dev": true, + "dependencies": { + "@babel/core": "7.18.6", + "@babel/generator": "7.18.6", + "@babel/plugin-transform-modules-commonjs": "7.18.6", + "@babel/traverse": "7.18.6", + "@babel/types": "7.18.6", + "@mapbox/hast-util-to-jsx": "1.0.0", + "@umijs/babel-preset-umi": "^3.5.27", + "@umijs/core": "^3.5.27", + "@umijs/plugin-analytics": "^0.2.2", + "@umijs/runtime": "^3.5.27", + "@umijs/types": "^3.5.27", + "@umijs/utils": "^3.5.27", + "codesandbox": "^2.2.3", + "copy-text-to-clipboard": "^2.2.0", + "deepmerge": "^4.2.2", + "dumi-assets-types": "1.0.1", + "dumi-theme-default": "1.1.24", + "enhanced-resolve": "^4.1.1", + "github-slugger": "^1.3.0", + "hast-util-has-property": "^1.0.4", + "hast-util-is-element": "^1.1.0", + "hast-util-raw": "^6.0.0", + "hast-util-to-html": "^7.1.1", + "hast-util-to-string": "^1.0.2", + "hosted-git-info": "^3.0.2", + "ignore": "^5.1.8", + "js-yaml": "^3.13.1", + "lodash.throttle": "^4.1.1", + "lz-string": "^1.4.4", + "react-docgen-typescript-dumi-tmp": "^1.22.1-0", + "rehype-autolink-headings": "^4.0.0", + "rehype-mathjax": "^3.1.0", + "rehype-remove-comments": "^4.0.2", + "rehype-stringify": "^8.0.0", + "remark-frontmatter": "^3.0.0", + "remark-gfm": "^1.0.0", + "remark-math": "^4.0.0", + "remark-parse": "^9.0.0", + "remark-rehype": "^8.0.0", + "remark-stringify": "^9.0.0", + "sitemap": "^6.3.3", + "slash2": "^2.0.0", + "terser": "^5.5.1", + "unified": "^8.4.1", + "unist-util-visit": "^2.0.1", + "unist-util-visit-parents": "^3.0.1" + }, + "peerDependencies": { + "umi": "^3.0.0" + } + }, + "node_modules/@umijs/preset-dumi/node_modules/@babel/core": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.18.6.tgz", + "integrity": "sha512-cQbWBpxcbbs/IUredIPkHiAGULLV8iwgNRMFzvbhEXISp4f3rUUXE5+TIw6KwUWUR3DwyI6gmBRnmAtYaWehwQ==", + "dev": true, + "dependencies": { + "@ampproject/remapping": "^2.1.0", + "@babel/code-frame": "^7.18.6", + "@babel/generator": "^7.18.6", + "@babel/helper-compilation-targets": "^7.18.6", + "@babel/helper-module-transforms": "^7.18.6", + "@babel/helpers": "^7.18.6", + "@babel/parser": "^7.18.6", + "@babel/template": "^7.18.6", + "@babel/traverse": "^7.18.6", + "@babel/types": "^7.18.6", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.1", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@umijs/preset-dumi/node_modules/@babel/generator": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.18.6.tgz", + "integrity": "sha512-AIwwoOS8axIC5MZbhNHRLKi3D+DMpvDf9XUcu3pIVAfOHFT45f4AoDAltRbHIQomCipkCZxrNkfpOEHhJz/VKw==", + "dev": true, + "dependencies": { + "@babel/types": "^7.18.6", + "@jridgewell/gen-mapping": "^0.3.0", + "jsesc": "^2.5.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@umijs/preset-dumi/node_modules/@babel/plugin-transform-modules-commonjs": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.18.6.tgz", + "integrity": "sha512-Qfv2ZOWikpvmedXQJDSbxNqy7Xr/j2Y8/KfijM0iJyKkBTmWuvCA1yeH1yDM7NJhBW/2aXxeucLj6i80/LAJ/Q==", + "dev": true, + "dependencies": { + "@babel/helper-module-transforms": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/helper-simple-access": "^7.18.6", + "babel-plugin-dynamic-import-node": "^2.3.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@umijs/preset-dumi/node_modules/@babel/traverse": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.18.6.tgz", + "integrity": "sha512-zS/OKyqmD7lslOtFqbscH6gMLFYOfG1YPqCKfAW5KrTeolKqvB8UelR49Fpr6y93kYkW2Ik00mT1LOGiAGvizw==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.18.6", + "@babel/generator": "^7.18.6", + "@babel/helper-environment-visitor": "^7.18.6", + "@babel/helper-function-name": "^7.18.6", + "@babel/helper-hoist-variables": "^7.18.6", + "@babel/helper-split-export-declaration": "^7.18.6", + "@babel/parser": "^7.18.6", + "@babel/types": "^7.18.6", + "debug": "^4.1.0", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@umijs/preset-dumi/node_modules/@babel/types": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.18.6.tgz", + "integrity": "sha512-NdBNzPDwed30fZdDQtVR7ZgaO4UKjuaQFH9VArS+HMnurlOY0JWN+4ROlu/iapMFwjRQU4pOG4StZfDmulEwGA==", + "dev": true, + "dependencies": { + "@babel/helper-validator-identifier": "^7.18.6", + "to-fast-properties": "^2.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@umijs/preset-dumi/node_modules/convert-source-map": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", + "dev": true + }, + "node_modules/@umijs/preset-dumi/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@umijs/preset-react": { + "version": "1.8.32", + "resolved": "https://registry.npmjs.org/@umijs/preset-react/-/preset-react-1.8.32.tgz", + "integrity": "sha512-f/jJRxIRzRrZ040GMdBuV3byvtbx35oWymDT5A/q/e+QmjCrs6c9XCRktGInKIhZycqI/GuA6eLaxXIKvu6b9A==", + "dev": true, + "dependencies": { + "@umijs/plugin-access": "2.4.3", + "@umijs/plugin-analytics": "0.2.2", + "@umijs/plugin-antd": "0.13.0", + "@umijs/plugin-crossorigin": "1.2.1", + "@umijs/plugin-dva": "0.13.0", + "@umijs/plugin-helmet": "1.1.3", + "@umijs/plugin-initial-state": "2.4.0", + "@umijs/plugin-layout": "0.18.1", + "@umijs/plugin-locale": "0.15.2", + "@umijs/plugin-model": "2.6.2", + "@umijs/plugin-request": "2.8.0", + "@umijs/plugin-test": "1.0.2" + }, + "peerDependencies": { + "umi": "3.x" + } + }, + "node_modules/@umijs/preset-react/node_modules/@umijs/plugin-analytics": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/@umijs/plugin-analytics/-/plugin-analytics-0.2.2.tgz", + "integrity": "sha512-dVDzUfgIdEwdCC6a5IsMYpIPI+bEZjBEqIhAvw9dic6Vk77w9RxQxyRfW11dDmdXLAwWphp22NntQNt1ejZPtg==", + "dev": true, + "peerDependencies": { + "umi": "3.x" + } + }, + "node_modules/@umijs/renderer-mpa": { + "version": "3.5.41", + "resolved": "https://registry.npmjs.org/@umijs/renderer-mpa/-/renderer-mpa-3.5.41.tgz", + "integrity": "sha512-SUAlBZwUXVJdj5lBQ0Kf2nH3/mkyqZEkgZw0laLn2sNeVfe0bpSKjTvYv3sGMZ9Jg+L61g8TNwGO4Y1j8x5rkw==", + "dependencies": { + "@types/react": "^16.9.43", + "@types/react-dom": "^16.9.8", + "@umijs/runtime": "3.5.41" + }, + "peerDependencies": { + "react": "16.x || 17.x", + "react-dom": "16.x || 17.x" + } + }, + "node_modules/@umijs/renderer-mpa/node_modules/@types/react": { + "version": "16.14.60", + "resolved": "https://registry.npmjs.org/@types/react/-/react-16.14.60.tgz", + "integrity": "sha512-wIFmnczGsTcgwCBeIYOuy2mdXEiKZ5znU/jNOnMZPQyCcIxauMGWlX0TNG4lZ7NxRKj7YUIZRneJQSSdB2jKgg==", + "dependencies": { + "@types/prop-types": "*", + "@types/scheduler": "^0.16", + "csstype": "^3.0.2" + } + }, + "node_modules/@umijs/renderer-mpa/node_modules/@types/react-dom": { + "version": "16.9.24", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-16.9.24.tgz", + "integrity": "sha512-Gcmq2JTDheyWn/1eteqyzzWKSqDjYU6KYsIvH7thb7CR5OYInAWOX+7WnKf6PaU/cbdOc4szJItcDEJO7UGmfA==", + "dependencies": { + "@types/react": "^16" + } + }, + "node_modules/@umijs/renderer-react": { + "version": "3.5.41", + "resolved": "https://registry.npmjs.org/@umijs/renderer-react/-/renderer-react-3.5.41.tgz", + "integrity": "sha512-DmExaziU84uFXv09gYXpFk/tHB+mjINUD8YmYULjbQ+QQA9so2zkxNSv9gYy5hXNepheUMd+uriV/qUB6HNBVg==", + "dependencies": { + "@types/react": "^16.9.43", + "@types/react-dom": "^16.9.8", + "@types/react-router-config": "^5.0.2", + "@umijs/runtime": "3.5.41", + "react-router-config": "5.1.1" + }, + "peerDependencies": { + "react": "16.x || 17.x", + "react-dom": "16.x || 17.x" + } + }, + "node_modules/@umijs/renderer-react/node_modules/@types/react": { + "version": "16.14.60", + "resolved": "https://registry.npmjs.org/@types/react/-/react-16.14.60.tgz", + "integrity": "sha512-wIFmnczGsTcgwCBeIYOuy2mdXEiKZ5znU/jNOnMZPQyCcIxauMGWlX0TNG4lZ7NxRKj7YUIZRneJQSSdB2jKgg==", + "dependencies": { + "@types/prop-types": "*", + "@types/scheduler": "^0.16", + "csstype": "^3.0.2" + } + }, + "node_modules/@umijs/renderer-react/node_modules/@types/react-dom": { + "version": "16.9.24", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-16.9.24.tgz", + "integrity": "sha512-Gcmq2JTDheyWn/1eteqyzzWKSqDjYU6KYsIvH7thb7CR5OYInAWOX+7WnKf6PaU/cbdOc4szJItcDEJO7UGmfA==", + "dependencies": { + "@types/react": "^16" + } + }, + "node_modules/@umijs/route-utils": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/@umijs/route-utils/-/route-utils-2.2.2.tgz", + "integrity": "sha512-cMk6qizy0pfpiwpVCvNQB0BKBUJEH33pDv5q5k2tSleSDw2abkJkTu2Kd5hKzoESLuFK43oGeOfcplZqm2bRxw==", + "dependencies": { + "@qixian.cs/path-to-regexp": "^6.1.0", + "fast-deep-equal": "^3.1.3", + "lodash.isequal": "^4.5.0", + "memoize-one": "^5.1.1" + } + }, + "node_modules/@umijs/route-utils/node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" + }, + "node_modules/@umijs/runtime": { + "version": "3.5.41", + "resolved": "https://registry.npmjs.org/@umijs/runtime/-/runtime-3.5.41.tgz", + "integrity": "sha512-ZZJm30Kl7JP3/uM0J7HnIvt37OGSPNuC81+MBT729e8+nXiabbs07pbHyTS2DddVZsaevi5PhDu6YcHPcLWDhA==", + "dependencies": { + "@types/react-router": "5.1.12", + "@types/react-router-dom": "5.1.7", + "history-with-query": "4.10.4", + "react-router": "5.2.0", + "react-router-dom": "5.2.0", + "use-subscription": "1.5.1" + }, + "peerDependencies": { + "react": "16.x || 17.x" + } + }, + "node_modules/@umijs/server": { + "version": "3.5.41", + "resolved": "https://registry.npmjs.org/@umijs/server/-/server-3.5.41.tgz", + "integrity": "sha512-DL4tOGIsP/UHu6++T+vXJdaMd7BXvGo+Vjk3JW4V/gyJhhDSfCHalnv3rEGygxpaWa4nsJdzCaVzKnlRSGAzuw==", + "dependencies": { + "@umijs/core": "3.5.41", + "@umijs/deps": "3.5.41", + "@umijs/utils": "3.5.41" + } + }, + "node_modules/@umijs/ssr-darkreader": { + "version": "4.9.45", + "resolved": "https://registry.npmjs.org/@umijs/ssr-darkreader/-/ssr-darkreader-4.9.45.tgz", + "integrity": "sha512-XlcwzSYQ/SRZpHdwIyMDS4FOGX5kP4U/2g2mykyn/iPQTK4xTiQAyBu6UnnDnn7d5P8s7Atzh1C7H0ETNOypJg==", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/darkreader" + } + }, + "node_modules/@umijs/test": { + "version": "3.5.41", + "resolved": "https://registry.npmjs.org/@umijs/test/-/test-3.5.41.tgz", + "integrity": "sha512-0Y2XuGwlFBd4Un3AbColgnt8GejYVN2dfYdzkdo6Tsn0BX2iFTtJiF1L1SwO4YqHob3oI/CMzpEcKCNkC041QQ==", + "dev": true, + "dependencies": { + "@babel/core": "7.18.6", + "@umijs/babel-preset-umi": "3.5.41", + "@umijs/utils": "3.5.41", + "babel-jest": "^26.6.3", + "core-js": "3.8.2", + "identity-obj-proxy": "3.0.0", + "jest": "^26.6.3", + "jest-cli": "^26.6.3", + "regenerator-runtime": "^0.13.7", + "whatwg-fetch": "^3.5.0" + }, + "bin": { + "umi-test": "bin/umi-test.js" + } + }, + "node_modules/@umijs/test/node_modules/@babel/core": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.18.6.tgz", + "integrity": "sha512-cQbWBpxcbbs/IUredIPkHiAGULLV8iwgNRMFzvbhEXISp4f3rUUXE5+TIw6KwUWUR3DwyI6gmBRnmAtYaWehwQ==", + "dev": true, + "dependencies": { + "@ampproject/remapping": "^2.1.0", + "@babel/code-frame": "^7.18.6", + "@babel/generator": "^7.18.6", + "@babel/helper-compilation-targets": "^7.18.6", + "@babel/helper-module-transforms": "^7.18.6", + "@babel/helpers": "^7.18.6", + "@babel/parser": "^7.18.6", + "@babel/template": "^7.18.6", + "@babel/traverse": "^7.18.6", + "@babel/types": "^7.18.6", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.1", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@umijs/test/node_modules/convert-source-map": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", + "dev": true + }, + "node_modules/@umijs/test/node_modules/core-js": { + "version": "3.8.2", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.8.2.tgz", + "integrity": "sha512-FfApuSRgrR6G5s58casCBd9M2k+4ikuu4wbW6pJyYU7bd9zvFc9qf7vr5xmrZOhT9nn+8uwlH1oRR9jTnFoA3A==", + "deprecated": "core-js@<3.23.3 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Some versions have web compatibility issues. Please, upgrade your dependencies to the actual version of core-js.", + "dev": true, + "hasInstallScript": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, + "node_modules/@umijs/test/node_modules/regenerator-runtime": { + "version": "0.13.11", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", + "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==", + "dev": true + }, + "node_modules/@umijs/test/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@umijs/types": { + "version": "3.5.41", + "resolved": "https://registry.npmjs.org/@umijs/types/-/types-3.5.41.tgz", + "integrity": "sha512-pxvLiQ99EL8Yu98F/ZMojG9ukDptC315cnxSnRYOdS34F57oiIgW0Zoi0TrKlA0pVIQxC2MXzyQwy+HfDmB23Q==", + "dependencies": { + "@umijs/babel-preset-umi": "3.5.41", + "@umijs/core": "3.5.41", + "@umijs/deps": "3.5.41", + "@umijs/renderer-react": "3.5.41", + "@umijs/server": "3.5.41", + "@umijs/utils": "3.5.41", + "webpack-chain": "6.5.1" + } + }, + "node_modules/@umijs/use-params": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/@umijs/use-params/-/use-params-1.0.9.tgz", + "integrity": "sha512-QlN0RJSBVQBwLRNxbxjQ5qzqYIGn+K7USppMoIOVlf7fxXHsnQZ2bEsa6Pm74bt6DVQxpUE8HqvdStn6Y9FV1w==", + "peerDependencies": { + "react": "*" + } + }, + "node_modules/@umijs/utils": { + "version": "3.5.41", + "resolved": "https://registry.npmjs.org/@umijs/utils/-/utils-3.5.41.tgz", + "integrity": "sha512-htBGGUfVUlEv5j9hUZ0tmVa9Jj1Z3vhFsUNKl2Luw7hWqTv86prWKPEcG2FWOjTTmE8iSK6r4dHmBSlSC5P6Tw==", + "dependencies": { + "@umijs/babel-preset-umi": "3.5.41", + "@umijs/deps": "3.5.41" + } + }, + "node_modules/@umijs/yorkie": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@umijs/yorkie/-/yorkie-2.0.5.tgz", + "integrity": "sha512-vgu4U7/pvG73vY0GGQftXht2t6YAecS8P1cUHIj9VfUHzXIKuRXiaewxxasYgr3gBNrY3GpGiVnmJsHDG6Q3+g==", + "dev": true, + "hasInstallScript": true, + "dependencies": { + "execa": "^0.8.0", + "is-ci": "^1.0.10", + "normalize-path": "^1.0.0", + "strip-indent": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@umijs/yorkie/node_modules/cross-spawn": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", + "integrity": "sha512-pTgQJ5KC0d2hcY8eyL1IzlBPYjTkyH72XRZPnLyKus2mBfNjQs3klqbJU2VILqZryAZUt9JOb3h/mWMy23/f5A==", + "dev": true, + "dependencies": { + "lru-cache": "^4.0.1", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "node_modules/@umijs/yorkie/node_modules/execa": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-0.8.0.tgz", + "integrity": "sha512-zDWS+Rb1E8BlqqhALSt9kUhss8Qq4nN3iof3gsOdyINksElaPyNBtKUMTR62qhvgVWR0CqCX7sdnKe4MnUbFEA==", + "dev": true, + "dependencies": { + "cross-spawn": "^5.0.1", + "get-stream": "^3.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@umijs/yorkie/node_modules/get-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", + "integrity": "sha512-GlhdIUuVakc8SJ6kK0zAFbiGzRFzNnY4jUuEbV9UROo4Y+0Ny4fjvcZFVTeDA4odpFyOQzaw6hXukJSq/f28sQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/@umijs/yorkie/node_modules/is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@umijs/yorkie/node_modules/lru-cache": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", + "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", + "dev": true, + "dependencies": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } + }, + "node_modules/@umijs/yorkie/node_modules/npm-run-path": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", + "integrity": "sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw==", + "dev": true, + "dependencies": { + "path-key": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@umijs/yorkie/node_modules/path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/@umijs/yorkie/node_modules/shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==", + "dev": true, + "dependencies": { + "shebang-regex": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@umijs/yorkie/node_modules/shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@umijs/yorkie/node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" + } + }, + "node_modules/@umijs/yorkie/node_modules/yallist": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", + "integrity": "sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A==", + "dev": true + }, + "node_modules/a-sync-waterfall": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/a-sync-waterfall/-/a-sync-waterfall-1.0.1.tgz", + "integrity": "sha512-RYTOHHdWipFUliRFMCS4X2Yn2X8M87V/OpSqWzKKOGhzqyUxzyVmhHDH9sAvG+ZuQf/TAOFsLCpMw09I1ufUnA==", + "dev": true + }, + "node_modules/abab": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz", + "integrity": "sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==", + "deprecated": "Use your platform's native atob() and btoa() methods instead", + "dev": true + }, + "node_modules/accepts": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", + "dev": true, + "dependencies": { + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-globals": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-6.0.0.tgz", + "integrity": "sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==", + "dev": true, + "dependencies": { + "acorn": "^7.1.1", + "acorn-walk": "^7.1.1" + } + }, + "node_modules/acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "dev": true, + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/acorn-walk": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", + "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/add-dom-event-listener": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/add-dom-event-listener/-/add-dom-event-listener-1.1.0.tgz", + "integrity": "sha512-WCxx1ixHT0GQU9hb0KI/mhgRQhnU+U3GvwY6ZvVjYq8rsihIGoaIOUbY0yMPBxLH5MDtr0kz3fisWGNcbWW7Jw==", + "dev": true, + "dependencies": { + "object-assign": "4.x" + } + }, + "node_modules/address": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/address/-/address-1.2.2.tgz", + "integrity": "sha512-4B/qKCfeE/ODUaAUpSwfzazo5x29WD4r3vXiWsB7I2mSDAihwEqKO+g8GELZUQSSAo5e1XTYh3ZVfLyxBc12nA==", + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/agent-base": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "dev": true, + "dependencies": { + "debug": "4" + }, + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/agentkeepalive": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-3.5.2.tgz", + "integrity": "sha512-e0L/HNe6qkQ7H19kTlRRqUibEAwDK5AFk6y3PtMsuut2VAH6+Q4xZml1tNDJD7kSAyqmbG/K08K5WEJYtUrSlQ==", + "dev": true, + "dependencies": { + "humanize-ms": "^1.2.1" + }, + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/aggregate-error": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", + "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", + "dev": true, + "dependencies": { + "clean-stack": "^2.0.0", + "indent-string": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ajv-errors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.1.tgz", + "integrity": "sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==", + "peerDependencies": { + "ajv": ">=5.0.0" + } + }, + "node_modules/ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "peerDependencies": { + "ajv": "^6.9.1" + } + }, + "node_modules/ansi-align": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.1.tgz", + "integrity": "sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==", + "dev": true, + "dependencies": { + "string-width": "^4.1.0" + } + }, + "node_modules/ansi-colors": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz", + "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "dev": true, + "dependencies": { + "type-fest": "^0.21.3" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ansi-escapes/node_modules/type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ansi-html": { + "version": "0.0.9", + "resolved": "https://registry.npmjs.org/ansi-html/-/ansi-html-0.0.9.tgz", + "integrity": "sha512-ozbS3LuenHVxNRh/wdnN16QapUHzauqSomAl1jwwJRRsGwFwtj644lIhxfWu0Fy0acCij2+AEgHvjscq3dlVXg==", + "engines": [ + "node >= 0.8.0" + ], + "bin": { + "ansi-html": "bin/ansi-html" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/ansicolors": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/ansicolors/-/ansicolors-0.3.2.tgz", + "integrity": "sha512-QXu7BPrP29VllRxH8GwB7x5iX5qWKAAMLqKQGWTeLWVlNHNOpVMJ91dsxQAIWXpjuW5wqvxu3Jd/nRjrJ+0pqg==", + "dev": true + }, + "node_modules/antd": { + "version": "4.24.16", + "resolved": "https://registry.npmjs.org/antd/-/antd-4.24.16.tgz", + "integrity": "sha512-zZrK4UYxHtU6tGOOf0uG/kBRx1kTvypfuSB3GqE/SBQxFhZ/TZ+yj7Z1qwI8vGfMtUUJdLeuoCAqGDa1zPsXnQ==", + "dependencies": { + "@ant-design/colors": "^6.0.0", + "@ant-design/icons": "^4.8.2", + "@ant-design/react-slick": "~1.0.2", + "@babel/runtime": "^7.18.3", + "@ctrl/tinycolor": "^3.6.1", + "classnames": "^2.2.6", + "copy-to-clipboard": "^3.2.0", + "lodash": "^4.17.21", + "moment": "^2.29.2", + "rc-cascader": "~3.7.3", + "rc-checkbox": "~3.0.1", + "rc-collapse": "~3.4.2", + "rc-dialog": "~9.0.2", + "rc-drawer": "~6.3.0", + "rc-dropdown": "~4.0.1", + "rc-field-form": "~1.38.2", + "rc-image": "~5.13.0", + "rc-input": "~0.1.4", + "rc-input-number": "~7.3.11", + "rc-mentions": "~1.13.1", + "rc-menu": "~9.8.4", + "rc-motion": "^2.9.0", + "rc-notification": "~4.6.1", + "rc-pagination": "~3.2.0", + "rc-picker": "~2.7.6", + "rc-progress": "~3.4.2", + "rc-rate": "~2.9.3", + "rc-resize-observer": "^1.3.1", + "rc-segmented": "~2.3.0", + "rc-select": "~14.1.18", + "rc-slider": "~10.0.1", + "rc-steps": "~5.0.0", + "rc-switch": "~3.2.2", + "rc-table": "~7.26.0", + "rc-tabs": "~12.5.10", + "rc-textarea": "~0.4.7", + "rc-tooltip": "~5.2.2", + "rc-tree": "~5.7.12", + "rc-tree-select": "~5.5.5", + "rc-trigger": "^5.3.4", + "rc-upload": "~4.3.6", + "rc-util": "^5.37.0", + "scroll-into-view-if-needed": "^2.2.25" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/ant-design" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/antd-mobile": { + "version": "2.3.4", + "resolved": "https://registry.npmjs.org/antd-mobile/-/antd-mobile-2.3.4.tgz", + "integrity": "sha512-Uw02Ghc+DPzaQceJQ+5p1ZnQFafvILA0chTTen7m7c89Uzbw6Ny3zsVZDE1gfteNEIsL4JpPe0I/+aI3Q/nPAA==", + "dev": true, + "dependencies": { + "array-tree-filter": "~2.1.0", + "babel-runtime": "6.x", + "classnames": "^2.2.1", + "normalize.css": "^7.0.0", + "rc-checkbox": "~2.0.0", + "rc-collapse": "~1.9.1", + "rc-slider": "~8.2.0", + "rc-swipeout": "~2.0.0", + "rmc-calendar": "^1.0.0", + "rmc-cascader": "~5.0.0", + "rmc-date-picker": "^6.0.8", + "rmc-dialog": "^1.0.1", + "rmc-drawer": "^0.4.11", + "rmc-feedback": "^2.0.0", + "rmc-input-number": "^1.0.0", + "rmc-list-view": "^0.11.0", + "rmc-notification": "~1.0.0", + "rmc-nuka-carousel": "~3.0.0", + "rmc-picker": "~5.0.0", + "rmc-pull-to-refresh": "~1.0.1", + "rmc-steps": "~1.0.0", + "rmc-tabs": "~1.2.0", + "rmc-tooltip": "~1.0.0" + } + }, + "node_modules/antd-mobile/node_modules/rc-align": { + "version": "2.4.5", + "resolved": "https://registry.npmjs.org/rc-align/-/rc-align-2.4.5.tgz", + "integrity": "sha512-nv9wYUYdfyfK+qskThf4BQUSIadeI/dCsfaMZfNEoxm9HwOIioQ+LyqmMK6jWHAZQgOzMLaqawhuBXlF63vgjw==", + "dev": true, + "dependencies": { + "babel-runtime": "^6.26.0", + "dom-align": "^1.7.0", + "prop-types": "^15.5.8", + "rc-util": "^4.0.4" + } + }, + "node_modules/antd-mobile/node_modules/rc-checkbox": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/rc-checkbox/-/rc-checkbox-2.0.3.tgz", + "integrity": "sha512-sSDV5AcxK5CxBTyUNj9pb0zfhdgLLsWKHwJG18ikeGoIwklcxXvIF6cI/KGVbPLFDa8mPS5WLOlLRqbq/1/ouw==", + "dev": true, + "dependencies": { + "babel-runtime": "^6.23.0", + "classnames": "2.x", + "prop-types": "15.x", + "rc-util": "^4.0.4" + } + }, + "node_modules/antd-mobile/node_modules/rc-collapse": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/rc-collapse/-/rc-collapse-1.9.3.tgz", + "integrity": "sha512-8cG+FzudmgFCC9zRGKXJZA36zoI9Dmyjp6UDi8N80sXUch0JOpsZDxgcFzw4HPpPpK/dARtTilEe9zyuspnW0w==", + "dev": true, + "dependencies": { + "classnames": "2.x", + "css-animation": "1.x", + "prop-types": "^15.5.6", + "rc-animate": "2.x" + } + }, + "node_modules/antd-mobile/node_modules/rc-slider": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/rc-slider/-/rc-slider-8.2.0.tgz", + "integrity": "sha512-rnO36M3VhMoPWh1kRuCeJoluT4duAW7+5aLaAn9oLu2pKEKsuOFUh5DmA2kEo88UmvPV6nr7HHDeZuC8SNM/lA==", + "dev": true, + "dependencies": { + "babel-runtime": "6.x", + "classnames": "^2.2.5", + "prop-types": "^15.5.4", + "rc-tooltip": "^3.4.2", + "rc-util": "^4.0.4", + "shallowequal": "^1.0.1", + "warning": "^3.0.0" + } + }, + "node_modules/antd-mobile/node_modules/rc-tooltip": { + "version": "3.7.3", + "resolved": "https://registry.npmjs.org/rc-tooltip/-/rc-tooltip-3.7.3.tgz", + "integrity": "sha512-dE2ibukxxkrde7wH9W8ozHKUO4aQnPZ6qBHtrTH9LoO836PjDdiaWO73fgPB05VfJs9FbZdmGPVEbXCeOP99Ww==", + "dev": true, + "dependencies": { + "babel-runtime": "6.x", + "prop-types": "^15.5.8", + "rc-trigger": "^2.2.2" + } + }, + "node_modules/antd-mobile/node_modules/rc-trigger": { + "version": "2.6.5", + "resolved": "https://registry.npmjs.org/rc-trigger/-/rc-trigger-2.6.5.tgz", + "integrity": "sha512-m6Cts9hLeZWsTvWnuMm7oElhf+03GOjOLfTuU0QmdB9ZrW7jR2IpI5rpNM7i9MvAAlMAmTx5Zr7g3uu/aMvZAw==", + "dev": true, + "dependencies": { + "babel-runtime": "6.x", + "classnames": "^2.2.6", + "prop-types": "15.x", + "rc-align": "^2.4.0", + "rc-animate": "2.x", + "rc-util": "^4.4.0", + "react-lifecycles-compat": "^3.0.4" + } + }, + "node_modules/antd-mobile/node_modules/rc-util": { + "version": "4.21.1", + "resolved": "https://registry.npmjs.org/rc-util/-/rc-util-4.21.1.tgz", + "integrity": "sha512-Z+vlkSQVc1l8O2UjR3WQ+XdWlhj5q9BMQNLk2iOBch75CqPfrJyGtcWMcnhRlNuDu0Ndtt4kLVO8JI8BrABobg==", + "dev": true, + "dependencies": { + "add-dom-event-listener": "^1.1.0", + "prop-types": "^15.5.10", + "react-is": "^16.12.0", + "react-lifecycles-compat": "^3.0.4", + "shallowequal": "^1.1.0" + } + }, + "node_modules/antd-mobile/node_modules/react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", + "dev": true + }, + "node_modules/antd-mobile/node_modules/warning": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/warning/-/warning-3.0.0.tgz", + "integrity": "sha512-jMBt6pUrKn5I+OGgtQ4YZLdhIeJmObddh6CsibPxyQ5yPZm1XExSyzC1LCNX7BzhxWgiHmizBWJTHJIjMjTQYQ==", + "dev": true, + "dependencies": { + "loose-envify": "^1.0.0" + } + }, + "node_modules/antd/node_modules/rc-menu": { + "version": "9.8.4", + "resolved": "https://registry.npmjs.org/rc-menu/-/rc-menu-9.8.4.tgz", + "integrity": "sha512-lmw2j8I2fhdIzHmC9ajfImfckt0WDb2KVJJBBRIsxPEw2kGkEfjLMUoB1NgiNT/Q5cC8PdjGOGQjHJIJMwyNMw==", + "dependencies": { + "@babel/runtime": "^7.10.1", + "classnames": "2.x", + "rc-motion": "^2.4.3", + "rc-overflow": "^1.2.8", + "rc-trigger": "^5.1.2", + "rc-util": "^5.27.0" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/antd/node_modules/scroll-into-view-if-needed": { + "version": "2.2.31", + "resolved": "https://registry.npmjs.org/scroll-into-view-if-needed/-/scroll-into-view-if-needed-2.2.31.tgz", + "integrity": "sha512-dGCXy99wZQivjmjIqihaBQNjryrz5rueJY7eHfTdyWEiR4ttYpsajb14rn9s5d4DY4EcY6+4+U/maARBXJedkA==", + "dependencies": { + "compute-scroll-into-view": "^1.0.20" + } + }, + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/anymatch/node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/append-field": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/append-field/-/append-field-1.0.0.tgz", + "integrity": "sha512-klpgFSWLW1ZEs8svjfb7g4qWY0YS5imI82dTg+QahUvJ8YqAY0P10Uk8tTyh9ZGuYEZEMaeJYCF5BFuX552hsw==", + "dev": true + }, + "node_modules/aproba": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", + "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", + "dev": true + }, + "node_modules/arch": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/arch/-/arch-2.2.0.tgz", + "integrity": "sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/arg": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", + "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==", + "dev": true + }, + "node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/arr-diff": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha512-YVIQ82gZPGBebQV/a8dar4AitzCQs0jjXwMPZllpXMaGjXPYVUawSxQrRsjhjupyVxEvbHgUmIhKVlND+j02kA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/arr-flatten": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", + "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/arr-union": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", + "integrity": "sha512-sKpyeERZ02v1FeCZT8lrfJq5u6goHCtpTAzPwJYe7c8SPFOboNjNg1vz2L4VTn9T4PQxEx13TbXLmYUcS6Ug7Q==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/array-buffer-byte-length": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.1.tgz", + "integrity": "sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.5", + "is-array-buffer": "^3.0.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array-differ": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/array-differ/-/array-differ-3.0.0.tgz", + "integrity": "sha512-THtfYS6KtME/yIAhKjZ2ul7XI96lQGHRputJQHO80LAWQnuGP4iCIN8vdMRboGbIEYBwU33q8Tch1os2+X0kMg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==", + "dev": true + }, + "node_modules/array-includes": { + "version": "3.1.8", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.8.tgz", + "integrity": "sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-object-atoms": "^1.0.0", + "get-intrinsic": "^1.2.4", + "is-string": "^1.0.7" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array-tree-filter": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-tree-filter/-/array-tree-filter-2.1.0.tgz", + "integrity": "sha512-4ROwICNlNw/Hqa9v+rk5h22KjmzB1JGTMVKP2AKJBOCgb0yL0ASf0+YvCcLNNwquOHNX48jkeZIJ3a+oOQqKcw==" + }, + "node_modules/array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "engines": { + "node": ">=8" + } + }, + "node_modules/array-uniq": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", + "integrity": "sha512-MNha4BWQ6JbwhFhj03YK552f7cb3AzoE8SzeljgChvL1dl3IcvggXVz1DilzySZkCja+CXuZbdW7yATchWn8/Q==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/array-unique": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha512-SleRWjh9JUud2wH1hPs9rZBZ33H6T9HOiL0uwGnGx9FpE6wKGyfWugmbkEOIs6qWrZhg0LWeLziLrEwQJhs5mQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/array.prototype.filter": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/array.prototype.filter/-/array.prototype.filter-1.0.4.tgz", + "integrity": "sha512-r+mCJ7zXgXElgR4IRC+fkvNCeoaavWBs6EdCso5Tbcf+iEMKzBU/His60lt34WEZ9vlb8wDkZvQGcVI5GwkfoQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-array-method-boxes-properly": "^1.0.0", + "es-object-atoms": "^1.0.0", + "is-string": "^1.0.7" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.findlast": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/array.prototype.findlast/-/array.prototype.findlast-1.2.5.tgz", + "integrity": "sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "es-shim-unscopables": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.flat": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.2.tgz", + "integrity": "sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "es-shim-unscopables": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.flatmap": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.2.tgz", + "integrity": "sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "es-shim-unscopables": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.toreversed": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/array.prototype.toreversed/-/array.prototype.toreversed-1.1.2.tgz", + "integrity": "sha512-wwDCoT4Ck4Cz7sLtgUmzR5UV3YF5mFHUlbChCzZBQZ+0m2cl/DH3tKgvphv1nKgFsJ48oCSg6p91q2Vm0I/ZMA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "es-shim-unscopables": "^1.0.0" + } + }, + "node_modules/array.prototype.tosorted": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.3.tgz", + "integrity": "sha512-/DdH4TiTmOKzyQbp/eadcCVexiCb36xJg7HshYOYJnNZFDj33GEv0P7GxsynpShhq4OLYJzbGcBDkLsDt7MnNg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.5", + "define-properties": "^1.2.1", + "es-abstract": "^1.22.3", + "es-errors": "^1.1.0", + "es-shim-unscopables": "^1.0.2" + } + }, + "node_modules/arraybuffer.prototype.slice": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.3.tgz", + "integrity": "sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==", + "dev": true, + "dependencies": { + "array-buffer-byte-length": "^1.0.1", + "call-bind": "^1.0.5", + "define-properties": "^1.2.1", + "es-abstract": "^1.22.3", + "es-errors": "^1.2.1", + "get-intrinsic": "^1.2.3", + "is-array-buffer": "^3.0.4", + "is-shared-array-buffer": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/arrify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/arrify/-/arrify-2.0.1.tgz", + "integrity": "sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/asap": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", + "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==" + }, + "node_modules/asn1": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz", + "integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==", + "dev": true, + "dependencies": { + "safer-buffer": "~2.1.0" + } + }, + "node_modules/asn1.js": { + "version": "4.10.1", + "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.10.1.tgz", + "integrity": "sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw==", + "dependencies": { + "bn.js": "^4.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" + } + }, + "node_modules/asn1.js/node_modules/bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" + }, + "node_modules/assert": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.1.tgz", + "integrity": "sha512-zzw1uCAgLbsKwBfFc8CX78DDg+xZeBksSO3vwVIDDN5i94eOrPsSSyiVhmsSABFDM/OcpE2aagCat9dnWQLG1A==", + "dependencies": { + "object.assign": "^4.1.4", + "util": "^0.10.4" + } + }, + "node_modules/assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==", + "dev": true, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/assert/node_modules/inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==" + }, + "node_modules/assert/node_modules/util": { + "version": "0.10.4", + "resolved": "https://registry.npmjs.org/util/-/util-0.10.4.tgz", + "integrity": "sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==", + "dependencies": { + "inherits": "2.0.3" + } + }, + "node_modules/assign-symbols": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", + "integrity": "sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/astral-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", + "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/async": { + "version": "2.6.4", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.4.tgz", + "integrity": "sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==", + "dev": true, + "dependencies": { + "lodash": "^4.17.14" + } + }, + "node_modules/async-limiter": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz", + "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==", + "dev": true + }, + "node_modules/async-validator": { + "version": "4.2.5", + "resolved": "https://registry.npmjs.org/async-validator/-/async-validator-4.2.5.tgz", + "integrity": "sha512-7HhHjtERjqlNbZtqNqy2rckN/SpOOlmDliet+lP7k+eKZEjPk3DgyeU9lIXLdeLz0uBbbVp+9Qdow9wJWgwwfg==" + }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" + }, + "node_modules/at-least-node": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", + "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/atob": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", + "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", + "dev": true, + "bin": { + "atob": "bin/atob.js" + }, + "engines": { + "node": ">= 4.5.0" + } + }, + "node_modules/autolinker": { + "version": "3.16.2", + "resolved": "https://registry.npmjs.org/autolinker/-/autolinker-3.16.2.tgz", + "integrity": "sha512-JiYl7j2Z19F9NdTmirENSUUIIL/9MytEWtmzhfmsKPCp9E+G35Y0UNCMoM9tFigxT59qSc8Ml2dlZXOCVTYwuA==", + "dev": true, + "dependencies": { + "tslib": "^2.3.0" + } + }, + "node_modules/autoprefixer": { + "version": "9.8.8", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.8.8.tgz", + "integrity": "sha512-eM9d/swFopRt5gdJ7jrpCwgvEMIayITpojhkkSMRsFHYuH5bkSQ4p/9qTEHtmNudUZh22Tehu7I6CxAW0IXTKA==", + "dependencies": { + "browserslist": "^4.12.0", + "caniuse-lite": "^1.0.30001109", + "normalize-range": "^0.1.2", + "num2fraction": "^1.2.2", + "picocolors": "^0.2.1", + "postcss": "^7.0.32", + "postcss-value-parser": "^4.1.0" + }, + "bin": { + "autoprefixer": "bin/autoprefixer" + }, + "funding": { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/autoprefixer" + } + }, + "node_modules/autoprefixer/node_modules/picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==" + }, + "node_modules/available-typed-arrays": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz", + "integrity": "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==", + "dev": true, + "dependencies": { + "possible-typed-array-names": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/aws-sign2": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", + "integrity": "sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/aws4": { + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.12.0.tgz", + "integrity": "sha512-NmWvPnx0F1SfrQbYwOi7OeaNGokp9XhzNioJ/CSBs8Qa4vxug81mhJEAVZwxXuBmYB5KDRfMq/F3RR0BIU7sWg==", + "dev": true + }, + "node_modules/axios": { + "version": "1.6.8", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.6.8.tgz", + "integrity": "sha512-v/ZHtJDU39mDpyBoFVkETcd/uNdxrWRrg3bKpOKzXFA6Bvqopts6ALSMU3y6ijYxbw2B+wPrIv46egTzJXCLGQ==", + "dependencies": { + "follow-redirects": "^1.15.6", + "form-data": "^4.0.0", + "proxy-from-env": "^1.1.0" + } + }, + "node_modules/b-tween": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/b-tween/-/b-tween-0.3.3.tgz", + "integrity": "sha512-oEHegcRpA7fAuc9KC4nktucuZn2aS8htymCPcP3qkEGPqiBH+GfqtqoG2l7LxHngg6O0HFM7hOeOYExl1Oz4ZA==" + }, + "node_modules/b-validate": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/b-validate/-/b-validate-1.5.3.tgz", + "integrity": "sha512-iCvCkGFskbaYtfQ0a3GmcQCHl/Sv1GufXFGuUQ+FE+WJa7A/espLOuFIn09B944V8/ImPj71T4+rTASxO2PAuA==" + }, + "node_modules/babel-jest": { + "version": "26.6.3", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-26.6.3.tgz", + "integrity": "sha512-pl4Q+GAVOHwvjrck6jKjvmGhnO3jHX/xuB9d27f+EJZ/6k+6nMuPjorrYp7s++bKKdANwzElBWnLWaObvTnaZA==", + "dev": true, + "dependencies": { + "@jest/transform": "^26.6.2", + "@jest/types": "^26.6.2", + "@types/babel__core": "^7.1.7", + "babel-plugin-istanbul": "^6.0.0", + "babel-preset-jest": "^26.6.2", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.4", + "slash": "^3.0.0" + }, + "engines": { + "node": ">= 10.14.2" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/babel-plugin-dva-hmr": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/babel-plugin-dva-hmr/-/babel-plugin-dva-hmr-0.4.2.tgz", + "integrity": "sha512-QP5W0IT9LDFgoqkXD0g7wn/FMn7zO562P8qys23twXri4i3E1SGOQ3z7jqcPrqzfTZHx+Ufr+cXy9oI6OLMYZg==", + "dev": true, + "peerDependencies": { + "redbox-react": "1.x" + } + }, + "node_modules/babel-plugin-dynamic-import-node": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz", + "integrity": "sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==", + "dev": true, + "dependencies": { + "object.assign": "^4.1.0" + } + }, + "node_modules/babel-plugin-istanbul": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz", + "integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@istanbuljs/load-nyc-config": "^1.0.0", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-instrument": "^5.0.4", + "test-exclude": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/babel-plugin-jest-hoist": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-26.6.2.tgz", + "integrity": "sha512-PO9t0697lNTmcEHH69mdtYiOIkkOlj9fySqfO3K1eCcdISevLAE0xY59VLLUj0SoiPiTX/JU2CYFpILydUa5Lw==", + "dev": true, + "dependencies": { + "@babel/template": "^7.3.3", + "@babel/types": "^7.3.3", + "@types/babel__core": "^7.0.0", + "@types/babel__traverse": "^7.0.6" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/babel-plugin-macros": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-2.6.1.tgz", + "integrity": "sha512-6W2nwiXme6j1n2erPOnmRiWfObUhWH7Qw1LMi9XZy8cj+KtESu3T6asZvtk5bMQQjX8te35o7CFueiSdL/2NmQ==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.4.2", + "cosmiconfig": "^5.2.0", + "resolve": "^1.10.0" + } + }, + "node_modules/babel-plugin-macros/node_modules/cosmiconfig": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.1.tgz", + "integrity": "sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==", + "dev": true, + "dependencies": { + "import-fresh": "^2.0.0", + "is-directory": "^0.3.1", + "js-yaml": "^3.13.1", + "parse-json": "^4.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/babel-plugin-macros/node_modules/import-fresh": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz", + "integrity": "sha512-eZ5H8rcgYazHbKC3PG4ClHNykCSxtAhxSSEM+2mb+7evD2CKF5V7c0dNum7AdpDh0ZdICwZY9sRSn8f+KH96sg==", + "dev": true, + "dependencies": { + "caller-path": "^2.0.0", + "resolve-from": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/babel-plugin-macros/node_modules/parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==", + "dev": true, + "dependencies": { + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/babel-plugin-macros/node_modules/resolve-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", + "integrity": "sha512-GnlH6vxLymXJNMBo7XP1fJIzBFbdYt49CuTwmB/6N53t+kMPRMFKz783LlQ4tv28XoQfMWinAJX6WCGf2IlaIw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/babel-plugin-module-resolver": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/babel-plugin-module-resolver/-/babel-plugin-module-resolver-3.1.1.tgz", + "integrity": "sha512-1Q77Al4ydp6nYApJ7sQ2fmgz30WuQgJZegIYuyOdbdpxenB/bSezQ3hDPsumIXGlUS4vUIv+EwFjzzXZNWtARw==", + "dev": true, + "dependencies": { + "find-babel-config": "^1.1.0", + "glob": "^7.1.2", + "pkg-up": "^2.0.0", + "reselect": "^3.0.1", + "resolve": "^1.4.0" + }, + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/babel-plugin-module-resolver/node_modules/find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha512-NWzkk0jSJtTt08+FBFMvXoeZnOJD+jTtsRmBYbAIzJdX6l7dLgR7CTubCM5/eDdPUBvLCeVasP1brfVR/9/EZQ==", + "dev": true, + "dependencies": { + "locate-path": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/babel-plugin-module-resolver/node_modules/locate-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA==", + "dev": true, + "dependencies": { + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/babel-plugin-module-resolver/node_modules/p-limit": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", + "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", + "dev": true, + "dependencies": { + "p-try": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/babel-plugin-module-resolver/node_modules/p-locate": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha512-nQja7m7gSKuewoVRen45CtVfODR3crN3goVQ0DDZ9N3yHxgpkuBhZqsaiotSQRrADUrne346peY7kT3TSACykg==", + "dev": true, + "dependencies": { + "p-limit": "^1.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/babel-plugin-module-resolver/node_modules/p-try": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/babel-plugin-module-resolver/node_modules/path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/babel-plugin-module-resolver/node_modules/pkg-up": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-2.0.0.tgz", + "integrity": "sha512-fjAPuiws93rm7mPUu21RdBnkeZNrbfCFCwfAhPWY+rR3zG0ubpe5cEReHOw5fIbfmsxEV/g2kSxGTATY3Bpnwg==", + "dev": true, + "dependencies": { + "find-up": "^2.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/babel-plugin-module-resolver/node_modules/reselect": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/reselect/-/reselect-3.0.1.tgz", + "integrity": "sha512-b/6tFZCmRhtBMa4xGqiiRp9jh9Aqi2A687Lo265cN0/QohJQEBPiQ52f4QB6i0eF3yp3hmLL21LSGBcML2dlxA==", + "dev": true + }, + "node_modules/babel-plugin-polyfill-corejs2": { + "version": "0.4.10", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.10.tgz", + "integrity": "sha512-rpIuu//y5OX6jVU+a5BCn1R5RSZYWAl2Nar76iwaOdycqb6JPxediskWFMMl7stfwNJR4b7eiQvh5fB5TEQJTQ==", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.22.6", + "@babel/helper-define-polyfill-provider": "^0.6.1", + "semver": "^6.3.1" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/babel-plugin-polyfill-corejs2/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/babel-plugin-polyfill-corejs3": { + "version": "0.10.4", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.10.4.tgz", + "integrity": "sha512-25J6I8NGfa5YkCDogHRID3fVCadIR8/pGl1/spvCkzb6lVn6SR3ojpx9nOn9iEBcUsjY24AmdKm5khcfKdylcg==", + "dev": true, + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.6.1", + "core-js-compat": "^3.36.1" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/babel-plugin-polyfill-regenerator": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.1.tgz", + "integrity": "sha512-JfTApdE++cgcTWjsiCQlLyFBMbTUft9ja17saCc93lgV33h4tuCVj7tlvu//qpLwaG+3yEz7/KhahGrUMkVq9g==", + "dev": true, + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.6.1" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/babel-plugin-react-require": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/babel-plugin-react-require/-/babel-plugin-react-require-3.0.0.tgz", + "integrity": "sha512-mZV3ycvtB4mfVhmScbU4CjMfBgoQAlsGu/vQw292juPSgvezTmBAke+V85ODAVNCM68r2Qa6dwu72Zcl4cTIbw==", + "dev": true + }, + "node_modules/babel-plugin-transform-react-remove-prop-types": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-react-remove-prop-types/-/babel-plugin-transform-react-remove-prop-types-0.4.24.tgz", + "integrity": "sha512-eqj0hVcJUR57/Ug2zE1Yswsw4LhuqqHhD+8v120T1cl3kjg76QwtyBrdIk4WVwK+lAhBJVYCd/v+4nc4y+8JsA==", + "dev": true + }, + "node_modules/babel-preset-current-node-syntax": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz", + "integrity": "sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==", + "dev": true, + "dependencies": { + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-bigint": "^7.8.3", + "@babel/plugin-syntax-class-properties": "^7.8.3", + "@babel/plugin-syntax-import-meta": "^7.8.3", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.8.3", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3", + "@babel/plugin-syntax-top-level-await": "^7.8.3" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/babel-preset-jest": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-26.6.2.tgz", + "integrity": "sha512-YvdtlVm9t3k777c5NPQIv6cxFFFapys25HiUmuSgHwIZhfifweR5c5Sf5nwE3MAbfu327CYSvps8Yx6ANLyleQ==", + "dev": true, + "dependencies": { + "babel-plugin-jest-hoist": "^26.6.2", + "babel-preset-current-node-syntax": "^1.0.0" + }, + "engines": { + "node": ">= 10.14.2" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/babel-preset-umi": { + "version": "1.8.4", + "resolved": "https://registry.npmjs.org/babel-preset-umi/-/babel-preset-umi-1.8.4.tgz", + "integrity": "sha512-4IU0WuLZTiw7MstZJMwtjyYIGyOhWNUKcpSz1v5T9X8/ka2WXZ3qlkUe8dEb2kBNGrbOdXRw7u8FBEMtexqbow==", + "dev": true, + "dependencies": { + "@babel/core": "7.4.5", + "@babel/plugin-proposal-async-generator-functions": "7.2.0", + "@babel/plugin-proposal-class-properties": "7.4.4", + "@babel/plugin-proposal-decorators": "7.4.4", + "@babel/plugin-proposal-do-expressions": "7.2.0", + "@babel/plugin-proposal-export-default-from": "7.2.0", + "@babel/plugin-proposal-export-namespace-from": "7.2.0", + "@babel/plugin-proposal-function-bind": "7.2.0", + "@babel/plugin-proposal-nullish-coalescing-operator": "7.4.4", + "@babel/plugin-proposal-object-rest-spread": "7.4.4", + "@babel/plugin-proposal-optional-catch-binding": "7.2.0", + "@babel/plugin-proposal-optional-chaining": "7.2.0", + "@babel/plugin-proposal-pipeline-operator": "7.3.2", + "@babel/plugin-syntax-dynamic-import": "7.2.0", + "@babel/plugin-transform-destructuring": "7.4.4", + "@babel/plugin-transform-runtime": "7.4.4", + "@babel/preset-env": "7.4.5", + "@babel/preset-react": "7.0.0", + "@babel/runtime": "7.4.5", + "babel-plugin-macros": "2.6.1", + "babel-plugin-react-require": "3.0.0", + "babel-plugin-transform-react-remove-prop-types": "0.4.24" + } + }, + "node_modules/babel-preset-umi/node_modules/@babel/core": { + "version": "7.4.5", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.4.5.tgz", + "integrity": "sha512-OvjIh6aqXtlsA8ujtGKfC7LYWksYSX8yQcM8Ay3LuvVeQ63lcOKgoZWVqcpFwkd29aYU9rVx7jxhfhiEDV9MZA==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.0.0", + "@babel/generator": "^7.4.4", + "@babel/helpers": "^7.4.4", + "@babel/parser": "^7.4.5", + "@babel/template": "^7.4.4", + "@babel/traverse": "^7.4.5", + "@babel/types": "^7.4.4", + "convert-source-map": "^1.1.0", + "debug": "^4.1.0", + "json5": "^2.1.0", + "lodash": "^4.17.11", + "resolve": "^1.3.2", + "semver": "^5.4.1", + "source-map": "^0.5.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/babel-preset-umi/node_modules/@babel/plugin-proposal-class-properties": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.4.4.tgz", + "integrity": "sha512-WjKTI8g8d5w1Bc9zgwSz2nfrsNQsXcCf9J9cdCvrJV6RF56yztwm4TmJC0MgJ9tvwO9gUA/mcYe89bLdGfiXFg==", + "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-class-properties instead.", + "dev": true, + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.4.4", + "@babel/helper-plugin-utils": "^7.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/babel-preset-umi/node_modules/@babel/plugin-proposal-decorators": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.4.4.tgz", + "integrity": "sha512-z7MpQz3XC/iQJWXH9y+MaWcLPNSMY9RQSthrLzak8R8hCj0fuyNk+Dzi9kfNe/JxxlWQ2g7wkABbgWjW36MTcw==", + "dev": true, + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.4.4", + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-syntax-decorators": "^7.2.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/babel-preset-umi/node_modules/@babel/plugin-syntax-dynamic-import": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.2.0.tgz", + "integrity": "sha512-mVxuJ0YroI/h/tbFTPGZR8cv6ai+STMKNBq0f8hFxsxWjl94qqhsb+wXbpNMDPU3cfR1TIsVFzU3nXyZMqyK4w==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/babel-preset-umi/node_modules/@babel/plugin-transform-destructuring": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.4.4.tgz", + "integrity": "sha512-/aOx+nW0w8eHiEHm+BTERB2oJn5D127iye/SUQl7NjHy0lf+j7h4MKMMSOwdazGq9OxgiNADncE+SRJkCxjZpQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/babel-preset-umi/node_modules/@babel/preset-env": { + "version": "7.4.5", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.4.5.tgz", + "integrity": "sha512-f2yNVXM+FsR5V8UwcFeIHzHWgnhXg3NpRmy0ADvALpnhB0SLbCvrCRr4BLOUYbQNLS+Z0Yer46x9dJXpXewI7w==", + "dev": true, + "dependencies": { + "@babel/helper-module-imports": "^7.0.0", + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-proposal-async-generator-functions": "^7.2.0", + "@babel/plugin-proposal-json-strings": "^7.2.0", + "@babel/plugin-proposal-object-rest-spread": "^7.4.4", + "@babel/plugin-proposal-optional-catch-binding": "^7.2.0", + "@babel/plugin-proposal-unicode-property-regex": "^7.4.4", + "@babel/plugin-syntax-async-generators": "^7.2.0", + "@babel/plugin-syntax-json-strings": "^7.2.0", + "@babel/plugin-syntax-object-rest-spread": "^7.2.0", + "@babel/plugin-syntax-optional-catch-binding": "^7.2.0", + "@babel/plugin-transform-arrow-functions": "^7.2.0", + "@babel/plugin-transform-async-to-generator": "^7.4.4", + "@babel/plugin-transform-block-scoped-functions": "^7.2.0", + "@babel/plugin-transform-block-scoping": "^7.4.4", + "@babel/plugin-transform-classes": "^7.4.4", + "@babel/plugin-transform-computed-properties": "^7.2.0", + "@babel/plugin-transform-destructuring": "^7.4.4", + "@babel/plugin-transform-dotall-regex": "^7.4.4", + "@babel/plugin-transform-duplicate-keys": "^7.2.0", + "@babel/plugin-transform-exponentiation-operator": "^7.2.0", + "@babel/plugin-transform-for-of": "^7.4.4", + "@babel/plugin-transform-function-name": "^7.4.4", + "@babel/plugin-transform-literals": "^7.2.0", + "@babel/plugin-transform-member-expression-literals": "^7.2.0", + "@babel/plugin-transform-modules-amd": "^7.2.0", + "@babel/plugin-transform-modules-commonjs": "^7.4.4", + "@babel/plugin-transform-modules-systemjs": "^7.4.4", + "@babel/plugin-transform-modules-umd": "^7.2.0", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.4.5", + "@babel/plugin-transform-new-target": "^7.4.4", + "@babel/plugin-transform-object-super": "^7.2.0", + "@babel/plugin-transform-parameters": "^7.4.4", + "@babel/plugin-transform-property-literals": "^7.2.0", + "@babel/plugin-transform-regenerator": "^7.4.5", + "@babel/plugin-transform-reserved-words": "^7.2.0", + "@babel/plugin-transform-shorthand-properties": "^7.2.0", + "@babel/plugin-transform-spread": "^7.2.0", + "@babel/plugin-transform-sticky-regex": "^7.2.0", + "@babel/plugin-transform-template-literals": "^7.4.4", + "@babel/plugin-transform-typeof-symbol": "^7.2.0", + "@babel/plugin-transform-unicode-regex": "^7.4.4", + "@babel/types": "^7.4.4", + "browserslist": "^4.6.0", + "core-js-compat": "^3.1.1", + "invariant": "^2.2.2", + "js-levenshtein": "^1.1.3", + "semver": "^5.5.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/babel-preset-umi/node_modules/@babel/preset-react": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.0.0.tgz", + "integrity": "sha512-oayxyPS4Zj+hF6Et11BwuBkmpgT/zMxyuZgFrMeZID6Hdh3dGlk4sHCAhdBCpuCKW2ppBfl2uCCetlrUIJRY3w==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-transform-react-display-name": "^7.0.0", + "@babel/plugin-transform-react-jsx": "^7.0.0", + "@babel/plugin-transform-react-jsx-self": "^7.0.0", + "@babel/plugin-transform-react-jsx-source": "^7.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/babel-preset-umi/node_modules/@babel/runtime": { + "version": "7.4.5", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.4.5.tgz", + "integrity": "sha512-TuI4qpWZP6lGOGIuGWtp9sPluqYICmbk8T/1vpSysqJxRPkudh/ofFWyqdcMsDf2s7KvDL4/YHgKyvcS3g9CJQ==", + "dev": true, + "dependencies": { + "regenerator-runtime": "^0.13.2" + } + }, + "node_modules/babel-preset-umi/node_modules/convert-source-map": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", + "dev": true + }, + "node_modules/babel-preset-umi/node_modules/regenerator-runtime": { + "version": "0.13.11", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", + "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==", + "dev": true + }, + "node_modules/babel-preset-umi/node_modules/semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "dev": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/babel-preset-umi/node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/babel-runtime": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", + "integrity": "sha512-ITKNuq2wKlW1fJg9sSW52eepoYgZBggvOAHC0u/CYu/qxQ9EVzThCgR69BnSXLHjy2f7SY5zaQ4yt7H9ZVxY2g==", + "dev": true, + "dependencies": { + "core-js": "^2.4.0", + "regenerator-runtime": "^0.11.0" + } + }, + "node_modules/babel-runtime/node_modules/core-js": { + "version": "2.6.12", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.12.tgz", + "integrity": "sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==", + "deprecated": "core-js@<3.23.3 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Some versions have web compatibility issues. Please, upgrade your dependencies to the actual version of core-js.", + "dev": true, + "hasInstallScript": true + }, + "node_modules/babel-runtime/node_modules/regenerator-runtime": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", + "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==", + "dev": true + }, + "node_modules/babel-types": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz", + "integrity": "sha512-zhe3V/26rCWsEZK8kZN+HaQj5yQ1CilTObixFzKW1UWjqG7618Twz6YEsCnjfg5gBcJh02DrpCkS9h98ZqDY+g==", + "dev": true, + "dependencies": { + "babel-runtime": "^6.26.0", + "esutils": "^2.0.2", + "lodash": "^4.17.4", + "to-fast-properties": "^1.0.3" + } + }, + "node_modules/babel-types/node_modules/to-fast-properties": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz", + "integrity": "sha512-lxrWP8ejsq+7E3nNjwYmUBMAgjMTZoTI+sdBOpvNyijeDLa29LUn9QaoXAHv4+Z578hbmHHJKZknzxVtvo77og==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/bail": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/bail/-/bail-1.0.5.tgz", + "integrity": "sha512-xFbRxM1tahm08yHBP16MMjVUAvDaBMD38zsM9EMAUN61omwLmKlOpB/Zku5QkjZ8TZ4vn53pj+t518cH0S03RQ==", + "dev": true, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" + }, + "node_modules/base": { + "version": "0.11.2", + "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", + "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", + "dev": true, + "dependencies": { + "cache-base": "^1.0.1", + "class-utils": "^0.3.5", + "component-emitter": "^1.2.1", + "define-property": "^1.0.0", + "isobject": "^3.0.1", + "mixin-deep": "^1.2.0", + "pascalcase": "^0.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/base/node_modules/define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", + "dev": true, + "dependencies": { + "is-descriptor": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/bcrypt-pbkdf": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", + "integrity": "sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==", + "dev": true, + "dependencies": { + "tweetnacl": "^0.14.3" + } + }, + "node_modules/big.js": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", + "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", + "engines": { + "node": "*" + } + }, + "node_modules/binary-extensions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", + "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/binaryextensions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/binaryextensions/-/binaryextensions-2.3.0.tgz", + "integrity": "sha512-nAihlQsYGyc5Bwq6+EsubvANYGExeJKHDO3RjnvwU042fawQTQfM3Kxn7IHUXQOz4bzfwsGYYHGSvXyW4zOGLg==", + "dev": true, + "engines": { + "node": ">=0.8" + }, + "funding": { + "url": "https://bevry.me/fund" + } + }, + "node_modules/bl": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", + "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", + "dev": true, + "dependencies": { + "buffer": "^5.5.0", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" + } + }, + "node_modules/bl/node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "dev": true, + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/blink-diff": { + "version": "1.0.13", + "resolved": "https://registry.npmjs.org/blink-diff/-/blink-diff-1.0.13.tgz", + "integrity": "sha512-2hIEnGq8wruXfje9GvDV41VXo+4YdjrjL5ZMlVJT3Wi5k1jjz20fCTlVejSXoERirhEVsFYz9NmgdUYgQ41Giw==", + "dev": true, + "dependencies": { + "pngjs-image": "~0.11.5", + "preceptor-core": "~0.10.0", + "promise": "6.0.0" + }, + "bin": { + "blink-diff": "bin/blink-diff" + } + }, + "node_modules/bluebird": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", + "dev": true + }, + "node_modules/bn.js": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", + "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==" + }, + "node_modules/body-parser": { + "version": "1.20.2", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.2.tgz", + "integrity": "sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==", + "dev": true, + "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.11.0", + "raw-body": "2.5.2", + "type-is": "~1.6.18", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/body-parser/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/body-parser/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "node_modules/boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==", + "dev": true + }, + "node_modules/boxen": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/boxen/-/boxen-2.1.0.tgz", + "integrity": "sha512-luq3RQOt2U5sUX+fiu+qnT+wWnHDcATLpEe63jvge6GUZO99AKbVRfp97d2jgLvq1iQa0ORzaAm4lGVG52ZSlw==", + "dev": true, + "dependencies": { + "ansi-align": "^3.0.0", + "camelcase": "^5.0.0", + "chalk": "^2.4.1", + "cli-boxes": "^1.0.0", + "string-width": "^3.0.0", + "term-size": "^1.2.0", + "widest-line": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/boxen/node_modules/ansi-regex": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", + "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/boxen/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/boxen/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/boxen/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/boxen/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, + "node_modules/boxen/node_modules/emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", + "dev": true + }, + "node_modules/boxen/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/boxen/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/boxen/node_modules/is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/boxen/node_modules/string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "dev": true, + "dependencies": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/boxen/node_modules/strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "dependencies": { + "ansi-regex": "^4.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/boxen/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/braft-convert": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/braft-convert/-/braft-convert-2.3.0.tgz", + "integrity": "sha512-5km+dLHk8iYDv2iEYDrDQ2ld/ZoUx66QLql0qdm5PqZEcNXc8dBHGLORfzeu3iMw1jLeAiHxtdY5+ypuIhczVg==", + "dependencies": { + "draft-convert": "^2.0.0", + "draft-js": "^0.10.3" + }, + "peerDependencies": { + "react": "^16.0.0" + } + }, + "node_modules/braft-editor": { + "version": "2.3.9", + "resolved": "https://registry.npmjs.org/braft-editor/-/braft-editor-2.3.9.tgz", + "integrity": "sha512-mqdPk/zI2dhFK8tW/A4Qj/AkkARLh5L/niNw+iif5wFqb6zh15rMlrShgz1nWO/QXyAKr8XtDgxiBbR0zWwtRg==", + "dependencies": { + "@babel/runtime": "^7.0.0", + "braft-convert": "^2.3.0", + "braft-finder": "^0.0.19", + "braft-utils": "^3.0.8", + "draft-convert": "^2.0.0", + "draft-js": "^0.10.3", + "draft-js-multidecorators": "^1.0.0", + "draftjs-utils": "^0.9.4", + "immutable": "~3.7.4" + }, + "peerDependencies": { + "react": "^15.0.2|| ^16.0.0-rc || ^16.0.0", + "react-dom": "^15.0.2|| ^16.0.0-rc || ^16.0.0" + } + }, + "node_modules/braft-finder": { + "version": "0.0.19", + "resolved": "https://registry.npmjs.org/braft-finder/-/braft-finder-0.0.19.tgz", + "integrity": "sha512-0kzI6/KbomJJhYX1hpjn4edCKhblyUyWdUrsgBmOrwy0vrj+pPkm69+Uf8Uj6KGAULM6LF0ooC++p7fqUGgFHw==", + "peerDependencies": { + "react": "^16.4.1", + "react-dom": "^16.4.1" + } + }, + "node_modules/braft-utils": { + "version": "3.0.13", + "resolved": "https://registry.npmjs.org/braft-utils/-/braft-utils-3.0.13.tgz", + "integrity": "sha512-92YNlc5RW3mNMo0zbWhnqz8PWr21AAPPhnfn3ZUoXM9+wBIuJQe6UyvOas+MEG9UOGFrvTDPbq60P3fdEhyMQQ==", + "peerDependencies": { + "braft-convert": "^2.1.4", + "draft-js": "^0.10.5", + "draftjs-utils": "^0.9.4", + "immutable": "~3.7.4" + } + }, + "node_modules/brorand": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", + "integrity": "sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==" + }, + "node_modules/browser-process-hrtime": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz", + "integrity": "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==", + "dev": true + }, + "node_modules/browserify-aes": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", + "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", + "dependencies": { + "buffer-xor": "^1.0.3", + "cipher-base": "^1.0.0", + "create-hash": "^1.1.0", + "evp_bytestokey": "^1.0.3", + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/browserify-cipher": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz", + "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", + "dependencies": { + "browserify-aes": "^1.0.4", + "browserify-des": "^1.0.0", + "evp_bytestokey": "^1.0.0" + } + }, + "node_modules/browserify-des": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz", + "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", + "dependencies": { + "cipher-base": "^1.0.1", + "des.js": "^1.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "node_modules/browserify-rsa": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.1.0.tgz", + "integrity": "sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==", + "dependencies": { + "bn.js": "^5.0.0", + "randombytes": "^2.0.1" + } + }, + "node_modules/browserify-sign": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.3.tgz", + "integrity": "sha512-JWCZW6SKhfhjJxO8Tyiiy+XYB7cqd2S5/+WeYHsKdNKFlCBhKbblba1A/HN/90YwtxKc8tCErjffZl++UNmGiw==", + "dependencies": { + "bn.js": "^5.2.1", + "browserify-rsa": "^4.1.0", + "create-hash": "^1.2.0", + "create-hmac": "^1.1.7", + "elliptic": "^6.5.5", + "hash-base": "~3.0", + "inherits": "^2.0.4", + "parse-asn1": "^5.1.7", + "readable-stream": "^2.3.8", + "safe-buffer": "^5.2.1" + }, + "engines": { + "node": ">= 0.12" + } + }, + "node_modules/browserify-zlib": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", + "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", + "dependencies": { + "pako": "~1.0.5" + } + }, + "node_modules/browserify-zlib/node_modules/pako": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", + "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==" + }, + "node_modules/browserslist": { + "version": "4.23.0", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.0.tgz", + "integrity": "sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "caniuse-lite": "^1.0.30001587", + "electron-to-chromium": "^1.4.668", + "node-releases": "^2.0.14", + "update-browserslist-db": "^1.0.13" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/bser": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", + "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", + "dev": true, + "dependencies": { + "node-int64": "^0.4.0" + } + }, + "node_modules/buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "node_modules/buffer-alloc": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz", + "integrity": "sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==", + "dev": true, + "dependencies": { + "buffer-alloc-unsafe": "^1.1.0", + "buffer-fill": "^1.0.0" + } + }, + "node_modules/buffer-alloc-unsafe": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz", + "integrity": "sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==", + "dev": true + }, + "node_modules/buffer-crc32": { + "version": "0.2.13", + "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", + "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/buffer-fill": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz", + "integrity": "sha512-T7zexNBwiiaCOGDg9xNX9PBmjrubblRkENuptryuI64URkXDFum9il/JGL8Lm8wYfAXpredVXXZz7eMHilimiQ==", + "dev": true + }, + "node_modules/buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" + }, + "node_modules/buffer-xor": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", + "integrity": "sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==" + }, + "node_modules/builtin-status-codes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", + "integrity": "sha512-HpGFw18DgFWlncDfjTa2rcQ4W88O1mC8e8yZ2AvQY5KDaktSTwo+KRf6nHK6FRI5FyRyb/5T6+TSxfP7QyGsmQ==" + }, + "node_modules/builtins": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/builtins/-/builtins-1.0.3.tgz", + "integrity": "sha512-uYBjakWipfaO/bXI7E8rq6kpwHRZK5cNYrUv2OzZSI/FvmdMyXJ2tG9dKcjEC5YHmHpUAwsargWIZNWdxb/bnQ==", + "dev": true + }, + "node_modules/busboy": { + "version": "0.2.14", + "resolved": "https://registry.npmjs.org/busboy/-/busboy-0.2.14.tgz", + "integrity": "sha512-InWFDomvlkEj+xWLBfU3AvnbVYqeTWmQopiW0tWWEy5yehYm2YkGEc59sUmw/4ty5Zj/b0WHGs1LgecuBSBGrg==", + "dev": true, + "dependencies": { + "dicer": "0.2.5", + "readable-stream": "1.1.x" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/busboy/node_modules/isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==", + "dev": true + }, + "node_modules/busboy/node_modules/readable-stream": { + "version": "1.1.14", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", + "integrity": "sha512-+MeVjFf4L44XUkhM1eYbD8fyEsxcV81pqMSR5gblfcLCHfZvbrqy4/qYHE+/R5HoBUT11WV5O08Cr1n3YXkWVQ==", + "dev": true, + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + } + }, + "node_modules/busboy/node_modules/string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ==", + "dev": true + }, + "node_modules/bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/cacache": { + "version": "9.3.0", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-9.3.0.tgz", + "integrity": "sha512-Vbi8J1XfC8v+FbQ6QkOtKXsHpPnB0i9uMeYFJoj40EbdOsEqWB3DPpNjfsnYBkqOPYA8UvrqH6FZPpBP0zdN7g==", + "dev": true, + "dependencies": { + "bluebird": "^3.5.0", + "chownr": "^1.0.1", + "glob": "^7.1.2", + "graceful-fs": "^4.1.11", + "lru-cache": "^4.1.1", + "mississippi": "^1.3.0", + "mkdirp": "^0.5.1", + "move-concurrently": "^1.0.1", + "promise-inflight": "^1.0.1", + "rimraf": "^2.6.1", + "ssri": "^4.1.6", + "unique-filename": "^1.1.0", + "y18n": "^3.2.1" + } + }, + "node_modules/cacache/node_modules/lru-cache": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", + "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", + "dev": true, + "dependencies": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } + }, + "node_modules/cacache/node_modules/mkdirp": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", + "dev": true, + "dependencies": { + "minimist": "^1.2.6" + }, + "bin": { + "mkdirp": "bin/cmd.js" + } + }, + "node_modules/cacache/node_modules/rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + } + }, + "node_modules/cacache/node_modules/yallist": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", + "integrity": "sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A==", + "dev": true + }, + "node_modules/cache-base": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", + "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", + "dev": true, + "dependencies": { + "collection-visit": "^1.0.0", + "component-emitter": "^1.2.1", + "get-value": "^2.0.6", + "has-value": "^1.0.0", + "isobject": "^3.0.1", + "set-value": "^2.0.0", + "to-object-path": "^0.3.0", + "union-value": "^1.0.0", + "unset-value": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/cacheable-request": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-6.1.0.tgz", + "integrity": "sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg==", + "dev": true, + "dependencies": { + "clone-response": "^1.0.2", + "get-stream": "^5.1.0", + "http-cache-semantics": "^4.0.0", + "keyv": "^3.0.0", + "lowercase-keys": "^2.0.0", + "normalize-url": "^4.1.0", + "responselike": "^1.0.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cacheable-request/node_modules/get-stream": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", + "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", + "dev": true, + "dependencies": { + "pump": "^3.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cacheable-request/node_modules/http-cache-semantics": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz", + "integrity": "sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==", + "dev": true + }, + "node_modules/cacheable-request/node_modules/json-buffer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz", + "integrity": "sha512-CuUqjv0FUZIdXkHPI8MezCnFCdaTAacej1TZYulLoAg1h/PhwkdXFN4V/gzY4g+fMBCOV2xF+rp7t2XD2ns/NQ==", + "dev": true + }, + "node_modules/cacheable-request/node_modules/keyv": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-3.1.0.tgz", + "integrity": "sha512-9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA==", + "dev": true, + "dependencies": { + "json-buffer": "3.0.0" + } + }, + "node_modules/cacheable-request/node_modules/lowercase-keys": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz", + "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/cacheable-request/node_modules/normalize-url": { + "version": "4.5.1", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-4.5.1.tgz", + "integrity": "sha512-9UZCFRHQdNrfTpGg8+1INIg93B6zE0aXMVFkw1WFwvO4SlZywU6aLg5Of0Ap/PgcbSw4LNxvMWXMeugwMCX0AA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/cacheable-request/node_modules/pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "dev": true, + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "node_modules/call-bind": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz", + "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==", + "dependencies": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "set-function-length": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/call-me-maybe": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-me-maybe/-/call-me-maybe-1.0.2.tgz", + "integrity": "sha512-HpX65o1Hnr9HH25ojC1YGs7HCQLq0GCOibSaWER0eNpgJ/Z1MZv2mTc7+xh6WOPxbRVcmgbv4hGU+uSQ/2xFZQ==", + "dev": true + }, + "node_modules/caller-callsite": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/caller-callsite/-/caller-callsite-2.0.0.tgz", + "integrity": "sha512-JuG3qI4QOftFsZyOn1qq87fq5grLIyk1JYd5lJmdA+fG7aQ9pA/i3JIJGcO3q0MrRcHlOt1U+ZeHW8Dq9axALQ==", + "dependencies": { + "callsites": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/caller-callsite/node_modules/callsites": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz", + "integrity": "sha512-ksWePWBloaWPxJYQ8TL0JHvtci6G5QTKwQ95RcWAa/lzoAKuAOflGdAK92hpHXjkwb8zLxoLNUoNYZgVsaJzvQ==", + "engines": { + "node": ">=4" + } + }, + "node_modules/caller-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-2.0.0.tgz", + "integrity": "sha512-MCL3sf6nCSXOwCTzvPKhN18TU7AHTvdtam8DAogxcrJ8Rjfbbg7Lgng64H9Iy+vUV6VGFClN/TyxBkAebLRR4A==", + "dependencies": { + "caller-callsite": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "engines": { + "node": ">=6" + } + }, + "node_modules/camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/camelcase-css": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz", + "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/camelcase-keys": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-6.2.2.tgz", + "integrity": "sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==", + "dev": true, + "dependencies": { + "camelcase": "^5.3.1", + "map-obj": "^4.0.0", + "quick-lru": "^4.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001600", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001600.tgz", + "integrity": "sha512-+2S9/2JFhYmYaDpZvo0lKkfvuKIglrx68MwOBqMGHhQsNkLjB5xtc/TGoEPs+MxjSyN/72qer2g97nzR641mOQ==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ] + }, + "node_modules/capture-exit": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/capture-exit/-/capture-exit-2.0.0.tgz", + "integrity": "sha512-PiT/hQmTonHhl/HFGN+Lx3JJUznrVYJ3+AQsnthneZbvW7x+f08Tk7yLJTLEOUvBTbduLeeBkxEaYXUOUrRq6g==", + "dev": true, + "dependencies": { + "rsvp": "^4.8.4" + }, + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/capture-stack-trace": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/capture-stack-trace/-/capture-stack-trace-1.0.2.tgz", + "integrity": "sha512-X/WM2UQs6VMHUtjUDnZTRI+i1crWteJySFzr9UpGoQa4WQffXVTTXuekjl7TjZRlcF2XfjgITT0HxZ9RnxeT0w==", + "dev": true, + "engines": { + "node": ">=0.10.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cardinal": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/cardinal/-/cardinal-2.1.1.tgz", + "integrity": "sha512-JSr5eOgoEymtYHBjNWyjrMqet9Am2miJhlfKNdqLp6zoeAh0KN5dRAcxlecj5mAJrmQomgiOBj35xHLrFjqBpw==", + "dev": true, + "dependencies": { + "ansicolors": "~0.3.2", + "redeyed": "~2.1.0" + }, + "bin": { + "cdl": "bin/cdl.js" + } + }, + "node_modules/carlo": { + "version": "0.9.46", + "resolved": "https://registry.npmjs.org/carlo/-/carlo-0.9.46.tgz", + "integrity": "sha512-FwZ/wxjqe+5RgzF2SRsPSWsVB9+McAVRWW0tRkmbh7fBjrf3HFZZbcr8vr61p1K+NBaAPv57DRjxgIyfbHmd7g==", + "dev": true, + "dependencies": { + "debug": "^4.1.0", + "puppeteer-core": "~1.12.0" + }, + "engines": { + "node": ">=7.6.0" + } + }, + "node_modules/carlo/node_modules/agent-base": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.3.0.tgz", + "integrity": "sha512-salcGninV0nPrwpGNn4VTXBb1SOuXQBiqbrNXoeizJsHrsL6ERFM2Ne3JUSBWRE6aeNJI2ROP/WEEIDUiDe3cg==", + "dev": true, + "dependencies": { + "es6-promisify": "^5.0.0" + }, + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/carlo/node_modules/extract-zip": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-1.7.0.tgz", + "integrity": "sha512-xoh5G1W/PB0/27lXgMQyIhP5DSY/LhoCsOyZgb+6iMmRtCwVBo55uKaMoEYrDCKQhWvqEip5ZPKAc6eFNyf/MA==", + "dev": true, + "dependencies": { + "concat-stream": "^1.6.2", + "debug": "^2.6.9", + "mkdirp": "^0.5.4", + "yauzl": "^2.10.0" + }, + "bin": { + "extract-zip": "cli.js" + } + }, + "node_modules/carlo/node_modules/extract-zip/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/carlo/node_modules/extract-zip/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "node_modules/carlo/node_modules/https-proxy-agent": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-2.2.4.tgz", + "integrity": "sha512-OmvfoQ53WLjtA9HeYP9RNrWMJzzAz1JGaSFr1nijg0PVR1JaD/xbJq1mdEIIlxGpXp9eSe/O2LgU9DJmTPd0Eg==", + "dev": true, + "dependencies": { + "agent-base": "^4.3.0", + "debug": "^3.1.0" + }, + "engines": { + "node": ">= 4.5.0" + } + }, + "node_modules/carlo/node_modules/https-proxy-agent/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/carlo/node_modules/mime": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz", + "integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==", + "dev": true, + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/carlo/node_modules/mkdirp": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", + "dev": true, + "dependencies": { + "minimist": "^1.2.6" + }, + "bin": { + "mkdirp": "bin/cmd.js" + } + }, + "node_modules/carlo/node_modules/puppeteer-core": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/puppeteer-core/-/puppeteer-core-1.12.2.tgz", + "integrity": "sha512-M+atMV5e+MwJdR+OwQVZ1xqAIwh3Ou4nUxNuf334GwpcLG+LDj5BwIph4J9y8YAViByRtWGL+uF8qX2Ggzb+Fg==", + "dev": true, + "hasInstallScript": true, + "dependencies": { + "debug": "^4.1.0", + "extract-zip": "^1.6.6", + "https-proxy-agent": "^2.2.1", + "mime": "^2.0.3", + "progress": "^2.0.1", + "proxy-from-env": "^1.0.0", + "rimraf": "^2.6.1", + "ws": "^6.1.0" + }, + "engines": { + "node": ">=6.4.0" + } + }, + "node_modules/carlo/node_modules/rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + } + }, + "node_modules/carlo/node_modules/ws": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.2.tgz", + "integrity": "sha512-zmhltoSR8u1cnDsD43TX59mzoMZsLKqUweyYBAIvTngR3shc0W6aOZylZmq/7hqyVxPdi+5Ud2QInblgyE72fw==", + "dev": true, + "dependencies": { + "async-limiter": "~1.0.0" + } + }, + "node_modules/caseless": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==", + "dev": true + }, + "node_modules/ccount": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/ccount/-/ccount-1.1.0.tgz", + "integrity": "sha512-vlNK021QdI7PNeiUh/lKkC/mNHHfV0m/Ad5JoI0TYtlBnJAslM/JIkm/tGC88bkLIwO6OQ5uV6ztS6kVAtCDlg==", + "dev": true, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/char-regex": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", + "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/character-entities": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-1.2.4.tgz", + "integrity": "sha512-iBMyeEHxfVnIakwOuDXpVkc54HijNgCyQB2w0VfGQThle6NXn50zU6V/u+LDhxHcDUPojn6Kpga3PTAD8W1bQw==", + "dev": true, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/character-entities-html4": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/character-entities-html4/-/character-entities-html4-1.1.4.tgz", + "integrity": "sha512-HRcDxZuZqMx3/a+qrzxdBKBPUpxWEq9xw2OPZ3a/174ihfrQKVsFhqtthBInFy1zZ9GgZyFXOatNujm8M+El3g==", + "dev": true, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/character-entities-legacy": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-1.1.4.tgz", + "integrity": "sha512-3Xnr+7ZFS1uxeiUDvV02wQ+QDbc55o97tIV5zHScSPJpcLm/r0DFPcoY3tYRp+VZukxuMeKgXYmsXQHO05zQeA==", + "dev": true, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/character-reference-invalid": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-1.1.4.tgz", + "integrity": "sha512-mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg==", + "dev": true, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/chardet": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", + "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", + "dev": true + }, + "node_modules/charenc": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/charenc/-/charenc-0.0.2.tgz", + "integrity": "sha512-yrLQ/yVUFXkzg7EDQsPieE/53+0RlaWTs+wBrvW36cyilJ2SaDWfl4Yj7MtLTXleV9uEKefbAGUPv2/iWSooRA==", + "engines": { + "node": "*" + } + }, + "node_modules/cheerio": { + "version": "1.0.0-rc.12", + "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.12.tgz", + "integrity": "sha512-VqR8m68vM46BNnuZ5NtnGBKIE/DfN0cRIzg9n40EIq9NOv90ayxLBXA8fXC5gquFRGJSTRqBq25Jt2ECLR431Q==", + "dev": true, + "dependencies": { + "cheerio-select": "^2.1.0", + "dom-serializer": "^2.0.0", + "domhandler": "^5.0.3", + "domutils": "^3.0.1", + "htmlparser2": "^8.0.1", + "parse5": "^7.0.0", + "parse5-htmlparser2-tree-adapter": "^7.0.0" + }, + "engines": { + "node": ">= 6" + }, + "funding": { + "url": "https://github.com/cheeriojs/cheerio?sponsor=1" + } + }, + "node_modules/cheerio-select": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cheerio-select/-/cheerio-select-2.1.0.tgz", + "integrity": "sha512-9v9kG0LvzrlcungtnJtpGNxY+fzECQKhK4EGJX2vByejiMX84MFNQw4UxPJl3bFbTMw+Dfs37XaIkCwTZfLh4g==", + "dev": true, + "dependencies": { + "boolbase": "^1.0.0", + "css-select": "^5.1.0", + "css-what": "^6.1.0", + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3", + "domutils": "^3.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/chokidar": { + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.1.tgz", + "integrity": "sha512-9+s+Od+W0VJJzawDma/gvBNQqkTiqYTWLuZoyAsivsI4AaWTCzHG06/TMjsf1cYe9Cb97UCEhjz7HvnPk2p/tw==", + "dependencies": { + "anymatch": "~3.1.1", + "braces": "~3.0.2", + "glob-parent": "~5.1.0", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.5.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.1" + } + }, + "node_modules/chokidar/node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/chownr": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", + "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", + "dev": true + }, + "node_modules/ci-info": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", + "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==", + "dev": true + }, + "node_modules/cipher-base": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", + "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", + "dependencies": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/cjs-module-lexer": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-0.6.0.tgz", + "integrity": "sha512-uc2Vix1frTfnuzxxu1Hp4ktSvM3QaI4oXl4ZUqL1wjTu/BGki9TrCWoqLTg/drR1KwAEarXuRFCG2Svr1GxPFw==", + "dev": true + }, + "node_modules/class-utils": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", + "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", + "dev": true, + "dependencies": { + "arr-union": "^3.1.0", + "define-property": "^0.2.5", + "isobject": "^3.0.0", + "static-extend": "^0.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/class-utils/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "dev": true, + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/class-utils/node_modules/is-descriptor": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.7.tgz", + "integrity": "sha512-C3grZTvObeN1xud4cRWl366OMXZTj0+HGyk4hvfpx4ZHt1Pb60ANSXqCK7pdOTeUQpRzECBSTphqvD7U+l22Eg==", + "dev": true, + "dependencies": { + "is-accessor-descriptor": "^1.0.1", + "is-data-descriptor": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/classnames": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.5.1.tgz", + "integrity": "sha512-saHYOzhIQs6wy2sVxTM6bUDsQO4F50V9RQ22qBpEdCW+I+/Wmke2HOl6lS6dTpdxVhb88/I6+Hs+438c3lfUow==" + }, + "node_modules/clean-regexp": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/clean-regexp/-/clean-regexp-1.0.0.tgz", + "integrity": "sha512-GfisEZEJvzKrmGWkvfhgzcz/BllN1USeqD2V6tg14OAOgaCD2Z/PUEuxnAZ/nPvmaHRG7a8y77p1T/IRQ4D1Hw==", + "dev": true, + "dependencies": { + "escape-string-regexp": "^1.0.5" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/clean-regexp/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/clean-stack": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", + "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/cli-boxes": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-1.0.0.tgz", + "integrity": "sha512-3Fo5wu8Ytle8q9iCzS4D2MWVL2X7JVWRiS1BnXbTFDhS9c/REkM9vd1AmabsoZoY5/dGi5TT9iKL8Kb6DeBRQg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/cli-cursor": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", + "integrity": "sha512-8lgKz8LmCRYZZQDpRyT2m5rKJ08TnU4tR9FFFW2rxpxR1FzWi4PQ/NfyODchAatHaUgnSPVcx/R5w6NuTBzFiw==", + "dev": true, + "dependencies": { + "restore-cursor": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/cli-spinners": { + "version": "2.9.2", + "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.9.2.tgz", + "integrity": "sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==", + "dev": true, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cli-table": { + "version": "0.3.11", + "resolved": "https://registry.npmjs.org/cli-table/-/cli-table-0.3.11.tgz", + "integrity": "sha512-IqLQi4lO0nIB4tcdTpN4LCB9FI3uqrJZK7RC515EnhZ6qBaglkIgICb1wjeAqpdoOabm1+SuQtkXIPdYC93jhQ==", + "dev": true, + "dependencies": { + "colors": "1.0.3" + }, + "engines": { + "node": ">= 0.2.0" + } + }, + "node_modules/cli-truncate": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-2.1.0.tgz", + "integrity": "sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==", + "dev": true, + "dependencies": { + "slice-ansi": "^3.0.0", + "string-width": "^4.2.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cli-width": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.1.tgz", + "integrity": "sha512-GRMWDxpOB6Dgk2E5Uo+3eEBvtOOlimMmpbFiKuLFnQzYDavtLFY3K5ona41jgN/WdRZtG7utuVSVTL4HbZHGkw==", + "dev": true + }, + "node_modules/clipboardy": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/clipboardy/-/clipboardy-2.1.0.tgz", + "integrity": "sha512-2pzOUxWcLlXWtn+Jd6js3o12TysNOOVes/aQfg+MT/35vrxWzedHlLwyoJpXjsFKWm95BTNEcMGD9+a7mKzZkQ==", + "dev": true, + "dependencies": { + "arch": "^2.1.1", + "execa": "^1.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/clipboardy/node_modules/cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "dev": true, + "dependencies": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + }, + "engines": { + "node": ">=4.8" + } + }, + "node_modules/clipboardy/node_modules/execa": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", + "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", + "dev": true, + "dependencies": { + "cross-spawn": "^6.0.0", + "get-stream": "^4.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/clipboardy/node_modules/get-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", + "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "dev": true, + "dependencies": { + "pump": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/clipboardy/node_modules/is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/clipboardy/node_modules/npm-run-path": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", + "integrity": "sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw==", + "dev": true, + "dependencies": { + "path-key": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/clipboardy/node_modules/path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/clipboardy/node_modules/pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "dev": true, + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "node_modules/clipboardy/node_modules/semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "dev": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/clipboardy/node_modules/shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==", + "dev": true, + "dependencies": { + "shebang-regex": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/clipboardy/node_modules/shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/clipboardy/node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" + } + }, + "node_modules/cliui": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", + "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", + "dev": true, + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^6.2.0" + } + }, + "node_modules/cliui/node_modules/wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/clone": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz", + "integrity": "sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w==", + "dev": true, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/clone-buffer": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/clone-buffer/-/clone-buffer-1.0.0.tgz", + "integrity": "sha512-KLLTJWrvwIP+OPfMn0x2PheDEP20RPUcGXj/ERegTgdmPEZylALQldygiqrPPu8P45uNuPs7ckmReLY6v/iA5g==", + "dev": true, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/clone-regexp": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/clone-regexp/-/clone-regexp-2.2.0.tgz", + "integrity": "sha512-beMpP7BOtTipFuW8hrJvREQ2DrRu3BE7by0ZpibtfBA+qfHYvMGTc2Yb1JMYPKg/JUw0CHYvpg796aNTSW9z7Q==", + "dev": true, + "dependencies": { + "is-regexp": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/clone-regexp/node_modules/is-regexp": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-regexp/-/is-regexp-2.1.0.tgz", + "integrity": "sha512-OZ4IlER3zmRIoB9AqNhEggVxqIH4ofDns5nRrPS6yQxXE1TPCUpFznBfRQmQa8uC+pXqjMnukiJBxCisIxiLGA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/clone-response": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.3.tgz", + "integrity": "sha512-ROoL94jJH2dUVML2Y/5PEDNaSHgeOdSDicUyS7izcF63G6sTc/FTjLub4b8Il9S8S0beOfYt0TaA5qvFK+w0wA==", + "dev": true, + "dependencies": { + "mimic-response": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/clone-response/node_modules/mimic-response": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", + "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/clone-stats": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/clone-stats/-/clone-stats-1.0.0.tgz", + "integrity": "sha512-au6ydSpg6nsrigcZ4m8Bc9hxjeW+GJ8xh5G3BJCMt4WXe1H10UNaVOamqQTmrx1kjVuxAHIQSNU6hY4Nsn9/ag==", + "dev": true + }, + "node_modules/cloneable-readable": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/cloneable-readable/-/cloneable-readable-1.1.3.tgz", + "integrity": "sha512-2EF8zTQOxYq70Y4XKtorQupqF0m49MBz2/yf5Bj+MHjvpG3Hy7sImifnqD6UA+TKYxeSV+u6qqQPawN5UvnpKQ==", + "dev": true, + "dependencies": { + "inherits": "^2.0.1", + "process-nextick-args": "^2.0.0", + "readable-stream": "^2.3.5" + } + }, + "node_modules/co": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==", + "dev": true, + "engines": { + "iojs": ">= 1.0.0", + "node": ">= 0.12.0" + } + }, + "node_modules/codesandbox": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/codesandbox/-/codesandbox-2.2.3.tgz", + "integrity": "sha512-IAkWFk6UUglOhSemI7UFgNNL/jgg+1YjVEIllFULLgsaHhFnY51pCqAifMNuAd5d9Zp4Nk/xMgrEaGNV0L4Xlg==", + "dev": true, + "dependencies": { + "axios": "^0.18.1", + "chalk": "^2.4.1", + "codesandbox-import-util-types": "^2.2.3", + "codesandbox-import-utils": "^2.2.3", + "commander": "^2.9.0", + "datauri": "^3.0.0", + "filesize": "^3.6.1", + "fs-extra": "^3.0.1", + "git-branch": "^1.0.0", + "git-repo-name": "^0.6.0", + "git-username": "^0.5.0", + "humps": "^2.0.1", + "inquirer": "^6.2.2", + "lodash": "^4.17.5", + "lz-string": "^1.4.4", + "ms": "^2.0.0", + "open": "^6.3.0", + "ora": "^1.3.0", + "pacote": "^2.7.36", + "shortid": "^2.2.8", + "update-notifier": "^2.2.0" + }, + "bin": { + "codesandbox": "lib/index.js" + } + }, + "node_modules/codesandbox-import-util-types": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/codesandbox-import-util-types/-/codesandbox-import-util-types-2.2.3.tgz", + "integrity": "sha512-Qj00p60oNExthP2oR3vvXmUGjukij+rxJGuiaKM6tyUmSyimdZsqHI/TUvFFClAffk9s7hxGnQgWQ8KCce27qQ==", + "dev": true + }, + "node_modules/codesandbox-import-utils": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/codesandbox-import-utils/-/codesandbox-import-utils-2.2.3.tgz", + "integrity": "sha512-ymtmcgZKU27U+nM2qUb21aO8Ut/u2S9s6KorOgG81weP+NA0UZkaHKlaRqbLJ9h4i/4FLvwmEXYAnTjNmp6ogg==", + "dev": true, + "dependencies": { + "codesandbox-import-util-types": "^2.2.3", + "istextorbinary": "^2.2.1", + "lz-string": "^1.4.4" + } + }, + "node_modules/codesandbox/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/codesandbox/node_modules/axios": { + "version": "0.18.1", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.18.1.tgz", + "integrity": "sha512-0BfJq4NSfQXd+SkFdrvFbG7addhYSBA2mQwISr46pD6E5iqkWg02RAs8vyTT/j0RTnoYmeXauBuSv1qKwR179g==", + "deprecated": "Critical security vulnerability fixed in v0.21.1. For more information, see https://github.com/axios/axios/pull/3410", + "dev": true, + "dependencies": { + "follow-redirects": "1.5.10", + "is-buffer": "^2.0.2" + } + }, + "node_modules/codesandbox/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/codesandbox/node_modules/cli-spinners": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-1.3.1.tgz", + "integrity": "sha512-1QL4544moEsDVH9T/l6Cemov/37iv1RtoKf7NJ04A60+4MREXNfx/QvavbH6QoGdsD4N4Mwy49cmaINR/o2mdg==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/codesandbox/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/codesandbox/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, + "node_modules/codesandbox/node_modules/debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/codesandbox/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/codesandbox/node_modules/follow-redirects": { + "version": "1.5.10", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.5.10.tgz", + "integrity": "sha512-0V5l4Cizzvqt5D44aTXbFZz+FtyXV1vrDN6qrelxtfYQKW0KO0W2T/hkE8xvGa/540LkZlkaUjO4ailYTFtHVQ==", + "dev": true, + "dependencies": { + "debug": "=3.1.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/codesandbox/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/codesandbox/node_modules/is-buffer": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz", + "integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "engines": { + "node": ">=4" + } + }, + "node_modules/codesandbox/node_modules/log-symbols": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-2.2.0.tgz", + "integrity": "sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==", + "dev": true, + "dependencies": { + "chalk": "^2.0.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/codesandbox/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "node_modules/codesandbox/node_modules/ora": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/ora/-/ora-1.4.0.tgz", + "integrity": "sha512-iMK1DOQxzzh2MBlVsU42G80mnrvUhqsMh74phHtDlrcTZPK0pH6o7l7DRshK+0YsxDyEuaOkziVdvM3T0QTzpw==", + "dev": true, + "dependencies": { + "chalk": "^2.1.0", + "cli-cursor": "^2.1.0", + "cli-spinners": "^1.0.1", + "log-symbols": "^2.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/codesandbox/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/collect-v8-coverage": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.2.tgz", + "integrity": "sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==", + "dev": true + }, + "node_modules/collection-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", + "integrity": "sha512-lNkKvzEeMBBjUGHZ+q6z9pSJla0KWAQPvtzhEV9+iGyQYG+pBpl7xKDhxoNSOZH2hhv0v5k0y2yAM4o4SjoSkw==", + "dev": true, + "dependencies": { + "map-visit": "^1.0.0", + "object-visit": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/color": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/color/-/color-3.2.1.tgz", + "integrity": "sha512-aBl7dZI9ENN6fUGC7mWpMTPNHmWUSNan9tuWN6ahh5ZLNk9baLJOnSMlrQkHcrfFgz2/RigjUVAjdx36VcemKA==", + "dependencies": { + "color-convert": "^1.9.3", + "color-string": "^1.6.0" + } + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/color-string": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.9.1.tgz", + "integrity": "sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==", + "dependencies": { + "color-name": "^1.0.0", + "simple-swizzle": "^0.2.2" + } + }, + "node_modules/color/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/color/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" + }, + "node_modules/colorette": { + "version": "2.0.20", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", + "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==", + "dev": true + }, + "node_modules/colors": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.0.3.tgz", + "integrity": "sha512-pFGrxThWcWQ2MsAz6RtgeWe4NK2kUE1WfsrvvlctdII745EW9I0yflqhe7++M5LEc7bV2c/9/5zc8sFcpL0Drw==", + "dev": true, + "engines": { + "node": ">=0.1.90" + } + }, + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/comma-separated-tokens": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-1.0.8.tgz", + "integrity": "sha512-GHuDRO12Sypu2cV70d1dkA2EUmXHgntrzbpvOB+Qy+49ypNfGgFQIC2fhhXbnyrJRynDCAARsT7Ou0M6hirpfw==", + "dev": true, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" + }, + "node_modules/commondir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==", + "dev": true + }, + "node_modules/component-classes": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/component-classes/-/component-classes-1.2.6.tgz", + "integrity": "sha512-hPFGULxdwugu1QWW3SvVOCUHLzO34+a2J6Wqy0c5ASQkfi9/8nZcBB0ZohaEbXOQlCflMAEMmEWk7u7BVs4koA==", + "dev": true, + "dependencies": { + "component-indexof": "0.0.3" + } + }, + "node_modules/component-emitter": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.1.tgz", + "integrity": "sha512-T0+barUSQRTUQASh8bx02dl+DhF54GtIDY13Y3m9oWTklKbb3Wv974meRpeZ3lp1JpLVECWWNHC4vaG2XHXouQ==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/component-indexof": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/component-indexof/-/component-indexof-0.0.3.tgz", + "integrity": "sha512-puDQKvx/64HZXb4hBwIcvQLaLgux8o1CbWl39s41hrIIZDl1lJiD5jc22gj3RBeGK0ovxALDYpIbyjqDUUl0rw==", + "dev": true + }, + "node_modules/compressible": { + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", + "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", + "dev": true, + "dependencies": { + "mime-db": ">= 1.43.0 < 2" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/compression": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", + "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", + "dev": true, + "dependencies": { + "accepts": "~1.3.5", + "bytes": "3.0.0", + "compressible": "~2.0.16", + "debug": "2.6.9", + "on-headers": "~1.0.2", + "safe-buffer": "5.1.2", + "vary": "~1.1.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/compression/node_modules/bytes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", + "integrity": "sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/compression/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/compression/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "node_modules/compression/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "node_modules/compute-scroll-into-view": { + "version": "1.0.20", + "resolved": "https://registry.npmjs.org/compute-scroll-into-view/-/compute-scroll-into-view-1.0.20.tgz", + "integrity": "sha512-UCB0ioiyj8CRjtrvaceBLqqhZCVP+1B8+NWQhmdsm0VXOJtobBCf1dBQmebCCo34qZmUwZfIH2MZLqNHazrfjg==" + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" + }, + "node_modules/concat-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", + "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", + "dev": true, + "engines": [ + "node >= 0.8" + ], + "dependencies": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" + } + }, + "node_modules/configstore": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/configstore/-/configstore-3.1.5.tgz", + "integrity": "sha512-nlOhI4+fdzoK5xmJ+NY+1gZK56bwEaWZr8fYuXohZ9Vkc1o3a4T/R3M+yE/w7x/ZVJ1zF8c+oaOvF0dztdUgmA==", + "dev": true, + "dependencies": { + "dot-prop": "^4.2.1", + "graceful-fs": "^4.1.2", + "make-dir": "^1.0.0", + "unique-string": "^1.0.0", + "write-file-atomic": "^2.0.0", + "xdg-basedir": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/configstore/node_modules/make-dir": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", + "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", + "dev": true, + "dependencies": { + "pify": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/configstore/node_modules/write-file-atomic": { + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.4.3.tgz", + "integrity": "sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.1.11", + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.2" + } + }, + "node_modules/connected-react-router": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/connected-react-router/-/connected-react-router-6.5.2.tgz", + "integrity": "sha512-qzsLPZCofSI80fwy+HgxtEgSGS4ndYUUZAWaw1dqaOGPLKX/FVwIOEb7q+hjHdnZ4v5pKZcNv5GG4urjujIoyA==", + "dev": true, + "dependencies": { + "immutable": "^3.8.1", + "prop-types": "^15.7.2", + "seamless-immutable": "^7.1.3" + }, + "peerDependencies": { + "history": "^4.7.2", + "react": "^16.4.0", + "react-redux": "^6.0.0 || ^7.1.0", + "react-router": "^4.3.1 || ^5.0.0", + "redux": "^3.6.0 || ^4.0.0" + } + }, + "node_modules/connected-react-router/node_modules/immutable": { + "version": "3.8.2", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-3.8.2.tgz", + "integrity": "sha512-15gZoQ38eYjEjxkorfbcgBKBL6R7T459OuK+CpcWt7O3KF4uPCx2tD0uFETlUDIyo+1789crbMhTvQBSR5yBMg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/console-browserify": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz", + "integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==" + }, + "node_modules/constants-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", + "integrity": "sha512-xFxOwqIzR/e1k1gLiWEophSCMqXcwVHIH7akf7b/vxcUeGunlj3hvZaaqxwHsTgn+IndtkQJgSztIDWeumWJDQ==" + }, + "node_modules/content-disposition": { + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", + "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", + "dev": true, + "dependencies": { + "safe-buffer": "5.2.1" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/content-type": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", + "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==" + }, + "node_modules/cookie": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.6.0.tgz", + "integrity": "sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==", + "dev": true + }, + "node_modules/copy-concurrently": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz", + "integrity": "sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==", + "dev": true, + "dependencies": { + "aproba": "^1.1.1", + "fs-write-stream-atomic": "^1.0.8", + "iferr": "^0.1.5", + "mkdirp": "^0.5.1", + "rimraf": "^2.5.4", + "run-queue": "^1.0.0" + } + }, + "node_modules/copy-concurrently/node_modules/mkdirp": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", + "dev": true, + "dependencies": { + "minimist": "^1.2.6" + }, + "bin": { + "mkdirp": "bin/cmd.js" + } + }, + "node_modules/copy-concurrently/node_modules/rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + } + }, + "node_modules/copy-descriptor": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", + "integrity": "sha512-XgZ0pFcakEUlbwQEVNg3+QAis1FyTL3Qel9FYy8pSkQqoG3PNoT0bOCQtOXcOkur21r2Eq2kI+IE+gsmAEVlYw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/copy-text-to-clipboard": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/copy-text-to-clipboard/-/copy-text-to-clipboard-2.2.0.tgz", + "integrity": "sha512-WRvoIdnTs1rgPMkgA2pUOa/M4Enh2uzCwdKsOMYNAJiz/4ZvEJgmbF4OmninPmlFdAWisfeh0tH+Cpf7ni3RqQ==", + "dev": true, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/copy-to-clipboard": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/copy-to-clipboard/-/copy-to-clipboard-3.3.3.tgz", + "integrity": "sha512-2KV8NhB5JqC3ky0r9PMCAZKbUHSwtEo4CwCs0KXgruG43gX5PMqDEBbVU4OUzw2MuAWUfsuFmWvEKG5QRfSnJA==", + "dependencies": { + "toggle-selection": "^1.0.6" + } + }, + "node_modules/core-js": { + "version": "3.6.5", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.6.5.tgz", + "integrity": "sha512-vZVEEwZoIsI+vPEuoF9Iqf5H7/M3eeQqWlQnYa8FSKKePuYTf5MWnxb5SDAzCa60b3JBRS5g9b+Dq7b1y/RCrA==", + "deprecated": "core-js@<3.23.3 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Some versions have web compatibility issues. Please, upgrade your dependencies to the actual version of core-js.", + "hasInstallScript": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, + "node_modules/core-js-compat": { + "version": "3.36.1", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.36.1.tgz", + "integrity": "sha512-Dk997v9ZCt3X/npqzyGdTlq6t7lDBhZwGvV94PKzDArjp7BTRm7WlDAXYd/OWdeFHO8OChQYRJNJvUCqCbrtKA==", + "dev": true, + "dependencies": { + "browserslist": "^4.23.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, + "node_modules/core-js-pure": { + "version": "3.36.1", + "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.36.1.tgz", + "integrity": "sha512-NXCvHvSVYSrewP0L5OhltzXeWFJLo2AL2TYnj6iLV3Bw8mM62wAQMNgUCRI6EBu6hVVpbCxmOPlxh1Ikw2PfUA==", + "hasInstallScript": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, + "node_modules/core-util-is": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" + }, + "node_modules/cosmiconfig": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz", + "integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==", + "dev": true, + "dependencies": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.2.1", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.10.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/create-ecdh": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.4.tgz", + "integrity": "sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==", + "dependencies": { + "bn.js": "^4.1.0", + "elliptic": "^6.5.3" + } + }, + "node_modules/create-ecdh/node_modules/bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" + }, + "node_modules/create-error-class": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/create-error-class/-/create-error-class-3.0.2.tgz", + "integrity": "sha512-gYTKKexFO3kh200H1Nit76sRwRtOY32vQd3jpAQKpLtZqyNsSQNfI4N7o3eP2wUjV35pTWKRYqFUDBvUha/Pkw==", + "dev": true, + "dependencies": { + "capture-stack-trace": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/create-hash": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", + "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", + "dependencies": { + "cipher-base": "^1.0.1", + "inherits": "^2.0.1", + "md5.js": "^1.3.4", + "ripemd160": "^2.0.1", + "sha.js": "^2.4.0" + } + }, + "node_modules/create-hmac": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", + "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", + "dependencies": { + "cipher-base": "^1.0.3", + "create-hash": "^1.1.0", + "inherits": "^2.0.1", + "ripemd160": "^2.0.0", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + } + }, + "node_modules/create-react-class": { + "version": "15.7.0", + "resolved": "https://registry.npmjs.org/create-react-class/-/create-react-class-15.7.0.tgz", + "integrity": "sha512-QZv4sFWG9S5RUvkTYWbflxeZX+JG7Cz0Tn33rQBJ+WFQTqTfUTjMjiv9tnfXazjsO5r0KhPs+AqCjyrQX6h2ng==", + "dev": true, + "dependencies": { + "loose-envify": "^1.3.1", + "object-assign": "^4.1.1" + } + }, + "node_modules/crequire": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/crequire/-/crequire-1.8.1.tgz", + "integrity": "sha512-GbElTY148ZRQbC3E3XlMAitKE9rEyO/2mIkkjwgqzIucRmHiaAMF2Ynpwsuxzp08SdAbeN4pTrEqZs0MWRN6/w==", + "dev": true, + "engines": { + "node": ">= 0.6.0" + } + }, + "node_modules/cross-env": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-env/-/cross-env-7.0.3.tgz", + "integrity": "sha512-+/HKd6EgcQCJGh2PSjZuUitQBQynKor4wrFbRg4DtAgS1aWO+gU52xpH7M9ScGgXSYmAVS9bIJ8EzuaGw0oNAw==", + "dev": true, + "dependencies": { + "cross-spawn": "^7.0.1" + }, + "bin": { + "cross-env": "src/bin/cross-env.js", + "cross-env-shell": "src/bin/cross-env-shell.js" + }, + "engines": { + "node": ">=10.14", + "npm": ">=6", + "yarn": ">=1" + } + }, + "node_modules/cross-port-killer": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/cross-port-killer/-/cross-port-killer-1.4.0.tgz", + "integrity": "sha512-ujqfftKsSeorFMVI6JP25xMBixHEaDWVK+NarRZAGnJjR5AhebRQU+g+k/Lj8OHwM6f+wrrs8u5kkCdI7RLtxQ==", + "dev": true, + "bin": { + "kill-port": "source/cli.js" + } + }, + "node_modules/cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/crypt": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/crypt/-/crypt-0.0.2.tgz", + "integrity": "sha512-mCxBlsHFYh9C+HVpiEacem8FEBnMXgU9gy4zmNC+SXAZNB/1idgp/aulFJ4FgCi7GPEVbfyng092GqL2k2rmow==", + "engines": { + "node": "*" + } + }, + "node_modules/crypto-browserify": { + "version": "3.12.0", + "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", + "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", + "dependencies": { + "browserify-cipher": "^1.0.0", + "browserify-sign": "^4.0.0", + "create-ecdh": "^4.0.0", + "create-hash": "^1.1.0", + "create-hmac": "^1.1.0", + "diffie-hellman": "^5.0.0", + "inherits": "^2.0.1", + "pbkdf2": "^3.0.3", + "public-encrypt": "^4.0.0", + "randombytes": "^2.0.0", + "randomfill": "^1.0.3" + }, + "engines": { + "node": "*" + } + }, + "node_modules/crypto-random-string": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-1.0.0.tgz", + "integrity": "sha512-GsVpkFPlycH7/fRR7Dhcmnoii54gV1nz7y4CWyeFS14N+JVBBhY+r8amRHE4BwSYal7BPTDp8isvAlCxyFt3Hg==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/css-animation": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/css-animation/-/css-animation-1.6.1.tgz", + "integrity": "sha512-/48+/BaEaHRY6kNQ2OIPzKf9A6g8WjZYjhiNDNuIVbsm5tXCGIAsHDjB4Xu1C4vXJtUWZo26O68OQkDpNBaPog==", + "dev": true, + "dependencies": { + "babel-runtime": "6.x", + "component-classes": "^1.2.5" + } + }, + "node_modules/css-blank-pseudo": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/css-blank-pseudo/-/css-blank-pseudo-0.1.4.tgz", + "integrity": "sha512-LHz35Hr83dnFeipc7oqFDmsjHdljj3TQtxGGiNWSOsTLIAubSm4TEz8qCaKFpk7idaQ1GfWscF4E6mgpBysA1w==", + "dependencies": { + "postcss": "^7.0.5" + }, + "bin": { + "css-blank-pseudo": "cli.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/css-has-pseudo": { + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/css-has-pseudo/-/css-has-pseudo-0.10.0.tgz", + "integrity": "sha512-Z8hnfsZu4o/kt+AuFzeGpLVhFOGO9mluyHBaA2bA8aCGTwah5sT3WV/fTHH8UNZUytOIImuGPrl/prlb4oX4qQ==", + "dependencies": { + "postcss": "^7.0.6", + "postcss-selector-parser": "^5.0.0-rc.4" + }, + "bin": { + "css-has-pseudo": "cli.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/css-has-pseudo/node_modules/cssesc": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-2.0.0.tgz", + "integrity": "sha512-MsCAG1z9lPdoO/IUMLSBWBSVxVtJ1395VGIQ+Fc2gNdkQ1hNDnQdw3YhA71WJCBW1vdwA0cAnk/DnW6bqoEUYg==", + "bin": { + "cssesc": "bin/cssesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/css-has-pseudo/node_modules/postcss-selector-parser": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-5.0.0.tgz", + "integrity": "sha512-w+zLE5Jhg6Liz8+rQOWEAwtwkyqpfnmsinXjXg6cY7YIONZZtgvE0v2O0uhQBs0peNomOJwWRKt6JBfTdTd3OQ==", + "dependencies": { + "cssesc": "^2.0.0", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/css-prefers-color-scheme": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/css-prefers-color-scheme/-/css-prefers-color-scheme-3.1.1.tgz", + "integrity": "sha512-MTu6+tMs9S3EUqzmqLXEcgNRbNkkD/TGFvowpeoWJn5Vfq7FMgsmRQs9X5NXAURiOBmOxm/lLjsDNXDE6k9bhg==", + "dependencies": { + "postcss": "^7.0.5" + }, + "bin": { + "css-prefers-color-scheme": "cli.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/css-select": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-5.1.0.tgz", + "integrity": "sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==", + "dev": true, + "dependencies": { + "boolbase": "^1.0.0", + "css-what": "^6.1.0", + "domhandler": "^5.0.2", + "domutils": "^3.0.1", + "nth-check": "^2.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/css-what": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", + "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==", + "dev": true, + "engines": { + "node": ">= 6" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/css.escape": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/css.escape/-/css.escape-1.5.1.tgz", + "integrity": "sha512-YUifsXXuknHlUsmlgyY0PKzgPOr7/FjCePfHNt0jxm83wHZi44VDMQ7/fGNkjY3/jV1MC+1CmZbaHzugyeRtpg==", + "dev": true + }, + "node_modules/cssdb": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/cssdb/-/cssdb-4.4.0.tgz", + "integrity": "sha512-LsTAR1JPEM9TpGhl/0p3nQecC2LJ0kD8X5YARu1hk/9I1gril5vDtMZyNxcEpxxDj34YNck/ucjuoUd66K03oQ==" + }, + "node_modules/cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "bin": { + "cssesc": "bin/cssesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/cssom": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.4.4.tgz", + "integrity": "sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==", + "dev": true + }, + "node_modules/cssstyle": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz", + "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==", + "dev": true, + "dependencies": { + "cssom": "~0.3.6" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cssstyle/node_modules/cssom": { + "version": "0.3.8", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", + "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==", + "dev": true + }, + "node_modules/csstype": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", + "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==" + }, + "node_modules/cwd": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/cwd/-/cwd-0.9.1.tgz", + "integrity": "sha512-4+0D+ojEasdLndYX4Cqff057I/Jp6ysXpwKkdLQLnZxV8f6IYZmZtTP5uqD91a/kWqejoc0sSqK4u8wpTKCh8A==", + "dev": true, + "dependencies": { + "find-pkg": "^0.1.0" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/cyclist": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-1.0.2.tgz", + "integrity": "sha512-0sVXIohTfLqVIW3kb/0n6IiWF3Ifj5nm2XaSrLq2DI6fKIGa2fYAZdk917rUneaeLVpYfFcyXE2ft0fe3remsA==", + "dev": true + }, + "node_modules/d": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/d/-/d-1.0.2.tgz", + "integrity": "sha512-MOqHvMWF9/9MX6nza0KgvFH4HpMU0EF5uUDXqX/BtxtU8NfB0QzRtJ8Oe/6SuS4kbhyzVJwjd97EA4PKrzJ8bw==", + "dev": true, + "dependencies": { + "es5-ext": "^0.10.64", + "type": "^2.7.2" + }, + "engines": { + "node": ">=0.12" + } + }, + "node_modules/dashdash": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==", + "dev": true, + "dependencies": { + "assert-plus": "^1.0.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/data-urls": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-2.0.0.tgz", + "integrity": "sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==", + "dev": true, + "dependencies": { + "abab": "^2.0.3", + "whatwg-mimetype": "^2.3.0", + "whatwg-url": "^8.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/data-view-buffer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/data-view-buffer/-/data-view-buffer-1.0.1.tgz", + "integrity": "sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.6", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/data-view-byte-length": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/data-view-byte-length/-/data-view-byte-length-1.0.1.tgz", + "integrity": "sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/data-view-byte-offset": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/data-view-byte-offset/-/data-view-byte-offset-1.0.0.tgz", + "integrity": "sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.6", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/datauri": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/datauri/-/datauri-3.0.0.tgz", + "integrity": "sha512-NeDFuUPV1YCpCn8MUIcDk1QnuyenUHs7f4Q5P0n9FFA0neKFrfEH9esR+YMW95BplbYfdmjbs0Pl/ZGAaM2QHQ==", + "dev": true, + "dependencies": { + "image-size": "0.8.3", + "mimer": "1.1.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/date-fns": { + "version": "2.30.0", + "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-2.30.0.tgz", + "integrity": "sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw==", + "dependencies": { + "@babel/runtime": "^7.21.0" + }, + "engines": { + "node": ">=0.11" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/date-fns" + } + }, + "node_modules/date-format": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/date-format/-/date-format-0.0.0.tgz", + "integrity": "sha512-kAmAdtsjW5nQ02FERwI1bP4xe6HQBPwy5kpAF4CRSLOMUs/vgMIEEwpy6JqUs7NitTyhZiImxwAjgPpnteycHg==", + "deprecated": "0.x is no longer supported. Please upgrade to 4.x or higher.", + "dev": true + }, + "node_modules/dayjs": { + "version": "1.11.10", + "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.10.tgz", + "integrity": "sha512-vjAczensTgRcqDERK0SR2XMwsF/tSvnvlv6VcF2GIhg6Sx4yOIt/irsr1RDJsKiIyBzJDpCoXiWWq28MqH2cnQ==" + }, + "node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/debug/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "node_modules/decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/decamelize-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.1.tgz", + "integrity": "sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg==", + "dev": true, + "dependencies": { + "decamelize": "^1.1.0", + "map-obj": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/decamelize-keys/node_modules/map-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", + "integrity": "sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/decimal.js": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.4.3.tgz", + "integrity": "sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==", + "dev": true + }, + "node_modules/decode-uri-component": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.2.tgz", + "integrity": "sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==", + "engines": { + "node": ">=0.10" + } + }, + "node_modules/decompress-response": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", + "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==", + "dev": true, + "optional": true, + "dependencies": { + "mimic-response": "^3.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/dedent": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz", + "integrity": "sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==", + "dev": true + }, + "node_modules/deep-extend": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", + "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", + "dev": true, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "dev": true + }, + "node_modules/deepmerge": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", + "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/defaults": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.4.tgz", + "integrity": "sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==", + "dev": true, + "dependencies": { + "clone": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/defaults/node_modules/clone": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", + "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==", + "dev": true, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/defer-to-connect": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-1.1.3.tgz", + "integrity": "sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ==", + "dev": true + }, + "node_modules/define-data-property": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", + "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", + "dependencies": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "gopd": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/define-lazy-prop": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", + "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==", + "engines": { + "node": ">=8" + } + }, + "node_modules/define-properties": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", + "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", + "dependencies": { + "define-data-property": "^1.0.1", + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/define-property": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", + "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", + "dev": true, + "dependencies": { + "is-descriptor": "^1.0.2", + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/des.js": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.1.0.tgz", + "integrity": "sha512-r17GxjhUCjSRy8aiJpr8/UadFIzMzJGexI3Nmz4ADi9LYSFx4gTBp80+NaX/YsXWWLhpZ7v/v/ubEc/bCNfKwg==", + "dependencies": { + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" + } + }, + "node_modules/destroy": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", + "dev": true, + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/detect-indent": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-6.1.0.tgz", + "integrity": "sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/detect-installer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/detect-installer/-/detect-installer-1.0.2.tgz", + "integrity": "sha512-ilO8dCPf2628WxyaE0sDKjvv7q6g/NFdd8O1t5dcpCytRuD2KVFQuCQ9fpD1T97J+06RZcuFov4ZkGLxsINXWQ==", + "dev": true + }, + "node_modules/detect-libc": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.3.tgz", + "integrity": "sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==", + "dev": true, + "optional": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/detect-newline": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", + "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/detect-node-es": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/detect-node-es/-/detect-node-es-1.1.0.tgz", + "integrity": "sha512-ypdmJU/TbBby2Dxibuv7ZLW3Bs1QEmM7nHjEANfohJLvE0XVujisn1qPJcZxg+qDucsr+bP6fLD1rPS3AhJ7EQ==" + }, + "node_modules/detect-port-alt": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/detect-port-alt/-/detect-port-alt-1.1.6.tgz", + "integrity": "sha512-5tQykt+LqfJFBEYaDITx7S7cR7mJ/zQmLXZ2qt5w04ainYZw6tBf9dBunMjVeVOdYVRUzUOE4HkY5J7+uttb5Q==", + "dependencies": { + "address": "^1.0.1", + "debug": "^2.6.0" + }, + "bin": { + "detect": "bin/detect-port", + "detect-port": "bin/detect-port" + }, + "engines": { + "node": ">= 4.2.1" + } + }, + "node_modules/detect-port-alt/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/detect-port-alt/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "node_modules/devtools-protocol": { + "version": "0.0.854822", + "resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.854822.tgz", + "integrity": "sha512-xd4D8kHQtB0KtWW0c9xBZD5LVtm9chkMOfs/3Yn01RhT/sFIsVtzTtypfKoFfWBaL+7xCYLxjOLkhwPXaX/Kcg==", + "dev": true + }, + "node_modules/dicer": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/dicer/-/dicer-0.2.5.tgz", + "integrity": "sha512-FDvbtnq7dzlPz0wyYlOExifDEZcu8h+rErEXgfxqmLfRfC/kJidEFh4+effJRO3P0xmfqyPbSMG0LveNRfTKVg==", + "dev": true, + "dependencies": { + "readable-stream": "1.1.x", + "streamsearch": "0.1.2" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/dicer/node_modules/isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==", + "dev": true + }, + "node_modules/dicer/node_modules/readable-stream": { + "version": "1.1.14", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", + "integrity": "sha512-+MeVjFf4L44XUkhM1eYbD8fyEsxcV81pqMSR5gblfcLCHfZvbrqy4/qYHE+/R5HoBUT11WV5O08Cr1n3YXkWVQ==", + "dev": true, + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + } + }, + "node_modules/dicer/node_modules/string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ==", + "dev": true + }, + "node_modules/diff-sequences": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-26.6.2.tgz", + "integrity": "sha512-Mv/TDa3nZ9sbc5soK+OoA74BsS3mL37yixCvUAQkiuA4Wz6YtwP/K47n2rv2ovzHZvoiQeA5FTQOschKkEwB0Q==", + "dev": true, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/diffie-hellman": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", + "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", + "dependencies": { + "bn.js": "^4.1.0", + "miller-rabin": "^4.0.0", + "randombytes": "^2.0.0" + } + }, + "node_modules/diffie-hellman/node_modules/bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" + }, + "node_modules/dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "dependencies": { + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/discontinuous-range": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/discontinuous-range/-/discontinuous-range-1.0.0.tgz", + "integrity": "sha512-c68LpLbO+7kP/b1Hr1qs8/BJ09F5khZGTxqxZuhzxpmwJKOgRFHJWIb9/KmqnqHhLdO55aOxFH/EGBvUQbL/RQ==", + "dev": true + }, + "node_modules/doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "dev": true, + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/dom-align": { + "version": "1.12.4", + "resolved": "https://registry.npmjs.org/dom-align/-/dom-align-1.12.4.tgz", + "integrity": "sha512-R8LUSEay/68zE5c8/3BDxiTEvgb4xZTF0RKmAHfiEVN3klfIpXfi2/QCoiWPccVQ0J/ZGdz9OjzL4uJEP/MRAw==" + }, + "node_modules/dom-helpers": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/dom-helpers/-/dom-helpers-5.2.1.tgz", + "integrity": "sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA==", + "dependencies": { + "@babel/runtime": "^7.8.7", + "csstype": "^3.0.2" + } + }, + "node_modules/dom-serializer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", + "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==", + "dev": true, + "dependencies": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.2", + "entities": "^4.2.0" + }, + "funding": { + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" + } + }, + "node_modules/dom-walk": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/dom-walk/-/dom-walk-0.1.2.tgz", + "integrity": "sha512-6QvTW9mrGeIegrFXdtQi9pk7O/nSK6lSdXW2eqUspN5LWD7UTji2Fqw5V2YLjBpHEoU9Xl/eUWNpDeZvoyOv2w==", + "dev": true + }, + "node_modules/domain-browser": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", + "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==", + "engines": { + "node": ">=0.4", + "npm": ">=1.2" + } + }, + "node_modules/domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ] + }, + "node_modules/domexception": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/domexception/-/domexception-2.0.1.tgz", + "integrity": "sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==", + "deprecated": "Use your platform's native DOMException instead", + "dev": true, + "dependencies": { + "webidl-conversions": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/domexception/node_modules/webidl-conversions": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-5.0.0.tgz", + "integrity": "sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/domhandler": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", + "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", + "dev": true, + "dependencies": { + "domelementtype": "^2.3.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" + } + }, + "node_modules/dompurify": { + "version": "2.4.9", + "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-2.4.9.tgz", + "integrity": "sha512-iHtnxYMotKgOTvxIqq677JsKHvCOkAFqj9x8Mek2zdeHW1XjuFKwjpmZeMaXQRQ8AbJZDbcRz/+r1QhwvFtmQg==" + }, + "node_modules/domutils": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.1.0.tgz", + "integrity": "sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==", + "dev": true, + "dependencies": { + "dom-serializer": "^2.0.0", + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3" + }, + "funding": { + "url": "https://github.com/fb55/domutils?sponsor=1" + } + }, + "node_modules/dot-prop": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-4.2.1.tgz", + "integrity": "sha512-l0p4+mIuJIua0mhxGoh4a+iNL9bmeK5DvnSVQa6T0OhrVmaEa1XScX5Etc673FePCJOArq/4Pa2cLGODUWTPOQ==", + "dev": true, + "dependencies": { + "is-obj": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/dotenv": { + "version": "8.6.0", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-8.6.0.tgz", + "integrity": "sha512-IrPdXQsk2BbzvCBGBOTmmSH5SodmqZNt4ERAZDmW4CT+tL8VtvinqywuANaFu4bOMWki16nqf0e4oC0QIaDr/g==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/draft-convert": { + "version": "2.1.13", + "resolved": "https://registry.npmjs.org/draft-convert/-/draft-convert-2.1.13.tgz", + "integrity": "sha512-/h/n4JCfyO8aWby7wKBkccHdsuVbbDyHWXi/B3Zf2pN++lN1lDOIVt5ulXCcbH2Y5YJEFzMJw/YGfN+R0axxxg==", + "dependencies": { + "@babel/runtime": "^7.5.5", + "immutable": "~3.7.4", + "invariant": "^2.2.1" + }, + "peerDependencies": { + "draft-js": ">=0.7.0", + "react": "^15.0.2 || ^16.0.0-rc || ^16.0.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^15.0.2 || ^16.0.0-rc || ^16.0.0 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/draft-js": { + "version": "0.10.5", + "resolved": "https://registry.npmjs.org/draft-js/-/draft-js-0.10.5.tgz", + "integrity": "sha512-LE6jSCV9nkPhfVX2ggcRLA4FKs6zWq9ceuO/88BpXdNCS7mjRTgs0NsV6piUCJX9YxMsB9An33wnkMmU2sD2Zg==", + "dependencies": { + "fbjs": "^0.8.15", + "immutable": "~3.7.4", + "object-assign": "^4.1.0" + }, + "peerDependencies": { + "react": "^0.14.0 || ^15.0.0-rc || ^16.0.0-rc || ^16.0.0", + "react-dom": "^0.14.0 || ^15.0.0-rc || ^16.0.0-rc || ^16.0.0" + } + }, + "node_modules/draft-js-multidecorators": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/draft-js-multidecorators/-/draft-js-multidecorators-1.0.0.tgz", + "integrity": "sha512-7qdy+YQol5iq38AoEerhgSJWhCzxvZLn1x5ODfUlGfWlg0SrZ9AXJbaxHVIjdSIZNrbVIm+WANujNxMqCmDSZQ==", + "dependencies": { + "immutable": "*" + } + }, + "node_modules/draftjs-utils": { + "version": "0.9.4", + "resolved": "https://registry.npmjs.org/draftjs-utils/-/draftjs-utils-0.9.4.tgz", + "integrity": "sha512-KYjABSbGpJrwrwmxVj5UhfV37MF/p0QRxKIyL+/+QOaJ8J9z1FBKxkblThbpR0nJi9lxPQWGg+gh+v0dAsSCCg==", + "peerDependencies": { + "draft-js": "^0.10.x", + "immutable": "3.x.x || 4.x.x" + } + }, + "node_modules/dumi-assets-types": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/dumi-assets-types/-/dumi-assets-types-1.0.1.tgz", + "integrity": "sha512-A+fJp7L+Q6nU5S2KgbdnyfRoCkAZy+UFudQ45QPM7W+3LIe8o+Tt0cURIQMnLZMBjoKbItB5IDi+IM39FwFZvQ==", + "dev": true + }, + "node_modules/dumi-theme-default": { + "version": "1.1.24", + "resolved": "https://registry.npmjs.org/dumi-theme-default/-/dumi-theme-default-1.1.24.tgz", + "integrity": "sha512-/fS7gBJejom1Zy1GZkrqG/dLEsCK6J/S/ctCPEawDC3KkZE0sJh+dqsMuhHt8ts7ZhaGhDpJNPXSMghfN/qrzw==", + "dev": true, + "dependencies": { + "lodash.throttle": "^4.1.1", + "prism-react-renderer": "^1.1.1", + "prismjs": "^1.21.0", + "rc-motion": "^2.4.1", + "rc-tabs": "^11.7.1", + "rc-tree": "^5.2.0", + "react-error-boundary": "^3.1.4" + }, + "peerDependencies": { + "@umijs/preset-dumi": "1.x", + "react": "^16.13.1 || ^17.0.0" + } + }, + "node_modules/dumi-theme-default/node_modules/rc-menu": { + "version": "9.6.4", + "resolved": "https://registry.npmjs.org/rc-menu/-/rc-menu-9.6.4.tgz", + "integrity": "sha512-6DiNAjxjVIPLZXHffXxxcyE15d4isRL7iQ1ru4MqYDH2Cqc5bW96wZOdMydFtGLyDdnmEQ9jVvdCE9yliGvzkw==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.10.1", + "classnames": "2.x", + "rc-motion": "^2.4.3", + "rc-overflow": "^1.2.0", + "rc-trigger": "^5.1.2", + "rc-util": "^5.12.0", + "shallowequal": "^1.1.0" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/dumi-theme-default/node_modules/rc-tabs": { + "version": "11.16.1", + "resolved": "https://registry.npmjs.org/rc-tabs/-/rc-tabs-11.16.1.tgz", + "integrity": "sha512-bR7Dap23YyfzZQwtKomhiFEFzZuE7WaKWo+ypNRSGB9PDKSc6tM12VP8LWYkvmmQHthgwP0WRN8nFbSJWuqLYw==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.11.2", + "classnames": "2.x", + "rc-dropdown": "~4.0.0", + "rc-menu": "~9.6.0", + "rc-resize-observer": "^1.0.0", + "rc-util": "^5.5.0" + }, + "engines": { + "node": ">=8.x" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/duplexer": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", + "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==" + }, + "node_modules/duplexer3": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.5.tgz", + "integrity": "sha512-1A8za6ws41LQgv9HrE/66jyC5yuSjQ3L/KOpFtoBilsAK2iA2wuS5rTt1OCzIvtS2V7nVmedsUU+DGRcjBmOYA==", + "dev": true + }, + "node_modules/duplexify": { + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz", + "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==", + "dev": true, + "dependencies": { + "end-of-stream": "^1.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.0.0", + "stream-shift": "^1.0.0" + } + }, + "node_modules/dva": { + "version": "2.6.0-beta.23", + "resolved": "https://registry.npmjs.org/dva/-/dva-2.6.0-beta.23.tgz", + "integrity": "sha512-noeOz3Erxpc6YLEsyyS//zGszeRYWKEvZoeCZ0LaCvWrV7Cxah9Xt/I9V1SS9eYDySaSgTUOoU+dLweQpCScAA==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.0.0", + "@types/isomorphic-fetch": "^0.0.35", + "@types/react-redux": "^7.1.0", + "@types/react-router-dom": "^5.1.2", + "connected-react-router": "6.5.2", + "dva-core": "2.0.4", + "global": "^4.3.2", + "history": "^4.7.2", + "invariant": "^2.2.4", + "isomorphic-fetch": "^2.2.1", + "react-redux": "^7.1.0", + "react-router-dom": "^5.1.2", + "redux": "^4.0.1" + }, + "peerDependencies": { + "react": "^16.8.4", + "react-dom": "^16.8.4" + } + }, + "node_modules/dva-core": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/dva-core/-/dva-core-2.0.4.tgz", + "integrity": "sha512-Zh39llFyItu9HKXKfCZVf9UFtDTcypdAjGBew1S+wK8BGVzFpm1GPTdd6uIMeg7O6STtCvt2Qv+RwUut1GFynA==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.0.0", + "flatten": "^1.0.2", + "global": "^4.3.2", + "invariant": "^2.2.1", + "is-plain-object": "^2.0.3", + "redux-saga": "^0.16.0", + "warning": "^3.0.0" + }, + "peerDependencies": { + "redux": "4.x" + } + }, + "node_modules/dva-core/node_modules/warning": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/warning/-/warning-3.0.0.tgz", + "integrity": "sha512-jMBt6pUrKn5I+OGgtQ4YZLdhIeJmObddh6CsibPxyQ5yPZm1XExSyzC1LCNX7BzhxWgiHmizBWJTHJIjMjTQYQ==", + "dev": true, + "dependencies": { + "loose-envify": "^1.0.0" + } + }, + "node_modules/dva-immer": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/dva-immer/-/dva-immer-0.5.2.tgz", + "integrity": "sha512-xg23ktGsrdzgiU0ACl8vFm2+E2GBWbtXndXRKM9wtHDR+yMH27NfttVuAZQWvv4aaj6f5/bC+TdsZ9t7n6cAhQ==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.0.0", + "immer": "^7.0.5" + }, + "peerDependencies": { + "dva": "^2.5.0-0" + } + }, + "node_modules/dva-loading": { + "version": "3.0.24", + "resolved": "https://registry.npmjs.org/dva-loading/-/dva-loading-3.0.24.tgz", + "integrity": "sha512-3j4bmuXOYH93xe+CC//z3Si8XMx6DLJveep+UbzKy0jhA7oQrCCZTdKxu0UPYXeAMYXpCO25pG4JOnVhzmC7ug==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.0.0" + }, + "peerDependencies": { + "dva-core": "^1.1.0 || ^1.5.0-0 || ^1.6.0-0" + } + }, + "node_modules/ecc-jsbn": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", + "integrity": "sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==", + "dev": true, + "dependencies": { + "jsbn": "~0.1.0", + "safer-buffer": "^2.1.0" + } + }, + "node_modules/echarts": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/echarts/-/echarts-5.5.0.tgz", + "integrity": "sha512-rNYnNCzqDAPCr4m/fqyUFv7fD9qIsd50S6GDFgO1DxZhncCsNsG7IfUlAlvZe5oSEQxtsjnHiUuppzccry93Xw==", + "dependencies": { + "tslib": "2.3.0", + "zrender": "5.5.0" + } + }, + "node_modules/echarts-for-react": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/echarts-for-react/-/echarts-for-react-3.0.2.tgz", + "integrity": "sha512-DRwIiTzx8JfwPOVgGttDytBqdp5VzCSyMRIxubgU/g2n9y3VLUmF2FK7Icmg/sNVkv4+rktmrLN9w22U2yy3fA==", + "dependencies": { + "fast-deep-equal": "^3.1.3", + "size-sensor": "^1.0.1" + }, + "peerDependencies": { + "echarts": "^3.0.0 || ^4.0.0 || ^5.0.0", + "react": "^15.0.0 || >=16.0.0" + } + }, + "node_modules/echarts-for-react/node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" + }, + "node_modules/editions": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/editions/-/editions-2.3.1.tgz", + "integrity": "sha512-ptGvkwTvGdGfC0hfhKg0MT+TRLRKGtUiWGBInxOm5pz7ssADezahjCUaYuZ8Dr+C05FW0AECIIPt4WBxVINEhA==", + "dev": true, + "dependencies": { + "errlop": "^2.0.0", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=0.8" + }, + "funding": { + "url": "https://bevry.me/fund" + } + }, + "node_modules/editions/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", + "dev": true + }, + "node_modules/ejs": { + "version": "2.7.4", + "resolved": "https://registry.npmjs.org/ejs/-/ejs-2.7.4.tgz", + "integrity": "sha512-7vmuyh5+kuUyJKePhQfRQBhXV5Ce+RnaeeQArKu1EAMpL3WbgMt5WG6uQZpEVvYSSsxMXRKOewtDk9RaTKXRlA==", + "dev": true, + "hasInstallScript": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/electron-to-chromium": { + "version": "1.4.721", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.721.tgz", + "integrity": "sha512-k1x2r6foI8iJOp+1qTxbbrrWMsOiHkzGBYwYigaq+apO1FSqtn44KTo3Sy69qt7CRr7149zTcsDvH7MUKsOuIQ==" + }, + "node_modules/elliptic": { + "version": "6.5.5", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.5.tgz", + "integrity": "sha512-7EjbcmUm17NQFu4Pmgmq2olYMj8nwMnpcddByChSUjArp8F5DQWcIcpriwO4ZToLNAJig0yiyjswfyGNje/ixw==", + "dependencies": { + "bn.js": "^4.11.9", + "brorand": "^1.1.0", + "hash.js": "^1.0.0", + "hmac-drbg": "^1.0.1", + "inherits": "^2.0.4", + "minimalistic-assert": "^1.0.1", + "minimalistic-crypto-utils": "^1.0.1" + } + }, + "node_modules/elliptic/node_modules/bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" + }, + "node_modules/email-addresses": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/email-addresses/-/email-addresses-3.1.0.tgz", + "integrity": "sha512-k0/r7GrWVL32kZlGwfPNgB2Y/mMXVTq/decgLczm/j34whdaspNrZO8CnXPf1laaHxI6ptUlsnAxN+UAPw+fzg==", + "dev": true + }, + "node_modules/emitter-component": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/emitter-component/-/emitter-component-1.1.2.tgz", + "integrity": "sha512-QdXO3nXOzZB4pAjM0n6ZE+R9/+kPpECA/XSELIcc54NeYVnBqIk+4DFiBgK+8QbV3mdvTG6nedl7dTYgO+5wDw==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/emittery": { + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.7.2.tgz", + "integrity": "sha512-A8OG5SR/ij3SsJdWDJdkkSYUjQdCUx6APQXem0SaEePBSRg4eymGYwBkKo1Y6DU+af/Jn2dBQqDBvjnr9Vi8nQ==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/emittery?sponsor=1" + } + }, + "node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "node_modules/emojis-list": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", + "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", + "engines": { + "node": ">= 4" + } + }, + "node_modules/encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/encoding": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz", + "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", + "dependencies": { + "iconv-lite": "^0.6.2" + } + }, + "node_modules/encoding/node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "dependencies": { + "once": "^1.4.0" + } + }, + "node_modules/enhanced-resolve": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.5.0.tgz", + "integrity": "sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.1.2", + "memory-fs": "^0.5.0", + "tapable": "^1.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/enquirer": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.4.1.tgz", + "integrity": "sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ==", + "dev": true, + "dependencies": { + "ansi-colors": "^4.1.1", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/entities": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "dev": true, + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/enzyme": { + "version": "3.11.0", + "resolved": "https://registry.npmjs.org/enzyme/-/enzyme-3.11.0.tgz", + "integrity": "sha512-Dw8/Gs4vRjxY6/6i9wU0V+utmQO9kvh9XLnz3LIudviOnVYDEe2ec+0k+NQoMamn1VrjKgCUOWj5jG/5M5M0Qw==", + "dev": true, + "dependencies": { + "array.prototype.flat": "^1.2.3", + "cheerio": "^1.0.0-rc.3", + "enzyme-shallow-equal": "^1.0.1", + "function.prototype.name": "^1.1.2", + "has": "^1.0.3", + "html-element-map": "^1.2.0", + "is-boolean-object": "^1.0.1", + "is-callable": "^1.1.5", + "is-number-object": "^1.0.4", + "is-regex": "^1.0.5", + "is-string": "^1.0.5", + "is-subset": "^0.1.1", + "lodash.escape": "^4.0.1", + "lodash.isequal": "^4.5.0", + "object-inspect": "^1.7.0", + "object-is": "^1.0.2", + "object.assign": "^4.1.0", + "object.entries": "^1.1.1", + "object.values": "^1.1.1", + "raf": "^3.4.1", + "rst-selector-parser": "^2.2.3", + "string.prototype.trim": "^1.2.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/enzyme-shallow-equal": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/enzyme-shallow-equal/-/enzyme-shallow-equal-1.0.7.tgz", + "integrity": "sha512-/um0GFqUXnpM9SvKtje+9Tjoz3f1fpBC3eXRFrNs8kpYn69JljciYP7KZTqM/YQbUY9KUjvKB4jo/q+L6WGGvg==", + "dev": true, + "dependencies": { + "hasown": "^2.0.0", + "object-is": "^1.1.5" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/err-code": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/err-code/-/err-code-1.1.2.tgz", + "integrity": "sha512-CJAN+O0/yA1CKfRn9SXOGctSpEM7DCon/r/5r2eXFMY2zCCJBasFhcM5I+1kh3Ap11FsQCX+vGHceNPvpWKhoA==", + "dev": true + }, + "node_modules/errlop": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/errlop/-/errlop-2.2.0.tgz", + "integrity": "sha512-e64Qj9+4aZzjzzFpZC7p5kmm/ccCrbLhAJplhsDXQFs87XTsXwOpH4s1Io2s90Tau/8r2j9f4l/thhDevRjzxw==", + "dev": true, + "engines": { + "node": ">=0.8" + }, + "funding": { + "url": "https://bevry.me/fund" + } + }, + "node_modules/errno": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz", + "integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==", + "dev": true, + "dependencies": { + "prr": "~1.0.1" + }, + "bin": { + "errno": "cli.js" + } + }, + "node_modules/error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dependencies": { + "is-arrayish": "^0.2.1" + } + }, + "node_modules/error-stack-parser": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.1.4.tgz", + "integrity": "sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ==", + "dependencies": { + "stackframe": "^1.3.4" + } + }, + "node_modules/es-abstract": { + "version": "1.23.2", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.23.2.tgz", + "integrity": "sha512-60s3Xv2T2p1ICykc7c+DNDPLDMm9t4QxCOUU0K9JxiLjM3C1zB9YVdN7tjxrFd4+AkZ8CdX1ovUga4P2+1e+/w==", + "dev": true, + "dependencies": { + "array-buffer-byte-length": "^1.0.1", + "arraybuffer.prototype.slice": "^1.0.3", + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.7", + "data-view-buffer": "^1.0.1", + "data-view-byte-length": "^1.0.1", + "data-view-byte-offset": "^1.0.0", + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "es-set-tostringtag": "^2.0.3", + "es-to-primitive": "^1.2.1", + "function.prototype.name": "^1.1.6", + "get-intrinsic": "^1.2.4", + "get-symbol-description": "^1.0.2", + "globalthis": "^1.0.3", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.2", + "has-proto": "^1.0.3", + "has-symbols": "^1.0.3", + "hasown": "^2.0.2", + "internal-slot": "^1.0.7", + "is-array-buffer": "^3.0.4", + "is-callable": "^1.2.7", + "is-data-view": "^1.0.1", + "is-negative-zero": "^2.0.3", + "is-regex": "^1.1.4", + "is-shared-array-buffer": "^1.0.3", + "is-string": "^1.0.7", + "is-typed-array": "^1.1.13", + "is-weakref": "^1.0.2", + "object-inspect": "^1.13.1", + "object-keys": "^1.1.1", + "object.assign": "^4.1.5", + "regexp.prototype.flags": "^1.5.2", + "safe-array-concat": "^1.1.2", + "safe-regex-test": "^1.0.3", + "string.prototype.trim": "^1.2.9", + "string.prototype.trimend": "^1.0.8", + "string.prototype.trimstart": "^1.0.7", + "typed-array-buffer": "^1.0.2", + "typed-array-byte-length": "^1.0.1", + "typed-array-byte-offset": "^1.0.2", + "typed-array-length": "^1.0.5", + "unbox-primitive": "^1.0.2", + "which-typed-array": "^1.1.15" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/es-array-method-boxes-properly": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-array-method-boxes-properly/-/es-array-method-boxes-properly-1.0.0.tgz", + "integrity": "sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA==", + "dev": true + }, + "node_modules/es-define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz", + "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==", + "dependencies": { + "get-intrinsic": "^1.2.4" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-iterator-helpers": { + "version": "1.0.18", + "resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.0.18.tgz", + "integrity": "sha512-scxAJaewsahbqTYrGKJihhViaM6DDZDDoucfvzNbK0pOren1g/daDQ3IAhzn+1G14rBG7w+i5N+qul60++zlKA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.0", + "es-errors": "^1.3.0", + "es-set-tostringtag": "^2.0.3", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "globalthis": "^1.0.3", + "has-property-descriptors": "^1.0.2", + "has-proto": "^1.0.3", + "has-symbols": "^1.0.3", + "internal-slot": "^1.0.7", + "iterator.prototype": "^1.1.2", + "safe-array-concat": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-module-lexer": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.7.1.tgz", + "integrity": "sha512-MgtWFl5No+4S3TmhDmCz2ObFGm6lEpTnzbQi+Dd+pw4mlTIZTmM2iAs5gRlmx5zS9luzobCSBSI90JM/1/JgOw==" + }, + "node_modules/es-object-atoms": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.0.0.tgz", + "integrity": "sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==", + "dev": true, + "dependencies": { + "es-errors": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-set-tostringtag": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.3.tgz", + "integrity": "sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ==", + "dev": true, + "dependencies": { + "get-intrinsic": "^1.2.4", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-shim-unscopables": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.2.tgz", + "integrity": "sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==", + "dev": true, + "dependencies": { + "hasown": "^2.0.0" + } + }, + "node_modules/es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "dev": true, + "dependencies": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/es5-ext": { + "version": "0.10.64", + "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.64.tgz", + "integrity": "sha512-p2snDhiLaXe6dahss1LddxqEm+SkuDvV8dnIQG0MWjyHpcMNfXKPE+/Cc0y+PhxJX3A4xGNeFCj5oc0BUh6deg==", + "dev": true, + "hasInstallScript": true, + "dependencies": { + "es6-iterator": "^2.0.3", + "es6-symbol": "^3.1.3", + "esniff": "^2.0.1", + "next-tick": "^1.1.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/es5-imcompatible-versions": { + "version": "0.1.89", + "resolved": "https://registry.npmjs.org/es5-imcompatible-versions/-/es5-imcompatible-versions-0.1.89.tgz", + "integrity": "sha512-metQ5Hi5dgBiaoc2VjGx2IABciw0djiE1+KbRWHbgQng9KnJQ1niBIA6vvLKWgA9R02kQZQRvFJ504ev0AQbzQ==" + }, + "node_modules/es6-iterator": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz", + "integrity": "sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g==", + "dev": true, + "dependencies": { + "d": "1", + "es5-ext": "^0.10.35", + "es6-symbol": "^3.1.1" + } + }, + "node_modules/es6-promise": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-3.3.1.tgz", + "integrity": "sha512-SOp9Phqvqn7jtEUxPWdWfWoLmyt2VaJ6MpvP9Comy1MceMXqE6bxvaTu4iaxpYYPzhny28Lc+M87/c2cPK6lDg==", + "dev": true + }, + "node_modules/es6-promisify": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz", + "integrity": "sha512-C+d6UdsYDk0lMebHNR4S2NybQMMngAOnOwYBQjTOiv0MkoJMP0Myw2mgpDLBcpfCmRLxyFqYhS/CfOENq4SJhQ==", + "dev": true, + "dependencies": { + "es6-promise": "^4.0.3" + } + }, + "node_modules/es6-promisify/node_modules/es6-promise": { + "version": "4.2.8", + "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.8.tgz", + "integrity": "sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==", + "dev": true + }, + "node_modules/es6-symbol": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.4.tgz", + "integrity": "sha512-U9bFFjX8tFiATgtkJ1zg25+KviIXpgRvRHS8sau3GfhVzThRQrOeksPeT0BWW2MNZs1OEWJ1DPXOQMn0KKRkvg==", + "dev": true, + "dependencies": { + "d": "^1.0.2", + "ext": "^1.7.0" + }, + "engines": { + "node": ">=0.12" + } + }, + "node_modules/es6-weak-map": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.3.tgz", + "integrity": "sha512-p5um32HOTO1kP+w7PRnB+5lQ43Z6muuMuIMffvDN8ZB4GcnjLBV6zGStpbASIMk4DCAvEaamhe2zhyCb/QXXsA==", + "dev": true, + "dependencies": { + "d": "1", + "es5-ext": "^0.10.46", + "es6-iterator": "^2.0.3", + "es6-symbol": "^3.1.1" + } + }, + "node_modules/esbuild": { + "version": "0.12.15", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.12.15.tgz", + "integrity": "sha512-72V4JNd2+48eOVCXx49xoSWHgC3/cCy96e7mbXKY+WOWghN00cCmlGnwVLRhRHorvv0dgCyuMYBZlM2xDM5OQw==", + "hasInstallScript": true, + "bin": { + "esbuild": "bin/esbuild" + } + }, + "node_modules/esbuild-loader": { + "version": "2.9.2", + "resolved": "https://registry.npmjs.org/esbuild-loader/-/esbuild-loader-2.9.2.tgz", + "integrity": "sha512-HpF+r/ES2aC40VDOIFsP8OIOM2y2vj8LyLwJ4G8DCMOi8Kov68TwCtxiMMTuSuxR/xKDu/ykgVyCEgps6BXpYw==", + "dev": true, + "dependencies": { + "esbuild": "^0.8.42", + "joycon": "^2.2.5", + "json5": "^2.2.0", + "loader-utils": "^2.0.0", + "type-fest": "^0.20.2", + "webpack-sources": "^2.2.0" + }, + "funding": { + "url": "https://github.com/privatenumber/esbuild-loader?sponsor=1" + }, + "peerDependencies": { + "webpack": "^4.40.0 || ^5.0.0" + } + }, + "node_modules/esbuild-loader/node_modules/esbuild": { + "version": "0.8.57", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.8.57.tgz", + "integrity": "sha512-j02SFrUwFTRUqiY0Kjplwjm1psuzO1d6AjaXKuOR9hrY0HuPsT6sV42B6myW34h1q4CRy+Y3g4RU/cGJeI/nNA==", + "dev": true, + "hasInstallScript": true, + "bin": { + "esbuild": "bin/esbuild" + } + }, + "node_modules/escalade": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz", + "integrity": "sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==", + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", + "dev": true + }, + "node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/escodegen": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.1.0.tgz", + "integrity": "sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==", + "dev": true, + "dependencies": { + "esprima": "^4.0.1", + "estraverse": "^5.2.0", + "esutils": "^2.0.2" + }, + "bin": { + "escodegen": "bin/escodegen.js", + "esgenerate": "bin/esgenerate.js" + }, + "engines": { + "node": ">=6.0" + }, + "optionalDependencies": { + "source-map": "~0.6.1" + } + }, + "node_modules/eslint": { + "version": "7.32.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.32.0.tgz", + "integrity": "sha512-VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA==", + "dev": true, + "dependencies": { + "@babel/code-frame": "7.12.11", + "@eslint/eslintrc": "^0.4.3", + "@humanwhocodes/config-array": "^0.5.0", + "ajv": "^6.10.0", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.0.1", + "doctrine": "^3.0.0", + "enquirer": "^2.3.5", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^5.1.1", + "eslint-utils": "^2.1.0", + "eslint-visitor-keys": "^2.0.0", + "espree": "^7.3.1", + "esquery": "^1.4.0", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "functional-red-black-tree": "^1.0.1", + "glob-parent": "^5.1.2", + "globals": "^13.6.0", + "ignore": "^4.0.6", + "import-fresh": "^3.0.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "js-yaml": "^3.13.1", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.0.4", + "natural-compare": "^1.4.0", + "optionator": "^0.9.1", + "progress": "^2.0.0", + "regexpp": "^3.1.0", + "semver": "^7.2.1", + "strip-ansi": "^6.0.0", + "strip-json-comments": "^3.1.0", + "table": "^6.0.9", + "text-table": "^0.2.0", + "v8-compile-cache": "^2.0.3" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-ast-utils": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/eslint-ast-utils/-/eslint-ast-utils-1.1.0.tgz", + "integrity": "sha512-otzzTim2/1+lVrlH19EfQQJEhVJSu0zOb9ygb3iapN6UlyaDtyRq4b5U1FuW0v1lRa9Fp/GJyHkSwm6NqABgCA==", + "dev": true, + "dependencies": { + "lodash.get": "^4.4.2", + "lodash.zip": "^4.2.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/eslint-config-prettier": { + "version": "8.10.0", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.10.0.tgz", + "integrity": "sha512-SM8AMJdeQqRYT9O9zguiruQZaN7+z+E4eAP9oiLNGKMtomwaB1E9dcgUD6ZAn/eQAb52USbvezbiljfZUhbJcg==", + "dev": true, + "bin": { + "eslint-config-prettier": "bin/cli.js" + }, + "peerDependencies": { + "eslint": ">=7.0.0" + } + }, + "node_modules/eslint-formatter-pretty": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/eslint-formatter-pretty/-/eslint-formatter-pretty-4.1.0.tgz", + "integrity": "sha512-IsUTtGxF1hrH6lMWiSl1WbGaiP01eT6kzywdY1U+zLc0MP+nwEnUiS9UI8IaOTUhTeQJLlCEWIbXINBH4YJbBQ==", + "dev": true, + "dependencies": { + "@types/eslint": "^7.2.13", + "ansi-escapes": "^4.2.1", + "chalk": "^4.1.0", + "eslint-rule-docs": "^1.1.5", + "log-symbols": "^4.0.0", + "plur": "^4.0.0", + "string-width": "^4.2.0", + "supports-hyperlinks": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint-plugin-babel": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-babel/-/eslint-plugin-babel-5.3.1.tgz", + "integrity": "sha512-VsQEr6NH3dj664+EyxJwO4FCYm/00JhYb3Sk3ft8o+fpKuIfQ9TaW6uVUfvwMXHcf/lsnRIoyFPsLMyiWCSL/g==", + "dev": true, + "dependencies": { + "eslint-rule-composer": "^0.3.0" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "eslint": ">=4.0.0" + } + }, + "node_modules/eslint-plugin-jest": { + "version": "24.7.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-24.7.0.tgz", + "integrity": "sha512-wUxdF2bAZiYSKBclsUMrYHH6WxiBreNjyDxbRv345TIvPeoCEgPNEn3Sa+ZrSqsf1Dl9SqqSREXMHExlMMu1DA==", + "dev": true, + "dependencies": { + "@typescript-eslint/experimental-utils": "^4.0.1" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "@typescript-eslint/eslint-plugin": ">= 4", + "eslint": ">=5" + }, + "peerDependenciesMeta": { + "@typescript-eslint/eslint-plugin": { + "optional": true + } + } + }, + "node_modules/eslint-plugin-promise": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-promise/-/eslint-plugin-promise-6.1.1.tgz", + "integrity": "sha512-tjqWDwVZQo7UIPMeDReOpUgHCmCiH+ePnVT+5zVapL0uuHnegBUs2smM13CzOs2Xb5+MHMRFTs9v24yjba4Oig==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "peerDependencies": { + "eslint": "^7.0.0 || ^8.0.0" + } + }, + "node_modules/eslint-plugin-react": { + "version": "7.34.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.34.1.tgz", + "integrity": "sha512-N97CxlouPT1AHt8Jn0mhhN2RrADlUAsk1/atcT2KyA/l9Q/E6ll7OIGwNumFmWfZ9skV3XXccYS19h80rHtgkw==", + "dev": true, + "dependencies": { + "array-includes": "^3.1.7", + "array.prototype.findlast": "^1.2.4", + "array.prototype.flatmap": "^1.3.2", + "array.prototype.toreversed": "^1.1.2", + "array.prototype.tosorted": "^1.1.3", + "doctrine": "^2.1.0", + "es-iterator-helpers": "^1.0.17", + "estraverse": "^5.3.0", + "jsx-ast-utils": "^2.4.1 || ^3.0.0", + "minimatch": "^3.1.2", + "object.entries": "^1.1.7", + "object.fromentries": "^2.0.7", + "object.hasown": "^1.1.3", + "object.values": "^1.1.7", + "prop-types": "^15.8.1", + "resolve": "^2.0.0-next.5", + "semver": "^6.3.1", + "string.prototype.matchall": "^4.0.10" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8" + } + }, + "node_modules/eslint-plugin-react-hooks": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.0.tgz", + "integrity": "sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==", + "dev": true, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0" + } + }, + "node_modules/eslint-plugin-react/node_modules/doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "dev": true, + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/eslint-plugin-react/node_modules/resolve": { + "version": "2.0.0-next.5", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.5.tgz", + "integrity": "sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==", + "dev": true, + "dependencies": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/eslint-plugin-react/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/eslint-plugin-unicorn": { + "version": "20.1.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-unicorn/-/eslint-plugin-unicorn-20.1.0.tgz", + "integrity": "sha512-XQxLBJT/gnwyRR6cfYsIK1AdekQchAt5tmcsnldevGjgR2xoZsRUa5/i6e0seNHy2RoT57CkTnbVHwHF8No8LA==", + "dev": true, + "dependencies": { + "ci-info": "^2.0.0", + "clean-regexp": "^1.0.0", + "eslint-ast-utils": "^1.1.0", + "eslint-template-visitor": "^2.0.0", + "eslint-utils": "^2.0.0", + "import-modules": "^2.0.0", + "lodash": "^4.17.15", + "pluralize": "^8.0.0", + "read-pkg-up": "^7.0.1", + "regexp-tree": "^0.1.21", + "reserved-words": "^0.1.2", + "safe-regex": "^2.1.1", + "semver": "^7.3.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/eslint-plugin-unicorn?sponsor=1" + }, + "peerDependencies": { + "eslint": ">=7.0.0" + } + }, + "node_modules/eslint-rule-composer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/eslint-rule-composer/-/eslint-rule-composer-0.3.0.tgz", + "integrity": "sha512-bt+Sh8CtDmn2OajxvNO+BX7Wn4CIWMpTRm3MaiKPCQcnnlm0CS2mhui6QaoeQugs+3Kj2ESKEEGJUdVafwhiCg==", + "dev": true, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/eslint-rule-docs": { + "version": "1.1.235", + "resolved": "https://registry.npmjs.org/eslint-rule-docs/-/eslint-rule-docs-1.1.235.tgz", + "integrity": "sha512-+TQ+x4JdTnDoFEXXb3fDvfGOwnyNV7duH8fXWTPD1ieaBmB8omj7Gw/pMBBu4uI2uJCCU8APDaQJzWuXnTsH4A==", + "dev": true + }, + "node_modules/eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dev": true, + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/eslint-scope/node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/eslint-template-visitor": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/eslint-template-visitor/-/eslint-template-visitor-2.3.2.tgz", + "integrity": "sha512-3ydhqFpuV7x1M9EK52BPNj6V0Kwu0KKkcIAfpUhwHbR8ocRln/oUHgfxQupY8O1h4Qv/POHDumb/BwwNfxbtnA==", + "dev": true, + "dependencies": { + "@babel/core": "^7.12.16", + "@babel/eslint-parser": "^7.12.16", + "eslint-visitor-keys": "^2.0.0", + "esquery": "^1.3.1", + "multimap": "^1.1.0" + }, + "peerDependencies": { + "eslint": ">=7.0.0" + } + }, + "node_modules/eslint-utils": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", + "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", + "dev": true, + "dependencies": { + "eslint-visitor-keys": "^1.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/mysticatea" + } + }, + "node_modules/eslint-utils/node_modules/eslint-visitor-keys": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", + "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/eslint-visitor-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", + "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/eslint/node_modules/@babel/code-frame": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz", + "integrity": "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==", + "dev": true, + "dependencies": { + "@babel/highlight": "^7.10.4" + } + }, + "node_modules/eslint/node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, + "node_modules/eslint/node_modules/globals": { + "version": "13.24.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", + "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", + "dev": true, + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint/node_modules/ignore": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", + "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/esm": { + "version": "3.2.25", + "resolved": "https://registry.npmjs.org/esm/-/esm-3.2.25.tgz", + "integrity": "sha512-U1suiZ2oDVWv4zPO56S0NcR5QriEahGtdN2OR6FiOG4WJvcjBVFB0qI4+eKoWFH483PKGuLuu6V8Z4T5g63UVA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/esniff": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/esniff/-/esniff-2.0.1.tgz", + "integrity": "sha512-kTUIGKQ/mDPFoJ0oVfcmyJn4iBDRptjNVIzwIFR7tqWXdVI9xfA2RMwY/gbSpJG3lkdWNEjLap/NqVHZiJsdfg==", + "dev": true, + "dependencies": { + "d": "^1.0.1", + "es5-ext": "^0.10.62", + "event-emitter": "^0.3.5", + "type": "^2.7.2" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/espree": { + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-7.3.1.tgz", + "integrity": "sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==", + "dev": true, + "dependencies": { + "acorn": "^7.4.0", + "acorn-jsx": "^5.3.1", + "eslint-visitor-keys": "^1.3.0" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/espree/node_modules/eslint-visitor-keys": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", + "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/esquery": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", + "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", + "dev": true, + "dependencies": { + "estraverse": "^5.1.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/event-emitter": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz", + "integrity": "sha512-D9rRn9y7kLPnJ+hMq7S/nhvoKwwvVJahBi2BPmx3bvbsEdK3W9ii8cBSGjP+72/LnM4n6fo3+dkCX5FeTQruXA==", + "dev": true, + "dependencies": { + "d": "1", + "es5-ext": "~0.10.14" + } + }, + "node_modules/events": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", + "engines": { + "node": ">=0.8.x" + } + }, + "node_modules/evp_bytestokey": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", + "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", + "dependencies": { + "md5.js": "^1.3.4", + "safe-buffer": "^5.1.1" + } + }, + "node_modules/exec-sh": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/exec-sh/-/exec-sh-0.3.6.tgz", + "integrity": "sha512-nQn+hI3yp+oD0huYhKwvYI32+JFeq+XkNcD1GAo3Y/MjxsfVGmrrzrnzjWiNY6f+pUCP440fThsFh5gZrRAU/w==", + "dev": true + }, + "node_modules/execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "dev": true, + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/execall": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/execall/-/execall-2.0.0.tgz", + "integrity": "sha512-0FU2hZ5Hh6iQnarpRtQurM/aAvp3RIbfvgLHrcqJYzhXyV2KFruhuChf9NC6waAhiUR7FFtlugkI4p7f2Fqlow==", + "dev": true, + "dependencies": { + "clone-regexp": "^2.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/exenv": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/exenv/-/exenv-1.2.2.tgz", + "integrity": "sha512-Z+ktTxTwv9ILfgKCk32OX3n/doe+OcLTRtqK9pcL+JsP3J1/VW8Uvl4ZjLlKqeW4rzK4oesDOGMEMRIZqtP4Iw==", + "dev": true + }, + "node_modules/exit": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", + "integrity": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==", + "dev": true, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/expand-brackets": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", + "integrity": "sha512-w/ozOKR9Obk3qoWeY/WDi6MFta9AoMR+zud60mdnbniMcBxRuFJyDt2LdX/14A1UABeqk+Uk+LDfUpvoGKppZA==", + "dev": true, + "dependencies": { + "debug": "^2.3.3", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "posix-character-classes": "^0.1.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/expand-brackets/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "dev": true, + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/node_modules/is-descriptor": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.7.tgz", + "integrity": "sha512-C3grZTvObeN1xud4cRWl366OMXZTj0+HGyk4hvfpx4ZHt1Pb60ANSXqCK7pdOTeUQpRzECBSTphqvD7U+l22Eg==", + "dev": true, + "dependencies": { + "is-accessor-descriptor": "^1.0.1", + "is-data-descriptor": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/expand-brackets/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "node_modules/expand-template": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/expand-template/-/expand-template-2.0.3.tgz", + "integrity": "sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==", + "dev": true, + "optional": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/expand-tilde": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-1.2.2.tgz", + "integrity": "sha512-rtmc+cjLZqnu9dSYosX9EWmSJhTwpACgJQTfj4hgg2JjOD/6SIQalZrt4a3aQeh++oNxkazcaxrhPUj6+g5G/Q==", + "dev": true, + "dependencies": { + "os-homedir": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expect": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/expect/-/expect-26.6.2.tgz", + "integrity": "sha512-9/hlOBkQl2l/PLHJx6JjoDF6xPKcJEsUlWKb23rKE7KzeDqUZKXKNMW27KIue5JMdBV9HgmoJPcc8HtO85t9IA==", + "dev": true, + "dependencies": { + "@jest/types": "^26.6.2", + "ansi-styles": "^4.0.0", + "jest-get-type": "^26.3.0", + "jest-matcher-utils": "^26.6.2", + "jest-message-util": "^26.6.2", + "jest-regex-util": "^26.0.0" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/express": { + "version": "4.19.2", + "resolved": "https://registry.npmjs.org/express/-/express-4.19.2.tgz", + "integrity": "sha512-5T6nhjsT+EOMzuck8JjBHARTHfMht0POzlA60WV2pMD3gyXw2LZnZ+ueGdNxG+0calOJcWKbpFcuzLZ91YWq9Q==", + "dev": true, + "dependencies": { + "accepts": "~1.3.8", + "array-flatten": "1.1.1", + "body-parser": "1.20.2", + "content-disposition": "0.5.4", + "content-type": "~1.0.4", + "cookie": "0.6.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.11.0", + "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" + }, + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/express/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/express/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "node_modules/express/node_modules/path-to-regexp": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", + "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==", + "dev": true + }, + "node_modules/ext": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/ext/-/ext-1.7.0.tgz", + "integrity": "sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw==", + "dev": true, + "dependencies": { + "type": "^2.7.2" + } + }, + "node_modules/extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", + "dev": true + }, + "node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "dev": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extend2": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/extend2/-/extend2-1.0.0.tgz", + "integrity": "sha512-/7zWrWJGblJZ4OnLaIDoO3GYv28ksNwxlBZ80YPHLWt5P6xvALW8dLfeoQ9f9PHtuaWnUXTa7bRnjDzLp9C6Yg==", + "dev": true + }, + "node_modules/external-editor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", + "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", + "dev": true, + "dependencies": { + "chardet": "^0.7.0", + "iconv-lite": "^0.4.24", + "tmp": "^0.0.33" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/extglob": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", + "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", + "dev": true, + "dependencies": { + "array-unique": "^0.3.2", + "define-property": "^1.0.0", + "expand-brackets": "^2.1.4", + "extend-shallow": "^2.0.1", + "fragment-cache": "^0.2.1", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extglob/node_modules/define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", + "dev": true, + "dependencies": { + "is-descriptor": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extract-zip": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz", + "integrity": "sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==", + "dev": true, + "dependencies": { + "debug": "^4.1.1", + "get-stream": "^5.1.0", + "yauzl": "^2.10.0" + }, + "bin": { + "extract-zip": "cli.js" + }, + "engines": { + "node": ">= 10.17.0" + }, + "optionalDependencies": { + "@types/yauzl": "^2.9.1" + } + }, + "node_modules/extract-zip/node_modules/get-stream": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", + "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", + "dev": true, + "dependencies": { + "pump": "^3.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/extract-zip/node_modules/pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "dev": true, + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "node_modules/extsprintf": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==", + "dev": true, + "engines": [ + "node >=0.6.0" + ] + }, + "node_modules/fast-deep-equal": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.1.tgz", + "integrity": "sha512-8UEa58QDLauDNfpbrX55Q9jrGHThw2ZMdOky5Gl1CDtVeJDPVrG4Jxx1N8jw2gkWaff5UUuX1KJd+9zGe2B+ZA==" + }, + "node_modules/fast-glob": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", + "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/fast-json-patch": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/fast-json-patch/-/fast-json-patch-3.1.1.tgz", + "integrity": "sha512-vf6IHUX2SBcA+5/+4883dsIjpBTqmfBjmYiWK1savxQmFk4JfBMLa7ynTYOs1Rolp/T1betJxHiGD3g1Mn8lUQ==", + "dev": true + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" + }, + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "dev": true + }, + "node_modules/fast-safe-stringify": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz", + "integrity": "sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==", + "dev": true + }, + "node_modules/fastest-levenshtein": { + "version": "1.0.16", + "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz", + "integrity": "sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==", + "dev": true, + "engines": { + "node": ">= 4.9.1" + } + }, + "node_modules/fastq": { + "version": "1.17.1", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz", + "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==", + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/fault": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/fault/-/fault-1.0.4.tgz", + "integrity": "sha512-CJ0HCB5tL5fYTEA7ToAq5+kTwd++Borf1/bifxd9iT70QcXr4MRrO3Llf8Ifs70q+SJcGHFtnIE/Nw6giCtECA==", + "dev": true, + "dependencies": { + "format": "^0.2.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/fb-watchman": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz", + "integrity": "sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==", + "dev": true, + "dependencies": { + "bser": "2.1.1" + } + }, + "node_modules/fbjs": { + "version": "0.8.18", + "resolved": "https://registry.npmjs.org/fbjs/-/fbjs-0.8.18.tgz", + "integrity": "sha512-EQaWFK+fEPSoibjNy8IxUtaFOMXcWsY0JaVrQoZR9zC8N2Ygf9iDITPWjUTVIax95b6I742JFLqASHfsag/vKA==", + "dependencies": { + "core-js": "^1.0.0", + "isomorphic-fetch": "^2.1.1", + "loose-envify": "^1.0.0", + "object-assign": "^4.1.0", + "promise": "^7.1.1", + "setimmediate": "^1.0.5", + "ua-parser-js": "^0.7.30" + } + }, + "node_modules/fbjs/node_modules/core-js": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-1.2.7.tgz", + "integrity": "sha512-ZiPp9pZlgxpWRu0M+YWbm6+aQ84XEfH1JRXvfOc/fILWI0VKhLC2LX13X1NYq4fULzLMq7Hfh43CSo2/aIaUPA==", + "deprecated": "core-js@<3.23.3 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Some versions have web compatibility issues. Please, upgrade your dependencies to the actual version of core-js." + }, + "node_modules/fbjs/node_modules/promise": { + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz", + "integrity": "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==", + "dependencies": { + "asap": "~2.0.3" + } + }, + "node_modules/fd-slicer": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", + "integrity": "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==", + "dev": true, + "dependencies": { + "pend": "~1.2.0" + } + }, + "node_modules/figures": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", + "integrity": "sha512-Oa2M9atig69ZkfwiApY8F2Yy+tzMbazyvqv21R0NsSC8floSOC09BbT1ITWAdoMGQvJ/aZnR1KMwdx9tvHnTNA==", + "dev": true, + "dependencies": { + "escape-string-regexp": "^1.0.5" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/figures/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/file-entry-cache": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "dev": true, + "dependencies": { + "flat-cache": "^3.0.4" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/file-name": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/file-name/-/file-name-0.1.0.tgz", + "integrity": "sha512-Q8SskhjF4eUk/xoQkmubwLkoHwOTv6Jj/WGtOVLKkZ0vvM+LipkSXugkn1F/+mjWXU32AXLZB3qaz0arUzgtRw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/filename-reserved-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/filename-reserved-regex/-/filename-reserved-regex-2.0.0.tgz", + "integrity": "sha512-lc1bnsSr4L4Bdif8Xb/qrtokGbq5zlsms/CYH8PP+WtCkGNF65DPiQY8vG3SakEdRn8Dlnm+gW/qWKKjS5sZzQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/filenamify": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/filenamify/-/filenamify-4.3.0.tgz", + "integrity": "sha512-hcFKyUG57yWGAzu1CMt/dPzYZuv+jAJUT85bL8mrXvNe6hWj6yEHEc4EdcgiA6Z3oi1/9wXJdZPXF2dZNgwgOg==", + "dev": true, + "dependencies": { + "filename-reserved-regex": "^2.0.0", + "strip-outer": "^1.0.1", + "trim-repeated": "^1.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/filesize": { + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/filesize/-/filesize-3.6.1.tgz", + "integrity": "sha512-7KjR1vv6qnicaPMi1iiTcI85CyYwRO/PSFCu6SvqL8jN2Wjt/NIYQTFtFs7fSDCYOstUkEWIQGFUg5YZQfjlcg==", + "dev": true, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/filter-obj": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/filter-obj/-/filter-obj-1.1.0.tgz", + "integrity": "sha512-8rXg1ZnX7xzy2NGDVkBVaAy+lSlPNwad13BtgSlLuxfIslyt5Vg64U7tFcCt4WS1R0hvtnQybT/IyCkGZ3DpXQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/finalhandler": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", + "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", + "dev": true, + "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" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/finalhandler/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/finalhandler/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "node_modules/find-babel-config": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/find-babel-config/-/find-babel-config-1.2.0.tgz", + "integrity": "sha512-jB2CHJeqy6a820ssiqwrKMeyC6nNdmrcgkKWJWmpoxpE8RKciYJXCcXRq1h2AzCo5I5BJeN2tkGEO3hLTuePRA==", + "dev": true, + "dependencies": { + "json5": "^0.5.1", + "path-exists": "^3.0.0" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/find-babel-config/node_modules/json5": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", + "integrity": "sha512-4xrs1aW+6N5DalkqSVA8fxh458CXvR99WU8WLKmq4v8eWAL86Xo3BVqyd3SkA9wEVjCMqyvvRRkshAdOnBp5rw==", + "dev": true, + "bin": { + "json5": "lib/cli.js" + } + }, + "node_modules/find-babel-config/node_modules/path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/find-cache-dir": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz", + "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==", + "dev": true, + "dependencies": { + "commondir": "^1.0.1", + "make-dir": "^3.0.2", + "pkg-dir": "^4.1.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/avajs/find-cache-dir?sponsor=1" + } + }, + "node_modules/find-file-up": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/find-file-up/-/find-file-up-0.1.3.tgz", + "integrity": "sha512-mBxmNbVyjg1LQIIpgO8hN+ybWBgDQK8qjht+EbrTCGmmPV/sc7RF1i9stPTD6bpvXZywBdrwRYxhSdJv867L6A==", + "dev": true, + "dependencies": { + "fs-exists-sync": "^0.1.0", + "resolve-dir": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/find-pkg": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/find-pkg/-/find-pkg-0.1.2.tgz", + "integrity": "sha512-0rnQWcFwZr7eO0513HahrWafsc3CTFioEB7DRiEYCUM/70QXSY8f3mCST17HXLcPvEhzH/Ty/Bxd72ZZsr/yvw==", + "dev": true, + "dependencies": { + "find-file-up": "^0.1.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/first-chunk-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/first-chunk-stream/-/first-chunk-stream-2.0.0.tgz", + "integrity": "sha512-X8Z+b/0L4lToKYq+lwnKqi9X/Zek0NibLpsJgVsSxpoYq7JtiCtRb5HqKVEjEw/qAb/4AKKRLOwwKHlWNpm2Eg==", + "dev": true, + "dependencies": { + "readable-stream": "^2.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/flat-cache": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz", + "integrity": "sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==", + "dev": true, + "dependencies": { + "flatted": "^3.2.9", + "keyv": "^4.5.3", + "rimraf": "^3.0.2" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/flatted": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.1.tgz", + "integrity": "sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==", + "dev": true + }, + "node_modules/flatten": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/flatten/-/flatten-1.0.3.tgz", + "integrity": "sha512-dVsPA/UwQ8+2uoFe5GHtiBMu48dWLTdsuEd7CKGlZlD78r1TTWBvDuFaFGKCo/ZfEr95Uk56vZoX86OsHkUeIg==", + "deprecated": "flatten is deprecated in favor of utility frameworks such as lodash." + }, + "node_modules/flush-write-stream": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz", + "integrity": "sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==", + "dev": true, + "dependencies": { + "inherits": "^2.0.3", + "readable-stream": "^2.3.6" + } + }, + "node_modules/focus-lock": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/focus-lock/-/focus-lock-1.3.4.tgz", + "integrity": "sha512-Gv0N3mvej3pD+HWkNryrF8sExzEHqhQ6OSFxD4DPxm9n5HGCaHme98ZMBZroNEAJcsdtHxk+skvThGKyUeoEGA==", + "dependencies": { + "tslib": "^2.0.3" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/follow-redirects": { + "version": "1.15.6", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.6.tgz", + "integrity": "sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==", + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } + } + }, + "node_modules/for-each": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", + "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", + "dev": true, + "dependencies": { + "is-callable": "^1.1.3" + } + }, + "node_modules/for-in": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", + "integrity": "sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/fork-ts-checker-webpack-plugin": { + "version": "6.5.3", + "resolved": "https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-6.5.3.tgz", + "integrity": "sha512-SbH/l9ikmMWycd5puHJKTkZJKddF4iRLyW3DeZ08HTI7NGyLS38MXd/KGgeWumQO7YNQbW2u/NtPT2YowbPaGQ==", + "dependencies": { + "@babel/code-frame": "^7.8.3", + "@types/json-schema": "^7.0.5", + "chalk": "^4.1.0", + "chokidar": "^3.4.2", + "cosmiconfig": "^6.0.0", + "deepmerge": "^4.2.2", + "fs-extra": "^9.0.0", + "glob": "^7.1.6", + "memfs": "^3.1.2", + "minimatch": "^3.0.4", + "schema-utils": "2.7.0", + "semver": "^7.3.2", + "tapable": "^1.0.0" + }, + "engines": { + "node": ">=10", + "yarn": ">=1.0.0" + }, + "peerDependencies": { + "eslint": ">= 6", + "typescript": ">= 2.7", + "vue-template-compiler": "*", + "webpack": ">= 4" + }, + "peerDependenciesMeta": { + "eslint": { + "optional": true + }, + "vue-template-compiler": { + "optional": true + } + } + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/cosmiconfig": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz", + "integrity": "sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==", + "dependencies": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.1.0", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.7.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "dependencies": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/universalify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/form-data": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", + "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/format": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/format/-/format-0.2.2.tgz", + "integrity": "sha512-wzsgA6WOq+09wrU1tsJ09udeR/YZRaeArL9e1wPbFg3GG2yDnC2ldKpxs4xunpFF9DgqCqOIra3bc1HWrJ37Ww==", + "dev": true, + "engines": { + "node": ">=0.4.x" + } + }, + "node_modules/forwarded": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fragment-cache": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", + "integrity": "sha512-GMBAbW9antB8iZRHLoGw0b3HANt57diZYFO/HL1JGIC1MjKrdmhxvrJbupnVvpys0zsz7yBApXdQyfepKly2kA==", + "dev": true, + "dependencies": { + "map-cache": "^0.2.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/from2": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", + "integrity": "sha512-OMcX/4IC/uqEPVgGeyfN22LJk6AZrMkRZHxcHBMBvHScDGgwTm2GT2Wkgtocyd3JfZffjj2kYUDXXII0Fk9W0g==", + "dev": true, + "dependencies": { + "inherits": "^2.0.1", + "readable-stream": "^2.0.0" + } + }, + "node_modules/fs-constants": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", + "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==", + "dev": true + }, + "node_modules/fs-exists-sync": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/fs-exists-sync/-/fs-exists-sync-0.1.0.tgz", + "integrity": "sha512-cR/vflFyPZtrN6b38ZyWxpWdhlXrzZEBawlpBQMq7033xVY7/kg0GDMBK5jg8lDYQckdJ5x/YC88lM3C7VMsLg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fs-extra": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-3.0.1.tgz", + "integrity": "sha512-V3Z3WZWVUYd8hoCL5xfXJCaHWYzmtwW5XWYSlLgERi8PWd8bx1kUHUk8L1BT57e49oKnDDD180mjfrHc1yA9rg==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.1.2", + "jsonfile": "^3.0.0", + "universalify": "^0.1.0" + } + }, + "node_modules/fs-monkey": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.5.tgz", + "integrity": "sha512-8uMbBjrhzW76TYgEV27Y5E//W2f/lTFmx78P2w19FZSxarhI/798APGQyuGCwmkNxgwGRhrLfvWyLBvNtuOmew==" + }, + "node_modules/fs-write-stream-atomic": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz", + "integrity": "sha512-gehEzmPn2nAwr39eay+x3X34Ra+M2QlVUTLhkXPjWdeO8RF9kszk116avgBJM3ZyNHgHXBNx+VmPaFC36k0PzA==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.1.2", + "iferr": "^0.1.5", + "imurmurhash": "^0.1.4", + "readable-stream": "1 || 2" + } + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/function.prototype.name": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.6.tgz", + "integrity": "sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "functions-have-names": "^1.2.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/functional-red-black-tree": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", + "integrity": "sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g==", + "dev": true + }, + "node_modules/functions-have-names": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", + "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/genfun": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/genfun/-/genfun-4.0.1.tgz", + "integrity": "sha512-48yv1eDS5Qrz6cbSDBBik0u7jCgC/eA9eZrl9MIN1LfKzFTuGt6EHgr31YM8yT9cjb5BplXb4Iz3VtOYmgt8Jg==", + "dev": true + }, + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true, + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/get-intrinsic": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz", + "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==", + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3", + "hasown": "^2.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-own-enumerable-property-symbols": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz", + "integrity": "sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==", + "dev": true + }, + "node_modules/get-package-type": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", + "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", + "dev": true, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/get-stdin": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-8.0.0.tgz", + "integrity": "sha512-sY22aA6xchAzprjyqmSEQv4UbAAzRN0L2dQB0NlN5acTTK9Don6nhoc3eAbUnpZiCANAMfd/+40kVdKfFygohg==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/get-symbol-description": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.2.tgz", + "integrity": "sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.5", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-value": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", + "integrity": "sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/getnpmregistry": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/getnpmregistry/-/getnpmregistry-1.0.1.tgz", + "integrity": "sha512-OZRQ1RmRC0JduSLlQrHAaBLLrB23D3gaREsMBtM7aV8pxKB3duPs+a7iH7662b8zu1G9H6wiOvZc814g/bcHVg==", + "dev": true, + "dependencies": { + "node-fetch": "^2.6.0" + } + }, + "node_modules/getpass": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", + "integrity": "sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==", + "dev": true, + "dependencies": { + "assert-plus": "^1.0.0" + } + }, + "node_modules/gh-pages": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/gh-pages/-/gh-pages-3.2.3.tgz", + "integrity": "sha512-jA1PbapQ1jqzacECfjUaO9gV8uBgU6XNMV0oXLtfCX3haGLe5Atq8BxlrADhbD6/UdG9j6tZLWAkAybndOXTJg==", + "dev": true, + "dependencies": { + "async": "^2.6.1", + "commander": "^2.18.0", + "email-addresses": "^3.0.1", + "filenamify": "^4.3.0", + "find-cache-dir": "^3.3.1", + "fs-extra": "^8.1.0", + "globby": "^6.1.0" + }, + "bin": { + "gh-pages": "bin/gh-pages.js", + "gh-pages-clean": "bin/gh-pages-clean.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/gh-pages/node_modules/array-union": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", + "integrity": "sha512-Dxr6QJj/RdU/hCaBjOfxW+q6lyuVE6JFWIrAUpuOOhoJJoQ99cUn3igRaHVB5P9WrgFVN0FfArM3x0cueOU8ng==", + "dev": true, + "dependencies": { + "array-uniq": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/gh-pages/node_modules/fs-extra": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + }, + "engines": { + "node": ">=6 <7 || >=8" + } + }, + "node_modules/gh-pages/node_modules/globby": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz", + "integrity": "sha512-KVbFv2TQtbzCoxAnfD6JcHZTYCzyliEaaeM/gH8qQdkKr5s0OP9scEgvdcngyk7AVdY6YVW/TJHd+lQ/Df3Daw==", + "dev": true, + "dependencies": { + "array-union": "^1.0.1", + "glob": "^7.0.3", + "object-assign": "^4.0.1", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/gh-pages/node_modules/jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", + "dev": true, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/gh-pages/node_modules/pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/git-branch": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/git-branch/-/git-branch-1.0.0.tgz", + "integrity": "sha512-ZTzuqw5Df8fyLXQWrX6hK+4FpNCdKzMcERlxENEGO5aKcLmG7MAszhrMhluUKNKmOS/JAGijDMQDXDCDw1mE/A==", + "dev": true, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/git-config-path": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/git-config-path/-/git-config-path-1.0.1.tgz", + "integrity": "sha512-KcJ2dlrrP5DbBnYIZ2nlikALfRhKzNSX0stvv3ImJ+fvC4hXKoV+U+74SV0upg+jlQZbrtQzc0bu6/Zh+7aQbg==", + "dev": true, + "dependencies": { + "extend-shallow": "^2.0.1", + "fs-exists-sync": "^0.1.0", + "homedir-polyfill": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/git-hooks-list": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/git-hooks-list/-/git-hooks-list-1.0.3.tgz", + "integrity": "sha512-Y7wLWcrLUXwk2noSka166byGCvhMtDRpgHdzCno1UQv/n/Hegp++a2xBWJL1lJarnKD3SWaljD+0z1ztqxuKyQ==", + "dev": true, + "funding": { + "url": "https://github.com/fisker/git-hooks-list?sponsor=1" + } + }, + "node_modules/git-repo-name": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/git-repo-name/-/git-repo-name-0.6.0.tgz", + "integrity": "sha512-DF4XxB6H+Te79JA08/QF/IjIv+j+0gF990WlgAX3SXXU2irfqvBc/xxlAIh6eJWYaKz45MrrGVBFS0Qc4bBz5g==", + "dev": true, + "dependencies": { + "cwd": "^0.9.1", + "file-name": "^0.1.0", + "lazy-cache": "^1.0.4", + "remote-origin-url": "^0.5.1" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/git-up": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/git-up/-/git-up-4.0.5.tgz", + "integrity": "sha512-YUvVDg/vX3d0syBsk/CKUTib0srcQME0JyHkL5BaYdwLsiCslPWmDSi8PUMo9pXYjrryMcmsCoCgsTpSCJEQaA==", + "dev": true, + "dependencies": { + "is-ssh": "^1.3.0", + "parse-url": "^6.0.0" + } + }, + "node_modules/git-url-parse": { + "version": "11.6.0", + "resolved": "https://registry.npmjs.org/git-url-parse/-/git-url-parse-11.6.0.tgz", + "integrity": "sha512-WWUxvJs5HsyHL6L08wOusa/IXYtMuCAhrMmnTjQPpBU0TTHyDhnOATNH3xNQz7YOQUsqIIPTGr4xiVti1Hsk5g==", + "dev": true, + "dependencies": { + "git-up": "^4.0.0" + } + }, + "node_modules/git-username": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/git-username/-/git-username-0.5.1.tgz", + "integrity": "sha512-xjUjrj3i4kup2A3a/ZVZB1Nt0PUX7SU7KeVqIbXPdslT7NbNfyO04JMxBv4gar77JePdS+A6f05jG1Viy6+U1w==", + "dev": true, + "dependencies": { + "remote-origin-url": "^0.4.0" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/git-username/node_modules/parse-git-config": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/parse-git-config/-/parse-git-config-0.2.0.tgz", + "integrity": "sha512-amapZFADOJtHvX2URcRfbzG2OFcW+UAwmdK2kht2N2vsH5Py65VxI5yZTlD2DjmxVhTz6htFoVCxROYUJaYOXQ==", + "dev": true, + "dependencies": { + "ini": "^1.3.3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/git-username/node_modules/remote-origin-url": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/remote-origin-url/-/remote-origin-url-0.4.0.tgz", + "integrity": "sha512-HYhdsT2pNd0LP4Osb0vtQ1iassxIc3Yk1oze7j8dMJFciMkW8e0rdg9E/mOunqtSVHSzvMfwLDIYzPnEDmpk6Q==", + "dev": true, + "dependencies": { + "parse-git-config": "^0.2.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/github-from-package": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/github-from-package/-/github-from-package-0.0.0.tgz", + "integrity": "sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==", + "dev": true, + "optional": true + }, + "node_modules/github-slugger": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/github-slugger/-/github-slugger-1.5.0.tgz", + "integrity": "sha512-wIh+gKBI9Nshz2o46B0B3f5k/W+WI9ZAv6y5Dn5WJ5SK1t0TnDimB4WE5rmTD05ZAIn8HALCZVmCsvj0w0v0lw==", + "dev": true + }, + "node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/global": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/global/-/global-4.4.0.tgz", + "integrity": "sha512-wv/LAoHdRE3BeTGz53FAamhGlPLhlssK45usmGFThIi4XqnBmjKQ16u+RNbP7WvigRZDxUsM0J3gcQ5yicaL0w==", + "dev": true, + "dependencies": { + "min-document": "^2.19.0", + "process": "^0.11.10" + } + }, + "node_modules/global-dirs": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-0.1.1.tgz", + "integrity": "sha512-NknMLn7F2J7aflwFOlGdNIuCDpN3VGoSoB+aap3KABFWbHVn1TCgFC+np23J8W2BiZbjfEw3BFBycSMv1AFblg==", + "dev": true, + "dependencies": { + "ini": "^1.3.4" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/global-modules": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz", + "integrity": "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==", + "dependencies": { + "global-prefix": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/global-prefix": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz", + "integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==", + "dependencies": { + "ini": "^1.3.5", + "kind-of": "^6.0.2", + "which": "^1.3.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/global-prefix/node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" + } + }, + "node_modules/globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "engines": { + "node": ">=4" + } + }, + "node_modules/globalthis": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz", + "integrity": "sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==", + "dev": true, + "dependencies": { + "define-properties": "^1.1.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/globby": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "dependencies": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/globjoin": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/globjoin/-/globjoin-0.1.4.tgz", + "integrity": "sha512-xYfnw62CKG8nLkZBfWbhWwDw02CHty86jfPcc2cr3ZfeuK9ysoVPPEUxf21bAD/rWAgk52SuBrLJlefNy8mvFg==", + "dev": true + }, + "node_modules/gonzales-pe": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/gonzales-pe/-/gonzales-pe-4.3.0.tgz", + "integrity": "sha512-otgSPpUmdWJ43VXyiNgEYE4luzHCL2pz4wQ0OnDluC6Eg4Ko3Vexy/SrSynglw/eR+OhkzmqFCZa/OFa/RgAOQ==", + "dev": true, + "dependencies": { + "minimist": "^1.2.5" + }, + "bin": { + "gonzales": "bin/gonzales.js" + }, + "engines": { + "node": ">=0.6.0" + } + }, + "node_modules/gopd": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", + "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", + "dependencies": { + "get-intrinsic": "^1.1.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/got": { + "version": "6.7.1", + "resolved": "https://registry.npmjs.org/got/-/got-6.7.1.tgz", + "integrity": "sha512-Y/K3EDuiQN9rTZhBvPRWMLXIKdeD1Rj0nzunfoi0Yyn5WBEbzxXKU9Ub2X41oZBagVWOBU3MuDonFMgPWQFnwg==", + "dev": true, + "dependencies": { + "create-error-class": "^3.0.0", + "duplexer3": "^0.1.4", + "get-stream": "^3.0.0", + "is-redirect": "^1.0.0", + "is-retry-allowed": "^1.0.0", + "is-stream": "^1.0.0", + "lowercase-keys": "^1.0.0", + "safe-buffer": "^5.0.1", + "timed-out": "^4.0.0", + "unzip-response": "^2.0.1", + "url-parse-lax": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/got/node_modules/get-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", + "integrity": "sha512-GlhdIUuVakc8SJ6kK0zAFbiGzRFzNnY4jUuEbV9UROo4Y+0Ny4fjvcZFVTeDA4odpFyOQzaw6hXukJSq/f28sQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/got/node_modules/is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" + }, + "node_modules/graphemer": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", + "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", + "dev": true + }, + "node_modules/growly": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/growly/-/growly-1.3.0.tgz", + "integrity": "sha512-+xGQY0YyAWCnqy7Cd++hc2JqMYzlm0dG30Jd0beaA64sROr8C4nt8Yc9V5Ro3avlSUDTN0ulqP/VBKi1/lLygw==", + "dev": true, + "optional": true + }, + "node_modules/gzip-size": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-6.0.0.tgz", + "integrity": "sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==", + "dependencies": { + "duplexer": "^0.1.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/har-schema": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", + "integrity": "sha512-Oqluz6zhGX8cyRaTQlFMPw80bSJVG2x/cFb8ZPhUILGgHka9SsokCCOQgpveePerqidZOrT14ipqfJb7ILcW5Q==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/har-validator": { + "version": "5.1.5", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz", + "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", + "deprecated": "this library is no longer supported", + "dev": true, + "dependencies": { + "ajv": "^6.12.3", + "har-schema": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/hard-rejection": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/hard-rejection/-/hard-rejection-2.1.0.tgz", + "integrity": "sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/harmony-reflect": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/harmony-reflect/-/harmony-reflect-1.6.2.tgz", + "integrity": "sha512-HIp/n38R9kQjDEziXyDTuW3vvoxxyxjxFzXLrBr18uB47GnSt+G9D29fqrpM5ZkspMcPICud3XsBJQ4Y2URg8g==", + "dev": true + }, + "node_modules/has": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.4.tgz", + "integrity": "sha512-qdSAmqLF6209RFj4VVItywPMbm3vWylknmB3nvNiUIs72xAimcM8nVYxYr7ncvZq5qzk9MKIZR8ijqD/1QuYjQ==", + "dev": true, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/has-bigints": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", + "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/has-property-descriptors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", + "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", + "dependencies": { + "es-define-property": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-proto": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.3.tgz", + "integrity": "sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-tostringtag": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", + "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", + "dev": true, + "dependencies": { + "has-symbols": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", + "integrity": "sha512-IBXk4GTsLYdQ7Rvt+GRBrFSVEkmuOUy4re0Xjd9kJSUQpnTrWR4/y9RpfexN9vkAPMFuQoeWKwqzPozRTlasGw==", + "dev": true, + "dependencies": { + "get-value": "^2.0.6", + "has-values": "^1.0.0", + "isobject": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/has-values": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", + "integrity": "sha512-ODYZC64uqzmtfGMEAX/FvZiRyWLpAC3vYnNunURUnkGVTS+mI0smVsWaPydRBsE3g+ok7h960jChO8mFcWlHaQ==", + "dev": true, + "dependencies": { + "is-number": "^3.0.0", + "kind-of": "^4.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/has-values/node_modules/is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/has-values/node_modules/is-number/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/has-values/node_modules/kind-of": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", + "integrity": "sha512-24XsCxmEbRwEDbz/qz3stgin8TTzZ1ESR56OMCN0ujYg+vRutNSiOj9bHH9u85DKgXguraugV5sFuvbD4FW/hw==", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/has-yarn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/has-yarn/-/has-yarn-2.1.0.tgz", + "integrity": "sha512-UqBRqi4ju7T+TqGNdqAO0PaSVGsDGJUBQvk9eUWNGRY1CFGDzYhLWoM7JQEemnlvVcv/YEmc2wNW8BC24EnUsw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/hash-base": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.0.4.tgz", + "integrity": "sha512-EeeoJKjTyt868liAlVmcv2ZsUfGHlE3Q+BICOXcZiwN3osr5Q/zFGYmTJpoIzuaSTAwndFy+GqhEwlU4L3j4Ow==", + "dependencies": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/hash.js": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", + "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", + "dependencies": { + "inherits": "^2.0.3", + "minimalistic-assert": "^1.0.1" + } + }, + "node_modules/hasown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/hast-to-hyperscript": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/hast-to-hyperscript/-/hast-to-hyperscript-9.0.1.tgz", + "integrity": "sha512-zQgLKqF+O2F72S1aa4y2ivxzSlko3MAvxkwG8ehGmNiqd98BIN3JM1rAJPmplEyLmGLO2QZYJtIneOSZ2YbJuA==", + "dev": true, + "dependencies": { + "@types/unist": "^2.0.3", + "comma-separated-tokens": "^1.0.0", + "property-information": "^5.3.0", + "space-separated-tokens": "^1.0.0", + "style-to-object": "^0.3.0", + "unist-util-is": "^4.0.0", + "web-namespaces": "^1.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-from-dom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/hast-util-from-dom/-/hast-util-from-dom-3.0.0.tgz", + "integrity": "sha512-4vQuGiD5Y/wlD7fZiY4mZML/6oh0GOnH38UNyeDFcSTE4AHF0zjKHZfbd+ekVwPvsZXRl8choc99INHUwSPJlg==", + "dev": true, + "dependencies": { + "hastscript": "^6.0.0", + "web-namespaces": "^1.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-from-parse5": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/hast-util-from-parse5/-/hast-util-from-parse5-6.0.1.tgz", + "integrity": "sha512-jeJUWiN5pSxW12Rh01smtVkZgZr33wBokLzKLwinYOUfSzm1Nl/c3GUGebDyOKjdsRgMvoVbV0VpAcpjF4NrJA==", + "dev": true, + "dependencies": { + "@types/parse5": "^5.0.0", + "hastscript": "^6.0.0", + "property-information": "^5.0.0", + "vfile": "^4.0.0", + "vfile-location": "^3.2.0", + "web-namespaces": "^1.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-has-property": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/hast-util-has-property/-/hast-util-has-property-1.0.4.tgz", + "integrity": "sha512-ghHup2voGfgFoHMGnaLHOjbYFACKrRh9KFttdCzMCbFoBMJXiNi2+XTrPP8+q6cDJM/RSqlCfVWrjp1H201rZg==", + "dev": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-is-conditional-comment": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/hast-util-is-conditional-comment/-/hast-util-is-conditional-comment-1.0.4.tgz", + "integrity": "sha512-rtULxWWknVeSuU/vsJ9tHo+M3ExyaOrZcWvLxqY2nUfCHbDcq60EJzSJC5zNm6ZlbxbJ8l7Ej8C1Kzsi5PJS1A==", + "dev": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-is-element": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/hast-util-is-element/-/hast-util-is-element-1.1.0.tgz", + "integrity": "sha512-oUmNua0bFbdrD/ELDSSEadRVtWZOf3iF6Lbv81naqsIV99RnSCieTbWuWCY8BAeEfKJTKl0gRdokv+dELutHGQ==", + "dev": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-parse-selector": { + "version": "2.2.5", + "resolved": "https://registry.npmjs.org/hast-util-parse-selector/-/hast-util-parse-selector-2.2.5.tgz", + "integrity": "sha512-7j6mrk/qqkSehsM92wQjdIgWM2/BW61u/53G6xmC8i1OmEdKLHbk419QKQUjz6LglWsfqoiHmyMRkP1BGjecNQ==", + "dev": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-raw": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/hast-util-raw/-/hast-util-raw-6.1.0.tgz", + "integrity": "sha512-5FoZLDHBpka20OlZZ4I/+RBw5piVQ8iI1doEvffQhx5CbCyTtP8UCq8Tw6NmTAMtXgsQxmhW7Ly8OdFre5/YMQ==", + "dev": true, + "dependencies": { + "@types/hast": "^2.0.0", + "hast-util-from-parse5": "^6.0.0", + "hast-util-to-parse5": "^6.0.0", + "html-void-elements": "^1.0.0", + "parse5": "^6.0.0", + "unist-util-position": "^3.0.0", + "unist-util-visit": "^2.0.0", + "vfile": "^4.0.0", + "web-namespaces": "^1.0.0", + "xtend": "^4.0.0", + "zwitch": "^1.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-raw/node_modules/parse5": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", + "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==", + "dev": true + }, + "node_modules/hast-util-to-html": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/hast-util-to-html/-/hast-util-to-html-7.1.3.tgz", + "integrity": "sha512-yk2+1p3EJTEE9ZEUkgHsUSVhIpCsL/bvT8E5GzmWc+N1Po5gBw+0F8bo7dpxXR0nu0bQVxVZGX2lBGF21CmeDw==", + "dev": true, + "dependencies": { + "ccount": "^1.0.0", + "comma-separated-tokens": "^1.0.0", + "hast-util-is-element": "^1.0.0", + "hast-util-whitespace": "^1.0.0", + "html-void-elements": "^1.0.0", + "property-information": "^5.0.0", + "space-separated-tokens": "^1.0.0", + "stringify-entities": "^3.0.1", + "unist-util-is": "^4.0.0", + "xtend": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-to-parse5": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/hast-util-to-parse5/-/hast-util-to-parse5-6.0.0.tgz", + "integrity": "sha512-Lu5m6Lgm/fWuz8eWnrKezHtVY83JeRGaNQ2kn9aJgqaxvVkFCZQBEhgodZUDUvoodgyROHDb3r5IxAEdl6suJQ==", + "dev": true, + "dependencies": { + "hast-to-hyperscript": "^9.0.0", + "property-information": "^5.0.0", + "web-namespaces": "^1.0.0", + "xtend": "^4.0.0", + "zwitch": "^1.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-to-string": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/hast-util-to-string/-/hast-util-to-string-1.0.4.tgz", + "integrity": "sha512-eK0MxRX47AV2eZ+Lyr18DCpQgodvaS3fAQO2+b9Two9F5HEoRPhiUMNzoXArMJfZi2yieFzUBMRl3HNJ3Jus3w==", + "dev": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-to-text": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/hast-util-to-text/-/hast-util-to-text-2.0.1.tgz", + "integrity": "sha512-8nsgCARfs6VkwH2jJU9b8LNTuR4700na+0h3PqCaEk4MAnMDeu5P0tP8mjk9LLNGxIeQRLbiDbZVw6rku+pYsQ==", + "dev": true, + "dependencies": { + "hast-util-is-element": "^1.0.0", + "repeat-string": "^1.0.0", + "unist-util-find-after": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-whitespace": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/hast-util-whitespace/-/hast-util-whitespace-1.0.4.tgz", + "integrity": "sha512-I5GTdSfhYfAPNztx2xJRQpG8cuDSNt599/7YUn7Gx/WxNMsG+a835k97TDkFgk123cwjfwINaZknkKkphx/f2A==", + "dev": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hastscript": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/hastscript/-/hastscript-6.0.0.tgz", + "integrity": "sha512-nDM6bvd7lIqDUiYEiu5Sl/+6ReP0BMk/2f4U/Rooccxkj0P5nm+acM5PrGJ/t5I8qPGiqZSE6hVAwZEdZIvP4w==", + "dev": true, + "dependencies": { + "@types/hast": "^2.0.0", + "comma-separated-tokens": "^1.0.0", + "hast-util-parse-selector": "^2.0.0", + "property-information": "^5.0.0", + "space-separated-tokens": "^1.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/highlight.js": { + "version": "10.7.3", + "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-10.7.3.tgz", + "integrity": "sha512-tzcUFauisWKNHaRkN4Wjl/ZA07gENAjFl3J/c480dprkGTg5EQstgaNFqBfUqCq54kZRIEcreTsAgF/m2quD7A==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/history": { + "version": "4.10.1", + "resolved": "https://registry.npmjs.org/history/-/history-4.10.1.tgz", + "integrity": "sha512-36nwAD620w12kuzPAsyINPWJqlNbij+hpK1k9XRloDtym8mxzGYl2c17LnV6IAGB2Dmg4tEa7G7DlawS0+qjew==", + "dependencies": { + "@babel/runtime": "^7.1.2", + "loose-envify": "^1.2.0", + "resolve-pathname": "^3.0.0", + "tiny-invariant": "^1.0.2", + "tiny-warning": "^1.0.0", + "value-equal": "^1.0.1" + } + }, + "node_modules/history-with-query": { + "version": "4.10.4", + "resolved": "https://registry.npmjs.org/history-with-query/-/history-with-query-4.10.4.tgz", + "integrity": "sha512-JnskQK8X+PbRFHSdDAExhoJyhLnlLZL+UuHQuQhys+Se9/ukRDRBWU4JVTjsiIfbv1fcEmR3oqKW56OYmk5M5w==", + "dependencies": { + "@babel/runtime": "^7.1.2", + "loose-envify": "^1.2.0", + "query-string": "^6.11.0", + "resolve-pathname": "^3.0.0", + "tiny-invariant": "^1.0.2", + "tiny-warning": "^1.0.0", + "value-equal": "^1.0.1" + } + }, + "node_modules/hmac-drbg": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", + "integrity": "sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==", + "dependencies": { + "hash.js": "^1.0.3", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.1" + } + }, + "node_modules/hoist-non-react-statics": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz", + "integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==", + "dependencies": { + "react-is": "^16.7.0" + } + }, + "node_modules/hoist-non-react-statics/node_modules/react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" + }, + "node_modules/homedir-polyfill": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz", + "integrity": "sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==", + "dev": true, + "dependencies": { + "parse-passwd": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/hosted-git-info": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-3.0.8.tgz", + "integrity": "sha512-aXpmwoOhRBrw6X3j0h5RloK4x1OzsxMPyxqIHyNfSe2pypkVTZFpEiRoSipPEPlMrh0HW/XsjkJ5WgnCirpNUw==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/hosted-git-info/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/hosted-git-info/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/hotkeys-js": { + "version": "3.13.7", + "resolved": "https://registry.npmjs.org/hotkeys-js/-/hotkeys-js-3.13.7.tgz", + "integrity": "sha512-ygFIdTqqwG4fFP7kkiYlvayZppeIQX2aPpirsngkv1xM1lP0piDY5QEh68nQnIKvz64hfocxhBaD/uK3sSK1yQ==", + "funding": { + "url": "https://jaywcjlove.github.io/#/sponsor" + } + }, + "node_modules/html-element-map": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/html-element-map/-/html-element-map-1.3.1.tgz", + "integrity": "sha512-6XMlxrAFX4UEEGxctfFnmrFaaZFNf9i5fNuV5wZ3WWQ4FVaNP1aX1LkX9j2mfEx1NpjeE/rL3nmgEn23GdFmrg==", + "dev": true, + "dependencies": { + "array.prototype.filter": "^1.0.0", + "call-bind": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/html-encoding-sniffer": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz", + "integrity": "sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==", + "dev": true, + "dependencies": { + "whatwg-encoding": "^1.0.5" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/html-entities": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-2.5.2.tgz", + "integrity": "sha512-K//PSRMQk4FZ78Kyau+mZurHn3FH0Vwr+H36eE0rPbeYkRRi9YxceYPhuN60UwWorxyKHhqoAJl2OFKa4BVtaA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/mdevils" + }, + { + "type": "patreon", + "url": "https://patreon.com/mdevils" + } + ] + }, + "node_modules/html-escaper": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", + "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", + "dev": true + }, + "node_modules/html-tags": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/html-tags/-/html-tags-3.3.1.tgz", + "integrity": "sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/html-void-elements": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/html-void-elements/-/html-void-elements-1.0.5.tgz", + "integrity": "sha512-uE/TxKuyNIcx44cIWnjr/rfIATDH7ZaOMmstu0CwhFG1Dunhlp4OC6/NMbhiwoq5BpW0ubi303qnEk/PZj614w==", + "dev": true, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/htmlparser2": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-8.0.2.tgz", + "integrity": "sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA==", + "dev": true, + "funding": [ + "https://github.com/fb55/htmlparser2?sponsor=1", + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], + "dependencies": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3", + "domutils": "^3.0.1", + "entities": "^4.4.0" + } + }, + "node_modules/http-cache-semantics": { + "version": "3.8.1", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-3.8.1.tgz", + "integrity": "sha512-5ai2iksyV8ZXmnZhHH4rWPoxxistEexSi5936zIQ1bnNTW5VnA85B6P/VpXiRM017IgRvb2kKo1a//y+0wSp3w==", + "dev": true + }, + "node_modules/http-errors": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", + "dev": true, + "dependencies": { + "depd": "2.0.0", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "toidentifier": "1.0.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/http-proxy-agent": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz", + "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==", + "dev": true, + "dependencies": { + "@tootallnate/once": "1", + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/http-signature": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", + "integrity": "sha512-CAbnr6Rz4CYQkLYUtSNXxQPUH2gK8f3iWexVlsnMeD+GjlsQ0Xsy1cOX+mN3dtxYomRy21CiOzU8Uhw6OwncEQ==", + "dev": true, + "dependencies": { + "assert-plus": "^1.0.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" + }, + "engines": { + "node": ">=0.8", + "npm": ">=1.3.7" + } + }, + "node_modules/http2-client": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/http2-client/-/http2-client-1.3.5.tgz", + "integrity": "sha512-EC2utToWl4RKfs5zd36Mxq7nzHHBuomZboI0yYL6Y0RmBgT7Sgkq4rQ0ezFTYoIsSs7Tm9SJe+o2FcAg6GBhGA==", + "dev": true + }, + "node_modules/https-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", + "integrity": "sha512-J+FkSdyD+0mA0N+81tMotaRMfSL9SGi+xpD3T6YApKsc3bGSXJlfXri3VyFOeYkfLRQisDk1W+jIFFKBeUBbBg==" + }, + "node_modules/https-proxy-agent": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", + "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", + "dev": true, + "dependencies": { + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/human-signals": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", + "dev": true, + "engines": { + "node": ">=10.17.0" + } + }, + "node_modules/humanize-ms": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz", + "integrity": "sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==", + "dev": true, + "dependencies": { + "ms": "^2.0.0" + } + }, + "node_modules/humps": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/humps/-/humps-2.0.1.tgz", + "integrity": "sha512-E0eIbrFWUhwfXJmsbdjRQFQPrl5pTEoKlz163j1mTqqUnU9PgR4AgB8AIITzuB3vLBdxZXyZ9TDIrwB2OASz4g==", + "dev": true + }, + "node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dev": true, + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/identity-obj-proxy": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/identity-obj-proxy/-/identity-obj-proxy-3.0.0.tgz", + "integrity": "sha512-00n6YnVHKrinT9t0d9+5yZC6UBNJANpYEQvL2LlX6Ab9lnmxzIRcEmTPuyGScvl1+jKuCICX1Z0Ab1pPKKdikA==", + "dev": true, + "dependencies": { + "harmony-reflect": "^1.4.6" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/iferr": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz", + "integrity": "sha512-DUNFN5j7Tln0D+TxzloUjKB+CtVu6myn0JEFak6dG18mNt9YkQ6lzGCdafwofISZ1lLF3xRHJ98VKy9ynkcFaA==", + "dev": true + }, + "node_modules/ignore": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz", + "integrity": "sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==", + "engines": { + "node": ">= 4" + } + }, + "node_modules/image-size": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/image-size/-/image-size-0.8.3.tgz", + "integrity": "sha512-SMtq1AJ+aqHB45c3FsB4ERK0UCiA2d3H1uq8s+8T0Pf8A3W4teyBQyaFaktH6xvZqh+npwlKU7i4fJo0r7TYTg==", + "dev": true, + "dependencies": { + "queue": "6.0.1" + }, + "bin": { + "image-size": "bin/image-size.js" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/immer": { + "version": "7.0.15", + "resolved": "https://registry.npmjs.org/immer/-/immer-7.0.15.tgz", + "integrity": "sha512-yM7jo9+hvYgvdCQdqvhCNRRio0SCXc8xDPzA25SvKWa7b1WVPjLwQs1VYU5JPXjcJPTqAa5NP5dqpORGYBQ2AA==", + "dev": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/immer" + } + }, + "node_modules/immutable": { + "version": "3.7.6", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-3.7.6.tgz", + "integrity": "sha512-AizQPcaofEtO11RZhPPHBOJRdo/20MKQF9mBLnVkBoyHi1/zXK8fzVdnEpSV9gxqtnh6Qomfp3F0xT5qP/vThw==", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/import-cwd": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/import-cwd/-/import-cwd-2.1.0.tgz", + "integrity": "sha512-Ew5AZzJQFqrOV5BTW3EIoHAnoie1LojZLXKcCQ/yTRyVZosBhK1x1ViYjHGf5pAFOq8ZyChZp6m/fSN7pJyZtg==", + "dependencies": { + "import-from": "^2.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/import-fresh/node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "engines": { + "node": ">=4" + } + }, + "node_modules/import-from": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/import-from/-/import-from-2.1.0.tgz", + "integrity": "sha512-0vdnLL2wSGnhlRmzHJAg5JHjt1l2vYhzJ7tNLGbeVg0fse56tpGaH0uzH+r9Slej+BSXXEHvBKDEnVSLLE9/+w==", + "dependencies": { + "resolve-from": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/import-from/node_modules/resolve-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", + "integrity": "sha512-GnlH6vxLymXJNMBo7XP1fJIzBFbdYt49CuTwmB/6N53t+kMPRMFKz783LlQ4tv28XoQfMWinAJX6WCGf2IlaIw==", + "engines": { + "node": ">=4" + } + }, + "node_modules/import-lazy": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-4.0.0.tgz", + "integrity": "sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/import-local": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz", + "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==", + "dev": true, + "dependencies": { + "pkg-dir": "^4.2.0", + "resolve-cwd": "^3.0.0" + }, + "bin": { + "import-local-fixture": "fixtures/cli.js" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/import-modules": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/import-modules/-/import-modules-2.1.0.tgz", + "integrity": "sha512-8HEWcnkbGpovH9yInoisxaSoIg9Brbul+Ju3Kqe2UsYDUBJD/iQjSgEj0zPcTDPKfPp2fs5xlv1i+JSye/m1/A==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true, + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/indexes-of": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/indexes-of/-/indexes-of-1.0.1.tgz", + "integrity": "sha512-bup+4tap3Hympa+JBJUG7XuOsdNQ6fxt0MHyXMKuLBKn0OqsTfvUxkUrroEX1+B2VsSHvCjiIcZVxRtYa4nllA==" + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "node_modules/ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" + }, + "node_modules/inline-style-parser": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/inline-style-parser/-/inline-style-parser-0.1.1.tgz", + "integrity": "sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q==", + "dev": true + }, + "node_modules/inquirer": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-6.5.2.tgz", + "integrity": "sha512-cntlB5ghuB0iuO65Ovoi8ogLHiWGs/5yNrtUcKjFhSSiVeAIVpD7koaSU9RM8mpXw5YDi9RdYXGQMaOURB7ycQ==", + "dev": true, + "dependencies": { + "ansi-escapes": "^3.2.0", + "chalk": "^2.4.2", + "cli-cursor": "^2.1.0", + "cli-width": "^2.0.0", + "external-editor": "^3.0.3", + "figures": "^2.0.0", + "lodash": "^4.17.12", + "mute-stream": "0.0.7", + "run-async": "^2.2.0", + "rxjs": "^6.4.0", + "string-width": "^2.1.0", + "strip-ansi": "^5.1.0", + "through": "^2.3.6" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/inquirer/node_modules/ansi-escapes": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz", + "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/inquirer/node_modules/ansi-regex": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", + "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/inquirer/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/inquirer/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/inquirer/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/inquirer/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, + "node_modules/inquirer/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/inquirer/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/inquirer/node_modules/is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/inquirer/node_modules/string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "dev": true, + "dependencies": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/inquirer/node_modules/string-width/node_modules/ansi-regex": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.1.tgz", + "integrity": "sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/inquirer/node_modules/string-width/node_modules/strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow==", + "dev": true, + "dependencies": { + "ansi-regex": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/inquirer/node_modules/strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "dependencies": { + "ansi-regex": "^4.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/inquirer/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/internal-slot": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.7.tgz", + "integrity": "sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==", + "dev": true, + "dependencies": { + "es-errors": "^1.3.0", + "hasown": "^2.0.0", + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/intl": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/intl/-/intl-1.2.5.tgz", + "integrity": "sha512-rK0KcPHeBFBcqsErKSpvZnrOmWOj+EmDkyJ57e90YWaQNqbcivcqmKDlHEeNprDWOsKzPsh1BfSpPQdDvclHVw==", + "dev": true + }, + "node_modules/intl-format-cache": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/intl-format-cache/-/intl-format-cache-4.3.1.tgz", + "integrity": "sha512-OEUYNA7D06agqPOYhbTkl0T8HA3QKSuwWh1HiClEnpd9vw7N+3XsQt5iZ0GUEchp5CW1fQk/tary+NsbF3yQ1Q==", + "dev": true + }, + "node_modules/intl-messageformat": { + "version": "9.13.0", + "resolved": "https://registry.npmjs.org/intl-messageformat/-/intl-messageformat-9.13.0.tgz", + "integrity": "sha512-7sGC7QnSQGa5LZP7bXLDhVDtQOeKGeBFGHF2Y8LVBwYZoQZCgWeKoPGTa5GMG8g/TzDgeXuYJQis7Ggiw2xTOw==", + "dev": true, + "dependencies": { + "@formatjs/ecma402-abstract": "1.11.4", + "@formatjs/fast-memoize": "1.2.1", + "@formatjs/icu-messageformat-parser": "2.1.0", + "tslib": "^2.1.0" + } + }, + "node_modules/intl-messageformat-parser": { + "version": "3.6.4", + "resolved": "https://registry.npmjs.org/intl-messageformat-parser/-/intl-messageformat-parser-3.6.4.tgz", + "integrity": "sha512-RgPGwue0mJtoX2Ax8EmMzJzttxjnva7gx0Q7mKJ4oALrTZvtmCeAw5Msz2PcjW4dtCh/h7vN/8GJCxZO1uv+OA==", + "deprecated": "We've written a new parser that's 6x faster and is backwards compatible. Please use @formatjs/icu-messageformat-parser", + "dev": true, + "dependencies": { + "@formatjs/intl-unified-numberformat": "^3.2.0" + } + }, + "node_modules/invariant": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", + "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", + "dependencies": { + "loose-envify": "^1.0.0" + } + }, + "node_modules/invert-kv": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-3.0.1.tgz", + "integrity": "sha512-CYdFeFexxhv/Bcny+Q0BfOV+ltRlJcd4BBZBYFX/O0u4npJrgZtIcjokegtiSMAvlMTJ+Koq0GBCc//3bueQxw==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sindresorhus/invert-kv?sponsor=1" + } + }, + "node_modules/ip": { + "version": "1.1.9", + "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.9.tgz", + "integrity": "sha512-cyRxvOEpNHNtchU3Ln9KC/auJgup87llfQpQ+t5ghoC/UhL16SWzbueiCsdTnWmqAWl7LadfuwhlqmtOaqMHdQ==", + "dev": true + }, + "node_modules/ipaddr.js": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", + "dev": true, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/irregular-plurals": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/irregular-plurals/-/irregular-plurals-3.5.0.tgz", + "integrity": "sha512-1ANGLZ+Nkv1ptFb2pa8oG8Lem4krflKuX/gINiHJHjJUKaJHk/SXk5x6K3J+39/p0h1RQ2saROclJJ+QLvETCQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-accessor-descriptor": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.1.tgz", + "integrity": "sha512-YBUanLI8Yoihw923YeFUS5fs0fF2f5TSFTNiYAAzhhDscDa3lEqYuz1pDOEP5KvX94I9ey3vsqjJcLVFVU+3QA==", + "dev": true, + "dependencies": { + "hasown": "^2.0.0" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/is-alphabetical": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-1.0.4.tgz", + "integrity": "sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg==", + "dev": true, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/is-alphanumerical": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-1.0.4.tgz", + "integrity": "sha512-UzoZUr+XfVz3t3v4KyGEniVL9BDRoQtY7tOyrRybkVNjDFWyo1yhXNGrrBTQxp3ib9BLAWs7k2YKBQsFRkZG9A==", + "dev": true, + "dependencies": { + "is-alphabetical": "^1.0.0", + "is-decimal": "^1.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/is-array-buffer": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.4.tgz", + "integrity": "sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==" + }, + "node_modules/is-async-function": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-async-function/-/is-async-function-2.0.0.tgz", + "integrity": "sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA==", + "dev": true, + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-bigint": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", + "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", + "dev": true, + "dependencies": { + "has-bigints": "^1.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-boolean-object": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", + "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" + }, + "node_modules/is-callable": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", + "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-ci": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-1.2.1.tgz", + "integrity": "sha512-s6tfsaQaQi3JNciBH6shVqEDvhGut0SUXr31ag8Pd8BBbVVlcGfWhpPmEOoM6RJ5TFhbypvf5yyRw/VXW1IiWg==", + "dev": true, + "dependencies": { + "ci-info": "^1.5.0" + }, + "bin": { + "is-ci": "bin.js" + } + }, + "node_modules/is-ci/node_modules/ci-info": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-1.6.0.tgz", + "integrity": "sha512-vsGdkwSCDpWmP80ncATX7iea5DWQemg1UgCW5J8tqjU3lYw4FBYuj89J0CTVomA7BEfvSZd84GmHko+MxFQU2A==", + "dev": true + }, + "node_modules/is-core-module": { + "version": "2.13.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz", + "integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==", + "dev": true, + "dependencies": { + "hasown": "^2.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-data-descriptor": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.1.tgz", + "integrity": "sha512-bc4NlCDiCr28U4aEsQ3Qs2491gVq4V8G7MQyws968ImqjKuYtTJXrl7Vq7jsN7Ly/C3xj5KWFrY7sHNeDkAzXw==", + "dev": true, + "dependencies": { + "hasown": "^2.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/is-data-view": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-data-view/-/is-data-view-1.0.1.tgz", + "integrity": "sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w==", + "dev": true, + "dependencies": { + "is-typed-array": "^1.1.13" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-date-object": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", + "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", + "dev": true, + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-decimal": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-decimal/-/is-decimal-1.0.4.tgz", + "integrity": "sha512-RGdriMmQQvZ2aqaQq3awNA6dCGtKpiDFcOzrTWrDAT2MiWrKQVPmxLGHl7Y2nNu6led0kEyoX0enY0qXYsv9zw==", + "dev": true, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/is-descriptor": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.3.tgz", + "integrity": "sha512-JCNNGbwWZEVaSPtS45mdtrneRWJFp07LLmykxeFV5F6oBvNF8vHSfJuJgoT472pSfk+Mf8VnlrspaFBHWM8JAw==", + "dev": true, + "dependencies": { + "is-accessor-descriptor": "^1.0.1", + "is-data-descriptor": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/is-directory": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/is-directory/-/is-directory-0.3.1.tgz", + "integrity": "sha512-yVChGzahRFvbkscn2MlwGismPO12i9+znNruC5gVEntG3qu0xQMzsGg/JFbrsqDOHtHFPci+V5aP5T9I+yeKqw==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-docker": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", + "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", + "bin": { + "is-docker": "cli.js" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-dom": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-dom/-/is-dom-1.1.0.tgz", + "integrity": "sha512-u82f6mvhYxRPKpw8V1N0W8ce1xXwOrQtgGcxl6UCL5zBmZu3is/18K0rR7uFCnMDuAsS/3W54mGL4vsaFUQlEQ==", + "dev": true, + "dependencies": { + "is-object": "^1.0.1", + "is-window": "^1.0.2" + } + }, + "node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-finalizationregistry": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-finalizationregistry/-/is-finalizationregistry-1.0.2.tgz", + "integrity": "sha512-0by5vtUJs8iFQb5TYUHHPudOR+qXYIMKtiUzvLIZITZUjknFmziyBJuLhVRc+Ds0dREFlskDNJKYIdIzu/9pfw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-generator-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz", + "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/is-generator-function": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz", + "integrity": "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==", + "dev": true, + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-hexadecimal": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-1.0.4.tgz", + "integrity": "sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw==", + "dev": true, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/is-installed-globally": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.1.0.tgz", + "integrity": "sha512-ERNhMg+i/XgDwPIPF3u24qpajVreaiSuvpb1Uu0jugw7KKcxGyCX8cgp8P5fwTmAuXku6beDHHECdKArjlg7tw==", + "dev": true, + "dependencies": { + "global-dirs": "^0.1.0", + "is-path-inside": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/is-interactive": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz", + "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-map": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.3.tgz", + "integrity": "sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-negative-zero": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.3.tgz", + "integrity": "sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-npm": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-npm/-/is-npm-1.0.0.tgz", + "integrity": "sha512-9r39FIr3d+KD9SbX0sfMsHzb5PP3uimOiwr3YupUaUFG4W0l1U57Rx3utpttV7qz5U3jmrO5auUa04LU9pyHsg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-number-object": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", + "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", + "dev": true, + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", + "integrity": "sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-object": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-object/-/is-object-1.0.2.tgz", + "integrity": "sha512-2rRIahhZr2UWb45fIOuvZGpFtz0TyOZLf32KxBbSoUCeZR495zCKlWUKKUByk3geS2eAs7ZAABt0Y/Rx0GiQGA==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-path-inside": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.1.tgz", + "integrity": "sha512-qhsCR/Esx4U4hg/9I19OVUAJkGWtjRYHMRgUMZE2TDdj+Ag+kttZanLupfddNyglzz50cUlmWzUaI37GDfNx/g==", + "dev": true, + "dependencies": { + "path-is-inside": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-plain-obj": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", + "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-potential-custom-element-name": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz", + "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==", + "dev": true + }, + "node_modules/is-promise": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.2.2.tgz", + "integrity": "sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ==", + "dev": true + }, + "node_modules/is-redirect": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-redirect/-/is-redirect-1.0.0.tgz", + "integrity": "sha512-cr/SlUEe5zOGmzvj9bUyC4LVvkNVAXu4GytXLNMr1pny+a65MpQ9IJzFHD5vi7FyJgb4qt27+eS3TuQnqB+RQw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-regex": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", + "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-regexp": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-regexp/-/is-regexp-1.0.0.tgz", + "integrity": "sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-retry-allowed": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-1.2.0.tgz", + "integrity": "sha512-RUbUeKwvm3XG2VYamhJL1xFktgjvPzL0Hq8C+6yrWIswDy3BIXGqCxhxkc30N9jqK311gVU137K8Ei55/zVJRg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-root": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-root/-/is-root-2.1.0.tgz", + "integrity": "sha512-AGOriNp96vNBd3HtU+RzFEc75FfR5ymiYv8E553I71SCeXBiMsVDUtdio1OEFvrPyLIQ9tVR5RxXIFe5PUFjMg==", + "engines": { + "node": ">=6" + } + }, + "node_modules/is-set": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.3.tgz", + "integrity": "sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-shared-array-buffer": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.3.tgz", + "integrity": "sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-ssh": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/is-ssh/-/is-ssh-1.4.0.tgz", + "integrity": "sha512-x7+VxdxOdlV3CYpjvRLBv5Lo9OJerlYanjwFrPR9fuGPjCiNiCzFgAWpiLAohSbsnH4ZAys3SBh+hq5rJosxUQ==", + "dev": true, + "dependencies": { + "protocols": "^2.0.1" + } + }, + "node_modules/is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-string": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", + "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", + "dev": true, + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-subset": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-subset/-/is-subset-0.1.1.tgz", + "integrity": "sha512-6Ybun0IkarhmEqxXCNw/C0bna6Zb/TkfUX9UbwJtK6ObwAVCxmAP308WWTHviM/zAqXk05cdhYsUsZeGQh99iw==", + "dev": true + }, + "node_modules/is-symbol": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", + "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", + "dev": true, + "dependencies": { + "has-symbols": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-typed-array": { + "version": "1.1.13", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.13.tgz", + "integrity": "sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==", + "dev": true, + "dependencies": { + "which-typed-array": "^1.1.14" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==", + "dev": true + }, + "node_modules/is-unicode-supported": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", + "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-url": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/is-url/-/is-url-1.2.4.tgz", + "integrity": "sha512-ITvGim8FhRiYe4IQ5uHSkj7pVaPDrCTkNd3yq3cV7iZAcJdHTUMPMEHcqSOy9xZ9qFenQCvi+2wjH9a1nXqHww==", + "dev": true + }, + "node_modules/is-utf8": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", + "integrity": "sha512-rMYPYvCzsXywIsldgLaSoPlw5PfoB/ssr7hY4pLfcodrA5M/eArza1a9VmTiNIBNMjOGr1Ow9mTyU2o69U6U9Q==", + "dev": true + }, + "node_modules/is-weakmap": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.2.tgz", + "integrity": "sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-weakref": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", + "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-weakset": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.3.tgz", + "integrity": "sha512-LvIm3/KWzS9oRFHugab7d+M/GcBXuXX5xZkzPmN+NxihdQlZUQ4dWuSV1xR/sq6upL1TJEDrfBgRepHFdBtSNQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "get-intrinsic": "^1.2.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-window": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-window/-/is-window-1.0.2.tgz", + "integrity": "sha512-uj00kdXyZb9t9RcAUAwMZAnkBUwdYGhYlt7djMXhfyhUCzwNba50tIiBKR7q0l7tdoBtFVw/3JmLY6fI3rmZmg==", + "dev": true + }, + "node_modules/is-windows": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-0.2.0.tgz", + "integrity": "sha512-n67eJYmXbniZB7RF4I/FTjK1s6RPOCTxhYrVYLRaCt3lF0mpWZPKr3T2LSZAqyjQsxR2qMmGYXXzK0YWwcPM1Q==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "dependencies": { + "is-docker": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-yarn-global": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/is-yarn-global/-/is-yarn-global-0.3.0.tgz", + "integrity": "sha512-VjSeb/lHmkoyd8ryPVIKvOCn4D1koMqY+vqyjjUfc3xyKtP4dYOxM44sZrnqQSzSds3xyOrUTLTC9LVCVgLngw==", + "dev": true + }, + "node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" + }, + "node_modules/isbinaryfile": { + "version": "4.0.10", + "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-4.0.10.tgz", + "integrity": "sha512-iHrqe5shvBUcFbmZq9zOQHBoeOhZJu6RQGrDpBgenUm/Am+F3JM2MgQj+rK3Z601fzrL5gLZWtAPH2OBaSVcyw==", + "dev": true, + "engines": { + "node": ">= 8.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/gjtorikian/" + } + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" + }, + "node_modules/isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/isomorphic-fetch": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz", + "integrity": "sha512-9c4TNAKYXM5PRyVcwUZrF3W09nQ+sO7+jydgs4ZGW9dhsLG2VOlISJABombdQqQRXCwuYG3sYV/puGf5rp0qmA==", + "dependencies": { + "node-fetch": "^1.0.1", + "whatwg-fetch": ">=0.10.0" + } + }, + "node_modules/isomorphic-fetch/node_modules/is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/isomorphic-fetch/node_modules/node-fetch": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-1.7.3.tgz", + "integrity": "sha512-NhZ4CsKx7cYm2vSrBAr2PvFOe6sWDf0UYLRqA6svUYg7+/TSfVAu49jYC4BvQ4Sms9SZgdqGBgroqfDhJdTyKQ==", + "dependencies": { + "encoding": "^0.1.11", + "is-stream": "^1.0.1" + } + }, + "node_modules/isstream": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==", + "dev": true + }, + "node_modules/istanbul-lib-coverage": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz", + "integrity": "sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-instrument": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz", + "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==", + "dev": true, + "dependencies": { + "@babel/core": "^7.12.3", + "@babel/parser": "^7.14.7", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-coverage": "^3.2.0", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-instrument/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/istanbul-lib-report": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz", + "integrity": "sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==", + "dev": true, + "dependencies": { + "istanbul-lib-coverage": "^3.0.0", + "make-dir": "^4.0.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/istanbul-lib-report/node_modules/make-dir": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz", + "integrity": "sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==", + "dev": true, + "dependencies": { + "semver": "^7.5.3" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/istanbul-lib-source-maps": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", + "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", + "dev": true, + "dependencies": { + "debug": "^4.1.1", + "istanbul-lib-coverage": "^3.0.0", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/istanbul-reports": { + "version": "3.1.7", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.7.tgz", + "integrity": "sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==", + "dev": true, + "dependencies": { + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/istextorbinary": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/istextorbinary/-/istextorbinary-2.6.0.tgz", + "integrity": "sha512-+XRlFseT8B3L9KyjxxLjfXSLMuErKDsd8DBNrsaxoViABMEZlOSCstwmw0qpoFX3+U6yWU1yhLudAe6/lETGGA==", + "dev": true, + "dependencies": { + "binaryextensions": "^2.1.2", + "editions": "^2.2.0", + "textextensions": "^2.5.0" + }, + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://bevry.me/fund" + } + }, + "node_modules/iterator.prototype": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/iterator.prototype/-/iterator.prototype-1.1.2.tgz", + "integrity": "sha512-DR33HMMr8EzwuRL8Y9D3u2BMj8+RqSE850jfGu59kS7tbmPLzGkZmVSfyCFSDxuZiEY6Rzt3T2NA/qU+NwVj1w==", + "dev": true, + "dependencies": { + "define-properties": "^1.2.1", + "get-intrinsic": "^1.2.1", + "has-symbols": "^1.0.3", + "reflect.getprototypeof": "^1.0.4", + "set-function-name": "^2.0.1" + } + }, + "node_modules/javascript-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/javascript-stringify/-/javascript-stringify-2.1.0.tgz", + "integrity": "sha512-JVAfqNPTvNq3sB/VHQJAFxN/sPgKnsKrCwyRt15zwNCdrMMJDdcEOdubuy+DuJYYdm0ox1J4uzEuYKkN+9yhVg==" + }, + "node_modules/jest": { + "version": "26.6.3", + "resolved": "https://registry.npmjs.org/jest/-/jest-26.6.3.tgz", + "integrity": "sha512-lGS5PXGAzR4RF7V5+XObhqz2KZIDUA1yD0DG6pBVmy10eh0ZIXQImRuzocsI/N2XZ1GrLFwTS27In2i2jlpq1Q==", + "dev": true, + "dependencies": { + "@jest/core": "^26.6.3", + "import-local": "^3.0.2", + "jest-cli": "^26.6.3" + }, + "bin": { + "jest": "bin/jest.js" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/jest-changed-files": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-26.6.2.tgz", + "integrity": "sha512-fDS7szLcY9sCtIip8Fjry9oGf3I2ht/QT21bAHm5Dmf0mD4X3ReNUf17y+bO6fR8WgbIZTlbyG1ak/53cbRzKQ==", + "dev": true, + "dependencies": { + "@jest/types": "^26.6.2", + "execa": "^4.0.0", + "throat": "^5.0.0" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/jest-changed-files/node_modules/execa": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-4.1.0.tgz", + "integrity": "sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==", + "dev": true, + "dependencies": { + "cross-spawn": "^7.0.0", + "get-stream": "^5.0.0", + "human-signals": "^1.1.1", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.0", + "onetime": "^5.1.0", + "signal-exit": "^3.0.2", + "strip-final-newline": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/jest-changed-files/node_modules/get-stream": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", + "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", + "dev": true, + "dependencies": { + "pump": "^3.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/jest-changed-files/node_modules/human-signals": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz", + "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==", + "dev": true, + "engines": { + "node": ">=8.12.0" + } + }, + "node_modules/jest-changed-files/node_modules/pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "dev": true, + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "node_modules/jest-cli": { + "version": "26.6.3", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-26.6.3.tgz", + "integrity": "sha512-GF9noBSa9t08pSyl3CY4frMrqp+aQXFGFkf5hEPbh/pIUFYWMK6ZLTfbmadxJVcJrdRoChlWQsA2VkJcDFK8hg==", + "dev": true, + "dependencies": { + "@jest/core": "^26.6.3", + "@jest/test-result": "^26.6.2", + "@jest/types": "^26.6.2", + "chalk": "^4.0.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.4", + "import-local": "^3.0.2", + "is-ci": "^2.0.0", + "jest-config": "^26.6.3", + "jest-util": "^26.6.2", + "jest-validate": "^26.6.2", + "prompts": "^2.0.1", + "yargs": "^15.4.1" + }, + "bin": { + "jest": "bin/jest.js" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/jest-cli/node_modules/is-ci": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz", + "integrity": "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==", + "dev": true, + "dependencies": { + "ci-info": "^2.0.0" + }, + "bin": { + "is-ci": "bin.js" + } + }, + "node_modules/jest-config": { + "version": "26.6.3", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-26.6.3.tgz", + "integrity": "sha512-t5qdIj/bCj2j7NFVHb2nFB4aUdfucDn3JRKgrZnplb8nieAirAzRSHP8uDEd+qV6ygzg9Pz4YG7UTJf94LPSyg==", + "dev": true, + "dependencies": { + "@babel/core": "^7.1.0", + "@jest/test-sequencer": "^26.6.3", + "@jest/types": "^26.6.2", + "babel-jest": "^26.6.3", + "chalk": "^4.0.0", + "deepmerge": "^4.2.2", + "glob": "^7.1.1", + "graceful-fs": "^4.2.4", + "jest-environment-jsdom": "^26.6.2", + "jest-environment-node": "^26.6.2", + "jest-get-type": "^26.3.0", + "jest-jasmine2": "^26.6.3", + "jest-regex-util": "^26.0.0", + "jest-resolve": "^26.6.2", + "jest-util": "^26.6.2", + "jest-validate": "^26.6.2", + "micromatch": "^4.0.2", + "pretty-format": "^26.6.2" + }, + "engines": { + "node": ">= 10.14.2" + }, + "peerDependencies": { + "ts-node": ">=9.0.0" + }, + "peerDependenciesMeta": { + "ts-node": { + "optional": true + } + } + }, + "node_modules/jest-diff": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-26.6.2.tgz", + "integrity": "sha512-6m+9Z3Gv9wN0WFVasqjCL/06+EFCMTqDEUl/b87HYK2rAPTyfz4ZIuSlPhY51PIQRWx5TaxeF1qmXKe9gfN3sA==", + "dev": true, + "dependencies": { + "chalk": "^4.0.0", + "diff-sequences": "^26.6.2", + "jest-get-type": "^26.3.0", + "pretty-format": "^26.6.2" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/jest-docblock": { + "version": "26.0.0", + "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-26.0.0.tgz", + "integrity": "sha512-RDZ4Iz3QbtRWycd8bUEPxQsTlYazfYn/h5R65Fc6gOfwozFhoImx+affzky/FFBuqISPTqjXomoIGJVKBWoo0w==", + "dev": true, + "dependencies": { + "detect-newline": "^3.0.0" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/jest-each": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-26.6.2.tgz", + "integrity": "sha512-Mer/f0KaATbjl8MCJ+0GEpNdqmnVmDYqCTJYTvoo7rqmRiDllmp2AYN+06F93nXcY3ur9ShIjS+CO/uD+BbH4A==", + "dev": true, + "dependencies": { + "@jest/types": "^26.6.2", + "chalk": "^4.0.0", + "jest-get-type": "^26.3.0", + "jest-util": "^26.6.2", + "pretty-format": "^26.6.2" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/jest-environment-jsdom": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-26.6.2.tgz", + "integrity": "sha512-jgPqCruTlt3Kwqg5/WVFyHIOJHsiAvhcp2qiR2QQstuG9yWox5+iHpU3ZrcBxW14T4fe5Z68jAfLRh7joCSP2Q==", + "dev": true, + "dependencies": { + "@jest/environment": "^26.6.2", + "@jest/fake-timers": "^26.6.2", + "@jest/types": "^26.6.2", + "@types/node": "*", + "jest-mock": "^26.6.2", + "jest-util": "^26.6.2", + "jsdom": "^16.4.0" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/jest-environment-node": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-26.6.2.tgz", + "integrity": "sha512-zhtMio3Exty18dy8ee8eJ9kjnRyZC1N4C1Nt/VShN1apyXc8rWGtJ9lI7vqiWcyyXS4BVSEn9lxAM2D+07/Tag==", + "dev": true, + "dependencies": { + "@jest/environment": "^26.6.2", + "@jest/fake-timers": "^26.6.2", + "@jest/types": "^26.6.2", + "@types/node": "*", + "jest-mock": "^26.6.2", + "jest-util": "^26.6.2" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/jest-get-type": { + "version": "26.3.0", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-26.3.0.tgz", + "integrity": "sha512-TpfaviN1R2pQWkIihlfEanwOXK0zcxrKEE4MlU6Tn7keoXdN6/3gK/xl0yEh8DOunn5pOVGKf8hB4R9gVh04ig==", + "dev": true, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/jest-haste-map": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-26.6.2.tgz", + "integrity": "sha512-easWIJXIw71B2RdR8kgqpjQrbMRWQBgiBwXYEhtGUTaX+doCjBheluShdDMeR8IMfJiTqH4+zfhtg29apJf/8w==", + "dev": true, + "dependencies": { + "@jest/types": "^26.6.2", + "@types/graceful-fs": "^4.1.2", + "@types/node": "*", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "graceful-fs": "^4.2.4", + "jest-regex-util": "^26.0.0", + "jest-serializer": "^26.6.2", + "jest-util": "^26.6.2", + "jest-worker": "^26.6.2", + "micromatch": "^4.0.2", + "sane": "^4.0.3", + "walker": "^1.0.7" + }, + "engines": { + "node": ">= 10.14.2" + }, + "optionalDependencies": { + "fsevents": "^2.1.2" + } + }, + "node_modules/jest-haste-map/node_modules/jest-worker": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-26.6.2.tgz", + "integrity": "sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==", + "dev": true, + "dependencies": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^7.0.0" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/jest-jasmine2": { + "version": "26.6.3", + "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-26.6.3.tgz", + "integrity": "sha512-kPKUrQtc8aYwBV7CqBg5pu+tmYXlvFlSFYn18ev4gPFtrRzB15N2gW/Roew3187q2w2eHuu0MU9TJz6w0/nPEg==", + "dev": true, + "dependencies": { + "@babel/traverse": "^7.1.0", + "@jest/environment": "^26.6.2", + "@jest/source-map": "^26.6.2", + "@jest/test-result": "^26.6.2", + "@jest/types": "^26.6.2", + "@types/node": "*", + "chalk": "^4.0.0", + "co": "^4.6.0", + "expect": "^26.6.2", + "is-generator-fn": "^2.0.0", + "jest-each": "^26.6.2", + "jest-matcher-utils": "^26.6.2", + "jest-message-util": "^26.6.2", + "jest-runtime": "^26.6.3", + "jest-snapshot": "^26.6.2", + "jest-util": "^26.6.2", + "pretty-format": "^26.6.2", + "throat": "^5.0.0" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/jest-leak-detector": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-26.6.2.tgz", + "integrity": "sha512-i4xlXpsVSMeKvg2cEKdfhh0H39qlJlP5Ex1yQxwF9ubahboQYMgTtz5oML35AVA3B4Eu+YsmwaiKVev9KCvLxg==", + "dev": true, + "dependencies": { + "jest-get-type": "^26.3.0", + "pretty-format": "^26.6.2" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/jest-matcher-utils": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-26.6.2.tgz", + "integrity": "sha512-llnc8vQgYcNqDrqRDXWwMr9i7rS5XFiCwvh6DTP7Jqa2mqpcCBBlpCbn+trkG0KNhPu/h8rzyBkriOtBstvWhw==", + "dev": true, + "dependencies": { + "chalk": "^4.0.0", + "jest-diff": "^26.6.2", + "jest-get-type": "^26.3.0", + "pretty-format": "^26.6.2" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/jest-message-util": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-26.6.2.tgz", + "integrity": "sha512-rGiLePzQ3AzwUshu2+Rn+UMFk0pHN58sOG+IaJbk5Jxuqo3NYO1U2/MIR4S1sKgsoYSXSzdtSa0TgrmtUwEbmA==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.0.0", + "@jest/types": "^26.6.2", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.4", + "micromatch": "^4.0.2", + "pretty-format": "^26.6.2", + "slash": "^3.0.0", + "stack-utils": "^2.0.2" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/jest-mock": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-26.6.2.tgz", + "integrity": "sha512-YyFjePHHp1LzpzYcmgqkJ0nm0gg/lJx2aZFzFy1S6eUqNjXsOqTK10zNRff2dNfssgokjkG65OlWNcIlgd3zew==", + "dev": true, + "dependencies": { + "@jest/types": "^26.6.2", + "@types/node": "*" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/jest-pnp-resolver": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz", + "integrity": "sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==", + "dev": true, + "engines": { + "node": ">=6" + }, + "peerDependencies": { + "jest-resolve": "*" + }, + "peerDependenciesMeta": { + "jest-resolve": { + "optional": true + } + } + }, + "node_modules/jest-regex-util": { + "version": "26.0.0", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-26.0.0.tgz", + "integrity": "sha512-Gv3ZIs/nA48/Zvjrl34bf+oD76JHiGDUxNOVgUjh3j890sblXryjY4rss71fPtD/njchl6PSE2hIhvyWa1eT0A==", + "dev": true, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/jest-resolve": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-26.6.2.tgz", + "integrity": "sha512-sOxsZOq25mT1wRsfHcbtkInS+Ek7Q8jCHUB0ZUTP0tc/c41QHriU/NunqMfCUWsL4H3MHpvQD4QR9kSYhS7UvQ==", + "dev": true, + "dependencies": { + "@jest/types": "^26.6.2", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.4", + "jest-pnp-resolver": "^1.2.2", + "jest-util": "^26.6.2", + "read-pkg-up": "^7.0.1", + "resolve": "^1.18.1", + "slash": "^3.0.0" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/jest-resolve-dependencies": { + "version": "26.6.3", + "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-26.6.3.tgz", + "integrity": "sha512-pVwUjJkxbhe4RY8QEWzN3vns2kqyuldKpxlxJlzEYfKSvY6/bMvxoFrYYzUO1Gx28yKWN37qyV7rIoIp2h8fTg==", + "dev": true, + "dependencies": { + "@jest/types": "^26.6.2", + "jest-regex-util": "^26.0.0", + "jest-snapshot": "^26.6.2" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/jest-runner": { + "version": "26.6.3", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-26.6.3.tgz", + "integrity": "sha512-atgKpRHnaA2OvByG/HpGA4g6CSPS/1LK0jK3gATJAoptC1ojltpmVlYC3TYgdmGp+GLuhzpH30Gvs36szSL2JQ==", + "dev": true, + "dependencies": { + "@jest/console": "^26.6.2", + "@jest/environment": "^26.6.2", + "@jest/test-result": "^26.6.2", + "@jest/types": "^26.6.2", + "@types/node": "*", + "chalk": "^4.0.0", + "emittery": "^0.7.1", + "exit": "^0.1.2", + "graceful-fs": "^4.2.4", + "jest-config": "^26.6.3", + "jest-docblock": "^26.0.0", + "jest-haste-map": "^26.6.2", + "jest-leak-detector": "^26.6.2", + "jest-message-util": "^26.6.2", + "jest-resolve": "^26.6.2", + "jest-runtime": "^26.6.3", + "jest-util": "^26.6.2", + "jest-worker": "^26.6.2", + "source-map-support": "^0.5.6", + "throat": "^5.0.0" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/jest-runner/node_modules/jest-worker": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-26.6.2.tgz", + "integrity": "sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==", + "dev": true, + "dependencies": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^7.0.0" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/jest-runtime": { + "version": "26.6.3", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-26.6.3.tgz", + "integrity": "sha512-lrzyR3N8sacTAMeonbqpnSka1dHNux2uk0qqDXVkMv2c/A3wYnvQ4EXuI013Y6+gSKSCxdaczvf4HF0mVXHRdw==", + "dev": true, + "dependencies": { + "@jest/console": "^26.6.2", + "@jest/environment": "^26.6.2", + "@jest/fake-timers": "^26.6.2", + "@jest/globals": "^26.6.2", + "@jest/source-map": "^26.6.2", + "@jest/test-result": "^26.6.2", + "@jest/transform": "^26.6.2", + "@jest/types": "^26.6.2", + "@types/yargs": "^15.0.0", + "chalk": "^4.0.0", + "cjs-module-lexer": "^0.6.0", + "collect-v8-coverage": "^1.0.0", + "exit": "^0.1.2", + "glob": "^7.1.3", + "graceful-fs": "^4.2.4", + "jest-config": "^26.6.3", + "jest-haste-map": "^26.6.2", + "jest-message-util": "^26.6.2", + "jest-mock": "^26.6.2", + "jest-regex-util": "^26.0.0", + "jest-resolve": "^26.6.2", + "jest-snapshot": "^26.6.2", + "jest-util": "^26.6.2", + "jest-validate": "^26.6.2", + "slash": "^3.0.0", + "strip-bom": "^4.0.0", + "yargs": "^15.4.1" + }, + "bin": { + "jest-runtime": "bin/jest-runtime.js" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/jest-serializer": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-26.6.2.tgz", + "integrity": "sha512-S5wqyz0DXnNJPd/xfIzZ5Xnp1HrJWBczg8mMfMpN78OJ5eDxXyf+Ygld9wX1DnUWbIbhM1YDY95NjR4CBXkb2g==", + "dev": true, + "dependencies": { + "@types/node": "*", + "graceful-fs": "^4.2.4" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/jest-snapshot": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-26.6.2.tgz", + "integrity": "sha512-OLhxz05EzUtsAmOMzuupt1lHYXCNib0ECyuZ/PZOx9TrZcC8vL0x+DUG3TL+GLX3yHG45e6YGjIm0XwDc3q3og==", + "dev": true, + "dependencies": { + "@babel/types": "^7.0.0", + "@jest/types": "^26.6.2", + "@types/babel__traverse": "^7.0.4", + "@types/prettier": "^2.0.0", + "chalk": "^4.0.0", + "expect": "^26.6.2", + "graceful-fs": "^4.2.4", + "jest-diff": "^26.6.2", + "jest-get-type": "^26.3.0", + "jest-haste-map": "^26.6.2", + "jest-matcher-utils": "^26.6.2", + "jest-message-util": "^26.6.2", + "jest-resolve": "^26.6.2", + "natural-compare": "^1.4.0", + "pretty-format": "^26.6.2", + "semver": "^7.3.2" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/jest-util": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-26.6.2.tgz", + "integrity": "sha512-MDW0fKfsn0OI7MS7Euz6h8HNDXVQ0gaM9uW6RjfDmd1DAFcaxX9OqIakHIqhbnmF08Cf2DLDG+ulq8YQQ0Lp0Q==", + "dev": true, + "dependencies": { + "@jest/types": "^26.6.2", + "@types/node": "*", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.4", + "is-ci": "^2.0.0", + "micromatch": "^4.0.2" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/jest-util/node_modules/is-ci": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz", + "integrity": "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==", + "dev": true, + "dependencies": { + "ci-info": "^2.0.0" + }, + "bin": { + "is-ci": "bin.js" + } + }, + "node_modules/jest-validate": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-26.6.2.tgz", + "integrity": "sha512-NEYZ9Aeyj0i5rQqbq+tpIOom0YS1u2MVu6+euBsvpgIme+FOfRmoC4R5p0JiAUpaFvFy24xgrpMknarR/93XjQ==", + "dev": true, + "dependencies": { + "@jest/types": "^26.6.2", + "camelcase": "^6.0.0", + "chalk": "^4.0.0", + "jest-get-type": "^26.3.0", + "leven": "^3.1.0", + "pretty-format": "^26.6.2" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/jest-validate/node_modules/camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/jest-watcher": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-26.6.2.tgz", + "integrity": "sha512-WKJob0P/Em2csiVthsI68p6aGKTIcsfjH9Gsx1f0A3Italz43e3ho0geSAVsmj09RWOELP1AZ/DXyJgOgDKxXQ==", + "dev": true, + "dependencies": { + "@jest/test-result": "^26.6.2", + "@jest/types": "^26.6.2", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "jest-util": "^26.6.2", + "string-length": "^4.0.1" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/jest-worker": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-24.9.0.tgz", + "integrity": "sha512-51PE4haMSXcHohnSMdM42anbvZANYTqMrr52tVKPqqsPJMzoP6FYYDVqahX/HrAoKEKz3uUPzSvKs9A3qR4iVw==", + "dependencies": { + "merge-stream": "^2.0.0", + "supports-color": "^6.1.0" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/jest-worker/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "engines": { + "node": ">=4" + } + }, + "node_modules/jest-worker/node_modules/supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/joycon": { + "version": "2.2.5", + "resolved": "https://registry.npmjs.org/joycon/-/joycon-2.2.5.tgz", + "integrity": "sha512-YqvUxoOcVPnCp0VU1/56f+iKSdvIRJYPznH22BdXV3xMk75SFXhWeJkZ8C9XxUWt1b5x2X1SxuFygW1U0FmkEQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/js-file-download": { + "version": "0.4.12", + "resolved": "https://registry.npmjs.org/js-file-download/-/js-file-download-0.4.12.tgz", + "integrity": "sha512-rML+NkoD08p5Dllpjo0ffy4jRHeY6Zsapvr/W86N7E0yuzAO6qa5X9+xog6zQNlH102J7IXljNY2FtS6Lj3ucg==", + "dev": true + }, + "node_modules/js-levenshtein": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/js-levenshtein/-/js-levenshtein-1.1.6.tgz", + "integrity": "sha512-X2BB11YZtrRqY4EnQcLX5Rh373zbK4alC1FW7D7MBhL2gtcC17cTnr6DmfHZeS0s2rTHjUTMMHfG7gO8SSdw+g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" + }, + "node_modules/js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "integrity": "sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==", + "dev": true + }, + "node_modules/jsdom": { + "version": "16.7.0", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-16.7.0.tgz", + "integrity": "sha512-u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw==", + "dev": true, + "dependencies": { + "abab": "^2.0.5", + "acorn": "^8.2.4", + "acorn-globals": "^6.0.0", + "cssom": "^0.4.4", + "cssstyle": "^2.3.0", + "data-urls": "^2.0.0", + "decimal.js": "^10.2.1", + "domexception": "^2.0.1", + "escodegen": "^2.0.0", + "form-data": "^3.0.0", + "html-encoding-sniffer": "^2.0.1", + "http-proxy-agent": "^4.0.1", + "https-proxy-agent": "^5.0.0", + "is-potential-custom-element-name": "^1.0.1", + "nwsapi": "^2.2.0", + "parse5": "6.0.1", + "saxes": "^5.0.1", + "symbol-tree": "^3.2.4", + "tough-cookie": "^4.0.0", + "w3c-hr-time": "^1.0.2", + "w3c-xmlserializer": "^2.0.0", + "webidl-conversions": "^6.1.0", + "whatwg-encoding": "^1.0.5", + "whatwg-mimetype": "^2.3.0", + "whatwg-url": "^8.5.0", + "ws": "^7.4.6", + "xml-name-validator": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "canvas": "^2.5.0" + }, + "peerDependenciesMeta": { + "canvas": { + "optional": true + } + } + }, + "node_modules/jsdom-global": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/jsdom-global/-/jsdom-global-3.0.2.tgz", + "integrity": "sha512-t1KMcBkz/pT5JrvcJbpUR2u/w1kO9jXctaaGJ0vZDzwFnIvGWw9IDSRciT83kIs8Bnw4qpOl8bQK08V01YgMPg==", + "dev": true, + "peerDependencies": { + "jsdom": ">=10.0.0" + } + }, + "node_modules/jsdom/node_modules/acorn": { + "version": "8.11.3", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz", + "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/jsdom/node_modules/form-data": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz", + "integrity": "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==", + "dev": true, + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/jsdom/node_modules/parse5": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", + "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==", + "dev": true + }, + "node_modules/jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/json-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", + "dev": true + }, + "node_modules/json-parse-better-errors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", + "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==" + }, + "node_modules/json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==" + }, + "node_modules/json-schema": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", + "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==", + "dev": true + }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" + }, + "node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", + "dev": true + }, + "node_modules/json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==", + "dev": true + }, + "node_modules/json2mq": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/json2mq/-/json2mq-0.2.0.tgz", + "integrity": "sha512-SzoRg7ux5DWTII9J2qkrZrqV1gt+rTaoufMxEzXbS26Uid0NwaJd123HcoB80TgubEppxxIGdNxCx50fEoEWQA==", + "dependencies": { + "string-convert": "^0.2.0" + } + }, + "node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/jsonfile": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-3.0.1.tgz", + "integrity": "sha512-oBko6ZHlubVB5mRFkur5vgYR1UyqX+S6Y/oCfLhqNdcc2fYFlDpIoNc7AfKS1KOGcnNAkvsr0grLck9ANM815w==", + "dev": true, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/jsprim": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.2.tgz", + "integrity": "sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==", + "dev": true, + "dependencies": { + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.4.0", + "verror": "1.10.0" + }, + "engines": { + "node": ">=0.6.0" + } + }, + "node_modules/jsx-ast-utils": { + "version": "3.3.5", + "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz", + "integrity": "sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==", + "dev": true, + "dependencies": { + "array-includes": "^3.1.6", + "array.prototype.flat": "^1.3.1", + "object.assign": "^4.1.4", + "object.values": "^1.1.6" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/katex": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/katex/-/katex-0.12.0.tgz", + "integrity": "sha512-y+8btoc/CK70XqcHqjxiGWBOeIL8upbS0peTPXTvgrh21n1RiWWcIpSWM+4uXq+IAgNh9YYQWdc7LVDPDAEEAg==", + "dev": true, + "dependencies": { + "commander": "^2.19.0" + }, + "bin": { + "katex": "cli.js" + } + }, + "node_modules/kebab-case": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/kebab-case/-/kebab-case-1.0.2.tgz", + "integrity": "sha512-7n6wXq4gNgBELfDCpzKc+mRrZFs7D+wgfF5WRFLNAr4DA/qtr9Js8uOAVAfHhuLMfAcQ0pRKqbpjx+TcJVdE1Q==", + "dev": true + }, + "node_modules/keyv": { + "version": "4.5.4", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", + "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", + "dev": true, + "dependencies": { + "json-buffer": "3.0.1" + } + }, + "node_modules/kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/kleur": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", + "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", + "engines": { + "node": ">=6" + } + }, + "node_modules/known-css-properties": { + "version": "0.21.0", + "resolved": "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.21.0.tgz", + "integrity": "sha512-sZLUnTqimCkvkgRS+kbPlYW5o8q5w1cu+uIisKpEWkj31I8mx8kNG162DwRav8Zirkva6N5uoFsm9kzK4mUXjw==", + "dev": true + }, + "node_modules/latest-version": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/latest-version/-/latest-version-3.1.0.tgz", + "integrity": "sha512-Be1YRHWWlZaSsrz2U+VInk+tO0EwLIyV+23RhWLINJYwg/UIikxjlj3MhH37/6/EDCAusjajvMkMMUXRaMWl/w==", + "dev": true, + "dependencies": { + "package-json": "^4.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/lazy-cache": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz", + "integrity": "sha512-RE2g0b5VGZsOCFOCgP7omTRYFqydmZkBwl5oNnQ1lDYC57uyO9KqNnNVxT7COSHTxrRCWVcAVOcbjk+tvh/rgQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/lcid": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/lcid/-/lcid-3.1.1.tgz", + "integrity": "sha512-M6T051+5QCGLBQb8id3hdvIW8+zeFV2FyBGFS9IEK5H9Wt4MueD4bW1eWikpHgZp+5xR3l5c8pZUkQsIA0BFZg==", + "dev": true, + "dependencies": { + "invert-kv": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/leven": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", + "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dev": true, + "dependencies": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==" + }, + "node_modules/lint-staged": { + "version": "10.5.4", + "resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-10.5.4.tgz", + "integrity": "sha512-EechC3DdFic/TdOPgj/RB3FicqE6932LTHCUm0Y2fsD9KGlLB+RwJl2q1IYBIvEsKzDOgn0D4gll+YxG5RsrKg==", + "dev": true, + "dependencies": { + "chalk": "^4.1.0", + "cli-truncate": "^2.1.0", + "commander": "^6.2.0", + "cosmiconfig": "^7.0.0", + "debug": "^4.2.0", + "dedent": "^0.7.0", + "enquirer": "^2.3.6", + "execa": "^4.1.0", + "listr2": "^3.2.2", + "log-symbols": "^4.0.0", + "micromatch": "^4.0.2", + "normalize-path": "^3.0.0", + "please-upgrade-node": "^3.2.0", + "string-argv": "0.3.1", + "stringify-object": "^3.3.0" + }, + "bin": { + "lint-staged": "bin/lint-staged.js" + }, + "funding": { + "url": "https://opencollective.com/lint-staged" + } + }, + "node_modules/lint-staged/node_modules/commander": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-6.2.1.tgz", + "integrity": "sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/lint-staged/node_modules/execa": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-4.1.0.tgz", + "integrity": "sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==", + "dev": true, + "dependencies": { + "cross-spawn": "^7.0.0", + "get-stream": "^5.0.0", + "human-signals": "^1.1.1", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.0", + "onetime": "^5.1.0", + "signal-exit": "^3.0.2", + "strip-final-newline": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/lint-staged/node_modules/get-stream": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", + "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", + "dev": true, + "dependencies": { + "pump": "^3.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lint-staged/node_modules/human-signals": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz", + "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==", + "dev": true, + "engines": { + "node": ">=8.12.0" + } + }, + "node_modules/lint-staged/node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/lint-staged/node_modules/pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "dev": true, + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "node_modules/listr2": { + "version": "3.14.0", + "resolved": "https://registry.npmjs.org/listr2/-/listr2-3.14.0.tgz", + "integrity": "sha512-TyWI8G99GX9GjE54cJ+RrNMcIFBfwMPxc3XTFiAYGN4s10hWROGtOg7+O6u6LE3mNkyld7RSLE6nrKBvTfcs3g==", + "dev": true, + "dependencies": { + "cli-truncate": "^2.1.0", + "colorette": "^2.0.16", + "log-update": "^4.0.0", + "p-map": "^4.0.0", + "rfdc": "^1.3.0", + "rxjs": "^7.5.1", + "through": "^2.3.8", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "enquirer": ">= 2.3.0 < 3" + }, + "peerDependenciesMeta": { + "enquirer": { + "optional": true + } + } + }, + "node_modules/listr2/node_modules/rxjs": { + "version": "7.8.1", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz", + "integrity": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==", + "dev": true, + "dependencies": { + "tslib": "^2.1.0" + } + }, + "node_modules/load-json-file": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", + "integrity": "sha512-Kx8hMakjX03tiGTLAIdJ+lL0htKnXjEZN6hk/tozf/WOuYGdZBJrZ+rCJRbVCugsjB3jMLn9746NsQIf5VjBMw==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.1.2", + "parse-json": "^4.0.0", + "pify": "^3.0.0", + "strip-bom": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/load-json-file/node_modules/parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==", + "dev": true, + "dependencies": { + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/load-json-file/node_modules/strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/loader-utils": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz", + "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==", + "dependencies": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + }, + "engines": { + "node": ">=8.9.0" + } + }, + "node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + }, + "node_modules/lodash-es": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.21.tgz", + "integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==", + "dev": true + }, + "node_modules/lodash.debounce": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", + "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==", + "dev": true + }, + "node_modules/lodash.escape": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/lodash.escape/-/lodash.escape-4.0.1.tgz", + "integrity": "sha512-nXEOnb/jK9g0DYMr1/Xvq6l5xMD7GDG55+GSYIYmS0G4tBk/hURD4JR9WCavs04t33WmJx9kCyp9vJ+mr4BOUw==", + "dev": true + }, + "node_modules/lodash.flattendeep": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.flattendeep/-/lodash.flattendeep-4.4.0.tgz", + "integrity": "sha512-uHaJFihxmJcEX3kT4I23ABqKKalJ/zDrDg0lsFtc1h+3uw49SIJ5beyhx5ExVRti3AvKoOJngIj7xz3oylPdWQ==", + "dev": true + }, + "node_modules/lodash.get": { + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz", + "integrity": "sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==", + "dev": true + }, + "node_modules/lodash.groupby": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/lodash.groupby/-/lodash.groupby-4.6.0.tgz", + "integrity": "sha512-5dcWxm23+VAoz+awKmBaiBvzox8+RqMgFhi7UvX9DHZr2HdxHXM/Wrf8cfKpsW37RNrvtPn6hSwNqurSILbmJw==", + "dev": true + }, + "node_modules/lodash.isequal": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz", + "integrity": "sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==" + }, + "node_modules/lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==" + }, + "node_modules/lodash.omit": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.omit/-/lodash.omit-4.5.0.tgz", + "integrity": "sha512-XeqSp49hNGmlkj2EJlfrQFIzQ6lXdNro9sddtQzcJY8QaoC2GO0DT7xaIokHeyM+mIT0mPMlPvkYzg2xCuHdZg==" + }, + "node_modules/lodash.throttle": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.throttle/-/lodash.throttle-4.1.1.tgz", + "integrity": "sha512-wIkUCfVKpVsWo3JSZlc+8MB5it+2AN5W8J7YVMST30UrvcQNZ1Okbj+rbVniijTWE6FGYy4XJq/rHkas8qJMLQ==", + "dev": true + }, + "node_modules/lodash.tonumber": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/lodash.tonumber/-/lodash.tonumber-4.0.3.tgz", + "integrity": "sha512-SY0SwuPOHRwKcCNTdsntPYb+Zddz5mDUIVFABzRMqmAiL41pMeyoQFGxYAw5zdc9NnH4pbJqiqqp5ckfxa+zSA==" + }, + "node_modules/lodash.truncate": { + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz", + "integrity": "sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw==", + "dev": true + }, + "node_modules/lodash.zip": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/lodash.zip/-/lodash.zip-4.2.0.tgz", + "integrity": "sha512-C7IOaBBK/0gMORRBd8OETNx3kmOkgIWIPvyDpZSCTwUrpYmgZwJkjZeOD8ww4xbOUOs4/attY+pciKvadNfFbg==", + "dev": true + }, + "node_modules/log-symbols": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", + "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", + "dev": true, + "dependencies": { + "chalk": "^4.1.0", + "is-unicode-supported": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/log-update": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/log-update/-/log-update-4.0.0.tgz", + "integrity": "sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg==", + "dev": true, + "dependencies": { + "ansi-escapes": "^4.3.0", + "cli-cursor": "^3.1.0", + "slice-ansi": "^4.0.0", + "wrap-ansi": "^6.2.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/log-update/node_modules/cli-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", + "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", + "dev": true, + "dependencies": { + "restore-cursor": "^3.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/log-update/node_modules/restore-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", + "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", + "dev": true, + "dependencies": { + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/log-update/node_modules/slice-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", + "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/slice-ansi?sponsor=1" + } + }, + "node_modules/log-update/node_modules/wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/log4js": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/log4js/-/log4js-1.1.1.tgz", + "integrity": "sha512-lYb14ZSs1M/CUFuvy7Zk3VZLDtqrqOaVql9CE0tv8g6/qE1Gfq97XKdltBsjSxxvcJ+t8fAXOnvFxSsms7gGVg==", + "deprecated": "1.x is no longer supported. Please upgrade to 6.x or higher.", + "dev": true, + "dependencies": { + "debug": "^2.2.0", + "semver": "^5.3.0", + "streamroller": "^0.4.0" + }, + "engines": { + "node": ">=0.12" + } + }, + "node_modules/log4js/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/log4js/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "node_modules/log4js/node_modules/semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "dev": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/longest-streak": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/longest-streak/-/longest-streak-2.0.4.tgz", + "integrity": "sha512-vM6rUVCVUJJt33bnmHiZEvr7wPT78ztX7rojL+LW51bHtLh6HTjx84LA5W4+oa6aKEJA7jJu5LR6vQRBpA5DVg==", + "dev": true, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "dependencies": { + "js-tokens": "^3.0.0 || ^4.0.0" + }, + "bin": { + "loose-envify": "cli.js" + } + }, + "node_modules/lowercase-keys": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz", + "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/lowlight": { + "version": "1.20.0", + "resolved": "https://registry.npmjs.org/lowlight/-/lowlight-1.20.0.tgz", + "integrity": "sha512-8Ktj+prEb1RoCPkEOrPMYUN/nCggB7qAWe3a7OpMjWQkh3l2RD5wKRQ+o8Q8YuI9RG/xs95waaI/E6ym/7NsTw==", + "dev": true, + "dependencies": { + "fault": "^1.0.0", + "highlight.js": "~10.7.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dependencies": { + "yallist": "^3.0.2" + } + }, + "node_modules/lru-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/lru-queue/-/lru-queue-0.1.0.tgz", + "integrity": "sha512-BpdYkt9EvGl8OfWHDQPISVpcl5xZthb+XPsbELj5AQXxIC8IriDZIQYjBJPEm5rS420sjZ0TLEzRcq5KdBhYrQ==", + "dev": true, + "dependencies": { + "es5-ext": "~0.10.2" + } + }, + "node_modules/lz-string": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/lz-string/-/lz-string-1.5.0.tgz", + "integrity": "sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==", + "dev": true, + "bin": { + "lz-string": "bin/bin.js" + } + }, + "node_modules/make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "dev": true, + "dependencies": { + "semver": "^6.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/make-dir/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/make-fetch-happen": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-2.6.0.tgz", + "integrity": "sha512-FFq0lNI0ax+n9IWzWpH8A4JdgYiAp2DDYIZ3rsaav8JDe8I+72CzK6PQW/oom15YDZpV5bYW/9INd6nIJ2ZfZw==", + "dev": true, + "dependencies": { + "agentkeepalive": "^3.3.0", + "cacache": "^10.0.0", + "http-cache-semantics": "^3.8.0", + "http-proxy-agent": "^2.0.0", + "https-proxy-agent": "^2.1.0", + "lru-cache": "^4.1.1", + "mississippi": "^1.2.0", + "node-fetch-npm": "^2.0.2", + "promise-retry": "^1.1.1", + "socks-proxy-agent": "^3.0.1", + "ssri": "^5.0.0" + } + }, + "node_modules/make-fetch-happen/node_modules/agent-base": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.3.0.tgz", + "integrity": "sha512-salcGninV0nPrwpGNn4VTXBb1SOuXQBiqbrNXoeizJsHrsL6ERFM2Ne3JUSBWRE6aeNJI2ROP/WEEIDUiDe3cg==", + "dev": true, + "dependencies": { + "es6-promisify": "^5.0.0" + }, + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/make-fetch-happen/node_modules/cacache": { + "version": "10.0.4", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-10.0.4.tgz", + "integrity": "sha512-Dph0MzuH+rTQzGPNT9fAnrPmMmjKfST6trxJeK7NQuHRaVw24VzPRWTmg9MpcwOVQZO0E1FBICUlFeNaKPIfHA==", + "dev": true, + "dependencies": { + "bluebird": "^3.5.1", + "chownr": "^1.0.1", + "glob": "^7.1.2", + "graceful-fs": "^4.1.11", + "lru-cache": "^4.1.1", + "mississippi": "^2.0.0", + "mkdirp": "^0.5.1", + "move-concurrently": "^1.0.1", + "promise-inflight": "^1.0.1", + "rimraf": "^2.6.2", + "ssri": "^5.2.4", + "unique-filename": "^1.1.0", + "y18n": "^4.0.0" + } + }, + "node_modules/make-fetch-happen/node_modules/cacache/node_modules/mississippi": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-2.0.0.tgz", + "integrity": "sha512-zHo8v+otD1J10j/tC+VNoGK9keCuByhKovAvdn74dmxJl9+mWHnx6EMsDN4lgRoMI/eYo2nchAxniIbUPb5onw==", + "dev": true, + "dependencies": { + "concat-stream": "^1.5.0", + "duplexify": "^3.4.2", + "end-of-stream": "^1.1.0", + "flush-write-stream": "^1.0.0", + "from2": "^2.1.0", + "parallel-transform": "^1.1.0", + "pump": "^2.0.1", + "pumpify": "^1.3.3", + "stream-each": "^1.1.0", + "through2": "^2.0.0" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/make-fetch-happen/node_modules/debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/make-fetch-happen/node_modules/http-proxy-agent": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-2.1.0.tgz", + "integrity": "sha512-qwHbBLV7WviBl0rQsOzH6o5lwyOIvwp/BdFnvVxXORldu5TmjFfjzBcWUWS5kWAZhmv+JtiDhSuQCp4sBfbIgg==", + "dev": true, + "dependencies": { + "agent-base": "4", + "debug": "3.1.0" + }, + "engines": { + "node": ">= 4.5.0" + } + }, + "node_modules/make-fetch-happen/node_modules/https-proxy-agent": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-2.2.4.tgz", + "integrity": "sha512-OmvfoQ53WLjtA9HeYP9RNrWMJzzAz1JGaSFr1nijg0PVR1JaD/xbJq1mdEIIlxGpXp9eSe/O2LgU9DJmTPd0Eg==", + "dev": true, + "dependencies": { + "agent-base": "^4.3.0", + "debug": "^3.1.0" + }, + "engines": { + "node": ">= 4.5.0" + } + }, + "node_modules/make-fetch-happen/node_modules/lru-cache": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", + "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", + "dev": true, + "dependencies": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } + }, + "node_modules/make-fetch-happen/node_modules/mkdirp": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", + "dev": true, + "dependencies": { + "minimist": "^1.2.6" + }, + "bin": { + "mkdirp": "bin/cmd.js" + } + }, + "node_modules/make-fetch-happen/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "node_modules/make-fetch-happen/node_modules/pump": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", + "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", + "dev": true, + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "node_modules/make-fetch-happen/node_modules/rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + } + }, + "node_modules/make-fetch-happen/node_modules/ssri": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-5.3.0.tgz", + "integrity": "sha512-XRSIPqLij52MtgoQavH/x/dU1qVKtWUAAZeOHsR9c2Ddi4XerFy3mc1alf+dLJKl9EUIm/Ht+EowFkTUOA6GAQ==", + "dev": true, + "dependencies": { + "safe-buffer": "^5.1.1" + } + }, + "node_modules/make-fetch-happen/node_modules/through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "dev": true, + "dependencies": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + } + }, + "node_modules/make-fetch-happen/node_modules/y18n": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", + "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", + "dev": true + }, + "node_modules/make-fetch-happen/node_modules/yallist": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", + "integrity": "sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A==", + "dev": true + }, + "node_modules/makeerror": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", + "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", + "dev": true, + "dependencies": { + "tmpl": "1.0.5" + } + }, + "node_modules/map-age-cleaner": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz", + "integrity": "sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w==", + "dev": true, + "dependencies": { + "p-defer": "^1.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/map-cache": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", + "integrity": "sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/map-obj": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-4.3.0.tgz", + "integrity": "sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/map-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", + "integrity": "sha512-4y7uGv8bd2WdM9vpQsiQNo41Ln1NvhvDRuVt0k2JZQ+ezN2uaQes7lZeZ+QQUHOLQAtDaBJ+7wCbi+ab/KFs+w==", + "dev": true, + "dependencies": { + "object-visit": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/markdown-table": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/markdown-table/-/markdown-table-2.0.0.tgz", + "integrity": "sha512-Ezda85ToJUBhM6WGaG6veasyym+Tbs3cMAw/ZhOPqXiYsr0jgocBV3j3nx+4lk47plLlIqjwuTm/ywVI+zjJ/A==", + "dev": true, + "dependencies": { + "repeat-string": "^1.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/marked": { + "version": "12.0.1", + "resolved": "https://registry.npmjs.org/marked/-/marked-12.0.1.tgz", + "integrity": "sha512-Y1/V2yafOcOdWQCX0XpAKXzDakPOpn6U0YLxTJs3cww6VxOzZV1BTOOYWLvH3gX38cq+iLwljHHTnMtlDfg01Q==", + "bin": { + "marked": "bin/marked.js" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/marked-terminal": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/marked-terminal/-/marked-terminal-3.2.0.tgz", + "integrity": "sha512-Yr1yVS0BbDG55vx7be1D0mdv+jGs9AW563o/Tt/7FTsId2J0yqhrTeXAqq/Q0DyyXltIn6CSxzesQuFqXgafjQ==", + "dev": true, + "dependencies": { + "ansi-escapes": "^3.1.0", + "cardinal": "^2.1.1", + "chalk": "^2.4.1", + "cli-table": "^0.3.1", + "node-emoji": "^1.4.1", + "supports-hyperlinks": "^1.0.1" + }, + "peerDependencies": { + "marked": "^0.4.0 || ^0.5.0 || ^0.6.0" + } + }, + "node_modules/marked-terminal/node_modules/ansi-escapes": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz", + "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/marked-terminal/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/marked-terminal/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/marked-terminal/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/marked-terminal/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, + "node_modules/marked-terminal/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/marked-terminal/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/marked-terminal/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/marked-terminal/node_modules/supports-hyperlinks": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-1.0.1.tgz", + "integrity": "sha512-HHi5kVSefKaJkGYXbDuKbUGRVxqnWGn3J2e39CYcNJEfWciGq2zYtOhXLTlvrOZW1QU7VX67w7fMmWafHX9Pfw==", + "dev": true, + "dependencies": { + "has-flag": "^2.0.0", + "supports-color": "^5.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/marked-terminal/node_modules/supports-hyperlinks/node_modules/has-flag": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz", + "integrity": "sha512-P+1n3MnwjR/Epg9BBo1KT8qbye2g2Ou4sFumihwt6I4tsUX7jnLcX4BTOSKg/B1ZrIYMN9FcEnG4x5a7NB8Eng==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/mathjax-full": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/mathjax-full/-/mathjax-full-3.2.2.tgz", + "integrity": "sha512-+LfG9Fik+OuI8SLwsiR02IVdjcnRCy5MufYLi0C3TdMT56L/pjB0alMVGgoWJF8pN9Rc7FESycZB9BMNWIid5w==", + "dev": true, + "dependencies": { + "esm": "^3.2.25", + "mhchemparser": "^4.1.0", + "mj-context-menu": "^0.6.1", + "speech-rule-engine": "^4.0.6" + } + }, + "node_modules/mathml-tag-names": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/mathml-tag-names/-/mathml-tag-names-2.1.3.tgz", + "integrity": "sha512-APMBEanjybaPzUrfqU0IMU5I0AswKMH7k8OTLs0vvV4KZpExkTkY87nR/zpbuTPj+gARop7aGUbl11pnDfW6xg==", + "dev": true, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/md5": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/md5/-/md5-2.3.0.tgz", + "integrity": "sha512-T1GITYmFaKuO91vxyoQMFETst+O71VUPEU3ze5GNzDm0OWdP8v1ziTaAEPUr/3kLsY3Sftgz242A1SetQiDL7g==", + "dependencies": { + "charenc": "0.0.2", + "crypt": "0.0.2", + "is-buffer": "~1.1.6" + } + }, + "node_modules/md5.js": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", + "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", + "dependencies": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "node_modules/mdast-util-definitions": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-definitions/-/mdast-util-definitions-4.0.0.tgz", + "integrity": "sha512-k8AJ6aNnUkB7IE+5azR9h81O5EQ/cTDXtWdMq9Kk5KcEW/8ritU5CeLg/9HhOC++nALHBlaogJ5jz0Ybk3kPMQ==", + "dev": true, + "dependencies": { + "unist-util-visit": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-find-and-replace": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/mdast-util-find-and-replace/-/mdast-util-find-and-replace-1.1.1.tgz", + "integrity": "sha512-9cKl33Y21lyckGzpSmEQnIDjEfeeWelN5s1kUW1LwdB0Fkuq2u+4GdqcGEygYxJE8GVqCl0741bYXHgamfWAZA==", + "dev": true, + "dependencies": { + "escape-string-regexp": "^4.0.0", + "unist-util-is": "^4.0.0", + "unist-util-visit-parents": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-from-markdown": { + "version": "0.8.5", + "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-0.8.5.tgz", + "integrity": "sha512-2hkTXtYYnr+NubD/g6KGBS/0mFmBcifAsI0yIWRiRo0PjVs6SSOSOdtzbp6kSGnShDN6G5aWZpKQ2lWRy27mWQ==", + "dev": true, + "dependencies": { + "@types/mdast": "^3.0.0", + "mdast-util-to-string": "^2.0.0", + "micromark": "~2.11.0", + "parse-entities": "^2.0.0", + "unist-util-stringify-position": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-frontmatter": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/mdast-util-frontmatter/-/mdast-util-frontmatter-0.2.0.tgz", + "integrity": "sha512-FHKL4w4S5fdt1KjJCwB0178WJ0evnyyQr5kXTM3wrOVpytD0hrkvd+AOOjU9Td8onOejCkmZ+HQRT3CZ3coHHQ==", + "dev": true, + "dependencies": { + "micromark-extension-frontmatter": "^0.2.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/mdast-util-gfm/-/mdast-util-gfm-0.1.2.tgz", + "integrity": "sha512-NNkhDx/qYcuOWB7xHUGWZYVXvjPFFd6afg6/e2g+SV4r9q5XUcCbV4Wfa3DLYIiD+xAEZc6K4MGaE/m0KDcPwQ==", + "dev": true, + "dependencies": { + "mdast-util-gfm-autolink-literal": "^0.1.0", + "mdast-util-gfm-strikethrough": "^0.2.0", + "mdast-util-gfm-table": "^0.1.0", + "mdast-util-gfm-task-list-item": "^0.1.0", + "mdast-util-to-markdown": "^0.6.1" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-autolink-literal": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-autolink-literal/-/mdast-util-gfm-autolink-literal-0.1.3.tgz", + "integrity": "sha512-GjmLjWrXg1wqMIO9+ZsRik/s7PLwTaeCHVB7vRxUwLntZc8mzmTsLVr6HW1yLokcnhfURsn5zmSVdi3/xWWu1A==", + "dev": true, + "dependencies": { + "ccount": "^1.0.0", + "mdast-util-find-and-replace": "^1.1.0", + "micromark": "^2.11.3" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-strikethrough": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-strikethrough/-/mdast-util-gfm-strikethrough-0.2.3.tgz", + "integrity": "sha512-5OQLXpt6qdbttcDG/UxYY7Yjj3e8P7X16LzvpX8pIQPYJ/C2Z1qFGMmcw+1PZMUM3Z8wt8NRfYTvCni93mgsgA==", + "dev": true, + "dependencies": { + "mdast-util-to-markdown": "^0.6.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-table": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-table/-/mdast-util-gfm-table-0.1.6.tgz", + "integrity": "sha512-j4yDxQ66AJSBwGkbpFEp9uG/LS1tZV3P33fN1gkyRB2LoRL+RR3f76m0HPHaby6F4Z5xr9Fv1URmATlRRUIpRQ==", + "dev": true, + "dependencies": { + "markdown-table": "^2.0.0", + "mdast-util-to-markdown": "~0.6.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-task-list-item": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-task-list-item/-/mdast-util-gfm-task-list-item-0.1.6.tgz", + "integrity": "sha512-/d51FFIfPsSmCIRNp7E6pozM9z1GYPIkSy1urQ8s/o4TC22BZ7DqfHFWiqBD23bc7J3vV1Fc9O4QIHBlfuit8A==", + "dev": true, + "dependencies": { + "mdast-util-to-markdown": "~0.6.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-math": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/mdast-util-math/-/mdast-util-math-0.1.2.tgz", + "integrity": "sha512-fogAitds+wH+QRas78Yr1TwmQGN4cW/G2WRw5ePuNoJbBSPJCxIOCE8MTzHgWHVSpgkRaPQTgfzXRE1CrwWSlg==", + "dev": true, + "dependencies": { + "longest-streak": "^2.0.0", + "mdast-util-to-markdown": "^0.6.0", + "repeat-string": "^1.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-to-hast": { + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-10.2.0.tgz", + "integrity": "sha512-JoPBfJ3gBnHZ18icCwHR50orC9kNH81tiR1gs01D8Q5YpV6adHNO9nKNuFBCJQ941/32PT1a63UF/DitmS3amQ==", + "dev": true, + "dependencies": { + "@types/mdast": "^3.0.0", + "@types/unist": "^2.0.0", + "mdast-util-definitions": "^4.0.0", + "mdurl": "^1.0.0", + "unist-builder": "^2.0.0", + "unist-util-generated": "^1.0.0", + "unist-util-position": "^3.0.0", + "unist-util-visit": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-to-markdown": { + "version": "0.6.5", + "resolved": "https://registry.npmjs.org/mdast-util-to-markdown/-/mdast-util-to-markdown-0.6.5.tgz", + "integrity": "sha512-XeV9sDE7ZlOQvs45C9UKMtfTcctcaj/pGwH8YLbMHoMOXNNCn2LsqVQOqrF1+/NU8lKDAqozme9SCXWyo9oAcQ==", + "dev": true, + "dependencies": { + "@types/unist": "^2.0.0", + "longest-streak": "^2.0.0", + "mdast-util-to-string": "^2.0.0", + "parse-entities": "^2.0.0", + "repeat-string": "^1.0.0", + "zwitch": "^1.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-to-string": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-2.0.0.tgz", + "integrity": "sha512-AW4DRS3QbBayY/jJmD8437V1Gombjf8RSOUCMFBuo5iHi58AGEgVCKQ+ezHkZZDpAQS75hcBMpLqjpJTjtUL7w==", + "dev": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdurl": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz", + "integrity": "sha512-/sKlQJCBYVY9Ers9hqzKou4H6V5UWc/M59TH2dvkt+84itfnq7uFOMLpOiOS4ujvHP4etln18fmIxA5R5fll0g==", + "dev": true + }, + "node_modules/media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mem": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/mem/-/mem-5.1.1.tgz", + "integrity": "sha512-qvwipnozMohxLXG1pOqoLiZKNkC4r4qqRucSoDwXowsNGDSULiqFTRUF05vcZWnwJSG22qTsynQhxbaMtnX9gw==", + "dev": true, + "dependencies": { + "map-age-cleaner": "^0.1.3", + "mimic-fn": "^2.1.0", + "p-is-promise": "^2.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/mem-fs": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/mem-fs/-/mem-fs-1.2.0.tgz", + "integrity": "sha512-b8g0jWKdl8pM0LqAPdK9i8ERL7nYrzmJfRhxMiWH2uYdfYnb7uXnmwVb0ZGe7xyEl4lj+nLIU3yf4zPUT+XsVQ==", + "dev": true, + "dependencies": { + "through2": "^3.0.0", + "vinyl": "^2.0.1", + "vinyl-file": "^3.0.0" + } + }, + "node_modules/memfs": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.5.3.tgz", + "integrity": "sha512-UERzLsxzllchadvbPs5aolHh65ISpKpM+ccLbOJ8/vvpBKmAWf+la7dXFy7Mr0ySHbdHrFv5kGFCUHHe6GFEmw==", + "dependencies": { + "fs-monkey": "^1.0.4" + }, + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/memoize-one": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/memoize-one/-/memoize-one-5.2.1.tgz", + "integrity": "sha512-zYiwtZUcYyXKo/np96AGZAckk+FWWsUdJ3cHGGmld7+AhvcWmQyGCYUh1hc4Q/pkOhb65dQR/pqCyK0cOaHz4Q==" + }, + "node_modules/memoizee": { + "version": "0.4.15", + "resolved": "https://registry.npmjs.org/memoizee/-/memoizee-0.4.15.tgz", + "integrity": "sha512-UBWmJpLZd5STPm7PMUlOw/TSy972M+z8gcyQ5veOnSDRREz/0bmpyTfKt3/51DhEBqCZQn1udM/5flcSPYhkdQ==", + "dev": true, + "dependencies": { + "d": "^1.0.1", + "es5-ext": "^0.10.53", + "es6-weak-map": "^2.0.3", + "event-emitter": "^0.3.5", + "is-promise": "^2.2.2", + "lru-queue": "^0.1.0", + "next-tick": "^1.1.0", + "timers-ext": "^0.1.7" + } + }, + "node_modules/memory-fs": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.5.0.tgz", + "integrity": "sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==", + "dev": true, + "dependencies": { + "errno": "^0.1.3", + "readable-stream": "^2.0.1" + }, + "engines": { + "node": ">=4.3.0 <5.0.0 || >=5.10" + } + }, + "node_modules/meow": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/meow/-/meow-9.0.0.tgz", + "integrity": "sha512-+obSblOQmRhcyBt62furQqRAQpNyWXo8BuQ5bN7dG8wmwQ+vwHKp/rCFD4CrTP8CsDQD1sjoZ94K417XEUk8IQ==", + "dev": true, + "dependencies": { + "@types/minimist": "^1.2.0", + "camelcase-keys": "^6.2.2", + "decamelize": "^1.2.0", + "decamelize-keys": "^1.1.0", + "hard-rejection": "^2.1.0", + "minimist-options": "4.1.0", + "normalize-package-data": "^3.0.0", + "read-pkg-up": "^7.0.1", + "redent": "^3.0.0", + "trim-newlines": "^3.0.0", + "type-fest": "^0.18.0", + "yargs-parser": "^20.2.3" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/meow/node_modules/hosted-git-info": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz", + "integrity": "sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/meow/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/meow/node_modules/normalize-package-data": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.3.tgz", + "integrity": "sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==", + "dev": true, + "dependencies": { + "hosted-git-info": "^4.0.1", + "is-core-module": "^2.5.0", + "semver": "^7.3.4", + "validate-npm-package-license": "^3.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/meow/node_modules/type-fest": { + "version": "0.18.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.18.1.tgz", + "integrity": "sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/meow/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/merge-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", + "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==", + "dev": true + }, + "node_modules/merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==" + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "engines": { + "node": ">= 8" + } + }, + "node_modules/methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mhchemparser": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/mhchemparser/-/mhchemparser-4.2.1.tgz", + "integrity": "sha512-kYmyrCirqJf3zZ9t/0wGgRZ4/ZJw//VwaRVGA75C4nhE60vtnIzhl9J9ndkX/h6hxSN7pjg/cE0VxbnNM+bnDQ==", + "dev": true + }, + "node_modules/micromark": { + "version": "2.11.4", + "resolved": "https://registry.npmjs.org/micromark/-/micromark-2.11.4.tgz", + "integrity": "sha512-+WoovN/ppKolQOFIAajxi7Lu9kInbPxFuTBVEavFcL8eAfVstoc5MocPmqBeAdBOJV00uaVjegzH4+MA0DN/uA==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "debug": "^4.0.0", + "parse-entities": "^2.0.0" + } + }, + "node_modules/micromark-extension-frontmatter": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/micromark-extension-frontmatter/-/micromark-extension-frontmatter-0.2.2.tgz", + "integrity": "sha512-q6nPLFCMTLtfsctAuS0Xh4vaolxSFUWUWR6PZSrXXiRy+SANGllpcqdXFv2z07l0Xz/6Hl40hK0ffNCJPH2n1A==", + "dev": true, + "dependencies": { + "fault": "^1.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm/-/micromark-extension-gfm-0.3.3.tgz", + "integrity": "sha512-oVN4zv5/tAIA+l3GbMi7lWeYpJ14oQyJ3uEim20ktYFAcfX1x3LNlFGGlmrZHt7u9YlKExmyJdDGaTt6cMSR/A==", + "dev": true, + "dependencies": { + "micromark": "~2.11.0", + "micromark-extension-gfm-autolink-literal": "~0.5.0", + "micromark-extension-gfm-strikethrough": "~0.6.5", + "micromark-extension-gfm-table": "~0.4.0", + "micromark-extension-gfm-tagfilter": "~0.3.0", + "micromark-extension-gfm-task-list-item": "~0.3.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-autolink-literal": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-autolink-literal/-/micromark-extension-gfm-autolink-literal-0.5.7.tgz", + "integrity": "sha512-ePiDGH0/lhcngCe8FtH4ARFoxKTUelMp4L7Gg2pujYD5CSMb9PbblnyL+AAMud/SNMyusbS2XDSiPIRcQoNFAw==", + "dev": true, + "dependencies": { + "micromark": "~2.11.3" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-strikethrough": { + "version": "0.6.5", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-strikethrough/-/micromark-extension-gfm-strikethrough-0.6.5.tgz", + "integrity": "sha512-PpOKlgokpQRwUesRwWEp+fHjGGkZEejj83k9gU5iXCbDG+XBA92BqnRKYJdfqfkrRcZRgGuPuXb7DaK/DmxOhw==", + "dev": true, + "dependencies": { + "micromark": "~2.11.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-table": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-table/-/micromark-extension-gfm-table-0.4.3.tgz", + "integrity": "sha512-hVGvESPq0fk6ALWtomcwmgLvH8ZSVpcPjzi0AjPclB9FsVRgMtGZkUcpE0zgjOCFAznKepF4z3hX8z6e3HODdA==", + "dev": true, + "dependencies": { + "micromark": "~2.11.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-tagfilter": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-tagfilter/-/micromark-extension-gfm-tagfilter-0.3.0.tgz", + "integrity": "sha512-9GU0xBatryXifL//FJH+tAZ6i240xQuFrSL7mYi8f4oZSbc+NvXjkrHemeYP0+L4ZUT+Ptz3b95zhUZnMtoi/Q==", + "dev": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-task-list-item": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-task-list-item/-/micromark-extension-gfm-task-list-item-0.3.3.tgz", + "integrity": "sha512-0zvM5iSLKrc/NQl84pZSjGo66aTGd57C1idmlWmE87lkMcXrTxg1uXa/nXomxJytoje9trP0NDLvw4bZ/Z/XCQ==", + "dev": true, + "dependencies": { + "micromark": "~2.11.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-math": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/micromark-extension-math/-/micromark-extension-math-0.1.2.tgz", + "integrity": "sha512-ZJXsT2eVPM8VTmcw0CPSDeyonOn9SziGK3Z+nkf9Vb6xMPeU+4JMEnO6vzDL10562Favw8Vste74f54rxJ/i6Q==", + "dev": true, + "dependencies": { + "katex": "^0.12.0", + "micromark": "~2.11.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "dependencies": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/miller-rabin": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", + "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", + "dependencies": { + "bn.js": "^4.0.0", + "brorand": "^1.0.1" + }, + "bin": { + "miller-rabin": "bin/miller-rabin" + } + }, + "node_modules/miller-rabin/node_modules/bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" + }, + "node_modules/mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "dev": true, + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mimer": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/mimer/-/mimer-1.1.0.tgz", + "integrity": "sha512-y9dVfy2uiycQvDNiAYW6zp49ZhFlXDMr5wfdOiMbdzGM/0N5LNR6HTUn3un+WUQcM0koaw8FMTG1bt5EnHJdvQ==", + "dev": true, + "bin": { + "mimer": "bin/mimer" + }, + "engines": { + "node": ">= 6.0" + } + }, + "node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/mimic-response": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz", + "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==", + "dev": true, + "optional": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/min-document": { + "version": "2.19.0", + "resolved": "https://registry.npmjs.org/min-document/-/min-document-2.19.0.tgz", + "integrity": "sha512-9Wy1B3m3f66bPPmU5hdA4DR4PB2OfDU/+GS3yAB7IQozE3tqXaVv2zOjgla7MEGSRv95+ILmOuvhLkOK6wJtCQ==", + "dev": true, + "dependencies": { + "dom-walk": "^0.1.0" + } + }, + "node_modules/min-indent": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz", + "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/mini-create-react-context": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/mini-create-react-context/-/mini-create-react-context-0.4.1.tgz", + "integrity": "sha512-YWCYEmd5CQeHGSAKrYvXgmzzkrvssZcuuQDDeqkT+PziKGMgE+0MCCtcKbROzocGBG1meBLl2FotlRwf4gAzbQ==", + "deprecated": "Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.", + "dependencies": { + "@babel/runtime": "^7.12.1", + "tiny-warning": "^1.0.3" + }, + "peerDependencies": { + "prop-types": "^15.0.0", + "react": "^0.14.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" + } + }, + "node_modules/minim": { + "version": "0.23.8", + "resolved": "https://registry.npmjs.org/minim/-/minim-0.23.8.tgz", + "integrity": "sha512-bjdr2xW1dBCMsMGGsUeqM4eFI60m94+szhxWys+B1ztIt6gWSfeGBdSVCIawezeHYLYn0j6zrsXdQS/JllBzww==", + "dev": true, + "dependencies": { + "lodash": "^4.15.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/minimalistic-assert": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", + "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==" + }, + "node_modules/minimalistic-crypto-utils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", + "integrity": "sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==" + }, + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/minimist-options": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/minimist-options/-/minimist-options-4.1.0.tgz", + "integrity": "sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==", + "dev": true, + "dependencies": { + "arrify": "^1.0.1", + "is-plain-obj": "^1.1.0", + "kind-of": "^6.0.3" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/minimist-options/node_modules/arrify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", + "integrity": "sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/minimist-options/node_modules/is-plain-obj": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", + "integrity": "sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/mississippi": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-1.3.1.tgz", + "integrity": "sha512-/6rB8YXFbAtsUVRphIRQqB0+9c7VaPHCjVtvto+JqwVxgz8Zz+I+f68/JgQ+Pb4VlZb2svA9OtdXnHHsZz7ltg==", + "dev": true, + "dependencies": { + "concat-stream": "^1.5.0", + "duplexify": "^3.4.2", + "end-of-stream": "^1.1.0", + "flush-write-stream": "^1.0.0", + "from2": "^2.1.0", + "parallel-transform": "^1.1.0", + "pump": "^1.0.0", + "pumpify": "^1.3.3", + "stream-each": "^1.1.0", + "through2": "^2.0.0" + } + }, + "node_modules/mississippi/node_modules/through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "dev": true, + "dependencies": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + } + }, + "node_modules/mixin-deep": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", + "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", + "dev": true, + "dependencies": { + "for-in": "^1.0.2", + "is-extendable": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/mixin-deep/node_modules/is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "dependencies": { + "is-plain-object": "^2.0.4" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/mj-context-menu": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/mj-context-menu/-/mj-context-menu-0.6.1.tgz", + "integrity": "sha512-7NO5s6n10TIV96d4g2uDpG7ZDpIhMh0QNfGdJw/W47JswFcosz457wqz/b5sAKvl12sxINGFCn80NZHKwxQEXA==", + "dev": true + }, + "node_modules/mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "dev": true, + "bin": { + "mkdirp": "bin/cmd.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/mkdirp-classic": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz", + "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==", + "dev": true + }, + "node_modules/mock.js": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/mock.js/-/mock.js-0.2.0.tgz", + "integrity": "sha512-DKI8Rh/h7Mma+fg+6aD0uUvwn0QXAjKG6q3s+lTaCboCQ/kvQMBN9IXRBzgEaz4aPiYoRnKU9jVsfZp0mHpWrQ==", + "dev": true + }, + "node_modules/mockjs": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/mockjs/-/mockjs-1.1.0.tgz", + "integrity": "sha512-eQsKcWzIaZzEZ07NuEyO4Nw65g0hdWAyurVol1IPl1gahRwY+svqzfgfey8U8dahLwG44d6/RwEzuK52rSa/JQ==", + "dev": true, + "dependencies": { + "commander": "*" + }, + "bin": { + "random": "bin/random" + } + }, + "node_modules/moment": { + "version": "2.30.1", + "resolved": "https://registry.npmjs.org/moment/-/moment-2.30.1.tgz", + "integrity": "sha512-uEmtNhbDOrWPFS+hdjFCBfy9f2YoyzRpwcl+DqpC6taX21FzsTLQVbMV/W7PzNSX6x/bhC1zA3c2UQ5NzH6how==", + "engines": { + "node": "*" + } + }, + "node_modules/moo": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/moo/-/moo-0.5.2.tgz", + "integrity": "sha512-iSAJLHYKnX41mKcJKjqvnAN9sf0LMDTXDEvFv+ffuRR9a1MIuXLjMNL6EsnDHSkKLTWNqQQ5uo61P4EbU4NU+Q==", + "dev": true + }, + "node_modules/move-concurrently": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz", + "integrity": "sha512-hdrFxZOycD/g6A6SoI2bB5NA/5NEqD0569+S47WZhPvm46sD50ZHdYaFmnua5lndde9rCHGjmfK7Z8BuCt/PcQ==", + "dev": true, + "dependencies": { + "aproba": "^1.1.1", + "copy-concurrently": "^1.0.0", + "fs-write-stream-atomic": "^1.0.8", + "mkdirp": "^0.5.1", + "rimraf": "^2.5.4", + "run-queue": "^1.0.3" + } + }, + "node_modules/move-concurrently/node_modules/mkdirp": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", + "dev": true, + "dependencies": { + "minimist": "^1.2.6" + }, + "bin": { + "mkdirp": "bin/cmd.js" + } + }, + "node_modules/move-concurrently/node_modules/rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + } + }, + "node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true + }, + "node_modules/multer": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/multer/-/multer-1.4.4.tgz", + "integrity": "sha512-2wY2+xD4udX612aMqMcB8Ws2Voq6NIUPEtD1be6m411T4uDH/VtL9i//xvcyFlTVfRdaBsk7hV5tgrGQqhuBiw==", + "deprecated": "Multer 1.x is affected by CVE-2022-24434. This is fixed in v1.4.4-lts.1 which drops support for versions of Node.js before 6. Please upgrade to at least Node.js 6 and version 1.4.4-lts.1 of Multer. If you need support for older versions of Node.js, we are open to accepting patches that would fix the CVE on the main 1.x release line, whilst maintaining compatibility with Node.js 0.10.", + "dev": true, + "dependencies": { + "append-field": "^1.0.0", + "busboy": "^0.2.11", + "concat-stream": "^1.5.2", + "mkdirp": "^0.5.4", + "object-assign": "^4.1.1", + "on-finished": "^2.3.0", + "type-is": "^1.6.4", + "xtend": "^4.0.0" + }, + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/multer/node_modules/mkdirp": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", + "dev": true, + "dependencies": { + "minimist": "^1.2.6" + }, + "bin": { + "mkdirp": "bin/cmd.js" + } + }, + "node_modules/multimap": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/multimap/-/multimap-1.1.0.tgz", + "integrity": "sha512-0ZIR9PasPxGXmRsEF8jsDzndzHDj7tIav+JUmvIFB/WHswliFnquxECT/De7GR4yg99ky/NlRKJT82G1y271bw==", + "dev": true + }, + "node_modules/multimatch": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/multimatch/-/multimatch-4.0.0.tgz", + "integrity": "sha512-lDmx79y1z6i7RNx0ZGCPq1bzJ6ZoDDKbvh7jxr9SJcWLkShMzXrHbYVpTdnhNM5MXpDUxCQ4DgqVttVXlBgiBQ==", + "dev": true, + "dependencies": { + "@types/minimatch": "^3.0.3", + "array-differ": "^3.0.0", + "array-union": "^2.1.0", + "arrify": "^2.0.1", + "minimatch": "^3.0.4" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/mute-stream": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz", + "integrity": "sha512-r65nCZhrbXXb6dXOACihYApHw2Q6pV0M3V0PSxd74N0+D8nzAdEAITq2oAjA1jVnKI+tGvEBUpqiMh0+rW6zDQ==", + "dev": true + }, + "node_modules/nan": { + "version": "2.19.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.19.0.tgz", + "integrity": "sha512-nO1xXxfh/RWNxfd/XPfbIfFk5vgLsAxUR9y5O0cHMJu/AW9U95JLXqthYHjEp+8gQ5p96K9jUp8nbVOxCdRbtw==", + "dev": true, + "optional": true + }, + "node_modules/nanoid": { + "version": "2.1.11", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-2.1.11.tgz", + "integrity": "sha512-s/snB+WGm6uwi0WjsZdaVcuf3KJXlfGl2LcxgwkEwJF0D/BWzVWAZW/XY4bFaiR7s0Jk3FPvlnepg1H1b1UwlA==", + "dev": true + }, + "node_modules/nanomatch": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", + "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", + "dev": true, + "dependencies": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "fragment-cache": "^0.2.1", + "is-windows": "^1.0.2", + "kind-of": "^6.0.2", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nanomatch/node_modules/extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==", + "dev": true, + "dependencies": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nanomatch/node_modules/is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "dependencies": { + "is-plain-object": "^2.0.4" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nanomatch/node_modules/is-windows": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", + "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/napi-build-utils": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/napi-build-utils/-/napi-build-utils-1.0.2.tgz", + "integrity": "sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg==", + "dev": true, + "optional": true + }, + "node_modules/natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "dev": true + }, + "node_modules/natural-compare-lite": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz", + "integrity": "sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==", + "dev": true + }, + "node_modules/nearley": { + "version": "2.20.1", + "resolved": "https://registry.npmjs.org/nearley/-/nearley-2.20.1.tgz", + "integrity": "sha512-+Mc8UaAebFzgV+KpI5n7DasuuQCHA89dmwm7JXw3TV43ukfNQ9DnBH3Mdb2g/I4Fdxc26pwimBWvjIw0UAILSQ==", + "dev": true, + "dependencies": { + "commander": "^2.19.0", + "moo": "^0.5.0", + "railroad-diagrams": "^1.0.0", + "randexp": "0.4.6" + }, + "bin": { + "nearley-railroad": "bin/nearley-railroad.js", + "nearley-test": "bin/nearley-test.js", + "nearley-unparse": "bin/nearley-unparse.js", + "nearleyc": "bin/nearleyc.js" + }, + "funding": { + "type": "individual", + "url": "https://nearley.js.org/#give-to-nearley" + } + }, + "node_modules/negotiator": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/next-tick": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.1.0.tgz", + "integrity": "sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==", + "dev": true + }, + "node_modules/nice-try": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", + "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==" + }, + "node_modules/node-abi": { + "version": "3.56.0", + "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.56.0.tgz", + "integrity": "sha512-fZjdhDOeRcaS+rcpve7XuwHBmktS1nS1gzgghwKUQQ8nTy2FdSDr6ZT8k6YhvlJeHmmQMYiT/IH9hfco5zeW2Q==", + "dev": true, + "optional": true, + "dependencies": { + "semver": "^7.3.5" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/node-abort-controller": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/node-abort-controller/-/node-abort-controller-3.1.1.tgz", + "integrity": "sha512-AGK2yQKIjRuqnc6VkX2Xj5d+QW8xZ87pa1UK6yA6ouUyuxfHuMP6umE5QK7UmTeOAymo+Zx1Fxiuw9rVx8taHQ==", + "dev": true + }, + "node_modules/node-domexception": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/node-domexception/-/node-domexception-1.0.0.tgz", + "integrity": "sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/jimmywarting" + }, + { + "type": "github", + "url": "https://paypal.me/jimmywarting" + } + ], + "engines": { + "node": ">=10.5.0" + } + }, + "node_modules/node-emoji": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/node-emoji/-/node-emoji-1.11.0.tgz", + "integrity": "sha512-wo2DpQkQp7Sjm2A0cq+sN7EHKO6Sl0ctXeBdFZrL9T9+UywORbufTcTZxom8YqpLQt/FqNMUkOpkZrJVYSKD3A==", + "dev": true, + "dependencies": { + "lodash": "^4.17.21" + } + }, + "node_modules/node-fetch": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", + "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", + "dev": true, + "dependencies": { + "whatwg-url": "^5.0.0" + }, + "engines": { + "node": "4.x || >=6.0.0" + }, + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } + } + }, + "node_modules/node-fetch-commonjs": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/node-fetch-commonjs/-/node-fetch-commonjs-3.3.2.tgz", + "integrity": "sha512-VBlAiynj3VMLrotgwOS3OyECFxas5y7ltLcK4t41lMUZeaK15Ym4QRkqN0EQKAFL42q9i21EPKjzLUPfltR72A==", + "dev": true, + "dependencies": { + "node-domexception": "^1.0.0", + "web-streams-polyfill": "^3.0.3" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/node-fetch" + } + }, + "node_modules/node-fetch-h2": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/node-fetch-h2/-/node-fetch-h2-2.3.0.tgz", + "integrity": "sha512-ofRW94Ab0T4AOh5Fk8t0h8OBWrmjb0SSB20xh1H8YnPV9EJ+f5AMoYSUQ2zgJ4Iq2HAK0I2l5/Nequ8YzFS3Hg==", + "dev": true, + "dependencies": { + "http2-client": "^1.2.5" + }, + "engines": { + "node": "4.x || >=6.0.0" + } + }, + "node_modules/node-fetch-npm": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/node-fetch-npm/-/node-fetch-npm-2.0.4.tgz", + "integrity": "sha512-iOuIQDWDyjhv9qSDrj9aq/klt6F9z1p2otB3AV7v3zBDcL/x+OfGsvGQZZCcMZbUf4Ujw1xGNQkjvGnVT22cKg==", + "deprecated": "This module is not used anymore, npm uses minipass-fetch for its fetch implementation now", + "dev": true, + "dependencies": { + "encoding": "^0.1.11", + "json-parse-better-errors": "^1.0.0", + "safe-buffer": "^5.1.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/node-fetch/node_modules/tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", + "dev": true + }, + "node_modules/node-fetch/node_modules/webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", + "dev": true + }, + "node_modules/node-fetch/node_modules/whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "dev": true, + "dependencies": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, + "node_modules/node-import-ts": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/node-import-ts/-/node-import-ts-1.0.8.tgz", + "integrity": "sha512-po25lfmmPUtHzNE4FI3uRoBU+5MzLzrSPzEGx/WVj77hu4ipSpg1ZyzgW87nlp4vQqIjGEvDqV2TSamGyvvSQw==", + "dev": true, + "dependencies": { + "@types/node": "^12.20.55", + "import-fresh": "^3.3.0", + "typescript": "^5.3.3" + } + }, + "node_modules/node-import-ts/node_modules/@types/node": { + "version": "12.20.55", + "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.55.tgz", + "integrity": "sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==", + "dev": true + }, + "node_modules/node-import-ts/node_modules/typescript": { + "version": "5.4.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.4.3.tgz", + "integrity": "sha512-KrPd3PKaCLr78MalgiwJnA25Nm8HAmdwN3mYUYZgG/wizIo9EainNVQI9/yDavtVFRN2h3k8uf3GLHuhDMgEHg==", + "dev": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/node-int64": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", + "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==", + "dev": true + }, + "node_modules/node-libs-browser": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.1.tgz", + "integrity": "sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==", + "dependencies": { + "assert": "^1.1.1", + "browserify-zlib": "^0.2.0", + "buffer": "^4.3.0", + "console-browserify": "^1.1.0", + "constants-browserify": "^1.0.0", + "crypto-browserify": "^3.11.0", + "domain-browser": "^1.1.1", + "events": "^3.0.0", + "https-browserify": "^1.0.0", + "os-browserify": "^0.3.0", + "path-browserify": "0.0.1", + "process": "^0.11.10", + "punycode": "^1.2.4", + "querystring-es3": "^0.2.0", + "readable-stream": "^2.3.3", + "stream-browserify": "^2.0.1", + "stream-http": "^2.7.2", + "string_decoder": "^1.0.0", + "timers-browserify": "^2.0.4", + "tty-browserify": "0.0.0", + "url": "^0.11.0", + "util": "^0.11.0", + "vm-browserify": "^1.0.1" + } + }, + "node_modules/node-libs-browser/node_modules/buffer": { + "version": "4.9.2", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz", + "integrity": "sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==", + "dependencies": { + "base64-js": "^1.0.2", + "ieee754": "^1.1.4", + "isarray": "^1.0.0" + } + }, + "node_modules/node-libs-browser/node_modules/punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==" + }, + "node_modules/node-notifier": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/node-notifier/-/node-notifier-8.0.2.tgz", + "integrity": "sha512-oJP/9NAdd9+x2Q+rfphB2RJCHjod70RcRLjosiPMMu5gjIfwVnOUGq2nbTjTUbmy0DJ/tFIVT30+Qe3nzl4TJg==", + "dev": true, + "optional": true, + "dependencies": { + "growly": "^1.3.0", + "is-wsl": "^2.2.0", + "semver": "^7.3.2", + "shellwords": "^0.1.1", + "uuid": "^8.3.0", + "which": "^2.0.2" + } + }, + "node_modules/node-readfiles": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/node-readfiles/-/node-readfiles-0.2.0.tgz", + "integrity": "sha512-SU00ZarexNlE4Rjdm83vglt5Y9yiQ+XI1XpflWlb7q7UTN1JUItm69xMeiQCTxtTfnzt+83T8Cx+vI2ED++VDA==", + "dev": true, + "dependencies": { + "es6-promise": "^3.2.1" + } + }, + "node_modules/node-releases": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz", + "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==" + }, + "node_modules/normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "dev": true, + "dependencies": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + } + }, + "node_modules/normalize-package-data/node_modules/hosted-git-info": { + "version": "2.8.9", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", + "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", + "dev": true + }, + "node_modules/normalize-package-data/node_modules/semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "dev": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/normalize-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-1.0.0.tgz", + "integrity": "sha512-7WyT0w8jhpDStXRq5836AMmihQwq2nrUVQrgjvUo/p/NZf9uy/MeJ246lBJVmWuYXMlJuG9BNZHF0hWjfTbQUA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/normalize-range": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", + "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/normalize-selector": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/normalize-selector/-/normalize-selector-0.2.0.tgz", + "integrity": "sha512-dxvWdI8gw6eAvk9BlPffgEoGfM7AdijoCwOEJge3e3ulT2XLgmU7KvvxprOaCu05Q1uGRHmOhHe1r6emZoKyFw==", + "dev": true + }, + "node_modules/normalize-url": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz", + "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/normalize.css": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/normalize.css/-/normalize.css-7.0.0.tgz", + "integrity": "sha512-LYaFZxj2Q1Q9e1VJ0f6laG46Rt5s9URhKyckNaA2vZnL/0gwQHWhM7ALQkp3WBQKM5sXRLQ5Ehrfkp+E/ZiCRg==", + "dev": true + }, + "node_modules/npm-package-arg": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-5.1.2.tgz", + "integrity": "sha512-wJBsrf0qpypPT7A0LART18hCdyhpCMxeTtcb0X4IZO2jsP6Om7EHN1d9KSKiqD+KVH030RVNpWS9thk+pb7wzA==", + "dev": true, + "dependencies": { + "hosted-git-info": "^2.4.2", + "osenv": "^0.1.4", + "semver": "^5.1.0", + "validate-npm-package-name": "^3.0.0" + } + }, + "node_modules/npm-package-arg/node_modules/hosted-git-info": { + "version": "2.8.9", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", + "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", + "dev": true + }, + "node_modules/npm-package-arg/node_modules/semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "dev": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/npm-pick-manifest": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/npm-pick-manifest/-/npm-pick-manifest-1.0.4.tgz", + "integrity": "sha512-MKxNdeyOZysPRTTbHtW0M5Fw38Jo/3ARsoGw5qjCfS+XGjvNB/Gb4qtAZUFmKPM2mVum+eX559eHvKywU856BQ==", + "dev": true, + "dependencies": { + "npm-package-arg": "^5.1.2", + "semver": "^5.3.0" + } + }, + "node_modules/npm-pick-manifest/node_modules/semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "dev": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "dev": true, + "dependencies": { + "path-key": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/nth-check": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", + "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", + "dev": true, + "dependencies": { + "boolbase": "^1.0.0" + }, + "funding": { + "url": "https://github.com/fb55/nth-check?sponsor=1" + } + }, + "node_modules/num2fraction": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/num2fraction/-/num2fraction-1.2.2.tgz", + "integrity": "sha512-Y1wZESM7VUThYY+4W+X4ySH2maqcA+p7UR+w8VWNWVAd6lwuXXWz/w/Cz43J/dI2I+PS6wD5N+bJUF+gjWvIqg==" + }, + "node_modules/number-precision": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/number-precision/-/number-precision-1.6.0.tgz", + "integrity": "sha512-05OLPgbgmnixJw+VvEh18yNPUo3iyp4BEWJcrLu4X9W05KmMifN7Mu5exYvQXqxxeNWhvIF+j3Rij+HmddM/hQ==" + }, + "node_modules/nunjucks": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/nunjucks/-/nunjucks-3.2.4.tgz", + "integrity": "sha512-26XRV6BhkgK0VOxfbU5cQI+ICFUtMLixv1noZn1tGU38kQH5A5nmmbk/O45xdyBhD1esk47nKrY0mvQpZIhRjQ==", + "dev": true, + "dependencies": { + "a-sync-waterfall": "^1.0.0", + "asap": "^2.0.3", + "commander": "^5.1.0" + }, + "bin": { + "nunjucks-precompile": "bin/precompile" + }, + "engines": { + "node": ">= 6.9.0" + }, + "peerDependencies": { + "chokidar": "^3.3.0" + }, + "peerDependenciesMeta": { + "chokidar": { + "optional": true + } + } + }, + "node_modules/nunjucks/node_modules/commander": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-5.1.0.tgz", + "integrity": "sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/nwsapi": { + "version": "2.2.7", + "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.7.tgz", + "integrity": "sha512-ub5E4+FBPKwAZx0UwIQOjYWGHTEq5sPqHQNRN8Z9e4A7u3Tj1weLJsL59yH9vmvqEtBHaOmT6cYQKIZOxp35FQ==", + "dev": true + }, + "node_modules/oas-kit-common": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/oas-kit-common/-/oas-kit-common-1.0.8.tgz", + "integrity": "sha512-pJTS2+T0oGIwgjGpw7sIRU8RQMcUoKCDWFLdBqKB2BNmGpbBMH2sdqAaOXUg8OzonZHU0L7vfJu1mJFEiYDWOQ==", + "dev": true, + "dependencies": { + "fast-safe-stringify": "^2.0.7" + } + }, + "node_modules/oas-linter": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/oas-linter/-/oas-linter-3.2.2.tgz", + "integrity": "sha512-KEGjPDVoU5K6swgo9hJVA/qYGlwfbFx+Kg2QB/kd7rzV5N8N5Mg6PlsoCMohVnQmo+pzJap/F610qTodKzecGQ==", + "dev": true, + "dependencies": { + "@exodus/schemasafe": "^1.0.0-rc.2", + "should": "^13.2.1", + "yaml": "^1.10.0" + }, + "funding": { + "url": "https://github.com/Mermade/oas-kit?sponsor=1" + } + }, + "node_modules/oas-resolver": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/oas-resolver/-/oas-resolver-2.5.6.tgz", + "integrity": "sha512-Yx5PWQNZomfEhPPOphFbZKi9W93CocQj18NlD2Pa4GWZzdZpSJvYwoiuurRI7m3SpcChrnO08hkuQDL3FGsVFQ==", + "dev": true, + "dependencies": { + "node-fetch-h2": "^2.3.0", + "oas-kit-common": "^1.0.8", + "reftools": "^1.1.9", + "yaml": "^1.10.0", + "yargs": "^17.0.1" + }, + "bin": { + "resolve": "resolve.js" + }, + "funding": { + "url": "https://github.com/Mermade/oas-kit?sponsor=1" + } + }, + "node_modules/oas-resolver/node_modules/cliui": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", + "dev": true, + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/oas-resolver/node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/oas-resolver/node_modules/yargs": { + "version": "17.7.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", + "dev": true, + "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.5", + "yargs-parser": "^21.1.1" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/oas-resolver/node_modules/yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "dev": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/oas-schema-walker": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/oas-schema-walker/-/oas-schema-walker-1.1.5.tgz", + "integrity": "sha512-2yucenq1a9YPmeNExoUa9Qwrt9RFkjqaMAA1X+U7sbb0AqBeTIdMHky9SQQ6iN94bO5NW0W4TRYXerG+BdAvAQ==", + "dev": true, + "funding": { + "url": "https://github.com/Mermade/oas-kit?sponsor=1" + } + }, + "node_modules/oas-validator": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/oas-validator/-/oas-validator-5.0.8.tgz", + "integrity": "sha512-cu20/HE5N5HKqVygs3dt94eYJfBi0TsZvPVXDhbXQHiEityDN+RROTleefoKRKKJ9dFAF2JBkDHgvWj0sjKGmw==", + "dev": true, + "dependencies": { + "call-me-maybe": "^1.0.1", + "oas-kit-common": "^1.0.8", + "oas-linter": "^3.2.2", + "oas-resolver": "^2.5.6", + "oas-schema-walker": "^1.1.5", + "reftools": "^1.1.9", + "should": "^13.2.1", + "yaml": "^1.10.0" + }, + "funding": { + "url": "https://github.com/Mermade/oas-kit?sponsor=1" + } + }, + "node_modules/oauth-sign": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", + "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-copy": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", + "integrity": "sha512-79LYn6VAb63zgtmAteVOWo9Vdj71ZVBy3Pbse+VqxDpEP83XuujMrGqHIwAXJ5I/aM0zU7dIyIAhifVTPrNItQ==", + "dev": true, + "dependencies": { + "copy-descriptor": "^0.1.0", + "define-property": "^0.2.5", + "kind-of": "^3.0.3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-copy/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "dev": true, + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-copy/node_modules/is-descriptor": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.7.tgz", + "integrity": "sha512-C3grZTvObeN1xud4cRWl366OMXZTj0+HGyk4hvfpx4ZHt1Pb60ANSXqCK7pdOTeUQpRzECBSTphqvD7U+l22Eg==", + "dev": true, + "dependencies": { + "is-accessor-descriptor": "^1.0.1", + "is-data-descriptor": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object-copy/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-inspect": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz", + "integrity": "sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object-is": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.6.tgz", + "integrity": "sha512-F8cZ+KfGlSGi09lJT7/Nd6KJZ9ygtvYC0/UYYLI9nmQKLMnydpB9yvbv9K1uSkEu7FU9vYPmVwLg328tX+ot3Q==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object-visit": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", + "integrity": "sha512-GBaMwwAVK9qbQN3Scdo0OyvgPW7l3lnaVMj84uTOZlswkX0KpF6fyDBJhtTthf7pymztoN36/KEr1DyhF96zEA==", + "dev": true, + "dependencies": { + "isobject": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object.assign": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.5.tgz", + "integrity": "sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==", + "dependencies": { + "call-bind": "^1.0.5", + "define-properties": "^1.2.1", + "has-symbols": "^1.0.3", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.entries": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.8.tgz", + "integrity": "sha512-cmopxi8VwRIAw/fkijJohSfpef5PdN0pMQJN6VC/ZKvn0LIknWD8KtgY6KlQdEc4tIjcQ3HxSMmnvtzIscdaYQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.fromentries": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.8.tgz", + "integrity": "sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.hasown": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/object.hasown/-/object.hasown-1.1.4.tgz", + "integrity": "sha512-FZ9LZt9/RHzGySlBARE3VF+gE26TxR38SdmqOqliuTnl9wrKulaQs+4dee1V+Io8VfxqzAfHu6YuRgUy8OHoTg==", + "dev": true, + "dependencies": { + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.pick": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", + "integrity": "sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ==", + "dev": true, + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object.values": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.2.0.tgz", + "integrity": "sha512-yBYjY9QX2hnRmZHAjG/f13MzmBzxzYgQhFrke06TTyKY5zSTEqkOeukBzIdVA3j3ulu8Qa3MbVFShV7T2RmGtQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/omit.js": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/omit.js/-/omit.js-2.0.2.tgz", + "integrity": "sha512-hJmu9D+bNB40YpL9jYebQl4lsTW6yEHRTroJzNLqQJYHm7c+NQnJGfZmIWh8S3q3KoaxV1aLhV6B3+0N0/kyJg==" + }, + "node_modules/on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "dev": true, + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/on-headers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", + "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dev": true, + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/open": { + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/open/-/open-6.4.0.tgz", + "integrity": "sha512-IFenVPgF70fSm1keSd2iDBIDIBZkroLeuffXq+wKTzTJlBpesFWojV9lb8mzOfaAzM1sr7HQHuO0vtV0zYekGg==", + "dev": true, + "dependencies": { + "is-wsl": "^1.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/open/node_modules/is-wsl": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", + "integrity": "sha512-gfygJYZ2gLTDlmbWMI0CE2MwnFzSN/2SZfkMlItC4K/JBlsWVDB0bO6XhqcY13YXE7iMcAJnzTCJjPiTeJJ0Mw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/openapi3-ts": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/openapi3-ts/-/openapi3-ts-2.0.2.tgz", + "integrity": "sha512-TxhYBMoqx9frXyOgnRHufjQfPXomTIHYKhSKJ6jHfj13kS8OEIhvmE8CTuQyKtjjWttAjX5DPxM1vmalEpo8Qw==", + "dev": true, + "dependencies": { + "yaml": "^1.10.2" + } + }, + "node_modules/optionator": { + "version": "0.9.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", + "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==", + "dev": true, + "dependencies": { + "@aashutoshrathi/word-wrap": "^1.2.3", + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/ora": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/ora/-/ora-5.4.1.tgz", + "integrity": "sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==", + "dev": true, + "dependencies": { + "bl": "^4.1.0", + "chalk": "^4.1.0", + "cli-cursor": "^3.1.0", + "cli-spinners": "^2.5.0", + "is-interactive": "^1.0.0", + "is-unicode-supported": "^0.1.0", + "log-symbols": "^4.1.0", + "strip-ansi": "^6.0.0", + "wcwidth": "^1.0.1" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ora/node_modules/cli-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", + "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", + "dev": true, + "dependencies": { + "restore-cursor": "^3.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/ora/node_modules/restore-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", + "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", + "dev": true, + "dependencies": { + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/orderedmap": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/orderedmap/-/orderedmap-2.1.1.tgz", + "integrity": "sha512-TvAWxi0nDe1j/rtMcWcIj94+Ffe6n7zhow33h40SKxmsmozs6dz/e+EajymfoFcHd7sxNn8yHM8839uixMOV6g==" + }, + "node_modules/os-browserify": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", + "integrity": "sha512-gjcpUc3clBf9+210TRaDWbf+rZZZEshZ+DlXMRCeAjp0xhTrnQsKHypIy1J3d5hKdUzj69t708EHtU8P6bUn0A==" + }, + "node_modules/os-homedir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", + "integrity": "sha512-B5JU3cabzk8c67mRRd3ECmROafjYMXbuzlwtqdM8IbS8ktlTix8aFGb2bAGKrSRIlnfKwovGUUr72JUPyOb6kQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/os-locale": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-5.0.0.tgz", + "integrity": "sha512-tqZcNEDAIZKBEPnHPlVDvKrp7NzgLi7jRmhKiUoa2NUmhl13FtkAGLUVR+ZsYvApBQdBfYm43A4tXXQ4IrYLBA==", + "dev": true, + "dependencies": { + "execa": "^4.0.0", + "lcid": "^3.0.0", + "mem": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/os-locale/node_modules/execa": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-4.1.0.tgz", + "integrity": "sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==", + "dev": true, + "dependencies": { + "cross-spawn": "^7.0.0", + "get-stream": "^5.0.0", + "human-signals": "^1.1.1", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.0", + "onetime": "^5.1.0", + "signal-exit": "^3.0.2", + "strip-final-newline": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/os-locale/node_modules/get-stream": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", + "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", + "dev": true, + "dependencies": { + "pump": "^3.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/os-locale/node_modules/human-signals": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz", + "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==", + "dev": true, + "engines": { + "node": ">=8.12.0" + } + }, + "node_modules/os-locale/node_modules/pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "dev": true, + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "node_modules/os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/osenv": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz", + "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==", + "dev": true, + "dependencies": { + "os-homedir": "^1.0.0", + "os-tmpdir": "^1.0.0" + } + }, + "node_modules/p-cancelable": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-1.1.0.tgz", + "integrity": "sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/p-defer": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-defer/-/p-defer-1.0.0.tgz", + "integrity": "sha512-wB3wfAxZpk2AzOfUMJNL+d36xothRSyj8EXOa4f6GMqYDN9BJaaSISbsk+wS9abmnebVw95C2Kb5t85UmpCxuw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/p-each-series": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-each-series/-/p-each-series-2.2.0.tgz", + "integrity": "sha512-ycIL2+1V32th+8scbpTvyHNaHe02z0sjgh91XXjAk+ZeXoPN4Z46DVUnzdso0aX4KckKw0FNNFHdjZ2UsZvxiA==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-finally": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", + "integrity": "sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==", + "engines": { + "node": ">=4" + } + }, + "node_modules/p-is-promise": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/p-is-promise/-/p-is-promise-2.1.0.tgz", + "integrity": "sha512-Y3W0wlRPK8ZMRbNq97l4M5otioeA5lm1z7bkNkxCka8HSPjR0xRWmpCmc9utiaLP9Jb1eD8BgeIxTW4AIF45Pg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/p-map": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", + "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", + "dev": true, + "dependencies": { + "aggregate-error": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "engines": { + "node": ">=6" + } + }, + "node_modules/package-json": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/package-json/-/package-json-4.0.1.tgz", + "integrity": "sha512-q/R5GrMek0vzgoomq6rm9OX+3PQve8sLwTirmK30YB3Cu0Bbt9OX9M/SIUnroN5BGJkzwGsFwDaRGD9EwBOlCA==", + "dev": true, + "dependencies": { + "got": "^6.7.1", + "registry-auth-token": "^3.0.1", + "registry-url": "^3.0.3", + "semver": "^5.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/package-json/node_modules/semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "dev": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/pacote": { + "version": "2.7.38", + "resolved": "https://registry.npmjs.org/pacote/-/pacote-2.7.38.tgz", + "integrity": "sha512-XxHUyHQB7QCVBxoXeVu0yKxT+2PvJucsc0+1E+6f95lMUxEAYERgSAc71ckYXrYr35Ew3xFU/LrhdIK21GQFFA==", + "dev": true, + "dependencies": { + "bluebird": "^3.5.0", + "cacache": "^9.2.9", + "glob": "^7.1.2", + "lru-cache": "^4.1.1", + "make-fetch-happen": "^2.4.13", + "minimatch": "^3.0.4", + "mississippi": "^1.2.0", + "normalize-package-data": "^2.4.0", + "npm-package-arg": "^5.1.2", + "npm-pick-manifest": "^1.0.4", + "osenv": "^0.1.4", + "promise-inflight": "^1.0.1", + "promise-retry": "^1.1.1", + "protoduck": "^4.0.0", + "safe-buffer": "^5.1.1", + "semver": "^5.3.0", + "ssri": "^4.1.6", + "tar-fs": "^1.15.3", + "tar-stream": "^1.5.4", + "unique-filename": "^1.1.0", + "which": "^1.2.12" + } + }, + "node_modules/pacote/node_modules/lru-cache": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", + "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", + "dev": true, + "dependencies": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } + }, + "node_modules/pacote/node_modules/semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "dev": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/pacote/node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" + } + }, + "node_modules/pacote/node_modules/yallist": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", + "integrity": "sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A==", + "dev": true + }, + "node_modules/pako": { + "version": "0.2.9", + "resolved": "https://registry.npmjs.org/pako/-/pako-0.2.9.tgz", + "integrity": "sha512-NUcwaKxUxWrZLpDG+z/xZaCgQITkA/Dv4V/T6bw7VON6l1Xz/VnrBqrYjZQ12TamKHzITTfOEIYUj48y2KXImA==", + "dev": true + }, + "node_modules/parallel-transform": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.2.0.tgz", + "integrity": "sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg==", + "dev": true, + "dependencies": { + "cyclist": "^1.0.1", + "inherits": "^2.0.3", + "readable-stream": "^2.1.5" + } + }, + "node_modules/parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/parse-asn1": { + "version": "5.1.7", + "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.7.tgz", + "integrity": "sha512-CTM5kuWR3sx9IFamcl5ErfPl6ea/N8IYwiJ+vpeB2g+1iknv7zBl5uPwbMbRVznRVbrNY6lGuDoE5b30grmbqg==", + "dependencies": { + "asn1.js": "^4.10.1", + "browserify-aes": "^1.2.0", + "evp_bytestokey": "^1.0.3", + "hash-base": "~3.0", + "pbkdf2": "^3.1.2", + "safe-buffer": "^5.2.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/parse-entities": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-2.0.0.tgz", + "integrity": "sha512-kkywGpCcRYhqQIchaWqZ875wzpS/bMKhz5HnN3p7wveJTkTtyAB/AlnS0f8DFSqYW1T82t6yEAkEcB+A1I3MbQ==", + "dev": true, + "dependencies": { + "character-entities": "^1.0.0", + "character-entities-legacy": "^1.0.0", + "character-reference-invalid": "^1.0.0", + "is-alphanumerical": "^1.0.0", + "is-decimal": "^1.0.0", + "is-hexadecimal": "^1.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/parse-git-config": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/parse-git-config/-/parse-git-config-1.1.1.tgz", + "integrity": "sha512-S3LGXJZVSy/hswvbSkfdbKBRVsnqKrVu6j8fcvdtJ4TxosSELyQDsJPuGPXuZ+EyuYuJd3O4uAF8gcISR0OFrQ==", + "dev": true, + "dependencies": { + "extend-shallow": "^2.0.1", + "fs-exists-sync": "^0.1.0", + "git-config-path": "^1.0.1", + "ini": "^1.3.4" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "dependencies": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/parse-passwd": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz", + "integrity": "sha512-1Y1A//QUXEZK7YKz+rD9WydcE1+EuPr6ZBgKecAB8tmoW6UFv0NREVJe1p+jRxtThkcbbKkfwIbWJe/IeE6m2Q==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/parse-path": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/parse-path/-/parse-path-4.0.4.tgz", + "integrity": "sha512-Z2lWUis7jlmXC1jeOG9giRO2+FsuyNipeQ43HAjqAZjwSe3SEf+q/84FGPHoso3kyntbxa4c4i77t3m6fGf8cw==", + "dev": true, + "dependencies": { + "is-ssh": "^1.3.0", + "protocols": "^1.4.0", + "qs": "^6.9.4", + "query-string": "^6.13.8" + } + }, + "node_modules/parse-path/node_modules/protocols": { + "version": "1.4.8", + "resolved": "https://registry.npmjs.org/protocols/-/protocols-1.4.8.tgz", + "integrity": "sha512-IgjKyaUSjsROSO8/D49Ab7hP8mJgTYcqApOqdPhLoPxAplXmkp+zRvsrSQjFn5by0rhm4VH0GAUELIPpx7B1yg==", + "dev": true + }, + "node_modules/parse-url": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/parse-url/-/parse-url-6.0.5.tgz", + "integrity": "sha512-e35AeLTSIlkw/5GFq70IN7po8fmDUjpDPY1rIK+VubRfsUvBonjQ+PBZG+vWMACnQSmNlvl524IucoDmcioMxA==", + "dev": true, + "dependencies": { + "is-ssh": "^1.3.0", + "normalize-url": "^6.1.0", + "parse-path": "^4.0.0", + "protocols": "^1.4.0" + } + }, + "node_modules/parse-url/node_modules/protocols": { + "version": "1.4.8", + "resolved": "https://registry.npmjs.org/protocols/-/protocols-1.4.8.tgz", + "integrity": "sha512-IgjKyaUSjsROSO8/D49Ab7hP8mJgTYcqApOqdPhLoPxAplXmkp+zRvsrSQjFn5by0rhm4VH0GAUELIPpx7B1yg==", + "dev": true + }, + "node_modules/parse5": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz", + "integrity": "sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==", + "dev": true, + "dependencies": { + "entities": "^4.4.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" + } + }, + "node_modules/parse5-htmlparser2-tree-adapter": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-7.0.0.tgz", + "integrity": "sha512-B77tOZrqqfUfnVcOrUvfdLbz4pu4RopLD/4vmu3HUPswwTA8OH0EMW9BlWR2B0RCoiZRAHEUu7IxeP1Pd1UU+g==", + "dev": true, + "dependencies": { + "domhandler": "^5.0.2", + "parse5": "^7.0.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" + } + }, + "node_modules/parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/pascalcase": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", + "integrity": "sha512-XHXfu/yOQRy9vYOtUDVMN60OEJjW013GoObG1o+xwQTpB9eYJX/BjXMsdW13ZDPruFhYYn0AG22w0xgQMwl3Nw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-browserify": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz", + "integrity": "sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==" + }, + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-is-inside": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", + "integrity": "sha512-DUWJr3+ULp4zXmol/SZkFf3JGsS9/SIv+Y3Rt93/UjPpDpklB5f1er4O3POIbUuUJ3FXgqte2Q7SrU6zAqwk8w==", + "dev": true + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true + }, + "node_modules/path-to-regexp": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-2.4.0.tgz", + "integrity": "sha512-G6zHoVqC6GGTQkZwF4lkuEyMbVOjoBKAEybQUypI1WTkqinCOrq2x6U2+phkJ1XsEMTy4LjtwPI7HW+NVrRR2w==" + }, + "node_modules/path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "engines": { + "node": ">=8" + } + }, + "node_modules/pbkdf2": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz", + "integrity": "sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==", + "dependencies": { + "create-hash": "^1.1.2", + "create-hmac": "^1.1.4", + "ripemd160": "^2.0.1", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + }, + "engines": { + "node": ">=0.12" + } + }, + "node_modules/pend": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", + "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==", + "dev": true + }, + "node_modules/performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==", + "dev": true + }, + "node_modules/picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pinkie-promise": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha512-0Gni6D4UcLTbv9c57DfxDGdr41XfgUjqWZu492f0cIGr16zDU06BWP/RAEvOuo7CQ0CNjHaLlM59YJJFm3NWlw==", + "dev": true, + "dependencies": { + "pinkie": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pirates": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", + "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/pkg-conf": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/pkg-conf/-/pkg-conf-2.1.0.tgz", + "integrity": "sha512-C+VUP+8jis7EsQZIhDYmS5qlNtjv2yP4SNtjXK9AP1ZcTRlnSfuumaTnRfYZnYgUUYVIKqL0fRvmUGDV2fmp6g==", + "dev": true, + "dependencies": { + "find-up": "^2.0.0", + "load-json-file": "^4.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/pkg-conf/node_modules/find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha512-NWzkk0jSJtTt08+FBFMvXoeZnOJD+jTtsRmBYbAIzJdX6l7dLgR7CTubCM5/eDdPUBvLCeVasP1brfVR/9/EZQ==", + "dev": true, + "dependencies": { + "locate-path": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/pkg-conf/node_modules/locate-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA==", + "dev": true, + "dependencies": { + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/pkg-conf/node_modules/p-limit": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", + "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", + "dev": true, + "dependencies": { + "p-try": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/pkg-conf/node_modules/p-locate": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha512-nQja7m7gSKuewoVRen45CtVfODR3crN3goVQ0DDZ9N3yHxgpkuBhZqsaiotSQRrADUrne346peY7kT3TSACykg==", + "dev": true, + "dependencies": { + "p-limit": "^1.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/pkg-conf/node_modules/p-try": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/pkg-conf/node_modules/path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "dev": true, + "dependencies": { + "find-up": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pkg-up": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-3.1.0.tgz", + "integrity": "sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA==", + "dependencies": { + "find-up": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pkg-up/node_modules/find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dependencies": { + "locate-path": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/pkg-up/node_modules/locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dependencies": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/pkg-up/node_modules/p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dependencies": { + "p-limit": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/pkg-up/node_modules/path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", + "engines": { + "node": ">=4" + } + }, + "node_modules/playwright": { + "version": "1.42.1", + "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.42.1.tgz", + "integrity": "sha512-PgwB03s2DZBcNRoW+1w9E+VkLBxweib6KTXM0M3tkiT4jVxKSi6PmVJ591J+0u10LUrgxB7dLRbiJqO5s2QPMg==", + "dev": true, + "dependencies": { + "playwright-core": "1.42.1" + }, + "bin": { + "playwright": "cli.js" + }, + "engines": { + "node": ">=16" + }, + "optionalDependencies": { + "fsevents": "2.3.2" + } + }, + "node_modules/playwright-core": { + "version": "1.42.1", + "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.42.1.tgz", + "integrity": "sha512-mxz6zclokgrke9p1vtdy/COWBH+eOZgYUVVU34C73M+4j4HLlQJHtfcqiqqxpP0o8HhMkflvfbquLX5dg6wlfA==", + "dev": true, + "bin": { + "playwright-core": "cli.js" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/playwright/node_modules/fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/please-upgrade-node": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/please-upgrade-node/-/please-upgrade-node-3.2.0.tgz", + "integrity": "sha512-gQR3WpIgNIKwBMVLkpMUeR3e1/E1y42bqDQZfql+kDeXd8COYfM8PQA4X6y7a8u9Ua9FHmsrrmirW2vHs45hWg==", + "dev": true, + "dependencies": { + "semver-compare": "^1.0.0" + } + }, + "node_modules/plur": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/plur/-/plur-4.0.0.tgz", + "integrity": "sha512-4UGewrYgqDFw9vV6zNV+ADmPAUAfJPKtGvb/VdpQAx25X5f3xXdGdyOEVFwkl8Hl/tl7+xbeHqSEM+D5/TirUg==", + "dev": true, + "dependencies": { + "irregular-plurals": "^3.2.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/pluralize": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-8.0.0.tgz", + "integrity": "sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/pngjs": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/pngjs/-/pngjs-2.3.1.tgz", + "integrity": "sha512-ITNPqvx+SSssNFOgHQzGG87HrqQ0g2nMSHc1jjU5Piq9xJEJ40fiFEPz0S5HSSXxBHrTnhaBHIayTO5aRfk2vw==", + "dev": true, + "engines": { + "iojs": ">= 1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/pngjs-image": { + "version": "0.11.7", + "resolved": "https://registry.npmjs.org/pngjs-image/-/pngjs-image-0.11.7.tgz", + "integrity": "sha512-JRyrmT+HXa1/gvdHpebus8TGqKa8WRgcsHz/DDalxRsMhvu6AOA99/enBFjZIPvmXVAzwKR051s80TuE1IiCpg==", + "dev": true, + "dependencies": { + "iconv-lite": "^0.4.8", + "pako": "^0.2.6", + "pngjs": "2.3.1", + "request": "^2.55.0", + "stream-buffers": "1.0.1", + "underscore": "1.7.0" + } + }, + "node_modules/posix-character-classes": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", + "integrity": "sha512-xTgYBc3fuo7Yt7JbiuFxSYGToMoz8fLoE6TC9Wx1P/u+LfeThMOAqmuyECnlBaaJb+u1m9hHiXUEtwW4OzfUJg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/possible-typed-array-names": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.0.0.tgz", + "integrity": "sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==", + "dev": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dependencies": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + } + }, + "node_modules/postcss-attribute-case-insensitive": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-attribute-case-insensitive/-/postcss-attribute-case-insensitive-4.0.2.tgz", + "integrity": "sha512-clkFxk/9pcdb4Vkn0hAHq3YnxBQ2p0CGD1dy24jN+reBck+EWxMbxSUqN4Yj7t0w8csl87K6p0gxBe1utkJsYA==", + "dependencies": { + "postcss": "^7.0.2", + "postcss-selector-parser": "^6.0.2" + } + }, + "node_modules/postcss-color-functional-notation": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/postcss-color-functional-notation/-/postcss-color-functional-notation-2.0.1.tgz", + "integrity": "sha512-ZBARCypjEDofW4P6IdPVTLhDNXPRn8T2s1zHbZidW6rPaaZvcnCS2soYFIQJrMZSxiePJ2XIYTlcb2ztr/eT2g==", + "dependencies": { + "postcss": "^7.0.2", + "postcss-values-parser": "^2.0.0" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/postcss-color-gray": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/postcss-color-gray/-/postcss-color-gray-5.0.0.tgz", + "integrity": "sha512-q6BuRnAGKM/ZRpfDascZlIZPjvwsRye7UDNalqVz3s7GDxMtqPY6+Q871liNxsonUw8oC61OG+PSaysYpl1bnw==", + "dependencies": { + "@csstools/convert-colors": "^1.4.0", + "postcss": "^7.0.5", + "postcss-values-parser": "^2.0.0" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/postcss-color-hex-alpha": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/postcss-color-hex-alpha/-/postcss-color-hex-alpha-5.0.3.tgz", + "integrity": "sha512-PF4GDel8q3kkreVXKLAGNpHKilXsZ6xuu+mOQMHWHLPNyjiUBOr75sp5ZKJfmv1MCus5/DWUGcK9hm6qHEnXYw==", + "dependencies": { + "postcss": "^7.0.14", + "postcss-values-parser": "^2.0.1" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/postcss-color-mod-function": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/postcss-color-mod-function/-/postcss-color-mod-function-3.0.3.tgz", + "integrity": "sha512-YP4VG+xufxaVtzV6ZmhEtc+/aTXH3d0JLpnYfxqTvwZPbJhWqp8bSY3nfNzNRFLgB4XSaBA82OE4VjOOKpCdVQ==", + "dependencies": { + "@csstools/convert-colors": "^1.4.0", + "postcss": "^7.0.2", + "postcss-values-parser": "^2.0.0" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/postcss-color-rebeccapurple": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-color-rebeccapurple/-/postcss-color-rebeccapurple-4.0.1.tgz", + "integrity": "sha512-aAe3OhkS6qJXBbqzvZth2Au4V3KieR5sRQ4ptb2b2O8wgvB3SJBsdG+jsn2BZbbwekDG8nTfcCNKcSfe/lEy8g==", + "dependencies": { + "postcss": "^7.0.2", + "postcss-values-parser": "^2.0.0" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/postcss-custom-media": { + "version": "7.0.8", + "resolved": "https://registry.npmjs.org/postcss-custom-media/-/postcss-custom-media-7.0.8.tgz", + "integrity": "sha512-c9s5iX0Ge15o00HKbuRuTqNndsJUbaXdiNsksnVH8H4gdc+zbLzr/UasOwNG6CTDpLFekVY4672eWdiiWu2GUg==", + "dependencies": { + "postcss": "^7.0.14" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/postcss-custom-properties": { + "version": "8.0.11", + "resolved": "https://registry.npmjs.org/postcss-custom-properties/-/postcss-custom-properties-8.0.11.tgz", + "integrity": "sha512-nm+o0eLdYqdnJ5abAJeXp4CEU1c1k+eB2yMCvhgzsds/e0umabFrN6HoTy/8Q4K5ilxERdl/JD1LO5ANoYBeMA==", + "dependencies": { + "postcss": "^7.0.17", + "postcss-values-parser": "^2.0.1" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/postcss-custom-selectors": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/postcss-custom-selectors/-/postcss-custom-selectors-5.1.2.tgz", + "integrity": "sha512-DSGDhqinCqXqlS4R7KGxL1OSycd1lydugJ1ky4iRXPHdBRiozyMHrdu0H3o7qNOCiZwySZTUI5MV0T8QhCLu+w==", + "dependencies": { + "postcss": "^7.0.2", + "postcss-selector-parser": "^5.0.0-rc.3" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/postcss-custom-selectors/node_modules/cssesc": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-2.0.0.tgz", + "integrity": "sha512-MsCAG1z9lPdoO/IUMLSBWBSVxVtJ1395VGIQ+Fc2gNdkQ1hNDnQdw3YhA71WJCBW1vdwA0cAnk/DnW6bqoEUYg==", + "bin": { + "cssesc": "bin/cssesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-custom-selectors/node_modules/postcss-selector-parser": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-5.0.0.tgz", + "integrity": "sha512-w+zLE5Jhg6Liz8+rQOWEAwtwkyqpfnmsinXjXg6cY7YIONZZtgvE0v2O0uhQBs0peNomOJwWRKt6JBfTdTd3OQ==", + "dependencies": { + "cssesc": "^2.0.0", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-dir-pseudo-class": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/postcss-dir-pseudo-class/-/postcss-dir-pseudo-class-5.0.0.tgz", + "integrity": "sha512-3pm4oq8HYWMZePJY+5ANriPs3P07q+LW6FAdTlkFH2XqDdP4HeeJYMOzn0HYLhRSjBO3fhiqSwwU9xEULSrPgw==", + "dependencies": { + "postcss": "^7.0.2", + "postcss-selector-parser": "^5.0.0-rc.3" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/postcss-dir-pseudo-class/node_modules/cssesc": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-2.0.0.tgz", + "integrity": "sha512-MsCAG1z9lPdoO/IUMLSBWBSVxVtJ1395VGIQ+Fc2gNdkQ1hNDnQdw3YhA71WJCBW1vdwA0cAnk/DnW6bqoEUYg==", + "bin": { + "cssesc": "bin/cssesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-dir-pseudo-class/node_modules/postcss-selector-parser": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-5.0.0.tgz", + "integrity": "sha512-w+zLE5Jhg6Liz8+rQOWEAwtwkyqpfnmsinXjXg6cY7YIONZZtgvE0v2O0uhQBs0peNomOJwWRKt6JBfTdTd3OQ==", + "dependencies": { + "cssesc": "^2.0.0", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-double-position-gradients": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/postcss-double-position-gradients/-/postcss-double-position-gradients-1.0.0.tgz", + "integrity": "sha512-G+nV8EnQq25fOI8CH/B6krEohGWnF5+3A6H/+JEpOncu5dCnkS1QQ6+ct3Jkaepw1NGVqqOZH6lqrm244mCftA==", + "dependencies": { + "postcss": "^7.0.5", + "postcss-values-parser": "^2.0.0" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/postcss-env-function": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/postcss-env-function/-/postcss-env-function-2.0.2.tgz", + "integrity": "sha512-rwac4BuZlITeUbiBq60h/xbLzXY43qOsIErngWa4l7Mt+RaSkT7QBjXVGTcBHupykkblHMDrBFh30zchYPaOUw==", + "dependencies": { + "postcss": "^7.0.2", + "postcss-values-parser": "^2.0.0" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/postcss-flexbugs-fixes": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/postcss-flexbugs-fixes/-/postcss-flexbugs-fixes-4.2.1.tgz", + "integrity": "sha512-9SiofaZ9CWpQWxOwRh1b/r85KD5y7GgvsNt1056k6OYLvWUun0czCvogfJgylC22uJTwW1KzY3Gz65NZRlvoiQ==", + "dependencies": { + "postcss": "^7.0.26" + } + }, + "node_modules/postcss-focus-visible": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-focus-visible/-/postcss-focus-visible-4.0.0.tgz", + "integrity": "sha512-Z5CkWBw0+idJHSV6+Bgf2peDOFf/x4o+vX/pwcNYrWpXFrSfTkQ3JQ1ojrq9yS+upnAlNRHeg8uEwFTgorjI8g==", + "dependencies": { + "postcss": "^7.0.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/postcss-focus-within": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postcss-focus-within/-/postcss-focus-within-3.0.0.tgz", + "integrity": "sha512-W0APui8jQeBKbCGZudW37EeMCjDeVxKgiYfIIEo8Bdh5SpB9sxds/Iq8SEuzS0Q4YFOlG7EPFulbbxujpkrV2w==", + "dependencies": { + "postcss": "^7.0.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/postcss-font-variant": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-font-variant/-/postcss-font-variant-4.0.1.tgz", + "integrity": "sha512-I3ADQSTNtLTTd8uxZhtSOrTCQ9G4qUVKPjHiDk0bV75QSxXjVWiJVJ2VLdspGUi9fbW9BcjKJoRvxAH1pckqmA==", + "dependencies": { + "postcss": "^7.0.2" + } + }, + "node_modules/postcss-gap-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/postcss-gap-properties/-/postcss-gap-properties-2.0.0.tgz", + "integrity": "sha512-QZSqDaMgXCHuHTEzMsS2KfVDOq7ZFiknSpkrPJY6jmxbugUPTuSzs/vuE5I3zv0WAS+3vhrlqhijiprnuQfzmg==", + "dependencies": { + "postcss": "^7.0.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/postcss-html": { + "version": "0.36.0", + "resolved": "https://registry.npmjs.org/postcss-html/-/postcss-html-0.36.0.tgz", + "integrity": "sha512-HeiOxGcuwID0AFsNAL0ox3mW6MHH5cstWN1Z3Y+n6H+g12ih7LHdYxWwEA/QmrebctLjo79xz9ouK3MroHwOJw==", + "dev": true, + "dependencies": { + "htmlparser2": "^3.10.0" + }, + "peerDependencies": { + "postcss": ">=5.0.0", + "postcss-syntax": ">=0.36.0" + } + }, + "node_modules/postcss-html/node_modules/dom-serializer": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz", + "integrity": "sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==", + "dev": true, + "dependencies": { + "domelementtype": "^2.0.1", + "entities": "^2.0.0" + } + }, + "node_modules/postcss-html/node_modules/dom-serializer/node_modules/domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ] + }, + "node_modules/postcss-html/node_modules/dom-serializer/node_modules/entities": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "dev": true, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/postcss-html/node_modules/domelementtype": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz", + "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==", + "dev": true + }, + "node_modules/postcss-html/node_modules/domhandler": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.4.2.tgz", + "integrity": "sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA==", + "dev": true, + "dependencies": { + "domelementtype": "1" + } + }, + "node_modules/postcss-html/node_modules/domutils": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz", + "integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==", + "dev": true, + "dependencies": { + "dom-serializer": "0", + "domelementtype": "1" + } + }, + "node_modules/postcss-html/node_modules/entities": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz", + "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==", + "dev": true + }, + "node_modules/postcss-html/node_modules/htmlparser2": { + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.10.1.tgz", + "integrity": "sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ==", + "dev": true, + "dependencies": { + "domelementtype": "^1.3.1", + "domhandler": "^2.3.0", + "domutils": "^1.5.1", + "entities": "^1.1.1", + "inherits": "^2.0.1", + "readable-stream": "^3.1.1" + } + }, + "node_modules/postcss-html/node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "dev": true, + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/postcss-image-set-function": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/postcss-image-set-function/-/postcss-image-set-function-3.0.1.tgz", + "integrity": "sha512-oPTcFFip5LZy8Y/whto91L9xdRHCWEMs3e1MdJxhgt4jy2WYXfhkng59fH5qLXSCPN8k4n94p1Czrfe5IOkKUw==", + "dependencies": { + "postcss": "^7.0.2", + "postcss-values-parser": "^2.0.0" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/postcss-initial": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/postcss-initial/-/postcss-initial-3.0.4.tgz", + "integrity": "sha512-3RLn6DIpMsK1l5UUy9jxQvoDeUN4gP939tDcKUHD/kM8SGSKbFAnvkpFpj3Bhtz3HGk1jWY5ZNWX6mPta5M9fg==", + "dependencies": { + "postcss": "^7.0.2" + } + }, + "node_modules/postcss-js": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-2.0.3.tgz", + "integrity": "sha512-zS59pAk3deu6dVHyrGqmC3oDXBdNdajk4k1RyxeVXCrcEDBUBHoIhE4QTsmhxgzXxsaqFDAkUZfmMa5f/N/79w==", + "dev": true, + "dependencies": { + "camelcase-css": "^2.0.1", + "postcss": "^7.0.18" + } + }, + "node_modules/postcss-lab-function": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/postcss-lab-function/-/postcss-lab-function-2.0.1.tgz", + "integrity": "sha512-whLy1IeZKY+3fYdqQFuDBf8Auw+qFuVnChWjmxm/UhHWqNHZx+B99EwxTvGYmUBqe3Fjxs4L1BoZTJmPu6usVg==", + "dependencies": { + "@csstools/convert-colors": "^1.4.0", + "postcss": "^7.0.2", + "postcss-values-parser": "^2.0.0" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/postcss-less": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-less/-/postcss-less-4.0.1.tgz", + "integrity": "sha512-C92S4sHlbDpefJ2QQJjrucCcypq3+KZPstjfuvgOCNnGx0tF9h8hXgAlOIATGAxMXZXaF+nVp+/Mi8pCAWdSmw==", + "dev": true, + "dependencies": { + "postcss": "^8.1.2" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/postcss-less/node_modules/nanoid": { + "version": "3.3.7", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", + "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/postcss-less/node_modules/postcss": { + "version": "8.4.38", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.38.tgz", + "integrity": "sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "nanoid": "^3.3.7", + "picocolors": "^1.0.0", + "source-map-js": "^1.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/postcss-load-config": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-2.1.2.tgz", + "integrity": "sha512-/rDeGV6vMUo3mwJZmeHfEDvwnTKKqQ0S7OHUi/kJvvtx3aWtyWG2/0ZWnzCt2keEclwN6Tf0DST2v9kITdOKYw==", + "dependencies": { + "cosmiconfig": "^5.0.0", + "import-cwd": "^2.0.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + } + }, + "node_modules/postcss-load-config/node_modules/cosmiconfig": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.1.tgz", + "integrity": "sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==", + "dependencies": { + "import-fresh": "^2.0.0", + "is-directory": "^0.3.1", + "js-yaml": "^3.13.1", + "parse-json": "^4.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-load-config/node_modules/import-fresh": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz", + "integrity": "sha512-eZ5H8rcgYazHbKC3PG4ClHNykCSxtAhxSSEM+2mb+7evD2CKF5V7c0dNum7AdpDh0ZdICwZY9sRSn8f+KH96sg==", + "dependencies": { + "caller-path": "^2.0.0", + "resolve-from": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-load-config/node_modules/parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==", + "dependencies": { + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-load-config/node_modules/resolve-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", + "integrity": "sha512-GnlH6vxLymXJNMBo7XP1fJIzBFbdYt49CuTwmB/6N53t+kMPRMFKz783LlQ4tv28XoQfMWinAJX6WCGf2IlaIw==", + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-loader": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-3.0.0.tgz", + "integrity": "sha512-cLWoDEY5OwHcAjDnkyRQzAXfs2jrKjXpO/HQFcc5b5u/r7aa471wdmChmwfnv7x2u840iat/wi0lQ5nbRgSkUA==", + "dependencies": { + "loader-utils": "^1.1.0", + "postcss": "^7.0.0", + "postcss-load-config": "^2.0.0", + "schema-utils": "^1.0.0" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/postcss-loader/node_modules/json5": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", + "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", + "dependencies": { + "minimist": "^1.2.0" + }, + "bin": { + "json5": "lib/cli.js" + } + }, + "node_modules/postcss-loader/node_modules/loader-utils": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.2.tgz", + "integrity": "sha512-I5d00Pd/jwMD2QCduo657+YM/6L3KZu++pmX9VFncxaxvHcru9jx1lBaFft+r4Mt2jK0Yhp41XlRAihzPxHNCg==", + "dependencies": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/postcss-loader/node_modules/schema-utils": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", + "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", + "dependencies": { + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" + }, + "engines": { + "node": ">= 4" + } + }, + "node_modules/postcss-logical": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postcss-logical/-/postcss-logical-3.0.0.tgz", + "integrity": "sha512-1SUKdJc2vuMOmeItqGuNaC+N8MzBWFWEkAnRnLpFYj1tGGa7NqyVBujfRtgNa2gXR+6RkGUiB2O5Vmh7E2RmiA==", + "dependencies": { + "postcss": "^7.0.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/postcss-media-minmax": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-media-minmax/-/postcss-media-minmax-4.0.0.tgz", + "integrity": "sha512-fo9moya6qyxsjbFAYl97qKO9gyre3qvbMnkOZeZwlsW6XYFsvs2DMGDlchVLfAd8LHPZDxivu/+qW2SMQeTHBw==", + "dependencies": { + "postcss": "^7.0.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/postcss-media-query-parser": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/postcss-media-query-parser/-/postcss-media-query-parser-0.2.3.tgz", + "integrity": "sha512-3sOlxmbKcSHMjlUXQZKQ06jOswE7oVkXPxmZdoB1r5l0q6gTFTQSHxNxOrCccElbW7dxNytifNEo8qidX2Vsig==", + "dev": true + }, + "node_modules/postcss-nesting": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/postcss-nesting/-/postcss-nesting-7.0.1.tgz", + "integrity": "sha512-FrorPb0H3nuVq0Sff7W2rnc3SmIcruVC6YwpcS+k687VxyxO33iE1amna7wHuRVzM8vfiYofXSBHNAZ3QhLvYg==", + "dependencies": { + "postcss": "^7.0.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/postcss-overflow-shorthand": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/postcss-overflow-shorthand/-/postcss-overflow-shorthand-2.0.0.tgz", + "integrity": "sha512-aK0fHc9CBNx8jbzMYhshZcEv8LtYnBIRYQD5i7w/K/wS9c2+0NSR6B3OVMu5y0hBHYLcMGjfU+dmWYNKH0I85g==", + "dependencies": { + "postcss": "^7.0.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/postcss-page-break": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/postcss-page-break/-/postcss-page-break-2.0.0.tgz", + "integrity": "sha512-tkpTSrLpfLfD9HvgOlJuigLuk39wVTbbd8RKcy8/ugV2bNBUW3xU+AIqyxhDrQr1VUj1RmyJrBn1YWrqUm9zAQ==", + "dependencies": { + "postcss": "^7.0.2" + } + }, + "node_modules/postcss-place": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-place/-/postcss-place-4.0.1.tgz", + "integrity": "sha512-Zb6byCSLkgRKLODj/5mQugyuj9bvAAw9LqJJjgwz5cYryGeXfFZfSXoP1UfveccFmeq0b/2xxwcTEVScnqGxBg==", + "dependencies": { + "postcss": "^7.0.2", + "postcss-values-parser": "^2.0.0" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/postcss-preset-env": { + "version": "6.7.0", + "resolved": "https://registry.npmjs.org/postcss-preset-env/-/postcss-preset-env-6.7.0.tgz", + "integrity": "sha512-eU4/K5xzSFwUFJ8hTdTQzo2RBLbDVt83QZrAvI07TULOkmyQlnYlpwep+2yIK+K+0KlZO4BvFcleOCCcUtwchg==", + "dependencies": { + "autoprefixer": "^9.6.1", + "browserslist": "^4.6.4", + "caniuse-lite": "^1.0.30000981", + "css-blank-pseudo": "^0.1.4", + "css-has-pseudo": "^0.10.0", + "css-prefers-color-scheme": "^3.1.1", + "cssdb": "^4.4.0", + "postcss": "^7.0.17", + "postcss-attribute-case-insensitive": "^4.0.1", + "postcss-color-functional-notation": "^2.0.1", + "postcss-color-gray": "^5.0.0", + "postcss-color-hex-alpha": "^5.0.3", + "postcss-color-mod-function": "^3.0.3", + "postcss-color-rebeccapurple": "^4.0.1", + "postcss-custom-media": "^7.0.8", + "postcss-custom-properties": "^8.0.11", + "postcss-custom-selectors": "^5.1.2", + "postcss-dir-pseudo-class": "^5.0.0", + "postcss-double-position-gradients": "^1.0.0", + "postcss-env-function": "^2.0.2", + "postcss-focus-visible": "^4.0.0", + "postcss-focus-within": "^3.0.0", + "postcss-font-variant": "^4.0.0", + "postcss-gap-properties": "^2.0.0", + "postcss-image-set-function": "^3.0.1", + "postcss-initial": "^3.0.0", + "postcss-lab-function": "^2.0.1", + "postcss-logical": "^3.0.0", + "postcss-media-minmax": "^4.0.0", + "postcss-nesting": "^7.0.0", + "postcss-overflow-shorthand": "^2.0.0", + "postcss-page-break": "^2.0.0", + "postcss-place": "^4.0.1", + "postcss-pseudo-class-any-link": "^6.0.0", + "postcss-replace-overflow-wrap": "^3.0.0", + "postcss-selector-matches": "^4.0.0", + "postcss-selector-not": "^4.0.0" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/postcss-pseudo-class-any-link": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-6.0.0.tgz", + "integrity": "sha512-lgXW9sYJdLqtmw23otOzrtbDXofUdfYzNm4PIpNE322/swES3VU9XlXHeJS46zT2onFO7V1QFdD4Q9LiZj8mew==", + "dependencies": { + "postcss": "^7.0.2", + "postcss-selector-parser": "^5.0.0-rc.3" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/postcss-pseudo-class-any-link/node_modules/cssesc": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-2.0.0.tgz", + "integrity": "sha512-MsCAG1z9lPdoO/IUMLSBWBSVxVtJ1395VGIQ+Fc2gNdkQ1hNDnQdw3YhA71WJCBW1vdwA0cAnk/DnW6bqoEUYg==", + "bin": { + "cssesc": "bin/cssesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-pseudo-class-any-link/node_modules/postcss-selector-parser": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-5.0.0.tgz", + "integrity": "sha512-w+zLE5Jhg6Liz8+rQOWEAwtwkyqpfnmsinXjXg6cY7YIONZZtgvE0v2O0uhQBs0peNomOJwWRKt6JBfTdTd3OQ==", + "dependencies": { + "cssesc": "^2.0.0", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-replace-overflow-wrap": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postcss-replace-overflow-wrap/-/postcss-replace-overflow-wrap-3.0.0.tgz", + "integrity": "sha512-2T5hcEHArDT6X9+9dVSPQdo7QHzG4XKclFT8rU5TzJPDN7RIRTbO9c4drUISOVemLj03aezStHCR2AIcr8XLpw==", + "dependencies": { + "postcss": "^7.0.2" + } + }, + "node_modules/postcss-resolve-nested-selector": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/postcss-resolve-nested-selector/-/postcss-resolve-nested-selector-0.1.1.tgz", + "integrity": "sha512-HvExULSwLqHLgUy1rl3ANIqCsvMS0WHss2UOsXhXnQaZ9VCc2oBvIpXrl00IUFT5ZDITME0o6oiXeiHr2SAIfw==", + "dev": true + }, + "node_modules/postcss-safe-parser": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-safe-parser/-/postcss-safe-parser-4.0.2.tgz", + "integrity": "sha512-Uw6ekxSWNLCPesSv/cmqf2bY/77z11O7jZGPax3ycZMFU/oi2DMH9i89AdHc1tRwFg/arFoEwX0IS3LCUxJh1g==", + "dependencies": { + "postcss": "^7.0.26" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/postcss-sass": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/postcss-sass/-/postcss-sass-0.4.4.tgz", + "integrity": "sha512-BYxnVYx4mQooOhr+zer0qWbSPYnarAy8ZT7hAQtbxtgVf8gy+LSLT/hHGe35h14/pZDTw1DsxdbrwxBN++H+fg==", + "dev": true, + "dependencies": { + "gonzales-pe": "^4.3.0", + "postcss": "^7.0.21" + } + }, + "node_modules/postcss-scss": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/postcss-scss/-/postcss-scss-2.1.1.tgz", + "integrity": "sha512-jQmGnj0hSGLd9RscFw9LyuSVAa5Bl1/KBPqG1NQw9w8ND55nY4ZEsdlVuYJvLPpV+y0nwTV5v/4rHPzZRihQbA==", + "dev": true, + "dependencies": { + "postcss": "^7.0.6" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/postcss-selector-matches": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-selector-matches/-/postcss-selector-matches-4.0.0.tgz", + "integrity": "sha512-LgsHwQR/EsRYSqlwdGzeaPKVT0Ml7LAT6E75T8W8xLJY62CE4S/l03BWIt3jT8Taq22kXP08s2SfTSzaraoPww==", + "dependencies": { + "balanced-match": "^1.0.0", + "postcss": "^7.0.2" + } + }, + "node_modules/postcss-selector-not": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-selector-not/-/postcss-selector-not-4.0.1.tgz", + "integrity": "sha512-YolvBgInEK5/79C+bdFMyzqTg6pkYqDbzZIST/PDMqa/o3qtXenD05apBG2jLgT0/BQ77d4U2UK12jWpilqMAQ==", + "dependencies": { + "balanced-match": "^1.0.0", + "postcss": "^7.0.2" + } + }, + "node_modules/postcss-selector-parser": { + "version": "6.0.16", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.16.tgz", + "integrity": "sha512-A0RVJrX+IUkVZbW3ClroRWurercFhieevHB38sr2+l9eUClMqome3LmEmnhlNy+5Mr2EYN6B2Kaw9wYdd+VHiw==", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-sorting": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/postcss-sorting/-/postcss-sorting-6.0.0.tgz", + "integrity": "sha512-bYJ0vgAiGbjCBKi7B07CzsBc9eM84nLEbavUmwNp8rAa+PNyrgdH+6PpnqTtciLuUs99c4rFQQmCaYgeBQYmSQ==", + "dev": true, + "dependencies": { + "lodash": "^4.17.20" + }, + "peerDependencies": { + "postcss": "^8.0.4" + } + }, + "node_modules/postcss-syntax": { + "version": "0.36.2", + "resolved": "https://registry.npmjs.org/postcss-syntax/-/postcss-syntax-0.36.2.tgz", + "integrity": "sha512-nBRg/i7E3SOHWxF3PpF5WnJM/jQ1YpY9000OaVXlAQj6Zp/kIqJxEDWIZ67tAd7NLuk7zqN4yqe9nc0oNAOs1w==", + "dev": true, + "peerDependencies": { + "postcss": ">=5.0.0" + } + }, + "node_modules/postcss-value-parser": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==" + }, + "node_modules/postcss-values-parser": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/postcss-values-parser/-/postcss-values-parser-2.0.1.tgz", + "integrity": "sha512-2tLuBsA6P4rYTNKCXYG/71C7j1pU6pK503suYOmn4xYrQIzW+opD+7FAFNuGSdZC/3Qfy334QbeMu7MEb8gOxg==", + "dependencies": { + "flatten": "^1.0.2", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + }, + "engines": { + "node": ">=6.14.4" + } + }, + "node_modules/postcss/node_modules/picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==" + }, + "node_modules/prebuild-install": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-7.1.2.tgz", + "integrity": "sha512-UnNke3IQb6sgarcZIDU3gbMeTp/9SSU1DAIkil7PrqG1vZlBtY5msYccSKSHDqa3hNg436IXK+SNImReuA1wEQ==", + "dev": true, + "optional": true, + "dependencies": { + "detect-libc": "^2.0.0", + "expand-template": "^2.0.3", + "github-from-package": "0.0.0", + "minimist": "^1.2.3", + "mkdirp-classic": "^0.5.3", + "napi-build-utils": "^1.0.1", + "node-abi": "^3.3.0", + "pump": "^3.0.0", + "rc": "^1.2.7", + "simple-get": "^4.0.0", + "tar-fs": "^2.0.0", + "tunnel-agent": "^0.6.0" + }, + "bin": { + "prebuild-install": "bin.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/prebuild-install/node_modules/pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "dev": true, + "optional": true, + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "node_modules/prebuild-install/node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "dev": true, + "optional": true, + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/prebuild-install/node_modules/tar-fs": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.1.tgz", + "integrity": "sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==", + "dev": true, + "optional": true, + "dependencies": { + "chownr": "^1.1.1", + "mkdirp-classic": "^0.5.2", + "pump": "^3.0.0", + "tar-stream": "^2.1.4" + } + }, + "node_modules/prebuild-install/node_modules/tar-stream": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", + "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", + "dev": true, + "optional": true, + "dependencies": { + "bl": "^4.0.3", + "end-of-stream": "^1.4.1", + "fs-constants": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^3.1.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/preceptor-core": { + "version": "0.10.1", + "resolved": "https://registry.npmjs.org/preceptor-core/-/preceptor-core-0.10.1.tgz", + "integrity": "sha512-WLDk+UowEESixvlhiamGOj/iqWrp8IWeCCHvBZrLh0g4/A1Fa77fDQWqQUd5S5rScT+9u49aDfa45xYRkxqmiA==", + "dev": true, + "dependencies": { + "log4js": "1.1.1", + "underscore": "1.7.0" + } + }, + "node_modules/prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "dev": true, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/prepend-http": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz", + "integrity": "sha512-PhmXi5XmoyKw1Un4E+opM2KcsJInDvKyuOumcjjw3waw86ZNjHwVUOOWLc4bCzLdcKNaWBH9e99sbWzDQsVaYg==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/prettier": { + "version": "2.8.8", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz", + "integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==", + "dev": true, + "bin": { + "prettier": "bin-prettier.js" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "url": "https://github.com/prettier/prettier?sponsor=1" + } + }, + "node_modules/prettier-plugin-packagejson": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/prettier-plugin-packagejson/-/prettier-plugin-packagejson-2.3.0.tgz", + "integrity": "sha512-2SAPMMk1UDkqsB7DifWKcwCm6VC52JXMrzLHfbcQHJRWhRCj9zziOy+s+2XOyPBeyqFqS+A/1IKzOrxKFTo6pw==", + "dev": true, + "dependencies": { + "sort-package-json": "1.57.0" + }, + "peerDependencies": { + "prettier": ">= 1.16.0" + }, + "peerDependenciesMeta": { + "prettier": { + "optional": true + } + } + }, + "node_modules/prettier-plugin-two-style-order": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/prettier-plugin-two-style-order/-/prettier-plugin-two-style-order-1.0.1.tgz", + "integrity": "sha512-ETltO2FRR/Pxc7bsgz2XwuzWSPwafl7/v5+5Rria4S579CTas7dya+xsmbkix0q1tYQiuRjVVdfGnCKlH/aOuQ==", + "dev": true, + "dependencies": { + "postcss": "^8.3.6", + "postcss-less": "^4.0.0", + "postcss-sorting": "6.0.0" + }, + "peerDependencies": { + "prettier": ">= 2.0.0" + } + }, + "node_modules/prettier-plugin-two-style-order/node_modules/nanoid": { + "version": "3.3.7", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", + "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/prettier-plugin-two-style-order/node_modules/postcss": { + "version": "8.4.38", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.38.tgz", + "integrity": "sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "nanoid": "^3.3.7", + "picocolors": "^1.0.0", + "source-map-js": "^1.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/pretty-format": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.6.2.tgz", + "integrity": "sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg==", + "dev": true, + "dependencies": { + "@jest/types": "^26.6.2", + "ansi-regex": "^5.0.0", + "ansi-styles": "^4.0.0", + "react-is": "^17.0.1" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/pretty-format/node_modules/react-is": { + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", + "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", + "dev": true + }, + "node_modules/prism-react-renderer": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/prism-react-renderer/-/prism-react-renderer-1.3.5.tgz", + "integrity": "sha512-IJ+MSwBWKG+SM3b2SUfdrhC+gu01QkV2KmRQgREThBfSQRoufqRfxfHUxpG1WcaFjP+kojcFyO9Qqtpgt3qLCg==", + "dev": true, + "peerDependencies": { + "react": ">=0.14.9" + } + }, + "node_modules/prismjs": { + "version": "1.29.0", + "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.29.0.tgz", + "integrity": "sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/process": { + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", + "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==", + "engines": { + "node": ">= 0.6.0" + } + }, + "node_modules/process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" + }, + "node_modules/progress": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/promise": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/promise/-/promise-6.0.0.tgz", + "integrity": "sha512-PjIqIEWR8EWwP5ml3Wf5KWIP3sIdXAew9vQ6vLOLV+z4LMa/8ZQyLd7sTWe2r8OuA8A9jsIYptDfbEn/L36ogw==", + "dev": true, + "dependencies": { + "asap": "~1.0.0" + } + }, + "node_modules/promise-inflight": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", + "integrity": "sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==", + "dev": true + }, + "node_modules/promise-retry": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/promise-retry/-/promise-retry-1.1.1.tgz", + "integrity": "sha512-StEy2osPr28o17bIW776GtwO6+Q+M9zPiZkYfosciUUMYqjhU/ffwRAH0zN2+uvGyUsn8/YICIHRzLbPacpZGw==", + "dev": true, + "dependencies": { + "err-code": "^1.0.0", + "retry": "^0.10.0" + }, + "engines": { + "node": ">=0.12" + } + }, + "node_modules/promise/node_modules/asap": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/asap/-/asap-1.0.0.tgz", + "integrity": "sha512-Ej9qjcXY+8Tuy1cNqiwNMwFRXOy9UwgTeMA8LxreodygIPV48lx8PU1ecFxb5ZeU1DpMKxiq6vGLTxcitWZPbA==", + "dev": true + }, + "node_modules/prompts": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", + "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", + "dependencies": { + "kleur": "^3.0.3", + "sisteransi": "^1.0.5" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/prop-types": { + "version": "15.8.1", + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", + "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", + "dependencies": { + "loose-envify": "^1.4.0", + "object-assign": "^4.1.1", + "react-is": "^16.13.1" + } + }, + "node_modules/prop-types/node_modules/react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" + }, + "node_modules/property-information": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/property-information/-/property-information-5.6.0.tgz", + "integrity": "sha512-YUHSPk+A30YPv+0Qf8i9Mbfe/C0hdPXk1s1jPVToV8pk8BQtpw10ct89Eo7OWkutrwqvT0eicAxlOg3dOAu8JA==", + "dev": true, + "dependencies": { + "xtend": "^4.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/prosemirror-commands": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/prosemirror-commands/-/prosemirror-commands-1.5.2.tgz", + "integrity": "sha512-hgLcPaakxH8tu6YvVAaILV2tXYsW3rAdDR8WNkeKGcgeMVQg3/TMhPdVoh7iAmfgVjZGtcOSjKiQaoeKjzd2mQ==", + "dependencies": { + "prosemirror-model": "^1.0.0", + "prosemirror-state": "^1.0.0", + "prosemirror-transform": "^1.0.0" + } + }, + "node_modules/prosemirror-history": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/prosemirror-history/-/prosemirror-history-1.4.0.tgz", + "integrity": "sha512-UUiGzDVcqo1lovOPdi9YxxUps3oBFWAIYkXLu3Ot+JPv1qzVogRbcizxK3LhHmtaUxclohgiOVesRw5QSlMnbQ==", + "dependencies": { + "prosemirror-state": "^1.2.2", + "prosemirror-transform": "^1.0.0", + "prosemirror-view": "^1.31.0", + "rope-sequence": "^1.3.0" + } + }, + "node_modules/prosemirror-inputrules": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/prosemirror-inputrules/-/prosemirror-inputrules-1.4.0.tgz", + "integrity": "sha512-6ygpPRuTJ2lcOXs9JkefieMst63wVJBgHZGl5QOytN7oSZs3Co/BYbc3Yx9zm9H37Bxw8kVzCnDsihsVsL4yEg==", + "dependencies": { + "prosemirror-state": "^1.0.0", + "prosemirror-transform": "^1.0.0" + } + }, + "node_modules/prosemirror-keymap": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/prosemirror-keymap/-/prosemirror-keymap-1.2.2.tgz", + "integrity": "sha512-EAlXoksqC6Vbocqc0GtzCruZEzYgrn+iiGnNjsJsH4mrnIGex4qbLdWWNza3AW5W36ZRrlBID0eM6bdKH4OStQ==", + "dependencies": { + "prosemirror-state": "^1.0.0", + "w3c-keyname": "^2.2.0" + } + }, + "node_modules/prosemirror-model": { + "version": "1.19.4", + "resolved": "https://registry.npmjs.org/prosemirror-model/-/prosemirror-model-1.19.4.tgz", + "integrity": "sha512-RPmVXxUfOhyFdayHawjuZCxiROsm9L4FCUA6pWI+l7n2yCBsWy9VpdE1hpDHUS8Vad661YLY9AzqfjLhAKQ4iQ==", + "dependencies": { + "orderedmap": "^2.0.0" + } + }, + "node_modules/prosemirror-state": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/prosemirror-state/-/prosemirror-state-1.4.3.tgz", + "integrity": "sha512-goFKORVbvPuAQaXhpbemJFRKJ2aixr+AZMGiquiqKxaucC6hlpHNZHWgz5R7dS4roHiwq9vDctE//CZ++o0W1Q==", + "dependencies": { + "prosemirror-model": "^1.0.0", + "prosemirror-transform": "^1.0.0", + "prosemirror-view": "^1.27.0" + } + }, + "node_modules/prosemirror-transform": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/prosemirror-transform/-/prosemirror-transform-1.8.0.tgz", + "integrity": "sha512-BaSBsIMv52F1BVVMvOmp1yzD3u65uC3HTzCBQV1WDPqJRQ2LuHKcyfn0jwqodo8sR9vVzMzZyI+Dal5W9E6a9A==", + "dependencies": { + "prosemirror-model": "^1.0.0" + } + }, + "node_modules/prosemirror-view": { + "version": "1.33.3", + "resolved": "https://registry.npmjs.org/prosemirror-view/-/prosemirror-view-1.33.3.tgz", + "integrity": "sha512-P4Ao/bc4OrU/2yLIf8dL4lJaEtjLR3QjIvQHgJYp2jUS7kYM4bSR6okbBjkqzOs/FwUon6UGjTLdKMnPL1MZqw==", + "dependencies": { + "prosemirror-model": "^1.16.0", + "prosemirror-state": "^1.0.0", + "prosemirror-transform": "^1.1.0" + } + }, + "node_modules/protocols": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/protocols/-/protocols-2.0.1.tgz", + "integrity": "sha512-/XJ368cyBJ7fzLMwLKv1e4vLxOju2MNAIokcr7meSaNcVbWz/CPcW22cP04mwxOErdA5mwjA8Q6w/cdAQxVn7Q==", + "dev": true + }, + "node_modules/protoduck": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/protoduck/-/protoduck-4.0.0.tgz", + "integrity": "sha512-9sxuz0YTU/68O98xuDn8NBxTVH9EuMhrBTxZdiBL0/qxRmWhB/5a8MagAebDa+98vluAZTs8kMZibCdezbRCeQ==", + "dev": true, + "dependencies": { + "genfun": "^4.0.1" + } + }, + "node_modules/proxy-addr": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", + "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", + "dev": true, + "dependencies": { + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/proxy-from-env": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" + }, + "node_modules/prr": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", + "integrity": "sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==", + "dev": true + }, + "node_modules/pseudomap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", + "integrity": "sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ==", + "dev": true + }, + "node_modules/psl": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz", + "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==", + "dev": true + }, + "node_modules/public-encrypt": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", + "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==", + "dependencies": { + "bn.js": "^4.1.0", + "browserify-rsa": "^4.0.0", + "create-hash": "^1.1.0", + "parse-asn1": "^5.0.0", + "randombytes": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "node_modules/public-encrypt/node_modules/bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" + }, + "node_modules/pump": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/pump/-/pump-1.0.3.tgz", + "integrity": "sha512-8k0JupWme55+9tCVE+FS5ULT3K6AbgqrGa58lTT49RpyfwwcGedHqaC5LlQNdEAumn/wFsu6aPwkuPMioy8kqw==", + "dev": true, + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "node_modules/pumpify": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz", + "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==", + "dev": true, + "dependencies": { + "duplexify": "^3.6.0", + "inherits": "^2.0.3", + "pump": "^2.0.0" + } + }, + "node_modules/pumpify/node_modules/pump": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", + "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", + "dev": true, + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "node_modules/punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "engines": { + "node": ">=6" + } + }, + "node_modules/puppeteer-core": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/puppeteer-core/-/puppeteer-core-8.0.0.tgz", + "integrity": "sha512-kRTiGh42+4eiw9tl489p//8Zpg3LWmz0K3mOpv0qj5PsCV7jE43SLIi0E50suLh8OghXsFhJFoE98vEmXUnDew==", + "dev": true, + "dependencies": { + "debug": "^4.1.0", + "devtools-protocol": "0.0.854822", + "extract-zip": "^2.0.0", + "https-proxy-agent": "^5.0.0", + "node-fetch": "^2.6.1", + "pkg-dir": "^4.2.0", + "progress": "^2.0.1", + "proxy-from-env": "^1.1.0", + "rimraf": "^3.0.2", + "tar-fs": "^2.0.0", + "unbzip2-stream": "^1.3.3", + "ws": "^7.2.3" + }, + "engines": { + "node": ">=10.18.1" + } + }, + "node_modules/puppeteer-core/node_modules/pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "dev": true, + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "node_modules/puppeteer-core/node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "dev": true, + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/puppeteer-core/node_modules/tar-fs": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.1.tgz", + "integrity": "sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==", + "dev": true, + "dependencies": { + "chownr": "^1.1.1", + "mkdirp-classic": "^0.5.2", + "pump": "^3.0.0", + "tar-stream": "^2.1.4" + } + }, + "node_modules/puppeteer-core/node_modules/tar-stream": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", + "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", + "dev": true, + "dependencies": { + "bl": "^4.0.3", + "end-of-stream": "^1.4.1", + "fs-constants": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^3.1.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/qs": { + "version": "6.11.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", + "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", + "dev": true, + "dependencies": { + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/query-string": { + "version": "6.14.1", + "resolved": "https://registry.npmjs.org/query-string/-/query-string-6.14.1.tgz", + "integrity": "sha512-XDxAeVmpfu1/6IjyT/gXHOl+S0vQ9owggJ30hhWKdHAsNPOcasn5o9BW0eejZqL2e4vMjhAxoW3jVHcD6mbcYw==", + "dependencies": { + "decode-uri-component": "^0.2.0", + "filter-obj": "^1.1.0", + "split-on-first": "^1.0.0", + "strict-uri-encode": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/querystring": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.1.tgz", + "integrity": "sha512-wkvS7mL/JMugcup3/rMitHmd9ecIGd2lhFhK9N3UUQ450h66d1r3Y9nvXzQAW1Lq+wyx61k/1pfKS5KuKiyEbg==", + "deprecated": "The querystring API is considered Legacy. new code should use the URLSearchParams API instead.", + "engines": { + "node": ">=0.4.x" + } + }, + "node_modules/querystring-es3": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", + "integrity": "sha512-773xhDQnZBMFobEiztv8LIl70ch5MSF/jUQVlhwFyBILqq96anmoctVIYz+ZRp0qbCKATTn6ev02M3r7Ga5vqA==", + "engines": { + "node": ">=0.4.x" + } + }, + "node_modules/querystringify": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", + "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==", + "dev": true + }, + "node_modules/queue": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/queue/-/queue-6.0.1.tgz", + "integrity": "sha512-AJBQabRCCNr9ANq8v77RJEv73DPbn55cdTb+Giq4X0AVnNVZvMHlYp7XlQiN+1npCZj1DuSmaA2hYVUUDgxFDg==", + "dev": true, + "dependencies": { + "inherits": "~2.0.3" + } + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/quick-lru": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-4.0.1.tgz", + "integrity": "sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/raf": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/raf/-/raf-3.4.1.tgz", + "integrity": "sha512-Sq4CW4QhwOHE8ucn6J34MqtZCeWFP2aQSmrlroYgqAV1PjStIhJXxYuTgUIfkEk7zTLjmIjLmU5q+fbD1NnOJA==", + "dev": true, + "dependencies": { + "performance-now": "^2.1.0" + } + }, + "node_modules/railroad-diagrams": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/railroad-diagrams/-/railroad-diagrams-1.0.0.tgz", + "integrity": "sha512-cz93DjNeLY0idrCNOH6PviZGRN9GJhsdm9hpn1YCS879fj4W+x5IFJhhkRZcwVgMmFF7R82UA/7Oh+R8lLZg6A==", + "dev": true + }, + "node_modules/ramda": { + "version": "0.29.1", + "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.29.1.tgz", + "integrity": "sha512-OfxIeWzd4xdUNxlWhgFazxsA/nl3mS4/jGZI5n00uWOoSSFRhC1b6gl6xvmzUamgmqELraWp0J/qqVlXYPDPyA==", + "dev": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/ramda" + } + }, + "node_modules/ramda-adjunct": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ramda-adjunct/-/ramda-adjunct-4.1.1.tgz", + "integrity": "sha512-BnCGsZybQZMDGram9y7RiryoRHS5uwx8YeGuUeDKuZuvK38XO6JJfmK85BwRWAKFA6pZ5nZBO/HBFtExVaf31w==", + "dev": true, + "engines": { + "node": ">=0.10.3" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/ramda-adjunct" + }, + "peerDependencies": { + "ramda": ">= 0.29.0" + } + }, + "node_modules/randexp": { + "version": "0.4.6", + "resolved": "https://registry.npmjs.org/randexp/-/randexp-0.4.6.tgz", + "integrity": "sha512-80WNmd9DA0tmZrw9qQa62GPPWfuXJknrmVmLcxvq4uZBdYqb1wYoKTmnlGUchvVWe0XiLupYkBoXVOxz3C8DYQ==", + "dev": true, + "dependencies": { + "discontinuous-range": "1.0.0", + "ret": "~0.1.10" + }, + "engines": { + "node": ">=0.12" + } + }, + "node_modules/randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "dependencies": { + "safe-buffer": "^5.1.0" + } + }, + "node_modules/randomfill": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", + "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", + "dependencies": { + "randombytes": "^2.0.5", + "safe-buffer": "^5.1.0" + } + }, + "node_modules/range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/raw-body": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz", + "integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==", + "dev": true, + "dependencies": { + "bytes": "3.1.2", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/rc": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", + "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", + "dev": true, + "dependencies": { + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" + }, + "bin": { + "rc": "cli.js" + } + }, + "node_modules/rc-align": { + "version": "4.0.15", + "resolved": "https://registry.npmjs.org/rc-align/-/rc-align-4.0.15.tgz", + "integrity": "sha512-wqJtVH60pka/nOX7/IspElA8gjPNQKIx/ZqJ6heATCkXpe1Zg4cPVrMD2vC96wjsFFL8WsmhPbx9tdMo1qqlIA==", + "dependencies": { + "@babel/runtime": "^7.10.1", + "classnames": "2.x", + "dom-align": "^1.7.0", + "rc-util": "^5.26.0", + "resize-observer-polyfill": "^1.5.1" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-animate": { + "version": "2.11.1", + "resolved": "https://registry.npmjs.org/rc-animate/-/rc-animate-2.11.1.tgz", + "integrity": "sha512-1NyuCGFJG/0Y+9RKh5y/i/AalUCA51opyyS/jO2seELpgymZm2u9QV3xwODwEuzkmeQ1BDPxMLmYLcTJedPlkQ==", + "dev": true, + "dependencies": { + "babel-runtime": "6.x", + "classnames": "^2.2.6", + "css-animation": "^1.3.2", + "prop-types": "15.x", + "raf": "^3.4.0", + "rc-util": "^4.15.3", + "react-lifecycles-compat": "^3.0.4" + } + }, + "node_modules/rc-animate/node_modules/rc-util": { + "version": "4.21.1", + "resolved": "https://registry.npmjs.org/rc-util/-/rc-util-4.21.1.tgz", + "integrity": "sha512-Z+vlkSQVc1l8O2UjR3WQ+XdWlhj5q9BMQNLk2iOBch75CqPfrJyGtcWMcnhRlNuDu0Ndtt4kLVO8JI8BrABobg==", + "dev": true, + "dependencies": { + "add-dom-event-listener": "^1.1.0", + "prop-types": "^15.5.10", + "react-is": "^16.12.0", + "react-lifecycles-compat": "^3.0.4", + "shallowequal": "^1.1.0" + } + }, + "node_modules/rc-animate/node_modules/react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", + "dev": true + }, + "node_modules/rc-cascader": { + "version": "3.7.3", + "resolved": "https://registry.npmjs.org/rc-cascader/-/rc-cascader-3.7.3.tgz", + "integrity": "sha512-KBpT+kzhxDW+hxPiNk4zaKa99+Lie2/8nnI11XF+FIOPl4Bj9VlFZi61GrnWzhLGA7VEN+dTxAkNOjkySDa0dA==", + "dependencies": { + "@babel/runtime": "^7.12.5", + "array-tree-filter": "^2.1.0", + "classnames": "^2.3.1", + "rc-select": "~14.1.0", + "rc-tree": "~5.7.0", + "rc-util": "^5.6.1" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-checkbox": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/rc-checkbox/-/rc-checkbox-3.0.1.tgz", + "integrity": "sha512-k7nxDWxYF+jDI0ZcCvuvj71xONmWRVe5+1MKcERRR9MRyP3tZ69b+yUCSXXh+sik4/Hc9P5wHr2nnUoGS2zBjA==", + "dependencies": { + "@babel/runtime": "^7.10.1", + "classnames": "^2.3.2", + "rc-util": "^5.25.2" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-collapse": { + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/rc-collapse/-/rc-collapse-3.4.2.tgz", + "integrity": "sha512-jpTwLgJzkhAgp2Wpi3xmbTbbYExg6fkptL67Uu5LCRVEj6wqmy0DHTjjeynsjOLsppHGHu41t1ELntZ0lEvS/Q==", + "dependencies": { + "@babel/runtime": "^7.10.1", + "classnames": "2.x", + "rc-motion": "^2.3.4", + "rc-util": "^5.2.1", + "shallowequal": "^1.1.0" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-dialog": { + "version": "9.0.2", + "resolved": "https://registry.npmjs.org/rc-dialog/-/rc-dialog-9.0.2.tgz", + "integrity": "sha512-s3U+24xWUuB6Bn2Lk/Qt6rufy+uT+QvWkiFhNBcO9APLxcFFczWamaq7x9h8SCuhfc1nHcW4y8NbMsnAjNnWyg==", + "dependencies": { + "@babel/runtime": "^7.10.1", + "@rc-component/portal": "^1.0.0-8", + "classnames": "^2.2.6", + "rc-motion": "^2.3.0", + "rc-util": "^5.21.0" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-drawer": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/rc-drawer/-/rc-drawer-6.3.0.tgz", + "integrity": "sha512-uBZVb3xTAR+dBV53d/bUhTctCw3pwcwJoM7g5aX+7vgwt2zzVzoJ6aqFjYJpBlZ9zp0dVYN8fV+hykFE7c4lig==", + "dependencies": { + "@babel/runtime": "^7.10.1", + "@rc-component/portal": "^1.1.1", + "classnames": "^2.2.6", + "rc-motion": "^2.6.1", + "rc-util": "^5.21.2" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-dropdown": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/rc-dropdown/-/rc-dropdown-4.0.1.tgz", + "integrity": "sha512-OdpXuOcme1rm45cR0Jzgfl1otzmU4vuBVb+etXM8vcaULGokAKVpKlw8p6xzspG7jGd/XxShvq+N3VNEfk/l5g==", + "dependencies": { + "@babel/runtime": "^7.18.3", + "classnames": "^2.2.6", + "rc-trigger": "^5.3.1", + "rc-util": "^5.17.0" + }, + "peerDependencies": { + "react": ">=16.11.0", + "react-dom": ">=16.11.0" + } + }, + "node_modules/rc-field-form": { + "version": "1.38.2", + "resolved": "https://registry.npmjs.org/rc-field-form/-/rc-field-form-1.38.2.tgz", + "integrity": "sha512-O83Oi1qPyEv31Sg+Jwvsj6pXc8uQI2BtIAkURr5lvEYHVggXJhdU/nynK8wY1gbw0qR48k731sN5ON4egRCROA==", + "dependencies": { + "@babel/runtime": "^7.18.0", + "async-validator": "^4.1.0", + "rc-util": "^5.32.2" + }, + "engines": { + "node": ">=8.x" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-gesture": { + "version": "0.0.22", + "resolved": "https://registry.npmjs.org/rc-gesture/-/rc-gesture-0.0.22.tgz", + "integrity": "sha512-6G6qrCE0MUTXyjh/powj91XkjRjoFL4HiJLPU5lALXHvGX+/efcUjGYUrHrrw0mwQdmrmg4POqnY/bibns+G3g==", + "dev": true, + "dependencies": { + "babel-runtime": "6.x" + } + }, + "node_modules/rc-image": { + "version": "5.13.0", + "resolved": "https://registry.npmjs.org/rc-image/-/rc-image-5.13.0.tgz", + "integrity": "sha512-iZTOmw5eWo2+gcrJMMcnd7SsxVHl3w5xlyCgsULUdJhJbnuI8i/AL0tVOsE7aLn9VfOh1qgDT3mC2G75/c7mqg==", + "dependencies": { + "@babel/runtime": "^7.11.2", + "@rc-component/portal": "^1.0.2", + "classnames": "^2.2.6", + "rc-dialog": "~9.0.0", + "rc-motion": "^2.6.2", + "rc-util": "^5.0.6" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-input": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/rc-input/-/rc-input-0.1.4.tgz", + "integrity": "sha512-FqDdNz+fV2dKNgfXzcSLKvC+jEs1709t7nD+WdfjrdSaOcefpgc7BUJYadc3usaING+b7ediMTfKxuJBsEFbXA==", + "dependencies": { + "@babel/runtime": "^7.11.1", + "classnames": "^2.2.1", + "rc-util": "^5.18.1" + }, + "peerDependencies": { + "react": ">=16.0.0", + "react-dom": ">=16.0.0" + } + }, + "node_modules/rc-input-number": { + "version": "7.3.11", + "resolved": "https://registry.npmjs.org/rc-input-number/-/rc-input-number-7.3.11.tgz", + "integrity": "sha512-aMWPEjFeles6PQnMqP5eWpxzsvHm9rh1jQOWXExUEIxhX62Fyl/ptifLHOn17+waDG1T/YUb6flfJbvwRhHrbA==", + "dependencies": { + "@babel/runtime": "^7.10.1", + "classnames": "^2.2.5", + "rc-util": "^5.23.0" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-mentions": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/rc-mentions/-/rc-mentions-1.13.1.tgz", + "integrity": "sha512-FCkaWw6JQygtOz0+Vxz/M/NWqrWHB9LwqlY2RtcuFqWJNFK9njijOOzTSsBGANliGufVUzx/xuPHmZPBV0+Hgw==", + "dependencies": { + "@babel/runtime": "^7.10.1", + "classnames": "^2.2.6", + "rc-menu": "~9.8.0", + "rc-textarea": "^0.4.0", + "rc-trigger": "^5.0.4", + "rc-util": "^5.22.5" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-mentions/node_modules/rc-menu": { + "version": "9.8.4", + "resolved": "https://registry.npmjs.org/rc-menu/-/rc-menu-9.8.4.tgz", + "integrity": "sha512-lmw2j8I2fhdIzHmC9ajfImfckt0WDb2KVJJBBRIsxPEw2kGkEfjLMUoB1NgiNT/Q5cC8PdjGOGQjHJIJMwyNMw==", + "dependencies": { + "@babel/runtime": "^7.10.1", + "classnames": "2.x", + "rc-motion": "^2.4.3", + "rc-overflow": "^1.2.8", + "rc-trigger": "^5.1.2", + "rc-util": "^5.27.0" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-menu": { + "version": "9.13.0", + "resolved": "https://registry.npmjs.org/rc-menu/-/rc-menu-9.13.0.tgz", + "integrity": "sha512-1l8ooCB3HcYJKCltC/s7OxRKRjgymdl9htrCeGZcXNaMct0RxZRK6OPV3lPhVksIvAGMgzPd54ClpZ5J4b8cZA==", + "dependencies": { + "@babel/runtime": "^7.10.1", + "@rc-component/trigger": "^2.0.0", + "classnames": "2.x", + "rc-motion": "^2.4.3", + "rc-overflow": "^1.3.1", + "rc-util": "^5.27.0" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-motion": { + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/rc-motion/-/rc-motion-2.9.0.tgz", + "integrity": "sha512-XIU2+xLkdIr1/h6ohPZXyPBMvOmuyFZQ/T0xnawz+Rh+gh4FINcnZmMT5UTIj6hgI0VLDjTaPeRd+smJeSPqiQ==", + "dependencies": { + "@babel/runtime": "^7.11.1", + "classnames": "^2.2.1", + "rc-util": "^5.21.0" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-notification": { + "version": "4.6.1", + "resolved": "https://registry.npmjs.org/rc-notification/-/rc-notification-4.6.1.tgz", + "integrity": "sha512-NSmFYwrrdY3+un1GvDAJQw62Xi9LNMSsoQyo95tuaYrcad5Bn9gJUL8AREufRxSQAQnr64u3LtP3EUyLYT6bhw==", + "dependencies": { + "@babel/runtime": "^7.10.1", + "classnames": "2.x", + "rc-motion": "^2.2.0", + "rc-util": "^5.20.1" + }, + "engines": { + "node": ">=8.x" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-overflow": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/rc-overflow/-/rc-overflow-1.3.2.tgz", + "integrity": "sha512-nsUm78jkYAoPygDAcGZeC2VwIg/IBGSodtOY3pMof4W3M9qRJgqaDYm03ZayHlde3I6ipliAxbN0RUcGf5KOzw==", + "dependencies": { + "@babel/runtime": "^7.11.1", + "classnames": "^2.2.1", + "rc-resize-observer": "^1.0.0", + "rc-util": "^5.37.0" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-pagination": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/rc-pagination/-/rc-pagination-3.2.0.tgz", + "integrity": "sha512-5tIXjB670WwwcAJzAqp2J+cOBS9W3cH/WU1EiYwXljuZ4vtZXKlY2Idq8FZrnYBz8KhN3vwPo9CoV/SJS6SL1w==", + "dependencies": { + "@babel/runtime": "^7.10.1", + "classnames": "^2.2.1" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-picker": { + "version": "2.7.6", + "resolved": "https://registry.npmjs.org/rc-picker/-/rc-picker-2.7.6.tgz", + "integrity": "sha512-H9if/BUJUZBOhPfWcPeT15JUI3/ntrG9muzERrXDkSoWmDj4yzmBvumozpxYrHwjcKnjyDGAke68d+whWwvhHA==", + "dependencies": { + "@babel/runtime": "^7.10.1", + "classnames": "^2.2.1", + "date-fns": "2.x", + "dayjs": "1.x", + "moment": "^2.24.0", + "rc-trigger": "^5.0.4", + "rc-util": "^5.37.0", + "shallowequal": "^1.1.0" + }, + "engines": { + "node": ">=8.x" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-progress": { + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/rc-progress/-/rc-progress-3.4.2.tgz", + "integrity": "sha512-iAGhwWU+tsayP+Jkl9T4+6rHeQTG9kDz8JAHZk4XtQOcYN5fj9H34NXNEdRdZx94VUDHMqCb1yOIvi8eJRh67w==", + "dependencies": { + "@babel/runtime": "^7.10.1", + "classnames": "^2.2.6", + "rc-util": "^5.16.1" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-rate": { + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/rc-rate/-/rc-rate-2.9.3.tgz", + "integrity": "sha512-2THssUSnRhtqIouQIIXqsZGzRczvp4WsH4WvGuhiwm+LG2fVpDUJliP9O1zeDOZvYfBE/Bup4SgHun/eCkbjgQ==", + "dependencies": { + "@babel/runtime": "^7.10.1", + "classnames": "^2.2.5", + "rc-util": "^5.0.1" + }, + "engines": { + "node": ">=8.x" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-resize-observer": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/rc-resize-observer/-/rc-resize-observer-1.4.0.tgz", + "integrity": "sha512-PnMVyRid9JLxFavTjeDXEXo65HCRqbmLBw9xX9gfC4BZiSzbLXKzW3jPz+J0P71pLbD5tBMTT+mkstV5gD0c9Q==", + "dependencies": { + "@babel/runtime": "^7.20.7", + "classnames": "^2.2.1", + "rc-util": "^5.38.0", + "resize-observer-polyfill": "^1.5.1" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-segmented": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/rc-segmented/-/rc-segmented-2.3.0.tgz", + "integrity": "sha512-I3FtM5Smua/ESXutFfb8gJ8ZPcvFR+qUgeeGFQHBOvRiRKyAk4aBE5nfqrxXx+h8/vn60DQjOt6i4RNtrbOobg==", + "dependencies": { + "@babel/runtime": "^7.11.1", + "classnames": "^2.2.1", + "rc-motion": "^2.4.4", + "rc-util": "^5.17.0" + }, + "peerDependencies": { + "react": ">=16.0.0", + "react-dom": ">=16.0.0" + } + }, + "node_modules/rc-select": { + "version": "14.1.18", + "resolved": "https://registry.npmjs.org/rc-select/-/rc-select-14.1.18.tgz", + "integrity": "sha512-4JgY3oG2Yz68ECMUSCON7mtxuJvCSj+LJpHEg/AONaaVBxIIrmI/ZTuMJkyojall/X50YdBe5oMKqHHPNiPzEg==", + "dependencies": { + "@babel/runtime": "^7.10.1", + "classnames": "2.x", + "rc-motion": "^2.0.1", + "rc-overflow": "^1.0.0", + "rc-trigger": "^5.0.4", + "rc-util": "^5.16.1", + "rc-virtual-list": "^3.2.0" + }, + "engines": { + "node": ">=8.x" + }, + "peerDependencies": { + "react": "*", + "react-dom": "*" + } + }, + "node_modules/rc-slider": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/rc-slider/-/rc-slider-10.0.1.tgz", + "integrity": "sha512-igTKF3zBet7oS/3yNiIlmU8KnZ45npmrmHlUUio8PNbIhzMcsh+oE/r2UD42Y6YD2D/s+kzCQkzQrPD6RY435Q==", + "dependencies": { + "@babel/runtime": "^7.10.1", + "classnames": "^2.2.5", + "rc-util": "^5.18.1", + "shallowequal": "^1.1.0" + }, + "engines": { + "node": ">=8.x" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-steps": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/rc-steps/-/rc-steps-5.0.0.tgz", + "integrity": "sha512-9TgRvnVYirdhbV0C3syJFj9EhCRqoJAsxt4i1rED5o8/ZcSv5TLIYyo4H8MCjLPvbe2R+oBAm/IYBEtC+OS1Rw==", + "dependencies": { + "@babel/runtime": "^7.16.7", + "classnames": "^2.2.3", + "rc-util": "^5.16.1" + }, + "engines": { + "node": ">=8.x" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-swipeout": { + "version": "2.0.11", + "resolved": "https://registry.npmjs.org/rc-swipeout/-/rc-swipeout-2.0.11.tgz", + "integrity": "sha512-d37Lgn4RX4OOQyuA2BFo0rGlUwrmZk5q83srH3ixJ1Y1jidr2GKjgJDbNeGUVZPNfYBL91Elu6+xfVGftWf4Lg==", + "dev": true, + "dependencies": { + "babel-runtime": "6.x", + "classnames": "2.x", + "rc-gesture": "~0.0.22", + "react-native-swipeout": "^2.2.2" + } + }, + "node_modules/rc-switch": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/rc-switch/-/rc-switch-3.2.2.tgz", + "integrity": "sha512-+gUJClsZZzvAHGy1vZfnwySxj+MjLlGRyXKXScrtCTcmiYNPzxDFOxdQ/3pK1Kt/0POvwJ/6ALOR8gwdXGhs+A==", + "dependencies": { + "@babel/runtime": "^7.10.1", + "classnames": "^2.2.1", + "rc-util": "^5.0.1" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-table": { + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/rc-table/-/rc-table-7.26.0.tgz", + "integrity": "sha512-0cD8e6S+DTGAt5nBZQIPFYEaIukn17sfa5uFL98faHlH/whZzD8ii3dbFL4wmUDEL4BLybhYop+QUfZJ4CPvNQ==", + "dependencies": { + "@babel/runtime": "^7.10.1", + "classnames": "^2.2.5", + "rc-resize-observer": "^1.1.0", + "rc-util": "^5.22.5", + "shallowequal": "^1.1.0" + }, + "engines": { + "node": ">=8.x" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-tabs": { + "version": "12.5.10", + "resolved": "https://registry.npmjs.org/rc-tabs/-/rc-tabs-12.5.10.tgz", + "integrity": "sha512-Ay0l0jtd4eXepFH9vWBvinBjqOpqzcsJTerBGwJy435P2S90Uu38q8U/mvc1sxUEVOXX5ZCFbxcWPnfG3dH+tQ==", + "dependencies": { + "@babel/runtime": "^7.11.2", + "classnames": "2.x", + "rc-dropdown": "~4.0.0", + "rc-menu": "~9.8.0", + "rc-motion": "^2.6.2", + "rc-resize-observer": "^1.0.0", + "rc-util": "^5.16.0" + }, + "engines": { + "node": ">=8.x" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-tabs/node_modules/rc-menu": { + "version": "9.8.4", + "resolved": "https://registry.npmjs.org/rc-menu/-/rc-menu-9.8.4.tgz", + "integrity": "sha512-lmw2j8I2fhdIzHmC9ajfImfckt0WDb2KVJJBBRIsxPEw2kGkEfjLMUoB1NgiNT/Q5cC8PdjGOGQjHJIJMwyNMw==", + "dependencies": { + "@babel/runtime": "^7.10.1", + "classnames": "2.x", + "rc-motion": "^2.4.3", + "rc-overflow": "^1.2.8", + "rc-trigger": "^5.1.2", + "rc-util": "^5.27.0" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-textarea": { + "version": "0.4.7", + "resolved": "https://registry.npmjs.org/rc-textarea/-/rc-textarea-0.4.7.tgz", + "integrity": "sha512-IQPd1CDI3mnMlkFyzt2O4gQ2lxUsnBAeJEoZGJnkkXgORNqyM9qovdrCj9NzcRfpHgLdzaEbU3AmobNFGUznwQ==", + "dependencies": { + "@babel/runtime": "^7.10.1", + "classnames": "^2.2.1", + "rc-resize-observer": "^1.0.0", + "rc-util": "^5.24.4", + "shallowequal": "^1.1.0" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-tooltip": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/rc-tooltip/-/rc-tooltip-5.2.2.tgz", + "integrity": "sha512-jtQzU/18S6EI3lhSGoDYhPqNpWajMtS5VV/ld1LwyfrDByQpYmw/LW6U7oFXXLukjfDHQ7Ju705A82PRNFWYhg==", + "dependencies": { + "@babel/runtime": "^7.11.2", + "classnames": "^2.3.1", + "rc-trigger": "^5.0.0" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-tree": { + "version": "5.7.12", + "resolved": "https://registry.npmjs.org/rc-tree/-/rc-tree-5.7.12.tgz", + "integrity": "sha512-LXA5nY2hG5koIAlHW5sgXgLpOMz+bFRbnZZ+cCg0tQs4Wv1AmY7EDi1SK7iFXhslYockbqUerQan82jljoaItg==", + "dependencies": { + "@babel/runtime": "^7.10.1", + "classnames": "2.x", + "rc-motion": "^2.0.1", + "rc-util": "^5.16.1", + "rc-virtual-list": "^3.5.1" + }, + "engines": { + "node": ">=10.x" + }, + "peerDependencies": { + "react": "*", + "react-dom": "*" + } + }, + "node_modules/rc-tree-select": { + "version": "5.5.5", + "resolved": "https://registry.npmjs.org/rc-tree-select/-/rc-tree-select-5.5.5.tgz", + "integrity": "sha512-k2av7jF6tW9bIO4mQhaVdV4kJ1c54oxV3/hHVU+oD251Gb5JN+m1RbJFTMf1o0rAFqkvto33rxMdpafaGKQRJw==", + "dependencies": { + "@babel/runtime": "^7.10.1", + "classnames": "2.x", + "rc-select": "~14.1.0", + "rc-tree": "~5.7.0", + "rc-util": "^5.16.1" + }, + "peerDependencies": { + "react": "*", + "react-dom": "*" + } + }, + "node_modules/rc-trigger": { + "version": "5.3.4", + "resolved": "https://registry.npmjs.org/rc-trigger/-/rc-trigger-5.3.4.tgz", + "integrity": "sha512-mQv+vas0TwKcjAO2izNPkqR4j86OemLRmvL2nOzdP9OWNWA1ivoTt5hzFqYNW9zACwmTezRiN8bttrC7cZzYSw==", + "dependencies": { + "@babel/runtime": "^7.18.3", + "classnames": "^2.2.6", + "rc-align": "^4.0.0", + "rc-motion": "^2.0.0", + "rc-util": "^5.19.2" + }, + "engines": { + "node": ">=8.x" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-upload": { + "version": "4.3.6", + "resolved": "https://registry.npmjs.org/rc-upload/-/rc-upload-4.3.6.tgz", + "integrity": "sha512-Bt7ESeG5tT3IY82fZcP+s0tQU2xmo1W6P3S8NboUUliquJLQYLkUcsaExi3IlBVr43GQMCjo30RA2o0i70+NjA==", + "dependencies": { + "@babel/runtime": "^7.18.3", + "classnames": "^2.2.5", + "rc-util": "^5.2.0" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-util": { + "version": "5.39.1", + "resolved": "https://registry.npmjs.org/rc-util/-/rc-util-5.39.1.tgz", + "integrity": "sha512-OW/ERynNDgNr4y0oiFmtes3rbEamXw7GHGbkbNd9iRr7kgT03T6fT0b9WpJ3mbxKhyOcAHnGcIoh5u/cjrC2OQ==", + "dependencies": { + "@babel/runtime": "^7.18.3", + "react-is": "^18.2.0" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-virtual-list": { + "version": "3.11.4", + "resolved": "https://registry.npmjs.org/rc-virtual-list/-/rc-virtual-list-3.11.4.tgz", + "integrity": "sha512-NbBi0fvyIu26gP69nQBiWgUMTPX3mr4FcuBQiVqagU0BnuX8WQkiivnMs105JROeuUIFczLrlgUhLQwTWV1XDA==", + "dependencies": { + "@babel/runtime": "^7.20.0", + "classnames": "^2.2.6", + "rc-resize-observer": "^1.0.0", + "rc-util": "^5.36.0" + }, + "engines": { + "node": ">=8.x" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc/node_modules/strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react": { + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react/-/react-17.0.2.tgz", + "integrity": "sha512-gnhPt75i/dq/z3/6q/0asP78D0u592D5L1pd7M8P+dck6Fu/jJeL6iVVK23fptSUZj8Vjf++7wXA8UNclGQcbA==", + "dependencies": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-attr-converter": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/react-attr-converter/-/react-attr-converter-0.3.1.tgz", + "integrity": "sha512-dSxo2Mn6Zx4HajeCeQNLefwEO4kNtV/0E682R1+ZTyFRPqxDa5zYb5qM/ocqw9Bxr/kFQO0IUiqdV7wdHw+Cdg==", + "dev": true + }, + "node_modules/react-clientside-effect": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/react-clientside-effect/-/react-clientside-effect-1.2.6.tgz", + "integrity": "sha512-XGGGRQAKY+q25Lz9a/4EPqom7WRjz3z9R2k4jhVKA/puQFH/5Nt27vFZYql4m4NVNdUvX8PS3O7r/Zzm7cjUlg==", + "dependencies": { + "@babel/runtime": "^7.12.13" + }, + "peerDependencies": { + "react": "^15.3.0 || ^16.0.0 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/react-copy-to-clipboard": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/react-copy-to-clipboard/-/react-copy-to-clipboard-5.0.3.tgz", + "integrity": "sha512-9S3j+m+UxDZOM0Qb8mhnT/rMR0NGSrj9A/073yz2DSxPMYhmYFBMYIdI2X4o8AjOjyFsSNxDRnCX6s/gRxpriw==", + "dev": true, + "dependencies": { + "copy-to-clipboard": "^3", + "prop-types": "^15.5.8" + }, + "peerDependencies": { + "react": "^15.3.0 || ^16.0.0 || ^17.0.0" + } + }, + "node_modules/react-debounce-input": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/react-debounce-input/-/react-debounce-input-3.3.0.tgz", + "integrity": "sha512-VEqkvs8JvY/IIZvh71Z0TC+mdbxERvYF33RcebnodlsUZ8RSgyKe2VWaHXv4+/8aoOgXLxWrdsYs2hDhcwbUgA==", + "dev": true, + "dependencies": { + "lodash.debounce": "^4", + "prop-types": "^15.8.1" + }, + "peerDependencies": { + "react": "^15.3.0 || 16 || 17 || 18" + } + }, + "node_modules/react-dev-inspector": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/react-dev-inspector/-/react-dev-inspector-1.9.0.tgz", + "integrity": "sha512-1ZlraWRrDz+NgjHwOmTAn/wWoP+6gZt46DS1mRRILlST0iKg4FO2Zj9dDcG5XPaeIIr3OGKwsX5vM6vakmaftA==", + "dependencies": { + "@babel/core": "^7.11.6", + "@babel/generator": "^7.11.6", + "@babel/parser": "^7.11.5", + "@babel/traverse": "^7.11.5", + "@babel/types": "^7.17.0", + "hotkeys-js": "^3.8.1", + "loader-utils": "^2.0.0", + "querystring": "^0.2.1", + "react-dev-utils": "^12.0.1" + }, + "peerDependencies": { + "react": ">=16.8.0" + } + }, + "node_modules/react-dev-utils": { + "version": "12.0.1", + "resolved": "https://registry.npmjs.org/react-dev-utils/-/react-dev-utils-12.0.1.tgz", + "integrity": "sha512-84Ivxmr17KjUupyqzFode6xKhjwuEJDROWKJy/BthkL7Wn6NJ8h4WE6k/exAv6ImS+0oZLRRW5j/aINMHyeGeQ==", + "dependencies": { + "@babel/code-frame": "^7.16.0", + "address": "^1.1.2", + "browserslist": "^4.18.1", + "chalk": "^4.1.2", + "cross-spawn": "^7.0.3", + "detect-port-alt": "^1.1.6", + "escape-string-regexp": "^4.0.0", + "filesize": "^8.0.6", + "find-up": "^5.0.0", + "fork-ts-checker-webpack-plugin": "^6.5.0", + "global-modules": "^2.0.0", + "globby": "^11.0.4", + "gzip-size": "^6.0.0", + "immer": "^9.0.7", + "is-root": "^2.1.0", + "loader-utils": "^3.2.0", + "open": "^8.4.0", + "pkg-up": "^3.1.0", + "prompts": "^2.4.2", + "react-error-overlay": "^6.0.11", + "recursive-readdir": "^2.2.2", + "shell-quote": "^1.7.3", + "strip-ansi": "^6.0.1", + "text-table": "^0.2.0" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/react-dev-utils/node_modules/filesize": { + "version": "8.0.7", + "resolved": "https://registry.npmjs.org/filesize/-/filesize-8.0.7.tgz", + "integrity": "sha512-pjmC+bkIF8XI7fWaH8KxHcZL3DPybs1roSKP4rKDvy20tAWwIObE4+JIseG2byfGKhud5ZnM4YSGKBz7Sh0ndQ==", + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/react-dev-utils/node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/react-dev-utils/node_modules/immer": { + "version": "9.0.21", + "resolved": "https://registry.npmjs.org/immer/-/immer-9.0.21.tgz", + "integrity": "sha512-bc4NBHqOqSfRW7POMkHd51LvClaeMXpm8dx0e8oE2GORbq5aRK7Bxl4FyzVLdGtLmvLKL7BTDBG5ACQm4HWjTA==", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/immer" + } + }, + "node_modules/react-dev-utils/node_modules/loader-utils": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-3.2.1.tgz", + "integrity": "sha512-ZvFw1KWS3GVyYBYb7qkmRM/WwL2TQQBxgCK62rlvm4WpVQ23Nb4tYjApUlfjrEGvOs7KHEsmyUn75OHZrJMWPw==", + "engines": { + "node": ">= 12.13.0" + } + }, + "node_modules/react-dev-utils/node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/react-dev-utils/node_modules/open": { + "version": "8.4.2", + "resolved": "https://registry.npmjs.org/open/-/open-8.4.2.tgz", + "integrity": "sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==", + "dependencies": { + "define-lazy-prop": "^2.0.0", + "is-docker": "^2.1.1", + "is-wsl": "^2.2.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/react-dev-utils/node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/react-dev-utils/node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/react-docgen-typescript-dumi-tmp": { + "version": "1.22.1-0", + "resolved": "https://registry.npmjs.org/react-docgen-typescript-dumi-tmp/-/react-docgen-typescript-dumi-tmp-1.22.1-0.tgz", + "integrity": "sha512-wjuAm1yj+ZZucovow2VF0MXkH2SGZ+squZxfNdnam3oyUbHy/xZaU1ZabCn7rY+13ZFx0/NLda+ZuBgF3g8vBA==", + "dev": true, + "peerDependencies": { + "typescript": ">= 3.x" + } + }, + "node_modules/react-dom": { + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-17.0.2.tgz", + "integrity": "sha512-s4h96KtLDUQlsENhMn1ar8t2bEa+q/YAtj8pPPdIjPDGBDIVNsrD9aXNWqspUe6AzKCIG0C1HZZLqLV7qpOBGA==", + "dependencies": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1", + "scheduler": "^0.20.2" + }, + "peerDependencies": { + "react": "17.0.2" + } + }, + "node_modules/react-error-boundary": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/react-error-boundary/-/react-error-boundary-3.1.4.tgz", + "integrity": "sha512-uM9uPzZJTF6wRQORmSrvOIgt4lJ9MC1sNgEOj2XGsDTRE4kmpWxg7ENK9EWNKJRMAOY9z0MuF4yIfl6gp4sotA==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.12.5" + }, + "engines": { + "node": ">=10", + "npm": ">=6" + }, + "peerDependencies": { + "react": ">=16.13.1" + } + }, + "node_modules/react-error-overlay": { + "version": "6.0.11", + "resolved": "https://registry.npmjs.org/react-error-overlay/-/react-error-overlay-6.0.11.tgz", + "integrity": "sha512-/6UZ2qgEyH2aqzYZgQPxEnz33NJ2gNsnHA2o5+o4wW9bLM/JYQitNP9xPhsXwC08hMMovfGe/8retsdDsczPRg==" + }, + "node_modules/react-fast-compare": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/react-fast-compare/-/react-fast-compare-3.2.2.tgz", + "integrity": "sha512-nsO+KSNgo1SbJqJEYRE9ERzo7YtYbou/OqjSQKxV7jcKox7+usiUVZOAC+XnDOABXggQTno0Y1CpVnuWEc1boQ==" + }, + "node_modules/react-focus-lock": { + "version": "2.11.2", + "resolved": "https://registry.npmjs.org/react-focus-lock/-/react-focus-lock-2.11.2.tgz", + "integrity": "sha512-DDTbEiov0+RthESPVSTIdAWPPKic+op3sCcP+icbMRobvQNt7LuAlJ3KoarqQv5sCgKArru3kXmlmFTa27/CdQ==", + "dependencies": { + "@babel/runtime": "^7.0.0", + "focus-lock": "^1.3.2", + "prop-types": "^15.6.2", + "react-clientside-effect": "^1.2.6", + "use-callback-ref": "^1.3.0", + "use-sidecar": "^1.1.2" + }, + "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 + } + } + }, + "node_modules/react-helmet": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/react-helmet/-/react-helmet-6.1.0.tgz", + "integrity": "sha512-4uMzEY9nlDlgxr61NL3XbKRy1hEkXmKNXhjbAIOVw5vcFrsdYbH2FEwcNyWvWinl103nXgzYNlns9ca+8kFiWw==", + "dev": true, + "dependencies": { + "object-assign": "^4.1.1", + "prop-types": "^15.7.2", + "react-fast-compare": "^3.1.1", + "react-side-effect": "^2.1.0" + }, + "peerDependencies": { + "react": ">=16.3.0" + } + }, + "node_modules/react-helmet-async": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/react-helmet-async/-/react-helmet-async-1.3.0.tgz", + "integrity": "sha512-9jZ57/dAn9t3q6hneQS0wukqC2ENOBgMNVEhb/ZG9ZSxUetzVIw4iAmEU38IaVg3QGYauQPhSeUTuIUtFglWpg==", + "dependencies": { + "@babel/runtime": "^7.12.5", + "invariant": "^2.2.4", + "prop-types": "^15.7.2", + "react-fast-compare": "^3.2.0", + "shallowequal": "^1.1.0" + }, + "peerDependencies": { + "react": "^16.6.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.6.0 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/react-immutable-proptypes": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/react-immutable-proptypes/-/react-immutable-proptypes-2.2.0.tgz", + "integrity": "sha512-Vf4gBsePlwdGvSZoLSBfd4HAP93HDauMY4fDjXhreg/vg6F3Fj/MXDNyTbltPC/xZKmZc+cjLu3598DdYK6sgQ==", + "dev": true, + "dependencies": { + "invariant": "^2.2.2" + }, + "peerDependencies": { + "immutable": ">=3.6.2" + } + }, + "node_modules/react-immutable-pure-component": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/react-immutable-pure-component/-/react-immutable-pure-component-1.2.4.tgz", + "integrity": "sha512-zPXaFWxaF4+ztVMFNMlCFkrhjpb9MPcL3JnXUpb6wKGF1+vBoSgClFbpbOsZAji7gm+RHBE24H44Lday2xxPjw==", + "dev": true, + "peerDependencies": { + "immutable": ">= 3", + "react": ">= 15", + "react-dom": ">= 15" + } + }, + "node_modules/react-inspector": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/react-inspector/-/react-inspector-2.3.1.tgz", + "integrity": "sha512-tUUK7t3KWgZEIUktOYko5Ic/oYwvjEvQUFAGC1UeMeDaQ5za2yZFtItJa2RTwBJB//NxPr000WQK6sEbqC6y0Q==", + "dev": true, + "dependencies": { + "babel-runtime": "^6.26.0", + "is-dom": "^1.0.9", + "prop-types": "^15.6.1" + }, + "peerDependencies": { + "react": "^0.14.0 || ^15.0.0 || ^16.0.0" + } + }, + "node_modules/react-intl": { + "version": "3.12.1", + "resolved": "https://registry.npmjs.org/react-intl/-/react-intl-3.12.1.tgz", + "integrity": "sha512-cgumW29mwROIqyp8NXStYsoIm27+8FqnxykiLSawWjOxGIBeLuN/+p2srei5SRIumcJefOkOIHP+NDck05RgHg==", + "dev": true, + "dependencies": { + "@formatjs/intl-displaynames": "^1.2.0", + "@formatjs/intl-listformat": "^1.4.1", + "@formatjs/intl-relativetimeformat": "^4.5.9", + "@formatjs/intl-unified-numberformat": "^3.2.0", + "@formatjs/intl-utils": "^2.2.0", + "@types/hoist-non-react-statics": "^3.3.1", + "@types/invariant": "^2.2.31", + "hoist-non-react-statics": "^3.3.2", + "intl-format-cache": "^4.2.21", + "intl-messageformat": "^7.8.4", + "intl-messageformat-parser": "^3.6.4", + "shallow-equal": "^1.2.1" + }, + "peerDependencies": { + "react": "^16.3.0" + } + }, + "node_modules/react-intl/node_modules/intl-messageformat": { + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/intl-messageformat/-/intl-messageformat-7.8.4.tgz", + "integrity": "sha512-yS0cLESCKCYjseCOGXuV4pxJm/buTfyCJ1nzQjryHmSehlptbZbn9fnlk1I9peLopZGGbjj46yHHiTAEZ1qOTA==", + "dev": true, + "dependencies": { + "intl-format-cache": "^4.2.21", + "intl-messageformat-parser": "^3.6.4" + } + }, + "node_modules/react-is": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==" + }, + "node_modules/react-lifecycles-compat": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz", + "integrity": "sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA==", + "dev": true + }, + "node_modules/react-motion": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/react-motion/-/react-motion-0.5.2.tgz", + "integrity": "sha512-9q3YAvHoUiWlP3cK0v+w1N5Z23HXMj4IF4YuvjvWegWqNPfLXsOBE/V7UvQGpXxHFKRQQcNcVQE31g9SB/6qgQ==", + "dev": true, + "dependencies": { + "performance-now": "^0.2.0", + "prop-types": "^15.5.8", + "raf": "^3.1.0" + }, + "peerDependencies": { + "react": "^0.14.9 || ^15.3.0 || ^16.0.0" + } + }, + "node_modules/react-motion/node_modules/performance-now": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-0.2.0.tgz", + "integrity": "sha512-YHk5ez1hmMR5LOkb9iJkLKqoBlL7WD5M8ljC75ZfzXriuBIVNuecaXuU7e+hOwyqf24Wxhh7Vxgt7Hnw9288Tg==", + "dev": true + }, + "node_modules/react-native-swipeout": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/react-native-swipeout/-/react-native-swipeout-2.3.6.tgz", + "integrity": "sha512-t9suUCspzck4vp2pWggWe0frS/QOtX6yYCawHnEes75A7dZCEE74bxX2A1bQzGH9cUMjq6xsdfC94RbiDKIkJg==", + "deprecated": "Package no longer supported. Use at your own risk or consider using https://github.com/software-mansion/react-native-gesture-handler", + "dev": true, + "dependencies": { + "create-react-class": "^15.6.0", + "prop-types": "^15.5.10", + "react-tween-state": "^0.1.5" + } + }, + "node_modules/react-redux": { + "version": "7.2.9", + "resolved": "https://registry.npmjs.org/react-redux/-/react-redux-7.2.9.tgz", + "integrity": "sha512-Gx4L3uM182jEEayZfRbI/G11ZpYdNAnBs70lFVMNdHJI76XYtR+7m0MN+eAs7UHBPhWXcnFPaS+9owSCJQHNpQ==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.15.4", + "@types/react-redux": "^7.1.20", + "hoist-non-react-statics": "^3.3.2", + "loose-envify": "^1.4.0", + "prop-types": "^15.7.2", + "react-is": "^17.0.2" + }, + "peerDependencies": { + "react": "^16.8.3 || ^17 || ^18" + }, + "peerDependenciesMeta": { + "react-dom": { + "optional": true + }, + "react-native": { + "optional": true + } + } + }, + "node_modules/react-redux/node_modules/react-is": { + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", + "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", + "dev": true + }, + "node_modules/react-refresh": { + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.10.0.tgz", + "integrity": "sha512-PgidR3wST3dDYKr6b4pJoqQFpPGNKDSCDx4cZoshjXipw3LzO7mG1My2pwEzz2JVkF+inx3xRpDeQLFQGH/hsQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-router": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/react-router/-/react-router-5.2.0.tgz", + "integrity": "sha512-smz1DUuFHRKdcJC0jobGo8cVbhO3x50tCL4icacOlcwDOEQPq4TMqwx3sY1TP+DvtTgz4nm3thuo7A+BK2U0Dw==", + "dependencies": { + "@babel/runtime": "^7.1.2", + "history": "^4.9.0", + "hoist-non-react-statics": "^3.1.0", + "loose-envify": "^1.3.1", + "mini-create-react-context": "^0.4.0", + "path-to-regexp": "^1.7.0", + "prop-types": "^15.6.2", + "react-is": "^16.6.0", + "tiny-invariant": "^1.0.2", + "tiny-warning": "^1.0.0" + }, + "peerDependencies": { + "react": ">=15" + } + }, + "node_modules/react-router-config": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/react-router-config/-/react-router-config-5.1.1.tgz", + "integrity": "sha512-DuanZjaD8mQp1ppHjgnnUnyOlqYXZVjnov/JzFhjLEwd3Z4dYjMSnqrEzzGThH47vpCOqPPwJM2FtthLeJ8Pbg==", + "dependencies": { + "@babel/runtime": "^7.1.2" + }, + "peerDependencies": { + "react": ">=15", + "react-router": ">=5" + } + }, + "node_modules/react-router-dom": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-5.2.0.tgz", + "integrity": "sha512-gxAmfylo2QUjcwxI63RhQ5G85Qqt4voZpUXSEqCwykV0baaOTQDR1f0PmY8AELqIyVc0NEZUj0Gov5lNGcXgsA==", + "dependencies": { + "@babel/runtime": "^7.1.2", + "history": "^4.9.0", + "loose-envify": "^1.3.1", + "prop-types": "^15.6.2", + "react-router": "5.2.0", + "tiny-invariant": "^1.0.2", + "tiny-warning": "^1.0.0" + }, + "peerDependencies": { + "react": ">=15" + } + }, + "node_modules/react-router/node_modules/isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==" + }, + "node_modules/react-router/node_modules/path-to-regexp": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.8.0.tgz", + "integrity": "sha512-n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA==", + "dependencies": { + "isarray": "0.0.1" + } + }, + "node_modules/react-router/node_modules/react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" + }, + "node_modules/react-side-effect": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/react-side-effect/-/react-side-effect-2.1.2.tgz", + "integrity": "sha512-PVjOcvVOyIILrYoyGEpDN3vmYNLdy1CajSFNt4TDsVQC5KpTijDvWVoR+/7Rz2xT978D8/ZtFceXxzsPwZEDvw==", + "dev": true, + "peerDependencies": { + "react": "^16.3.0 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/react-sortable-hoc": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/react-sortable-hoc/-/react-sortable-hoc-2.0.0.tgz", + "integrity": "sha512-JZUw7hBsAHXK7PTyErJyI7SopSBFRcFHDjWW5SWjcugY0i6iH7f+eJkY8cJmGMlZ1C9xz1J3Vjz0plFpavVeRg==", + "dependencies": { + "@babel/runtime": "^7.2.0", + "invariant": "^2.2.4", + "prop-types": "^15.5.7" + }, + "peerDependencies": { + "prop-types": "^15.5.7", + "react": "^16.3.0 || ^17.0.0", + "react-dom": "^16.3.0 || ^17.0.0" + } + }, + "node_modules/react-syntax-highlighter": { + "version": "15.5.0", + "resolved": "https://registry.npmjs.org/react-syntax-highlighter/-/react-syntax-highlighter-15.5.0.tgz", + "integrity": "sha512-+zq2myprEnQmH5yw6Gqc8lD55QHnpKaU8TOcFeC/Lg/MQSs8UknEA0JC4nTZGFAXC2J2Hyj/ijJ7NlabyPi2gg==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.3.1", + "highlight.js": "^10.4.1", + "lowlight": "^1.17.0", + "prismjs": "^1.27.0", + "refractor": "^3.6.0" + }, + "peerDependencies": { + "react": ">= 0.14.0" + } + }, + "node_modules/react-transition-group": { + "version": "4.4.5", + "resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-4.4.5.tgz", + "integrity": "sha512-pZcd1MCJoiKiBR2NRxeCRg13uCXbydPnmB4EOeRrY7480qNWO8IIgQG6zlDkm6uRMsURXPuKq0GWtiM59a5Q6g==", + "dependencies": { + "@babel/runtime": "^7.5.5", + "dom-helpers": "^5.0.1", + "loose-envify": "^1.4.0", + "prop-types": "^15.6.2" + }, + "peerDependencies": { + "react": ">=16.6.0", + "react-dom": ">=16.6.0" + } + }, + "node_modules/react-tween-state": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/react-tween-state/-/react-tween-state-0.1.5.tgz", + "integrity": "sha512-sJQpjsdn0wjlDIUpfpb7jQGnOG8hAEW2e8k0KPA+xmf5KFa6Xat2JldbmxBhaqP0S/uIXhVE5ymKyH/b9X8nYA==", + "dev": true, + "dependencies": { + "raf": "^3.1.0", + "tween-functions": "^1.0.1" + } + }, + "node_modules/reactcss": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/reactcss/-/reactcss-1.2.3.tgz", + "integrity": "sha512-KiwVUcFu1RErkI97ywr8nvx8dNOpT03rbnma0SSalTYjkrPYaEajR4a/MRt6DZ46K6arDRbWMNHF+xH7G7n/8A==", + "dependencies": { + "lodash": "^4.0.1" + } + }, + "node_modules/read-pkg": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", + "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", + "dev": true, + "dependencies": { + "@types/normalize-package-data": "^2.4.0", + "normalize-package-data": "^2.5.0", + "parse-json": "^5.0.0", + "type-fest": "^0.6.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/read-pkg-up": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz", + "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==", + "dev": true, + "dependencies": { + "find-up": "^4.1.0", + "read-pkg": "^5.2.0", + "type-fest": "^0.8.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/read-pkg-up/node_modules/type-fest": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/read-pkg/node_modules/type-fest": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", + "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/readable-stream/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, + "node_modules/readdirp": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.5.0.tgz", + "integrity": "sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ==", + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/recursive-readdir": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/recursive-readdir/-/recursive-readdir-2.2.3.tgz", + "integrity": "sha512-8HrF5ZsXk5FAH9dgsx3BlUer73nIhuj+9OrQwEbLTPOBzGkL1lsFCR01am+v+0m2Cmbs1nP12hLDl5FA7EszKA==", + "dependencies": { + "minimatch": "^3.0.5" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/redent": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz", + "integrity": "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==", + "dev": true, + "dependencies": { + "indent-string": "^4.0.0", + "strip-indent": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/redent/node_modules/strip-indent": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz", + "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==", + "dev": true, + "dependencies": { + "min-indent": "^1.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/redeyed": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/redeyed/-/redeyed-2.1.1.tgz", + "integrity": "sha512-FNpGGo1DycYAdnrKFxCMmKYgo/mILAqtRYbkdQD8Ep/Hk2PQ5+aEAEx+IU713RTDmuBaH0c8P5ZozurNu5ObRQ==", + "dev": true, + "dependencies": { + "esprima": "~4.0.0" + } + }, + "node_modules/redux": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/redux/-/redux-4.2.1.tgz", + "integrity": "sha512-LAUYz4lc+Do8/g7aeRa8JkyDErK6ekstQaqWQrNRW//MY1TvCEpMtpTWvlQ+FPbWCx+Xixu/6SHt5N0HR+SB4w==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.9.2" + } + }, + "node_modules/redux-immutable": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/redux-immutable/-/redux-immutable-3.1.0.tgz", + "integrity": "sha512-1W+0w6jKurzRnLLpYXRSOgaBTDpJthbnFJkkRei7598uNkiRYn5BZZ4QcGDX2I5Sin8L7W3hOHzQ9ne0oO8y8A==", + "dev": true, + "dependencies": { + "immutable": "^3.8.1" + } + }, + "node_modules/redux-immutable/node_modules/immutable": { + "version": "3.8.2", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-3.8.2.tgz", + "integrity": "sha512-15gZoQ38eYjEjxkorfbcgBKBL6R7T459OuK+CpcWt7O3KF4uPCx2tD0uFETlUDIyo+1789crbMhTvQBSR5yBMg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/redux-saga": { + "version": "0.16.2", + "resolved": "https://registry.npmjs.org/redux-saga/-/redux-saga-0.16.2.tgz", + "integrity": "sha512-iIjKnRThI5sKPEASpUvySemjzwqwI13e3qP7oLub+FycCRDysLSAOwt958niZW6LhxfmS6Qm1BzbU70w/Koc4w==", + "dev": true + }, + "node_modules/reflect.getprototypeof": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.6.tgz", + "integrity": "sha512-fmfw4XgoDke3kdI6h4xcUz1dG8uaiv5q9gcEwLS4Pnth2kxT+GZ7YehS1JTMGBQmtV7Y4GFGbs2re2NqhdozUg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.1", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.4", + "globalthis": "^1.0.3", + "which-builtin-type": "^1.1.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/refractor": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/refractor/-/refractor-3.6.0.tgz", + "integrity": "sha512-MY9W41IOWxxk31o+YvFCNyNzdkc9M20NoZK5vq6jkv4I/uh2zkWcfudj0Q1fovjUQJrNewS9NMzeTtqPf+n5EA==", + "dev": true, + "dependencies": { + "hastscript": "^6.0.0", + "parse-entities": "^2.0.0", + "prismjs": "~1.27.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/refractor/node_modules/prismjs": { + "version": "1.27.0", + "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.27.0.tgz", + "integrity": "sha512-t13BGPUlFDR7wRB5kQDG4jjl7XeuH6jbJGt11JHPL96qwsEHNX2+68tFXqc1/k+/jALsbSWJKUOT/hcYAZ5LkA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/reftools": { + "version": "1.1.9", + "resolved": "https://registry.npmjs.org/reftools/-/reftools-1.1.9.tgz", + "integrity": "sha512-OVede/NQE13xBQ+ob5CKd5KyeJYU2YInb1bmV4nRoOfquZPkAkxuOXicSe1PvqIuZZ4kD13sPKBbR7UFDmli6w==", + "dev": true, + "funding": { + "url": "https://github.com/Mermade/oas-kit?sponsor=1" + } + }, + "node_modules/regenerate": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", + "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==" + }, + "node_modules/regenerate-unicode-properties": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.0.1.tgz", + "integrity": "sha512-vn5DU6yg6h8hP/2OkQo3K7uVILvY4iu0oI4t3HFa81UPkhGJwkRwM10JEc3upjdhHjs/k8GJY1sRBhk5sr69Bw==", + "dependencies": { + "regenerate": "^1.4.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/regenerator-runtime": { + "version": "0.14.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz", + "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==" + }, + "node_modules/regenerator-transform": { + "version": "0.15.2", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.2.tgz", + "integrity": "sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.8.4" + } + }, + "node_modules/regex-not": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", + "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", + "dev": true, + "dependencies": { + "extend-shallow": "^3.0.2", + "safe-regex": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/regex-not/node_modules/extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==", + "dev": true, + "dependencies": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/regex-not/node_modules/is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "dependencies": { + "is-plain-object": "^2.0.4" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/regex-not/node_modules/safe-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", + "integrity": "sha512-aJXcif4xnaNUzvUuC5gcb46oTS7zvg4jpMTnuqtrEPlR3vFr4pxtdTwaF1Qs3Enjn9HK+ZlwQui+a7z0SywIzg==", + "dev": true, + "dependencies": { + "ret": "~0.1.10" + } + }, + "node_modules/regexp-tree": { + "version": "0.1.27", + "resolved": "https://registry.npmjs.org/regexp-tree/-/regexp-tree-0.1.27.tgz", + "integrity": "sha512-iETxpjK6YoRWJG5o6hXLwvjYAoW+FEZn9os0PD/b6AP6xQwsa/Y7lCVgIixBbUPMfhu+i2LtdeAqVTgGlQarfA==", + "dev": true, + "bin": { + "regexp-tree": "bin/regexp-tree" + } + }, + "node_modules/regexp.prototype.flags": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.2.tgz", + "integrity": "sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.6", + "define-properties": "^1.2.1", + "es-errors": "^1.3.0", + "set-function-name": "^2.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/regexpp": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", + "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/mysticatea" + } + }, + "node_modules/regexpu-core": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.3.2.tgz", + "integrity": "sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==", + "dev": true, + "dependencies": { + "@babel/regjsgen": "^0.8.0", + "regenerate": "^1.4.2", + "regenerate-unicode-properties": "^10.1.0", + "regjsparser": "^0.9.1", + "unicode-match-property-ecmascript": "^2.0.0", + "unicode-match-property-value-ecmascript": "^2.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/regexpu-core/node_modules/regenerate-unicode-properties": { + "version": "10.1.1", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.1.tgz", + "integrity": "sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q==", + "dev": true, + "dependencies": { + "regenerate": "^1.4.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/registry-auth-token": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-3.4.0.tgz", + "integrity": "sha512-4LM6Fw8eBQdwMYcES4yTnn2TqIasbXuwDx3um+QRs7S55aMKCBKBxvPXl2RiUjHwuJLTyYfxSpmfSAjQpcuP+A==", + "dev": true, + "dependencies": { + "rc": "^1.1.6", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/registry-url": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-3.1.0.tgz", + "integrity": "sha512-ZbgR5aZEdf4UKZVBPYIgaglBmSF2Hi94s2PcIHhRGFjKYu+chjJdYfHn4rt3hB6eCKLJ8giVIIfgMa1ehDfZKA==", + "dev": true, + "dependencies": { + "rc": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/regjsparser": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz", + "integrity": "sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==", + "dev": true, + "dependencies": { + "jsesc": "~0.5.0" + }, + "bin": { + "regjsparser": "bin/parser" + } + }, + "node_modules/regjsparser/node_modules/jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==", + "dev": true, + "bin": { + "jsesc": "bin/jsesc" + } + }, + "node_modules/rehype-autolink-headings": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/rehype-autolink-headings/-/rehype-autolink-headings-4.0.0.tgz", + "integrity": "sha512-2lglJ+4S3A4RCz+zlKVWj1wHvwO4bjunAoEOgMfjphT59EVXwdMiJzrL/A2fuAX/33k/LhkGW6BEK1Cl1I5WQw==", + "dev": true, + "dependencies": { + "extend": "^3.0.1", + "hast-util-has-property": "^1.0.0", + "hast-util-is-element": "^1.0.0", + "unist-util-visit": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/rehype-mathjax": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/rehype-mathjax/-/rehype-mathjax-3.1.0.tgz", + "integrity": "sha512-Pmz92Y56lBFmDjFc9nIdrKu1xzKSBYevcwKiKiG7b5JJg74q1E62nRSbPEm37vXaXn7Bn25iRsWcP39bJKkMxg==", + "dev": true, + "dependencies": { + "@types/mathjax": "^0.0.36", + "hast-util-from-dom": "^3.0.0", + "hast-util-to-text": "^2.0.0", + "jsdom": "^16.0.0", + "mathjax-full": "^3.0.0", + "unist-util-visit": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/rehype-remove-comments": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/rehype-remove-comments/-/rehype-remove-comments-4.0.2.tgz", + "integrity": "sha512-E2FNohTuIs7QzUnEQs3SdYdCScsTgUN7yPeDNWi+gsvx+pbLzIAyp27TWz3Gm64jpdLi7/6HxyRHxdd1NVQ37A==", + "dev": true, + "dependencies": { + "hast-util-is-conditional-comment": "^1.0.0", + "unist-util-filter": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/rehype-stringify": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/rehype-stringify/-/rehype-stringify-8.0.0.tgz", + "integrity": "sha512-VkIs18G0pj2xklyllrPSvdShAV36Ff3yE5PUO9u36f6+2qJFnn22Z5gKwBOwgXviux4UC7K+/j13AnZfPICi/g==", + "dev": true, + "dependencies": { + "hast-util-to-html": "^7.1.1" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark": { + "version": "13.0.0", + "resolved": "https://registry.npmjs.org/remark/-/remark-13.0.0.tgz", + "integrity": "sha512-HDz1+IKGtOyWN+QgBiAT0kn+2s6ovOxHyPAFGKVE81VSzJ+mq7RwHFledEvB5F1p4iJvOah/LOKdFuzvRnNLCA==", + "dev": true, + "dependencies": { + "remark-parse": "^9.0.0", + "remark-stringify": "^9.0.0", + "unified": "^9.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-frontmatter": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/remark-frontmatter/-/remark-frontmatter-3.0.0.tgz", + "integrity": "sha512-mSuDd3svCHs+2PyO29h7iijIZx4plX0fheacJcAoYAASfgzgVIcXGYSq9GFyYocFLftQs8IOmmkgtOovs6d4oA==", + "dev": true, + "dependencies": { + "mdast-util-frontmatter": "^0.2.0", + "micromark-extension-frontmatter": "^0.2.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-gfm": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/remark-gfm/-/remark-gfm-1.0.0.tgz", + "integrity": "sha512-KfexHJCiqvrdBZVbQ6RopMZGwaXz6wFJEfByIuEwGf0arvITHjiKKZ1dpXujjH9KZdm1//XJQwgfnJ3lmXaDPA==", + "dev": true, + "dependencies": { + "mdast-util-gfm": "^0.1.0", + "micromark-extension-gfm": "^0.3.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-math": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/remark-math/-/remark-math-4.0.0.tgz", + "integrity": "sha512-lH7SoQenXtQrvL0bm+mjZbvOk//YWNuyR+MxV18Qyv8rgFmMEGNuB0TSCQDkoDaiJ40FCnG8lxErc/zhcedYbw==", + "dev": true, + "dependencies": { + "mdast-util-math": "^0.1.0", + "micromark-extension-math": "^0.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-parse": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-9.0.0.tgz", + "integrity": "sha512-geKatMwSzEXKHuzBNU1z676sGcDcFoChMK38TgdHJNAYfFtsfHDQG7MoJAjs6sgYMqyLduCYWDIWZIxiPeafEw==", + "dev": true, + "dependencies": { + "mdast-util-from-markdown": "^0.8.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-rehype": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/remark-rehype/-/remark-rehype-8.1.0.tgz", + "integrity": "sha512-EbCu9kHgAxKmW1yEYjx3QafMyGY3q8noUbNUI5xyKbaFP89wbhDrKxyIQNukNYthzjNHZu6J7hwFg7hRm1svYA==", + "dev": true, + "dependencies": { + "mdast-util-to-hast": "^10.2.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-stringify": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/remark-stringify/-/remark-stringify-9.0.1.tgz", + "integrity": "sha512-mWmNg3ZtESvZS8fv5PTvaPckdL4iNlCHTt8/e/8oN08nArHRHjNZMKzA/YW3+p7/lYqIw4nx1XsjCBo/AxNChg==", + "dev": true, + "dependencies": { + "mdast-util-to-markdown": "^0.6.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark/node_modules/is-buffer": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz", + "integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "engines": { + "node": ">=4" + } + }, + "node_modules/remark/node_modules/unified": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/unified/-/unified-9.2.2.tgz", + "integrity": "sha512-Sg7j110mtefBD+qunSLO1lqOEKdrwBFBrR6Qd8f4uwkhWNlbkaqwHse6e7QvD3AP/MNoJdEDLaf8OxYyoWgorQ==", + "dev": true, + "dependencies": { + "bail": "^1.0.0", + "extend": "^3.0.0", + "is-buffer": "^2.0.0", + "is-plain-obj": "^2.0.0", + "trough": "^1.0.0", + "vfile": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remarkable": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/remarkable/-/remarkable-2.0.1.tgz", + "integrity": "sha512-YJyMcOH5lrR+kZdmB0aJJ4+93bEojRZ1HGDn9Eagu6ibg7aVZhc3OWbbShRid+Q5eAfsEqWxpe+g5W5nYNfNiA==", + "dev": true, + "dependencies": { + "argparse": "^1.0.10", + "autolinker": "^3.11.0" + }, + "bin": { + "remarkable": "bin/remarkable.js" + }, + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/remote-origin-url": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/remote-origin-url/-/remote-origin-url-0.5.3.tgz", + "integrity": "sha512-crQ7Xk1m/F2IiwBx5oTqk/c0hjoumrEz+a36+ZoVupskQRE/q7pAwHKsTNeiZ31sbSTELvVlVv4h1W0Xo5szKg==", + "dev": true, + "dependencies": { + "parse-git-config": "^1.1.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/remove-trailing-separator": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", + "integrity": "sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw==", + "dev": true + }, + "node_modules/repeat-element": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.4.tgz", + "integrity": "sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==", + "dev": true, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/replace-ext": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-1.0.1.tgz", + "integrity": "sha512-yD5BHCe7quCgBph4rMQ+0KkIRKwWCrHDOX1p1Gp6HwjPM5kVoCdKGNhN7ydqqsX6lJEnQDKZ/tFMiEdQ1dvPEw==", + "dev": true, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/request": { + "version": "2.88.2", + "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", + "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", + "deprecated": "request has been deprecated, see https://github.com/request/request/issues/3142", + "dev": true, + "dependencies": { + "aws-sign2": "~0.7.0", + "aws4": "^1.8.0", + "caseless": "~0.12.0", + "combined-stream": "~1.0.6", + "extend": "~3.0.2", + "forever-agent": "~0.6.1", + "form-data": "~2.3.2", + "har-validator": "~5.1.3", + "http-signature": "~1.2.0", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.19", + "oauth-sign": "~0.9.0", + "performance-now": "^2.1.0", + "qs": "~6.5.2", + "safe-buffer": "^5.1.2", + "tough-cookie": "~2.5.0", + "tunnel-agent": "^0.6.0", + "uuid": "^3.3.2" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/request/node_modules/form-data": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", + "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", + "dev": true, + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 0.12" + } + }, + "node_modules/request/node_modules/qs": { + "version": "6.5.3", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.3.tgz", + "integrity": "sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==", + "dev": true, + "engines": { + "node": ">=0.6" + } + }, + "node_modules/request/node_modules/tough-cookie": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", + "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", + "dev": true, + "dependencies": { + "psl": "^1.1.28", + "punycode": "^2.1.1" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/request/node_modules/uuid": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", + "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.", + "dev": true, + "bin": { + "uuid": "bin/uuid" + } + }, + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/require-main-filename": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", + "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", + "dev": true + }, + "node_modules/requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==", + "dev": true + }, + "node_modules/reselect": { + "version": "4.1.8", + "resolved": "https://registry.npmjs.org/reselect/-/reselect-4.1.8.tgz", + "integrity": "sha512-ab9EmR80F/zQTMNeneUr4cv+jSwPJgIlvEmVwLerwrWVbpLlBuls9XHzIeTFy4cegU2NHBp3va0LKOzU5qFEYQ==", + "dev": true + }, + "node_modules/reserved-words": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/reserved-words/-/reserved-words-0.1.2.tgz", + "integrity": "sha512-0S5SrIUJ9LfpbVl4Yzij6VipUdafHrOTzvmfazSw/jeZrZtQK303OPZW+obtkaw7jQlTQppy0UvZWm9872PbRw==", + "dev": true + }, + "node_modules/resize-observer-polyfill": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/resize-observer-polyfill/-/resize-observer-polyfill-1.5.1.tgz", + "integrity": "sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg==" + }, + "node_modules/resolve": { + "version": "1.22.8", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", + "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", + "dev": true, + "dependencies": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/resolve-cwd": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", + "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", + "dev": true, + "dependencies": { + "resolve-from": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/resolve-dir": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-0.1.1.tgz", + "integrity": "sha512-QxMPqI6le2u0dCLyiGzgy92kjkkL6zO0XyvHzjdTNH3zM6e5Hz3BwG6+aEyNgiQ5Xz6PwTwgQEj3U50dByPKIA==", + "dev": true, + "dependencies": { + "expand-tilde": "^1.2.2", + "global-modules": "^0.2.3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/resolve-dir/node_modules/global-modules": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-0.2.3.tgz", + "integrity": "sha512-JeXuCbvYzYXcwE6acL9V2bAOeSIGl4dD+iwLY9iUx2VBJJ80R18HCn+JCwHM9Oegdfya3lEkGCdaRkSyc10hDA==", + "dev": true, + "dependencies": { + "global-prefix": "^0.1.4", + "is-windows": "^0.2.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/resolve-dir/node_modules/global-prefix": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-0.1.5.tgz", + "integrity": "sha512-gOPiyxcD9dJGCEArAhF4Hd0BAqvAe/JzERP7tYumE4yIkmIedPUVXcJFWbV3/p/ovIIvKjkrTk+f1UVkq7vvbw==", + "dev": true, + "dependencies": { + "homedir-polyfill": "^1.0.0", + "ini": "^1.3.4", + "is-windows": "^0.2.0", + "which": "^1.2.12" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/resolve-dir/node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" + } + }, + "node_modules/resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/resolve-pathname": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-pathname/-/resolve-pathname-3.0.0.tgz", + "integrity": "sha512-C7rARubxI8bXFNB/hqcp/4iUeIXJhJZvFPFPiSPRnhU5UPxzMFIl+2E6yY6c4k9giDJAhtV+enfA+G89N6Csng==" + }, + "node_modules/resolve-url": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", + "integrity": "sha512-ZuF55hVUQaaczgOIwqWzkEcEidmlD/xl44x1UZnhOXcYuFN2S6+rcxpG+C1N3So0wvNI3DmJICUFfu2SxhBmvg==", + "deprecated": "https://github.com/lydell/resolve-url#deprecated", + "dev": true + }, + "node_modules/responselike": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/responselike/-/responselike-1.0.2.tgz", + "integrity": "sha512-/Fpe5guzJk1gPqdJLJR5u7eG/gNY4nImjbRDaVWVMRhne55TCmj2i9Q+54PBRfatRC8v/rIiv9BN0pMd9OV5EQ==", + "dev": true, + "dependencies": { + "lowercase-keys": "^1.0.0" + } + }, + "node_modules/restore-cursor": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", + "integrity": "sha512-6IzJLuGi4+R14vwagDHX+JrXmPVtPpn4mffDJ1UdR7/Edm87fl6yi8mMBIVvFtJaNTUvjughmW4hwLhRG7gC1Q==", + "dev": true, + "dependencies": { + "onetime": "^2.0.0", + "signal-exit": "^3.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/restore-cursor/node_modules/mimic-fn": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", + "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/restore-cursor/node_modules/onetime": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", + "integrity": "sha512-oyyPpiMaKARvvcgip+JV+7zci5L8D1W9RZIz2l1o08AM3pfspitVWnPt3mzHcBPp12oYMTy0pqrFs/C+m3EwsQ==", + "dev": true, + "dependencies": { + "mimic-fn": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/ret": { + "version": "0.1.15", + "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", + "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", + "dev": true, + "engines": { + "node": ">=0.12" + } + }, + "node_modules/retry": { + "version": "0.10.1", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.10.1.tgz", + "integrity": "sha512-ZXUSQYTHdl3uS7IuCehYfMzKyIDBNoAuUblvy5oGO5UJSUTmStUUVPXbA9Qxd173Bgre53yCQczQuHgRWAdvJQ==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/rfdc": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.3.1.tgz", + "integrity": "sha512-r5a3l5HzYlIC68TpmYKlxWjmOP6wiPJ1vWv2HeLhNsRZMrCkxeqxiHlQ21oXmQ4F3SiryXBHhAD7JZqvOJjFmg==", + "dev": true + }, + "node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/ripemd160": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", + "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", + "dependencies": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1" + } + }, + "node_modules/rmc-align": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/rmc-align/-/rmc-align-1.0.0.tgz", + "integrity": "sha512-3gEa5/+hqqoEVoeQ25KoRc8DOsXIdSaVpaBq1zQFaV941LR3xvZIRTlxTDT/IagYwoGM1KZea/jd7cNMYP34Rg==", + "dev": true, + "dependencies": { + "babel-runtime": "6.x", + "dom-align": "1.x", + "rc-util": "4.x" + } + }, + "node_modules/rmc-align/node_modules/rc-util": { + "version": "4.21.1", + "resolved": "https://registry.npmjs.org/rc-util/-/rc-util-4.21.1.tgz", + "integrity": "sha512-Z+vlkSQVc1l8O2UjR3WQ+XdWlhj5q9BMQNLk2iOBch75CqPfrJyGtcWMcnhRlNuDu0Ndtt4kLVO8JI8BrABobg==", + "dev": true, + "dependencies": { + "add-dom-event-listener": "^1.1.0", + "prop-types": "^15.5.10", + "react-is": "^16.12.0", + "react-lifecycles-compat": "^3.0.4", + "shallowequal": "^1.1.0" + } + }, + "node_modules/rmc-align/node_modules/react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", + "dev": true + }, + "node_modules/rmc-calendar": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/rmc-calendar/-/rmc-calendar-1.1.4.tgz", + "integrity": "sha512-xxQZaPFDnpHt4IFO8mukYrXSgC1W8LcNVp+EoX4iyeOJFimungOKB/iP5/cy+st8yXq8lUgk9TXsHNtM6Xo6ZA==", + "dev": true, + "dependencies": { + "babel-runtime": "^6.26.0", + "rc-animate": "^2.4.4", + "rmc-date-picker": "^6.0.8" + } + }, + "node_modules/rmc-cascader": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/rmc-cascader/-/rmc-cascader-5.0.3.tgz", + "integrity": "sha512-PxDhMjWViDdG4SMZqoXtAthGwgDyYnyxxZEE17IDDYsiCHpWtOhoIL8nsI+/hZ212UT/XF2LpqCsOlMoJiYk+w==", + "dev": true, + "dependencies": { + "array-tree-filter": "2.1.x", + "babel-runtime": "6.x", + "rmc-picker": "~5.0.0" + } + }, + "node_modules/rmc-date-picker": { + "version": "6.0.10", + "resolved": "https://registry.npmjs.org/rmc-date-picker/-/rmc-date-picker-6.0.10.tgz", + "integrity": "sha512-/9+I6lm3EDEl6M7862V6++zFuxwsM0UEq8wSHbotYIPPmyB/65gx1cviblghOv2QfB0O9+U2w3qEJlRP/WsMrA==", + "dev": true, + "dependencies": { + "babel-runtime": "6.x", + "rmc-picker": "~5.0.0" + } + }, + "node_modules/rmc-dialog": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/rmc-dialog/-/rmc-dialog-1.1.1.tgz", + "integrity": "sha512-28aJqtPTX6v13Z/aU1WBy1AFIXkE74PxZXde7JvtEIy9hQDTjH8fqOi822BpzAbXCyNE7jF9iFomy3H2ClsDJA==", + "dev": true, + "dependencies": { + "babel-runtime": "6.x", + "rc-animate": "2.x" + } + }, + "node_modules/rmc-drawer": { + "version": "0.4.11", + "resolved": "https://registry.npmjs.org/rmc-drawer/-/rmc-drawer-0.4.11.tgz", + "integrity": "sha512-YfB9XEJ8iM0MMuLWAK4313uOxSM8NAljC8Cqun1KamXutglYTuRviUuTLNSOzV8HHPp5kNpsVduvPCGLWXvThw==", + "dev": true, + "dependencies": { + "babel-runtime": "6.x", + "classnames": "^2.2.4", + "prop-types": "^15.5.10" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/rmc-feedback": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/rmc-feedback/-/rmc-feedback-2.0.0.tgz", + "integrity": "sha512-5PWOGOW7VXks/l3JzlOU9NIxRpuaSS8d9zA3UULUCuTKnpwBHNvv1jSJzxgbbCQeYzROWUpgKI4za3X4C/mKmQ==", + "dev": true, + "dependencies": { + "babel-runtime": "6.x", + "classnames": "^2.2.5" + } + }, + "node_modules/rmc-input-number": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/rmc-input-number/-/rmc-input-number-1.0.5.tgz", + "integrity": "sha512-prPkEtoOVde77GnEnEaBeWjBobMOPgGqU5bd0gxfp1kt1pUN740mMpVAcH7uxpJjVfmw+kuGWtiz4S7CueagSg==", + "dev": true, + "dependencies": { + "babel-runtime": "6.x", + "classnames": "^2.2.0", + "rmc-feedback": "^2.0.0" + } + }, + "node_modules/rmc-list-view": { + "version": "0.11.5", + "resolved": "https://registry.npmjs.org/rmc-list-view/-/rmc-list-view-0.11.5.tgz", + "integrity": "sha512-eMOC5394tLNawcdEEhF7boMpQgpjJGDdL5lS+LblAWdBec7Q4EYkUdnrKNbt+O9k5RGM6nSLAGZK5oB4FN85Lg==", + "dev": true, + "dependencies": { + "babel-runtime": "6.x", + "classnames": "^2.2.5", + "fbjs": "^0.8.3", + "prop-types": "^15.5.8", + "warning": "^3.0.0", + "zscroller": "~0.4.0" + } + }, + "node_modules/rmc-list-view/node_modules/warning": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/warning/-/warning-3.0.0.tgz", + "integrity": "sha512-jMBt6pUrKn5I+OGgtQ4YZLdhIeJmObddh6CsibPxyQ5yPZm1XExSyzC1LCNX7BzhxWgiHmizBWJTHJIjMjTQYQ==", + "dev": true, + "dependencies": { + "loose-envify": "^1.0.0" + } + }, + "node_modules/rmc-notification": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/rmc-notification/-/rmc-notification-1.0.0.tgz", + "integrity": "sha512-9sPxjltFvtRLt2v312Hu7OXwk53pHkBYgINRDmnJ3A5NF1qtJeCCcdN0Xr0fzJ6sbQvtGju822tWHdzYA9u7Vw==", + "dev": true, + "dependencies": { + "babel-runtime": "6.x", + "classnames": "2.x", + "prop-types": "^15.5.8", + "rc-animate": "2.x", + "rc-util": "^4.0.4" + } + }, + "node_modules/rmc-notification/node_modules/rc-util": { + "version": "4.21.1", + "resolved": "https://registry.npmjs.org/rc-util/-/rc-util-4.21.1.tgz", + "integrity": "sha512-Z+vlkSQVc1l8O2UjR3WQ+XdWlhj5q9BMQNLk2iOBch75CqPfrJyGtcWMcnhRlNuDu0Ndtt4kLVO8JI8BrABobg==", + "dev": true, + "dependencies": { + "add-dom-event-listener": "^1.1.0", + "prop-types": "^15.5.10", + "react-is": "^16.12.0", + "react-lifecycles-compat": "^3.0.4", + "shallowequal": "^1.1.0" + } + }, + "node_modules/rmc-notification/node_modules/react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", + "dev": true + }, + "node_modules/rmc-nuka-carousel": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/rmc-nuka-carousel/-/rmc-nuka-carousel-3.0.1.tgz", + "integrity": "sha512-w2EPTERMUUZqcUSKFuejjin7xsMlhrLrtS0A/igTXpFJGq3kemDKcRi7q3pSYDuZBHYBl5iV4UqsLLkjdFtrYA==", + "dev": true, + "dependencies": { + "exenv": "^1.2.0", + "raf": "^3.3.2" + } + }, + "node_modules/rmc-picker": { + "version": "5.0.10", + "resolved": "https://registry.npmjs.org/rmc-picker/-/rmc-picker-5.0.10.tgz", + "integrity": "sha512-KZ70+WjcaZHnG5GyCxWCPFWAZ12s6NqyrbW73LeqH0WEqaTMMs0sOrk2f4mQAZ/CGT0XcFN6VZLw7Ozoxfn7LA==", + "dev": true, + "dependencies": { + "babel-runtime": "6.x", + "classnames": "^2.2.6", + "rmc-dialog": "^1.1.1", + "rmc-feedback": "^2.0.0" + } + }, + "node_modules/rmc-pull-to-refresh": { + "version": "1.0.13", + "resolved": "https://registry.npmjs.org/rmc-pull-to-refresh/-/rmc-pull-to-refresh-1.0.13.tgz", + "integrity": "sha512-iYLsURiR7G/sKmRA6p2kq6ZXicn7Hyeo6VQFljssV1eMW+fzDgihhaz0kv5mza0f88vphGJvjOihT9E6+xGb6Q==", + "dev": true, + "dependencies": { + "babel-runtime": "6.x", + "classnames": "^2.2.5" + } + }, + "node_modules/rmc-steps": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/rmc-steps/-/rmc-steps-1.0.1.tgz", + "integrity": "sha512-8ijtwp4D1CYTtI2yerXJYqCv+GQbiBc9T12nrFngd/vM0y+58CnznGphTAueF6IWf7qbxBwcjTrcFgg7bP2YGA==", + "dev": true, + "dependencies": { + "babel-runtime": "^6.23.0", + "classnames": "^2.2.3" + } + }, + "node_modules/rmc-tabs": { + "version": "1.2.29", + "resolved": "https://registry.npmjs.org/rmc-tabs/-/rmc-tabs-1.2.29.tgz", + "integrity": "sha512-wiJS9WSJi9JH9GQO+FqncX+zaHP31qHa/S8nDW9UXUx0qbCX294QcJEnvfB+WmsfUws7rXjs6sOQp5EDiObnHg==", + "dev": true, + "dependencies": { + "babel-runtime": "6.x", + "rc-gesture": "~0.0.18" + } + }, + "node_modules/rmc-tooltip": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/rmc-tooltip/-/rmc-tooltip-1.0.1.tgz", + "integrity": "sha512-fSDArf2BlMVrHExmBiqb2TkCRJHshvXFJQ/7tMraLellwaJLNiwrxtWpW329k3S+zTtoVG8UxFS1TjBGEsMzRg==", + "dev": true, + "dependencies": { + "babel-runtime": "6.x", + "rmc-trigger": "1.x" + } + }, + "node_modules/rmc-trigger": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/rmc-trigger/-/rmc-trigger-1.0.12.tgz", + "integrity": "sha512-AccQniX7PX7Pm8hBhHEsnf3JU6CA61Xc7fAt2WbO+oXrGaI/jqN8C3COhhOXG54S5iTOjLS26j858zshwAxR9A==", + "dev": true, + "dependencies": { + "babel-runtime": "6.x", + "rc-animate": "2.x", + "rc-util": "4.x", + "rmc-align": "~1.0.0" + } + }, + "node_modules/rmc-trigger/node_modules/rc-util": { + "version": "4.21.1", + "resolved": "https://registry.npmjs.org/rc-util/-/rc-util-4.21.1.tgz", + "integrity": "sha512-Z+vlkSQVc1l8O2UjR3WQ+XdWlhj5q9BMQNLk2iOBch75CqPfrJyGtcWMcnhRlNuDu0Ndtt4kLVO8JI8BrABobg==", + "dev": true, + "dependencies": { + "add-dom-event-listener": "^1.1.0", + "prop-types": "^15.5.10", + "react-is": "^16.12.0", + "react-lifecycles-compat": "^3.0.4", + "shallowequal": "^1.1.0" + } + }, + "node_modules/rmc-trigger/node_modules/react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", + "dev": true + }, + "node_modules/rope-sequence": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/rope-sequence/-/rope-sequence-1.3.4.tgz", + "integrity": "sha512-UT5EDe2cu2E/6O4igUr5PSFs23nvvukicWHx6GnOPlHAiiYbzNuCRQCuiUdHJQcqKalLKlrYJnjY0ySGsXNQXQ==" + }, + "node_modules/rst-selector-parser": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/rst-selector-parser/-/rst-selector-parser-2.2.3.tgz", + "integrity": "sha512-nDG1rZeP6oFTLN6yNDV/uiAvs1+FS/KlrEwh7+y7dpuApDBy6bI2HTBcc0/V8lv9OTqfyD34eF7au2pm8aBbhA==", + "dev": true, + "dependencies": { + "lodash.flattendeep": "^4.4.0", + "nearley": "^2.7.10" + } + }, + "node_modules/rsvp": { + "version": "4.8.5", + "resolved": "https://registry.npmjs.org/rsvp/-/rsvp-4.8.5.tgz", + "integrity": "sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA==", + "dev": true, + "engines": { + "node": "6.* || >= 7.*" + } + }, + "node_modules/run-async": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", + "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==", + "dev": true, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/run-queue": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz", + "integrity": "sha512-ntymy489o0/QQplUDnpYAYUsO50K9SBrIVaKCWDOJzYJts0f9WH9RFJkyagebkw5+y1oi00R7ynNW/d12GBumg==", + "dev": true, + "dependencies": { + "aproba": "^1.1.1" + } + }, + "node_modules/rxjs": { + "version": "6.6.7", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", + "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", + "dev": true, + "dependencies": { + "tslib": "^1.9.0" + }, + "engines": { + "npm": ">=2.0.0" + } + }, + "node_modules/rxjs/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + }, + "node_modules/safe-array-concat": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.2.tgz", + "integrity": "sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "get-intrinsic": "^1.2.4", + "has-symbols": "^1.0.3", + "isarray": "^2.0.5" + }, + "engines": { + "node": ">=0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/safe-array-concat/node_modules/isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", + "dev": true + }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/safe-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-2.1.1.tgz", + "integrity": "sha512-rx+x8AMzKb5Q5lQ95Zoi6ZbJqwCLkqi3XuJXp5P3rT8OEc6sZCJG5AE5dU3lsgRr/F4Bs31jSlVN+j5KrsGu9A==", + "dev": true, + "dependencies": { + "regexp-tree": "~0.1.1" + } + }, + "node_modules/safe-regex-test": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.3.tgz", + "integrity": "sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.6", + "es-errors": "^1.3.0", + "is-regex": "^1.1.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + }, + "node_modules/sane": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/sane/-/sane-4.1.0.tgz", + "integrity": "sha512-hhbzAgTIX8O7SHfp2c8/kREfEn4qO/9q8C9beyY6+tvZ87EpoZ3i1RIEvp27YBswnNbY9mWd6paKVmKbAgLfZA==", + "deprecated": "some dependency vulnerabilities fixed, support for node < 10 dropped, and newer ECMAScript syntax/features added", + "dev": true, + "dependencies": { + "@cnakazawa/watch": "^1.0.3", + "anymatch": "^2.0.0", + "capture-exit": "^2.0.0", + "exec-sh": "^0.3.2", + "execa": "^1.0.0", + "fb-watchman": "^2.0.0", + "micromatch": "^3.1.4", + "minimist": "^1.1.1", + "walker": "~1.0.5" + }, + "bin": { + "sane": "src/cli.js" + }, + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/sane/node_modules/anymatch": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", + "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", + "dev": true, + "dependencies": { + "micromatch": "^3.1.4", + "normalize-path": "^2.1.1" + } + }, + "node_modules/sane/node_modules/braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "dev": true, + "dependencies": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sane/node_modules/cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "dev": true, + "dependencies": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + }, + "engines": { + "node": ">=4.8" + } + }, + "node_modules/sane/node_modules/execa": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", + "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", + "dev": true, + "dependencies": { + "cross-spawn": "^6.0.0", + "get-stream": "^4.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/sane/node_modules/fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==", + "dev": true, + "dependencies": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sane/node_modules/get-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", + "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "dev": true, + "dependencies": { + "pump": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/sane/node_modules/is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "dependencies": { + "is-plain-object": "^2.0.4" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sane/node_modules/is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sane/node_modules/is-number/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sane/node_modules/is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sane/node_modules/micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "dev": true, + "dependencies": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sane/node_modules/micromatch/node_modules/extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==", + "dev": true, + "dependencies": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sane/node_modules/normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==", + "dev": true, + "dependencies": { + "remove-trailing-separator": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sane/node_modules/npm-run-path": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", + "integrity": "sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw==", + "dev": true, + "dependencies": { + "path-key": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/sane/node_modules/path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/sane/node_modules/pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "dev": true, + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "node_modules/sane/node_modules/semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "dev": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/sane/node_modules/shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==", + "dev": true, + "dependencies": { + "shebang-regex": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sane/node_modules/shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sane/node_modules/to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==", + "dev": true, + "dependencies": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sane/node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" + } + }, + "node_modules/sax": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.3.0.tgz", + "integrity": "sha512-0s+oAmw9zLl1V1cS9BtZN7JAd0cW5e0QH4W3LWEK6a4LaLEA2OTpGYWDY+6XasBLtz6wkm3u1xRw95mRuJ59WA==", + "dev": true + }, + "node_modules/saxes": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/saxes/-/saxes-5.0.1.tgz", + "integrity": "sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==", + "dev": true, + "dependencies": { + "xmlchars": "^2.2.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/scheduler": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.20.2.tgz", + "integrity": "sha512-2eWfGgAqqWFGqtdMmcL5zCMK1U8KlXv8SQFGglL3CEtd0aDVDWgeF/YoCmvln55m5zSk3J/20hTaSBeSObsQDQ==", + "dependencies": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1" + } + }, + "node_modules/schema-utils": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.0.tgz", + "integrity": "sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A==", + "dependencies": { + "@types/json-schema": "^7.0.4", + "ajv": "^6.12.2", + "ajv-keywords": "^3.4.1" + }, + "engines": { + "node": ">= 8.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/scroll-into-view-if-needed": { + "version": "2.2.20", + "resolved": "https://registry.npmjs.org/scroll-into-view-if-needed/-/scroll-into-view-if-needed-2.2.20.tgz", + "integrity": "sha512-P9kYMrhi9f6dvWwTGpO5I3HgjSU/8Mts7xL3lkoH5xlewK7O9Obdc5WmMCzppln7bCVGNmf3qfoZXrpCeyNJXw==", + "dependencies": { + "compute-scroll-into-view": "1.0.11" + } + }, + "node_modules/scroll-into-view-if-needed/node_modules/compute-scroll-into-view": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/compute-scroll-into-view/-/compute-scroll-into-view-1.0.11.tgz", + "integrity": "sha512-uUnglJowSe0IPmWOdDtrlHXof5CTIJitfJEyITHBW6zDVOGu9Pjk5puaLM73SLcwak0L4hEjO7Td88/a6P5i7A==" + }, + "node_modules/seamless-immutable": { + "version": "7.1.4", + "resolved": "https://registry.npmjs.org/seamless-immutable/-/seamless-immutable-7.1.4.tgz", + "integrity": "sha512-XiUO1QP4ki4E2PHegiGAlu6r82o5A+6tRh7IkGGTVg/h+UoeX4nFBeCGPOhb4CYjvkqsfm/TUtvOMYC1xmV30A==", + "dev": true + }, + "node_modules/semver": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", + "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/semver-compare": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/semver-compare/-/semver-compare-1.0.0.tgz", + "integrity": "sha512-YM3/ITh2MJ5MtzaM429anh+x2jiLVjqILF4m4oyQB18W7Ggea7BfqdH/wGMK7dDiMghv/6WG7znWMwUDzJiXow==", + "dev": true + }, + "node_modules/semver-diff": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/semver-diff/-/semver-diff-2.1.0.tgz", + "integrity": "sha512-gL8F8L4ORwsS0+iQ34yCYv///jsOq0ZL7WP55d1HnJ32o7tyFYEFQZQA22mrLIacZdU6xecaBBZ+uEiffGNyXw==", + "dev": true, + "dependencies": { + "semver": "^5.0.3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/semver-diff/node_modules/semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "dev": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/semver/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/semver/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + }, + "node_modules/send": { + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", + "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", + "dev": true, + "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" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/send/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/send/node_modules/debug/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "node_modules/serialize-error": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/serialize-error/-/serialize-error-8.1.0.tgz", + "integrity": "sha512-3NnuWfM6vBYoy5gZFvHiYsVbafvI9vZv/+jlIigFn4oP4zjNPK3LhcY0xSCgeb1a5L8jO71Mit9LlNoi2UfDDQ==", + "dev": true, + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/serve-static": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", + "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", + "dev": true, + "dependencies": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.18.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==", + "dev": true + }, + "node_modules/set-function-length": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", + "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", + "dependencies": { + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/set-function-name": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.2.tgz", + "integrity": "sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==", + "dev": true, + "dependencies": { + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "functions-have-names": "^1.2.3", + "has-property-descriptors": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/set-value": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", + "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", + "dev": true, + "dependencies": { + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.3", + "split-string": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/setimmediate": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", + "integrity": "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==" + }, + "node_modules/setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", + "dev": true + }, + "node_modules/sha.js": { + "version": "2.4.11", + "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", + "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", + "dependencies": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + }, + "bin": { + "sha.js": "bin.js" + } + }, + "node_modules/shallow-equal": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/shallow-equal/-/shallow-equal-1.2.1.tgz", + "integrity": "sha512-S4vJDjHHMBaiZuT9NPb616CSmLf618jawtv3sufLl6ivK8WocjAo58cXwbRV1cgqxH0Qbv+iUt6m05eqEa2IRA==", + "dev": true + }, + "node_modules/shallowequal": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/shallowequal/-/shallowequal-1.1.0.tgz", + "integrity": "sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ==" + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "engines": { + "node": ">=8" + } + }, + "node_modules/shell-quote": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.1.tgz", + "integrity": "sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/shellwords": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/shellwords/-/shellwords-0.1.1.tgz", + "integrity": "sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww==", + "dev": true, + "optional": true + }, + "node_modules/short-unique-id": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/short-unique-id/-/short-unique-id-5.0.3.tgz", + "integrity": "sha512-yhniEILouC0s4lpH0h7rJsfylZdca10W9mDJRAFh3EpcSUanCHGb0R7kcFOIUCZYSAPo0PUD5ZxWQdW0T4xaug==", + "dev": true, + "bin": { + "short-unique-id": "bin/short-unique-id", + "suid": "bin/short-unique-id" + } + }, + "node_modules/shortid": { + "version": "2.2.16", + "resolved": "https://registry.npmjs.org/shortid/-/shortid-2.2.16.tgz", + "integrity": "sha512-Ugt+GIZqvGXCIItnsL+lvFJOiN7RYqlGy7QE41O3YC1xbNSeDGIRO7xg2JJXIAj1cAGnOeC1r7/T9pgrtQbv4g==", + "deprecated": "Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.", + "dev": true, + "dependencies": { + "nanoid": "^2.1.0" + } + }, + "node_modules/should": { + "version": "13.2.3", + "resolved": "https://registry.npmjs.org/should/-/should-13.2.3.tgz", + "integrity": "sha512-ggLesLtu2xp+ZxI+ysJTmNjh2U0TsC+rQ/pfED9bUZZ4DKefP27D+7YJVVTvKsmjLpIi9jAa7itwDGkDDmt1GQ==", + "dev": true, + "dependencies": { + "should-equal": "^2.0.0", + "should-format": "^3.0.3", + "should-type": "^1.4.0", + "should-type-adaptors": "^1.0.1", + "should-util": "^1.0.0" + } + }, + "node_modules/should-equal": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/should-equal/-/should-equal-2.0.0.tgz", + "integrity": "sha512-ZP36TMrK9euEuWQYBig9W55WPC7uo37qzAEmbjHz4gfyuXrEUgF8cUvQVO+w+d3OMfPvSRQJ22lSm8MQJ43LTA==", + "dev": true, + "dependencies": { + "should-type": "^1.4.0" + } + }, + "node_modules/should-format": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/should-format/-/should-format-3.0.3.tgz", + "integrity": "sha512-hZ58adtulAk0gKtua7QxevgUaXTTXxIi8t41L3zo9AHvjXO1/7sdLECuHeIN2SRtYXpNkmhoUP2pdeWgricQ+Q==", + "dev": true, + "dependencies": { + "should-type": "^1.3.0", + "should-type-adaptors": "^1.0.1" + } + }, + "node_modules/should-type": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/should-type/-/should-type-1.4.0.tgz", + "integrity": "sha512-MdAsTu3n25yDbIe1NeN69G4n6mUnJGtSJHygX3+oN0ZbO3DTiATnf7XnYJdGT42JCXurTb1JI0qOBR65shvhPQ==", + "dev": true + }, + "node_modules/should-type-adaptors": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/should-type-adaptors/-/should-type-adaptors-1.1.0.tgz", + "integrity": "sha512-JA4hdoLnN+kebEp2Vs8eBe9g7uy0zbRo+RMcU0EsNy+R+k049Ki+N5tT5Jagst2g7EAja+euFuoXFCa8vIklfA==", + "dev": true, + "dependencies": { + "should-type": "^1.3.0", + "should-util": "^1.0.0" + } + }, + "node_modules/should-util": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/should-util/-/should-util-1.0.1.tgz", + "integrity": "sha512-oXF8tfxx5cDk8r2kYqlkUJzZpDBqVY/II2WhvU0n9Y3XYvAYRmeaf1PvvIvTgPnv4KJ+ES5M0PyDq5Jp+Ygy2g==", + "dev": true + }, + "node_modules/side-channel": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.6.tgz", + "integrity": "sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==", + "dependencies": { + "call-bind": "^1.0.7", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.4", + "object-inspect": "^1.13.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" + }, + "node_modules/signale": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/signale/-/signale-1.4.0.tgz", + "integrity": "sha512-iuh+gPf28RkltuJC7W5MRi6XAjTDCAPC/prJUpQoG4vIP3MJZ+GTydVnodXA7pwvTKb2cA0m9OFZW/cdWy/I/w==", + "dev": true, + "dependencies": { + "chalk": "^2.3.2", + "figures": "^2.0.0", + "pkg-conf": "^2.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/signale/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/signale/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/signale/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/signale/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, + "node_modules/signale/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/signale/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/signale/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/simple-concat": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz", + "integrity": "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "optional": true + }, + "node_modules/simple-get": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-4.0.1.tgz", + "integrity": "sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "optional": true, + "dependencies": { + "decompress-response": "^6.0.0", + "once": "^1.3.1", + "simple-concat": "^1.0.0" + } + }, + "node_modules/simple-swizzle": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", + "integrity": "sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==", + "dependencies": { + "is-arrayish": "^0.3.1" + } + }, + "node_modules/simple-swizzle/node_modules/is-arrayish": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz", + "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==" + }, + "node_modules/sisteransi": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==" + }, + "node_modules/sitemap": { + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/sitemap/-/sitemap-6.4.0.tgz", + "integrity": "sha512-DoPKNc2/apQZTUnfiOONWctwq7s6dZVspxAZe2VPMNtoqNq7HgXRvlRnbIpKjf+8+piQdWncwcy+YhhTGY5USQ==", + "dev": true, + "dependencies": { + "@types/node": "^14.14.28", + "@types/sax": "^1.2.1", + "arg": "^5.0.0", + "sax": "^1.2.4" + }, + "bin": { + "sitemap": "dist/cli.js" + }, + "engines": { + "node": ">=10.3.0", + "npm": ">=5.6.0" + } + }, + "node_modules/sitemap/node_modules/@types/node": { + "version": "14.18.63", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.63.tgz", + "integrity": "sha512-fAtCfv4jJg+ExtXhvCkCqUKZ+4ok/JQk01qDKhL5BDDoS3AxKXhV5/MAVUZyQnSEd2GT92fkgZl0pz0Q0AzcIQ==", + "dev": true + }, + "node_modules/size-sensor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/size-sensor/-/size-sensor-1.0.2.tgz", + "integrity": "sha512-2NCmWxY7A9pYKGXNBfteo4hy14gWu47rg5692peVMst6lQLPKrVjhY+UTEsPI5ceFRJSl3gVgMYaUi/hKuaiKw==" + }, + "node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "engines": { + "node": ">=8" + } + }, + "node_modules/slash2": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/slash2/-/slash2-2.0.0.tgz", + "integrity": "sha512-7ElvBydJPi3MHU/KEOblFSbO/skl4Z69jKkFCpYIYVOMSIZsKi4gYU43HGeZPmjxCXrHekoDAAewphPQNnsqtA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/slice-ansi": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-3.0.0.tgz", + "integrity": "sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/smart-buffer": { + "version": "1.1.15", + "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-1.1.15.tgz", + "integrity": "sha512-1+8bxygjTsNfvQe0/0pNBesTOlSHtOeG6b6LYbvsZCCHDKYZ40zcQo6YTnZBWrBSLWOCbrHljLdEmGMYebu7aQ==", + "dev": true, + "engines": { + "node": ">= 0.10.15", + "npm": ">= 1.3.5" + } + }, + "node_modules/snapdragon": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", + "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", + "dev": true, + "dependencies": { + "base": "^0.11.1", + "debug": "^2.2.0", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "map-cache": "^0.2.2", + "source-map": "^0.5.6", + "source-map-resolve": "^0.5.0", + "use": "^3.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-node": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", + "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", + "dev": true, + "dependencies": { + "define-property": "^1.0.0", + "isobject": "^3.0.0", + "snapdragon-util": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-node/node_modules/define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", + "dev": true, + "dependencies": { + "is-descriptor": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-util": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", + "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", + "dev": true, + "dependencies": { + "kind-of": "^3.2.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-util/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/snapdragon/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "dev": true, + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/is-descriptor": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.7.tgz", + "integrity": "sha512-C3grZTvObeN1xud4cRWl366OMXZTj0+HGyk4hvfpx4ZHt1Pb60ANSXqCK7pdOTeUQpRzECBSTphqvD7U+l22Eg==", + "dev": true, + "dependencies": { + "is-accessor-descriptor": "^1.0.1", + "is-data-descriptor": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/snapdragon/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "node_modules/snapdragon/node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/socks": { + "version": "1.1.10", + "resolved": "https://registry.npmjs.org/socks/-/socks-1.1.10.tgz", + "integrity": "sha512-ArX4vGPULWjKDKgUnW8YzfI2uXW7kzgkJuB0GnFBA/PfT3exrrOk+7Wk2oeb894Qf20u1PWv9LEgrO0Z82qAzA==", + "deprecated": "If using 2.x branch, please upgrade to at least 2.1.6 to avoid a serious bug with socket data flow and an import issue introduced in 2.1.0", + "dev": true, + "dependencies": { + "ip": "^1.1.4", + "smart-buffer": "^1.0.13" + }, + "engines": { + "node": ">= 0.10.0", + "npm": ">= 1.3.5" + } + }, + "node_modules/socks-proxy-agent": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-3.0.1.tgz", + "integrity": "sha512-ZwEDymm204mTzvdqyUqOdovVr2YRd2NYskrYrF2LXyZ9qDiMAoFESGK8CRphiO7rtbo2Y757k2Nia3x2hGtalA==", + "dev": true, + "dependencies": { + "agent-base": "^4.1.0", + "socks": "^1.1.10" + } + }, + "node_modules/socks-proxy-agent/node_modules/agent-base": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.3.0.tgz", + "integrity": "sha512-salcGninV0nPrwpGNn4VTXBb1SOuXQBiqbrNXoeizJsHrsL6ERFM2Ne3JUSBWRE6aeNJI2ROP/WEEIDUiDe3cg==", + "dev": true, + "dependencies": { + "es6-promisify": "^5.0.0" + }, + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/sort-keys": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-1.1.2.tgz", + "integrity": "sha512-vzn8aSqKgytVik0iwdBEi+zevbTYZogewTUM6dtpmGwEcdzbub/TX4bCzRhebDCRC3QzXgJsLRKB2V/Oof7HXg==", + "dependencies": { + "is-plain-obj": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sort-keys/node_modules/is-plain-obj": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", + "integrity": "sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sort-object-keys": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/sort-object-keys/-/sort-object-keys-1.1.3.tgz", + "integrity": "sha512-855pvK+VkU7PaKYPc+Jjnmt4EzejQHyhhF33q31qG8x7maDzkeFhAAThdCYay11CISO+qAMwjOBP+fPZe0IPyg==", + "dev": true + }, + "node_modules/sort-package-json": { + "version": "1.57.0", + "resolved": "https://registry.npmjs.org/sort-package-json/-/sort-package-json-1.57.0.tgz", + "integrity": "sha512-FYsjYn2dHTRb41wqnv+uEqCUvBpK3jZcTp9rbz2qDTmel7Pmdtf+i2rLaaPMRZeSVM60V3Se31GyWFpmKs4Q5Q==", + "dev": true, + "dependencies": { + "detect-indent": "^6.0.0", + "detect-newline": "3.1.0", + "git-hooks-list": "1.0.3", + "globby": "10.0.0", + "is-plain-obj": "2.1.0", + "sort-object-keys": "^1.1.3" + }, + "bin": { + "sort-package-json": "cli.js" + } + }, + "node_modules/sort-package-json/node_modules/globby": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-10.0.0.tgz", + "integrity": "sha512-3LifW9M4joGZasyYPz2A1U74zbC/45fvpXUvO/9KbSa+VV0aGZarWkfdgKyR9sExNP0t0x0ss/UMJpNpcaTspw==", + "dev": true, + "dependencies": { + "@types/glob": "^7.1.1", + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.0.3", + "glob": "^7.1.3", + "ignore": "^5.1.1", + "merge2": "^1.2.3", + "slash": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/source-list-map": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz", + "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==", + "dev": true + }, + "node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-js": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.0.tgz", + "integrity": "sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-resolve": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", + "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", + "deprecated": "See https://github.com/lydell/source-map-resolve#deprecated", + "dev": true, + "dependencies": { + "atob": "^2.1.2", + "decode-uri-component": "^0.2.0", + "resolve-url": "^0.2.1", + "source-map-url": "^0.4.0", + "urix": "^0.1.0" + } + }, + "node_modules/source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/source-map-url": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.1.tgz", + "integrity": "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==", + "deprecated": "See https://github.com/lydell/source-map-url#deprecated", + "dev": true + }, + "node_modules/space-separated-tokens": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-1.1.5.tgz", + "integrity": "sha512-q/JSVd1Lptzhf5bkYm4ob4iWPjx0KiRe3sRFBNrVqbJkFaBm5vbbowy1mymoPNLRa52+oadOhJ+K49wsSeSjTA==", + "dev": true, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/spdx-correct": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.2.0.tgz", + "integrity": "sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==", + "dev": true, + "dependencies": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-exceptions": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.5.0.tgz", + "integrity": "sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==", + "dev": true + }, + "node_modules/spdx-expression-parse": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", + "dev": true, + "dependencies": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-license-ids": { + "version": "3.0.17", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.17.tgz", + "integrity": "sha512-sh8PWc/ftMqAAdFiBu6Fy6JUOYjqDJBJvIhpfDMyHrr0Rbp5liZqd4TjtQ/RgfLjKFZb+LMx5hpml5qOWy0qvg==", + "dev": true + }, + "node_modules/specificity": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/specificity/-/specificity-0.4.1.tgz", + "integrity": "sha512-1klA3Gi5PD1Wv9Q0wUoOQN1IWAuPu0D1U03ThXTr0cJ20+/iq2tHSDnK7Kk/0LXJ1ztUB2/1Os0wKmfyNgUQfg==", + "dev": true, + "bin": { + "specificity": "bin/specificity" + } + }, + "node_modules/speech-rule-engine": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/speech-rule-engine/-/speech-rule-engine-4.0.7.tgz", + "integrity": "sha512-sJrL3/wHzNwJRLBdf6CjJWIlxC04iYKkyXvYSVsWVOiC2DSkHmxsqOhEeMsBA9XK+CHuNcsdkbFDnoUfAsmp9g==", + "dev": true, + "dependencies": { + "commander": "9.2.0", + "wicked-good-xpath": "1.3.0", + "xmldom-sre": "0.1.31" + }, + "bin": { + "sre": "bin/sre" + } + }, + "node_modules/speech-rule-engine/node_modules/commander": { + "version": "9.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-9.2.0.tgz", + "integrity": "sha512-e2i4wANQiSXgnrBlIatyHtP1odfUp0BbV5Y5nEGbxtIrStkEOAAzCUirvLBNXHLr7kwLvJl6V+4V3XV9x7Wd9w==", + "dev": true, + "engines": { + "node": "^12.20.0 || >=14" + } + }, + "node_modules/split-on-first": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/split-on-first/-/split-on-first-1.1.0.tgz", + "integrity": "sha512-43ZssAJaMusuKWL8sKUBQXHWOpq8d6CfN/u1p4gUzfJkM05C8rxTmYrkIPTXapZpORA6LkkzcUulJ8FqA7Uudw==", + "engines": { + "node": ">=6" + } + }, + "node_modules/split-string": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", + "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", + "dev": true, + "dependencies": { + "extend-shallow": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/split-string/node_modules/extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==", + "dev": true, + "dependencies": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/split-string/node_modules/is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "dependencies": { + "is-plain-object": "^2.0.4" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==" + }, + "node_modules/sshpk": { + "version": "1.18.0", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.18.0.tgz", + "integrity": "sha512-2p2KJZTSqQ/I3+HX42EpYOa2l3f8Erv8MWKsy2I9uf4wA7yFIkXRffYdsx86y6z4vHtV8u7g+pPlr8/4ouAxsQ==", + "dev": true, + "dependencies": { + "asn1": "~0.2.3", + "assert-plus": "^1.0.0", + "bcrypt-pbkdf": "^1.0.0", + "dashdash": "^1.12.0", + "ecc-jsbn": "~0.1.1", + "getpass": "^0.1.1", + "jsbn": "~0.1.0", + "safer-buffer": "^2.0.2", + "tweetnacl": "~0.14.0" + }, + "bin": { + "sshpk-conv": "bin/sshpk-conv", + "sshpk-sign": "bin/sshpk-sign", + "sshpk-verify": "bin/sshpk-verify" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ssri": { + "version": "4.1.6", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-4.1.6.tgz", + "integrity": "sha512-WUbCdgSAMQjTFZRWvSPpauryvREEA+Krn19rx67UlJEJx/M192ZHxMmJXjZ4tkdFm+Sb0SXGlENeQVlA5wY7kA==", + "dev": true, + "dependencies": { + "safe-buffer": "^5.1.0" + } + }, + "node_modules/stack-utils": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz", + "integrity": "sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==", + "dev": true, + "dependencies": { + "escape-string-regexp": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/stack-utils/node_modules/escape-string-regexp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", + "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/stackframe": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-1.3.4.tgz", + "integrity": "sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==" + }, + "node_modules/stampit": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/stampit/-/stampit-4.3.2.tgz", + "integrity": "sha512-pE2org1+ZWQBnIxRPrBM2gVupkuDD0TTNIo1H6GdT/vO82NXli2z8lRE8cu/nBIHrcOCXFBAHpb9ZldrB2/qOA==", + "dev": true + }, + "node_modules/static-extend": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", + "integrity": "sha512-72E9+uLc27Mt718pMHt9VMNiAL4LMsmDbBva8mxWUCkT07fSzEGMYUCk0XWY6lp0j6RBAG4cJ3mWuZv2OE3s0g==", + "dev": true, + "dependencies": { + "define-property": "^0.2.5", + "object-copy": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/static-extend/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "dev": true, + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/static-extend/node_modules/is-descriptor": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.7.tgz", + "integrity": "sha512-C3grZTvObeN1xud4cRWl366OMXZTj0+HGyk4hvfpx4ZHt1Pb60ANSXqCK7pdOTeUQpRzECBSTphqvD7U+l22Eg==", + "dev": true, + "dependencies": { + "is-accessor-descriptor": "^1.0.1", + "is-data-descriptor": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/stream": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/stream/-/stream-0.0.2.tgz", + "integrity": "sha512-gCq3NDI2P35B2n6t76YJuOp7d6cN/C7Rt0577l91wllh0sY9ZBuw9KaSGqH/b0hzn3CWWJbpbW0W0WvQ1H/Q7g==", + "dev": true, + "dependencies": { + "emitter-component": "^1.1.1" + } + }, + "node_modules/stream-browserify": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz", + "integrity": "sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==", + "dependencies": { + "inherits": "~2.0.1", + "readable-stream": "^2.0.2" + } + }, + "node_modules/stream-buffers": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/stream-buffers/-/stream-buffers-1.0.1.tgz", + "integrity": "sha512-t+8bSU8qPq7NnWHWAvikjcZf+biErLZzD15RroYft1IKQwYbkRyiwppT7kNqwdtYLS59YPxc4sTSvwbLSMaodw==", + "dev": true, + "engines": { + "node": ">= 0.3.0" + } + }, + "node_modules/stream-each": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/stream-each/-/stream-each-1.2.3.tgz", + "integrity": "sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw==", + "dev": true, + "dependencies": { + "end-of-stream": "^1.1.0", + "stream-shift": "^1.0.0" + } + }, + "node_modules/stream-http": { + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz", + "integrity": "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==", + "dependencies": { + "builtin-status-codes": "^3.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.3.6", + "to-arraybuffer": "^1.0.0", + "xtend": "^4.0.0" + } + }, + "node_modules/stream-shift": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.3.tgz", + "integrity": "sha512-76ORR0DO1o1hlKwTbi/DM3EXWGf3ZJYO8cXX5RJwnul2DEg2oyoZyjLNoQM8WsvZiFKCRfC1O0J7iCvie3RZmQ==", + "dev": true + }, + "node_modules/streamroller": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/streamroller/-/streamroller-0.4.1.tgz", + "integrity": "sha512-w0GGkMlWOiIBIYTmOWHTWKy9Y5hKxGKpQ5WpiHqwhvoSoMHXNTITrk6ZsR3fdgz3Bi/c+CXVHwmfPUQFkEPL+A==", + "deprecated": "0.x is no longer supported. Please upgrade to 3.x or higher.", + "dev": true, + "dependencies": { + "date-format": "^0.0.0", + "debug": "^0.7.2", + "mkdirp": "^0.5.1", + "readable-stream": "^1.1.7" + }, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/streamroller/node_modules/debug": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-0.7.4.tgz", + "integrity": "sha512-EohAb3+DSHSGx8carOSKJe8G0ayV5/i609OD0J2orCkuyae7SyZSz2aoLmQF2s0Pj5gITDebwPH7GFBlqOUQ1Q==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/streamroller/node_modules/isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==", + "dev": true + }, + "node_modules/streamroller/node_modules/mkdirp": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", + "dev": true, + "dependencies": { + "minimist": "^1.2.6" + }, + "bin": { + "mkdirp": "bin/cmd.js" + } + }, + "node_modules/streamroller/node_modules/readable-stream": { + "version": "1.1.14", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", + "integrity": "sha512-+MeVjFf4L44XUkhM1eYbD8fyEsxcV81pqMSR5gblfcLCHfZvbrqy4/qYHE+/R5HoBUT11WV5O08Cr1n3YXkWVQ==", + "dev": true, + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + } + }, + "node_modules/streamroller/node_modules/string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ==", + "dev": true + }, + "node_modules/streamsearch": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-0.1.2.tgz", + "integrity": "sha512-jos8u++JKm0ARcSUTAZXOVC0mSox7Bhn6sBgty73P1f3JGf7yG2clTbBNHUdde/kdvP2FESam+vM6l8jBrNxHA==", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/strict-uri-encode": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-2.0.0.tgz", + "integrity": "sha512-QwiXZgpRcKkhTj2Scnn++4PKtWsH0kpzZ62L2R6c/LUVYv7hVnZqcg2+sMuT6R7Jusu1vviK/MFsu6kNJfWlEQ==", + "engines": { + "node": ">=4" + } + }, + "node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/string_decoder/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, + "node_modules/string-argv": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/string-argv/-/string-argv-0.3.1.tgz", + "integrity": "sha512-a1uQGz7IyVy9YwhqjZIZu1c8JO8dNIe20xBmSS6qu9kv++k3JGzCVmprbNN5Kn+BgzD5E7YYwg1CcjuJMRNsvg==", + "dev": true, + "engines": { + "node": ">=0.6.19" + } + }, + "node_modules/string-convert": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/string-convert/-/string-convert-0.2.1.tgz", + "integrity": "sha512-u/1tdPl4yQnPBjnVrmdLo9gtuLvELKsAoRapekWggdiQNvvvum+jYF329d84NAa660KQw7pB2n36KrIKVoXa3A==" + }, + "node_modules/string-length": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", + "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", + "dev": true, + "dependencies": { + "char-regex": "^1.0.2", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/string.prototype.matchall": { + "version": "4.0.11", + "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.11.tgz", + "integrity": "sha512-NUdh0aDavY2og7IbBPenWqR9exH+E26Sv8e0/eTe1tltDGZL+GtBkDAnnyBtmekfK6/Dq3MkcGtzXFEd1LQrtg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "get-intrinsic": "^1.2.4", + "gopd": "^1.0.1", + "has-symbols": "^1.0.3", + "internal-slot": "^1.0.7", + "regexp.prototype.flags": "^1.5.2", + "set-function-name": "^2.0.2", + "side-channel": "^1.0.6" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trim": { + "version": "1.2.9", + "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.9.tgz", + "integrity": "sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.0", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimend": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.8.tgz", + "integrity": "sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimstart": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.8.tgz", + "integrity": "sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/stringify-entities": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/stringify-entities/-/stringify-entities-3.1.0.tgz", + "integrity": "sha512-3FP+jGMmMV/ffZs86MoghGqAoqXAdxLrJP4GUdrDN1aIScYih5tuIO3eF4To5AJZ79KDZ8Fpdy7QJnK8SsL1Vg==", + "dev": true, + "dependencies": { + "character-entities-html4": "^1.0.0", + "character-entities-legacy": "^1.0.0", + "xtend": "^4.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/stringify-object": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/stringify-object/-/stringify-object-3.3.0.tgz", + "integrity": "sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==", + "dev": true, + "dependencies": { + "get-own-enumerable-property-symbols": "^3.0.0", + "is-obj": "^1.0.1", + "is-regexp": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-bom": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", + "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-bom-buf": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-bom-buf/-/strip-bom-buf-1.0.0.tgz", + "integrity": "sha512-1sUIL1jck0T1mhOLP2c696BIznzT525Lkub+n4jjMHjhjhoAQA6Ye659DxdlZBr0aLDMQoTxKIpnlqxgtwjsuQ==", + "dev": true, + "dependencies": { + "is-utf8": "^0.2.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/strip-bom-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-bom-stream/-/strip-bom-stream-2.0.0.tgz", + "integrity": "sha512-yH0+mD8oahBZWnY43vxs4pSinn8SMKAdml/EOGBewoe1Y0Eitd0h2Mg3ZRiXruUW6L4P+lvZiEgbh0NgUGia1w==", + "dev": true, + "dependencies": { + "first-chunk-stream": "^2.0.0", + "strip-bom": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/strip-bom-stream/node_modules/strip-bom": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", + "integrity": "sha512-kwrX1y7czp1E69n2ajbG65mIo9dqvJ+8aBQXOGVxqwvNbsXdFM6Lq37dLAY3mknUwru8CfcCbfOLL/gMo+fi3g==", + "dev": true, + "dependencies": { + "is-utf8": "^0.2.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/strip-eof": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", + "integrity": "sha512-7FCwGGmx8mD5xQd3RPUvnSpUXHM3BWuzjtpD4TXsfcZ9EL4azvVVUscFYwD9nx8Kh+uCBC00XBtAykoMHwTh8Q==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/strip-indent": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-2.0.0.tgz", + "integrity": "sha512-RsSNPLpq6YUL7QYy44RnPVTn/lcVZtb48Uof3X5JLbF4zD/Gs7ZFDv2HWol+leoQN2mT86LAzSshGfkTlSOpsA==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/strip-outer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/strip-outer/-/strip-outer-1.0.1.tgz", + "integrity": "sha512-k55yxKHwaXnpYGsOzg4Vl8+tDrWylxDEpknGjhTiZB8dFRU5rTo9CAzeycivxV3s+zlTKwrs6WxMxR95n26kwg==", + "dev": true, + "dependencies": { + "escape-string-regexp": "^1.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/strip-outer/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/style-search": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/style-search/-/style-search-0.1.0.tgz", + "integrity": "sha512-Dj1Okke1C3uKKwQcetra4jSuk0DqbzbYtXipzFlFMZtowbF1x7BKJwB9AayVMyFARvU8EDrZdcax4At/452cAg==", + "dev": true + }, + "node_modules/style-to-object": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/style-to-object/-/style-to-object-0.3.0.tgz", + "integrity": "sha512-CzFnRRXhzWIdItT3OmF8SQfWyahHhjq3HwcMNCNLn+N7klOOqPjMeG/4JSu77D7ypZdGvSzvkrbyeTMizz2VrA==", + "dev": true, + "dependencies": { + "inline-style-parser": "0.1.1" + } + }, + "node_modules/stylelint": { + "version": "13.13.1", + "resolved": "https://registry.npmjs.org/stylelint/-/stylelint-13.13.1.tgz", + "integrity": "sha512-Mv+BQr5XTUrKqAXmpqm6Ddli6Ief+AiPZkRsIrAoUKFuq/ElkUh9ZMYxXD0iQNZ5ADghZKLOWz1h7hTClB7zgQ==", + "dev": true, + "dependencies": { + "@stylelint/postcss-css-in-js": "^0.37.2", + "@stylelint/postcss-markdown": "^0.36.2", + "autoprefixer": "^9.8.6", + "balanced-match": "^2.0.0", + "chalk": "^4.1.1", + "cosmiconfig": "^7.0.0", + "debug": "^4.3.1", + "execall": "^2.0.0", + "fast-glob": "^3.2.5", + "fastest-levenshtein": "^1.0.12", + "file-entry-cache": "^6.0.1", + "get-stdin": "^8.0.0", + "global-modules": "^2.0.0", + "globby": "^11.0.3", + "globjoin": "^0.1.4", + "html-tags": "^3.1.0", + "ignore": "^5.1.8", + "import-lazy": "^4.0.0", + "imurmurhash": "^0.1.4", + "known-css-properties": "^0.21.0", + "lodash": "^4.17.21", + "log-symbols": "^4.1.0", + "mathml-tag-names": "^2.1.3", + "meow": "^9.0.0", + "micromatch": "^4.0.4", + "normalize-selector": "^0.2.0", + "postcss": "^7.0.35", + "postcss-html": "^0.36.0", + "postcss-less": "^3.1.4", + "postcss-media-query-parser": "^0.2.3", + "postcss-resolve-nested-selector": "^0.1.1", + "postcss-safe-parser": "^4.0.2", + "postcss-sass": "^0.4.4", + "postcss-scss": "^2.1.1", + "postcss-selector-parser": "^6.0.5", + "postcss-syntax": "^0.36.2", + "postcss-value-parser": "^4.1.0", + "resolve-from": "^5.0.0", + "slash": "^3.0.0", + "specificity": "^0.4.1", + "string-width": "^4.2.2", + "strip-ansi": "^6.0.0", + "style-search": "^0.1.0", + "sugarss": "^2.0.0", + "svg-tags": "^1.0.0", + "table": "^6.6.0", + "v8-compile-cache": "^2.3.0", + "write-file-atomic": "^3.0.3" + }, + "bin": { + "stylelint": "bin/stylelint.js" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/stylelint" + } + }, + "node_modules/stylelint-config-css-modules": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/stylelint-config-css-modules/-/stylelint-config-css-modules-2.3.0.tgz", + "integrity": "sha512-nSxwaJMv9wBrTAi+O4qXubyi1AR9eB36tJpY0uaFhKgEc3fwWGUzUK1Edl8AQHAoU7wmUeKtsuYjblyRP/V7rw==", + "dev": true, + "peerDependencies": { + "stylelint": "11.x - 14.x" + } + }, + "node_modules/stylelint-config-prettier": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/stylelint-config-prettier/-/stylelint-config-prettier-8.0.2.tgz", + "integrity": "sha512-TN1l93iVTXpF9NJstlvP7nOu9zY2k+mN0NSFQ/VEGz15ZIP9ohdDZTtCWHs5LjctAhSAzaILULGbgiM0ItId3A==", + "dev": true, + "bin": { + "stylelint-config-prettier": "bin/check.js", + "stylelint-config-prettier-check": "bin/check.js" + }, + "engines": { + "node": ">= 10", + "npm": ">= 5" + }, + "peerDependencies": { + "stylelint": ">=11.0.0" + } + }, + "node_modules/stylelint-config-recommended": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/stylelint-config-recommended/-/stylelint-config-recommended-3.0.0.tgz", + "integrity": "sha512-F6yTRuc06xr1h5Qw/ykb2LuFynJ2IxkKfCMf+1xqPffkxh0S09Zc902XCffcsw/XMFq/OzQ1w54fLIDtmRNHnQ==", + "dev": true, + "peerDependencies": { + "stylelint": ">=10.1.0" + } + }, + "node_modules/stylelint-config-standard": { + "version": "20.0.0", + "resolved": "https://registry.npmjs.org/stylelint-config-standard/-/stylelint-config-standard-20.0.0.tgz", + "integrity": "sha512-IB2iFdzOTA/zS4jSVav6z+wGtin08qfj+YyExHB3LF9lnouQht//YyB0KZq9gGz5HNPkddHOzcY8HsUey6ZUlA==", + "dev": true, + "dependencies": { + "stylelint-config-recommended": "^3.0.0" + }, + "peerDependencies": { + "stylelint": ">=10.1.0" + } + }, + "node_modules/stylelint-declaration-block-no-ignored-properties": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/stylelint-declaration-block-no-ignored-properties/-/stylelint-declaration-block-no-ignored-properties-2.8.0.tgz", + "integrity": "sha512-Ws8Cav7Y+SPN0JsV407LrnNXWOrqGjxShf+37GBtnU/C58Syve9c0+I/xpLcFOosST3ternykn3Lp77f3ITnFw==", + "dev": true, + "engines": { + "node": ">=6" + }, + "peerDependencies": { + "stylelint": "^7.0.0 || ^8.0.0 || ^9.0.0 || ^10.0.0 || ^11.0.0 || ^12.0.0 || ^13.0.0 || ^14.0.0 || ^15.0.0 || ^16.0.0" + } + }, + "node_modules/stylelint/node_modules/balanced-match": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-2.0.0.tgz", + "integrity": "sha512-1ugUSr8BHXRnK23KfuYS+gVMC3LB8QGH9W1iGtDPsNWoQbgtXSExkBu2aDR4epiGWZOjZsj6lDl/N/AqqTC3UA==", + "dev": true + }, + "node_modules/stylelint/node_modules/postcss-less": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/postcss-less/-/postcss-less-3.1.4.tgz", + "integrity": "sha512-7TvleQWNM2QLcHqvudt3VYjULVB49uiW6XzEUFmvwHzvsOEF5MwBrIXZDJQvJNFGjJQTzSzZnDoCJ8h/ljyGXA==", + "dev": true, + "dependencies": { + "postcss": "^7.0.14" + }, + "engines": { + "node": ">=6.14.4" + } + }, + "node_modules/sugarss": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/sugarss/-/sugarss-2.0.0.tgz", + "integrity": "sha512-WfxjozUk0UVA4jm+U1d736AUpzSrNsQcIbyOkoE364GrtWmIrFdk5lksEupgWMD4VaT/0kVx1dobpiDumSgmJQ==", + "dev": true, + "dependencies": { + "postcss": "^7.0.2" + } + }, + "node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-hyperlinks": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.3.0.tgz", + "integrity": "sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0", + "supports-color": "^7.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/svg-tags": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/svg-tags/-/svg-tags-1.0.0.tgz", + "integrity": "sha512-ovssysQTa+luh7A5Weu3Rta6FJlFBBbInjOh722LIt6klpU2/HtdUbszju/G4devcvk8PGt7FCLv5wftu3THUA==", + "dev": true + }, + "node_modules/swagger-client": { + "version": "3.26.4", + "resolved": "https://registry.npmjs.org/swagger-client/-/swagger-client-3.26.4.tgz", + "integrity": "sha512-Xj1DGEvnQt8dCJy15aPBhfzgxio1VzNEAsyRWVo/sorf8Ocs6nc4Ktx0xRqGFzgheDtUoCw/OXeSTeFKGtYmNA==", + "dev": true, + "dependencies": { + "@babel/runtime-corejs3": "^7.22.15", + "@swagger-api/apidom-core": ">=0.98.0 <1.0.0", + "@swagger-api/apidom-error": ">=0.98.0 <1.0.0", + "@swagger-api/apidom-json-pointer": ">=0.98.0 <1.0.0", + "@swagger-api/apidom-ns-openapi-3-1": ">=0.98.0 <1.0.0", + "@swagger-api/apidom-reference": ">=0.98.0 <1.0.0", + "cookie": "~0.6.0", + "deepmerge": "~4.3.0", + "fast-json-patch": "^3.0.0-1", + "is-plain-object": "^5.0.0", + "js-yaml": "^4.1.0", + "node-abort-controller": "^3.1.1", + "node-fetch-commonjs": "^3.3.2", + "qs": "^6.10.2", + "traverse": "~0.6.6" + } + }, + "node_modules/swagger-client/node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true + }, + "node_modules/swagger-client/node_modules/is-plain-object": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", + "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/swagger-client/node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/swagger-ui-dist": { + "version": "4.19.1", + "resolved": "https://registry.npmjs.org/swagger-ui-dist/-/swagger-ui-dist-4.19.1.tgz", + "integrity": "sha512-n/gFn+R7G/BXWwl5UZLw6F1YgWOlf3zkwGlsPhTMhNtAAolBGKg0JS5b2RKt5NI6/hSopVaSrki2wTIMUDDy2w==" + }, + "node_modules/swagger-ui-react": { + "version": "3.52.5", + "resolved": "https://registry.npmjs.org/swagger-ui-react/-/swagger-ui-react-3.52.5.tgz", + "integrity": "sha512-V2fidbSGCb6SmC1AyTXv6T8znWcLAjfVBs2CPTXUS7m7s//SqiRx3hXXPUNvGxKTEK76h+yvcBZf2GLD7kr63w==", + "dev": true, + "dependencies": { + "@babel/runtime-corejs3": "^7.14.7", + "@braintree/sanitize-url": "^5.0.2", + "@kyleshockey/object-assign-deep": "^0.4.2", + "@kyleshockey/xml": "^1.0.2", + "base64-js": "^1.5.1", + "classnames": "^2.3.1", + "css.escape": "1.5.1", + "deep-extend": "0.6.0", + "dompurify": "^2.2.9", + "ieee754": "^1.2.1", + "immutable": "^3.x.x", + "js-file-download": "^0.4.12", + "js-yaml": "=4.1.0", + "lodash": "^4.17.21", + "memoizee": "^0.4.15", + "prop-types": "^15.7.2", + "randombytes": "^2.1.0", + "react-copy-to-clipboard": "5.0.3", + "react-debounce-input": "^3.2.3", + "react-immutable-proptypes": "2.2.0", + "react-immutable-pure-component": "^1.1.1", + "react-inspector": "^2.3.0", + "react-motion": "^0.5.2", + "react-redux": "=4.4.10", + "react-syntax-highlighter": "^15.4.4", + "redux": "=3.7.2", + "redux-immutable": "3.1.0", + "remarkable": "^2.0.1", + "reselect": "^4.0.0", + "serialize-error": "^8.1.0", + "sha.js": "^2.4.11", + "swagger-client": "^3.17.0", + "url-parse": "^1.5.2", + "xml-but-prettier": "^1.0.1", + "zenscroll": "^4.0.2" + }, + "peerDependencies": { + "react": ">=15.6.2", + "react-dom": ">=15.6.2" + } + }, + "node_modules/swagger-ui-react/node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true + }, + "node_modules/swagger-ui-react/node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/swagger-ui-react/node_modules/react-redux": { + "version": "4.4.10", + "resolved": "https://registry.npmjs.org/react-redux/-/react-redux-4.4.10.tgz", + "integrity": "sha512-tjL0Bmpkj75Td0k+lXlF8Fc8a9GuXFv/3ahUOCXExWs/jhsKiQeTffdH0j5byejCGCRL4tvGFYlrwBF1X/Aujg==", + "dev": true, + "dependencies": { + "create-react-class": "^15.5.1", + "hoist-non-react-statics": "^3.3.0", + "invariant": "^2.0.0", + "lodash": "^4.17.11", + "loose-envify": "^1.4.0", + "prop-types": "^15.7.2" + }, + "peerDependencies": { + "react": "^0.14.0 || ^15.0.0-0 || ^15.4.0-0 || ^16.0.0-0", + "redux": "^2.0.0 || ^3.0.0" + } + }, + "node_modules/swagger-ui-react/node_modules/redux": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/redux/-/redux-3.7.2.tgz", + "integrity": "sha512-pNqnf9q1hI5HHZRBkj3bAngGZW/JMCmexDlOxw4XagXY2o1327nHH54LoTjiPJ0gizoqPDRqWyX/00g0hD6w+A==", + "dev": true, + "dependencies": { + "lodash": "^4.2.1", + "lodash-es": "^4.2.1", + "loose-envify": "^1.1.0", + "symbol-observable": "^1.0.3" + } + }, + "node_modules/swagger2openapi": { + "version": "7.0.8", + "resolved": "https://registry.npmjs.org/swagger2openapi/-/swagger2openapi-7.0.8.tgz", + "integrity": "sha512-upi/0ZGkYgEcLeGieoz8gT74oWHA0E7JivX7aN9mAf+Tc7BQoRBvnIGHoPDw+f9TXTW4s6kGYCZJtauP6OYp7g==", + "dev": true, + "dependencies": { + "call-me-maybe": "^1.0.1", + "node-fetch": "^2.6.1", + "node-fetch-h2": "^2.3.0", + "node-readfiles": "^0.2.0", + "oas-kit-common": "^1.0.8", + "oas-resolver": "^2.5.6", + "oas-schema-walker": "^1.1.5", + "oas-validator": "^5.0.8", + "reftools": "^1.1.9", + "yaml": "^1.10.0", + "yargs": "^17.0.1" + }, + "bin": { + "boast": "boast.js", + "oas-validate": "oas-validate.js", + "swagger2openapi": "swagger2openapi.js" + }, + "funding": { + "url": "https://github.com/Mermade/oas-kit?sponsor=1" + } + }, + "node_modules/swagger2openapi/node_modules/cliui": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", + "dev": true, + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/swagger2openapi/node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/swagger2openapi/node_modules/yargs": { + "version": "17.7.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", + "dev": true, + "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.5", + "yargs-parser": "^21.1.1" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/swagger2openapi/node_modules/yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "dev": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/swr": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/swr/-/swr-1.3.0.tgz", + "integrity": "sha512-dkghQrOl2ORX9HYrMDtPa7LTVHJjCTeZoB1dqTbnnEDlSvN8JEKpYIYurDfvbQFUUS8Cg8PceFVZNkW0KNNYPw==", + "peerDependencies": { + "react": "^16.11.0 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/sylvanas": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/sylvanas/-/sylvanas-0.6.1.tgz", + "integrity": "sha512-/hI6AJ522jV4+9iQ1lCmwiqBQDDDYQZQVSDRY+Gt5/Mh2i9rqiG6A9ltMFAAqw0fSkjgfFIMI6e0fAyssQ71xw==", + "dev": true, + "dependencies": { + "@babel/core": "^7.9.0", + "@babel/plugin-syntax-decorators": "^7.8.3", + "@babel/plugin-syntax-dynamic-import": "^7.8.3", + "@babel/plugin-transform-typescript": "^7.9.4", + "@types/prettier": "^1.16.4", + "@umijs/fabric": "^2.2.2", + "eslint": "^7.7.0", + "fs-extra": "^8.0.1", + "import-fresh": "^3.1.0", + "prettier": "^2.1.1" + } + }, + "node_modules/sylvanas/node_modules/@types/prettier": { + "version": "1.19.1", + "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-1.19.1.tgz", + "integrity": "sha512-5qOlnZscTn4xxM5MeGXAMOsIOIKIbh9e85zJWfBRVPlRMEVawzoPhINYbRGkBZCI8LxvBe7tJCdWiarA99OZfQ==", + "dev": true + }, + "node_modules/sylvanas/node_modules/fs-extra": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + }, + "engines": { + "node": ">=6 <7 || >=8" + } + }, + "node_modules/sylvanas/node_modules/jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", + "dev": true, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/symbol-observable": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.2.0.tgz", + "integrity": "sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/symbol-tree": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", + "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==", + "dev": true + }, + "node_modules/table": { + "version": "6.8.2", + "resolved": "https://registry.npmjs.org/table/-/table-6.8.2.tgz", + "integrity": "sha512-w2sfv80nrAh2VCbqR5AK27wswXhqcck2AhfnNW76beQXskGZ1V12GwS//yYVa3d3fcvAip2OUnbDAjW2k3v9fA==", + "dev": true, + "dependencies": { + "ajv": "^8.0.1", + "lodash.truncate": "^4.4.2", + "slice-ansi": "^4.0.0", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/table/node_modules/ajv": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/table/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true + }, + "node_modules/table/node_modules/slice-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", + "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/slice-ansi?sponsor=1" + } + }, + "node_modules/tapable": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", + "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", + "engines": { + "node": ">=6" + } + }, + "node_modules/tar-fs": { + "version": "1.16.3", + "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-1.16.3.tgz", + "integrity": "sha512-NvCeXpYx7OsmOh8zIOP/ebG55zZmxLE0etfWRbWok+q2Qo8x/vOR/IJT1taADXPe+jsiu9axDb3X4B+iIgNlKw==", + "dev": true, + "dependencies": { + "chownr": "^1.0.1", + "mkdirp": "^0.5.1", + "pump": "^1.0.0", + "tar-stream": "^1.1.2" + } + }, + "node_modules/tar-fs/node_modules/mkdirp": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", + "dev": true, + "dependencies": { + "minimist": "^1.2.6" + }, + "bin": { + "mkdirp": "bin/cmd.js" + } + }, + "node_modules/tar-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.6.2.tgz", + "integrity": "sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A==", + "dev": true, + "dependencies": { + "bl": "^1.0.0", + "buffer-alloc": "^1.2.0", + "end-of-stream": "^1.0.0", + "fs-constants": "^1.0.0", + "readable-stream": "^2.3.0", + "to-buffer": "^1.1.1", + "xtend": "^4.0.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/tar-stream/node_modules/bl": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.3.tgz", + "integrity": "sha512-pvcNpa0UU69UT341rO6AYy4FVAIkUHuZXRIWbq+zHnsVcRzDDjIAhGuuYoi0d//cwIwtt4pkpKycWEfjdV+vww==", + "dev": true, + "dependencies": { + "readable-stream": "^2.3.5", + "safe-buffer": "^5.1.1" + } + }, + "node_modules/term-size": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/term-size/-/term-size-1.2.0.tgz", + "integrity": "sha512-7dPUZQGy/+m3/wjVz3ZW5dobSoD/02NxJpoXUX0WIyjfVS3l0c+b/+9phIDFA7FHzkYtwtMFgeGZ/Y8jVTeqQQ==", + "dev": true, + "dependencies": { + "execa": "^0.7.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/term-size/node_modules/cross-spawn": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", + "integrity": "sha512-pTgQJ5KC0d2hcY8eyL1IzlBPYjTkyH72XRZPnLyKus2mBfNjQs3klqbJU2VILqZryAZUt9JOb3h/mWMy23/f5A==", + "dev": true, + "dependencies": { + "lru-cache": "^4.0.1", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "node_modules/term-size/node_modules/execa": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", + "integrity": "sha512-RztN09XglpYI7aBBrJCPW95jEH7YF1UEPOoX9yDhUTPdp7mK+CQvnLTuD10BNXZ3byLTu2uehZ8EcKT/4CGiFw==", + "dev": true, + "dependencies": { + "cross-spawn": "^5.0.1", + "get-stream": "^3.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/term-size/node_modules/get-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", + "integrity": "sha512-GlhdIUuVakc8SJ6kK0zAFbiGzRFzNnY4jUuEbV9UROo4Y+0Ny4fjvcZFVTeDA4odpFyOQzaw6hXukJSq/f28sQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/term-size/node_modules/is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/term-size/node_modules/lru-cache": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", + "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", + "dev": true, + "dependencies": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } + }, + "node_modules/term-size/node_modules/npm-run-path": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", + "integrity": "sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw==", + "dev": true, + "dependencies": { + "path-key": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/term-size/node_modules/path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/term-size/node_modules/shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==", + "dev": true, + "dependencies": { + "shebang-regex": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/term-size/node_modules/shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/term-size/node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" + } + }, + "node_modules/term-size/node_modules/yallist": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", + "integrity": "sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A==", + "dev": true + }, + "node_modules/terminal-link": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/terminal-link/-/terminal-link-1.3.0.tgz", + "integrity": "sha512-nFaWG/gs3brGi3opgWU2+dyFGbQ7tueSRYOBOD8URdDXCbAGqDEZzuskCc+okCClYcJFDPwn8e2mbv4FqAnWFA==", + "dev": true, + "dependencies": { + "ansi-escapes": "^3.2.0", + "supports-hyperlinks": "^1.0.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/terminal-link/node_modules/ansi-escapes": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz", + "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/terminal-link/node_modules/has-flag": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz", + "integrity": "sha512-P+1n3MnwjR/Epg9BBo1KT8qbye2g2Ou4sFumihwt6I4tsUX7jnLcX4BTOSKg/B1ZrIYMN9FcEnG4x5a7NB8Eng==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/terminal-link/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/terminal-link/node_modules/supports-color/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/terminal-link/node_modules/supports-hyperlinks": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-1.0.1.tgz", + "integrity": "sha512-HHi5kVSefKaJkGYXbDuKbUGRVxqnWGn3J2e39CYcNJEfWciGq2zYtOhXLTlvrOZW1QU7VX67w7fMmWafHX9Pfw==", + "dev": true, + "dependencies": { + "has-flag": "^2.0.0", + "supports-color": "^5.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/terser": { + "version": "5.30.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.30.0.tgz", + "integrity": "sha512-Y/SblUl5kEyEFzhMAQdsxVHh+utAxd4IuRNJzKywY/4uzSogh3G219jqbDDxYu4MXO9CzY3tSEqmZvW6AoEDJw==", + "dev": true, + "dependencies": { + "@jridgewell/source-map": "^0.3.3", + "acorn": "^8.8.2", + "commander": "^2.20.0", + "source-map-support": "~0.5.20" + }, + "bin": { + "terser": "bin/terser" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/terser/node_modules/acorn": { + "version": "8.11.3", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz", + "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/test-exclude": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", + "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", + "dev": true, + "dependencies": { + "@istanbuljs/schema": "^0.1.2", + "glob": "^7.1.4", + "minimatch": "^3.0.4" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==" + }, + "node_modules/textextensions": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/textextensions/-/textextensions-2.6.0.tgz", + "integrity": "sha512-49WtAWS+tcsy93dRt6P0P3AMD2m5PvXRhuEA0kaXos5ZLlujtYmpmFsB+QvWUSxE1ZsstmYXfQ7L40+EcQgpAQ==", + "dev": true, + "engines": { + "node": ">=0.8" + }, + "funding": { + "url": "https://bevry.me/fund" + } + }, + "node_modules/throat": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/throat/-/throat-5.0.0.tgz", + "integrity": "sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA==", + "dev": true + }, + "node_modules/throttle-debounce": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/throttle-debounce/-/throttle-debounce-5.0.0.tgz", + "integrity": "sha512-2iQTSgkkc1Zyk0MeVrt/3BvuOXYPl/R8Z0U2xxo9rjwNciaHDG3R+Lm6dh4EeUci49DanvBnuqI6jshoQQRGEg==", + "engines": { + "node": ">=12.22" + } + }, + "node_modules/through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", + "dev": true + }, + "node_modules/through2": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/through2/-/through2-3.0.2.tgz", + "integrity": "sha512-enaDQ4MUyP2W6ZyT6EsMzqBPZaM/avg8iuo+l2d3QCs0J+6RaqkHV/2/lOwDTueBHeJ/2LG9lrLW3d5rWPucuQ==", + "dev": true, + "dependencies": { + "inherits": "^2.0.4", + "readable-stream": "2 || 3" + } + }, + "node_modules/timed-out": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/timed-out/-/timed-out-4.0.1.tgz", + "integrity": "sha512-G7r3AhovYtr5YKOWQkta8RKAPb+J9IsO4uVmzjl8AZwfhs8UcUwTiD6gcJYSgOtzyjvQKrKYn41syHbUWMkafA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/timers-browserify": { + "version": "2.0.12", + "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.12.tgz", + "integrity": "sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ==", + "dependencies": { + "setimmediate": "^1.0.4" + }, + "engines": { + "node": ">=0.6.0" + } + }, + "node_modules/timers-ext": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/timers-ext/-/timers-ext-0.1.7.tgz", + "integrity": "sha512-b85NUNzTSdodShTIbky6ZF02e8STtVVfD+fu4aXXShEELpozH+bCpJLYMPZbsABN2wDH7fJpqIoXxJpzbf0NqQ==", + "dev": true, + "dependencies": { + "es5-ext": "~0.10.46", + "next-tick": "1" + } + }, + "node_modules/tiny-invariant": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/tiny-invariant/-/tiny-invariant-1.3.3.tgz", + "integrity": "sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg==" + }, + "node_modules/tiny-pinyin": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/tiny-pinyin/-/tiny-pinyin-1.3.2.tgz", + "integrity": "sha512-uHNGu4evFt/8eNLldazeAM1M8JrMc1jshhJJfVRARTN3yT8HEEibofeQ7QETWQ5ISBjd6fKtTVBCC/+mGS6FpA==", + "dev": true + }, + "node_modules/tiny-warning": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/tiny-warning/-/tiny-warning-1.0.3.tgz", + "integrity": "sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==" + }, + "node_modules/tinycolor2": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/tinycolor2/-/tinycolor2-1.6.0.tgz", + "integrity": "sha512-XPaBkWQJdsf3pLKJV9p4qN/S+fm2Oj8AIPo1BTUhg5oxkvm9+SVEGFdhyOz7tTdUTfvxMiAs4sp6/eZO2Ew+pw==" + }, + "node_modules/tmp": { + "version": "0.0.33", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", + "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", + "dev": true, + "dependencies": { + "os-tmpdir": "~1.0.2" + }, + "engines": { + "node": ">=0.6.0" + } + }, + "node_modules/tmpl": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", + "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==", + "dev": true + }, + "node_modules/to-arraybuffer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz", + "integrity": "sha512-okFlQcoGTi4LQBG/PgSYblw9VOyptsz2KJZqc6qtgGdes8VktzUQkj4BI2blit072iS8VODNcMA+tvnS9dnuMA==" + }, + "node_modules/to-buffer": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/to-buffer/-/to-buffer-1.1.1.tgz", + "integrity": "sha512-lx9B5iv7msuFYE3dytT+KE5tap+rNYw+K4jVkb9R/asAb+pbBSM17jtunHplhBe6RRJdZx3Pn2Jph24O32mOVg==", + "dev": true + }, + "node_modules/to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", + "engines": { + "node": ">=4" + } + }, + "node_modules/to-object-path": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", + "integrity": "sha512-9mWHdnGRuh3onocaHzukyvCZhzvr6tiflAy/JRFXcJX0TjgfWA9pk9t8CMbzmBE4Jfw58pXbkngtBtqYxzNEyg==", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/to-object-path/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/to-readable-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/to-readable-stream/-/to-readable-stream-1.0.0.tgz", + "integrity": "sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/to-regex": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", + "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", + "dev": true, + "dependencies": { + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "regex-not": "^1.0.2", + "safe-regex": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/to-regex/node_modules/extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==", + "dev": true, + "dependencies": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/to-regex/node_modules/is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "dependencies": { + "is-plain-object": "^2.0.4" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/to-regex/node_modules/safe-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", + "integrity": "sha512-aJXcif4xnaNUzvUuC5gcb46oTS7zvg4jpMTnuqtrEPlR3vFr4pxtdTwaF1Qs3Enjn9HK+ZlwQui+a7z0SywIzg==", + "dev": true, + "dependencies": { + "ret": "~0.1.10" + } + }, + "node_modules/toggle-selection": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/toggle-selection/-/toggle-selection-1.0.6.tgz", + "integrity": "sha512-BiZS+C1OS8g/q2RRbJmy59xpyghNBqrr6k5L/uKBGRsTfxmu3ffiRnd8mlGPUVayg8pvfi5urfnu8TU7DVOkLQ==" + }, + "node_modules/toidentifier": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", + "dev": true, + "engines": { + "node": ">=0.6" + } + }, + "node_modules/tough-cookie": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.3.tgz", + "integrity": "sha512-aX/y5pVRkfRnfmuX+OdbSdXvPe6ieKX/G2s7e98f4poJHnqH3281gDPm/metm6E/WRamfx7WC4HUqkWHfQHprw==", + "dev": true, + "dependencies": { + "psl": "^1.1.33", + "punycode": "^2.1.1", + "universalify": "^0.2.0", + "url-parse": "^1.5.3" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/tough-cookie/node_modules/universalify": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz", + "integrity": "sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==", + "dev": true, + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/tr46": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-2.1.0.tgz", + "integrity": "sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==", + "dev": true, + "dependencies": { + "punycode": "^2.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/traverse": { + "version": "0.6.8", + "resolved": "https://registry.npmjs.org/traverse/-/traverse-0.6.8.tgz", + "integrity": "sha512-aXJDbk6SnumuaZSANd21XAo15ucCDE38H4fkqiGsc3MhCK+wOlZvLP9cB/TvpHT0mOyWgC4Z8EwRlzqYSUzdsA==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/tree-sitter": { + "version": "0.20.4", + "resolved": "https://registry.npmjs.org/tree-sitter/-/tree-sitter-0.20.4.tgz", + "integrity": "sha512-rjfR5dc4knG3jnJNN/giJ9WOoN1zL/kZyrS0ILh+eqq8RNcIbiXA63JsMEgluug0aNvfQvK4BfCErN1vIzvKog==", + "dev": true, + "hasInstallScript": true, + "optional": true, + "dependencies": { + "nan": "^2.17.0", + "prebuild-install": "^7.1.1" + } + }, + "node_modules/tree-sitter-json": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/tree-sitter-json/-/tree-sitter-json-0.20.2.tgz", + "integrity": "sha512-eUxrowp4F1QEGk/i7Sa+Xl8Crlfp7J0AXxX1QdJEQKQYMWhgMbCIgyQvpO3Q0P9oyTrNQxRLlRipDS44a8EtRw==", + "dev": true, + "hasInstallScript": true, + "optional": true, + "dependencies": { + "nan": "^2.18.0" + } + }, + "node_modules/tree-sitter-yaml": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/tree-sitter-yaml/-/tree-sitter-yaml-0.5.0.tgz", + "integrity": "sha512-POJ4ZNXXSWIG/W4Rjuyg36MkUD4d769YRUGKRqN+sVaj/VCo6Dh6Pkssn1Rtewd5kybx+jT1BWMyWN0CijXnMA==", + "dev": true, + "hasInstallScript": true, + "optional": true, + "dependencies": { + "nan": "^2.14.0" + } + }, + "node_modules/trim-newlines": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-3.0.1.tgz", + "integrity": "sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/trim-repeated": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/trim-repeated/-/trim-repeated-1.0.0.tgz", + "integrity": "sha512-pkonvlKk8/ZuR0D5tLW8ljt5I8kmxp2XKymhepUeOdCEfKpZaktSArkLHZt76OB1ZvO9bssUsDty4SWhLvZpLg==", + "dev": true, + "dependencies": { + "escape-string-regexp": "^1.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/trim-repeated/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/trim-right": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz", + "integrity": "sha512-WZGXGstmCWgeevgTL54hrCuw1dyMQIzWy7ZfqRJfSmJZBwklI15egmQytFP6bPidmw3M8d5yEowl1niq4vmqZw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/trough": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/trough/-/trough-1.0.5.tgz", + "integrity": "sha512-rvuRbTarPXmMb79SmzEp8aqXNKcK+y0XaB298IXueQ8I2PsrATcPBCSPyK/dDNa2iWOhKlfNnOjdAOTBU/nkFA==", + "dev": true, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/ts-mixer": { + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/ts-mixer/-/ts-mixer-6.0.4.tgz", + "integrity": "sha512-ufKpbmrugz5Aou4wcr5Wc1UUFWOLhq+Fm6qa6P0w0K5Qw2yhaUoiWszhCVuNQyNwrlGiscHOmqYoAox1PtvgjA==", + "dev": true + }, + "node_modules/ts-toolbelt": { + "version": "9.6.0", + "resolved": "https://registry.npmjs.org/ts-toolbelt/-/ts-toolbelt-9.6.0.tgz", + "integrity": "sha512-nsZd8ZeNUzukXPlJmTBwUAuABDe/9qtVDelJeT/qW0ow3ZS3BsQJtNkan1802aM9Uf68/Y8ljw86Hu0h5IUW3w==", + "dev": true + }, + "node_modules/tslib": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.0.tgz", + "integrity": "sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg==" + }, + "node_modules/tsutils": { + "version": "3.21.0", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", + "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", + "dev": true, + "dependencies": { + "tslib": "^1.8.1" + }, + "engines": { + "node": ">= 6" + }, + "peerDependencies": { + "typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta" + } + }, + "node_modules/tsutils/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + }, + "node_modules/tty-browserify": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz", + "integrity": "sha512-JVa5ijo+j/sOoHGjw0sxw734b1LhBkQ3bvUGNdxnVXDCX81Yx7TFgnZygxrIIWn23hbfTaMYLwRmAxFyDuFmIw==" + }, + "node_modules/tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==", + "dev": true, + "dependencies": { + "safe-buffer": "^5.0.1" + }, + "engines": { + "node": "*" + } + }, + "node_modules/tween-functions": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/tween-functions/-/tween-functions-1.2.0.tgz", + "integrity": "sha512-PZBtLYcCLtEcjL14Fzb1gSxPBeL7nWvGhO5ZFPGqziCcr8uvHp0NDmdjBchp6KHL+tExcg0m3NISmKxhU394dA==", + "dev": true + }, + "node_modules/tweetnacl": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==", + "dev": true + }, + "node_modules/type": { + "version": "2.7.2", + "resolved": "https://registry.npmjs.org/type/-/type-2.7.2.tgz", + "integrity": "sha512-dzlvlNlt6AXU7EBSfpAscydQ7gXB+pPGsPnfJnZpiNJBDj7IaJzQlBZYGdEi4R9HmPdBv2XmWJ6YUtoTa7lmCw==", + "dev": true + }, + "node_modules/type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dev": true, + "dependencies": { + "prelude-ls": "^1.2.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/type-detect": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", + "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/type-is": { + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "dev": true, + "dependencies": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/typed-array-buffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.2.tgz", + "integrity": "sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "es-errors": "^1.3.0", + "is-typed-array": "^1.1.13" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/typed-array-byte-length": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.1.tgz", + "integrity": "sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-proto": "^1.0.3", + "is-typed-array": "^1.1.13" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typed-array-byte-offset": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.2.tgz", + "integrity": "sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA==", + "dev": true, + "dependencies": { + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.7", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-proto": "^1.0.3", + "is-typed-array": "^1.1.13" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typed-array-length": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.6.tgz", + "integrity": "sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-proto": "^1.0.3", + "is-typed-array": "^1.1.13", + "possible-typed-array-names": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typedarray": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==", + "dev": true + }, + "node_modules/typedarray-to-buffer": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", + "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", + "dev": true, + "dependencies": { + "is-typedarray": "^1.0.0" + } + }, + "node_modules/types-ramda": { + "version": "0.29.9", + "resolved": "https://registry.npmjs.org/types-ramda/-/types-ramda-0.29.9.tgz", + "integrity": "sha512-B+VbLtW68J4ncG/rccKaYDhlirKlVH/Izh2JZUfaPJv+3Tl2jbbgYsB1pvole1vXKSgaPlAe/wgEdOnMdAu52A==", + "dev": true, + "dependencies": { + "ts-toolbelt": "^9.6.0" + } + }, + "node_modules/typescript": { + "version": "4.9.5", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz", + "integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==", + "dev": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=4.2.0" + } + }, + "node_modules/ua-parser-js": { + "version": "0.7.37", + "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.37.tgz", + "integrity": "sha512-xV8kqRKM+jhMvcHWUKthV9fNebIzrNy//2O9ZwWcfiBFR5f25XVZPLlEajk/sf3Ra15V92isyQqnIEXRDaZWEA==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/ua-parser-js" + }, + { + "type": "paypal", + "url": "https://paypal.me/faisalman" + }, + { + "type": "github", + "url": "https://github.com/sponsors/faisalman" + } + ], + "engines": { + "node": "*" + } + }, + "node_modules/umi": { + "version": "3.5.41", + "resolved": "https://registry.npmjs.org/umi/-/umi-3.5.41.tgz", + "integrity": "sha512-sjgfFGC3E5jG5Cn8pXdwODDgPW1hnlkn24f7+onNnNdq77syuc4s3R5z7BKQHbjiWtVVIV1VOFMYE9JsJYnOPQ==", + "dependencies": { + "@umijs/bundler-webpack": "3.5.41", + "@umijs/core": "3.5.41", + "@umijs/deps": "3.5.41", + "@umijs/preset-built-in": "3.5.41", + "@umijs/runtime": "3.5.41", + "@umijs/types": "3.5.41", + "@umijs/utils": "3.5.41", + "react": "16.x", + "react-dom": "16.x", + "v8-compile-cache": "2.3.0" + }, + "bin": { + "umi": "bin/umi.js" + } + }, + "node_modules/umi-core": { + "version": "1.9.10", + "resolved": "https://registry.npmjs.org/umi-core/-/umi-core-1.9.10.tgz", + "integrity": "sha512-3THxpVXtdTyJfpGBb4WQnxy+Gv+LjHo+RFCmLRNl7fJ/XBT4otjAb33g9eoV5zLAK64LYzZ+f/qxKYo0ilzaMQ==", + "dev": true, + "dependencies": { + "@babel/preset-typescript": "7.3.3", + "@babel/register": "7.4.4", + "@umijs/error-code-map": "^1.0.0", + "babel-preset-umi": "1.8.4", + "chalk": "2.4.2", + "extend2": "1.0.0", + "marked": "0.6.2", + "marked-terminal": "3.2.0", + "os-locale": "^4.0.0", + "signale": "1.4.0", + "slash2": "2.0.0", + "umi-utils": "1.7.3" + } + }, + "node_modules/umi-core/node_modules/@babel/preset-typescript": { + "version": "7.3.3", + "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.3.3.tgz", + "integrity": "sha512-mzMVuIP4lqtn4du2ynEfdO0+RYcslwrZiJHXu4MGaC1ctJiW2fyaeDrtjJGs7R/KebZ1sgowcIoWf4uRpEfKEg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-transform-typescript": "^7.3.2" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/umi-core/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/umi-core/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/umi-core/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/umi-core/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, + "node_modules/umi-core/node_modules/cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "dev": true, + "dependencies": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + }, + "engines": { + "node": ">=4.8" + } + }, + "node_modules/umi-core/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/umi-core/node_modules/execa": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", + "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", + "dev": true, + "dependencies": { + "cross-spawn": "^6.0.0", + "get-stream": "^4.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/umi-core/node_modules/get-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", + "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "dev": true, + "dependencies": { + "pump": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/umi-core/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/umi-core/node_modules/is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/umi-core/node_modules/marked": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/marked/-/marked-0.6.2.tgz", + "integrity": "sha512-LqxwVH3P/rqKX4EKGz7+c2G9r98WeM/SW34ybhgNGhUQNKtf1GmmSkJ6cDGJ/t6tiyae49qRkpyTw2B9HOrgUA==", + "dev": true, + "bin": { + "marked": "bin/marked" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/umi-core/node_modules/npm-run-path": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", + "integrity": "sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw==", + "dev": true, + "dependencies": { + "path-key": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/umi-core/node_modules/os-locale": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-4.0.0.tgz", + "integrity": "sha512-HsSR1+2l6as4Wp2SGZxqLnuFHxVvh1Ir9pvZxyujsC13egZVe7P0YeBLN0ijQzM/twrO5To3ia3jzBXAvpMTEA==", + "dev": true, + "dependencies": { + "execa": "^1.0.0", + "lcid": "^3.0.0", + "mem": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/umi-core/node_modules/path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/umi-core/node_modules/pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "dev": true, + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "node_modules/umi-core/node_modules/semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "dev": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/umi-core/node_modules/shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==", + "dev": true, + "dependencies": { + "shebang-regex": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/umi-core/node_modules/shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/umi-core/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/umi-core/node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" + } + }, + "node_modules/umi-mock": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/umi-mock/-/umi-mock-2.1.5.tgz", + "integrity": "sha512-6yJB89Q8F/FGlB2ZpaKDoYBsv0E29XMoKCgEr1TAO8TfUPEU0oMKOOuhDA633sZ/jRhxFbK1Yvu4DLS7SjtQoA==", + "dev": true, + "dependencies": { + "body-parser": "1.19.0", + "chokidar": "3.0.2", + "glob": "7.1.4", + "multer": "^1.4.1", + "path-to-regexp": "1.7.0", + "signale": "1.4.0", + "umi-utils": "1.7.3" + } + }, + "node_modules/umi-mock/node_modules/body-parser": { + "version": "1.19.0", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz", + "integrity": "sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==", + "dev": true, + "dependencies": { + "bytes": "3.1.0", + "content-type": "~1.0.4", + "debug": "2.6.9", + "depd": "~1.1.2", + "http-errors": "1.7.2", + "iconv-lite": "0.4.24", + "on-finished": "~2.3.0", + "qs": "6.7.0", + "raw-body": "2.4.0", + "type-is": "~1.6.17" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/umi-mock/node_modules/bytes": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", + "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/umi-mock/node_modules/chokidar": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.0.2.tgz", + "integrity": "sha512-c4PR2egjNjI1um6bamCQ6bUNPDiyofNQruHvKgHQ4gDUP/ITSVSzNsiI5OWtHOsX323i5ha/kk4YmOZ1Ktg7KA==", + "dev": true, + "dependencies": { + "anymatch": "^3.0.1", + "braces": "^3.0.2", + "glob-parent": "^5.0.0", + "is-binary-path": "^2.1.0", + "is-glob": "^4.0.1", + "normalize-path": "^3.0.0", + "readdirp": "^3.1.1" + }, + "engines": { + "node": ">= 8" + }, + "optionalDependencies": { + "fsevents": "^2.0.6" + } + }, + "node_modules/umi-mock/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/umi-mock/node_modules/depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/umi-mock/node_modules/glob": { + "version": "7.1.4", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.4.tgz", + "integrity": "sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + } + }, + "node_modules/umi-mock/node_modules/http-errors": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz", + "integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==", + "dev": true, + "dependencies": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.1", + "statuses": ">= 1.5.0 < 2", + "toidentifier": "1.0.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/umi-mock/node_modules/inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==", + "dev": true + }, + "node_modules/umi-mock/node_modules/isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==", + "dev": true + }, + "node_modules/umi-mock/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "node_modules/umi-mock/node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/umi-mock/node_modules/on-finished": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", + "integrity": "sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==", + "dev": true, + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/umi-mock/node_modules/path-to-regexp": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.7.0.tgz", + "integrity": "sha512-nifX1uj4S9IrK/w3Xe7kKvNEepXivANs9ng60Iq7PU/BlouV3yL/VUhFqTuTq33ykwUqoNcTeGo5vdOBP4jS/Q==", + "dev": true, + "dependencies": { + "isarray": "0.0.1" + } + }, + "node_modules/umi-mock/node_modules/qs": { + "version": "6.7.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", + "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==", + "dev": true, + "engines": { + "node": ">=0.6" + } + }, + "node_modules/umi-mock/node_modules/raw-body": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.0.tgz", + "integrity": "sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==", + "dev": true, + "dependencies": { + "bytes": "3.1.0", + "http-errors": "1.7.2", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/umi-mock/node_modules/setprototypeof": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", + "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==", + "dev": true + }, + "node_modules/umi-mock/node_modules/statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/umi-mock/node_modules/toidentifier": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz", + "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==", + "dev": true, + "engines": { + "node": ">=0.6" + } + }, + "node_modules/umi-plugin-antd-icon-config": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/umi-plugin-antd-icon-config/-/umi-plugin-antd-icon-config-2.0.4.tgz", + "integrity": "sha512-3OqH5KFiuVzhr8UwLO+KZHzHySAqgDBLQUTh8YrehHSs3wgNDYKt0Tk3DIx8SGA6+46bspaK4iIOpTIS7f7RXw==", + "dev": true, + "dependencies": { + "@ant-design/icons": "^4.0.0" + }, + "peerDependencies": { + "umi": "3.x" + } + }, + "node_modules/umi-plugin-pro-block": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/umi-plugin-pro-block/-/umi-plugin-pro-block-2.0.3.tgz", + "integrity": "sha512-eyB6rva3yvKCgEXqLCKytiXvEdIwgFExm2yoqareLz+BoppEzn7IcF0yrmOAwUCPsAOEpkwTawD0CYPG/TESgw==", + "dev": true, + "dependencies": { + "debug": "^4.1.0" + }, + "peerDependencies": { + "umi": "3.x" + } + }, + "node_modules/umi-request": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/umi-request/-/umi-request-1.4.0.tgz", + "integrity": "sha512-OknwtQZddZHi0Ggi+Vr/olJ7HNMx4AzlywyK0W3NZBT7B0stjeZ9lcztA85dBgdAj3KVk8uPJPZSnGaDjELhrA==", + "dev": true, + "dependencies": { + "isomorphic-fetch": "^2.2.1", + "qs": "^6.9.1" + } + }, + "node_modules/umi-serve": { + "version": "1.9.11", + "resolved": "https://registry.npmjs.org/umi-serve/-/umi-serve-1.9.11.tgz", + "integrity": "sha512-k/4ivrRiwHeuhyHczoEDuEEy0FNC74ITqr77CtAB5EWmluqxosBqW80O5j5bu3ZeLw53WUPprTcTgh/5Zx7+Tw==", + "dev": true, + "dependencies": { + "@babel/preset-typescript": "7.3.3", + "@babel/register": "7.4.4", + "babel-plugin-module-resolver": "3.1.1", + "babel-preset-umi": "1.8.4", + "boxen": "2.1.0", + "chalk": "2.4.2", + "clipboardy": "2.1.0", + "compression": "^1.7.4", + "express": "4.17.1", + "serve-static": "1.14.1", + "umi-core": "1.9.10", + "umi-mock": "2.1.5", + "umi-utils": "1.7.3", + "update-notifier": "3.0.0", + "yargs-parser": "13.1.1" + }, + "bin": { + "umi-serve": "bin/umi-serve.js" + } + }, + "node_modules/umi-serve/node_modules/@babel/preset-typescript": { + "version": "7.3.3", + "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.3.3.tgz", + "integrity": "sha512-mzMVuIP4lqtn4du2ynEfdO0+RYcslwrZiJHXu4MGaC1ctJiW2fyaeDrtjJGs7R/KebZ1sgowcIoWf4uRpEfKEg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-transform-typescript": "^7.3.2" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/umi-serve/node_modules/ansi-regex": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", + "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/umi-serve/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/umi-serve/node_modules/body-parser": { + "version": "1.19.0", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz", + "integrity": "sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==", + "dev": true, + "dependencies": { + "bytes": "3.1.0", + "content-type": "~1.0.4", + "debug": "2.6.9", + "depd": "~1.1.2", + "http-errors": "1.7.2", + "iconv-lite": "0.4.24", + "on-finished": "~2.3.0", + "qs": "6.7.0", + "raw-body": "2.4.0", + "type-is": "~1.6.17" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/umi-serve/node_modules/bytes": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", + "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/umi-serve/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/umi-serve/node_modules/cli-boxes": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-2.2.1.tgz", + "integrity": "sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw==", + "dev": true, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/umi-serve/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/umi-serve/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, + "node_modules/umi-serve/node_modules/configstore": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/configstore/-/configstore-4.0.0.tgz", + "integrity": "sha512-CmquAXFBocrzaSM8mtGPMM/HiWmyIpr4CcJl/rgY2uCObZ/S7cKU0silxslqJejl+t/T9HS8E0PUNQD81JGUEQ==", + "dev": true, + "dependencies": { + "dot-prop": "^4.1.0", + "graceful-fs": "^4.1.2", + "make-dir": "^1.0.0", + "unique-string": "^1.0.0", + "write-file-atomic": "^2.0.0", + "xdg-basedir": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/umi-serve/node_modules/content-disposition": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz", + "integrity": "sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==", + "dev": true, + "dependencies": { + "safe-buffer": "5.1.2" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/umi-serve/node_modules/cookie": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz", + "integrity": "sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/umi-serve/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/umi-serve/node_modules/decompress-response": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz", + "integrity": "sha512-BzRPQuY1ip+qDonAOz42gRm/pg9F768C+npV/4JOsxRC2sq+Rlk+Q4ZCAsOhnIaMrgarILY+RMUIvMmmX1qAEA==", + "dev": true, + "dependencies": { + "mimic-response": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/umi-serve/node_modules/depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/umi-serve/node_modules/destroy": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", + "integrity": "sha512-3NdhDuEXnfun/z7x9GOElY49LoqVHoGScmOKwmxhsS8N5Y+Z8KyPPDnaSzqWgYt/ji4mqwfTS34Htrk0zPIXVg==", + "dev": true + }, + "node_modules/umi-serve/node_modules/emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", + "dev": true + }, + "node_modules/umi-serve/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/umi-serve/node_modules/express": { + "version": "4.17.1", + "resolved": "https://registry.npmjs.org/express/-/express-4.17.1.tgz", + "integrity": "sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==", + "dev": true, + "dependencies": { + "accepts": "~1.3.7", + "array-flatten": "1.1.1", + "body-parser": "1.19.0", + "content-disposition": "0.5.3", + "content-type": "~1.0.4", + "cookie": "0.4.0", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "~1.1.2", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "~1.1.2", + "fresh": "0.5.2", + "merge-descriptors": "1.0.1", + "methods": "~1.1.2", + "on-finished": "~2.3.0", + "parseurl": "~1.3.3", + "path-to-regexp": "0.1.7", + "proxy-addr": "~2.0.5", + "qs": "6.7.0", + "range-parser": "~1.2.1", + "safe-buffer": "5.1.2", + "send": "0.17.1", + "serve-static": "1.14.1", + "setprototypeof": "1.1.1", + "statuses": "~1.5.0", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + }, + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/umi-serve/node_modules/finalhandler": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", + "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", + "dev": true, + "dependencies": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "~2.3.0", + "parseurl": "~1.3.3", + "statuses": "~1.5.0", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/umi-serve/node_modules/get-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", + "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "dev": true, + "dependencies": { + "pump": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/umi-serve/node_modules/got": { + "version": "9.6.0", + "resolved": "https://registry.npmjs.org/got/-/got-9.6.0.tgz", + "integrity": "sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q==", + "dev": true, + "dependencies": { + "@sindresorhus/is": "^0.14.0", + "@szmarczak/http-timer": "^1.1.2", + "cacheable-request": "^6.0.0", + "decompress-response": "^3.3.0", + "duplexer3": "^0.1.4", + "get-stream": "^4.1.0", + "lowercase-keys": "^1.0.1", + "mimic-response": "^1.0.1", + "p-cancelable": "^1.0.0", + "to-readable-stream": "^1.0.0", + "url-parse-lax": "^3.0.0" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/umi-serve/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/umi-serve/node_modules/http-errors": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz", + "integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==", + "dev": true, + "dependencies": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.1", + "statuses": ">= 1.5.0 < 2", + "toidentifier": "1.0.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/umi-serve/node_modules/import-lazy": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-2.1.0.tgz", + "integrity": "sha512-m7ZEHgtw69qOGw+jwxXkHlrlIPdTGkyh66zXZ1ajZbxkDBNjSY/LGbmjc7h0s2ELsUDTAhFr55TrPSSqJGPG0A==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/umi-serve/node_modules/inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==", + "dev": true + }, + "node_modules/umi-serve/node_modules/is-ci": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz", + "integrity": "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==", + "dev": true, + "dependencies": { + "ci-info": "^2.0.0" + }, + "bin": { + "is-ci": "bin.js" + } + }, + "node_modules/umi-serve/node_modules/is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/umi-serve/node_modules/is-npm": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-npm/-/is-npm-3.0.0.tgz", + "integrity": "sha512-wsigDr1Kkschp2opC4G3yA6r9EgVA6NjRpWzIi9axXqeIaAATPRJc4uLujXe3Nd9uO8KoDyA4MD6aZSeXTADhA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/umi-serve/node_modules/latest-version": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/latest-version/-/latest-version-5.1.0.tgz", + "integrity": "sha512-weT+r0kTkRQdCdYCNtkMwWXQTMEswKrFBkm4ckQOMVhhqhIMI1UT2hMj+1iigIhgSZm5gTmrRXBNoGUgaTY1xA==", + "dev": true, + "dependencies": { + "package-json": "^6.3.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/umi-serve/node_modules/make-dir": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", + "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", + "dev": true, + "dependencies": { + "pify": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/umi-serve/node_modules/mimic-response": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", + "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/umi-serve/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "node_modules/umi-serve/node_modules/on-finished": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", + "integrity": "sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==", + "dev": true, + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/umi-serve/node_modules/package-json": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/package-json/-/package-json-6.5.0.tgz", + "integrity": "sha512-k3bdm2n25tkyxcjSKzB5x8kfVxlMdgsbPr0GkZcwHsLpba6cBjqCt1KlcChKEvxHIcTB1FVMuwoijZ26xex5MQ==", + "dev": true, + "dependencies": { + "got": "^9.6.0", + "registry-auth-token": "^4.0.0", + "registry-url": "^5.0.0", + "semver": "^6.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/umi-serve/node_modules/path-to-regexp": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", + "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==", + "dev": true + }, + "node_modules/umi-serve/node_modules/prepend-http": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz", + "integrity": "sha512-ravE6m9Atw9Z/jjttRUZ+clIXogdghyZAuWJ3qEzjT+jI/dL1ifAqhZeC5VHzQp1MSt1+jxKkFNemj/iO7tVUA==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/umi-serve/node_modules/pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "dev": true, + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "node_modules/umi-serve/node_modules/qs": { + "version": "6.7.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", + "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==", + "dev": true, + "engines": { + "node": ">=0.6" + } + }, + "node_modules/umi-serve/node_modules/raw-body": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.0.tgz", + "integrity": "sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==", + "dev": true, + "dependencies": { + "bytes": "3.1.0", + "http-errors": "1.7.2", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/umi-serve/node_modules/registry-auth-token": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-4.2.2.tgz", + "integrity": "sha512-PC5ZysNb42zpFME6D/XlIgtNGdTl8bBOCw90xQLVMpzuuubJKYDWFAEuUNc+Cn8Z8724tg2SDhDRrkVEsqfDMg==", + "dev": true, + "dependencies": { + "rc": "1.2.8" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/umi-serve/node_modules/registry-url": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-5.1.0.tgz", + "integrity": "sha512-8acYXXTI0AkQv6RAOjE3vOaIXZkT9wo4LOFbBKYQEEnnMNBpKqdUrI6S4NT0KPIo/WVvJ5tE/X5LF/TQUf0ekw==", + "dev": true, + "dependencies": { + "rc": "^1.2.8" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/umi-serve/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "node_modules/umi-serve/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/umi-serve/node_modules/send": { + "version": "0.17.1", + "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz", + "integrity": "sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==", + "dev": true, + "dependencies": { + "debug": "2.6.9", + "depd": "~1.1.2", + "destroy": "~1.0.4", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "~1.7.2", + "mime": "1.6.0", + "ms": "2.1.1", + "on-finished": "~2.3.0", + "range-parser": "~1.2.1", + "statuses": "~1.5.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/umi-serve/node_modules/send/node_modules/ms": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", + "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", + "dev": true + }, + "node_modules/umi-serve/node_modules/serve-static": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz", + "integrity": "sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==", + "dev": true, + "dependencies": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.17.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/umi-serve/node_modules/setprototypeof": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", + "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==", + "dev": true + }, + "node_modules/umi-serve/node_modules/statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/umi-serve/node_modules/string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "dev": true, + "dependencies": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/umi-serve/node_modules/strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "dependencies": { + "ansi-regex": "^4.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/umi-serve/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/umi-serve/node_modules/toidentifier": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz", + "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==", + "dev": true, + "engines": { + "node": ">=0.6" + } + }, + "node_modules/umi-serve/node_modules/type-fest": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.3.1.tgz", + "integrity": "sha512-cUGJnCdr4STbePCgqNFbpVNCepa+kAVohJs1sLhxzdH+gnEoOd8VhbYa7pD3zZYGiURWM2xzEII3fQcRizDkYQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/umi-serve/node_modules/update-notifier": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-3.0.0.tgz", + "integrity": "sha512-6Xe3oF2bvuoj4YECUc52yxVs94yWrxwqHbzyveDktTS1WhnlTRpNcQMxUshcB7nRVGi1jEXiqL5cW1S5WSyzKg==", + "dev": true, + "dependencies": { + "boxen": "^3.0.0", + "chalk": "^2.0.1", + "configstore": "^4.0.0", + "has-yarn": "^2.1.0", + "import-lazy": "^2.1.0", + "is-ci": "^2.0.0", + "is-installed-globally": "^0.1.0", + "is-npm": "^3.0.0", + "is-yarn-global": "^0.3.0", + "latest-version": "^5.0.0", + "semver-diff": "^2.0.0", + "xdg-basedir": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/umi-serve/node_modules/update-notifier/node_modules/boxen": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/boxen/-/boxen-3.2.0.tgz", + "integrity": "sha512-cU4J/+NodM3IHdSL2yN8bqYqnmlBTidDR4RC7nJs61ZmtGz8VZzM3HLQX0zY5mrSmPtR3xWwsq2jOUQqFZN8+A==", + "dev": true, + "dependencies": { + "ansi-align": "^3.0.0", + "camelcase": "^5.3.1", + "chalk": "^2.4.2", + "cli-boxes": "^2.2.0", + "string-width": "^3.0.0", + "term-size": "^1.2.0", + "type-fest": "^0.3.0", + "widest-line": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/umi-serve/node_modules/url-parse-lax": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz", + "integrity": "sha512-NjFKA0DidqPa5ciFcSrXnAltTtzz84ogy+NebPvfEgAck0+TNg4UJ4IN+fB7zRZfbgUf0syOo9MDxFkDSMuFaQ==", + "dev": true, + "dependencies": { + "prepend-http": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/umi-serve/node_modules/write-file-atomic": { + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.4.3.tgz", + "integrity": "sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.1.11", + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.2" + } + }, + "node_modules/umi-serve/node_modules/yargs-parser": { + "version": "13.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.1.tgz", + "integrity": "sha512-oVAVsHz6uFrg3XQheFII8ESO2ssAf9luWuAd6Wexsu4F3OtIW0o8IribPXYrD4WC24LWtPrJlGy87y5udK+dxQ==", + "dev": true, + "dependencies": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } + }, + "node_modules/umi-utils": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/umi-utils/-/umi-utils-1.7.3.tgz", + "integrity": "sha512-KLUGIKXkuPOq8LACQN57nj9rSPIjLz8eLbR4mZpihJ3BgL3f1bZFvmUV/VYHr9D7PfFH2Vb1Y6UAOuNkKL9g2g==", + "dev": true, + "dependencies": { + "chalk": "2.4.2", + "dotenv": "^8.2.0", + "is-url": "1.2.4", + "node-fetch": "2.6.0", + "prettier": "1.15.3", + "slash2": "2.0.0" + } + }, + "node_modules/umi-utils/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/umi-utils/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/umi-utils/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/umi-utils/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, + "node_modules/umi-utils/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/umi-utils/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/umi-utils/node_modules/node-fetch": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.0.tgz", + "integrity": "sha512-8dG4H5ujfvFiqDmVu9fQ5bOHUC15JMjMY/Zumv26oOvvVJjM67KF8koCWIabKQ1GJIa9r2mMZscBq/TbdOcmNA==", + "dev": true, + "engines": { + "node": "4.x || >=6.0.0" + } + }, + "node_modules/umi-utils/node_modules/prettier": { + "version": "1.15.3", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-1.15.3.tgz", + "integrity": "sha512-gAU9AGAPMaKb3NNSUUuhhFAS7SCO4ALTN4nRIn6PJ075Qd28Yn2Ig2ahEJWdJwJmlEBTUfC7mMUSFy8MwsOCfg==", + "dev": true, + "bin": { + "prettier": "bin-prettier.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/umi-utils/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/umi/node_modules/react": { + "version": "16.14.0", + "resolved": "https://registry.npmjs.org/react/-/react-16.14.0.tgz", + "integrity": "sha512-0X2CImDkJGApiAlcf0ODKIneSwBPhqJawOa5wCtKbu7ZECrmS26NvtSILynQ66cgkT/RJ4LidJOc3bUESwmU8g==", + "dependencies": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1", + "prop-types": "^15.6.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/umi/node_modules/react-dom": { + "version": "16.14.0", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-16.14.0.tgz", + "integrity": "sha512-1gCeQXDLoIqMgqD3IO2Ah9bnf0w9kzhwN5q4FGnHZ67hBm9yePzB5JJAIQCc8x3pFnNlwFq4RidZggNAAkzWWw==", + "dependencies": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1", + "prop-types": "^15.6.2", + "scheduler": "^0.19.1" + }, + "peerDependencies": { + "react": "^16.14.0" + } + }, + "node_modules/umi/node_modules/scheduler": { + "version": "0.19.1", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.19.1.tgz", + "integrity": "sha512-n/zwRWRYSUj0/3g/otKDRPMh6qv2SYMWNq85IEa8iZyAv8od9zDYpGSnpBEjNgcMNq6Scbu5KfIPxNF72R/2EA==", + "dependencies": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1" + } + }, + "node_modules/umi/node_modules/v8-compile-cache": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz", + "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==" + }, + "node_modules/unbox-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", + "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "has-bigints": "^1.0.2", + "has-symbols": "^1.0.3", + "which-boxed-primitive": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/unbzip2-stream": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/unbzip2-stream/-/unbzip2-stream-1.4.3.tgz", + "integrity": "sha512-mlExGW4w71ebDJviH16lQLtZS32VKqsSfk80GCfUlwT/4/hNRFsoscrF/c++9xinkMzECL1uL9DDwXqFWkruPg==", + "dev": true, + "dependencies": { + "buffer": "^5.2.1", + "through": "^2.3.8" + } + }, + "node_modules/underscore": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.7.0.tgz", + "integrity": "sha512-cp0oQQyZhUM1kpJDLdGO1jPZHgS/MpzoWYfe9+CM2h/QGDZlqwT2T3YGukuBdaNJ/CAPoeyAZRRHz8JFo176vA==", + "dev": true + }, + "node_modules/undici-types": { + "version": "5.26.5", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", + "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==" + }, + "node_modules/unicode-canonical-property-names-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz", + "integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-match-property-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", + "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", + "dev": true, + "dependencies": { + "unicode-canonical-property-names-ecmascript": "^2.0.0", + "unicode-property-aliases-ecmascript": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-match-property-value-ecmascript": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz", + "integrity": "sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-property-aliases-ecmascript": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz", + "integrity": "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/unified": { + "version": "8.4.2", + "resolved": "https://registry.npmjs.org/unified/-/unified-8.4.2.tgz", + "integrity": "sha512-JCrmN13jI4+h9UAyKEoGcDZV+i1E7BLFuG7OsaDvTXI5P0qhHX+vZO/kOhz9jn8HGENDKbwSeB0nVOg4gVStGA==", + "dev": true, + "dependencies": { + "bail": "^1.0.0", + "extend": "^3.0.0", + "is-plain-obj": "^2.0.0", + "trough": "^1.0.0", + "vfile": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/union-value": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", + "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", + "dev": true, + "dependencies": { + "arr-union": "^3.1.0", + "get-value": "^2.0.6", + "is-extendable": "^0.1.1", + "set-value": "^2.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/uniq": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/uniq/-/uniq-1.0.1.tgz", + "integrity": "sha512-Gw+zz50YNKPDKXs+9d+aKAjVwpjNwqzvNpLigIruT4HA9lMZNdMqs9x07kKHB/L9WRzqp4+DlTU5s4wG2esdoA==" + }, + "node_modules/unique-filename": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz", + "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==", + "dev": true, + "dependencies": { + "unique-slug": "^2.0.0" + } + }, + "node_modules/unique-slug": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz", + "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==", + "dev": true, + "dependencies": { + "imurmurhash": "^0.1.4" + } + }, + "node_modules/unique-string": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-1.0.0.tgz", + "integrity": "sha512-ODgiYu03y5g76A1I9Gt0/chLCzQjvzDy7DsZGsLOE/1MrF6wriEskSncj1+/C58Xk/kPZDppSctDybCwOSaGAg==", + "dev": true, + "dependencies": { + "crypto-random-string": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/unist-builder": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/unist-builder/-/unist-builder-2.0.3.tgz", + "integrity": "sha512-f98yt5pnlMWlzP539tPc4grGMsFaQQlP/vM396b00jngsiINumNmsY8rkXjfoi1c6QaM8nQ3vaGDuoKWbe/1Uw==", + "dev": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-filter": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/unist-util-filter/-/unist-util-filter-2.0.3.tgz", + "integrity": "sha512-8k6Jl/KLFqIRTHydJlHh6+uFgqYHq66pV75pZgr1JwfyFSjbWb12yfb0yitW/0TbHXjr9U4G9BQpOvMANB+ExA==", + "dev": true, + "dependencies": { + "unist-util-is": "^4.0.0" + } + }, + "node_modules/unist-util-find-after": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/unist-util-find-after/-/unist-util-find-after-3.0.0.tgz", + "integrity": "sha512-ojlBqfsBftYXExNu3+hHLfJQ/X1jYY/9vdm4yZWjIbf0VuWF6CRufci1ZyoD/wV2TYMKxXUoNuoqwy+CkgzAiQ==", + "dev": true, + "dependencies": { + "unist-util-is": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-find-all-after": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/unist-util-find-all-after/-/unist-util-find-all-after-3.0.2.tgz", + "integrity": "sha512-xaTC/AGZ0rIM2gM28YVRAFPIZpzbpDtU3dRmp7EXlNVA8ziQc4hY3H7BHXM1J49nEmiqc3svnqMReW+PGqbZKQ==", + "dev": true, + "dependencies": { + "unist-util-is": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-generated": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/unist-util-generated/-/unist-util-generated-1.1.6.tgz", + "integrity": "sha512-cln2Mm1/CZzN5ttGK7vkoGw+RZ8VcUH6BtGbq98DDtRGquAAOXig1mrBQYelOwMXYS8rK+vZDyyojSjp7JX+Lg==", + "dev": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-is": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-4.1.0.tgz", + "integrity": "sha512-ZOQSsnce92GrxSqlnEEseX0gi7GH9zTJZ0p9dtu87WRb/37mMPO2Ilx1s/t9vBHrFhbgweUwb+t7cIn5dxPhZg==", + "dev": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-position": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/unist-util-position/-/unist-util-position-3.1.0.tgz", + "integrity": "sha512-w+PkwCbYSFw8vpgWD0v7zRCl1FpY3fjDSQ3/N/wNd9Ffa4gPi8+4keqt99N3XW6F99t/mUzp2xAhNmfKWp95QA==", + "dev": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-stringify-position": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-2.0.3.tgz", + "integrity": "sha512-3faScn5I+hy9VleOq/qNbAd6pAx7iH5jYBMS9I1HgQVijz/4mv5Bvw5iw1sC/90CODiKo81G/ps8AJrISn687g==", + "dev": true, + "dependencies": { + "@types/unist": "^2.0.2" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-visit": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-2.0.3.tgz", + "integrity": "sha512-iJ4/RczbJMkD0712mGktuGpm/U4By4FfDonL7N/9tATGIF4imikjOuagyMY53tnZq3NP6BcmlrHhEKAfGWjh7Q==", + "dev": true, + "dependencies": { + "@types/unist": "^2.0.0", + "unist-util-is": "^4.0.0", + "unist-util-visit-parents": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-visit-parents": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-3.1.1.tgz", + "integrity": "sha512-1KROIZWo6bcMrZEwiH2UrXDyalAa0uqzWCxCJj6lPOvTve2WkfgCytoDTPaMnodXh1WrXOq0haVYHj99ynJlsg==", + "dev": true, + "dependencies": { + "@types/unist": "^2.0.0", + "unist-util-is": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "dev": true, + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/unraw": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/unraw/-/unraw-3.0.0.tgz", + "integrity": "sha512-08/DA66UF65OlpUDIQtbJyrqTR0jTAlJ+jsnkQ4jxR7+K5g5YG1APZKQSMCE1vqqmD+2pv6+IdEjmopFatacvg==", + "dev": true + }, + "node_modules/unset-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", + "integrity": "sha512-PcA2tsuGSF9cnySLHTLSh2qrQiJ70mn+r+Glzxv2TWZblxsxCC52BDlZoPCsz7STd9pN7EZetkWZBAvk4cgZdQ==", + "dev": true, + "dependencies": { + "has-value": "^0.3.1", + "isobject": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/unset-value/node_modules/has-value": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", + "integrity": "sha512-gpG936j8/MzaeID5Yif+577c17TxaDmhuyVgSwtnL/q8UUTySg8Mecb+8Cf1otgLoD7DDH75axp86ER7LFsf3Q==", + "dev": true, + "dependencies": { + "get-value": "^2.0.3", + "has-values": "^0.1.4", + "isobject": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/unset-value/node_modules/has-value/node_modules/isobject": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA==", + "dev": true, + "dependencies": { + "isarray": "1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/unset-value/node_modules/has-values": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", + "integrity": "sha512-J8S0cEdWuQbqD9//tlZxiMuMNmxB8PlEwvYwuxsTmR1G5RXUePEX/SJn7aD0GMLieuZYSwNH0cQuJGwnYunXRQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/unstated-next": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/unstated-next/-/unstated-next-1.1.0.tgz", + "integrity": "sha512-AAn47ZncPvgBGOvMcn8tSRxsrqwf2VdAPxLASTuLJvZt4rhKfDvUkmYZLGfclImSfTVMv7tF4ynaVxin0JjDCA==" + }, + "node_modules/unzip-response": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/unzip-response/-/unzip-response-2.0.1.tgz", + "integrity": "sha512-N0XH6lqDtFH84JxptQoZYmloF4nzrQqqrAymNj+/gW60AO2AZgOcf4O/nUXJcYfyQkqvMo9lSupBZmmgvuVXlw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/update-browserslist-db": { + "version": "1.0.13", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz", + "integrity": "sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "escalade": "^3.1.1", + "picocolors": "^1.0.0" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/update-notifier": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-2.5.0.tgz", + "integrity": "sha512-gwMdhgJHGuj/+wHJJs9e6PcCszpxR1b236igrOkUofGhqJuG+amlIKwApH1IW1WWl7ovZxsX49lMBWLxSdm5Dw==", + "dev": true, + "dependencies": { + "boxen": "^1.2.1", + "chalk": "^2.0.1", + "configstore": "^3.0.0", + "import-lazy": "^2.1.0", + "is-ci": "^1.0.10", + "is-installed-globally": "^0.1.0", + "is-npm": "^1.0.0", + "latest-version": "^3.0.0", + "semver-diff": "^2.0.0", + "xdg-basedir": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/update-notifier/node_modules/ansi-align": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-2.0.0.tgz", + "integrity": "sha512-TdlOggdA/zURfMYa7ABC66j+oqfMew58KpJMbUlH3bcZP1b+cBHIHDDn5uH9INsxrHBPjsqM0tDB4jPTF/vgJA==", + "dev": true, + "dependencies": { + "string-width": "^2.0.0" + } + }, + "node_modules/update-notifier/node_modules/ansi-regex": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.1.tgz", + "integrity": "sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/update-notifier/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/update-notifier/node_modules/boxen": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/boxen/-/boxen-1.3.0.tgz", + "integrity": "sha512-TNPjfTr432qx7yOjQyaXm3dSR0MH9vXp7eT1BFSl/C51g+EFnOR9hTg1IreahGBmDNCehscshe45f+C1TBZbLw==", + "dev": true, + "dependencies": { + "ansi-align": "^2.0.0", + "camelcase": "^4.0.0", + "chalk": "^2.0.1", + "cli-boxes": "^1.0.0", + "string-width": "^2.0.0", + "term-size": "^1.2.0", + "widest-line": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/update-notifier/node_modules/camelcase": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", + "integrity": "sha512-FxAv7HpHrXbh3aPo4o2qxHay2lkLY3x5Mw3KeE4KQE8ysVfziWeRZDwcjauvwBSGEC/nXUPzZy8zeh4HokqOnw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/update-notifier/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/update-notifier/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/update-notifier/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, + "node_modules/update-notifier/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/update-notifier/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/update-notifier/node_modules/import-lazy": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-2.1.0.tgz", + "integrity": "sha512-m7ZEHgtw69qOGw+jwxXkHlrlIPdTGkyh66zXZ1ajZbxkDBNjSY/LGbmjc7h0s2ELsUDTAhFr55TrPSSqJGPG0A==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/update-notifier/node_modules/is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/update-notifier/node_modules/string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "dev": true, + "dependencies": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/update-notifier/node_modules/strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow==", + "dev": true, + "dependencies": { + "ansi-regex": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/update-notifier/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/uppercamelcase": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/uppercamelcase/-/uppercamelcase-3.0.0.tgz", + "integrity": "sha512-zTWmRiOJACCdFGWjzye3L5cjSuVdZ/c8C0iHIwVbfORFD8IhGNAO6BOWkZ+fj+SI6/aFbdjGXE6gwPG780H4gQ==", + "dev": true, + "dependencies": { + "camelcase": "^4.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/uppercamelcase/node_modules/camelcase": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", + "integrity": "sha512-FxAv7HpHrXbh3aPo4o2qxHay2lkLY3x5Mw3KeE4KQE8ysVfziWeRZDwcjauvwBSGEC/nXUPzZy8zeh4HokqOnw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/urix": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", + "integrity": "sha512-Am1ousAhSLBeB9cG/7k7r2R0zj50uDRlZHPGbazid5s9rlF1F/QKYObEKSIunSjIOkJZqwRRLpvewjEkM7pSqg==", + "deprecated": "Please see https://github.com/lydell/urix#deprecated", + "dev": true + }, + "node_modules/url": { + "version": "0.11.3", + "resolved": "https://registry.npmjs.org/url/-/url-0.11.3.tgz", + "integrity": "sha512-6hxOLGfZASQK/cijlZnZJTq8OXAkt/3YGfQX45vvMYXpZoo8NdWZcY73K108Jf759lS1Bv/8wXnHDTSz17dSRw==", + "dependencies": { + "punycode": "^1.4.1", + "qs": "^6.11.2" + } + }, + "node_modules/url-parse": { + "version": "1.5.10", + "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz", + "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==", + "dev": true, + "dependencies": { + "querystringify": "^2.1.1", + "requires-port": "^1.0.0" + } + }, + "node_modules/url-parse-lax": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-1.0.0.tgz", + "integrity": "sha512-BVA4lR5PIviy2PMseNd2jbFQ+jwSwQGdJejf5ctd1rEXt0Ypd7yanUK9+lYechVlN5VaTJGsu2U/3MDDu6KgBA==", + "dev": true, + "dependencies": { + "prepend-http": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/url/node_modules/punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==" + }, + "node_modules/url/node_modules/qs": { + "version": "6.12.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.12.0.tgz", + "integrity": "sha512-trVZiI6RMOkO476zLGaBIzszOdFPnCCXHPG9kn0yuS1uz6xdVxPfZdB3vUig9pxPFDM9BRAgz/YUIVQ1/vuiUg==", + "dependencies": { + "side-channel": "^1.0.6" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/use": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", + "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/use-callback-ref": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/use-callback-ref/-/use-callback-ref-1.3.2.tgz", + "integrity": "sha512-elOQwe6Q8gqZgDA8mrh44qRTQqpIHDcZ3hXTLjBe1i4ph8XpNJnO+aQf3NaG+lriLopI4HMx9VjQLfPQ6vhnoA==", + "dependencies": { + "tslib": "^2.0.0" + }, + "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 + } + } + }, + "node_modules/use-json-comparison": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/use-json-comparison/-/use-json-comparison-1.0.6.tgz", + "integrity": "sha512-xPadt5yMRbEmVfOSGFSMqjjICrq7nLbfSH3rYIXsrtcuFX7PmbYDN/ku8ObBn3v8o/yZelO1OxUS5+5TI3+fUw==", + "peerDependencies": { + "react": ">=16.9.0" + } + }, + "node_modules/use-media-antd-query": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/use-media-antd-query/-/use-media-antd-query-1.1.0.tgz", + "integrity": "sha512-B6kKZwNV4R+l4Rl11sWO7HqOay9alzs1Vp1b4YJqjz33YxbltBCZtt/yxXxkXN9rc1S7OeEL/GbwC30Wmqhw6Q==", + "peerDependencies": { + "react": ">=16.9.0" + } + }, + "node_modules/use-sidecar": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/use-sidecar/-/use-sidecar-1.1.2.tgz", + "integrity": "sha512-epTbsLuzZ7lPClpz2TyryBfztm7m+28DlEv2ZCQ3MDr5ssiwyOwGH/e5F9CkfWjJ1t4clvI58yF822/GUkjjhw==", + "dependencies": { + "detect-node-es": "^1.1.0", + "tslib": "^2.0.0" + }, + "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 + } + } + }, + "node_modules/use-subscription": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/use-subscription/-/use-subscription-1.5.1.tgz", + "integrity": "sha512-Xv2a1P/yReAjAbhylMfFplFKj9GssgTwN7RlcTxBujFQcloStWNDQdc4g4NRWH9xS4i/FDk04vQBptAXoF3VcA==", + "dependencies": { + "object-assign": "^4.1.1" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0" + } + }, + "node_modules/util": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/util/-/util-0.11.1.tgz", + "integrity": "sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==", + "dependencies": { + "inherits": "2.0.3" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" + }, + "node_modules/util/node_modules/inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==" + }, + "node_modules/utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", + "dev": true, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "dev": true, + "optional": true, + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "node_modules/v8-compile-cache": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.4.0.tgz", + "integrity": "sha512-ocyWc3bAHBB/guyqJQVI5o4BZkPhznPYUG2ea80Gond/BgNWpap8TOmLSeeQG7bnh2KMISxskdADG59j7zruhw==", + "dev": true + }, + "node_modules/v8-to-istanbul": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-7.1.2.tgz", + "integrity": "sha512-TxNb7YEUwkLXCQYeudi6lgQ/SZrzNO4kMdlqVxaZPUIUjCv6iSSypUQX70kNBSERpQ8fk48+d61FXk+tgqcWow==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.1", + "convert-source-map": "^1.6.0", + "source-map": "^0.7.3" + }, + "engines": { + "node": ">=10.10.0" + } + }, + "node_modules/v8-to-istanbul/node_modules/convert-source-map": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", + "dev": true + }, + "node_modules/v8-to-istanbul/node_modules/source-map": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", + "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "dev": true, + "dependencies": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "node_modules/validate-npm-package-name": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-3.0.0.tgz", + "integrity": "sha512-M6w37eVCMMouJ9V/sdPGnC5H4uDr73/+xdq0FBLO3TFFX1+7wiUY6Es328NN+y43tmY+doUdN9g9J21vqB7iLw==", + "dev": true, + "dependencies": { + "builtins": "^1.0.3" + } + }, + "node_modules/value-equal": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/value-equal/-/value-equal-1.0.1.tgz", + "integrity": "sha512-NOJ6JZCAWr0zlxZt+xqCHNTEKOsrks2HQd4MqhP1qy4z1SkbEP467eNx6TgDKXMvUOb+OENfJCZwM+16n7fRfw==" + }, + "node_modules/vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/verror": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", + "integrity": "sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==", + "dev": true, + "engines": [ + "node >=0.6.0" + ], + "dependencies": { + "assert-plus": "^1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "^1.2.0" + } + }, + "node_modules/verror/node_modules/core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==", + "dev": true + }, + "node_modules/vfile": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/vfile/-/vfile-4.2.1.tgz", + "integrity": "sha512-O6AE4OskCG5S1emQ/4gl8zK586RqA3srz3nfK/Viy0UPToBc5Trp9BVFb1u0CjsKrAWwnpr4ifM/KBXPWwJbCA==", + "dev": true, + "dependencies": { + "@types/unist": "^2.0.0", + "is-buffer": "^2.0.0", + "unist-util-stringify-position": "^2.0.0", + "vfile-message": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/vfile-location": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/vfile-location/-/vfile-location-3.2.0.tgz", + "integrity": "sha512-aLEIZKv/oxuCDZ8lkJGhuhztf/BW4M+iHdCwglA/eWc+vtuRFJj8EtgceYFX4LRjOhCAAiNHsKGssC6onJ+jbA==", + "dev": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/vfile-message": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-2.0.4.tgz", + "integrity": "sha512-DjssxRGkMvifUOJre00juHoP9DPWuzjxKuMDrhNbk2TdaYYBNMStsNhEOt3idrtI12VQYM/1+iM0KOzXi4pxwQ==", + "dev": true, + "dependencies": { + "@types/unist": "^2.0.0", + "unist-util-stringify-position": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/vfile/node_modules/is-buffer": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz", + "integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "engines": { + "node": ">=4" + } + }, + "node_modules/vinyl": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-2.2.1.tgz", + "integrity": "sha512-LII3bXRFBZLlezoG5FfZVcXflZgWP/4dCwKtxd5ky9+LOtM4CS3bIRQsmR1KMnMW07jpE8fqR2lcxPZ+8sJIcw==", + "dev": true, + "dependencies": { + "clone": "^2.1.1", + "clone-buffer": "^1.0.0", + "clone-stats": "^1.0.0", + "cloneable-readable": "^1.0.0", + "remove-trailing-separator": "^1.0.1", + "replace-ext": "^1.0.0" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/vinyl-file": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/vinyl-file/-/vinyl-file-3.0.0.tgz", + "integrity": "sha512-BoJDj+ca3D9xOuPEM6RWVtWQtvEPQiQYn82LvdxhLWplfQsBzBqtgK0yhCP0s1BNTi6dH9BO+dzybvyQIacifg==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.1.2", + "pify": "^2.3.0", + "strip-bom-buf": "^1.0.0", + "strip-bom-stream": "^2.0.0", + "vinyl": "^2.0.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/vinyl-file/node_modules/pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/vm-browserify": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz", + "integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==" + }, + "node_modules/w3c-hr-time": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz", + "integrity": "sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==", + "deprecated": "Use your platform's native performance.now() and performance.timeOrigin.", + "dev": true, + "dependencies": { + "browser-process-hrtime": "^1.0.0" + } + }, + "node_modules/w3c-keyname": { + "version": "2.2.8", + "resolved": "https://registry.npmjs.org/w3c-keyname/-/w3c-keyname-2.2.8.tgz", + "integrity": "sha512-dpojBhNsCNN7T82Tm7k26A6G9ML3NkhDsnw9n/eoxSRlVBB4CEtIQ/KTCLI2Fwf3ataSXRhYFkQi3SlnFwPvPQ==" + }, + "node_modules/w3c-xmlserializer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz", + "integrity": "sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA==", + "dev": true, + "dependencies": { + "xml-name-validator": "^3.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/walker": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", + "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==", + "dev": true, + "dependencies": { + "makeerror": "1.0.12" + } + }, + "node_modules/warning": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/warning/-/warning-4.0.3.tgz", + "integrity": "sha512-rpJyN222KWIvHJ/F53XSZv0Zl/accqHR8et1kpaMTD/fLCRxtV8iX8czMzY7sVZupTI3zcUTg8eycS2kNF9l6w==", + "dependencies": { + "loose-envify": "^1.0.0" + } + }, + "node_modules/wcwidth": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", + "integrity": "sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==", + "dev": true, + "dependencies": { + "defaults": "^1.0.3" + } + }, + "node_modules/web-namespaces": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/web-namespaces/-/web-namespaces-1.1.4.tgz", + "integrity": "sha512-wYxSGajtmoP4WxfejAPIr4l0fVh+jeMXZb08wNc0tMg6xsfZXj3cECqIK0G7ZAqUq0PP8WlMDtaOGVBTAWztNw==", + "dev": true, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/web-streams-polyfill": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-3.3.3.tgz", + "integrity": "sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/web-tree-sitter": { + "version": "0.20.3", + "resolved": "https://registry.npmjs.org/web-tree-sitter/-/web-tree-sitter-0.20.3.tgz", + "integrity": "sha512-zKGJW9r23y3BcJusbgvnOH2OYAW40MXAOi9bi3Gcc7T4Gms9WWgXF8m6adsJWpGJEhgOzCrfiz1IzKowJWrtYw==", + "dev": true, + "optional": true + }, + "node_modules/webidl-conversions": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-6.1.0.tgz", + "integrity": "sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==", + "dev": true, + "engines": { + "node": ">=10.4" + } + }, + "node_modules/webpack-chain": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/webpack-chain/-/webpack-chain-6.5.1.tgz", + "integrity": "sha512-7doO/SRtLu8q5WM0s7vPKPWX580qhi0/yBHkOxNkv50f6qB76Zy9o2wRTrrPULqYTvQlVHuvbA8v+G5ayuUDsA==", + "deprecated": "Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.", + "dependencies": { + "deepmerge": "^1.5.2", + "javascript-stringify": "^2.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/webpack-chain/node_modules/deepmerge": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-1.5.2.tgz", + "integrity": "sha512-95k0GDqvBjZavkuvzx/YqVLv/6YYa17fz6ILMSf7neqQITCPbnfEnQvEgMPNjH4kgobe7+WIL0yJEHku+H3qtQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/webpack-sources": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-2.3.1.tgz", + "integrity": "sha512-y9EI9AO42JjEcrTJFOYmVywVZdKVUfOvDUPsJea5GIr1JOEGFVqwlY2K098fFoIjOkDzHn2AjRvM8dsBZu+gCA==", + "dev": true, + "dependencies": { + "source-list-map": "^2.0.1", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/whatwg-encoding": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz", + "integrity": "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==", + "dev": true, + "dependencies": { + "iconv-lite": "0.4.24" + } + }, + "node_modules/whatwg-fetch": { + "version": "3.6.20", + "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-3.6.20.tgz", + "integrity": "sha512-EqhiFU6daOA8kpjOWTL0olhVOF3i7OrFzSYiGsEMB8GcXS+RrzauAERX65xMeNWVqxA6HXH2m69Z9LaKKdisfg==" + }, + "node_modules/whatwg-mimetype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz", + "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==", + "dev": true + }, + "node_modules/whatwg-url": { + "version": "8.7.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.7.0.tgz", + "integrity": "sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==", + "dev": true, + "dependencies": { + "lodash": "^4.7.0", + "tr46": "^2.1.0", + "webidl-conversions": "^6.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/which-boxed-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", + "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", + "dev": true, + "dependencies": { + "is-bigint": "^1.0.1", + "is-boolean-object": "^1.1.0", + "is-number-object": "^1.0.4", + "is-string": "^1.0.5", + "is-symbol": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-builtin-type": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/which-builtin-type/-/which-builtin-type-1.1.3.tgz", + "integrity": "sha512-YmjsSMDBYsM1CaFiayOVT06+KJeXf0o5M/CAd4o1lTadFAtacTUM49zoYxr/oroopFDfhvN6iEcBxUyc3gvKmw==", + "dev": true, + "dependencies": { + "function.prototype.name": "^1.1.5", + "has-tostringtag": "^1.0.0", + "is-async-function": "^2.0.0", + "is-date-object": "^1.0.5", + "is-finalizationregistry": "^1.0.2", + "is-generator-function": "^1.0.10", + "is-regex": "^1.1.4", + "is-weakref": "^1.0.2", + "isarray": "^2.0.5", + "which-boxed-primitive": "^1.0.2", + "which-collection": "^1.0.1", + "which-typed-array": "^1.1.9" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-builtin-type/node_modules/isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", + "dev": true + }, + "node_modules/which-collection": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.2.tgz", + "integrity": "sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==", + "dev": true, + "dependencies": { + "is-map": "^2.0.3", + "is-set": "^2.0.3", + "is-weakmap": "^2.0.2", + "is-weakset": "^2.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-module": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.1.tgz", + "integrity": "sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==", + "dev": true + }, + "node_modules/which-typed-array": { + "version": "1.1.15", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.15.tgz", + "integrity": "sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA==", + "dev": true, + "dependencies": { + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.7", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-tostringtag": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/wicked-good-xpath": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/wicked-good-xpath/-/wicked-good-xpath-1.3.0.tgz", + "integrity": "sha512-Gd9+TUn5nXdwj/hFsPVx5cuHHiF5Bwuc30jZ4+ronF1qHK5O7HD0sgmXWSEgwKquT3ClLoKPVbO6qGwVwLzvAw==", + "dev": true + }, + "node_modules/widest-line": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-2.0.1.tgz", + "integrity": "sha512-Ba5m9/Fa4Xt9eb2ELXt77JxVDV8w7qQrH0zS/TWSJdLyAwQjWoOzpzj5lwVftDz6n/EOu3tNACS84v509qwnJA==", + "dev": true, + "dependencies": { + "string-width": "^2.1.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/widest-line/node_modules/ansi-regex": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.1.tgz", + "integrity": "sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/widest-line/node_modules/is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/widest-line/node_modules/string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "dev": true, + "dependencies": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/widest-line/node_modules/strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow==", + "dev": true, + "dependencies": { + "ansi-regex": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" + }, + "node_modules/write-file-atomic": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", + "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", + "dev": true, + "dependencies": { + "imurmurhash": "^0.1.4", + "is-typedarray": "^1.0.0", + "signal-exit": "^3.0.2", + "typedarray-to-buffer": "^3.1.5" + } + }, + "node_modules/ws": { + "version": "7.5.9", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz", + "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==", + "dev": true, + "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 + } + } + }, + "node_modules/xdg-basedir": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-3.0.0.tgz", + "integrity": "sha512-1Dly4xqlulvPD3fZUQJLY+FUIeqN3N2MM3uqe4rCJftAvOjFa3jFGfctOgluGx4ahPbUCsZkmJILiP0Vi4T6lQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/xml-but-prettier": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/xml-but-prettier/-/xml-but-prettier-1.0.1.tgz", + "integrity": "sha512-C2CJaadHrZTqESlH03WOyw0oZTtoy2uEg6dSDF6YRg+9GnYNub53RRemLpnvtbHDFelxMx4LajiFsYeR6XJHgQ==", + "dev": true, + "dependencies": { + "repeat-string": "^1.5.2" + } + }, + "node_modules/xml-name-validator": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz", + "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==", + "dev": true + }, + "node_modules/xmlchars": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", + "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==", + "dev": true + }, + "node_modules/xmldom-sre": { + "version": "0.1.31", + "resolved": "https://registry.npmjs.org/xmldom-sre/-/xmldom-sre-0.1.31.tgz", + "integrity": "sha512-f9s+fUkX04BxQf+7mMWAp5zk61pciie+fFLC9hX9UVvCeJQfNHRHXpeo5MPcR0EUf57PYLdt+ZO4f3Ipk2oZUw==", + "dev": true, + "engines": { + "node": ">=0.1" + } + }, + "node_modules/xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", + "engines": { + "node": ">=0.4" + } + }, + "node_modules/y18n": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.2.tgz", + "integrity": "sha512-uGZHXkHnhF0XeeAPgnKfPv1bgKAYyVvmNL1xlKsPYZPaIHxGti2hHqvOCQv71XMsLxu1QjergkqogUnms5D3YQ==", + "dev": true + }, + "node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" + }, + "node_modules/yaml": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", + "engines": { + "node": ">= 6" + } + }, + "node_modules/yargs": { + "version": "15.4.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", + "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", + "dev": true, + "dependencies": { + "cliui": "^6.0.0", + "decamelize": "^1.2.0", + "find-up": "^4.1.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^4.2.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^18.1.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/yargs-parser": { + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/yargs/node_modules/y18n": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", + "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", + "dev": true + }, + "node_modules/yargs/node_modules/yargs-parser": { + "version": "18.1.3", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", + "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", + "dev": true, + "dependencies": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/yauzl": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", + "integrity": "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==", + "dev": true, + "dependencies": { + "buffer-crc32": "~0.2.3", + "fd-slicer": "~1.1.0" + } + }, + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/zenscroll": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/zenscroll/-/zenscroll-4.0.2.tgz", + "integrity": "sha512-jEA1znR7b4C/NnaycInCU6h/d15ZzCd1jmsruqOKnZP6WXQSMH3W2GL+OXbkruslU4h+Tzuos0HdswzRUk/Vgg==", + "dev": true + }, + "node_modules/zrender": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/zrender/-/zrender-5.5.0.tgz", + "integrity": "sha512-O3MilSi/9mwoovx77m6ROZM7sXShR/O/JIanvzTwjN3FORfLSr81PsUGd7jlaYOeds9d8tw82oP44+3YucVo+w==", + "dependencies": { + "tslib": "2.3.0" + } + }, + "node_modules/zscroller": { + "version": "0.4.8", + "resolved": "https://registry.npmjs.org/zscroller/-/zscroller-0.4.8.tgz", + "integrity": "sha512-G5NiNLKx2+QhhvZi2yV1jjVXY50otktxkseX2hG2N/eixohOUk0AY8ZpbAxNqS9oJS/NxItCsowupy2tsXxAMw==", + "dev": true, + "dependencies": { + "babel-runtime": "6.x" + } + }, + "node_modules/zwitch": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/zwitch/-/zwitch-1.0.5.tgz", + "integrity": "sha512-V50KMwwzqJV0NpZIZFwfOD5/lyny3WlSzRiXgA0G7VUnRlqttta1L6UQIHzd6EuBY/cHGfwTIck7w1yH6Q5zUw==", + "dev": true, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + } + }, + "dependencies": { + "@aashutoshrathi/word-wrap": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz", + "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==", + "dev": true + }, + "@ahooksjs/use-request": { + "version": "2.8.15", + "resolved": "https://registry.npmjs.org/@ahooksjs/use-request/-/use-request-2.8.15.tgz", + "integrity": "sha512-xhVaM4fyIiAMdVFuuU5i3CFUdFa/IblF+fvITVMFaUEO3w/V5tVCAF6WIA3T03n1/RPuzRkA7Ao1PFtSGtGelw==", + "dev": true, + "requires": { + "lodash.debounce": "^4.0.8", + "lodash.throttle": "^4.1.1" + } + }, + "@ampproject/remapping": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz", + "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==", + "requires": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" + } + }, + "@ant-design/colors": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/@ant-design/colors/-/colors-6.0.0.tgz", + "integrity": "sha512-qAZRvPzfdWHtfameEGP2Qvuf838NhergR35o+EuVyB5XvSA98xod5r4utvi4TJ3ywmevm290g9nsCG5MryrdWQ==", + "requires": { + "@ctrl/tinycolor": "^3.4.0" + } + }, + "@ant-design/icons": { + "version": "4.8.3", + "resolved": "https://registry.npmjs.org/@ant-design/icons/-/icons-4.8.3.tgz", + "integrity": "sha512-HGlIQZzrEbAhpJR6+IGdzfbPym94Owr6JZkJ2QCCnOkPVIWMO2xgIVcOKnl8YcpijIo39V7l2qQL5fmtw56cMw==", + "requires": { + "@ant-design/colors": "^6.0.0", + "@ant-design/icons-svg": "^4.3.0", + "@babel/runtime": "^7.11.2", + "classnames": "^2.2.6", + "lodash": "^4.17.15", + "rc-util": "^5.9.4" + } + }, + "@ant-design/icons-svg": { + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/@ant-design/icons-svg/-/icons-svg-4.4.2.tgz", + "integrity": "sha512-vHbT+zJEVzllwP+CM+ul7reTEfBR0vgxFe7+lREAsAA7YGsYpboiq2sQNeQeRvh09GfQgs/GyFEvZpJ9cLXpXA==" + }, + "@ant-design/pro-card": { + "version": "1.20.22", + "resolved": "https://registry.npmjs.org/@ant-design/pro-card/-/pro-card-1.20.22.tgz", + "integrity": "sha512-du4yMSLflfI+SOx7n87FtiPaEmGtWDN4yFC2vfQZQ6rhO0SVAOI2vRPKoXKOZn8Pr9fXVQGo+uPsVXJMZ3WwPg==", + "requires": { + "@ant-design/icons": "^4.2.1", + "@ant-design/pro-utils": "1.45.3", + "@babel/runtime": "^7.18.0", + "antd": "^4.20.0 ", + "classnames": "^2.2.6", + "omit.js": "^2.0.2", + "rc-util": "^5.4.0" + } + }, + "@ant-design/pro-cli": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@ant-design/pro-cli/-/pro-cli-2.1.5.tgz", + "integrity": "sha512-nFdVRlKRFh6UcjKmkEnpImCz3mOCMz1u6lo9IIVo2lwlbNInc5EZxXfJJm4tAXUSrOfsiIl/Iwc2bsQ5xJBLeA==", + "dev": true, + "requires": { + "@babel/core": "^7.5.4", + "@babel/generator": "^7.5.0", + "@babel/parser": "^7.5.0", + "@babel/traverse": "^7.5.0", + "@babel/types": "^7.5.0", + "@umijs/fabric": "^2.0.0", + "babel-types": "^6.26.0", + "blink-diff": "^1.0.13", + "carlo": "^0.9.46", + "chalk": "^4.0.0", + "cross-port-killer": "^1.1.1", + "eslint": "^7.1.0", + "execa": "^5.0.0", + "getnpmregistry": "^1.0.1", + "glob": "^7.1.4", + "import-fresh": "^3.1.0", + "intl-messageformat": "^9.3.7", + "lodash.groupby": "^4.6.0", + "node-fetch": "^2.6.0", + "node-import-ts": "^1.0.2", + "ora": "^5.1.0", + "pngjs-image": "^0.11.7", + "prettier": "^2.0.2", + "rimraf": "^3.0.0", + "semver": "^7.0.0", + "typescript": "^4.0.3", + "umi-utils": "^1.5.1", + "yargs-parser": "^20.0.0" + } + }, + "@ant-design/pro-descriptions": { + "version": "1.12.7", + "resolved": "https://registry.npmjs.org/@ant-design/pro-descriptions/-/pro-descriptions-1.12.7.tgz", + "integrity": "sha512-D1aiVszsJNs5lEe6wHjuyhdrR3IPZQW//LpB3R+X9C7xk6TLC9FIbJRdgp0NSHMdf+yXEXUzr2EsRWEBhH+Lfg==", + "requires": { + "@ant-design/pro-field": "1.36.7", + "@ant-design/pro-form": "1.74.7", + "@ant-design/pro-skeleton": "1.0.13", + "@ant-design/pro-utils": "1.45.3", + "@babel/runtime": "^7.18.0", + "antd": "^4.20.0 ", + "rc-util": "^5.0.6", + "use-json-comparison": "^1.0.5" + } + }, + "@ant-design/pro-field": { + "version": "1.36.7", + "resolved": "https://registry.npmjs.org/@ant-design/pro-field/-/pro-field-1.36.7.tgz", + "integrity": "sha512-N5DGitBT2o5UC5lR8M6CQOhKsTMqhzggR6Q0xC2Uj50eUmy5A2uFDnsCjlaSgprocpIK0/zvTU02V9yE62SHSw==", + "requires": { + "@ant-design/icons": "^4.2.1", + "@ant-design/pro-provider": "1.10.0", + "@ant-design/pro-utils": "1.45.3", + "@babel/runtime": "^7.18.0", + "@chenshuai2144/sketch-color": "^1.0.8", + "antd": "^4.20.0 ", + "classnames": "^2.2.6", + "lodash.omit": "^4.5.0", + "lodash.tonumber": "^4.0.3", + "moment": "^2.27.0", + "omit.js": "^2.0.2", + "rc-util": "^5.4.0", + "swr": "^1.2.0" + } + }, + "@ant-design/pro-form": { + "version": "1.74.7", + "resolved": "https://registry.npmjs.org/@ant-design/pro-form/-/pro-form-1.74.7.tgz", + "integrity": "sha512-3r6DdAkvsjN0lpVnbpAbtj5n+Od+IeLE6Z6DKPChobtwYJX5XyR8fWWOnyR43W8qbGTpXMxDwO9IP3VRY7VdMQ==", + "requires": { + "@ant-design/icons": "^4.2.1", + "@ant-design/pro-field": "1.36.7", + "@ant-design/pro-provider": "1.10.0", + "@ant-design/pro-utils": "1.45.3", + "@babel/runtime": "^7.18.0", + "@umijs/use-params": "^1.0.9", + "antd": "^4.20.0 ", + "classnames": "^2.2.6", + "lodash.merge": "^4.6.2", + "omit.js": "^2.0.2", + "rc-resize-observer": "^1.1.0", + "rc-util": "^5.0.6", + "use-json-comparison": "^1.0.5", + "use-media-antd-query": "^1.1.0" + } + }, + "@ant-design/pro-layout": { + "version": "6.38.22", + "resolved": "https://registry.npmjs.org/@ant-design/pro-layout/-/pro-layout-6.38.22.tgz", + "integrity": "sha512-rsxY2E0BTyRE7IO67VACWVPSfdtDnTaWtECuMnc4ctL+xmnzbnnr0zEHVQ+S58BxLnCqO3IyOsSc0nFl2hHsnQ==", + "requires": { + "@ant-design/icons": "^4.0.0", + "@ant-design/pro-provider": "1.10.0", + "@ant-design/pro-utils": "1.45.3", + "@babel/runtime": "^7.18.0", + "@umijs/route-utils": "^2.1.0", + "@umijs/ssr-darkreader": "^4.9.44", + "@umijs/use-params": "^1.0.9", + "antd": "^4.20.0 ", + "classnames": "^2.2.6", + "lodash.merge": "^4.6.2", + "omit.js": "^2.0.2", + "path-to-regexp": "2.4.0", + "rc-resize-observer": "^1.1.0", + "rc-util": "^5.0.6", + "swr": "^1.2.0", + "unstated-next": "^1.1.0", + "use-json-comparison": "^1.0.3", + "use-media-antd-query": "^1.1.0", + "warning": "^4.0.3" + } + }, + "@ant-design/pro-provider": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/@ant-design/pro-provider/-/pro-provider-1.10.0.tgz", + "integrity": "sha512-gbQtq+Qlnob6aEghiWX/kXEzNhe4eOFlv5Ue2/xsal+22qvot/kFoOB652TD76fMI7vlkoema1pTKsvD5Uji6A==", + "requires": { + "@babel/runtime": "^7.18.0", + "antd": "^4.20.0 ", + "rc-util": "^5.0.1", + "swr": "^1.2.0" + } + }, + "@ant-design/pro-skeleton": { + "version": "1.0.13", + "resolved": "https://registry.npmjs.org/@ant-design/pro-skeleton/-/pro-skeleton-1.0.13.tgz", + "integrity": "sha512-EWkW7ZqnT7NsyJTmxd0btrRpJFNLBkE2ceaKgp2Cz7GOC0l8yWX/TaNs6yb10j0DH6AB9YBXZNd2mxZ2MyQgGA==", + "requires": { + "@babel/runtime": "^7.18.0", + "antd": "^4.20.0 ", + "use-media-antd-query": "^1.1.0" + } + }, + "@ant-design/pro-table": { + "version": "2.80.8", + "resolved": "https://registry.npmjs.org/@ant-design/pro-table/-/pro-table-2.80.8.tgz", + "integrity": "sha512-QPrGJJpXk8va/sUMlBYXIxNenc0OMHK+LKKLKOmh1hoA+a6/a75Tk+VaoncLGZZ99qXDQwMLlRZXMGDhrtCGgA==", + "requires": { + "@ant-design/icons": "^4.1.0", + "@ant-design/pro-card": "1.20.22", + "@ant-design/pro-field": "1.36.7", + "@ant-design/pro-form": "1.74.7", + "@ant-design/pro-provider": "1.10.0", + "@ant-design/pro-utils": "1.45.3", + "@babel/runtime": "^7.18.0", + "antd": "^4.20.0 ", + "classnames": "^2.2.6", + "moment": "^2.24.0", + "omit.js": "^2.0.2", + "rc-util": "^5.0.1", + "react-sortable-hoc": "^2.0.0", + "unstated-next": "^1.1.0", + "use-json-comparison": "^1.0.5", + "use-media-antd-query": "^1.1.0" + } + }, + "@ant-design/pro-utils": { + "version": "1.45.3", + "resolved": "https://registry.npmjs.org/@ant-design/pro-utils/-/pro-utils-1.45.3.tgz", + "integrity": "sha512-W2qtyckdkHTWGVXfFfqb9s/ahq3o4GlIZC3+WDiGUgqJTsUkwY69yV67E2ZfAro1XRXblUzbvxIv96M7bEAfFg==", + "requires": { + "@ant-design/icons": "^4.3.0", + "@ant-design/pro-provider": "1.10.0", + "@babel/runtime": "^7.18.0", + "antd": "^4.20.0 ", + "classnames": "^2.2.6", + "moment": "^2.27.0", + "rc-util": "^5.0.6", + "react-sortable-hoc": "^2.0.0", + "swr": "^1.2.0" + } + }, + "@ant-design/react-slick": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@ant-design/react-slick/-/react-slick-1.0.2.tgz", + "integrity": "sha512-Wj8onxL/T8KQLFFiCA4t8eIRGpRR+UPgOdac2sYzonv+i0n3kXHmvHLLiOYL655DQx2Umii9Y9nNgL7ssu5haQ==", + "requires": { + "@babel/runtime": "^7.10.4", + "classnames": "^2.2.5", + "json2mq": "^0.2.0", + "resize-observer-polyfill": "^1.5.1", + "throttle-debounce": "^5.0.0" + } + }, + "@arco-design/color": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/@arco-design/color/-/color-0.4.0.tgz", + "integrity": "sha512-s7p9MSwJgHeL8DwcATaXvWT3m2SigKpxx4JA1BGPHL4gfvaQsmQfrLBDpjOJFJuJ2jG2dMt3R3P8Pm9E65q18g==", + "requires": { + "color": "^3.1.3" + } + }, + "@arco-design/web-react": { + "version": "2.61.1", + "resolved": "https://registry.npmjs.org/@arco-design/web-react/-/web-react-2.61.1.tgz", + "integrity": "sha512-JbrNCLZzpSCkri6319Wq75sZJRFAThqBzKpRiJbUqtLdKljlRR3IYxxfTgEJdWS6hTRu7A0PA6dbiNaVn/89yA==", + "requires": { + "@arco-design/color": "^0.4.0", + "@babel/runtime": "^7.5.5", + "b-tween": "^0.3.3", + "b-validate": "^1.4.2", + "compute-scroll-into-view": "^1.0.17", + "dayjs": "^1.10.5", + "lodash": "^4.17.21", + "number-precision": "^1.3.1", + "react-focus-lock": "^2.9.1", + "react-is": "^18.2.0", + "react-transition-group": "^4.3.0", + "resize-observer-polyfill": "^1.5.1", + "scroll-into-view-if-needed": "2.2.20", + "shallowequal": "^1.1.0" + } + }, + "@babel/code-frame": { + "version": "7.24.2", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.2.tgz", + "integrity": "sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ==", + "requires": { + "@babel/highlight": "^7.24.2", + "picocolors": "^1.0.0" + } + }, + "@babel/compat-data": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.24.1.tgz", + "integrity": "sha512-Pc65opHDliVpRHuKfzI+gSA4zcgr65O4cl64fFJIWEEh8JoHIHh0Oez1Eo8Arz8zq/JhgKodQaxEwUPRtZylVA==" + }, + "@babel/core": { + "version": "7.24.3", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.24.3.tgz", + "integrity": "sha512-5FcvN1JHw2sHJChotgx8Ek0lyuh4kCKelgMTTqhYJJtloNvUfpAFMeNQUtdlIaktwrSV9LtCdqwk48wL2wBacQ==", + "requires": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.24.2", + "@babel/generator": "^7.24.1", + "@babel/helper-compilation-targets": "^7.23.6", + "@babel/helper-module-transforms": "^7.23.3", + "@babel/helpers": "^7.24.1", + "@babel/parser": "^7.24.1", + "@babel/template": "^7.24.0", + "@babel/traverse": "^7.24.1", + "@babel/types": "^7.24.0", + "convert-source-map": "^2.0.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.3", + "semver": "^6.3.1" + }, + "dependencies": { + "semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==" + } + } + }, + "@babel/eslint-parser": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.24.1.tgz", + "integrity": "sha512-d5guuzMlPeDfZIbpQ8+g1NaCNuAGBBGNECh0HVqz1sjOeVLh2CEaifuOysCH18URW6R7pqXINvf5PaR/dC6jLQ==", + "dev": true, + "requires": { + "@nicolo-ribaudo/eslint-scope-5-internals": "5.1.1-v1", + "eslint-visitor-keys": "^2.1.0", + "semver": "^6.3.1" + }, + "dependencies": { + "semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true + } + } + }, + "@babel/generator": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.24.1.tgz", + "integrity": "sha512-DfCRfZsBcrPEHUfuBMgbJ1Ut01Y/itOs+hY2nFLgqsqXd52/iSiVq5TITtUasIUgm+IIKdY2/1I7auiQOEeC9A==", + "requires": { + "@babel/types": "^7.24.0", + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25", + "jsesc": "^2.5.1" + } + }, + "@babel/helper-annotate-as-pure": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz", + "integrity": "sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==", + "dev": true, + "requires": { + "@babel/types": "^7.22.5" + } + }, + "@babel/helper-builder-binary-assignment-operator-visitor": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.22.15.tgz", + "integrity": "sha512-QkBXwGgaoC2GtGZRoma6kv7Szfv06khvhFav67ZExau2RaXzy8MpHSMO2PNoP2XtmQphJQRHFfg77Bq731Yizw==", + "dev": true, + "requires": { + "@babel/types": "^7.22.15" + } + }, + "@babel/helper-compilation-targets": { + "version": "7.23.6", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.23.6.tgz", + "integrity": "sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ==", + "requires": { + "@babel/compat-data": "^7.23.5", + "@babel/helper-validator-option": "^7.23.5", + "browserslist": "^4.22.2", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" + }, + "dependencies": { + "semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==" + } + } + }, + "@babel/helper-create-class-features-plugin": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.24.1.tgz", + "integrity": "sha512-1yJa9dX9g//V6fDebXoEfEsxkZHk3Hcbm+zLhyu6qVgYFLvmTALTeV+jNU9e5RnYtioBrGEOdoI2joMSNQ/+aA==", + "dev": true, + "requires": { + "@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.24.1", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "semver": "^6.3.1" + }, + "dependencies": { + "semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true + } + } + }, + "@babel/helper-create-regexp-features-plugin": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.22.15.tgz", + "integrity": "sha512-29FkPLFjn4TPEa3RE7GpW+qbE8tlsu3jntNYNfcGsc49LphF1PQIiD+vMZ1z1xVOKt+93khA9tc2JBs3kBjA7w==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "regexpu-core": "^5.3.1", + "semver": "^6.3.1" + }, + "dependencies": { + "semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true + } + } + }, + "@babel/helper-define-polyfill-provider": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.1.tgz", + "integrity": "sha512-o7SDgTJuvx5vLKD6SFvkydkSMBvahDKGiNJzG22IZYXhiqoe9efY7zocICBgzHV4IRg5wdgl2nEL/tulKIEIbA==", + "dev": true, + "requires": { + "@babel/helper-compilation-targets": "^7.22.6", + "@babel/helper-plugin-utils": "^7.22.5", + "debug": "^4.1.1", + "lodash.debounce": "^4.0.8", + "resolve": "^1.14.2" + } + }, + "@babel/helper-environment-visitor": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz", + "integrity": "sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==" + }, + "@babel/helper-function-name": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz", + "integrity": "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==", + "requires": { + "@babel/template": "^7.22.15", + "@babel/types": "^7.23.0" + } + }, + "@babel/helper-hoist-variables": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", + "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", + "requires": { + "@babel/types": "^7.22.5" + } + }, + "@babel/helper-member-expression-to-functions": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.23.0.tgz", + "integrity": "sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA==", + "dev": true, + "requires": { + "@babel/types": "^7.23.0" + } + }, + "@babel/helper-module-imports": { + "version": "7.24.3", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.24.3.tgz", + "integrity": "sha512-viKb0F9f2s0BCS22QSF308z/+1YWKV/76mwt61NBzS5izMzDPwdq1pTrzf+Li3npBWX9KdQbkeCt1jSAM7lZqg==", + "requires": { + "@babel/types": "^7.24.0" + } + }, + "@babel/helper-module-transforms": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.23.3.tgz", + "integrity": "sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==", + "requires": { + "@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": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.22.5.tgz", + "integrity": "sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==", + "dev": true, + "requires": { + "@babel/types": "^7.22.5" + } + }, + "@babel/helper-plugin-utils": { + "version": "7.24.0", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.0.tgz", + "integrity": "sha512-9cUznXMG0+FxRuJfvL82QlTqIzhVW9sL0KjMPHhAOOvpQGL8QtdxnBKILjBqxlHyliz0yCa1G903ZXI/FuHy2w==", + "dev": true + }, + "@babel/helper-remap-async-to-generator": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.22.20.tgz", + "integrity": "sha512-pBGyV4uBqOns+0UvhsTO8qgl8hO89PmiDYv+/COyp1aeMcmfrfruz+/nCMFiYyFF/Knn0yfrC85ZzNFjembFTw==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-wrap-function": "^7.22.20" + } + }, + "@babel/helper-replace-supers": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.24.1.tgz", + "integrity": "sha512-QCR1UqC9BzG5vZl8BMicmZ28RuUBnHhAMddD8yHFHDRH9lLTZ9uUPehX8ctVPT8l0TKblJidqcgUUKGVrePleQ==", + "dev": true, + "requires": { + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-member-expression-to-functions": "^7.23.0", + "@babel/helper-optimise-call-expression": "^7.22.5" + } + }, + "@babel/helper-simple-access": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz", + "integrity": "sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==", + "requires": { + "@babel/types": "^7.22.5" + } + }, + "@babel/helper-skip-transparent-expression-wrappers": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.22.5.tgz", + "integrity": "sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==", + "dev": true, + "requires": { + "@babel/types": "^7.22.5" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.22.6", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", + "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", + "requires": { + "@babel/types": "^7.22.5" + } + }, + "@babel/helper-string-parser": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.24.1.tgz", + "integrity": "sha512-2ofRCjnnA9y+wk8b9IAREroeUP02KHp431N2mhKniy2yKIDKpbrHv9eXwm8cBeWQYcJmzv5qKCu65P47eCF7CQ==" + }, + "@babel/helper-validator-identifier": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", + "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==" + }, + "@babel/helper-validator-option": { + "version": "7.23.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.23.5.tgz", + "integrity": "sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==" + }, + "@babel/helper-wrap-function": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.22.20.tgz", + "integrity": "sha512-pms/UwkOpnQe/PDAEdV/d7dVCoBbB+R4FvYoHGZz+4VPcg7RtYy2KP7S2lbuWM6FCSgob5wshfGESbC/hzNXZw==", + "dev": true, + "requires": { + "@babel/helper-function-name": "^7.22.5", + "@babel/template": "^7.22.15", + "@babel/types": "^7.22.19" + } + }, + "@babel/helpers": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.24.1.tgz", + "integrity": "sha512-BpU09QqEe6ZCHuIHFphEFgvNSrubve1FtyMton26ekZ85gRGi6LrTF7zArARp2YvyFxloeiRmtSCq5sjh1WqIg==", + "requires": { + "@babel/template": "^7.24.0", + "@babel/traverse": "^7.24.1", + "@babel/types": "^7.24.0" + } + }, + "@babel/highlight": { + "version": "7.24.2", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.2.tgz", + "integrity": "sha512-Yac1ao4flkTxTteCDZLEvdxg2fZfz1v8M4QpaGypq/WPDqg3ijHYbDfs+LG5hvzSoqaSZ9/Z9lKSP3CjZjv+pA==", + "requires": { + "@babel/helper-validator-identifier": "^7.22.20", + "chalk": "^2.4.2", + "js-tokens": "^4.0.0", + "picocolors": "^1.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==" + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==" + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "@babel/parser": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.24.1.tgz", + "integrity": "sha512-Zo9c7N3xdOIQrNip7Lc9wvRPzlRtovHVE4lkz8WEDr7uYh/GMQhSiIgFxGIArRHYdJE5kxtZjAf8rT0xhdLCzg==" + }, + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.24.1.tgz", + "integrity": "sha512-y4HqEnkelJIOQGd+3g1bTeKsA5c6qM7eOn7VggGVbBc0y8MLSKHacwcIE2PplNlQSj0PqS9rrXL/nkPVK+kUNg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.24.0" + } + }, + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.24.1.tgz", + "integrity": "sha512-Hj791Ii4ci8HqnaKHAlLNs+zaLXb0EzSDhiAWp5VNlyvCNymYfacs64pxTxbH1znW/NcArSmwpmG9IKE/TUVVQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", + "@babel/plugin-transform-optional-chaining": "^7.24.1" + } + }, + "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.24.1.tgz", + "integrity": "sha512-m9m/fXsXLiHfwdgydIFnpk+7jlVbnvlK5B2EKiPdLUb6WX654ZaaEWJUjk8TftRbZpK0XibovlLWX4KIZhV6jw==", + "dev": true, + "requires": { + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-plugin-utils": "^7.24.0" + } + }, + "@babel/plugin-proposal-async-generator-functions": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.2.0.tgz", + "integrity": "sha512-+Dfo/SCQqrwx48ptLVGLdE39YtWRuKc/Y9I5Fy0P1DDBB9lsAHpjcEJQt+4IifuSOSTLBKJObJqMvaO1pIE8LQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-remap-async-to-generator": "^7.1.0", + "@babel/plugin-syntax-async-generators": "^7.2.0" + } + }, + "@babel/plugin-proposal-class-properties": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz", + "integrity": "sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==", + "dev": true, + "requires": { + "@babel/helper-create-class-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-proposal-decorators": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.24.1.tgz", + "integrity": "sha512-zPEvzFijn+hRvJuX2Vu3KbEBN39LN3f7tW3MQO2LsIs57B26KU+kUc82BdAktS1VCM6libzh45eKGI65lg0cpA==", + "dev": true, + "requires": { + "@babel/helper-create-class-features-plugin": "^7.24.1", + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/plugin-syntax-decorators": "^7.24.1" + } + }, + "@babel/plugin-proposal-do-expressions": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-do-expressions/-/plugin-proposal-do-expressions-7.2.0.tgz", + "integrity": "sha512-2bWN48zQHf/W5T8XvemGQJSi8hzhIo7y4kv/RiA08UcMLQ73lkTknhlaFGf1HjCJzG8FGopgsq6pSe1C+10fPg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-syntax-do-expressions": "^7.2.0" + } + }, + "@babel/plugin-proposal-export-default-from": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-default-from/-/plugin-proposal-export-default-from-7.2.0.tgz", + "integrity": "sha512-NVfNe7F6nsasG1FnvcFxh2FN0l04ZNe75qTOAVOILWPam0tw9a63RtT/Dab8dPjedZa4fTQaQ83yMMywF9OSug==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-syntax-export-default-from": "^7.2.0" + } + }, + "@babel/plugin-proposal-export-namespace-from": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.2.0.tgz", + "integrity": "sha512-DZUxbHYxQ5fUFIkMEnh75ogEdBLPfL+mQUqrO2hNY2LGm+tqFnxE924+mhAcCOh/8za8AaZsWHbq6bBoS3TAzA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-syntax-export-namespace-from": "^7.2.0" + } + }, + "@babel/plugin-proposal-function-bind": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-function-bind/-/plugin-proposal-function-bind-7.2.0.tgz", + "integrity": "sha512-qOFJ/eX1Is78sywwTxDcsntLOdb5ZlHVVqUz5xznq8ldAfOVIyZzp1JE2rzHnaksZIhrqMrwIpQL/qcEprnVbw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-syntax-function-bind": "^7.2.0" + } + }, + "@babel/plugin-proposal-json-strings": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.18.6.tgz", + "integrity": "sha512-lr1peyn9kOdbYc0xr0OdHTZ5FMqS6Di+H0Fz2I/JwMzGmzJETNeOFq2pBySw6X/KFL5EWDjlJuMsUGRFb8fQgQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-json-strings": "^7.8.3" + } + }, + "@babel/plugin-proposal-nullish-coalescing-operator": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.4.4.tgz", + "integrity": "sha512-Amph7Epui1Dh/xxUxS2+K22/MUi6+6JVTvy3P58tja3B6yKTSjwwx0/d83rF7551D6PVSSoplQb8GCwqec7HRw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.2.0" + } + }, + "@babel/plugin-proposal-object-rest-spread": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.4.4.tgz", + "integrity": "sha512-dMBG6cSPBbHeEBdFXeQ2QLc5gUpg4Vkaz8octD4aoW/ISO+jBOcsuxYL7bsb5WSu8RLP6boxrBIALEHgoHtO9g==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-syntax-object-rest-spread": "^7.2.0" + } + }, + "@babel/plugin-proposal-optional-catch-binding": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.2.0.tgz", + "integrity": "sha512-mgYj3jCcxug6KUcX4OBoOJz3CMrwRfQELPQ5560F70YQUBZB7uac9fqaWamKR1iWUzGiK2t0ygzjTScZnVz75g==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-syntax-optional-catch-binding": "^7.2.0" + } + }, + "@babel/plugin-proposal-optional-chaining": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.2.0.tgz", + "integrity": "sha512-ea3Q6edZC/55wEBVZAEz42v528VulyO0eir+7uky/sT4XRcdkWJcFi1aPtitTlwUzGnECWJNExWww1SStt+yWw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-syntax-optional-chaining": "^7.2.0" + } + }, + "@babel/plugin-proposal-pipeline-operator": { + "version": "7.3.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-pipeline-operator/-/plugin-proposal-pipeline-operator-7.3.2.tgz", + "integrity": "sha512-wuzx8U/KZLJYoqU6joiaKY0PixHuYZ3Vxys+wPahNAZEEm+EDb1eTc19DuJob3BdxYSD9PWPbwyoRbhkdoYErg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-syntax-pipeline-operator": "^7.3.0" + } + }, + "@babel/plugin-proposal-private-property-in-object": { + "version": "7.21.0-placeholder-for-preset-env.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz", + "integrity": "sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==", + "dev": true + }, + "@babel/plugin-proposal-unicode-property-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.18.6.tgz", + "integrity": "sha512-2BShG/d5yoZyXZfVePH91urL5wTG6ASZU9M4o03lKK8u8UW1y08OMttBSOADTcJrnPMpvDXRG3G8fyLh4ovs8w==", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-syntax-async-generators": { + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", + "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-bigint": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz", + "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-class-properties": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", + "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.12.13" + } + }, + "@babel/plugin-syntax-class-static-block": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", + "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-syntax-decorators": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.24.1.tgz", + "integrity": "sha512-05RJdO/cCrtVWuAaSn1tS3bH8jbsJa/Y1uD186u6J4C/1mnHFxseeuWpsqr9anvo7TUulev7tm7GDwRV+VuhDw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.24.0" + } + }, + "@babel/plugin-syntax-do-expressions": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-do-expressions/-/plugin-syntax-do-expressions-7.24.1.tgz", + "integrity": "sha512-l5ZJA2DB2s/pM3SQzwf1ykWOiBaqN6Eb07EoZ/mH8dUR5RnaWlmPLoav6y4OT8A9Pkl615osBMZOedFbErdOOA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.24.0" + } + }, + "@babel/plugin-syntax-dynamic-import": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", + "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-export-default-from": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-default-from/-/plugin-syntax-export-default-from-7.24.1.tgz", + "integrity": "sha512-cNXSxv9eTkGUtd0PsNMK8Yx5xeScxfpWOUAxE+ZPAXXEcAMOC3fk7LRdXq5fvpra2pLx2p1YtkAhpUbB2SwaRA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.24.0" + } + }, + "@babel/plugin-syntax-export-namespace-from": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", + "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.3" + } + }, + "@babel/plugin-syntax-function-bind": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-function-bind/-/plugin-syntax-function-bind-7.24.1.tgz", + "integrity": "sha512-7K+uzNJ5ZuL6g4Ud/UhbIxghwN2FAj8NBrzEO+eM0g9YddjOv+BD81ar/N7Es5sH+G8z9tnTYcfCu6EaPrkSDw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.24.0" + } + }, + "@babel/plugin-syntax-import-assertions": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.24.1.tgz", + "integrity": "sha512-IuwnI5XnuF189t91XbxmXeCDz3qs6iDRO7GJ++wcfgeXNs/8FmIlKcpDSXNVyuLQxlwvskmI3Ct73wUODkJBlQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.24.0" + } + }, + "@babel/plugin-syntax-import-attributes": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.24.1.tgz", + "integrity": "sha512-zhQTMH0X2nVLnb04tz+s7AMuasX8U0FnpE+nHTOhSOINjWMnopoZTxtIKsd45n4GQ/HIZLyfIpoul8e2m0DnRA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.24.0" + } + }, + "@babel/plugin-syntax-import-meta": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", + "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-syntax-json-strings": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", + "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-jsx": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.24.1.tgz", + "integrity": "sha512-2eCtxZXf+kbkMIsXS4poTvT4Yu5rXiRa+9xGVT56raghjmBTKMpFNc9R4IDiB4emao9eO22Ox7CxuJG7BgExqA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.24.0" + } + }, + "@babel/plugin-syntax-logical-assignment-operators": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", + "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-syntax-nullish-coalescing-operator": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", + "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-numeric-separator": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", + "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-syntax-object-rest-spread": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", + "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-optional-catch-binding": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", + "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-optional-chaining": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", + "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-pipeline-operator": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-pipeline-operator/-/plugin-syntax-pipeline-operator-7.24.1.tgz", + "integrity": "sha512-UU7uLj95zh6oMQiREvkTmXAvWy9pJI9p76SFkNsXTesDwQ67YM1UU1Bkx576djA6ZDcPSbzM/MqTJNcYeQ0G2g==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.24.0" + } + }, + "@babel/plugin-syntax-private-property-in-object": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", + "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-syntax-top-level-await": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", + "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-syntax-typescript": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.24.1.tgz", + "integrity": "sha512-Yhnmvy5HZEnHUty6i++gcfH1/l68AHnItFHnaCv6hn9dNh0hQvvQJsxpi4BMBFN5DLeHBuucT/0DgzXif/OyRw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.24.0" + } + }, + "@babel/plugin-syntax-unicode-sets-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz", + "integrity": "sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-arrow-functions": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.24.1.tgz", + "integrity": "sha512-ngT/3NkRhsaep9ck9uj2Xhv9+xB1zShY3tM3g6om4xxCELwCDN4g4Aq5dRn48+0hasAql7s2hdBOysCfNpr4fw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.24.0" + } + }, + "@babel/plugin-transform-async-generator-functions": { + "version": "7.24.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.24.3.tgz", + "integrity": "sha512-Qe26CMYVjpQxJ8zxM1340JFNjZaF+ISWpr1Kt/jGo+ZTUzKkfw/pphEWbRCb+lmSM6k/TOgfYLvmbHkUQ0asIg==", + "dev": true, + "requires": { + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/helper-remap-async-to-generator": "^7.22.20", + "@babel/plugin-syntax-async-generators": "^7.8.4" + } + }, + "@babel/plugin-transform-async-to-generator": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.24.1.tgz", + "integrity": "sha512-AawPptitRXp1y0n4ilKcGbRYWfbbzFWz2NqNu7dacYDtFtz0CMjG64b3LQsb3KIgnf4/obcUL78hfaOS7iCUfw==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.24.1", + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/helper-remap-async-to-generator": "^7.22.20" + } + }, + "@babel/plugin-transform-block-scoped-functions": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.24.1.tgz", + "integrity": "sha512-TWWC18OShZutrv9C6mye1xwtam+uNi2bnTOCBUd5sZxyHOiWbU6ztSROofIMrK84uweEZC219POICK/sTYwfgg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.24.0" + } + }, + "@babel/plugin-transform-block-scoping": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.24.1.tgz", + "integrity": "sha512-h71T2QQvDgM2SmT29UYU6ozjMlAt7s7CSs5Hvy8f8cf/GM/Z4a2zMfN+fjVGaieeCrXR3EdQl6C4gQG+OgmbKw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.24.0" + } + }, + "@babel/plugin-transform-class-properties": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.24.1.tgz", + "integrity": "sha512-OMLCXi0NqvJfORTaPQBwqLXHhb93wkBKZ4aNwMl6WtehO7ar+cmp+89iPEQPqxAnxsOKTaMcs3POz3rKayJ72g==", + "dev": true, + "requires": { + "@babel/helper-create-class-features-plugin": "^7.24.1", + "@babel/helper-plugin-utils": "^7.24.0" + } + }, + "@babel/plugin-transform-class-static-block": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.24.1.tgz", + "integrity": "sha512-FUHlKCn6J3ERiu8Dv+4eoz7w8+kFLSyeVG4vDAikwADGjUCoHw/JHokyGtr8OR4UjpwPVivyF+h8Q5iv/JmrtA==", + "dev": true, + "requires": { + "@babel/helper-create-class-features-plugin": "^7.24.1", + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/plugin-syntax-class-static-block": "^7.14.5" + } + }, + "@babel/plugin-transform-classes": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.24.1.tgz", + "integrity": "sha512-ZTIe3W7UejJd3/3R4p7ScyyOoafetUShSf4kCqV0O7F/RiHxVj/wRaRnQlrGwflvcehNA8M42HkAiEDYZu2F1Q==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-compilation-targets": "^7.23.6", + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-function-name": "^7.23.0", + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/helper-replace-supers": "^7.24.1", + "@babel/helper-split-export-declaration": "^7.22.6", + "globals": "^11.1.0" + } + }, + "@babel/plugin-transform-computed-properties": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.24.1.tgz", + "integrity": "sha512-5pJGVIUfJpOS+pAqBQd+QMaTD2vCL/HcePooON6pDpHgRp4gNRmzyHTPIkXntwKsq3ayUFVfJaIKPw2pOkOcTw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/template": "^7.24.0" + } + }, + "@babel/plugin-transform-destructuring": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.24.1.tgz", + "integrity": "sha512-ow8jciWqNxR3RYbSNVuF4U2Jx130nwnBnhRw6N6h1bOejNkABmcI5X5oz29K4alWX7vf1C+o6gtKXikzRKkVdw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.24.0" + } + }, + "@babel/plugin-transform-dotall-regex": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.24.1.tgz", + "integrity": "sha512-p7uUxgSoZwZ2lPNMzUkqCts3xlp8n+o05ikjy7gbtFJSt9gdU88jAmtfmOxHM14noQXBxfgzf2yRWECiNVhTCw==", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.22.15", + "@babel/helper-plugin-utils": "^7.24.0" + } + }, + "@babel/plugin-transform-duplicate-keys": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.24.1.tgz", + "integrity": "sha512-msyzuUnvsjsaSaocV6L7ErfNsa5nDWL1XKNnDePLgmz+WdU4w/J8+AxBMrWfi9m4IxfL5sZQKUPQKDQeeAT6lA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.24.0" + } + }, + "@babel/plugin-transform-dynamic-import": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.24.1.tgz", + "integrity": "sha512-av2gdSTyXcJVdI+8aFZsCAtR29xJt0S5tas+Ef8NvBNmD1a+N/3ecMLeMBgfcK+xzsjdLDT6oHt+DFPyeqUbDA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/plugin-syntax-dynamic-import": "^7.8.3" + } + }, + "@babel/plugin-transform-exponentiation-operator": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.24.1.tgz", + "integrity": "sha512-U1yX13dVBSwS23DEAqU+Z/PkwE9/m7QQy8Y9/+Tdb8UWYaGNDYwTLi19wqIAiROr8sXVum9A/rtiH5H0boUcTw==", + "dev": true, + "requires": { + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.22.15", + "@babel/helper-plugin-utils": "^7.24.0" + } + }, + "@babel/plugin-transform-export-namespace-from": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.24.1.tgz", + "integrity": "sha512-Ft38m/KFOyzKw2UaJFkWG9QnHPG/Q/2SkOrRk4pNBPg5IPZ+dOxcmkK5IyuBcxiNPyyYowPGUReyBvrvZs7IlQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3" + } + }, + "@babel/plugin-transform-for-of": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.24.1.tgz", + "integrity": "sha512-OxBdcnF04bpdQdR3i4giHZNZQn7cm8RQKcSwA17wAAqEELo1ZOwp5FFgeptWUQXFyT9kwHo10aqqauYkRZPCAg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5" + } + }, + "@babel/plugin-transform-function-name": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.24.1.tgz", + "integrity": "sha512-BXmDZpPlh7jwicKArQASrj8n22/w6iymRnvHYYd2zO30DbE277JO20/7yXJT3QxDPtiQiOxQBbZH4TpivNXIxA==", + "dev": true, + "requires": { + "@babel/helper-compilation-targets": "^7.23.6", + "@babel/helper-function-name": "^7.23.0", + "@babel/helper-plugin-utils": "^7.24.0" + } + }, + "@babel/plugin-transform-json-strings": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.24.1.tgz", + "integrity": "sha512-U7RMFmRvoasscrIFy5xA4gIp8iWnWubnKkKuUGJjsuOH7GfbMkB+XZzeslx2kLdEGdOJDamEmCqOks6e8nv8DQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/plugin-syntax-json-strings": "^7.8.3" + } + }, + "@babel/plugin-transform-literals": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.24.1.tgz", + "integrity": "sha512-zn9pwz8U7nCqOYIiBaOxoQOtYmMODXTJnkxG4AtX8fPmnCRYWBOHD0qcpwS9e2VDSp1zNJYpdnFMIKb8jmwu6g==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.24.0" + } + }, + "@babel/plugin-transform-logical-assignment-operators": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.24.1.tgz", + "integrity": "sha512-OhN6J4Bpz+hIBqItTeWJujDOfNP+unqv/NJgyhlpSqgBTPm37KkMmZV6SYcOj+pnDbdcl1qRGV/ZiIjX9Iy34w==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" + } + }, + "@babel/plugin-transform-member-expression-literals": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.24.1.tgz", + "integrity": "sha512-4ojai0KysTWXzHseJKa1XPNXKRbuUrhkOPY4rEGeR+7ChlJVKxFa3H3Bz+7tWaGKgJAXUWKOGmltN+u9B3+CVg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.24.0" + } + }, + "@babel/plugin-transform-modules-amd": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.24.1.tgz", + "integrity": "sha512-lAxNHi4HVtjnHd5Rxg3D5t99Xm6H7b04hUS7EHIXcUl2EV4yl1gWdqZrNzXnSrHveL9qMdbODlLF55mvgjAfaQ==", + "dev": true, + "requires": { + "@babel/helper-module-transforms": "^7.23.3", + "@babel/helper-plugin-utils": "^7.24.0" + } + }, + "@babel/plugin-transform-modules-commonjs": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.24.1.tgz", + "integrity": "sha512-szog8fFTUxBfw0b98gEWPaEqF42ZUD/T3bkynW/wtgx2p/XCP55WEsb+VosKceRSd6njipdZvNogqdtI4Q0chw==", + "dev": true, + "requires": { + "@babel/helper-module-transforms": "^7.23.3", + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/helper-simple-access": "^7.22.5" + } + }, + "@babel/plugin-transform-modules-systemjs": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.24.1.tgz", + "integrity": "sha512-mqQ3Zh9vFO1Tpmlt8QPnbwGHzNz3lpNEMxQb1kAemn/erstyqw1r9KeOlOfo3y6xAnFEcOv2tSyrXfmMk+/YZA==", + "dev": true, + "requires": { + "@babel/helper-hoist-variables": "^7.22.5", + "@babel/helper-module-transforms": "^7.23.3", + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/helper-validator-identifier": "^7.22.20" + } + }, + "@babel/plugin-transform-modules-umd": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.24.1.tgz", + "integrity": "sha512-tuA3lpPj+5ITfcCluy6nWonSL7RvaG0AOTeAuvXqEKS34lnLzXpDb0dcP6K8jD0zWZFNDVly90AGFJPnm4fOYg==", + "dev": true, + "requires": { + "@babel/helper-module-transforms": "^7.23.3", + "@babel/helper-plugin-utils": "^7.24.0" + } + }, + "@babel/plugin-transform-named-capturing-groups-regex": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.22.5.tgz", + "integrity": "sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ==", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-new-target": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.24.1.tgz", + "integrity": "sha512-/rurytBM34hYy0HKZQyA0nHbQgQNFm4Q/BOc9Hflxi2X3twRof7NaE5W46j4kQitm7SvACVRXsa6N/tSZxvPug==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.24.0" + } + }, + "@babel/plugin-transform-nullish-coalescing-operator": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.24.1.tgz", + "integrity": "sha512-iQ+caew8wRrhCikO5DrUYx0mrmdhkaELgFa+7baMcVuhxIkN7oxt06CZ51D65ugIb1UWRQ8oQe+HXAVM6qHFjw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" + } + }, + "@babel/plugin-transform-numeric-separator": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.24.1.tgz", + "integrity": "sha512-7GAsGlK4cNL2OExJH1DzmDeKnRv/LXq0eLUSvudrehVA5Rgg4bIrqEUW29FbKMBRT0ztSqisv7kjP+XIC4ZMNw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/plugin-syntax-numeric-separator": "^7.10.4" + } + }, + "@babel/plugin-transform-object-rest-spread": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.24.1.tgz", + "integrity": "sha512-XjD5f0YqOtebto4HGISLNfiNMTTs6tbkFf2TOqJlYKYmbo+mN9Dnpl4SRoofiziuOWMIyq3sZEUqLo3hLITFEA==", + "dev": true, + "requires": { + "@babel/helper-compilation-targets": "^7.23.6", + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-transform-parameters": "^7.24.1" + } + }, + "@babel/plugin-transform-object-super": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.24.1.tgz", + "integrity": "sha512-oKJqR3TeI5hSLRxudMjFQ9re9fBVUU0GICqM3J1mi8MqlhVr6hC/ZN4ttAyMuQR6EZZIY6h/exe5swqGNNIkWQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/helper-replace-supers": "^7.24.1" + } + }, + "@babel/plugin-transform-optional-catch-binding": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.24.1.tgz", + "integrity": "sha512-oBTH7oURV4Y+3EUrf6cWn1OHio3qG/PVwO5J03iSJmBg6m2EhKjkAu/xuaXaYwWW9miYtvbWv4LNf0AmR43LUA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" + } + }, + "@babel/plugin-transform-optional-chaining": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.24.1.tgz", + "integrity": "sha512-n03wmDt+987qXwAgcBlnUUivrZBPZ8z1plL0YvgQalLm+ZE5BMhGm94jhxXtA1wzv1Cu2aaOv1BM9vbVttrzSg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", + "@babel/plugin-syntax-optional-chaining": "^7.8.3" + } + }, + "@babel/plugin-transform-parameters": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.24.1.tgz", + "integrity": "sha512-8Jl6V24g+Uw5OGPeWNKrKqXPDw2YDjLc53ojwfMcKwlEoETKU9rU0mHUtcg9JntWI/QYzGAXNWEcVHZ+fR+XXg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.24.0" + } + }, + "@babel/plugin-transform-private-methods": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.24.1.tgz", + "integrity": "sha512-tGvisebwBO5em4PaYNqt4fkw56K2VALsAbAakY0FjTYqJp7gfdrgr7YX76Or8/cpik0W6+tj3rZ0uHU9Oil4tw==", + "dev": true, + "requires": { + "@babel/helper-create-class-features-plugin": "^7.24.1", + "@babel/helper-plugin-utils": "^7.24.0" + } + }, + "@babel/plugin-transform-private-property-in-object": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.24.1.tgz", + "integrity": "sha512-pTHxDVa0BpUbvAgX3Gat+7cSciXqUcY9j2VZKTbSB6+VQGpNgNO9ailxTGHSXlqOnX1Hcx1Enme2+yv7VqP9bg==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-create-class-features-plugin": "^7.24.1", + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5" + } + }, + "@babel/plugin-transform-property-literals": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.24.1.tgz", + "integrity": "sha512-LetvD7CrHmEx0G442gOomRr66d7q8HzzGGr4PMHGr+5YIm6++Yke+jxj246rpvsbyhJwCLxcTn6zW1P1BSenqA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.24.0" + } + }, + "@babel/plugin-transform-react-display-name": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.24.1.tgz", + "integrity": "sha512-mvoQg2f9p2qlpDQRBC7M3c3XTr0k7cp/0+kFKKO/7Gtu0LSw16eKB+Fabe2bDT/UpsyasTBBkAnbdsLrkD5XMw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.24.0" + } + }, + "@babel/plugin-transform-react-jsx": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.23.4.tgz", + "integrity": "sha512-5xOpoPguCZCRbo/JeHlloSkTA8Bld1J/E1/kLfD1nsuiW1m8tduTA1ERCgIZokDflX/IBzKcqR3l7VlRgiIfHA==", + "dev": true, + "requires": { + "@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/types": "^7.23.4" + } + }, + "@babel/plugin-transform-react-jsx-development": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.22.5.tgz", + "integrity": "sha512-bDhuzwWMuInwCYeDeMzyi7TaBgRQei6DqxhbyniL7/VG4RSS7HtSL2QbY4eESy1KJqlWt8g3xeEBGPuo+XqC8A==", + "dev": true, + "requires": { + "@babel/plugin-transform-react-jsx": "^7.22.5" + } + }, + "@babel/plugin-transform-react-jsx-self": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.24.1.tgz", + "integrity": "sha512-kDJgnPujTmAZ/9q2CN4m2/lRsUUPDvsG3+tSHWUJIzMGTt5U/b/fwWd3RO3n+5mjLrsBrVa5eKFRVSQbi3dF1w==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.24.0" + } + }, + "@babel/plugin-transform-react-jsx-source": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.24.1.tgz", + "integrity": "sha512-1v202n7aUq4uXAieRTKcwPzNyphlCuqHHDcdSNc+vdhoTEZcFMh+L5yZuCmGaIO7bs1nJUNfHB89TZyoL48xNA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.24.0" + } + }, + "@babel/plugin-transform-react-pure-annotations": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.24.1.tgz", + "integrity": "sha512-+pWEAaDJvSm9aFvJNpLiM2+ktl2Sn2U5DdyiWdZBxmLc6+xGt88dvFqsHiAiDS+8WqUwbDfkKz9jRxK3M0k+kA==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-plugin-utils": "^7.24.0" + } + }, + "@babel/plugin-transform-regenerator": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.24.1.tgz", + "integrity": "sha512-sJwZBCzIBE4t+5Q4IGLaaun5ExVMRY0lYwos/jNecjMrVCygCdph3IKv0tkP5Fc87e/1+bebAmEAGBfnRD+cnw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.24.0", + "regenerator-transform": "^0.15.2" + } + }, + "@babel/plugin-transform-reserved-words": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.24.1.tgz", + "integrity": "sha512-JAclqStUfIwKN15HrsQADFgeZt+wexNQ0uLhuqvqAUFoqPMjEcFCYZBhq0LUdz6dZK/mD+rErhW71fbx8RYElg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.24.0" + } + }, + "@babel/plugin-transform-runtime": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.4.4.tgz", + "integrity": "sha512-aMVojEjPszvau3NRg+TIH14ynZLvPewH4xhlCW1w6A3rkxTS1m4uwzRclYR9oS+rl/dr+kT+pzbfHuAWP/lc7Q==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.0.0", + "@babel/helper-plugin-utils": "^7.0.0", + "resolve": "^1.8.1", + "semver": "^5.5.1" + }, + "dependencies": { + "semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "dev": true + } + } + }, + "@babel/plugin-transform-shorthand-properties": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.24.1.tgz", + "integrity": "sha512-LyjVB1nsJ6gTTUKRjRWx9C1s9hE7dLfP/knKdrfeH9UPtAGjYGgxIbFfx7xyLIEWs7Xe1Gnf8EWiUqfjLhInZA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.24.0" + } + }, + "@babel/plugin-transform-spread": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.24.1.tgz", + "integrity": "sha512-KjmcIM+fxgY+KxPVbjelJC6hrH1CgtPmTvdXAfn3/a9CnWGSTY7nH4zm5+cjmWJybdcPSsD0++QssDsjcpe47g==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5" + } + }, + "@babel/plugin-transform-sticky-regex": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.24.1.tgz", + "integrity": "sha512-9v0f1bRXgPVcPrngOQvLXeGNNVLc8UjMVfebo9ka0WF3/7+aVUHmaJVT3sa0XCzEFioPfPHZiOcYG9qOsH63cw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.24.0" + } + }, + "@babel/plugin-transform-template-literals": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.24.1.tgz", + "integrity": "sha512-WRkhROsNzriarqECASCNu/nojeXCDTE/F2HmRgOzi7NGvyfYGq1NEjKBK3ckLfRgGc6/lPAqP0vDOSw3YtG34g==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.24.0" + } + }, + "@babel/plugin-transform-typeof-symbol": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.24.1.tgz", + "integrity": "sha512-CBfU4l/A+KruSUoW+vTQthwcAdwuqbpRNB8HQKlZABwHRhsdHZ9fezp4Sn18PeAlYxTNiLMlx4xUBV3AWfg1BA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.24.0" + } + }, + "@babel/plugin-transform-typescript": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.24.1.tgz", + "integrity": "sha512-liYSESjX2fZ7JyBFkYG78nfvHlMKE6IpNdTVnxmlYUR+j5ZLsitFbaAE+eJSK2zPPkNWNw4mXL51rQ8WrvdK0w==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-create-class-features-plugin": "^7.24.1", + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/plugin-syntax-typescript": "^7.24.1" + } + }, + "@babel/plugin-transform-unicode-escapes": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.24.1.tgz", + "integrity": "sha512-RlkVIcWT4TLI96zM660S877E7beKlQw7Ig+wqkKBiWfj0zH5Q4h50q6er4wzZKRNSYpfo6ILJ+hrJAGSX2qcNw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.24.0" + } + }, + "@babel/plugin-transform-unicode-property-regex": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.24.1.tgz", + "integrity": "sha512-Ss4VvlfYV5huWApFsF8/Sq0oXnGO+jB+rijFEFugTd3cwSObUSnUi88djgR5528Csl0uKlrI331kRqe56Ov2Ng==", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.22.15", + "@babel/helper-plugin-utils": "^7.24.0" + } + }, + "@babel/plugin-transform-unicode-regex": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.24.1.tgz", + "integrity": "sha512-2A/94wgZgxfTsiLaQ2E36XAOdcZmGAaEEgVmxQWwZXWkGhvoHbaqXcKnU8zny4ycpu3vNqg0L/PcCiYtHtA13g==", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.22.15", + "@babel/helper-plugin-utils": "^7.24.0" + } + }, + "@babel/plugin-transform-unicode-sets-regex": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.24.1.tgz", + "integrity": "sha512-fqj4WuzzS+ukpgerpAoOnMfQXwUHFxXUZUE84oL2Kao2N8uSlvcpnAidKASgsNgzZHBsHWvcm8s9FPWUhAb8fA==", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.22.15", + "@babel/helper-plugin-utils": "^7.24.0" + } + }, + "@babel/preset-env": { + "version": "7.24.3", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.24.3.tgz", + "integrity": "sha512-fSk430k5c2ff8536JcPvPWK4tZDwehWLGlBp0wrsBUjZVdeQV6lePbwKWZaZfK2vnh/1kQX1PzAJWsnBmVgGJA==", + "dev": true, + "requires": { + "@babel/compat-data": "^7.24.1", + "@babel/helper-compilation-targets": "^7.23.6", + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/helper-validator-option": "^7.23.5", + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.24.1", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.24.1", + "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.24.1", + "@babel/plugin-proposal-private-property-in-object": "7.21.0-placeholder-for-preset-env.2", + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-class-properties": "^7.12.13", + "@babel/plugin-syntax-class-static-block": "^7.14.5", + "@babel/plugin-syntax-dynamic-import": "^7.8.3", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3", + "@babel/plugin-syntax-import-assertions": "^7.24.1", + "@babel/plugin-syntax-import-attributes": "^7.24.1", + "@babel/plugin-syntax-import-meta": "^7.10.4", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.10.4", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5", + "@babel/plugin-syntax-top-level-await": "^7.14.5", + "@babel/plugin-syntax-unicode-sets-regex": "^7.18.6", + "@babel/plugin-transform-arrow-functions": "^7.24.1", + "@babel/plugin-transform-async-generator-functions": "^7.24.3", + "@babel/plugin-transform-async-to-generator": "^7.24.1", + "@babel/plugin-transform-block-scoped-functions": "^7.24.1", + "@babel/plugin-transform-block-scoping": "^7.24.1", + "@babel/plugin-transform-class-properties": "^7.24.1", + "@babel/plugin-transform-class-static-block": "^7.24.1", + "@babel/plugin-transform-classes": "^7.24.1", + "@babel/plugin-transform-computed-properties": "^7.24.1", + "@babel/plugin-transform-destructuring": "^7.24.1", + "@babel/plugin-transform-dotall-regex": "^7.24.1", + "@babel/plugin-transform-duplicate-keys": "^7.24.1", + "@babel/plugin-transform-dynamic-import": "^7.24.1", + "@babel/plugin-transform-exponentiation-operator": "^7.24.1", + "@babel/plugin-transform-export-namespace-from": "^7.24.1", + "@babel/plugin-transform-for-of": "^7.24.1", + "@babel/plugin-transform-function-name": "^7.24.1", + "@babel/plugin-transform-json-strings": "^7.24.1", + "@babel/plugin-transform-literals": "^7.24.1", + "@babel/plugin-transform-logical-assignment-operators": "^7.24.1", + "@babel/plugin-transform-member-expression-literals": "^7.24.1", + "@babel/plugin-transform-modules-amd": "^7.24.1", + "@babel/plugin-transform-modules-commonjs": "^7.24.1", + "@babel/plugin-transform-modules-systemjs": "^7.24.1", + "@babel/plugin-transform-modules-umd": "^7.24.1", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.22.5", + "@babel/plugin-transform-new-target": "^7.24.1", + "@babel/plugin-transform-nullish-coalescing-operator": "^7.24.1", + "@babel/plugin-transform-numeric-separator": "^7.24.1", + "@babel/plugin-transform-object-rest-spread": "^7.24.1", + "@babel/plugin-transform-object-super": "^7.24.1", + "@babel/plugin-transform-optional-catch-binding": "^7.24.1", + "@babel/plugin-transform-optional-chaining": "^7.24.1", + "@babel/plugin-transform-parameters": "^7.24.1", + "@babel/plugin-transform-private-methods": "^7.24.1", + "@babel/plugin-transform-private-property-in-object": "^7.24.1", + "@babel/plugin-transform-property-literals": "^7.24.1", + "@babel/plugin-transform-regenerator": "^7.24.1", + "@babel/plugin-transform-reserved-words": "^7.24.1", + "@babel/plugin-transform-shorthand-properties": "^7.24.1", + "@babel/plugin-transform-spread": "^7.24.1", + "@babel/plugin-transform-sticky-regex": "^7.24.1", + "@babel/plugin-transform-template-literals": "^7.24.1", + "@babel/plugin-transform-typeof-symbol": "^7.24.1", + "@babel/plugin-transform-unicode-escapes": "^7.24.1", + "@babel/plugin-transform-unicode-property-regex": "^7.24.1", + "@babel/plugin-transform-unicode-regex": "^7.24.1", + "@babel/plugin-transform-unicode-sets-regex": "^7.24.1", + "@babel/preset-modules": "0.1.6-no-external-plugins", + "babel-plugin-polyfill-corejs2": "^0.4.10", + "babel-plugin-polyfill-corejs3": "^0.10.4", + "babel-plugin-polyfill-regenerator": "^0.6.1", + "core-js-compat": "^3.31.0", + "semver": "^6.3.1" + }, + "dependencies": { + "semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true + } + } + }, + "@babel/preset-modules": { + "version": "0.1.6-no-external-plugins", + "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz", + "integrity": "sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/types": "^7.4.4", + "esutils": "^2.0.2" + } + }, + "@babel/preset-react": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.24.1.tgz", + "integrity": "sha512-eFa8up2/8cZXLIpkafhaADTXSnl7IsUFCYenRWrARBz0/qZwcT0RBXpys0LJU4+WfPoF2ZG6ew6s2V6izMCwRA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/helper-validator-option": "^7.23.5", + "@babel/plugin-transform-react-display-name": "^7.24.1", + "@babel/plugin-transform-react-jsx": "^7.23.4", + "@babel/plugin-transform-react-jsx-development": "^7.22.5", + "@babel/plugin-transform-react-pure-annotations": "^7.24.1" + } + }, + "@babel/preset-typescript": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.24.1.tgz", + "integrity": "sha512-1DBaMmRDpuYQBPWD8Pf/WEwCrtgRHxsZnP4mIy9G/X+hFfbI47Q2G4t1Paakld84+qsk2fSsUPMKg71jkoOOaQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/helper-validator-option": "^7.23.5", + "@babel/plugin-syntax-jsx": "^7.24.1", + "@babel/plugin-transform-modules-commonjs": "^7.24.1", + "@babel/plugin-transform-typescript": "^7.24.1" + } + }, + "@babel/register": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/register/-/register-7.4.4.tgz", + "integrity": "sha512-sn51H88GRa00+ZoMqCVgOphmswG4b7mhf9VOB0LUBAieykq2GnRFerlN+JQkO/ntT7wz4jaHNSRPg9IdMPEUkA==", + "dev": true, + "requires": { + "core-js": "^3.0.0", + "find-cache-dir": "^2.0.0", + "lodash": "^4.17.11", + "mkdirp": "^0.5.1", + "pirates": "^4.0.0", + "source-map-support": "^0.5.9" + }, + "dependencies": { + "find-cache-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz", + "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==", + "dev": true, + "requires": { + "commondir": "^1.0.1", + "make-dir": "^2.0.0", + "pkg-dir": "^3.0.0" + } + }, + "find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dev": true, + "requires": { + "locate-path": "^3.0.0" + } + }, + "locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dev": true, + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + } + }, + "make-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", + "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", + "dev": true, + "requires": { + "pify": "^4.0.1", + "semver": "^5.6.0" + } + }, + "mkdirp": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", + "dev": true, + "requires": { + "minimist": "^1.2.6" + } + }, + "p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dev": true, + "requires": { + "p-limit": "^2.0.0" + } + }, + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", + "dev": true + }, + "pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "dev": true + }, + "pkg-dir": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", + "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", + "dev": true, + "requires": { + "find-up": "^3.0.0" + } + }, + "semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "dev": true + } + } + }, + "@babel/regjsgen": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/@babel/regjsgen/-/regjsgen-0.8.0.tgz", + "integrity": "sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==", + "dev": true + }, + "@babel/runtime": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.24.1.tgz", + "integrity": "sha512-+BIznRzyqBf+2wCTxcKE3wDjfGeCoVE61KSHGpkzqrLi8qxqFwBeUFyId2cxkTmm55fzDGnm0+yCxaxygrLUnQ==", + "requires": { + "regenerator-runtime": "^0.14.0" + } + }, + "@babel/runtime-corejs3": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.24.1.tgz", + "integrity": "sha512-T9ko/35G+Bkl+win48GduaPlhSlOjjE5s1TeiEcD+QpxlLQnoEfb/nO/T+TQqkm+ipFwORn+rB8w14iJ/uD0bg==", + "dev": true, + "requires": { + "core-js-pure": "^3.30.2", + "regenerator-runtime": "^0.14.0" + } + }, + "@babel/template": { + "version": "7.24.0", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.24.0.tgz", + "integrity": "sha512-Bkf2q8lMB0AFpX0NFEqSbx1OkTHf0f+0j82mkw+ZpzBnkk7e9Ql0891vlfgi+kHwOk8tQjiQHpqh4LaSa0fKEA==", + "requires": { + "@babel/code-frame": "^7.23.5", + "@babel/parser": "^7.24.0", + "@babel/types": "^7.24.0" + } + }, + "@babel/traverse": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.24.1.tgz", + "integrity": "sha512-xuU6o9m68KeqZbQuDt2TcKSxUw/mrsvavlEqQ1leZ/B+C9tk6E4sRWy97WaXgvq5E+nU3cXMxv3WKOCanVMCmQ==", + "requires": { + "@babel/code-frame": "^7.24.1", + "@babel/generator": "^7.24.1", + "@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.24.1", + "@babel/types": "^7.24.0", + "debug": "^4.3.1", + "globals": "^11.1.0" + } + }, + "@babel/types": { + "version": "7.24.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.24.0.tgz", + "integrity": "sha512-+j7a5c253RfKh8iABBhywc8NSfP5LURe7Uh4qpsh6jc+aLJguvmIUBdjSdEMQv2bENrCR5MfRdjGo7vzS/ob7w==", + "requires": { + "@babel/helper-string-parser": "^7.23.4", + "@babel/helper-validator-identifier": "^7.22.20", + "to-fast-properties": "^2.0.0" + } + }, + "@bcoe/v8-coverage": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", + "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", + "dev": true + }, + "@bloomberg/record-tuple-polyfill": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/@bloomberg/record-tuple-polyfill/-/record-tuple-polyfill-0.0.3.tgz", + "integrity": "sha512-sBnCqW0nqofE47mxFnw+lvx6kzsQstwaQMVkh66qm/A6IlsnH7WsyGuVXTou8RF2wL4W7ybOoHPvP2WgIo6rhQ==" + }, + "@braintree/sanitize-url": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/@braintree/sanitize-url/-/sanitize-url-5.0.2.tgz", + "integrity": "sha512-NBEJlHWrhQucLhZGHtSxM2loSaNUMajC7KOYJLyfcdW/6goVoff2HoYI3bz8YCDN0wKGbxtUL0gx2dvHpvnWlw==", + "dev": true + }, + "@chenshuai2144/sketch-color": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/@chenshuai2144/sketch-color/-/sketch-color-1.0.9.tgz", + "integrity": "sha512-obzSy26cb7Pm7OprWyVpgMpIlrZpZ0B7vbrU0RMbvRg0YAI890S5Xy02Aj1Nhl4+KTbi1lVYHt6HQP8Hm9s+1w==", + "requires": { + "reactcss": "^1.2.3", + "tinycolor2": "^1.4.2" + } + }, + "@cnakazawa/watch": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@cnakazawa/watch/-/watch-1.0.4.tgz", + "integrity": "sha512-v9kIhKwjeZThiWrLmj0y17CWoyddASLj9O2yvbZkbvw/N3rWOYy9zkV66ursAoVr0mV15bL8g0c4QZUE6cdDoQ==", + "dev": true, + "requires": { + "exec-sh": "^0.3.2", + "minimist": "^1.2.0" + } + }, + "@csstools/convert-colors": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@csstools/convert-colors/-/convert-colors-1.4.0.tgz", + "integrity": "sha512-5a6wqoJV/xEdbRNKVo6I4hO3VjyDq//8q2f9I6PBAvMesJHFauXDorcNCsr9RzvsZnaWi5NYCcfyqP1QeFHFbw==" + }, + "@ctrl/tinycolor": { + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/@ctrl/tinycolor/-/tinycolor-3.6.1.tgz", + "integrity": "sha512-SITSV6aIXsuVNV3f3O0f2n/cgyEDWoSqtZMYiAmcsYHydcKrOz3gUxB/iXd/Qf08+IZX4KpgNbvUdMBmWz+kcA==" + }, + "@eslint-community/eslint-utils": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", + "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", + "dev": true, + "requires": { + "eslint-visitor-keys": "^3.3.0" + }, + "dependencies": { + "eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "dev": true + } + } + }, + "@eslint-community/regexpp": { + "version": "4.10.0", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.10.0.tgz", + "integrity": "sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==", + "dev": true + }, + "@eslint/eslintrc": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.4.3.tgz", + "integrity": "sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw==", + "dev": true, + "requires": { + "ajv": "^6.12.4", + "debug": "^4.1.1", + "espree": "^7.3.0", + "globals": "^13.9.0", + "ignore": "^4.0.6", + "import-fresh": "^3.2.1", + "js-yaml": "^3.13.1", + "minimatch": "^3.0.4", + "strip-json-comments": "^3.1.1" + }, + "dependencies": { + "globals": { + "version": "13.24.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", + "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", + "dev": true, + "requires": { + "type-fest": "^0.20.2" + } + }, + "ignore": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", + "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", + "dev": true + } + } + }, + "@exodus/schemasafe": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@exodus/schemasafe/-/schemasafe-1.3.0.tgz", + "integrity": "sha512-5Aap/GaRupgNx/feGBwLLTVv8OQFfv3pq2lPRzPg9R+IOBnDgghTGW7l7EuVXOvg5cc/xSAlRW8rBrjIC3Nvqw==", + "dev": true + }, + "@formatjs/ecma402-abstract": { + "version": "1.11.4", + "resolved": "https://registry.npmjs.org/@formatjs/ecma402-abstract/-/ecma402-abstract-1.11.4.tgz", + "integrity": "sha512-EBikYFp2JCdIfGEb5G9dyCkTGDmC57KSHhRQOC3aYxoPWVZvfWCDjZwkGYHN7Lis/fmuWl906bnNTJifDQ3sXw==", + "dev": true, + "requires": { + "@formatjs/intl-localematcher": "0.2.25", + "tslib": "^2.1.0" + } + }, + "@formatjs/fast-memoize": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@formatjs/fast-memoize/-/fast-memoize-1.2.1.tgz", + "integrity": "sha512-Rg0e76nomkz3vF9IPlKeV+Qynok0r7YZjL6syLz4/urSg0IbjPZCB/iYUMNsYA643gh4mgrX3T7KEIFIxJBQeg==", + "dev": true, + "requires": { + "tslib": "^2.1.0" + } + }, + "@formatjs/icu-messageformat-parser": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@formatjs/icu-messageformat-parser/-/icu-messageformat-parser-2.1.0.tgz", + "integrity": "sha512-Qxv/lmCN6hKpBSss2uQ8IROVnta2r9jd3ymUEIjm2UyIkUCHVcbUVRGL/KS/wv7876edvsPe+hjHVJ4z8YuVaw==", + "dev": true, + "requires": { + "@formatjs/ecma402-abstract": "1.11.4", + "@formatjs/icu-skeleton-parser": "1.3.6", + "tslib": "^2.1.0" + } + }, + "@formatjs/icu-skeleton-parser": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/@formatjs/icu-skeleton-parser/-/icu-skeleton-parser-1.3.6.tgz", + "integrity": "sha512-I96mOxvml/YLrwU2Txnd4klA7V8fRhb6JG/4hm3VMNmeJo1F03IpV2L3wWt7EweqNLES59SZ4d6hVOPCSf80Bg==", + "dev": true, + "requires": { + "@formatjs/ecma402-abstract": "1.11.4", + "tslib": "^2.1.0" + } + }, + "@formatjs/intl-displaynames": { + "version": "1.2.10", + "resolved": "https://registry.npmjs.org/@formatjs/intl-displaynames/-/intl-displaynames-1.2.10.tgz", + "integrity": "sha512-GROA2RP6+7Ouu0WnHFF78O5XIU7pBfI19WM1qm93l6MFWibUk67nCfVCK3VAYJkLy8L8ZxjkYT11VIAfvSz8wg==", + "dev": true, + "requires": { + "@formatjs/intl-utils": "^2.3.0" + } + }, + "@formatjs/intl-listformat": { + "version": "1.4.8", + "resolved": "https://registry.npmjs.org/@formatjs/intl-listformat/-/intl-listformat-1.4.8.tgz", + "integrity": "sha512-WNMQlEg0e50VZrGIkgD5n7+DAMGt3boKi1GJALfhFMymslJb5i+5WzWxyj/3a929Z6MAFsmzRIJjKuv+BxKAOQ==", + "dev": true, + "requires": { + "@formatjs/intl-utils": "^2.3.0" + } + }, + "@formatjs/intl-localematcher": { + "version": "0.2.25", + "resolved": "https://registry.npmjs.org/@formatjs/intl-localematcher/-/intl-localematcher-0.2.25.tgz", + "integrity": "sha512-YmLcX70BxoSopLFdLr1Ds99NdlTI2oWoLbaUW2M406lxOIPzE1KQhRz2fPUkq34xVZQaihCoU29h0KK7An3bhA==", + "dev": true, + "requires": { + "tslib": "^2.1.0" + } + }, + "@formatjs/intl-pluralrules": { + "version": "1.5.9", + "resolved": "https://registry.npmjs.org/@formatjs/intl-pluralrules/-/intl-pluralrules-1.5.9.tgz", + "integrity": "sha512-37E1ZG+Oqo3qrpUfumzNcFTV+V+NCExmTkkQ9Zw4FSlvJ4WhbbeYdieVapUVz9M0cLy8XrhCkfuM/Kn03iKReg==", + "dev": true, + "requires": { + "@formatjs/intl-utils": "^2.3.0" + } + }, + "@formatjs/intl-relativetimeformat": { + "version": "4.5.16", + "resolved": "https://registry.npmjs.org/@formatjs/intl-relativetimeformat/-/intl-relativetimeformat-4.5.16.tgz", + "integrity": "sha512-IQ0haY97oHAH5OYUdykNiepdyEWj3SAT+Fp9ZpR85ov2JNiFx+12WWlxlVS8ehdyncC2ZMt/SwFIy2huK2+6/A==", + "dev": true, + "requires": { + "@formatjs/intl-utils": "^2.3.0" + } + }, + "@formatjs/intl-unified-numberformat": { + "version": "3.3.7", + "resolved": "https://registry.npmjs.org/@formatjs/intl-unified-numberformat/-/intl-unified-numberformat-3.3.7.tgz", + "integrity": "sha512-KnWgLRHzCAgT9eyt3OS34RHoyD7dPDYhRcuKn+/6Kv2knDF8Im43J6vlSW6Hm1w63fNq3ZIT1cFk7RuVO3Psag==", + "dev": true, + "requires": { + "@formatjs/intl-utils": "^2.3.0" + } + }, + "@formatjs/intl-utils": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@formatjs/intl-utils/-/intl-utils-2.3.0.tgz", + "integrity": "sha512-KWk80UPIzPmUg+P0rKh6TqspRw0G6eux1PuJr+zz47ftMaZ9QDwbGzHZbtzWkl5hgayM/qrKRutllRC7D/vVXQ==", + "dev": true + }, + "@hapi/address": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@hapi/address/-/address-2.1.4.tgz", + "integrity": "sha512-QD1PhQk+s31P1ixsX0H0Suoupp3VMXzIVMSwobR3F3MSUO2YCV0B7xqLcUw/Bh8yuvd3LhpyqLQWTNcRmp6IdQ==", + "dev": true + }, + "@hapi/formula": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@hapi/formula/-/formula-1.2.0.tgz", + "integrity": "sha512-UFbtbGPjstz0eWHb+ga/GM3Z9EzqKXFWIbSOFURU0A/Gku0Bky4bCk9/h//K2Xr3IrCfjFNhMm4jyZ5dbCewGA==", + "dev": true + }, + "@hapi/hoek": { + "version": "8.5.1", + "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-8.5.1.tgz", + "integrity": "sha512-yN7kbciD87WzLGc5539Tn0sApjyiGHAJgKvG9W8C7O+6c7qmoQMfVs0W4bX17eqz6C78QJqqFrtgdK5EWf6Qow==", + "dev": true + }, + "@hapi/joi": { + "version": "16.1.8", + "resolved": "https://registry.npmjs.org/@hapi/joi/-/joi-16.1.8.tgz", + "integrity": "sha512-wAsVvTPe+FwSrsAurNt5vkg3zo+TblvC5Bb1zMVK6SJzZqw9UrJnexxR+76cpePmtUZKHAPxcQ2Bf7oVHyahhg==", + "dev": true, + "requires": { + "@hapi/address": "^2.1.2", + "@hapi/formula": "^1.2.0", + "@hapi/hoek": "^8.2.4", + "@hapi/pinpoint": "^1.0.2", + "@hapi/topo": "^3.1.3" + } + }, + "@hapi/pinpoint": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@hapi/pinpoint/-/pinpoint-1.0.2.tgz", + "integrity": "sha512-dtXC/WkZBfC5vxscazuiJ6iq4j9oNx1SHknmIr8hofarpKUZKmlUVYVIhNVzIEgK5Wrc4GMHL5lZtt1uS2flmQ==", + "dev": true + }, + "@hapi/topo": { + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-3.1.6.tgz", + "integrity": "sha512-tAag0jEcjwH+P2quUfipd7liWCNX2F8NvYjQp2wtInsZxnMlypdw0FtAOLxtvvkO+GSRRbmNi8m/5y42PQJYCQ==", + "dev": true, + "requires": { + "@hapi/hoek": "^8.3.0" + } + }, + "@humanwhocodes/config-array": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.5.0.tgz", + "integrity": "sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg==", + "dev": true, + "requires": { + "@humanwhocodes/object-schema": "^1.2.0", + "debug": "^4.1.1", + "minimatch": "^3.0.4" + } + }, + "@humanwhocodes/object-schema": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", + "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", + "dev": true + }, + "@istanbuljs/load-nyc-config": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", + "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", + "dev": true, + "requires": { + "camelcase": "^5.3.1", + "find-up": "^4.1.0", + "get-package-type": "^0.1.0", + "js-yaml": "^3.13.1", + "resolve-from": "^5.0.0" + } + }, + "@istanbuljs/schema": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", + "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", + "dev": true + }, + "@jest/console": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-26.6.2.tgz", + "integrity": "sha512-IY1R2i2aLsLr7Id3S6p2BA82GNWryt4oSvEXLAKc+L2zdi89dSkE8xC1C+0kpATG4JhBJREnQOH7/zmccM2B0g==", + "dev": true, + "requires": { + "@jest/types": "^26.6.2", + "@types/node": "*", + "chalk": "^4.0.0", + "jest-message-util": "^26.6.2", + "jest-util": "^26.6.2", + "slash": "^3.0.0" + } + }, + "@jest/core": { + "version": "26.6.3", + "resolved": "https://registry.npmjs.org/@jest/core/-/core-26.6.3.tgz", + "integrity": "sha512-xvV1kKbhfUqFVuZ8Cyo+JPpipAHHAV3kcDBftiduK8EICXmTFddryy3P7NfZt8Pv37rA9nEJBKCCkglCPt/Xjw==", + "dev": true, + "requires": { + "@jest/console": "^26.6.2", + "@jest/reporters": "^26.6.2", + "@jest/test-result": "^26.6.2", + "@jest/transform": "^26.6.2", + "@jest/types": "^26.6.2", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.4", + "jest-changed-files": "^26.6.2", + "jest-config": "^26.6.3", + "jest-haste-map": "^26.6.2", + "jest-message-util": "^26.6.2", + "jest-regex-util": "^26.0.0", + "jest-resolve": "^26.6.2", + "jest-resolve-dependencies": "^26.6.3", + "jest-runner": "^26.6.3", + "jest-runtime": "^26.6.3", + "jest-snapshot": "^26.6.2", + "jest-util": "^26.6.2", + "jest-validate": "^26.6.2", + "jest-watcher": "^26.6.2", + "micromatch": "^4.0.2", + "p-each-series": "^2.1.0", + "rimraf": "^3.0.0", + "slash": "^3.0.0", + "strip-ansi": "^6.0.0" + } + }, + "@jest/environment": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-26.6.2.tgz", + "integrity": "sha512-nFy+fHl28zUrRsCeMB61VDThV1pVTtlEokBRgqPrcT1JNq4yRNIyTHfyht6PqtUvY9IsuLGTrbG8kPXjSZIZwA==", + "dev": true, + "requires": { + "@jest/fake-timers": "^26.6.2", + "@jest/types": "^26.6.2", + "@types/node": "*", + "jest-mock": "^26.6.2" + } + }, + "@jest/fake-timers": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-26.6.2.tgz", + "integrity": "sha512-14Uleatt7jdzefLPYM3KLcnUl1ZNikaKq34enpb5XG9i81JpppDb5muZvonvKyrl7ftEHkKS5L5/eB/kxJ+bvA==", + "dev": true, + "requires": { + "@jest/types": "^26.6.2", + "@sinonjs/fake-timers": "^6.0.1", + "@types/node": "*", + "jest-message-util": "^26.6.2", + "jest-mock": "^26.6.2", + "jest-util": "^26.6.2" + } + }, + "@jest/globals": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-26.6.2.tgz", + "integrity": "sha512-85Ltnm7HlB/KesBUuALwQ68YTU72w9H2xW9FjZ1eL1U3lhtefjjl5c2MiUbpXt/i6LaPRvoOFJ22yCBSfQ0JIA==", + "dev": true, + "requires": { + "@jest/environment": "^26.6.2", + "@jest/types": "^26.6.2", + "expect": "^26.6.2" + } + }, + "@jest/reporters": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-26.6.2.tgz", + "integrity": "sha512-h2bW53APG4HvkOnVMo8q3QXa6pcaNt1HkwVsOPMBV6LD/q9oSpxNSYZQYkAnjdMjrJ86UuYeLo+aEZClV6opnw==", + "dev": true, + "requires": { + "@bcoe/v8-coverage": "^0.2.3", + "@jest/console": "^26.6.2", + "@jest/test-result": "^26.6.2", + "@jest/transform": "^26.6.2", + "@jest/types": "^26.6.2", + "chalk": "^4.0.0", + "collect-v8-coverage": "^1.0.0", + "exit": "^0.1.2", + "glob": "^7.1.2", + "graceful-fs": "^4.2.4", + "istanbul-lib-coverage": "^3.0.0", + "istanbul-lib-instrument": "^4.0.3", + "istanbul-lib-report": "^3.0.0", + "istanbul-lib-source-maps": "^4.0.0", + "istanbul-reports": "^3.0.2", + "jest-haste-map": "^26.6.2", + "jest-resolve": "^26.6.2", + "jest-util": "^26.6.2", + "jest-worker": "^26.6.2", + "node-notifier": "^8.0.0", + "slash": "^3.0.0", + "source-map": "^0.6.0", + "string-length": "^4.0.1", + "terminal-link": "^2.0.0", + "v8-to-istanbul": "^7.0.0" + }, + "dependencies": { + "istanbul-lib-instrument": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz", + "integrity": "sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ==", + "dev": true, + "requires": { + "@babel/core": "^7.7.5", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-coverage": "^3.0.0", + "semver": "^6.3.0" + } + }, + "jest-worker": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-26.6.2.tgz", + "integrity": "sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==", + "dev": true, + "requires": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^7.0.0" + } + }, + "semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true + }, + "terminal-link": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/terminal-link/-/terminal-link-2.1.1.tgz", + "integrity": "sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==", + "dev": true, + "requires": { + "ansi-escapes": "^4.2.1", + "supports-hyperlinks": "^2.0.0" + } + } + } + }, + "@jest/source-map": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-26.6.2.tgz", + "integrity": "sha512-YwYcCwAnNmOVsZ8mr3GfnzdXDAl4LaenZP5z+G0c8bzC9/dugL8zRmxZzdoTl4IaS3CryS1uWnROLPFmb6lVvA==", + "dev": true, + "requires": { + "callsites": "^3.0.0", + "graceful-fs": "^4.2.4", + "source-map": "^0.6.0" + } + }, + "@jest/test-result": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-26.6.2.tgz", + "integrity": "sha512-5O7H5c/7YlojphYNrK02LlDIV2GNPYisKwHm2QTKjNZeEzezCbwYs9swJySv2UfPMyZ0VdsmMv7jIlD/IKYQpQ==", + "dev": true, + "requires": { + "@jest/console": "^26.6.2", + "@jest/types": "^26.6.2", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" + } + }, + "@jest/test-sequencer": { + "version": "26.6.3", + "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-26.6.3.tgz", + "integrity": "sha512-YHlVIjP5nfEyjlrSr8t/YdNfU/1XEt7c5b4OxcXCjyRhjzLYu/rO69/WHPuYcbCWkz8kAeZVZp2N2+IOLLEPGw==", + "dev": true, + "requires": { + "@jest/test-result": "^26.6.2", + "graceful-fs": "^4.2.4", + "jest-haste-map": "^26.6.2", + "jest-runner": "^26.6.3", + "jest-runtime": "^26.6.3" + } + }, + "@jest/transform": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-26.6.2.tgz", + "integrity": "sha512-E9JjhUgNzvuQ+vVAL21vlyfy12gP0GhazGgJC4h6qUt1jSdUXGWJ1wfu/X7Sd8etSgxV4ovT1pb9v5D6QW4XgA==", + "dev": true, + "requires": { + "@babel/core": "^7.1.0", + "@jest/types": "^26.6.2", + "babel-plugin-istanbul": "^6.0.0", + "chalk": "^4.0.0", + "convert-source-map": "^1.4.0", + "fast-json-stable-stringify": "^2.0.0", + "graceful-fs": "^4.2.4", + "jest-haste-map": "^26.6.2", + "jest-regex-util": "^26.0.0", + "jest-util": "^26.6.2", + "micromatch": "^4.0.2", + "pirates": "^4.0.1", + "slash": "^3.0.0", + "source-map": "^0.6.1", + "write-file-atomic": "^3.0.0" + }, + "dependencies": { + "convert-source-map": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", + "dev": true + } + } + }, + "@jest/types": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz", + "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^15.0.0", + "chalk": "^4.0.0" + } + }, + "@jridgewell/gen-mapping": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", + "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", + "requires": { + "@jridgewell/set-array": "^1.2.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.24" + } + }, + "@jridgewell/resolve-uri": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==" + }, + "@jridgewell/set-array": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", + "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==" + }, + "@jridgewell/source-map": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.6.tgz", + "integrity": "sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==", + "requires": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25" + } + }, + "@jridgewell/sourcemap-codec": { + "version": "1.4.15", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", + "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==" + }, + "@jridgewell/trace-mapping": { + "version": "0.3.25", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", + "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", + "requires": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "@kyleshockey/object-assign-deep": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/@kyleshockey/object-assign-deep/-/object-assign-deep-0.4.2.tgz", + "integrity": "sha512-GWZ8omROOrXe4/T4wsKfq86E0efACDG+mghGoz0nWY/THVmt8O/vSpc1YqRBlvBnprhMcL4OrRjM7R/FyKcMJw==", + "dev": true + }, + "@kyleshockey/xml": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@kyleshockey/xml/-/xml-1.0.2.tgz", + "integrity": "sha512-iMo32MPLcI9cPxs3YL5kmKxKgDmkSZDCFEqIT5eRk7d/Ll8r4X3SwGYSigzALd6+RHWlFEmjL1QyaQ15xDZFlw==", + "dev": true, + "requires": { + "stream": "^0.0.2" + } + }, + "@mapbox/hast-util-to-jsx": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@mapbox/hast-util-to-jsx/-/hast-util-to-jsx-1.0.0.tgz", + "integrity": "sha512-HJRp3qkr0uGIBFASzA8rVATLo6y/UoOMoD8eXsG8HVofk5Dokc9PV+dh266zYLZniYgtpJbc2+AKf1fNpsVqAA==", + "dev": true, + "requires": { + "kebab-case": "^1.0.0", + "postcss": "^7.0.31", + "postcss-js": "^2.0.3", + "property-information": "^5.5.0", + "react-attr-converter": "^0.3.1", + "stringify-entities": "^3.0.1", + "stringify-object": "^3.3.0" + } + }, + "@nicolo-ribaudo/eslint-scope-5-internals": { + "version": "5.1.1-v1", + "resolved": "https://registry.npmjs.org/@nicolo-ribaudo/eslint-scope-5-internals/-/eslint-scope-5-internals-5.1.1-v1.tgz", + "integrity": "sha512-54/JRvkLIzzDWshCWfuhadfrfZVPiElY8Fcgmg1HroEly/EDSszzhBAsarCux+D/kOslTRquNzuyGSmUSTTHGg==", + "dev": true, + "requires": { + "eslint-scope": "5.1.1" + } + }, + "@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "requires": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + } + }, + "@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==" + }, + "@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "requires": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + } + }, + "@playwright/test": { + "version": "1.42.1", + "resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.42.1.tgz", + "integrity": "sha512-Gq9rmS54mjBL/7/MvBaNOBwbfnh7beHvS6oS4srqXFcQHpQCV1+c8JXWE8VLPyRDhgS3H8x8A7hztqI9VnwrAQ==", + "dev": true, + "requires": { + "playwright": "1.42.1" + } + }, + "@qixian.cs/path-to-regexp": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@qixian.cs/path-to-regexp/-/path-to-regexp-6.1.0.tgz", + "integrity": "sha512-2jIiLiVZB1jnY7IIRQKtoV8Gnr7XIhk4mC88ONGunZE3hYt5IHUG4BE/6+JiTBjjEWQLBeWnZB8hGpppkufiVw==" + }, + "@rc-component/portal": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@rc-component/portal/-/portal-1.1.2.tgz", + "integrity": "sha512-6f813C0IsasTZms08kfA8kPAGxbbkYToa8ALaiDIGGECU4i9hj8Plgbx0sNJDrey3EtHO30hmdaxtT0138xZcg==", + "requires": { + "@babel/runtime": "^7.18.0", + "classnames": "^2.3.2", + "rc-util": "^5.24.4" + } + }, + "@rc-component/trigger": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@rc-component/trigger/-/trigger-2.0.0.tgz", + "integrity": "sha512-niwKADPdY5dhdIblV6uwSayVivwo2uUISfJqri+/ovYQcH/omxDYBJKo755QKeoIIsWptxnRpgr7reEnNEZGFg==", + "requires": { + "@babel/runtime": "^7.23.2", + "@rc-component/portal": "^1.1.0", + "classnames": "^2.3.2", + "rc-motion": "^2.0.0", + "rc-resize-observer": "^1.3.1", + "rc-util": "^5.38.0" + } + }, + "@sindresorhus/is": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.14.0.tgz", + "integrity": "sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ==", + "dev": true + }, + "@sinonjs/commons": { + "version": "1.8.6", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.6.tgz", + "integrity": "sha512-Ky+XkAkqPZSm3NLBeUng77EBQl3cmeJhITaGHdYH8kjVB+aun3S4XBRti2zt17mtt0mIUDiNxYeoJm6drVvBJQ==", + "dev": true, + "requires": { + "type-detect": "4.0.8" + } + }, + "@sinonjs/fake-timers": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-6.0.1.tgz", + "integrity": "sha512-MZPUxrmFubI36XS1DI3qmI0YdN1gks62JtFZvxR67ljjSNCeK6U08Zx4msEWOXuofgqUt6zPHSi1H9fbjR/NRA==", + "dev": true, + "requires": { + "@sinonjs/commons": "^1.7.0" + } + }, + "@stylelint/postcss-css-in-js": { + "version": "0.37.3", + "resolved": "https://registry.npmjs.org/@stylelint/postcss-css-in-js/-/postcss-css-in-js-0.37.3.tgz", + "integrity": "sha512-scLk3cSH1H9KggSniseb2KNAU5D9FWc3H7BxCSAIdtU9OWIyw0zkEZ9qEKHryRM+SExYXRKNb7tOOVNAsQ3iwg==", + "dev": true, + "requires": { + "@babel/core": "^7.17.9" + } + }, + "@stylelint/postcss-markdown": { + "version": "0.36.2", + "resolved": "https://registry.npmjs.org/@stylelint/postcss-markdown/-/postcss-markdown-0.36.2.tgz", + "integrity": "sha512-2kGbqUVJUGE8dM+bMzXG/PYUWKkjLIkRLWNh39OaADkiabDRdw8ATFCgbMz5xdIcvwspPAluSL7uY+ZiTWdWmQ==", + "dev": true, + "requires": { + "remark": "^13.0.0", + "unist-util-find-all-after": "^3.0.2" + } + }, + "@swagger-api/apidom-ast": { + "version": "0.98.0", + "resolved": "https://registry.npmjs.org/@swagger-api/apidom-ast/-/apidom-ast-0.98.0.tgz", + "integrity": "sha512-0PThtNVpLWWwWEt0AEFAiMAyXUDUkIQ5aspHBPQVyh2bKUg71H33/xOLAk0kgRSTLGlsWPrZtirgzAEz7AUWSw==", + "dev": true, + "requires": { + "@babel/runtime-corejs3": "^7.20.7", + "@swagger-api/apidom-error": "^0.98.0", + "@types/ramda": "~0.29.6", + "ramda": "~0.29.1", + "ramda-adjunct": "^4.1.1", + "unraw": "^3.0.0" + } + }, + "@swagger-api/apidom-core": { + "version": "0.98.0", + "resolved": "https://registry.npmjs.org/@swagger-api/apidom-core/-/apidom-core-0.98.0.tgz", + "integrity": "sha512-WKyOmuloUC2jJ7qtSEiigx6RhCMwBTOnW/1qQlhttRy2HlrzziNPIpq2vfZUtSU6FG8InlWSrf939KLfrQG1Fw==", + "dev": true, + "requires": { + "@babel/runtime-corejs3": "^7.20.7", + "@swagger-api/apidom-ast": "^0.98.0", + "@swagger-api/apidom-error": "^0.98.0", + "@types/ramda": "~0.29.6", + "minim": "~0.23.8", + "ramda": "~0.29.1", + "ramda-adjunct": "^4.1.1", + "short-unique-id": "^5.0.2", + "stampit": "^4.3.2" + } + }, + "@swagger-api/apidom-error": { + "version": "0.98.0", + "resolved": "https://registry.npmjs.org/@swagger-api/apidom-error/-/apidom-error-0.98.0.tgz", + "integrity": "sha512-c6Brf8Njg0zv0U6VZax6J0v/TkllP2+6//NCKKMvdecYknoJl9yfsG6dPP5DustbSNrsi2IGI9j0uyJ+osVh6Q==", + "dev": true, + "requires": { + "@babel/runtime-corejs3": "^7.20.7" + } + }, + "@swagger-api/apidom-json-pointer": { + "version": "0.98.0", + "resolved": "https://registry.npmjs.org/@swagger-api/apidom-json-pointer/-/apidom-json-pointer-0.98.0.tgz", + "integrity": "sha512-CjQBBvvG26isK2YUx3+/cHWBLO/q0C7Lv42v6Ux5NVRbOtpqO7WQCX0gGiDg4MBDcPcuw0dgNilu9QoErRq2wg==", + "dev": true, + "requires": { + "@babel/runtime-corejs3": "^7.20.7", + "@swagger-api/apidom-core": "^0.98.0", + "@swagger-api/apidom-error": "^0.98.0", + "@types/ramda": "~0.29.6", + "ramda": "~0.29.1", + "ramda-adjunct": "^4.0.0" + } + }, + "@swagger-api/apidom-ns-api-design-systems": { + "version": "0.98.0", + "resolved": "https://registry.npmjs.org/@swagger-api/apidom-ns-api-design-systems/-/apidom-ns-api-design-systems-0.98.0.tgz", + "integrity": "sha512-zs+BMXtffopb8h/gOgANVeF4xyt+MGo2EXRSiiqqKZObZ99vxvmZ3B/BvcKi41PIA14YLZAaXG8zDEpIgSTaRQ==", + "dev": true, + "optional": true, + "requires": { + "@babel/runtime-corejs3": "^7.20.7", + "@swagger-api/apidom-core": "^0.98.0", + "@swagger-api/apidom-error": "^0.98.0", + "@swagger-api/apidom-ns-openapi-3-1": "^0.98.0", + "@types/ramda": "~0.29.6", + "ramda": "~0.29.1", + "ramda-adjunct": "^4.1.1", + "ts-mixer": "^6.0.3" + } + }, + "@swagger-api/apidom-ns-asyncapi-2": { + "version": "0.98.0", + "resolved": "https://registry.npmjs.org/@swagger-api/apidom-ns-asyncapi-2/-/apidom-ns-asyncapi-2-0.98.0.tgz", + "integrity": "sha512-3oXGYjNL60S+wKIOM7NGxoWpISAs9/mpXTOEtEBGwPy2LZ4HQ/DpAmkQJq5FUH3ChJDDkiWPR24jfBQDSIsLqw==", + "dev": true, + "optional": true, + "requires": { + "@babel/runtime-corejs3": "^7.20.7", + "@swagger-api/apidom-core": "^0.98.0", + "@swagger-api/apidom-ns-json-schema-draft-7": "^0.98.0", + "@types/ramda": "~0.29.6", + "ramda": "~0.29.1", + "ramda-adjunct": "^4.1.1", + "ts-mixer": "^6.0.3" + } + }, + "@swagger-api/apidom-ns-json-schema-draft-4": { + "version": "0.98.0", + "resolved": "https://registry.npmjs.org/@swagger-api/apidom-ns-json-schema-draft-4/-/apidom-ns-json-schema-draft-4-0.98.0.tgz", + "integrity": "sha512-NgHyZ8a/Voeg4YzlWCX1zIidqFFA5236bjSs0g/DJAFDxi28jSs35OJKOXZz65T2LXIzdYytes9O/VyyxvHH5Q==", + "dev": true, + "requires": { + "@babel/runtime-corejs3": "^7.20.7", + "@swagger-api/apidom-ast": "^0.98.0", + "@swagger-api/apidom-core": "^0.98.0", + "@types/ramda": "~0.29.6", + "ramda": "~0.29.1", + "ramda-adjunct": "^4.1.1", + "stampit": "^4.3.2" + } + }, + "@swagger-api/apidom-ns-json-schema-draft-6": { + "version": "0.98.0", + "resolved": "https://registry.npmjs.org/@swagger-api/apidom-ns-json-schema-draft-6/-/apidom-ns-json-schema-draft-6-0.98.0.tgz", + "integrity": "sha512-NOPB4byXEuZNl4Fh83GwUu3Vd7LgXNYjb3+4Zh6hC9JhMyTeN8yysbN+Llfh8Qq2KW4h7E+x9pZv7cIKrPAEMg==", + "dev": true, + "optional": true, + "requires": { + "@babel/runtime-corejs3": "^7.20.7", + "@swagger-api/apidom-core": "^0.98.0", + "@swagger-api/apidom-error": "^0.98.0", + "@swagger-api/apidom-ns-json-schema-draft-4": "^0.98.0", + "@types/ramda": "~0.29.6", + "ramda": "~0.29.1", + "ramda-adjunct": "^4.1.1", + "stampit": "^4.3.2" + } + }, + "@swagger-api/apidom-ns-json-schema-draft-7": { + "version": "0.98.0", + "resolved": "https://registry.npmjs.org/@swagger-api/apidom-ns-json-schema-draft-7/-/apidom-ns-json-schema-draft-7-0.98.0.tgz", + "integrity": "sha512-mHc3J34iA1OZk1uOO0KfAVfH+Z7qjKpyXBEKkXuaf7ICCFC5vbPWGj10Ufjb8yx93TZ7akLXHLh8DhDqvH6beA==", + "dev": true, + "optional": true, + "requires": { + "@babel/runtime-corejs3": "^7.20.7", + "@swagger-api/apidom-core": "^0.98.0", + "@swagger-api/apidom-error": "^0.98.0", + "@swagger-api/apidom-ns-json-schema-draft-6": "^0.98.0", + "@types/ramda": "~0.29.6", + "ramda": "~0.29.1", + "ramda-adjunct": "^4.1.1", + "stampit": "^4.3.2" + } + }, + "@swagger-api/apidom-ns-openapi-2": { + "version": "0.98.0", + "resolved": "https://registry.npmjs.org/@swagger-api/apidom-ns-openapi-2/-/apidom-ns-openapi-2-0.98.0.tgz", + "integrity": "sha512-AOZIUfRFwUN4ujb6BiFH16h8QEb93/ZDh7R5ly6lnKBsXhD/l8KgQFwZAB4PsGDJ1no6KlTWL1F0O3ucSv2cmQ==", + "dev": true, + "optional": true, + "requires": { + "@babel/runtime-corejs3": "^7.20.7", + "@swagger-api/apidom-core": "^0.98.0", + "@swagger-api/apidom-error": "^0.98.0", + "@swagger-api/apidom-ns-json-schema-draft-4": "^0.98.0", + "@types/ramda": "~0.29.6", + "ramda": "~0.29.1", + "ramda-adjunct": "^4.1.1", + "ts-mixer": "^6.0.3" + } + }, + "@swagger-api/apidom-ns-openapi-3-0": { + "version": "0.98.0", + "resolved": "https://registry.npmjs.org/@swagger-api/apidom-ns-openapi-3-0/-/apidom-ns-openapi-3-0-0.98.0.tgz", + "integrity": "sha512-VHbdpH4y0zStSmKCaSUz+jalmj+sjbJfB7W8anKjqdiOMGywMHLjLYDkQWHg/z6fM+0OriWItHXe3sTtOBh7OQ==", + "dev": true, + "requires": { + "@babel/runtime-corejs3": "^7.20.7", + "@swagger-api/apidom-core": "^0.98.0", + "@swagger-api/apidom-error": "^0.98.0", + "@swagger-api/apidom-ns-json-schema-draft-4": "^0.98.0", + "@types/ramda": "~0.29.6", + "ramda": "~0.29.1", + "ramda-adjunct": "^4.1.1", + "ts-mixer": "^6.0.3" + } + }, + "@swagger-api/apidom-ns-openapi-3-1": { + "version": "0.98.0", + "resolved": "https://registry.npmjs.org/@swagger-api/apidom-ns-openapi-3-1/-/apidom-ns-openapi-3-1-0.98.0.tgz", + "integrity": "sha512-T+B0Fcreq1iEuvUJWnYujAjAdPltKPRmXZ6aI+iL1g0rT3kmEig4KSuiynhEyftU1wukRw8IbKj4KiOyuAwyLg==", + "dev": true, + "requires": { + "@babel/runtime-corejs3": "^7.20.7", + "@swagger-api/apidom-ast": "^0.98.0", + "@swagger-api/apidom-core": "^0.98.0", + "@swagger-api/apidom-ns-openapi-3-0": "^0.98.0", + "@types/ramda": "~0.29.6", + "ramda": "~0.29.1", + "ramda-adjunct": "^4.1.1", + "ts-mixer": "^6.0.3" + } + }, + "@swagger-api/apidom-ns-workflows-1": { + "version": "0.98.0", + "resolved": "https://registry.npmjs.org/@swagger-api/apidom-ns-workflows-1/-/apidom-ns-workflows-1-0.98.0.tgz", + "integrity": "sha512-jaJYpBHKcX+Sz8f3QGFEM6jYzSKOJTKNrfqwNBLkOwa1AZrMwiofqGhjAiz5HHFNkfYJdR6LQmSU4sq24IamHw==", + "dev": true, + "optional": true, + "requires": { + "@babel/runtime-corejs3": "^7.20.7", + "@swagger-api/apidom-core": "^0.98.0", + "@swagger-api/apidom-ns-openapi-3-1": "^0.98.0", + "@types/ramda": "~0.29.6", + "ramda": "~0.29.1", + "ramda-adjunct": "^4.1.1", + "ts-mixer": "^6.0.3" + } + }, + "@swagger-api/apidom-parser-adapter-api-design-systems-json": { + "version": "0.98.0", + "resolved": "https://registry.npmjs.org/@swagger-api/apidom-parser-adapter-api-design-systems-json/-/apidom-parser-adapter-api-design-systems-json-0.98.0.tgz", + "integrity": "sha512-gfQmKNexWhDN3uOuc8NUt5wXGRFzwdNYeEYyEVPFO0+Nbs8qrdqmfgiuXgpvEDXkDJZiIug4zPMC2Q1XiB7zMA==", + "dev": true, + "optional": true, + "requires": { + "@babel/runtime-corejs3": "^7.20.7", + "@swagger-api/apidom-core": "^0.98.0", + "@swagger-api/apidom-ns-api-design-systems": "^0.98.0", + "@swagger-api/apidom-parser-adapter-json": "^0.98.0", + "@types/ramda": "~0.29.6", + "ramda": "~0.29.1", + "ramda-adjunct": "^4.0.0" + } + }, + "@swagger-api/apidom-parser-adapter-api-design-systems-yaml": { + "version": "0.98.0", + "resolved": "https://registry.npmjs.org/@swagger-api/apidom-parser-adapter-api-design-systems-yaml/-/apidom-parser-adapter-api-design-systems-yaml-0.98.0.tgz", + "integrity": "sha512-U8zhua172l2CKh200rVKPwounwGDr6DEzi0BaA31pTcel8e2jwmEkGTJ4PdO1aCHN1cDYVYXMGyEf67gOoo/kg==", + "dev": true, + "optional": true, + "requires": { + "@babel/runtime-corejs3": "^7.20.7", + "@swagger-api/apidom-core": "^0.98.0", + "@swagger-api/apidom-ns-api-design-systems": "^0.98.0", + "@swagger-api/apidom-parser-adapter-yaml-1-2": "^0.98.0", + "@types/ramda": "~0.29.6", + "ramda": "~0.29.1", + "ramda-adjunct": "^4.0.0" + } + }, + "@swagger-api/apidom-parser-adapter-asyncapi-json-2": { + "version": "0.98.0", + "resolved": "https://registry.npmjs.org/@swagger-api/apidom-parser-adapter-asyncapi-json-2/-/apidom-parser-adapter-asyncapi-json-2-0.98.0.tgz", + "integrity": "sha512-4mV0Ja+r2s5WAqJyZJHtQsNhyR2x8J+fYhcmuBHcqZp3sokzTObAAImsIdZ1zYdFYrrZgymD4GMk4RoLbJM3FQ==", + "dev": true, + "optional": true, + "requires": { + "@babel/runtime-corejs3": "^7.20.7", + "@swagger-api/apidom-core": "^0.98.0", + "@swagger-api/apidom-ns-asyncapi-2": "^0.98.0", + "@swagger-api/apidom-parser-adapter-json": "^0.98.0", + "@types/ramda": "~0.29.6", + "ramda": "~0.29.1", + "ramda-adjunct": "^4.0.0" + } + }, + "@swagger-api/apidom-parser-adapter-asyncapi-yaml-2": { + "version": "0.98.0", + "resolved": "https://registry.npmjs.org/@swagger-api/apidom-parser-adapter-asyncapi-yaml-2/-/apidom-parser-adapter-asyncapi-yaml-2-0.98.0.tgz", + "integrity": "sha512-FLb5IUVhOdhRSfi2OnpOWxiB7CVZXrqG1rSniOWQ4fjeQ7urB5NJv6p2nbC9waduHA0B0mItiO1ijvbOFf0Dcw==", + "dev": true, + "optional": true, + "requires": { + "@babel/runtime-corejs3": "^7.20.7", + "@swagger-api/apidom-core": "^0.98.0", + "@swagger-api/apidom-ns-asyncapi-2": "^0.98.0", + "@swagger-api/apidom-parser-adapter-yaml-1-2": "^0.98.0", + "@types/ramda": "~0.29.6", + "ramda": "~0.29.1", + "ramda-adjunct": "^4.0.0" + } + }, + "@swagger-api/apidom-parser-adapter-json": { + "version": "0.98.0", + "resolved": "https://registry.npmjs.org/@swagger-api/apidom-parser-adapter-json/-/apidom-parser-adapter-json-0.98.0.tgz", + "integrity": "sha512-tZkL4sZ5JsICnhYGTeCApHRbfyAkjydb5h+OOE+MAEajRxi/PWklFDGiU7viScPWWE9cPnzRqtp8M0RutmHJew==", + "dev": true, + "optional": true, + "requires": { + "@babel/runtime-corejs3": "^7.20.7", + "@swagger-api/apidom-ast": "^0.98.0", + "@swagger-api/apidom-core": "^0.98.0", + "@swagger-api/apidom-error": "^0.98.0", + "@types/ramda": "~0.29.6", + "ramda": "~0.29.1", + "ramda-adjunct": "^4.1.1", + "tree-sitter": "=0.20.4", + "tree-sitter-json": "=0.20.2", + "web-tree-sitter": "=0.20.3" + } + }, + "@swagger-api/apidom-parser-adapter-openapi-json-2": { + "version": "0.98.0", + "resolved": "https://registry.npmjs.org/@swagger-api/apidom-parser-adapter-openapi-json-2/-/apidom-parser-adapter-openapi-json-2-0.98.0.tgz", + "integrity": "sha512-81M0Z0N0oWCiUy251IIewm9YwKDFyR84XccrHnIIf/aWuikU2IRr5fDonxweIPuDYybKdpia8lca0GG/iI6G3g==", + "dev": true, + "optional": true, + "requires": { + "@babel/runtime-corejs3": "^7.20.7", + "@swagger-api/apidom-core": "^0.98.0", + "@swagger-api/apidom-ns-openapi-2": "^0.98.0", + "@swagger-api/apidom-parser-adapter-json": "^0.98.0", + "@types/ramda": "~0.29.6", + "ramda": "~0.29.1", + "ramda-adjunct": "^4.0.0" + } + }, + "@swagger-api/apidom-parser-adapter-openapi-json-3-0": { + "version": "0.98.0", + "resolved": "https://registry.npmjs.org/@swagger-api/apidom-parser-adapter-openapi-json-3-0/-/apidom-parser-adapter-openapi-json-3-0-0.98.0.tgz", + "integrity": "sha512-mfvj3f75CYAUtslv5ildHllGl8ZWpuge9alTcjxtwIGUu85oXdQ6yv7EExWHe2icZ3w+VY12VzwMbpEumx6k/Q==", + "dev": true, + "optional": true, + "requires": { + "@babel/runtime-corejs3": "^7.20.7", + "@swagger-api/apidom-core": "^0.98.0", + "@swagger-api/apidom-ns-openapi-3-0": "^0.98.0", + "@swagger-api/apidom-parser-adapter-json": "^0.98.0", + "@types/ramda": "~0.29.6", + "ramda": "~0.29.1", + "ramda-adjunct": "^4.0.0" + } + }, + "@swagger-api/apidom-parser-adapter-openapi-json-3-1": { + "version": "0.98.0", + "resolved": "https://registry.npmjs.org/@swagger-api/apidom-parser-adapter-openapi-json-3-1/-/apidom-parser-adapter-openapi-json-3-1-0.98.0.tgz", + "integrity": "sha512-HzlF/G+tygojw8UswwdLptDUBGhp9d+nGzADG2j+M1onBrw35/jdRPtX4S2KQ8mmwyEEgHlRENhv7yndvCbvPg==", + "dev": true, + "optional": true, + "requires": { + "@babel/runtime-corejs3": "^7.20.7", + "@swagger-api/apidom-core": "^0.98.0", + "@swagger-api/apidom-ns-openapi-3-1": "^0.98.0", + "@swagger-api/apidom-parser-adapter-json": "^0.98.0", + "@types/ramda": "~0.29.6", + "ramda": "~0.29.1", + "ramda-adjunct": "^4.0.0" + } + }, + "@swagger-api/apidom-parser-adapter-openapi-yaml-2": { + "version": "0.98.0", + "resolved": "https://registry.npmjs.org/@swagger-api/apidom-parser-adapter-openapi-yaml-2/-/apidom-parser-adapter-openapi-yaml-2-0.98.0.tgz", + "integrity": "sha512-FzQNMk6gDUSp2PLtMKhnDF6MFk0T7y6ewPrYk0ztcul+m6YQD4pdcUXhpXcwtfy9dspJQERF7UKuaK9dZsm8BQ==", + "dev": true, + "optional": true, + "requires": { + "@babel/runtime-corejs3": "^7.20.7", + "@swagger-api/apidom-core": "^0.98.0", + "@swagger-api/apidom-ns-openapi-2": "^0.98.0", + "@swagger-api/apidom-parser-adapter-yaml-1-2": "^0.98.0", + "@types/ramda": "~0.29.6", + "ramda": "~0.29.1", + "ramda-adjunct": "^4.0.0" + } + }, + "@swagger-api/apidom-parser-adapter-openapi-yaml-3-0": { + "version": "0.98.0", + "resolved": "https://registry.npmjs.org/@swagger-api/apidom-parser-adapter-openapi-yaml-3-0/-/apidom-parser-adapter-openapi-yaml-3-0-0.98.0.tgz", + "integrity": "sha512-H1EYjBDeKx0WiPqsrUkb+Zlm59rqbtQb6w+SAdkw4PBHi0+yOgOlvUrIkTYEVy8BD6he01dbMocv+EDXpd9rww==", + "dev": true, + "optional": true, + "requires": { + "@babel/runtime-corejs3": "^7.20.7", + "@swagger-api/apidom-core": "^0.98.0", + "@swagger-api/apidom-ns-openapi-3-0": "^0.98.0", + "@swagger-api/apidom-parser-adapter-yaml-1-2": "^0.98.0", + "@types/ramda": "~0.29.6", + "ramda": "~0.29.1", + "ramda-adjunct": "^4.0.0" + } + }, + "@swagger-api/apidom-parser-adapter-openapi-yaml-3-1": { + "version": "0.98.0", + "resolved": "https://registry.npmjs.org/@swagger-api/apidom-parser-adapter-openapi-yaml-3-1/-/apidom-parser-adapter-openapi-yaml-3-1-0.98.0.tgz", + "integrity": "sha512-sxnAJDg0TGK0T4HwtkE1mkfQWL564UGlgvU+gfrEmOLjsfqRDrlFfffYKguqtJdz17+HgUp78Sqj6Ey48J83Jw==", + "dev": true, + "optional": true, + "requires": { + "@babel/runtime-corejs3": "^7.20.7", + "@swagger-api/apidom-core": "^0.98.0", + "@swagger-api/apidom-ns-openapi-3-1": "^0.98.0", + "@swagger-api/apidom-parser-adapter-yaml-1-2": "^0.98.0", + "@types/ramda": "~0.29.6", + "ramda": "~0.29.1", + "ramda-adjunct": "^4.0.0" + } + }, + "@swagger-api/apidom-parser-adapter-workflows-json-1": { + "version": "0.98.0", + "resolved": "https://registry.npmjs.org/@swagger-api/apidom-parser-adapter-workflows-json-1/-/apidom-parser-adapter-workflows-json-1-0.98.0.tgz", + "integrity": "sha512-XroOfEPbs6Ogl4pSZGQ4yctu4OsMQw5qvnVTFS3hCr+fHQXFIaD+remFRjHQRqhyVC0FDmw0mggWubcSosiyCg==", + "dev": true, + "optional": true, + "requires": { + "@babel/runtime-corejs3": "^7.20.7", + "@swagger-api/apidom-core": "^0.98.0", + "@swagger-api/apidom-ns-workflows-1": "^0.98.0", + "@swagger-api/apidom-parser-adapter-json": "^0.98.0", + "@types/ramda": "~0.29.6", + "ramda": "~0.29.1", + "ramda-adjunct": "^4.0.0" + } + }, + "@swagger-api/apidom-parser-adapter-workflows-yaml-1": { + "version": "0.98.0", + "resolved": "https://registry.npmjs.org/@swagger-api/apidom-parser-adapter-workflows-yaml-1/-/apidom-parser-adapter-workflows-yaml-1-0.98.0.tgz", + "integrity": "sha512-9SG9g+raKEU8cpEVT7eYlHGUEWAB7DYm/oNN5k3i4hLbJUIYKrL4KAK1sRrfxrGRiCIJG/O/jw4NLcSVgLcVJQ==", + "dev": true, + "optional": true, + "requires": { + "@babel/runtime-corejs3": "^7.20.7", + "@swagger-api/apidom-core": "^0.98.0", + "@swagger-api/apidom-ns-workflows-1": "^0.98.0", + "@swagger-api/apidom-parser-adapter-yaml-1-2": "^0.98.0", + "@types/ramda": "~0.29.6", + "ramda": "~0.29.1", + "ramda-adjunct": "^4.0.0" + } + }, + "@swagger-api/apidom-parser-adapter-yaml-1-2": { + "version": "0.98.0", + "resolved": "https://registry.npmjs.org/@swagger-api/apidom-parser-adapter-yaml-1-2/-/apidom-parser-adapter-yaml-1-2-0.98.0.tgz", + "integrity": "sha512-pEIZblIK+/k9p6wge3z9uX1bVD7zzXhoxg3hgpClojZmmJV/jriDUmRzLO1MeqVbH+JFXE2FGFvE5D4CRFCEVw==", + "dev": true, + "optional": true, + "requires": { + "@babel/runtime-corejs3": "^7.20.7", + "@swagger-api/apidom-ast": "^0.98.0", + "@swagger-api/apidom-core": "^0.98.0", + "@swagger-api/apidom-error": "^0.98.0", + "@types/ramda": "~0.29.6", + "ramda": "~0.29.1", + "ramda-adjunct": "^4.1.1", + "tree-sitter": "=0.20.4", + "tree-sitter-yaml": "=0.5.0", + "web-tree-sitter": "=0.20.3" + } + }, + "@swagger-api/apidom-reference": { + "version": "0.98.3", + "resolved": "https://registry.npmjs.org/@swagger-api/apidom-reference/-/apidom-reference-0.98.3.tgz", + "integrity": "sha512-S7xink9IOmam6AlceCIgOvBKLqc8PirATsQcJiyJ/RvzS5bS8HC01laAkHv7LSIOd43887EzURep8yqzk/UYLg==", + "dev": true, + "requires": { + "@babel/runtime-corejs3": "^7.20.7", + "@swagger-api/apidom-core": "^0.98.0", + "@swagger-api/apidom-error": "^0.98.0", + "@swagger-api/apidom-json-pointer": "^0.98.0", + "@swagger-api/apidom-ns-asyncapi-2": "^0.98.0", + "@swagger-api/apidom-ns-openapi-2": "^0.98.0", + "@swagger-api/apidom-ns-openapi-3-0": "^0.98.0", + "@swagger-api/apidom-ns-openapi-3-1": "^0.98.0", + "@swagger-api/apidom-ns-workflows-1": "^0.98.0", + "@swagger-api/apidom-parser-adapter-api-design-systems-json": "^0.98.0", + "@swagger-api/apidom-parser-adapter-api-design-systems-yaml": "^0.98.0", + "@swagger-api/apidom-parser-adapter-asyncapi-json-2": "^0.98.0", + "@swagger-api/apidom-parser-adapter-asyncapi-yaml-2": "^0.98.0", + "@swagger-api/apidom-parser-adapter-json": "^0.98.0", + "@swagger-api/apidom-parser-adapter-openapi-json-2": "^0.98.0", + "@swagger-api/apidom-parser-adapter-openapi-json-3-0": "^0.98.0", + "@swagger-api/apidom-parser-adapter-openapi-json-3-1": "^0.98.0", + "@swagger-api/apidom-parser-adapter-openapi-yaml-2": "^0.98.0", + "@swagger-api/apidom-parser-adapter-openapi-yaml-3-0": "^0.98.0", + "@swagger-api/apidom-parser-adapter-openapi-yaml-3-1": "^0.98.0", + "@swagger-api/apidom-parser-adapter-workflows-json-1": "^0.98.0", + "@swagger-api/apidom-parser-adapter-workflows-yaml-1": "^0.98.0", + "@swagger-api/apidom-parser-adapter-yaml-1-2": "^0.98.0", + "@types/ramda": "~0.29.6", + "axios": "^1.4.0", + "minimatch": "^7.4.3", + "process": "^0.11.10", + "ramda": "~0.29.1", + "ramda-adjunct": "^4.1.1", + "stampit": "^4.3.2" + }, + "dependencies": { + "brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0" + } + }, + "minimatch": { + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-7.4.6.tgz", + "integrity": "sha512-sBz8G/YjVniEz6lKPNpKxXwazJe4c19fEfV2GDMX6AjFz+MX9uDWIZW8XreVhkFW3fkIdTv/gxWr/Kks5FFAVw==", + "dev": true, + "requires": { + "brace-expansion": "^2.0.1" + } + } + } + }, + "@szmarczak/http-timer": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-1.1.2.tgz", + "integrity": "sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA==", + "dev": true, + "requires": { + "defer-to-connect": "^1.0.1" + } + }, + "@toast-ui/editor": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/@toast-ui/editor/-/editor-3.2.2.tgz", + "integrity": "sha512-ASX7LFjN2ZYQJrwmkUajPs7DRr9FsM1+RQ82CfTO0Y5ZXorBk1VZS4C2Dpxinx9kl55V4F8/A2h2QF4QMDtRbA==", + "requires": { + "dompurify": "^2.3.3", + "prosemirror-commands": "^1.1.9", + "prosemirror-history": "^1.1.3", + "prosemirror-inputrules": "^1.1.3", + "prosemirror-keymap": "^1.1.4", + "prosemirror-model": "^1.14.1", + "prosemirror-state": "^1.3.4", + "prosemirror-view": "^1.18.7" + } + }, + "@tootallnate/once": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz", + "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==", + "dev": true + }, + "@types/babel__core": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz", + "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==", + "dev": true, + "requires": { + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" + } + }, + "@types/babel__generator": { + "version": "7.6.8", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.8.tgz", + "integrity": "sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==", + "dev": true, + "requires": { + "@babel/types": "^7.0.0" + } + }, + "@types/babel__template": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz", + "integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==", + "dev": true, + "requires": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "@types/babel__traverse": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.5.tgz", + "integrity": "sha512-WXCyOcRtH37HAUkpXhUduaxdm82b4GSlyTqajXviN4EfiuPgNYR109xMCKvpl6zPIpua0DGlMEDCq+g8EdoheQ==", + "dev": true, + "requires": { + "@babel/types": "^7.20.7" + } + }, + "@types/body-parser": { + "version": "1.19.5", + "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.5.tgz", + "integrity": "sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg==", + "dev": true, + "requires": { + "@types/connect": "*", + "@types/node": "*" + } + }, + "@types/connect": { + "version": "3.4.38", + "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.38.tgz", + "integrity": "sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "@types/eslint": { + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-7.29.0.tgz", + "integrity": "sha512-VNcvioYDH8/FxaeTKkM4/TiTwt6pBV9E3OfGmvaw8tPl0rrHCJ4Ll15HRT+pMiFAf/MLQvAzC+6RzUMEL9Ceng==", + "dev": true, + "requires": { + "@types/estree": "*", + "@types/json-schema": "*" + } + }, + "@types/estree": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", + "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==", + "dev": true + }, + "@types/express": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.21.tgz", + "integrity": "sha512-ejlPM315qwLpaQlQDTjPdsUFSc6ZsP4AN6AlWnogPjQ7CVi7PYF3YVz+CY3jE2pwYf7E/7HlDAN0rV2GxTG0HQ==", + "dev": true, + "requires": { + "@types/body-parser": "*", + "@types/express-serve-static-core": "^4.17.33", + "@types/qs": "*", + "@types/serve-static": "*" + } + }, + "@types/express-serve-static-core": { + "version": "4.17.43", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.43.tgz", + "integrity": "sha512-oaYtiBirUOPQGSWNGPWnzyAFJ0BP3cwvN4oWZQY+zUBwpVIGsKUkpBpSztp74drYcjavs7SKFZ4DX1V2QeN8rg==", + "dev": true, + "requires": { + "@types/node": "*", + "@types/qs": "*", + "@types/range-parser": "*", + "@types/send": "*" + } + }, + "@types/glob": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.2.0.tgz", + "integrity": "sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==", + "dev": true, + "requires": { + "@types/minimatch": "*", + "@types/node": "*" + } + }, + "@types/graceful-fs": { + "version": "4.1.9", + "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.9.tgz", + "integrity": "sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "@types/hast": { + "version": "2.3.10", + "resolved": "https://registry.npmjs.org/@types/hast/-/hast-2.3.10.tgz", + "integrity": "sha512-McWspRw8xx8J9HurkVBfYj0xKoE25tOFlHGdx4MJ5xORQrMGZNqJhVQWaIbm6Oyla5kYOXtDiopzKRJzEOkwJw==", + "dev": true, + "requires": { + "@types/unist": "^2" + } + }, + "@types/history": { + "version": "4.7.11", + "resolved": "https://registry.npmjs.org/@types/history/-/history-4.7.11.tgz", + "integrity": "sha512-qjDJRrmvBMiTx+jyLxvLfJU7UznFuokDv4f3WRuriHKERccVpFU+8XMQUAbDzoiJCsmexxRExQeMwwCdamSKDA==" + }, + "@types/hoist-non-react-statics": { + "version": "3.3.5", + "resolved": "https://registry.npmjs.org/@types/hoist-non-react-statics/-/hoist-non-react-statics-3.3.5.tgz", + "integrity": "sha512-SbcrWzkKBw2cdwRTwQAswfpB9g9LJWfjtUeW/jvNwbhC8cpmmNYVePa+ncbUe0rGTQ7G3Ff6mYUN2VMfLVr+Sg==", + "dev": true, + "requires": { + "@types/react": "*", + "hoist-non-react-statics": "^3.3.0" + } + }, + "@types/http-errors": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.4.tgz", + "integrity": "sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA==", + "dev": true + }, + "@types/invariant": { + "version": "2.2.37", + "resolved": "https://registry.npmjs.org/@types/invariant/-/invariant-2.2.37.tgz", + "integrity": "sha512-IwpIMieE55oGWiXkQPSBY1nw1nFs6bsKXTFskNY8sdS17K24vyEBRQZEwlRS7ZmXCWnJcQtbxWzly+cODWGs2A==", + "dev": true + }, + "@types/isomorphic-fetch": { + "version": "0.0.35", + "resolved": "https://registry.npmjs.org/@types/isomorphic-fetch/-/isomorphic-fetch-0.0.35.tgz", + "integrity": "sha512-DaZNUvLDCAnCTjgwxgiL1eQdxIKEpNLOlTNtAgnZc50bG2copGhRrFN9/PxPBuJe+tZVLCbQ7ls0xveXVRPkvw==", + "dev": true + }, + "@types/istanbul-lib-coverage": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz", + "integrity": "sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==", + "dev": true + }, + "@types/istanbul-lib-report": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.3.tgz", + "integrity": "sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "*" + } + }, + "@types/istanbul-reports": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz", + "integrity": "sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==", + "dev": true, + "requires": { + "@types/istanbul-lib-report": "*" + } + }, + "@types/jest": { + "version": "26.0.24", + "resolved": "https://registry.npmjs.org/@types/jest/-/jest-26.0.24.tgz", + "integrity": "sha512-E/X5Vib8BWqZNRlDxj9vYXhsDwPYbPINqKF9BsnSoon4RQ0D9moEuLD8txgyypFLH7J4+Lho9Nr/c8H0Fi+17w==", + "dev": true, + "requires": { + "jest-diff": "^26.0.0", + "pretty-format": "^26.0.0" + } + }, + "@types/json-schema": { + "version": "7.0.15", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==" + }, + "@types/lodash": { + "version": "4.17.0", + "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.17.0.tgz", + "integrity": "sha512-t7dhREVv6dbNj0q17X12j7yDG4bD/DHYX7o5/DbDxobP0HnGPgpRz2Ej77aL7TZT3DSw13fqUTj8J4mMnqa7WA==", + "dev": true + }, + "@types/mathjax": { + "version": "0.0.36", + "resolved": "https://registry.npmjs.org/@types/mathjax/-/mathjax-0.0.36.tgz", + "integrity": "sha512-TqDJc2GWuTqd/m+G/FbNkN+/TF2OCCHvcawmhIrUaZkdVquMdNZmNiNUkupNg9qctorXXkVLVSogZv1DhmgLmg==", + "dev": true + }, + "@types/md5": { + "version": "2.3.5", + "resolved": "https://registry.npmjs.org/@types/md5/-/md5-2.3.5.tgz", + "integrity": "sha512-/i42wjYNgE6wf0j2bcTX6kuowmdL/6PE4IVitMpm2eYKBUuYCprdcWVK+xEF0gcV6ufMCRhtxmReGfc6hIK7Jw==" + }, + "@types/mdast": { + "version": "3.0.15", + "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-3.0.15.tgz", + "integrity": "sha512-LnwD+mUEfxWMa1QpDraczIn6k0Ee3SMicuYSSzS6ZYl2gKS09EClnJYGd8Du6rfc5r/GZEk5o1mRb8TaTj03sQ==", + "dev": true, + "requires": { + "@types/unist": "^2" + } + }, + "@types/mime": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.5.tgz", + "integrity": "sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==", + "dev": true + }, + "@types/minimatch": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.5.tgz", + "integrity": "sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==", + "dev": true + }, + "@types/minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-hov8bUuiLiyFPGyFPE1lwWhmzYbirOXQNNo40+y3zow8aFVTeyn3VWL0VFFfdNddA8S4Vf0Tc062rzyNr7Paag==", + "dev": true + }, + "@types/node": { + "version": "20.11.30", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.11.30.tgz", + "integrity": "sha512-dHM6ZxwlmuZaRmUPfv1p+KrdD1Dci04FbdEm/9wEMouFqxYoFl5aMkt0VMAUtYRQDyYvD41WJLukhq/ha3YuTw==", + "requires": { + "undici-types": "~5.26.4" + } + }, + "@types/normalize-package-data": { + "version": "2.4.4", + "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.4.tgz", + "integrity": "sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==", + "dev": true + }, + "@types/parse-json": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.2.tgz", + "integrity": "sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==" + }, + "@types/parse5": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/@types/parse5/-/parse5-5.0.3.tgz", + "integrity": "sha512-kUNnecmtkunAoQ3CnjmMkzNU/gtxG8guhi+Fk2U/kOpIKjIMKnXGp4IJCgQJrXSgMsWYimYG4TGjz/UzbGEBTw==", + "dev": true + }, + "@types/prettier": { + "version": "2.7.3", + "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.7.3.tgz", + "integrity": "sha512-+68kP9yzs4LMp7VNh8gdzMSPZFL44MLGqiHWvttYJe+6qnuVr4Ek9wSBQoveqY/r+LwjCcU29kNVkidwim+kYA==", + "dev": true + }, + "@types/prop-types": { + "version": "15.7.12", + "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.12.tgz", + "integrity": "sha512-5zvhXYtRNRluoE/jAp4GVsSduVUzNWKkOZrCDBWYtE7biZywwdC2AcEzg+cSMLFRfVgeAFqpfNabiPjxFddV1Q==" + }, + "@types/qs": { + "version": "6.9.14", + "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.14.tgz", + "integrity": "sha512-5khscbd3SwWMhFqylJBLQ0zIu7c1K6Vz0uBIt915BI3zV0q1nfjRQD3RqSBcPaO6PHEF4ov/t9y89fSiyThlPA==", + "dev": true + }, + "@types/ramda": { + "version": "0.29.11", + "resolved": "https://registry.npmjs.org/@types/ramda/-/ramda-0.29.11.tgz", + "integrity": "sha512-jm1+PmNOpE7aPS+mMcuB4a72VkCXUJqPSaQRu2YqR8MbsFfaowYXgKxc7bluYdDpRHNXT5Z+xu+Lgr3/ml6wSA==", + "dev": true, + "requires": { + "types-ramda": "^0.29.9" + } + }, + "@types/range-parser": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.7.tgz", + "integrity": "sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==", + "dev": true + }, + "@types/react": { + "version": "17.0.80", + "resolved": "https://registry.npmjs.org/@types/react/-/react-17.0.80.tgz", + "integrity": "sha512-LrgHIu2lEtIo8M7d1FcI3BdwXWoRQwMoXOZ7+dPTW0lYREjmlHl3P0U1VD0i/9tppOuv8/sam7sOjx34TxSFbA==", + "requires": { + "@types/prop-types": "*", + "@types/scheduler": "^0.16", + "csstype": "^3.0.2" + } + }, + "@types/react-dom": { + "version": "17.0.25", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-17.0.25.tgz", + "integrity": "sha512-urx7A7UxkZQmThYA4So0NelOVjx3V4rNFVJwp0WZlbIK5eM4rNJDiN3R/E9ix0MBh6kAEojk/9YL+Te6D9zHNA==", + "dev": true, + "requires": { + "@types/react": "^17" + } + }, + "@types/react-helmet": { + "version": "6.1.11", + "resolved": "https://registry.npmjs.org/@types/react-helmet/-/react-helmet-6.1.11.tgz", + "integrity": "sha512-0QcdGLddTERotCXo3VFlUSWO3ztraw8nZ6e3zJSgG7apwV5xt+pJUS8ewPBqT4NYB1optGLprNQzFleIY84u/g==", + "dev": true, + "requires": { + "@types/react": "*" + } + }, + "@types/react-redux": { + "version": "7.1.33", + "resolved": "https://registry.npmjs.org/@types/react-redux/-/react-redux-7.1.33.tgz", + "integrity": "sha512-NF8m5AjWCkert+fosDsN3hAlHzpjSiXlVy9EgQEmLoBhaNXbmyeGs/aj5dQzKuF+/q+S7JQagorGDW8pJ28Hmg==", + "dev": true, + "requires": { + "@types/hoist-non-react-statics": "^3.3.0", + "@types/react": "*", + "hoist-non-react-statics": "^3.3.0", + "redux": "^4.0.0" + } + }, + "@types/react-router": { + "version": "5.1.12", + "resolved": "https://registry.npmjs.org/@types/react-router/-/react-router-5.1.12.tgz", + "integrity": "sha512-0bhXQwHYfMeJlCh7mGhc0VJTRm0Gk+Z8T00aiP4702mDUuLs9SMhnd2DitpjWFjdOecx2UXtICK14H9iMnziGA==", + "requires": { + "@types/history": "*", + "@types/react": "*" + } + }, + "@types/react-router-config": { + "version": "5.0.11", + "resolved": "https://registry.npmjs.org/@types/react-router-config/-/react-router-config-5.0.11.tgz", + "integrity": "sha512-WmSAg7WgqW7m4x8Mt4N6ZyKz0BubSj/2tVUMsAHp+Yd2AMwcSbeFq9WympT19p5heCFmF97R9eD5uUR/t4HEqw==", + "requires": { + "@types/history": "^4.7.11", + "@types/react": "*", + "@types/react-router": "^5.1.0" + } + }, + "@types/react-router-dom": { + "version": "5.1.7", + "resolved": "https://registry.npmjs.org/@types/react-router-dom/-/react-router-dom-5.1.7.tgz", + "integrity": "sha512-D5mHD6TbdV/DNHYsnwBTv+y73ei+mMjrkGrla86HthE4/PVvL1J94Bu3qABU+COXzpL23T1EZapVVpwHuBXiUg==", + "requires": { + "@types/history": "*", + "@types/react": "*", + "@types/react-router": "*" + } + }, + "@types/sax": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/@types/sax/-/sax-1.2.7.tgz", + "integrity": "sha512-rO73L89PJxeYM3s3pPPjiPgVVcymqU490g0YO5n5By0k2Erzj6tay/4lr1CHAAU4JyOWd1rpQ8bCf6cZfHU96A==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "@types/scheduler": { + "version": "0.16.8", + "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.8.tgz", + "integrity": "sha512-WZLiwShhwLRmeV6zH+GkbOFT6Z6VklCItrDioxUnv+u4Ll+8vKeFySoFyK/0ctcRpOmwAicELfmys1sDc/Rw+A==" + }, + "@types/semver": { + "version": "7.5.8", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.8.tgz", + "integrity": "sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==", + "dev": true + }, + "@types/send": { + "version": "0.17.4", + "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.4.tgz", + "integrity": "sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA==", + "dev": true, + "requires": { + "@types/mime": "^1", + "@types/node": "*" + } + }, + "@types/serve-static": { + "version": "1.15.5", + "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.5.tgz", + "integrity": "sha512-PDRk21MnK70hja/YF8AHfC7yIsiQHn1rcXx7ijCFBX/k+XQJhQT/gw3xekXKJvx+5SXaMMS8oqQy09Mzvz2TuQ==", + "dev": true, + "requires": { + "@types/http-errors": "*", + "@types/mime": "*", + "@types/node": "*" + } + }, + "@types/stack-utils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.3.tgz", + "integrity": "sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==", + "dev": true + }, + "@types/unist": { + "version": "2.0.10", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.10.tgz", + "integrity": "sha512-IfYcSBWE3hLpBg8+X2SEa8LVkJdJEkT2Ese2aaLs3ptGdVtABxndrMaxuFlQ1qdFf9Q5rDvDpxI3WwgvKFAsQA==", + "dev": true + }, + "@types/yargs": { + "version": "15.0.19", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.19.tgz", + "integrity": "sha512-2XUaGVmyQjgyAZldf0D0c14vvo/yv0MhQBSTJcejMMaitsn3nxCB6TmH4G0ZQf+uxROOa9mpanoSm8h6SG/1ZA==", + "dev": true, + "requires": { + "@types/yargs-parser": "*" + } + }, + "@types/yargs-parser": { + "version": "21.0.3", + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.3.tgz", + "integrity": "sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==", + "dev": true + }, + "@types/yauzl": { + "version": "2.10.3", + "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.10.3.tgz", + "integrity": "sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==", + "dev": true, + "optional": true, + "requires": { + "@types/node": "*" + } + }, + "@typescript-eslint/eslint-plugin": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.62.0.tgz", + "integrity": "sha512-TiZzBSJja/LbhNPvk6yc0JrX9XqhQ0hdh6M2svYfsHGejaKFIAGd9MQ+ERIMzLGlN/kZoYIgdxFV0PuljTKXag==", + "dev": true, + "requires": { + "@eslint-community/regexpp": "^4.4.0", + "@typescript-eslint/scope-manager": "5.62.0", + "@typescript-eslint/type-utils": "5.62.0", + "@typescript-eslint/utils": "5.62.0", + "debug": "^4.3.4", + "graphemer": "^1.4.0", + "ignore": "^5.2.0", + "natural-compare-lite": "^1.4.0", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + } + }, + "@typescript-eslint/experimental-utils": { + "version": "4.33.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-4.33.0.tgz", + "integrity": "sha512-zeQjOoES5JFjTnAhI5QY7ZviczMzDptls15GFsI6jyUOq0kOf9+WonkhtlIhh0RgHRnqj5gdNxW5j1EvAyYg6Q==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.7", + "@typescript-eslint/scope-manager": "4.33.0", + "@typescript-eslint/types": "4.33.0", + "@typescript-eslint/typescript-estree": "4.33.0", + "eslint-scope": "^5.1.1", + "eslint-utils": "^3.0.0" + }, + "dependencies": { + "@typescript-eslint/scope-manager": { + "version": "4.33.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.33.0.tgz", + "integrity": "sha512-5IfJHpgTsTZuONKbODctL4kKuQje/bzBRkwHE8UOZ4f89Zeddg+EGZs8PD8NcN4LdM3ygHWYB3ukPAYjvl/qbQ==", + "dev": true, + "requires": { + "@typescript-eslint/types": "4.33.0", + "@typescript-eslint/visitor-keys": "4.33.0" + } + }, + "@typescript-eslint/types": { + "version": "4.33.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.33.0.tgz", + "integrity": "sha512-zKp7CjQzLQImXEpLt2BUw1tvOMPfNoTAfb8l51evhYbOEEzdWyQNmHWWGPR6hwKJDAi+1VXSBmnhL9kyVTTOuQ==", + "dev": true + }, + "@typescript-eslint/typescript-estree": { + "version": "4.33.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.33.0.tgz", + "integrity": "sha512-rkWRY1MPFzjwnEVHsxGemDzqqddw2QbTJlICPD9p9I9LfsO8fdmfQPOX3uKfUaGRDFJbfrtm/sXhVXN4E+bzCA==", + "dev": true, + "requires": { + "@typescript-eslint/types": "4.33.0", + "@typescript-eslint/visitor-keys": "4.33.0", + "debug": "^4.3.1", + "globby": "^11.0.3", + "is-glob": "^4.0.1", + "semver": "^7.3.5", + "tsutils": "^3.21.0" + } + }, + "@typescript-eslint/visitor-keys": { + "version": "4.33.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.33.0.tgz", + "integrity": "sha512-uqi/2aSz9g2ftcHWf8uLPJA70rUv6yuMW5Bohw+bwcuzaxQIHaKFZCKGoGXIrc9vkTJ3+0txM73K0Hq3d5wgIg==", + "dev": true, + "requires": { + "@typescript-eslint/types": "4.33.0", + "eslint-visitor-keys": "^2.0.0" + } + }, + "eslint-utils": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz", + "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==", + "dev": true, + "requires": { + "eslint-visitor-keys": "^2.0.0" + } + } + } + }, + "@typescript-eslint/parser": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.62.0.tgz", + "integrity": "sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA==", + "dev": true, + "requires": { + "@typescript-eslint/scope-manager": "5.62.0", + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/typescript-estree": "5.62.0", + "debug": "^4.3.4" + } + }, + "@typescript-eslint/scope-manager": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.62.0.tgz", + "integrity": "sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/visitor-keys": "5.62.0" + } + }, + "@typescript-eslint/type-utils": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.62.0.tgz", + "integrity": "sha512-xsSQreu+VnfbqQpW5vnCJdq1Z3Q0U31qiWmRhr98ONQmcp/yhiPJFPq8MXiJVLiksmOKSjIldZzkebzHuCGzew==", + "dev": true, + "requires": { + "@typescript-eslint/typescript-estree": "5.62.0", + "@typescript-eslint/utils": "5.62.0", + "debug": "^4.3.4", + "tsutils": "^3.21.0" + } + }, + "@typescript-eslint/types": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.62.0.tgz", + "integrity": "sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==", + "dev": true + }, + "@typescript-eslint/typescript-estree": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz", + "integrity": "sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/visitor-keys": "5.62.0", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + } + }, + "@typescript-eslint/utils": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.62.0.tgz", + "integrity": "sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==", + "dev": true, + "requires": { + "@eslint-community/eslint-utils": "^4.2.0", + "@types/json-schema": "^7.0.9", + "@types/semver": "^7.3.12", + "@typescript-eslint/scope-manager": "5.62.0", + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/typescript-estree": "5.62.0", + "eslint-scope": "^5.1.1", + "semver": "^7.3.7" + } + }, + "@typescript-eslint/visitor-keys": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz", + "integrity": "sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.62.0", + "eslint-visitor-keys": "^3.3.0" + }, + "dependencies": { + "eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "dev": true + } + } + }, + "@umijs/ast": { + "version": "3.5.41", + "resolved": "https://registry.npmjs.org/@umijs/ast/-/ast-3.5.41.tgz", + "integrity": "sha512-jwwpcQZd54gVKCYovhRepUaMbaakxUbj6+J7ClCa0rRQFfM86iCh/F4qZi7Lypwe/F3eukAIujho7HiHhVXMBQ==", + "requires": { + "@umijs/utils": "3.5.41" + } + }, + "@umijs/babel-plugin-auto-css-modules": { + "version": "3.5.41", + "resolved": "https://registry.npmjs.org/@umijs/babel-plugin-auto-css-modules/-/babel-plugin-auto-css-modules-3.5.41.tgz", + "integrity": "sha512-8iUcSFyLwRcRBsTW6hHuzDWX9Np+0AXqsFN08fnPI1P7zD4CSZWBLkjLz+zl4X8vakaPbqZy346KHoukbvEcew==", + "requires": { + "@umijs/utils": "3.5.41" + } + }, + "@umijs/babel-plugin-import-to-await-require": { + "version": "3.5.41", + "resolved": "https://registry.npmjs.org/@umijs/babel-plugin-import-to-await-require/-/babel-plugin-import-to-await-require-3.5.41.tgz", + "integrity": "sha512-xn9JhFc/vz/itTaLKC4NX4qcGfsBQQN03Kp8Bt5irXtp3CeBfeYFHjwcZ4TE4SJDTjka2wOR4RhmV3CJ2NZrQQ==", + "requires": { + "@umijs/utils": "3.5.41" + } + }, + "@umijs/babel-plugin-lock-core-js-3": { + "version": "3.5.41", + "resolved": "https://registry.npmjs.org/@umijs/babel-plugin-lock-core-js-3/-/babel-plugin-lock-core-js-3-3.5.41.tgz", + "integrity": "sha512-+h47NI5u4YLA46iDv5TMPXtZWactlPgFYeMotrsxyW3R6QiUyX8oMF2UroT4lhbhcrf7GHe4n7jQH3TllgFL6Q==", + "requires": { + "@umijs/utils": "3.5.41", + "core-js": "3.6.5" + } + }, + "@umijs/babel-plugin-no-anonymous-default-export": { + "version": "3.5.41", + "resolved": "https://registry.npmjs.org/@umijs/babel-plugin-no-anonymous-default-export/-/babel-plugin-no-anonymous-default-export-3.5.41.tgz", + "integrity": "sha512-uUoLNUsRcITEYW+ap8+OAjUYQS606Ob8YxqYCq0ZL4SktxjP5CDMabqrJ6CatWKjjpNvq2A6KPLJKA7/9/fwFA==", + "requires": { + "@umijs/utils": "3.5.41" + } + }, + "@umijs/babel-preset-umi": { + "version": "3.5.41", + "resolved": "https://registry.npmjs.org/@umijs/babel-preset-umi/-/babel-preset-umi-3.5.41.tgz", + "integrity": "sha512-roKx1FWjqGtuqQazfceBVJrJNdiGRRiBgnthZtGujLWIec4iB5uliwvzmCunuw18l3MvLwkDEBhaRdMM0Ij3Dg==", + "requires": { + "@babel/runtime": "7.18.6", + "@umijs/babel-plugin-auto-css-modules": "3.5.41", + "@umijs/babel-plugin-import-to-await-require": "3.5.41", + "@umijs/babel-plugin-lock-core-js-3": "3.5.41", + "@umijs/babel-plugin-no-anonymous-default-export": "3.5.41", + "@umijs/deps": "3.5.41", + "@umijs/utils": "3.5.41" + }, + "dependencies": { + "@babel/runtime": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.18.6.tgz", + "integrity": "sha512-t9wi7/AW6XtKahAe20Yw0/mMljKq0B1r2fPdvaAdV/KPDZewFXdaaa6K7lxmZBZ8FBNpCiAT6iHPmd6QO9bKfQ==", + "requires": { + "regenerator-runtime": "^0.13.4" + } + }, + "regenerator-runtime": { + "version": "0.13.11", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", + "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==" + } + } + }, + "@umijs/block-sdk": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@umijs/block-sdk/-/block-sdk-2.3.0.tgz", + "integrity": "sha512-CRfemEEEUbXuGN+7UCa8PbHdkbIe1Ua6DPoiAj0lJPk3LLx1mj24muIEo9fVmbbyU4rcNwKejbEpNDiClqKRIw==", + "dev": true, + "requires": { + "@babel/generator": "7.4.4", + "@babel/parser": "7.4.5", + "@babel/runtime": "7.4.5", + "@babel/traverse": "7.4.5", + "@babel/types": "7.4.4", + "@hapi/joi": "16.1.8", + "@umijs/mem-fs-editor": "^6.0.2", + "@umijs/types": "^3.0.0", + "@umijs/utils": "^3.0.0-beta.12", + "clipboardy": "2.1.0", + "crequire": "1.8.1", + "dumi-assets-types": "^1.0.0-beta.0", + "getnpmregistry": "^1.0.1", + "git-url-parse": "^11.1.2", + "mem-fs": "^1.1.3", + "ora": "3.4.0", + "prettier": "2.3.2", + "sort-package-json": "^1.22.1", + "sylvanas": "^0.6.1", + "terminal-link": "1.3.0", + "uppercamelcase": "3.0.0" + }, + "dependencies": { + "@babel/generator": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.4.4.tgz", + "integrity": "sha512-53UOLK6TVNqKxf7RUh8NE851EHRxOOeVXKbK2bivdb+iziMyk03Sr4eaE9OELCbyZAAafAKPDwF2TPUES5QbxQ==", + "dev": true, + "requires": { + "@babel/types": "^7.4.4", + "jsesc": "^2.5.1", + "lodash": "^4.17.11", + "source-map": "^0.5.0", + "trim-right": "^1.0.1" + } + }, + "@babel/parser": { + "version": "7.4.5", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.4.5.tgz", + "integrity": "sha512-9mUqkL1FF5T7f0WDFfAoDdiMVPWsdD1gZYzSnaXsxUCUqzuch/8of9G3VUSNiZmMBoRxT3neyVsqeiL/ZPcjew==", + "dev": true + }, + "@babel/runtime": { + "version": "7.4.5", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.4.5.tgz", + "integrity": "sha512-TuI4qpWZP6lGOGIuGWtp9sPluqYICmbk8T/1vpSysqJxRPkudh/ofFWyqdcMsDf2s7KvDL4/YHgKyvcS3g9CJQ==", + "dev": true, + "requires": { + "regenerator-runtime": "^0.13.2" + } + }, + "@babel/traverse": { + "version": "7.4.5", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.4.5.tgz", + "integrity": "sha512-Vc+qjynwkjRmIFGxy0KYoPj4FdVDxLej89kMHFsWScq999uX+pwcX4v9mWRjW0KcAYTPAuVQl2LKP1wEVLsp+A==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "@babel/generator": "^7.4.4", + "@babel/helper-function-name": "^7.1.0", + "@babel/helper-split-export-declaration": "^7.4.4", + "@babel/parser": "^7.4.5", + "@babel/types": "^7.4.4", + "debug": "^4.1.0", + "globals": "^11.1.0", + "lodash": "^4.17.11" + } + }, + "@babel/types": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.4.4.tgz", + "integrity": "sha512-dOllgYdnEFOebhkKCjzSVFqw/PmmB8pH6RGOWkY4GsboQNd47b1fBThBSwlHAq9alF9vc1M3+6oqR47R50L0tQ==", + "dev": true, + "requires": { + "esutils": "^2.0.2", + "lodash": "^4.17.11", + "to-fast-properties": "^2.0.0" + } + }, + "ansi-regex": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", + "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", + "dev": true + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true + }, + "log-symbols": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-2.2.0.tgz", + "integrity": "sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==", + "dev": true, + "requires": { + "chalk": "^2.0.1" + } + }, + "ora": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/ora/-/ora-3.4.0.tgz", + "integrity": "sha512-eNwHudNbO1folBP3JsZ19v9azXWtQZjICdr3Q0TDPIaeBQ3mXLrh54wM+er0+hSp+dWKf+Z8KM58CYzEyIYxYg==", + "dev": true, + "requires": { + "chalk": "^2.4.2", + "cli-cursor": "^2.1.0", + "cli-spinners": "^2.0.0", + "log-symbols": "^2.2.0", + "strip-ansi": "^5.2.0", + "wcwidth": "^1.0.1" + } + }, + "prettier": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.3.2.tgz", + "integrity": "sha512-lnJzDfJ66zkMy58OL5/NY5zp70S7Nz6KqcKkXYzn2tMVrNxvbqaBpg7H3qHaLxCJ5lNMsGuM8+ohS7cZrthdLQ==", + "dev": true + }, + "regenerator-runtime": { + "version": "0.13.11", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", + "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==", + "dev": true + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", + "dev": true + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" + } + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "@umijs/bundler-utils": { + "version": "3.5.41", + "resolved": "https://registry.npmjs.org/@umijs/bundler-utils/-/bundler-utils-3.5.41.tgz", + "integrity": "sha512-irJUU/eWa2GG6JCkz172lMi+jiq7ZXatE2N7Tq/lokZUYu9R9BRaRN7dphgBlAUfOP3aBtjx51/5yZdYAeW0yQ==", + "requires": { + "@umijs/babel-preset-umi": "3.5.41", + "@umijs/types": "3.5.41", + "@umijs/utils": "3.5.41" + } + }, + "@umijs/bundler-webpack": { + "version": "3.5.41", + "resolved": "https://registry.npmjs.org/@umijs/bundler-webpack/-/bundler-webpack-3.5.41.tgz", + "integrity": "sha512-n4HIrDUE3QfN5xSTWJlRz5wzsnWggzRJhEDJZ6l23BWiwWasFW6QMGCnFWLwO93ei273LovylD5vZhI221tBtQ==", + "requires": { + "@umijs/bundler-utils": "3.5.41", + "@umijs/case-sensitive-paths-webpack-plugin": "^1.0.1", + "@umijs/deps": "3.5.41", + "@umijs/types": "3.5.41", + "@umijs/utils": "3.5.41", + "jest-worker": "26.6.2", + "node-libs-browser": "2.2.1", + "normalize-url": "1.9.1", + "postcss": "7.0.32", + "postcss-flexbugs-fixes": "4.2.1", + "postcss-loader": "3.0.0", + "postcss-preset-env": "6.7.0", + "postcss-safe-parser": "4.0.2", + "terser": "5.14.2", + "webpack-chain": "6.5.1" + }, + "dependencies": { + "acorn": { + "version": "8.11.3", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz", + "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==" + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "dependencies": { + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==" + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==" + }, + "jest-worker": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-26.6.2.tgz", + "integrity": "sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==", + "requires": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^7.0.0" + } + }, + "normalize-url": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-1.9.1.tgz", + "integrity": "sha512-A48My/mtCklowHBlI8Fq2jFWK4tX4lJ5E6ytFsSOq1fzpvT0SQSgKhSg7lN5c2uYFOrUAOQp6zhhJnpp1eMloQ==", + "requires": { + "object-assign": "^4.0.1", + "prepend-http": "^1.0.0", + "query-string": "^4.1.0", + "sort-keys": "^1.0.0" + } + }, + "postcss": { + "version": "7.0.32", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.32.tgz", + "integrity": "sha512-03eXong5NLnNCD05xscnGKGDZ98CyzoqPSMjOe6SuoQY7Z2hIj0Ld1g/O/UQRuOle2aRtiIRDg9tDcTGAkLfKw==", + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + }, + "dependencies": { + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "query-string": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/query-string/-/query-string-4.3.4.tgz", + "integrity": "sha512-O2XLNDBIg1DnTOa+2XrIwSiXEV8h2KImXUnjhhn2+UsvZ+Es2uyd5CCRTNQlDGbzUQOW3aYCBx9rVA6dzsiY7Q==", + "requires": { + "object-assign": "^4.1.0", + "strict-uri-encode": "^1.0.0" + } + }, + "strict-uri-encode": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz", + "integrity": "sha512-R3f198pcvnB+5IpnBlRkphuE9n46WyVl8I39W/ZUTZLz4nqSP/oLYUrcnJrw462Ds8he4YKMov2efsTIw1BDGQ==" + }, + "terser": { + "version": "5.14.2", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.14.2.tgz", + "integrity": "sha512-oL0rGeM/WFQCUd0y2QrWxYnq7tfSuKBiqTjRPWrRgB46WD/kiwHwF8T23z78H6Q6kGCuuHcPB+KULHRdxvVGQA==", + "requires": { + "@jridgewell/source-map": "^0.3.2", + "acorn": "^8.5.0", + "commander": "^2.20.0", + "source-map-support": "~0.5.20" + } + } + } + }, + "@umijs/case-sensitive-paths-webpack-plugin": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@umijs/case-sensitive-paths-webpack-plugin/-/case-sensitive-paths-webpack-plugin-1.0.1.tgz", + "integrity": "sha512-kDKJ8yTarxwxGJDInG33hOpaQRZ//XpNuuznQ/1Mscypw6kappzFmrBr2dOYave++K7JHouoANF354UpbEQw0Q==" + }, + "@umijs/core": { + "version": "3.5.41", + "resolved": "https://registry.npmjs.org/@umijs/core/-/core-3.5.41.tgz", + "integrity": "sha512-DA10OuvEYaLNhug/mWlg6P9FMuH9xD8TP3VRKM5XXXdQwIja+QQaIg78l8Vk8FM/6ugXM6VUK/EK5AwGEQz6xw==", + "requires": { + "@umijs/ast": "3.5.41", + "@umijs/babel-preset-umi": "3.5.41", + "@umijs/deps": "3.5.41", + "@umijs/utils": "3.5.41" + } + }, + "@umijs/deps": { + "version": "3.5.41", + "resolved": "https://registry.npmjs.org/@umijs/deps/-/deps-3.5.41.tgz", + "integrity": "sha512-bMozsu97L0HJMoRtCevi81XvZ+nkJw2WMAlQuHnl5DsFYon9M+WljG88T/FX/x+lYfgdGY+fOuvcKWEazfA3SA==", + "requires": { + "@bloomberg/record-tuple-polyfill": "0.0.3", + "chokidar": "3.5.1", + "clipboardy": "2.3.0", + "esbuild": "0.12.15", + "jest-worker": "24.9.0", + "prettier": "2.2.1", + "regenerate": "1.4.2", + "regenerate-unicode-properties": "10.0.1" + }, + "dependencies": { + "clipboardy": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/clipboardy/-/clipboardy-2.3.0.tgz", + "integrity": "sha512-mKhiIL2DrQIsuXMgBgnfEHOZOryC7kY7YO//TN6c63wlEm3NG5tz+YgY5rVi29KCmq/QQjKYvM7a19+MDOTHOQ==", + "requires": { + "arch": "^2.1.1", + "execa": "^1.0.0", + "is-wsl": "^2.1.1" + } + }, + "cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "requires": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "execa": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", + "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", + "requires": { + "cross-spawn": "^6.0.0", + "get-stream": "^4.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + } + }, + "get-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", + "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "requires": { + "pump": "^3.0.0" + } + }, + "is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==" + }, + "npm-run-path": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", + "integrity": "sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw==", + "requires": { + "path-key": "^2.0.0" + } + }, + "path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==" + }, + "prettier": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.2.1.tgz", + "integrity": "sha512-PqyhM2yCjg/oKkFPtTGUojv7gnZAoG80ttl45O6x2Ug/rMJw4wcc9k6aaf2hibP7BGVCCM33gZoGjyvt9mm16Q==" + }, + "pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==" + }, + "shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==", + "requires": { + "shebang-regex": "^1.0.0" + } + }, + "shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==" + }, + "which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "requires": { + "isexe": "^2.0.0" + } + } + } + }, + "@umijs/error-code-map": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@umijs/error-code-map/-/error-code-map-1.0.1.tgz", + "integrity": "sha512-Q0KSpQYKTF2XWOlAxJO/SRbRhIGAp1GK1spWFbzwv3h0WvfX7pPeA05Y3p0hut7Vcjhdocnx5NduuApF4R1lGQ==", + "dev": true + }, + "@umijs/fabric": { + "version": "2.14.1", + "resolved": "https://registry.npmjs.org/@umijs/fabric/-/fabric-2.14.1.tgz", + "integrity": "sha512-fOyXcbViOB+/jW+g2rCiK9XjSZVn4OzFuMZpSCriCdR/KxhxLTokvJWFm3CzBEmg9vXfrBFQ4c/ykmqoVacHtw==", + "dev": true, + "requires": { + "@babel/core": "^7.12.10", + "@babel/eslint-parser": "^7.12.1", + "@babel/plugin-proposal-class-properties": "^7.13.0", + "@babel/plugin-proposal-decorators": "^7.13.5", + "@babel/preset-env": "^7.12.11", + "@babel/preset-react": "^7.12.10", + "@babel/preset-typescript": "^7.12.7", + "@typescript-eslint/eslint-plugin": "^5.8.1", + "@typescript-eslint/parser": "^5.9.0", + "chalk": "^4.1.1", + "eslint": "^7.11.0", + "eslint-config-prettier": "^8.3.0", + "eslint-formatter-pretty": "^4.0.0", + "eslint-plugin-babel": "^5.3.0", + "eslint-plugin-jest": "^24.0.1", + "eslint-plugin-promise": "^6.0.0", + "eslint-plugin-react": "^7.21.5", + "eslint-plugin-react-hooks": "^4.1.2", + "eslint-plugin-unicorn": "^20.0.0", + "fast-glob": "^3.2.4", + "os-locale": "^5.0.0", + "prettier": "^2.3.2", + "prettier-plugin-packagejson": "2.3.0", + "prettier-plugin-two-style-order": "^1.0.0", + "stylelint": "^13.0.0", + "stylelint-config-css-modules": "^2.2.0", + "stylelint-config-prettier": "^8.0.1", + "stylelint-config-standard": "^20.0.0", + "stylelint-declaration-block-no-ignored-properties": "^2.1.0", + "typescript": "^4.5.4" + } + }, + "@umijs/mem-fs-editor": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/@umijs/mem-fs-editor/-/mem-fs-editor-6.0.2.tgz", + "integrity": "sha512-wGKHe4yyJc1CarRKAtvYrUc6zRf0jLANBN4HU+5ZkuSIR7xLDH51oHsZMjuxXqli6STe5ommYXnojXSXZ7NBRg==", + "dev": true, + "requires": { + "commondir": "^1.0.1", + "deep-extend": "^0.6.0", + "ejs": "^2.6.1", + "glob": "^7.1.4", + "globby": "^10.0.0", + "isbinaryfile": "^4.0.0", + "mkdirp": "^1.0.0", + "multimatch": "^4.0.0", + "rimraf": "^3.0.0", + "slash2": "^2.0.0", + "through2": "^3.0.1", + "vinyl": "^2.2.0" + }, + "dependencies": { + "globby": { + "version": "10.0.2", + "resolved": "https://registry.npmjs.org/globby/-/globby-10.0.2.tgz", + "integrity": "sha512-7dUi7RvCoT/xast/o/dLN53oqND4yk0nsHkhRgn9w65C4PofCLOoJ39iSOg+qVDdWQPIEj+eszMHQ+aLVwwQSg==", + "dev": true, + "requires": { + "@types/glob": "^7.1.1", + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.0.3", + "glob": "^7.1.3", + "ignore": "^5.1.1", + "merge2": "^1.2.3", + "slash": "^3.0.0" + } + } + } + }, + "@umijs/openapi": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@umijs/openapi/-/openapi-1.11.1.tgz", + "integrity": "sha512-s5eUvV/j7SPzyWBR4qqKxVTbHofC51aTuGSF2TmqCJwkto9ve9P8Prynuz35JJ6jboPMas0HdYZ1ZskM+WIMAQ==", + "dev": true, + "requires": { + "@umijs/fabric": "^2.5.6", + "chalk": "^4.1.2", + "dayjs": "^1.10.3", + "glob": "^7.1.6", + "lodash": "^4.17.21", + "memoizee": "^0.4.15", + "mock.js": "^0.2.0", + "mockjs": "^1.1.0", + "node-fetch": "^2.6.1", + "nunjucks": "^3.2.2", + "openapi3-ts": "^2.0.1", + "prettier": "^2.2.1", + "reserved-words": "^0.1.2", + "rimraf": "^3.0.2", + "swagger2openapi": "^7.0.4", + "tiny-pinyin": "^1.3.2" + } + }, + "@umijs/plugin-access": { + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/@umijs/plugin-access/-/plugin-access-2.4.3.tgz", + "integrity": "sha512-6FON4aHzVFs/vtFK5Sdnw+FBolfoYi8wV8V9Q8x2T19NwjZtjXSPjt0gtrG4jdx4LRsSV2DKLaMGoJYbNr94aA==", + "dev": true + }, + "@umijs/plugin-analytics": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/@umijs/plugin-analytics/-/plugin-analytics-0.2.4.tgz", + "integrity": "sha512-aIHc/okDmCae/6iJS3lRV2b9/cuFUoGQhioeoZzC2mBYy43o0Z6KWSY5TlzraY4bDdGurWsFQC6dB1TVUCMGbg==", + "dev": true + }, + "@umijs/plugin-antd": { + "version": "0.13.0", + "resolved": "https://registry.npmjs.org/@umijs/plugin-antd/-/plugin-antd-0.13.0.tgz", + "integrity": "sha512-7tooYtOylVatrzMWCJtk8JFQL90i94OD0FgZYpKBbM7keThH8prYkSkDJFIDkuGfZ6pl6BJT8ESnYLxf2OiQUw==", + "dev": true, + "requires": { + "antd": "^4.1.3", + "antd-mobile": "^2.3.1", + "semver": "^7.3.5" + } + }, + "@umijs/plugin-block-devtool": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@umijs/plugin-block-devtool/-/plugin-block-devtool-1.3.0.tgz", + "integrity": "sha512-BPoO3nJowx1sHUixO4FBhQUtAkcepPbHA9OGFtR2cXrxEyxUmUDaDHK+cQdbxQUj8lzeylfdy/OufLhaP3MM+Q==", + "dev": true, + "requires": { + "uppercamelcase": "^3.0.0" + } + }, + "@umijs/plugin-blocks": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/@umijs/plugin-blocks/-/plugin-blocks-2.2.2.tgz", + "integrity": "sha512-56lVfx4eJzQbxt620qzXADcemzHB5XjJuYxRNKorIdqXwA8+nWXQ+PzUOdWUzJnwNkFOVJbnXsUak5n8A8xsjw==", + "dev": true, + "requires": { + "@umijs/block-sdk": "^2.2.2" + } + }, + "@umijs/plugin-crossorigin": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@umijs/plugin-crossorigin/-/plugin-crossorigin-1.2.1.tgz", + "integrity": "sha512-4oXNFBLOCH1FHTgFi7EDmlcjjYMthOQlrTT+mSbNeMzvl0P/WKldSJsYAUXUTg+I7vlbb5bNby4dpHKK37JcbQ==", + "dev": true + }, + "@umijs/plugin-dva": { + "version": "0.13.0", + "resolved": "https://registry.npmjs.org/@umijs/plugin-dva/-/plugin-dva-0.13.0.tgz", + "integrity": "sha512-cpGq8vzN8AmyWxexWLQ+WGqfT0WMCiryvU5EcNGbx1/Ub9aICUfPBpB46cxJrxjDCjUzuVslRNb2pdgI0xXUXg==", + "dev": true, + "requires": { + "babel-plugin-dva-hmr": "^0.4.2", + "dva": "^2.6.0-beta.20", + "dva-immer": "^0.5.2", + "dva-loading": "^3.0.20" + } + }, + "@umijs/plugin-esbuild": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/@umijs/plugin-esbuild/-/plugin-esbuild-1.4.2.tgz", + "integrity": "sha512-K/0nZ1wNFg11xF3zx5E8jQQkY4d6SDNNhB16Ngp77i5ZUexWyfiRC+StN0KpYOAIorajNTMxHRnthRFV3dZbPA==", + "dev": true, + "requires": { + "esbuild-loader": "~2.9.2" + } + }, + "@umijs/plugin-helmet": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@umijs/plugin-helmet/-/plugin-helmet-1.1.3.tgz", + "integrity": "sha512-X4GRFlvOb8DxMDm1vExfpWOvxl6bp0oZz114DyhwnMSriJ8RcHAigTjtVJHYxJpKv7P6KayN3n13J4w/XZGWMg==", + "dev": true, + "requires": { + "@types/react-helmet": "^6.1.0", + "react-helmet": "^6.1.0" + } + }, + "@umijs/plugin-initial-state": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/@umijs/plugin-initial-state/-/plugin-initial-state-2.4.0.tgz", + "integrity": "sha512-UHH5fTL9skm4771R3xvWCrjd5xiQ7OdJ83G0P1YZLhuNbh0cAFVT8SPTU8dA9o8TTAZ66IEq7axhWl1cGxVsXw==", + "dev": true + }, + "@umijs/plugin-layout": { + "version": "0.18.1", + "resolved": "https://registry.npmjs.org/@umijs/plugin-layout/-/plugin-layout-0.18.1.tgz", + "integrity": "sha512-15YTcFpic0v15nFzlg6G8nvMCveBtcBL77Wr9wXYJdgR0iU7dnO7T4OqbLwgEc1uHxtGhTVibi6nSGelX56zCg==", + "dev": true, + "requires": { + "@umijs/route-utils": "^2.0.0", + "antd": "^4.1.2", + "lodash": "^4.17.15", + "path-to-regexp": "1.x" + }, + "dependencies": { + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==", + "dev": true + }, + "path-to-regexp": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.8.0.tgz", + "integrity": "sha512-n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA==", + "dev": true, + "requires": { + "isarray": "0.0.1" + } + } + } + }, + "@umijs/plugin-locale": { + "version": "0.15.2", + "resolved": "https://registry.npmjs.org/@umijs/plugin-locale/-/plugin-locale-0.15.2.tgz", + "integrity": "sha512-/m3ik0NKbE/PHFPKPqSBEwGi5RUB6Dz2T7jepDXhU8ycV0zUPGbDbChUx1r/3t5zveZIND1s/7A49Apb+ujUmg==", + "dev": true, + "requires": { + "@ant-design/icons": "^4.1.0", + "@formatjs/intl-pluralrules": "^1.5.0", + "@formatjs/intl-relativetimeformat": "^4.5.7", + "intl": "1.2.5", + "moment": "^2.29.1", + "react-intl": "3.12.1", + "warning": "^4.0.3" + } + }, + "@umijs/plugin-model": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/@umijs/plugin-model/-/plugin-model-2.6.2.tgz", + "integrity": "sha512-MKLAgYIoBkciavxTqJY6VOhvnNQv7jp+olNmXqqZ3I3WsLg7jo33NCOAA3ej103kmo9ZvD9R1aakl7e9WKsdAw==", + "dev": true, + "requires": { + "fast-deep-equal": "3.1.1" + } + }, + "@umijs/plugin-openapi": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/@umijs/plugin-openapi/-/plugin-openapi-1.3.3.tgz", + "integrity": "sha512-z1gJpX1MDAO5YlJH+zsQ4bq0jgmIoy89k5lyTylVvP22M31h7sC9cAwNHmQeJMzGatYooGJu//rnThsSlRdIUg==", + "dev": true, + "requires": { + "@umijs/openapi": "^1.2.0", + "serve-static": "^1.14.1", + "swagger-ui-dist": "^4.12.0" + } + }, + "@umijs/plugin-request": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/@umijs/plugin-request/-/plugin-request-2.8.0.tgz", + "integrity": "sha512-bwJg0rFbMZcizO+fHbSNz6X/U6suR84ciLIo9zLtRMuradx/yanMnz+ckh2dlZvTlGYrckkJwWgoSFxWlU8yyA==", + "dev": true, + "requires": { + "@ahooksjs/use-request": "^2.0.0", + "umi-request": "^1.2.14" + } + }, + "@umijs/plugin-test": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@umijs/plugin-test/-/plugin-test-1.0.2.tgz", + "integrity": "sha512-EIV86Xmw/Cn8vRLXha+ct0PfY6gRRKov5lanvt1B2L5t6xAqnTd03AxmB7i1Go9vDcFxDBheuDf/nyGiT/xTFw==", + "dev": true, + "requires": { + "@umijs/test": "~3.5.14" + } + }, + "@umijs/preset-ant-design-pro": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/@umijs/preset-ant-design-pro/-/preset-ant-design-pro-1.3.3.tgz", + "integrity": "sha512-BBQKI+lrynX7cpWHhCgo+56GFBn/fbbgnjglstfQyKN+Ol/VtEhMMWeNz57/OfLUdeBpI/KOnyq8lJMVr2Czug==", + "dev": true, + "requires": { + "@umijs/plugin-block-devtool": "1.3.0", + "umi-plugin-antd-icon-config": "^2.0.0", + "umi-plugin-pro-block": "^2.0.1" + } + }, + "@umijs/preset-built-in": { + "version": "3.5.41", + "resolved": "https://registry.npmjs.org/@umijs/preset-built-in/-/preset-built-in-3.5.41.tgz", + "integrity": "sha512-YoUeiaoiG6Kv/9QkVYj4wUXP7dqdxOt95H9F7e8QaukH6le9CvvRyRn+NSLGk3R7Owv4jdkMBujwFzj1/85O3A==", + "requires": { + "@types/react-router-config": "5.0.2", + "@umijs/babel-preset-umi": "3.5.41", + "@umijs/bundler-webpack": "3.5.41", + "@umijs/core": "3.5.41", + "@umijs/deps": "3.5.41", + "@umijs/renderer-mpa": "3.5.41", + "@umijs/renderer-react": "3.5.41", + "@umijs/runtime": "3.5.41", + "@umijs/server": "3.5.41", + "@umijs/types": "3.5.41", + "@umijs/utils": "3.5.41", + "ansi-html": "^0.0.9", + "core-js": "3.6.5", + "core-js-pure": "^3.8.1", + "error-stack-parser": "^2.0.6", + "es-module-lexer": "0.7.1", + "es5-imcompatible-versions": "^0.1.62", + "history-with-query": "4.10.4", + "html-entities": "^2.1.0", + "mime": "1.4.1", + "react-refresh": "0.10.0", + "react-router": "5.2.0", + "react-router-config": "5.1.1", + "react-router-dom": "5.2.0", + "regenerator-runtime": "0.13.5", + "schema-utils": "^3.0.0" + }, + "dependencies": { + "@types/react-router-config": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/@types/react-router-config/-/react-router-config-5.0.2.tgz", + "integrity": "sha512-WOSetDV3YPxbkVJAdv/bqExJjmcdCi/vpCJh3NfQOy1X15vHMSiMioXIcGekXDJJYhqGUMDo9e337mh508foAA==", + "requires": { + "@types/history": "*", + "@types/react": "*", + "@types/react-router": "*" + } + }, + "mime": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.4.1.tgz", + "integrity": "sha512-KI1+qOZu5DcW6wayYHSzR/tXKCDC5Om4s1z2QJjDULzLcmf3DvzS7oluY4HCTrc+9FiKmWUgeNLg7W3uIQvxtQ==" + }, + "regenerator-runtime": { + "version": "0.13.5", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.5.tgz", + "integrity": "sha512-ZS5w8CpKFinUzOwW3c83oPeVXoNsrLsaCoLtJvAClH135j/R77RuymhiSErhm2lKcwSCIpmvIWSbDkIfAqKQlA==" + }, + "schema-utils": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", + "requires": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + } + } + } + }, + "@umijs/preset-dumi": { + "version": "1.1.54", + "resolved": "https://registry.npmjs.org/@umijs/preset-dumi/-/preset-dumi-1.1.54.tgz", + "integrity": "sha512-p7sG8TxirVtyKrYMSrYnPEwKq2cBiosaYcGVs0k9lVf+jcsFeQSmylsToyZiHZ8PtjItXw0DZIiSvdM/7mg0vA==", + "dev": true, + "requires": { + "@babel/core": "7.18.6", + "@babel/generator": "7.18.6", + "@babel/plugin-transform-modules-commonjs": "7.18.6", + "@babel/traverse": "7.18.6", + "@babel/types": "7.18.6", + "@mapbox/hast-util-to-jsx": "1.0.0", + "@umijs/babel-preset-umi": "^3.5.27", + "@umijs/core": "^3.5.27", + "@umijs/plugin-analytics": "^0.2.2", + "@umijs/runtime": "^3.5.27", + "@umijs/types": "^3.5.27", + "@umijs/utils": "^3.5.27", + "codesandbox": "^2.2.3", + "copy-text-to-clipboard": "^2.2.0", + "deepmerge": "^4.2.2", + "dumi-assets-types": "1.0.1", + "dumi-theme-default": "1.1.24", + "enhanced-resolve": "^4.1.1", + "github-slugger": "^1.3.0", + "hast-util-has-property": "^1.0.4", + "hast-util-is-element": "^1.1.0", + "hast-util-raw": "^6.0.0", + "hast-util-to-html": "^7.1.1", + "hast-util-to-string": "^1.0.2", + "hosted-git-info": "^3.0.2", + "ignore": "^5.1.8", + "js-yaml": "^3.13.1", + "lodash.throttle": "^4.1.1", + "lz-string": "^1.4.4", + "react-docgen-typescript-dumi-tmp": "^1.22.1-0", + "rehype-autolink-headings": "^4.0.0", + "rehype-mathjax": "^3.1.0", + "rehype-remove-comments": "^4.0.2", + "rehype-stringify": "^8.0.0", + "remark-frontmatter": "^3.0.0", + "remark-gfm": "^1.0.0", + "remark-math": "^4.0.0", + "remark-parse": "^9.0.0", + "remark-rehype": "^8.0.0", + "remark-stringify": "^9.0.0", + "sitemap": "^6.3.3", + "slash2": "^2.0.0", + "terser": "^5.5.1", + "unified": "^8.4.1", + "unist-util-visit": "^2.0.1", + "unist-util-visit-parents": "^3.0.1" + }, + "dependencies": { + "@babel/core": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.18.6.tgz", + "integrity": "sha512-cQbWBpxcbbs/IUredIPkHiAGULLV8iwgNRMFzvbhEXISp4f3rUUXE5+TIw6KwUWUR3DwyI6gmBRnmAtYaWehwQ==", + "dev": true, + "requires": { + "@ampproject/remapping": "^2.1.0", + "@babel/code-frame": "^7.18.6", + "@babel/generator": "^7.18.6", + "@babel/helper-compilation-targets": "^7.18.6", + "@babel/helper-module-transforms": "^7.18.6", + "@babel/helpers": "^7.18.6", + "@babel/parser": "^7.18.6", + "@babel/template": "^7.18.6", + "@babel/traverse": "^7.18.6", + "@babel/types": "^7.18.6", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.1", + "semver": "^6.3.0" + } + }, + "@babel/generator": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.18.6.tgz", + "integrity": "sha512-AIwwoOS8axIC5MZbhNHRLKi3D+DMpvDf9XUcu3pIVAfOHFT45f4AoDAltRbHIQomCipkCZxrNkfpOEHhJz/VKw==", + "dev": true, + "requires": { + "@babel/types": "^7.18.6", + "@jridgewell/gen-mapping": "^0.3.0", + "jsesc": "^2.5.1" + } + }, + "@babel/plugin-transform-modules-commonjs": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.18.6.tgz", + "integrity": "sha512-Qfv2ZOWikpvmedXQJDSbxNqy7Xr/j2Y8/KfijM0iJyKkBTmWuvCA1yeH1yDM7NJhBW/2aXxeucLj6i80/LAJ/Q==", + "dev": true, + "requires": { + "@babel/helper-module-transforms": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/helper-simple-access": "^7.18.6", + "babel-plugin-dynamic-import-node": "^2.3.3" + } + }, + "@babel/traverse": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.18.6.tgz", + "integrity": "sha512-zS/OKyqmD7lslOtFqbscH6gMLFYOfG1YPqCKfAW5KrTeolKqvB8UelR49Fpr6y93kYkW2Ik00mT1LOGiAGvizw==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.18.6", + "@babel/generator": "^7.18.6", + "@babel/helper-environment-visitor": "^7.18.6", + "@babel/helper-function-name": "^7.18.6", + "@babel/helper-hoist-variables": "^7.18.6", + "@babel/helper-split-export-declaration": "^7.18.6", + "@babel/parser": "^7.18.6", + "@babel/types": "^7.18.6", + "debug": "^4.1.0", + "globals": "^11.1.0" + } + }, + "@babel/types": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.18.6.tgz", + "integrity": "sha512-NdBNzPDwed30fZdDQtVR7ZgaO4UKjuaQFH9VArS+HMnurlOY0JWN+4ROlu/iapMFwjRQU4pOG4StZfDmulEwGA==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.18.6", + "to-fast-properties": "^2.0.0" + } + }, + "convert-source-map": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", + "dev": true + }, + "semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true + } + } + }, + "@umijs/preset-react": { + "version": "1.8.32", + "resolved": "https://registry.npmjs.org/@umijs/preset-react/-/preset-react-1.8.32.tgz", + "integrity": "sha512-f/jJRxIRzRrZ040GMdBuV3byvtbx35oWymDT5A/q/e+QmjCrs6c9XCRktGInKIhZycqI/GuA6eLaxXIKvu6b9A==", + "dev": true, + "requires": { + "@umijs/plugin-access": "2.4.3", + "@umijs/plugin-analytics": "0.2.2", + "@umijs/plugin-antd": "0.13.0", + "@umijs/plugin-crossorigin": "1.2.1", + "@umijs/plugin-dva": "0.13.0", + "@umijs/plugin-helmet": "1.1.3", + "@umijs/plugin-initial-state": "2.4.0", + "@umijs/plugin-layout": "0.18.1", + "@umijs/plugin-locale": "0.15.2", + "@umijs/plugin-model": "2.6.2", + "@umijs/plugin-request": "2.8.0", + "@umijs/plugin-test": "1.0.2" + }, + "dependencies": { + "@umijs/plugin-analytics": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/@umijs/plugin-analytics/-/plugin-analytics-0.2.2.tgz", + "integrity": "sha512-dVDzUfgIdEwdCC6a5IsMYpIPI+bEZjBEqIhAvw9dic6Vk77w9RxQxyRfW11dDmdXLAwWphp22NntQNt1ejZPtg==", + "dev": true + } + } + }, + "@umijs/renderer-mpa": { + "version": "3.5.41", + "resolved": "https://registry.npmjs.org/@umijs/renderer-mpa/-/renderer-mpa-3.5.41.tgz", + "integrity": "sha512-SUAlBZwUXVJdj5lBQ0Kf2nH3/mkyqZEkgZw0laLn2sNeVfe0bpSKjTvYv3sGMZ9Jg+L61g8TNwGO4Y1j8x5rkw==", + "requires": { + "@types/react": "^16.9.43", + "@types/react-dom": "^16.9.8", + "@umijs/runtime": "3.5.41" + }, + "dependencies": { + "@types/react": { + "version": "16.14.60", + "resolved": "https://registry.npmjs.org/@types/react/-/react-16.14.60.tgz", + "integrity": "sha512-wIFmnczGsTcgwCBeIYOuy2mdXEiKZ5znU/jNOnMZPQyCcIxauMGWlX0TNG4lZ7NxRKj7YUIZRneJQSSdB2jKgg==", + "requires": { + "@types/prop-types": "*", + "@types/scheduler": "^0.16", + "csstype": "^3.0.2" + } + }, + "@types/react-dom": { + "version": "16.9.24", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-16.9.24.tgz", + "integrity": "sha512-Gcmq2JTDheyWn/1eteqyzzWKSqDjYU6KYsIvH7thb7CR5OYInAWOX+7WnKf6PaU/cbdOc4szJItcDEJO7UGmfA==", + "requires": { + "@types/react": "^16" + } + } + } + }, + "@umijs/renderer-react": { + "version": "3.5.41", + "resolved": "https://registry.npmjs.org/@umijs/renderer-react/-/renderer-react-3.5.41.tgz", + "integrity": "sha512-DmExaziU84uFXv09gYXpFk/tHB+mjINUD8YmYULjbQ+QQA9so2zkxNSv9gYy5hXNepheUMd+uriV/qUB6HNBVg==", + "requires": { + "@types/react": "^16.9.43", + "@types/react-dom": "^16.9.8", + "@types/react-router-config": "^5.0.2", + "@umijs/runtime": "3.5.41", + "react-router-config": "5.1.1" + }, + "dependencies": { + "@types/react": { + "version": "16.14.60", + "resolved": "https://registry.npmjs.org/@types/react/-/react-16.14.60.tgz", + "integrity": "sha512-wIFmnczGsTcgwCBeIYOuy2mdXEiKZ5znU/jNOnMZPQyCcIxauMGWlX0TNG4lZ7NxRKj7YUIZRneJQSSdB2jKgg==", + "requires": { + "@types/prop-types": "*", + "@types/scheduler": "^0.16", + "csstype": "^3.0.2" + } + }, + "@types/react-dom": { + "version": "16.9.24", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-16.9.24.tgz", + "integrity": "sha512-Gcmq2JTDheyWn/1eteqyzzWKSqDjYU6KYsIvH7thb7CR5OYInAWOX+7WnKf6PaU/cbdOc4szJItcDEJO7UGmfA==", + "requires": { + "@types/react": "^16" + } + } + } + }, + "@umijs/route-utils": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/@umijs/route-utils/-/route-utils-2.2.2.tgz", + "integrity": "sha512-cMk6qizy0pfpiwpVCvNQB0BKBUJEH33pDv5q5k2tSleSDw2abkJkTu2Kd5hKzoESLuFK43oGeOfcplZqm2bRxw==", + "requires": { + "@qixian.cs/path-to-regexp": "^6.1.0", + "fast-deep-equal": "^3.1.3", + "lodash.isequal": "^4.5.0", + "memoize-one": "^5.1.1" + }, + "dependencies": { + "fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" + } + } + }, + "@umijs/runtime": { + "version": "3.5.41", + "resolved": "https://registry.npmjs.org/@umijs/runtime/-/runtime-3.5.41.tgz", + "integrity": "sha512-ZZJm30Kl7JP3/uM0J7HnIvt37OGSPNuC81+MBT729e8+nXiabbs07pbHyTS2DddVZsaevi5PhDu6YcHPcLWDhA==", + "requires": { + "@types/react-router": "5.1.12", + "@types/react-router-dom": "5.1.7", + "history-with-query": "4.10.4", + "react-router": "5.2.0", + "react-router-dom": "5.2.0", + "use-subscription": "1.5.1" + } + }, + "@umijs/server": { + "version": "3.5.41", + "resolved": "https://registry.npmjs.org/@umijs/server/-/server-3.5.41.tgz", + "integrity": "sha512-DL4tOGIsP/UHu6++T+vXJdaMd7BXvGo+Vjk3JW4V/gyJhhDSfCHalnv3rEGygxpaWa4nsJdzCaVzKnlRSGAzuw==", + "requires": { + "@umijs/core": "3.5.41", + "@umijs/deps": "3.5.41", + "@umijs/utils": "3.5.41" + } + }, + "@umijs/ssr-darkreader": { + "version": "4.9.45", + "resolved": "https://registry.npmjs.org/@umijs/ssr-darkreader/-/ssr-darkreader-4.9.45.tgz", + "integrity": "sha512-XlcwzSYQ/SRZpHdwIyMDS4FOGX5kP4U/2g2mykyn/iPQTK4xTiQAyBu6UnnDnn7d5P8s7Atzh1C7H0ETNOypJg==" + }, + "@umijs/test": { + "version": "3.5.41", + "resolved": "https://registry.npmjs.org/@umijs/test/-/test-3.5.41.tgz", + "integrity": "sha512-0Y2XuGwlFBd4Un3AbColgnt8GejYVN2dfYdzkdo6Tsn0BX2iFTtJiF1L1SwO4YqHob3oI/CMzpEcKCNkC041QQ==", + "dev": true, + "requires": { + "@babel/core": "7.18.6", + "@umijs/babel-preset-umi": "3.5.41", + "@umijs/utils": "3.5.41", + "babel-jest": "^26.6.3", + "core-js": "3.8.2", + "identity-obj-proxy": "3.0.0", + "jest": "^26.6.3", + "jest-cli": "^26.6.3", + "regenerator-runtime": "^0.13.7", + "whatwg-fetch": "^3.5.0" + }, + "dependencies": { + "@babel/core": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.18.6.tgz", + "integrity": "sha512-cQbWBpxcbbs/IUredIPkHiAGULLV8iwgNRMFzvbhEXISp4f3rUUXE5+TIw6KwUWUR3DwyI6gmBRnmAtYaWehwQ==", + "dev": true, + "requires": { + "@ampproject/remapping": "^2.1.0", + "@babel/code-frame": "^7.18.6", + "@babel/generator": "^7.18.6", + "@babel/helper-compilation-targets": "^7.18.6", + "@babel/helper-module-transforms": "^7.18.6", + "@babel/helpers": "^7.18.6", + "@babel/parser": "^7.18.6", + "@babel/template": "^7.18.6", + "@babel/traverse": "^7.18.6", + "@babel/types": "^7.18.6", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.1", + "semver": "^6.3.0" + } + }, + "convert-source-map": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", + "dev": true + }, + "core-js": { + "version": "3.8.2", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.8.2.tgz", + "integrity": "sha512-FfApuSRgrR6G5s58casCBd9M2k+4ikuu4wbW6pJyYU7bd9zvFc9qf7vr5xmrZOhT9nn+8uwlH1oRR9jTnFoA3A==", + "dev": true + }, + "regenerator-runtime": { + "version": "0.13.11", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", + "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==", + "dev": true + }, + "semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true + } + } + }, + "@umijs/types": { + "version": "3.5.41", + "resolved": "https://registry.npmjs.org/@umijs/types/-/types-3.5.41.tgz", + "integrity": "sha512-pxvLiQ99EL8Yu98F/ZMojG9ukDptC315cnxSnRYOdS34F57oiIgW0Zoi0TrKlA0pVIQxC2MXzyQwy+HfDmB23Q==", + "requires": { + "@umijs/babel-preset-umi": "3.5.41", + "@umijs/core": "3.5.41", + "@umijs/deps": "3.5.41", + "@umijs/renderer-react": "3.5.41", + "@umijs/server": "3.5.41", + "@umijs/utils": "3.5.41", + "webpack-chain": "6.5.1" + } + }, + "@umijs/use-params": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/@umijs/use-params/-/use-params-1.0.9.tgz", + "integrity": "sha512-QlN0RJSBVQBwLRNxbxjQ5qzqYIGn+K7USppMoIOVlf7fxXHsnQZ2bEsa6Pm74bt6DVQxpUE8HqvdStn6Y9FV1w==" + }, + "@umijs/utils": { + "version": "3.5.41", + "resolved": "https://registry.npmjs.org/@umijs/utils/-/utils-3.5.41.tgz", + "integrity": "sha512-htBGGUfVUlEv5j9hUZ0tmVa9Jj1Z3vhFsUNKl2Luw7hWqTv86prWKPEcG2FWOjTTmE8iSK6r4dHmBSlSC5P6Tw==", + "requires": { + "@umijs/babel-preset-umi": "3.5.41", + "@umijs/deps": "3.5.41" + } + }, + "@umijs/yorkie": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@umijs/yorkie/-/yorkie-2.0.5.tgz", + "integrity": "sha512-vgu4U7/pvG73vY0GGQftXht2t6YAecS8P1cUHIj9VfUHzXIKuRXiaewxxasYgr3gBNrY3GpGiVnmJsHDG6Q3+g==", + "dev": true, + "requires": { + "execa": "^0.8.0", + "is-ci": "^1.0.10", + "normalize-path": "^1.0.0", + "strip-indent": "^2.0.0" + }, + "dependencies": { + "cross-spawn": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", + "integrity": "sha512-pTgQJ5KC0d2hcY8eyL1IzlBPYjTkyH72XRZPnLyKus2mBfNjQs3klqbJU2VILqZryAZUt9JOb3h/mWMy23/f5A==", + "dev": true, + "requires": { + "lru-cache": "^4.0.1", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "execa": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-0.8.0.tgz", + "integrity": "sha512-zDWS+Rb1E8BlqqhALSt9kUhss8Qq4nN3iof3gsOdyINksElaPyNBtKUMTR62qhvgVWR0CqCX7sdnKe4MnUbFEA==", + "dev": true, + "requires": { + "cross-spawn": "^5.0.1", + "get-stream": "^3.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + } + }, + "get-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", + "integrity": "sha512-GlhdIUuVakc8SJ6kK0zAFbiGzRFzNnY4jUuEbV9UROo4Y+0Ny4fjvcZFVTeDA4odpFyOQzaw6hXukJSq/f28sQ==", + "dev": true + }, + "is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==", + "dev": true + }, + "lru-cache": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", + "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", + "dev": true, + "requires": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } + }, + "npm-run-path": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", + "integrity": "sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw==", + "dev": true, + "requires": { + "path-key": "^2.0.0" + } + }, + "path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==", + "dev": true + }, + "shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==", + "dev": true, + "requires": { + "shebang-regex": "^1.0.0" + } + }, + "shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==", + "dev": true + }, + "which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + }, + "yallist": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", + "integrity": "sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A==", + "dev": true + } + } + }, + "a-sync-waterfall": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/a-sync-waterfall/-/a-sync-waterfall-1.0.1.tgz", + "integrity": "sha512-RYTOHHdWipFUliRFMCS4X2Yn2X8M87V/OpSqWzKKOGhzqyUxzyVmhHDH9sAvG+ZuQf/TAOFsLCpMw09I1ufUnA==", + "dev": true + }, + "abab": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz", + "integrity": "sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==", + "dev": true + }, + "accepts": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", + "dev": true, + "requires": { + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + } + }, + "acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "dev": true + }, + "acorn-globals": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-6.0.0.tgz", + "integrity": "sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==", + "dev": true, + "requires": { + "acorn": "^7.1.1", + "acorn-walk": "^7.1.1" + } + }, + "acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "dev": true + }, + "acorn-walk": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", + "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==", + "dev": true + }, + "add-dom-event-listener": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/add-dom-event-listener/-/add-dom-event-listener-1.1.0.tgz", + "integrity": "sha512-WCxx1ixHT0GQU9hb0KI/mhgRQhnU+U3GvwY6ZvVjYq8rsihIGoaIOUbY0yMPBxLH5MDtr0kz3fisWGNcbWW7Jw==", + "dev": true, + "requires": { + "object-assign": "4.x" + } + }, + "address": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/address/-/address-1.2.2.tgz", + "integrity": "sha512-4B/qKCfeE/ODUaAUpSwfzazo5x29WD4r3vXiWsB7I2mSDAihwEqKO+g8GELZUQSSAo5e1XTYh3ZVfLyxBc12nA==" + }, + "agent-base": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "dev": true, + "requires": { + "debug": "4" + } + }, + "agentkeepalive": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-3.5.2.tgz", + "integrity": "sha512-e0L/HNe6qkQ7H19kTlRRqUibEAwDK5AFk6y3PtMsuut2VAH6+Q4xZml1tNDJD7kSAyqmbG/K08K5WEJYtUrSlQ==", + "dev": true, + "requires": { + "humanize-ms": "^1.2.1" + } + }, + "aggregate-error": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", + "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", + "dev": true, + "requires": { + "clean-stack": "^2.0.0", + "indent-string": "^4.0.0" + } + }, + "ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ajv-errors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.1.tgz", + "integrity": "sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==" + }, + "ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==" + }, + "ansi-align": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.1.tgz", + "integrity": "sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==", + "dev": true, + "requires": { + "string-width": "^4.1.0" + } + }, + "ansi-colors": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz", + "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==", + "dev": true + }, + "ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "dev": true, + "requires": { + "type-fest": "^0.21.3" + }, + "dependencies": { + "type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", + "dev": true + } + } + }, + "ansi-html": { + "version": "0.0.9", + "resolved": "https://registry.npmjs.org/ansi-html/-/ansi-html-0.0.9.tgz", + "integrity": "sha512-ozbS3LuenHVxNRh/wdnN16QapUHzauqSomAl1jwwJRRsGwFwtj644lIhxfWu0Fy0acCij2+AEgHvjscq3dlVXg==" + }, + "ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" + }, + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "ansicolors": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/ansicolors/-/ansicolors-0.3.2.tgz", + "integrity": "sha512-QXu7BPrP29VllRxH8GwB7x5iX5qWKAAMLqKQGWTeLWVlNHNOpVMJ91dsxQAIWXpjuW5wqvxu3Jd/nRjrJ+0pqg==", + "dev": true + }, + "antd": { + "version": "4.24.16", + "resolved": "https://registry.npmjs.org/antd/-/antd-4.24.16.tgz", + "integrity": "sha512-zZrK4UYxHtU6tGOOf0uG/kBRx1kTvypfuSB3GqE/SBQxFhZ/TZ+yj7Z1qwI8vGfMtUUJdLeuoCAqGDa1zPsXnQ==", + "requires": { + "@ant-design/colors": "^6.0.0", + "@ant-design/icons": "^4.8.2", + "@ant-design/react-slick": "~1.0.2", + "@babel/runtime": "^7.18.3", + "@ctrl/tinycolor": "^3.6.1", + "classnames": "^2.2.6", + "copy-to-clipboard": "^3.2.0", + "lodash": "^4.17.21", + "moment": "^2.29.2", + "rc-cascader": "~3.7.3", + "rc-checkbox": "~3.0.1", + "rc-collapse": "~3.4.2", + "rc-dialog": "~9.0.2", + "rc-drawer": "~6.3.0", + "rc-dropdown": "~4.0.1", + "rc-field-form": "~1.38.2", + "rc-image": "~5.13.0", + "rc-input": "~0.1.4", + "rc-input-number": "~7.3.11", + "rc-mentions": "~1.13.1", + "rc-menu": "~9.8.4", + "rc-motion": "^2.9.0", + "rc-notification": "~4.6.1", + "rc-pagination": "~3.2.0", + "rc-picker": "~2.7.6", + "rc-progress": "~3.4.2", + "rc-rate": "~2.9.3", + "rc-resize-observer": "^1.3.1", + "rc-segmented": "~2.3.0", + "rc-select": "~14.1.18", + "rc-slider": "~10.0.1", + "rc-steps": "~5.0.0", + "rc-switch": "~3.2.2", + "rc-table": "~7.26.0", + "rc-tabs": "~12.5.10", + "rc-textarea": "~0.4.7", + "rc-tooltip": "~5.2.2", + "rc-tree": "~5.7.12", + "rc-tree-select": "~5.5.5", + "rc-trigger": "^5.3.4", + "rc-upload": "~4.3.6", + "rc-util": "^5.37.0", + "scroll-into-view-if-needed": "^2.2.25" + }, + "dependencies": { + "rc-menu": { + "version": "9.8.4", + "resolved": "https://registry.npmjs.org/rc-menu/-/rc-menu-9.8.4.tgz", + "integrity": "sha512-lmw2j8I2fhdIzHmC9ajfImfckt0WDb2KVJJBBRIsxPEw2kGkEfjLMUoB1NgiNT/Q5cC8PdjGOGQjHJIJMwyNMw==", + "requires": { + "@babel/runtime": "^7.10.1", + "classnames": "2.x", + "rc-motion": "^2.4.3", + "rc-overflow": "^1.2.8", + "rc-trigger": "^5.1.2", + "rc-util": "^5.27.0" + } + }, + "scroll-into-view-if-needed": { + "version": "2.2.31", + "resolved": "https://registry.npmjs.org/scroll-into-view-if-needed/-/scroll-into-view-if-needed-2.2.31.tgz", + "integrity": "sha512-dGCXy99wZQivjmjIqihaBQNjryrz5rueJY7eHfTdyWEiR4ttYpsajb14rn9s5d4DY4EcY6+4+U/maARBXJedkA==", + "requires": { + "compute-scroll-into-view": "^1.0.20" + } + } + } + }, + "antd-mobile": { + "version": "2.3.4", + "resolved": "https://registry.npmjs.org/antd-mobile/-/antd-mobile-2.3.4.tgz", + "integrity": "sha512-Uw02Ghc+DPzaQceJQ+5p1ZnQFafvILA0chTTen7m7c89Uzbw6Ny3zsVZDE1gfteNEIsL4JpPe0I/+aI3Q/nPAA==", + "dev": true, + "requires": { + "array-tree-filter": "~2.1.0", + "babel-runtime": "6.x", + "classnames": "^2.2.1", + "normalize.css": "^7.0.0", + "rc-checkbox": "~2.0.0", + "rc-collapse": "~1.9.1", + "rc-slider": "~8.2.0", + "rc-swipeout": "~2.0.0", + "rmc-calendar": "^1.0.0", + "rmc-cascader": "~5.0.0", + "rmc-date-picker": "^6.0.8", + "rmc-dialog": "^1.0.1", + "rmc-drawer": "^0.4.11", + "rmc-feedback": "^2.0.0", + "rmc-input-number": "^1.0.0", + "rmc-list-view": "^0.11.0", + "rmc-notification": "~1.0.0", + "rmc-nuka-carousel": "~3.0.0", + "rmc-picker": "~5.0.0", + "rmc-pull-to-refresh": "~1.0.1", + "rmc-steps": "~1.0.0", + "rmc-tabs": "~1.2.0", + "rmc-tooltip": "~1.0.0" + }, + "dependencies": { + "rc-align": { + "version": "2.4.5", + "resolved": "https://registry.npmjs.org/rc-align/-/rc-align-2.4.5.tgz", + "integrity": "sha512-nv9wYUYdfyfK+qskThf4BQUSIadeI/dCsfaMZfNEoxm9HwOIioQ+LyqmMK6jWHAZQgOzMLaqawhuBXlF63vgjw==", + "dev": true, + "requires": { + "babel-runtime": "^6.26.0", + "dom-align": "^1.7.0", + "prop-types": "^15.5.8", + "rc-util": "^4.0.4" + } + }, + "rc-checkbox": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/rc-checkbox/-/rc-checkbox-2.0.3.tgz", + "integrity": "sha512-sSDV5AcxK5CxBTyUNj9pb0zfhdgLLsWKHwJG18ikeGoIwklcxXvIF6cI/KGVbPLFDa8mPS5WLOlLRqbq/1/ouw==", + "dev": true, + "requires": { + "babel-runtime": "^6.23.0", + "classnames": "2.x", + "prop-types": "15.x", + "rc-util": "^4.0.4" + } + }, + "rc-collapse": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/rc-collapse/-/rc-collapse-1.9.3.tgz", + "integrity": "sha512-8cG+FzudmgFCC9zRGKXJZA36zoI9Dmyjp6UDi8N80sXUch0JOpsZDxgcFzw4HPpPpK/dARtTilEe9zyuspnW0w==", + "dev": true, + "requires": { + "classnames": "2.x", + "css-animation": "1.x", + "prop-types": "^15.5.6", + "rc-animate": "2.x" + } + }, + "rc-slider": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/rc-slider/-/rc-slider-8.2.0.tgz", + "integrity": "sha512-rnO36M3VhMoPWh1kRuCeJoluT4duAW7+5aLaAn9oLu2pKEKsuOFUh5DmA2kEo88UmvPV6nr7HHDeZuC8SNM/lA==", + "dev": true, + "requires": { + "babel-runtime": "6.x", + "classnames": "^2.2.5", + "prop-types": "^15.5.4", + "rc-tooltip": "^3.4.2", + "rc-util": "^4.0.4", + "shallowequal": "^1.0.1", + "warning": "^3.0.0" + } + }, + "rc-tooltip": { + "version": "3.7.3", + "resolved": "https://registry.npmjs.org/rc-tooltip/-/rc-tooltip-3.7.3.tgz", + "integrity": "sha512-dE2ibukxxkrde7wH9W8ozHKUO4aQnPZ6qBHtrTH9LoO836PjDdiaWO73fgPB05VfJs9FbZdmGPVEbXCeOP99Ww==", + "dev": true, + "requires": { + "babel-runtime": "6.x", + "prop-types": "^15.5.8", + "rc-trigger": "^2.2.2" + } + }, + "rc-trigger": { + "version": "2.6.5", + "resolved": "https://registry.npmjs.org/rc-trigger/-/rc-trigger-2.6.5.tgz", + "integrity": "sha512-m6Cts9hLeZWsTvWnuMm7oElhf+03GOjOLfTuU0QmdB9ZrW7jR2IpI5rpNM7i9MvAAlMAmTx5Zr7g3uu/aMvZAw==", + "dev": true, + "requires": { + "babel-runtime": "6.x", + "classnames": "^2.2.6", + "prop-types": "15.x", + "rc-align": "^2.4.0", + "rc-animate": "2.x", + "rc-util": "^4.4.0", + "react-lifecycles-compat": "^3.0.4" + } + }, + "rc-util": { + "version": "4.21.1", + "resolved": "https://registry.npmjs.org/rc-util/-/rc-util-4.21.1.tgz", + "integrity": "sha512-Z+vlkSQVc1l8O2UjR3WQ+XdWlhj5q9BMQNLk2iOBch75CqPfrJyGtcWMcnhRlNuDu0Ndtt4kLVO8JI8BrABobg==", + "dev": true, + "requires": { + "add-dom-event-listener": "^1.1.0", + "prop-types": "^15.5.10", + "react-is": "^16.12.0", + "react-lifecycles-compat": "^3.0.4", + "shallowequal": "^1.1.0" + } + }, + "react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", + "dev": true + }, + "warning": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/warning/-/warning-3.0.0.tgz", + "integrity": "sha512-jMBt6pUrKn5I+OGgtQ4YZLdhIeJmObddh6CsibPxyQ5yPZm1XExSyzC1LCNX7BzhxWgiHmizBWJTHJIjMjTQYQ==", + "dev": true, + "requires": { + "loose-envify": "^1.0.0" + } + } + } + }, + "anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "requires": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "dependencies": { + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==" + } + } + }, + "append-field": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/append-field/-/append-field-1.0.0.tgz", + "integrity": "sha512-klpgFSWLW1ZEs8svjfb7g4qWY0YS5imI82dTg+QahUvJ8YqAY0P10Uk8tTyh9ZGuYEZEMaeJYCF5BFuX552hsw==", + "dev": true + }, + "aproba": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", + "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", + "dev": true + }, + "arch": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/arch/-/arch-2.2.0.tgz", + "integrity": "sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ==" + }, + "arg": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", + "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==", + "dev": true + }, + "argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "requires": { + "sprintf-js": "~1.0.2" + } + }, + "arr-diff": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha512-YVIQ82gZPGBebQV/a8dar4AitzCQs0jjXwMPZllpXMaGjXPYVUawSxQrRsjhjupyVxEvbHgUmIhKVlND+j02kA==", + "dev": true + }, + "arr-flatten": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", + "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", + "dev": true + }, + "arr-union": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", + "integrity": "sha512-sKpyeERZ02v1FeCZT8lrfJq5u6goHCtpTAzPwJYe7c8SPFOboNjNg1vz2L4VTn9T4PQxEx13TbXLmYUcS6Ug7Q==", + "dev": true + }, + "array-buffer-byte-length": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.1.tgz", + "integrity": "sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==", + "dev": true, + "requires": { + "call-bind": "^1.0.5", + "is-array-buffer": "^3.0.4" + } + }, + "array-differ": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/array-differ/-/array-differ-3.0.0.tgz", + "integrity": "sha512-THtfYS6KtME/yIAhKjZ2ul7XI96lQGHRputJQHO80LAWQnuGP4iCIN8vdMRboGbIEYBwU33q8Tch1os2+X0kMg==", + "dev": true + }, + "array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==", + "dev": true + }, + "array-includes": { + "version": "3.1.8", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.8.tgz", + "integrity": "sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ==", + "dev": true, + "requires": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-object-atoms": "^1.0.0", + "get-intrinsic": "^1.2.4", + "is-string": "^1.0.7" + } + }, + "array-tree-filter": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-tree-filter/-/array-tree-filter-2.1.0.tgz", + "integrity": "sha512-4ROwICNlNw/Hqa9v+rk5h22KjmzB1JGTMVKP2AKJBOCgb0yL0ASf0+YvCcLNNwquOHNX48jkeZIJ3a+oOQqKcw==" + }, + "array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==" + }, + "array-uniq": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", + "integrity": "sha512-MNha4BWQ6JbwhFhj03YK552f7cb3AzoE8SzeljgChvL1dl3IcvggXVz1DilzySZkCja+CXuZbdW7yATchWn8/Q==", + "dev": true + }, + "array-unique": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha512-SleRWjh9JUud2wH1hPs9rZBZ33H6T9HOiL0uwGnGx9FpE6wKGyfWugmbkEOIs6qWrZhg0LWeLziLrEwQJhs5mQ==", + "dev": true + }, + "array.prototype.filter": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/array.prototype.filter/-/array.prototype.filter-1.0.4.tgz", + "integrity": "sha512-r+mCJ7zXgXElgR4IRC+fkvNCeoaavWBs6EdCso5Tbcf+iEMKzBU/His60lt34WEZ9vlb8wDkZvQGcVI5GwkfoQ==", + "dev": true, + "requires": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-array-method-boxes-properly": "^1.0.0", + "es-object-atoms": "^1.0.0", + "is-string": "^1.0.7" + } + }, + "array.prototype.findlast": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/array.prototype.findlast/-/array.prototype.findlast-1.2.5.tgz", + "integrity": "sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ==", + "dev": true, + "requires": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "es-shim-unscopables": "^1.0.2" + } + }, + "array.prototype.flat": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.2.tgz", + "integrity": "sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "es-shim-unscopables": "^1.0.0" + } + }, + "array.prototype.flatmap": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.2.tgz", + "integrity": "sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "es-shim-unscopables": "^1.0.0" + } + }, + "array.prototype.toreversed": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/array.prototype.toreversed/-/array.prototype.toreversed-1.1.2.tgz", + "integrity": "sha512-wwDCoT4Ck4Cz7sLtgUmzR5UV3YF5mFHUlbChCzZBQZ+0m2cl/DH3tKgvphv1nKgFsJ48oCSg6p91q2Vm0I/ZMA==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "es-shim-unscopables": "^1.0.0" + } + }, + "array.prototype.tosorted": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.3.tgz", + "integrity": "sha512-/DdH4TiTmOKzyQbp/eadcCVexiCb36xJg7HshYOYJnNZFDj33GEv0P7GxsynpShhq4OLYJzbGcBDkLsDt7MnNg==", + "dev": true, + "requires": { + "call-bind": "^1.0.5", + "define-properties": "^1.2.1", + "es-abstract": "^1.22.3", + "es-errors": "^1.1.0", + "es-shim-unscopables": "^1.0.2" + } + }, + "arraybuffer.prototype.slice": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.3.tgz", + "integrity": "sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==", + "dev": true, + "requires": { + "array-buffer-byte-length": "^1.0.1", + "call-bind": "^1.0.5", + "define-properties": "^1.2.1", + "es-abstract": "^1.22.3", + "es-errors": "^1.2.1", + "get-intrinsic": "^1.2.3", + "is-array-buffer": "^3.0.4", + "is-shared-array-buffer": "^1.0.2" + } + }, + "arrify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/arrify/-/arrify-2.0.1.tgz", + "integrity": "sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug==", + "dev": true + }, + "asap": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", + "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==" + }, + "asn1": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz", + "integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==", + "dev": true, + "requires": { + "safer-buffer": "~2.1.0" + } + }, + "asn1.js": { + "version": "4.10.1", + "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.10.1.tgz", + "integrity": "sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw==", + "requires": { + "bn.js": "^4.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" + }, + "dependencies": { + "bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" + } + } + }, + "assert": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.1.tgz", + "integrity": "sha512-zzw1uCAgLbsKwBfFc8CX78DDg+xZeBksSO3vwVIDDN5i94eOrPsSSyiVhmsSABFDM/OcpE2aagCat9dnWQLG1A==", + "requires": { + "object.assign": "^4.1.4", + "util": "^0.10.4" + }, + "dependencies": { + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==" + }, + "util": { + "version": "0.10.4", + "resolved": "https://registry.npmjs.org/util/-/util-0.10.4.tgz", + "integrity": "sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==", + "requires": { + "inherits": "2.0.3" + } + } + } + }, + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==", + "dev": true + }, + "assign-symbols": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", + "integrity": "sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw==", + "dev": true + }, + "astral-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", + "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", + "dev": true + }, + "async": { + "version": "2.6.4", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.4.tgz", + "integrity": "sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==", + "dev": true, + "requires": { + "lodash": "^4.17.14" + } + }, + "async-limiter": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz", + "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==", + "dev": true + }, + "async-validator": { + "version": "4.2.5", + "resolved": "https://registry.npmjs.org/async-validator/-/async-validator-4.2.5.tgz", + "integrity": "sha512-7HhHjtERjqlNbZtqNqy2rckN/SpOOlmDliet+lP7k+eKZEjPk3DgyeU9lIXLdeLz0uBbbVp+9Qdow9wJWgwwfg==" + }, + "asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" + }, + "at-least-node": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", + "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==" + }, + "atob": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", + "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", + "dev": true + }, + "autolinker": { + "version": "3.16.2", + "resolved": "https://registry.npmjs.org/autolinker/-/autolinker-3.16.2.tgz", + "integrity": "sha512-JiYl7j2Z19F9NdTmirENSUUIIL/9MytEWtmzhfmsKPCp9E+G35Y0UNCMoM9tFigxT59qSc8Ml2dlZXOCVTYwuA==", + "dev": true, + "requires": { + "tslib": "^2.3.0" + } + }, + "autoprefixer": { + "version": "9.8.8", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.8.8.tgz", + "integrity": "sha512-eM9d/swFopRt5gdJ7jrpCwgvEMIayITpojhkkSMRsFHYuH5bkSQ4p/9qTEHtmNudUZh22Tehu7I6CxAW0IXTKA==", + "requires": { + "browserslist": "^4.12.0", + "caniuse-lite": "^1.0.30001109", + "normalize-range": "^0.1.2", + "num2fraction": "^1.2.2", + "picocolors": "^0.2.1", + "postcss": "^7.0.32", + "postcss-value-parser": "^4.1.0" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==" + } + } + }, + "available-typed-arrays": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz", + "integrity": "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==", + "dev": true, + "requires": { + "possible-typed-array-names": "^1.0.0" + } + }, + "aws-sign2": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", + "integrity": "sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==", + "dev": true + }, + "aws4": { + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.12.0.tgz", + "integrity": "sha512-NmWvPnx0F1SfrQbYwOi7OeaNGokp9XhzNioJ/CSBs8Qa4vxug81mhJEAVZwxXuBmYB5KDRfMq/F3RR0BIU7sWg==", + "dev": true + }, + "axios": { + "version": "1.6.8", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.6.8.tgz", + "integrity": "sha512-v/ZHtJDU39mDpyBoFVkETcd/uNdxrWRrg3bKpOKzXFA6Bvqopts6ALSMU3y6ijYxbw2B+wPrIv46egTzJXCLGQ==", + "requires": { + "follow-redirects": "^1.15.6", + "form-data": "^4.0.0", + "proxy-from-env": "^1.1.0" + } + }, + "b-tween": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/b-tween/-/b-tween-0.3.3.tgz", + "integrity": "sha512-oEHegcRpA7fAuc9KC4nktucuZn2aS8htymCPcP3qkEGPqiBH+GfqtqoG2l7LxHngg6O0HFM7hOeOYExl1Oz4ZA==" + }, + "b-validate": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/b-validate/-/b-validate-1.5.3.tgz", + "integrity": "sha512-iCvCkGFskbaYtfQ0a3GmcQCHl/Sv1GufXFGuUQ+FE+WJa7A/espLOuFIn09B944V8/ImPj71T4+rTASxO2PAuA==" + }, + "babel-jest": { + "version": "26.6.3", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-26.6.3.tgz", + "integrity": "sha512-pl4Q+GAVOHwvjrck6jKjvmGhnO3jHX/xuB9d27f+EJZ/6k+6nMuPjorrYp7s++bKKdANwzElBWnLWaObvTnaZA==", + "dev": true, + "requires": { + "@jest/transform": "^26.6.2", + "@jest/types": "^26.6.2", + "@types/babel__core": "^7.1.7", + "babel-plugin-istanbul": "^6.0.0", + "babel-preset-jest": "^26.6.2", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.4", + "slash": "^3.0.0" + } + }, + "babel-plugin-dva-hmr": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/babel-plugin-dva-hmr/-/babel-plugin-dva-hmr-0.4.2.tgz", + "integrity": "sha512-QP5W0IT9LDFgoqkXD0g7wn/FMn7zO562P8qys23twXri4i3E1SGOQ3z7jqcPrqzfTZHx+Ufr+cXy9oI6OLMYZg==", + "dev": true + }, + "babel-plugin-dynamic-import-node": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz", + "integrity": "sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==", + "dev": true, + "requires": { + "object.assign": "^4.1.0" + } + }, + "babel-plugin-istanbul": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz", + "integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@istanbuljs/load-nyc-config": "^1.0.0", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-instrument": "^5.0.4", + "test-exclude": "^6.0.0" + } + }, + "babel-plugin-jest-hoist": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-26.6.2.tgz", + "integrity": "sha512-PO9t0697lNTmcEHH69mdtYiOIkkOlj9fySqfO3K1eCcdISevLAE0xY59VLLUj0SoiPiTX/JU2CYFpILydUa5Lw==", + "dev": true, + "requires": { + "@babel/template": "^7.3.3", + "@babel/types": "^7.3.3", + "@types/babel__core": "^7.0.0", + "@types/babel__traverse": "^7.0.6" + } + }, + "babel-plugin-macros": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-2.6.1.tgz", + "integrity": "sha512-6W2nwiXme6j1n2erPOnmRiWfObUhWH7Qw1LMi9XZy8cj+KtESu3T6asZvtk5bMQQjX8te35o7CFueiSdL/2NmQ==", + "dev": true, + "requires": { + "@babel/runtime": "^7.4.2", + "cosmiconfig": "^5.2.0", + "resolve": "^1.10.0" + }, + "dependencies": { + "cosmiconfig": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.1.tgz", + "integrity": "sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==", + "dev": true, + "requires": { + "import-fresh": "^2.0.0", + "is-directory": "^0.3.1", + "js-yaml": "^3.13.1", + "parse-json": "^4.0.0" + } + }, + "import-fresh": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz", + "integrity": "sha512-eZ5H8rcgYazHbKC3PG4ClHNykCSxtAhxSSEM+2mb+7evD2CKF5V7c0dNum7AdpDh0ZdICwZY9sRSn8f+KH96sg==", + "dev": true, + "requires": { + "caller-path": "^2.0.0", + "resolve-from": "^3.0.0" + } + }, + "parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==", + "dev": true, + "requires": { + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" + } + }, + "resolve-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", + "integrity": "sha512-GnlH6vxLymXJNMBo7XP1fJIzBFbdYt49CuTwmB/6N53t+kMPRMFKz783LlQ4tv28XoQfMWinAJX6WCGf2IlaIw==", + "dev": true + } + } + }, + "babel-plugin-module-resolver": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/babel-plugin-module-resolver/-/babel-plugin-module-resolver-3.1.1.tgz", + "integrity": "sha512-1Q77Al4ydp6nYApJ7sQ2fmgz30WuQgJZegIYuyOdbdpxenB/bSezQ3hDPsumIXGlUS4vUIv+EwFjzzXZNWtARw==", + "dev": true, + "requires": { + "find-babel-config": "^1.1.0", + "glob": "^7.1.2", + "pkg-up": "^2.0.0", + "reselect": "^3.0.1", + "resolve": "^1.4.0" + }, + "dependencies": { + "find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha512-NWzkk0jSJtTt08+FBFMvXoeZnOJD+jTtsRmBYbAIzJdX6l7dLgR7CTubCM5/eDdPUBvLCeVasP1brfVR/9/EZQ==", + "dev": true, + "requires": { + "locate-path": "^2.0.0" + } + }, + "locate-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA==", + "dev": true, + "requires": { + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" + } + }, + "p-limit": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", + "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", + "dev": true, + "requires": { + "p-try": "^1.0.0" + } + }, + "p-locate": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha512-nQja7m7gSKuewoVRen45CtVfODR3crN3goVQ0DDZ9N3yHxgpkuBhZqsaiotSQRrADUrne346peY7kT3TSACykg==", + "dev": true, + "requires": { + "p-limit": "^1.1.0" + } + }, + "p-try": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww==", + "dev": true + }, + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", + "dev": true + }, + "pkg-up": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-2.0.0.tgz", + "integrity": "sha512-fjAPuiws93rm7mPUu21RdBnkeZNrbfCFCwfAhPWY+rR3zG0ubpe5cEReHOw5fIbfmsxEV/g2kSxGTATY3Bpnwg==", + "dev": true, + "requires": { + "find-up": "^2.1.0" + } + }, + "reselect": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/reselect/-/reselect-3.0.1.tgz", + "integrity": "sha512-b/6tFZCmRhtBMa4xGqiiRp9jh9Aqi2A687Lo265cN0/QohJQEBPiQ52f4QB6i0eF3yp3hmLL21LSGBcML2dlxA==", + "dev": true + } + } + }, + "babel-plugin-polyfill-corejs2": { + "version": "0.4.10", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.10.tgz", + "integrity": "sha512-rpIuu//y5OX6jVU+a5BCn1R5RSZYWAl2Nar76iwaOdycqb6JPxediskWFMMl7stfwNJR4b7eiQvh5fB5TEQJTQ==", + "dev": true, + "requires": { + "@babel/compat-data": "^7.22.6", + "@babel/helper-define-polyfill-provider": "^0.6.1", + "semver": "^6.3.1" + }, + "dependencies": { + "semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true + } + } + }, + "babel-plugin-polyfill-corejs3": { + "version": "0.10.4", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.10.4.tgz", + "integrity": "sha512-25J6I8NGfa5YkCDogHRID3fVCadIR8/pGl1/spvCkzb6lVn6SR3ojpx9nOn9iEBcUsjY24AmdKm5khcfKdylcg==", + "dev": true, + "requires": { + "@babel/helper-define-polyfill-provider": "^0.6.1", + "core-js-compat": "^3.36.1" + } + }, + "babel-plugin-polyfill-regenerator": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.1.tgz", + "integrity": "sha512-JfTApdE++cgcTWjsiCQlLyFBMbTUft9ja17saCc93lgV33h4tuCVj7tlvu//qpLwaG+3yEz7/KhahGrUMkVq9g==", + "dev": true, + "requires": { + "@babel/helper-define-polyfill-provider": "^0.6.1" + } + }, + "babel-plugin-react-require": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/babel-plugin-react-require/-/babel-plugin-react-require-3.0.0.tgz", + "integrity": "sha512-mZV3ycvtB4mfVhmScbU4CjMfBgoQAlsGu/vQw292juPSgvezTmBAke+V85ODAVNCM68r2Qa6dwu72Zcl4cTIbw==", + "dev": true + }, + "babel-plugin-transform-react-remove-prop-types": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-react-remove-prop-types/-/babel-plugin-transform-react-remove-prop-types-0.4.24.tgz", + "integrity": "sha512-eqj0hVcJUR57/Ug2zE1Yswsw4LhuqqHhD+8v120T1cl3kjg76QwtyBrdIk4WVwK+lAhBJVYCd/v+4nc4y+8JsA==", + "dev": true + }, + "babel-preset-current-node-syntax": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz", + "integrity": "sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==", + "dev": true, + "requires": { + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-bigint": "^7.8.3", + "@babel/plugin-syntax-class-properties": "^7.8.3", + "@babel/plugin-syntax-import-meta": "^7.8.3", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.8.3", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3", + "@babel/plugin-syntax-top-level-await": "^7.8.3" + } + }, + "babel-preset-jest": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-26.6.2.tgz", + "integrity": "sha512-YvdtlVm9t3k777c5NPQIv6cxFFFapys25HiUmuSgHwIZhfifweR5c5Sf5nwE3MAbfu327CYSvps8Yx6ANLyleQ==", + "dev": true, + "requires": { + "babel-plugin-jest-hoist": "^26.6.2", + "babel-preset-current-node-syntax": "^1.0.0" + } + }, + "babel-preset-umi": { + "version": "1.8.4", + "resolved": "https://registry.npmjs.org/babel-preset-umi/-/babel-preset-umi-1.8.4.tgz", + "integrity": "sha512-4IU0WuLZTiw7MstZJMwtjyYIGyOhWNUKcpSz1v5T9X8/ka2WXZ3qlkUe8dEb2kBNGrbOdXRw7u8FBEMtexqbow==", + "dev": true, + "requires": { + "@babel/core": "7.4.5", + "@babel/plugin-proposal-async-generator-functions": "7.2.0", + "@babel/plugin-proposal-class-properties": "7.4.4", + "@babel/plugin-proposal-decorators": "7.4.4", + "@babel/plugin-proposal-do-expressions": "7.2.0", + "@babel/plugin-proposal-export-default-from": "7.2.0", + "@babel/plugin-proposal-export-namespace-from": "7.2.0", + "@babel/plugin-proposal-function-bind": "7.2.0", + "@babel/plugin-proposal-nullish-coalescing-operator": "7.4.4", + "@babel/plugin-proposal-object-rest-spread": "7.4.4", + "@babel/plugin-proposal-optional-catch-binding": "7.2.0", + "@babel/plugin-proposal-optional-chaining": "7.2.0", + "@babel/plugin-proposal-pipeline-operator": "7.3.2", + "@babel/plugin-syntax-dynamic-import": "7.2.0", + "@babel/plugin-transform-destructuring": "7.4.4", + "@babel/plugin-transform-runtime": "7.4.4", + "@babel/preset-env": "7.4.5", + "@babel/preset-react": "7.0.0", + "@babel/runtime": "7.4.5", + "babel-plugin-macros": "2.6.1", + "babel-plugin-react-require": "3.0.0", + "babel-plugin-transform-react-remove-prop-types": "0.4.24" + }, + "dependencies": { + "@babel/core": { + "version": "7.4.5", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.4.5.tgz", + "integrity": "sha512-OvjIh6aqXtlsA8ujtGKfC7LYWksYSX8yQcM8Ay3LuvVeQ63lcOKgoZWVqcpFwkd29aYU9rVx7jxhfhiEDV9MZA==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "@babel/generator": "^7.4.4", + "@babel/helpers": "^7.4.4", + "@babel/parser": "^7.4.5", + "@babel/template": "^7.4.4", + "@babel/traverse": "^7.4.5", + "@babel/types": "^7.4.4", + "convert-source-map": "^1.1.0", + "debug": "^4.1.0", + "json5": "^2.1.0", + "lodash": "^4.17.11", + "resolve": "^1.3.2", + "semver": "^5.4.1", + "source-map": "^0.5.0" + } + }, + "@babel/plugin-proposal-class-properties": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.4.4.tgz", + "integrity": "sha512-WjKTI8g8d5w1Bc9zgwSz2nfrsNQsXcCf9J9cdCvrJV6RF56yztwm4TmJC0MgJ9tvwO9gUA/mcYe89bLdGfiXFg==", + "dev": true, + "requires": { + "@babel/helper-create-class-features-plugin": "^7.4.4", + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-proposal-decorators": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.4.4.tgz", + "integrity": "sha512-z7MpQz3XC/iQJWXH9y+MaWcLPNSMY9RQSthrLzak8R8hCj0fuyNk+Dzi9kfNe/JxxlWQ2g7wkABbgWjW36MTcw==", + "dev": true, + "requires": { + "@babel/helper-create-class-features-plugin": "^7.4.4", + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-syntax-decorators": "^7.2.0" + } + }, + "@babel/plugin-syntax-dynamic-import": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.2.0.tgz", + "integrity": "sha512-mVxuJ0YroI/h/tbFTPGZR8cv6ai+STMKNBq0f8hFxsxWjl94qqhsb+wXbpNMDPU3cfR1TIsVFzU3nXyZMqyK4w==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-destructuring": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.4.4.tgz", + "integrity": "sha512-/aOx+nW0w8eHiEHm+BTERB2oJn5D127iye/SUQl7NjHy0lf+j7h4MKMMSOwdazGq9OxgiNADncE+SRJkCxjZpQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/preset-env": { + "version": "7.4.5", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.4.5.tgz", + "integrity": "sha512-f2yNVXM+FsR5V8UwcFeIHzHWgnhXg3NpRmy0ADvALpnhB0SLbCvrCRr4BLOUYbQNLS+Z0Yer46x9dJXpXewI7w==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.0.0", + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-proposal-async-generator-functions": "^7.2.0", + "@babel/plugin-proposal-json-strings": "^7.2.0", + "@babel/plugin-proposal-object-rest-spread": "^7.4.4", + "@babel/plugin-proposal-optional-catch-binding": "^7.2.0", + "@babel/plugin-proposal-unicode-property-regex": "^7.4.4", + "@babel/plugin-syntax-async-generators": "^7.2.0", + "@babel/plugin-syntax-json-strings": "^7.2.0", + "@babel/plugin-syntax-object-rest-spread": "^7.2.0", + "@babel/plugin-syntax-optional-catch-binding": "^7.2.0", + "@babel/plugin-transform-arrow-functions": "^7.2.0", + "@babel/plugin-transform-async-to-generator": "^7.4.4", + "@babel/plugin-transform-block-scoped-functions": "^7.2.0", + "@babel/plugin-transform-block-scoping": "^7.4.4", + "@babel/plugin-transform-classes": "^7.4.4", + "@babel/plugin-transform-computed-properties": "^7.2.0", + "@babel/plugin-transform-destructuring": "^7.4.4", + "@babel/plugin-transform-dotall-regex": "^7.4.4", + "@babel/plugin-transform-duplicate-keys": "^7.2.0", + "@babel/plugin-transform-exponentiation-operator": "^7.2.0", + "@babel/plugin-transform-for-of": "^7.4.4", + "@babel/plugin-transform-function-name": "^7.4.4", + "@babel/plugin-transform-literals": "^7.2.0", + "@babel/plugin-transform-member-expression-literals": "^7.2.0", + "@babel/plugin-transform-modules-amd": "^7.2.0", + "@babel/plugin-transform-modules-commonjs": "^7.4.4", + "@babel/plugin-transform-modules-systemjs": "^7.4.4", + "@babel/plugin-transform-modules-umd": "^7.2.0", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.4.5", + "@babel/plugin-transform-new-target": "^7.4.4", + "@babel/plugin-transform-object-super": "^7.2.0", + "@babel/plugin-transform-parameters": "^7.4.4", + "@babel/plugin-transform-property-literals": "^7.2.0", + "@babel/plugin-transform-regenerator": "^7.4.5", + "@babel/plugin-transform-reserved-words": "^7.2.0", + "@babel/plugin-transform-shorthand-properties": "^7.2.0", + "@babel/plugin-transform-spread": "^7.2.0", + "@babel/plugin-transform-sticky-regex": "^7.2.0", + "@babel/plugin-transform-template-literals": "^7.4.4", + "@babel/plugin-transform-typeof-symbol": "^7.2.0", + "@babel/plugin-transform-unicode-regex": "^7.4.4", + "@babel/types": "^7.4.4", + "browserslist": "^4.6.0", + "core-js-compat": "^3.1.1", + "invariant": "^2.2.2", + "js-levenshtein": "^1.1.3", + "semver": "^5.5.0" + } + }, + "@babel/preset-react": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.0.0.tgz", + "integrity": "sha512-oayxyPS4Zj+hF6Et11BwuBkmpgT/zMxyuZgFrMeZID6Hdh3dGlk4sHCAhdBCpuCKW2ppBfl2uCCetlrUIJRY3w==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-transform-react-display-name": "^7.0.0", + "@babel/plugin-transform-react-jsx": "^7.0.0", + "@babel/plugin-transform-react-jsx-self": "^7.0.0", + "@babel/plugin-transform-react-jsx-source": "^7.0.0" + } + }, + "@babel/runtime": { + "version": "7.4.5", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.4.5.tgz", + "integrity": "sha512-TuI4qpWZP6lGOGIuGWtp9sPluqYICmbk8T/1vpSysqJxRPkudh/ofFWyqdcMsDf2s7KvDL4/YHgKyvcS3g9CJQ==", + "dev": true, + "requires": { + "regenerator-runtime": "^0.13.2" + } + }, + "convert-source-map": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", + "dev": true + }, + "regenerator-runtime": { + "version": "0.13.11", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", + "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==", + "dev": true + }, + "semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "dev": true + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", + "dev": true + } + } + }, + "babel-runtime": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", + "integrity": "sha512-ITKNuq2wKlW1fJg9sSW52eepoYgZBggvOAHC0u/CYu/qxQ9EVzThCgR69BnSXLHjy2f7SY5zaQ4yt7H9ZVxY2g==", + "dev": true, + "requires": { + "core-js": "^2.4.0", + "regenerator-runtime": "^0.11.0" + }, + "dependencies": { + "core-js": { + "version": "2.6.12", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.12.tgz", + "integrity": "sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==", + "dev": true + }, + "regenerator-runtime": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", + "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==", + "dev": true + } + } + }, + "babel-types": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz", + "integrity": "sha512-zhe3V/26rCWsEZK8kZN+HaQj5yQ1CilTObixFzKW1UWjqG7618Twz6YEsCnjfg5gBcJh02DrpCkS9h98ZqDY+g==", + "dev": true, + "requires": { + "babel-runtime": "^6.26.0", + "esutils": "^2.0.2", + "lodash": "^4.17.4", + "to-fast-properties": "^1.0.3" + }, + "dependencies": { + "to-fast-properties": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz", + "integrity": "sha512-lxrWP8ejsq+7E3nNjwYmUBMAgjMTZoTI+sdBOpvNyijeDLa29LUn9QaoXAHv4+Z578hbmHHJKZknzxVtvo77og==", + "dev": true + } + } + }, + "bail": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/bail/-/bail-1.0.5.tgz", + "integrity": "sha512-xFbRxM1tahm08yHBP16MMjVUAvDaBMD38zsM9EMAUN61omwLmKlOpB/Zku5QkjZ8TZ4vn53pj+t518cH0S03RQ==", + "dev": true + }, + "balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" + }, + "base": { + "version": "0.11.2", + "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", + "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", + "dev": true, + "requires": { + "cache-base": "^1.0.1", + "class-utils": "^0.3.5", + "component-emitter": "^1.2.1", + "define-property": "^1.0.0", + "isobject": "^3.0.1", + "mixin-deep": "^1.2.0", + "pascalcase": "^0.1.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", + "dev": true, + "requires": { + "is-descriptor": "^1.0.0" + } + } + } + }, + "base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==" + }, + "bcrypt-pbkdf": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", + "integrity": "sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==", + "dev": true, + "requires": { + "tweetnacl": "^0.14.3" + } + }, + "big.js": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", + "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==" + }, + "binary-extensions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", + "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==" + }, + "binaryextensions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/binaryextensions/-/binaryextensions-2.3.0.tgz", + "integrity": "sha512-nAihlQsYGyc5Bwq6+EsubvANYGExeJKHDO3RjnvwU042fawQTQfM3Kxn7IHUXQOz4bzfwsGYYHGSvXyW4zOGLg==", + "dev": true + }, + "bl": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", + "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", + "dev": true, + "requires": { + "buffer": "^5.5.0", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" + }, + "dependencies": { + "readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + } + } + }, + "blink-diff": { + "version": "1.0.13", + "resolved": "https://registry.npmjs.org/blink-diff/-/blink-diff-1.0.13.tgz", + "integrity": "sha512-2hIEnGq8wruXfje9GvDV41VXo+4YdjrjL5ZMlVJT3Wi5k1jjz20fCTlVejSXoERirhEVsFYz9NmgdUYgQ41Giw==", + "dev": true, + "requires": { + "pngjs-image": "~0.11.5", + "preceptor-core": "~0.10.0", + "promise": "6.0.0" + } + }, + "bluebird": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", + "dev": true + }, + "bn.js": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", + "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==" + }, + "body-parser": { + "version": "1.20.2", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.2.tgz", + "integrity": "sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==", + "dev": true, + "requires": { + "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.11.0", + "raw-body": "2.5.2", + "type-is": "~1.6.18", + "unpipe": "1.0.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + } + } + }, + "boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==", + "dev": true + }, + "boxen": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/boxen/-/boxen-2.1.0.tgz", + "integrity": "sha512-luq3RQOt2U5sUX+fiu+qnT+wWnHDcATLpEe63jvge6GUZO99AKbVRfp97d2jgLvq1iQa0ORzaAm4lGVG52ZSlw==", + "dev": true, + "requires": { + "ansi-align": "^3.0.0", + "camelcase": "^5.0.0", + "chalk": "^2.4.1", + "cli-boxes": "^1.0.0", + "string-width": "^3.0.0", + "term-size": "^1.2.0", + "widest-line": "^2.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", + "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", + "dev": true + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, + "emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", + "dev": true + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==", + "dev": true + }, + "string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "dev": true, + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + } + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" + } + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "requires": { + "fill-range": "^7.0.1" + } + }, + "braft-convert": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/braft-convert/-/braft-convert-2.3.0.tgz", + "integrity": "sha512-5km+dLHk8iYDv2iEYDrDQ2ld/ZoUx66QLql0qdm5PqZEcNXc8dBHGLORfzeu3iMw1jLeAiHxtdY5+ypuIhczVg==", + "requires": { + "draft-convert": "^2.0.0", + "draft-js": "^0.10.3" + } + }, + "braft-editor": { + "version": "2.3.9", + "resolved": "https://registry.npmjs.org/braft-editor/-/braft-editor-2.3.9.tgz", + "integrity": "sha512-mqdPk/zI2dhFK8tW/A4Qj/AkkARLh5L/niNw+iif5wFqb6zh15rMlrShgz1nWO/QXyAKr8XtDgxiBbR0zWwtRg==", + "requires": { + "@babel/runtime": "^7.0.0", + "braft-convert": "^2.3.0", + "braft-finder": "^0.0.19", + "braft-utils": "^3.0.8", + "draft-convert": "^2.0.0", + "draft-js": "^0.10.3", + "draft-js-multidecorators": "^1.0.0", + "draftjs-utils": "^0.9.4", + "immutable": "~3.7.4" + } + }, + "braft-finder": { + "version": "0.0.19", + "resolved": "https://registry.npmjs.org/braft-finder/-/braft-finder-0.0.19.tgz", + "integrity": "sha512-0kzI6/KbomJJhYX1hpjn4edCKhblyUyWdUrsgBmOrwy0vrj+pPkm69+Uf8Uj6KGAULM6LF0ooC++p7fqUGgFHw==" + }, + "braft-utils": { + "version": "3.0.13", + "resolved": "https://registry.npmjs.org/braft-utils/-/braft-utils-3.0.13.tgz", + "integrity": "sha512-92YNlc5RW3mNMo0zbWhnqz8PWr21AAPPhnfn3ZUoXM9+wBIuJQe6UyvOas+MEG9UOGFrvTDPbq60P3fdEhyMQQ==" + }, + "brorand": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", + "integrity": "sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==" + }, + "browser-process-hrtime": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz", + "integrity": "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==", + "dev": true + }, + "browserify-aes": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", + "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", + "requires": { + "buffer-xor": "^1.0.3", + "cipher-base": "^1.0.0", + "create-hash": "^1.1.0", + "evp_bytestokey": "^1.0.3", + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "browserify-cipher": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz", + "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", + "requires": { + "browserify-aes": "^1.0.4", + "browserify-des": "^1.0.0", + "evp_bytestokey": "^1.0.0" + } + }, + "browserify-des": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz", + "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", + "requires": { + "cipher-base": "^1.0.1", + "des.js": "^1.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "browserify-rsa": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.1.0.tgz", + "integrity": "sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==", + "requires": { + "bn.js": "^5.0.0", + "randombytes": "^2.0.1" + } + }, + "browserify-sign": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.3.tgz", + "integrity": "sha512-JWCZW6SKhfhjJxO8Tyiiy+XYB7cqd2S5/+WeYHsKdNKFlCBhKbblba1A/HN/90YwtxKc8tCErjffZl++UNmGiw==", + "requires": { + "bn.js": "^5.2.1", + "browserify-rsa": "^4.1.0", + "create-hash": "^1.2.0", + "create-hmac": "^1.1.7", + "elliptic": "^6.5.5", + "hash-base": "~3.0", + "inherits": "^2.0.4", + "parse-asn1": "^5.1.7", + "readable-stream": "^2.3.8", + "safe-buffer": "^5.2.1" + } + }, + "browserify-zlib": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", + "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", + "requires": { + "pako": "~1.0.5" + }, + "dependencies": { + "pako": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", + "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==" + } + } + }, + "browserslist": { + "version": "4.23.0", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.0.tgz", + "integrity": "sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==", + "requires": { + "caniuse-lite": "^1.0.30001587", + "electron-to-chromium": "^1.4.668", + "node-releases": "^2.0.14", + "update-browserslist-db": "^1.0.13" + } + }, + "bser": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", + "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", + "dev": true, + "requires": { + "node-int64": "^0.4.0" + } + }, + "buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "dev": true, + "requires": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "buffer-alloc": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz", + "integrity": "sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==", + "dev": true, + "requires": { + "buffer-alloc-unsafe": "^1.1.0", + "buffer-fill": "^1.0.0" + } + }, + "buffer-alloc-unsafe": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz", + "integrity": "sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==", + "dev": true + }, + "buffer-crc32": { + "version": "0.2.13", + "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", + "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==", + "dev": true + }, + "buffer-fill": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz", + "integrity": "sha512-T7zexNBwiiaCOGDg9xNX9PBmjrubblRkENuptryuI64URkXDFum9il/JGL8Lm8wYfAXpredVXXZz7eMHilimiQ==", + "dev": true + }, + "buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" + }, + "buffer-xor": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", + "integrity": "sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==" + }, + "builtin-status-codes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", + "integrity": "sha512-HpGFw18DgFWlncDfjTa2rcQ4W88O1mC8e8yZ2AvQY5KDaktSTwo+KRf6nHK6FRI5FyRyb/5T6+TSxfP7QyGsmQ==" + }, + "builtins": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/builtins/-/builtins-1.0.3.tgz", + "integrity": "sha512-uYBjakWipfaO/bXI7E8rq6kpwHRZK5cNYrUv2OzZSI/FvmdMyXJ2tG9dKcjEC5YHmHpUAwsargWIZNWdxb/bnQ==", + "dev": true + }, + "busboy": { + "version": "0.2.14", + "resolved": "https://registry.npmjs.org/busboy/-/busboy-0.2.14.tgz", + "integrity": "sha512-InWFDomvlkEj+xWLBfU3AvnbVYqeTWmQopiW0tWWEy5yehYm2YkGEc59sUmw/4ty5Zj/b0WHGs1LgecuBSBGrg==", + "dev": true, + "requires": { + "dicer": "0.2.5", + "readable-stream": "1.1.x" + }, + "dependencies": { + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==", + "dev": true + }, + "readable-stream": { + "version": "1.1.14", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", + "integrity": "sha512-+MeVjFf4L44XUkhM1eYbD8fyEsxcV81pqMSR5gblfcLCHfZvbrqy4/qYHE+/R5HoBUT11WV5O08Cr1n3YXkWVQ==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + } + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ==", + "dev": true + } + } + }, + "bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "dev": true + }, + "cacache": { + "version": "9.3.0", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-9.3.0.tgz", + "integrity": "sha512-Vbi8J1XfC8v+FbQ6QkOtKXsHpPnB0i9uMeYFJoj40EbdOsEqWB3DPpNjfsnYBkqOPYA8UvrqH6FZPpBP0zdN7g==", + "dev": true, + "requires": { + "bluebird": "^3.5.0", + "chownr": "^1.0.1", + "glob": "^7.1.2", + "graceful-fs": "^4.1.11", + "lru-cache": "^4.1.1", + "mississippi": "^1.3.0", + "mkdirp": "^0.5.1", + "move-concurrently": "^1.0.1", + "promise-inflight": "^1.0.1", + "rimraf": "^2.6.1", + "ssri": "^4.1.6", + "unique-filename": "^1.1.0", + "y18n": "^3.2.1" + }, + "dependencies": { + "lru-cache": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", + "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", + "dev": true, + "requires": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } + }, + "mkdirp": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", + "dev": true, + "requires": { + "minimist": "^1.2.6" + } + }, + "rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, + "yallist": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", + "integrity": "sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A==", + "dev": true + } + } + }, + "cache-base": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", + "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", + "dev": true, + "requires": { + "collection-visit": "^1.0.0", + "component-emitter": "^1.2.1", + "get-value": "^2.0.6", + "has-value": "^1.0.0", + "isobject": "^3.0.1", + "set-value": "^2.0.0", + "to-object-path": "^0.3.0", + "union-value": "^1.0.0", + "unset-value": "^1.0.0" + } + }, + "cacheable-request": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-6.1.0.tgz", + "integrity": "sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg==", + "dev": true, + "requires": { + "clone-response": "^1.0.2", + "get-stream": "^5.1.0", + "http-cache-semantics": "^4.0.0", + "keyv": "^3.0.0", + "lowercase-keys": "^2.0.0", + "normalize-url": "^4.1.0", + "responselike": "^1.0.2" + }, + "dependencies": { + "get-stream": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", + "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", + "dev": true, + "requires": { + "pump": "^3.0.0" + } + }, + "http-cache-semantics": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz", + "integrity": "sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==", + "dev": true + }, + "json-buffer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz", + "integrity": "sha512-CuUqjv0FUZIdXkHPI8MezCnFCdaTAacej1TZYulLoAg1h/PhwkdXFN4V/gzY4g+fMBCOV2xF+rp7t2XD2ns/NQ==", + "dev": true + }, + "keyv": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-3.1.0.tgz", + "integrity": "sha512-9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA==", + "dev": true, + "requires": { + "json-buffer": "3.0.0" + } + }, + "lowercase-keys": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz", + "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==", + "dev": true + }, + "normalize-url": { + "version": "4.5.1", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-4.5.1.tgz", + "integrity": "sha512-9UZCFRHQdNrfTpGg8+1INIg93B6zE0aXMVFkw1WFwvO4SlZywU6aLg5Of0Ap/PgcbSw4LNxvMWXMeugwMCX0AA==", + "dev": true + }, + "pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "dev": true, + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + } + } + }, + "call-bind": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz", + "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==", + "requires": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "set-function-length": "^1.2.1" + } + }, + "call-me-maybe": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-me-maybe/-/call-me-maybe-1.0.2.tgz", + "integrity": "sha512-HpX65o1Hnr9HH25ojC1YGs7HCQLq0GCOibSaWER0eNpgJ/Z1MZv2mTc7+xh6WOPxbRVcmgbv4hGU+uSQ/2xFZQ==", + "dev": true + }, + "caller-callsite": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/caller-callsite/-/caller-callsite-2.0.0.tgz", + "integrity": "sha512-JuG3qI4QOftFsZyOn1qq87fq5grLIyk1JYd5lJmdA+fG7aQ9pA/i3JIJGcO3q0MrRcHlOt1U+ZeHW8Dq9axALQ==", + "requires": { + "callsites": "^2.0.0" + }, + "dependencies": { + "callsites": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz", + "integrity": "sha512-ksWePWBloaWPxJYQ8TL0JHvtci6G5QTKwQ95RcWAa/lzoAKuAOflGdAK92hpHXjkwb8zLxoLNUoNYZgVsaJzvQ==" + } + } + }, + "caller-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-2.0.0.tgz", + "integrity": "sha512-MCL3sf6nCSXOwCTzvPKhN18TU7AHTvdtam8DAogxcrJ8Rjfbbg7Lgng64H9Iy+vUV6VGFClN/TyxBkAebLRR4A==", + "requires": { + "caller-callsite": "^2.0.0" + } + }, + "callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==" + }, + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true + }, + "camelcase-css": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz", + "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==", + "dev": true + }, + "camelcase-keys": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-6.2.2.tgz", + "integrity": "sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==", + "dev": true, + "requires": { + "camelcase": "^5.3.1", + "map-obj": "^4.0.0", + "quick-lru": "^4.0.1" + } + }, + "caniuse-lite": { + "version": "1.0.30001600", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001600.tgz", + "integrity": "sha512-+2S9/2JFhYmYaDpZvo0lKkfvuKIglrx68MwOBqMGHhQsNkLjB5xtc/TGoEPs+MxjSyN/72qer2g97nzR641mOQ==" + }, + "capture-exit": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/capture-exit/-/capture-exit-2.0.0.tgz", + "integrity": "sha512-PiT/hQmTonHhl/HFGN+Lx3JJUznrVYJ3+AQsnthneZbvW7x+f08Tk7yLJTLEOUvBTbduLeeBkxEaYXUOUrRq6g==", + "dev": true, + "requires": { + "rsvp": "^4.8.4" + } + }, + "capture-stack-trace": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/capture-stack-trace/-/capture-stack-trace-1.0.2.tgz", + "integrity": "sha512-X/WM2UQs6VMHUtjUDnZTRI+i1crWteJySFzr9UpGoQa4WQffXVTTXuekjl7TjZRlcF2XfjgITT0HxZ9RnxeT0w==", + "dev": true + }, + "cardinal": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/cardinal/-/cardinal-2.1.1.tgz", + "integrity": "sha512-JSr5eOgoEymtYHBjNWyjrMqet9Am2miJhlfKNdqLp6zoeAh0KN5dRAcxlecj5mAJrmQomgiOBj35xHLrFjqBpw==", + "dev": true, + "requires": { + "ansicolors": "~0.3.2", + "redeyed": "~2.1.0" + } + }, + "carlo": { + "version": "0.9.46", + "resolved": "https://registry.npmjs.org/carlo/-/carlo-0.9.46.tgz", + "integrity": "sha512-FwZ/wxjqe+5RgzF2SRsPSWsVB9+McAVRWW0tRkmbh7fBjrf3HFZZbcr8vr61p1K+NBaAPv57DRjxgIyfbHmd7g==", + "dev": true, + "requires": { + "debug": "^4.1.0", + "puppeteer-core": "~1.12.0" + }, + "dependencies": { + "agent-base": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.3.0.tgz", + "integrity": "sha512-salcGninV0nPrwpGNn4VTXBb1SOuXQBiqbrNXoeizJsHrsL6ERFM2Ne3JUSBWRE6aeNJI2ROP/WEEIDUiDe3cg==", + "dev": true, + "requires": { + "es6-promisify": "^5.0.0" + } + }, + "extract-zip": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-1.7.0.tgz", + "integrity": "sha512-xoh5G1W/PB0/27lXgMQyIhP5DSY/LhoCsOyZgb+6iMmRtCwVBo55uKaMoEYrDCKQhWvqEip5ZPKAc6eFNyf/MA==", + "dev": true, + "requires": { + "concat-stream": "^1.6.2", + "debug": "^2.6.9", + "mkdirp": "^0.5.4", + "yauzl": "^2.10.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + } + } + }, + "https-proxy-agent": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-2.2.4.tgz", + "integrity": "sha512-OmvfoQ53WLjtA9HeYP9RNrWMJzzAz1JGaSFr1nijg0PVR1JaD/xbJq1mdEIIlxGpXp9eSe/O2LgU9DJmTPd0Eg==", + "dev": true, + "requires": { + "agent-base": "^4.3.0", + "debug": "^3.1.0" + }, + "dependencies": { + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + } + } + }, + "mime": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz", + "integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==", + "dev": true + }, + "mkdirp": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", + "dev": true, + "requires": { + "minimist": "^1.2.6" + } + }, + "puppeteer-core": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/puppeteer-core/-/puppeteer-core-1.12.2.tgz", + "integrity": "sha512-M+atMV5e+MwJdR+OwQVZ1xqAIwh3Ou4nUxNuf334GwpcLG+LDj5BwIph4J9y8YAViByRtWGL+uF8qX2Ggzb+Fg==", + "dev": true, + "requires": { + "debug": "^4.1.0", + "extract-zip": "^1.6.6", + "https-proxy-agent": "^2.2.1", + "mime": "^2.0.3", + "progress": "^2.0.1", + "proxy-from-env": "^1.0.0", + "rimraf": "^2.6.1", + "ws": "^6.1.0" + } + }, + "rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, + "ws": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.2.tgz", + "integrity": "sha512-zmhltoSR8u1cnDsD43TX59mzoMZsLKqUweyYBAIvTngR3shc0W6aOZylZmq/7hqyVxPdi+5Ud2QInblgyE72fw==", + "dev": true, + "requires": { + "async-limiter": "~1.0.0" + } + } + } + }, + "caseless": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==", + "dev": true + }, + "ccount": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/ccount/-/ccount-1.1.0.tgz", + "integrity": "sha512-vlNK021QdI7PNeiUh/lKkC/mNHHfV0m/Ad5JoI0TYtlBnJAslM/JIkm/tGC88bkLIwO6OQ5uV6ztS6kVAtCDlg==", + "dev": true + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "char-regex": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", + "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", + "dev": true + }, + "character-entities": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-1.2.4.tgz", + "integrity": "sha512-iBMyeEHxfVnIakwOuDXpVkc54HijNgCyQB2w0VfGQThle6NXn50zU6V/u+LDhxHcDUPojn6Kpga3PTAD8W1bQw==", + "dev": true + }, + "character-entities-html4": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/character-entities-html4/-/character-entities-html4-1.1.4.tgz", + "integrity": "sha512-HRcDxZuZqMx3/a+qrzxdBKBPUpxWEq9xw2OPZ3a/174ihfrQKVsFhqtthBInFy1zZ9GgZyFXOatNujm8M+El3g==", + "dev": true + }, + "character-entities-legacy": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-1.1.4.tgz", + "integrity": "sha512-3Xnr+7ZFS1uxeiUDvV02wQ+QDbc55o97tIV5zHScSPJpcLm/r0DFPcoY3tYRp+VZukxuMeKgXYmsXQHO05zQeA==", + "dev": true + }, + "character-reference-invalid": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-1.1.4.tgz", + "integrity": "sha512-mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg==", + "dev": true + }, + "chardet": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", + "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", + "dev": true + }, + "charenc": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/charenc/-/charenc-0.0.2.tgz", + "integrity": "sha512-yrLQ/yVUFXkzg7EDQsPieE/53+0RlaWTs+wBrvW36cyilJ2SaDWfl4Yj7MtLTXleV9uEKefbAGUPv2/iWSooRA==" + }, + "cheerio": { + "version": "1.0.0-rc.12", + "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.12.tgz", + "integrity": "sha512-VqR8m68vM46BNnuZ5NtnGBKIE/DfN0cRIzg9n40EIq9NOv90ayxLBXA8fXC5gquFRGJSTRqBq25Jt2ECLR431Q==", + "dev": true, + "requires": { + "cheerio-select": "^2.1.0", + "dom-serializer": "^2.0.0", + "domhandler": "^5.0.3", + "domutils": "^3.0.1", + "htmlparser2": "^8.0.1", + "parse5": "^7.0.0", + "parse5-htmlparser2-tree-adapter": "^7.0.0" + } + }, + "cheerio-select": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cheerio-select/-/cheerio-select-2.1.0.tgz", + "integrity": "sha512-9v9kG0LvzrlcungtnJtpGNxY+fzECQKhK4EGJX2vByejiMX84MFNQw4UxPJl3bFbTMw+Dfs37XaIkCwTZfLh4g==", + "dev": true, + "requires": { + "boolbase": "^1.0.0", + "css-select": "^5.1.0", + "css-what": "^6.1.0", + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3", + "domutils": "^3.0.1" + } + }, + "chokidar": { + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.1.tgz", + "integrity": "sha512-9+s+Od+W0VJJzawDma/gvBNQqkTiqYTWLuZoyAsivsI4AaWTCzHG06/TMjsf1cYe9Cb97UCEhjz7HvnPk2p/tw==", + "requires": { + "anymatch": "~3.1.1", + "braces": "~3.0.2", + "fsevents": "~2.3.1", + "glob-parent": "~5.1.0", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.5.0" + }, + "dependencies": { + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==" + } + } + }, + "chownr": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", + "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", + "dev": true + }, + "ci-info": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", + "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==", + "dev": true + }, + "cipher-base": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", + "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", + "requires": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "cjs-module-lexer": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-0.6.0.tgz", + "integrity": "sha512-uc2Vix1frTfnuzxxu1Hp4ktSvM3QaI4oXl4ZUqL1wjTu/BGki9TrCWoqLTg/drR1KwAEarXuRFCG2Svr1GxPFw==", + "dev": true + }, + "class-utils": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", + "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", + "dev": true, + "requires": { + "arr-union": "^3.1.0", + "define-property": "^0.2.5", + "isobject": "^3.0.0", + "static-extend": "^0.1.1" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "is-descriptor": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.7.tgz", + "integrity": "sha512-C3grZTvObeN1xud4cRWl366OMXZTj0+HGyk4hvfpx4ZHt1Pb60ANSXqCK7pdOTeUQpRzECBSTphqvD7U+l22Eg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.1", + "is-data-descriptor": "^1.0.1" + } + } + } + }, + "classnames": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.5.1.tgz", + "integrity": "sha512-saHYOzhIQs6wy2sVxTM6bUDsQO4F50V9RQ22qBpEdCW+I+/Wmke2HOl6lS6dTpdxVhb88/I6+Hs+438c3lfUow==" + }, + "clean-regexp": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/clean-regexp/-/clean-regexp-1.0.0.tgz", + "integrity": "sha512-GfisEZEJvzKrmGWkvfhgzcz/BllN1USeqD2V6tg14OAOgaCD2Z/PUEuxnAZ/nPvmaHRG7a8y77p1T/IRQ4D1Hw==", + "dev": true, + "requires": { + "escape-string-regexp": "^1.0.5" + }, + "dependencies": { + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true + } + } + }, + "clean-stack": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", + "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", + "dev": true + }, + "cli-boxes": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-1.0.0.tgz", + "integrity": "sha512-3Fo5wu8Ytle8q9iCzS4D2MWVL2X7JVWRiS1BnXbTFDhS9c/REkM9vd1AmabsoZoY5/dGi5TT9iKL8Kb6DeBRQg==", + "dev": true + }, + "cli-cursor": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", + "integrity": "sha512-8lgKz8LmCRYZZQDpRyT2m5rKJ08TnU4tR9FFFW2rxpxR1FzWi4PQ/NfyODchAatHaUgnSPVcx/R5w6NuTBzFiw==", + "dev": true, + "requires": { + "restore-cursor": "^2.0.0" + } + }, + "cli-spinners": { + "version": "2.9.2", + "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.9.2.tgz", + "integrity": "sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==", + "dev": true + }, + "cli-table": { + "version": "0.3.11", + "resolved": "https://registry.npmjs.org/cli-table/-/cli-table-0.3.11.tgz", + "integrity": "sha512-IqLQi4lO0nIB4tcdTpN4LCB9FI3uqrJZK7RC515EnhZ6qBaglkIgICb1wjeAqpdoOabm1+SuQtkXIPdYC93jhQ==", + "dev": true, + "requires": { + "colors": "1.0.3" + } + }, + "cli-truncate": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-2.1.0.tgz", + "integrity": "sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==", + "dev": true, + "requires": { + "slice-ansi": "^3.0.0", + "string-width": "^4.2.0" + } + }, + "cli-width": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.1.tgz", + "integrity": "sha512-GRMWDxpOB6Dgk2E5Uo+3eEBvtOOlimMmpbFiKuLFnQzYDavtLFY3K5ona41jgN/WdRZtG7utuVSVTL4HbZHGkw==", + "dev": true + }, + "clipboardy": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/clipboardy/-/clipboardy-2.1.0.tgz", + "integrity": "sha512-2pzOUxWcLlXWtn+Jd6js3o12TysNOOVes/aQfg+MT/35vrxWzedHlLwyoJpXjsFKWm95BTNEcMGD9+a7mKzZkQ==", + "dev": true, + "requires": { + "arch": "^2.1.1", + "execa": "^1.0.0" + }, + "dependencies": { + "cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "dev": true, + "requires": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "execa": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", + "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", + "dev": true, + "requires": { + "cross-spawn": "^6.0.0", + "get-stream": "^4.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + } + }, + "get-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", + "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "dev": true, + "requires": { + "pump": "^3.0.0" + } + }, + "is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==", + "dev": true + }, + "npm-run-path": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", + "integrity": "sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw==", + "dev": true, + "requires": { + "path-key": "^2.0.0" + } + }, + "path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==", + "dev": true + }, + "pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "dev": true, + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "dev": true + }, + "shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==", + "dev": true, + "requires": { + "shebang-regex": "^1.0.0" + } + }, + "shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==", + "dev": true + }, + "which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + } + } + }, + "cliui": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", + "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", + "dev": true, + "requires": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^6.2.0" + }, + "dependencies": { + "wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + } + } + } + }, + "clone": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz", + "integrity": "sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w==", + "dev": true + }, + "clone-buffer": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/clone-buffer/-/clone-buffer-1.0.0.tgz", + "integrity": "sha512-KLLTJWrvwIP+OPfMn0x2PheDEP20RPUcGXj/ERegTgdmPEZylALQldygiqrPPu8P45uNuPs7ckmReLY6v/iA5g==", + "dev": true + }, + "clone-regexp": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/clone-regexp/-/clone-regexp-2.2.0.tgz", + "integrity": "sha512-beMpP7BOtTipFuW8hrJvREQ2DrRu3BE7by0ZpibtfBA+qfHYvMGTc2Yb1JMYPKg/JUw0CHYvpg796aNTSW9z7Q==", + "dev": true, + "requires": { + "is-regexp": "^2.0.0" + }, + "dependencies": { + "is-regexp": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-regexp/-/is-regexp-2.1.0.tgz", + "integrity": "sha512-OZ4IlER3zmRIoB9AqNhEggVxqIH4ofDns5nRrPS6yQxXE1TPCUpFznBfRQmQa8uC+pXqjMnukiJBxCisIxiLGA==", + "dev": true + } + } + }, + "clone-response": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.3.tgz", + "integrity": "sha512-ROoL94jJH2dUVML2Y/5PEDNaSHgeOdSDicUyS7izcF63G6sTc/FTjLub4b8Il9S8S0beOfYt0TaA5qvFK+w0wA==", + "dev": true, + "requires": { + "mimic-response": "^1.0.0" + }, + "dependencies": { + "mimic-response": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", + "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==", + "dev": true + } + } + }, + "clone-stats": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/clone-stats/-/clone-stats-1.0.0.tgz", + "integrity": "sha512-au6ydSpg6nsrigcZ4m8Bc9hxjeW+GJ8xh5G3BJCMt4WXe1H10UNaVOamqQTmrx1kjVuxAHIQSNU6hY4Nsn9/ag==", + "dev": true + }, + "cloneable-readable": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/cloneable-readable/-/cloneable-readable-1.1.3.tgz", + "integrity": "sha512-2EF8zTQOxYq70Y4XKtorQupqF0m49MBz2/yf5Bj+MHjvpG3Hy7sImifnqD6UA+TKYxeSV+u6qqQPawN5UvnpKQ==", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "process-nextick-args": "^2.0.0", + "readable-stream": "^2.3.5" + } + }, + "co": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==", + "dev": true + }, + "codesandbox": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/codesandbox/-/codesandbox-2.2.3.tgz", + "integrity": "sha512-IAkWFk6UUglOhSemI7UFgNNL/jgg+1YjVEIllFULLgsaHhFnY51pCqAifMNuAd5d9Zp4Nk/xMgrEaGNV0L4Xlg==", + "dev": true, + "requires": { + "axios": "^0.18.1", + "chalk": "^2.4.1", + "codesandbox-import-util-types": "^2.2.3", + "codesandbox-import-utils": "^2.2.3", + "commander": "^2.9.0", + "datauri": "^3.0.0", + "filesize": "^3.6.1", + "fs-extra": "^3.0.1", + "git-branch": "^1.0.0", + "git-repo-name": "^0.6.0", + "git-username": "^0.5.0", + "humps": "^2.0.1", + "inquirer": "^6.2.2", + "lodash": "^4.17.5", + "lz-string": "^1.4.4", + "ms": "^2.0.0", + "open": "^6.3.0", + "ora": "^1.3.0", + "pacote": "^2.7.36", + "shortid": "^2.2.8", + "update-notifier": "^2.2.0" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "axios": { + "version": "0.18.1", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.18.1.tgz", + "integrity": "sha512-0BfJq4NSfQXd+SkFdrvFbG7addhYSBA2mQwISr46pD6E5iqkWg02RAs8vyTT/j0RTnoYmeXauBuSv1qKwR179g==", + "dev": true, + "requires": { + "follow-redirects": "1.5.10", + "is-buffer": "^2.0.2" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "cli-spinners": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-1.3.1.tgz", + "integrity": "sha512-1QL4544moEsDVH9T/l6Cemov/37iv1RtoKf7NJ04A60+4MREXNfx/QvavbH6QoGdsD4N4Mwy49cmaINR/o2mdg==", + "dev": true + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true + }, + "follow-redirects": { + "version": "1.5.10", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.5.10.tgz", + "integrity": "sha512-0V5l4Cizzvqt5D44aTXbFZz+FtyXV1vrDN6qrelxtfYQKW0KO0W2T/hkE8xvGa/540LkZlkaUjO4ailYTFtHVQ==", + "dev": true, + "requires": { + "debug": "=3.1.0" + } + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true + }, + "is-buffer": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz", + "integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==", + "dev": true + }, + "log-symbols": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-2.2.0.tgz", + "integrity": "sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==", + "dev": true, + "requires": { + "chalk": "^2.0.1" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "ora": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/ora/-/ora-1.4.0.tgz", + "integrity": "sha512-iMK1DOQxzzh2MBlVsU42G80mnrvUhqsMh74phHtDlrcTZPK0pH6o7l7DRshK+0YsxDyEuaOkziVdvM3T0QTzpw==", + "dev": true, + "requires": { + "chalk": "^2.1.0", + "cli-cursor": "^2.1.0", + "cli-spinners": "^1.0.1", + "log-symbols": "^2.1.0" + } + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "codesandbox-import-util-types": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/codesandbox-import-util-types/-/codesandbox-import-util-types-2.2.3.tgz", + "integrity": "sha512-Qj00p60oNExthP2oR3vvXmUGjukij+rxJGuiaKM6tyUmSyimdZsqHI/TUvFFClAffk9s7hxGnQgWQ8KCce27qQ==", + "dev": true + }, + "codesandbox-import-utils": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/codesandbox-import-utils/-/codesandbox-import-utils-2.2.3.tgz", + "integrity": "sha512-ymtmcgZKU27U+nM2qUb21aO8Ut/u2S9s6KorOgG81weP+NA0UZkaHKlaRqbLJ9h4i/4FLvwmEXYAnTjNmp6ogg==", + "dev": true, + "requires": { + "codesandbox-import-util-types": "^2.2.3", + "istextorbinary": "^2.2.1", + "lz-string": "^1.4.4" + } + }, + "collect-v8-coverage": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.2.tgz", + "integrity": "sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==", + "dev": true + }, + "collection-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", + "integrity": "sha512-lNkKvzEeMBBjUGHZ+q6z9pSJla0KWAQPvtzhEV9+iGyQYG+pBpl7xKDhxoNSOZH2hhv0v5k0y2yAM4o4SjoSkw==", + "dev": true, + "requires": { + "map-visit": "^1.0.0", + "object-visit": "^1.0.0" + } + }, + "color": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/color/-/color-3.2.1.tgz", + "integrity": "sha512-aBl7dZI9ENN6fUGC7mWpMTPNHmWUSNan9tuWN6ahh5ZLNk9baLJOnSMlrQkHcrfFgz2/RigjUVAjdx36VcemKA==", + "requires": { + "color-convert": "^1.9.3", + "color-string": "^1.6.0" + }, + "dependencies": { + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" + } + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "color-string": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.9.1.tgz", + "integrity": "sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==", + "requires": { + "color-name": "^1.0.0", + "simple-swizzle": "^0.2.2" + } + }, + "colorette": { + "version": "2.0.20", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", + "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==", + "dev": true + }, + "colors": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.0.3.tgz", + "integrity": "sha512-pFGrxThWcWQ2MsAz6RtgeWe4NK2kUE1WfsrvvlctdII745EW9I0yflqhe7++M5LEc7bV2c/9/5zc8sFcpL0Drw==", + "dev": true + }, + "combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "requires": { + "delayed-stream": "~1.0.0" + } + }, + "comma-separated-tokens": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-1.0.8.tgz", + "integrity": "sha512-GHuDRO12Sypu2cV70d1dkA2EUmXHgntrzbpvOB+Qy+49ypNfGgFQIC2fhhXbnyrJRynDCAARsT7Ou0M6hirpfw==", + "dev": true + }, + "commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" + }, + "commondir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==", + "dev": true + }, + "component-classes": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/component-classes/-/component-classes-1.2.6.tgz", + "integrity": "sha512-hPFGULxdwugu1QWW3SvVOCUHLzO34+a2J6Wqy0c5ASQkfi9/8nZcBB0ZohaEbXOQlCflMAEMmEWk7u7BVs4koA==", + "dev": true, + "requires": { + "component-indexof": "0.0.3" + } + }, + "component-emitter": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.1.tgz", + "integrity": "sha512-T0+barUSQRTUQASh8bx02dl+DhF54GtIDY13Y3m9oWTklKbb3Wv974meRpeZ3lp1JpLVECWWNHC4vaG2XHXouQ==", + "dev": true + }, + "component-indexof": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/component-indexof/-/component-indexof-0.0.3.tgz", + "integrity": "sha512-puDQKvx/64HZXb4hBwIcvQLaLgux8o1CbWl39s41hrIIZDl1lJiD5jc22gj3RBeGK0ovxALDYpIbyjqDUUl0rw==", + "dev": true + }, + "compressible": { + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", + "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", + "dev": true, + "requires": { + "mime-db": ">= 1.43.0 < 2" + } + }, + "compression": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", + "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", + "dev": true, + "requires": { + "accepts": "~1.3.5", + "bytes": "3.0.0", + "compressible": "~2.0.16", + "debug": "2.6.9", + "on-headers": "~1.0.2", + "safe-buffer": "5.1.2", + "vary": "~1.1.2" + }, + "dependencies": { + "bytes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", + "integrity": "sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==", + "dev": true + }, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + } + } + }, + "compute-scroll-into-view": { + "version": "1.0.20", + "resolved": "https://registry.npmjs.org/compute-scroll-into-view/-/compute-scroll-into-view-1.0.20.tgz", + "integrity": "sha512-UCB0ioiyj8CRjtrvaceBLqqhZCVP+1B8+NWQhmdsm0VXOJtobBCf1dBQmebCCo34qZmUwZfIH2MZLqNHazrfjg==" + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" + }, + "concat-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", + "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", + "dev": true, + "requires": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" + } + }, + "configstore": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/configstore/-/configstore-3.1.5.tgz", + "integrity": "sha512-nlOhI4+fdzoK5xmJ+NY+1gZK56bwEaWZr8fYuXohZ9Vkc1o3a4T/R3M+yE/w7x/ZVJ1zF8c+oaOvF0dztdUgmA==", + "dev": true, + "requires": { + "dot-prop": "^4.2.1", + "graceful-fs": "^4.1.2", + "make-dir": "^1.0.0", + "unique-string": "^1.0.0", + "write-file-atomic": "^2.0.0", + "xdg-basedir": "^3.0.0" + }, + "dependencies": { + "make-dir": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", + "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", + "dev": true, + "requires": { + "pify": "^3.0.0" + } + }, + "write-file-atomic": { + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.4.3.tgz", + "integrity": "sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.11", + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.2" + } + } + } + }, + "connected-react-router": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/connected-react-router/-/connected-react-router-6.5.2.tgz", + "integrity": "sha512-qzsLPZCofSI80fwy+HgxtEgSGS4ndYUUZAWaw1dqaOGPLKX/FVwIOEb7q+hjHdnZ4v5pKZcNv5GG4urjujIoyA==", + "dev": true, + "requires": { + "immutable": "^3.8.1", + "prop-types": "^15.7.2", + "seamless-immutable": "^7.1.3" + }, + "dependencies": { + "immutable": { + "version": "3.8.2", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-3.8.2.tgz", + "integrity": "sha512-15gZoQ38eYjEjxkorfbcgBKBL6R7T459OuK+CpcWt7O3KF4uPCx2tD0uFETlUDIyo+1789crbMhTvQBSR5yBMg==", + "dev": true + } + } + }, + "console-browserify": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz", + "integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==" + }, + "constants-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", + "integrity": "sha512-xFxOwqIzR/e1k1gLiWEophSCMqXcwVHIH7akf7b/vxcUeGunlj3hvZaaqxwHsTgn+IndtkQJgSztIDWeumWJDQ==" + }, + "content-disposition": { + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", + "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", + "dev": true, + "requires": { + "safe-buffer": "5.2.1" + } + }, + "content-type": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", + "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", + "dev": true + }, + "convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==" + }, + "cookie": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.6.0.tgz", + "integrity": "sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==", + "dev": true + }, + "cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==", + "dev": true + }, + "copy-concurrently": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz", + "integrity": "sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==", + "dev": true, + "requires": { + "aproba": "^1.1.1", + "fs-write-stream-atomic": "^1.0.8", + "iferr": "^0.1.5", + "mkdirp": "^0.5.1", + "rimraf": "^2.5.4", + "run-queue": "^1.0.0" + }, + "dependencies": { + "mkdirp": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", + "dev": true, + "requires": { + "minimist": "^1.2.6" + } + }, + "rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + } + } + }, + "copy-descriptor": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", + "integrity": "sha512-XgZ0pFcakEUlbwQEVNg3+QAis1FyTL3Qel9FYy8pSkQqoG3PNoT0bOCQtOXcOkur21r2Eq2kI+IE+gsmAEVlYw==", + "dev": true + }, + "copy-text-to-clipboard": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/copy-text-to-clipboard/-/copy-text-to-clipboard-2.2.0.tgz", + "integrity": "sha512-WRvoIdnTs1rgPMkgA2pUOa/M4Enh2uzCwdKsOMYNAJiz/4ZvEJgmbF4OmninPmlFdAWisfeh0tH+Cpf7ni3RqQ==", + "dev": true + }, + "copy-to-clipboard": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/copy-to-clipboard/-/copy-to-clipboard-3.3.3.tgz", + "integrity": "sha512-2KV8NhB5JqC3ky0r9PMCAZKbUHSwtEo4CwCs0KXgruG43gX5PMqDEBbVU4OUzw2MuAWUfsuFmWvEKG5QRfSnJA==", + "requires": { + "toggle-selection": "^1.0.6" + } + }, + "core-js": { + "version": "3.6.5", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.6.5.tgz", + "integrity": "sha512-vZVEEwZoIsI+vPEuoF9Iqf5H7/M3eeQqWlQnYa8FSKKePuYTf5MWnxb5SDAzCa60b3JBRS5g9b+Dq7b1y/RCrA==" + }, + "core-js-compat": { + "version": "3.36.1", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.36.1.tgz", + "integrity": "sha512-Dk997v9ZCt3X/npqzyGdTlq6t7lDBhZwGvV94PKzDArjp7BTRm7WlDAXYd/OWdeFHO8OChQYRJNJvUCqCbrtKA==", + "dev": true, + "requires": { + "browserslist": "^4.23.0" + } + }, + "core-js-pure": { + "version": "3.36.1", + "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.36.1.tgz", + "integrity": "sha512-NXCvHvSVYSrewP0L5OhltzXeWFJLo2AL2TYnj6iLV3Bw8mM62wAQMNgUCRI6EBu6hVVpbCxmOPlxh1Ikw2PfUA==" + }, + "core-util-is": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" + }, + "cosmiconfig": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz", + "integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==", + "dev": true, + "requires": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.2.1", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.10.0" + } + }, + "create-ecdh": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.4.tgz", + "integrity": "sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==", + "requires": { + "bn.js": "^4.1.0", + "elliptic": "^6.5.3" + }, + "dependencies": { + "bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" + } + } + }, + "create-error-class": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/create-error-class/-/create-error-class-3.0.2.tgz", + "integrity": "sha512-gYTKKexFO3kh200H1Nit76sRwRtOY32vQd3jpAQKpLtZqyNsSQNfI4N7o3eP2wUjV35pTWKRYqFUDBvUha/Pkw==", + "dev": true, + "requires": { + "capture-stack-trace": "^1.0.0" + } + }, + "create-hash": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", + "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", + "requires": { + "cipher-base": "^1.0.1", + "inherits": "^2.0.1", + "md5.js": "^1.3.4", + "ripemd160": "^2.0.1", + "sha.js": "^2.4.0" + } + }, + "create-hmac": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", + "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", + "requires": { + "cipher-base": "^1.0.3", + "create-hash": "^1.1.0", + "inherits": "^2.0.1", + "ripemd160": "^2.0.0", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + } + }, + "create-react-class": { + "version": "15.7.0", + "resolved": "https://registry.npmjs.org/create-react-class/-/create-react-class-15.7.0.tgz", + "integrity": "sha512-QZv4sFWG9S5RUvkTYWbflxeZX+JG7Cz0Tn33rQBJ+WFQTqTfUTjMjiv9tnfXazjsO5r0KhPs+AqCjyrQX6h2ng==", + "dev": true, + "requires": { + "loose-envify": "^1.3.1", + "object-assign": "^4.1.1" + } + }, + "crequire": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/crequire/-/crequire-1.8.1.tgz", + "integrity": "sha512-GbElTY148ZRQbC3E3XlMAitKE9rEyO/2mIkkjwgqzIucRmHiaAMF2Ynpwsuxzp08SdAbeN4pTrEqZs0MWRN6/w==", + "dev": true + }, + "cross-env": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-env/-/cross-env-7.0.3.tgz", + "integrity": "sha512-+/HKd6EgcQCJGh2PSjZuUitQBQynKor4wrFbRg4DtAgS1aWO+gU52xpH7M9ScGgXSYmAVS9bIJ8EzuaGw0oNAw==", + "dev": true, + "requires": { + "cross-spawn": "^7.0.1" + } + }, + "cross-port-killer": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/cross-port-killer/-/cross-port-killer-1.4.0.tgz", + "integrity": "sha512-ujqfftKsSeorFMVI6JP25xMBixHEaDWVK+NarRZAGnJjR5AhebRQU+g+k/Lj8OHwM6f+wrrs8u5kkCdI7RLtxQ==", + "dev": true + }, + "cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } + }, + "crypt": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/crypt/-/crypt-0.0.2.tgz", + "integrity": "sha512-mCxBlsHFYh9C+HVpiEacem8FEBnMXgU9gy4zmNC+SXAZNB/1idgp/aulFJ4FgCi7GPEVbfyng092GqL2k2rmow==" + }, + "crypto-browserify": { + "version": "3.12.0", + "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", + "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", + "requires": { + "browserify-cipher": "^1.0.0", + "browserify-sign": "^4.0.0", + "create-ecdh": "^4.0.0", + "create-hash": "^1.1.0", + "create-hmac": "^1.1.0", + "diffie-hellman": "^5.0.0", + "inherits": "^2.0.1", + "pbkdf2": "^3.0.3", + "public-encrypt": "^4.0.0", + "randombytes": "^2.0.0", + "randomfill": "^1.0.3" + } + }, + "crypto-random-string": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-1.0.0.tgz", + "integrity": "sha512-GsVpkFPlycH7/fRR7Dhcmnoii54gV1nz7y4CWyeFS14N+JVBBhY+r8amRHE4BwSYal7BPTDp8isvAlCxyFt3Hg==", + "dev": true + }, + "css-animation": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/css-animation/-/css-animation-1.6.1.tgz", + "integrity": "sha512-/48+/BaEaHRY6kNQ2OIPzKf9A6g8WjZYjhiNDNuIVbsm5tXCGIAsHDjB4Xu1C4vXJtUWZo26O68OQkDpNBaPog==", + "dev": true, + "requires": { + "babel-runtime": "6.x", + "component-classes": "^1.2.5" + } + }, + "css-blank-pseudo": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/css-blank-pseudo/-/css-blank-pseudo-0.1.4.tgz", + "integrity": "sha512-LHz35Hr83dnFeipc7oqFDmsjHdljj3TQtxGGiNWSOsTLIAubSm4TEz8qCaKFpk7idaQ1GfWscF4E6mgpBysA1w==", + "requires": { + "postcss": "^7.0.5" + } + }, + "css-has-pseudo": { + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/css-has-pseudo/-/css-has-pseudo-0.10.0.tgz", + "integrity": "sha512-Z8hnfsZu4o/kt+AuFzeGpLVhFOGO9mluyHBaA2bA8aCGTwah5sT3WV/fTHH8UNZUytOIImuGPrl/prlb4oX4qQ==", + "requires": { + "postcss": "^7.0.6", + "postcss-selector-parser": "^5.0.0-rc.4" + }, + "dependencies": { + "cssesc": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-2.0.0.tgz", + "integrity": "sha512-MsCAG1z9lPdoO/IUMLSBWBSVxVtJ1395VGIQ+Fc2gNdkQ1hNDnQdw3YhA71WJCBW1vdwA0cAnk/DnW6bqoEUYg==" + }, + "postcss-selector-parser": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-5.0.0.tgz", + "integrity": "sha512-w+zLE5Jhg6Liz8+rQOWEAwtwkyqpfnmsinXjXg6cY7YIONZZtgvE0v2O0uhQBs0peNomOJwWRKt6JBfTdTd3OQ==", + "requires": { + "cssesc": "^2.0.0", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + } + } + } + }, + "css-prefers-color-scheme": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/css-prefers-color-scheme/-/css-prefers-color-scheme-3.1.1.tgz", + "integrity": "sha512-MTu6+tMs9S3EUqzmqLXEcgNRbNkkD/TGFvowpeoWJn5Vfq7FMgsmRQs9X5NXAURiOBmOxm/lLjsDNXDE6k9bhg==", + "requires": { + "postcss": "^7.0.5" + } + }, + "css-select": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-5.1.0.tgz", + "integrity": "sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==", + "dev": true, + "requires": { + "boolbase": "^1.0.0", + "css-what": "^6.1.0", + "domhandler": "^5.0.2", + "domutils": "^3.0.1", + "nth-check": "^2.0.1" + } + }, + "css-what": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", + "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==", + "dev": true + }, + "css.escape": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/css.escape/-/css.escape-1.5.1.tgz", + "integrity": "sha512-YUifsXXuknHlUsmlgyY0PKzgPOr7/FjCePfHNt0jxm83wHZi44VDMQ7/fGNkjY3/jV1MC+1CmZbaHzugyeRtpg==", + "dev": true + }, + "cssdb": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/cssdb/-/cssdb-4.4.0.tgz", + "integrity": "sha512-LsTAR1JPEM9TpGhl/0p3nQecC2LJ0kD8X5YARu1hk/9I1gril5vDtMZyNxcEpxxDj34YNck/ucjuoUd66K03oQ==" + }, + "cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==" + }, + "cssom": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.4.4.tgz", + "integrity": "sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==", + "dev": true + }, + "cssstyle": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz", + "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==", + "dev": true, + "requires": { + "cssom": "~0.3.6" + }, + "dependencies": { + "cssom": { + "version": "0.3.8", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", + "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==", + "dev": true + } + } + }, + "csstype": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", + "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==" + }, + "cwd": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/cwd/-/cwd-0.9.1.tgz", + "integrity": "sha512-4+0D+ojEasdLndYX4Cqff057I/Jp6ysXpwKkdLQLnZxV8f6IYZmZtTP5uqD91a/kWqejoc0sSqK4u8wpTKCh8A==", + "dev": true, + "requires": { + "find-pkg": "^0.1.0" + } + }, + "cyclist": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-1.0.2.tgz", + "integrity": "sha512-0sVXIohTfLqVIW3kb/0n6IiWF3Ifj5nm2XaSrLq2DI6fKIGa2fYAZdk917rUneaeLVpYfFcyXE2ft0fe3remsA==", + "dev": true + }, + "d": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/d/-/d-1.0.2.tgz", + "integrity": "sha512-MOqHvMWF9/9MX6nza0KgvFH4HpMU0EF5uUDXqX/BtxtU8NfB0QzRtJ8Oe/6SuS4kbhyzVJwjd97EA4PKrzJ8bw==", + "dev": true, + "requires": { + "es5-ext": "^0.10.64", + "type": "^2.7.2" + } + }, + "dashdash": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==", + "dev": true, + "requires": { + "assert-plus": "^1.0.0" + } + }, + "data-urls": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-2.0.0.tgz", + "integrity": "sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==", + "dev": true, + "requires": { + "abab": "^2.0.3", + "whatwg-mimetype": "^2.3.0", + "whatwg-url": "^8.0.0" + } + }, + "data-view-buffer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/data-view-buffer/-/data-view-buffer-1.0.1.tgz", + "integrity": "sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA==", + "dev": true, + "requires": { + "call-bind": "^1.0.6", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.1" + } + }, + "data-view-byte-length": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/data-view-byte-length/-/data-view-byte-length-1.0.1.tgz", + "integrity": "sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ==", + "dev": true, + "requires": { + "call-bind": "^1.0.7", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.1" + } + }, + "data-view-byte-offset": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/data-view-byte-offset/-/data-view-byte-offset-1.0.0.tgz", + "integrity": "sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA==", + "dev": true, + "requires": { + "call-bind": "^1.0.6", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.1" + } + }, + "datauri": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/datauri/-/datauri-3.0.0.tgz", + "integrity": "sha512-NeDFuUPV1YCpCn8MUIcDk1QnuyenUHs7f4Q5P0n9FFA0neKFrfEH9esR+YMW95BplbYfdmjbs0Pl/ZGAaM2QHQ==", + "dev": true, + "requires": { + "image-size": "0.8.3", + "mimer": "1.1.0" + } + }, + "date-fns": { + "version": "2.30.0", + "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-2.30.0.tgz", + "integrity": "sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw==", + "requires": { + "@babel/runtime": "^7.21.0" + } + }, + "date-format": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/date-format/-/date-format-0.0.0.tgz", + "integrity": "sha512-kAmAdtsjW5nQ02FERwI1bP4xe6HQBPwy5kpAF4CRSLOMUs/vgMIEEwpy6JqUs7NitTyhZiImxwAjgPpnteycHg==", + "dev": true + }, + "dayjs": { + "version": "1.11.10", + "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.10.tgz", + "integrity": "sha512-vjAczensTgRcqDERK0SR2XMwsF/tSvnvlv6VcF2GIhg6Sx4yOIt/irsr1RDJsKiIyBzJDpCoXiWWq28MqH2cnQ==" + }, + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "requires": { + "ms": "2.1.2" + }, + "dependencies": { + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + } + } + }, + "decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", + "dev": true + }, + "decamelize-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.1.tgz", + "integrity": "sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg==", + "dev": true, + "requires": { + "decamelize": "^1.1.0", + "map-obj": "^1.0.0" + }, + "dependencies": { + "map-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", + "integrity": "sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==", + "dev": true + } + } + }, + "decimal.js": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.4.3.tgz", + "integrity": "sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==", + "dev": true + }, + "decode-uri-component": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.2.tgz", + "integrity": "sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==" + }, + "decompress-response": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", + "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==", + "dev": true, + "optional": true, + "requires": { + "mimic-response": "^3.1.0" + } + }, + "dedent": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz", + "integrity": "sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==", + "dev": true + }, + "deep-extend": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", + "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", + "dev": true + }, + "deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "dev": true + }, + "deepmerge": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", + "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==" + }, + "defaults": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.4.tgz", + "integrity": "sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==", + "dev": true, + "requires": { + "clone": "^1.0.2" + }, + "dependencies": { + "clone": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", + "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==", + "dev": true + } + } + }, + "defer-to-connect": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-1.1.3.tgz", + "integrity": "sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ==", + "dev": true + }, + "define-data-property": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", + "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", + "requires": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "gopd": "^1.0.1" + } + }, + "define-lazy-prop": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", + "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==" + }, + "define-properties": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", + "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", + "requires": { + "define-data-property": "^1.0.1", + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + } + }, + "define-property": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", + "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", + "dev": true, + "requires": { + "is-descriptor": "^1.0.2", + "isobject": "^3.0.1" + } + }, + "delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==" + }, + "depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "dev": true + }, + "des.js": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.1.0.tgz", + "integrity": "sha512-r17GxjhUCjSRy8aiJpr8/UadFIzMzJGexI3Nmz4ADi9LYSFx4gTBp80+NaX/YsXWWLhpZ7v/v/ubEc/bCNfKwg==", + "requires": { + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" + } + }, + "destroy": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", + "dev": true + }, + "detect-indent": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-6.1.0.tgz", + "integrity": "sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==", + "dev": true + }, + "detect-installer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/detect-installer/-/detect-installer-1.0.2.tgz", + "integrity": "sha512-ilO8dCPf2628WxyaE0sDKjvv7q6g/NFdd8O1t5dcpCytRuD2KVFQuCQ9fpD1T97J+06RZcuFov4ZkGLxsINXWQ==", + "dev": true + }, + "detect-libc": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.3.tgz", + "integrity": "sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==", + "dev": true, + "optional": true + }, + "detect-newline": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", + "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==", + "dev": true + }, + "detect-node-es": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/detect-node-es/-/detect-node-es-1.1.0.tgz", + "integrity": "sha512-ypdmJU/TbBby2Dxibuv7ZLW3Bs1QEmM7nHjEANfohJLvE0XVujisn1qPJcZxg+qDucsr+bP6fLD1rPS3AhJ7EQ==" + }, + "detect-port-alt": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/detect-port-alt/-/detect-port-alt-1.1.6.tgz", + "integrity": "sha512-5tQykt+LqfJFBEYaDITx7S7cR7mJ/zQmLXZ2qt5w04ainYZw6tBf9dBunMjVeVOdYVRUzUOE4HkY5J7+uttb5Q==", + "requires": { + "address": "^1.0.1", + "debug": "^2.6.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + } + } + }, + "devtools-protocol": { + "version": "0.0.854822", + "resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.854822.tgz", + "integrity": "sha512-xd4D8kHQtB0KtWW0c9xBZD5LVtm9chkMOfs/3Yn01RhT/sFIsVtzTtypfKoFfWBaL+7xCYLxjOLkhwPXaX/Kcg==", + "dev": true + }, + "dicer": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/dicer/-/dicer-0.2.5.tgz", + "integrity": "sha512-FDvbtnq7dzlPz0wyYlOExifDEZcu8h+rErEXgfxqmLfRfC/kJidEFh4+effJRO3P0xmfqyPbSMG0LveNRfTKVg==", + "dev": true, + "requires": { + "readable-stream": "1.1.x", + "streamsearch": "0.1.2" + }, + "dependencies": { + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==", + "dev": true + }, + "readable-stream": { + "version": "1.1.14", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", + "integrity": "sha512-+MeVjFf4L44XUkhM1eYbD8fyEsxcV81pqMSR5gblfcLCHfZvbrqy4/qYHE+/R5HoBUT11WV5O08Cr1n3YXkWVQ==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + } + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ==", + "dev": true + } + } + }, + "diff-sequences": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-26.6.2.tgz", + "integrity": "sha512-Mv/TDa3nZ9sbc5soK+OoA74BsS3mL37yixCvUAQkiuA4Wz6YtwP/K47n2rv2ovzHZvoiQeA5FTQOschKkEwB0Q==", + "dev": true + }, + "diffie-hellman": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", + "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", + "requires": { + "bn.js": "^4.1.0", + "miller-rabin": "^4.0.0", + "randombytes": "^2.0.0" + }, + "dependencies": { + "bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" + } + } + }, + "dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "requires": { + "path-type": "^4.0.0" + } + }, + "discontinuous-range": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/discontinuous-range/-/discontinuous-range-1.0.0.tgz", + "integrity": "sha512-c68LpLbO+7kP/b1Hr1qs8/BJ09F5khZGTxqxZuhzxpmwJKOgRFHJWIb9/KmqnqHhLdO55aOxFH/EGBvUQbL/RQ==", + "dev": true + }, + "doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "dev": true, + "requires": { + "esutils": "^2.0.2" + } + }, + "dom-align": { + "version": "1.12.4", + "resolved": "https://registry.npmjs.org/dom-align/-/dom-align-1.12.4.tgz", + "integrity": "sha512-R8LUSEay/68zE5c8/3BDxiTEvgb4xZTF0RKmAHfiEVN3klfIpXfi2/QCoiWPccVQ0J/ZGdz9OjzL4uJEP/MRAw==" + }, + "dom-helpers": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/dom-helpers/-/dom-helpers-5.2.1.tgz", + "integrity": "sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA==", + "requires": { + "@babel/runtime": "^7.8.7", + "csstype": "^3.0.2" + } + }, + "dom-serializer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", + "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==", + "dev": true, + "requires": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.2", + "entities": "^4.2.0" + } + }, + "dom-walk": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/dom-walk/-/dom-walk-0.1.2.tgz", + "integrity": "sha512-6QvTW9mrGeIegrFXdtQi9pk7O/nSK6lSdXW2eqUspN5LWD7UTji2Fqw5V2YLjBpHEoU9Xl/eUWNpDeZvoyOv2w==", + "dev": true + }, + "domain-browser": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", + "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==" + }, + "domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", + "dev": true + }, + "domexception": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/domexception/-/domexception-2.0.1.tgz", + "integrity": "sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==", + "dev": true, + "requires": { + "webidl-conversions": "^5.0.0" + }, + "dependencies": { + "webidl-conversions": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-5.0.0.tgz", + "integrity": "sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==", + "dev": true + } + } + }, + "domhandler": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", + "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", + "dev": true, + "requires": { + "domelementtype": "^2.3.0" + } + }, + "dompurify": { + "version": "2.4.9", + "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-2.4.9.tgz", + "integrity": "sha512-iHtnxYMotKgOTvxIqq677JsKHvCOkAFqj9x8Mek2zdeHW1XjuFKwjpmZeMaXQRQ8AbJZDbcRz/+r1QhwvFtmQg==" + }, + "domutils": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.1.0.tgz", + "integrity": "sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==", + "dev": true, + "requires": { + "dom-serializer": "^2.0.0", + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3" + } + }, + "dot-prop": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-4.2.1.tgz", + "integrity": "sha512-l0p4+mIuJIua0mhxGoh4a+iNL9bmeK5DvnSVQa6T0OhrVmaEa1XScX5Etc673FePCJOArq/4Pa2cLGODUWTPOQ==", + "dev": true, + "requires": { + "is-obj": "^1.0.0" + } + }, + "dotenv": { + "version": "8.6.0", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-8.6.0.tgz", + "integrity": "sha512-IrPdXQsk2BbzvCBGBOTmmSH5SodmqZNt4ERAZDmW4CT+tL8VtvinqywuANaFu4bOMWki16nqf0e4oC0QIaDr/g==", + "dev": true + }, + "draft-convert": { + "version": "2.1.13", + "resolved": "https://registry.npmjs.org/draft-convert/-/draft-convert-2.1.13.tgz", + "integrity": "sha512-/h/n4JCfyO8aWby7wKBkccHdsuVbbDyHWXi/B3Zf2pN++lN1lDOIVt5ulXCcbH2Y5YJEFzMJw/YGfN+R0axxxg==", + "requires": { + "@babel/runtime": "^7.5.5", + "immutable": "~3.7.4", + "invariant": "^2.2.1" + } + }, + "draft-js": { + "version": "0.10.5", + "resolved": "https://registry.npmjs.org/draft-js/-/draft-js-0.10.5.tgz", + "integrity": "sha512-LE6jSCV9nkPhfVX2ggcRLA4FKs6zWq9ceuO/88BpXdNCS7mjRTgs0NsV6piUCJX9YxMsB9An33wnkMmU2sD2Zg==", + "requires": { + "fbjs": "^0.8.15", + "immutable": "~3.7.4", + "object-assign": "^4.1.0" + } + }, + "draft-js-multidecorators": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/draft-js-multidecorators/-/draft-js-multidecorators-1.0.0.tgz", + "integrity": "sha512-7qdy+YQol5iq38AoEerhgSJWhCzxvZLn1x5ODfUlGfWlg0SrZ9AXJbaxHVIjdSIZNrbVIm+WANujNxMqCmDSZQ==", + "requires": { + "immutable": "*" + } + }, + "draftjs-utils": { + "version": "0.9.4", + "resolved": "https://registry.npmjs.org/draftjs-utils/-/draftjs-utils-0.9.4.tgz", + "integrity": "sha512-KYjABSbGpJrwrwmxVj5UhfV37MF/p0QRxKIyL+/+QOaJ8J9z1FBKxkblThbpR0nJi9lxPQWGg+gh+v0dAsSCCg==" + }, + "dumi-assets-types": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/dumi-assets-types/-/dumi-assets-types-1.0.1.tgz", + "integrity": "sha512-A+fJp7L+Q6nU5S2KgbdnyfRoCkAZy+UFudQ45QPM7W+3LIe8o+Tt0cURIQMnLZMBjoKbItB5IDi+IM39FwFZvQ==", + "dev": true + }, + "dumi-theme-default": { + "version": "1.1.24", + "resolved": "https://registry.npmjs.org/dumi-theme-default/-/dumi-theme-default-1.1.24.tgz", + "integrity": "sha512-/fS7gBJejom1Zy1GZkrqG/dLEsCK6J/S/ctCPEawDC3KkZE0sJh+dqsMuhHt8ts7ZhaGhDpJNPXSMghfN/qrzw==", + "dev": true, + "requires": { + "lodash.throttle": "^4.1.1", + "prism-react-renderer": "^1.1.1", + "prismjs": "^1.21.0", + "rc-motion": "^2.4.1", + "rc-tabs": "^11.7.1", + "rc-tree": "^5.2.0", + "react-error-boundary": "^3.1.4" + }, + "dependencies": { + "rc-menu": { + "version": "9.6.4", + "resolved": "https://registry.npmjs.org/rc-menu/-/rc-menu-9.6.4.tgz", + "integrity": "sha512-6DiNAjxjVIPLZXHffXxxcyE15d4isRL7iQ1ru4MqYDH2Cqc5bW96wZOdMydFtGLyDdnmEQ9jVvdCE9yliGvzkw==", + "dev": true, + "requires": { + "@babel/runtime": "^7.10.1", + "classnames": "2.x", + "rc-motion": "^2.4.3", + "rc-overflow": "^1.2.0", + "rc-trigger": "^5.1.2", + "rc-util": "^5.12.0", + "shallowequal": "^1.1.0" + } + }, + "rc-tabs": { + "version": "11.16.1", + "resolved": "https://registry.npmjs.org/rc-tabs/-/rc-tabs-11.16.1.tgz", + "integrity": "sha512-bR7Dap23YyfzZQwtKomhiFEFzZuE7WaKWo+ypNRSGB9PDKSc6tM12VP8LWYkvmmQHthgwP0WRN8nFbSJWuqLYw==", + "dev": true, + "requires": { + "@babel/runtime": "^7.11.2", + "classnames": "2.x", + "rc-dropdown": "~4.0.0", + "rc-menu": "~9.6.0", + "rc-resize-observer": "^1.0.0", + "rc-util": "^5.5.0" + } + } + } + }, + "duplexer": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", + "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==" + }, + "duplexer3": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.5.tgz", + "integrity": "sha512-1A8za6ws41LQgv9HrE/66jyC5yuSjQ3L/KOpFtoBilsAK2iA2wuS5rTt1OCzIvtS2V7nVmedsUU+DGRcjBmOYA==", + "dev": true + }, + "duplexify": { + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz", + "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==", + "dev": true, + "requires": { + "end-of-stream": "^1.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.0.0", + "stream-shift": "^1.0.0" + } + }, + "dva": { + "version": "2.6.0-beta.23", + "resolved": "https://registry.npmjs.org/dva/-/dva-2.6.0-beta.23.tgz", + "integrity": "sha512-noeOz3Erxpc6YLEsyyS//zGszeRYWKEvZoeCZ0LaCvWrV7Cxah9Xt/I9V1SS9eYDySaSgTUOoU+dLweQpCScAA==", + "dev": true, + "requires": { + "@babel/runtime": "^7.0.0", + "@types/isomorphic-fetch": "^0.0.35", + "@types/react-redux": "^7.1.0", + "@types/react-router-dom": "^5.1.2", + "connected-react-router": "6.5.2", + "dva-core": "2.0.4", + "global": "^4.3.2", + "history": "^4.7.2", + "invariant": "^2.2.4", + "isomorphic-fetch": "^2.2.1", + "react-redux": "^7.1.0", + "react-router-dom": "^5.1.2", + "redux": "^4.0.1" + } + }, + "dva-core": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/dva-core/-/dva-core-2.0.4.tgz", + "integrity": "sha512-Zh39llFyItu9HKXKfCZVf9UFtDTcypdAjGBew1S+wK8BGVzFpm1GPTdd6uIMeg7O6STtCvt2Qv+RwUut1GFynA==", + "dev": true, + "requires": { + "@babel/runtime": "^7.0.0", + "flatten": "^1.0.2", + "global": "^4.3.2", + "invariant": "^2.2.1", + "is-plain-object": "^2.0.3", + "redux-saga": "^0.16.0", + "warning": "^3.0.0" + }, + "dependencies": { + "warning": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/warning/-/warning-3.0.0.tgz", + "integrity": "sha512-jMBt6pUrKn5I+OGgtQ4YZLdhIeJmObddh6CsibPxyQ5yPZm1XExSyzC1LCNX7BzhxWgiHmizBWJTHJIjMjTQYQ==", + "dev": true, + "requires": { + "loose-envify": "^1.0.0" + } + } + } + }, + "dva-immer": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/dva-immer/-/dva-immer-0.5.2.tgz", + "integrity": "sha512-xg23ktGsrdzgiU0ACl8vFm2+E2GBWbtXndXRKM9wtHDR+yMH27NfttVuAZQWvv4aaj6f5/bC+TdsZ9t7n6cAhQ==", + "dev": true, + "requires": { + "@babel/runtime": "^7.0.0", + "immer": "^7.0.5" + } + }, + "dva-loading": { + "version": "3.0.24", + "resolved": "https://registry.npmjs.org/dva-loading/-/dva-loading-3.0.24.tgz", + "integrity": "sha512-3j4bmuXOYH93xe+CC//z3Si8XMx6DLJveep+UbzKy0jhA7oQrCCZTdKxu0UPYXeAMYXpCO25pG4JOnVhzmC7ug==", + "dev": true, + "requires": { + "@babel/runtime": "^7.0.0" + } + }, + "ecc-jsbn": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", + "integrity": "sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==", + "dev": true, + "requires": { + "jsbn": "~0.1.0", + "safer-buffer": "^2.1.0" + } + }, + "echarts": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/echarts/-/echarts-5.5.0.tgz", + "integrity": "sha512-rNYnNCzqDAPCr4m/fqyUFv7fD9qIsd50S6GDFgO1DxZhncCsNsG7IfUlAlvZe5oSEQxtsjnHiUuppzccry93Xw==", + "requires": { + "tslib": "2.3.0", + "zrender": "5.5.0" + } + }, + "echarts-for-react": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/echarts-for-react/-/echarts-for-react-3.0.2.tgz", + "integrity": "sha512-DRwIiTzx8JfwPOVgGttDytBqdp5VzCSyMRIxubgU/g2n9y3VLUmF2FK7Icmg/sNVkv4+rktmrLN9w22U2yy3fA==", + "requires": { + "fast-deep-equal": "^3.1.3", + "size-sensor": "^1.0.1" + }, + "dependencies": { + "fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" + } + } + }, + "editions": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/editions/-/editions-2.3.1.tgz", + "integrity": "sha512-ptGvkwTvGdGfC0hfhKg0MT+TRLRKGtUiWGBInxOm5pz7ssADezahjCUaYuZ8Dr+C05FW0AECIIPt4WBxVINEhA==", + "dev": true, + "requires": { + "errlop": "^2.0.0", + "semver": "^6.3.0" + }, + "dependencies": { + "semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true + } + } + }, + "ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", + "dev": true + }, + "ejs": { + "version": "2.7.4", + "resolved": "https://registry.npmjs.org/ejs/-/ejs-2.7.4.tgz", + "integrity": "sha512-7vmuyh5+kuUyJKePhQfRQBhXV5Ce+RnaeeQArKu1EAMpL3WbgMt5WG6uQZpEVvYSSsxMXRKOewtDk9RaTKXRlA==", + "dev": true + }, + "electron-to-chromium": { + "version": "1.4.721", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.721.tgz", + "integrity": "sha512-k1x2r6foI8iJOp+1qTxbbrrWMsOiHkzGBYwYigaq+apO1FSqtn44KTo3Sy69qt7CRr7149zTcsDvH7MUKsOuIQ==" + }, + "elliptic": { + "version": "6.5.5", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.5.tgz", + "integrity": "sha512-7EjbcmUm17NQFu4Pmgmq2olYMj8nwMnpcddByChSUjArp8F5DQWcIcpriwO4ZToLNAJig0yiyjswfyGNje/ixw==", + "requires": { + "bn.js": "^4.11.9", + "brorand": "^1.1.0", + "hash.js": "^1.0.0", + "hmac-drbg": "^1.0.1", + "inherits": "^2.0.4", + "minimalistic-assert": "^1.0.1", + "minimalistic-crypto-utils": "^1.0.1" + }, + "dependencies": { + "bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" + } + } + }, + "email-addresses": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/email-addresses/-/email-addresses-3.1.0.tgz", + "integrity": "sha512-k0/r7GrWVL32kZlGwfPNgB2Y/mMXVTq/decgLczm/j34whdaspNrZO8CnXPf1laaHxI6ptUlsnAxN+UAPw+fzg==", + "dev": true + }, + "emitter-component": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/emitter-component/-/emitter-component-1.1.2.tgz", + "integrity": "sha512-QdXO3nXOzZB4pAjM0n6ZE+R9/+kPpECA/XSELIcc54NeYVnBqIk+4DFiBgK+8QbV3mdvTG6nedl7dTYgO+5wDw==", + "dev": true + }, + "emittery": { + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.7.2.tgz", + "integrity": "sha512-A8OG5SR/ij3SsJdWDJdkkSYUjQdCUx6APQXem0SaEePBSRg4eymGYwBkKo1Y6DU+af/Jn2dBQqDBvjnr9Vi8nQ==", + "dev": true + }, + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "emojis-list": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", + "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==" + }, + "encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", + "dev": true + }, + "encoding": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz", + "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", + "requires": { + "iconv-lite": "^0.6.2" + }, + "dependencies": { + "iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "requires": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + } + } + } + }, + "end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "requires": { + "once": "^1.4.0" + } + }, + "enhanced-resolve": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.5.0.tgz", + "integrity": "sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "memory-fs": "^0.5.0", + "tapable": "^1.0.0" + } + }, + "enquirer": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.4.1.tgz", + "integrity": "sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ==", + "dev": true, + "requires": { + "ansi-colors": "^4.1.1", + "strip-ansi": "^6.0.1" + } + }, + "entities": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "dev": true + }, + "enzyme": { + "version": "3.11.0", + "resolved": "https://registry.npmjs.org/enzyme/-/enzyme-3.11.0.tgz", + "integrity": "sha512-Dw8/Gs4vRjxY6/6i9wU0V+utmQO9kvh9XLnz3LIudviOnVYDEe2ec+0k+NQoMamn1VrjKgCUOWj5jG/5M5M0Qw==", + "dev": true, + "requires": { + "array.prototype.flat": "^1.2.3", + "cheerio": "^1.0.0-rc.3", + "enzyme-shallow-equal": "^1.0.1", + "function.prototype.name": "^1.1.2", + "has": "^1.0.3", + "html-element-map": "^1.2.0", + "is-boolean-object": "^1.0.1", + "is-callable": "^1.1.5", + "is-number-object": "^1.0.4", + "is-regex": "^1.0.5", + "is-string": "^1.0.5", + "is-subset": "^0.1.1", + "lodash.escape": "^4.0.1", + "lodash.isequal": "^4.5.0", + "object-inspect": "^1.7.0", + "object-is": "^1.0.2", + "object.assign": "^4.1.0", + "object.entries": "^1.1.1", + "object.values": "^1.1.1", + "raf": "^3.4.1", + "rst-selector-parser": "^2.2.3", + "string.prototype.trim": "^1.2.1" + } + }, + "enzyme-shallow-equal": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/enzyme-shallow-equal/-/enzyme-shallow-equal-1.0.7.tgz", + "integrity": "sha512-/um0GFqUXnpM9SvKtje+9Tjoz3f1fpBC3eXRFrNs8kpYn69JljciYP7KZTqM/YQbUY9KUjvKB4jo/q+L6WGGvg==", + "dev": true, + "requires": { + "hasown": "^2.0.0", + "object-is": "^1.1.5" + } + }, + "err-code": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/err-code/-/err-code-1.1.2.tgz", + "integrity": "sha512-CJAN+O0/yA1CKfRn9SXOGctSpEM7DCon/r/5r2eXFMY2zCCJBasFhcM5I+1kh3Ap11FsQCX+vGHceNPvpWKhoA==", + "dev": true + }, + "errlop": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/errlop/-/errlop-2.2.0.tgz", + "integrity": "sha512-e64Qj9+4aZzjzzFpZC7p5kmm/ccCrbLhAJplhsDXQFs87XTsXwOpH4s1Io2s90Tau/8r2j9f4l/thhDevRjzxw==", + "dev": true + }, + "errno": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz", + "integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==", + "dev": true, + "requires": { + "prr": "~1.0.1" + } + }, + "error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "requires": { + "is-arrayish": "^0.2.1" + } + }, + "error-stack-parser": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.1.4.tgz", + "integrity": "sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ==", + "requires": { + "stackframe": "^1.3.4" + } + }, + "es-abstract": { + "version": "1.23.2", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.23.2.tgz", + "integrity": "sha512-60s3Xv2T2p1ICykc7c+DNDPLDMm9t4QxCOUU0K9JxiLjM3C1zB9YVdN7tjxrFd4+AkZ8CdX1ovUga4P2+1e+/w==", + "dev": true, + "requires": { + "array-buffer-byte-length": "^1.0.1", + "arraybuffer.prototype.slice": "^1.0.3", + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.7", + "data-view-buffer": "^1.0.1", + "data-view-byte-length": "^1.0.1", + "data-view-byte-offset": "^1.0.0", + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "es-set-tostringtag": "^2.0.3", + "es-to-primitive": "^1.2.1", + "function.prototype.name": "^1.1.6", + "get-intrinsic": "^1.2.4", + "get-symbol-description": "^1.0.2", + "globalthis": "^1.0.3", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.2", + "has-proto": "^1.0.3", + "has-symbols": "^1.0.3", + "hasown": "^2.0.2", + "internal-slot": "^1.0.7", + "is-array-buffer": "^3.0.4", + "is-callable": "^1.2.7", + "is-data-view": "^1.0.1", + "is-negative-zero": "^2.0.3", + "is-regex": "^1.1.4", + "is-shared-array-buffer": "^1.0.3", + "is-string": "^1.0.7", + "is-typed-array": "^1.1.13", + "is-weakref": "^1.0.2", + "object-inspect": "^1.13.1", + "object-keys": "^1.1.1", + "object.assign": "^4.1.5", + "regexp.prototype.flags": "^1.5.2", + "safe-array-concat": "^1.1.2", + "safe-regex-test": "^1.0.3", + "string.prototype.trim": "^1.2.9", + "string.prototype.trimend": "^1.0.8", + "string.prototype.trimstart": "^1.0.7", + "typed-array-buffer": "^1.0.2", + "typed-array-byte-length": "^1.0.1", + "typed-array-byte-offset": "^1.0.2", + "typed-array-length": "^1.0.5", + "unbox-primitive": "^1.0.2", + "which-typed-array": "^1.1.15" + } + }, + "es-array-method-boxes-properly": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-array-method-boxes-properly/-/es-array-method-boxes-properly-1.0.0.tgz", + "integrity": "sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA==", + "dev": true + }, + "es-define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz", + "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==", + "requires": { + "get-intrinsic": "^1.2.4" + } + }, + "es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==" + }, + "es-iterator-helpers": { + "version": "1.0.18", + "resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.0.18.tgz", + "integrity": "sha512-scxAJaewsahbqTYrGKJihhViaM6DDZDDoucfvzNbK0pOren1g/daDQ3IAhzn+1G14rBG7w+i5N+qul60++zlKA==", + "dev": true, + "requires": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.0", + "es-errors": "^1.3.0", + "es-set-tostringtag": "^2.0.3", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "globalthis": "^1.0.3", + "has-property-descriptors": "^1.0.2", + "has-proto": "^1.0.3", + "has-symbols": "^1.0.3", + "internal-slot": "^1.0.7", + "iterator.prototype": "^1.1.2", + "safe-array-concat": "^1.1.2" + } + }, + "es-module-lexer": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.7.1.tgz", + "integrity": "sha512-MgtWFl5No+4S3TmhDmCz2ObFGm6lEpTnzbQi+Dd+pw4mlTIZTmM2iAs5gRlmx5zS9luzobCSBSI90JM/1/JgOw==" + }, + "es-object-atoms": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.0.0.tgz", + "integrity": "sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==", + "dev": true, + "requires": { + "es-errors": "^1.3.0" + } + }, + "es-set-tostringtag": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.3.tgz", + "integrity": "sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ==", + "dev": true, + "requires": { + "get-intrinsic": "^1.2.4", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.1" + } + }, + "es-shim-unscopables": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.2.tgz", + "integrity": "sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==", + "dev": true, + "requires": { + "hasown": "^2.0.0" + } + }, + "es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "dev": true, + "requires": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + } + }, + "es5-ext": { + "version": "0.10.64", + "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.64.tgz", + "integrity": "sha512-p2snDhiLaXe6dahss1LddxqEm+SkuDvV8dnIQG0MWjyHpcMNfXKPE+/Cc0y+PhxJX3A4xGNeFCj5oc0BUh6deg==", + "dev": true, + "requires": { + "es6-iterator": "^2.0.3", + "es6-symbol": "^3.1.3", + "esniff": "^2.0.1", + "next-tick": "^1.1.0" + } + }, + "es5-imcompatible-versions": { + "version": "0.1.89", + "resolved": "https://registry.npmjs.org/es5-imcompatible-versions/-/es5-imcompatible-versions-0.1.89.tgz", + "integrity": "sha512-metQ5Hi5dgBiaoc2VjGx2IABciw0djiE1+KbRWHbgQng9KnJQ1niBIA6vvLKWgA9R02kQZQRvFJ504ev0AQbzQ==" + }, + "es6-iterator": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz", + "integrity": "sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g==", + "dev": true, + "requires": { + "d": "1", + "es5-ext": "^0.10.35", + "es6-symbol": "^3.1.1" + } + }, + "es6-promise": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-3.3.1.tgz", + "integrity": "sha512-SOp9Phqvqn7jtEUxPWdWfWoLmyt2VaJ6MpvP9Comy1MceMXqE6bxvaTu4iaxpYYPzhny28Lc+M87/c2cPK6lDg==", + "dev": true + }, + "es6-promisify": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz", + "integrity": "sha512-C+d6UdsYDk0lMebHNR4S2NybQMMngAOnOwYBQjTOiv0MkoJMP0Myw2mgpDLBcpfCmRLxyFqYhS/CfOENq4SJhQ==", + "dev": true, + "requires": { + "es6-promise": "^4.0.3" + }, + "dependencies": { + "es6-promise": { + "version": "4.2.8", + "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.8.tgz", + "integrity": "sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==", + "dev": true + } + } + }, + "es6-symbol": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.4.tgz", + "integrity": "sha512-U9bFFjX8tFiATgtkJ1zg25+KviIXpgRvRHS8sau3GfhVzThRQrOeksPeT0BWW2MNZs1OEWJ1DPXOQMn0KKRkvg==", + "dev": true, + "requires": { + "d": "^1.0.2", + "ext": "^1.7.0" + } + }, + "es6-weak-map": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.3.tgz", + "integrity": "sha512-p5um32HOTO1kP+w7PRnB+5lQ43Z6muuMuIMffvDN8ZB4GcnjLBV6zGStpbASIMk4DCAvEaamhe2zhyCb/QXXsA==", + "dev": true, + "requires": { + "d": "1", + "es5-ext": "^0.10.46", + "es6-iterator": "^2.0.3", + "es6-symbol": "^3.1.1" + } + }, + "esbuild": { + "version": "0.12.15", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.12.15.tgz", + "integrity": "sha512-72V4JNd2+48eOVCXx49xoSWHgC3/cCy96e7mbXKY+WOWghN00cCmlGnwVLRhRHorvv0dgCyuMYBZlM2xDM5OQw==" + }, + "esbuild-loader": { + "version": "2.9.2", + "resolved": "https://registry.npmjs.org/esbuild-loader/-/esbuild-loader-2.9.2.tgz", + "integrity": "sha512-HpF+r/ES2aC40VDOIFsP8OIOM2y2vj8LyLwJ4G8DCMOi8Kov68TwCtxiMMTuSuxR/xKDu/ykgVyCEgps6BXpYw==", + "dev": true, + "requires": { + "esbuild": "^0.8.42", + "joycon": "^2.2.5", + "json5": "^2.2.0", + "loader-utils": "^2.0.0", + "type-fest": "^0.20.2", + "webpack-sources": "^2.2.0" + }, + "dependencies": { + "esbuild": { + "version": "0.8.57", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.8.57.tgz", + "integrity": "sha512-j02SFrUwFTRUqiY0Kjplwjm1psuzO1d6AjaXKuOR9hrY0HuPsT6sV42B6myW34h1q4CRy+Y3g4RU/cGJeI/nNA==", + "dev": true + } + } + }, + "escalade": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz", + "integrity": "sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==" + }, + "escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", + "dev": true + }, + "escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==" + }, + "escodegen": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.1.0.tgz", + "integrity": "sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==", + "dev": true, + "requires": { + "esprima": "^4.0.1", + "estraverse": "^5.2.0", + "esutils": "^2.0.2", + "source-map": "~0.6.1" + } + }, + "eslint": { + "version": "7.32.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.32.0.tgz", + "integrity": "sha512-VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA==", + "dev": true, + "requires": { + "@babel/code-frame": "7.12.11", + "@eslint/eslintrc": "^0.4.3", + "@humanwhocodes/config-array": "^0.5.0", + "ajv": "^6.10.0", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.0.1", + "doctrine": "^3.0.0", + "enquirer": "^2.3.5", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^5.1.1", + "eslint-utils": "^2.1.0", + "eslint-visitor-keys": "^2.0.0", + "espree": "^7.3.1", + "esquery": "^1.4.0", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "functional-red-black-tree": "^1.0.1", + "glob-parent": "^5.1.2", + "globals": "^13.6.0", + "ignore": "^4.0.6", + "import-fresh": "^3.0.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "js-yaml": "^3.13.1", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.0.4", + "natural-compare": "^1.4.0", + "optionator": "^0.9.1", + "progress": "^2.0.0", + "regexpp": "^3.1.0", + "semver": "^7.2.1", + "strip-ansi": "^6.0.0", + "strip-json-comments": "^3.1.0", + "table": "^6.0.9", + "text-table": "^0.2.0", + "v8-compile-cache": "^2.0.3" + }, + "dependencies": { + "@babel/code-frame": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz", + "integrity": "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==", + "dev": true, + "requires": { + "@babel/highlight": "^7.10.4" + } + }, + "fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, + "globals": { + "version": "13.24.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", + "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", + "dev": true, + "requires": { + "type-fest": "^0.20.2" + } + }, + "ignore": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", + "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", + "dev": true + } + } + }, + "eslint-ast-utils": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/eslint-ast-utils/-/eslint-ast-utils-1.1.0.tgz", + "integrity": "sha512-otzzTim2/1+lVrlH19EfQQJEhVJSu0zOb9ygb3iapN6UlyaDtyRq4b5U1FuW0v1lRa9Fp/GJyHkSwm6NqABgCA==", + "dev": true, + "requires": { + "lodash.get": "^4.4.2", + "lodash.zip": "^4.2.0" + } + }, + "eslint-config-prettier": { + "version": "8.10.0", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.10.0.tgz", + "integrity": "sha512-SM8AMJdeQqRYT9O9zguiruQZaN7+z+E4eAP9oiLNGKMtomwaB1E9dcgUD6ZAn/eQAb52USbvezbiljfZUhbJcg==", + "dev": true + }, + "eslint-formatter-pretty": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/eslint-formatter-pretty/-/eslint-formatter-pretty-4.1.0.tgz", + "integrity": "sha512-IsUTtGxF1hrH6lMWiSl1WbGaiP01eT6kzywdY1U+zLc0MP+nwEnUiS9UI8IaOTUhTeQJLlCEWIbXINBH4YJbBQ==", + "dev": true, + "requires": { + "@types/eslint": "^7.2.13", + "ansi-escapes": "^4.2.1", + "chalk": "^4.1.0", + "eslint-rule-docs": "^1.1.5", + "log-symbols": "^4.0.0", + "plur": "^4.0.0", + "string-width": "^4.2.0", + "supports-hyperlinks": "^2.0.0" + } + }, + "eslint-plugin-babel": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-babel/-/eslint-plugin-babel-5.3.1.tgz", + "integrity": "sha512-VsQEr6NH3dj664+EyxJwO4FCYm/00JhYb3Sk3ft8o+fpKuIfQ9TaW6uVUfvwMXHcf/lsnRIoyFPsLMyiWCSL/g==", + "dev": true, + "requires": { + "eslint-rule-composer": "^0.3.0" + } + }, + "eslint-plugin-jest": { + "version": "24.7.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-24.7.0.tgz", + "integrity": "sha512-wUxdF2bAZiYSKBclsUMrYHH6WxiBreNjyDxbRv345TIvPeoCEgPNEn3Sa+ZrSqsf1Dl9SqqSREXMHExlMMu1DA==", + "dev": true, + "requires": { + "@typescript-eslint/experimental-utils": "^4.0.1" + } + }, + "eslint-plugin-promise": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-promise/-/eslint-plugin-promise-6.1.1.tgz", + "integrity": "sha512-tjqWDwVZQo7UIPMeDReOpUgHCmCiH+ePnVT+5zVapL0uuHnegBUs2smM13CzOs2Xb5+MHMRFTs9v24yjba4Oig==", + "dev": true + }, + "eslint-plugin-react": { + "version": "7.34.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.34.1.tgz", + "integrity": "sha512-N97CxlouPT1AHt8Jn0mhhN2RrADlUAsk1/atcT2KyA/l9Q/E6ll7OIGwNumFmWfZ9skV3XXccYS19h80rHtgkw==", + "dev": true, + "requires": { + "array-includes": "^3.1.7", + "array.prototype.findlast": "^1.2.4", + "array.prototype.flatmap": "^1.3.2", + "array.prototype.toreversed": "^1.1.2", + "array.prototype.tosorted": "^1.1.3", + "doctrine": "^2.1.0", + "es-iterator-helpers": "^1.0.17", + "estraverse": "^5.3.0", + "jsx-ast-utils": "^2.4.1 || ^3.0.0", + "minimatch": "^3.1.2", + "object.entries": "^1.1.7", + "object.fromentries": "^2.0.7", + "object.hasown": "^1.1.3", + "object.values": "^1.1.7", + "prop-types": "^15.8.1", + "resolve": "^2.0.0-next.5", + "semver": "^6.3.1", + "string.prototype.matchall": "^4.0.10" + }, + "dependencies": { + "doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "dev": true, + "requires": { + "esutils": "^2.0.2" + } + }, + "resolve": { + "version": "2.0.0-next.5", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.5.tgz", + "integrity": "sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==", + "dev": true, + "requires": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + } + }, + "semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true + } + } + }, + "eslint-plugin-react-hooks": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.0.tgz", + "integrity": "sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==", + "dev": true + }, + "eslint-plugin-unicorn": { + "version": "20.1.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-unicorn/-/eslint-plugin-unicorn-20.1.0.tgz", + "integrity": "sha512-XQxLBJT/gnwyRR6cfYsIK1AdekQchAt5tmcsnldevGjgR2xoZsRUa5/i6e0seNHy2RoT57CkTnbVHwHF8No8LA==", + "dev": true, + "requires": { + "ci-info": "^2.0.0", + "clean-regexp": "^1.0.0", + "eslint-ast-utils": "^1.1.0", + "eslint-template-visitor": "^2.0.0", + "eslint-utils": "^2.0.0", + "import-modules": "^2.0.0", + "lodash": "^4.17.15", + "pluralize": "^8.0.0", + "read-pkg-up": "^7.0.1", + "regexp-tree": "^0.1.21", + "reserved-words": "^0.1.2", + "safe-regex": "^2.1.1", + "semver": "^7.3.2" + } + }, + "eslint-rule-composer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/eslint-rule-composer/-/eslint-rule-composer-0.3.0.tgz", + "integrity": "sha512-bt+Sh8CtDmn2OajxvNO+BX7Wn4CIWMpTRm3MaiKPCQcnnlm0CS2mhui6QaoeQugs+3Kj2ESKEEGJUdVafwhiCg==", + "dev": true + }, + "eslint-rule-docs": { + "version": "1.1.235", + "resolved": "https://registry.npmjs.org/eslint-rule-docs/-/eslint-rule-docs-1.1.235.tgz", + "integrity": "sha512-+TQ+x4JdTnDoFEXXb3fDvfGOwnyNV7duH8fXWTPD1ieaBmB8omj7Gw/pMBBu4uI2uJCCU8APDaQJzWuXnTsH4A==", + "dev": true + }, + "eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dev": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + }, + "dependencies": { + "estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true + } + } + }, + "eslint-template-visitor": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/eslint-template-visitor/-/eslint-template-visitor-2.3.2.tgz", + "integrity": "sha512-3ydhqFpuV7x1M9EK52BPNj6V0Kwu0KKkcIAfpUhwHbR8ocRln/oUHgfxQupY8O1h4Qv/POHDumb/BwwNfxbtnA==", + "dev": true, + "requires": { + "@babel/core": "^7.12.16", + "@babel/eslint-parser": "^7.12.16", + "eslint-visitor-keys": "^2.0.0", + "esquery": "^1.3.1", + "multimap": "^1.1.0" + } + }, + "eslint-utils": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", + "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", + "dev": true, + "requires": { + "eslint-visitor-keys": "^1.1.0" + }, + "dependencies": { + "eslint-visitor-keys": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", + "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", + "dev": true + } + } + }, + "eslint-visitor-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", + "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", + "dev": true + }, + "esm": { + "version": "3.2.25", + "resolved": "https://registry.npmjs.org/esm/-/esm-3.2.25.tgz", + "integrity": "sha512-U1suiZ2oDVWv4zPO56S0NcR5QriEahGtdN2OR6FiOG4WJvcjBVFB0qI4+eKoWFH483PKGuLuu6V8Z4T5g63UVA==", + "dev": true + }, + "esniff": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/esniff/-/esniff-2.0.1.tgz", + "integrity": "sha512-kTUIGKQ/mDPFoJ0oVfcmyJn4iBDRptjNVIzwIFR7tqWXdVI9xfA2RMwY/gbSpJG3lkdWNEjLap/NqVHZiJsdfg==", + "dev": true, + "requires": { + "d": "^1.0.1", + "es5-ext": "^0.10.62", + "event-emitter": "^0.3.5", + "type": "^2.7.2" + } + }, + "espree": { + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-7.3.1.tgz", + "integrity": "sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==", + "dev": true, + "requires": { + "acorn": "^7.4.0", + "acorn-jsx": "^5.3.1", + "eslint-visitor-keys": "^1.3.0" + }, + "dependencies": { + "eslint-visitor-keys": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", + "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", + "dev": true + } + } + }, + "esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==" + }, + "esquery": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", + "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", + "dev": true, + "requires": { + "estraverse": "^5.1.0" + } + }, + "esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "requires": { + "estraverse": "^5.2.0" + } + }, + "estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true + }, + "esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true + }, + "etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", + "dev": true + }, + "event-emitter": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz", + "integrity": "sha512-D9rRn9y7kLPnJ+hMq7S/nhvoKwwvVJahBi2BPmx3bvbsEdK3W9ii8cBSGjP+72/LnM4n6fo3+dkCX5FeTQruXA==", + "dev": true, + "requires": { + "d": "1", + "es5-ext": "~0.10.14" + } + }, + "events": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==" + }, + "evp_bytestokey": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", + "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", + "requires": { + "md5.js": "^1.3.4", + "safe-buffer": "^5.1.1" + } + }, + "exec-sh": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/exec-sh/-/exec-sh-0.3.6.tgz", + "integrity": "sha512-nQn+hI3yp+oD0huYhKwvYI32+JFeq+XkNcD1GAo3Y/MjxsfVGmrrzrnzjWiNY6f+pUCP440fThsFh5gZrRAU/w==", + "dev": true + }, + "execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "dev": true, + "requires": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" + } + }, + "execall": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/execall/-/execall-2.0.0.tgz", + "integrity": "sha512-0FU2hZ5Hh6iQnarpRtQurM/aAvp3RIbfvgLHrcqJYzhXyV2KFruhuChf9NC6waAhiUR7FFtlugkI4p7f2Fqlow==", + "dev": true, + "requires": { + "clone-regexp": "^2.1.0" + } + }, + "exenv": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/exenv/-/exenv-1.2.2.tgz", + "integrity": "sha512-Z+ktTxTwv9ILfgKCk32OX3n/doe+OcLTRtqK9pcL+JsP3J1/VW8Uvl4ZjLlKqeW4rzK4oesDOGMEMRIZqtP4Iw==", + "dev": true + }, + "exit": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", + "integrity": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==", + "dev": true + }, + "expand-brackets": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", + "integrity": "sha512-w/ozOKR9Obk3qoWeY/WDi6MFta9AoMR+zud60mdnbniMcBxRuFJyDt2LdX/14A1UABeqk+Uk+LDfUpvoGKppZA==", + "dev": true, + "requires": { + "debug": "^2.3.3", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "posix-character-classes": "^0.1.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "is-descriptor": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.7.tgz", + "integrity": "sha512-C3grZTvObeN1xud4cRWl366OMXZTj0+HGyk4hvfpx4ZHt1Pb60ANSXqCK7pdOTeUQpRzECBSTphqvD7U+l22Eg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.1", + "is-data-descriptor": "^1.0.1" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + } + } + }, + "expand-template": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/expand-template/-/expand-template-2.0.3.tgz", + "integrity": "sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==", + "dev": true, + "optional": true + }, + "expand-tilde": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-1.2.2.tgz", + "integrity": "sha512-rtmc+cjLZqnu9dSYosX9EWmSJhTwpACgJQTfj4hgg2JjOD/6SIQalZrt4a3aQeh++oNxkazcaxrhPUj6+g5G/Q==", + "dev": true, + "requires": { + "os-homedir": "^1.0.1" + } + }, + "expect": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/expect/-/expect-26.6.2.tgz", + "integrity": "sha512-9/hlOBkQl2l/PLHJx6JjoDF6xPKcJEsUlWKb23rKE7KzeDqUZKXKNMW27KIue5JMdBV9HgmoJPcc8HtO85t9IA==", + "dev": true, + "requires": { + "@jest/types": "^26.6.2", + "ansi-styles": "^4.0.0", + "jest-get-type": "^26.3.0", + "jest-matcher-utils": "^26.6.2", + "jest-message-util": "^26.6.2", + "jest-regex-util": "^26.0.0" + } + }, + "express": { + "version": "4.19.2", + "resolved": "https://registry.npmjs.org/express/-/express-4.19.2.tgz", + "integrity": "sha512-5T6nhjsT+EOMzuck8JjBHARTHfMht0POzlA60WV2pMD3gyXw2LZnZ+ueGdNxG+0calOJcWKbpFcuzLZ91YWq9Q==", + "dev": true, + "requires": { + "accepts": "~1.3.8", + "array-flatten": "1.1.1", + "body-parser": "1.20.2", + "content-disposition": "0.5.4", + "content-type": "~1.0.4", + "cookie": "0.6.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.11.0", + "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" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "path-to-regexp": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", + "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==", + "dev": true + } + } + }, + "ext": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/ext/-/ext-1.7.0.tgz", + "integrity": "sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw==", + "dev": true, + "requires": { + "type": "^2.7.2" + } + }, + "extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", + "dev": true + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + }, + "extend2": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/extend2/-/extend2-1.0.0.tgz", + "integrity": "sha512-/7zWrWJGblJZ4OnLaIDoO3GYv28ksNwxlBZ80YPHLWt5P6xvALW8dLfeoQ9f9PHtuaWnUXTa7bRnjDzLp9C6Yg==", + "dev": true + }, + "external-editor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", + "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", + "dev": true, + "requires": { + "chardet": "^0.7.0", + "iconv-lite": "^0.4.24", + "tmp": "^0.0.33" + } + }, + "extglob": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", + "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", + "dev": true, + "requires": { + "array-unique": "^0.3.2", + "define-property": "^1.0.0", + "expand-brackets": "^2.1.4", + "extend-shallow": "^2.0.1", + "fragment-cache": "^0.2.1", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", + "dev": true, + "requires": { + "is-descriptor": "^1.0.0" + } + } + } + }, + "extract-zip": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz", + "integrity": "sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==", + "dev": true, + "requires": { + "@types/yauzl": "^2.9.1", + "debug": "^4.1.1", + "get-stream": "^5.1.0", + "yauzl": "^2.10.0" + }, + "dependencies": { + "get-stream": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", + "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", + "dev": true, + "requires": { + "pump": "^3.0.0" + } + }, + "pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "dev": true, + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + } + } + }, + "extsprintf": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==", + "dev": true + }, + "fast-deep-equal": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.1.tgz", + "integrity": "sha512-8UEa58QDLauDNfpbrX55Q9jrGHThw2ZMdOky5Gl1CDtVeJDPVrG4Jxx1N8jw2gkWaff5UUuX1KJd+9zGe2B+ZA==" + }, + "fast-glob": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", + "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", + "requires": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + } + }, + "fast-json-patch": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/fast-json-patch/-/fast-json-patch-3.1.1.tgz", + "integrity": "sha512-vf6IHUX2SBcA+5/+4883dsIjpBTqmfBjmYiWK1savxQmFk4JfBMLa7ynTYOs1Rolp/T1betJxHiGD3g1Mn8lUQ==", + "dev": true + }, + "fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" + }, + "fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "dev": true + }, + "fast-safe-stringify": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz", + "integrity": "sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==", + "dev": true + }, + "fastest-levenshtein": { + "version": "1.0.16", + "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz", + "integrity": "sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==", + "dev": true + }, + "fastq": { + "version": "1.17.1", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz", + "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==", + "requires": { + "reusify": "^1.0.4" + } + }, + "fault": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/fault/-/fault-1.0.4.tgz", + "integrity": "sha512-CJ0HCB5tL5fYTEA7ToAq5+kTwd++Borf1/bifxd9iT70QcXr4MRrO3Llf8Ifs70q+SJcGHFtnIE/Nw6giCtECA==", + "dev": true, + "requires": { + "format": "^0.2.0" + } + }, + "fb-watchman": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz", + "integrity": "sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==", + "dev": true, + "requires": { + "bser": "2.1.1" + } + }, + "fbjs": { + "version": "0.8.18", + "resolved": "https://registry.npmjs.org/fbjs/-/fbjs-0.8.18.tgz", + "integrity": "sha512-EQaWFK+fEPSoibjNy8IxUtaFOMXcWsY0JaVrQoZR9zC8N2Ygf9iDITPWjUTVIax95b6I742JFLqASHfsag/vKA==", + "requires": { + "core-js": "^1.0.0", + "isomorphic-fetch": "^2.1.1", + "loose-envify": "^1.0.0", + "object-assign": "^4.1.0", + "promise": "^7.1.1", + "setimmediate": "^1.0.5", + "ua-parser-js": "^0.7.30" + }, + "dependencies": { + "core-js": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-1.2.7.tgz", + "integrity": "sha512-ZiPp9pZlgxpWRu0M+YWbm6+aQ84XEfH1JRXvfOc/fILWI0VKhLC2LX13X1NYq4fULzLMq7Hfh43CSo2/aIaUPA==" + }, + "promise": { + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz", + "integrity": "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==", + "requires": { + "asap": "~2.0.3" + } + } + } + }, + "fd-slicer": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", + "integrity": "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==", + "dev": true, + "requires": { + "pend": "~1.2.0" + } + }, + "figures": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", + "integrity": "sha512-Oa2M9atig69ZkfwiApY8F2Yy+tzMbazyvqv21R0NsSC8floSOC09BbT1ITWAdoMGQvJ/aZnR1KMwdx9tvHnTNA==", + "dev": true, + "requires": { + "escape-string-regexp": "^1.0.5" + }, + "dependencies": { + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true + } + } + }, + "file-entry-cache": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "dev": true, + "requires": { + "flat-cache": "^3.0.4" + } + }, + "file-name": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/file-name/-/file-name-0.1.0.tgz", + "integrity": "sha512-Q8SskhjF4eUk/xoQkmubwLkoHwOTv6Jj/WGtOVLKkZ0vvM+LipkSXugkn1F/+mjWXU32AXLZB3qaz0arUzgtRw==", + "dev": true + }, + "filename-reserved-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/filename-reserved-regex/-/filename-reserved-regex-2.0.0.tgz", + "integrity": "sha512-lc1bnsSr4L4Bdif8Xb/qrtokGbq5zlsms/CYH8PP+WtCkGNF65DPiQY8vG3SakEdRn8Dlnm+gW/qWKKjS5sZzQ==", + "dev": true + }, + "filenamify": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/filenamify/-/filenamify-4.3.0.tgz", + "integrity": "sha512-hcFKyUG57yWGAzu1CMt/dPzYZuv+jAJUT85bL8mrXvNe6hWj6yEHEc4EdcgiA6Z3oi1/9wXJdZPXF2dZNgwgOg==", + "dev": true, + "requires": { + "filename-reserved-regex": "^2.0.0", + "strip-outer": "^1.0.1", + "trim-repeated": "^1.0.0" + } + }, + "filesize": { + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/filesize/-/filesize-3.6.1.tgz", + "integrity": "sha512-7KjR1vv6qnicaPMi1iiTcI85CyYwRO/PSFCu6SvqL8jN2Wjt/NIYQTFtFs7fSDCYOstUkEWIQGFUg5YZQfjlcg==", + "dev": true + }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "filter-obj": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/filter-obj/-/filter-obj-1.1.0.tgz", + "integrity": "sha512-8rXg1ZnX7xzy2NGDVkBVaAy+lSlPNwad13BtgSlLuxfIslyt5Vg64U7tFcCt4WS1R0hvtnQybT/IyCkGZ3DpXQ==" + }, + "finalhandler": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", + "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", + "dev": true, + "requires": { + "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" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + } + } + }, + "find-babel-config": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/find-babel-config/-/find-babel-config-1.2.0.tgz", + "integrity": "sha512-jB2CHJeqy6a820ssiqwrKMeyC6nNdmrcgkKWJWmpoxpE8RKciYJXCcXRq1h2AzCo5I5BJeN2tkGEO3hLTuePRA==", + "dev": true, + "requires": { + "json5": "^0.5.1", + "path-exists": "^3.0.0" + }, + "dependencies": { + "json5": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", + "integrity": "sha512-4xrs1aW+6N5DalkqSVA8fxh458CXvR99WU8WLKmq4v8eWAL86Xo3BVqyd3SkA9wEVjCMqyvvRRkshAdOnBp5rw==", + "dev": true + }, + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", + "dev": true + } + } + }, + "find-cache-dir": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz", + "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==", + "dev": true, + "requires": { + "commondir": "^1.0.1", + "make-dir": "^3.0.2", + "pkg-dir": "^4.1.0" + } + }, + "find-file-up": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/find-file-up/-/find-file-up-0.1.3.tgz", + "integrity": "sha512-mBxmNbVyjg1LQIIpgO8hN+ybWBgDQK8qjht+EbrTCGmmPV/sc7RF1i9stPTD6bpvXZywBdrwRYxhSdJv867L6A==", + "dev": true, + "requires": { + "fs-exists-sync": "^0.1.0", + "resolve-dir": "^0.1.0" + } + }, + "find-pkg": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/find-pkg/-/find-pkg-0.1.2.tgz", + "integrity": "sha512-0rnQWcFwZr7eO0513HahrWafsc3CTFioEB7DRiEYCUM/70QXSY8f3mCST17HXLcPvEhzH/Ty/Bxd72ZZsr/yvw==", + "dev": true, + "requires": { + "find-file-up": "^0.1.2" + } + }, + "find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } + }, + "first-chunk-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/first-chunk-stream/-/first-chunk-stream-2.0.0.tgz", + "integrity": "sha512-X8Z+b/0L4lToKYq+lwnKqi9X/Zek0NibLpsJgVsSxpoYq7JtiCtRb5HqKVEjEw/qAb/4AKKRLOwwKHlWNpm2Eg==", + "dev": true, + "requires": { + "readable-stream": "^2.0.2" + } + }, + "flat-cache": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz", + "integrity": "sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==", + "dev": true, + "requires": { + "flatted": "^3.2.9", + "keyv": "^4.5.3", + "rimraf": "^3.0.2" + } + }, + "flatted": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.1.tgz", + "integrity": "sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==", + "dev": true + }, + "flatten": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/flatten/-/flatten-1.0.3.tgz", + "integrity": "sha512-dVsPA/UwQ8+2uoFe5GHtiBMu48dWLTdsuEd7CKGlZlD78r1TTWBvDuFaFGKCo/ZfEr95Uk56vZoX86OsHkUeIg==" + }, + "flush-write-stream": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz", + "integrity": "sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "readable-stream": "^2.3.6" + } + }, + "focus-lock": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/focus-lock/-/focus-lock-1.3.4.tgz", + "integrity": "sha512-Gv0N3mvej3pD+HWkNryrF8sExzEHqhQ6OSFxD4DPxm9n5HGCaHme98ZMBZroNEAJcsdtHxk+skvThGKyUeoEGA==", + "requires": { + "tslib": "^2.0.3" + } + }, + "follow-redirects": { + "version": "1.15.6", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.6.tgz", + "integrity": "sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==" + }, + "for-each": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", + "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", + "dev": true, + "requires": { + "is-callable": "^1.1.3" + } + }, + "for-in": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", + "integrity": "sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ==", + "dev": true + }, + "forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==", + "dev": true + }, + "fork-ts-checker-webpack-plugin": { + "version": "6.5.3", + "resolved": "https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-6.5.3.tgz", + "integrity": "sha512-SbH/l9ikmMWycd5puHJKTkZJKddF4iRLyW3DeZ08HTI7NGyLS38MXd/KGgeWumQO7YNQbW2u/NtPT2YowbPaGQ==", + "requires": { + "@babel/code-frame": "^7.8.3", + "@types/json-schema": "^7.0.5", + "chalk": "^4.1.0", + "chokidar": "^3.4.2", + "cosmiconfig": "^6.0.0", + "deepmerge": "^4.2.2", + "fs-extra": "^9.0.0", + "glob": "^7.1.6", + "memfs": "^3.1.2", + "minimatch": "^3.0.4", + "schema-utils": "2.7.0", + "semver": "^7.3.2", + "tapable": "^1.0.0" + }, + "dependencies": { + "cosmiconfig": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz", + "integrity": "sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==", + "requires": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.1.0", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.7.2" + } + }, + "fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "requires": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + } + }, + "jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "requires": { + "graceful-fs": "^4.1.6", + "universalify": "^2.0.0" + } + }, + "universalify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==" + } + } + }, + "form-data": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", + "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + } + }, + "format": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/format/-/format-0.2.2.tgz", + "integrity": "sha512-wzsgA6WOq+09wrU1tsJ09udeR/YZRaeArL9e1wPbFg3GG2yDnC2ldKpxs4xunpFF9DgqCqOIra3bc1HWrJ37Ww==", + "dev": true + }, + "forwarded": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", + "dev": true + }, + "fragment-cache": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", + "integrity": "sha512-GMBAbW9antB8iZRHLoGw0b3HANt57diZYFO/HL1JGIC1MjKrdmhxvrJbupnVvpys0zsz7yBApXdQyfepKly2kA==", + "dev": true, + "requires": { + "map-cache": "^0.2.2" + } + }, + "fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", + "dev": true + }, + "from2": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", + "integrity": "sha512-OMcX/4IC/uqEPVgGeyfN22LJk6AZrMkRZHxcHBMBvHScDGgwTm2GT2Wkgtocyd3JfZffjj2kYUDXXII0Fk9W0g==", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "readable-stream": "^2.0.0" + } + }, + "fs-constants": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", + "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==", + "dev": true + }, + "fs-exists-sync": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/fs-exists-sync/-/fs-exists-sync-0.1.0.tgz", + "integrity": "sha512-cR/vflFyPZtrN6b38ZyWxpWdhlXrzZEBawlpBQMq7033xVY7/kg0GDMBK5jg8lDYQckdJ5x/YC88lM3C7VMsLg==", + "dev": true + }, + "fs-extra": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-3.0.1.tgz", + "integrity": "sha512-V3Z3WZWVUYd8hoCL5xfXJCaHWYzmtwW5XWYSlLgERi8PWd8bx1kUHUk8L1BT57e49oKnDDD180mjfrHc1yA9rg==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "jsonfile": "^3.0.0", + "universalify": "^0.1.0" + } + }, + "fs-monkey": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.5.tgz", + "integrity": "sha512-8uMbBjrhzW76TYgEV27Y5E//W2f/lTFmx78P2w19FZSxarhI/798APGQyuGCwmkNxgwGRhrLfvWyLBvNtuOmew==" + }, + "fs-write-stream-atomic": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz", + "integrity": "sha512-gehEzmPn2nAwr39eay+x3X34Ra+M2QlVUTLhkXPjWdeO8RF9kszk116avgBJM3ZyNHgHXBNx+VmPaFC36k0PzA==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "iferr": "^0.1.5", + "imurmurhash": "^0.1.4", + "readable-stream": "1 || 2" + } + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" + }, + "fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "optional": true + }, + "function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==" + }, + "function.prototype.name": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.6.tgz", + "integrity": "sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "functions-have-names": "^1.2.3" + } + }, + "functional-red-black-tree": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", + "integrity": "sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g==", + "dev": true + }, + "functions-have-names": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", + "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", + "dev": true + }, + "genfun": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/genfun/-/genfun-4.0.1.tgz", + "integrity": "sha512-48yv1eDS5Qrz6cbSDBBik0u7jCgC/eA9eZrl9MIN1LfKzFTuGt6EHgr31YM8yT9cjb5BplXb4Iz3VtOYmgt8Jg==", + "dev": true + }, + "gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==" + }, + "get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true + }, + "get-intrinsic": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz", + "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==", + "requires": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3", + "hasown": "^2.0.0" + } + }, + "get-own-enumerable-property-symbols": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz", + "integrity": "sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==", + "dev": true + }, + "get-package-type": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", + "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", + "dev": true + }, + "get-stdin": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-8.0.0.tgz", + "integrity": "sha512-sY22aA6xchAzprjyqmSEQv4UbAAzRN0L2dQB0NlN5acTTK9Don6nhoc3eAbUnpZiCANAMfd/+40kVdKfFygohg==", + "dev": true + }, + "get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "dev": true + }, + "get-symbol-description": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.2.tgz", + "integrity": "sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==", + "dev": true, + "requires": { + "call-bind": "^1.0.5", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.4" + } + }, + "get-value": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", + "integrity": "sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA==", + "dev": true + }, + "getnpmregistry": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/getnpmregistry/-/getnpmregistry-1.0.1.tgz", + "integrity": "sha512-OZRQ1RmRC0JduSLlQrHAaBLLrB23D3gaREsMBtM7aV8pxKB3duPs+a7iH7662b8zu1G9H6wiOvZc814g/bcHVg==", + "dev": true, + "requires": { + "node-fetch": "^2.6.0" + } + }, + "getpass": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", + "integrity": "sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==", + "dev": true, + "requires": { + "assert-plus": "^1.0.0" + } + }, + "gh-pages": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/gh-pages/-/gh-pages-3.2.3.tgz", + "integrity": "sha512-jA1PbapQ1jqzacECfjUaO9gV8uBgU6XNMV0oXLtfCX3haGLe5Atq8BxlrADhbD6/UdG9j6tZLWAkAybndOXTJg==", + "dev": true, + "requires": { + "async": "^2.6.1", + "commander": "^2.18.0", + "email-addresses": "^3.0.1", + "filenamify": "^4.3.0", + "find-cache-dir": "^3.3.1", + "fs-extra": "^8.1.0", + "globby": "^6.1.0" + }, + "dependencies": { + "array-union": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", + "integrity": "sha512-Dxr6QJj/RdU/hCaBjOfxW+q6lyuVE6JFWIrAUpuOOhoJJoQ99cUn3igRaHVB5P9WrgFVN0FfArM3x0cueOU8ng==", + "dev": true, + "requires": { + "array-uniq": "^1.0.1" + } + }, + "fs-extra": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "dev": true, + "requires": { + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + }, + "globby": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz", + "integrity": "sha512-KVbFv2TQtbzCoxAnfD6JcHZTYCzyliEaaeM/gH8qQdkKr5s0OP9scEgvdcngyk7AVdY6YVW/TJHd+lQ/Df3Daw==", + "dev": true, + "requires": { + "array-union": "^1.0.1", + "glob": "^7.0.3", + "object-assign": "^4.0.1", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" + } + }, + "jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.6" + } + }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", + "dev": true + } + } + }, + "git-branch": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/git-branch/-/git-branch-1.0.0.tgz", + "integrity": "sha512-ZTzuqw5Df8fyLXQWrX6hK+4FpNCdKzMcERlxENEGO5aKcLmG7MAszhrMhluUKNKmOS/JAGijDMQDXDCDw1mE/A==", + "dev": true + }, + "git-config-path": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/git-config-path/-/git-config-path-1.0.1.tgz", + "integrity": "sha512-KcJ2dlrrP5DbBnYIZ2nlikALfRhKzNSX0stvv3ImJ+fvC4hXKoV+U+74SV0upg+jlQZbrtQzc0bu6/Zh+7aQbg==", + "dev": true, + "requires": { + "extend-shallow": "^2.0.1", + "fs-exists-sync": "^0.1.0", + "homedir-polyfill": "^1.0.0" + } + }, + "git-hooks-list": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/git-hooks-list/-/git-hooks-list-1.0.3.tgz", + "integrity": "sha512-Y7wLWcrLUXwk2noSka166byGCvhMtDRpgHdzCno1UQv/n/Hegp++a2xBWJL1lJarnKD3SWaljD+0z1ztqxuKyQ==", + "dev": true + }, + "git-repo-name": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/git-repo-name/-/git-repo-name-0.6.0.tgz", + "integrity": "sha512-DF4XxB6H+Te79JA08/QF/IjIv+j+0gF990WlgAX3SXXU2irfqvBc/xxlAIh6eJWYaKz45MrrGVBFS0Qc4bBz5g==", + "dev": true, + "requires": { + "cwd": "^0.9.1", + "file-name": "^0.1.0", + "lazy-cache": "^1.0.4", + "remote-origin-url": "^0.5.1" + } + }, + "git-up": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/git-up/-/git-up-4.0.5.tgz", + "integrity": "sha512-YUvVDg/vX3d0syBsk/CKUTib0srcQME0JyHkL5BaYdwLsiCslPWmDSi8PUMo9pXYjrryMcmsCoCgsTpSCJEQaA==", + "dev": true, + "requires": { + "is-ssh": "^1.3.0", + "parse-url": "^6.0.0" + } + }, + "git-url-parse": { + "version": "11.6.0", + "resolved": "https://registry.npmjs.org/git-url-parse/-/git-url-parse-11.6.0.tgz", + "integrity": "sha512-WWUxvJs5HsyHL6L08wOusa/IXYtMuCAhrMmnTjQPpBU0TTHyDhnOATNH3xNQz7YOQUsqIIPTGr4xiVti1Hsk5g==", + "dev": true, + "requires": { + "git-up": "^4.0.0" + } + }, + "git-username": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/git-username/-/git-username-0.5.1.tgz", + "integrity": "sha512-xjUjrj3i4kup2A3a/ZVZB1Nt0PUX7SU7KeVqIbXPdslT7NbNfyO04JMxBv4gar77JePdS+A6f05jG1Viy6+U1w==", + "dev": true, + "requires": { + "remote-origin-url": "^0.4.0" + }, + "dependencies": { + "parse-git-config": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/parse-git-config/-/parse-git-config-0.2.0.tgz", + "integrity": "sha512-amapZFADOJtHvX2URcRfbzG2OFcW+UAwmdK2kht2N2vsH5Py65VxI5yZTlD2DjmxVhTz6htFoVCxROYUJaYOXQ==", + "dev": true, + "requires": { + "ini": "^1.3.3" + } + }, + "remote-origin-url": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/remote-origin-url/-/remote-origin-url-0.4.0.tgz", + "integrity": "sha512-HYhdsT2pNd0LP4Osb0vtQ1iassxIc3Yk1oze7j8dMJFciMkW8e0rdg9E/mOunqtSVHSzvMfwLDIYzPnEDmpk6Q==", + "dev": true, + "requires": { + "parse-git-config": "^0.2.0" + } + } + } + }, + "github-from-package": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/github-from-package/-/github-from-package-0.0.0.tgz", + "integrity": "sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==", + "dev": true, + "optional": true + }, + "github-slugger": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/github-slugger/-/github-slugger-1.5.0.tgz", + "integrity": "sha512-wIh+gKBI9Nshz2o46B0B3f5k/W+WI9ZAv6y5Dn5WJ5SK1t0TnDimB4WE5rmTD05ZAIn8HALCZVmCsvj0w0v0lw==", + "dev": true + }, + "glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "requires": { + "is-glob": "^4.0.1" + } + }, + "global": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/global/-/global-4.4.0.tgz", + "integrity": "sha512-wv/LAoHdRE3BeTGz53FAamhGlPLhlssK45usmGFThIi4XqnBmjKQ16u+RNbP7WvigRZDxUsM0J3gcQ5yicaL0w==", + "dev": true, + "requires": { + "min-document": "^2.19.0", + "process": "^0.11.10" + } + }, + "global-dirs": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-0.1.1.tgz", + "integrity": "sha512-NknMLn7F2J7aflwFOlGdNIuCDpN3VGoSoB+aap3KABFWbHVn1TCgFC+np23J8W2BiZbjfEw3BFBycSMv1AFblg==", + "dev": true, + "requires": { + "ini": "^1.3.4" + } + }, + "global-modules": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz", + "integrity": "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==", + "requires": { + "global-prefix": "^3.0.0" + } + }, + "global-prefix": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz", + "integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==", + "requires": { + "ini": "^1.3.5", + "kind-of": "^6.0.2", + "which": "^1.3.1" + }, + "dependencies": { + "which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "requires": { + "isexe": "^2.0.0" + } + } + } + }, + "globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==" + }, + "globalthis": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz", + "integrity": "sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==", + "dev": true, + "requires": { + "define-properties": "^1.1.3" + } + }, + "globby": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "requires": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" + } + }, + "globjoin": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/globjoin/-/globjoin-0.1.4.tgz", + "integrity": "sha512-xYfnw62CKG8nLkZBfWbhWwDw02CHty86jfPcc2cr3ZfeuK9ysoVPPEUxf21bAD/rWAgk52SuBrLJlefNy8mvFg==", + "dev": true + }, + "gonzales-pe": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/gonzales-pe/-/gonzales-pe-4.3.0.tgz", + "integrity": "sha512-otgSPpUmdWJ43VXyiNgEYE4luzHCL2pz4wQ0OnDluC6Eg4Ko3Vexy/SrSynglw/eR+OhkzmqFCZa/OFa/RgAOQ==", + "dev": true, + "requires": { + "minimist": "^1.2.5" + } + }, + "gopd": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", + "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", + "requires": { + "get-intrinsic": "^1.1.3" + } + }, + "got": { + "version": "6.7.1", + "resolved": "https://registry.npmjs.org/got/-/got-6.7.1.tgz", + "integrity": "sha512-Y/K3EDuiQN9rTZhBvPRWMLXIKdeD1Rj0nzunfoi0Yyn5WBEbzxXKU9Ub2X41oZBagVWOBU3MuDonFMgPWQFnwg==", + "dev": true, + "requires": { + "create-error-class": "^3.0.0", + "duplexer3": "^0.1.4", + "get-stream": "^3.0.0", + "is-redirect": "^1.0.0", + "is-retry-allowed": "^1.0.0", + "is-stream": "^1.0.0", + "lowercase-keys": "^1.0.0", + "safe-buffer": "^5.0.1", + "timed-out": "^4.0.0", + "unzip-response": "^2.0.1", + "url-parse-lax": "^1.0.0" + }, + "dependencies": { + "get-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", + "integrity": "sha512-GlhdIUuVakc8SJ6kK0zAFbiGzRFzNnY4jUuEbV9UROo4Y+0Ny4fjvcZFVTeDA4odpFyOQzaw6hXukJSq/f28sQ==", + "dev": true + }, + "is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==", + "dev": true + } + } + }, + "graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" + }, + "graphemer": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", + "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", + "dev": true + }, + "growly": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/growly/-/growly-1.3.0.tgz", + "integrity": "sha512-+xGQY0YyAWCnqy7Cd++hc2JqMYzlm0dG30Jd0beaA64sROr8C4nt8Yc9V5Ro3avlSUDTN0ulqP/VBKi1/lLygw==", + "dev": true, + "optional": true + }, + "gzip-size": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-6.0.0.tgz", + "integrity": "sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==", + "requires": { + "duplexer": "^0.1.2" + } + }, + "har-schema": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", + "integrity": "sha512-Oqluz6zhGX8cyRaTQlFMPw80bSJVG2x/cFb8ZPhUILGgHka9SsokCCOQgpveePerqidZOrT14ipqfJb7ILcW5Q==", + "dev": true + }, + "har-validator": { + "version": "5.1.5", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz", + "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", + "dev": true, + "requires": { + "ajv": "^6.12.3", + "har-schema": "^2.0.0" + } + }, + "hard-rejection": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/hard-rejection/-/hard-rejection-2.1.0.tgz", + "integrity": "sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==", + "dev": true + }, + "harmony-reflect": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/harmony-reflect/-/harmony-reflect-1.6.2.tgz", + "integrity": "sha512-HIp/n38R9kQjDEziXyDTuW3vvoxxyxjxFzXLrBr18uB47GnSt+G9D29fqrpM5ZkspMcPICud3XsBJQ4Y2URg8g==", + "dev": true + }, + "has": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.4.tgz", + "integrity": "sha512-qdSAmqLF6209RFj4VVItywPMbm3vWylknmB3nvNiUIs72xAimcM8nVYxYr7ncvZq5qzk9MKIZR8ijqD/1QuYjQ==", + "dev": true + }, + "has-bigints": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", + "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "has-property-descriptors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", + "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", + "requires": { + "es-define-property": "^1.0.0" + } + }, + "has-proto": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.3.tgz", + "integrity": "sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==" + }, + "has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==" + }, + "has-tostringtag": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", + "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", + "dev": true, + "requires": { + "has-symbols": "^1.0.3" + } + }, + "has-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", + "integrity": "sha512-IBXk4GTsLYdQ7Rvt+GRBrFSVEkmuOUy4re0Xjd9kJSUQpnTrWR4/y9RpfexN9vkAPMFuQoeWKwqzPozRTlasGw==", + "dev": true, + "requires": { + "get-value": "^2.0.6", + "has-values": "^1.0.0", + "isobject": "^3.0.0" + } + }, + "has-values": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", + "integrity": "sha512-ODYZC64uqzmtfGMEAX/FvZiRyWLpAC3vYnNunURUnkGVTS+mI0smVsWaPydRBsE3g+ok7h960jChO8mFcWlHaQ==", + "dev": true, + "requires": { + "is-number": "^3.0.0", + "kind-of": "^4.0.0" + }, + "dependencies": { + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "kind-of": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", + "integrity": "sha512-24XsCxmEbRwEDbz/qz3stgin8TTzZ1ESR56OMCN0ujYg+vRutNSiOj9bHH9u85DKgXguraugV5sFuvbD4FW/hw==", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "has-yarn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/has-yarn/-/has-yarn-2.1.0.tgz", + "integrity": "sha512-UqBRqi4ju7T+TqGNdqAO0PaSVGsDGJUBQvk9eUWNGRY1CFGDzYhLWoM7JQEemnlvVcv/YEmc2wNW8BC24EnUsw==", + "dev": true + }, + "hash-base": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.0.4.tgz", + "integrity": "sha512-EeeoJKjTyt868liAlVmcv2ZsUfGHlE3Q+BICOXcZiwN3osr5Q/zFGYmTJpoIzuaSTAwndFy+GqhEwlU4L3j4Ow==", + "requires": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "hash.js": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", + "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", + "requires": { + "inherits": "^2.0.3", + "minimalistic-assert": "^1.0.1" + } + }, + "hasown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "requires": { + "function-bind": "^1.1.2" + } + }, + "hast-to-hyperscript": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/hast-to-hyperscript/-/hast-to-hyperscript-9.0.1.tgz", + "integrity": "sha512-zQgLKqF+O2F72S1aa4y2ivxzSlko3MAvxkwG8ehGmNiqd98BIN3JM1rAJPmplEyLmGLO2QZYJtIneOSZ2YbJuA==", + "dev": true, + "requires": { + "@types/unist": "^2.0.3", + "comma-separated-tokens": "^1.0.0", + "property-information": "^5.3.0", + "space-separated-tokens": "^1.0.0", + "style-to-object": "^0.3.0", + "unist-util-is": "^4.0.0", + "web-namespaces": "^1.0.0" + } + }, + "hast-util-from-dom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/hast-util-from-dom/-/hast-util-from-dom-3.0.0.tgz", + "integrity": "sha512-4vQuGiD5Y/wlD7fZiY4mZML/6oh0GOnH38UNyeDFcSTE4AHF0zjKHZfbd+ekVwPvsZXRl8choc99INHUwSPJlg==", + "dev": true, + "requires": { + "hastscript": "^6.0.0", + "web-namespaces": "^1.0.0" + } + }, + "hast-util-from-parse5": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/hast-util-from-parse5/-/hast-util-from-parse5-6.0.1.tgz", + "integrity": "sha512-jeJUWiN5pSxW12Rh01smtVkZgZr33wBokLzKLwinYOUfSzm1Nl/c3GUGebDyOKjdsRgMvoVbV0VpAcpjF4NrJA==", + "dev": true, + "requires": { + "@types/parse5": "^5.0.0", + "hastscript": "^6.0.0", + "property-information": "^5.0.0", + "vfile": "^4.0.0", + "vfile-location": "^3.2.0", + "web-namespaces": "^1.0.0" + } + }, + "hast-util-has-property": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/hast-util-has-property/-/hast-util-has-property-1.0.4.tgz", + "integrity": "sha512-ghHup2voGfgFoHMGnaLHOjbYFACKrRh9KFttdCzMCbFoBMJXiNi2+XTrPP8+q6cDJM/RSqlCfVWrjp1H201rZg==", + "dev": true + }, + "hast-util-is-conditional-comment": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/hast-util-is-conditional-comment/-/hast-util-is-conditional-comment-1.0.4.tgz", + "integrity": "sha512-rtULxWWknVeSuU/vsJ9tHo+M3ExyaOrZcWvLxqY2nUfCHbDcq60EJzSJC5zNm6ZlbxbJ8l7Ej8C1Kzsi5PJS1A==", + "dev": true + }, + "hast-util-is-element": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/hast-util-is-element/-/hast-util-is-element-1.1.0.tgz", + "integrity": "sha512-oUmNua0bFbdrD/ELDSSEadRVtWZOf3iF6Lbv81naqsIV99RnSCieTbWuWCY8BAeEfKJTKl0gRdokv+dELutHGQ==", + "dev": true + }, + "hast-util-parse-selector": { + "version": "2.2.5", + "resolved": "https://registry.npmjs.org/hast-util-parse-selector/-/hast-util-parse-selector-2.2.5.tgz", + "integrity": "sha512-7j6mrk/qqkSehsM92wQjdIgWM2/BW61u/53G6xmC8i1OmEdKLHbk419QKQUjz6LglWsfqoiHmyMRkP1BGjecNQ==", + "dev": true + }, + "hast-util-raw": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/hast-util-raw/-/hast-util-raw-6.1.0.tgz", + "integrity": "sha512-5FoZLDHBpka20OlZZ4I/+RBw5piVQ8iI1doEvffQhx5CbCyTtP8UCq8Tw6NmTAMtXgsQxmhW7Ly8OdFre5/YMQ==", + "dev": true, + "requires": { + "@types/hast": "^2.0.0", + "hast-util-from-parse5": "^6.0.0", + "hast-util-to-parse5": "^6.0.0", + "html-void-elements": "^1.0.0", + "parse5": "^6.0.0", + "unist-util-position": "^3.0.0", + "unist-util-visit": "^2.0.0", + "vfile": "^4.0.0", + "web-namespaces": "^1.0.0", + "xtend": "^4.0.0", + "zwitch": "^1.0.0" + }, + "dependencies": { + "parse5": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", + "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==", + "dev": true + } + } + }, + "hast-util-to-html": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/hast-util-to-html/-/hast-util-to-html-7.1.3.tgz", + "integrity": "sha512-yk2+1p3EJTEE9ZEUkgHsUSVhIpCsL/bvT8E5GzmWc+N1Po5gBw+0F8bo7dpxXR0nu0bQVxVZGX2lBGF21CmeDw==", + "dev": true, + "requires": { + "ccount": "^1.0.0", + "comma-separated-tokens": "^1.0.0", + "hast-util-is-element": "^1.0.0", + "hast-util-whitespace": "^1.0.0", + "html-void-elements": "^1.0.0", + "property-information": "^5.0.0", + "space-separated-tokens": "^1.0.0", + "stringify-entities": "^3.0.1", + "unist-util-is": "^4.0.0", + "xtend": "^4.0.0" + } + }, + "hast-util-to-parse5": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/hast-util-to-parse5/-/hast-util-to-parse5-6.0.0.tgz", + "integrity": "sha512-Lu5m6Lgm/fWuz8eWnrKezHtVY83JeRGaNQ2kn9aJgqaxvVkFCZQBEhgodZUDUvoodgyROHDb3r5IxAEdl6suJQ==", + "dev": true, + "requires": { + "hast-to-hyperscript": "^9.0.0", + "property-information": "^5.0.0", + "web-namespaces": "^1.0.0", + "xtend": "^4.0.0", + "zwitch": "^1.0.0" + } + }, + "hast-util-to-string": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/hast-util-to-string/-/hast-util-to-string-1.0.4.tgz", + "integrity": "sha512-eK0MxRX47AV2eZ+Lyr18DCpQgodvaS3fAQO2+b9Two9F5HEoRPhiUMNzoXArMJfZi2yieFzUBMRl3HNJ3Jus3w==", + "dev": true + }, + "hast-util-to-text": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/hast-util-to-text/-/hast-util-to-text-2.0.1.tgz", + "integrity": "sha512-8nsgCARfs6VkwH2jJU9b8LNTuR4700na+0h3PqCaEk4MAnMDeu5P0tP8mjk9LLNGxIeQRLbiDbZVw6rku+pYsQ==", + "dev": true, + "requires": { + "hast-util-is-element": "^1.0.0", + "repeat-string": "^1.0.0", + "unist-util-find-after": "^3.0.0" + } + }, + "hast-util-whitespace": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/hast-util-whitespace/-/hast-util-whitespace-1.0.4.tgz", + "integrity": "sha512-I5GTdSfhYfAPNztx2xJRQpG8cuDSNt599/7YUn7Gx/WxNMsG+a835k97TDkFgk123cwjfwINaZknkKkphx/f2A==", + "dev": true + }, + "hastscript": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/hastscript/-/hastscript-6.0.0.tgz", + "integrity": "sha512-nDM6bvd7lIqDUiYEiu5Sl/+6ReP0BMk/2f4U/Rooccxkj0P5nm+acM5PrGJ/t5I8qPGiqZSE6hVAwZEdZIvP4w==", + "dev": true, + "requires": { + "@types/hast": "^2.0.0", + "comma-separated-tokens": "^1.0.0", + "hast-util-parse-selector": "^2.0.0", + "property-information": "^5.0.0", + "space-separated-tokens": "^1.0.0" + } + }, + "highlight.js": { + "version": "10.7.3", + "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-10.7.3.tgz", + "integrity": "sha512-tzcUFauisWKNHaRkN4Wjl/ZA07gENAjFl3J/c480dprkGTg5EQstgaNFqBfUqCq54kZRIEcreTsAgF/m2quD7A==", + "dev": true + }, + "history": { + "version": "4.10.1", + "resolved": "https://registry.npmjs.org/history/-/history-4.10.1.tgz", + "integrity": "sha512-36nwAD620w12kuzPAsyINPWJqlNbij+hpK1k9XRloDtym8mxzGYl2c17LnV6IAGB2Dmg4tEa7G7DlawS0+qjew==", + "requires": { + "@babel/runtime": "^7.1.2", + "loose-envify": "^1.2.0", + "resolve-pathname": "^3.0.0", + "tiny-invariant": "^1.0.2", + "tiny-warning": "^1.0.0", + "value-equal": "^1.0.1" + } + }, + "history-with-query": { + "version": "4.10.4", + "resolved": "https://registry.npmjs.org/history-with-query/-/history-with-query-4.10.4.tgz", + "integrity": "sha512-JnskQK8X+PbRFHSdDAExhoJyhLnlLZL+UuHQuQhys+Se9/ukRDRBWU4JVTjsiIfbv1fcEmR3oqKW56OYmk5M5w==", + "requires": { + "@babel/runtime": "^7.1.2", + "loose-envify": "^1.2.0", + "query-string": "^6.11.0", + "resolve-pathname": "^3.0.0", + "tiny-invariant": "^1.0.2", + "tiny-warning": "^1.0.0", + "value-equal": "^1.0.1" + } + }, + "hmac-drbg": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", + "integrity": "sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==", + "requires": { + "hash.js": "^1.0.3", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.1" + } + }, + "hoist-non-react-statics": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz", + "integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==", + "requires": { + "react-is": "^16.7.0" + }, + "dependencies": { + "react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" + } + } + }, + "homedir-polyfill": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz", + "integrity": "sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==", + "dev": true, + "requires": { + "parse-passwd": "^1.0.0" + } + }, + "hosted-git-info": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-3.0.8.tgz", + "integrity": "sha512-aXpmwoOhRBrw6X3j0h5RloK4x1OzsxMPyxqIHyNfSe2pypkVTZFpEiRoSipPEPlMrh0HW/XsjkJ5WgnCirpNUw==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + }, + "dependencies": { + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + } + } + }, + "hotkeys-js": { + "version": "3.13.7", + "resolved": "https://registry.npmjs.org/hotkeys-js/-/hotkeys-js-3.13.7.tgz", + "integrity": "sha512-ygFIdTqqwG4fFP7kkiYlvayZppeIQX2aPpirsngkv1xM1lP0piDY5QEh68nQnIKvz64hfocxhBaD/uK3sSK1yQ==" + }, + "html-element-map": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/html-element-map/-/html-element-map-1.3.1.tgz", + "integrity": "sha512-6XMlxrAFX4UEEGxctfFnmrFaaZFNf9i5fNuV5wZ3WWQ4FVaNP1aX1LkX9j2mfEx1NpjeE/rL3nmgEn23GdFmrg==", + "dev": true, + "requires": { + "array.prototype.filter": "^1.0.0", + "call-bind": "^1.0.2" + } + }, + "html-encoding-sniffer": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz", + "integrity": "sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==", + "dev": true, + "requires": { + "whatwg-encoding": "^1.0.5" + } + }, + "html-entities": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-2.5.2.tgz", + "integrity": "sha512-K//PSRMQk4FZ78Kyau+mZurHn3FH0Vwr+H36eE0rPbeYkRRi9YxceYPhuN60UwWorxyKHhqoAJl2OFKa4BVtaA==" + }, + "html-escaper": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", + "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", + "dev": true + }, + "html-tags": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/html-tags/-/html-tags-3.3.1.tgz", + "integrity": "sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ==", + "dev": true + }, + "html-void-elements": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/html-void-elements/-/html-void-elements-1.0.5.tgz", + "integrity": "sha512-uE/TxKuyNIcx44cIWnjr/rfIATDH7ZaOMmstu0CwhFG1Dunhlp4OC6/NMbhiwoq5BpW0ubi303qnEk/PZj614w==", + "dev": true + }, + "htmlparser2": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-8.0.2.tgz", + "integrity": "sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA==", + "dev": true, + "requires": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3", + "domutils": "^3.0.1", + "entities": "^4.4.0" + } + }, + "http-cache-semantics": { + "version": "3.8.1", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-3.8.1.tgz", + "integrity": "sha512-5ai2iksyV8ZXmnZhHH4rWPoxxistEexSi5936zIQ1bnNTW5VnA85B6P/VpXiRM017IgRvb2kKo1a//y+0wSp3w==", + "dev": true + }, + "http-errors": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", + "dev": true, + "requires": { + "depd": "2.0.0", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "toidentifier": "1.0.1" + } + }, + "http-proxy-agent": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz", + "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==", + "dev": true, + "requires": { + "@tootallnate/once": "1", + "agent-base": "6", + "debug": "4" + } + }, + "http-signature": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", + "integrity": "sha512-CAbnr6Rz4CYQkLYUtSNXxQPUH2gK8f3iWexVlsnMeD+GjlsQ0Xsy1cOX+mN3dtxYomRy21CiOzU8Uhw6OwncEQ==", + "dev": true, + "requires": { + "assert-plus": "^1.0.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" + } + }, + "http2-client": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/http2-client/-/http2-client-1.3.5.tgz", + "integrity": "sha512-EC2utToWl4RKfs5zd36Mxq7nzHHBuomZboI0yYL6Y0RmBgT7Sgkq4rQ0ezFTYoIsSs7Tm9SJe+o2FcAg6GBhGA==", + "dev": true + }, + "https-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", + "integrity": "sha512-J+FkSdyD+0mA0N+81tMotaRMfSL9SGi+xpD3T6YApKsc3bGSXJlfXri3VyFOeYkfLRQisDk1W+jIFFKBeUBbBg==" + }, + "https-proxy-agent": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", + "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", + "dev": true, + "requires": { + "agent-base": "6", + "debug": "4" + } + }, + "human-signals": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", + "dev": true + }, + "humanize-ms": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz", + "integrity": "sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==", + "dev": true, + "requires": { + "ms": "^2.0.0" + } + }, + "humps": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/humps/-/humps-2.0.1.tgz", + "integrity": "sha512-E0eIbrFWUhwfXJmsbdjRQFQPrl5pTEoKlz163j1mTqqUnU9PgR4AgB8AIITzuB3vLBdxZXyZ9TDIrwB2OASz4g==", + "dev": true + }, + "iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dev": true, + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + }, + "identity-obj-proxy": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/identity-obj-proxy/-/identity-obj-proxy-3.0.0.tgz", + "integrity": "sha512-00n6YnVHKrinT9t0d9+5yZC6UBNJANpYEQvL2LlX6Ab9lnmxzIRcEmTPuyGScvl1+jKuCICX1Z0Ab1pPKKdikA==", + "dev": true, + "requires": { + "harmony-reflect": "^1.4.6" + } + }, + "ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==" + }, + "iferr": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz", + "integrity": "sha512-DUNFN5j7Tln0D+TxzloUjKB+CtVu6myn0JEFak6dG18mNt9YkQ6lzGCdafwofISZ1lLF3xRHJ98VKy9ynkcFaA==", + "dev": true + }, + "ignore": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz", + "integrity": "sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==" + }, + "image-size": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/image-size/-/image-size-0.8.3.tgz", + "integrity": "sha512-SMtq1AJ+aqHB45c3FsB4ERK0UCiA2d3H1uq8s+8T0Pf8A3W4teyBQyaFaktH6xvZqh+npwlKU7i4fJo0r7TYTg==", + "dev": true, + "requires": { + "queue": "6.0.1" + } + }, + "immer": { + "version": "7.0.15", + "resolved": "https://registry.npmjs.org/immer/-/immer-7.0.15.tgz", + "integrity": "sha512-yM7jo9+hvYgvdCQdqvhCNRRio0SCXc8xDPzA25SvKWa7b1WVPjLwQs1VYU5JPXjcJPTqAa5NP5dqpORGYBQ2AA==", + "dev": true + }, + "immutable": { + "version": "3.7.6", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-3.7.6.tgz", + "integrity": "sha512-AizQPcaofEtO11RZhPPHBOJRdo/20MKQF9mBLnVkBoyHi1/zXK8fzVdnEpSV9gxqtnh6Qomfp3F0xT5qP/vThw==" + }, + "import-cwd": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/import-cwd/-/import-cwd-2.1.0.tgz", + "integrity": "sha512-Ew5AZzJQFqrOV5BTW3EIoHAnoie1LojZLXKcCQ/yTRyVZosBhK1x1ViYjHGf5pAFOq8ZyChZp6m/fSN7pJyZtg==", + "requires": { + "import-from": "^2.1.0" + } + }, + "import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "requires": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "dependencies": { + "resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==" + } + } + }, + "import-from": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/import-from/-/import-from-2.1.0.tgz", + "integrity": "sha512-0vdnLL2wSGnhlRmzHJAg5JHjt1l2vYhzJ7tNLGbeVg0fse56tpGaH0uzH+r9Slej+BSXXEHvBKDEnVSLLE9/+w==", + "requires": { + "resolve-from": "^3.0.0" + }, + "dependencies": { + "resolve-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", + "integrity": "sha512-GnlH6vxLymXJNMBo7XP1fJIzBFbdYt49CuTwmB/6N53t+kMPRMFKz783LlQ4tv28XoQfMWinAJX6WCGf2IlaIw==" + } + } + }, + "import-lazy": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-4.0.0.tgz", + "integrity": "sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==", + "dev": true + }, + "import-local": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz", + "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==", + "dev": true, + "requires": { + "pkg-dir": "^4.2.0", + "resolve-cwd": "^3.0.0" + } + }, + "import-modules": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/import-modules/-/import-modules-2.1.0.tgz", + "integrity": "sha512-8HEWcnkbGpovH9yInoisxaSoIg9Brbul+Ju3Kqe2UsYDUBJD/iQjSgEj0zPcTDPKfPp2fs5xlv1i+JSye/m1/A==", + "dev": true + }, + "imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true + }, + "indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", + "dev": true + }, + "indexes-of": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/indexes-of/-/indexes-of-1.0.1.tgz", + "integrity": "sha512-bup+4tap3Hympa+JBJUG7XuOsdNQ6fxt0MHyXMKuLBKn0OqsTfvUxkUrroEX1+B2VsSHvCjiIcZVxRtYa4nllA==" + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" + }, + "inline-style-parser": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/inline-style-parser/-/inline-style-parser-0.1.1.tgz", + "integrity": "sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q==", + "dev": true + }, + "inquirer": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-6.5.2.tgz", + "integrity": "sha512-cntlB5ghuB0iuO65Ovoi8ogLHiWGs/5yNrtUcKjFhSSiVeAIVpD7koaSU9RM8mpXw5YDi9RdYXGQMaOURB7ycQ==", + "dev": true, + "requires": { + "ansi-escapes": "^3.2.0", + "chalk": "^2.4.2", + "cli-cursor": "^2.1.0", + "cli-width": "^2.0.0", + "external-editor": "^3.0.3", + "figures": "^2.0.0", + "lodash": "^4.17.12", + "mute-stream": "0.0.7", + "run-async": "^2.2.0", + "rxjs": "^6.4.0", + "string-width": "^2.1.0", + "strip-ansi": "^5.1.0", + "through": "^2.3.6" + }, + "dependencies": { + "ansi-escapes": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz", + "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==", + "dev": true + }, + "ansi-regex": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", + "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", + "dev": true + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==", + "dev": true + }, + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "dev": true, + "requires": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.1.tgz", + "integrity": "sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==", + "dev": true + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow==", + "dev": true, + "requires": { + "ansi-regex": "^3.0.0" + } + } + } + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" + } + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "internal-slot": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.7.tgz", + "integrity": "sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==", + "dev": true, + "requires": { + "es-errors": "^1.3.0", + "hasown": "^2.0.0", + "side-channel": "^1.0.4" + } + }, + "intl": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/intl/-/intl-1.2.5.tgz", + "integrity": "sha512-rK0KcPHeBFBcqsErKSpvZnrOmWOj+EmDkyJ57e90YWaQNqbcivcqmKDlHEeNprDWOsKzPsh1BfSpPQdDvclHVw==", + "dev": true + }, + "intl-format-cache": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/intl-format-cache/-/intl-format-cache-4.3.1.tgz", + "integrity": "sha512-OEUYNA7D06agqPOYhbTkl0T8HA3QKSuwWh1HiClEnpd9vw7N+3XsQt5iZ0GUEchp5CW1fQk/tary+NsbF3yQ1Q==", + "dev": true + }, + "intl-messageformat": { + "version": "9.13.0", + "resolved": "https://registry.npmjs.org/intl-messageformat/-/intl-messageformat-9.13.0.tgz", + "integrity": "sha512-7sGC7QnSQGa5LZP7bXLDhVDtQOeKGeBFGHF2Y8LVBwYZoQZCgWeKoPGTa5GMG8g/TzDgeXuYJQis7Ggiw2xTOw==", + "dev": true, + "requires": { + "@formatjs/ecma402-abstract": "1.11.4", + "@formatjs/fast-memoize": "1.2.1", + "@formatjs/icu-messageformat-parser": "2.1.0", + "tslib": "^2.1.0" + } + }, + "intl-messageformat-parser": { + "version": "3.6.4", + "resolved": "https://registry.npmjs.org/intl-messageformat-parser/-/intl-messageformat-parser-3.6.4.tgz", + "integrity": "sha512-RgPGwue0mJtoX2Ax8EmMzJzttxjnva7gx0Q7mKJ4oALrTZvtmCeAw5Msz2PcjW4dtCh/h7vN/8GJCxZO1uv+OA==", + "dev": true, + "requires": { + "@formatjs/intl-unified-numberformat": "^3.2.0" + } + }, + "invariant": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", + "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", + "requires": { + "loose-envify": "^1.0.0" + } + }, + "invert-kv": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-3.0.1.tgz", + "integrity": "sha512-CYdFeFexxhv/Bcny+Q0BfOV+ltRlJcd4BBZBYFX/O0u4npJrgZtIcjokegtiSMAvlMTJ+Koq0GBCc//3bueQxw==", + "dev": true + }, + "ip": { + "version": "1.1.9", + "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.9.tgz", + "integrity": "sha512-cyRxvOEpNHNtchU3Ln9KC/auJgup87llfQpQ+t5ghoC/UhL16SWzbueiCsdTnWmqAWl7LadfuwhlqmtOaqMHdQ==", + "dev": true + }, + "ipaddr.js": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", + "dev": true + }, + "irregular-plurals": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/irregular-plurals/-/irregular-plurals-3.5.0.tgz", + "integrity": "sha512-1ANGLZ+Nkv1ptFb2pa8oG8Lem4krflKuX/gINiHJHjJUKaJHk/SXk5x6K3J+39/p0h1RQ2saROclJJ+QLvETCQ==", + "dev": true + }, + "is-accessor-descriptor": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.1.tgz", + "integrity": "sha512-YBUanLI8Yoihw923YeFUS5fs0fF2f5TSFTNiYAAzhhDscDa3lEqYuz1pDOEP5KvX94I9ey3vsqjJcLVFVU+3QA==", + "dev": true, + "requires": { + "hasown": "^2.0.0" + } + }, + "is-alphabetical": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-1.0.4.tgz", + "integrity": "sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg==", + "dev": true + }, + "is-alphanumerical": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-1.0.4.tgz", + "integrity": "sha512-UzoZUr+XfVz3t3v4KyGEniVL9BDRoQtY7tOyrRybkVNjDFWyo1yhXNGrrBTQxp3ib9BLAWs7k2YKBQsFRkZG9A==", + "dev": true, + "requires": { + "is-alphabetical": "^1.0.0", + "is-decimal": "^1.0.0" + } + }, + "is-array-buffer": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.4.tgz", + "integrity": "sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.1" + } + }, + "is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==" + }, + "is-async-function": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-async-function/-/is-async-function-2.0.0.tgz", + "integrity": "sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA==", + "dev": true, + "requires": { + "has-tostringtag": "^1.0.0" + } + }, + "is-bigint": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", + "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", + "dev": true, + "requires": { + "has-bigints": "^1.0.1" + } + }, + "is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "requires": { + "binary-extensions": "^2.0.0" + } + }, + "is-boolean-object": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", + "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + } + }, + "is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" + }, + "is-callable": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", + "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", + "dev": true + }, + "is-ci": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-1.2.1.tgz", + "integrity": "sha512-s6tfsaQaQi3JNciBH6shVqEDvhGut0SUXr31ag8Pd8BBbVVlcGfWhpPmEOoM6RJ5TFhbypvf5yyRw/VXW1IiWg==", + "dev": true, + "requires": { + "ci-info": "^1.5.0" + }, + "dependencies": { + "ci-info": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-1.6.0.tgz", + "integrity": "sha512-vsGdkwSCDpWmP80ncATX7iea5DWQemg1UgCW5J8tqjU3lYw4FBYuj89J0CTVomA7BEfvSZd84GmHko+MxFQU2A==", + "dev": true + } + } + }, + "is-core-module": { + "version": "2.13.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz", + "integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==", + "dev": true, + "requires": { + "hasown": "^2.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.1.tgz", + "integrity": "sha512-bc4NlCDiCr28U4aEsQ3Qs2491gVq4V8G7MQyws968ImqjKuYtTJXrl7Vq7jsN7Ly/C3xj5KWFrY7sHNeDkAzXw==", + "dev": true, + "requires": { + "hasown": "^2.0.0" + } + }, + "is-data-view": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-data-view/-/is-data-view-1.0.1.tgz", + "integrity": "sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w==", + "dev": true, + "requires": { + "is-typed-array": "^1.1.13" + } + }, + "is-date-object": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", + "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", + "dev": true, + "requires": { + "has-tostringtag": "^1.0.0" + } + }, + "is-decimal": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-decimal/-/is-decimal-1.0.4.tgz", + "integrity": "sha512-RGdriMmQQvZ2aqaQq3awNA6dCGtKpiDFcOzrTWrDAT2MiWrKQVPmxLGHl7Y2nNu6led0kEyoX0enY0qXYsv9zw==", + "dev": true + }, + "is-descriptor": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.3.tgz", + "integrity": "sha512-JCNNGbwWZEVaSPtS45mdtrneRWJFp07LLmykxeFV5F6oBvNF8vHSfJuJgoT472pSfk+Mf8VnlrspaFBHWM8JAw==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.1", + "is-data-descriptor": "^1.0.1" + } + }, + "is-directory": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/is-directory/-/is-directory-0.3.1.tgz", + "integrity": "sha512-yVChGzahRFvbkscn2MlwGismPO12i9+znNruC5gVEntG3qu0xQMzsGg/JFbrsqDOHtHFPci+V5aP5T9I+yeKqw==" + }, + "is-docker": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", + "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==" + }, + "is-dom": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-dom/-/is-dom-1.1.0.tgz", + "integrity": "sha512-u82f6mvhYxRPKpw8V1N0W8ce1xXwOrQtgGcxl6UCL5zBmZu3is/18K0rR7uFCnMDuAsS/3W54mGL4vsaFUQlEQ==", + "dev": true, + "requires": { + "is-object": "^1.0.1", + "is-window": "^1.0.2" + } + }, + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "dev": true + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==" + }, + "is-finalizationregistry": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-finalizationregistry/-/is-finalizationregistry-1.0.2.tgz", + "integrity": "sha512-0by5vtUJs8iFQb5TYUHHPudOR+qXYIMKtiUzvLIZITZUjknFmziyBJuLhVRc+Ds0dREFlskDNJKYIdIzu/9pfw==", + "dev": true, + "requires": { + "call-bind": "^1.0.2" + } + }, + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true + }, + "is-generator-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz", + "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==", + "dev": true + }, + "is-generator-function": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz", + "integrity": "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==", + "dev": true, + "requires": { + "has-tostringtag": "^1.0.0" + } + }, + "is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-hexadecimal": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-1.0.4.tgz", + "integrity": "sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw==", + "dev": true + }, + "is-installed-globally": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.1.0.tgz", + "integrity": "sha512-ERNhMg+i/XgDwPIPF3u24qpajVreaiSuvpb1Uu0jugw7KKcxGyCX8cgp8P5fwTmAuXku6beDHHECdKArjlg7tw==", + "dev": true, + "requires": { + "global-dirs": "^0.1.0", + "is-path-inside": "^1.0.0" + } + }, + "is-interactive": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz", + "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==", + "dev": true + }, + "is-map": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.3.tgz", + "integrity": "sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==", + "dev": true + }, + "is-negative-zero": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.3.tgz", + "integrity": "sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==", + "dev": true + }, + "is-npm": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-npm/-/is-npm-1.0.0.tgz", + "integrity": "sha512-9r39FIr3d+KD9SbX0sfMsHzb5PP3uimOiwr3YupUaUFG4W0l1U57Rx3utpttV7qz5U3jmrO5auUa04LU9pyHsg==", + "dev": true + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" + }, + "is-number-object": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", + "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", + "dev": true, + "requires": { + "has-tostringtag": "^1.0.0" + } + }, + "is-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", + "integrity": "sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg==", + "dev": true + }, + "is-object": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-object/-/is-object-1.0.2.tgz", + "integrity": "sha512-2rRIahhZr2UWb45fIOuvZGpFtz0TyOZLf32KxBbSoUCeZR495zCKlWUKKUByk3geS2eAs7ZAABt0Y/Rx0GiQGA==", + "dev": true + }, + "is-path-inside": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.1.tgz", + "integrity": "sha512-qhsCR/Esx4U4hg/9I19OVUAJkGWtjRYHMRgUMZE2TDdj+Ag+kttZanLupfddNyglzz50cUlmWzUaI37GDfNx/g==", + "dev": true, + "requires": { + "path-is-inside": "^1.0.1" + } + }, + "is-plain-obj": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", + "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==", + "dev": true + }, + "is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "requires": { + "isobject": "^3.0.1" + } + }, + "is-potential-custom-element-name": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz", + "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==", + "dev": true + }, + "is-promise": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.2.2.tgz", + "integrity": "sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ==", + "dev": true + }, + "is-redirect": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-redirect/-/is-redirect-1.0.0.tgz", + "integrity": "sha512-cr/SlUEe5zOGmzvj9bUyC4LVvkNVAXu4GytXLNMr1pny+a65MpQ9IJzFHD5vi7FyJgb4qt27+eS3TuQnqB+RQw==", + "dev": true + }, + "is-regex": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", + "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + } + }, + "is-regexp": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-regexp/-/is-regexp-1.0.0.tgz", + "integrity": "sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA==", + "dev": true + }, + "is-retry-allowed": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-1.2.0.tgz", + "integrity": "sha512-RUbUeKwvm3XG2VYamhJL1xFktgjvPzL0Hq8C+6yrWIswDy3BIXGqCxhxkc30N9jqK311gVU137K8Ei55/zVJRg==", + "dev": true + }, + "is-root": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-root/-/is-root-2.1.0.tgz", + "integrity": "sha512-AGOriNp96vNBd3HtU+RzFEc75FfR5ymiYv8E553I71SCeXBiMsVDUtdio1OEFvrPyLIQ9tVR5RxXIFe5PUFjMg==" + }, + "is-set": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.3.tgz", + "integrity": "sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==", + "dev": true + }, + "is-shared-array-buffer": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.3.tgz", + "integrity": "sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg==", + "dev": true, + "requires": { + "call-bind": "^1.0.7" + } + }, + "is-ssh": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/is-ssh/-/is-ssh-1.4.0.tgz", + "integrity": "sha512-x7+VxdxOdlV3CYpjvRLBv5Lo9OJerlYanjwFrPR9fuGPjCiNiCzFgAWpiLAohSbsnH4ZAys3SBh+hq5rJosxUQ==", + "dev": true, + "requires": { + "protocols": "^2.0.1" + } + }, + "is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "dev": true + }, + "is-string": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", + "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", + "dev": true, + "requires": { + "has-tostringtag": "^1.0.0" + } + }, + "is-subset": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-subset/-/is-subset-0.1.1.tgz", + "integrity": "sha512-6Ybun0IkarhmEqxXCNw/C0bna6Zb/TkfUX9UbwJtK6ObwAVCxmAP308WWTHviM/zAqXk05cdhYsUsZeGQh99iw==", + "dev": true + }, + "is-symbol": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", + "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", + "dev": true, + "requires": { + "has-symbols": "^1.0.2" + } + }, + "is-typed-array": { + "version": "1.1.13", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.13.tgz", + "integrity": "sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==", + "dev": true, + "requires": { + "which-typed-array": "^1.1.14" + } + }, + "is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==", + "dev": true + }, + "is-unicode-supported": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", + "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", + "dev": true + }, + "is-url": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/is-url/-/is-url-1.2.4.tgz", + "integrity": "sha512-ITvGim8FhRiYe4IQ5uHSkj7pVaPDrCTkNd3yq3cV7iZAcJdHTUMPMEHcqSOy9xZ9qFenQCvi+2wjH9a1nXqHww==", + "dev": true + }, + "is-utf8": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", + "integrity": "sha512-rMYPYvCzsXywIsldgLaSoPlw5PfoB/ssr7hY4pLfcodrA5M/eArza1a9VmTiNIBNMjOGr1Ow9mTyU2o69U6U9Q==", + "dev": true + }, + "is-weakmap": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.2.tgz", + "integrity": "sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==", + "dev": true + }, + "is-weakref": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", + "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", + "dev": true, + "requires": { + "call-bind": "^1.0.2" + } + }, + "is-weakset": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.3.tgz", + "integrity": "sha512-LvIm3/KWzS9oRFHugab7d+M/GcBXuXX5xZkzPmN+NxihdQlZUQ4dWuSV1xR/sq6upL1TJEDrfBgRepHFdBtSNQ==", + "dev": true, + "requires": { + "call-bind": "^1.0.7", + "get-intrinsic": "^1.2.4" + } + }, + "is-window": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-window/-/is-window-1.0.2.tgz", + "integrity": "sha512-uj00kdXyZb9t9RcAUAwMZAnkBUwdYGhYlt7djMXhfyhUCzwNba50tIiBKR7q0l7tdoBtFVw/3JmLY6fI3rmZmg==", + "dev": true + }, + "is-windows": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-0.2.0.tgz", + "integrity": "sha512-n67eJYmXbniZB7RF4I/FTjK1s6RPOCTxhYrVYLRaCt3lF0mpWZPKr3T2LSZAqyjQsxR2qMmGYXXzK0YWwcPM1Q==", + "dev": true + }, + "is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "requires": { + "is-docker": "^2.0.0" + } + }, + "is-yarn-global": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/is-yarn-global/-/is-yarn-global-0.3.0.tgz", + "integrity": "sha512-VjSeb/lHmkoyd8ryPVIKvOCn4D1koMqY+vqyjjUfc3xyKtP4dYOxM44sZrnqQSzSds3xyOrUTLTC9LVCVgLngw==", + "dev": true + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" + }, + "isbinaryfile": { + "version": "4.0.10", + "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-4.0.10.tgz", + "integrity": "sha512-iHrqe5shvBUcFbmZq9zOQHBoeOhZJu6RQGrDpBgenUm/Am+F3JM2MgQj+rK3Z601fzrL5gLZWtAPH2OBaSVcyw==", + "dev": true + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", + "dev": true + }, + "isomorphic-fetch": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz", + "integrity": "sha512-9c4TNAKYXM5PRyVcwUZrF3W09nQ+sO7+jydgs4ZGW9dhsLG2VOlISJABombdQqQRXCwuYG3sYV/puGf5rp0qmA==", + "requires": { + "node-fetch": "^1.0.1", + "whatwg-fetch": ">=0.10.0" + }, + "dependencies": { + "is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==" + }, + "node-fetch": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-1.7.3.tgz", + "integrity": "sha512-NhZ4CsKx7cYm2vSrBAr2PvFOe6sWDf0UYLRqA6svUYg7+/TSfVAu49jYC4BvQ4Sms9SZgdqGBgroqfDhJdTyKQ==", + "requires": { + "encoding": "^0.1.11", + "is-stream": "^1.0.1" + } + } + } + }, + "isstream": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==", + "dev": true + }, + "istanbul-lib-coverage": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz", + "integrity": "sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==", + "dev": true + }, + "istanbul-lib-instrument": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz", + "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==", + "dev": true, + "requires": { + "@babel/core": "^7.12.3", + "@babel/parser": "^7.14.7", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-coverage": "^3.2.0", + "semver": "^6.3.0" + }, + "dependencies": { + "semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true + } + } + }, + "istanbul-lib-report": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz", + "integrity": "sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==", + "dev": true, + "requires": { + "istanbul-lib-coverage": "^3.0.0", + "make-dir": "^4.0.0", + "supports-color": "^7.1.0" + }, + "dependencies": { + "make-dir": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz", + "integrity": "sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==", + "dev": true, + "requires": { + "semver": "^7.5.3" + } + } + } + }, + "istanbul-lib-source-maps": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", + "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", + "dev": true, + "requires": { + "debug": "^4.1.1", + "istanbul-lib-coverage": "^3.0.0", + "source-map": "^0.6.1" + } + }, + "istanbul-reports": { + "version": "3.1.7", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.7.tgz", + "integrity": "sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==", + "dev": true, + "requires": { + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.0.0" + } + }, + "istextorbinary": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/istextorbinary/-/istextorbinary-2.6.0.tgz", + "integrity": "sha512-+XRlFseT8B3L9KyjxxLjfXSLMuErKDsd8DBNrsaxoViABMEZlOSCstwmw0qpoFX3+U6yWU1yhLudAe6/lETGGA==", + "dev": true, + "requires": { + "binaryextensions": "^2.1.2", + "editions": "^2.2.0", + "textextensions": "^2.5.0" + } + }, + "iterator.prototype": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/iterator.prototype/-/iterator.prototype-1.1.2.tgz", + "integrity": "sha512-DR33HMMr8EzwuRL8Y9D3u2BMj8+RqSE850jfGu59kS7tbmPLzGkZmVSfyCFSDxuZiEY6Rzt3T2NA/qU+NwVj1w==", + "dev": true, + "requires": { + "define-properties": "^1.2.1", + "get-intrinsic": "^1.2.1", + "has-symbols": "^1.0.3", + "reflect.getprototypeof": "^1.0.4", + "set-function-name": "^2.0.1" + } + }, + "javascript-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/javascript-stringify/-/javascript-stringify-2.1.0.tgz", + "integrity": "sha512-JVAfqNPTvNq3sB/VHQJAFxN/sPgKnsKrCwyRt15zwNCdrMMJDdcEOdubuy+DuJYYdm0ox1J4uzEuYKkN+9yhVg==" + }, + "jest": { + "version": "26.6.3", + "resolved": "https://registry.npmjs.org/jest/-/jest-26.6.3.tgz", + "integrity": "sha512-lGS5PXGAzR4RF7V5+XObhqz2KZIDUA1yD0DG6pBVmy10eh0ZIXQImRuzocsI/N2XZ1GrLFwTS27In2i2jlpq1Q==", + "dev": true, + "requires": { + "@jest/core": "^26.6.3", + "import-local": "^3.0.2", + "jest-cli": "^26.6.3" + } + }, + "jest-changed-files": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-26.6.2.tgz", + "integrity": "sha512-fDS7szLcY9sCtIip8Fjry9oGf3I2ht/QT21bAHm5Dmf0mD4X3ReNUf17y+bO6fR8WgbIZTlbyG1ak/53cbRzKQ==", + "dev": true, + "requires": { + "@jest/types": "^26.6.2", + "execa": "^4.0.0", + "throat": "^5.0.0" + }, + "dependencies": { + "execa": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-4.1.0.tgz", + "integrity": "sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==", + "dev": true, + "requires": { + "cross-spawn": "^7.0.0", + "get-stream": "^5.0.0", + "human-signals": "^1.1.1", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.0", + "onetime": "^5.1.0", + "signal-exit": "^3.0.2", + "strip-final-newline": "^2.0.0" + } + }, + "get-stream": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", + "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", + "dev": true, + "requires": { + "pump": "^3.0.0" + } + }, + "human-signals": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz", + "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==", + "dev": true + }, + "pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "dev": true, + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + } + } + }, + "jest-cli": { + "version": "26.6.3", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-26.6.3.tgz", + "integrity": "sha512-GF9noBSa9t08pSyl3CY4frMrqp+aQXFGFkf5hEPbh/pIUFYWMK6ZLTfbmadxJVcJrdRoChlWQsA2VkJcDFK8hg==", + "dev": true, + "requires": { + "@jest/core": "^26.6.3", + "@jest/test-result": "^26.6.2", + "@jest/types": "^26.6.2", + "chalk": "^4.0.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.4", + "import-local": "^3.0.2", + "is-ci": "^2.0.0", + "jest-config": "^26.6.3", + "jest-util": "^26.6.2", + "jest-validate": "^26.6.2", + "prompts": "^2.0.1", + "yargs": "^15.4.1" + }, + "dependencies": { + "is-ci": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz", + "integrity": "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==", + "dev": true, + "requires": { + "ci-info": "^2.0.0" + } + } + } + }, + "jest-config": { + "version": "26.6.3", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-26.6.3.tgz", + "integrity": "sha512-t5qdIj/bCj2j7NFVHb2nFB4aUdfucDn3JRKgrZnplb8nieAirAzRSHP8uDEd+qV6ygzg9Pz4YG7UTJf94LPSyg==", + "dev": true, + "requires": { + "@babel/core": "^7.1.0", + "@jest/test-sequencer": "^26.6.3", + "@jest/types": "^26.6.2", + "babel-jest": "^26.6.3", + "chalk": "^4.0.0", + "deepmerge": "^4.2.2", + "glob": "^7.1.1", + "graceful-fs": "^4.2.4", + "jest-environment-jsdom": "^26.6.2", + "jest-environment-node": "^26.6.2", + "jest-get-type": "^26.3.0", + "jest-jasmine2": "^26.6.3", + "jest-regex-util": "^26.0.0", + "jest-resolve": "^26.6.2", + "jest-util": "^26.6.2", + "jest-validate": "^26.6.2", + "micromatch": "^4.0.2", + "pretty-format": "^26.6.2" + } + }, + "jest-diff": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-26.6.2.tgz", + "integrity": "sha512-6m+9Z3Gv9wN0WFVasqjCL/06+EFCMTqDEUl/b87HYK2rAPTyfz4ZIuSlPhY51PIQRWx5TaxeF1qmXKe9gfN3sA==", + "dev": true, + "requires": { + "chalk": "^4.0.0", + "diff-sequences": "^26.6.2", + "jest-get-type": "^26.3.0", + "pretty-format": "^26.6.2" + } + }, + "jest-docblock": { + "version": "26.0.0", + "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-26.0.0.tgz", + "integrity": "sha512-RDZ4Iz3QbtRWycd8bUEPxQsTlYazfYn/h5R65Fc6gOfwozFhoImx+affzky/FFBuqISPTqjXomoIGJVKBWoo0w==", + "dev": true, + "requires": { + "detect-newline": "^3.0.0" + } + }, + "jest-each": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-26.6.2.tgz", + "integrity": "sha512-Mer/f0KaATbjl8MCJ+0GEpNdqmnVmDYqCTJYTvoo7rqmRiDllmp2AYN+06F93nXcY3ur9ShIjS+CO/uD+BbH4A==", + "dev": true, + "requires": { + "@jest/types": "^26.6.2", + "chalk": "^4.0.0", + "jest-get-type": "^26.3.0", + "jest-util": "^26.6.2", + "pretty-format": "^26.6.2" + } + }, + "jest-environment-jsdom": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-26.6.2.tgz", + "integrity": "sha512-jgPqCruTlt3Kwqg5/WVFyHIOJHsiAvhcp2qiR2QQstuG9yWox5+iHpU3ZrcBxW14T4fe5Z68jAfLRh7joCSP2Q==", + "dev": true, + "requires": { + "@jest/environment": "^26.6.2", + "@jest/fake-timers": "^26.6.2", + "@jest/types": "^26.6.2", + "@types/node": "*", + "jest-mock": "^26.6.2", + "jest-util": "^26.6.2", + "jsdom": "^16.4.0" + } + }, + "jest-environment-node": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-26.6.2.tgz", + "integrity": "sha512-zhtMio3Exty18dy8ee8eJ9kjnRyZC1N4C1Nt/VShN1apyXc8rWGtJ9lI7vqiWcyyXS4BVSEn9lxAM2D+07/Tag==", + "dev": true, + "requires": { + "@jest/environment": "^26.6.2", + "@jest/fake-timers": "^26.6.2", + "@jest/types": "^26.6.2", + "@types/node": "*", + "jest-mock": "^26.6.2", + "jest-util": "^26.6.2" + } + }, + "jest-get-type": { + "version": "26.3.0", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-26.3.0.tgz", + "integrity": "sha512-TpfaviN1R2pQWkIihlfEanwOXK0zcxrKEE4MlU6Tn7keoXdN6/3gK/xl0yEh8DOunn5pOVGKf8hB4R9gVh04ig==", + "dev": true + }, + "jest-haste-map": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-26.6.2.tgz", + "integrity": "sha512-easWIJXIw71B2RdR8kgqpjQrbMRWQBgiBwXYEhtGUTaX+doCjBheluShdDMeR8IMfJiTqH4+zfhtg29apJf/8w==", + "dev": true, + "requires": { + "@jest/types": "^26.6.2", + "@types/graceful-fs": "^4.1.2", + "@types/node": "*", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "fsevents": "^2.1.2", + "graceful-fs": "^4.2.4", + "jest-regex-util": "^26.0.0", + "jest-serializer": "^26.6.2", + "jest-util": "^26.6.2", + "jest-worker": "^26.6.2", + "micromatch": "^4.0.2", + "sane": "^4.0.3", + "walker": "^1.0.7" + }, + "dependencies": { + "jest-worker": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-26.6.2.tgz", + "integrity": "sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==", + "dev": true, + "requires": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^7.0.0" + } + } + } + }, + "jest-jasmine2": { + "version": "26.6.3", + "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-26.6.3.tgz", + "integrity": "sha512-kPKUrQtc8aYwBV7CqBg5pu+tmYXlvFlSFYn18ev4gPFtrRzB15N2gW/Roew3187q2w2eHuu0MU9TJz6w0/nPEg==", + "dev": true, + "requires": { + "@babel/traverse": "^7.1.0", + "@jest/environment": "^26.6.2", + "@jest/source-map": "^26.6.2", + "@jest/test-result": "^26.6.2", + "@jest/types": "^26.6.2", + "@types/node": "*", + "chalk": "^4.0.0", + "co": "^4.6.0", + "expect": "^26.6.2", + "is-generator-fn": "^2.0.0", + "jest-each": "^26.6.2", + "jest-matcher-utils": "^26.6.2", + "jest-message-util": "^26.6.2", + "jest-runtime": "^26.6.3", + "jest-snapshot": "^26.6.2", + "jest-util": "^26.6.2", + "pretty-format": "^26.6.2", + "throat": "^5.0.0" + } + }, + "jest-leak-detector": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-26.6.2.tgz", + "integrity": "sha512-i4xlXpsVSMeKvg2cEKdfhh0H39qlJlP5Ex1yQxwF9ubahboQYMgTtz5oML35AVA3B4Eu+YsmwaiKVev9KCvLxg==", + "dev": true, + "requires": { + "jest-get-type": "^26.3.0", + "pretty-format": "^26.6.2" + } + }, + "jest-matcher-utils": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-26.6.2.tgz", + "integrity": "sha512-llnc8vQgYcNqDrqRDXWwMr9i7rS5XFiCwvh6DTP7Jqa2mqpcCBBlpCbn+trkG0KNhPu/h8rzyBkriOtBstvWhw==", + "dev": true, + "requires": { + "chalk": "^4.0.0", + "jest-diff": "^26.6.2", + "jest-get-type": "^26.3.0", + "pretty-format": "^26.6.2" + } + }, + "jest-message-util": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-26.6.2.tgz", + "integrity": "sha512-rGiLePzQ3AzwUshu2+Rn+UMFk0pHN58sOG+IaJbk5Jxuqo3NYO1U2/MIR4S1sKgsoYSXSzdtSa0TgrmtUwEbmA==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "@jest/types": "^26.6.2", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.4", + "micromatch": "^4.0.2", + "pretty-format": "^26.6.2", + "slash": "^3.0.0", + "stack-utils": "^2.0.2" + } + }, + "jest-mock": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-26.6.2.tgz", + "integrity": "sha512-YyFjePHHp1LzpzYcmgqkJ0nm0gg/lJx2aZFzFy1S6eUqNjXsOqTK10zNRff2dNfssgokjkG65OlWNcIlgd3zew==", + "dev": true, + "requires": { + "@jest/types": "^26.6.2", + "@types/node": "*" + } + }, + "jest-pnp-resolver": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz", + "integrity": "sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==", + "dev": true + }, + "jest-regex-util": { + "version": "26.0.0", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-26.0.0.tgz", + "integrity": "sha512-Gv3ZIs/nA48/Zvjrl34bf+oD76JHiGDUxNOVgUjh3j890sblXryjY4rss71fPtD/njchl6PSE2hIhvyWa1eT0A==", + "dev": true + }, + "jest-resolve": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-26.6.2.tgz", + "integrity": "sha512-sOxsZOq25mT1wRsfHcbtkInS+Ek7Q8jCHUB0ZUTP0tc/c41QHriU/NunqMfCUWsL4H3MHpvQD4QR9kSYhS7UvQ==", + "dev": true, + "requires": { + "@jest/types": "^26.6.2", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.4", + "jest-pnp-resolver": "^1.2.2", + "jest-util": "^26.6.2", + "read-pkg-up": "^7.0.1", + "resolve": "^1.18.1", + "slash": "^3.0.0" + } + }, + "jest-resolve-dependencies": { + "version": "26.6.3", + "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-26.6.3.tgz", + "integrity": "sha512-pVwUjJkxbhe4RY8QEWzN3vns2kqyuldKpxlxJlzEYfKSvY6/bMvxoFrYYzUO1Gx28yKWN37qyV7rIoIp2h8fTg==", + "dev": true, + "requires": { + "@jest/types": "^26.6.2", + "jest-regex-util": "^26.0.0", + "jest-snapshot": "^26.6.2" + } + }, + "jest-runner": { + "version": "26.6.3", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-26.6.3.tgz", + "integrity": "sha512-atgKpRHnaA2OvByG/HpGA4g6CSPS/1LK0jK3gATJAoptC1ojltpmVlYC3TYgdmGp+GLuhzpH30Gvs36szSL2JQ==", + "dev": true, + "requires": { + "@jest/console": "^26.6.2", + "@jest/environment": "^26.6.2", + "@jest/test-result": "^26.6.2", + "@jest/types": "^26.6.2", + "@types/node": "*", + "chalk": "^4.0.0", + "emittery": "^0.7.1", + "exit": "^0.1.2", + "graceful-fs": "^4.2.4", + "jest-config": "^26.6.3", + "jest-docblock": "^26.0.0", + "jest-haste-map": "^26.6.2", + "jest-leak-detector": "^26.6.2", + "jest-message-util": "^26.6.2", + "jest-resolve": "^26.6.2", + "jest-runtime": "^26.6.3", + "jest-util": "^26.6.2", + "jest-worker": "^26.6.2", + "source-map-support": "^0.5.6", + "throat": "^5.0.0" + }, + "dependencies": { + "jest-worker": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-26.6.2.tgz", + "integrity": "sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==", + "dev": true, + "requires": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^7.0.0" + } + } + } + }, + "jest-runtime": { + "version": "26.6.3", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-26.6.3.tgz", + "integrity": "sha512-lrzyR3N8sacTAMeonbqpnSka1dHNux2uk0qqDXVkMv2c/A3wYnvQ4EXuI013Y6+gSKSCxdaczvf4HF0mVXHRdw==", + "dev": true, + "requires": { + "@jest/console": "^26.6.2", + "@jest/environment": "^26.6.2", + "@jest/fake-timers": "^26.6.2", + "@jest/globals": "^26.6.2", + "@jest/source-map": "^26.6.2", + "@jest/test-result": "^26.6.2", + "@jest/transform": "^26.6.2", + "@jest/types": "^26.6.2", + "@types/yargs": "^15.0.0", + "chalk": "^4.0.0", + "cjs-module-lexer": "^0.6.0", + "collect-v8-coverage": "^1.0.0", + "exit": "^0.1.2", + "glob": "^7.1.3", + "graceful-fs": "^4.2.4", + "jest-config": "^26.6.3", + "jest-haste-map": "^26.6.2", + "jest-message-util": "^26.6.2", + "jest-mock": "^26.6.2", + "jest-regex-util": "^26.0.0", + "jest-resolve": "^26.6.2", + "jest-snapshot": "^26.6.2", + "jest-util": "^26.6.2", + "jest-validate": "^26.6.2", + "slash": "^3.0.0", + "strip-bom": "^4.0.0", + "yargs": "^15.4.1" + } + }, + "jest-serializer": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-26.6.2.tgz", + "integrity": "sha512-S5wqyz0DXnNJPd/xfIzZ5Xnp1HrJWBczg8mMfMpN78OJ5eDxXyf+Ygld9wX1DnUWbIbhM1YDY95NjR4CBXkb2g==", + "dev": true, + "requires": { + "@types/node": "*", + "graceful-fs": "^4.2.4" + } + }, + "jest-snapshot": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-26.6.2.tgz", + "integrity": "sha512-OLhxz05EzUtsAmOMzuupt1lHYXCNib0ECyuZ/PZOx9TrZcC8vL0x+DUG3TL+GLX3yHG45e6YGjIm0XwDc3q3og==", + "dev": true, + "requires": { + "@babel/types": "^7.0.0", + "@jest/types": "^26.6.2", + "@types/babel__traverse": "^7.0.4", + "@types/prettier": "^2.0.0", + "chalk": "^4.0.0", + "expect": "^26.6.2", + "graceful-fs": "^4.2.4", + "jest-diff": "^26.6.2", + "jest-get-type": "^26.3.0", + "jest-haste-map": "^26.6.2", + "jest-matcher-utils": "^26.6.2", + "jest-message-util": "^26.6.2", + "jest-resolve": "^26.6.2", + "natural-compare": "^1.4.0", + "pretty-format": "^26.6.2", + "semver": "^7.3.2" + } + }, + "jest-util": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-26.6.2.tgz", + "integrity": "sha512-MDW0fKfsn0OI7MS7Euz6h8HNDXVQ0gaM9uW6RjfDmd1DAFcaxX9OqIakHIqhbnmF08Cf2DLDG+ulq8YQQ0Lp0Q==", + "dev": true, + "requires": { + "@jest/types": "^26.6.2", + "@types/node": "*", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.4", + "is-ci": "^2.0.0", + "micromatch": "^4.0.2" + }, + "dependencies": { + "is-ci": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz", + "integrity": "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==", + "dev": true, + "requires": { + "ci-info": "^2.0.0" + } + } + } + }, + "jest-validate": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-26.6.2.tgz", + "integrity": "sha512-NEYZ9Aeyj0i5rQqbq+tpIOom0YS1u2MVu6+euBsvpgIme+FOfRmoC4R5p0JiAUpaFvFy24xgrpMknarR/93XjQ==", + "dev": true, + "requires": { + "@jest/types": "^26.6.2", + "camelcase": "^6.0.0", + "chalk": "^4.0.0", + "jest-get-type": "^26.3.0", + "leven": "^3.1.0", + "pretty-format": "^26.6.2" + }, + "dependencies": { + "camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "dev": true + } + } + }, + "jest-watcher": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-26.6.2.tgz", + "integrity": "sha512-WKJob0P/Em2csiVthsI68p6aGKTIcsfjH9Gsx1f0A3Italz43e3ho0geSAVsmj09RWOELP1AZ/DXyJgOgDKxXQ==", + "dev": true, + "requires": { + "@jest/test-result": "^26.6.2", + "@jest/types": "^26.6.2", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "jest-util": "^26.6.2", + "string-length": "^4.0.1" + } + }, + "jest-worker": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-24.9.0.tgz", + "integrity": "sha512-51PE4haMSXcHohnSMdM42anbvZANYTqMrr52tVKPqqsPJMzoP6FYYDVqahX/HrAoKEKz3uUPzSvKs9A3qR4iVw==", + "requires": { + "merge-stream": "^2.0.0", + "supports-color": "^6.1.0" + }, + "dependencies": { + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==" + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "joycon": { + "version": "2.2.5", + "resolved": "https://registry.npmjs.org/joycon/-/joycon-2.2.5.tgz", + "integrity": "sha512-YqvUxoOcVPnCp0VU1/56f+iKSdvIRJYPznH22BdXV3xMk75SFXhWeJkZ8C9XxUWt1b5x2X1SxuFygW1U0FmkEQ==", + "dev": true + }, + "js-file-download": { + "version": "0.4.12", + "resolved": "https://registry.npmjs.org/js-file-download/-/js-file-download-0.4.12.tgz", + "integrity": "sha512-rML+NkoD08p5Dllpjo0ffy4jRHeY6Zsapvr/W86N7E0yuzAO6qa5X9+xog6zQNlH102J7IXljNY2FtS6Lj3ucg==", + "dev": true + }, + "js-levenshtein": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/js-levenshtein/-/js-levenshtein-1.1.6.tgz", + "integrity": "sha512-X2BB11YZtrRqY4EnQcLX5Rh373zbK4alC1FW7D7MBhL2gtcC17cTnr6DmfHZeS0s2rTHjUTMMHfG7gO8SSdw+g==", + "dev": true + }, + "js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" + }, + "js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "requires": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + } + }, + "jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "integrity": "sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==", + "dev": true + }, + "jsdom": { + "version": "16.7.0", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-16.7.0.tgz", + "integrity": "sha512-u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw==", + "dev": true, + "requires": { + "abab": "^2.0.5", + "acorn": "^8.2.4", + "acorn-globals": "^6.0.0", + "cssom": "^0.4.4", + "cssstyle": "^2.3.0", + "data-urls": "^2.0.0", + "decimal.js": "^10.2.1", + "domexception": "^2.0.1", + "escodegen": "^2.0.0", + "form-data": "^3.0.0", + "html-encoding-sniffer": "^2.0.1", + "http-proxy-agent": "^4.0.1", + "https-proxy-agent": "^5.0.0", + "is-potential-custom-element-name": "^1.0.1", + "nwsapi": "^2.2.0", + "parse5": "6.0.1", + "saxes": "^5.0.1", + "symbol-tree": "^3.2.4", + "tough-cookie": "^4.0.0", + "w3c-hr-time": "^1.0.2", + "w3c-xmlserializer": "^2.0.0", + "webidl-conversions": "^6.1.0", + "whatwg-encoding": "^1.0.5", + "whatwg-mimetype": "^2.3.0", + "whatwg-url": "^8.5.0", + "ws": "^7.4.6", + "xml-name-validator": "^3.0.0" + }, + "dependencies": { + "acorn": { + "version": "8.11.3", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz", + "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==", + "dev": true + }, + "form-data": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz", + "integrity": "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==", + "dev": true, + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + } + }, + "parse5": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", + "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==", + "dev": true + } + } + }, + "jsdom-global": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/jsdom-global/-/jsdom-global-3.0.2.tgz", + "integrity": "sha512-t1KMcBkz/pT5JrvcJbpUR2u/w1kO9jXctaaGJ0vZDzwFnIvGWw9IDSRciT83kIs8Bnw4qpOl8bQK08V01YgMPg==", + "dev": true + }, + "jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==" + }, + "json-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", + "dev": true + }, + "json-parse-better-errors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", + "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==" + }, + "json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==" + }, + "json-schema": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", + "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==", + "dev": true + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" + }, + "json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", + "dev": true + }, + "json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==", + "dev": true + }, + "json2mq": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/json2mq/-/json2mq-0.2.0.tgz", + "integrity": "sha512-SzoRg7ux5DWTII9J2qkrZrqV1gt+rTaoufMxEzXbS26Uid0NwaJd123HcoB80TgubEppxxIGdNxCx50fEoEWQA==", + "requires": { + "string-convert": "^0.2.0" + } + }, + "json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==" + }, + "jsonfile": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-3.0.1.tgz", + "integrity": "sha512-oBko6ZHlubVB5mRFkur5vgYR1UyqX+S6Y/oCfLhqNdcc2fYFlDpIoNc7AfKS1KOGcnNAkvsr0grLck9ANM815w==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.6" + } + }, + "jsprim": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.2.tgz", + "integrity": "sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==", + "dev": true, + "requires": { + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.4.0", + "verror": "1.10.0" + } + }, + "jsx-ast-utils": { + "version": "3.3.5", + "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz", + "integrity": "sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==", + "dev": true, + "requires": { + "array-includes": "^3.1.6", + "array.prototype.flat": "^1.3.1", + "object.assign": "^4.1.4", + "object.values": "^1.1.6" + } + }, + "katex": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/katex/-/katex-0.12.0.tgz", + "integrity": "sha512-y+8btoc/CK70XqcHqjxiGWBOeIL8upbS0peTPXTvgrh21n1RiWWcIpSWM+4uXq+IAgNh9YYQWdc7LVDPDAEEAg==", + "dev": true, + "requires": { + "commander": "^2.19.0" + } + }, + "kebab-case": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/kebab-case/-/kebab-case-1.0.2.tgz", + "integrity": "sha512-7n6wXq4gNgBELfDCpzKc+mRrZFs7D+wgfF5WRFLNAr4DA/qtr9Js8uOAVAfHhuLMfAcQ0pRKqbpjx+TcJVdE1Q==", + "dev": true + }, + "keyv": { + "version": "4.5.4", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", + "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", + "dev": true, + "requires": { + "json-buffer": "3.0.1" + } + }, + "kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==" + }, + "kleur": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", + "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==" + }, + "known-css-properties": { + "version": "0.21.0", + "resolved": "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.21.0.tgz", + "integrity": "sha512-sZLUnTqimCkvkgRS+kbPlYW5o8q5w1cu+uIisKpEWkj31I8mx8kNG162DwRav8Zirkva6N5uoFsm9kzK4mUXjw==", + "dev": true + }, + "latest-version": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/latest-version/-/latest-version-3.1.0.tgz", + "integrity": "sha512-Be1YRHWWlZaSsrz2U+VInk+tO0EwLIyV+23RhWLINJYwg/UIikxjlj3MhH37/6/EDCAusjajvMkMMUXRaMWl/w==", + "dev": true, + "requires": { + "package-json": "^4.0.0" + } + }, + "lazy-cache": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz", + "integrity": "sha512-RE2g0b5VGZsOCFOCgP7omTRYFqydmZkBwl5oNnQ1lDYC57uyO9KqNnNVxT7COSHTxrRCWVcAVOcbjk+tvh/rgQ==", + "dev": true + }, + "lcid": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/lcid/-/lcid-3.1.1.tgz", + "integrity": "sha512-M6T051+5QCGLBQb8id3hdvIW8+zeFV2FyBGFS9IEK5H9Wt4MueD4bW1eWikpHgZp+5xR3l5c8pZUkQsIA0BFZg==", + "dev": true, + "requires": { + "invert-kv": "^3.0.0" + } + }, + "leven": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", + "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", + "dev": true + }, + "levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dev": true, + "requires": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + } + }, + "lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==" + }, + "lint-staged": { + "version": "10.5.4", + "resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-10.5.4.tgz", + "integrity": "sha512-EechC3DdFic/TdOPgj/RB3FicqE6932LTHCUm0Y2fsD9KGlLB+RwJl2q1IYBIvEsKzDOgn0D4gll+YxG5RsrKg==", + "dev": true, + "requires": { + "chalk": "^4.1.0", + "cli-truncate": "^2.1.0", + "commander": "^6.2.0", + "cosmiconfig": "^7.0.0", + "debug": "^4.2.0", + "dedent": "^0.7.0", + "enquirer": "^2.3.6", + "execa": "^4.1.0", + "listr2": "^3.2.2", + "log-symbols": "^4.0.0", + "micromatch": "^4.0.2", + "normalize-path": "^3.0.0", + "please-upgrade-node": "^3.2.0", + "string-argv": "0.3.1", + "stringify-object": "^3.3.0" + }, + "dependencies": { + "commander": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-6.2.1.tgz", + "integrity": "sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==", + "dev": true + }, + "execa": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-4.1.0.tgz", + "integrity": "sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==", + "dev": true, + "requires": { + "cross-spawn": "^7.0.0", + "get-stream": "^5.0.0", + "human-signals": "^1.1.1", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.0", + "onetime": "^5.1.0", + "signal-exit": "^3.0.2", + "strip-final-newline": "^2.0.0" + } + }, + "get-stream": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", + "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", + "dev": true, + "requires": { + "pump": "^3.0.0" + } + }, + "human-signals": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz", + "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==", + "dev": true + }, + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true + }, + "pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "dev": true, + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + } + } + }, + "listr2": { + "version": "3.14.0", + "resolved": "https://registry.npmjs.org/listr2/-/listr2-3.14.0.tgz", + "integrity": "sha512-TyWI8G99GX9GjE54cJ+RrNMcIFBfwMPxc3XTFiAYGN4s10hWROGtOg7+O6u6LE3mNkyld7RSLE6nrKBvTfcs3g==", + "dev": true, + "requires": { + "cli-truncate": "^2.1.0", + "colorette": "^2.0.16", + "log-update": "^4.0.0", + "p-map": "^4.0.0", + "rfdc": "^1.3.0", + "rxjs": "^7.5.1", + "through": "^2.3.8", + "wrap-ansi": "^7.0.0" + }, + "dependencies": { + "rxjs": { + "version": "7.8.1", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz", + "integrity": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==", + "dev": true, + "requires": { + "tslib": "^2.1.0" + } + } + } + }, + "load-json-file": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", + "integrity": "sha512-Kx8hMakjX03tiGTLAIdJ+lL0htKnXjEZN6hk/tozf/WOuYGdZBJrZ+rCJRbVCugsjB3jMLn9746NsQIf5VjBMw==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "parse-json": "^4.0.0", + "pify": "^3.0.0", + "strip-bom": "^3.0.0" + }, + "dependencies": { + "parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==", + "dev": true, + "requires": { + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" + } + }, + "strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", + "dev": true + } + } + }, + "loader-utils": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz", + "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==", + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + } + }, + "locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "requires": { + "p-locate": "^4.1.0" + } + }, + "lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + }, + "lodash-es": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.21.tgz", + "integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==", + "dev": true + }, + "lodash.debounce": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", + "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==", + "dev": true + }, + "lodash.escape": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/lodash.escape/-/lodash.escape-4.0.1.tgz", + "integrity": "sha512-nXEOnb/jK9g0DYMr1/Xvq6l5xMD7GDG55+GSYIYmS0G4tBk/hURD4JR9WCavs04t33WmJx9kCyp9vJ+mr4BOUw==", + "dev": true + }, + "lodash.flattendeep": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.flattendeep/-/lodash.flattendeep-4.4.0.tgz", + "integrity": "sha512-uHaJFihxmJcEX3kT4I23ABqKKalJ/zDrDg0lsFtc1h+3uw49SIJ5beyhx5ExVRti3AvKoOJngIj7xz3oylPdWQ==", + "dev": true + }, + "lodash.get": { + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz", + "integrity": "sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==", + "dev": true + }, + "lodash.groupby": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/lodash.groupby/-/lodash.groupby-4.6.0.tgz", + "integrity": "sha512-5dcWxm23+VAoz+awKmBaiBvzox8+RqMgFhi7UvX9DHZr2HdxHXM/Wrf8cfKpsW37RNrvtPn6hSwNqurSILbmJw==", + "dev": true + }, + "lodash.isequal": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz", + "integrity": "sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==" + }, + "lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==" + }, + "lodash.omit": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.omit/-/lodash.omit-4.5.0.tgz", + "integrity": "sha512-XeqSp49hNGmlkj2EJlfrQFIzQ6lXdNro9sddtQzcJY8QaoC2GO0DT7xaIokHeyM+mIT0mPMlPvkYzg2xCuHdZg==" + }, + "lodash.throttle": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.throttle/-/lodash.throttle-4.1.1.tgz", + "integrity": "sha512-wIkUCfVKpVsWo3JSZlc+8MB5it+2AN5W8J7YVMST30UrvcQNZ1Okbj+rbVniijTWE6FGYy4XJq/rHkas8qJMLQ==", + "dev": true + }, + "lodash.tonumber": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/lodash.tonumber/-/lodash.tonumber-4.0.3.tgz", + "integrity": "sha512-SY0SwuPOHRwKcCNTdsntPYb+Zddz5mDUIVFABzRMqmAiL41pMeyoQFGxYAw5zdc9NnH4pbJqiqqp5ckfxa+zSA==" + }, + "lodash.truncate": { + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz", + "integrity": "sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw==", + "dev": true + }, + "lodash.zip": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/lodash.zip/-/lodash.zip-4.2.0.tgz", + "integrity": "sha512-C7IOaBBK/0gMORRBd8OETNx3kmOkgIWIPvyDpZSCTwUrpYmgZwJkjZeOD8ww4xbOUOs4/attY+pciKvadNfFbg==", + "dev": true + }, + "log-symbols": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", + "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", + "dev": true, + "requires": { + "chalk": "^4.1.0", + "is-unicode-supported": "^0.1.0" + } + }, + "log-update": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/log-update/-/log-update-4.0.0.tgz", + "integrity": "sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg==", + "dev": true, + "requires": { + "ansi-escapes": "^4.3.0", + "cli-cursor": "^3.1.0", + "slice-ansi": "^4.0.0", + "wrap-ansi": "^6.2.0" + }, + "dependencies": { + "cli-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", + "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", + "dev": true, + "requires": { + "restore-cursor": "^3.1.0" + } + }, + "restore-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", + "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", + "dev": true, + "requires": { + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" + } + }, + "slice-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", + "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" + } + }, + "wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + } + } + } + }, + "log4js": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/log4js/-/log4js-1.1.1.tgz", + "integrity": "sha512-lYb14ZSs1M/CUFuvy7Zk3VZLDtqrqOaVql9CE0tv8g6/qE1Gfq97XKdltBsjSxxvcJ+t8fAXOnvFxSsms7gGVg==", + "dev": true, + "requires": { + "debug": "^2.2.0", + "semver": "^5.3.0", + "streamroller": "^0.4.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "dev": true + } + } + }, + "longest-streak": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/longest-streak/-/longest-streak-2.0.4.tgz", + "integrity": "sha512-vM6rUVCVUJJt33bnmHiZEvr7wPT78ztX7rojL+LW51bHtLh6HTjx84LA5W4+oa6aKEJA7jJu5LR6vQRBpA5DVg==", + "dev": true + }, + "loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "requires": { + "js-tokens": "^3.0.0 || ^4.0.0" + } + }, + "lowercase-keys": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz", + "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==", + "dev": true + }, + "lowlight": { + "version": "1.20.0", + "resolved": "https://registry.npmjs.org/lowlight/-/lowlight-1.20.0.tgz", + "integrity": "sha512-8Ktj+prEb1RoCPkEOrPMYUN/nCggB7qAWe3a7OpMjWQkh3l2RD5wKRQ+o8Q8YuI9RG/xs95waaI/E6ym/7NsTw==", + "dev": true, + "requires": { + "fault": "^1.0.0", + "highlight.js": "~10.7.0" + } + }, + "lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "requires": { + "yallist": "^3.0.2" + } + }, + "lru-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/lru-queue/-/lru-queue-0.1.0.tgz", + "integrity": "sha512-BpdYkt9EvGl8OfWHDQPISVpcl5xZthb+XPsbELj5AQXxIC8IriDZIQYjBJPEm5rS420sjZ0TLEzRcq5KdBhYrQ==", + "dev": true, + "requires": { + "es5-ext": "~0.10.2" + } + }, + "lz-string": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/lz-string/-/lz-string-1.5.0.tgz", + "integrity": "sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==", + "dev": true + }, + "make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "dev": true, + "requires": { + "semver": "^6.0.0" + }, + "dependencies": { + "semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true + } + } + }, + "make-fetch-happen": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-2.6.0.tgz", + "integrity": "sha512-FFq0lNI0ax+n9IWzWpH8A4JdgYiAp2DDYIZ3rsaav8JDe8I+72CzK6PQW/oom15YDZpV5bYW/9INd6nIJ2ZfZw==", + "dev": true, + "requires": { + "agentkeepalive": "^3.3.0", + "cacache": "^10.0.0", + "http-cache-semantics": "^3.8.0", + "http-proxy-agent": "^2.0.0", + "https-proxy-agent": "^2.1.0", + "lru-cache": "^4.1.1", + "mississippi": "^1.2.0", + "node-fetch-npm": "^2.0.2", + "promise-retry": "^1.1.1", + "socks-proxy-agent": "^3.0.1", + "ssri": "^5.0.0" + }, + "dependencies": { + "agent-base": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.3.0.tgz", + "integrity": "sha512-salcGninV0nPrwpGNn4VTXBb1SOuXQBiqbrNXoeizJsHrsL6ERFM2Ne3JUSBWRE6aeNJI2ROP/WEEIDUiDe3cg==", + "dev": true, + "requires": { + "es6-promisify": "^5.0.0" + } + }, + "cacache": { + "version": "10.0.4", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-10.0.4.tgz", + "integrity": "sha512-Dph0MzuH+rTQzGPNT9fAnrPmMmjKfST6trxJeK7NQuHRaVw24VzPRWTmg9MpcwOVQZO0E1FBICUlFeNaKPIfHA==", + "dev": true, + "requires": { + "bluebird": "^3.5.1", + "chownr": "^1.0.1", + "glob": "^7.1.2", + "graceful-fs": "^4.1.11", + "lru-cache": "^4.1.1", + "mississippi": "^2.0.0", + "mkdirp": "^0.5.1", + "move-concurrently": "^1.0.1", + "promise-inflight": "^1.0.1", + "rimraf": "^2.6.2", + "ssri": "^5.2.4", + "unique-filename": "^1.1.0", + "y18n": "^4.0.0" + }, + "dependencies": { + "mississippi": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-2.0.0.tgz", + "integrity": "sha512-zHo8v+otD1J10j/tC+VNoGK9keCuByhKovAvdn74dmxJl9+mWHnx6EMsDN4lgRoMI/eYo2nchAxniIbUPb5onw==", + "dev": true, + "requires": { + "concat-stream": "^1.5.0", + "duplexify": "^3.4.2", + "end-of-stream": "^1.1.0", + "flush-write-stream": "^1.0.0", + "from2": "^2.1.0", + "parallel-transform": "^1.1.0", + "pump": "^2.0.1", + "pumpify": "^1.3.3", + "stream-each": "^1.1.0", + "through2": "^2.0.0" + } + } + } + }, + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "http-proxy-agent": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-2.1.0.tgz", + "integrity": "sha512-qwHbBLV7WviBl0rQsOzH6o5lwyOIvwp/BdFnvVxXORldu5TmjFfjzBcWUWS5kWAZhmv+JtiDhSuQCp4sBfbIgg==", + "dev": true, + "requires": { + "agent-base": "4", + "debug": "3.1.0" + } + }, + "https-proxy-agent": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-2.2.4.tgz", + "integrity": "sha512-OmvfoQ53WLjtA9HeYP9RNrWMJzzAz1JGaSFr1nijg0PVR1JaD/xbJq1mdEIIlxGpXp9eSe/O2LgU9DJmTPd0Eg==", + "dev": true, + "requires": { + "agent-base": "^4.3.0", + "debug": "^3.1.0" + } + }, + "lru-cache": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", + "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", + "dev": true, + "requires": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } + }, + "mkdirp": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", + "dev": true, + "requires": { + "minimist": "^1.2.6" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "pump": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", + "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", + "dev": true, + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, + "ssri": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-5.3.0.tgz", + "integrity": "sha512-XRSIPqLij52MtgoQavH/x/dU1qVKtWUAAZeOHsR9c2Ddi4XerFy3mc1alf+dLJKl9EUIm/Ht+EowFkTUOA6GAQ==", + "dev": true, + "requires": { + "safe-buffer": "^5.1.1" + } + }, + "through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "dev": true, + "requires": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + } + }, + "y18n": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", + "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", + "dev": true + }, + "yallist": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", + "integrity": "sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A==", + "dev": true + } + } + }, + "makeerror": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", + "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", + "dev": true, + "requires": { + "tmpl": "1.0.5" + } + }, + "map-age-cleaner": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz", + "integrity": "sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w==", + "dev": true, + "requires": { + "p-defer": "^1.0.0" + } + }, + "map-cache": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", + "integrity": "sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg==", + "dev": true + }, + "map-obj": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-4.3.0.tgz", + "integrity": "sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==", + "dev": true + }, + "map-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", + "integrity": "sha512-4y7uGv8bd2WdM9vpQsiQNo41Ln1NvhvDRuVt0k2JZQ+ezN2uaQes7lZeZ+QQUHOLQAtDaBJ+7wCbi+ab/KFs+w==", + "dev": true, + "requires": { + "object-visit": "^1.0.0" + } + }, + "markdown-table": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/markdown-table/-/markdown-table-2.0.0.tgz", + "integrity": "sha512-Ezda85ToJUBhM6WGaG6veasyym+Tbs3cMAw/ZhOPqXiYsr0jgocBV3j3nx+4lk47plLlIqjwuTm/ywVI+zjJ/A==", + "dev": true, + "requires": { + "repeat-string": "^1.0.0" + } + }, + "marked": { + "version": "12.0.1", + "resolved": "https://registry.npmjs.org/marked/-/marked-12.0.1.tgz", + "integrity": "sha512-Y1/V2yafOcOdWQCX0XpAKXzDakPOpn6U0YLxTJs3cww6VxOzZV1BTOOYWLvH3gX38cq+iLwljHHTnMtlDfg01Q==" + }, + "marked-terminal": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/marked-terminal/-/marked-terminal-3.2.0.tgz", + "integrity": "sha512-Yr1yVS0BbDG55vx7be1D0mdv+jGs9AW563o/Tt/7FTsId2J0yqhrTeXAqq/Q0DyyXltIn6CSxzesQuFqXgafjQ==", + "dev": true, + "requires": { + "ansi-escapes": "^3.1.0", + "cardinal": "^2.1.1", + "chalk": "^2.4.1", + "cli-table": "^0.3.1", + "node-emoji": "^1.4.1", + "supports-hyperlinks": "^1.0.1" + }, + "dependencies": { + "ansi-escapes": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz", + "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==", + "dev": true + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + }, + "supports-hyperlinks": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-1.0.1.tgz", + "integrity": "sha512-HHi5kVSefKaJkGYXbDuKbUGRVxqnWGn3J2e39CYcNJEfWciGq2zYtOhXLTlvrOZW1QU7VX67w7fMmWafHX9Pfw==", + "dev": true, + "requires": { + "has-flag": "^2.0.0", + "supports-color": "^5.0.0" + }, + "dependencies": { + "has-flag": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz", + "integrity": "sha512-P+1n3MnwjR/Epg9BBo1KT8qbye2g2Ou4sFumihwt6I4tsUX7jnLcX4BTOSKg/B1ZrIYMN9FcEnG4x5a7NB8Eng==", + "dev": true + } + } + } + } + }, + "mathjax-full": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/mathjax-full/-/mathjax-full-3.2.2.tgz", + "integrity": "sha512-+LfG9Fik+OuI8SLwsiR02IVdjcnRCy5MufYLi0C3TdMT56L/pjB0alMVGgoWJF8pN9Rc7FESycZB9BMNWIid5w==", + "dev": true, + "requires": { + "esm": "^3.2.25", + "mhchemparser": "^4.1.0", + "mj-context-menu": "^0.6.1", + "speech-rule-engine": "^4.0.6" + } + }, + "mathml-tag-names": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/mathml-tag-names/-/mathml-tag-names-2.1.3.tgz", + "integrity": "sha512-APMBEanjybaPzUrfqU0IMU5I0AswKMH7k8OTLs0vvV4KZpExkTkY87nR/zpbuTPj+gARop7aGUbl11pnDfW6xg==", + "dev": true + }, + "md5": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/md5/-/md5-2.3.0.tgz", + "integrity": "sha512-T1GITYmFaKuO91vxyoQMFETst+O71VUPEU3ze5GNzDm0OWdP8v1ziTaAEPUr/3kLsY3Sftgz242A1SetQiDL7g==", + "requires": { + "charenc": "0.0.2", + "crypt": "0.0.2", + "is-buffer": "~1.1.6" + } + }, + "md5.js": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", + "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", + "requires": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "mdast-util-definitions": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-definitions/-/mdast-util-definitions-4.0.0.tgz", + "integrity": "sha512-k8AJ6aNnUkB7IE+5azR9h81O5EQ/cTDXtWdMq9Kk5KcEW/8ritU5CeLg/9HhOC++nALHBlaogJ5jz0Ybk3kPMQ==", + "dev": true, + "requires": { + "unist-util-visit": "^2.0.0" + } + }, + "mdast-util-find-and-replace": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/mdast-util-find-and-replace/-/mdast-util-find-and-replace-1.1.1.tgz", + "integrity": "sha512-9cKl33Y21lyckGzpSmEQnIDjEfeeWelN5s1kUW1LwdB0Fkuq2u+4GdqcGEygYxJE8GVqCl0741bYXHgamfWAZA==", + "dev": true, + "requires": { + "escape-string-regexp": "^4.0.0", + "unist-util-is": "^4.0.0", + "unist-util-visit-parents": "^3.0.0" + } + }, + "mdast-util-from-markdown": { + "version": "0.8.5", + "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-0.8.5.tgz", + "integrity": "sha512-2hkTXtYYnr+NubD/g6KGBS/0mFmBcifAsI0yIWRiRo0PjVs6SSOSOdtzbp6kSGnShDN6G5aWZpKQ2lWRy27mWQ==", + "dev": true, + "requires": { + "@types/mdast": "^3.0.0", + "mdast-util-to-string": "^2.0.0", + "micromark": "~2.11.0", + "parse-entities": "^2.0.0", + "unist-util-stringify-position": "^2.0.0" + } + }, + "mdast-util-frontmatter": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/mdast-util-frontmatter/-/mdast-util-frontmatter-0.2.0.tgz", + "integrity": "sha512-FHKL4w4S5fdt1KjJCwB0178WJ0evnyyQr5kXTM3wrOVpytD0hrkvd+AOOjU9Td8onOejCkmZ+HQRT3CZ3coHHQ==", + "dev": true, + "requires": { + "micromark-extension-frontmatter": "^0.2.0" + } + }, + "mdast-util-gfm": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/mdast-util-gfm/-/mdast-util-gfm-0.1.2.tgz", + "integrity": "sha512-NNkhDx/qYcuOWB7xHUGWZYVXvjPFFd6afg6/e2g+SV4r9q5XUcCbV4Wfa3DLYIiD+xAEZc6K4MGaE/m0KDcPwQ==", + "dev": true, + "requires": { + "mdast-util-gfm-autolink-literal": "^0.1.0", + "mdast-util-gfm-strikethrough": "^0.2.0", + "mdast-util-gfm-table": "^0.1.0", + "mdast-util-gfm-task-list-item": "^0.1.0", + "mdast-util-to-markdown": "^0.6.1" + } + }, + "mdast-util-gfm-autolink-literal": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-autolink-literal/-/mdast-util-gfm-autolink-literal-0.1.3.tgz", + "integrity": "sha512-GjmLjWrXg1wqMIO9+ZsRik/s7PLwTaeCHVB7vRxUwLntZc8mzmTsLVr6HW1yLokcnhfURsn5zmSVdi3/xWWu1A==", + "dev": true, + "requires": { + "ccount": "^1.0.0", + "mdast-util-find-and-replace": "^1.1.0", + "micromark": "^2.11.3" + } + }, + "mdast-util-gfm-strikethrough": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-strikethrough/-/mdast-util-gfm-strikethrough-0.2.3.tgz", + "integrity": "sha512-5OQLXpt6qdbttcDG/UxYY7Yjj3e8P7X16LzvpX8pIQPYJ/C2Z1qFGMmcw+1PZMUM3Z8wt8NRfYTvCni93mgsgA==", + "dev": true, + "requires": { + "mdast-util-to-markdown": "^0.6.0" + } + }, + "mdast-util-gfm-table": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-table/-/mdast-util-gfm-table-0.1.6.tgz", + "integrity": "sha512-j4yDxQ66AJSBwGkbpFEp9uG/LS1tZV3P33fN1gkyRB2LoRL+RR3f76m0HPHaby6F4Z5xr9Fv1URmATlRRUIpRQ==", + "dev": true, + "requires": { + "markdown-table": "^2.0.0", + "mdast-util-to-markdown": "~0.6.0" + } + }, + "mdast-util-gfm-task-list-item": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-task-list-item/-/mdast-util-gfm-task-list-item-0.1.6.tgz", + "integrity": "sha512-/d51FFIfPsSmCIRNp7E6pozM9z1GYPIkSy1urQ8s/o4TC22BZ7DqfHFWiqBD23bc7J3vV1Fc9O4QIHBlfuit8A==", + "dev": true, + "requires": { + "mdast-util-to-markdown": "~0.6.0" + } + }, + "mdast-util-math": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/mdast-util-math/-/mdast-util-math-0.1.2.tgz", + "integrity": "sha512-fogAitds+wH+QRas78Yr1TwmQGN4cW/G2WRw5ePuNoJbBSPJCxIOCE8MTzHgWHVSpgkRaPQTgfzXRE1CrwWSlg==", + "dev": true, + "requires": { + "longest-streak": "^2.0.0", + "mdast-util-to-markdown": "^0.6.0", + "repeat-string": "^1.0.0" + } + }, + "mdast-util-to-hast": { + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-10.2.0.tgz", + "integrity": "sha512-JoPBfJ3gBnHZ18icCwHR50orC9kNH81tiR1gs01D8Q5YpV6adHNO9nKNuFBCJQ941/32PT1a63UF/DitmS3amQ==", + "dev": true, + "requires": { + "@types/mdast": "^3.0.0", + "@types/unist": "^2.0.0", + "mdast-util-definitions": "^4.0.0", + "mdurl": "^1.0.0", + "unist-builder": "^2.0.0", + "unist-util-generated": "^1.0.0", + "unist-util-position": "^3.0.0", + "unist-util-visit": "^2.0.0" + } + }, + "mdast-util-to-markdown": { + "version": "0.6.5", + "resolved": "https://registry.npmjs.org/mdast-util-to-markdown/-/mdast-util-to-markdown-0.6.5.tgz", + "integrity": "sha512-XeV9sDE7ZlOQvs45C9UKMtfTcctcaj/pGwH8YLbMHoMOXNNCn2LsqVQOqrF1+/NU8lKDAqozme9SCXWyo9oAcQ==", + "dev": true, + "requires": { + "@types/unist": "^2.0.0", + "longest-streak": "^2.0.0", + "mdast-util-to-string": "^2.0.0", + "parse-entities": "^2.0.0", + "repeat-string": "^1.0.0", + "zwitch": "^1.0.0" + } + }, + "mdast-util-to-string": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-2.0.0.tgz", + "integrity": "sha512-AW4DRS3QbBayY/jJmD8437V1Gombjf8RSOUCMFBuo5iHi58AGEgVCKQ+ezHkZZDpAQS75hcBMpLqjpJTjtUL7w==", + "dev": true + }, + "mdurl": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz", + "integrity": "sha512-/sKlQJCBYVY9Ers9hqzKou4H6V5UWc/M59TH2dvkt+84itfnq7uFOMLpOiOS4ujvHP4etln18fmIxA5R5fll0g==", + "dev": true + }, + "media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", + "dev": true + }, + "mem": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/mem/-/mem-5.1.1.tgz", + "integrity": "sha512-qvwipnozMohxLXG1pOqoLiZKNkC4r4qqRucSoDwXowsNGDSULiqFTRUF05vcZWnwJSG22qTsynQhxbaMtnX9gw==", + "dev": true, + "requires": { + "map-age-cleaner": "^0.1.3", + "mimic-fn": "^2.1.0", + "p-is-promise": "^2.1.0" + } + }, + "mem-fs": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/mem-fs/-/mem-fs-1.2.0.tgz", + "integrity": "sha512-b8g0jWKdl8pM0LqAPdK9i8ERL7nYrzmJfRhxMiWH2uYdfYnb7uXnmwVb0ZGe7xyEl4lj+nLIU3yf4zPUT+XsVQ==", + "dev": true, + "requires": { + "through2": "^3.0.0", + "vinyl": "^2.0.1", + "vinyl-file": "^3.0.0" + } + }, + "memfs": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.5.3.tgz", + "integrity": "sha512-UERzLsxzllchadvbPs5aolHh65ISpKpM+ccLbOJ8/vvpBKmAWf+la7dXFy7Mr0ySHbdHrFv5kGFCUHHe6GFEmw==", + "requires": { + "fs-monkey": "^1.0.4" + } + }, + "memoize-one": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/memoize-one/-/memoize-one-5.2.1.tgz", + "integrity": "sha512-zYiwtZUcYyXKo/np96AGZAckk+FWWsUdJ3cHGGmld7+AhvcWmQyGCYUh1hc4Q/pkOhb65dQR/pqCyK0cOaHz4Q==" + }, + "memoizee": { + "version": "0.4.15", + "resolved": "https://registry.npmjs.org/memoizee/-/memoizee-0.4.15.tgz", + "integrity": "sha512-UBWmJpLZd5STPm7PMUlOw/TSy972M+z8gcyQ5veOnSDRREz/0bmpyTfKt3/51DhEBqCZQn1udM/5flcSPYhkdQ==", + "dev": true, + "requires": { + "d": "^1.0.1", + "es5-ext": "^0.10.53", + "es6-weak-map": "^2.0.3", + "event-emitter": "^0.3.5", + "is-promise": "^2.2.2", + "lru-queue": "^0.1.0", + "next-tick": "^1.1.0", + "timers-ext": "^0.1.7" + } + }, + "memory-fs": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.5.0.tgz", + "integrity": "sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==", + "dev": true, + "requires": { + "errno": "^0.1.3", + "readable-stream": "^2.0.1" + } + }, + "meow": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/meow/-/meow-9.0.0.tgz", + "integrity": "sha512-+obSblOQmRhcyBt62furQqRAQpNyWXo8BuQ5bN7dG8wmwQ+vwHKp/rCFD4CrTP8CsDQD1sjoZ94K417XEUk8IQ==", + "dev": true, + "requires": { + "@types/minimist": "^1.2.0", + "camelcase-keys": "^6.2.2", + "decamelize": "^1.2.0", + "decamelize-keys": "^1.1.0", + "hard-rejection": "^2.1.0", + "minimist-options": "4.1.0", + "normalize-package-data": "^3.0.0", + "read-pkg-up": "^7.0.1", + "redent": "^3.0.0", + "trim-newlines": "^3.0.0", + "type-fest": "^0.18.0", + "yargs-parser": "^20.2.3" + }, + "dependencies": { + "hosted-git-info": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz", + "integrity": "sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "normalize-package-data": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.3.tgz", + "integrity": "sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==", + "dev": true, + "requires": { + "hosted-git-info": "^4.0.1", + "is-core-module": "^2.5.0", + "semver": "^7.3.4", + "validate-npm-package-license": "^3.0.1" + } + }, + "type-fest": { + "version": "0.18.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.18.1.tgz", + "integrity": "sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==", + "dev": true + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + } + } + }, + "merge-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", + "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==", + "dev": true + }, + "merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==" + }, + "merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==" + }, + "methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", + "dev": true + }, + "mhchemparser": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/mhchemparser/-/mhchemparser-4.2.1.tgz", + "integrity": "sha512-kYmyrCirqJf3zZ9t/0wGgRZ4/ZJw//VwaRVGA75C4nhE60vtnIzhl9J9ndkX/h6hxSN7pjg/cE0VxbnNM+bnDQ==", + "dev": true + }, + "micromark": { + "version": "2.11.4", + "resolved": "https://registry.npmjs.org/micromark/-/micromark-2.11.4.tgz", + "integrity": "sha512-+WoovN/ppKolQOFIAajxi7Lu9kInbPxFuTBVEavFcL8eAfVstoc5MocPmqBeAdBOJV00uaVjegzH4+MA0DN/uA==", + "dev": true, + "requires": { + "debug": "^4.0.0", + "parse-entities": "^2.0.0" + } + }, + "micromark-extension-frontmatter": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/micromark-extension-frontmatter/-/micromark-extension-frontmatter-0.2.2.tgz", + "integrity": "sha512-q6nPLFCMTLtfsctAuS0Xh4vaolxSFUWUWR6PZSrXXiRy+SANGllpcqdXFv2z07l0Xz/6Hl40hK0ffNCJPH2n1A==", + "dev": true, + "requires": { + "fault": "^1.0.0" + } + }, + "micromark-extension-gfm": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm/-/micromark-extension-gfm-0.3.3.tgz", + "integrity": "sha512-oVN4zv5/tAIA+l3GbMi7lWeYpJ14oQyJ3uEim20ktYFAcfX1x3LNlFGGlmrZHt7u9YlKExmyJdDGaTt6cMSR/A==", + "dev": true, + "requires": { + "micromark": "~2.11.0", + "micromark-extension-gfm-autolink-literal": "~0.5.0", + "micromark-extension-gfm-strikethrough": "~0.6.5", + "micromark-extension-gfm-table": "~0.4.0", + "micromark-extension-gfm-tagfilter": "~0.3.0", + "micromark-extension-gfm-task-list-item": "~0.3.0" + } + }, + "micromark-extension-gfm-autolink-literal": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-autolink-literal/-/micromark-extension-gfm-autolink-literal-0.5.7.tgz", + "integrity": "sha512-ePiDGH0/lhcngCe8FtH4ARFoxKTUelMp4L7Gg2pujYD5CSMb9PbblnyL+AAMud/SNMyusbS2XDSiPIRcQoNFAw==", + "dev": true, + "requires": { + "micromark": "~2.11.3" + } + }, + "micromark-extension-gfm-strikethrough": { + "version": "0.6.5", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-strikethrough/-/micromark-extension-gfm-strikethrough-0.6.5.tgz", + "integrity": "sha512-PpOKlgokpQRwUesRwWEp+fHjGGkZEejj83k9gU5iXCbDG+XBA92BqnRKYJdfqfkrRcZRgGuPuXb7DaK/DmxOhw==", + "dev": true, + "requires": { + "micromark": "~2.11.0" + } + }, + "micromark-extension-gfm-table": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-table/-/micromark-extension-gfm-table-0.4.3.tgz", + "integrity": "sha512-hVGvESPq0fk6ALWtomcwmgLvH8ZSVpcPjzi0AjPclB9FsVRgMtGZkUcpE0zgjOCFAznKepF4z3hX8z6e3HODdA==", + "dev": true, + "requires": { + "micromark": "~2.11.0" + } + }, + "micromark-extension-gfm-tagfilter": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-tagfilter/-/micromark-extension-gfm-tagfilter-0.3.0.tgz", + "integrity": "sha512-9GU0xBatryXifL//FJH+tAZ6i240xQuFrSL7mYi8f4oZSbc+NvXjkrHemeYP0+L4ZUT+Ptz3b95zhUZnMtoi/Q==", + "dev": true + }, + "micromark-extension-gfm-task-list-item": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-task-list-item/-/micromark-extension-gfm-task-list-item-0.3.3.tgz", + "integrity": "sha512-0zvM5iSLKrc/NQl84pZSjGo66aTGd57C1idmlWmE87lkMcXrTxg1uXa/nXomxJytoje9trP0NDLvw4bZ/Z/XCQ==", + "dev": true, + "requires": { + "micromark": "~2.11.0" + } + }, + "micromark-extension-math": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/micromark-extension-math/-/micromark-extension-math-0.1.2.tgz", + "integrity": "sha512-ZJXsT2eVPM8VTmcw0CPSDeyonOn9SziGK3Z+nkf9Vb6xMPeU+4JMEnO6vzDL10562Favw8Vste74f54rxJ/i6Q==", + "dev": true, + "requires": { + "katex": "^0.12.0", + "micromark": "~2.11.0" + } + }, + "micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "requires": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + } + }, + "miller-rabin": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", + "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", + "requires": { + "bn.js": "^4.0.0", + "brorand": "^1.0.1" + }, + "dependencies": { + "bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" + } + } + }, + "mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "dev": true + }, + "mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==" + }, + "mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "requires": { + "mime-db": "1.52.0" + } + }, + "mimer": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/mimer/-/mimer-1.1.0.tgz", + "integrity": "sha512-y9dVfy2uiycQvDNiAYW6zp49ZhFlXDMr5wfdOiMbdzGM/0N5LNR6HTUn3un+WUQcM0koaw8FMTG1bt5EnHJdvQ==", + "dev": true + }, + "mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true + }, + "mimic-response": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz", + "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==", + "dev": true, + "optional": true + }, + "min-document": { + "version": "2.19.0", + "resolved": "https://registry.npmjs.org/min-document/-/min-document-2.19.0.tgz", + "integrity": "sha512-9Wy1B3m3f66bPPmU5hdA4DR4PB2OfDU/+GS3yAB7IQozE3tqXaVv2zOjgla7MEGSRv95+ILmOuvhLkOK6wJtCQ==", + "dev": true, + "requires": { + "dom-walk": "^0.1.0" + } + }, + "min-indent": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz", + "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==", + "dev": true + }, + "mini-create-react-context": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/mini-create-react-context/-/mini-create-react-context-0.4.1.tgz", + "integrity": "sha512-YWCYEmd5CQeHGSAKrYvXgmzzkrvssZcuuQDDeqkT+PziKGMgE+0MCCtcKbROzocGBG1meBLl2FotlRwf4gAzbQ==", + "requires": { + "@babel/runtime": "^7.12.1", + "tiny-warning": "^1.0.3" + } + }, + "minim": { + "version": "0.23.8", + "resolved": "https://registry.npmjs.org/minim/-/minim-0.23.8.tgz", + "integrity": "sha512-bjdr2xW1dBCMsMGGsUeqM4eFI60m94+szhxWys+B1ztIt6gWSfeGBdSVCIawezeHYLYn0j6zrsXdQS/JllBzww==", + "dev": true, + "requires": { + "lodash": "^4.15.0" + } + }, + "minimalistic-assert": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", + "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==" + }, + "minimalistic-crypto-utils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", + "integrity": "sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==" + }, + "minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==" + }, + "minimist-options": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/minimist-options/-/minimist-options-4.1.0.tgz", + "integrity": "sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==", + "dev": true, + "requires": { + "arrify": "^1.0.1", + "is-plain-obj": "^1.1.0", + "kind-of": "^6.0.3" + }, + "dependencies": { + "arrify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", + "integrity": "sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==", + "dev": true + }, + "is-plain-obj": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", + "integrity": "sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==", + "dev": true + } + } + }, + "mississippi": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-1.3.1.tgz", + "integrity": "sha512-/6rB8YXFbAtsUVRphIRQqB0+9c7VaPHCjVtvto+JqwVxgz8Zz+I+f68/JgQ+Pb4VlZb2svA9OtdXnHHsZz7ltg==", + "dev": true, + "requires": { + "concat-stream": "^1.5.0", + "duplexify": "^3.4.2", + "end-of-stream": "^1.1.0", + "flush-write-stream": "^1.0.0", + "from2": "^2.1.0", + "parallel-transform": "^1.1.0", + "pump": "^1.0.0", + "pumpify": "^1.3.3", + "stream-each": "^1.1.0", + "through2": "^2.0.0" + }, + "dependencies": { + "through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "dev": true, + "requires": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + } + } + } + }, + "mixin-deep": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", + "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", + "dev": true, + "requires": { + "for-in": "^1.0.2", + "is-extendable": "^1.0.1" + }, + "dependencies": { + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "requires": { + "is-plain-object": "^2.0.4" + } + } + } + }, + "mj-context-menu": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/mj-context-menu/-/mj-context-menu-0.6.1.tgz", + "integrity": "sha512-7NO5s6n10TIV96d4g2uDpG7ZDpIhMh0QNfGdJw/W47JswFcosz457wqz/b5sAKvl12sxINGFCn80NZHKwxQEXA==", + "dev": true + }, + "mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "dev": true + }, + "mkdirp-classic": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz", + "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==", + "dev": true + }, + "mock.js": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/mock.js/-/mock.js-0.2.0.tgz", + "integrity": "sha512-DKI8Rh/h7Mma+fg+6aD0uUvwn0QXAjKG6q3s+lTaCboCQ/kvQMBN9IXRBzgEaz4aPiYoRnKU9jVsfZp0mHpWrQ==", + "dev": true + }, + "mockjs": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/mockjs/-/mockjs-1.1.0.tgz", + "integrity": "sha512-eQsKcWzIaZzEZ07NuEyO4Nw65g0hdWAyurVol1IPl1gahRwY+svqzfgfey8U8dahLwG44d6/RwEzuK52rSa/JQ==", + "dev": true, + "requires": { + "commander": "*" + } + }, + "moment": { + "version": "2.30.1", + "resolved": "https://registry.npmjs.org/moment/-/moment-2.30.1.tgz", + "integrity": "sha512-uEmtNhbDOrWPFS+hdjFCBfy9f2YoyzRpwcl+DqpC6taX21FzsTLQVbMV/W7PzNSX6x/bhC1zA3c2UQ5NzH6how==" + }, + "moo": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/moo/-/moo-0.5.2.tgz", + "integrity": "sha512-iSAJLHYKnX41mKcJKjqvnAN9sf0LMDTXDEvFv+ffuRR9a1MIuXLjMNL6EsnDHSkKLTWNqQQ5uo61P4EbU4NU+Q==", + "dev": true + }, + "move-concurrently": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz", + "integrity": "sha512-hdrFxZOycD/g6A6SoI2bB5NA/5NEqD0569+S47WZhPvm46sD50ZHdYaFmnua5lndde9rCHGjmfK7Z8BuCt/PcQ==", + "dev": true, + "requires": { + "aproba": "^1.1.1", + "copy-concurrently": "^1.0.0", + "fs-write-stream-atomic": "^1.0.8", + "mkdirp": "^0.5.1", + "rimraf": "^2.5.4", + "run-queue": "^1.0.3" + }, + "dependencies": { + "mkdirp": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", + "dev": true, + "requires": { + "minimist": "^1.2.6" + } + }, + "rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + } + } + }, + "ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true + }, + "multer": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/multer/-/multer-1.4.4.tgz", + "integrity": "sha512-2wY2+xD4udX612aMqMcB8Ws2Voq6NIUPEtD1be6m411T4uDH/VtL9i//xvcyFlTVfRdaBsk7hV5tgrGQqhuBiw==", + "dev": true, + "requires": { + "append-field": "^1.0.0", + "busboy": "^0.2.11", + "concat-stream": "^1.5.2", + "mkdirp": "^0.5.4", + "object-assign": "^4.1.1", + "on-finished": "^2.3.0", + "type-is": "^1.6.4", + "xtend": "^4.0.0" + }, + "dependencies": { + "mkdirp": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", + "dev": true, + "requires": { + "minimist": "^1.2.6" + } + } + } + }, + "multimap": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/multimap/-/multimap-1.1.0.tgz", + "integrity": "sha512-0ZIR9PasPxGXmRsEF8jsDzndzHDj7tIav+JUmvIFB/WHswliFnquxECT/De7GR4yg99ky/NlRKJT82G1y271bw==", + "dev": true + }, + "multimatch": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/multimatch/-/multimatch-4.0.0.tgz", + "integrity": "sha512-lDmx79y1z6i7RNx0ZGCPq1bzJ6ZoDDKbvh7jxr9SJcWLkShMzXrHbYVpTdnhNM5MXpDUxCQ4DgqVttVXlBgiBQ==", + "dev": true, + "requires": { + "@types/minimatch": "^3.0.3", + "array-differ": "^3.0.0", + "array-union": "^2.1.0", + "arrify": "^2.0.1", + "minimatch": "^3.0.4" + } + }, + "mute-stream": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz", + "integrity": "sha512-r65nCZhrbXXb6dXOACihYApHw2Q6pV0M3V0PSxd74N0+D8nzAdEAITq2oAjA1jVnKI+tGvEBUpqiMh0+rW6zDQ==", + "dev": true + }, + "nan": { + "version": "2.19.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.19.0.tgz", + "integrity": "sha512-nO1xXxfh/RWNxfd/XPfbIfFk5vgLsAxUR9y5O0cHMJu/AW9U95JLXqthYHjEp+8gQ5p96K9jUp8nbVOxCdRbtw==", + "dev": true, + "optional": true + }, + "nanoid": { + "version": "2.1.11", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-2.1.11.tgz", + "integrity": "sha512-s/snB+WGm6uwi0WjsZdaVcuf3KJXlfGl2LcxgwkEwJF0D/BWzVWAZW/XY4bFaiR7s0Jk3FPvlnepg1H1b1UwlA==", + "dev": true + }, + "nanomatch": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", + "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", + "dev": true, + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "fragment-cache": "^0.2.1", + "is-windows": "^1.0.2", + "kind-of": "^6.0.2", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==", + "dev": true, + "requires": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + } + }, + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "requires": { + "is-plain-object": "^2.0.4" + } + }, + "is-windows": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", + "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", + "dev": true + } + } + }, + "napi-build-utils": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/napi-build-utils/-/napi-build-utils-1.0.2.tgz", + "integrity": "sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg==", + "dev": true, + "optional": true + }, + "natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "dev": true + }, + "natural-compare-lite": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz", + "integrity": "sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==", + "dev": true + }, + "nearley": { + "version": "2.20.1", + "resolved": "https://registry.npmjs.org/nearley/-/nearley-2.20.1.tgz", + "integrity": "sha512-+Mc8UaAebFzgV+KpI5n7DasuuQCHA89dmwm7JXw3TV43ukfNQ9DnBH3Mdb2g/I4Fdxc26pwimBWvjIw0UAILSQ==", + "dev": true, + "requires": { + "commander": "^2.19.0", + "moo": "^0.5.0", + "railroad-diagrams": "^1.0.0", + "randexp": "0.4.6" + } + }, + "negotiator": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", + "dev": true + }, + "next-tick": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.1.0.tgz", + "integrity": "sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==", + "dev": true + }, + "nice-try": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", + "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==" + }, + "node-abi": { + "version": "3.56.0", + "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.56.0.tgz", + "integrity": "sha512-fZjdhDOeRcaS+rcpve7XuwHBmktS1nS1gzgghwKUQQ8nTy2FdSDr6ZT8k6YhvlJeHmmQMYiT/IH9hfco5zeW2Q==", + "dev": true, + "optional": true, + "requires": { + "semver": "^7.3.5" + } + }, + "node-abort-controller": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/node-abort-controller/-/node-abort-controller-3.1.1.tgz", + "integrity": "sha512-AGK2yQKIjRuqnc6VkX2Xj5d+QW8xZ87pa1UK6yA6ouUyuxfHuMP6umE5QK7UmTeOAymo+Zx1Fxiuw9rVx8taHQ==", + "dev": true + }, + "node-domexception": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/node-domexception/-/node-domexception-1.0.0.tgz", + "integrity": "sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==", + "dev": true + }, + "node-emoji": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/node-emoji/-/node-emoji-1.11.0.tgz", + "integrity": "sha512-wo2DpQkQp7Sjm2A0cq+sN7EHKO6Sl0ctXeBdFZrL9T9+UywORbufTcTZxom8YqpLQt/FqNMUkOpkZrJVYSKD3A==", + "dev": true, + "requires": { + "lodash": "^4.17.21" + } + }, + "node-fetch": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", + "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", + "dev": true, + "requires": { + "whatwg-url": "^5.0.0" + }, + "dependencies": { + "tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", + "dev": true + }, + "webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", + "dev": true + }, + "whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "dev": true, + "requires": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + } + } + }, + "node-fetch-commonjs": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/node-fetch-commonjs/-/node-fetch-commonjs-3.3.2.tgz", + "integrity": "sha512-VBlAiynj3VMLrotgwOS3OyECFxas5y7ltLcK4t41lMUZeaK15Ym4QRkqN0EQKAFL42q9i21EPKjzLUPfltR72A==", + "dev": true, + "requires": { + "node-domexception": "^1.0.0", + "web-streams-polyfill": "^3.0.3" + } + }, + "node-fetch-h2": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/node-fetch-h2/-/node-fetch-h2-2.3.0.tgz", + "integrity": "sha512-ofRW94Ab0T4AOh5Fk8t0h8OBWrmjb0SSB20xh1H8YnPV9EJ+f5AMoYSUQ2zgJ4Iq2HAK0I2l5/Nequ8YzFS3Hg==", + "dev": true, + "requires": { + "http2-client": "^1.2.5" + } + }, + "node-fetch-npm": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/node-fetch-npm/-/node-fetch-npm-2.0.4.tgz", + "integrity": "sha512-iOuIQDWDyjhv9qSDrj9aq/klt6F9z1p2otB3AV7v3zBDcL/x+OfGsvGQZZCcMZbUf4Ujw1xGNQkjvGnVT22cKg==", + "dev": true, + "requires": { + "encoding": "^0.1.11", + "json-parse-better-errors": "^1.0.0", + "safe-buffer": "^5.1.1" + } + }, + "node-import-ts": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/node-import-ts/-/node-import-ts-1.0.8.tgz", + "integrity": "sha512-po25lfmmPUtHzNE4FI3uRoBU+5MzLzrSPzEGx/WVj77hu4ipSpg1ZyzgW87nlp4vQqIjGEvDqV2TSamGyvvSQw==", + "dev": true, + "requires": { + "@types/node": "^12.20.55", + "import-fresh": "^3.3.0", + "typescript": "^5.3.3" + }, + "dependencies": { + "@types/node": { + "version": "12.20.55", + "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.55.tgz", + "integrity": "sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==", + "dev": true + }, + "typescript": { + "version": "5.4.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.4.3.tgz", + "integrity": "sha512-KrPd3PKaCLr78MalgiwJnA25Nm8HAmdwN3mYUYZgG/wizIo9EainNVQI9/yDavtVFRN2h3k8uf3GLHuhDMgEHg==", + "dev": true + } + } + }, + "node-int64": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", + "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==", + "dev": true + }, + "node-libs-browser": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.1.tgz", + "integrity": "sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==", + "requires": { + "assert": "^1.1.1", + "browserify-zlib": "^0.2.0", + "buffer": "^4.3.0", + "console-browserify": "^1.1.0", + "constants-browserify": "^1.0.0", + "crypto-browserify": "^3.11.0", + "domain-browser": "^1.1.1", + "events": "^3.0.0", + "https-browserify": "^1.0.0", + "os-browserify": "^0.3.0", + "path-browserify": "0.0.1", + "process": "^0.11.10", + "punycode": "^1.2.4", + "querystring-es3": "^0.2.0", + "readable-stream": "^2.3.3", + "stream-browserify": "^2.0.1", + "stream-http": "^2.7.2", + "string_decoder": "^1.0.0", + "timers-browserify": "^2.0.4", + "tty-browserify": "0.0.0", + "url": "^0.11.0", + "util": "^0.11.0", + "vm-browserify": "^1.0.1" + }, + "dependencies": { + "buffer": { + "version": "4.9.2", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz", + "integrity": "sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==", + "requires": { + "base64-js": "^1.0.2", + "ieee754": "^1.1.4", + "isarray": "^1.0.0" + } + }, + "punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==" + } + } + }, + "node-notifier": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/node-notifier/-/node-notifier-8.0.2.tgz", + "integrity": "sha512-oJP/9NAdd9+x2Q+rfphB2RJCHjod70RcRLjosiPMMu5gjIfwVnOUGq2nbTjTUbmy0DJ/tFIVT30+Qe3nzl4TJg==", + "dev": true, + "optional": true, + "requires": { + "growly": "^1.3.0", + "is-wsl": "^2.2.0", + "semver": "^7.3.2", + "shellwords": "^0.1.1", + "uuid": "^8.3.0", + "which": "^2.0.2" + } + }, + "node-readfiles": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/node-readfiles/-/node-readfiles-0.2.0.tgz", + "integrity": "sha512-SU00ZarexNlE4Rjdm83vglt5Y9yiQ+XI1XpflWlb7q7UTN1JUItm69xMeiQCTxtTfnzt+83T8Cx+vI2ED++VDA==", + "dev": true, + "requires": { + "es6-promise": "^3.2.1" + } + }, + "node-releases": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz", + "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==" + }, + "normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "dev": true, + "requires": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + }, + "dependencies": { + "hosted-git-info": { + "version": "2.8.9", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", + "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", + "dev": true + }, + "semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "dev": true + } + } + }, + "normalize-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-1.0.0.tgz", + "integrity": "sha512-7WyT0w8jhpDStXRq5836AMmihQwq2nrUVQrgjvUo/p/NZf9uy/MeJ246lBJVmWuYXMlJuG9BNZHF0hWjfTbQUA==", + "dev": true + }, + "normalize-range": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", + "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==" + }, + "normalize-selector": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/normalize-selector/-/normalize-selector-0.2.0.tgz", + "integrity": "sha512-dxvWdI8gw6eAvk9BlPffgEoGfM7AdijoCwOEJge3e3ulT2XLgmU7KvvxprOaCu05Q1uGRHmOhHe1r6emZoKyFw==", + "dev": true + }, + "normalize-url": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz", + "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==", + "dev": true + }, + "normalize.css": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/normalize.css/-/normalize.css-7.0.0.tgz", + "integrity": "sha512-LYaFZxj2Q1Q9e1VJ0f6laG46Rt5s9URhKyckNaA2vZnL/0gwQHWhM7ALQkp3WBQKM5sXRLQ5Ehrfkp+E/ZiCRg==", + "dev": true + }, + "npm-package-arg": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-5.1.2.tgz", + "integrity": "sha512-wJBsrf0qpypPT7A0LART18hCdyhpCMxeTtcb0X4IZO2jsP6Om7EHN1d9KSKiqD+KVH030RVNpWS9thk+pb7wzA==", + "dev": true, + "requires": { + "hosted-git-info": "^2.4.2", + "osenv": "^0.1.4", + "semver": "^5.1.0", + "validate-npm-package-name": "^3.0.0" + }, + "dependencies": { + "hosted-git-info": { + "version": "2.8.9", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", + "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", + "dev": true + }, + "semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "dev": true + } + } + }, + "npm-pick-manifest": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/npm-pick-manifest/-/npm-pick-manifest-1.0.4.tgz", + "integrity": "sha512-MKxNdeyOZysPRTTbHtW0M5Fw38Jo/3ARsoGw5qjCfS+XGjvNB/Gb4qtAZUFmKPM2mVum+eX559eHvKywU856BQ==", + "dev": true, + "requires": { + "npm-package-arg": "^5.1.2", + "semver": "^5.3.0" + }, + "dependencies": { + "semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "dev": true + } + } + }, + "npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "dev": true, + "requires": { + "path-key": "^3.0.0" + } + }, + "nth-check": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", + "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", + "dev": true, + "requires": { + "boolbase": "^1.0.0" + } + }, + "num2fraction": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/num2fraction/-/num2fraction-1.2.2.tgz", + "integrity": "sha512-Y1wZESM7VUThYY+4W+X4ySH2maqcA+p7UR+w8VWNWVAd6lwuXXWz/w/Cz43J/dI2I+PS6wD5N+bJUF+gjWvIqg==" + }, + "number-precision": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/number-precision/-/number-precision-1.6.0.tgz", + "integrity": "sha512-05OLPgbgmnixJw+VvEh18yNPUo3iyp4BEWJcrLu4X9W05KmMifN7Mu5exYvQXqxxeNWhvIF+j3Rij+HmddM/hQ==" + }, + "nunjucks": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/nunjucks/-/nunjucks-3.2.4.tgz", + "integrity": "sha512-26XRV6BhkgK0VOxfbU5cQI+ICFUtMLixv1noZn1tGU38kQH5A5nmmbk/O45xdyBhD1esk47nKrY0mvQpZIhRjQ==", + "dev": true, + "requires": { + "a-sync-waterfall": "^1.0.0", + "asap": "^2.0.3", + "commander": "^5.1.0" + }, + "dependencies": { + "commander": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-5.1.0.tgz", + "integrity": "sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==", + "dev": true + } + } + }, + "nwsapi": { + "version": "2.2.7", + "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.7.tgz", + "integrity": "sha512-ub5E4+FBPKwAZx0UwIQOjYWGHTEq5sPqHQNRN8Z9e4A7u3Tj1weLJsL59yH9vmvqEtBHaOmT6cYQKIZOxp35FQ==", + "dev": true + }, + "oas-kit-common": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/oas-kit-common/-/oas-kit-common-1.0.8.tgz", + "integrity": "sha512-pJTS2+T0oGIwgjGpw7sIRU8RQMcUoKCDWFLdBqKB2BNmGpbBMH2sdqAaOXUg8OzonZHU0L7vfJu1mJFEiYDWOQ==", + "dev": true, + "requires": { + "fast-safe-stringify": "^2.0.7" + } + }, + "oas-linter": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/oas-linter/-/oas-linter-3.2.2.tgz", + "integrity": "sha512-KEGjPDVoU5K6swgo9hJVA/qYGlwfbFx+Kg2QB/kd7rzV5N8N5Mg6PlsoCMohVnQmo+pzJap/F610qTodKzecGQ==", + "dev": true, + "requires": { + "@exodus/schemasafe": "^1.0.0-rc.2", + "should": "^13.2.1", + "yaml": "^1.10.0" + } + }, + "oas-resolver": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/oas-resolver/-/oas-resolver-2.5.6.tgz", + "integrity": "sha512-Yx5PWQNZomfEhPPOphFbZKi9W93CocQj18NlD2Pa4GWZzdZpSJvYwoiuurRI7m3SpcChrnO08hkuQDL3FGsVFQ==", + "dev": true, + "requires": { + "node-fetch-h2": "^2.3.0", + "oas-kit-common": "^1.0.8", + "reftools": "^1.1.9", + "yaml": "^1.10.0", + "yargs": "^17.0.1" + }, + "dependencies": { + "cliui": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", + "dev": true, + "requires": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" + } + }, + "y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "dev": true + }, + "yargs": { + "version": "17.7.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", + "dev": true, + "requires": { + "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.5", + "yargs-parser": "^21.1.1" + } + }, + "yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "dev": true + } + } + }, + "oas-schema-walker": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/oas-schema-walker/-/oas-schema-walker-1.1.5.tgz", + "integrity": "sha512-2yucenq1a9YPmeNExoUa9Qwrt9RFkjqaMAA1X+U7sbb0AqBeTIdMHky9SQQ6iN94bO5NW0W4TRYXerG+BdAvAQ==", + "dev": true + }, + "oas-validator": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/oas-validator/-/oas-validator-5.0.8.tgz", + "integrity": "sha512-cu20/HE5N5HKqVygs3dt94eYJfBi0TsZvPVXDhbXQHiEityDN+RROTleefoKRKKJ9dFAF2JBkDHgvWj0sjKGmw==", + "dev": true, + "requires": { + "call-me-maybe": "^1.0.1", + "oas-kit-common": "^1.0.8", + "oas-linter": "^3.2.2", + "oas-resolver": "^2.5.6", + "oas-schema-walker": "^1.1.5", + "reftools": "^1.1.9", + "should": "^13.2.1", + "yaml": "^1.10.0" + } + }, + "oauth-sign": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", + "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", + "dev": true + }, + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==" + }, + "object-copy": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", + "integrity": "sha512-79LYn6VAb63zgtmAteVOWo9Vdj71ZVBy3Pbse+VqxDpEP83XuujMrGqHIwAXJ5I/aM0zU7dIyIAhifVTPrNItQ==", + "dev": true, + "requires": { + "copy-descriptor": "^0.1.0", + "define-property": "^0.2.5", + "kind-of": "^3.0.3" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "is-descriptor": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.7.tgz", + "integrity": "sha512-C3grZTvObeN1xud4cRWl366OMXZTj0+HGyk4hvfpx4ZHt1Pb60ANSXqCK7pdOTeUQpRzECBSTphqvD7U+l22Eg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.1", + "is-data-descriptor": "^1.0.1" + } + }, + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "object-inspect": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz", + "integrity": "sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==" + }, + "object-is": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.6.tgz", + "integrity": "sha512-F8cZ+KfGlSGi09lJT7/Nd6KJZ9ygtvYC0/UYYLI9nmQKLMnydpB9yvbv9K1uSkEu7FU9vYPmVwLg328tX+ot3Q==", + "dev": true, + "requires": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1" + } + }, + "object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==" + }, + "object-visit": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", + "integrity": "sha512-GBaMwwAVK9qbQN3Scdo0OyvgPW7l3lnaVMj84uTOZlswkX0KpF6fyDBJhtTthf7pymztoN36/KEr1DyhF96zEA==", + "dev": true, + "requires": { + "isobject": "^3.0.0" + } + }, + "object.assign": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.5.tgz", + "integrity": "sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==", + "requires": { + "call-bind": "^1.0.5", + "define-properties": "^1.2.1", + "has-symbols": "^1.0.3", + "object-keys": "^1.1.1" + } + }, + "object.entries": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.8.tgz", + "integrity": "sha512-cmopxi8VwRIAw/fkijJohSfpef5PdN0pMQJN6VC/ZKvn0LIknWD8KtgY6KlQdEc4tIjcQ3HxSMmnvtzIscdaYQ==", + "dev": true, + "requires": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" + } + }, + "object.fromentries": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.8.tgz", + "integrity": "sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==", + "dev": true, + "requires": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-object-atoms": "^1.0.0" + } + }, + "object.hasown": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/object.hasown/-/object.hasown-1.1.4.tgz", + "integrity": "sha512-FZ9LZt9/RHzGySlBARE3VF+gE26TxR38SdmqOqliuTnl9wrKulaQs+4dee1V+Io8VfxqzAfHu6YuRgUy8OHoTg==", + "dev": true, + "requires": { + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-object-atoms": "^1.0.0" + } + }, + "object.pick": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", + "integrity": "sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ==", + "dev": true, + "requires": { + "isobject": "^3.0.1" + } + }, + "object.values": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.2.0.tgz", + "integrity": "sha512-yBYjY9QX2hnRmZHAjG/f13MzmBzxzYgQhFrke06TTyKY5zSTEqkOeukBzIdVA3j3ulu8Qa3MbVFShV7T2RmGtQ==", + "dev": true, + "requires": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" + } + }, + "omit.js": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/omit.js/-/omit.js-2.0.2.tgz", + "integrity": "sha512-hJmu9D+bNB40YpL9jYebQl4lsTW6yEHRTroJzNLqQJYHm7c+NQnJGfZmIWh8S3q3KoaxV1aLhV6B3+0N0/kyJg==" + }, + "on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "dev": true, + "requires": { + "ee-first": "1.1.1" + } + }, + "on-headers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", + "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==", + "dev": true + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "requires": { + "wrappy": "1" + } + }, + "onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dev": true, + "requires": { + "mimic-fn": "^2.1.0" + } + }, + "open": { + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/open/-/open-6.4.0.tgz", + "integrity": "sha512-IFenVPgF70fSm1keSd2iDBIDIBZkroLeuffXq+wKTzTJlBpesFWojV9lb8mzOfaAzM1sr7HQHuO0vtV0zYekGg==", + "dev": true, + "requires": { + "is-wsl": "^1.1.0" + }, + "dependencies": { + "is-wsl": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", + "integrity": "sha512-gfygJYZ2gLTDlmbWMI0CE2MwnFzSN/2SZfkMlItC4K/JBlsWVDB0bO6XhqcY13YXE7iMcAJnzTCJjPiTeJJ0Mw==", + "dev": true + } + } + }, + "openapi3-ts": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/openapi3-ts/-/openapi3-ts-2.0.2.tgz", + "integrity": "sha512-TxhYBMoqx9frXyOgnRHufjQfPXomTIHYKhSKJ6jHfj13kS8OEIhvmE8CTuQyKtjjWttAjX5DPxM1vmalEpo8Qw==", + "dev": true, + "requires": { + "yaml": "^1.10.2" + } + }, + "optionator": { + "version": "0.9.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", + "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==", + "dev": true, + "requires": { + "@aashutoshrathi/word-wrap": "^1.2.3", + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0" + } + }, + "ora": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/ora/-/ora-5.4.1.tgz", + "integrity": "sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==", + "dev": true, + "requires": { + "bl": "^4.1.0", + "chalk": "^4.1.0", + "cli-cursor": "^3.1.0", + "cli-spinners": "^2.5.0", + "is-interactive": "^1.0.0", + "is-unicode-supported": "^0.1.0", + "log-symbols": "^4.1.0", + "strip-ansi": "^6.0.0", + "wcwidth": "^1.0.1" + }, + "dependencies": { + "cli-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", + "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", + "dev": true, + "requires": { + "restore-cursor": "^3.1.0" + } + }, + "restore-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", + "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", + "dev": true, + "requires": { + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" + } + } + } + }, + "orderedmap": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/orderedmap/-/orderedmap-2.1.1.tgz", + "integrity": "sha512-TvAWxi0nDe1j/rtMcWcIj94+Ffe6n7zhow33h40SKxmsmozs6dz/e+EajymfoFcHd7sxNn8yHM8839uixMOV6g==" + }, + "os-browserify": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", + "integrity": "sha512-gjcpUc3clBf9+210TRaDWbf+rZZZEshZ+DlXMRCeAjp0xhTrnQsKHypIy1J3d5hKdUzj69t708EHtU8P6bUn0A==" + }, + "os-homedir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", + "integrity": "sha512-B5JU3cabzk8c67mRRd3ECmROafjYMXbuzlwtqdM8IbS8ktlTix8aFGb2bAGKrSRIlnfKwovGUUr72JUPyOb6kQ==", + "dev": true + }, + "os-locale": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-5.0.0.tgz", + "integrity": "sha512-tqZcNEDAIZKBEPnHPlVDvKrp7NzgLi7jRmhKiUoa2NUmhl13FtkAGLUVR+ZsYvApBQdBfYm43A4tXXQ4IrYLBA==", + "dev": true, + "requires": { + "execa": "^4.0.0", + "lcid": "^3.0.0", + "mem": "^5.0.0" + }, + "dependencies": { + "execa": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-4.1.0.tgz", + "integrity": "sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==", + "dev": true, + "requires": { + "cross-spawn": "^7.0.0", + "get-stream": "^5.0.0", + "human-signals": "^1.1.1", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.0", + "onetime": "^5.1.0", + "signal-exit": "^3.0.2", + "strip-final-newline": "^2.0.0" + } + }, + "get-stream": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", + "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", + "dev": true, + "requires": { + "pump": "^3.0.0" + } + }, + "human-signals": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz", + "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==", + "dev": true + }, + "pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "dev": true, + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + } + } + }, + "os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==", + "dev": true + }, + "osenv": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz", + "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==", + "dev": true, + "requires": { + "os-homedir": "^1.0.0", + "os-tmpdir": "^1.0.0" + } + }, + "p-cancelable": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-1.1.0.tgz", + "integrity": "sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw==", + "dev": true + }, + "p-defer": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-defer/-/p-defer-1.0.0.tgz", + "integrity": "sha512-wB3wfAxZpk2AzOfUMJNL+d36xothRSyj8EXOa4f6GMqYDN9BJaaSISbsk+wS9abmnebVw95C2Kb5t85UmpCxuw==", + "dev": true + }, + "p-each-series": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-each-series/-/p-each-series-2.2.0.tgz", + "integrity": "sha512-ycIL2+1V32th+8scbpTvyHNaHe02z0sjgh91XXjAk+ZeXoPN4Z46DVUnzdso0aX4KckKw0FNNFHdjZ2UsZvxiA==", + "dev": true + }, + "p-finally": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", + "integrity": "sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==" + }, + "p-is-promise": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/p-is-promise/-/p-is-promise-2.1.0.tgz", + "integrity": "sha512-Y3W0wlRPK8ZMRbNq97l4M5otioeA5lm1z7bkNkxCka8HSPjR0xRWmpCmc9utiaLP9Jb1eD8BgeIxTW4AIF45Pg==", + "dev": true + }, + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "requires": { + "p-limit": "^2.2.0" + } + }, + "p-map": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", + "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", + "dev": true, + "requires": { + "aggregate-error": "^3.0.0" + } + }, + "p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==" + }, + "package-json": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/package-json/-/package-json-4.0.1.tgz", + "integrity": "sha512-q/R5GrMek0vzgoomq6rm9OX+3PQve8sLwTirmK30YB3Cu0Bbt9OX9M/SIUnroN5BGJkzwGsFwDaRGD9EwBOlCA==", + "dev": true, + "requires": { + "got": "^6.7.1", + "registry-auth-token": "^3.0.1", + "registry-url": "^3.0.3", + "semver": "^5.1.0" + }, + "dependencies": { + "semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "dev": true + } + } + }, + "pacote": { + "version": "2.7.38", + "resolved": "https://registry.npmjs.org/pacote/-/pacote-2.7.38.tgz", + "integrity": "sha512-XxHUyHQB7QCVBxoXeVu0yKxT+2PvJucsc0+1E+6f95lMUxEAYERgSAc71ckYXrYr35Ew3xFU/LrhdIK21GQFFA==", + "dev": true, + "requires": { + "bluebird": "^3.5.0", + "cacache": "^9.2.9", + "glob": "^7.1.2", + "lru-cache": "^4.1.1", + "make-fetch-happen": "^2.4.13", + "minimatch": "^3.0.4", + "mississippi": "^1.2.0", + "normalize-package-data": "^2.4.0", + "npm-package-arg": "^5.1.2", + "npm-pick-manifest": "^1.0.4", + "osenv": "^0.1.4", + "promise-inflight": "^1.0.1", + "promise-retry": "^1.1.1", + "protoduck": "^4.0.0", + "safe-buffer": "^5.1.1", + "semver": "^5.3.0", + "ssri": "^4.1.6", + "tar-fs": "^1.15.3", + "tar-stream": "^1.5.4", + "unique-filename": "^1.1.0", + "which": "^1.2.12" + }, + "dependencies": { + "lru-cache": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", + "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", + "dev": true, + "requires": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } + }, + "semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "dev": true + }, + "which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + }, + "yallist": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", + "integrity": "sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A==", + "dev": true + } + } + }, + "pako": { + "version": "0.2.9", + "resolved": "https://registry.npmjs.org/pako/-/pako-0.2.9.tgz", + "integrity": "sha512-NUcwaKxUxWrZLpDG+z/xZaCgQITkA/Dv4V/T6bw7VON6l1Xz/VnrBqrYjZQ12TamKHzITTfOEIYUj48y2KXImA==", + "dev": true + }, + "parallel-transform": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.2.0.tgz", + "integrity": "sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg==", + "dev": true, + "requires": { + "cyclist": "^1.0.1", + "inherits": "^2.0.3", + "readable-stream": "^2.1.5" + } + }, + "parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "requires": { + "callsites": "^3.0.0" + } + }, + "parse-asn1": { + "version": "5.1.7", + "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.7.tgz", + "integrity": "sha512-CTM5kuWR3sx9IFamcl5ErfPl6ea/N8IYwiJ+vpeB2g+1iknv7zBl5uPwbMbRVznRVbrNY6lGuDoE5b30grmbqg==", + "requires": { + "asn1.js": "^4.10.1", + "browserify-aes": "^1.2.0", + "evp_bytestokey": "^1.0.3", + "hash-base": "~3.0", + "pbkdf2": "^3.1.2", + "safe-buffer": "^5.2.1" + } + }, + "parse-entities": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-2.0.0.tgz", + "integrity": "sha512-kkywGpCcRYhqQIchaWqZ875wzpS/bMKhz5HnN3p7wveJTkTtyAB/AlnS0f8DFSqYW1T82t6yEAkEcB+A1I3MbQ==", + "dev": true, + "requires": { + "character-entities": "^1.0.0", + "character-entities-legacy": "^1.0.0", + "character-reference-invalid": "^1.0.0", + "is-alphanumerical": "^1.0.0", + "is-decimal": "^1.0.0", + "is-hexadecimal": "^1.0.0" + } + }, + "parse-git-config": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/parse-git-config/-/parse-git-config-1.1.1.tgz", + "integrity": "sha512-S3LGXJZVSy/hswvbSkfdbKBRVsnqKrVu6j8fcvdtJ4TxosSELyQDsJPuGPXuZ+EyuYuJd3O4uAF8gcISR0OFrQ==", + "dev": true, + "requires": { + "extend-shallow": "^2.0.1", + "fs-exists-sync": "^0.1.0", + "git-config-path": "^1.0.1", + "ini": "^1.3.4" + } + }, + "parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "requires": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + } + }, + "parse-passwd": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz", + "integrity": "sha512-1Y1A//QUXEZK7YKz+rD9WydcE1+EuPr6ZBgKecAB8tmoW6UFv0NREVJe1p+jRxtThkcbbKkfwIbWJe/IeE6m2Q==", + "dev": true + }, + "parse-path": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/parse-path/-/parse-path-4.0.4.tgz", + "integrity": "sha512-Z2lWUis7jlmXC1jeOG9giRO2+FsuyNipeQ43HAjqAZjwSe3SEf+q/84FGPHoso3kyntbxa4c4i77t3m6fGf8cw==", + "dev": true, + "requires": { + "is-ssh": "^1.3.0", + "protocols": "^1.4.0", + "qs": "^6.9.4", + "query-string": "^6.13.8" + }, + "dependencies": { + "protocols": { + "version": "1.4.8", + "resolved": "https://registry.npmjs.org/protocols/-/protocols-1.4.8.tgz", + "integrity": "sha512-IgjKyaUSjsROSO8/D49Ab7hP8mJgTYcqApOqdPhLoPxAplXmkp+zRvsrSQjFn5by0rhm4VH0GAUELIPpx7B1yg==", + "dev": true + } + } + }, + "parse-url": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/parse-url/-/parse-url-6.0.5.tgz", + "integrity": "sha512-e35AeLTSIlkw/5GFq70IN7po8fmDUjpDPY1rIK+VubRfsUvBonjQ+PBZG+vWMACnQSmNlvl524IucoDmcioMxA==", + "dev": true, + "requires": { + "is-ssh": "^1.3.0", + "normalize-url": "^6.1.0", + "parse-path": "^4.0.0", + "protocols": "^1.4.0" + }, + "dependencies": { + "protocols": { + "version": "1.4.8", + "resolved": "https://registry.npmjs.org/protocols/-/protocols-1.4.8.tgz", + "integrity": "sha512-IgjKyaUSjsROSO8/D49Ab7hP8mJgTYcqApOqdPhLoPxAplXmkp+zRvsrSQjFn5by0rhm4VH0GAUELIPpx7B1yg==", + "dev": true + } + } + }, + "parse5": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz", + "integrity": "sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==", + "dev": true, + "requires": { + "entities": "^4.4.0" + } + }, + "parse5-htmlparser2-tree-adapter": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-7.0.0.tgz", + "integrity": "sha512-B77tOZrqqfUfnVcOrUvfdLbz4pu4RopLD/4vmu3HUPswwTA8OH0EMW9BlWR2B0RCoiZRAHEUu7IxeP1Pd1UU+g==", + "dev": true, + "requires": { + "domhandler": "^5.0.2", + "parse5": "^7.0.0" + } + }, + "parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "dev": true + }, + "pascalcase": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", + "integrity": "sha512-XHXfu/yOQRy9vYOtUDVMN60OEJjW013GoObG1o+xwQTpB9eYJX/BjXMsdW13ZDPruFhYYn0AG22w0xgQMwl3Nw==", + "dev": true + }, + "path-browserify": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz", + "integrity": "sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==" + }, + "path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==" + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==" + }, + "path-is-inside": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", + "integrity": "sha512-DUWJr3+ULp4zXmol/SZkFf3JGsS9/SIv+Y3Rt93/UjPpDpklB5f1er4O3POIbUuUJ3FXgqte2Q7SrU6zAqwk8w==", + "dev": true + }, + "path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==" + }, + "path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true + }, + "path-to-regexp": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-2.4.0.tgz", + "integrity": "sha512-G6zHoVqC6GGTQkZwF4lkuEyMbVOjoBKAEybQUypI1WTkqinCOrq2x6U2+phkJ1XsEMTy4LjtwPI7HW+NVrRR2w==" + }, + "path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==" + }, + "pbkdf2": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz", + "integrity": "sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==", + "requires": { + "create-hash": "^1.1.2", + "create-hmac": "^1.1.4", + "ripemd160": "^2.0.1", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + } + }, + "pend": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", + "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==", + "dev": true + }, + "performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==", + "dev": true + }, + "picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" + }, + "picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==" + }, + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==", + "dev": true + }, + "pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg==", + "dev": true + }, + "pinkie-promise": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha512-0Gni6D4UcLTbv9c57DfxDGdr41XfgUjqWZu492f0cIGr16zDU06BWP/RAEvOuo7CQ0CNjHaLlM59YJJFm3NWlw==", + "dev": true, + "requires": { + "pinkie": "^2.0.0" + } + }, + "pirates": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", + "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==", + "dev": true + }, + "pkg-conf": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/pkg-conf/-/pkg-conf-2.1.0.tgz", + "integrity": "sha512-C+VUP+8jis7EsQZIhDYmS5qlNtjv2yP4SNtjXK9AP1ZcTRlnSfuumaTnRfYZnYgUUYVIKqL0fRvmUGDV2fmp6g==", + "dev": true, + "requires": { + "find-up": "^2.0.0", + "load-json-file": "^4.0.0" + }, + "dependencies": { + "find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha512-NWzkk0jSJtTt08+FBFMvXoeZnOJD+jTtsRmBYbAIzJdX6l7dLgR7CTubCM5/eDdPUBvLCeVasP1brfVR/9/EZQ==", + "dev": true, + "requires": { + "locate-path": "^2.0.0" + } + }, + "locate-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA==", + "dev": true, + "requires": { + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" + } + }, + "p-limit": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", + "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", + "dev": true, + "requires": { + "p-try": "^1.0.0" + } + }, + "p-locate": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha512-nQja7m7gSKuewoVRen45CtVfODR3crN3goVQ0DDZ9N3yHxgpkuBhZqsaiotSQRrADUrne346peY7kT3TSACykg==", + "dev": true, + "requires": { + "p-limit": "^1.1.0" + } + }, + "p-try": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww==", + "dev": true + }, + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", + "dev": true + } + } + }, + "pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "dev": true, + "requires": { + "find-up": "^4.0.0" + } + }, + "pkg-up": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-3.1.0.tgz", + "integrity": "sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA==", + "requires": { + "find-up": "^3.0.0" + }, + "dependencies": { + "find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "requires": { + "locate-path": "^3.0.0" + } + }, + "locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + } + }, + "p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "requires": { + "p-limit": "^2.0.0" + } + }, + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==" + } + } + }, + "playwright": { + "version": "1.42.1", + "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.42.1.tgz", + "integrity": "sha512-PgwB03s2DZBcNRoW+1w9E+VkLBxweib6KTXM0M3tkiT4jVxKSi6PmVJ591J+0u10LUrgxB7dLRbiJqO5s2QPMg==", + "dev": true, + "requires": { + "fsevents": "2.3.2", + "playwright-core": "1.42.1" + }, + "dependencies": { + "fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "dev": true, + "optional": true + } + } + }, + "playwright-core": { + "version": "1.42.1", + "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.42.1.tgz", + "integrity": "sha512-mxz6zclokgrke9p1vtdy/COWBH+eOZgYUVVU34C73M+4j4HLlQJHtfcqiqqxpP0o8HhMkflvfbquLX5dg6wlfA==", + "dev": true + }, + "please-upgrade-node": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/please-upgrade-node/-/please-upgrade-node-3.2.0.tgz", + "integrity": "sha512-gQR3WpIgNIKwBMVLkpMUeR3e1/E1y42bqDQZfql+kDeXd8COYfM8PQA4X6y7a8u9Ua9FHmsrrmirW2vHs45hWg==", + "dev": true, + "requires": { + "semver-compare": "^1.0.0" + } + }, + "plur": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/plur/-/plur-4.0.0.tgz", + "integrity": "sha512-4UGewrYgqDFw9vV6zNV+ADmPAUAfJPKtGvb/VdpQAx25X5f3xXdGdyOEVFwkl8Hl/tl7+xbeHqSEM+D5/TirUg==", + "dev": true, + "requires": { + "irregular-plurals": "^3.2.0" + } + }, + "pluralize": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-8.0.0.tgz", + "integrity": "sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==", + "dev": true + }, + "pngjs": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/pngjs/-/pngjs-2.3.1.tgz", + "integrity": "sha512-ITNPqvx+SSssNFOgHQzGG87HrqQ0g2nMSHc1jjU5Piq9xJEJ40fiFEPz0S5HSSXxBHrTnhaBHIayTO5aRfk2vw==", + "dev": true + }, + "pngjs-image": { + "version": "0.11.7", + "resolved": "https://registry.npmjs.org/pngjs-image/-/pngjs-image-0.11.7.tgz", + "integrity": "sha512-JRyrmT+HXa1/gvdHpebus8TGqKa8WRgcsHz/DDalxRsMhvu6AOA99/enBFjZIPvmXVAzwKR051s80TuE1IiCpg==", + "dev": true, + "requires": { + "iconv-lite": "^0.4.8", + "pako": "^0.2.6", + "pngjs": "2.3.1", + "request": "^2.55.0", + "stream-buffers": "1.0.1", + "underscore": "1.7.0" + } + }, + "posix-character-classes": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", + "integrity": "sha512-xTgYBc3fuo7Yt7JbiuFxSYGToMoz8fLoE6TC9Wx1P/u+LfeThMOAqmuyECnlBaaJb+u1m9hHiXUEtwW4OzfUJg==", + "dev": true + }, + "possible-typed-array-names": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.0.0.tgz", + "integrity": "sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==" + } + } + }, + "postcss-attribute-case-insensitive": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-attribute-case-insensitive/-/postcss-attribute-case-insensitive-4.0.2.tgz", + "integrity": "sha512-clkFxk/9pcdb4Vkn0hAHq3YnxBQ2p0CGD1dy24jN+reBck+EWxMbxSUqN4Yj7t0w8csl87K6p0gxBe1utkJsYA==", + "requires": { + "postcss": "^7.0.2", + "postcss-selector-parser": "^6.0.2" + } + }, + "postcss-color-functional-notation": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/postcss-color-functional-notation/-/postcss-color-functional-notation-2.0.1.tgz", + "integrity": "sha512-ZBARCypjEDofW4P6IdPVTLhDNXPRn8T2s1zHbZidW6rPaaZvcnCS2soYFIQJrMZSxiePJ2XIYTlcb2ztr/eT2g==", + "requires": { + "postcss": "^7.0.2", + "postcss-values-parser": "^2.0.0" + } + }, + "postcss-color-gray": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/postcss-color-gray/-/postcss-color-gray-5.0.0.tgz", + "integrity": "sha512-q6BuRnAGKM/ZRpfDascZlIZPjvwsRye7UDNalqVz3s7GDxMtqPY6+Q871liNxsonUw8oC61OG+PSaysYpl1bnw==", + "requires": { + "@csstools/convert-colors": "^1.4.0", + "postcss": "^7.0.5", + "postcss-values-parser": "^2.0.0" + } + }, + "postcss-color-hex-alpha": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/postcss-color-hex-alpha/-/postcss-color-hex-alpha-5.0.3.tgz", + "integrity": "sha512-PF4GDel8q3kkreVXKLAGNpHKilXsZ6xuu+mOQMHWHLPNyjiUBOr75sp5ZKJfmv1MCus5/DWUGcK9hm6qHEnXYw==", + "requires": { + "postcss": "^7.0.14", + "postcss-values-parser": "^2.0.1" + } + }, + "postcss-color-mod-function": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/postcss-color-mod-function/-/postcss-color-mod-function-3.0.3.tgz", + "integrity": "sha512-YP4VG+xufxaVtzV6ZmhEtc+/aTXH3d0JLpnYfxqTvwZPbJhWqp8bSY3nfNzNRFLgB4XSaBA82OE4VjOOKpCdVQ==", + "requires": { + "@csstools/convert-colors": "^1.4.0", + "postcss": "^7.0.2", + "postcss-values-parser": "^2.0.0" + } + }, + "postcss-color-rebeccapurple": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-color-rebeccapurple/-/postcss-color-rebeccapurple-4.0.1.tgz", + "integrity": "sha512-aAe3OhkS6qJXBbqzvZth2Au4V3KieR5sRQ4ptb2b2O8wgvB3SJBsdG+jsn2BZbbwekDG8nTfcCNKcSfe/lEy8g==", + "requires": { + "postcss": "^7.0.2", + "postcss-values-parser": "^2.0.0" + } + }, + "postcss-custom-media": { + "version": "7.0.8", + "resolved": "https://registry.npmjs.org/postcss-custom-media/-/postcss-custom-media-7.0.8.tgz", + "integrity": "sha512-c9s5iX0Ge15o00HKbuRuTqNndsJUbaXdiNsksnVH8H4gdc+zbLzr/UasOwNG6CTDpLFekVY4672eWdiiWu2GUg==", + "requires": { + "postcss": "^7.0.14" + } + }, + "postcss-custom-properties": { + "version": "8.0.11", + "resolved": "https://registry.npmjs.org/postcss-custom-properties/-/postcss-custom-properties-8.0.11.tgz", + "integrity": "sha512-nm+o0eLdYqdnJ5abAJeXp4CEU1c1k+eB2yMCvhgzsds/e0umabFrN6HoTy/8Q4K5ilxERdl/JD1LO5ANoYBeMA==", + "requires": { + "postcss": "^7.0.17", + "postcss-values-parser": "^2.0.1" + } + }, + "postcss-custom-selectors": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/postcss-custom-selectors/-/postcss-custom-selectors-5.1.2.tgz", + "integrity": "sha512-DSGDhqinCqXqlS4R7KGxL1OSycd1lydugJ1ky4iRXPHdBRiozyMHrdu0H3o7qNOCiZwySZTUI5MV0T8QhCLu+w==", + "requires": { + "postcss": "^7.0.2", + "postcss-selector-parser": "^5.0.0-rc.3" + }, + "dependencies": { + "cssesc": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-2.0.0.tgz", + "integrity": "sha512-MsCAG1z9lPdoO/IUMLSBWBSVxVtJ1395VGIQ+Fc2gNdkQ1hNDnQdw3YhA71WJCBW1vdwA0cAnk/DnW6bqoEUYg==" + }, + "postcss-selector-parser": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-5.0.0.tgz", + "integrity": "sha512-w+zLE5Jhg6Liz8+rQOWEAwtwkyqpfnmsinXjXg6cY7YIONZZtgvE0v2O0uhQBs0peNomOJwWRKt6JBfTdTd3OQ==", + "requires": { + "cssesc": "^2.0.0", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + } + } + } + }, + "postcss-dir-pseudo-class": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/postcss-dir-pseudo-class/-/postcss-dir-pseudo-class-5.0.0.tgz", + "integrity": "sha512-3pm4oq8HYWMZePJY+5ANriPs3P07q+LW6FAdTlkFH2XqDdP4HeeJYMOzn0HYLhRSjBO3fhiqSwwU9xEULSrPgw==", + "requires": { + "postcss": "^7.0.2", + "postcss-selector-parser": "^5.0.0-rc.3" + }, + "dependencies": { + "cssesc": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-2.0.0.tgz", + "integrity": "sha512-MsCAG1z9lPdoO/IUMLSBWBSVxVtJ1395VGIQ+Fc2gNdkQ1hNDnQdw3YhA71WJCBW1vdwA0cAnk/DnW6bqoEUYg==" + }, + "postcss-selector-parser": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-5.0.0.tgz", + "integrity": "sha512-w+zLE5Jhg6Liz8+rQOWEAwtwkyqpfnmsinXjXg6cY7YIONZZtgvE0v2O0uhQBs0peNomOJwWRKt6JBfTdTd3OQ==", + "requires": { + "cssesc": "^2.0.0", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + } + } + } + }, + "postcss-double-position-gradients": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/postcss-double-position-gradients/-/postcss-double-position-gradients-1.0.0.tgz", + "integrity": "sha512-G+nV8EnQq25fOI8CH/B6krEohGWnF5+3A6H/+JEpOncu5dCnkS1QQ6+ct3Jkaepw1NGVqqOZH6lqrm244mCftA==", + "requires": { + "postcss": "^7.0.5", + "postcss-values-parser": "^2.0.0" + } + }, + "postcss-env-function": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/postcss-env-function/-/postcss-env-function-2.0.2.tgz", + "integrity": "sha512-rwac4BuZlITeUbiBq60h/xbLzXY43qOsIErngWa4l7Mt+RaSkT7QBjXVGTcBHupykkblHMDrBFh30zchYPaOUw==", + "requires": { + "postcss": "^7.0.2", + "postcss-values-parser": "^2.0.0" + } + }, + "postcss-flexbugs-fixes": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/postcss-flexbugs-fixes/-/postcss-flexbugs-fixes-4.2.1.tgz", + "integrity": "sha512-9SiofaZ9CWpQWxOwRh1b/r85KD5y7GgvsNt1056k6OYLvWUun0czCvogfJgylC22uJTwW1KzY3Gz65NZRlvoiQ==", + "requires": { + "postcss": "^7.0.26" + } + }, + "postcss-focus-visible": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-focus-visible/-/postcss-focus-visible-4.0.0.tgz", + "integrity": "sha512-Z5CkWBw0+idJHSV6+Bgf2peDOFf/x4o+vX/pwcNYrWpXFrSfTkQ3JQ1ojrq9yS+upnAlNRHeg8uEwFTgorjI8g==", + "requires": { + "postcss": "^7.0.2" + } + }, + "postcss-focus-within": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postcss-focus-within/-/postcss-focus-within-3.0.0.tgz", + "integrity": "sha512-W0APui8jQeBKbCGZudW37EeMCjDeVxKgiYfIIEo8Bdh5SpB9sxds/Iq8SEuzS0Q4YFOlG7EPFulbbxujpkrV2w==", + "requires": { + "postcss": "^7.0.2" + } + }, + "postcss-font-variant": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-font-variant/-/postcss-font-variant-4.0.1.tgz", + "integrity": "sha512-I3ADQSTNtLTTd8uxZhtSOrTCQ9G4qUVKPjHiDk0bV75QSxXjVWiJVJ2VLdspGUi9fbW9BcjKJoRvxAH1pckqmA==", + "requires": { + "postcss": "^7.0.2" + } + }, + "postcss-gap-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/postcss-gap-properties/-/postcss-gap-properties-2.0.0.tgz", + "integrity": "sha512-QZSqDaMgXCHuHTEzMsS2KfVDOq7ZFiknSpkrPJY6jmxbugUPTuSzs/vuE5I3zv0WAS+3vhrlqhijiprnuQfzmg==", + "requires": { + "postcss": "^7.0.2" + } + }, + "postcss-html": { + "version": "0.36.0", + "resolved": "https://registry.npmjs.org/postcss-html/-/postcss-html-0.36.0.tgz", + "integrity": "sha512-HeiOxGcuwID0AFsNAL0ox3mW6MHH5cstWN1Z3Y+n6H+g12ih7LHdYxWwEA/QmrebctLjo79xz9ouK3MroHwOJw==", + "dev": true, + "requires": { + "htmlparser2": "^3.10.0" + }, + "dependencies": { + "dom-serializer": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz", + "integrity": "sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==", + "dev": true, + "requires": { + "domelementtype": "^2.0.1", + "entities": "^2.0.0" + }, + "dependencies": { + "domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", + "dev": true + }, + "entities": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "dev": true + } + } + }, + "domelementtype": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz", + "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==", + "dev": true + }, + "domhandler": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.4.2.tgz", + "integrity": "sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA==", + "dev": true, + "requires": { + "domelementtype": "1" + } + }, + "domutils": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz", + "integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==", + "dev": true, + "requires": { + "dom-serializer": "0", + "domelementtype": "1" + } + }, + "entities": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz", + "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==", + "dev": true + }, + "htmlparser2": { + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.10.1.tgz", + "integrity": "sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ==", + "dev": true, + "requires": { + "domelementtype": "^1.3.1", + "domhandler": "^2.3.0", + "domutils": "^1.5.1", + "entities": "^1.1.1", + "inherits": "^2.0.1", + "readable-stream": "^3.1.1" + } + }, + "readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + } + } + }, + "postcss-image-set-function": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/postcss-image-set-function/-/postcss-image-set-function-3.0.1.tgz", + "integrity": "sha512-oPTcFFip5LZy8Y/whto91L9xdRHCWEMs3e1MdJxhgt4jy2WYXfhkng59fH5qLXSCPN8k4n94p1Czrfe5IOkKUw==", + "requires": { + "postcss": "^7.0.2", + "postcss-values-parser": "^2.0.0" + } + }, + "postcss-initial": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/postcss-initial/-/postcss-initial-3.0.4.tgz", + "integrity": "sha512-3RLn6DIpMsK1l5UUy9jxQvoDeUN4gP939tDcKUHD/kM8SGSKbFAnvkpFpj3Bhtz3HGk1jWY5ZNWX6mPta5M9fg==", + "requires": { + "postcss": "^7.0.2" + } + }, + "postcss-js": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-2.0.3.tgz", + "integrity": "sha512-zS59pAk3deu6dVHyrGqmC3oDXBdNdajk4k1RyxeVXCrcEDBUBHoIhE4QTsmhxgzXxsaqFDAkUZfmMa5f/N/79w==", + "dev": true, + "requires": { + "camelcase-css": "^2.0.1", + "postcss": "^7.0.18" + } + }, + "postcss-lab-function": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/postcss-lab-function/-/postcss-lab-function-2.0.1.tgz", + "integrity": "sha512-whLy1IeZKY+3fYdqQFuDBf8Auw+qFuVnChWjmxm/UhHWqNHZx+B99EwxTvGYmUBqe3Fjxs4L1BoZTJmPu6usVg==", + "requires": { + "@csstools/convert-colors": "^1.4.0", + "postcss": "^7.0.2", + "postcss-values-parser": "^2.0.0" + } + }, + "postcss-less": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-less/-/postcss-less-4.0.1.tgz", + "integrity": "sha512-C92S4sHlbDpefJ2QQJjrucCcypq3+KZPstjfuvgOCNnGx0tF9h8hXgAlOIATGAxMXZXaF+nVp+/Mi8pCAWdSmw==", + "dev": true, + "requires": { + "postcss": "^8.1.2" + }, + "dependencies": { + "nanoid": { + "version": "3.3.7", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", + "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", + "dev": true + }, + "postcss": { + "version": "8.4.38", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.38.tgz", + "integrity": "sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==", + "dev": true, + "requires": { + "nanoid": "^3.3.7", + "picocolors": "^1.0.0", + "source-map-js": "^1.2.0" + } + } + } + }, + "postcss-load-config": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-2.1.2.tgz", + "integrity": "sha512-/rDeGV6vMUo3mwJZmeHfEDvwnTKKqQ0S7OHUi/kJvvtx3aWtyWG2/0ZWnzCt2keEclwN6Tf0DST2v9kITdOKYw==", + "requires": { + "cosmiconfig": "^5.0.0", + "import-cwd": "^2.0.0" + }, + "dependencies": { + "cosmiconfig": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.1.tgz", + "integrity": "sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==", + "requires": { + "import-fresh": "^2.0.0", + "is-directory": "^0.3.1", + "js-yaml": "^3.13.1", + "parse-json": "^4.0.0" + } + }, + "import-fresh": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz", + "integrity": "sha512-eZ5H8rcgYazHbKC3PG4ClHNykCSxtAhxSSEM+2mb+7evD2CKF5V7c0dNum7AdpDh0ZdICwZY9sRSn8f+KH96sg==", + "requires": { + "caller-path": "^2.0.0", + "resolve-from": "^3.0.0" + } + }, + "parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==", + "requires": { + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" + } + }, + "resolve-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", + "integrity": "sha512-GnlH6vxLymXJNMBo7XP1fJIzBFbdYt49CuTwmB/6N53t+kMPRMFKz783LlQ4tv28XoQfMWinAJX6WCGf2IlaIw==" + } + } + }, + "postcss-loader": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-3.0.0.tgz", + "integrity": "sha512-cLWoDEY5OwHcAjDnkyRQzAXfs2jrKjXpO/HQFcc5b5u/r7aa471wdmChmwfnv7x2u840iat/wi0lQ5nbRgSkUA==", + "requires": { + "loader-utils": "^1.1.0", + "postcss": "^7.0.0", + "postcss-load-config": "^2.0.0", + "schema-utils": "^1.0.0" + }, + "dependencies": { + "json5": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", + "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", + "requires": { + "minimist": "^1.2.0" + } + }, + "loader-utils": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.2.tgz", + "integrity": "sha512-I5d00Pd/jwMD2QCduo657+YM/6L3KZu++pmX9VFncxaxvHcru9jx1lBaFft+r4Mt2jK0Yhp41XlRAihzPxHNCg==", + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" + } + }, + "schema-utils": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", + "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", + "requires": { + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" + } + } + } + }, + "postcss-logical": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postcss-logical/-/postcss-logical-3.0.0.tgz", + "integrity": "sha512-1SUKdJc2vuMOmeItqGuNaC+N8MzBWFWEkAnRnLpFYj1tGGa7NqyVBujfRtgNa2gXR+6RkGUiB2O5Vmh7E2RmiA==", + "requires": { + "postcss": "^7.0.2" + } + }, + "postcss-media-minmax": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-media-minmax/-/postcss-media-minmax-4.0.0.tgz", + "integrity": "sha512-fo9moya6qyxsjbFAYl97qKO9gyre3qvbMnkOZeZwlsW6XYFsvs2DMGDlchVLfAd8LHPZDxivu/+qW2SMQeTHBw==", + "requires": { + "postcss": "^7.0.2" + } + }, + "postcss-media-query-parser": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/postcss-media-query-parser/-/postcss-media-query-parser-0.2.3.tgz", + "integrity": "sha512-3sOlxmbKcSHMjlUXQZKQ06jOswE7oVkXPxmZdoB1r5l0q6gTFTQSHxNxOrCccElbW7dxNytifNEo8qidX2Vsig==", + "dev": true + }, + "postcss-nesting": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/postcss-nesting/-/postcss-nesting-7.0.1.tgz", + "integrity": "sha512-FrorPb0H3nuVq0Sff7W2rnc3SmIcruVC6YwpcS+k687VxyxO33iE1amna7wHuRVzM8vfiYofXSBHNAZ3QhLvYg==", + "requires": { + "postcss": "^7.0.2" + } + }, + "postcss-overflow-shorthand": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/postcss-overflow-shorthand/-/postcss-overflow-shorthand-2.0.0.tgz", + "integrity": "sha512-aK0fHc9CBNx8jbzMYhshZcEv8LtYnBIRYQD5i7w/K/wS9c2+0NSR6B3OVMu5y0hBHYLcMGjfU+dmWYNKH0I85g==", + "requires": { + "postcss": "^7.0.2" + } + }, + "postcss-page-break": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/postcss-page-break/-/postcss-page-break-2.0.0.tgz", + "integrity": "sha512-tkpTSrLpfLfD9HvgOlJuigLuk39wVTbbd8RKcy8/ugV2bNBUW3xU+AIqyxhDrQr1VUj1RmyJrBn1YWrqUm9zAQ==", + "requires": { + "postcss": "^7.0.2" + } + }, + "postcss-place": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-place/-/postcss-place-4.0.1.tgz", + "integrity": "sha512-Zb6byCSLkgRKLODj/5mQugyuj9bvAAw9LqJJjgwz5cYryGeXfFZfSXoP1UfveccFmeq0b/2xxwcTEVScnqGxBg==", + "requires": { + "postcss": "^7.0.2", + "postcss-values-parser": "^2.0.0" + } + }, + "postcss-preset-env": { + "version": "6.7.0", + "resolved": "https://registry.npmjs.org/postcss-preset-env/-/postcss-preset-env-6.7.0.tgz", + "integrity": "sha512-eU4/K5xzSFwUFJ8hTdTQzo2RBLbDVt83QZrAvI07TULOkmyQlnYlpwep+2yIK+K+0KlZO4BvFcleOCCcUtwchg==", + "requires": { + "autoprefixer": "^9.6.1", + "browserslist": "^4.6.4", + "caniuse-lite": "^1.0.30000981", + "css-blank-pseudo": "^0.1.4", + "css-has-pseudo": "^0.10.0", + "css-prefers-color-scheme": "^3.1.1", + "cssdb": "^4.4.0", + "postcss": "^7.0.17", + "postcss-attribute-case-insensitive": "^4.0.1", + "postcss-color-functional-notation": "^2.0.1", + "postcss-color-gray": "^5.0.0", + "postcss-color-hex-alpha": "^5.0.3", + "postcss-color-mod-function": "^3.0.3", + "postcss-color-rebeccapurple": "^4.0.1", + "postcss-custom-media": "^7.0.8", + "postcss-custom-properties": "^8.0.11", + "postcss-custom-selectors": "^5.1.2", + "postcss-dir-pseudo-class": "^5.0.0", + "postcss-double-position-gradients": "^1.0.0", + "postcss-env-function": "^2.0.2", + "postcss-focus-visible": "^4.0.0", + "postcss-focus-within": "^3.0.0", + "postcss-font-variant": "^4.0.0", + "postcss-gap-properties": "^2.0.0", + "postcss-image-set-function": "^3.0.1", + "postcss-initial": "^3.0.0", + "postcss-lab-function": "^2.0.1", + "postcss-logical": "^3.0.0", + "postcss-media-minmax": "^4.0.0", + "postcss-nesting": "^7.0.0", + "postcss-overflow-shorthand": "^2.0.0", + "postcss-page-break": "^2.0.0", + "postcss-place": "^4.0.1", + "postcss-pseudo-class-any-link": "^6.0.0", + "postcss-replace-overflow-wrap": "^3.0.0", + "postcss-selector-matches": "^4.0.0", + "postcss-selector-not": "^4.0.0" + } + }, + "postcss-pseudo-class-any-link": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-6.0.0.tgz", + "integrity": "sha512-lgXW9sYJdLqtmw23otOzrtbDXofUdfYzNm4PIpNE322/swES3VU9XlXHeJS46zT2onFO7V1QFdD4Q9LiZj8mew==", + "requires": { + "postcss": "^7.0.2", + "postcss-selector-parser": "^5.0.0-rc.3" + }, + "dependencies": { + "cssesc": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-2.0.0.tgz", + "integrity": "sha512-MsCAG1z9lPdoO/IUMLSBWBSVxVtJ1395VGIQ+Fc2gNdkQ1hNDnQdw3YhA71WJCBW1vdwA0cAnk/DnW6bqoEUYg==" + }, + "postcss-selector-parser": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-5.0.0.tgz", + "integrity": "sha512-w+zLE5Jhg6Liz8+rQOWEAwtwkyqpfnmsinXjXg6cY7YIONZZtgvE0v2O0uhQBs0peNomOJwWRKt6JBfTdTd3OQ==", + "requires": { + "cssesc": "^2.0.0", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + } + } + } + }, + "postcss-replace-overflow-wrap": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postcss-replace-overflow-wrap/-/postcss-replace-overflow-wrap-3.0.0.tgz", + "integrity": "sha512-2T5hcEHArDT6X9+9dVSPQdo7QHzG4XKclFT8rU5TzJPDN7RIRTbO9c4drUISOVemLj03aezStHCR2AIcr8XLpw==", + "requires": { + "postcss": "^7.0.2" + } + }, + "postcss-resolve-nested-selector": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/postcss-resolve-nested-selector/-/postcss-resolve-nested-selector-0.1.1.tgz", + "integrity": "sha512-HvExULSwLqHLgUy1rl3ANIqCsvMS0WHss2UOsXhXnQaZ9VCc2oBvIpXrl00IUFT5ZDITME0o6oiXeiHr2SAIfw==", + "dev": true + }, + "postcss-safe-parser": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-safe-parser/-/postcss-safe-parser-4.0.2.tgz", + "integrity": "sha512-Uw6ekxSWNLCPesSv/cmqf2bY/77z11O7jZGPax3ycZMFU/oi2DMH9i89AdHc1tRwFg/arFoEwX0IS3LCUxJh1g==", + "requires": { + "postcss": "^7.0.26" + } + }, + "postcss-sass": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/postcss-sass/-/postcss-sass-0.4.4.tgz", + "integrity": "sha512-BYxnVYx4mQooOhr+zer0qWbSPYnarAy8ZT7hAQtbxtgVf8gy+LSLT/hHGe35h14/pZDTw1DsxdbrwxBN++H+fg==", + "dev": true, + "requires": { + "gonzales-pe": "^4.3.0", + "postcss": "^7.0.21" + } + }, + "postcss-scss": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/postcss-scss/-/postcss-scss-2.1.1.tgz", + "integrity": "sha512-jQmGnj0hSGLd9RscFw9LyuSVAa5Bl1/KBPqG1NQw9w8ND55nY4ZEsdlVuYJvLPpV+y0nwTV5v/4rHPzZRihQbA==", + "dev": true, + "requires": { + "postcss": "^7.0.6" + } + }, + "postcss-selector-matches": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-selector-matches/-/postcss-selector-matches-4.0.0.tgz", + "integrity": "sha512-LgsHwQR/EsRYSqlwdGzeaPKVT0Ml7LAT6E75T8W8xLJY62CE4S/l03BWIt3jT8Taq22kXP08s2SfTSzaraoPww==", + "requires": { + "balanced-match": "^1.0.0", + "postcss": "^7.0.2" + } + }, + "postcss-selector-not": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-selector-not/-/postcss-selector-not-4.0.1.tgz", + "integrity": "sha512-YolvBgInEK5/79C+bdFMyzqTg6pkYqDbzZIST/PDMqa/o3qtXenD05apBG2jLgT0/BQ77d4U2UK12jWpilqMAQ==", + "requires": { + "balanced-match": "^1.0.0", + "postcss": "^7.0.2" + } + }, + "postcss-selector-parser": { + "version": "6.0.16", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.16.tgz", + "integrity": "sha512-A0RVJrX+IUkVZbW3ClroRWurercFhieevHB38sr2+l9eUClMqome3LmEmnhlNy+5Mr2EYN6B2Kaw9wYdd+VHiw==", + "requires": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + } + }, + "postcss-sorting": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/postcss-sorting/-/postcss-sorting-6.0.0.tgz", + "integrity": "sha512-bYJ0vgAiGbjCBKi7B07CzsBc9eM84nLEbavUmwNp8rAa+PNyrgdH+6PpnqTtciLuUs99c4rFQQmCaYgeBQYmSQ==", + "dev": true, + "requires": { + "lodash": "^4.17.20" + } + }, + "postcss-syntax": { + "version": "0.36.2", + "resolved": "https://registry.npmjs.org/postcss-syntax/-/postcss-syntax-0.36.2.tgz", + "integrity": "sha512-nBRg/i7E3SOHWxF3PpF5WnJM/jQ1YpY9000OaVXlAQj6Zp/kIqJxEDWIZ67tAd7NLuk7zqN4yqe9nc0oNAOs1w==", + "dev": true + }, + "postcss-value-parser": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==" + }, + "postcss-values-parser": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/postcss-values-parser/-/postcss-values-parser-2.0.1.tgz", + "integrity": "sha512-2tLuBsA6P4rYTNKCXYG/71C7j1pU6pK503suYOmn4xYrQIzW+opD+7FAFNuGSdZC/3Qfy334QbeMu7MEb8gOxg==", + "requires": { + "flatten": "^1.0.2", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + } + }, + "prebuild-install": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-7.1.2.tgz", + "integrity": "sha512-UnNke3IQb6sgarcZIDU3gbMeTp/9SSU1DAIkil7PrqG1vZlBtY5msYccSKSHDqa3hNg436IXK+SNImReuA1wEQ==", + "dev": true, + "optional": true, + "requires": { + "detect-libc": "^2.0.0", + "expand-template": "^2.0.3", + "github-from-package": "0.0.0", + "minimist": "^1.2.3", + "mkdirp-classic": "^0.5.3", + "napi-build-utils": "^1.0.1", + "node-abi": "^3.3.0", + "pump": "^3.0.0", + "rc": "^1.2.7", + "simple-get": "^4.0.0", + "tar-fs": "^2.0.0", + "tunnel-agent": "^0.6.0" + }, + "dependencies": { + "pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "dev": true, + "optional": true, + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "dev": true, + "optional": true, + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + }, + "tar-fs": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.1.tgz", + "integrity": "sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==", + "dev": true, + "optional": true, + "requires": { + "chownr": "^1.1.1", + "mkdirp-classic": "^0.5.2", + "pump": "^3.0.0", + "tar-stream": "^2.1.4" + } + }, + "tar-stream": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", + "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", + "dev": true, + "optional": true, + "requires": { + "bl": "^4.0.3", + "end-of-stream": "^1.4.1", + "fs-constants": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^3.1.1" + } + } + } + }, + "preceptor-core": { + "version": "0.10.1", + "resolved": "https://registry.npmjs.org/preceptor-core/-/preceptor-core-0.10.1.tgz", + "integrity": "sha512-WLDk+UowEESixvlhiamGOj/iqWrp8IWeCCHvBZrLh0g4/A1Fa77fDQWqQUd5S5rScT+9u49aDfa45xYRkxqmiA==", + "dev": true, + "requires": { + "log4js": "1.1.1", + "underscore": "1.7.0" + } + }, + "prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "dev": true + }, + "prepend-http": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz", + "integrity": "sha512-PhmXi5XmoyKw1Un4E+opM2KcsJInDvKyuOumcjjw3waw86ZNjHwVUOOWLc4bCzLdcKNaWBH9e99sbWzDQsVaYg==" + }, + "prettier": { + "version": "2.8.8", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz", + "integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==", + "dev": true + }, + "prettier-plugin-packagejson": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/prettier-plugin-packagejson/-/prettier-plugin-packagejson-2.3.0.tgz", + "integrity": "sha512-2SAPMMk1UDkqsB7DifWKcwCm6VC52JXMrzLHfbcQHJRWhRCj9zziOy+s+2XOyPBeyqFqS+A/1IKzOrxKFTo6pw==", + "dev": true, + "requires": { + "sort-package-json": "1.57.0" + } + }, + "prettier-plugin-two-style-order": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/prettier-plugin-two-style-order/-/prettier-plugin-two-style-order-1.0.1.tgz", + "integrity": "sha512-ETltO2FRR/Pxc7bsgz2XwuzWSPwafl7/v5+5Rria4S579CTas7dya+xsmbkix0q1tYQiuRjVVdfGnCKlH/aOuQ==", + "dev": true, + "requires": { + "postcss": "^8.3.6", + "postcss-less": "^4.0.0", + "postcss-sorting": "6.0.0" + }, + "dependencies": { + "nanoid": { + "version": "3.3.7", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", + "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", + "dev": true + }, + "postcss": { + "version": "8.4.38", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.38.tgz", + "integrity": "sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==", + "dev": true, + "requires": { + "nanoid": "^3.3.7", + "picocolors": "^1.0.0", + "source-map-js": "^1.2.0" + } + } + } + }, + "pretty-format": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.6.2.tgz", + "integrity": "sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg==", + "dev": true, + "requires": { + "@jest/types": "^26.6.2", + "ansi-regex": "^5.0.0", + "ansi-styles": "^4.0.0", + "react-is": "^17.0.1" + }, + "dependencies": { + "react-is": { + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", + "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", + "dev": true + } + } + }, + "prism-react-renderer": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/prism-react-renderer/-/prism-react-renderer-1.3.5.tgz", + "integrity": "sha512-IJ+MSwBWKG+SM3b2SUfdrhC+gu01QkV2KmRQgREThBfSQRoufqRfxfHUxpG1WcaFjP+kojcFyO9Qqtpgt3qLCg==", + "dev": true + }, + "prismjs": { + "version": "1.29.0", + "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.29.0.tgz", + "integrity": "sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q==", + "dev": true + }, + "process": { + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", + "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==" + }, + "process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" + }, + "progress": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", + "dev": true + }, + "promise": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/promise/-/promise-6.0.0.tgz", + "integrity": "sha512-PjIqIEWR8EWwP5ml3Wf5KWIP3sIdXAew9vQ6vLOLV+z4LMa/8ZQyLd7sTWe2r8OuA8A9jsIYptDfbEn/L36ogw==", + "dev": true, + "requires": { + "asap": "~1.0.0" + }, + "dependencies": { + "asap": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/asap/-/asap-1.0.0.tgz", + "integrity": "sha512-Ej9qjcXY+8Tuy1cNqiwNMwFRXOy9UwgTeMA8LxreodygIPV48lx8PU1ecFxb5ZeU1DpMKxiq6vGLTxcitWZPbA==", + "dev": true + } + } + }, + "promise-inflight": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", + "integrity": "sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==", + "dev": true + }, + "promise-retry": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/promise-retry/-/promise-retry-1.1.1.tgz", + "integrity": "sha512-StEy2osPr28o17bIW776GtwO6+Q+M9zPiZkYfosciUUMYqjhU/ffwRAH0zN2+uvGyUsn8/YICIHRzLbPacpZGw==", + "dev": true, + "requires": { + "err-code": "^1.0.0", + "retry": "^0.10.0" + } + }, + "prompts": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", + "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", + "requires": { + "kleur": "^3.0.3", + "sisteransi": "^1.0.5" + } + }, + "prop-types": { + "version": "15.8.1", + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", + "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", + "requires": { + "loose-envify": "^1.4.0", + "object-assign": "^4.1.1", + "react-is": "^16.13.1" + }, + "dependencies": { + "react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" + } + } + }, + "property-information": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/property-information/-/property-information-5.6.0.tgz", + "integrity": "sha512-YUHSPk+A30YPv+0Qf8i9Mbfe/C0hdPXk1s1jPVToV8pk8BQtpw10ct89Eo7OWkutrwqvT0eicAxlOg3dOAu8JA==", + "dev": true, + "requires": { + "xtend": "^4.0.0" + } + }, + "prosemirror-commands": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/prosemirror-commands/-/prosemirror-commands-1.5.2.tgz", + "integrity": "sha512-hgLcPaakxH8tu6YvVAaILV2tXYsW3rAdDR8WNkeKGcgeMVQg3/TMhPdVoh7iAmfgVjZGtcOSjKiQaoeKjzd2mQ==", + "requires": { + "prosemirror-model": "^1.0.0", + "prosemirror-state": "^1.0.0", + "prosemirror-transform": "^1.0.0" + } + }, + "prosemirror-history": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/prosemirror-history/-/prosemirror-history-1.4.0.tgz", + "integrity": "sha512-UUiGzDVcqo1lovOPdi9YxxUps3oBFWAIYkXLu3Ot+JPv1qzVogRbcizxK3LhHmtaUxclohgiOVesRw5QSlMnbQ==", + "requires": { + "prosemirror-state": "^1.2.2", + "prosemirror-transform": "^1.0.0", + "prosemirror-view": "^1.31.0", + "rope-sequence": "^1.3.0" + } + }, + "prosemirror-inputrules": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/prosemirror-inputrules/-/prosemirror-inputrules-1.4.0.tgz", + "integrity": "sha512-6ygpPRuTJ2lcOXs9JkefieMst63wVJBgHZGl5QOytN7oSZs3Co/BYbc3Yx9zm9H37Bxw8kVzCnDsihsVsL4yEg==", + "requires": { + "prosemirror-state": "^1.0.0", + "prosemirror-transform": "^1.0.0" + } + }, + "prosemirror-keymap": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/prosemirror-keymap/-/prosemirror-keymap-1.2.2.tgz", + "integrity": "sha512-EAlXoksqC6Vbocqc0GtzCruZEzYgrn+iiGnNjsJsH4mrnIGex4qbLdWWNza3AW5W36ZRrlBID0eM6bdKH4OStQ==", + "requires": { + "prosemirror-state": "^1.0.0", + "w3c-keyname": "^2.2.0" + } + }, + "prosemirror-model": { + "version": "1.19.4", + "resolved": "https://registry.npmjs.org/prosemirror-model/-/prosemirror-model-1.19.4.tgz", + "integrity": "sha512-RPmVXxUfOhyFdayHawjuZCxiROsm9L4FCUA6pWI+l7n2yCBsWy9VpdE1hpDHUS8Vad661YLY9AzqfjLhAKQ4iQ==", + "requires": { + "orderedmap": "^2.0.0" + } + }, + "prosemirror-state": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/prosemirror-state/-/prosemirror-state-1.4.3.tgz", + "integrity": "sha512-goFKORVbvPuAQaXhpbemJFRKJ2aixr+AZMGiquiqKxaucC6hlpHNZHWgz5R7dS4roHiwq9vDctE//CZ++o0W1Q==", + "requires": { + "prosemirror-model": "^1.0.0", + "prosemirror-transform": "^1.0.0", + "prosemirror-view": "^1.27.0" + } + }, + "prosemirror-transform": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/prosemirror-transform/-/prosemirror-transform-1.8.0.tgz", + "integrity": "sha512-BaSBsIMv52F1BVVMvOmp1yzD3u65uC3HTzCBQV1WDPqJRQ2LuHKcyfn0jwqodo8sR9vVzMzZyI+Dal5W9E6a9A==", + "requires": { + "prosemirror-model": "^1.0.0" + } + }, + "prosemirror-view": { + "version": "1.33.3", + "resolved": "https://registry.npmjs.org/prosemirror-view/-/prosemirror-view-1.33.3.tgz", + "integrity": "sha512-P4Ao/bc4OrU/2yLIf8dL4lJaEtjLR3QjIvQHgJYp2jUS7kYM4bSR6okbBjkqzOs/FwUon6UGjTLdKMnPL1MZqw==", + "requires": { + "prosemirror-model": "^1.16.0", + "prosemirror-state": "^1.0.0", + "prosemirror-transform": "^1.1.0" + } + }, + "protocols": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/protocols/-/protocols-2.0.1.tgz", + "integrity": "sha512-/XJ368cyBJ7fzLMwLKv1e4vLxOju2MNAIokcr7meSaNcVbWz/CPcW22cP04mwxOErdA5mwjA8Q6w/cdAQxVn7Q==", + "dev": true + }, + "protoduck": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/protoduck/-/protoduck-4.0.0.tgz", + "integrity": "sha512-9sxuz0YTU/68O98xuDn8NBxTVH9EuMhrBTxZdiBL0/qxRmWhB/5a8MagAebDa+98vluAZTs8kMZibCdezbRCeQ==", + "dev": true, + "requires": { + "genfun": "^4.0.1" + } + }, + "proxy-addr": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", + "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", + "dev": true, + "requires": { + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" + } + }, + "proxy-from-env": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" + }, + "prr": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", + "integrity": "sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==", + "dev": true + }, + "pseudomap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", + "integrity": "sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ==", + "dev": true + }, + "psl": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz", + "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==", + "dev": true + }, + "public-encrypt": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", + "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==", + "requires": { + "bn.js": "^4.1.0", + "browserify-rsa": "^4.0.0", + "create-hash": "^1.1.0", + "parse-asn1": "^5.0.0", + "randombytes": "^2.0.1", + "safe-buffer": "^5.1.2" + }, + "dependencies": { + "bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" + } + } + }, + "pump": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/pump/-/pump-1.0.3.tgz", + "integrity": "sha512-8k0JupWme55+9tCVE+FS5ULT3K6AbgqrGa58lTT49RpyfwwcGedHqaC5LlQNdEAumn/wFsu6aPwkuPMioy8kqw==", + "dev": true, + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "pumpify": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz", + "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==", + "dev": true, + "requires": { + "duplexify": "^3.6.0", + "inherits": "^2.0.3", + "pump": "^2.0.0" + }, + "dependencies": { + "pump": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", + "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", + "dev": true, + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + } + } + }, + "punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==" + }, + "puppeteer-core": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/puppeteer-core/-/puppeteer-core-8.0.0.tgz", + "integrity": "sha512-kRTiGh42+4eiw9tl489p//8Zpg3LWmz0K3mOpv0qj5PsCV7jE43SLIi0E50suLh8OghXsFhJFoE98vEmXUnDew==", + "dev": true, + "requires": { + "debug": "^4.1.0", + "devtools-protocol": "0.0.854822", + "extract-zip": "^2.0.0", + "https-proxy-agent": "^5.0.0", + "node-fetch": "^2.6.1", + "pkg-dir": "^4.2.0", + "progress": "^2.0.1", + "proxy-from-env": "^1.1.0", + "rimraf": "^3.0.2", + "tar-fs": "^2.0.0", + "unbzip2-stream": "^1.3.3", + "ws": "^7.2.3" + }, + "dependencies": { + "pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "dev": true, + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + }, + "tar-fs": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.1.tgz", + "integrity": "sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==", + "dev": true, + "requires": { + "chownr": "^1.1.1", + "mkdirp-classic": "^0.5.2", + "pump": "^3.0.0", + "tar-stream": "^2.1.4" + } + }, + "tar-stream": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", + "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", + "dev": true, + "requires": { + "bl": "^4.0.3", + "end-of-stream": "^1.4.1", + "fs-constants": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^3.1.1" + } + } + } + }, + "qs": { + "version": "6.11.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", + "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", + "dev": true, + "requires": { + "side-channel": "^1.0.4" + } + }, + "query-string": { + "version": "6.14.1", + "resolved": "https://registry.npmjs.org/query-string/-/query-string-6.14.1.tgz", + "integrity": "sha512-XDxAeVmpfu1/6IjyT/gXHOl+S0vQ9owggJ30hhWKdHAsNPOcasn5o9BW0eejZqL2e4vMjhAxoW3jVHcD6mbcYw==", + "requires": { + "decode-uri-component": "^0.2.0", + "filter-obj": "^1.1.0", + "split-on-first": "^1.0.0", + "strict-uri-encode": "^2.0.0" + } + }, + "querystring": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.1.tgz", + "integrity": "sha512-wkvS7mL/JMugcup3/rMitHmd9ecIGd2lhFhK9N3UUQ450h66d1r3Y9nvXzQAW1Lq+wyx61k/1pfKS5KuKiyEbg==" + }, + "querystring-es3": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", + "integrity": "sha512-773xhDQnZBMFobEiztv8LIl70ch5MSF/jUQVlhwFyBILqq96anmoctVIYz+ZRp0qbCKATTn6ev02M3r7Ga5vqA==" + }, + "querystringify": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", + "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==", + "dev": true + }, + "queue": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/queue/-/queue-6.0.1.tgz", + "integrity": "sha512-AJBQabRCCNr9ANq8v77RJEv73DPbn55cdTb+Giq4X0AVnNVZvMHlYp7XlQiN+1npCZj1DuSmaA2hYVUUDgxFDg==", + "dev": true, + "requires": { + "inherits": "~2.0.3" + } + }, + "queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==" + }, + "quick-lru": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-4.0.1.tgz", + "integrity": "sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==", + "dev": true + }, + "raf": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/raf/-/raf-3.4.1.tgz", + "integrity": "sha512-Sq4CW4QhwOHE8ucn6J34MqtZCeWFP2aQSmrlroYgqAV1PjStIhJXxYuTgUIfkEk7zTLjmIjLmU5q+fbD1NnOJA==", + "dev": true, + "requires": { + "performance-now": "^2.1.0" + } + }, + "railroad-diagrams": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/railroad-diagrams/-/railroad-diagrams-1.0.0.tgz", + "integrity": "sha512-cz93DjNeLY0idrCNOH6PviZGRN9GJhsdm9hpn1YCS879fj4W+x5IFJhhkRZcwVgMmFF7R82UA/7Oh+R8lLZg6A==", + "dev": true + }, + "ramda": { + "version": "0.29.1", + "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.29.1.tgz", + "integrity": "sha512-OfxIeWzd4xdUNxlWhgFazxsA/nl3mS4/jGZI5n00uWOoSSFRhC1b6gl6xvmzUamgmqELraWp0J/qqVlXYPDPyA==", + "dev": true + }, + "ramda-adjunct": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ramda-adjunct/-/ramda-adjunct-4.1.1.tgz", + "integrity": "sha512-BnCGsZybQZMDGram9y7RiryoRHS5uwx8YeGuUeDKuZuvK38XO6JJfmK85BwRWAKFA6pZ5nZBO/HBFtExVaf31w==", + "dev": true + }, + "randexp": { + "version": "0.4.6", + "resolved": "https://registry.npmjs.org/randexp/-/randexp-0.4.6.tgz", + "integrity": "sha512-80WNmd9DA0tmZrw9qQa62GPPWfuXJknrmVmLcxvq4uZBdYqb1wYoKTmnlGUchvVWe0XiLupYkBoXVOxz3C8DYQ==", + "dev": true, + "requires": { + "discontinuous-range": "1.0.0", + "ret": "~0.1.10" + } + }, + "randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "requires": { + "safe-buffer": "^5.1.0" + } + }, + "randomfill": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", + "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", + "requires": { + "randombytes": "^2.0.5", + "safe-buffer": "^5.1.0" + } + }, + "range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "dev": true + }, + "raw-body": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz", + "integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==", + "dev": true, + "requires": { + "bytes": "3.1.2", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + } + }, + "rc": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", + "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", + "dev": true, + "requires": { + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" + }, + "dependencies": { + "strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==", + "dev": true + } + } + }, + "rc-align": { + "version": "4.0.15", + "resolved": "https://registry.npmjs.org/rc-align/-/rc-align-4.0.15.tgz", + "integrity": "sha512-wqJtVH60pka/nOX7/IspElA8gjPNQKIx/ZqJ6heATCkXpe1Zg4cPVrMD2vC96wjsFFL8WsmhPbx9tdMo1qqlIA==", + "requires": { + "@babel/runtime": "^7.10.1", + "classnames": "2.x", + "dom-align": "^1.7.0", + "rc-util": "^5.26.0", + "resize-observer-polyfill": "^1.5.1" + } + }, + "rc-animate": { + "version": "2.11.1", + "resolved": "https://registry.npmjs.org/rc-animate/-/rc-animate-2.11.1.tgz", + "integrity": "sha512-1NyuCGFJG/0Y+9RKh5y/i/AalUCA51opyyS/jO2seELpgymZm2u9QV3xwODwEuzkmeQ1BDPxMLmYLcTJedPlkQ==", + "dev": true, + "requires": { + "babel-runtime": "6.x", + "classnames": "^2.2.6", + "css-animation": "^1.3.2", + "prop-types": "15.x", + "raf": "^3.4.0", + "rc-util": "^4.15.3", + "react-lifecycles-compat": "^3.0.4" + }, + "dependencies": { + "rc-util": { + "version": "4.21.1", + "resolved": "https://registry.npmjs.org/rc-util/-/rc-util-4.21.1.tgz", + "integrity": "sha512-Z+vlkSQVc1l8O2UjR3WQ+XdWlhj5q9BMQNLk2iOBch75CqPfrJyGtcWMcnhRlNuDu0Ndtt4kLVO8JI8BrABobg==", + "dev": true, + "requires": { + "add-dom-event-listener": "^1.1.0", + "prop-types": "^15.5.10", + "react-is": "^16.12.0", + "react-lifecycles-compat": "^3.0.4", + "shallowequal": "^1.1.0" + } + }, + "react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", + "dev": true + } + } + }, + "rc-cascader": { + "version": "3.7.3", + "resolved": "https://registry.npmjs.org/rc-cascader/-/rc-cascader-3.7.3.tgz", + "integrity": "sha512-KBpT+kzhxDW+hxPiNk4zaKa99+Lie2/8nnI11XF+FIOPl4Bj9VlFZi61GrnWzhLGA7VEN+dTxAkNOjkySDa0dA==", + "requires": { + "@babel/runtime": "^7.12.5", + "array-tree-filter": "^2.1.0", + "classnames": "^2.3.1", + "rc-select": "~14.1.0", + "rc-tree": "~5.7.0", + "rc-util": "^5.6.1" + } + }, + "rc-checkbox": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/rc-checkbox/-/rc-checkbox-3.0.1.tgz", + "integrity": "sha512-k7nxDWxYF+jDI0ZcCvuvj71xONmWRVe5+1MKcERRR9MRyP3tZ69b+yUCSXXh+sik4/Hc9P5wHr2nnUoGS2zBjA==", + "requires": { + "@babel/runtime": "^7.10.1", + "classnames": "^2.3.2", + "rc-util": "^5.25.2" + } + }, + "rc-collapse": { + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/rc-collapse/-/rc-collapse-3.4.2.tgz", + "integrity": "sha512-jpTwLgJzkhAgp2Wpi3xmbTbbYExg6fkptL67Uu5LCRVEj6wqmy0DHTjjeynsjOLsppHGHu41t1ELntZ0lEvS/Q==", + "requires": { + "@babel/runtime": "^7.10.1", + "classnames": "2.x", + "rc-motion": "^2.3.4", + "rc-util": "^5.2.1", + "shallowequal": "^1.1.0" + } + }, + "rc-dialog": { + "version": "9.0.2", + "resolved": "https://registry.npmjs.org/rc-dialog/-/rc-dialog-9.0.2.tgz", + "integrity": "sha512-s3U+24xWUuB6Bn2Lk/Qt6rufy+uT+QvWkiFhNBcO9APLxcFFczWamaq7x9h8SCuhfc1nHcW4y8NbMsnAjNnWyg==", + "requires": { + "@babel/runtime": "^7.10.1", + "@rc-component/portal": "^1.0.0-8", + "classnames": "^2.2.6", + "rc-motion": "^2.3.0", + "rc-util": "^5.21.0" + } + }, + "rc-drawer": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/rc-drawer/-/rc-drawer-6.3.0.tgz", + "integrity": "sha512-uBZVb3xTAR+dBV53d/bUhTctCw3pwcwJoM7g5aX+7vgwt2zzVzoJ6aqFjYJpBlZ9zp0dVYN8fV+hykFE7c4lig==", + "requires": { + "@babel/runtime": "^7.10.1", + "@rc-component/portal": "^1.1.1", + "classnames": "^2.2.6", + "rc-motion": "^2.6.1", + "rc-util": "^5.21.2" + } + }, + "rc-dropdown": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/rc-dropdown/-/rc-dropdown-4.0.1.tgz", + "integrity": "sha512-OdpXuOcme1rm45cR0Jzgfl1otzmU4vuBVb+etXM8vcaULGokAKVpKlw8p6xzspG7jGd/XxShvq+N3VNEfk/l5g==", + "requires": { + "@babel/runtime": "^7.18.3", + "classnames": "^2.2.6", + "rc-trigger": "^5.3.1", + "rc-util": "^5.17.0" + } + }, + "rc-field-form": { + "version": "1.38.2", + "resolved": "https://registry.npmjs.org/rc-field-form/-/rc-field-form-1.38.2.tgz", + "integrity": "sha512-O83Oi1qPyEv31Sg+Jwvsj6pXc8uQI2BtIAkURr5lvEYHVggXJhdU/nynK8wY1gbw0qR48k731sN5ON4egRCROA==", + "requires": { + "@babel/runtime": "^7.18.0", + "async-validator": "^4.1.0", + "rc-util": "^5.32.2" + } + }, + "rc-gesture": { + "version": "0.0.22", + "resolved": "https://registry.npmjs.org/rc-gesture/-/rc-gesture-0.0.22.tgz", + "integrity": "sha512-6G6qrCE0MUTXyjh/powj91XkjRjoFL4HiJLPU5lALXHvGX+/efcUjGYUrHrrw0mwQdmrmg4POqnY/bibns+G3g==", + "dev": true, + "requires": { + "babel-runtime": "6.x" + } + }, + "rc-image": { + "version": "5.13.0", + "resolved": "https://registry.npmjs.org/rc-image/-/rc-image-5.13.0.tgz", + "integrity": "sha512-iZTOmw5eWo2+gcrJMMcnd7SsxVHl3w5xlyCgsULUdJhJbnuI8i/AL0tVOsE7aLn9VfOh1qgDT3mC2G75/c7mqg==", + "requires": { + "@babel/runtime": "^7.11.2", + "@rc-component/portal": "^1.0.2", + "classnames": "^2.2.6", + "rc-dialog": "~9.0.0", + "rc-motion": "^2.6.2", + "rc-util": "^5.0.6" + } + }, + "rc-input": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/rc-input/-/rc-input-0.1.4.tgz", + "integrity": "sha512-FqDdNz+fV2dKNgfXzcSLKvC+jEs1709t7nD+WdfjrdSaOcefpgc7BUJYadc3usaING+b7ediMTfKxuJBsEFbXA==", + "requires": { + "@babel/runtime": "^7.11.1", + "classnames": "^2.2.1", + "rc-util": "^5.18.1" + } + }, + "rc-input-number": { + "version": "7.3.11", + "resolved": "https://registry.npmjs.org/rc-input-number/-/rc-input-number-7.3.11.tgz", + "integrity": "sha512-aMWPEjFeles6PQnMqP5eWpxzsvHm9rh1jQOWXExUEIxhX62Fyl/ptifLHOn17+waDG1T/YUb6flfJbvwRhHrbA==", + "requires": { + "@babel/runtime": "^7.10.1", + "classnames": "^2.2.5", + "rc-util": "^5.23.0" + } + }, + "rc-mentions": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/rc-mentions/-/rc-mentions-1.13.1.tgz", + "integrity": "sha512-FCkaWw6JQygtOz0+Vxz/M/NWqrWHB9LwqlY2RtcuFqWJNFK9njijOOzTSsBGANliGufVUzx/xuPHmZPBV0+Hgw==", + "requires": { + "@babel/runtime": "^7.10.1", + "classnames": "^2.2.6", + "rc-menu": "~9.8.0", + "rc-textarea": "^0.4.0", + "rc-trigger": "^5.0.4", + "rc-util": "^5.22.5" + }, + "dependencies": { + "rc-menu": { + "version": "9.8.4", + "resolved": "https://registry.npmjs.org/rc-menu/-/rc-menu-9.8.4.tgz", + "integrity": "sha512-lmw2j8I2fhdIzHmC9ajfImfckt0WDb2KVJJBBRIsxPEw2kGkEfjLMUoB1NgiNT/Q5cC8PdjGOGQjHJIJMwyNMw==", + "requires": { + "@babel/runtime": "^7.10.1", + "classnames": "2.x", + "rc-motion": "^2.4.3", + "rc-overflow": "^1.2.8", + "rc-trigger": "^5.1.2", + "rc-util": "^5.27.0" + } + } + } + }, + "rc-menu": { + "version": "9.13.0", + "resolved": "https://registry.npmjs.org/rc-menu/-/rc-menu-9.13.0.tgz", + "integrity": "sha512-1l8ooCB3HcYJKCltC/s7OxRKRjgymdl9htrCeGZcXNaMct0RxZRK6OPV3lPhVksIvAGMgzPd54ClpZ5J4b8cZA==", + "requires": { + "@babel/runtime": "^7.10.1", + "@rc-component/trigger": "^2.0.0", + "classnames": "2.x", + "rc-motion": "^2.4.3", + "rc-overflow": "^1.3.1", + "rc-util": "^5.27.0" + } + }, + "rc-motion": { + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/rc-motion/-/rc-motion-2.9.0.tgz", + "integrity": "sha512-XIU2+xLkdIr1/h6ohPZXyPBMvOmuyFZQ/T0xnawz+Rh+gh4FINcnZmMT5UTIj6hgI0VLDjTaPeRd+smJeSPqiQ==", + "requires": { + "@babel/runtime": "^7.11.1", + "classnames": "^2.2.1", + "rc-util": "^5.21.0" + } + }, + "rc-notification": { + "version": "4.6.1", + "resolved": "https://registry.npmjs.org/rc-notification/-/rc-notification-4.6.1.tgz", + "integrity": "sha512-NSmFYwrrdY3+un1GvDAJQw62Xi9LNMSsoQyo95tuaYrcad5Bn9gJUL8AREufRxSQAQnr64u3LtP3EUyLYT6bhw==", + "requires": { + "@babel/runtime": "^7.10.1", + "classnames": "2.x", + "rc-motion": "^2.2.0", + "rc-util": "^5.20.1" + } + }, + "rc-overflow": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/rc-overflow/-/rc-overflow-1.3.2.tgz", + "integrity": "sha512-nsUm78jkYAoPygDAcGZeC2VwIg/IBGSodtOY3pMof4W3M9qRJgqaDYm03ZayHlde3I6ipliAxbN0RUcGf5KOzw==", + "requires": { + "@babel/runtime": "^7.11.1", + "classnames": "^2.2.1", + "rc-resize-observer": "^1.0.0", + "rc-util": "^5.37.0" + } + }, + "rc-pagination": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/rc-pagination/-/rc-pagination-3.2.0.tgz", + "integrity": "sha512-5tIXjB670WwwcAJzAqp2J+cOBS9W3cH/WU1EiYwXljuZ4vtZXKlY2Idq8FZrnYBz8KhN3vwPo9CoV/SJS6SL1w==", + "requires": { + "@babel/runtime": "^7.10.1", + "classnames": "^2.2.1" + } + }, + "rc-picker": { + "version": "2.7.6", + "resolved": "https://registry.npmjs.org/rc-picker/-/rc-picker-2.7.6.tgz", + "integrity": "sha512-H9if/BUJUZBOhPfWcPeT15JUI3/ntrG9muzERrXDkSoWmDj4yzmBvumozpxYrHwjcKnjyDGAke68d+whWwvhHA==", + "requires": { + "@babel/runtime": "^7.10.1", + "classnames": "^2.2.1", + "date-fns": "2.x", + "dayjs": "1.x", + "moment": "^2.24.0", + "rc-trigger": "^5.0.4", + "rc-util": "^5.37.0", + "shallowequal": "^1.1.0" + } + }, + "rc-progress": { + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/rc-progress/-/rc-progress-3.4.2.tgz", + "integrity": "sha512-iAGhwWU+tsayP+Jkl9T4+6rHeQTG9kDz8JAHZk4XtQOcYN5fj9H34NXNEdRdZx94VUDHMqCb1yOIvi8eJRh67w==", + "requires": { + "@babel/runtime": "^7.10.1", + "classnames": "^2.2.6", + "rc-util": "^5.16.1" + } + }, + "rc-rate": { + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/rc-rate/-/rc-rate-2.9.3.tgz", + "integrity": "sha512-2THssUSnRhtqIouQIIXqsZGzRczvp4WsH4WvGuhiwm+LG2fVpDUJliP9O1zeDOZvYfBE/Bup4SgHun/eCkbjgQ==", + "requires": { + "@babel/runtime": "^7.10.1", + "classnames": "^2.2.5", + "rc-util": "^5.0.1" + } + }, + "rc-resize-observer": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/rc-resize-observer/-/rc-resize-observer-1.4.0.tgz", + "integrity": "sha512-PnMVyRid9JLxFavTjeDXEXo65HCRqbmLBw9xX9gfC4BZiSzbLXKzW3jPz+J0P71pLbD5tBMTT+mkstV5gD0c9Q==", + "requires": { + "@babel/runtime": "^7.20.7", + "classnames": "^2.2.1", + "rc-util": "^5.38.0", + "resize-observer-polyfill": "^1.5.1" + } + }, + "rc-segmented": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/rc-segmented/-/rc-segmented-2.3.0.tgz", + "integrity": "sha512-I3FtM5Smua/ESXutFfb8gJ8ZPcvFR+qUgeeGFQHBOvRiRKyAk4aBE5nfqrxXx+h8/vn60DQjOt6i4RNtrbOobg==", + "requires": { + "@babel/runtime": "^7.11.1", + "classnames": "^2.2.1", + "rc-motion": "^2.4.4", + "rc-util": "^5.17.0" + } + }, + "rc-select": { + "version": "14.1.18", + "resolved": "https://registry.npmjs.org/rc-select/-/rc-select-14.1.18.tgz", + "integrity": "sha512-4JgY3oG2Yz68ECMUSCON7mtxuJvCSj+LJpHEg/AONaaVBxIIrmI/ZTuMJkyojall/X50YdBe5oMKqHHPNiPzEg==", + "requires": { + "@babel/runtime": "^7.10.1", + "classnames": "2.x", + "rc-motion": "^2.0.1", + "rc-overflow": "^1.0.0", + "rc-trigger": "^5.0.4", + "rc-util": "^5.16.1", + "rc-virtual-list": "^3.2.0" + } + }, + "rc-slider": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/rc-slider/-/rc-slider-10.0.1.tgz", + "integrity": "sha512-igTKF3zBet7oS/3yNiIlmU8KnZ45npmrmHlUUio8PNbIhzMcsh+oE/r2UD42Y6YD2D/s+kzCQkzQrPD6RY435Q==", + "requires": { + "@babel/runtime": "^7.10.1", + "classnames": "^2.2.5", + "rc-util": "^5.18.1", + "shallowequal": "^1.1.0" + } + }, + "rc-steps": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/rc-steps/-/rc-steps-5.0.0.tgz", + "integrity": "sha512-9TgRvnVYirdhbV0C3syJFj9EhCRqoJAsxt4i1rED5o8/ZcSv5TLIYyo4H8MCjLPvbe2R+oBAm/IYBEtC+OS1Rw==", + "requires": { + "@babel/runtime": "^7.16.7", + "classnames": "^2.2.3", + "rc-util": "^5.16.1" + } + }, + "rc-swipeout": { + "version": "2.0.11", + "resolved": "https://registry.npmjs.org/rc-swipeout/-/rc-swipeout-2.0.11.tgz", + "integrity": "sha512-d37Lgn4RX4OOQyuA2BFo0rGlUwrmZk5q83srH3ixJ1Y1jidr2GKjgJDbNeGUVZPNfYBL91Elu6+xfVGftWf4Lg==", + "dev": true, + "requires": { + "babel-runtime": "6.x", + "classnames": "2.x", + "rc-gesture": "~0.0.22", + "react-native-swipeout": "^2.2.2" + } + }, + "rc-switch": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/rc-switch/-/rc-switch-3.2.2.tgz", + "integrity": "sha512-+gUJClsZZzvAHGy1vZfnwySxj+MjLlGRyXKXScrtCTcmiYNPzxDFOxdQ/3pK1Kt/0POvwJ/6ALOR8gwdXGhs+A==", + "requires": { + "@babel/runtime": "^7.10.1", + "classnames": "^2.2.1", + "rc-util": "^5.0.1" + } + }, + "rc-table": { + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/rc-table/-/rc-table-7.26.0.tgz", + "integrity": "sha512-0cD8e6S+DTGAt5nBZQIPFYEaIukn17sfa5uFL98faHlH/whZzD8ii3dbFL4wmUDEL4BLybhYop+QUfZJ4CPvNQ==", + "requires": { + "@babel/runtime": "^7.10.1", + "classnames": "^2.2.5", + "rc-resize-observer": "^1.1.0", + "rc-util": "^5.22.5", + "shallowequal": "^1.1.0" + } + }, + "rc-tabs": { + "version": "12.5.10", + "resolved": "https://registry.npmjs.org/rc-tabs/-/rc-tabs-12.5.10.tgz", + "integrity": "sha512-Ay0l0jtd4eXepFH9vWBvinBjqOpqzcsJTerBGwJy435P2S90Uu38q8U/mvc1sxUEVOXX5ZCFbxcWPnfG3dH+tQ==", + "requires": { + "@babel/runtime": "^7.11.2", + "classnames": "2.x", + "rc-dropdown": "~4.0.0", + "rc-menu": "~9.8.0", + "rc-motion": "^2.6.2", + "rc-resize-observer": "^1.0.0", + "rc-util": "^5.16.0" + }, + "dependencies": { + "rc-menu": { + "version": "9.8.4", + "resolved": "https://registry.npmjs.org/rc-menu/-/rc-menu-9.8.4.tgz", + "integrity": "sha512-lmw2j8I2fhdIzHmC9ajfImfckt0WDb2KVJJBBRIsxPEw2kGkEfjLMUoB1NgiNT/Q5cC8PdjGOGQjHJIJMwyNMw==", + "requires": { + "@babel/runtime": "^7.10.1", + "classnames": "2.x", + "rc-motion": "^2.4.3", + "rc-overflow": "^1.2.8", + "rc-trigger": "^5.1.2", + "rc-util": "^5.27.0" + } + } + } + }, + "rc-textarea": { + "version": "0.4.7", + "resolved": "https://registry.npmjs.org/rc-textarea/-/rc-textarea-0.4.7.tgz", + "integrity": "sha512-IQPd1CDI3mnMlkFyzt2O4gQ2lxUsnBAeJEoZGJnkkXgORNqyM9qovdrCj9NzcRfpHgLdzaEbU3AmobNFGUznwQ==", + "requires": { + "@babel/runtime": "^7.10.1", + "classnames": "^2.2.1", + "rc-resize-observer": "^1.0.0", + "rc-util": "^5.24.4", + "shallowequal": "^1.1.0" + } + }, + "rc-tooltip": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/rc-tooltip/-/rc-tooltip-5.2.2.tgz", + "integrity": "sha512-jtQzU/18S6EI3lhSGoDYhPqNpWajMtS5VV/ld1LwyfrDByQpYmw/LW6U7oFXXLukjfDHQ7Ju705A82PRNFWYhg==", + "requires": { + "@babel/runtime": "^7.11.2", + "classnames": "^2.3.1", + "rc-trigger": "^5.0.0" + } + }, + "rc-tree": { + "version": "5.7.12", + "resolved": "https://registry.npmjs.org/rc-tree/-/rc-tree-5.7.12.tgz", + "integrity": "sha512-LXA5nY2hG5koIAlHW5sgXgLpOMz+bFRbnZZ+cCg0tQs4Wv1AmY7EDi1SK7iFXhslYockbqUerQan82jljoaItg==", + "requires": { + "@babel/runtime": "^7.10.1", + "classnames": "2.x", + "rc-motion": "^2.0.1", + "rc-util": "^5.16.1", + "rc-virtual-list": "^3.5.1" + } + }, + "rc-tree-select": { + "version": "5.5.5", + "resolved": "https://registry.npmjs.org/rc-tree-select/-/rc-tree-select-5.5.5.tgz", + "integrity": "sha512-k2av7jF6tW9bIO4mQhaVdV4kJ1c54oxV3/hHVU+oD251Gb5JN+m1RbJFTMf1o0rAFqkvto33rxMdpafaGKQRJw==", + "requires": { + "@babel/runtime": "^7.10.1", + "classnames": "2.x", + "rc-select": "~14.1.0", + "rc-tree": "~5.7.0", + "rc-util": "^5.16.1" + } + }, + "rc-trigger": { + "version": "5.3.4", + "resolved": "https://registry.npmjs.org/rc-trigger/-/rc-trigger-5.3.4.tgz", + "integrity": "sha512-mQv+vas0TwKcjAO2izNPkqR4j86OemLRmvL2nOzdP9OWNWA1ivoTt5hzFqYNW9zACwmTezRiN8bttrC7cZzYSw==", + "requires": { + "@babel/runtime": "^7.18.3", + "classnames": "^2.2.6", + "rc-align": "^4.0.0", + "rc-motion": "^2.0.0", + "rc-util": "^5.19.2" + } + }, + "rc-upload": { + "version": "4.3.6", + "resolved": "https://registry.npmjs.org/rc-upload/-/rc-upload-4.3.6.tgz", + "integrity": "sha512-Bt7ESeG5tT3IY82fZcP+s0tQU2xmo1W6P3S8NboUUliquJLQYLkUcsaExi3IlBVr43GQMCjo30RA2o0i70+NjA==", + "requires": { + "@babel/runtime": "^7.18.3", + "classnames": "^2.2.5", + "rc-util": "^5.2.0" + } + }, + "rc-util": { + "version": "5.39.1", + "resolved": "https://registry.npmjs.org/rc-util/-/rc-util-5.39.1.tgz", + "integrity": "sha512-OW/ERynNDgNr4y0oiFmtes3rbEamXw7GHGbkbNd9iRr7kgT03T6fT0b9WpJ3mbxKhyOcAHnGcIoh5u/cjrC2OQ==", + "requires": { + "@babel/runtime": "^7.18.3", + "react-is": "^18.2.0" + } + }, + "rc-virtual-list": { + "version": "3.11.4", + "resolved": "https://registry.npmjs.org/rc-virtual-list/-/rc-virtual-list-3.11.4.tgz", + "integrity": "sha512-NbBi0fvyIu26gP69nQBiWgUMTPX3mr4FcuBQiVqagU0BnuX8WQkiivnMs105JROeuUIFczLrlgUhLQwTWV1XDA==", + "requires": { + "@babel/runtime": "^7.20.0", + "classnames": "^2.2.6", + "rc-resize-observer": "^1.0.0", + "rc-util": "^5.36.0" + } + }, + "react": { + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react/-/react-17.0.2.tgz", + "integrity": "sha512-gnhPt75i/dq/z3/6q/0asP78D0u592D5L1pd7M8P+dck6Fu/jJeL6iVVK23fptSUZj8Vjf++7wXA8UNclGQcbA==", + "requires": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1" + } + }, + "react-attr-converter": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/react-attr-converter/-/react-attr-converter-0.3.1.tgz", + "integrity": "sha512-dSxo2Mn6Zx4HajeCeQNLefwEO4kNtV/0E682R1+ZTyFRPqxDa5zYb5qM/ocqw9Bxr/kFQO0IUiqdV7wdHw+Cdg==", + "dev": true + }, + "react-clientside-effect": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/react-clientside-effect/-/react-clientside-effect-1.2.6.tgz", + "integrity": "sha512-XGGGRQAKY+q25Lz9a/4EPqom7WRjz3z9R2k4jhVKA/puQFH/5Nt27vFZYql4m4NVNdUvX8PS3O7r/Zzm7cjUlg==", + "requires": { + "@babel/runtime": "^7.12.13" + } + }, + "react-copy-to-clipboard": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/react-copy-to-clipboard/-/react-copy-to-clipboard-5.0.3.tgz", + "integrity": "sha512-9S3j+m+UxDZOM0Qb8mhnT/rMR0NGSrj9A/073yz2DSxPMYhmYFBMYIdI2X4o8AjOjyFsSNxDRnCX6s/gRxpriw==", + "dev": true, + "requires": { + "copy-to-clipboard": "^3", + "prop-types": "^15.5.8" + } + }, + "react-debounce-input": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/react-debounce-input/-/react-debounce-input-3.3.0.tgz", + "integrity": "sha512-VEqkvs8JvY/IIZvh71Z0TC+mdbxERvYF33RcebnodlsUZ8RSgyKe2VWaHXv4+/8aoOgXLxWrdsYs2hDhcwbUgA==", + "dev": true, + "requires": { + "lodash.debounce": "^4", + "prop-types": "^15.8.1" + } + }, + "react-dev-inspector": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/react-dev-inspector/-/react-dev-inspector-1.9.0.tgz", + "integrity": "sha512-1ZlraWRrDz+NgjHwOmTAn/wWoP+6gZt46DS1mRRILlST0iKg4FO2Zj9dDcG5XPaeIIr3OGKwsX5vM6vakmaftA==", + "requires": { + "@babel/core": "^7.11.6", + "@babel/generator": "^7.11.6", + "@babel/parser": "^7.11.5", + "@babel/traverse": "^7.11.5", + "@babel/types": "^7.17.0", + "hotkeys-js": "^3.8.1", + "loader-utils": "^2.0.0", + "querystring": "^0.2.1", + "react-dev-utils": "^12.0.1" + } + }, + "react-dev-utils": { + "version": "12.0.1", + "resolved": "https://registry.npmjs.org/react-dev-utils/-/react-dev-utils-12.0.1.tgz", + "integrity": "sha512-84Ivxmr17KjUupyqzFode6xKhjwuEJDROWKJy/BthkL7Wn6NJ8h4WE6k/exAv6ImS+0oZLRRW5j/aINMHyeGeQ==", + "requires": { + "@babel/code-frame": "^7.16.0", + "address": "^1.1.2", + "browserslist": "^4.18.1", + "chalk": "^4.1.2", + "cross-spawn": "^7.0.3", + "detect-port-alt": "^1.1.6", + "escape-string-regexp": "^4.0.0", + "filesize": "^8.0.6", + "find-up": "^5.0.0", + "fork-ts-checker-webpack-plugin": "^6.5.0", + "global-modules": "^2.0.0", + "globby": "^11.0.4", + "gzip-size": "^6.0.0", + "immer": "^9.0.7", + "is-root": "^2.1.0", + "loader-utils": "^3.2.0", + "open": "^8.4.0", + "pkg-up": "^3.1.0", + "prompts": "^2.4.2", + "react-error-overlay": "^6.0.11", + "recursive-readdir": "^2.2.2", + "shell-quote": "^1.7.3", + "strip-ansi": "^6.0.1", + "text-table": "^0.2.0" + }, + "dependencies": { + "filesize": { + "version": "8.0.7", + "resolved": "https://registry.npmjs.org/filesize/-/filesize-8.0.7.tgz", + "integrity": "sha512-pjmC+bkIF8XI7fWaH8KxHcZL3DPybs1roSKP4rKDvy20tAWwIObE4+JIseG2byfGKhud5ZnM4YSGKBz7Sh0ndQ==" + }, + "find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "requires": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + } + }, + "immer": { + "version": "9.0.21", + "resolved": "https://registry.npmjs.org/immer/-/immer-9.0.21.tgz", + "integrity": "sha512-bc4NBHqOqSfRW7POMkHd51LvClaeMXpm8dx0e8oE2GORbq5aRK7Bxl4FyzVLdGtLmvLKL7BTDBG5ACQm4HWjTA==" + }, + "loader-utils": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-3.2.1.tgz", + "integrity": "sha512-ZvFw1KWS3GVyYBYb7qkmRM/WwL2TQQBxgCK62rlvm4WpVQ23Nb4tYjApUlfjrEGvOs7KHEsmyUn75OHZrJMWPw==" + }, + "locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "requires": { + "p-locate": "^5.0.0" + } + }, + "open": { + "version": "8.4.2", + "resolved": "https://registry.npmjs.org/open/-/open-8.4.2.tgz", + "integrity": "sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==", + "requires": { + "define-lazy-prop": "^2.0.0", + "is-docker": "^2.1.1", + "is-wsl": "^2.2.0" + } + }, + "p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "requires": { + "yocto-queue": "^0.1.0" + } + }, + "p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "requires": { + "p-limit": "^3.0.2" + } + } + } + }, + "react-docgen-typescript-dumi-tmp": { + "version": "1.22.1-0", + "resolved": "https://registry.npmjs.org/react-docgen-typescript-dumi-tmp/-/react-docgen-typescript-dumi-tmp-1.22.1-0.tgz", + "integrity": "sha512-wjuAm1yj+ZZucovow2VF0MXkH2SGZ+squZxfNdnam3oyUbHy/xZaU1ZabCn7rY+13ZFx0/NLda+ZuBgF3g8vBA==", + "dev": true + }, + "react-dom": { + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-17.0.2.tgz", + "integrity": "sha512-s4h96KtLDUQlsENhMn1ar8t2bEa+q/YAtj8pPPdIjPDGBDIVNsrD9aXNWqspUe6AzKCIG0C1HZZLqLV7qpOBGA==", + "requires": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1", + "scheduler": "^0.20.2" + } + }, + "react-error-boundary": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/react-error-boundary/-/react-error-boundary-3.1.4.tgz", + "integrity": "sha512-uM9uPzZJTF6wRQORmSrvOIgt4lJ9MC1sNgEOj2XGsDTRE4kmpWxg7ENK9EWNKJRMAOY9z0MuF4yIfl6gp4sotA==", + "dev": true, + "requires": { + "@babel/runtime": "^7.12.5" + } + }, + "react-error-overlay": { + "version": "6.0.11", + "resolved": "https://registry.npmjs.org/react-error-overlay/-/react-error-overlay-6.0.11.tgz", + "integrity": "sha512-/6UZ2qgEyH2aqzYZgQPxEnz33NJ2gNsnHA2o5+o4wW9bLM/JYQitNP9xPhsXwC08hMMovfGe/8retsdDsczPRg==" + }, + "react-fast-compare": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/react-fast-compare/-/react-fast-compare-3.2.2.tgz", + "integrity": "sha512-nsO+KSNgo1SbJqJEYRE9ERzo7YtYbou/OqjSQKxV7jcKox7+usiUVZOAC+XnDOABXggQTno0Y1CpVnuWEc1boQ==" + }, + "react-focus-lock": { + "version": "2.11.2", + "resolved": "https://registry.npmjs.org/react-focus-lock/-/react-focus-lock-2.11.2.tgz", + "integrity": "sha512-DDTbEiov0+RthESPVSTIdAWPPKic+op3sCcP+icbMRobvQNt7LuAlJ3KoarqQv5sCgKArru3kXmlmFTa27/CdQ==", + "requires": { + "@babel/runtime": "^7.0.0", + "focus-lock": "^1.3.2", + "prop-types": "^15.6.2", + "react-clientside-effect": "^1.2.6", + "use-callback-ref": "^1.3.0", + "use-sidecar": "^1.1.2" + } + }, + "react-helmet": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/react-helmet/-/react-helmet-6.1.0.tgz", + "integrity": "sha512-4uMzEY9nlDlgxr61NL3XbKRy1hEkXmKNXhjbAIOVw5vcFrsdYbH2FEwcNyWvWinl103nXgzYNlns9ca+8kFiWw==", + "dev": true, + "requires": { + "object-assign": "^4.1.1", + "prop-types": "^15.7.2", + "react-fast-compare": "^3.1.1", + "react-side-effect": "^2.1.0" + } + }, + "react-helmet-async": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/react-helmet-async/-/react-helmet-async-1.3.0.tgz", + "integrity": "sha512-9jZ57/dAn9t3q6hneQS0wukqC2ENOBgMNVEhb/ZG9ZSxUetzVIw4iAmEU38IaVg3QGYauQPhSeUTuIUtFglWpg==", + "requires": { + "@babel/runtime": "^7.12.5", + "invariant": "^2.2.4", + "prop-types": "^15.7.2", + "react-fast-compare": "^3.2.0", + "shallowequal": "^1.1.0" + } + }, + "react-immutable-proptypes": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/react-immutable-proptypes/-/react-immutable-proptypes-2.2.0.tgz", + "integrity": "sha512-Vf4gBsePlwdGvSZoLSBfd4HAP93HDauMY4fDjXhreg/vg6F3Fj/MXDNyTbltPC/xZKmZc+cjLu3598DdYK6sgQ==", + "dev": true, + "requires": { + "invariant": "^2.2.2" + } + }, + "react-immutable-pure-component": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/react-immutable-pure-component/-/react-immutable-pure-component-1.2.4.tgz", + "integrity": "sha512-zPXaFWxaF4+ztVMFNMlCFkrhjpb9MPcL3JnXUpb6wKGF1+vBoSgClFbpbOsZAji7gm+RHBE24H44Lday2xxPjw==", + "dev": true + }, + "react-inspector": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/react-inspector/-/react-inspector-2.3.1.tgz", + "integrity": "sha512-tUUK7t3KWgZEIUktOYko5Ic/oYwvjEvQUFAGC1UeMeDaQ5za2yZFtItJa2RTwBJB//NxPr000WQK6sEbqC6y0Q==", + "dev": true, + "requires": { + "babel-runtime": "^6.26.0", + "is-dom": "^1.0.9", + "prop-types": "^15.6.1" + } + }, + "react-intl": { + "version": "3.12.1", + "resolved": "https://registry.npmjs.org/react-intl/-/react-intl-3.12.1.tgz", + "integrity": "sha512-cgumW29mwROIqyp8NXStYsoIm27+8FqnxykiLSawWjOxGIBeLuN/+p2srei5SRIumcJefOkOIHP+NDck05RgHg==", + "dev": true, + "requires": { + "@formatjs/intl-displaynames": "^1.2.0", + "@formatjs/intl-listformat": "^1.4.1", + "@formatjs/intl-relativetimeformat": "^4.5.9", + "@formatjs/intl-unified-numberformat": "^3.2.0", + "@formatjs/intl-utils": "^2.2.0", + "@types/hoist-non-react-statics": "^3.3.1", + "@types/invariant": "^2.2.31", + "hoist-non-react-statics": "^3.3.2", + "intl-format-cache": "^4.2.21", + "intl-messageformat": "^7.8.4", + "intl-messageformat-parser": "^3.6.4", + "shallow-equal": "^1.2.1" + }, + "dependencies": { + "intl-messageformat": { + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/intl-messageformat/-/intl-messageformat-7.8.4.tgz", + "integrity": "sha512-yS0cLESCKCYjseCOGXuV4pxJm/buTfyCJ1nzQjryHmSehlptbZbn9fnlk1I9peLopZGGbjj46yHHiTAEZ1qOTA==", + "dev": true, + "requires": { + "intl-format-cache": "^4.2.21", + "intl-messageformat-parser": "^3.6.4" + } + } + } + }, + "react-is": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==" + }, + "react-lifecycles-compat": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz", + "integrity": "sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA==", + "dev": true + }, + "react-motion": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/react-motion/-/react-motion-0.5.2.tgz", + "integrity": "sha512-9q3YAvHoUiWlP3cK0v+w1N5Z23HXMj4IF4YuvjvWegWqNPfLXsOBE/V7UvQGpXxHFKRQQcNcVQE31g9SB/6qgQ==", + "dev": true, + "requires": { + "performance-now": "^0.2.0", + "prop-types": "^15.5.8", + "raf": "^3.1.0" + }, + "dependencies": { + "performance-now": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-0.2.0.tgz", + "integrity": "sha512-YHk5ez1hmMR5LOkb9iJkLKqoBlL7WD5M8ljC75ZfzXriuBIVNuecaXuU7e+hOwyqf24Wxhh7Vxgt7Hnw9288Tg==", + "dev": true + } + } + }, + "react-native-swipeout": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/react-native-swipeout/-/react-native-swipeout-2.3.6.tgz", + "integrity": "sha512-t9suUCspzck4vp2pWggWe0frS/QOtX6yYCawHnEes75A7dZCEE74bxX2A1bQzGH9cUMjq6xsdfC94RbiDKIkJg==", + "dev": true, + "requires": { + "create-react-class": "^15.6.0", + "prop-types": "^15.5.10", + "react-tween-state": "^0.1.5" + } + }, + "react-redux": { + "version": "7.2.9", + "resolved": "https://registry.npmjs.org/react-redux/-/react-redux-7.2.9.tgz", + "integrity": "sha512-Gx4L3uM182jEEayZfRbI/G11ZpYdNAnBs70lFVMNdHJI76XYtR+7m0MN+eAs7UHBPhWXcnFPaS+9owSCJQHNpQ==", + "dev": true, + "requires": { + "@babel/runtime": "^7.15.4", + "@types/react-redux": "^7.1.20", + "hoist-non-react-statics": "^3.3.2", + "loose-envify": "^1.4.0", + "prop-types": "^15.7.2", + "react-is": "^17.0.2" + }, + "dependencies": { + "react-is": { + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", + "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", + "dev": true + } + } + }, + "react-refresh": { + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.10.0.tgz", + "integrity": "sha512-PgidR3wST3dDYKr6b4pJoqQFpPGNKDSCDx4cZoshjXipw3LzO7mG1My2pwEzz2JVkF+inx3xRpDeQLFQGH/hsQ==" + }, + "react-router": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/react-router/-/react-router-5.2.0.tgz", + "integrity": "sha512-smz1DUuFHRKdcJC0jobGo8cVbhO3x50tCL4icacOlcwDOEQPq4TMqwx3sY1TP+DvtTgz4nm3thuo7A+BK2U0Dw==", + "requires": { + "@babel/runtime": "^7.1.2", + "history": "^4.9.0", + "hoist-non-react-statics": "^3.1.0", + "loose-envify": "^1.3.1", + "mini-create-react-context": "^0.4.0", + "path-to-regexp": "^1.7.0", + "prop-types": "^15.6.2", + "react-is": "^16.6.0", + "tiny-invariant": "^1.0.2", + "tiny-warning": "^1.0.0" + }, + "dependencies": { + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==" + }, + "path-to-regexp": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.8.0.tgz", + "integrity": "sha512-n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA==", + "requires": { + "isarray": "0.0.1" + } + }, + "react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" + } + } + }, + "react-router-config": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/react-router-config/-/react-router-config-5.1.1.tgz", + "integrity": "sha512-DuanZjaD8mQp1ppHjgnnUnyOlqYXZVjnov/JzFhjLEwd3Z4dYjMSnqrEzzGThH47vpCOqPPwJM2FtthLeJ8Pbg==", + "requires": { + "@babel/runtime": "^7.1.2" + } + }, + "react-router-dom": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-5.2.0.tgz", + "integrity": "sha512-gxAmfylo2QUjcwxI63RhQ5G85Qqt4voZpUXSEqCwykV0baaOTQDR1f0PmY8AELqIyVc0NEZUj0Gov5lNGcXgsA==", + "requires": { + "@babel/runtime": "^7.1.2", + "history": "^4.9.0", + "loose-envify": "^1.3.1", + "prop-types": "^15.6.2", + "react-router": "5.2.0", + "tiny-invariant": "^1.0.2", + "tiny-warning": "^1.0.0" + } + }, + "react-side-effect": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/react-side-effect/-/react-side-effect-2.1.2.tgz", + "integrity": "sha512-PVjOcvVOyIILrYoyGEpDN3vmYNLdy1CajSFNt4TDsVQC5KpTijDvWVoR+/7Rz2xT978D8/ZtFceXxzsPwZEDvw==", + "dev": true + }, + "react-sortable-hoc": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/react-sortable-hoc/-/react-sortable-hoc-2.0.0.tgz", + "integrity": "sha512-JZUw7hBsAHXK7PTyErJyI7SopSBFRcFHDjWW5SWjcugY0i6iH7f+eJkY8cJmGMlZ1C9xz1J3Vjz0plFpavVeRg==", + "requires": { + "@babel/runtime": "^7.2.0", + "invariant": "^2.2.4", + "prop-types": "^15.5.7" + } + }, + "react-syntax-highlighter": { + "version": "15.5.0", + "resolved": "https://registry.npmjs.org/react-syntax-highlighter/-/react-syntax-highlighter-15.5.0.tgz", + "integrity": "sha512-+zq2myprEnQmH5yw6Gqc8lD55QHnpKaU8TOcFeC/Lg/MQSs8UknEA0JC4nTZGFAXC2J2Hyj/ijJ7NlabyPi2gg==", + "dev": true, + "requires": { + "@babel/runtime": "^7.3.1", + "highlight.js": "^10.4.1", + "lowlight": "^1.17.0", + "prismjs": "^1.27.0", + "refractor": "^3.6.0" + } + }, + "react-transition-group": { + "version": "4.4.5", + "resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-4.4.5.tgz", + "integrity": "sha512-pZcd1MCJoiKiBR2NRxeCRg13uCXbydPnmB4EOeRrY7480qNWO8IIgQG6zlDkm6uRMsURXPuKq0GWtiM59a5Q6g==", + "requires": { + "@babel/runtime": "^7.5.5", + "dom-helpers": "^5.0.1", + "loose-envify": "^1.4.0", + "prop-types": "^15.6.2" + } + }, + "react-tween-state": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/react-tween-state/-/react-tween-state-0.1.5.tgz", + "integrity": "sha512-sJQpjsdn0wjlDIUpfpb7jQGnOG8hAEW2e8k0KPA+xmf5KFa6Xat2JldbmxBhaqP0S/uIXhVE5ymKyH/b9X8nYA==", + "dev": true, + "requires": { + "raf": "^3.1.0", + "tween-functions": "^1.0.1" + } + }, + "reactcss": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/reactcss/-/reactcss-1.2.3.tgz", + "integrity": "sha512-KiwVUcFu1RErkI97ywr8nvx8dNOpT03rbnma0SSalTYjkrPYaEajR4a/MRt6DZ46K6arDRbWMNHF+xH7G7n/8A==", + "requires": { + "lodash": "^4.0.1" + } + }, + "read-pkg": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", + "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", + "dev": true, + "requires": { + "@types/normalize-package-data": "^2.4.0", + "normalize-package-data": "^2.5.0", + "parse-json": "^5.0.0", + "type-fest": "^0.6.0" + }, + "dependencies": { + "type-fest": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", + "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==", + "dev": true + } + } + }, + "read-pkg-up": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz", + "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==", + "dev": true, + "requires": { + "find-up": "^4.1.0", + "read-pkg": "^5.2.0", + "type-fest": "^0.8.1" + }, + "dependencies": { + "type-fest": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", + "dev": true + } + } + }, + "readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + }, + "dependencies": { + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + } + } + }, + "readdirp": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.5.0.tgz", + "integrity": "sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ==", + "requires": { + "picomatch": "^2.2.1" + } + }, + "recursive-readdir": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/recursive-readdir/-/recursive-readdir-2.2.3.tgz", + "integrity": "sha512-8HrF5ZsXk5FAH9dgsx3BlUer73nIhuj+9OrQwEbLTPOBzGkL1lsFCR01am+v+0m2Cmbs1nP12hLDl5FA7EszKA==", + "requires": { + "minimatch": "^3.0.5" + } + }, + "redent": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz", + "integrity": "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==", + "dev": true, + "requires": { + "indent-string": "^4.0.0", + "strip-indent": "^3.0.0" + }, + "dependencies": { + "strip-indent": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz", + "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==", + "dev": true, + "requires": { + "min-indent": "^1.0.0" + } + } + } + }, + "redeyed": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/redeyed/-/redeyed-2.1.1.tgz", + "integrity": "sha512-FNpGGo1DycYAdnrKFxCMmKYgo/mILAqtRYbkdQD8Ep/Hk2PQ5+aEAEx+IU713RTDmuBaH0c8P5ZozurNu5ObRQ==", + "dev": true, + "requires": { + "esprima": "~4.0.0" + } + }, + "redux": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/redux/-/redux-4.2.1.tgz", + "integrity": "sha512-LAUYz4lc+Do8/g7aeRa8JkyDErK6ekstQaqWQrNRW//MY1TvCEpMtpTWvlQ+FPbWCx+Xixu/6SHt5N0HR+SB4w==", + "dev": true, + "requires": { + "@babel/runtime": "^7.9.2" + } + }, + "redux-immutable": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/redux-immutable/-/redux-immutable-3.1.0.tgz", + "integrity": "sha512-1W+0w6jKurzRnLLpYXRSOgaBTDpJthbnFJkkRei7598uNkiRYn5BZZ4QcGDX2I5Sin8L7W3hOHzQ9ne0oO8y8A==", + "dev": true, + "requires": { + "immutable": "^3.8.1" + }, + "dependencies": { + "immutable": { + "version": "3.8.2", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-3.8.2.tgz", + "integrity": "sha512-15gZoQ38eYjEjxkorfbcgBKBL6R7T459OuK+CpcWt7O3KF4uPCx2tD0uFETlUDIyo+1789crbMhTvQBSR5yBMg==", + "dev": true + } + } + }, + "redux-saga": { + "version": "0.16.2", + "resolved": "https://registry.npmjs.org/redux-saga/-/redux-saga-0.16.2.tgz", + "integrity": "sha512-iIjKnRThI5sKPEASpUvySemjzwqwI13e3qP7oLub+FycCRDysLSAOwt958niZW6LhxfmS6Qm1BzbU70w/Koc4w==", + "dev": true + }, + "reflect.getprototypeof": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.6.tgz", + "integrity": "sha512-fmfw4XgoDke3kdI6h4xcUz1dG8uaiv5q9gcEwLS4Pnth2kxT+GZ7YehS1JTMGBQmtV7Y4GFGbs2re2NqhdozUg==", + "dev": true, + "requires": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.1", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.4", + "globalthis": "^1.0.3", + "which-builtin-type": "^1.1.3" + } + }, + "refractor": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/refractor/-/refractor-3.6.0.tgz", + "integrity": "sha512-MY9W41IOWxxk31o+YvFCNyNzdkc9M20NoZK5vq6jkv4I/uh2zkWcfudj0Q1fovjUQJrNewS9NMzeTtqPf+n5EA==", + "dev": true, + "requires": { + "hastscript": "^6.0.0", + "parse-entities": "^2.0.0", + "prismjs": "~1.27.0" + }, + "dependencies": { + "prismjs": { + "version": "1.27.0", + "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.27.0.tgz", + "integrity": "sha512-t13BGPUlFDR7wRB5kQDG4jjl7XeuH6jbJGt11JHPL96qwsEHNX2+68tFXqc1/k+/jALsbSWJKUOT/hcYAZ5LkA==", + "dev": true + } + } + }, + "reftools": { + "version": "1.1.9", + "resolved": "https://registry.npmjs.org/reftools/-/reftools-1.1.9.tgz", + "integrity": "sha512-OVede/NQE13xBQ+ob5CKd5KyeJYU2YInb1bmV4nRoOfquZPkAkxuOXicSe1PvqIuZZ4kD13sPKBbR7UFDmli6w==", + "dev": true + }, + "regenerate": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", + "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==" + }, + "regenerate-unicode-properties": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.0.1.tgz", + "integrity": "sha512-vn5DU6yg6h8hP/2OkQo3K7uVILvY4iu0oI4t3HFa81UPkhGJwkRwM10JEc3upjdhHjs/k8GJY1sRBhk5sr69Bw==", + "requires": { + "regenerate": "^1.4.2" + } + }, + "regenerator-runtime": { + "version": "0.14.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz", + "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==" + }, + "regenerator-transform": { + "version": "0.15.2", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.2.tgz", + "integrity": "sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==", + "dev": true, + "requires": { + "@babel/runtime": "^7.8.4" + } + }, + "regex-not": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", + "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", + "dev": true, + "requires": { + "extend-shallow": "^3.0.2", + "safe-regex": "^1.1.0" + }, + "dependencies": { + "extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==", + "dev": true, + "requires": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + } + }, + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "requires": { + "is-plain-object": "^2.0.4" + } + }, + "safe-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", + "integrity": "sha512-aJXcif4xnaNUzvUuC5gcb46oTS7zvg4jpMTnuqtrEPlR3vFr4pxtdTwaF1Qs3Enjn9HK+ZlwQui+a7z0SywIzg==", + "dev": true, + "requires": { + "ret": "~0.1.10" + } + } + } + }, + "regexp-tree": { + "version": "0.1.27", + "resolved": "https://registry.npmjs.org/regexp-tree/-/regexp-tree-0.1.27.tgz", + "integrity": "sha512-iETxpjK6YoRWJG5o6hXLwvjYAoW+FEZn9os0PD/b6AP6xQwsa/Y7lCVgIixBbUPMfhu+i2LtdeAqVTgGlQarfA==", + "dev": true + }, + "regexp.prototype.flags": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.2.tgz", + "integrity": "sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw==", + "dev": true, + "requires": { + "call-bind": "^1.0.6", + "define-properties": "^1.2.1", + "es-errors": "^1.3.0", + "set-function-name": "^2.0.1" + } + }, + "regexpp": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", + "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==", + "dev": true + }, + "regexpu-core": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.3.2.tgz", + "integrity": "sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==", + "dev": true, + "requires": { + "@babel/regjsgen": "^0.8.0", + "regenerate": "^1.4.2", + "regenerate-unicode-properties": "^10.1.0", + "regjsparser": "^0.9.1", + "unicode-match-property-ecmascript": "^2.0.0", + "unicode-match-property-value-ecmascript": "^2.1.0" + }, + "dependencies": { + "regenerate-unicode-properties": { + "version": "10.1.1", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.1.tgz", + "integrity": "sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q==", + "dev": true, + "requires": { + "regenerate": "^1.4.2" + } + } + } + }, + "registry-auth-token": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-3.4.0.tgz", + "integrity": "sha512-4LM6Fw8eBQdwMYcES4yTnn2TqIasbXuwDx3um+QRs7S55aMKCBKBxvPXl2RiUjHwuJLTyYfxSpmfSAjQpcuP+A==", + "dev": true, + "requires": { + "rc": "^1.1.6", + "safe-buffer": "^5.0.1" + } + }, + "registry-url": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-3.1.0.tgz", + "integrity": "sha512-ZbgR5aZEdf4UKZVBPYIgaglBmSF2Hi94s2PcIHhRGFjKYu+chjJdYfHn4rt3hB6eCKLJ8giVIIfgMa1ehDfZKA==", + "dev": true, + "requires": { + "rc": "^1.0.1" + } + }, + "regjsparser": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz", + "integrity": "sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==", + "dev": true, + "requires": { + "jsesc": "~0.5.0" + }, + "dependencies": { + "jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==", + "dev": true + } + } + }, + "rehype-autolink-headings": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/rehype-autolink-headings/-/rehype-autolink-headings-4.0.0.tgz", + "integrity": "sha512-2lglJ+4S3A4RCz+zlKVWj1wHvwO4bjunAoEOgMfjphT59EVXwdMiJzrL/A2fuAX/33k/LhkGW6BEK1Cl1I5WQw==", + "dev": true, + "requires": { + "extend": "^3.0.1", + "hast-util-has-property": "^1.0.0", + "hast-util-is-element": "^1.0.0", + "unist-util-visit": "^2.0.0" + } + }, + "rehype-mathjax": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/rehype-mathjax/-/rehype-mathjax-3.1.0.tgz", + "integrity": "sha512-Pmz92Y56lBFmDjFc9nIdrKu1xzKSBYevcwKiKiG7b5JJg74q1E62nRSbPEm37vXaXn7Bn25iRsWcP39bJKkMxg==", + "dev": true, + "requires": { + "@types/mathjax": "^0.0.36", + "hast-util-from-dom": "^3.0.0", + "hast-util-to-text": "^2.0.0", + "jsdom": "^16.0.0", + "mathjax-full": "^3.0.0", + "unist-util-visit": "^2.0.0" + } + }, + "rehype-remove-comments": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/rehype-remove-comments/-/rehype-remove-comments-4.0.2.tgz", + "integrity": "sha512-E2FNohTuIs7QzUnEQs3SdYdCScsTgUN7yPeDNWi+gsvx+pbLzIAyp27TWz3Gm64jpdLi7/6HxyRHxdd1NVQ37A==", + "dev": true, + "requires": { + "hast-util-is-conditional-comment": "^1.0.0", + "unist-util-filter": "^2.0.0" + } + }, + "rehype-stringify": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/rehype-stringify/-/rehype-stringify-8.0.0.tgz", + "integrity": "sha512-VkIs18G0pj2xklyllrPSvdShAV36Ff3yE5PUO9u36f6+2qJFnn22Z5gKwBOwgXviux4UC7K+/j13AnZfPICi/g==", + "dev": true, + "requires": { + "hast-util-to-html": "^7.1.1" + } + }, + "remark": { + "version": "13.0.0", + "resolved": "https://registry.npmjs.org/remark/-/remark-13.0.0.tgz", + "integrity": "sha512-HDz1+IKGtOyWN+QgBiAT0kn+2s6ovOxHyPAFGKVE81VSzJ+mq7RwHFledEvB5F1p4iJvOah/LOKdFuzvRnNLCA==", + "dev": true, + "requires": { + "remark-parse": "^9.0.0", + "remark-stringify": "^9.0.0", + "unified": "^9.1.0" + }, + "dependencies": { + "is-buffer": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz", + "integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==", + "dev": true + }, + "unified": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/unified/-/unified-9.2.2.tgz", + "integrity": "sha512-Sg7j110mtefBD+qunSLO1lqOEKdrwBFBrR6Qd8f4uwkhWNlbkaqwHse6e7QvD3AP/MNoJdEDLaf8OxYyoWgorQ==", + "dev": true, + "requires": { + "bail": "^1.0.0", + "extend": "^3.0.0", + "is-buffer": "^2.0.0", + "is-plain-obj": "^2.0.0", + "trough": "^1.0.0", + "vfile": "^4.0.0" + } + } + } + }, + "remark-frontmatter": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/remark-frontmatter/-/remark-frontmatter-3.0.0.tgz", + "integrity": "sha512-mSuDd3svCHs+2PyO29h7iijIZx4plX0fheacJcAoYAASfgzgVIcXGYSq9GFyYocFLftQs8IOmmkgtOovs6d4oA==", + "dev": true, + "requires": { + "mdast-util-frontmatter": "^0.2.0", + "micromark-extension-frontmatter": "^0.2.0" + } + }, + "remark-gfm": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/remark-gfm/-/remark-gfm-1.0.0.tgz", + "integrity": "sha512-KfexHJCiqvrdBZVbQ6RopMZGwaXz6wFJEfByIuEwGf0arvITHjiKKZ1dpXujjH9KZdm1//XJQwgfnJ3lmXaDPA==", + "dev": true, + "requires": { + "mdast-util-gfm": "^0.1.0", + "micromark-extension-gfm": "^0.3.0" + } + }, + "remark-math": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/remark-math/-/remark-math-4.0.0.tgz", + "integrity": "sha512-lH7SoQenXtQrvL0bm+mjZbvOk//YWNuyR+MxV18Qyv8rgFmMEGNuB0TSCQDkoDaiJ40FCnG8lxErc/zhcedYbw==", + "dev": true, + "requires": { + "mdast-util-math": "^0.1.0", + "micromark-extension-math": "^0.1.0" + } + }, + "remark-parse": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-9.0.0.tgz", + "integrity": "sha512-geKatMwSzEXKHuzBNU1z676sGcDcFoChMK38TgdHJNAYfFtsfHDQG7MoJAjs6sgYMqyLduCYWDIWZIxiPeafEw==", + "dev": true, + "requires": { + "mdast-util-from-markdown": "^0.8.0" + } + }, + "remark-rehype": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/remark-rehype/-/remark-rehype-8.1.0.tgz", + "integrity": "sha512-EbCu9kHgAxKmW1yEYjx3QafMyGY3q8noUbNUI5xyKbaFP89wbhDrKxyIQNukNYthzjNHZu6J7hwFg7hRm1svYA==", + "dev": true, + "requires": { + "mdast-util-to-hast": "^10.2.0" + } + }, + "remark-stringify": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/remark-stringify/-/remark-stringify-9.0.1.tgz", + "integrity": "sha512-mWmNg3ZtESvZS8fv5PTvaPckdL4iNlCHTt8/e/8oN08nArHRHjNZMKzA/YW3+p7/lYqIw4nx1XsjCBo/AxNChg==", + "dev": true, + "requires": { + "mdast-util-to-markdown": "^0.6.0" + } + }, + "remarkable": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/remarkable/-/remarkable-2.0.1.tgz", + "integrity": "sha512-YJyMcOH5lrR+kZdmB0aJJ4+93bEojRZ1HGDn9Eagu6ibg7aVZhc3OWbbShRid+Q5eAfsEqWxpe+g5W5nYNfNiA==", + "dev": true, + "requires": { + "argparse": "^1.0.10", + "autolinker": "^3.11.0" + } + }, + "remote-origin-url": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/remote-origin-url/-/remote-origin-url-0.5.3.tgz", + "integrity": "sha512-crQ7Xk1m/F2IiwBx5oTqk/c0hjoumrEz+a36+ZoVupskQRE/q7pAwHKsTNeiZ31sbSTELvVlVv4h1W0Xo5szKg==", + "dev": true, + "requires": { + "parse-git-config": "^1.1.1" + } + }, + "remove-trailing-separator": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", + "integrity": "sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw==", + "dev": true + }, + "repeat-element": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.4.tgz", + "integrity": "sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==", + "dev": true + }, + "repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==", + "dev": true + }, + "replace-ext": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-1.0.1.tgz", + "integrity": "sha512-yD5BHCe7quCgBph4rMQ+0KkIRKwWCrHDOX1p1Gp6HwjPM5kVoCdKGNhN7ydqqsX6lJEnQDKZ/tFMiEdQ1dvPEw==", + "dev": true + }, + "request": { + "version": "2.88.2", + "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", + "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", + "dev": true, + "requires": { + "aws-sign2": "~0.7.0", + "aws4": "^1.8.0", + "caseless": "~0.12.0", + "combined-stream": "~1.0.6", + "extend": "~3.0.2", + "forever-agent": "~0.6.1", + "form-data": "~2.3.2", + "har-validator": "~5.1.3", + "http-signature": "~1.2.0", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.19", + "oauth-sign": "~0.9.0", + "performance-now": "^2.1.0", + "qs": "~6.5.2", + "safe-buffer": "^5.1.2", + "tough-cookie": "~2.5.0", + "tunnel-agent": "^0.6.0", + "uuid": "^3.3.2" + }, + "dependencies": { + "form-data": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", + "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", + "dev": true, + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" + } + }, + "qs": { + "version": "6.5.3", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.3.tgz", + "integrity": "sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==", + "dev": true + }, + "tough-cookie": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", + "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", + "dev": true, + "requires": { + "psl": "^1.1.28", + "punycode": "^2.1.1" + } + }, + "uuid": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", + "dev": true + } + } + }, + "require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "dev": true + }, + "require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "dev": true + }, + "require-main-filename": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", + "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", + "dev": true + }, + "requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==", + "dev": true + }, + "reselect": { + "version": "4.1.8", + "resolved": "https://registry.npmjs.org/reselect/-/reselect-4.1.8.tgz", + "integrity": "sha512-ab9EmR80F/zQTMNeneUr4cv+jSwPJgIlvEmVwLerwrWVbpLlBuls9XHzIeTFy4cegU2NHBp3va0LKOzU5qFEYQ==", + "dev": true + }, + "reserved-words": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/reserved-words/-/reserved-words-0.1.2.tgz", + "integrity": "sha512-0S5SrIUJ9LfpbVl4Yzij6VipUdafHrOTzvmfazSw/jeZrZtQK303OPZW+obtkaw7jQlTQppy0UvZWm9872PbRw==", + "dev": true + }, + "resize-observer-polyfill": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/resize-observer-polyfill/-/resize-observer-polyfill-1.5.1.tgz", + "integrity": "sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg==" + }, + "resolve": { + "version": "1.22.8", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", + "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", + "dev": true, + "requires": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + } + }, + "resolve-cwd": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", + "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", + "dev": true, + "requires": { + "resolve-from": "^5.0.0" + } + }, + "resolve-dir": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-0.1.1.tgz", + "integrity": "sha512-QxMPqI6le2u0dCLyiGzgy92kjkkL6zO0XyvHzjdTNH3zM6e5Hz3BwG6+aEyNgiQ5Xz6PwTwgQEj3U50dByPKIA==", + "dev": true, + "requires": { + "expand-tilde": "^1.2.2", + "global-modules": "^0.2.3" + }, + "dependencies": { + "global-modules": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-0.2.3.tgz", + "integrity": "sha512-JeXuCbvYzYXcwE6acL9V2bAOeSIGl4dD+iwLY9iUx2VBJJ80R18HCn+JCwHM9Oegdfya3lEkGCdaRkSyc10hDA==", + "dev": true, + "requires": { + "global-prefix": "^0.1.4", + "is-windows": "^0.2.0" + } + }, + "global-prefix": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-0.1.5.tgz", + "integrity": "sha512-gOPiyxcD9dJGCEArAhF4Hd0BAqvAe/JzERP7tYumE4yIkmIedPUVXcJFWbV3/p/ovIIvKjkrTk+f1UVkq7vvbw==", + "dev": true, + "requires": { + "homedir-polyfill": "^1.0.0", + "ini": "^1.3.4", + "is-windows": "^0.2.0", + "which": "^1.2.12" + } + }, + "which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + } + } + }, + "resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true + }, + "resolve-pathname": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-pathname/-/resolve-pathname-3.0.0.tgz", + "integrity": "sha512-C7rARubxI8bXFNB/hqcp/4iUeIXJhJZvFPFPiSPRnhU5UPxzMFIl+2E6yY6c4k9giDJAhtV+enfA+G89N6Csng==" + }, + "resolve-url": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", + "integrity": "sha512-ZuF55hVUQaaczgOIwqWzkEcEidmlD/xl44x1UZnhOXcYuFN2S6+rcxpG+C1N3So0wvNI3DmJICUFfu2SxhBmvg==", + "dev": true + }, + "responselike": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/responselike/-/responselike-1.0.2.tgz", + "integrity": "sha512-/Fpe5guzJk1gPqdJLJR5u7eG/gNY4nImjbRDaVWVMRhne55TCmj2i9Q+54PBRfatRC8v/rIiv9BN0pMd9OV5EQ==", + "dev": true, + "requires": { + "lowercase-keys": "^1.0.0" + } + }, + "restore-cursor": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", + "integrity": "sha512-6IzJLuGi4+R14vwagDHX+JrXmPVtPpn4mffDJ1UdR7/Edm87fl6yi8mMBIVvFtJaNTUvjughmW4hwLhRG7gC1Q==", + "dev": true, + "requires": { + "onetime": "^2.0.0", + "signal-exit": "^3.0.2" + }, + "dependencies": { + "mimic-fn": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", + "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", + "dev": true + }, + "onetime": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", + "integrity": "sha512-oyyPpiMaKARvvcgip+JV+7zci5L8D1W9RZIz2l1o08AM3pfspitVWnPt3mzHcBPp12oYMTy0pqrFs/C+m3EwsQ==", + "dev": true, + "requires": { + "mimic-fn": "^1.0.0" + } + } + } + }, + "ret": { + "version": "0.1.15", + "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", + "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", + "dev": true + }, + "retry": { + "version": "0.10.1", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.10.1.tgz", + "integrity": "sha512-ZXUSQYTHdl3uS7IuCehYfMzKyIDBNoAuUblvy5oGO5UJSUTmStUUVPXbA9Qxd173Bgre53yCQczQuHgRWAdvJQ==", + "dev": true + }, + "reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==" + }, + "rfdc": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.3.1.tgz", + "integrity": "sha512-r5a3l5HzYlIC68TpmYKlxWjmOP6wiPJ1vWv2HeLhNsRZMrCkxeqxiHlQ21oXmQ4F3SiryXBHhAD7JZqvOJjFmg==", + "dev": true + }, + "rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, + "ripemd160": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", + "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", + "requires": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1" + } + }, + "rmc-align": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/rmc-align/-/rmc-align-1.0.0.tgz", + "integrity": "sha512-3gEa5/+hqqoEVoeQ25KoRc8DOsXIdSaVpaBq1zQFaV941LR3xvZIRTlxTDT/IagYwoGM1KZea/jd7cNMYP34Rg==", + "dev": true, + "requires": { + "babel-runtime": "6.x", + "dom-align": "1.x", + "rc-util": "4.x" + }, + "dependencies": { + "rc-util": { + "version": "4.21.1", + "resolved": "https://registry.npmjs.org/rc-util/-/rc-util-4.21.1.tgz", + "integrity": "sha512-Z+vlkSQVc1l8O2UjR3WQ+XdWlhj5q9BMQNLk2iOBch75CqPfrJyGtcWMcnhRlNuDu0Ndtt4kLVO8JI8BrABobg==", + "dev": true, + "requires": { + "add-dom-event-listener": "^1.1.0", + "prop-types": "^15.5.10", + "react-is": "^16.12.0", + "react-lifecycles-compat": "^3.0.4", + "shallowequal": "^1.1.0" + } + }, + "react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", + "dev": true + } + } + }, + "rmc-calendar": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/rmc-calendar/-/rmc-calendar-1.1.4.tgz", + "integrity": "sha512-xxQZaPFDnpHt4IFO8mukYrXSgC1W8LcNVp+EoX4iyeOJFimungOKB/iP5/cy+st8yXq8lUgk9TXsHNtM6Xo6ZA==", + "dev": true, + "requires": { + "babel-runtime": "^6.26.0", + "rc-animate": "^2.4.4", + "rmc-date-picker": "^6.0.8" + } + }, + "rmc-cascader": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/rmc-cascader/-/rmc-cascader-5.0.3.tgz", + "integrity": "sha512-PxDhMjWViDdG4SMZqoXtAthGwgDyYnyxxZEE17IDDYsiCHpWtOhoIL8nsI+/hZ212UT/XF2LpqCsOlMoJiYk+w==", + "dev": true, + "requires": { + "array-tree-filter": "2.1.x", + "babel-runtime": "6.x", + "rmc-picker": "~5.0.0" + } + }, + "rmc-date-picker": { + "version": "6.0.10", + "resolved": "https://registry.npmjs.org/rmc-date-picker/-/rmc-date-picker-6.0.10.tgz", + "integrity": "sha512-/9+I6lm3EDEl6M7862V6++zFuxwsM0UEq8wSHbotYIPPmyB/65gx1cviblghOv2QfB0O9+U2w3qEJlRP/WsMrA==", + "dev": true, + "requires": { + "babel-runtime": "6.x", + "rmc-picker": "~5.0.0" + } + }, + "rmc-dialog": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/rmc-dialog/-/rmc-dialog-1.1.1.tgz", + "integrity": "sha512-28aJqtPTX6v13Z/aU1WBy1AFIXkE74PxZXde7JvtEIy9hQDTjH8fqOi822BpzAbXCyNE7jF9iFomy3H2ClsDJA==", + "dev": true, + "requires": { + "babel-runtime": "6.x", + "rc-animate": "2.x" + } + }, + "rmc-drawer": { + "version": "0.4.11", + "resolved": "https://registry.npmjs.org/rmc-drawer/-/rmc-drawer-0.4.11.tgz", + "integrity": "sha512-YfB9XEJ8iM0MMuLWAK4313uOxSM8NAljC8Cqun1KamXutglYTuRviUuTLNSOzV8HHPp5kNpsVduvPCGLWXvThw==", + "dev": true, + "requires": { + "babel-runtime": "6.x", + "classnames": "^2.2.4", + "prop-types": "^15.5.10" + } + }, + "rmc-feedback": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/rmc-feedback/-/rmc-feedback-2.0.0.tgz", + "integrity": "sha512-5PWOGOW7VXks/l3JzlOU9NIxRpuaSS8d9zA3UULUCuTKnpwBHNvv1jSJzxgbbCQeYzROWUpgKI4za3X4C/mKmQ==", + "dev": true, + "requires": { + "babel-runtime": "6.x", + "classnames": "^2.2.5" + } + }, + "rmc-input-number": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/rmc-input-number/-/rmc-input-number-1.0.5.tgz", + "integrity": "sha512-prPkEtoOVde77GnEnEaBeWjBobMOPgGqU5bd0gxfp1kt1pUN740mMpVAcH7uxpJjVfmw+kuGWtiz4S7CueagSg==", + "dev": true, + "requires": { + "babel-runtime": "6.x", + "classnames": "^2.2.0", + "rmc-feedback": "^2.0.0" + } + }, + "rmc-list-view": { + "version": "0.11.5", + "resolved": "https://registry.npmjs.org/rmc-list-view/-/rmc-list-view-0.11.5.tgz", + "integrity": "sha512-eMOC5394tLNawcdEEhF7boMpQgpjJGDdL5lS+LblAWdBec7Q4EYkUdnrKNbt+O9k5RGM6nSLAGZK5oB4FN85Lg==", + "dev": true, + "requires": { + "babel-runtime": "6.x", + "classnames": "^2.2.5", + "fbjs": "^0.8.3", + "prop-types": "^15.5.8", + "warning": "^3.0.0", + "zscroller": "~0.4.0" + }, + "dependencies": { + "warning": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/warning/-/warning-3.0.0.tgz", + "integrity": "sha512-jMBt6pUrKn5I+OGgtQ4YZLdhIeJmObddh6CsibPxyQ5yPZm1XExSyzC1LCNX7BzhxWgiHmizBWJTHJIjMjTQYQ==", + "dev": true, + "requires": { + "loose-envify": "^1.0.0" + } + } + } + }, + "rmc-notification": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/rmc-notification/-/rmc-notification-1.0.0.tgz", + "integrity": "sha512-9sPxjltFvtRLt2v312Hu7OXwk53pHkBYgINRDmnJ3A5NF1qtJeCCcdN0Xr0fzJ6sbQvtGju822tWHdzYA9u7Vw==", + "dev": true, + "requires": { + "babel-runtime": "6.x", + "classnames": "2.x", + "prop-types": "^15.5.8", + "rc-animate": "2.x", + "rc-util": "^4.0.4" + }, + "dependencies": { + "rc-util": { + "version": "4.21.1", + "resolved": "https://registry.npmjs.org/rc-util/-/rc-util-4.21.1.tgz", + "integrity": "sha512-Z+vlkSQVc1l8O2UjR3WQ+XdWlhj5q9BMQNLk2iOBch75CqPfrJyGtcWMcnhRlNuDu0Ndtt4kLVO8JI8BrABobg==", + "dev": true, + "requires": { + "add-dom-event-listener": "^1.1.0", + "prop-types": "^15.5.10", + "react-is": "^16.12.0", + "react-lifecycles-compat": "^3.0.4", + "shallowequal": "^1.1.0" + } + }, + "react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", + "dev": true + } + } + }, + "rmc-nuka-carousel": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/rmc-nuka-carousel/-/rmc-nuka-carousel-3.0.1.tgz", + "integrity": "sha512-w2EPTERMUUZqcUSKFuejjin7xsMlhrLrtS0A/igTXpFJGq3kemDKcRi7q3pSYDuZBHYBl5iV4UqsLLkjdFtrYA==", + "dev": true, + "requires": { + "exenv": "^1.2.0", + "raf": "^3.3.2" + } + }, + "rmc-picker": { + "version": "5.0.10", + "resolved": "https://registry.npmjs.org/rmc-picker/-/rmc-picker-5.0.10.tgz", + "integrity": "sha512-KZ70+WjcaZHnG5GyCxWCPFWAZ12s6NqyrbW73LeqH0WEqaTMMs0sOrk2f4mQAZ/CGT0XcFN6VZLw7Ozoxfn7LA==", + "dev": true, + "requires": { + "babel-runtime": "6.x", + "classnames": "^2.2.6", + "rmc-dialog": "^1.1.1", + "rmc-feedback": "^2.0.0" + } + }, + "rmc-pull-to-refresh": { + "version": "1.0.13", + "resolved": "https://registry.npmjs.org/rmc-pull-to-refresh/-/rmc-pull-to-refresh-1.0.13.tgz", + "integrity": "sha512-iYLsURiR7G/sKmRA6p2kq6ZXicn7Hyeo6VQFljssV1eMW+fzDgihhaz0kv5mza0f88vphGJvjOihT9E6+xGb6Q==", + "dev": true, + "requires": { + "babel-runtime": "6.x", + "classnames": "^2.2.5" + } + }, + "rmc-steps": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/rmc-steps/-/rmc-steps-1.0.1.tgz", + "integrity": "sha512-8ijtwp4D1CYTtI2yerXJYqCv+GQbiBc9T12nrFngd/vM0y+58CnznGphTAueF6IWf7qbxBwcjTrcFgg7bP2YGA==", + "dev": true, + "requires": { + "babel-runtime": "^6.23.0", + "classnames": "^2.2.3" + } + }, + "rmc-tabs": { + "version": "1.2.29", + "resolved": "https://registry.npmjs.org/rmc-tabs/-/rmc-tabs-1.2.29.tgz", + "integrity": "sha512-wiJS9WSJi9JH9GQO+FqncX+zaHP31qHa/S8nDW9UXUx0qbCX294QcJEnvfB+WmsfUws7rXjs6sOQp5EDiObnHg==", + "dev": true, + "requires": { + "babel-runtime": "6.x", + "rc-gesture": "~0.0.18" + } + }, + "rmc-tooltip": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/rmc-tooltip/-/rmc-tooltip-1.0.1.tgz", + "integrity": "sha512-fSDArf2BlMVrHExmBiqb2TkCRJHshvXFJQ/7tMraLellwaJLNiwrxtWpW329k3S+zTtoVG8UxFS1TjBGEsMzRg==", + "dev": true, + "requires": { + "babel-runtime": "6.x", + "rmc-trigger": "1.x" + } + }, + "rmc-trigger": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/rmc-trigger/-/rmc-trigger-1.0.12.tgz", + "integrity": "sha512-AccQniX7PX7Pm8hBhHEsnf3JU6CA61Xc7fAt2WbO+oXrGaI/jqN8C3COhhOXG54S5iTOjLS26j858zshwAxR9A==", + "dev": true, + "requires": { + "babel-runtime": "6.x", + "rc-animate": "2.x", + "rc-util": "4.x", + "rmc-align": "~1.0.0" + }, + "dependencies": { + "rc-util": { + "version": "4.21.1", + "resolved": "https://registry.npmjs.org/rc-util/-/rc-util-4.21.1.tgz", + "integrity": "sha512-Z+vlkSQVc1l8O2UjR3WQ+XdWlhj5q9BMQNLk2iOBch75CqPfrJyGtcWMcnhRlNuDu0Ndtt4kLVO8JI8BrABobg==", + "dev": true, + "requires": { + "add-dom-event-listener": "^1.1.0", + "prop-types": "^15.5.10", + "react-is": "^16.12.0", + "react-lifecycles-compat": "^3.0.4", + "shallowequal": "^1.1.0" + } + }, + "react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", + "dev": true + } + } + }, + "rope-sequence": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/rope-sequence/-/rope-sequence-1.3.4.tgz", + "integrity": "sha512-UT5EDe2cu2E/6O4igUr5PSFs23nvvukicWHx6GnOPlHAiiYbzNuCRQCuiUdHJQcqKalLKlrYJnjY0ySGsXNQXQ==" + }, + "rst-selector-parser": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/rst-selector-parser/-/rst-selector-parser-2.2.3.tgz", + "integrity": "sha512-nDG1rZeP6oFTLN6yNDV/uiAvs1+FS/KlrEwh7+y7dpuApDBy6bI2HTBcc0/V8lv9OTqfyD34eF7au2pm8aBbhA==", + "dev": true, + "requires": { + "lodash.flattendeep": "^4.4.0", + "nearley": "^2.7.10" + } + }, + "rsvp": { + "version": "4.8.5", + "resolved": "https://registry.npmjs.org/rsvp/-/rsvp-4.8.5.tgz", + "integrity": "sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA==", + "dev": true + }, + "run-async": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", + "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==", + "dev": true + }, + "run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "requires": { + "queue-microtask": "^1.2.2" + } + }, + "run-queue": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz", + "integrity": "sha512-ntymy489o0/QQplUDnpYAYUsO50K9SBrIVaKCWDOJzYJts0f9WH9RFJkyagebkw5+y1oi00R7ynNW/d12GBumg==", + "dev": true, + "requires": { + "aproba": "^1.1.1" + } + }, + "rxjs": { + "version": "6.6.7", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", + "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", + "dev": true, + "requires": { + "tslib": "^1.9.0" + }, + "dependencies": { + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + } + } + }, + "safe-array-concat": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.2.tgz", + "integrity": "sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q==", + "dev": true, + "requires": { + "call-bind": "^1.0.7", + "get-intrinsic": "^1.2.4", + "has-symbols": "^1.0.3", + "isarray": "^2.0.5" + }, + "dependencies": { + "isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", + "dev": true + } + } + }, + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" + }, + "safe-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-2.1.1.tgz", + "integrity": "sha512-rx+x8AMzKb5Q5lQ95Zoi6ZbJqwCLkqi3XuJXp5P3rT8OEc6sZCJG5AE5dU3lsgRr/F4Bs31jSlVN+j5KrsGu9A==", + "dev": true, + "requires": { + "regexp-tree": "~0.1.1" + } + }, + "safe-regex-test": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.3.tgz", + "integrity": "sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw==", + "dev": true, + "requires": { + "call-bind": "^1.0.6", + "es-errors": "^1.3.0", + "is-regex": "^1.1.4" + } + }, + "safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + }, + "sane": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/sane/-/sane-4.1.0.tgz", + "integrity": "sha512-hhbzAgTIX8O7SHfp2c8/kREfEn4qO/9q8C9beyY6+tvZ87EpoZ3i1RIEvp27YBswnNbY9mWd6paKVmKbAgLfZA==", + "dev": true, + "requires": { + "@cnakazawa/watch": "^1.0.3", + "anymatch": "^2.0.0", + "capture-exit": "^2.0.0", + "exec-sh": "^0.3.2", + "execa": "^1.0.0", + "fb-watchman": "^2.0.0", + "micromatch": "^3.1.4", + "minimist": "^1.1.1", + "walker": "~1.0.5" + }, + "dependencies": { + "anymatch": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", + "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", + "dev": true, + "requires": { + "micromatch": "^3.1.4", + "normalize-path": "^2.1.1" + } + }, + "braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "dev": true, + "requires": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + } + }, + "cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "dev": true, + "requires": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "execa": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", + "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", + "dev": true, + "requires": { + "cross-spawn": "^6.0.0", + "get-stream": "^4.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + } + }, + "fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==", + "dev": true, + "requires": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + } + }, + "get-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", + "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "dev": true, + "requires": { + "pump": "^3.0.0" + } + }, + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "requires": { + "is-plain-object": "^2.0.4" + } + }, + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==", + "dev": true + }, + "micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "dev": true, + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + }, + "dependencies": { + "extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==", + "dev": true, + "requires": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + } + } + } + }, + "normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==", + "dev": true, + "requires": { + "remove-trailing-separator": "^1.0.1" + } + }, + "npm-run-path": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", + "integrity": "sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw==", + "dev": true, + "requires": { + "path-key": "^2.0.0" + } + }, + "path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==", + "dev": true + }, + "pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "dev": true, + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "dev": true + }, + "shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==", + "dev": true, + "requires": { + "shebang-regex": "^1.0.0" + } + }, + "shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==", + "dev": true + }, + "to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==", + "dev": true, + "requires": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + } + }, + "which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + } + } + }, + "sax": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.3.0.tgz", + "integrity": "sha512-0s+oAmw9zLl1V1cS9BtZN7JAd0cW5e0QH4W3LWEK6a4LaLEA2OTpGYWDY+6XasBLtz6wkm3u1xRw95mRuJ59WA==", + "dev": true + }, + "saxes": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/saxes/-/saxes-5.0.1.tgz", + "integrity": "sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==", + "dev": true, + "requires": { + "xmlchars": "^2.2.0" + } + }, + "scheduler": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.20.2.tgz", + "integrity": "sha512-2eWfGgAqqWFGqtdMmcL5zCMK1U8KlXv8SQFGglL3CEtd0aDVDWgeF/YoCmvln55m5zSk3J/20hTaSBeSObsQDQ==", + "requires": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1" + } + }, + "schema-utils": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.0.tgz", + "integrity": "sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A==", + "requires": { + "@types/json-schema": "^7.0.4", + "ajv": "^6.12.2", + "ajv-keywords": "^3.4.1" + } + }, + "scroll-into-view-if-needed": { + "version": "2.2.20", + "resolved": "https://registry.npmjs.org/scroll-into-view-if-needed/-/scroll-into-view-if-needed-2.2.20.tgz", + "integrity": "sha512-P9kYMrhi9f6dvWwTGpO5I3HgjSU/8Mts7xL3lkoH5xlewK7O9Obdc5WmMCzppln7bCVGNmf3qfoZXrpCeyNJXw==", + "requires": { + "compute-scroll-into-view": "1.0.11" + }, + "dependencies": { + "compute-scroll-into-view": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/compute-scroll-into-view/-/compute-scroll-into-view-1.0.11.tgz", + "integrity": "sha512-uUnglJowSe0IPmWOdDtrlHXof5CTIJitfJEyITHBW6zDVOGu9Pjk5puaLM73SLcwak0L4hEjO7Td88/a6P5i7A==" + } + } + }, + "seamless-immutable": { + "version": "7.1.4", + "resolved": "https://registry.npmjs.org/seamless-immutable/-/seamless-immutable-7.1.4.tgz", + "integrity": "sha512-XiUO1QP4ki4E2PHegiGAlu6r82o5A+6tRh7IkGGTVg/h+UoeX4nFBeCGPOhb4CYjvkqsfm/TUtvOMYC1xmV30A==", + "dev": true + }, + "semver": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", + "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", + "requires": { + "lru-cache": "^6.0.0" + }, + "dependencies": { + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "requires": { + "yallist": "^4.0.0" + } + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + } + } + }, + "semver-compare": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/semver-compare/-/semver-compare-1.0.0.tgz", + "integrity": "sha512-YM3/ITh2MJ5MtzaM429anh+x2jiLVjqILF4m4oyQB18W7Ggea7BfqdH/wGMK7dDiMghv/6WG7znWMwUDzJiXow==", + "dev": true + }, + "semver-diff": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/semver-diff/-/semver-diff-2.1.0.tgz", + "integrity": "sha512-gL8F8L4ORwsS0+iQ34yCYv///jsOq0ZL7WP55d1HnJ32o7tyFYEFQZQA22mrLIacZdU6xecaBBZ+uEiffGNyXw==", + "dev": true, + "requires": { + "semver": "^5.0.3" + }, + "dependencies": { + "semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "dev": true + } + } + }, + "send": { + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", + "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", + "dev": true, + "requires": { + "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" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + }, + "dependencies": { + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + } + } + } + } + }, + "serialize-error": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/serialize-error/-/serialize-error-8.1.0.tgz", + "integrity": "sha512-3NnuWfM6vBYoy5gZFvHiYsVbafvI9vZv/+jlIigFn4oP4zjNPK3LhcY0xSCgeb1a5L8jO71Mit9LlNoi2UfDDQ==", + "dev": true, + "requires": { + "type-fest": "^0.20.2" + } + }, + "serve-static": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", + "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", + "dev": true, + "requires": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.18.0" + } + }, + "set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==", + "dev": true + }, + "set-function-length": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", + "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", + "requires": { + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.2" + } + }, + "set-function-name": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.2.tgz", + "integrity": "sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==", + "dev": true, + "requires": { + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "functions-have-names": "^1.2.3", + "has-property-descriptors": "^1.0.2" + } + }, + "set-value": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", + "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", + "dev": true, + "requires": { + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.3", + "split-string": "^3.0.1" + } + }, + "setimmediate": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", + "integrity": "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==" + }, + "setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", + "dev": true + }, + "sha.js": { + "version": "2.4.11", + "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", + "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", + "requires": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "shallow-equal": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/shallow-equal/-/shallow-equal-1.2.1.tgz", + "integrity": "sha512-S4vJDjHHMBaiZuT9NPb616CSmLf618jawtv3sufLl6ivK8WocjAo58cXwbRV1cgqxH0Qbv+iUt6m05eqEa2IRA==", + "dev": true + }, + "shallowequal": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/shallowequal/-/shallowequal-1.1.0.tgz", + "integrity": "sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ==" + }, + "shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==" + }, + "shell-quote": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.1.tgz", + "integrity": "sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==" + }, + "shellwords": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/shellwords/-/shellwords-0.1.1.tgz", + "integrity": "sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww==", + "dev": true, + "optional": true + }, + "short-unique-id": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/short-unique-id/-/short-unique-id-5.0.3.tgz", + "integrity": "sha512-yhniEILouC0s4lpH0h7rJsfylZdca10W9mDJRAFh3EpcSUanCHGb0R7kcFOIUCZYSAPo0PUD5ZxWQdW0T4xaug==", + "dev": true + }, + "shortid": { + "version": "2.2.16", + "resolved": "https://registry.npmjs.org/shortid/-/shortid-2.2.16.tgz", + "integrity": "sha512-Ugt+GIZqvGXCIItnsL+lvFJOiN7RYqlGy7QE41O3YC1xbNSeDGIRO7xg2JJXIAj1cAGnOeC1r7/T9pgrtQbv4g==", + "dev": true, + "requires": { + "nanoid": "^2.1.0" + } + }, + "should": { + "version": "13.2.3", + "resolved": "https://registry.npmjs.org/should/-/should-13.2.3.tgz", + "integrity": "sha512-ggLesLtu2xp+ZxI+ysJTmNjh2U0TsC+rQ/pfED9bUZZ4DKefP27D+7YJVVTvKsmjLpIi9jAa7itwDGkDDmt1GQ==", + "dev": true, + "requires": { + "should-equal": "^2.0.0", + "should-format": "^3.0.3", + "should-type": "^1.4.0", + "should-type-adaptors": "^1.0.1", + "should-util": "^1.0.0" + } + }, + "should-equal": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/should-equal/-/should-equal-2.0.0.tgz", + "integrity": "sha512-ZP36TMrK9euEuWQYBig9W55WPC7uo37qzAEmbjHz4gfyuXrEUgF8cUvQVO+w+d3OMfPvSRQJ22lSm8MQJ43LTA==", + "dev": true, + "requires": { + "should-type": "^1.4.0" + } + }, + "should-format": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/should-format/-/should-format-3.0.3.tgz", + "integrity": "sha512-hZ58adtulAk0gKtua7QxevgUaXTTXxIi8t41L3zo9AHvjXO1/7sdLECuHeIN2SRtYXpNkmhoUP2pdeWgricQ+Q==", + "dev": true, + "requires": { + "should-type": "^1.3.0", + "should-type-adaptors": "^1.0.1" + } + }, + "should-type": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/should-type/-/should-type-1.4.0.tgz", + "integrity": "sha512-MdAsTu3n25yDbIe1NeN69G4n6mUnJGtSJHygX3+oN0ZbO3DTiATnf7XnYJdGT42JCXurTb1JI0qOBR65shvhPQ==", + "dev": true + }, + "should-type-adaptors": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/should-type-adaptors/-/should-type-adaptors-1.1.0.tgz", + "integrity": "sha512-JA4hdoLnN+kebEp2Vs8eBe9g7uy0zbRo+RMcU0EsNy+R+k049Ki+N5tT5Jagst2g7EAja+euFuoXFCa8vIklfA==", + "dev": true, + "requires": { + "should-type": "^1.3.0", + "should-util": "^1.0.0" + } + }, + "should-util": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/should-util/-/should-util-1.0.1.tgz", + "integrity": "sha512-oXF8tfxx5cDk8r2kYqlkUJzZpDBqVY/II2WhvU0n9Y3XYvAYRmeaf1PvvIvTgPnv4KJ+ES5M0PyDq5Jp+Ygy2g==", + "dev": true + }, + "side-channel": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.6.tgz", + "integrity": "sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==", + "requires": { + "call-bind": "^1.0.7", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.4", + "object-inspect": "^1.13.1" + } + }, + "signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" + }, + "signale": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/signale/-/signale-1.4.0.tgz", + "integrity": "sha512-iuh+gPf28RkltuJC7W5MRi6XAjTDCAPC/prJUpQoG4vIP3MJZ+GTydVnodXA7pwvTKb2cA0m9OFZW/cdWy/I/w==", + "dev": true, + "requires": { + "chalk": "^2.3.2", + "figures": "^2.0.0", + "pkg-conf": "^2.1.0" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "simple-concat": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz", + "integrity": "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==", + "dev": true, + "optional": true + }, + "simple-get": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-4.0.1.tgz", + "integrity": "sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA==", + "dev": true, + "optional": true, + "requires": { + "decompress-response": "^6.0.0", + "once": "^1.3.1", + "simple-concat": "^1.0.0" + } + }, + "simple-swizzle": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", + "integrity": "sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==", + "requires": { + "is-arrayish": "^0.3.1" + }, + "dependencies": { + "is-arrayish": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz", + "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==" + } + } + }, + "sisteransi": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==" + }, + "sitemap": { + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/sitemap/-/sitemap-6.4.0.tgz", + "integrity": "sha512-DoPKNc2/apQZTUnfiOONWctwq7s6dZVspxAZe2VPMNtoqNq7HgXRvlRnbIpKjf+8+piQdWncwcy+YhhTGY5USQ==", + "dev": true, + "requires": { + "@types/node": "^14.14.28", + "@types/sax": "^1.2.1", + "arg": "^5.0.0", + "sax": "^1.2.4" + }, + "dependencies": { + "@types/node": { + "version": "14.18.63", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.63.tgz", + "integrity": "sha512-fAtCfv4jJg+ExtXhvCkCqUKZ+4ok/JQk01qDKhL5BDDoS3AxKXhV5/MAVUZyQnSEd2GT92fkgZl0pz0Q0AzcIQ==", + "dev": true + } + } + }, + "size-sensor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/size-sensor/-/size-sensor-1.0.2.tgz", + "integrity": "sha512-2NCmWxY7A9pYKGXNBfteo4hy14gWu47rg5692peVMst6lQLPKrVjhY+UTEsPI5ceFRJSl3gVgMYaUi/hKuaiKw==" + }, + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==" + }, + "slash2": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/slash2/-/slash2-2.0.0.tgz", + "integrity": "sha512-7ElvBydJPi3MHU/KEOblFSbO/skl4Z69jKkFCpYIYVOMSIZsKi4gYU43HGeZPmjxCXrHekoDAAewphPQNnsqtA==", + "dev": true + }, + "slice-ansi": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-3.0.0.tgz", + "integrity": "sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" + } + }, + "smart-buffer": { + "version": "1.1.15", + "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-1.1.15.tgz", + "integrity": "sha512-1+8bxygjTsNfvQe0/0pNBesTOlSHtOeG6b6LYbvsZCCHDKYZ40zcQo6YTnZBWrBSLWOCbrHljLdEmGMYebu7aQ==", + "dev": true + }, + "snapdragon": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", + "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", + "dev": true, + "requires": { + "base": "^0.11.1", + "debug": "^2.2.0", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "map-cache": "^0.2.2", + "source-map": "^0.5.6", + "source-map-resolve": "^0.5.0", + "use": "^3.1.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "is-descriptor": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.7.tgz", + "integrity": "sha512-C3grZTvObeN1xud4cRWl366OMXZTj0+HGyk4hvfpx4ZHt1Pb60ANSXqCK7pdOTeUQpRzECBSTphqvD7U+l22Eg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.1", + "is-data-descriptor": "^1.0.1" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", + "dev": true + } + } + }, + "snapdragon-node": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", + "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", + "dev": true, + "requires": { + "define-property": "^1.0.0", + "isobject": "^3.0.0", + "snapdragon-util": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", + "dev": true, + "requires": { + "is-descriptor": "^1.0.0" + } + } + } + }, + "snapdragon-util": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", + "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", + "dev": true, + "requires": { + "kind-of": "^3.2.0" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "socks": { + "version": "1.1.10", + "resolved": "https://registry.npmjs.org/socks/-/socks-1.1.10.tgz", + "integrity": "sha512-ArX4vGPULWjKDKgUnW8YzfI2uXW7kzgkJuB0GnFBA/PfT3exrrOk+7Wk2oeb894Qf20u1PWv9LEgrO0Z82qAzA==", + "dev": true, + "requires": { + "ip": "^1.1.4", + "smart-buffer": "^1.0.13" + } + }, + "socks-proxy-agent": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-3.0.1.tgz", + "integrity": "sha512-ZwEDymm204mTzvdqyUqOdovVr2YRd2NYskrYrF2LXyZ9qDiMAoFESGK8CRphiO7rtbo2Y757k2Nia3x2hGtalA==", + "dev": true, + "requires": { + "agent-base": "^4.1.0", + "socks": "^1.1.10" + }, + "dependencies": { + "agent-base": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.3.0.tgz", + "integrity": "sha512-salcGninV0nPrwpGNn4VTXBb1SOuXQBiqbrNXoeizJsHrsL6ERFM2Ne3JUSBWRE6aeNJI2ROP/WEEIDUiDe3cg==", + "dev": true, + "requires": { + "es6-promisify": "^5.0.0" + } + } + } + }, + "sort-keys": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-1.1.2.tgz", + "integrity": "sha512-vzn8aSqKgytVik0iwdBEi+zevbTYZogewTUM6dtpmGwEcdzbub/TX4bCzRhebDCRC3QzXgJsLRKB2V/Oof7HXg==", + "requires": { + "is-plain-obj": "^1.0.0" + }, + "dependencies": { + "is-plain-obj": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", + "integrity": "sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==" + } + } + }, + "sort-object-keys": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/sort-object-keys/-/sort-object-keys-1.1.3.tgz", + "integrity": "sha512-855pvK+VkU7PaKYPc+Jjnmt4EzejQHyhhF33q31qG8x7maDzkeFhAAThdCYay11CISO+qAMwjOBP+fPZe0IPyg==", + "dev": true + }, + "sort-package-json": { + "version": "1.57.0", + "resolved": "https://registry.npmjs.org/sort-package-json/-/sort-package-json-1.57.0.tgz", + "integrity": "sha512-FYsjYn2dHTRb41wqnv+uEqCUvBpK3jZcTp9rbz2qDTmel7Pmdtf+i2rLaaPMRZeSVM60V3Se31GyWFpmKs4Q5Q==", + "dev": true, + "requires": { + "detect-indent": "^6.0.0", + "detect-newline": "3.1.0", + "git-hooks-list": "1.0.3", + "globby": "10.0.0", + "is-plain-obj": "2.1.0", + "sort-object-keys": "^1.1.3" + }, + "dependencies": { + "globby": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-10.0.0.tgz", + "integrity": "sha512-3LifW9M4joGZasyYPz2A1U74zbC/45fvpXUvO/9KbSa+VV0aGZarWkfdgKyR9sExNP0t0x0ss/UMJpNpcaTspw==", + "dev": true, + "requires": { + "@types/glob": "^7.1.1", + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.0.3", + "glob": "^7.1.3", + "ignore": "^5.1.1", + "merge2": "^1.2.3", + "slash": "^3.0.0" + } + } + } + }, + "source-list-map": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz", + "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==", + "dev": true + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "source-map-js": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.0.tgz", + "integrity": "sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==", + "dev": true + }, + "source-map-resolve": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", + "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", + "dev": true, + "requires": { + "atob": "^2.1.2", + "decode-uri-component": "^0.2.0", + "resolve-url": "^0.2.1", + "source-map-url": "^0.4.0", + "urix": "^0.1.0" + } + }, + "source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "requires": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "source-map-url": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.1.tgz", + "integrity": "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==", + "dev": true + }, + "space-separated-tokens": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-1.1.5.tgz", + "integrity": "sha512-q/JSVd1Lptzhf5bkYm4ob4iWPjx0KiRe3sRFBNrVqbJkFaBm5vbbowy1mymoPNLRa52+oadOhJ+K49wsSeSjTA==", + "dev": true + }, + "spdx-correct": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.2.0.tgz", + "integrity": "sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==", + "dev": true, + "requires": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-exceptions": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.5.0.tgz", + "integrity": "sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==", + "dev": true + }, + "spdx-expression-parse": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", + "dev": true, + "requires": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-license-ids": { + "version": "3.0.17", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.17.tgz", + "integrity": "sha512-sh8PWc/ftMqAAdFiBu6Fy6JUOYjqDJBJvIhpfDMyHrr0Rbp5liZqd4TjtQ/RgfLjKFZb+LMx5hpml5qOWy0qvg==", + "dev": true + }, + "specificity": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/specificity/-/specificity-0.4.1.tgz", + "integrity": "sha512-1klA3Gi5PD1Wv9Q0wUoOQN1IWAuPu0D1U03ThXTr0cJ20+/iq2tHSDnK7Kk/0LXJ1ztUB2/1Os0wKmfyNgUQfg==", + "dev": true + }, + "speech-rule-engine": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/speech-rule-engine/-/speech-rule-engine-4.0.7.tgz", + "integrity": "sha512-sJrL3/wHzNwJRLBdf6CjJWIlxC04iYKkyXvYSVsWVOiC2DSkHmxsqOhEeMsBA9XK+CHuNcsdkbFDnoUfAsmp9g==", + "dev": true, + "requires": { + "commander": "9.2.0", + "wicked-good-xpath": "1.3.0", + "xmldom-sre": "0.1.31" + }, + "dependencies": { + "commander": { + "version": "9.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-9.2.0.tgz", + "integrity": "sha512-e2i4wANQiSXgnrBlIatyHtP1odfUp0BbV5Y5nEGbxtIrStkEOAAzCUirvLBNXHLr7kwLvJl6V+4V3XV9x7Wd9w==", + "dev": true + } + } + }, + "split-on-first": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/split-on-first/-/split-on-first-1.1.0.tgz", + "integrity": "sha512-43ZssAJaMusuKWL8sKUBQXHWOpq8d6CfN/u1p4gUzfJkM05C8rxTmYrkIPTXapZpORA6LkkzcUulJ8FqA7Uudw==" + }, + "split-string": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", + "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", + "dev": true, + "requires": { + "extend-shallow": "^3.0.0" + }, + "dependencies": { + "extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==", + "dev": true, + "requires": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + } + }, + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "requires": { + "is-plain-object": "^2.0.4" + } + } + } + }, + "sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==" + }, + "sshpk": { + "version": "1.18.0", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.18.0.tgz", + "integrity": "sha512-2p2KJZTSqQ/I3+HX42EpYOa2l3f8Erv8MWKsy2I9uf4wA7yFIkXRffYdsx86y6z4vHtV8u7g+pPlr8/4ouAxsQ==", + "dev": true, + "requires": { + "asn1": "~0.2.3", + "assert-plus": "^1.0.0", + "bcrypt-pbkdf": "^1.0.0", + "dashdash": "^1.12.0", + "ecc-jsbn": "~0.1.1", + "getpass": "^0.1.1", + "jsbn": "~0.1.0", + "safer-buffer": "^2.0.2", + "tweetnacl": "~0.14.0" + } + }, + "ssri": { + "version": "4.1.6", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-4.1.6.tgz", + "integrity": "sha512-WUbCdgSAMQjTFZRWvSPpauryvREEA+Krn19rx67UlJEJx/M192ZHxMmJXjZ4tkdFm+Sb0SXGlENeQVlA5wY7kA==", + "dev": true, + "requires": { + "safe-buffer": "^5.1.0" + } + }, + "stack-utils": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz", + "integrity": "sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==", + "dev": true, + "requires": { + "escape-string-regexp": "^2.0.0" + }, + "dependencies": { + "escape-string-regexp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", + "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", + "dev": true + } + } + }, + "stackframe": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-1.3.4.tgz", + "integrity": "sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==" + }, + "stampit": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/stampit/-/stampit-4.3.2.tgz", + "integrity": "sha512-pE2org1+ZWQBnIxRPrBM2gVupkuDD0TTNIo1H6GdT/vO82NXli2z8lRE8cu/nBIHrcOCXFBAHpb9ZldrB2/qOA==", + "dev": true + }, + "static-extend": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", + "integrity": "sha512-72E9+uLc27Mt718pMHt9VMNiAL4LMsmDbBva8mxWUCkT07fSzEGMYUCk0XWY6lp0j6RBAG4cJ3mWuZv2OE3s0g==", + "dev": true, + "requires": { + "define-property": "^0.2.5", + "object-copy": "^0.1.0" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "is-descriptor": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.7.tgz", + "integrity": "sha512-C3grZTvObeN1xud4cRWl366OMXZTj0+HGyk4hvfpx4ZHt1Pb60ANSXqCK7pdOTeUQpRzECBSTphqvD7U+l22Eg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.1", + "is-data-descriptor": "^1.0.1" + } + } + } + }, + "statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "dev": true + }, + "stream": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/stream/-/stream-0.0.2.tgz", + "integrity": "sha512-gCq3NDI2P35B2n6t76YJuOp7d6cN/C7Rt0577l91wllh0sY9ZBuw9KaSGqH/b0hzn3CWWJbpbW0W0WvQ1H/Q7g==", + "dev": true, + "requires": { + "emitter-component": "^1.1.1" + } + }, + "stream-browserify": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz", + "integrity": "sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==", + "requires": { + "inherits": "~2.0.1", + "readable-stream": "^2.0.2" + } + }, + "stream-buffers": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/stream-buffers/-/stream-buffers-1.0.1.tgz", + "integrity": "sha512-t+8bSU8qPq7NnWHWAvikjcZf+biErLZzD15RroYft1IKQwYbkRyiwppT7kNqwdtYLS59YPxc4sTSvwbLSMaodw==", + "dev": true + }, + "stream-each": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/stream-each/-/stream-each-1.2.3.tgz", + "integrity": "sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw==", + "dev": true, + "requires": { + "end-of-stream": "^1.1.0", + "stream-shift": "^1.0.0" + } + }, + "stream-http": { + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz", + "integrity": "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==", + "requires": { + "builtin-status-codes": "^3.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.3.6", + "to-arraybuffer": "^1.0.0", + "xtend": "^4.0.0" + } + }, + "stream-shift": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.3.tgz", + "integrity": "sha512-76ORR0DO1o1hlKwTbi/DM3EXWGf3ZJYO8cXX5RJwnul2DEg2oyoZyjLNoQM8WsvZiFKCRfC1O0J7iCvie3RZmQ==", + "dev": true + }, + "streamroller": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/streamroller/-/streamroller-0.4.1.tgz", + "integrity": "sha512-w0GGkMlWOiIBIYTmOWHTWKy9Y5hKxGKpQ5WpiHqwhvoSoMHXNTITrk6ZsR3fdgz3Bi/c+CXVHwmfPUQFkEPL+A==", + "dev": true, + "requires": { + "date-format": "^0.0.0", + "debug": "^0.7.2", + "mkdirp": "^0.5.1", + "readable-stream": "^1.1.7" + }, + "dependencies": { + "debug": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-0.7.4.tgz", + "integrity": "sha512-EohAb3+DSHSGx8carOSKJe8G0ayV5/i609OD0J2orCkuyae7SyZSz2aoLmQF2s0Pj5gITDebwPH7GFBlqOUQ1Q==", + "dev": true + }, + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==", + "dev": true + }, + "mkdirp": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", + "dev": true, + "requires": { + "minimist": "^1.2.6" + } + }, + "readable-stream": { + "version": "1.1.14", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", + "integrity": "sha512-+MeVjFf4L44XUkhM1eYbD8fyEsxcV81pqMSR5gblfcLCHfZvbrqy4/qYHE+/R5HoBUT11WV5O08Cr1n3YXkWVQ==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + } + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ==", + "dev": true + } + } + }, + "streamsearch": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-0.1.2.tgz", + "integrity": "sha512-jos8u++JKm0ARcSUTAZXOVC0mSox7Bhn6sBgty73P1f3JGf7yG2clTbBNHUdde/kdvP2FESam+vM6l8jBrNxHA==", + "dev": true + }, + "strict-uri-encode": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-2.0.0.tgz", + "integrity": "sha512-QwiXZgpRcKkhTj2Scnn++4PKtWsH0kpzZ62L2R6c/LUVYv7hVnZqcg2+sMuT6R7Jusu1vviK/MFsu6kNJfWlEQ==" + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "requires": { + "safe-buffer": "~5.1.0" + }, + "dependencies": { + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + } + } + }, + "string-argv": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/string-argv/-/string-argv-0.3.1.tgz", + "integrity": "sha512-a1uQGz7IyVy9YwhqjZIZu1c8JO8dNIe20xBmSS6qu9kv++k3JGzCVmprbNN5Kn+BgzD5E7YYwg1CcjuJMRNsvg==", + "dev": true + }, + "string-convert": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/string-convert/-/string-convert-0.2.1.tgz", + "integrity": "sha512-u/1tdPl4yQnPBjnVrmdLo9gtuLvELKsAoRapekWggdiQNvvvum+jYF329d84NAa660KQw7pB2n36KrIKVoXa3A==" + }, + "string-length": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", + "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", + "dev": true, + "requires": { + "char-regex": "^1.0.2", + "strip-ansi": "^6.0.0" + } + }, + "string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + } + }, + "string.prototype.matchall": { + "version": "4.0.11", + "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.11.tgz", + "integrity": "sha512-NUdh0aDavY2og7IbBPenWqR9exH+E26Sv8e0/eTe1tltDGZL+GtBkDAnnyBtmekfK6/Dq3MkcGtzXFEd1LQrtg==", + "dev": true, + "requires": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "get-intrinsic": "^1.2.4", + "gopd": "^1.0.1", + "has-symbols": "^1.0.3", + "internal-slot": "^1.0.7", + "regexp.prototype.flags": "^1.5.2", + "set-function-name": "^2.0.2", + "side-channel": "^1.0.6" + } + }, + "string.prototype.trim": { + "version": "1.2.9", + "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.9.tgz", + "integrity": "sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw==", + "dev": true, + "requires": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.0", + "es-object-atoms": "^1.0.0" + } + }, + "string.prototype.trimend": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.8.tgz", + "integrity": "sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ==", + "dev": true, + "requires": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" + } + }, + "string.prototype.trimstart": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.8.tgz", + "integrity": "sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==", + "dev": true, + "requires": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" + } + }, + "stringify-entities": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/stringify-entities/-/stringify-entities-3.1.0.tgz", + "integrity": "sha512-3FP+jGMmMV/ffZs86MoghGqAoqXAdxLrJP4GUdrDN1aIScYih5tuIO3eF4To5AJZ79KDZ8Fpdy7QJnK8SsL1Vg==", + "dev": true, + "requires": { + "character-entities-html4": "^1.0.0", + "character-entities-legacy": "^1.0.0", + "xtend": "^4.0.0" + } + }, + "stringify-object": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/stringify-object/-/stringify-object-3.3.0.tgz", + "integrity": "sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==", + "dev": true, + "requires": { + "get-own-enumerable-property-symbols": "^3.0.0", + "is-obj": "^1.0.1", + "is-regexp": "^1.0.0" + } + }, + "strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "requires": { + "ansi-regex": "^5.0.1" + } + }, + "strip-bom": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", + "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", + "dev": true + }, + "strip-bom-buf": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-bom-buf/-/strip-bom-buf-1.0.0.tgz", + "integrity": "sha512-1sUIL1jck0T1mhOLP2c696BIznzT525Lkub+n4jjMHjhjhoAQA6Ye659DxdlZBr0aLDMQoTxKIpnlqxgtwjsuQ==", + "dev": true, + "requires": { + "is-utf8": "^0.2.1" + } + }, + "strip-bom-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-bom-stream/-/strip-bom-stream-2.0.0.tgz", + "integrity": "sha512-yH0+mD8oahBZWnY43vxs4pSinn8SMKAdml/EOGBewoe1Y0Eitd0h2Mg3ZRiXruUW6L4P+lvZiEgbh0NgUGia1w==", + "dev": true, + "requires": { + "first-chunk-stream": "^2.0.0", + "strip-bom": "^2.0.0" + }, + "dependencies": { + "strip-bom": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", + "integrity": "sha512-kwrX1y7czp1E69n2ajbG65mIo9dqvJ+8aBQXOGVxqwvNbsXdFM6Lq37dLAY3mknUwru8CfcCbfOLL/gMo+fi3g==", + "dev": true, + "requires": { + "is-utf8": "^0.2.0" + } + } + } + }, + "strip-eof": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", + "integrity": "sha512-7FCwGGmx8mD5xQd3RPUvnSpUXHM3BWuzjtpD4TXsfcZ9EL4azvVVUscFYwD9nx8Kh+uCBC00XBtAykoMHwTh8Q==" + }, + "strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", + "dev": true + }, + "strip-indent": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-2.0.0.tgz", + "integrity": "sha512-RsSNPLpq6YUL7QYy44RnPVTn/lcVZtb48Uof3X5JLbF4zD/Gs7ZFDv2HWol+leoQN2mT86LAzSshGfkTlSOpsA==", + "dev": true + }, + "strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true + }, + "strip-outer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/strip-outer/-/strip-outer-1.0.1.tgz", + "integrity": "sha512-k55yxKHwaXnpYGsOzg4Vl8+tDrWylxDEpknGjhTiZB8dFRU5rTo9CAzeycivxV3s+zlTKwrs6WxMxR95n26kwg==", + "dev": true, + "requires": { + "escape-string-regexp": "^1.0.2" + }, + "dependencies": { + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true + } + } + }, + "style-search": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/style-search/-/style-search-0.1.0.tgz", + "integrity": "sha512-Dj1Okke1C3uKKwQcetra4jSuk0DqbzbYtXipzFlFMZtowbF1x7BKJwB9AayVMyFARvU8EDrZdcax4At/452cAg==", + "dev": true + }, + "style-to-object": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/style-to-object/-/style-to-object-0.3.0.tgz", + "integrity": "sha512-CzFnRRXhzWIdItT3OmF8SQfWyahHhjq3HwcMNCNLn+N7klOOqPjMeG/4JSu77D7ypZdGvSzvkrbyeTMizz2VrA==", + "dev": true, + "requires": { + "inline-style-parser": "0.1.1" + } + }, + "stylelint": { + "version": "13.13.1", + "resolved": "https://registry.npmjs.org/stylelint/-/stylelint-13.13.1.tgz", + "integrity": "sha512-Mv+BQr5XTUrKqAXmpqm6Ddli6Ief+AiPZkRsIrAoUKFuq/ElkUh9ZMYxXD0iQNZ5ADghZKLOWz1h7hTClB7zgQ==", + "dev": true, + "requires": { + "@stylelint/postcss-css-in-js": "^0.37.2", + "@stylelint/postcss-markdown": "^0.36.2", + "autoprefixer": "^9.8.6", + "balanced-match": "^2.0.0", + "chalk": "^4.1.1", + "cosmiconfig": "^7.0.0", + "debug": "^4.3.1", + "execall": "^2.0.0", + "fast-glob": "^3.2.5", + "fastest-levenshtein": "^1.0.12", + "file-entry-cache": "^6.0.1", + "get-stdin": "^8.0.0", + "global-modules": "^2.0.0", + "globby": "^11.0.3", + "globjoin": "^0.1.4", + "html-tags": "^3.1.0", + "ignore": "^5.1.8", + "import-lazy": "^4.0.0", + "imurmurhash": "^0.1.4", + "known-css-properties": "^0.21.0", + "lodash": "^4.17.21", + "log-symbols": "^4.1.0", + "mathml-tag-names": "^2.1.3", + "meow": "^9.0.0", + "micromatch": "^4.0.4", + "normalize-selector": "^0.2.0", + "postcss": "^7.0.35", + "postcss-html": "^0.36.0", + "postcss-less": "^3.1.4", + "postcss-media-query-parser": "^0.2.3", + "postcss-resolve-nested-selector": "^0.1.1", + "postcss-safe-parser": "^4.0.2", + "postcss-sass": "^0.4.4", + "postcss-scss": "^2.1.1", + "postcss-selector-parser": "^6.0.5", + "postcss-syntax": "^0.36.2", + "postcss-value-parser": "^4.1.0", + "resolve-from": "^5.0.0", + "slash": "^3.0.0", + "specificity": "^0.4.1", + "string-width": "^4.2.2", + "strip-ansi": "^6.0.0", + "style-search": "^0.1.0", + "sugarss": "^2.0.0", + "svg-tags": "^1.0.0", + "table": "^6.6.0", + "v8-compile-cache": "^2.3.0", + "write-file-atomic": "^3.0.3" + }, + "dependencies": { + "balanced-match": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-2.0.0.tgz", + "integrity": "sha512-1ugUSr8BHXRnK23KfuYS+gVMC3LB8QGH9W1iGtDPsNWoQbgtXSExkBu2aDR4epiGWZOjZsj6lDl/N/AqqTC3UA==", + "dev": true + }, + "postcss-less": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/postcss-less/-/postcss-less-3.1.4.tgz", + "integrity": "sha512-7TvleQWNM2QLcHqvudt3VYjULVB49uiW6XzEUFmvwHzvsOEF5MwBrIXZDJQvJNFGjJQTzSzZnDoCJ8h/ljyGXA==", + "dev": true, + "requires": { + "postcss": "^7.0.14" + } + } + } + }, + "stylelint-config-css-modules": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/stylelint-config-css-modules/-/stylelint-config-css-modules-2.3.0.tgz", + "integrity": "sha512-nSxwaJMv9wBrTAi+O4qXubyi1AR9eB36tJpY0uaFhKgEc3fwWGUzUK1Edl8AQHAoU7wmUeKtsuYjblyRP/V7rw==", + "dev": true + }, + "stylelint-config-prettier": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/stylelint-config-prettier/-/stylelint-config-prettier-8.0.2.tgz", + "integrity": "sha512-TN1l93iVTXpF9NJstlvP7nOu9zY2k+mN0NSFQ/VEGz15ZIP9ohdDZTtCWHs5LjctAhSAzaILULGbgiM0ItId3A==", + "dev": true + }, + "stylelint-config-recommended": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/stylelint-config-recommended/-/stylelint-config-recommended-3.0.0.tgz", + "integrity": "sha512-F6yTRuc06xr1h5Qw/ykb2LuFynJ2IxkKfCMf+1xqPffkxh0S09Zc902XCffcsw/XMFq/OzQ1w54fLIDtmRNHnQ==", + "dev": true + }, + "stylelint-config-standard": { + "version": "20.0.0", + "resolved": "https://registry.npmjs.org/stylelint-config-standard/-/stylelint-config-standard-20.0.0.tgz", + "integrity": "sha512-IB2iFdzOTA/zS4jSVav6z+wGtin08qfj+YyExHB3LF9lnouQht//YyB0KZq9gGz5HNPkddHOzcY8HsUey6ZUlA==", + "dev": true, + "requires": { + "stylelint-config-recommended": "^3.0.0" + } + }, + "stylelint-declaration-block-no-ignored-properties": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/stylelint-declaration-block-no-ignored-properties/-/stylelint-declaration-block-no-ignored-properties-2.8.0.tgz", + "integrity": "sha512-Ws8Cav7Y+SPN0JsV407LrnNXWOrqGjxShf+37GBtnU/C58Syve9c0+I/xpLcFOosST3ternykn3Lp77f3ITnFw==", + "dev": true + }, + "sugarss": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/sugarss/-/sugarss-2.0.0.tgz", + "integrity": "sha512-WfxjozUk0UVA4jm+U1d736AUpzSrNsQcIbyOkoE364GrtWmIrFdk5lksEupgWMD4VaT/0kVx1dobpiDumSgmJQ==", + "dev": true, + "requires": { + "postcss": "^7.0.2" + } + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + }, + "supports-hyperlinks": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.3.0.tgz", + "integrity": "sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==", + "dev": true, + "requires": { + "has-flag": "^4.0.0", + "supports-color": "^7.0.0" + } + }, + "supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true + }, + "svg-tags": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/svg-tags/-/svg-tags-1.0.0.tgz", + "integrity": "sha512-ovssysQTa+luh7A5Weu3Rta6FJlFBBbInjOh722LIt6klpU2/HtdUbszju/G4devcvk8PGt7FCLv5wftu3THUA==", + "dev": true + }, + "swagger-client": { + "version": "3.26.4", + "resolved": "https://registry.npmjs.org/swagger-client/-/swagger-client-3.26.4.tgz", + "integrity": "sha512-Xj1DGEvnQt8dCJy15aPBhfzgxio1VzNEAsyRWVo/sorf8Ocs6nc4Ktx0xRqGFzgheDtUoCw/OXeSTeFKGtYmNA==", + "dev": true, + "requires": { + "@babel/runtime-corejs3": "^7.22.15", + "@swagger-api/apidom-core": ">=0.98.0 <1.0.0", + "@swagger-api/apidom-error": ">=0.98.0 <1.0.0", + "@swagger-api/apidom-json-pointer": ">=0.98.0 <1.0.0", + "@swagger-api/apidom-ns-openapi-3-1": ">=0.98.0 <1.0.0", + "@swagger-api/apidom-reference": ">=0.98.0 <1.0.0", + "cookie": "~0.6.0", + "deepmerge": "~4.3.0", + "fast-json-patch": "^3.0.0-1", + "is-plain-object": "^5.0.0", + "js-yaml": "^4.1.0", + "node-abort-controller": "^3.1.1", + "node-fetch-commonjs": "^3.3.2", + "qs": "^6.10.2", + "traverse": "~0.6.6" + }, + "dependencies": { + "argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true + }, + "is-plain-object": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", + "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==", + "dev": true + }, + "js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "requires": { + "argparse": "^2.0.1" + } + } + } + }, + "swagger-ui-dist": { + "version": "4.19.1", + "resolved": "https://registry.npmjs.org/swagger-ui-dist/-/swagger-ui-dist-4.19.1.tgz", + "integrity": "sha512-n/gFn+R7G/BXWwl5UZLw6F1YgWOlf3zkwGlsPhTMhNtAAolBGKg0JS5b2RKt5NI6/hSopVaSrki2wTIMUDDy2w==" + }, + "swagger-ui-react": { + "version": "3.52.5", + "resolved": "https://registry.npmjs.org/swagger-ui-react/-/swagger-ui-react-3.52.5.tgz", + "integrity": "sha512-V2fidbSGCb6SmC1AyTXv6T8znWcLAjfVBs2CPTXUS7m7s//SqiRx3hXXPUNvGxKTEK76h+yvcBZf2GLD7kr63w==", + "dev": true, + "requires": { + "@babel/runtime-corejs3": "^7.14.7", + "@braintree/sanitize-url": "^5.0.2", + "@kyleshockey/object-assign-deep": "^0.4.2", + "@kyleshockey/xml": "^1.0.2", + "base64-js": "^1.5.1", + "classnames": "^2.3.1", + "css.escape": "1.5.1", + "deep-extend": "0.6.0", + "dompurify": "^2.2.9", + "ieee754": "^1.2.1", + "immutable": "^3.x.x", + "js-file-download": "^0.4.12", + "js-yaml": "=4.1.0", + "lodash": "^4.17.21", + "memoizee": "^0.4.15", + "prop-types": "^15.7.2", + "randombytes": "^2.1.0", + "react-copy-to-clipboard": "5.0.3", + "react-debounce-input": "^3.2.3", + "react-immutable-proptypes": "2.2.0", + "react-immutable-pure-component": "^1.1.1", + "react-inspector": "^2.3.0", + "react-motion": "^0.5.2", + "react-redux": "=4.4.10", + "react-syntax-highlighter": "^15.4.4", + "redux": "=3.7.2", + "redux-immutable": "3.1.0", + "remarkable": "^2.0.1", + "reselect": "^4.0.0", + "serialize-error": "^8.1.0", + "sha.js": "^2.4.11", + "swagger-client": "^3.17.0", + "url-parse": "^1.5.2", + "xml-but-prettier": "^1.0.1", + "zenscroll": "^4.0.2" + }, + "dependencies": { + "argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true + }, + "js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "requires": { + "argparse": "^2.0.1" + } + }, + "react-redux": { + "version": "4.4.10", + "resolved": "https://registry.npmjs.org/react-redux/-/react-redux-4.4.10.tgz", + "integrity": "sha512-tjL0Bmpkj75Td0k+lXlF8Fc8a9GuXFv/3ahUOCXExWs/jhsKiQeTffdH0j5byejCGCRL4tvGFYlrwBF1X/Aujg==", + "dev": true, + "requires": { + "create-react-class": "^15.5.1", + "hoist-non-react-statics": "^3.3.0", + "invariant": "^2.0.0", + "lodash": "^4.17.11", + "loose-envify": "^1.4.0", + "prop-types": "^15.7.2" + } + }, + "redux": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/redux/-/redux-3.7.2.tgz", + "integrity": "sha512-pNqnf9q1hI5HHZRBkj3bAngGZW/JMCmexDlOxw4XagXY2o1327nHH54LoTjiPJ0gizoqPDRqWyX/00g0hD6w+A==", + "dev": true, + "requires": { + "lodash": "^4.2.1", + "lodash-es": "^4.2.1", + "loose-envify": "^1.1.0", + "symbol-observable": "^1.0.3" + } + } + } + }, + "swagger2openapi": { + "version": "7.0.8", + "resolved": "https://registry.npmjs.org/swagger2openapi/-/swagger2openapi-7.0.8.tgz", + "integrity": "sha512-upi/0ZGkYgEcLeGieoz8gT74oWHA0E7JivX7aN9mAf+Tc7BQoRBvnIGHoPDw+f9TXTW4s6kGYCZJtauP6OYp7g==", + "dev": true, + "requires": { + "call-me-maybe": "^1.0.1", + "node-fetch": "^2.6.1", + "node-fetch-h2": "^2.3.0", + "node-readfiles": "^0.2.0", + "oas-kit-common": "^1.0.8", + "oas-resolver": "^2.5.6", + "oas-schema-walker": "^1.1.5", + "oas-validator": "^5.0.8", + "reftools": "^1.1.9", + "yaml": "^1.10.0", + "yargs": "^17.0.1" + }, + "dependencies": { + "cliui": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", + "dev": true, + "requires": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" + } + }, + "y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "dev": true + }, + "yargs": { + "version": "17.7.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", + "dev": true, + "requires": { + "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.5", + "yargs-parser": "^21.1.1" + } + }, + "yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "dev": true + } + } + }, + "swr": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/swr/-/swr-1.3.0.tgz", + "integrity": "sha512-dkghQrOl2ORX9HYrMDtPa7LTVHJjCTeZoB1dqTbnnEDlSvN8JEKpYIYurDfvbQFUUS8Cg8PceFVZNkW0KNNYPw==" + }, + "sylvanas": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/sylvanas/-/sylvanas-0.6.1.tgz", + "integrity": "sha512-/hI6AJ522jV4+9iQ1lCmwiqBQDDDYQZQVSDRY+Gt5/Mh2i9rqiG6A9ltMFAAqw0fSkjgfFIMI6e0fAyssQ71xw==", + "dev": true, + "requires": { + "@babel/core": "^7.9.0", + "@babel/plugin-syntax-decorators": "^7.8.3", + "@babel/plugin-syntax-dynamic-import": "^7.8.3", + "@babel/plugin-transform-typescript": "^7.9.4", + "@types/prettier": "^1.16.4", + "@umijs/fabric": "^2.2.2", + "eslint": "^7.7.0", + "fs-extra": "^8.0.1", + "import-fresh": "^3.1.0", + "prettier": "^2.1.1" + }, + "dependencies": { + "@types/prettier": { + "version": "1.19.1", + "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-1.19.1.tgz", + "integrity": "sha512-5qOlnZscTn4xxM5MeGXAMOsIOIKIbh9e85zJWfBRVPlRMEVawzoPhINYbRGkBZCI8LxvBe7tJCdWiarA99OZfQ==", + "dev": true + }, + "fs-extra": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "dev": true, + "requires": { + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + }, + "jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.6" + } + } + } + }, + "symbol-observable": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.2.0.tgz", + "integrity": "sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ==", + "dev": true + }, + "symbol-tree": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", + "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==", + "dev": true + }, + "table": { + "version": "6.8.2", + "resolved": "https://registry.npmjs.org/table/-/table-6.8.2.tgz", + "integrity": "sha512-w2sfv80nrAh2VCbqR5AK27wswXhqcck2AhfnNW76beQXskGZ1V12GwS//yYVa3d3fcvAip2OUnbDAjW2k3v9fA==", + "dev": true, + "requires": { + "ajv": "^8.0.1", + "lodash.truncate": "^4.4.2", + "slice-ansi": "^4.0.0", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1" + }, + "dependencies": { + "ajv": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + } + }, + "json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true + }, + "slice-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", + "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" + } + } + } + }, + "tapable": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", + "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==" + }, + "tar-fs": { + "version": "1.16.3", + "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-1.16.3.tgz", + "integrity": "sha512-NvCeXpYx7OsmOh8zIOP/ebG55zZmxLE0etfWRbWok+q2Qo8x/vOR/IJT1taADXPe+jsiu9axDb3X4B+iIgNlKw==", + "dev": true, + "requires": { + "chownr": "^1.0.1", + "mkdirp": "^0.5.1", + "pump": "^1.0.0", + "tar-stream": "^1.1.2" + }, + "dependencies": { + "mkdirp": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", + "dev": true, + "requires": { + "minimist": "^1.2.6" + } + } + } + }, + "tar-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.6.2.tgz", + "integrity": "sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A==", + "dev": true, + "requires": { + "bl": "^1.0.0", + "buffer-alloc": "^1.2.0", + "end-of-stream": "^1.0.0", + "fs-constants": "^1.0.0", + "readable-stream": "^2.3.0", + "to-buffer": "^1.1.1", + "xtend": "^4.0.0" + }, + "dependencies": { + "bl": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.3.tgz", + "integrity": "sha512-pvcNpa0UU69UT341rO6AYy4FVAIkUHuZXRIWbq+zHnsVcRzDDjIAhGuuYoi0d//cwIwtt4pkpKycWEfjdV+vww==", + "dev": true, + "requires": { + "readable-stream": "^2.3.5", + "safe-buffer": "^5.1.1" + } + } + } + }, + "term-size": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/term-size/-/term-size-1.2.0.tgz", + "integrity": "sha512-7dPUZQGy/+m3/wjVz3ZW5dobSoD/02NxJpoXUX0WIyjfVS3l0c+b/+9phIDFA7FHzkYtwtMFgeGZ/Y8jVTeqQQ==", + "dev": true, + "requires": { + "execa": "^0.7.0" + }, + "dependencies": { + "cross-spawn": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", + "integrity": "sha512-pTgQJ5KC0d2hcY8eyL1IzlBPYjTkyH72XRZPnLyKus2mBfNjQs3klqbJU2VILqZryAZUt9JOb3h/mWMy23/f5A==", + "dev": true, + "requires": { + "lru-cache": "^4.0.1", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "execa": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", + "integrity": "sha512-RztN09XglpYI7aBBrJCPW95jEH7YF1UEPOoX9yDhUTPdp7mK+CQvnLTuD10BNXZ3byLTu2uehZ8EcKT/4CGiFw==", + "dev": true, + "requires": { + "cross-spawn": "^5.0.1", + "get-stream": "^3.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + } + }, + "get-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", + "integrity": "sha512-GlhdIUuVakc8SJ6kK0zAFbiGzRFzNnY4jUuEbV9UROo4Y+0Ny4fjvcZFVTeDA4odpFyOQzaw6hXukJSq/f28sQ==", + "dev": true + }, + "is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==", + "dev": true + }, + "lru-cache": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", + "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", + "dev": true, + "requires": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } + }, + "npm-run-path": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", + "integrity": "sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw==", + "dev": true, + "requires": { + "path-key": "^2.0.0" + } + }, + "path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==", + "dev": true + }, + "shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==", + "dev": true, + "requires": { + "shebang-regex": "^1.0.0" + } + }, + "shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==", + "dev": true + }, + "which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + }, + "yallist": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", + "integrity": "sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A==", + "dev": true + } + } + }, + "terminal-link": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/terminal-link/-/terminal-link-1.3.0.tgz", + "integrity": "sha512-nFaWG/gs3brGi3opgWU2+dyFGbQ7tueSRYOBOD8URdDXCbAGqDEZzuskCc+okCClYcJFDPwn8e2mbv4FqAnWFA==", + "dev": true, + "requires": { + "ansi-escapes": "^3.2.0", + "supports-hyperlinks": "^1.0.1" + }, + "dependencies": { + "ansi-escapes": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz", + "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==", + "dev": true + }, + "has-flag": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz", + "integrity": "sha512-P+1n3MnwjR/Epg9BBo1KT8qbye2g2Ou4sFumihwt6I4tsUX7jnLcX4BTOSKg/B1ZrIYMN9FcEnG4x5a7NB8Eng==", + "dev": true + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + }, + "dependencies": { + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true + } + } + }, + "supports-hyperlinks": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-1.0.1.tgz", + "integrity": "sha512-HHi5kVSefKaJkGYXbDuKbUGRVxqnWGn3J2e39CYcNJEfWciGq2zYtOhXLTlvrOZW1QU7VX67w7fMmWafHX9Pfw==", + "dev": true, + "requires": { + "has-flag": "^2.0.0", + "supports-color": "^5.0.0" + } + } + } + }, + "terser": { + "version": "5.30.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.30.0.tgz", + "integrity": "sha512-Y/SblUl5kEyEFzhMAQdsxVHh+utAxd4IuRNJzKywY/4uzSogh3G219jqbDDxYu4MXO9CzY3tSEqmZvW6AoEDJw==", + "dev": true, + "requires": { + "@jridgewell/source-map": "^0.3.3", + "acorn": "^8.8.2", + "commander": "^2.20.0", + "source-map-support": "~0.5.20" + }, + "dependencies": { + "acorn": { + "version": "8.11.3", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz", + "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==", + "dev": true + } + } + }, + "test-exclude": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", + "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", + "dev": true, + "requires": { + "@istanbuljs/schema": "^0.1.2", + "glob": "^7.1.4", + "minimatch": "^3.0.4" + } + }, + "text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==" + }, + "textextensions": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/textextensions/-/textextensions-2.6.0.tgz", + "integrity": "sha512-49WtAWS+tcsy93dRt6P0P3AMD2m5PvXRhuEA0kaXos5ZLlujtYmpmFsB+QvWUSxE1ZsstmYXfQ7L40+EcQgpAQ==", + "dev": true + }, + "throat": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/throat/-/throat-5.0.0.tgz", + "integrity": "sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA==", + "dev": true + }, + "throttle-debounce": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/throttle-debounce/-/throttle-debounce-5.0.0.tgz", + "integrity": "sha512-2iQTSgkkc1Zyk0MeVrt/3BvuOXYPl/R8Z0U2xxo9rjwNciaHDG3R+Lm6dh4EeUci49DanvBnuqI6jshoQQRGEg==" + }, + "through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", + "dev": true + }, + "through2": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/through2/-/through2-3.0.2.tgz", + "integrity": "sha512-enaDQ4MUyP2W6ZyT6EsMzqBPZaM/avg8iuo+l2d3QCs0J+6RaqkHV/2/lOwDTueBHeJ/2LG9lrLW3d5rWPucuQ==", + "dev": true, + "requires": { + "inherits": "^2.0.4", + "readable-stream": "2 || 3" + } + }, + "timed-out": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/timed-out/-/timed-out-4.0.1.tgz", + "integrity": "sha512-G7r3AhovYtr5YKOWQkta8RKAPb+J9IsO4uVmzjl8AZwfhs8UcUwTiD6gcJYSgOtzyjvQKrKYn41syHbUWMkafA==", + "dev": true + }, + "timers-browserify": { + "version": "2.0.12", + "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.12.tgz", + "integrity": "sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ==", + "requires": { + "setimmediate": "^1.0.4" + } + }, + "timers-ext": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/timers-ext/-/timers-ext-0.1.7.tgz", + "integrity": "sha512-b85NUNzTSdodShTIbky6ZF02e8STtVVfD+fu4aXXShEELpozH+bCpJLYMPZbsABN2wDH7fJpqIoXxJpzbf0NqQ==", + "dev": true, + "requires": { + "es5-ext": "~0.10.46", + "next-tick": "1" + } + }, + "tiny-invariant": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/tiny-invariant/-/tiny-invariant-1.3.3.tgz", + "integrity": "sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg==" + }, + "tiny-pinyin": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/tiny-pinyin/-/tiny-pinyin-1.3.2.tgz", + "integrity": "sha512-uHNGu4evFt/8eNLldazeAM1M8JrMc1jshhJJfVRARTN3yT8HEEibofeQ7QETWQ5ISBjd6fKtTVBCC/+mGS6FpA==", + "dev": true + }, + "tiny-warning": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/tiny-warning/-/tiny-warning-1.0.3.tgz", + "integrity": "sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==" + }, + "tinycolor2": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/tinycolor2/-/tinycolor2-1.6.0.tgz", + "integrity": "sha512-XPaBkWQJdsf3pLKJV9p4qN/S+fm2Oj8AIPo1BTUhg5oxkvm9+SVEGFdhyOz7tTdUTfvxMiAs4sp6/eZO2Ew+pw==" + }, + "tmp": { + "version": "0.0.33", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", + "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", + "dev": true, + "requires": { + "os-tmpdir": "~1.0.2" + } + }, + "tmpl": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", + "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==", + "dev": true + }, + "to-arraybuffer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz", + "integrity": "sha512-okFlQcoGTi4LQBG/PgSYblw9VOyptsz2KJZqc6qtgGdes8VktzUQkj4BI2blit072iS8VODNcMA+tvnS9dnuMA==" + }, + "to-buffer": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/to-buffer/-/to-buffer-1.1.1.tgz", + "integrity": "sha512-lx9B5iv7msuFYE3dytT+KE5tap+rNYw+K4jVkb9R/asAb+pbBSM17jtunHplhBe6RRJdZx3Pn2Jph24O32mOVg==", + "dev": true + }, + "to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==" + }, + "to-object-path": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", + "integrity": "sha512-9mWHdnGRuh3onocaHzukyvCZhzvr6tiflAy/JRFXcJX0TjgfWA9pk9t8CMbzmBE4Jfw58pXbkngtBtqYxzNEyg==", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "to-readable-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/to-readable-stream/-/to-readable-stream-1.0.0.tgz", + "integrity": "sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q==", + "dev": true + }, + "to-regex": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", + "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", + "dev": true, + "requires": { + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "regex-not": "^1.0.2", + "safe-regex": "^1.1.0" + }, + "dependencies": { + "extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==", + "dev": true, + "requires": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + } + }, + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "requires": { + "is-plain-object": "^2.0.4" + } + }, + "safe-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", + "integrity": "sha512-aJXcif4xnaNUzvUuC5gcb46oTS7zvg4jpMTnuqtrEPlR3vFr4pxtdTwaF1Qs3Enjn9HK+ZlwQui+a7z0SywIzg==", + "dev": true, + "requires": { + "ret": "~0.1.10" + } + } + } + }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "requires": { + "is-number": "^7.0.0" + } + }, + "toggle-selection": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/toggle-selection/-/toggle-selection-1.0.6.tgz", + "integrity": "sha512-BiZS+C1OS8g/q2RRbJmy59xpyghNBqrr6k5L/uKBGRsTfxmu3ffiRnd8mlGPUVayg8pvfi5urfnu8TU7DVOkLQ==" + }, + "toidentifier": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", + "dev": true + }, + "tough-cookie": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.3.tgz", + "integrity": "sha512-aX/y5pVRkfRnfmuX+OdbSdXvPe6ieKX/G2s7e98f4poJHnqH3281gDPm/metm6E/WRamfx7WC4HUqkWHfQHprw==", + "dev": true, + "requires": { + "psl": "^1.1.33", + "punycode": "^2.1.1", + "universalify": "^0.2.0", + "url-parse": "^1.5.3" + }, + "dependencies": { + "universalify": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz", + "integrity": "sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==", + "dev": true + } + } + }, + "tr46": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-2.1.0.tgz", + "integrity": "sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==", + "dev": true, + "requires": { + "punycode": "^2.1.1" + } + }, + "traverse": { + "version": "0.6.8", + "resolved": "https://registry.npmjs.org/traverse/-/traverse-0.6.8.tgz", + "integrity": "sha512-aXJDbk6SnumuaZSANd21XAo15ucCDE38H4fkqiGsc3MhCK+wOlZvLP9cB/TvpHT0mOyWgC4Z8EwRlzqYSUzdsA==", + "dev": true + }, + "tree-sitter": { + "version": "0.20.4", + "resolved": "https://registry.npmjs.org/tree-sitter/-/tree-sitter-0.20.4.tgz", + "integrity": "sha512-rjfR5dc4knG3jnJNN/giJ9WOoN1zL/kZyrS0ILh+eqq8RNcIbiXA63JsMEgluug0aNvfQvK4BfCErN1vIzvKog==", + "dev": true, + "optional": true, + "requires": { + "nan": "^2.17.0", + "prebuild-install": "^7.1.1" + } + }, + "tree-sitter-json": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/tree-sitter-json/-/tree-sitter-json-0.20.2.tgz", + "integrity": "sha512-eUxrowp4F1QEGk/i7Sa+Xl8Crlfp7J0AXxX1QdJEQKQYMWhgMbCIgyQvpO3Q0P9oyTrNQxRLlRipDS44a8EtRw==", + "dev": true, + "optional": true, + "requires": { + "nan": "^2.18.0" + } + }, + "tree-sitter-yaml": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/tree-sitter-yaml/-/tree-sitter-yaml-0.5.0.tgz", + "integrity": "sha512-POJ4ZNXXSWIG/W4Rjuyg36MkUD4d769YRUGKRqN+sVaj/VCo6Dh6Pkssn1Rtewd5kybx+jT1BWMyWN0CijXnMA==", + "dev": true, + "optional": true, + "requires": { + "nan": "^2.14.0" + } + }, + "trim-newlines": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-3.0.1.tgz", + "integrity": "sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==", + "dev": true + }, + "trim-repeated": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/trim-repeated/-/trim-repeated-1.0.0.tgz", + "integrity": "sha512-pkonvlKk8/ZuR0D5tLW8ljt5I8kmxp2XKymhepUeOdCEfKpZaktSArkLHZt76OB1ZvO9bssUsDty4SWhLvZpLg==", + "dev": true, + "requires": { + "escape-string-regexp": "^1.0.2" + }, + "dependencies": { + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true + } + } + }, + "trim-right": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz", + "integrity": "sha512-WZGXGstmCWgeevgTL54hrCuw1dyMQIzWy7ZfqRJfSmJZBwklI15egmQytFP6bPidmw3M8d5yEowl1niq4vmqZw==", + "dev": true + }, + "trough": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/trough/-/trough-1.0.5.tgz", + "integrity": "sha512-rvuRbTarPXmMb79SmzEp8aqXNKcK+y0XaB298IXueQ8I2PsrATcPBCSPyK/dDNa2iWOhKlfNnOjdAOTBU/nkFA==", + "dev": true + }, + "ts-mixer": { + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/ts-mixer/-/ts-mixer-6.0.4.tgz", + "integrity": "sha512-ufKpbmrugz5Aou4wcr5Wc1UUFWOLhq+Fm6qa6P0w0K5Qw2yhaUoiWszhCVuNQyNwrlGiscHOmqYoAox1PtvgjA==", + "dev": true + }, + "ts-toolbelt": { + "version": "9.6.0", + "resolved": "https://registry.npmjs.org/ts-toolbelt/-/ts-toolbelt-9.6.0.tgz", + "integrity": "sha512-nsZd8ZeNUzukXPlJmTBwUAuABDe/9qtVDelJeT/qW0ow3ZS3BsQJtNkan1802aM9Uf68/Y8ljw86Hu0h5IUW3w==", + "dev": true + }, + "tslib": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.0.tgz", + "integrity": "sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg==" + }, + "tsutils": { + "version": "3.21.0", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", + "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", + "dev": true, + "requires": { + "tslib": "^1.8.1" + }, + "dependencies": { + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + } + } + }, + "tty-browserify": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz", + "integrity": "sha512-JVa5ijo+j/sOoHGjw0sxw734b1LhBkQ3bvUGNdxnVXDCX81Yx7TFgnZygxrIIWn23hbfTaMYLwRmAxFyDuFmIw==" + }, + "tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==", + "dev": true, + "requires": { + "safe-buffer": "^5.0.1" + } + }, + "tween-functions": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/tween-functions/-/tween-functions-1.2.0.tgz", + "integrity": "sha512-PZBtLYcCLtEcjL14Fzb1gSxPBeL7nWvGhO5ZFPGqziCcr8uvHp0NDmdjBchp6KHL+tExcg0m3NISmKxhU394dA==", + "dev": true + }, + "tweetnacl": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==", + "dev": true + }, + "type": { + "version": "2.7.2", + "resolved": "https://registry.npmjs.org/type/-/type-2.7.2.tgz", + "integrity": "sha512-dzlvlNlt6AXU7EBSfpAscydQ7gXB+pPGsPnfJnZpiNJBDj7IaJzQlBZYGdEi4R9HmPdBv2XmWJ6YUtoTa7lmCw==", + "dev": true + }, + "type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dev": true, + "requires": { + "prelude-ls": "^1.2.1" + } + }, + "type-detect": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", + "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", + "dev": true + }, + "type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "dev": true + }, + "type-is": { + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "dev": true, + "requires": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + } + }, + "typed-array-buffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.2.tgz", + "integrity": "sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==", + "dev": true, + "requires": { + "call-bind": "^1.0.7", + "es-errors": "^1.3.0", + "is-typed-array": "^1.1.13" + } + }, + "typed-array-byte-length": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.1.tgz", + "integrity": "sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw==", + "dev": true, + "requires": { + "call-bind": "^1.0.7", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-proto": "^1.0.3", + "is-typed-array": "^1.1.13" + } + }, + "typed-array-byte-offset": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.2.tgz", + "integrity": "sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA==", + "dev": true, + "requires": { + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.7", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-proto": "^1.0.3", + "is-typed-array": "^1.1.13" + } + }, + "typed-array-length": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.6.tgz", + "integrity": "sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g==", + "dev": true, + "requires": { + "call-bind": "^1.0.7", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-proto": "^1.0.3", + "is-typed-array": "^1.1.13", + "possible-typed-array-names": "^1.0.0" + } + }, + "typedarray": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==", + "dev": true + }, + "typedarray-to-buffer": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", + "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", + "dev": true, + "requires": { + "is-typedarray": "^1.0.0" + } + }, + "types-ramda": { + "version": "0.29.9", + "resolved": "https://registry.npmjs.org/types-ramda/-/types-ramda-0.29.9.tgz", + "integrity": "sha512-B+VbLtW68J4ncG/rccKaYDhlirKlVH/Izh2JZUfaPJv+3Tl2jbbgYsB1pvole1vXKSgaPlAe/wgEdOnMdAu52A==", + "dev": true, + "requires": { + "ts-toolbelt": "^9.6.0" + } + }, + "typescript": { + "version": "4.9.5", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz", + "integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==", + "dev": true + }, + "ua-parser-js": { + "version": "0.7.37", + "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.37.tgz", + "integrity": "sha512-xV8kqRKM+jhMvcHWUKthV9fNebIzrNy//2O9ZwWcfiBFR5f25XVZPLlEajk/sf3Ra15V92isyQqnIEXRDaZWEA==" + }, + "umi": { + "version": "3.5.41", + "resolved": "https://registry.npmjs.org/umi/-/umi-3.5.41.tgz", + "integrity": "sha512-sjgfFGC3E5jG5Cn8pXdwODDgPW1hnlkn24f7+onNnNdq77syuc4s3R5z7BKQHbjiWtVVIV1VOFMYE9JsJYnOPQ==", + "requires": { + "@umijs/bundler-webpack": "3.5.41", + "@umijs/core": "3.5.41", + "@umijs/deps": "3.5.41", + "@umijs/preset-built-in": "3.5.41", + "@umijs/runtime": "3.5.41", + "@umijs/types": "3.5.41", + "@umijs/utils": "3.5.41", + "react": "16.x", + "react-dom": "16.x", + "v8-compile-cache": "2.3.0" + }, + "dependencies": { + "react": { + "version": "16.14.0", + "resolved": "https://registry.npmjs.org/react/-/react-16.14.0.tgz", + "integrity": "sha512-0X2CImDkJGApiAlcf0ODKIneSwBPhqJawOa5wCtKbu7ZECrmS26NvtSILynQ66cgkT/RJ4LidJOc3bUESwmU8g==", + "requires": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1", + "prop-types": "^15.6.2" + } + }, + "react-dom": { + "version": "16.14.0", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-16.14.0.tgz", + "integrity": "sha512-1gCeQXDLoIqMgqD3IO2Ah9bnf0w9kzhwN5q4FGnHZ67hBm9yePzB5JJAIQCc8x3pFnNlwFq4RidZggNAAkzWWw==", + "requires": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1", + "prop-types": "^15.6.2", + "scheduler": "^0.19.1" + } + }, + "scheduler": { + "version": "0.19.1", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.19.1.tgz", + "integrity": "sha512-n/zwRWRYSUj0/3g/otKDRPMh6qv2SYMWNq85IEa8iZyAv8od9zDYpGSnpBEjNgcMNq6Scbu5KfIPxNF72R/2EA==", + "requires": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1" + } + }, + "v8-compile-cache": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz", + "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==" + } + } + }, + "umi-core": { + "version": "1.9.10", + "resolved": "https://registry.npmjs.org/umi-core/-/umi-core-1.9.10.tgz", + "integrity": "sha512-3THxpVXtdTyJfpGBb4WQnxy+Gv+LjHo+RFCmLRNl7fJ/XBT4otjAb33g9eoV5zLAK64LYzZ+f/qxKYo0ilzaMQ==", + "dev": true, + "requires": { + "@babel/preset-typescript": "7.3.3", + "@babel/register": "7.4.4", + "@umijs/error-code-map": "^1.0.0", + "babel-preset-umi": "1.8.4", + "chalk": "2.4.2", + "extend2": "1.0.0", + "marked": "0.6.2", + "marked-terminal": "3.2.0", + "os-locale": "^4.0.0", + "signale": "1.4.0", + "slash2": "2.0.0", + "umi-utils": "1.7.3" + }, + "dependencies": { + "@babel/preset-typescript": { + "version": "7.3.3", + "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.3.3.tgz", + "integrity": "sha512-mzMVuIP4lqtn4du2ynEfdO0+RYcslwrZiJHXu4MGaC1ctJiW2fyaeDrtjJGs7R/KebZ1sgowcIoWf4uRpEfKEg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-transform-typescript": "^7.3.2" + } + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, + "cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "dev": true, + "requires": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true + }, + "execa": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", + "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", + "dev": true, + "requires": { + "cross-spawn": "^6.0.0", + "get-stream": "^4.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + } + }, + "get-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", + "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "dev": true, + "requires": { + "pump": "^3.0.0" + } + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true + }, + "is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==", + "dev": true + }, + "marked": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/marked/-/marked-0.6.2.tgz", + "integrity": "sha512-LqxwVH3P/rqKX4EKGz7+c2G9r98WeM/SW34ybhgNGhUQNKtf1GmmSkJ6cDGJ/t6tiyae49qRkpyTw2B9HOrgUA==", + "dev": true + }, + "npm-run-path": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", + "integrity": "sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw==", + "dev": true, + "requires": { + "path-key": "^2.0.0" + } + }, + "os-locale": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-4.0.0.tgz", + "integrity": "sha512-HsSR1+2l6as4Wp2SGZxqLnuFHxVvh1Ir9pvZxyujsC13egZVe7P0YeBLN0ijQzM/twrO5To3ia3jzBXAvpMTEA==", + "dev": true, + "requires": { + "execa": "^1.0.0", + "lcid": "^3.0.0", + "mem": "^5.0.0" + } + }, + "path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==", + "dev": true + }, + "pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "dev": true, + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "dev": true + }, + "shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==", + "dev": true, + "requires": { + "shebang-regex": "^1.0.0" + } + }, + "shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==", + "dev": true + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + }, + "which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + } + } + }, + "umi-mock": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/umi-mock/-/umi-mock-2.1.5.tgz", + "integrity": "sha512-6yJB89Q8F/FGlB2ZpaKDoYBsv0E29XMoKCgEr1TAO8TfUPEU0oMKOOuhDA633sZ/jRhxFbK1Yvu4DLS7SjtQoA==", + "dev": true, + "requires": { + "body-parser": "1.19.0", + "chokidar": "3.0.2", + "glob": "7.1.4", + "multer": "^1.4.1", + "path-to-regexp": "1.7.0", + "signale": "1.4.0", + "umi-utils": "1.7.3" + }, + "dependencies": { + "body-parser": { + "version": "1.19.0", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz", + "integrity": "sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==", + "dev": true, + "requires": { + "bytes": "3.1.0", + "content-type": "~1.0.4", + "debug": "2.6.9", + "depd": "~1.1.2", + "http-errors": "1.7.2", + "iconv-lite": "0.4.24", + "on-finished": "~2.3.0", + "qs": "6.7.0", + "raw-body": "2.4.0", + "type-is": "~1.6.17" + } + }, + "bytes": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", + "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==", + "dev": true + }, + "chokidar": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.0.2.tgz", + "integrity": "sha512-c4PR2egjNjI1um6bamCQ6bUNPDiyofNQruHvKgHQ4gDUP/ITSVSzNsiI5OWtHOsX323i5ha/kk4YmOZ1Ktg7KA==", + "dev": true, + "requires": { + "anymatch": "^3.0.1", + "braces": "^3.0.2", + "fsevents": "^2.0.6", + "glob-parent": "^5.0.0", + "is-binary-path": "^2.1.0", + "is-glob": "^4.0.1", + "normalize-path": "^3.0.0", + "readdirp": "^3.1.1" + } + }, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==", + "dev": true + }, + "glob": { + "version": "7.1.4", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.4.tgz", + "integrity": "sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "http-errors": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz", + "integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==", + "dev": true, + "requires": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.1", + "statuses": ">= 1.5.0 < 2", + "toidentifier": "1.0.0" + } + }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==", + "dev": true + }, + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==", + "dev": true + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true + }, + "on-finished": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", + "integrity": "sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==", + "dev": true, + "requires": { + "ee-first": "1.1.1" + } + }, + "path-to-regexp": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.7.0.tgz", + "integrity": "sha512-nifX1uj4S9IrK/w3Xe7kKvNEepXivANs9ng60Iq7PU/BlouV3yL/VUhFqTuTq33ykwUqoNcTeGo5vdOBP4jS/Q==", + "dev": true, + "requires": { + "isarray": "0.0.1" + } + }, + "qs": { + "version": "6.7.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", + "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==", + "dev": true + }, + "raw-body": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.0.tgz", + "integrity": "sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==", + "dev": true, + "requires": { + "bytes": "3.1.0", + "http-errors": "1.7.2", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + } + }, + "setprototypeof": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", + "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==", + "dev": true + }, + "statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==", + "dev": true + }, + "toidentifier": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz", + "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==", + "dev": true + } + } + }, + "umi-plugin-antd-icon-config": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/umi-plugin-antd-icon-config/-/umi-plugin-antd-icon-config-2.0.4.tgz", + "integrity": "sha512-3OqH5KFiuVzhr8UwLO+KZHzHySAqgDBLQUTh8YrehHSs3wgNDYKt0Tk3DIx8SGA6+46bspaK4iIOpTIS7f7RXw==", + "dev": true, + "requires": { + "@ant-design/icons": "^4.0.0" + } + }, + "umi-plugin-pro-block": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/umi-plugin-pro-block/-/umi-plugin-pro-block-2.0.3.tgz", + "integrity": "sha512-eyB6rva3yvKCgEXqLCKytiXvEdIwgFExm2yoqareLz+BoppEzn7IcF0yrmOAwUCPsAOEpkwTawD0CYPG/TESgw==", + "dev": true, + "requires": { + "debug": "^4.1.0" + } + }, + "umi-request": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/umi-request/-/umi-request-1.4.0.tgz", + "integrity": "sha512-OknwtQZddZHi0Ggi+Vr/olJ7HNMx4AzlywyK0W3NZBT7B0stjeZ9lcztA85dBgdAj3KVk8uPJPZSnGaDjELhrA==", + "dev": true, + "requires": { + "isomorphic-fetch": "^2.2.1", + "qs": "^6.9.1" + } + }, + "umi-serve": { + "version": "1.9.11", + "resolved": "https://registry.npmjs.org/umi-serve/-/umi-serve-1.9.11.tgz", + "integrity": "sha512-k/4ivrRiwHeuhyHczoEDuEEy0FNC74ITqr77CtAB5EWmluqxosBqW80O5j5bu3ZeLw53WUPprTcTgh/5Zx7+Tw==", + "dev": true, + "requires": { + "@babel/preset-typescript": "7.3.3", + "@babel/register": "7.4.4", + "babel-plugin-module-resolver": "3.1.1", + "babel-preset-umi": "1.8.4", + "boxen": "2.1.0", + "chalk": "2.4.2", + "clipboardy": "2.1.0", + "compression": "^1.7.4", + "express": "4.17.1", + "serve-static": "1.14.1", + "umi-core": "1.9.10", + "umi-mock": "2.1.5", + "umi-utils": "1.7.3", + "update-notifier": "3.0.0", + "yargs-parser": "13.1.1" + }, + "dependencies": { + "@babel/preset-typescript": { + "version": "7.3.3", + "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.3.3.tgz", + "integrity": "sha512-mzMVuIP4lqtn4du2ynEfdO0+RYcslwrZiJHXu4MGaC1ctJiW2fyaeDrtjJGs7R/KebZ1sgowcIoWf4uRpEfKEg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-transform-typescript": "^7.3.2" + } + }, + "ansi-regex": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", + "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", + "dev": true + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "body-parser": { + "version": "1.19.0", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz", + "integrity": "sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==", + "dev": true, + "requires": { + "bytes": "3.1.0", + "content-type": "~1.0.4", + "debug": "2.6.9", + "depd": "~1.1.2", + "http-errors": "1.7.2", + "iconv-lite": "0.4.24", + "on-finished": "~2.3.0", + "qs": "6.7.0", + "raw-body": "2.4.0", + "type-is": "~1.6.17" + } + }, + "bytes": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", + "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==", + "dev": true + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "cli-boxes": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-2.2.1.tgz", + "integrity": "sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw==", + "dev": true + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, + "configstore": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/configstore/-/configstore-4.0.0.tgz", + "integrity": "sha512-CmquAXFBocrzaSM8mtGPMM/HiWmyIpr4CcJl/rgY2uCObZ/S7cKU0silxslqJejl+t/T9HS8E0PUNQD81JGUEQ==", + "dev": true, + "requires": { + "dot-prop": "^4.1.0", + "graceful-fs": "^4.1.2", + "make-dir": "^1.0.0", + "unique-string": "^1.0.0", + "write-file-atomic": "^2.0.0", + "xdg-basedir": "^3.0.0" + } + }, + "content-disposition": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz", + "integrity": "sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==", + "dev": true, + "requires": { + "safe-buffer": "5.1.2" + } + }, + "cookie": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz", + "integrity": "sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==", + "dev": true + }, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "decompress-response": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz", + "integrity": "sha512-BzRPQuY1ip+qDonAOz42gRm/pg9F768C+npV/4JOsxRC2sq+Rlk+Q4ZCAsOhnIaMrgarILY+RMUIvMmmX1qAEA==", + "dev": true, + "requires": { + "mimic-response": "^1.0.0" + } + }, + "depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==", + "dev": true + }, + "destroy": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", + "integrity": "sha512-3NdhDuEXnfun/z7x9GOElY49LoqVHoGScmOKwmxhsS8N5Y+Z8KyPPDnaSzqWgYt/ji4mqwfTS34Htrk0zPIXVg==", + "dev": true + }, + "emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", + "dev": true + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true + }, + "express": { + "version": "4.17.1", + "resolved": "https://registry.npmjs.org/express/-/express-4.17.1.tgz", + "integrity": "sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==", + "dev": true, + "requires": { + "accepts": "~1.3.7", + "array-flatten": "1.1.1", + "body-parser": "1.19.0", + "content-disposition": "0.5.3", + "content-type": "~1.0.4", + "cookie": "0.4.0", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "~1.1.2", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "~1.1.2", + "fresh": "0.5.2", + "merge-descriptors": "1.0.1", + "methods": "~1.1.2", + "on-finished": "~2.3.0", + "parseurl": "~1.3.3", + "path-to-regexp": "0.1.7", + "proxy-addr": "~2.0.5", + "qs": "6.7.0", + "range-parser": "~1.2.1", + "safe-buffer": "5.1.2", + "send": "0.17.1", + "serve-static": "1.14.1", + "setprototypeof": "1.1.1", + "statuses": "~1.5.0", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + } + }, + "finalhandler": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", + "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", + "dev": true, + "requires": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "~2.3.0", + "parseurl": "~1.3.3", + "statuses": "~1.5.0", + "unpipe": "~1.0.0" + } + }, + "get-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", + "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "dev": true, + "requires": { + "pump": "^3.0.0" + } + }, + "got": { + "version": "9.6.0", + "resolved": "https://registry.npmjs.org/got/-/got-9.6.0.tgz", + "integrity": "sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q==", + "dev": true, + "requires": { + "@sindresorhus/is": "^0.14.0", + "@szmarczak/http-timer": "^1.1.2", + "cacheable-request": "^6.0.0", + "decompress-response": "^3.3.0", + "duplexer3": "^0.1.4", + "get-stream": "^4.1.0", + "lowercase-keys": "^1.0.1", + "mimic-response": "^1.0.1", + "p-cancelable": "^1.0.0", + "to-readable-stream": "^1.0.0", + "url-parse-lax": "^3.0.0" + } + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true + }, + "http-errors": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz", + "integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==", + "dev": true, + "requires": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.1", + "statuses": ">= 1.5.0 < 2", + "toidentifier": "1.0.0" + } + }, + "import-lazy": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-2.1.0.tgz", + "integrity": "sha512-m7ZEHgtw69qOGw+jwxXkHlrlIPdTGkyh66zXZ1ajZbxkDBNjSY/LGbmjc7h0s2ELsUDTAhFr55TrPSSqJGPG0A==", + "dev": true + }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==", + "dev": true + }, + "is-ci": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz", + "integrity": "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==", + "dev": true, + "requires": { + "ci-info": "^2.0.0" + } + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==", + "dev": true + }, + "is-npm": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-npm/-/is-npm-3.0.0.tgz", + "integrity": "sha512-wsigDr1Kkschp2opC4G3yA6r9EgVA6NjRpWzIi9axXqeIaAATPRJc4uLujXe3Nd9uO8KoDyA4MD6aZSeXTADhA==", + "dev": true + }, + "latest-version": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/latest-version/-/latest-version-5.1.0.tgz", + "integrity": "sha512-weT+r0kTkRQdCdYCNtkMwWXQTMEswKrFBkm4ckQOMVhhqhIMI1UT2hMj+1iigIhgSZm5gTmrRXBNoGUgaTY1xA==", + "dev": true, + "requires": { + "package-json": "^6.3.0" + } + }, + "make-dir": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", + "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", + "dev": true, + "requires": { + "pify": "^3.0.0" + } + }, + "mimic-response": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", + "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==", + "dev": true + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "on-finished": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", + "integrity": "sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==", + "dev": true, + "requires": { + "ee-first": "1.1.1" + } + }, + "package-json": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/package-json/-/package-json-6.5.0.tgz", + "integrity": "sha512-k3bdm2n25tkyxcjSKzB5x8kfVxlMdgsbPr0GkZcwHsLpba6cBjqCt1KlcChKEvxHIcTB1FVMuwoijZ26xex5MQ==", + "dev": true, + "requires": { + "got": "^9.6.0", + "registry-auth-token": "^4.0.0", + "registry-url": "^5.0.0", + "semver": "^6.2.0" + } + }, + "path-to-regexp": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", + "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==", + "dev": true + }, + "prepend-http": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz", + "integrity": "sha512-ravE6m9Atw9Z/jjttRUZ+clIXogdghyZAuWJ3qEzjT+jI/dL1ifAqhZeC5VHzQp1MSt1+jxKkFNemj/iO7tVUA==", + "dev": true + }, + "pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "dev": true, + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "qs": { + "version": "6.7.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", + "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==", + "dev": true + }, + "raw-body": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.0.tgz", + "integrity": "sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==", + "dev": true, + "requires": { + "bytes": "3.1.0", + "http-errors": "1.7.2", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + } + }, + "registry-auth-token": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-4.2.2.tgz", + "integrity": "sha512-PC5ZysNb42zpFME6D/XlIgtNGdTl8bBOCw90xQLVMpzuuubJKYDWFAEuUNc+Cn8Z8724tg2SDhDRrkVEsqfDMg==", + "dev": true, + "requires": { + "rc": "1.2.8" + } + }, + "registry-url": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-5.1.0.tgz", + "integrity": "sha512-8acYXXTI0AkQv6RAOjE3vOaIXZkT9wo4LOFbBKYQEEnnMNBpKqdUrI6S4NT0KPIo/WVvJ5tE/X5LF/TQUf0ekw==", + "dev": true, + "requires": { + "rc": "^1.2.8" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true + }, + "send": { + "version": "0.17.1", + "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz", + "integrity": "sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==", + "dev": true, + "requires": { + "debug": "2.6.9", + "depd": "~1.1.2", + "destroy": "~1.0.4", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "~1.7.2", + "mime": "1.6.0", + "ms": "2.1.1", + "on-finished": "~2.3.0", + "range-parser": "~1.2.1", + "statuses": "~1.5.0" + }, + "dependencies": { + "ms": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", + "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", + "dev": true + } + } + }, + "serve-static": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz", + "integrity": "sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==", + "dev": true, + "requires": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.17.1" + } + }, + "setprototypeof": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", + "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==", + "dev": true + }, + "statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==", + "dev": true + }, + "string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "dev": true, + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + } + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" + } + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + }, + "toidentifier": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz", + "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==", + "dev": true + }, + "type-fest": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.3.1.tgz", + "integrity": "sha512-cUGJnCdr4STbePCgqNFbpVNCepa+kAVohJs1sLhxzdH+gnEoOd8VhbYa7pD3zZYGiURWM2xzEII3fQcRizDkYQ==", + "dev": true + }, + "update-notifier": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-3.0.0.tgz", + "integrity": "sha512-6Xe3oF2bvuoj4YECUc52yxVs94yWrxwqHbzyveDktTS1WhnlTRpNcQMxUshcB7nRVGi1jEXiqL5cW1S5WSyzKg==", + "dev": true, + "requires": { + "boxen": "^3.0.0", + "chalk": "^2.0.1", + "configstore": "^4.0.0", + "has-yarn": "^2.1.0", + "import-lazy": "^2.1.0", + "is-ci": "^2.0.0", + "is-installed-globally": "^0.1.0", + "is-npm": "^3.0.0", + "is-yarn-global": "^0.3.0", + "latest-version": "^5.0.0", + "semver-diff": "^2.0.0", + "xdg-basedir": "^3.0.0" + }, + "dependencies": { + "boxen": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/boxen/-/boxen-3.2.0.tgz", + "integrity": "sha512-cU4J/+NodM3IHdSL2yN8bqYqnmlBTidDR4RC7nJs61ZmtGz8VZzM3HLQX0zY5mrSmPtR3xWwsq2jOUQqFZN8+A==", + "dev": true, + "requires": { + "ansi-align": "^3.0.0", + "camelcase": "^5.3.1", + "chalk": "^2.4.2", + "cli-boxes": "^2.2.0", + "string-width": "^3.0.0", + "term-size": "^1.2.0", + "type-fest": "^0.3.0", + "widest-line": "^2.0.0" + } + } + } + }, + "url-parse-lax": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz", + "integrity": "sha512-NjFKA0DidqPa5ciFcSrXnAltTtzz84ogy+NebPvfEgAck0+TNg4UJ4IN+fB7zRZfbgUf0syOo9MDxFkDSMuFaQ==", + "dev": true, + "requires": { + "prepend-http": "^2.0.0" + } + }, + "write-file-atomic": { + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.4.3.tgz", + "integrity": "sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.11", + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.2" + } + }, + "yargs-parser": { + "version": "13.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.1.tgz", + "integrity": "sha512-oVAVsHz6uFrg3XQheFII8ESO2ssAf9luWuAd6Wexsu4F3OtIW0o8IribPXYrD4WC24LWtPrJlGy87y5udK+dxQ==", + "dev": true, + "requires": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } + } + } + }, + "umi-utils": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/umi-utils/-/umi-utils-1.7.3.tgz", + "integrity": "sha512-KLUGIKXkuPOq8LACQN57nj9rSPIjLz8eLbR4mZpihJ3BgL3f1bZFvmUV/VYHr9D7PfFH2Vb1Y6UAOuNkKL9g2g==", + "dev": true, + "requires": { + "chalk": "2.4.2", + "dotenv": "^8.2.0", + "is-url": "1.2.4", + "node-fetch": "2.6.0", + "prettier": "1.15.3", + "slash2": "2.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true + }, + "node-fetch": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.0.tgz", + "integrity": "sha512-8dG4H5ujfvFiqDmVu9fQ5bOHUC15JMjMY/Zumv26oOvvVJjM67KF8koCWIabKQ1GJIa9r2mMZscBq/TbdOcmNA==", + "dev": true + }, + "prettier": { + "version": "1.15.3", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-1.15.3.tgz", + "integrity": "sha512-gAU9AGAPMaKb3NNSUUuhhFAS7SCO4ALTN4nRIn6PJ075Qd28Yn2Ig2ahEJWdJwJmlEBTUfC7mMUSFy8MwsOCfg==", + "dev": true + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "unbox-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", + "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "has-bigints": "^1.0.2", + "has-symbols": "^1.0.3", + "which-boxed-primitive": "^1.0.2" + } + }, + "unbzip2-stream": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/unbzip2-stream/-/unbzip2-stream-1.4.3.tgz", + "integrity": "sha512-mlExGW4w71ebDJviH16lQLtZS32VKqsSfk80GCfUlwT/4/hNRFsoscrF/c++9xinkMzECL1uL9DDwXqFWkruPg==", + "dev": true, + "requires": { + "buffer": "^5.2.1", + "through": "^2.3.8" + } + }, + "underscore": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.7.0.tgz", + "integrity": "sha512-cp0oQQyZhUM1kpJDLdGO1jPZHgS/MpzoWYfe9+CM2h/QGDZlqwT2T3YGukuBdaNJ/CAPoeyAZRRHz8JFo176vA==", + "dev": true + }, + "undici-types": { + "version": "5.26.5", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", + "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==" + }, + "unicode-canonical-property-names-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz", + "integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==", + "dev": true + }, + "unicode-match-property-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", + "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", + "dev": true, + "requires": { + "unicode-canonical-property-names-ecmascript": "^2.0.0", + "unicode-property-aliases-ecmascript": "^2.0.0" + } + }, + "unicode-match-property-value-ecmascript": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz", + "integrity": "sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==", + "dev": true + }, + "unicode-property-aliases-ecmascript": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz", + "integrity": "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==", + "dev": true + }, + "unified": { + "version": "8.4.2", + "resolved": "https://registry.npmjs.org/unified/-/unified-8.4.2.tgz", + "integrity": "sha512-JCrmN13jI4+h9UAyKEoGcDZV+i1E7BLFuG7OsaDvTXI5P0qhHX+vZO/kOhz9jn8HGENDKbwSeB0nVOg4gVStGA==", + "dev": true, + "requires": { + "bail": "^1.0.0", + "extend": "^3.0.0", + "is-plain-obj": "^2.0.0", + "trough": "^1.0.0", + "vfile": "^4.0.0" + } + }, + "union-value": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", + "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", + "dev": true, + "requires": { + "arr-union": "^3.1.0", + "get-value": "^2.0.6", + "is-extendable": "^0.1.1", + "set-value": "^2.0.1" + } + }, + "uniq": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/uniq/-/uniq-1.0.1.tgz", + "integrity": "sha512-Gw+zz50YNKPDKXs+9d+aKAjVwpjNwqzvNpLigIruT4HA9lMZNdMqs9x07kKHB/L9WRzqp4+DlTU5s4wG2esdoA==" + }, + "unique-filename": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz", + "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==", + "dev": true, + "requires": { + "unique-slug": "^2.0.0" + } + }, + "unique-slug": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz", + "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==", + "dev": true, + "requires": { + "imurmurhash": "^0.1.4" + } + }, + "unique-string": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-1.0.0.tgz", + "integrity": "sha512-ODgiYu03y5g76A1I9Gt0/chLCzQjvzDy7DsZGsLOE/1MrF6wriEskSncj1+/C58Xk/kPZDppSctDybCwOSaGAg==", + "dev": true, + "requires": { + "crypto-random-string": "^1.0.0" + } + }, + "unist-builder": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/unist-builder/-/unist-builder-2.0.3.tgz", + "integrity": "sha512-f98yt5pnlMWlzP539tPc4grGMsFaQQlP/vM396b00jngsiINumNmsY8rkXjfoi1c6QaM8nQ3vaGDuoKWbe/1Uw==", + "dev": true + }, + "unist-util-filter": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/unist-util-filter/-/unist-util-filter-2.0.3.tgz", + "integrity": "sha512-8k6Jl/KLFqIRTHydJlHh6+uFgqYHq66pV75pZgr1JwfyFSjbWb12yfb0yitW/0TbHXjr9U4G9BQpOvMANB+ExA==", + "dev": true, + "requires": { + "unist-util-is": "^4.0.0" + } + }, + "unist-util-find-after": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/unist-util-find-after/-/unist-util-find-after-3.0.0.tgz", + "integrity": "sha512-ojlBqfsBftYXExNu3+hHLfJQ/X1jYY/9vdm4yZWjIbf0VuWF6CRufci1ZyoD/wV2TYMKxXUoNuoqwy+CkgzAiQ==", + "dev": true, + "requires": { + "unist-util-is": "^4.0.0" + } + }, + "unist-util-find-all-after": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/unist-util-find-all-after/-/unist-util-find-all-after-3.0.2.tgz", + "integrity": "sha512-xaTC/AGZ0rIM2gM28YVRAFPIZpzbpDtU3dRmp7EXlNVA8ziQc4hY3H7BHXM1J49nEmiqc3svnqMReW+PGqbZKQ==", + "dev": true, + "requires": { + "unist-util-is": "^4.0.0" + } + }, + "unist-util-generated": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/unist-util-generated/-/unist-util-generated-1.1.6.tgz", + "integrity": "sha512-cln2Mm1/CZzN5ttGK7vkoGw+RZ8VcUH6BtGbq98DDtRGquAAOXig1mrBQYelOwMXYS8rK+vZDyyojSjp7JX+Lg==", + "dev": true + }, + "unist-util-is": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-4.1.0.tgz", + "integrity": "sha512-ZOQSsnce92GrxSqlnEEseX0gi7GH9zTJZ0p9dtu87WRb/37mMPO2Ilx1s/t9vBHrFhbgweUwb+t7cIn5dxPhZg==", + "dev": true + }, + "unist-util-position": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/unist-util-position/-/unist-util-position-3.1.0.tgz", + "integrity": "sha512-w+PkwCbYSFw8vpgWD0v7zRCl1FpY3fjDSQ3/N/wNd9Ffa4gPi8+4keqt99N3XW6F99t/mUzp2xAhNmfKWp95QA==", + "dev": true + }, + "unist-util-stringify-position": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-2.0.3.tgz", + "integrity": "sha512-3faScn5I+hy9VleOq/qNbAd6pAx7iH5jYBMS9I1HgQVijz/4mv5Bvw5iw1sC/90CODiKo81G/ps8AJrISn687g==", + "dev": true, + "requires": { + "@types/unist": "^2.0.2" + } + }, + "unist-util-visit": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-2.0.3.tgz", + "integrity": "sha512-iJ4/RczbJMkD0712mGktuGpm/U4By4FfDonL7N/9tATGIF4imikjOuagyMY53tnZq3NP6BcmlrHhEKAfGWjh7Q==", + "dev": true, + "requires": { + "@types/unist": "^2.0.0", + "unist-util-is": "^4.0.0", + "unist-util-visit-parents": "^3.0.0" + } + }, + "unist-util-visit-parents": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-3.1.1.tgz", + "integrity": "sha512-1KROIZWo6bcMrZEwiH2UrXDyalAa0uqzWCxCJj6lPOvTve2WkfgCytoDTPaMnodXh1WrXOq0haVYHj99ynJlsg==", + "dev": true, + "requires": { + "@types/unist": "^2.0.0", + "unist-util-is": "^4.0.0" + } + }, + "universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "dev": true + }, + "unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", + "dev": true + }, + "unraw": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/unraw/-/unraw-3.0.0.tgz", + "integrity": "sha512-08/DA66UF65OlpUDIQtbJyrqTR0jTAlJ+jsnkQ4jxR7+K5g5YG1APZKQSMCE1vqqmD+2pv6+IdEjmopFatacvg==", + "dev": true + }, + "unset-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", + "integrity": "sha512-PcA2tsuGSF9cnySLHTLSh2qrQiJ70mn+r+Glzxv2TWZblxsxCC52BDlZoPCsz7STd9pN7EZetkWZBAvk4cgZdQ==", + "dev": true, + "requires": { + "has-value": "^0.3.1", + "isobject": "^3.0.0" + }, + "dependencies": { + "has-value": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", + "integrity": "sha512-gpG936j8/MzaeID5Yif+577c17TxaDmhuyVgSwtnL/q8UUTySg8Mecb+8Cf1otgLoD7DDH75axp86ER7LFsf3Q==", + "dev": true, + "requires": { + "get-value": "^2.0.3", + "has-values": "^0.1.4", + "isobject": "^2.0.0" + }, + "dependencies": { + "isobject": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA==", + "dev": true, + "requires": { + "isarray": "1.0.0" + } + } + } + }, + "has-values": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", + "integrity": "sha512-J8S0cEdWuQbqD9//tlZxiMuMNmxB8PlEwvYwuxsTmR1G5RXUePEX/SJn7aD0GMLieuZYSwNH0cQuJGwnYunXRQ==", + "dev": true + } + } + }, + "unstated-next": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/unstated-next/-/unstated-next-1.1.0.tgz", + "integrity": "sha512-AAn47ZncPvgBGOvMcn8tSRxsrqwf2VdAPxLASTuLJvZt4rhKfDvUkmYZLGfclImSfTVMv7tF4ynaVxin0JjDCA==" + }, + "unzip-response": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/unzip-response/-/unzip-response-2.0.1.tgz", + "integrity": "sha512-N0XH6lqDtFH84JxptQoZYmloF4nzrQqqrAymNj+/gW60AO2AZgOcf4O/nUXJcYfyQkqvMo9lSupBZmmgvuVXlw==", + "dev": true + }, + "update-browserslist-db": { + "version": "1.0.13", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz", + "integrity": "sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==", + "requires": { + "escalade": "^3.1.1", + "picocolors": "^1.0.0" + } + }, + "update-notifier": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-2.5.0.tgz", + "integrity": "sha512-gwMdhgJHGuj/+wHJJs9e6PcCszpxR1b236igrOkUofGhqJuG+amlIKwApH1IW1WWl7ovZxsX49lMBWLxSdm5Dw==", + "dev": true, + "requires": { + "boxen": "^1.2.1", + "chalk": "^2.0.1", + "configstore": "^3.0.0", + "import-lazy": "^2.1.0", + "is-ci": "^1.0.10", + "is-installed-globally": "^0.1.0", + "is-npm": "^1.0.0", + "latest-version": "^3.0.0", + "semver-diff": "^2.0.0", + "xdg-basedir": "^3.0.0" + }, + "dependencies": { + "ansi-align": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-2.0.0.tgz", + "integrity": "sha512-TdlOggdA/zURfMYa7ABC66j+oqfMew58KpJMbUlH3bcZP1b+cBHIHDDn5uH9INsxrHBPjsqM0tDB4jPTF/vgJA==", + "dev": true, + "requires": { + "string-width": "^2.0.0" + } + }, + "ansi-regex": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.1.tgz", + "integrity": "sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==", + "dev": true + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "boxen": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/boxen/-/boxen-1.3.0.tgz", + "integrity": "sha512-TNPjfTr432qx7yOjQyaXm3dSR0MH9vXp7eT1BFSl/C51g+EFnOR9hTg1IreahGBmDNCehscshe45f+C1TBZbLw==", + "dev": true, + "requires": { + "ansi-align": "^2.0.0", + "camelcase": "^4.0.0", + "chalk": "^2.0.1", + "cli-boxes": "^1.0.0", + "string-width": "^2.0.0", + "term-size": "^1.2.0", + "widest-line": "^2.0.0" + } + }, + "camelcase": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", + "integrity": "sha512-FxAv7HpHrXbh3aPo4o2qxHay2lkLY3x5Mw3KeE4KQE8ysVfziWeRZDwcjauvwBSGEC/nXUPzZy8zeh4HokqOnw==", + "dev": true + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true + }, + "import-lazy": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-2.1.0.tgz", + "integrity": "sha512-m7ZEHgtw69qOGw+jwxXkHlrlIPdTGkyh66zXZ1ajZbxkDBNjSY/LGbmjc7h0s2ELsUDTAhFr55TrPSSqJGPG0A==", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==", + "dev": true + }, + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "dev": true, + "requires": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + } + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow==", + "dev": true, + "requires": { + "ansi-regex": "^3.0.0" + } + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "uppercamelcase": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/uppercamelcase/-/uppercamelcase-3.0.0.tgz", + "integrity": "sha512-zTWmRiOJACCdFGWjzye3L5cjSuVdZ/c8C0iHIwVbfORFD8IhGNAO6BOWkZ+fj+SI6/aFbdjGXE6gwPG780H4gQ==", + "dev": true, + "requires": { + "camelcase": "^4.1.0" + }, + "dependencies": { + "camelcase": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", + "integrity": "sha512-FxAv7HpHrXbh3aPo4o2qxHay2lkLY3x5Mw3KeE4KQE8ysVfziWeRZDwcjauvwBSGEC/nXUPzZy8zeh4HokqOnw==", + "dev": true + } + } + }, + "uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "requires": { + "punycode": "^2.1.0" + } + }, + "urix": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", + "integrity": "sha512-Am1ousAhSLBeB9cG/7k7r2R0zj50uDRlZHPGbazid5s9rlF1F/QKYObEKSIunSjIOkJZqwRRLpvewjEkM7pSqg==", + "dev": true + }, + "url": { + "version": "0.11.3", + "resolved": "https://registry.npmjs.org/url/-/url-0.11.3.tgz", + "integrity": "sha512-6hxOLGfZASQK/cijlZnZJTq8OXAkt/3YGfQX45vvMYXpZoo8NdWZcY73K108Jf759lS1Bv/8wXnHDTSz17dSRw==", + "requires": { + "punycode": "^1.4.1", + "qs": "^6.11.2" + }, + "dependencies": { + "punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==" + }, + "qs": { + "version": "6.12.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.12.0.tgz", + "integrity": "sha512-trVZiI6RMOkO476zLGaBIzszOdFPnCCXHPG9kn0yuS1uz6xdVxPfZdB3vUig9pxPFDM9BRAgz/YUIVQ1/vuiUg==", + "requires": { + "side-channel": "^1.0.6" + } + } + } + }, + "url-parse": { + "version": "1.5.10", + "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz", + "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==", + "dev": true, + "requires": { + "querystringify": "^2.1.1", + "requires-port": "^1.0.0" + } + }, + "url-parse-lax": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-1.0.0.tgz", + "integrity": "sha512-BVA4lR5PIviy2PMseNd2jbFQ+jwSwQGdJejf5ctd1rEXt0Ypd7yanUK9+lYechVlN5VaTJGsu2U/3MDDu6KgBA==", + "dev": true, + "requires": { + "prepend-http": "^1.0.1" + } + }, + "use": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", + "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", + "dev": true + }, + "use-callback-ref": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/use-callback-ref/-/use-callback-ref-1.3.2.tgz", + "integrity": "sha512-elOQwe6Q8gqZgDA8mrh44qRTQqpIHDcZ3hXTLjBe1i4ph8XpNJnO+aQf3NaG+lriLopI4HMx9VjQLfPQ6vhnoA==", + "requires": { + "tslib": "^2.0.0" + } + }, + "use-json-comparison": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/use-json-comparison/-/use-json-comparison-1.0.6.tgz", + "integrity": "sha512-xPadt5yMRbEmVfOSGFSMqjjICrq7nLbfSH3rYIXsrtcuFX7PmbYDN/ku8ObBn3v8o/yZelO1OxUS5+5TI3+fUw==" + }, + "use-media-antd-query": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/use-media-antd-query/-/use-media-antd-query-1.1.0.tgz", + "integrity": "sha512-B6kKZwNV4R+l4Rl11sWO7HqOay9alzs1Vp1b4YJqjz33YxbltBCZtt/yxXxkXN9rc1S7OeEL/GbwC30Wmqhw6Q==" + }, + "use-sidecar": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/use-sidecar/-/use-sidecar-1.1.2.tgz", + "integrity": "sha512-epTbsLuzZ7lPClpz2TyryBfztm7m+28DlEv2ZCQ3MDr5ssiwyOwGH/e5F9CkfWjJ1t4clvI58yF822/GUkjjhw==", + "requires": { + "detect-node-es": "^1.1.0", + "tslib": "^2.0.0" + } + }, + "use-subscription": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/use-subscription/-/use-subscription-1.5.1.tgz", + "integrity": "sha512-Xv2a1P/yReAjAbhylMfFplFKj9GssgTwN7RlcTxBujFQcloStWNDQdc4g4NRWH9xS4i/FDk04vQBptAXoF3VcA==", + "requires": { + "object-assign": "^4.1.1" + } + }, + "util": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/util/-/util-0.11.1.tgz", + "integrity": "sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==", + "requires": { + "inherits": "2.0.3" + }, + "dependencies": { + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==" + } + } + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" + }, + "utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", + "dev": true + }, + "uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "dev": true, + "optional": true + }, + "v8-compile-cache": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.4.0.tgz", + "integrity": "sha512-ocyWc3bAHBB/guyqJQVI5o4BZkPhznPYUG2ea80Gond/BgNWpap8TOmLSeeQG7bnh2KMISxskdADG59j7zruhw==", + "dev": true + }, + "v8-to-istanbul": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-7.1.2.tgz", + "integrity": "sha512-TxNb7YEUwkLXCQYeudi6lgQ/SZrzNO4kMdlqVxaZPUIUjCv6iSSypUQX70kNBSERpQ8fk48+d61FXk+tgqcWow==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.1", + "convert-source-map": "^1.6.0", + "source-map": "^0.7.3" + }, + "dependencies": { + "convert-source-map": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", + "dev": true + }, + "source-map": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", + "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", + "dev": true + } + } + }, + "validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "dev": true, + "requires": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "validate-npm-package-name": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-3.0.0.tgz", + "integrity": "sha512-M6w37eVCMMouJ9V/sdPGnC5H4uDr73/+xdq0FBLO3TFFX1+7wiUY6Es328NN+y43tmY+doUdN9g9J21vqB7iLw==", + "dev": true, + "requires": { + "builtins": "^1.0.3" + } + }, + "value-equal": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/value-equal/-/value-equal-1.0.1.tgz", + "integrity": "sha512-NOJ6JZCAWr0zlxZt+xqCHNTEKOsrks2HQd4MqhP1qy4z1SkbEP467eNx6TgDKXMvUOb+OENfJCZwM+16n7fRfw==" + }, + "vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", + "dev": true + }, + "verror": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", + "integrity": "sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==", + "dev": true, + "requires": { + "assert-plus": "^1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "^1.2.0" + }, + "dependencies": { + "core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==", + "dev": true + } + } + }, + "vfile": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/vfile/-/vfile-4.2.1.tgz", + "integrity": "sha512-O6AE4OskCG5S1emQ/4gl8zK586RqA3srz3nfK/Viy0UPToBc5Trp9BVFb1u0CjsKrAWwnpr4ifM/KBXPWwJbCA==", + "dev": true, + "requires": { + "@types/unist": "^2.0.0", + "is-buffer": "^2.0.0", + "unist-util-stringify-position": "^2.0.0", + "vfile-message": "^2.0.0" + }, + "dependencies": { + "is-buffer": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz", + "integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==", + "dev": true + } + } + }, + "vfile-location": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/vfile-location/-/vfile-location-3.2.0.tgz", + "integrity": "sha512-aLEIZKv/oxuCDZ8lkJGhuhztf/BW4M+iHdCwglA/eWc+vtuRFJj8EtgceYFX4LRjOhCAAiNHsKGssC6onJ+jbA==", + "dev": true + }, + "vfile-message": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-2.0.4.tgz", + "integrity": "sha512-DjssxRGkMvifUOJre00juHoP9DPWuzjxKuMDrhNbk2TdaYYBNMStsNhEOt3idrtI12VQYM/1+iM0KOzXi4pxwQ==", + "dev": true, + "requires": { + "@types/unist": "^2.0.0", + "unist-util-stringify-position": "^2.0.0" + } + }, + "vinyl": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-2.2.1.tgz", + "integrity": "sha512-LII3bXRFBZLlezoG5FfZVcXflZgWP/4dCwKtxd5ky9+LOtM4CS3bIRQsmR1KMnMW07jpE8fqR2lcxPZ+8sJIcw==", + "dev": true, + "requires": { + "clone": "^2.1.1", + "clone-buffer": "^1.0.0", + "clone-stats": "^1.0.0", + "cloneable-readable": "^1.0.0", + "remove-trailing-separator": "^1.0.1", + "replace-ext": "^1.0.0" + } + }, + "vinyl-file": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/vinyl-file/-/vinyl-file-3.0.0.tgz", + "integrity": "sha512-BoJDj+ca3D9xOuPEM6RWVtWQtvEPQiQYn82LvdxhLWplfQsBzBqtgK0yhCP0s1BNTi6dH9BO+dzybvyQIacifg==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "pify": "^2.3.0", + "strip-bom-buf": "^1.0.0", + "strip-bom-stream": "^2.0.0", + "vinyl": "^2.0.1" + }, + "dependencies": { + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", + "dev": true + } + } + }, + "vm-browserify": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz", + "integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==" + }, + "w3c-hr-time": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz", + "integrity": "sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==", + "dev": true, + "requires": { + "browser-process-hrtime": "^1.0.0" + } + }, + "w3c-keyname": { + "version": "2.2.8", + "resolved": "https://registry.npmjs.org/w3c-keyname/-/w3c-keyname-2.2.8.tgz", + "integrity": "sha512-dpojBhNsCNN7T82Tm7k26A6G9ML3NkhDsnw9n/eoxSRlVBB4CEtIQ/KTCLI2Fwf3ataSXRhYFkQi3SlnFwPvPQ==" + }, + "w3c-xmlserializer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz", + "integrity": "sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA==", + "dev": true, + "requires": { + "xml-name-validator": "^3.0.0" + } + }, + "walker": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", + "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==", + "dev": true, + "requires": { + "makeerror": "1.0.12" + } + }, + "warning": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/warning/-/warning-4.0.3.tgz", + "integrity": "sha512-rpJyN222KWIvHJ/F53XSZv0Zl/accqHR8et1kpaMTD/fLCRxtV8iX8czMzY7sVZupTI3zcUTg8eycS2kNF9l6w==", + "requires": { + "loose-envify": "^1.0.0" + } + }, + "wcwidth": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", + "integrity": "sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==", + "dev": true, + "requires": { + "defaults": "^1.0.3" + } + }, + "web-namespaces": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/web-namespaces/-/web-namespaces-1.1.4.tgz", + "integrity": "sha512-wYxSGajtmoP4WxfejAPIr4l0fVh+jeMXZb08wNc0tMg6xsfZXj3cECqIK0G7ZAqUq0PP8WlMDtaOGVBTAWztNw==", + "dev": true + }, + "web-streams-polyfill": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-3.3.3.tgz", + "integrity": "sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw==", + "dev": true + }, + "web-tree-sitter": { + "version": "0.20.3", + "resolved": "https://registry.npmjs.org/web-tree-sitter/-/web-tree-sitter-0.20.3.tgz", + "integrity": "sha512-zKGJW9r23y3BcJusbgvnOH2OYAW40MXAOi9bi3Gcc7T4Gms9WWgXF8m6adsJWpGJEhgOzCrfiz1IzKowJWrtYw==", + "dev": true, + "optional": true + }, + "webidl-conversions": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-6.1.0.tgz", + "integrity": "sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==", + "dev": true + }, + "webpack-chain": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/webpack-chain/-/webpack-chain-6.5.1.tgz", + "integrity": "sha512-7doO/SRtLu8q5WM0s7vPKPWX580qhi0/yBHkOxNkv50f6qB76Zy9o2wRTrrPULqYTvQlVHuvbA8v+G5ayuUDsA==", + "requires": { + "deepmerge": "^1.5.2", + "javascript-stringify": "^2.0.1" + }, + "dependencies": { + "deepmerge": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-1.5.2.tgz", + "integrity": "sha512-95k0GDqvBjZavkuvzx/YqVLv/6YYa17fz6ILMSf7neqQITCPbnfEnQvEgMPNjH4kgobe7+WIL0yJEHku+H3qtQ==" + } + } + }, + "webpack-sources": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-2.3.1.tgz", + "integrity": "sha512-y9EI9AO42JjEcrTJFOYmVywVZdKVUfOvDUPsJea5GIr1JOEGFVqwlY2K098fFoIjOkDzHn2AjRvM8dsBZu+gCA==", + "dev": true, + "requires": { + "source-list-map": "^2.0.1", + "source-map": "^0.6.1" + } + }, + "whatwg-encoding": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz", + "integrity": "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==", + "dev": true, + "requires": { + "iconv-lite": "0.4.24" + } + }, + "whatwg-fetch": { + "version": "3.6.20", + "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-3.6.20.tgz", + "integrity": "sha512-EqhiFU6daOA8kpjOWTL0olhVOF3i7OrFzSYiGsEMB8GcXS+RrzauAERX65xMeNWVqxA6HXH2m69Z9LaKKdisfg==" + }, + "whatwg-mimetype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz", + "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==", + "dev": true + }, + "whatwg-url": { + "version": "8.7.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.7.0.tgz", + "integrity": "sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==", + "dev": true, + "requires": { + "lodash": "^4.7.0", + "tr46": "^2.1.0", + "webidl-conversions": "^6.1.0" + } + }, + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "requires": { + "isexe": "^2.0.0" + } + }, + "which-boxed-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", + "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", + "dev": true, + "requires": { + "is-bigint": "^1.0.1", + "is-boolean-object": "^1.1.0", + "is-number-object": "^1.0.4", + "is-string": "^1.0.5", + "is-symbol": "^1.0.3" + } + }, + "which-builtin-type": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/which-builtin-type/-/which-builtin-type-1.1.3.tgz", + "integrity": "sha512-YmjsSMDBYsM1CaFiayOVT06+KJeXf0o5M/CAd4o1lTadFAtacTUM49zoYxr/oroopFDfhvN6iEcBxUyc3gvKmw==", + "dev": true, + "requires": { + "function.prototype.name": "^1.1.5", + "has-tostringtag": "^1.0.0", + "is-async-function": "^2.0.0", + "is-date-object": "^1.0.5", + "is-finalizationregistry": "^1.0.2", + "is-generator-function": "^1.0.10", + "is-regex": "^1.1.4", + "is-weakref": "^1.0.2", + "isarray": "^2.0.5", + "which-boxed-primitive": "^1.0.2", + "which-collection": "^1.0.1", + "which-typed-array": "^1.1.9" + }, + "dependencies": { + "isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", + "dev": true + } + } + }, + "which-collection": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.2.tgz", + "integrity": "sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==", + "dev": true, + "requires": { + "is-map": "^2.0.3", + "is-set": "^2.0.3", + "is-weakmap": "^2.0.2", + "is-weakset": "^2.0.3" + } + }, + "which-module": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.1.tgz", + "integrity": "sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==", + "dev": true + }, + "which-typed-array": { + "version": "1.1.15", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.15.tgz", + "integrity": "sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA==", + "dev": true, + "requires": { + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.7", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-tostringtag": "^1.0.2" + } + }, + "wicked-good-xpath": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/wicked-good-xpath/-/wicked-good-xpath-1.3.0.tgz", + "integrity": "sha512-Gd9+TUn5nXdwj/hFsPVx5cuHHiF5Bwuc30jZ4+ronF1qHK5O7HD0sgmXWSEgwKquT3ClLoKPVbO6qGwVwLzvAw==", + "dev": true + }, + "widest-line": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-2.0.1.tgz", + "integrity": "sha512-Ba5m9/Fa4Xt9eb2ELXt77JxVDV8w7qQrH0zS/TWSJdLyAwQjWoOzpzj5lwVftDz6n/EOu3tNACS84v509qwnJA==", + "dev": true, + "requires": { + "string-width": "^2.1.1" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.1.tgz", + "integrity": "sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==", + "dev": true + }, + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "dev": true, + "requires": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + } + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow==", + "dev": true, + "requires": { + "ansi-regex": "^3.0.0" + } + } + } + }, + "wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + } + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" + }, + "write-file-atomic": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", + "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", + "dev": true, + "requires": { + "imurmurhash": "^0.1.4", + "is-typedarray": "^1.0.0", + "signal-exit": "^3.0.2", + "typedarray-to-buffer": "^3.1.5" + } + }, + "ws": { + "version": "7.5.9", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz", + "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==", + "dev": true + }, + "xdg-basedir": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-3.0.0.tgz", + "integrity": "sha512-1Dly4xqlulvPD3fZUQJLY+FUIeqN3N2MM3uqe4rCJftAvOjFa3jFGfctOgluGx4ahPbUCsZkmJILiP0Vi4T6lQ==", + "dev": true + }, + "xml-but-prettier": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/xml-but-prettier/-/xml-but-prettier-1.0.1.tgz", + "integrity": "sha512-C2CJaadHrZTqESlH03WOyw0oZTtoy2uEg6dSDF6YRg+9GnYNub53RRemLpnvtbHDFelxMx4LajiFsYeR6XJHgQ==", + "dev": true, + "requires": { + "repeat-string": "^1.5.2" + } + }, + "xml-name-validator": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz", + "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==", + "dev": true + }, + "xmlchars": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", + "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==", + "dev": true + }, + "xmldom-sre": { + "version": "0.1.31", + "resolved": "https://registry.npmjs.org/xmldom-sre/-/xmldom-sre-0.1.31.tgz", + "integrity": "sha512-f9s+fUkX04BxQf+7mMWAp5zk61pciie+fFLC9hX9UVvCeJQfNHRHXpeo5MPcR0EUf57PYLdt+ZO4f3Ipk2oZUw==", + "dev": true + }, + "xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==" + }, + "y18n": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.2.tgz", + "integrity": "sha512-uGZHXkHnhF0XeeAPgnKfPv1bgKAYyVvmNL1xlKsPYZPaIHxGti2hHqvOCQv71XMsLxu1QjergkqogUnms5D3YQ==", + "dev": true + }, + "yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" + }, + "yaml": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==" + }, + "yargs": { + "version": "15.4.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", + "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", + "dev": true, + "requires": { + "cliui": "^6.0.0", + "decamelize": "^1.2.0", + "find-up": "^4.1.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^4.2.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^18.1.2" + }, + "dependencies": { + "y18n": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", + "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", + "dev": true + }, + "yargs-parser": { + "version": "18.1.3", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", + "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", + "dev": true, + "requires": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } + } + } + }, + "yargs-parser": { + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", + "dev": true + }, + "yauzl": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", + "integrity": "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==", + "dev": true, + "requires": { + "buffer-crc32": "~0.2.3", + "fd-slicer": "~1.1.0" + } + }, + "yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==" + }, + "zenscroll": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/zenscroll/-/zenscroll-4.0.2.tgz", + "integrity": "sha512-jEA1znR7b4C/NnaycInCU6h/d15ZzCd1jmsruqOKnZP6WXQSMH3W2GL+OXbkruslU4h+Tzuos0HdswzRUk/Vgg==", + "dev": true + }, + "zrender": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/zrender/-/zrender-5.5.0.tgz", + "integrity": "sha512-O3MilSi/9mwoovx77m6ROZM7sXShR/O/JIanvzTwjN3FORfLSr81PsUGd7jlaYOeds9d8tw82oP44+3YucVo+w==", + "requires": { + "tslib": "2.3.0" + } + }, + "zscroller": { + "version": "0.4.8", + "resolved": "https://registry.npmjs.org/zscroller/-/zscroller-0.4.8.tgz", + "integrity": "sha512-G5NiNLKx2+QhhvZi2yV1jjVXY50otktxkseX2hG2N/eixohOUk0AY8ZpbAxNqS9oJS/NxItCsowupy2tsXxAMw==", + "dev": true, + "requires": { + "babel-runtime": "6.x" + } + }, + "zwitch": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/zwitch/-/zwitch-1.0.5.tgz", + "integrity": "sha512-V50KMwwzqJV0NpZIZFwfOD5/lyny3WlSzRiXgA0G7VUnRlqttta1L6UQIHzd6EuBY/cHGfwTIck7w1yH6Q5zUw==", + "dev": true + } + } +} diff --git a/admin-v5/package.json b/admin-v5/package.json new file mode 100644 index 0000000..d110ab3 --- /dev/null +++ b/admin-v5/package.json @@ -0,0 +1,120 @@ +{ + "name": "ant-design-pro", + "version": "5.2.0", + "private": true, + "description": "An out-of-box UI solution for enterprise applications", + "scripts": { + "analyze": "cross-env ANALYZE=1 umi build", + "build": "umi build", + "deploy:cp": "cp -rf dist/* /var/www/admin/", + "deploy": "npm run build && npm run gh-pages", + "dev": "npm run start:dev", + "gh-pages": "gh-pages -d dist", + "i18n-remove": "pro i18n-remove --locale=zh-CN --write", + "postinstall": "umi g tmp", + "lint": "umi g tmp && npm run lint:js && npm run lint:style && npm run lint:prettier && npm run tsc", + "lint-staged": "lint-staged", + "lint-staged:js": "eslint --ext .js,.jsx,.ts,.tsx ", + "lint:fix": "eslint --fix --cache --ext .js,.jsx,.ts,.tsx --format=pretty ./src && npm run lint:style", + "lint:js": "eslint --cache --ext .js,.jsx,.ts,.tsx --format=pretty ./src", + "lint:prettier": "prettier -c --write \"src/**/*\" --end-of-line auto", + "lint:style": "stylelint --fix \"src/**/*.less\" --syntax less", + "openapi": "umi openapi", + "playwright": "playwright install && playwright test", + "prettier": "prettier -c --write \"src/**/*\"", + "serve": "umi-serve", + "start": "cross-env UMI_ENV=dev umi dev", + "start:dev": "cross-env REACT_APP_ENV=dev MOCK=none UMI_ENV=dev umi dev", + "start:no-mock": "cross-env MOCK=none UMI_ENV=dev umi dev", + "start:no-ui": "cross-env UMI_UI=none UMI_ENV=dev umi dev", + "start:pre": "cross-env REACT_APP_ENV=pre UMI_ENV=dev umi dev", + "start:test": "cross-env REACT_APP_ENV=test MOCK=none UMI_ENV=dev umi dev", + "test": "umi test", + "test:component": "umi test ./src/components", + "test:e2e": "node ./tests/run-tests.js", + "tsc": "tsc --noEmit" + }, + "lint-staged": { + "**/*.less": "stylelint --syntax less", + "**/*.{js,jsx,ts,tsx}": "npm run lint-staged:js", + "**/*.{js,jsx,tsx,ts,less,md,json}": [ + "prettier --write" + ] + }, + "browserslist": [ + "> 1%", + "last 2 versions", + "not ie <= 10" + ], + "dependencies": { + "@ant-design/icons": "^4.7.0", + "@ant-design/pro-descriptions": "^1.10.0", + "@ant-design/pro-form": "^1.52.0", + "@ant-design/pro-layout": "^6.32.0", + "@ant-design/pro-table": "^2.61.0", + "@arco-design/web-react": "^2.61.1", + "@toast-ui/editor": "^3.2.2", + "@types/md5": "^2.3.5", + "@umijs/route-utils": "^2.0.0", + "antd": "^4.17.0", + "axios": "^1.6.7", + "braft-editor": "^2.3.9", + "braft-utils": "^3.0.12", + "classnames": "^2.3.0", + "echarts": "^5.4.3", + "echarts-for-react": "^3.0.2", + "lodash": "^4.17.0", + "marked": "^12.0.1", + "md5": "^2.3.0", + "moment": "^2.29.0", + "omit.js": "^2.0.2", + "rc-menu": "^9.1.0", + "rc-util": "^5.16.0", + "react": "^17.0.0", + "react-dev-inspector": "^1.7.0", + "react-dom": "^17.0.0", + "react-helmet-async": "^1.2.0", + "swagger-ui-dist": "4.19.1", + "umi": "^3.5.0" + }, + "devDependencies": { + "@ant-design/pro-cli": "^2.1.0", + "@playwright/test": "^1.17.0", + "@types/express": "^4.17.0", + "@types/history": "^4.7.0", + "@types/jest": "^26.0.0", + "@types/lodash": "^4.14.0", + "@types/react": "^17.0.0", + "@types/react-dom": "^17.0.0", + "@types/react-helmet": "^6.1.0", + "@umijs/fabric": "^2.8.0", + "@umijs/openapi": "^1.3.0", + "@umijs/plugin-blocks": "^2.2.0", + "@umijs/plugin-esbuild": "^1.4.0", + "@umijs/plugin-openapi": "^1.3.0", + "@umijs/preset-ant-design-pro": "^1.3.0", + "@umijs/preset-dumi": "^1.1.0", + "@umijs/preset-react": "^1.8.17", + "@umijs/yorkie": "^2.0.5", + "carlo": "^0.9.46", + "cross-env": "^7.0.0", + "cross-port-killer": "^1.3.0", + "detect-installer": "^1.0.0", + "enzyme": "^3.11.0", + "eslint": "^7.32.0", + "express": "^4.17.0", + "gh-pages": "^3.2.0", + "jsdom-global": "^3.0.0", + "lint-staged": "^10.0.0", + "mockjs": "^1.1.0", + "prettier": "^2.5.0", + "puppeteer-core": "^8.0.0", + "stylelint": "^13.0.0", + "swagger-ui-react": "^3.52.0", + "typescript": "^4.5.0", + "umi-serve": "^1.9.10" + }, + "engines": { + "node": ">=10.0.0" + } +} \ No newline at end of file diff --git a/admin-v5/playwright.config.ts b/admin-v5/playwright.config.ts new file mode 100644 index 0000000..ec1b31d --- /dev/null +++ b/admin-v5/playwright.config.ts @@ -0,0 +1,22 @@ +// playwright.config.ts +import type { PlaywrightTestConfig } from '@playwright/test'; +import { devices } from '@playwright/test'; + +const config: PlaywrightTestConfig = { + forbidOnly: !!process.env.CI, + retries: process.env.CI ? 2 : 0, + use: { + trace: 'on-first-retry', + }, + projects: [ + { + name: 'chromium', + use: { ...devices['Desktop Chrome'] }, + }, + { + name: 'firefox', + use: { ...devices['Desktop Firefox'] }, + }, + ], +}; +export default config; diff --git a/admin-v5/public/CNAME b/admin-v5/public/CNAME new file mode 100644 index 0000000..30c2d4d --- /dev/null +++ b/admin-v5/public/CNAME @@ -0,0 +1 @@ +preview.pro.ant.design \ No newline at end of file diff --git a/admin-v5/public/favicon.ico b/admin-v5/public/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..e2e93252988b5bed120ddeb168eb577bf0caa881 GIT binary patch literal 4286 zcmeHLO(?8k6#ga#Gs=ufvobTd=q@y~nOLdYlqL%nQY4WqC`)z}3y~cqOAAF4VkQd~ z^3$wrC}~D1l%!eMp!|gA&U5sN?~b{2>)yNg-s#Lc-+9k_p7Y<=XqqYcDJs(Vt%dBG z=F~Lpdy*pd!Y zozZT}udJ-#| zqiAVq0sT@kAMMobbULxOw+F6{j*egO8CQ?TgTuo^+}_@zrlv;l$*-)e#PRVl?(Xgo zi9`?zg>ZFsh0DuJ)Ya9!von7LPN@OfP9IfH_4tet&&I~a#O{TK1<3*LO-xJ( zZ*Fc5%v&m4#Z&mZySs8{XJ-fV^Yh@{p`ju8d_J)w6+U%`!(qAC+uJK~qg_o+O|QC` zTVg0Y{jSHqzP^^&G0t4^cwF+$`egj?@9$AtTMLuPB>7!lUKY8&zP?xd=H_PM(U;HS ztNi!(_oJes0<5X6tu4{BxVR{FO)_x3UauFkv$I%RTSHe@7dAIHF+4mhc?|>t(!XbCXVQZk z8yje7Xh2R*&WCwdw&?N4$H!4$Uyq)i9_;V$3;y)^-LKhmkv{Z#(CP^-7Wn# zI5-H>z`y`nTU%u=f7Tbh-mg5fPT0G8`Wx6^vD1(>-r0;AFlyjWYC!!D@UQlt)%}4^ literal 0 HcmV?d00001 diff --git a/admin-v5/public/icons/icon-128x128.png b/admin-v5/public/icons/icon-128x128.png new file mode 100644 index 0000000000000000000000000000000000000000..48d0e2339a60a637b94319c65e8654289b4f4b6c GIT binary patch literal 1329 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

*C7T$?5!b= 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 28 Copy 5Created with Sketch. \ No newline at end of file diff --git a/admin-v5/public/pro_icon.svg b/admin-v5/public/pro_icon.svg new file mode 100644 index 0000000..e075b78 --- /dev/null +++ b/admin-v5/public/pro_icon.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/admin-v5/src/access.ts b/admin-v5/src/access.ts new file mode 100644 index 0000000..2ec89bd --- /dev/null +++ b/admin-v5/src/access.ts @@ -0,0 +1,9 @@ +/** + * @see https://umijs.org/zh-CN/plugins/plugin-access + * */ +export default function access(initialState: { currentUser?: API.CurrentUser | undefined }) { + const { currentUser } = initialState || {}; + return { + canAdmin: currentUser && currentUser.access === 'admin', + }; +} diff --git a/admin-v5/src/app.tsx b/admin-v5/src/app.tsx new file mode 100644 index 0000000..ca7f511 --- /dev/null +++ b/admin-v5/src/app.tsx @@ -0,0 +1,238 @@ +import { Settings as LayoutSettings, MenuDataItem } from '@ant-design/pro-layout'; +import { SettingDrawer } from '@ant-design/pro-layout'; +import { PageLoading } from '@ant-design/pro-layout'; +import { RunTimeLayoutConfig } from 'umi'; +import { history } from 'umi'; +import RightContent from '@/components/RightContent'; +import { currentUser as queryCurrentUser } from './services/ant-design-pro/api'; +import defaultSettings from '../config/defaultSettings'; +import { tree } from "@/utils/utils"; +import { + SmileOutlined, + HeartOutlined, + SettingOutlined, + DeleteOutlined, + FrownOutlined, + GiftOutlined, + DollarCircleOutlined, + AlertOutlined, + DatabaseOutlined, + BulbOutlined, + FileAddOutlined, + TagsOutlined, + UserOutlined, + KeyOutlined, + UsergroupDeleteOutlined, +} from '@ant-design/icons'; +import { RequestConfig, } from "@@/plugin-request/request"; +import { RequestInterceptor, RequestOptionsInit } from 'umi-request'; +import { notification } from "antd"; +import menuTree from './menuTree'; + +const IconMap = { + SmileOutlined: , + DatabaseOutlined: , + BulbOutlined: , + FileAddOutlined: , + TagsOutlined: , + UserOutlined: , + KeyOutlined: , + UsergroupDeleteOutlined: , + + HeartOutlined: , + SettingOutlined: , + DeleteOutlined: , + FrownOutlined: , + GiftOutlined: , + DollarCircleOutlined: , + AlertOutlined: , +}; + + +const loginPath = '/user/login'; + +/** 获取用户信息比较慢的时候会展示一个 loading */ +export const initialStateConfig = { + loading: , +}; + +/** + * @see https://umijs.org/zh-CN/plugins/plugin-initial-state + * */ +export async function getInitialState(): Promise<{ + settings?: Partial; + currentUser?: API.CurrentUser; + loading?: boolean; + fetchUserInfo?: () => Promise; +}> { + const fetchUserInfo = async () => { + try { + // const msg = await queryCurrentUser(); + const msg = { + "code": "000000", + "message": "获取个人信息成功", + "avatar": "https://gw.alipayobjects.com/zos/antfincdn/XAosXuNZyF/BiazfanxmamNRoxxVxka.png", + "name": "admin", + ...menuTree, + } + localStorage.setItem('menuTree', JSON.stringify(msg.menuTree)); + return msg; + } catch (error) { + history.push(loginPath); + } + return undefined; + }; + // 如果是登录页面,不执行 + if (history.location.pathname !== loginPath) { + const currentUser = await fetchUserInfo(); + return { + fetchUserInfo, + currentUser, + settings: defaultSettings, + }; + } + return { + fetchUserInfo, + settings: defaultSettings, + }; +} + +// ProLayout 支持的api https://procomponents.ant.design/components/layout +export const layout: RunTimeLayoutConfig = ({ initialState, setInitialState }) => { + return { + rightContentRender: () => , + disableContentMargin: false, + waterMarkProps: { + content: initialState?.currentUser?.name, + }, + menuDataRender: () => menuDataRender(), + onPageChange: () => { + const { location } = history; + // 如果没有登录,重定向到 login + if (!initialState?.currentUser && location.pathname !== loginPath) { + history.push(loginPath); + } + }, + menu: { + locale: false + }, + menuHeaderRender: undefined, + // 自定义 403 页面 + // unAccessible:

unAccessible
, + // 增加一个 loading 的状态 + childrenRender: (children, props) => { + // if (initialState?.loading) return ; + return ( + <> + {children} + {false && !props.location?.pathname?.includes('/login') && ( + { + setInitialState((preInitialState) => ({ + ...preInitialState, + settings, + })); + }} + /> + )} + + ); + }, + ...initialState?.settings, + }; +}; + +const menuDataRender: any = () => { + let item = localStorage.getItem('menuTree') + ''; + + console.log(loopMenuItem(tree(JSON.parse(item), 0, 'parentId'))); + + return loopMenuItem(tree(JSON.parse(item), 0, 'parentId')); + + // return tree(JSON.parse(item), 0, "parent_id"); +}; + +const loopMenuItem = (menus: any[]): MenuDataItem[] => + menus.map(({ icon, children, ...item }) => { + return { + ...item, + icon: icon && IconMap[icon as string], + children: children && loopMenuItem(children), + }; + }); + +const codeMessage = { + 200: '服务器成功返回请求的数据。', + 201: '新建或修改数据成功。', + 202: '一个请求已经进入后台排队(异步任务)。', + 204: '删除数据成功。', + 400: '发出的请求有错误,服务器没有进行新建或修改数据的操作。', + 401: '用户没有权限(令牌、用户名、密码错误)。', + 403: '用户得到授权,但是访问是被禁止的。', + 404: '发出的请求针对的是不存在的记录,服务器没有进行操作。', + 405: '请求方法不被允许。', + 406: '请求的格式不可得。', + 410: '请求的资源被永久删除,且不会再得到的。', + 422: '当创建一个对象时,发生一个验证错误。', + 500: '服务器发生错误,请检查服务器。', + 502: '网关错误。', + 503: '服务不可用,服务器暂时过载或维护。', + 504: '网关超时。', +}; + +/** + * 异常处理程序 + */ +const errorHandler = (error: any) => { + const { response } = error; + if (response && response.status) { + const errorText = codeMessage[response.status] || response.statusText; + const { status, url } = response; + + notification.error({ + message: `请求错误 ${status}: ${url}`, + description: errorText, + }); + } + + if (!response) { + notification.error({ + description: '您的网络发生异常,无法连接服务器', + message: '网络异常', + }); + } + throw error; +}; + + +const addToken: RequestInterceptor = (url: string, options: RequestOptionsInit) => { + options.headers = { + Authorization: 'Bearer ' + localStorage.getItem('token'), + }; + return { + url, + options, + }; +}; + +export const request: RequestConfig = { + errorHandler, + requestInterceptors: [addToken], +}; + +// const consoleError = console.error; + +// console.error = function (...args) { +// const message = args.join(' '); + +// if ( +// typeof message === 'string' && +// message.startsWith('Warning: ') && +// !message.includes('Warning: componentWillReceiveProps has been renamed') +// ) { +// return; +// } +// consoleError.apply(console, args); +// }; diff --git a/admin-v5/src/components/Footer/index.tsx b/admin-v5/src/components/Footer/index.tsx new file mode 100644 index 0000000..578402a --- /dev/null +++ b/admin-v5/src/components/Footer/index.tsx @@ -0,0 +1,44 @@ +import { useIntl } from 'umi'; +import { GithubOutlined } from '@ant-design/icons'; +import { DefaultFooter } from '@ant-design/pro-layout'; + +const Footer: React.FC = () => { + const intl = useIntl(); + const defaultMessage = intl.formatMessage({ + id: 'app.copyright.produced', + defaultMessage: 'AI出品', + }); + + const currentYear = new Date().getFullYear(); + + return ( + , + // href: 'https://github.com/ant-design/ant-design-pro', + // blankTarget: true, + // }, + // { + // key: 'Ant Design', + // title: 'Ant Design', + // href: 'https://ant.design', + // blankTarget: true, + // }, + ] + } + /> + ); +}; + +export default Footer; diff --git a/admin-v5/src/components/HeaderDropdown/index.less b/admin-v5/src/components/HeaderDropdown/index.less new file mode 100644 index 0000000..f583513 --- /dev/null +++ b/admin-v5/src/components/HeaderDropdown/index.less @@ -0,0 +1,16 @@ +@import (reference) '~antd/es/style/themes/index'; + +.container > * { + background-color: @popover-bg; + border-radius: 4px; + box-shadow: @shadow-1-down; +} + +@media screen and (max-width: @screen-xs) { + .container { + width: 100% !important; + } + .container > * { + border-radius: 0 !important; + } +} diff --git a/admin-v5/src/components/HeaderDropdown/index.tsx b/admin-v5/src/components/HeaderDropdown/index.tsx new file mode 100644 index 0000000..45af90a --- /dev/null +++ b/admin-v5/src/components/HeaderDropdown/index.tsx @@ -0,0 +1,17 @@ +import type { DropDownProps } from 'antd/es/dropdown'; +import { Dropdown } from 'antd'; +import React from 'react'; +import classNames from 'classnames'; +import styles from './index.less'; + +export type HeaderDropdownProps = { + overlayClassName?: string; + overlay: React.ReactNode | (() => React.ReactNode) | any; + placement?: 'bottomLeft' | 'bottomRight' | 'topLeft' | 'topCenter' | 'topRight' | 'bottomCenter'; +} & Omit; + +const HeaderDropdown: React.FC = ({ overlayClassName: cls, ...restProps }) => ( + +); + +export default HeaderDropdown; diff --git a/admin-v5/src/components/HeaderSearch/index.less b/admin-v5/src/components/HeaderSearch/index.less new file mode 100644 index 0000000..7dc3eaa --- /dev/null +++ b/admin-v5/src/components/HeaderSearch/index.less @@ -0,0 +1,25 @@ +@import (reference) '~antd/es/style/themes/index'; + +.headerSearch { + display: inline-flex; + align-items: center; + .input { + width: 0; + min-width: 0; + overflow: hidden; + background: transparent; + border-radius: 0; + transition: width 0.3s, margin-left 0.3s; + :global(.ant-select-selection) { + background: transparent; + } + input { + box-shadow: none !important; + } + + &.show { + width: 210px; + margin-left: 8px; + } + } +} diff --git a/admin-v5/src/components/HeaderSearch/index.tsx b/admin-v5/src/components/HeaderSearch/index.tsx new file mode 100644 index 0000000..91cc697 --- /dev/null +++ b/admin-v5/src/components/HeaderSearch/index.tsx @@ -0,0 +1,101 @@ +import { SearchOutlined } from '@ant-design/icons'; +import { AutoComplete, Input } from 'antd'; +import useMergedState from 'rc-util/es/hooks/useMergedState'; +import type { AutoCompleteProps } from 'antd/es/auto-complete'; +import React, { useRef } from 'react'; + +import classNames from 'classnames'; +import styles from './index.less'; + +export type HeaderSearchProps = { + onSearch?: (value?: string) => void; + onChange?: (value?: string) => void; + onVisibleChange?: (b: boolean) => void; + className?: string; + placeholder?: string; + options: AutoCompleteProps['options']; + defaultVisible?: boolean; + visible?: boolean; + defaultValue?: string; + value?: string; +}; + +const HeaderSearch: React.FC = (props) => { + const { + className, + defaultValue, + onVisibleChange, + placeholder, + visible, + defaultVisible, + ...restProps + } = props; + + const inputRef = useRef(null); + + const [value, setValue] = useMergedState(defaultValue, { + value: props.value, + onChange: props.onChange, + }); + + const [searchMode, setSearchMode] = useMergedState(defaultVisible ?? false, { + value: props.visible, + onChange: onVisibleChange, + }); + + const inputClass = classNames(styles.input, { + [styles.show]: searchMode, + }); + return ( +
{ + setSearchMode(true); + if (searchMode && inputRef.current) { + inputRef.current.focus(); + } + }} + onTransitionEnd={({ propertyName }) => { + if (propertyName === 'width' && !searchMode) { + if (onVisibleChange) { + onVisibleChange(searchMode); + } + } + }} + > + + + { + if (e.key === 'Enter') { + if (restProps.onSearch) { + restProps.onSearch(value); + } + } + }} + onBlur={() => { + setSearchMode(false); + }} + /> + +
+ ); +}; + +export default HeaderSearch; diff --git a/admin-v5/src/components/NoticeIcon/NoticeIcon.tsx b/admin-v5/src/components/NoticeIcon/NoticeIcon.tsx new file mode 100644 index 0000000..ec8032e --- /dev/null +++ b/admin-v5/src/components/NoticeIcon/NoticeIcon.tsx @@ -0,0 +1,126 @@ +import { BellOutlined } from '@ant-design/icons'; +import { Badge, Spin, Tabs } from 'antd'; +import useMergedState from 'rc-util/es/hooks/useMergedState'; +import React from 'react'; +import classNames from 'classnames'; +import type { NoticeIconTabProps } from './NoticeList'; +import NoticeList from './NoticeList'; +import HeaderDropdown from '../HeaderDropdown'; +import styles from './index.less'; + +const { TabPane } = Tabs; + +export type NoticeIconProps = { + count?: number; + bell?: React.ReactNode; + className?: string; + loading?: boolean; + onClear?: (tabName: string, tabKey: string) => void; + onItemClick?: (item: API.NoticeIconItem, tabProps: NoticeIconTabProps) => void; + onViewMore?: (tabProps: NoticeIconTabProps, e: MouseEvent) => void; + onTabChange?: (tabTile: string) => void; + style?: React.CSSProperties; + onPopupVisibleChange?: (visible: boolean) => void; + popupVisible?: boolean; + clearText?: string; + viewMoreText?: string; + clearClose?: boolean; + emptyImage?: string; + children?: React.ReactElement[]; +}; + +const NoticeIcon: React.FC & { + Tab: typeof NoticeList; +} = (props) => { + const getNotificationBox = (): React.ReactNode => { + const { + children, + loading, + onClear, + onTabChange, + onItemClick, + onViewMore, + clearText, + viewMoreText, + } = props; + if (!children) { + return null; + } + const panes: React.ReactNode[] = []; + React.Children.forEach(children, (child: React.ReactElement): void => { + if (!child) { + return; + } + const { list, title, count, tabKey, showClear, showViewMore } = child.props; + const len = list && list.length ? list.length : 0; + const msgCount = count || count === 0 ? count : len; + const tabTitle: string = msgCount > 0 ? `${title} (${msgCount})` : title; + panes.push( + + onClear && onClear(title, tabKey)} + onClick={(item): void => onItemClick && onItemClick(item, child.props)} + onViewMore={(event): void => onViewMore && onViewMore(child.props, event)} + showClear={showClear} + showViewMore={showViewMore} + title={title} + /> + , + ); + }); + return ( + <> + + + {panes} + + + + ); + }; + + const { className, count, bell } = props; + + const [visible, setVisible] = useMergedState(false, { + value: props.popupVisible, + onChange: props.onPopupVisibleChange, + }); + const noticeButtonClass = classNames(className, styles.noticeButton); + const notificationBox = getNotificationBox(); + const NoticeBellIcon = bell || ; + const trigger = ( + + + {NoticeBellIcon} + + + ); + if (!notificationBox) { + return trigger; + } + + return ( + + {trigger} + + ); +}; + +NoticeIcon.defaultProps = { + emptyImage: 'https://gw.alipayobjects.com/zos/rmsportal/wAhyIChODzsoKIOBHcBk.svg', +}; + +NoticeIcon.Tab = NoticeList; + +export default NoticeIcon; diff --git a/admin-v5/src/components/NoticeIcon/NoticeList.less b/admin-v5/src/components/NoticeIcon/NoticeList.less new file mode 100644 index 0000000..c87fece --- /dev/null +++ b/admin-v5/src/components/NoticeIcon/NoticeList.less @@ -0,0 +1,103 @@ +@import (reference) '~antd/es/style/themes/index'; + +.list { + max-height: 400px; + overflow: auto; + &::-webkit-scrollbar { + display: none; + } + .item { + padding-right: 24px; + padding-left: 24px; + overflow: hidden; + cursor: pointer; + transition: all 0.3s; + + .meta { + width: 100%; + } + + .avatar { + margin-top: 4px; + background: @component-background; + } + .iconElement { + font-size: 32px; + } + + &.read { + opacity: 0.4; + } + &:last-child { + border-bottom: 0; + } + &:hover { + background: @primary-1; + } + .title { + margin-bottom: 8px; + font-weight: normal; + } + .description { + font-size: 12px; + line-height: @line-height-base; + } + .datetime { + margin-top: 4px; + font-size: 12px; + line-height: @line-height-base; + } + .extra { + float: right; + margin-top: -1.5px; + margin-right: 0; + color: @text-color-secondary; + font-weight: normal; + } + } + .loadMore { + padding: 8px 0; + color: @primary-6; + text-align: center; + cursor: pointer; + &.loadedAll { + color: rgba(0, 0, 0, 0.25); + cursor: unset; + } + } +} + +.notFound { + padding: 73px 0 88px; + color: @text-color-secondary; + text-align: center; + img { + display: inline-block; + height: 76px; + margin-bottom: 16px; + } +} + +.bottomBar { + height: 46px; + color: @text-color; + line-height: 46px; + text-align: center; + border-top: 1px solid @border-color-split; + border-radius: 0 0 @border-radius-base @border-radius-base; + transition: all 0.3s; + div { + display: inline-block; + width: 50%; + cursor: pointer; + transition: all 0.3s; + user-select: none; + + &:only-child { + width: 100%; + } + &:not(:only-child):last-child { + border-left: 1px solid @border-color-split; + } + } +} diff --git a/admin-v5/src/components/NoticeIcon/NoticeList.tsx b/admin-v5/src/components/NoticeIcon/NoticeList.tsx new file mode 100644 index 0000000..5face39 --- /dev/null +++ b/admin-v5/src/components/NoticeIcon/NoticeList.tsx @@ -0,0 +1,113 @@ +import { Avatar, List } from 'antd'; + +import React from 'react'; +import classNames from 'classnames'; +import styles from './NoticeList.less'; + +export type NoticeIconTabProps = { + count?: number; + showClear?: boolean; + showViewMore?: boolean; + style?: React.CSSProperties; + title: string; + tabKey: API.NoticeIconItemType; + onClick?: (item: API.NoticeIconItem) => void; + onClear?: () => void; + emptyText?: string; + clearText?: string; + viewMoreText?: string; + list: API.NoticeIconItem[]; + onViewMore?: (e: any) => void; +}; +const NoticeList: React.FC = ({ + list = [], + onClick, + onClear, + title, + onViewMore, + emptyText, + showClear = true, + clearText, + viewMoreText, + showViewMore = false, +}) => { + if (!list || list.length === 0) { + return ( +
+ not found +
{emptyText}
+
+ ); + } + return ( +
+ + className={styles.list} + dataSource={list} + renderItem={(item, i) => { + const itemCls = classNames(styles.item, { + [styles.read]: item.read, + }); + // eslint-disable-next-line no-nested-ternary + const leftIcon = item.avatar ? ( + typeof item.avatar === 'string' ? ( + + ) : ( + {item.avatar} + ) + ) : null; + + return ( + { + onClick?.(item); + }} + > + + {item.title} +
{item.extra}
+
+ } + description={ +
+
{item.description}
+
{item.datetime}
+
+ } + /> + + ); + }} + /> +
+ {showClear ? ( +
+ {clearText} {title} +
+ ) : null} + {showViewMore ? ( +
{ + if (onViewMore) { + onViewMore(e); + } + }} + > + {viewMoreText} +
+ ) : null} +
+ + ); +}; + +export default NoticeList; diff --git a/admin-v5/src/components/NoticeIcon/index.less b/admin-v5/src/components/NoticeIcon/index.less new file mode 100644 index 0000000..a2e44f1 --- /dev/null +++ b/admin-v5/src/components/NoticeIcon/index.less @@ -0,0 +1,35 @@ +@import (reference) '~antd/es/style/themes/index'; + +.popover { + position: relative; + width: 336px; +} + +.noticeButton { + display: inline-block; + cursor: pointer; + transition: all 0.3s; +} +.icon { + padding: 4px; + vertical-align: middle; +} + +.badge { + font-size: 16px; +} + +.tabs { + :global { + .ant-tabs-nav-list { + margin: auto; + } + + .ant-tabs-nav-scroll { + text-align: center; + } + .ant-tabs-nav { + margin-bottom: 0; + } + } +} diff --git a/admin-v5/src/components/NoticeIcon/index.tsx b/admin-v5/src/components/NoticeIcon/index.tsx new file mode 100644 index 0000000..326a363 --- /dev/null +++ b/admin-v5/src/components/NoticeIcon/index.tsx @@ -0,0 +1,153 @@ +import { useEffect, useState } from 'react'; +import { Tag, message } from 'antd'; +import { groupBy } from 'lodash'; +import moment from 'moment'; +import { useModel, useRequest } from 'umi'; +import { getNotices } from '@/services/ant-design-pro/api'; + +import NoticeIcon from './NoticeIcon'; +import styles from './index.less'; + +export type GlobalHeaderRightProps = { + fetchingNotices?: boolean; + onNoticeVisibleChange?: (visible: boolean) => void; + onNoticeClear?: (tabName?: string) => void; +}; + +const getNoticeData = (notices: API.NoticeIconItem[]): Record => { + if (!notices || notices.length === 0 || !Array.isArray(notices)) { + return {}; + } + + const newNotices = notices.map((notice) => { + const newNotice = { ...notice }; + + if (newNotice.datetime) { + newNotice.datetime = moment(notice.datetime as string).fromNow(); + } + + if (newNotice.id) { + newNotice.key = newNotice.id; + } + + if (newNotice.extra && newNotice.status) { + const color = { + todo: '', + processing: 'blue', + urgent: 'red', + doing: 'gold', + }[newNotice.status]; + newNotice.extra = ( + + {newNotice.extra} + + ) as any; + } + + return newNotice; + }); + return groupBy(newNotices, 'type'); +}; + +const getUnreadData = (noticeData: Record) => { + const unreadMsg: Record = {}; + Object.keys(noticeData).forEach((key) => { + const value = noticeData[key]; + + if (!unreadMsg[key]) { + unreadMsg[key] = 0; + } + + if (Array.isArray(value)) { + unreadMsg[key] = value.filter((item) => !item.read).length; + } + }); + return unreadMsg; +}; + +const NoticeIconView: React.FC = () => { + const { initialState } = useModel('@@initialState'); + const { currentUser } = initialState || {}; + const [notices, setNotices] = useState([]); + const { data } = useRequest(getNotices); + + useEffect(() => { + setNotices(data || []); + }, [data]); + + const noticeData = getNoticeData(notices); + const unreadMsg = getUnreadData(noticeData || {}); + + const changeReadState = (id: string) => { + setNotices( + notices.map((item) => { + const notice = { ...item }; + if (notice.id === id) { + notice.read = true; + } + return notice; + }), + ); + }; + + const clearReadState = (title: string, key: string) => { + setNotices( + notices.map((item) => { + const notice = { ...item }; + if (notice.type === key) { + notice.read = true; + } + return notice; + }), + ); + message.success(`${'清空了'} ${title}`); + }; + + return ( + { + changeReadState(item.id!); + }} + onClear={(title: string, key: string) => clearReadState(title, key)} + loading={false} + clearText="清空" + viewMoreText="查看更多" + onViewMore={() => message.info('Click on view more')} + clearClose + > + + + + + ); +}; + +export default NoticeIconView; diff --git a/admin-v5/src/components/RightContent/AvatarDropdown.tsx b/admin-v5/src/components/RightContent/AvatarDropdown.tsx new file mode 100644 index 0000000..0a8c257 --- /dev/null +++ b/admin-v5/src/components/RightContent/AvatarDropdown.tsx @@ -0,0 +1,105 @@ +import React, { useCallback } from 'react'; +import { LogoutOutlined, SettingOutlined, UserOutlined } from '@ant-design/icons'; +import { Avatar, Menu, Spin } from 'antd'; +import { history, useModel } from 'umi'; +import { stringify } from 'querystring'; +import HeaderDropdown from '../HeaderDropdown'; +import styles from './index.less'; +import type { MenuInfo } from 'rc-menu/lib/interface'; +import { outLoginV2 } from '@/services/http/api'; + +export type GlobalHeaderRightProps = { + menu?: boolean; +}; + +/** + * 退出登录,并且将当前的 url 保存 + */ +const loginOut = async () => { + // await outLogin(); + await outLoginV2() + localStorage.removeItem("token") + const { query = {}, search, pathname } = history.location; + const { redirect } = query; + // Note: There may be security issues, please note + if (window.location.pathname !== '/user/login' && !redirect) { + history.replace({ + pathname: '/user/login', + search: stringify({ + redirect: pathname + search, + }), + }); + } +}; + +const AvatarDropdown: React.FC = ({ menu }) => { + const { initialState, setInitialState } = useModel('@@initialState'); + + const onMenuClick = useCallback( + (event: MenuInfo) => { + const { key } = event; + if (key === 'logout') { + setInitialState((s) => ({ ...s, currentUser: undefined })); + loginOut(); + return; + } + history.push(`/account/${key}`); + }, + [setInitialState], + ); + + const loading = ( + + + + ); + + if (!initialState) { + return loading; + } + + const { currentUser } = initialState; + + if (!currentUser || !currentUser.name) { + return loading; + } + + const menuHeaderDropdown = ( + + {menu && ( + + + 个人中心 + + )} + {menu && ( + + + 个人设置 + + )} + {menu && } + + + + 退出登录 + + + ); + return ( + + + + {currentUser.name} + + + ); +}; + +export default AvatarDropdown; diff --git a/admin-v5/src/components/RightContent/index.less b/admin-v5/src/components/RightContent/index.less new file mode 100644 index 0000000..6d6f198 --- /dev/null +++ b/admin-v5/src/components/RightContent/index.less @@ -0,0 +1,84 @@ +@import (reference) '~antd/es/style/themes/index'; + +@pro-header-hover-bg: rgba(0, 0, 0, 0.025); + +.menu { + :global(.anticon) { + margin-right: 8px; + } + :global(.ant-dropdown-menu-item) { + min-width: 160px; + } +} + +.right { + display: flex; + float: right; + height: 48px; + margin-left: auto; + overflow: hidden; + .action { + display: flex; + align-items: center; + height: 48px; + padding: 0 12px; + cursor: pointer; + transition: all 0.3s; + > span { + vertical-align: middle; + } + &:hover { + background: @pro-header-hover-bg; + } + &:global(.opened) { + background: @pro-header-hover-bg; + } + } + .search { + padding: 0 12px; + &:hover { + background: transparent; + } + } + .account { + .avatar { + margin-right: 8px; + color: @primary-color; + vertical-align: top; + background: rgba(255, 255, 255, 0.85); + } + } +} + +.dark { + .action { + &:hover { + background: #252a3d; + } + &:global(.opened) { + background: #252a3d; + } + } +} + +@media only screen and (max-width: @screen-md) { + :global(.ant-divider-vertical) { + vertical-align: unset; + } + .name { + display: none; + } + .right { + position: absolute; + top: 0; + right: 12px; + .account { + .avatar { + margin-right: 0; + } + } + .search { + display: none; + } + } +} diff --git a/admin-v5/src/components/RightContent/index.tsx b/admin-v5/src/components/RightContent/index.tsx new file mode 100644 index 0000000..f89a5c9 --- /dev/null +++ b/admin-v5/src/components/RightContent/index.tsx @@ -0,0 +1,62 @@ +import { Space } from 'antd'; +import { QuestionCircleOutlined } from '@ant-design/icons'; +import React from 'react'; +import { useModel, SelectLang } from 'umi'; +import Avatar from './AvatarDropdown'; +import HeaderSearch from '../HeaderSearch'; +import styles from './index.less'; + +export type SiderTheme = 'light' | 'dark'; + +const GlobalHeaderRight: React.FC = () => { + const { initialState } = useModel('@@initialState'); + + if (!initialState || !initialState.settings) { + return null; + } + + const { navTheme, layout } = initialState.settings; + let className = styles.right; + + if ((navTheme === 'dark' && layout === 'top') || layout === 'mix') { + className = `${styles.right} ${styles.dark}`; + } + return ( + + {/*umi ui
, value: 'umi ui' },*/} + {/* {*/} + {/* label: Ant Design,*/} + {/* value: 'Ant Design',*/} + {/* },*/} + {/* {*/} + {/* label: Pro Table,*/} + {/* value: 'Pro Table',*/} + {/* },*/} + {/* {*/} + {/* label: Pro Layout,*/} + {/* value: 'Pro Layout',*/} + {/* },*/} + {/* ]}*/} + {/* // onSearch={value => {*/} + {/* // console.log('input', value);*/} + {/* // }}*/} + {/*/>*/} + {/* {*/} + {/* window.open('https://pro.ant.design/docs/getting-started');*/} + {/* }}*/} + {/*>*/} + {/* */} + {/**/} + + {/**/} + + ); +}; +export default GlobalHeaderRight; diff --git a/admin-v5/src/e2e/baseLayout.e2e.spec.ts b/admin-v5/src/e2e/baseLayout.e2e.spec.ts new file mode 100644 index 0000000..e1d62c7 --- /dev/null +++ b/admin-v5/src/e2e/baseLayout.e2e.spec.ts @@ -0,0 +1,45 @@ +import type { Page } from '@playwright/test'; +import { test, expect } from '@playwright/test'; +const { uniq } = require('lodash'); +const RouterConfig = require('../../config/routes').default; + +const BASE_URL = `http://localhost:${process.env.PORT || 8001}`; + +function formatter(routes: any, parentPath = ''): string[] { + const fixedParentPath = parentPath.replace(/\/{1,}/g, '/'); + let result: string[] = []; + routes.forEach((item: { path: string; routes: string }) => { + if (item.path && !item.path.startsWith('/')) { + result.push(`${fixedParentPath}/${item.path}`.replace(/\/{1,}/g, '/')); + } + if (item.path && item.path.startsWith('/')) { + result.push(`${item.path}`.replace(/\/{1,}/g, '/')); + } + if (item.routes) { + result = result.concat( + formatter(item.routes, item.path ? `${fixedParentPath}/${item.path}` : parentPath), + ); + } + }); + return uniq(result.filter((item) => !!item)); +} + +const testPage = (path: string, page: Page) => async () => { + await page.evaluate(() => { + localStorage.setItem('antd-pro-authority', '["admin"]'); + }); + await page.goto(`${BASE_URL}${path}`); + await page.waitForSelector('footer', { + timeout: 2000, + }); + const haveFooter = await page.evaluate(() => document.getElementsByTagName('footer').length > 0); + expect(haveFooter).toBeTruthy(); +}; + +const routers = formatter(RouterConfig); + +routers.forEach((route) => { + test(`test route page ${route}`, async ({ page }) => { + await testPage(route, page); + }); +}); diff --git a/admin-v5/src/global.less b/admin-v5/src/global.less new file mode 100644 index 0000000..0d6158c --- /dev/null +++ b/admin-v5/src/global.less @@ -0,0 +1,57 @@ +@import '~antd/es/style/variable.less'; + +html, +body, +#root { + height: 100%; +} + +.colorWeak { + filter: invert(80%); +} + +.ant-layout { + min-height: 100vh; +} +.ant-pro-sider.ant-layout-sider.ant-pro-sider-fixed { + left: unset; +} + +canvas { + display: block; +} + +body { + text-rendering: optimizeLegibility; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +ul, +ol { + list-style: none; +} + +@media (max-width: @screen-xs) { + .ant-table { + width: 100%; + overflow-x: auto; + &-thead > tr, + &-tbody > tr { + > th, + > td { + white-space: pre; + > span { + display: block; + } + } + } + } +} + +// Compatible with IE11 +@media screen and(-ms-high-contrast: active), (-ms-high-contrast: none) { + body .ant-design-pro > .ant-layout { + min-height: 100vh; + } +} diff --git a/admin-v5/src/global.tsx b/admin-v5/src/global.tsx new file mode 100644 index 0000000..29f47a0 --- /dev/null +++ b/admin-v5/src/global.tsx @@ -0,0 +1,91 @@ +import { Button, message, notification } from 'antd'; +import { useIntl } from 'umi'; +import defaultSettings from '../config/defaultSettings'; + +const { pwa } = defaultSettings; +const isHttps = document.location.protocol === 'https:'; + +const clearCache = () => { + // remove all caches + if (window.caches) { + caches + .keys() + .then((keys) => { + keys.forEach((key) => { + caches.delete(key); + }); + }) + .catch((e) => console.log(e)); + } +}; + +// if pwa is true +if (pwa) { + // Notify user if offline now + window.addEventListener('sw.offline', () => { + message.warning(useIntl().formatMessage({ id: 'app.pwa.offline' })); + }); + + // Pop up a prompt on the page asking the user if they want to use the latest version + window.addEventListener('sw.updated', (event: Event) => { + const e = event as CustomEvent; + const reloadSW = async () => { + // Check if there is sw whose state is waiting in ServiceWorkerRegistration + // https://developer.mozilla.org/en-US/docs/Web/API/ServiceWorkerRegistration + const worker = e.detail && e.detail.waiting; + if (!worker) { + return true; + } + // Send skip-waiting event to waiting SW with MessageChannel + await new Promise((resolve, reject) => { + const channel = new MessageChannel(); + channel.port1.onmessage = (msgEvent) => { + if (msgEvent.data.error) { + reject(msgEvent.data.error); + } else { + resolve(msgEvent.data); + } + }; + worker.postMessage({ type: 'skip-waiting' }, [channel.port2]); + }); + + clearCache(); + window.location.reload(); + return true; + }; + const key = `open${Date.now()}`; + const btn = ( + + ); + notification.open({ + message: useIntl().formatMessage({ id: 'app.pwa.serviceworker.updated' }), + description: useIntl().formatMessage({ id: 'app.pwa.serviceworker.updated.hint' }), + btn, + key, + onClose: async () => null, + }); + }); +} else if ('serviceWorker' in navigator && isHttps) { + // unregister service worker + const { serviceWorker } = navigator; + if (serviceWorker.getRegistrations) { + serviceWorker.getRegistrations().then((sws) => { + sws.forEach((sw) => { + sw.unregister(); + }); + }); + } + serviceWorker.getRegistration().then((sw) => { + if (sw) sw.unregister(); + }); + + clearCache(); +} diff --git a/admin-v5/src/locales/bn-BD.ts b/admin-v5/src/locales/bn-BD.ts new file mode 100644 index 0000000..f9f6afd --- /dev/null +++ b/admin-v5/src/locales/bn-BD.ts @@ -0,0 +1,26 @@ +import component from './bn-BD/component'; +import globalHeader from './bn-BD/globalHeader'; +import menu from './bn-BD/menu'; +import pages from './bn-BD/pages'; +import pwa from './bn-BD/pwa'; +import settingDrawer from './bn-BD/settingDrawer'; +import settings from './bn-BD/settings'; + +export default { + 'navBar.lang': 'ভাষা', + 'layout.user.link.help': 'সহায়তা', + 'layout.user.link.privacy': 'গোপনীয়তা', + 'layout.user.link.terms': 'শর্তাদি', + 'app.copyright.produced': 'প্রযোজনা করেছেন অ্যান্ট ফিনান্সিয়াল এক্সপেরিয়েন্স ডিপার্টমেন্ট', + 'app.preview.down.block': 'আপনার স্থানীয় প্রকল্পে এই পৃষ্ঠাটি ডাউনলোড করুন', + 'app.welcome.link.fetch-blocks': 'সমস্ত ব্লক পান', + 'app.welcome.link.block-list': + '`block` ডেভেলপমেন্ট এর উপর ভিত্তি করে দ্রুত স্ট্যান্ডার্ড, পৃষ্ঠাসমূহ তৈরি করুন।', + ...globalHeader, + ...menu, + ...settingDrawer, + ...settings, + ...pwa, + ...component, + ...pages, +}; diff --git a/admin-v5/src/locales/bn-BD/component.ts b/admin-v5/src/locales/bn-BD/component.ts new file mode 100644 index 0000000..a546e75 --- /dev/null +++ b/admin-v5/src/locales/bn-BD/component.ts @@ -0,0 +1,5 @@ +export default { + 'component.tagSelect.expand': 'বিস্তৃত', + 'component.tagSelect.collapse': 'সঙ্কুচিত', + 'component.tagSelect.all': 'সব', +}; diff --git a/admin-v5/src/locales/bn-BD/globalHeader.ts b/admin-v5/src/locales/bn-BD/globalHeader.ts new file mode 100644 index 0000000..2679be4 --- /dev/null +++ b/admin-v5/src/locales/bn-BD/globalHeader.ts @@ -0,0 +1,17 @@ +export default { + 'component.globalHeader.search': 'অনুসন্ধান করুন', + 'component.globalHeader.search.example1': 'অনুসন্ধান উদাহরণ ১', + 'component.globalHeader.search.example2': 'অনুসন্ধান উদাহরণ ২', + 'component.globalHeader.search.example3': 'অনুসন্ধান উদাহরণ ৩', + 'component.globalHeader.help': 'সহায়তা', + 'component.globalHeader.notification': 'বিজ্ঞপ্তি', + 'component.globalHeader.notification.empty': 'আপনি সমস্ত বিজ্ঞপ্তি দেখেছেন।', + 'component.globalHeader.message': 'বার্তা', + 'component.globalHeader.message.empty': 'আপনি সমস্ত বার্তা দেখেছেন।', + 'component.globalHeader.event': 'ঘটনা', + 'component.globalHeader.event.empty': 'আপনি সমস্ত ইভেন্ট দেখেছেন।', + 'component.noticeIcon.clear': 'সাফ', + 'component.noticeIcon.cleared': 'সাফ করা হয়েছে', + 'component.noticeIcon.empty': 'বিজ্ঞপ্তি নেই', + 'component.noticeIcon.view-more': 'আরো দেখুন', +}; diff --git a/admin-v5/src/locales/bn-BD/menu.ts b/admin-v5/src/locales/bn-BD/menu.ts new file mode 100644 index 0000000..ae511a0 --- /dev/null +++ b/admin-v5/src/locales/bn-BD/menu.ts @@ -0,0 +1,52 @@ +export default { + 'menu.welcome': 'স্বাগতম', + 'menu.more-blocks': 'আরও ব্লক', + 'menu.home': 'নীড়', + 'menu.admin': 'অ্যাডমিন', + 'menu.admin.sub-page': 'উপ-পৃষ্ঠা', + 'menu.login': 'প্রবেশ', + 'menu.register': 'নিবন্ধন', + 'menu.register-result': 'নিবন্ধনে ফলাফল', + 'menu.dashboard': 'ড্যাশবোর্ড', + 'menu.dashboard.analysis': 'বিশ্লেষণ', + 'menu.dashboard.monitor': 'নিরীক্ষণ', + 'menu.dashboard.workplace': 'কর্মক্ষেত্র', + 'menu.exception.403': '403', + 'menu.exception.404': '404', + 'menu.exception.500': '500', + 'menu.form': 'ফর্ম', + 'menu.form.basic-form': 'বেসিক ফর্ম', + 'menu.form.step-form': 'পদক্ষেপ ফর্ম', + 'menu.form.step-form.info': 'পদক্ষেপ ফর্ম (স্থানান্তর তথ্য লিখুন)', + 'menu.form.step-form.confirm': 'পদক্ষেপ ফর্ম (স্থানান্তর তথ্য নিশ্চিত করুন)', + 'menu.form.step-form.result': 'পদক্ষেপ ফর্ম (সমাপ্ত)', + 'menu.form.advanced-form': 'উন্নত ফর্ম', + 'menu.list': 'তালিকা', + 'menu.list.table-list': 'অনুসন্ধানের টেবিল', + 'menu.list.basic-list': 'বেসিক তালিকা', + 'menu.list.card-list': 'কার্ডের তালিকা', + 'menu.list.search-list': 'অনুসন্ধানের তালিকা', + 'menu.list.search-list.articles': 'অনুসন্ধানের তালিকা (নিবন্ধসমূহ)', + 'menu.list.search-list.projects': 'অনুসন্ধানের তালিকা (প্রকল্পগুলি)', + 'menu.list.search-list.applications': 'অনুসন্ধানের তালিকা (অ্যাপ্লিকেশন)', + 'menu.profile': 'প্রোফাইল', + 'menu.profile.basic': 'বেসিক প্রোফাইল', + 'menu.profile.advanced': 'উন্নত প্রোফাইল', + 'menu.result': 'ফলাফল', + 'menu.result.success': 'সাফল্য', + 'menu.result.fail': 'ব্যর্থ', + 'menu.exception': 'ব্যতিক্রম', + 'menu.exception.not-permission': '403', + 'menu.exception.not-find': '404', + 'menu.exception.server-error': '500', + 'menu.exception.trigger': 'ট্রিগার', + 'menu.account': 'হিসাব', + 'menu.account.center': 'অ্যাকাউন্ট কেন্দ্র', + 'menu.account.settings': 'অ্যাকাউন্ট সেটিংস', + 'menu.account.trigger': 'ট্রিগার ত্রুটি', + 'menu.account.logout': 'প্রস্থান', + 'menu.editor': 'গ্রাফিক সম্পাদক', + 'menu.editor.flow': 'ফ্লো এডিটর', + 'menu.editor.mind': 'মাইন্ড এডিটর', + 'menu.editor.koni': 'কোনি সম্পাদক', +}; diff --git a/admin-v5/src/locales/bn-BD/pages.ts b/admin-v5/src/locales/bn-BD/pages.ts new file mode 100644 index 0000000..726bd20 --- /dev/null +++ b/admin-v5/src/locales/bn-BD/pages.ts @@ -0,0 +1,70 @@ +export default { + 'pages.layouts.userLayout.title': + 'পিঁপড়া ডিজাইন হচ্ছে সিহু জেলার সবচেয়ে প্রভাবশালী ওয়েব ডিজাইনের স্পেসিফিকেশন', + 'pages.login.accountLogin.tab': 'অ্যাকাউন্টে লগইন', + 'pages.login.accountLogin.errorMessage': 'ভুল ব্যবহারকারীর নাম/পাসওয়ার্ড(admin/ant.design)', + 'pages.login.failure': 'লগইন ব্যর্থ হয়েছে। আবার চেষ্টা করুন!', + 'pages.login.success': 'সফল লগইন!', + 'pages.login.username.placeholder': 'ব্যবহারকারীর নাম: admin or user', + 'pages.login.username.required': 'আপনার ব্যবহারকারীর নাম ইনপুট করুন!', + 'pages.login.password.placeholder': 'পাসওয়ার্ড: ant.design', + 'pages.login.password.required': 'আপনার পাসওয়ার্ড ইনপুট করুন!', + 'pages.login.phoneLogin.tab': 'ফোন লগইন', + 'pages.login.phoneLogin.errorMessage': 'যাচাইকরণ কোড ত্রুটি', + 'pages.login.phoneNumber.placeholder': 'ফোন নম্বর', + 'pages.login.phoneNumber.required': 'আপনার ফোন নম্বর ইনপুট করুন!', + 'pages.login.phoneNumber.invalid': 'ফোন নম্বরটি সঠিক নয়!', + 'pages.login.captcha.placeholder': 'যাচাইকরণের কোড', + 'pages.login.captcha.required': 'দয়া করে ভেরিফিকেশন কোডটি ইনপুট করুন!', + 'pages.login.phoneLogin.getVerificationCode': 'কোড পান', + 'pages.getCaptchaSecondText': 'সেকেন্ড', + 'pages.login.rememberMe': 'আমাকে মনে রাখুন', + 'pages.login.forgotPassword': 'পাসওয়ার্ড ভুলে গেছেন?', + 'pages.login.submit': 'প্রবেশ করুন', + 'pages.login.loginWith': 'লগইন করতে পারেন:', + 'pages.login.registerAccount': 'অ্যাকাউন্ট নিবন্ধন করুন', + 'pages.welcome.advancedComponent': 'অ্যাডভান্সড কম্পোনেন্ট', + 'pages.welcome.link': 'স্বাগতম', + 'pages.welcome.advancedLayout': 'অ্যাডভান্সড লেআউট', + 'pages.welcome.alertMessage': 'দ্রুত এবং শক্তিশালী ভারী শুল্ক উপাদান প্রকাশ করা হয়েছে।', + 'pages.admin.subPage.title': 'এই পৃষ্ঠাটি কেবল অ্যাডমিন দ্বারা দেখা যাবে', + 'pages.admin.subPage.alertMessage': + 'UMI UI এখন প্রকাশিত হয়েছে, অভিজ্ঞতা শুরু করতে npm run ui ব্যবহার করতে স্বাগতম।', + 'pages.searchTable.createForm.newRule': 'নতুন বিধি', + 'pages.searchTable.updateForm.ruleConfig': 'বিধি কনফিগারেশন', + 'pages.searchTable.updateForm.basicConfig': 'মৌলিক তথ্য', + 'pages.searchTable.updateForm.ruleName.nameLabel': 'বিধি নাম', + 'pages.searchTable.updateForm.ruleName.nameRules': 'বিধির নাম লিখুন!', + 'pages.searchTable.updateForm.ruleDesc.descLabel': 'বিধির বিবরণ', + 'pages.searchTable.updateForm.ruleDesc.descPlaceholder': 'কমপক্ষে পাঁচটি অক্ষর লিখুন', + 'pages.searchTable.updateForm.ruleDesc.descRules': + 'কমপক্ষে পাঁচটি অক্ষরের একটি বিধান বিবরণ লিখুন!', + 'pages.searchTable.updateForm.ruleProps.title': 'বৈশিষ্ট্য কনফিগার করুন', + 'pages.searchTable.updateForm.object': 'নিরীক্ষণ অবজেক্ট', + 'pages.searchTable.updateForm.ruleProps.templateLabel': 'বিধি টেম্পলেট', + 'pages.searchTable.updateForm.ruleProps.typeLabel': 'বিধি প্রকার', + 'pages.searchTable.updateForm.schedulingPeriod.title': 'সময়সূচী নির্ধারণ করুন', + 'pages.searchTable.updateForm.schedulingPeriod.timeLabel': 'শুরুর সময়', + 'pages.searchTable.updateForm.schedulingPeriod.timeRules': 'একটি শুরুর সময় চয়ন করুন!', + 'pages.searchTable.titleDesc': 'বর্ণনা', + 'pages.searchTable.ruleName': 'বিধি নাম প্রয়োজন', + 'pages.searchTable.titleCallNo': 'পরিষেবা কল সংখ্যা', + 'pages.searchTable.titleStatus': 'অবস্থা', + 'pages.searchTable.nameStatus.default': 'ডিফল্ট', + 'pages.searchTable.nameStatus.running': 'চলমান', + 'pages.searchTable.nameStatus.online': 'অনলাইন', + 'pages.searchTable.nameStatus.abnormal': 'অস্বাভাবিক', + 'pages.searchTable.titleUpdatedAt': 'সর্বশেষ নির্ধারিত', + 'pages.searchTable.exception': 'ব্যতিক্রম জন্য কারণ লিখুন!', + 'pages.searchTable.titleOption': 'অপশন', + 'pages.searchTable.config': 'কনফিগারেশন', + 'pages.searchTable.subscribeAlert': 'সতর্কতা সাবস্ক্রাইব করুন', + 'pages.searchTable.title': 'ইনকয়েরি ফরম', + 'pages.searchTable.new': 'নতুন', + 'pages.searchTable.chosen': 'নির্বাচিত', + 'pages.searchTable.item': 'আইটেম', + 'pages.searchTable.totalServiceCalls': 'পরিষেবা কলগুলির মোট সংখ্যা', + 'pages.searchTable.tenThousand': '000', + 'pages.searchTable.batchDeletion': 'একসাখে ডিলিট', + 'pages.searchTable.batchApproval': 'একসাখে অনুমোদন', +}; diff --git a/admin-v5/src/locales/bn-BD/pwa.ts b/admin-v5/src/locales/bn-BD/pwa.ts new file mode 100644 index 0000000..233fb30 --- /dev/null +++ b/admin-v5/src/locales/bn-BD/pwa.ts @@ -0,0 +1,7 @@ +export default { + 'app.pwa.offline': 'আপনি এখন অফলাইন', + 'app.pwa.serviceworker.updated': 'নতুন সামগ্রী উপলব্ধ', + 'app.pwa.serviceworker.updated.hint': + 'বর্তমান পৃষ্ঠাটি পুনরায় লোড করতে দয়া করে "রিফ্রেশ" বোতাম টিপুন', + 'app.pwa.serviceworker.updated.ok': 'রিফ্রেশ', +}; diff --git a/admin-v5/src/locales/bn-BD/settingDrawer.ts b/admin-v5/src/locales/bn-BD/settingDrawer.ts new file mode 100644 index 0000000..2bd1d04 --- /dev/null +++ b/admin-v5/src/locales/bn-BD/settingDrawer.ts @@ -0,0 +1,31 @@ +export default { + 'app.setting.pagestyle': 'পৃষ্ঠা স্টাইল সেটিং', + 'app.setting.pagestyle.dark': 'ডার্ক স্টাইল', + 'app.setting.pagestyle.light': 'লাইট স্টাইল', + 'app.setting.content-width': 'সামগ্রীর প্রস্থ', + 'app.setting.content-width.fixed': 'স্থির', + 'app.setting.content-width.fluid': 'প্রবাহী', + 'app.setting.themecolor': 'থিম রঙ', + 'app.setting.themecolor.dust': 'ডাস্ট রেড', + 'app.setting.themecolor.volcano': 'আগ্নেয়গিরি', + 'app.setting.themecolor.sunset': 'সানসেট কমলা', + 'app.setting.themecolor.cyan': 'সবুজাভ নীল', + 'app.setting.themecolor.green': 'পোলার সবুজ', + 'app.setting.themecolor.daybreak': 'দিবস ব্রেক ব্লু (ডিফল্ট)', + 'app.setting.themecolor.geekblue': 'গিক আঠালো', + 'app.setting.themecolor.purple': 'গোল্ডেন বেগুনি', + 'app.setting.navigationmode': 'নেভিগেশন মোড', + 'app.setting.sidemenu': 'সাইড মেনু লেআউট', + 'app.setting.topmenu': 'টপ মেনু লেআউট', + 'app.setting.fixedheader': 'স্থির হেডার', + 'app.setting.fixedsidebar': 'স্থির সাইডবার', + 'app.setting.fixedsidebar.hint': 'সাইড মেনু বিন্যাসে কাজ করে', + 'app.setting.hideheader': 'স্ক্রোল করার সময় হেডার লুকানো', + 'app.setting.hideheader.hint': 'লুকানো হেডার সক্ষম থাকলে কাজ করে', + 'app.setting.othersettings': 'অন্যান্য সেটিংস্', + 'app.setting.weakmode': 'দুর্বল মোড', + 'app.setting.copy': 'সেটিং কপি করুন', + 'app.setting.copyinfo': 'সাফল্যের অনুলিপি করুন - প্রতিস্থাপন করুন: src/models/setting.js', + 'app.setting.production.hint': + 'কেবল বিকাশের পরিবেশে প্যানেল শো সেট করা হচ্ছে, দয়া করে ম্যানুয়ালি সংশোধন করুন', +}; diff --git a/admin-v5/src/locales/bn-BD/settings.ts b/admin-v5/src/locales/bn-BD/settings.ts new file mode 100644 index 0000000..93cf904 --- /dev/null +++ b/admin-v5/src/locales/bn-BD/settings.ts @@ -0,0 +1,59 @@ +export default { + 'app.settings.menuMap.basic': 'মৌলিক বৈশিষ্ট্যসহ', + 'app.settings.menuMap.security': 'নিরাপত্তা বিন্যাস', + 'app.settings.menuMap.binding': 'অ্যাকাউন্ট বাঁধাই', + 'app.settings.menuMap.notification': 'নতুন বার্তা বিজ্ঞপ্তি', + 'app.settings.basic.avatar': 'অবতার', + 'app.settings.basic.change-avatar': 'অবতার পরিবর্তন করুন', + 'app.settings.basic.email': 'ইমেইল', + 'app.settings.basic.email-message': 'আপনার ইমেইল ইনপুট করুন!', + 'app.settings.basic.nickname': 'ডাক নাম', + 'app.settings.basic.nickname-message': 'আপনার ডাকনামটি ইনপুট করুন!', + 'app.settings.basic.profile': 'ব্যক্তিগত প্রোফাইল', + 'app.settings.basic.profile-message': 'আপনার ব্যক্তিগত প্রোফাইল ইনপুট করুন!', + 'app.settings.basic.profile-placeholder': 'নিজের সাথে সংক্ষিপ্ত পরিচয়', + 'app.settings.basic.country': 'দেশ/অঞ্চল', + 'app.settings.basic.country-message': 'আপনার দেশ ইনপুট করুন!', + 'app.settings.basic.geographic': 'প্রদেশ বা শহর', + 'app.settings.basic.geographic-message': 'আপনার ভৌগলিক তথ্য ইনপুট করুন!', + 'app.settings.basic.address': 'রাস্তার ঠিকানা', + 'app.settings.basic.address-message': 'দয়া করে আপনার ঠিকানা ইনপুট করুন!', + 'app.settings.basic.phone': 'ফোন নম্বর', + 'app.settings.basic.phone-message': 'আপনার ফোন ইনপুট করুন!', + 'app.settings.basic.update': 'তথ্য হালনাগাদ', + 'app.settings.security.strong': 'শক্তিশালী', + 'app.settings.security.medium': 'মধ্যম', + 'app.settings.security.weak': 'দুর্বল', + 'app.settings.security.password': 'অ্যাকাউন্টের পাসওয়ার্ড', + 'app.settings.security.password-description': 'বর্তমান পাসওয়ার্ড শক্তি', + 'app.settings.security.phone': 'সুরক্ষা ফোন', + 'app.settings.security.phone-description': 'আবদ্ধ ফোন', + 'app.settings.security.question': 'নিরাপত্তা প্রশ্ন', + 'app.settings.security.question-description': + 'সুরক্ষা প্রশ্ন সেট করা নেই, এবং সুরক্ষা নীতি কার্যকরভাবে অ্যাকাউন্ট সুরক্ষা রক্ষা করতে পারে', + 'app.settings.security.email': 'ব্যাকআপ ইমেইল', + 'app.settings.security.email-description': 'বাউন্ড ইমেইল', + 'app.settings.security.mfa': 'MFA ডিভাইস', + 'app.settings.security.mfa-description': + "আনবাউন্ড এমএফএ ডিভাইস, বাঁধাইয়ের পরে, দু'বার নিশ্চিত করা যায়", + 'app.settings.security.modify': 'পরিবর্তন করুন', + 'app.settings.security.set': 'সেট', + 'app.settings.security.bind': 'বাঁধাই', + 'app.settings.binding.taobao': 'বাঁধাই তাওবাও', + 'app.settings.binding.taobao-description': 'বর্তমানে আনবাউন্ড তাওবাও অ্যাকাউন্ট', + 'app.settings.binding.alipay': 'বাইন্ডিং আলিপে', + 'app.settings.binding.alipay-description': 'বর্তমানে আনবাউন্ড আলিপে অ্যাকাউন্ট', + 'app.settings.binding.dingding': 'বাঁধাই ডিঙ্গটালক', + 'app.settings.binding.dingding-description': 'বর্তমানে আনবাউন্ড ডিঙ্গটাল অ্যাকাউন্ট', + 'app.settings.binding.bind': 'বাঁধাই', + 'app.settings.notification.password': 'অ্যাকাউন্টের পাসওয়ার্ড', + 'app.settings.notification.password-description': + 'অন্যান্য ব্যবহারকারীর বার্তাগুলি স্টেশন চিঠি আকারে জানানো হবে', + 'app.settings.notification.messages': 'সিস্টেম বার্তা', + 'app.settings.notification.messages-description': + 'সিস্টেম বার্তাগুলি স্টেশন চিঠির আকারে জানানো হবে', + 'app.settings.notification.todo': 'করণীয় বিজ্ঞপ্তি', + 'app.settings.notification.todo-description': 'করণীয় তালিকাটি স্টেশন থেকে চিঠি আকারে জানানো হবে', + 'app.settings.open': 'খোলা', + 'app.settings.close': 'বন্ধ', +}; diff --git a/admin-v5/src/locales/en-US.ts b/admin-v5/src/locales/en-US.ts new file mode 100644 index 0000000..acb0f42 --- /dev/null +++ b/admin-v5/src/locales/en-US.ts @@ -0,0 +1,25 @@ +import component from './en-US/component'; +import globalHeader from './en-US/globalHeader'; +import menu from './en-US/menu'; +import pages from './en-US/pages'; +import pwa from './en-US/pwa'; +import settingDrawer from './en-US/settingDrawer'; +import settings from './en-US/settings'; + +export default { + 'navBar.lang': 'Languages', + 'layout.user.link.help': 'Help', + 'layout.user.link.privacy': 'Privacy', + 'layout.user.link.terms': 'Terms', + 'app.copyright.produced': 'Produced by Ant Financial Experience Department', + 'app.preview.down.block': 'Download this page to your local project', + 'app.welcome.link.fetch-blocks': 'Get all block', + 'app.welcome.link.block-list': 'Quickly build standard, pages based on `block` development', + ...globalHeader, + ...menu, + ...settingDrawer, + ...settings, + ...pwa, + ...component, + ...pages, +}; diff --git a/admin-v5/src/locales/en-US/component.ts b/admin-v5/src/locales/en-US/component.ts new file mode 100644 index 0000000..3ba7eed --- /dev/null +++ b/admin-v5/src/locales/en-US/component.ts @@ -0,0 +1,5 @@ +export default { + 'component.tagSelect.expand': 'Expand', + 'component.tagSelect.collapse': 'Collapse', + 'component.tagSelect.all': 'All', +}; diff --git a/admin-v5/src/locales/en-US/globalHeader.ts b/admin-v5/src/locales/en-US/globalHeader.ts new file mode 100644 index 0000000..60b6d4e --- /dev/null +++ b/admin-v5/src/locales/en-US/globalHeader.ts @@ -0,0 +1,17 @@ +export default { + 'component.globalHeader.search': 'Search', + 'component.globalHeader.search.example1': 'Search example 1', + 'component.globalHeader.search.example2': 'Search example 2', + 'component.globalHeader.search.example3': 'Search example 3', + 'component.globalHeader.help': 'Help', + 'component.globalHeader.notification': 'Notification', + 'component.globalHeader.notification.empty': 'You have viewed all notifications.', + 'component.globalHeader.message': 'Message', + 'component.globalHeader.message.empty': 'You have viewed all messsages.', + 'component.globalHeader.event': 'Event', + 'component.globalHeader.event.empty': 'You have viewed all events.', + 'component.noticeIcon.clear': 'Clear', + 'component.noticeIcon.cleared': 'Cleared', + 'component.noticeIcon.empty': 'No notifications', + 'component.noticeIcon.view-more': 'View more', +}; diff --git a/admin-v5/src/locales/en-US/menu.ts b/admin-v5/src/locales/en-US/menu.ts new file mode 100644 index 0000000..eae3e53 --- /dev/null +++ b/admin-v5/src/locales/en-US/menu.ts @@ -0,0 +1,52 @@ +export default { + 'menu.welcome': 'Welcome', + 'menu.more-blocks': 'More Blocks', + 'menu.home': 'Home', + 'menu.admin': 'Admin', + 'menu.admin.sub-page': 'Sub-Page', + 'menu.login': 'Login', + 'menu.register': 'Register', + 'menu.register-result': 'Register Result', + 'menu.dashboard': 'Dashboard', + 'menu.dashboard.analysis': 'Analysis', + 'menu.dashboard.monitor': 'Monitor', + 'menu.dashboard.workplace': 'Workplace', + 'menu.exception.403': '403', + 'menu.exception.404': '404', + 'menu.exception.500': '500', + 'menu.form': 'Form', + 'menu.form.basic-form': 'Basic Form', + 'menu.form.step-form': 'Step Form', + 'menu.form.step-form.info': 'Step Form(write transfer information)', + 'menu.form.step-form.confirm': 'Step Form(confirm transfer information)', + 'menu.form.step-form.result': 'Step Form(finished)', + 'menu.form.advanced-form': 'Advanced Form', + 'menu.list': 'List', + 'menu.list.table-list': 'Search Table', + 'menu.list.basic-list': 'Basic List', + 'menu.list.card-list': 'Card List', + 'menu.list.search-list': 'Search List', + 'menu.list.search-list.articles': 'Search List(articles)', + 'menu.list.search-list.projects': 'Search List(projects)', + 'menu.list.search-list.applications': 'Search List(applications)', + 'menu.profile': 'Profile', + 'menu.profile.basic': 'Basic Profile', + 'menu.profile.advanced': 'Advanced Profile', + 'menu.result': 'Result', + 'menu.result.success': 'Success', + 'menu.result.fail': 'Fail', + 'menu.exception': 'Exception', + 'menu.exception.not-permission': '403', + 'menu.exception.not-find': '404', + 'menu.exception.server-error': '500', + 'menu.exception.trigger': 'Trigger', + 'menu.account': 'Account', + 'menu.account.center': 'Account Center', + 'menu.account.settings': 'Account Settings', + 'menu.account.trigger': 'Trigger Error', + 'menu.account.logout': 'Logout', + 'menu.editor': 'Graphic Editor', + 'menu.editor.flow': 'Flow Editor', + 'menu.editor.mind': 'Mind Editor', + 'menu.editor.koni': 'Koni Editor', +}; diff --git a/admin-v5/src/locales/en-US/pages.ts b/admin-v5/src/locales/en-US/pages.ts new file mode 100644 index 0000000..3d61742 --- /dev/null +++ b/admin-v5/src/locales/en-US/pages.ts @@ -0,0 +1,70 @@ +export default { + 'pages.layouts.userLayout.title': + 'Ant Design is the most influential web design specification in Xihu district', + 'pages.login.accountLogin.tab': 'Account Login', + 'pages.login.accountLogin.errorMessage': 'Incorrect username/password(admin/ant.design)', + 'pages.login.failure': 'Login failed, please try again!', + 'pages.login.success': 'Login successful!', + 'pages.login.username.placeholder': 'Username: admin or user', + 'pages.login.username.required': 'Please input your username!', + 'pages.login.password.placeholder': 'Password: ant.design', + 'pages.login.password.required': 'Please input your password!', + 'pages.login.phoneLogin.tab': 'Phone Login', + 'pages.login.phoneLogin.errorMessage': 'Verification Code Error', + 'pages.login.phoneNumber.placeholder': 'Phone Number', + 'pages.login.phoneNumber.required': 'Please input your phone number!', + 'pages.login.phoneNumber.invalid': 'Phone number is invalid!', + 'pages.login.captcha.placeholder': 'Verification Code', + 'pages.login.captcha.required': 'Please input verification code!', + 'pages.login.phoneLogin.getVerificationCode': 'Get Code', + 'pages.getCaptchaSecondText': 'sec(s)', + 'pages.login.rememberMe': 'Remember me', + 'pages.login.forgotPassword': 'Forgot Password ?', + 'pages.login.submit': 'Login', + 'pages.login.loginWith': 'Login with :', + 'pages.login.registerAccount': 'Register Account', + 'pages.welcome.advancedComponent': 'Advanced Component', + 'pages.welcome.link': 'Welcome', + 'pages.welcome.advancedLayout': 'Advanced Layout', + 'pages.welcome.alertMessage': 'Faster and stronger heavy-duty components have been released.', + 'pages.admin.subPage.title': 'This page can only be viewed by Admin', + 'pages.admin.subPage.alertMessage': + 'Umi ui is now released, welcome to use npm run ui to start the experience.', + 'pages.searchTable.createForm.newRule': 'New Rule', + 'pages.searchTable.updateForm.ruleConfig': 'Rule configuration', + 'pages.searchTable.updateForm.basicConfig': 'Basic Information', + 'pages.searchTable.updateForm.ruleName.nameLabel': 'Rule Name', + 'pages.searchTable.updateForm.ruleName.nameRules': 'Please enter the rule name!', + 'pages.searchTable.updateForm.ruleDesc.descLabel': 'Rule Description', + 'pages.searchTable.updateForm.ruleDesc.descPlaceholder': 'Please enter at least five characters', + 'pages.searchTable.updateForm.ruleDesc.descRules': + 'Please enter a rule description of at least five characters!', + 'pages.searchTable.updateForm.ruleProps.title': 'Configure Properties', + 'pages.searchTable.updateForm.object': 'Monitoring Object', + 'pages.searchTable.updateForm.ruleProps.templateLabel': 'Rule Template', + 'pages.searchTable.updateForm.ruleProps.typeLabel': 'Rule Type', + 'pages.searchTable.updateForm.schedulingPeriod.title': 'Set Scheduling Period', + 'pages.searchTable.updateForm.schedulingPeriod.timeLabel': 'Starting Time', + 'pages.searchTable.updateForm.schedulingPeriod.timeRules': 'Please choose a start time!', + 'pages.searchTable.titleDesc': 'Description', + 'pages.searchTable.ruleName': 'Rule name is required', + 'pages.searchTable.titleCallNo': 'Number of Service Calls', + 'pages.searchTable.titleStatus': 'Status', + 'pages.searchTable.nameStatus.default': 'default', + 'pages.searchTable.nameStatus.running': 'running', + 'pages.searchTable.nameStatus.online': 'online', + 'pages.searchTable.nameStatus.abnormal': 'abnormal', + 'pages.searchTable.titleUpdatedAt': 'Last Scheduled at', + 'pages.searchTable.exception': 'Please enter the reason for the exception!', + 'pages.searchTable.titleOption': 'Option', + 'pages.searchTable.config': 'Configuration', + 'pages.searchTable.subscribeAlert': 'Subscribe to alerts', + 'pages.searchTable.title': 'Enquiry Form', + 'pages.searchTable.new': 'New', + 'pages.searchTable.chosen': 'chosen', + 'pages.searchTable.item': 'item', + 'pages.searchTable.totalServiceCalls': 'Total Number of Service Calls', + 'pages.searchTable.tenThousand': '0000', + 'pages.searchTable.batchDeletion': 'bacth deletion', + 'pages.searchTable.batchApproval': 'batch approval', +}; diff --git a/admin-v5/src/locales/en-US/pwa.ts b/admin-v5/src/locales/en-US/pwa.ts new file mode 100644 index 0000000..ed8d199 --- /dev/null +++ b/admin-v5/src/locales/en-US/pwa.ts @@ -0,0 +1,6 @@ +export default { + 'app.pwa.offline': 'You are offline now', + 'app.pwa.serviceworker.updated': 'New content is available', + 'app.pwa.serviceworker.updated.hint': 'Please press the "Refresh" button to reload current page', + 'app.pwa.serviceworker.updated.ok': 'Refresh', +}; diff --git a/admin-v5/src/locales/en-US/settingDrawer.ts b/admin-v5/src/locales/en-US/settingDrawer.ts new file mode 100644 index 0000000..a644905 --- /dev/null +++ b/admin-v5/src/locales/en-US/settingDrawer.ts @@ -0,0 +1,31 @@ +export default { + 'app.setting.pagestyle': 'Page style setting', + 'app.setting.pagestyle.dark': 'Dark style', + 'app.setting.pagestyle.light': 'Light style', + 'app.setting.content-width': 'Content Width', + 'app.setting.content-width.fixed': 'Fixed', + 'app.setting.content-width.fluid': 'Fluid', + 'app.setting.themecolor': 'Theme Color', + 'app.setting.themecolor.dust': 'Dust Red', + 'app.setting.themecolor.volcano': 'Volcano', + 'app.setting.themecolor.sunset': 'Sunset Orange', + 'app.setting.themecolor.cyan': 'Cyan', + 'app.setting.themecolor.green': 'Polar Green', + 'app.setting.themecolor.daybreak': 'Daybreak Blue (default)', + 'app.setting.themecolor.geekblue': 'Geek Glue', + 'app.setting.themecolor.purple': 'Golden Purple', + 'app.setting.navigationmode': 'Navigation Mode', + 'app.setting.sidemenu': 'Side Menu Layout', + 'app.setting.topmenu': 'Top Menu Layout', + 'app.setting.fixedheader': 'Fixed Header', + 'app.setting.fixedsidebar': 'Fixed Sidebar', + 'app.setting.fixedsidebar.hint': 'Works on Side Menu Layout', + 'app.setting.hideheader': 'Hidden Header when scrolling', + 'app.setting.hideheader.hint': 'Works when Hidden Header is enabled', + 'app.setting.othersettings': 'Other Settings', + 'app.setting.weakmode': 'Weak Mode', + 'app.setting.copy': 'Copy Setting', + 'app.setting.copyinfo': 'copy success,please replace defaultSettings in src/models/setting.js', + 'app.setting.production.hint': + 'Setting panel shows in development environment only, please manually modify', +}; diff --git a/admin-v5/src/locales/en-US/settings.ts b/admin-v5/src/locales/en-US/settings.ts new file mode 100644 index 0000000..822dd00 --- /dev/null +++ b/admin-v5/src/locales/en-US/settings.ts @@ -0,0 +1,60 @@ +export default { + 'app.settings.menuMap.basic': 'Basic Settings', + 'app.settings.menuMap.security': 'Security Settings', + 'app.settings.menuMap.binding': 'Account Binding', + 'app.settings.menuMap.notification': 'New Message Notification', + 'app.settings.basic.avatar': 'Avatar', + 'app.settings.basic.change-avatar': 'Change avatar', + 'app.settings.basic.email': 'Email', + 'app.settings.basic.email-message': 'Please input your email!', + 'app.settings.basic.nickname': 'Nickname', + 'app.settings.basic.nickname-message': 'Please input your Nickname!', + 'app.settings.basic.profile': 'Personal profile', + 'app.settings.basic.profile-message': 'Please input your personal profile!', + 'app.settings.basic.profile-placeholder': 'Brief introduction to yourself', + 'app.settings.basic.country': 'Country/Region', + 'app.settings.basic.country-message': 'Please input your country!', + 'app.settings.basic.geographic': 'Province or city', + 'app.settings.basic.geographic-message': 'Please input your geographic info!', + 'app.settings.basic.address': 'Street Address', + 'app.settings.basic.address-message': 'Please input your address!', + 'app.settings.basic.phone': 'Phone Number', + 'app.settings.basic.phone-message': 'Please input your phone!', + 'app.settings.basic.update': 'Update Information', + 'app.settings.security.strong': 'Strong', + 'app.settings.security.medium': 'Medium', + 'app.settings.security.weak': 'Weak', + 'app.settings.security.password': 'Account Password', + 'app.settings.security.password-description': 'Current password strength', + 'app.settings.security.phone': 'Security Phone', + 'app.settings.security.phone-description': 'Bound phone', + 'app.settings.security.question': 'Security Question', + 'app.settings.security.question-description': + 'The security question is not set, and the security policy can effectively protect the account security', + 'app.settings.security.email': 'Backup Email', + 'app.settings.security.email-description': 'Bound Email', + 'app.settings.security.mfa': 'MFA Device', + 'app.settings.security.mfa-description': + 'Unbound MFA device, after binding, can be confirmed twice', + 'app.settings.security.modify': 'Modify', + 'app.settings.security.set': 'Set', + 'app.settings.security.bind': 'Bind', + 'app.settings.binding.taobao': 'Binding Taobao', + 'app.settings.binding.taobao-description': 'Currently unbound Taobao account', + 'app.settings.binding.alipay': 'Binding Alipay', + 'app.settings.binding.alipay-description': 'Currently unbound Alipay account', + 'app.settings.binding.dingding': 'Binding DingTalk', + 'app.settings.binding.dingding-description': 'Currently unbound DingTalk account', + 'app.settings.binding.bind': 'Bind', + 'app.settings.notification.password': 'Account Password', + 'app.settings.notification.password-description': + 'Messages from other users will be notified in the form of a station letter', + 'app.settings.notification.messages': 'System Messages', + 'app.settings.notification.messages-description': + 'System messages will be notified in the form of a station letter', + 'app.settings.notification.todo': 'To-do Notification', + 'app.settings.notification.todo-description': + 'The to-do list will be notified in the form of a letter from the station', + 'app.settings.open': 'Open', + 'app.settings.close': 'Close', +}; diff --git a/admin-v5/src/locales/fa-IR.ts b/admin-v5/src/locales/fa-IR.ts new file mode 100644 index 0000000..9844578 --- /dev/null +++ b/admin-v5/src/locales/fa-IR.ts @@ -0,0 +1,24 @@ +import component from './fa-IR/component'; +import globalHeader from './fa-IR/globalHeader'; +import menu from './fa-IR/menu'; +import pwa from './fa-IR/pwa'; +import settingDrawer from './fa-IR/settingDrawer'; +import settings from './fa-IR/settings'; +import pages from './fa-IR/pages'; + +export default { + 'navBar.lang': 'زبان ها ', + 'layout.user.link.help': 'کمک', + 'layout.user.link.privacy': 'حریم خصوصی', + 'layout.user.link.terms': 'مقررات', + 'app.preview.down.block': 'این صفحه را در پروژه محلی خود بارگیری کنید', + 'app.welcome.link.fetch-blocks': 'دریافت تمام بلوک', + 'app.welcome.link.block-list': 'به سرعت صفحات استاندارد مبتنی بر توسعه "بلوک" را بسازید', + ...globalHeader, + ...menu, + ...settingDrawer, + ...settings, + ...pwa, + ...component, + ...pages, +}; diff --git a/admin-v5/src/locales/fa-IR/component.ts b/admin-v5/src/locales/fa-IR/component.ts new file mode 100644 index 0000000..91e7a05 --- /dev/null +++ b/admin-v5/src/locales/fa-IR/component.ts @@ -0,0 +1,5 @@ +export default { + 'component.tagSelect.expand': 'باز', + 'component.tagSelect.collapse': 'بسته ', + 'component.tagSelect.all': 'همه', +}; diff --git a/admin-v5/src/locales/fa-IR/globalHeader.ts b/admin-v5/src/locales/fa-IR/globalHeader.ts new file mode 100644 index 0000000..1a92fbb --- /dev/null +++ b/admin-v5/src/locales/fa-IR/globalHeader.ts @@ -0,0 +1,17 @@ +export default { + 'component.globalHeader.search': 'جستجو ', + 'component.globalHeader.search.example1': 'مثال 1 را جستجو کنید', + 'component.globalHeader.search.example2': 'مثال 2 را جستجو کنید', + 'component.globalHeader.search.example3': 'مثال 3 را جستجو کنید', + 'component.globalHeader.help': 'کمک', + 'component.globalHeader.notification': 'اعلان', + 'component.globalHeader.notification.empty': 'شما همه اعلان ها را مشاهده کرده اید.', + 'component.globalHeader.message': 'پیام', + 'component.globalHeader.message.empty': 'شما همه پیام ها را مشاهده کرده اید.', + 'component.globalHeader.event': 'رویداد', + 'component.globalHeader.event.empty': 'شما همه رویدادها را مشاهده کرده اید.', + 'component.noticeIcon.clear': 'پاک کردن', + 'component.noticeIcon.cleared': 'پاک شد', + 'component.noticeIcon.empty': 'بدون اعلان', + 'component.noticeIcon.view-more': 'نمایش بیشتر', +}; diff --git a/admin-v5/src/locales/fa-IR/menu.ts b/admin-v5/src/locales/fa-IR/menu.ts new file mode 100644 index 0000000..c67e003 --- /dev/null +++ b/admin-v5/src/locales/fa-IR/menu.ts @@ -0,0 +1,52 @@ +export default { + 'menu.welcome': 'خوش آمدید', + 'menu.more-blocks': 'بلوک های بیشتر', + 'menu.home': 'خانه', + 'menu.admin': 'مدیر', + 'menu.admin.sub-page': 'زیر صفحه', + 'menu.login': 'ورود', + 'menu.register': 'ثبت نام', + 'menu.register-result': 'ثبت نام نتیجه', + 'menu.dashboard': 'داشبورد', + 'menu.dashboard.analysis': 'تحلیل و بررسی', + 'menu.dashboard.monitor': 'نظارت', + 'menu.dashboard.workplace': 'محل کار', + 'menu.exception.403': '403', + 'menu.exception.404': '404', + 'menu.exception.500': '500', + 'menu.form': 'فرم', + 'menu.form.basic-form': 'فرم اساسی', + 'menu.form.step-form': 'فرم مرحله', + 'menu.form.step-form.info': 'فرم مرحله (نوشتن اطلاعات انتقال)', + 'menu.form.step-form.confirm': 'فرم مرحله (تأیید اطلاعات انتقال)', + 'menu.form.step-form.result': 'فرم مرحله (تمام شده)', + 'menu.form.advanced-form': 'فرم پیشرفته', + 'menu.list': 'لیست', + 'menu.list.table-list': 'جدول جستجو', + 'menu.list.basic-list': 'لیست اصلی', + 'menu.list.card-list': 'لیست کارت', + 'menu.list.search-list': 'لیست جستجو', + 'menu.list.search-list.articles': 'لیست جستجو (مقالات)', + 'menu.list.search-list.projects': 'لیست جستجو (پروژه ها)', + 'menu.list.search-list.applications': 'لیست جستجو (برنامه ها)', + 'menu.profile': 'مشخصات', + 'menu.profile.basic': 'مشخصات عمومی', + 'menu.profile.advanced': 'مشخصات پیشرفته', + 'menu.result': 'نتیجه', + 'menu.result.success': 'موفق', + 'menu.result.fail': 'ناموفق', + 'menu.exception': 'استثنا', + 'menu.exception.not-permission': '403', + 'menu.exception.not-find': '404', + 'menu.exception.server-error': '500', + 'menu.exception.trigger': 'راه اندازی', + 'menu.account': 'حساب', + 'menu.account.center': 'مرکز حساب', + 'menu.account.settings': 'تنظیمات حساب', + 'menu.account.trigger': 'خطای راه اندازی', + 'menu.account.logout': 'خروج', + 'menu.editor': 'ویرایشگر گرافیک', + 'menu.editor.flow': 'ویرایشگر جریان', + 'menu.editor.mind': 'ویرایشگر ذهن', + 'menu.editor.koni': 'ویرایشگر Koni', +}; diff --git a/admin-v5/src/locales/fa-IR/pages.ts b/admin-v5/src/locales/fa-IR/pages.ts new file mode 100644 index 0000000..d2782d3 --- /dev/null +++ b/admin-v5/src/locales/fa-IR/pages.ts @@ -0,0 +1,67 @@ +export default { + 'pages.layouts.userLayout.title': 'طراحی مورچه تأثیرگذارترین مشخصات طراحی وب در منطقه Xihu است', + 'pages.login.accountLogin.tab': 'ورود به حساب کاربری', + 'pages.login.accountLogin.errorMessage': 'نام کاربری / رمزعبور نادرست (مدیر / ant.design)', + 'pages.login.username.placeholder': 'نام کاربری: مدیر یا کاربر', + 'pages.login.username.required': 'لطفا نام کاربری خود را وارد کنید!', + 'pages.login.password.placeholder': 'رمز عبور: ant.design', + 'pages.login.password.required': 'لطفاً رمز ورود خود را وارد کنید!', + 'pages.login.phoneLogin.tab': 'ورود به سیستم تلفن', + 'pages.login.phoneLogin.errorMessage': 'خطای کد تأیید', + 'pages.login.phoneNumber.placeholder': 'شماره تلفن', + 'pages.login.phoneNumber.required': 'لطفاً شماره تلفن خود را وارد کنید!', + 'pages.login.phoneNumber.invalid': 'شماره تلفن نامعتبر است!', + 'pages.login.captcha.placeholder': 'کد تایید', + 'pages.login.captcha.required': 'لطفا کد تأیید را وارد کنید!', + 'pages.login.phoneLogin.getVerificationCode': 'دریافت کد', + 'pages.getCaptchaSecondText': 'ثانیه', + 'pages.login.rememberMe': 'مرا به خاطر بسپار', + 'pages.login.forgotPassword': 'رمز عبور را فراموش کرده اید ?', + 'pages.login.submit': 'ارسال', + 'pages.login.loginWith': 'وارد شوید با :', + 'pages.login.registerAccount': 'ثبت نام', + 'pages.welcome.advancedComponent': 'مولفه پیشرفته', + 'pages.welcome.link': 'خوش آمدید', + 'pages.welcome.advancedLayout': 'چیدمان پیشرفته', + 'pages.welcome.alertMessage': 'اجزای سنگین تر سریعتر و قوی تر آزاد شده اند.', + 'pages.admin.subPage.title': 'این صفحه فقط توسط مدیر قابل مشاهده است', + 'pages.admin.subPage.alertMessage': + 'رابط کاربری Umi اکنون منتشر شده است ، برای شروع تجربه استفاده از npm run ui خوش آمدید.', + 'pages.searchTable.createForm.newRule': 'قانون جدید', + 'pages.searchTable.updateForm.ruleConfig': 'پیکربندی قانون', + 'pages.searchTable.updateForm.basicConfig': 'اطلاعات اولیه', + 'pages.searchTable.updateForm.ruleName.nameLabel': ' نام قانون', + 'pages.searchTable.updateForm.ruleName.nameRules': 'لطفاً نام قانون را وارد کنید!', + 'pages.searchTable.updateForm.ruleDesc.descLabel': 'شرح قانون', + 'pages.searchTable.updateForm.ruleDesc.descPlaceholder': 'لطفاً حداقل پنج حرف وارد کنید', + 'pages.searchTable.updateForm.ruleDesc.descRules': + 'لطفاً حداقل یک قانون حاوی پنج کاراکتر شرح دهید!', + 'pages.searchTable.updateForm.ruleProps.title': 'پیکربندی خصوصیات', + 'pages.searchTable.updateForm.object': 'نظارت بر شی', + 'pages.searchTable.updateForm.ruleProps.templateLabel': 'الگوی قانون', + 'pages.searchTable.updateForm.ruleProps.typeLabel': 'نوع قانون', + 'pages.searchTable.updateForm.schedulingPeriod.title': 'تنظیم دوره زمان بندی', + 'pages.searchTable.updateForm.schedulingPeriod.timeLabel': 'زمان شروع', + 'pages.searchTable.updateForm.schedulingPeriod.timeRules': 'لطفاً زمان شروع را انتخاب کنید!', + 'pages.searchTable.titleDesc': 'شرح', + 'pages.searchTable.ruleName': 'نام قانون لازم است', + 'pages.searchTable.titleCallNo': 'تعداد تماس های خدماتی', + 'pages.searchTable.titleStatus': 'وضعیت', + 'pages.searchTable.nameStatus.default': 'پیش فرض', + 'pages.searchTable.nameStatus.running': 'در حال دویدن', + 'pages.searchTable.nameStatus.online': 'برخط', + 'pages.searchTable.nameStatus.abnormal': 'غیرطبیعی', + 'pages.searchTable.titleUpdatedAt': 'آخرین برنامه ریزی در', + 'pages.searchTable.exception': 'لطفا دلیل استثنا را وارد کنید!', + 'pages.searchTable.titleOption': 'گزینه', + 'pages.searchTable.config': 'پیکربندی', + 'pages.searchTable.subscribeAlert': 'مشترک شدن در هشدارها', + 'pages.searchTable.title': 'فرم درخواست', + 'pages.searchTable.new': 'جدید', + 'pages.searchTable.chosen': 'انتخاب شده', + 'pages.searchTable.item': 'مورد', + 'pages.searchTable.totalServiceCalls': 'تعداد کل تماس های خدماتی', + 'pages.searchTable.tenThousand': '0000', + 'pages.searchTable.batchDeletion': 'حذف دسته ای', + 'pages.searchTable.batchApproval': 'تصویب دسته ای', +}; diff --git a/admin-v5/src/locales/fa-IR/pwa.ts b/admin-v5/src/locales/fa-IR/pwa.ts new file mode 100644 index 0000000..54831b4 --- /dev/null +++ b/admin-v5/src/locales/fa-IR/pwa.ts @@ -0,0 +1,7 @@ +export default { + 'app.pwa.offline': 'شما اکنون آفلاین هستید', + 'app.pwa.serviceworker.updated': 'مطالب جدید در دسترس است', + 'app.pwa.serviceworker.updated.hint': + 'لطفاً برای بارگیری مجدد صفحه فعلی ، دکمه "تازه سازی" را فشار دهید', + 'app.pwa.serviceworker.updated.ok': 'تازه سازی', +}; diff --git a/admin-v5/src/locales/fa-IR/settingDrawer.ts b/admin-v5/src/locales/fa-IR/settingDrawer.ts new file mode 100644 index 0000000..cb223d5 --- /dev/null +++ b/admin-v5/src/locales/fa-IR/settingDrawer.ts @@ -0,0 +1,32 @@ +export default { + 'app.setting.pagestyle': 'تنظیم نوع صفحه', + 'app.setting.pagestyle.dark': 'سبک تیره', + 'app.setting.pagestyle.light': 'سبک سبک', + 'app.setting.content-width': 'عرض محتوا', + 'app.setting.content-width.fixed': 'ثابت', + 'app.setting.content-width.fluid': 'شناور', + 'app.setting.themecolor': 'رنگ تم', + 'app.setting.themecolor.dust': 'گرد و غبار قرمز', + 'app.setting.themecolor.volcano': 'آتشفشان', + 'app.setting.themecolor.sunset': 'غروب نارنجی', + 'app.setting.themecolor.cyan': 'فیروزه ای', + 'app.setting.themecolor.green': 'سبز قطبی', + 'app.setting.themecolor.daybreak': 'آبی روشن(پیشفرض)', + 'app.setting.themecolor.geekblue': 'چسب گیک', + 'app.setting.themecolor.purple': 'بنفش طلایی', + 'app.setting.navigationmode': 'حالت پیمایش', + 'app.setting.sidemenu': 'طرح منوی کناری', + 'app.setting.topmenu': 'طرح منوی بالایی', + 'app.setting.fixedheader': 'سرصفحه ثابت', + 'app.setting.fixedsidebar': 'نوار کناری ثابت', + 'app.setting.fixedsidebar.hint': 'کار بر روی منوی کناری', + 'app.setting.hideheader': 'هدر پنهان هنگام پیمایش', + 'app.setting.hideheader.hint': 'وقتی Hidden Header فعال باشد کار می کند', + 'app.setting.othersettings': 'تنظیمات دیگر', + 'app.setting.weakmode': 'حالت ضعیف', + 'app.setting.copy': 'تنظیمات کپی', + 'app.setting.copyinfo': + 'موفقیت در کپی کردن , لطفا defaultSettings را در src / models / setting.js جایگزین کنید', + 'app.setting.production.hint': + 'صفحه تنظیم فقط در محیط توسعه نمایش داده می شود ، لطفاً دستی تغییر دهید', +}; diff --git a/admin-v5/src/locales/fa-IR/settings.ts b/admin-v5/src/locales/fa-IR/settings.ts new file mode 100644 index 0000000..040bc31 --- /dev/null +++ b/admin-v5/src/locales/fa-IR/settings.ts @@ -0,0 +1,60 @@ +export default { + 'app.settings.menuMap.basic': 'تنظیمات پایه ', + 'app.settings.menuMap.security': 'تنظیمات امنیتی', + 'app.settings.menuMap.binding': 'صحافی حساب', + 'app.settings.menuMap.notification': 'اعلان پیام جدید', + 'app.settings.basic.avatar': 'آواتار', + 'app.settings.basic.change-avatar': 'آواتار را تغییر دهید', + 'app.settings.basic.email': 'ایمیل', + 'app.settings.basic.email-message': 'لطفا ایمیل خود را وارد کنید!', + 'app.settings.basic.nickname': 'نام مستعار', + 'app.settings.basic.nickname-message': 'لطفاً نام مستعار خود را وارد کنید!', + 'app.settings.basic.profile': 'پروفایل شخصی', + 'app.settings.basic.profile-message': 'لطفاً مشخصات شخصی خود را وارد کنید!', + 'app.settings.basic.profile-placeholder': 'معرفی مختصر خودتان', + 'app.settings.basic.country': 'کشور / منطقه', + 'app.settings.basic.country-message': 'لطفاً کشور خود را وارد کنید!', + 'app.settings.basic.geographic': 'استان یا شهر', + 'app.settings.basic.geographic-message': 'لطفاً اطلاعات جغرافیایی خود را وارد کنید!', + 'app.settings.basic.address': 'آدرس خیابان', + 'app.settings.basic.address-message': 'لطفا آدرس خود را وارد کنید!', + 'app.settings.basic.phone': 'شماره تلفن', + 'app.settings.basic.phone-message': 'لطفاً تلفن خود را وارد کنید!', + 'app.settings.basic.update': 'به روز رسانی اطلاعات', + 'app.settings.security.strong': 'قوی', + 'app.settings.security.medium': 'متوسط', + 'app.settings.security.weak': 'ضعیف', + 'app.settings.security.password': 'رمز عبور حساب کاربری', + 'app.settings.security.password-description': 'قدرت رمز عبور فعلی', + 'app.settings.security.phone': 'تلفن امنیتی', + 'app.settings.security.phone-description': 'تلفن مقید', + 'app.settings.security.question': 'سوال امنیتی', + 'app.settings.security.question-description': + 'سوال امنیتی تنظیم نشده است و سیاست امنیتی می تواند به طور موثر از امنیت حساب محافظت کند', + 'app.settings.security.email': 'ایمیل پشتیبان', + 'app.settings.security.email-description': 'ایمیل مقید', + 'app.settings.security.mfa': 'دستگاه MFA', + 'app.settings.security.mfa-description': + 'دستگاه MFA بسته نشده ، پس از اتصال ، می تواند دو بار تأیید شود', + 'app.settings.security.modify': 'تغییر', + 'app.settings.security.set': 'تنظیم', + 'app.settings.security.bind': 'بستن', + 'app.settings.binding.taobao': 'اتصال Taobao', + 'app.settings.binding.taobao-description': 'حساب Taobao در حال حاضر بسته نشده است', + 'app.settings.binding.alipay': 'اتصال Alipay', + 'app.settings.binding.alipay-description': 'حساب Alipay در حال حاضر بسته نشده است', + 'app.settings.binding.dingding': 'اتصال DingTalk', + 'app.settings.binding.dingding-description': 'حساب DingTalk در حال حاضر محدود نشده است', + 'app.settings.binding.bind': 'بستن', + 'app.settings.notification.password': 'رمز عبور حساب کاربری', + 'app.settings.notification.password-description': + 'پیام های سایر کاربران در قالب یک نامه ایستگاهی اعلام خواهد شد', + 'app.settings.notification.messages': 'پیام های سیستم', + 'app.settings.notification.messages-description': + 'پیام های سیستم به صورت نامه ایستگاه مطلع می شوند', + 'app.settings.notification.todo': 'اعلان کارها', + 'app.settings.notification.todo-description': + 'لیست کارها به صورت نامه ای از ایستگاه اطلاع داده می شود', + 'app.settings.open': 'باز کن', + 'app.settings.close': 'بستن', +}; diff --git a/admin-v5/src/locales/id-ID.ts b/admin-v5/src/locales/id-ID.ts new file mode 100644 index 0000000..79100d4 --- /dev/null +++ b/admin-v5/src/locales/id-ID.ts @@ -0,0 +1,25 @@ +import component from './id-ID/component'; +import globalHeader from './id-ID/globalHeader'; +import menu from './id-ID/menu'; +import pwa from './id-ID/pwa'; +import settingDrawer from './id-ID/settingDrawer'; +import settings from './id-ID/settings'; +import pages from './id-ID/pages'; + +export default { + 'navbar.lang': 'Bahasa', + 'layout.user.link.help': 'Bantuan', + 'layout.user.link.privacy': 'Privasi', + 'layout.user.link.terms': 'Ketentuan', + 'app.preview.down.block': 'Unduh halaman ini dalam projek lokal anda', + 'app.welcome.link.fetch-blocks': 'Dapatkan semua blok', + 'app.welcome.link.block-list': + 'Buat standar dengan cepat, halaman-halaman berdasarkan pengembangan `block`', + ...globalHeader, + ...menu, + ...settingDrawer, + ...settings, + ...pwa, + ...component, + ...pages, +}; diff --git a/admin-v5/src/locales/id-ID/component.ts b/admin-v5/src/locales/id-ID/component.ts new file mode 100644 index 0000000..fe583af --- /dev/null +++ b/admin-v5/src/locales/id-ID/component.ts @@ -0,0 +1,5 @@ +export default { + 'component.tagSelect.expand': 'Perluas', + 'component.tagSelect.collapse': 'Lipat', + 'component.tagSelect.all': 'Semua', +}; diff --git a/admin-v5/src/locales/id-ID/globalHeader.ts b/admin-v5/src/locales/id-ID/globalHeader.ts new file mode 100644 index 0000000..e6283ea --- /dev/null +++ b/admin-v5/src/locales/id-ID/globalHeader.ts @@ -0,0 +1,17 @@ +export default { + 'component.globalHeader.search': 'Pencarian', + 'component.globalHeader.search.example1': 'Contoh 1 Pencarian', + 'component.globalHeader.search.example2': 'Contoh 2 Pencarian', + 'component.globalHeader.search.example3': 'Contoh 3 Pencarian', + 'component.globalHeader.help': 'Bantuan', + 'component.globalHeader.notification': 'Notifikasi', + 'component.globalHeader.notification.empty': 'Anda telah membaca semua notifikasi', + 'component.globalHeader.message': 'Pesan', + 'component.globalHeader.message.empty': 'Anda telah membaca semua pesan.', + 'component.globalHeader.event': 'Acara', + 'component.globalHeader.event.empty': 'Anda telah melihat semua acara.', + 'component.noticeIcon.clear': 'Kosongkan', + 'component.noticeIcon.cleared': 'Berhasil dikosongkan', + 'component.noticeIcon.empty': 'Tidak ada pemberitahuan', + 'component.noticeIcon.view-more': 'Melihat lebih', +}; diff --git a/admin-v5/src/locales/id-ID/menu.ts b/admin-v5/src/locales/id-ID/menu.ts new file mode 100644 index 0000000..254ff44 --- /dev/null +++ b/admin-v5/src/locales/id-ID/menu.ts @@ -0,0 +1,52 @@ +export default { + 'menu.welcome': 'Selamat Datang', + 'menu.more-blocks': 'Blocks Lainnya', + 'menu.home': 'Halaman Awal', + 'menu.admin': 'Admin', + 'menu.admin.sub-page': 'Sub-Halaman', + 'menu.login': 'Masuk', + 'menu.register': 'Pendaftaran', + 'menu.register-result': 'Hasil Pendaftaran', + 'menu.dashboard': 'Dasbor', + 'menu.dashboard.analysis': 'Analisis', + 'menu.dashboard.monitor': 'Monitor', + 'menu.dashboard.workplace': 'Workplace', + 'menu.exception.403': '403', + 'menu.exception.404': '404', + 'menu.exception.500': '500', + 'menu.form': 'Form', + 'menu.form.basic-form': 'Form Dasar', + 'menu.form.step-form': 'Form Bertahap', + 'menu.form.step-form.info': 'Form Bertahap(menulis informasi yang dibagikan)', + 'menu.form.step-form.confirm': 'Form Bertahap(konfirmasi informasi yang dibagikan)', + 'menu.form.step-form.result': 'Form Bertahap(selesai)', + 'menu.form.advanced-form': 'Form Lanjutan', + 'menu.list': 'Daftar', + 'menu.list.table-list': 'Tabel Pencarian', + 'menu.list.basic-list': 'Daftar Dasar', + 'menu.list.card-list': 'Daftar Kartu', + 'menu.list.search-list': 'Daftar Pencarian', + 'menu.list.search-list.articles': 'Daftar Pencarian(artikel)', + 'menu.list.search-list.projects': 'Daftar Pencarian(projek)', + 'menu.list.search-list.applications': 'Daftar Pencarian(aplikasi)', + 'menu.profile': 'Profil', + 'menu.profile.basic': 'Profil Dasar', + 'menu.profile.advanced': 'Profile Lanjutan', + 'menu.result': 'Hasil', + 'menu.result.success': 'Sukses', + 'menu.result.fail': 'Gagal', + 'menu.exception': 'Pengecualian', + 'menu.exception.not-permission': '403', + 'menu.exception.not-find': '404', + 'menu.exception.server-error': '500', + 'menu.exception.trigger': 'Jalankan', + 'menu.account': 'Akun', + 'menu.account.center': 'Detail Akun', + 'menu.account.settings': 'Pengaturan Akun', + 'menu.account.trigger': 'Mengaktivasi Error', + 'menu.account.logout': 'Keluar', + 'menu.editor': 'Penyusun Grafis', + 'menu.editor.flow': 'Penyusun Alur', + 'menu.editor.mind': 'Penyusun Mind', + 'menu.editor.koni': 'Penyusun Koni', +}; diff --git a/admin-v5/src/locales/id-ID/pages.ts b/admin-v5/src/locales/id-ID/pages.ts new file mode 100644 index 0000000..ebae874 --- /dev/null +++ b/admin-v5/src/locales/id-ID/pages.ts @@ -0,0 +1,70 @@ +export default { + 'pages.layouts.userLayout.title': + 'Ant Design adalah spesifikasi desain Web yang paling berpengaruh di Kabupaten Xihu', + 'pages.login.accountLogin.tab': 'Login dengan akun', + 'pages.login.accountLogin.errorMessage': 'Nama pengguna dan kata sandi salah(admin/ant.design)', + 'pages.login.username.placeholder': 'nama pengguna: admin atau user', + 'pages.login.username.required': 'Nama pengguna harus diisi!', + 'pages.login.password.placeholder': 'kata sandi: ant.design', + 'pages.login.password.required': 'Kata sandi harus diisi!', + 'pages.login.phoneLogin.tab': 'Login dengan ponsel', + 'pages.login.phoneLogin.errorMessage': 'Kesalahan kode verifikasi', + 'pages.login.phoneNumber.placeholder': 'masukkan nomor telepon', + 'pages.login.phoneNumber.required': 'Nomor ponsel harus diisi!', + 'pages.login.phoneNumber.invalid': 'Nomor ponsel tidak valid!', + 'pages.login.captcha.placeholder': 'kode verifikasi', + 'pages.login.captcha.required': 'Kode verifikasi diperlukan!', + 'pages.login.phoneLogin.getVerificationCode': 'Dapatkan kode', + 'pages.getCaptchaSecondText': 'detik tersisa', + 'pages.login.rememberMe': 'Ingat saya', + 'pages.login.forgotPassword': 'Lupa Kata Sandi?', + 'pages.login.submit': 'Masuk', + 'pages.login.loginWith': 'Masuk dengan :', + 'pages.login.registerAccount': 'Daftar Akun', + 'pages.welcome.advancedComponent': 'Formulir Lanjutan', + 'pages.welcome.link': 'Selamat datang', + 'pages.welcome.advancedLayout': 'Tata letak Lanjutan', + 'pages.welcome.alertMessage': + 'Komponen heavy-duty yang lebih cepat dan lebih kuat telah dirilis.', + 'pages.admin.subPage.title': 'Halaman ini hanya dapat dilihat oleh admin', + 'pages.admin.subPage.alertMessage': + 'umi ui telah dirilis, silahkan gunakan npm run ui untuk memulai pengalaman.', + 'pages.searchTable.createForm.newRule': 'Aturan baru', + 'pages.searchTable.updateForm.ruleConfig': 'Konfigurasi aturan', + 'pages.searchTable.updateForm.basicConfig': 'Informasi dasar', + 'pages.searchTable.updateForm.ruleName.nameLabel': 'Nama aturan', + 'pages.searchTable.updateForm.ruleName.nameRules': 'Harap masukkan nama aturan!', + 'pages.searchTable.updateForm.ruleDesc.descLabel': 'Deskripsi aturan', + 'pages.searchTable.updateForm.ruleDesc.descPlaceholder': + 'Harap masukkan setidaknya lima karakter', + 'pages.searchTable.updateForm.ruleDesc.descRules': + 'Harap masukkan deskripsi aturan setidaknya lima karakter!', + 'pages.searchTable.updateForm.ruleProps.title': 'Properti aturan', + 'pages.searchTable.updateForm.object': 'Objek pemantauan', + 'pages.searchTable.updateForm.ruleProps.templateLabel': 'Template aturan', + 'pages.searchTable.updateForm.ruleProps.typeLabel': 'Jenis aturan', + 'pages.searchTable.updateForm.schedulingPeriod.title': 'Periode penjadwalan', + 'pages.searchTable.updateForm.schedulingPeriod.timeLabel': 'Waktu mulai', + 'pages.searchTable.updateForm.schedulingPeriod.timeRules': 'Pilih waktu mulai!', + 'pages.searchTable.titleDesc': 'deskripsi', + 'pages.searchTable.ruleName': 'Nama aturan wajib diisi', + 'pages.searchTable.titleCallNo': 'Jumlah panggilan', + 'pages.searchTable.titleStatus': 'Status', + 'pages.searchTable.nameStatus.default': 'default', + 'pages.searchTable.nameStatus.running': 'menyala', + 'pages.searchTable.nameStatus.online': 'online', + 'pages.searchTable.nameStatus.abnormal': 'abnormal', + 'pages.searchTable.titleUpdatedAt': 'Waktu terjadwal', + 'pages.searchTable.exception': 'Harap masukkan alasan pengecualian!', + 'pages.searchTable.titleOption': 'Pengoperasian', + 'pages.searchTable.config': 'Konfigurasi', + 'pages.searchTable.subscribeAlert': 'Berlangganan notifikasi', + 'pages.searchTable.title': 'Formulir pertanyaan', + 'pages.searchTable.new': 'Baru', + 'pages.searchTable.chosen': 'Terpilih', + 'pages.searchTable.item': 'item', + 'pages.searchTable.totalServiceCalls': 'Jumlah total panggilan layanan', + 'pages.searchTable.tenThousand': '0000', + 'pages.searchTable.batchDeletion': 'Penghapusan batch', + 'pages.searchTable.batchApproval': 'Persetujuan batch', +}; diff --git a/admin-v5/src/locales/id-ID/pwa.ts b/admin-v5/src/locales/id-ID/pwa.ts new file mode 100644 index 0000000..b2cb8a1 --- /dev/null +++ b/admin-v5/src/locales/id-ID/pwa.ts @@ -0,0 +1,7 @@ +export default { + 'app.pwa.offline': 'Koneksi anda terputus', + 'app.pwa.serviceworker.updated': 'Konten baru sudah tersedia', + 'app.pwa.serviceworker.updated.hint': + 'Silahkan klik tombol "Refresh" untuk memuat ulang halaman ini', + 'app.pwa.serviceworker.updated.ok': 'Memuat ulang', +}; diff --git a/admin-v5/src/locales/id-ID/settingDrawer.ts b/admin-v5/src/locales/id-ID/settingDrawer.ts new file mode 100644 index 0000000..f2d3e40 --- /dev/null +++ b/admin-v5/src/locales/id-ID/settingDrawer.ts @@ -0,0 +1,32 @@ +export default { + 'app.setting.pagestyle': 'Pengaturan style Halaman', + 'app.setting.pagestyle.dark': 'Style Gelap', + 'app.setting.pagestyle.light': 'Style Cerah', + 'app.setting.content-width': 'Lebar Konten', + 'app.setting.content-width.fixed': 'Tetap', + 'app.setting.content-width.fluid': 'Fluid', + 'app.setting.themecolor': 'Theme Color', + 'app.setting.themecolor.dust': 'Dust Red', + 'app.setting.themecolor.volcano': 'Volcano', + 'app.setting.themecolor.sunset': 'Sunset Orange', + 'app.setting.themecolor.cyan': 'Cyan', + 'app.setting.themecolor.green': 'Polar Green', + 'app.setting.themecolor.daybreak': 'Daybreak Blue (bawaan)', + 'app.setting.themecolor.geekblue': 'Geek Glue', + 'app.setting.themecolor.purple': 'Golden Purple', + 'app.setting.navigationmode': 'Mode Navigasi', + 'app.setting.sidemenu': 'Susunan Menu Samping', + 'app.setting.topmenu': 'Susunan Menu Atas', + 'app.setting.fixedheader': 'Header Tetap', + 'app.setting.fixedsidebar': 'Sidebar Tetap', + 'app.setting.fixedsidebar.hint': 'Berjalan pada Susunan Menu Samping', + 'app.setting.hideheader': 'Sembunyikan Header ketika gulir ke bawah', + 'app.setting.hideheader.hint': 'Bekerja ketika Header tersembunyi dimunculkan', + 'app.setting.othersettings': 'Pengaturan Lainnya', + 'app.setting.weakmode': 'Mode Lemah', + 'app.setting.copy': 'Salin Pengaturan', + 'app.setting.copyinfo': + 'Berhasil disalin,tolong ubah defaultSettings pada src/models/setting.js', + 'app.setting.production.hint': + 'Panel pengaturan hanya muncul pada lingkungan pengembangan, silahkan modifikasi secara menual', +}; diff --git a/admin-v5/src/locales/id-ID/settings.ts b/admin-v5/src/locales/id-ID/settings.ts new file mode 100644 index 0000000..04b7d12 --- /dev/null +++ b/admin-v5/src/locales/id-ID/settings.ts @@ -0,0 +1,60 @@ +export default { + 'app.settings.menuMap.basic': 'Pengaturan Dasar', + 'app.settings.menuMap.security': 'Pengaturan Keamanan', + 'app.settings.menuMap.binding': 'Pengikatan Akun', + 'app.settings.menuMap.notification': 'Notifikasi Pesan Baru', + 'app.settings.basic.avatar': 'Avatar', + 'app.settings.basic.change-avatar': 'Ubah avatar', + 'app.settings.basic.email': 'Email', + 'app.settings.basic.email-message': 'Tolong masukkan email!', + 'app.settings.basic.nickname': 'Nickname', + 'app.settings.basic.nickname-message': 'Tolong masukkan Nickname!', + 'app.settings.basic.profile': 'Profil Personal', + 'app.settings.basic.profile-message': 'Tolong masukkan profil personal!', + 'app.settings.basic.profile-placeholder': 'Perkenalan Singkat tentang Diri Anda', + 'app.settings.basic.country': 'Negara/Wilayah', + 'app.settings.basic.country-message': 'Tolong masukkan negara anda!', + 'app.settings.basic.geographic': 'Provinsi atau kota', + 'app.settings.basic.geographic-message': 'Tolong masukkan info geografis anda!', + 'app.settings.basic.address': 'Alamat Jalan', + 'app.settings.basic.address-message': 'Tolong masukkan Alamat Jalan anda!', + 'app.settings.basic.phone': 'Nomor Ponsel', + 'app.settings.basic.phone-message': 'Tolong masukkan Nomor Ponsel anda!', + 'app.settings.basic.update': 'Perbarui Informasi', + 'app.settings.security.strong': 'Kuat', + 'app.settings.security.medium': 'Sedang', + 'app.settings.security.weak': 'Lemah', + 'app.settings.security.password': 'Kata Sandi Akun', + 'app.settings.security.password-description': 'Kekuatan Kata Sandi saat ini', + 'app.settings.security.phone': 'Keamanan Ponsel', + 'app.settings.security.phone-description': 'Mengikat Ponsel', + 'app.settings.security.question': 'Pertanyaan Keamanan', + 'app.settings.security.question-description': + 'Pertanyaan Keamanan belum diatur, dan kebijakan keamanan dapat melindungi akun secara efektif', + 'app.settings.security.email': 'Email Cadangan', + 'app.settings.security.email-description': 'Mengikat Email', + 'app.settings.security.mfa': 'Perangka MFA', + 'app.settings.security.mfa-description': + 'Tidak mengikat Perangkat MFA, setelah diikat, dapat dikonfirmasi dua kali', + 'app.settings.security.modify': 'Modifikasi', + 'app.settings.security.set': 'Setel', + 'app.settings.security.bind': 'Ikat', + 'app.settings.binding.taobao': 'Mengikat Taobao', + 'app.settings.binding.taobao-description': 'Tidak mengikat akun Taobao saat ini', + 'app.settings.binding.alipay': 'Mengikat Alipay', + 'app.settings.binding.alipay-description': 'Tidak mengikat akun Alipay saat ini', + 'app.settings.binding.dingding': 'Mengikat DingTalk', + 'app.settings.binding.dingding-description': 'Tidak mengikat akun DingTalk', + 'app.settings.binding.bind': 'Ikat', + 'app.settings.notification.password': 'Kata Sandi Akun', + 'app.settings.notification.password-description': + 'Pesan dari pengguna lain akan diberitahu dalam bentuk surat', + 'app.settings.notification.messages': 'Pesan Sistem', + 'app.settings.notification.messages-description': + 'Pesan sistem akan diberitahu dalam bentuk surat', + 'app.settings.notification.todo': 'Notifikasi daftar To-do', + 'app.settings.notification.todo-description': + 'Daftar to-do akan diberitahukan dalam bentuk surat dari stasiun', + 'app.settings.open': 'Buka', + 'app.settings.close': 'Tutup', +}; diff --git a/admin-v5/src/locales/ja-JP.ts b/admin-v5/src/locales/ja-JP.ts new file mode 100644 index 0000000..ed51f69 --- /dev/null +++ b/admin-v5/src/locales/ja-JP.ts @@ -0,0 +1,24 @@ +import globalHeader from './ja-JP/globalHeader'; +import menu from './ja-JP/menu'; +import settingDrawer from './ja-JP/settingDrawer'; +import settings from './ja-JP/settings'; +import pwa from './ja-JP/pwa'; +import component from './ja-JP/component'; +import pages from './ja-JP/pages'; + +export default { + 'navBar.lang': '言語', + 'layout.user.link.help': 'ヘルプ', + 'layout.user.link.privacy': 'プライバシー', + 'layout.user.link.terms': '利用規約', + 'app.preview.down.block': 'このページをローカルプロジェクトにダウンロードしてください', + 'app.welcome.link.fetch-blocks': '', + 'app.welcome.link.block-list': '', + ...globalHeader, + ...menu, + ...settingDrawer, + ...settings, + ...pwa, + ...component, + ...pages, +}; diff --git a/admin-v5/src/locales/ja-JP/component.ts b/admin-v5/src/locales/ja-JP/component.ts new file mode 100644 index 0000000..40f238c --- /dev/null +++ b/admin-v5/src/locales/ja-JP/component.ts @@ -0,0 +1,5 @@ +export default { + 'component.tagSelect.expand': '展開', + 'component.tagSelect.collapse': '折りたたむ', + 'component.tagSelect.all': 'すべて', +}; diff --git a/admin-v5/src/locales/ja-JP/globalHeader.ts b/admin-v5/src/locales/ja-JP/globalHeader.ts new file mode 100644 index 0000000..1642938 --- /dev/null +++ b/admin-v5/src/locales/ja-JP/globalHeader.ts @@ -0,0 +1,17 @@ +export default { + 'component.globalHeader.search': '検索', + 'component.globalHeader.search.example1': '検索例1', + 'component.globalHeader.search.example2': '検索例2', + 'component.globalHeader.search.example3': '検索例3', + 'component.globalHeader.help': 'ヘルプ', + 'component.globalHeader.notification': '通知', + 'component.globalHeader.notification.empty': 'すべての通知を表示しました。', + 'component.globalHeader.message': 'メッセージ', + 'component.globalHeader.message.empty': 'すべてのメッセージを表示しました。', + 'component.globalHeader.event': 'イベント', + 'component.globalHeader.event.empty': 'すべてのイベントを表示しました。', + 'component.noticeIcon.clear': 'クリア', + 'component.noticeIcon.cleared': 'クリア済み', + 'component.noticeIcon.empty': '通知なし', + 'component.noticeIcon.view-more': 'もっと見る', +}; diff --git a/admin-v5/src/locales/ja-JP/menu.ts b/admin-v5/src/locales/ja-JP/menu.ts new file mode 100644 index 0000000..af6ed0e --- /dev/null +++ b/admin-v5/src/locales/ja-JP/menu.ts @@ -0,0 +1,52 @@ +export default { + 'menu.welcome': 'ようこそ', + 'menu.more-blocks': 'その他のブロック', + 'menu.home': 'ホーム', + 'menu.admin': '管理者', + 'menu.admin.sub-page': 'サブページ', + 'menu.login': 'ログイン', + 'menu.register': '登録', + 'menu.register-result': '登録結果', + 'menu.dashboard': 'ダッシュボード', + 'menu.dashboard.analysis': '分析', + 'menu.dashboard.monitor': 'モニター', + 'menu.dashboard.workplace': '職場', + 'menu.exception.403': '403', + 'menu.exception.404': '404', + 'menu.exception.500': '500', + 'menu.form': 'フォーム', + 'menu.form.basic-form': '基本フォーム', + 'menu.form.step-form': 'ステップフォーム', + 'menu.form.step-form.info': 'ステップフォーム(転送情報の書き込み)', + 'menu.form.step-form.confirm': 'ステップフォーム(転送情報の確認)', + 'menu.form.step-form.result': 'ステップフォーム(完成)', + 'menu.form.advanced-form': '高度なフォーム', + 'menu.list': 'リスト', + 'menu.list.table-list': '検索テーブル', + 'menu.list.basic-list': '基本リスト', + 'menu.list.card-list': 'カードリスト', + 'menu.list.search-list': '検索リスト', + 'menu.list.search-list.articles': '検索リスト(記事)', + 'menu.list.search-list.projects': '検索リスト(プロジェクト)', + 'menu.list.search-list.applications': '検索リスト(アプリ)', + 'menu.profile': 'プロフィール', + 'menu.profile.basic': '基本プロフィール', + 'menu.profile.advanced': '高度なプロフィール', + 'menu.result': '結果', + 'menu.result.success': '成功', + 'menu.result.fail': '失敗', + 'menu.exception': '例外', + 'menu.exception.not-permission': '403', + 'menu.exception.not-find': '404', + 'menu.exception.server-error': '500', + 'menu.exception.trigger': 'トリガー', + 'menu.account': 'アカウント', + 'menu.account.center': 'アカウントセンター', + 'menu.account.settings': 'アカウント設定', + 'menu.account.trigger': 'トリガーエラー', + 'menu.account.logout': 'ログアウト', + 'menu.editor': 'グラフィックエディタ', + 'menu.editor.flow': 'フローエディタ', + 'menu.editor.mind': 'マインドエディター', + 'menu.editor.koni': 'コニエディター', +}; diff --git a/admin-v5/src/locales/ja-JP/pages.ts b/admin-v5/src/locales/ja-JP/pages.ts new file mode 100644 index 0000000..f438dbe --- /dev/null +++ b/admin-v5/src/locales/ja-JP/pages.ts @@ -0,0 +1,67 @@ +export default { + 'pages.layouts.userLayout.title': 'Ant Designは、西湖区で最も影響力のあるWebデザイン仕様です。', + 'pages.login.accountLogin.tab': 'アカウントログイン', + 'pages.login.accountLogin.errorMessage': + 'ユーザー名/パスワードが正しくありません(admin/ant.design)', + 'pages.login.username.placeholder': 'ユーザー名:adminまたはuser', + 'pages.login.username.required': 'ユーザー名を入力してください!', + 'pages.login.password.placeholder': 'パスワード:ant.design', + 'pages.login.password.required': 'パスワードを入力してください!', + 'pages.login.phoneLogin.tab': '電話ログイン', + 'pages.login.phoneLogin.errorMessage': '検証コードエラー', + 'pages.login.phoneNumber.placeholder': '電話番号', + 'pages.login.phoneNumber.required': '電話番号を入力してください!', + 'pages.login.phoneNumber.invalid': '電話番号が無効です!', + 'pages.login.captcha.placeholder': '確認コード', + 'pages.login.captcha.required': '確認コードを入力してください!', + 'pages.login.phoneLogin.getVerificationCode': '確認コードを取得', + 'pages.getCaptchaSecondText': '秒', + 'pages.login.rememberMe': 'Remember me', + 'pages.login.forgotPassword': 'パスワードをお忘れですか?', + 'pages.login.submit': 'ログイン', + 'pages.login.loginWith': 'その他のログイン方法:', + 'pages.login.registerAccount': 'アカウント登録', + 'pages.welcome.advancedComponent': '高度なコンポーネント', + 'pages.welcome.link': 'ようこそ', + 'pages.welcome.advancedLayout': '高度なレイアウト', + 'pages.welcome.alertMessage': 'より高速で強力な頑丈なコンポーネントがリリースされました。', + 'pages.admin.subPage.title': 'このページは管理者のみが表示できます', + 'pages.admin.subPage.alertMessage': + 'Umi uiがリリースされました。npm run uiを使用して体験してください。', + 'pages.searchTable.createForm.newRule': '新しいルール', + 'pages.searchTable.updateForm.ruleConfig': 'ルール構成', + 'pages.searchTable.updateForm.basicConfig': '基本情報', + 'pages.searchTable.updateForm.ruleName.nameLabel': 'ルール名', + 'pages.searchTable.updateForm.ruleName.nameRules': 'ルール名を入力してください!', + 'pages.searchTable.updateForm.ruleDesc.descLabel': 'ルールの説明', + 'pages.searchTable.updateForm.ruleDesc.descPlaceholder': '5文字以上入力してください', + 'pages.searchTable.updateForm.ruleDesc.descRules': '5文字以上のルールの説明を入力してください!', + 'pages.searchTable.updateForm.ruleProps.title': 'プロパティの構成', + 'pages.searchTable.updateForm.object': '監視対象', + 'pages.searchTable.updateForm.ruleProps.templateLabel': 'ルールテンプレート', + 'pages.searchTable.updateForm.ruleProps.typeLabel': 'ルールタイプ', + 'pages.searchTable.updateForm.schedulingPeriod.title': 'スケジュール期間の設定', + 'pages.searchTable.updateForm.schedulingPeriod.timeLabel': '開始時間', + 'pages.searchTable.updateForm.schedulingPeriod.timeRules': '開始時間を選択してください!', + 'pages.searchTable.titleDesc': '説明', + 'pages.searchTable.ruleName': 'ルール名が必要です', + 'pages.searchTable.titleCallNo': 'サービスコール数', + 'pages.searchTable.titleStatus': 'ステータス', + 'pages.searchTable.nameStatus.default': 'デフォルト', + 'pages.searchTable.nameStatus.running': '起動中', + 'pages.searchTable.nameStatus.online': 'オンライン', + 'pages.searchTable.nameStatus.abnormal': '異常', + 'pages.searchTable.titleUpdatedAt': '最終スケジュール', + 'pages.searchTable.exception': '例外の理由を入力してください!', + 'pages.searchTable.titleOption': 'オプション', + 'pages.searchTable.config': '構成', + 'pages.searchTable.subscribeAlert': 'アラートを購読する', + 'pages.searchTable.title': 'お問い合わせフォーム', + 'pages.searchTable.new': '新しい', + 'pages.searchTable.chosen': '選んだ項目', + 'pages.searchTable.item': '項目', + 'pages.searchTable.totalServiceCalls': 'サービスコールの総数', + 'pages.searchTable.tenThousand': '万', + 'pages.searchTable.batchDeletion': 'バッチ削除', + 'pages.searchTable.batchApproval': 'バッチ承認', +}; diff --git a/admin-v5/src/locales/ja-JP/pwa.ts b/admin-v5/src/locales/ja-JP/pwa.ts new file mode 100644 index 0000000..ace23ae --- /dev/null +++ b/admin-v5/src/locales/ja-JP/pwa.ts @@ -0,0 +1,7 @@ +export default { + 'app.pwa.offline': 'あなたは今オフラインです', + 'app.pwa.serviceworker.updated': '新しいコンテンツが利用可能です', + 'app.pwa.serviceworker.updated.hint': + '現在のページをリロードするには、「更新」ボタンを押してください', + 'app.pwa.serviceworker.updated.ok': 'リフレッシュ', +}; diff --git a/admin-v5/src/locales/ja-JP/settingDrawer.ts b/admin-v5/src/locales/ja-JP/settingDrawer.ts new file mode 100644 index 0000000..67a22df --- /dev/null +++ b/admin-v5/src/locales/ja-JP/settingDrawer.ts @@ -0,0 +1,31 @@ +export default { + 'app.setting.pagestyle': 'ページスタイル設定', + 'app.setting.pagestyle.dark': 'ダークスタイル', + 'app.setting.pagestyle.light': 'ライトスタイル', + 'app.setting.content-width': 'コンテンツの幅', + 'app.setting.content-width.fixed': '固定', + 'app.setting.content-width.fluid': '流体', + 'app.setting.themecolor': 'テーマカラー', + 'app.setting.themecolor.dust': 'ダストレッド', + 'app.setting.themecolor.volcano': 'ボルケ-ノ', + 'app.setting.themecolor.sunset': 'サンセットオレンジ', + 'app.setting.themecolor.cyan': 'シアン', + 'app.setting.themecolor.green': 'ポーラーグリーン', + 'app.setting.themecolor.daybreak': '夜明けの青(デフォルト)', + 'app.setting.themecolor.geekblue': 'ギーク ブルー', + 'app.setting.themecolor.purple': 'ゴールデンパープル', + 'app.setting.navigationmode': 'ナビゲーションモード', + 'app.setting.sidemenu': 'サイドメニューのレイアウト', + 'app.setting.topmenu': 'トップメニューのレイアウト', + 'app.setting.fixedheader': '固定ヘッダー', + 'app.setting.fixedsidebar': '固定サイドバー', + 'app.setting.fixedsidebar.hint': 'サイドメニューのレイアウトで動作します', + 'app.setting.hideheader': 'スクロール時の非表示ヘッダー', + 'app.setting.hideheader.hint': '非表示ヘッダーが有効になっている場合に機能します', + 'app.setting.othersettings': 'その他の設定', + 'app.setting.weakmode': 'ウィークモード', + 'app.setting.copy': 'コピー設定', + 'app.setting.copyinfo': + 'コピーが成功しました。src/models/setting.jsのdefaultSettingsを置き換えてください', + 'app.setting.production.hint': '設定パネルは開発環境でのみ表示されます。手動で変更してください', +}; diff --git a/admin-v5/src/locales/ja-JP/settings.ts b/admin-v5/src/locales/ja-JP/settings.ts new file mode 100644 index 0000000..de52481 --- /dev/null +++ b/admin-v5/src/locales/ja-JP/settings.ts @@ -0,0 +1,59 @@ +export default { + 'app.settings.menuMap.basic': '基本設定', + 'app.settings.menuMap.security': 'セキュリティ設定', + 'app.settings.menuMap.binding': 'アカウントのバインド', + 'app.settings.menuMap.notification': '新しいメッセージの通知', + 'app.settings.basic.avatar': 'アバター', + 'app.settings.basic.change-avatar': 'アバターを変更する', + 'app.settings.basic.email': 'メール', + 'app.settings.basic.email-message': 'メールアドレスを入力してください!', + 'app.settings.basic.nickname': 'ニックネーム', + 'app.settings.basic.nickname-message': 'ニックネームを入力してください!', + 'app.settings.basic.profile': '個人プロフィール', + 'app.settings.basic.profile-message': '個人プロフィールを入力してください!', + 'app.settings.basic.profile-placeholder': '自己紹介', + 'app.settings.basic.country': '国/地域', + 'app.settings.basic.country-message': 'あなたの国を入力してください!', + 'app.settings.basic.geographic': '州または市', + 'app.settings.basic.geographic-message': '地理情報を入力してください!', + 'app.settings.basic.address': '住所', + 'app.settings.basic.address-message': '住所を入力してください!', + 'app.settings.basic.phone': '電話番号', + 'app.settings.basic.phone-message': '電話番号を入力してください!', + 'app.settings.basic.update': '更新情報', + 'app.settings.security.strong': '強い', + 'app.settings.security.medium': 'ミディアム', + 'app.settings.security.weak': '弱い', + 'app.settings.security.password': 'アカウントパスワード', + 'app.settings.security.password-description': '現在のパスワードの強度', + 'app.settings.security.phone': 'セキュリティ電話番号', + 'app.settings.security.phone-description': 'バインドされた電話番号', + 'app.settings.security.question': '秘密の質問', + 'app.settings.security.question-description': + 'セキュリティの質問が設定されてません。セキュリティポリシーはアカウントのセキュリティを効果的に保護できます', + 'app.settings.security.email': 'バックアップメール', + 'app.settings.security.email-description': 'バインドされたメール', + 'app.settings.security.mfa': '多要素認証デバイス', + 'app.settings.security.mfa-description': + 'バインドされていない多要素認証デバイスは、バインド後、2回確認できます', + 'app.settings.security.modify': '変更する', + 'app.settings.security.set': 'セットする', + 'app.settings.security.bind': 'バインド', + 'app.settings.binding.taobao': 'タオバオをバインドする', + 'app.settings.binding.taobao-description': '現在バインドされていないタオバオアカウント', + 'app.settings.binding.alipay': 'アリペイをバインドする', + 'app.settings.binding.alipay-description': '現在バインドされていないアリペイアカウント', + 'app.settings.binding.dingding': 'ディントークをバインドする', + 'app.settings.binding.dingding-description': '現在バインドされていないディントークアカウント', + 'app.settings.binding.bind': 'バインド', + 'app.settings.notification.password': 'アカウントパスワード', + 'app.settings.notification.password-description': + '他のユーザーからのメッセージは、ステーションレターの形式で通知されます', + 'app.settings.notification.messages': 'システムメッセージ', + 'app.settings.notification.messages-description': + 'システムメッセージは、ステーションレターの形式で通知されます', + 'app.settings.notification.todo': 'To Do(用事) 通知', + 'app.settings.notification.todo-description': 'To Doタスクは、内部レターの形式で通知されます', + 'app.settings.open': '開く', + 'app.settings.close': '閉じる', +}; diff --git a/admin-v5/src/locales/pt-BR.ts b/admin-v5/src/locales/pt-BR.ts new file mode 100644 index 0000000..628dd9c --- /dev/null +++ b/admin-v5/src/locales/pt-BR.ts @@ -0,0 +1,22 @@ +import component from './pt-BR/component'; +import globalHeader from './pt-BR/globalHeader'; +import menu from './pt-BR/menu'; +import pwa from './pt-BR/pwa'; +import settingDrawer from './pt-BR/settingDrawer'; +import settings from './pt-BR/settings'; +import pages from './pt-BR/pages'; + +export default { + 'navBar.lang': 'Idiomas', + 'layout.user.link.help': 'ajuda', + 'layout.user.link.privacy': 'política de privacidade', + 'layout.user.link.terms': 'termos de serviços', + 'app.preview.down.block': 'Download this page to your local project', + ...globalHeader, + ...menu, + ...settingDrawer, + ...settings, + ...pwa, + ...component, + ...pages, +}; diff --git a/admin-v5/src/locales/pt-BR/component.ts b/admin-v5/src/locales/pt-BR/component.ts new file mode 100644 index 0000000..7cf9999 --- /dev/null +++ b/admin-v5/src/locales/pt-BR/component.ts @@ -0,0 +1,5 @@ +export default { + 'component.tagSelect.expand': 'Expandir', + 'component.tagSelect.collapse': 'Diminuir', + 'component.tagSelect.all': 'Todas', +}; diff --git a/admin-v5/src/locales/pt-BR/globalHeader.ts b/admin-v5/src/locales/pt-BR/globalHeader.ts new file mode 100644 index 0000000..c927399 --- /dev/null +++ b/admin-v5/src/locales/pt-BR/globalHeader.ts @@ -0,0 +1,18 @@ +export default { + 'component.globalHeader.search': 'Busca', + 'component.globalHeader.search.example1': 'Exemplo de busca 1', + 'component.globalHeader.search.example2': 'Exemplo de busca 2', + 'component.globalHeader.search.example3': 'Exemplo de busca 3', + 'component.globalHeader.help': 'Ajuda', + 'component.globalHeader.notification': 'Notificação', + 'component.globalHeader.notification.empty': 'Você visualizou todas as notificações.', + 'component.globalHeader.message': 'Mensagem', + 'component.globalHeader.message.empty': 'Você visualizou todas as mensagens.', + 'component.globalHeader.event': 'Evento', + 'component.globalHeader.event.empty': 'Você visualizou todos os eventos.', + 'component.noticeIcon.clear': 'Limpar', + 'component.noticeIcon.cleared': 'Limpo', + 'component.noticeIcon.empty': 'Sem notificações', + 'component.noticeIcon.loaded': 'Carregado', + 'component.noticeIcon.view-more': 'Veja mais', +}; diff --git a/admin-v5/src/locales/pt-BR/menu.ts b/admin-v5/src/locales/pt-BR/menu.ts new file mode 100644 index 0000000..99d4d72 --- /dev/null +++ b/admin-v5/src/locales/pt-BR/menu.ts @@ -0,0 +1,52 @@ +export default { + 'menu.welcome': 'Welcome', + 'menu.more-blocks': 'More Blocks', + 'menu.home': 'Início', + 'menu.login': 'Login', + 'menu.admin': 'Admin', + 'menu.admin.sub-page': 'Sub-Page', + 'menu.register': 'Registro', + 'menu.register-result': 'Resultado de registro', + 'menu.dashboard': 'Dashboard', + 'menu.dashboard.analysis': 'Análise', + 'menu.dashboard.monitor': 'Monitor', + 'menu.dashboard.workplace': 'Ambiente de Trabalho', + 'menu.exception.403': '403', + 'menu.exception.404': '404', + 'menu.exception.500': '500', + 'menu.form': 'Formulário', + 'menu.form.basic-form': 'Formulário Básico', + 'menu.form.step-form': 'Formulário Assistido', + 'menu.form.step-form.info': 'Formulário Assistido(gravar informações de transferência)', + 'menu.form.step-form.confirm': 'Formulário Assistido(confirmar informações de transferência)', + 'menu.form.step-form.result': 'Formulário Assistido(finalizado)', + 'menu.form.advanced-form': 'Formulário Avançado', + 'menu.list': 'Lista', + 'menu.list.table-list': 'Tabela de Busca', + 'menu.list.basic-list': 'Lista Básica', + 'menu.list.card-list': 'Lista de Card', + 'menu.list.search-list': 'Lista de Busca', + 'menu.list.search-list.articles': 'Lista de Busca(artigos)', + 'menu.list.search-list.projects': 'Lista de Busca(projetos)', + 'menu.list.search-list.applications': 'Lista de Busca(aplicações)', + 'menu.profile': 'Perfil', + 'menu.profile.basic': 'Perfil Básico', + 'menu.profile.advanced': 'Perfil Avançado', + 'menu.result': 'Resultado', + 'menu.result.success': 'Sucesso', + 'menu.result.fail': 'Falha', + 'menu.exception': 'Exceção', + 'menu.exception.not-permission': '403', + 'menu.exception.not-find': '404', + 'menu.exception.server-error': '500', + 'menu.exception.trigger': 'Disparar', + 'menu.account': 'Conta', + 'menu.account.center': 'Central da Conta', + 'menu.account.settings': 'Configurar Conta', + 'menu.account.trigger': 'Disparar Erro', + 'menu.account.logout': 'Sair', + 'menu.editor': 'Graphic Editor', + 'menu.editor.flow': 'Flow Editor', + 'menu.editor.mind': 'Mind Editor', + 'menu.editor.koni': 'Koni Editor', +}; diff --git a/admin-v5/src/locales/pt-BR/pages.ts b/admin-v5/src/locales/pt-BR/pages.ts new file mode 100644 index 0000000..14f8a8d --- /dev/null +++ b/admin-v5/src/locales/pt-BR/pages.ts @@ -0,0 +1,70 @@ +export default { + 'pages.layouts.userLayout.title': + 'Ant Design é a especificação de web design mais influente no distrito de Xihu', + 'pages.login.accountLogin.tab': 'Login da conta', + 'pages.login.accountLogin.errorMessage': 'usuário/senha incorreto(admin/ant.design)', + 'pages.login.username.placeholder': 'Usuário: admin or user', + 'pages.login.username.required': 'Por favor insira seu usuário!', + 'pages.login.password.placeholder': 'Senha: ant.design', + 'pages.login.password.required': 'Por favor insira sua senha!', + 'pages.login.phoneLogin.tab': 'Login com Telefone', + 'pages.login.phoneLogin.errorMessage': 'Erro de Código de Verificação', + 'pages.login.phoneNumber.placeholder': 'Telefone', + 'pages.login.phoneNumber.required': 'Por favor entre com seu telefone!', + 'pages.login.phoneNumber.invalid': 'Telefone é inválido!', + 'pages.login.captcha.placeholder': 'Código de Verificação', + 'pages.login.captcha.required': 'Por favor entre com o código de verificação!', + 'pages.login.phoneLogin.getVerificationCode': 'Obter Código', + 'pages.getCaptchaSecondText': 'seg(s)', + 'pages.login.rememberMe': 'Lembre-me', + 'pages.login.forgotPassword': 'Perdeu a Senha ?', + 'pages.login.submit': 'Enviar', + 'pages.login.loginWith': 'Login com :', + 'pages.login.registerAccount': 'Registra Conta', + 'pages.welcome.advancedComponent': 'Componente Avançado', + 'pages.welcome.link': 'Bem-vindo', + 'pages.welcome.advancedLayout': 'Layout Avançado', + 'pages.welcome.alertMessage': 'Componentes pesados mais rápidos e mais fortes foram lançados.', + 'pages.admin.subPage.title': 'Esta página só pode ser vista pelo Admin', + 'pages.admin.subPage.alertMessage': + 'O Umi ui foi lançado, bem-vindo ao usar o npm run ui para iniciar a experiência.', + 'pages.searchTable.createForm.newRule': 'Neva Regra', + 'pages.searchTable.updateForm.ruleConfig': 'Configuração de Regra', + 'pages.searchTable.updateForm.basicConfig': 'Informação básica', + 'pages.searchTable.updateForm.ruleName.nameLabel': 'Nome da Regra', + 'pages.searchTable.updateForm.ruleName.nameRules': 'Por favor entre com o nome da regra!', + 'pages.searchTable.updateForm.ruleDesc.descLabel': 'Descrição da Regra', + 'pages.searchTable.updateForm.ruleDesc.descPlaceholder': + 'Por favor insira ao menos cinco caracteres', + 'pages.searchTable.updateForm.ruleDesc.descRules': + 'Insira uma descrição de regra de pelo menos cinco caracteres!', + 'pages.searchTable.updateForm.ruleProps.title': 'Configurar Propriedades', + 'pages.searchTable.updateForm.object': 'Objeto de Monitoramento', + 'pages.searchTable.updateForm.ruleProps.templateLabel': 'Modelo de Regra', + 'pages.searchTable.updateForm.ruleProps.typeLabel': 'Tipo de Regra', + 'pages.searchTable.updateForm.schedulingPeriod.title': 'Definir Período de Agendamento', + 'pages.searchTable.updateForm.schedulingPeriod.timeLabel': 'Hora de Início', + 'pages.searchTable.updateForm.schedulingPeriod.timeRules': + 'Por favor selecione um horáriod e início!', + 'pages.searchTable.titleDesc': 'Descrição', + 'pages.searchTable.ruleName': 'O nome da regra é obrigatório', + 'pages.searchTable.titleCallNo': 'Número de chamadas de serviço', + 'pages.searchTable.titleStatus': 'Status', + 'pages.searchTable.nameStatus.default': 'padrão', + 'pages.searchTable.nameStatus.running': 'executando', + 'pages.searchTable.nameStatus.online': 'online', + 'pages.searchTable.nameStatus.abnormal': 'anormal', + 'pages.searchTable.titleUpdatedAt': 'Última programação em', + 'pages.searchTable.exception': 'Por favor, indique o motivo da exceção!', + 'pages.searchTable.titleOption': 'Opção', + 'pages.searchTable.config': 'Configuração', + 'pages.searchTable.subscribeAlert': 'Inscreva-se para receber alertas', + 'pages.searchTable.title': 'Formulário de Consulta', + 'pages.searchTable.new': 'Novo', + 'pages.searchTable.chosen': 'selecionado', + 'pages.searchTable.item': 'item', + 'pages.searchTable.totalServiceCalls': 'Número total de chamadas de serviço', + 'pages.searchTable.tenThousand': '0000', + 'pages.searchTable.batchDeletion': 'deleção em lote', + 'pages.searchTable.batchApproval': 'aprovação em lote', +}; diff --git a/admin-v5/src/locales/pt-BR/pwa.ts b/admin-v5/src/locales/pt-BR/pwa.ts new file mode 100644 index 0000000..05cc797 --- /dev/null +++ b/admin-v5/src/locales/pt-BR/pwa.ts @@ -0,0 +1,7 @@ +export default { + 'app.pwa.offline': 'Você está offline agora', + 'app.pwa.serviceworker.updated': 'Novo conteúdo está disponível', + 'app.pwa.serviceworker.updated.hint': + 'Por favor, pressione o botão "Atualizar" para recarregar a página atual', + 'app.pwa.serviceworker.updated.ok': 'Atualizar', +}; diff --git a/admin-v5/src/locales/pt-BR/settingDrawer.ts b/admin-v5/src/locales/pt-BR/settingDrawer.ts new file mode 100644 index 0000000..8a10b57 --- /dev/null +++ b/admin-v5/src/locales/pt-BR/settingDrawer.ts @@ -0,0 +1,32 @@ +export default { + 'app.setting.pagestyle': 'Configuração de estilo da página', + 'app.setting.pagestyle.dark': 'Dark style', + 'app.setting.pagestyle.light': 'Light style', + 'app.setting.content-width': 'Largura do conteúdo', + 'app.setting.content-width.fixed': 'Fixo', + 'app.setting.content-width.fluid': 'Fluido', + 'app.setting.themecolor': 'Cor do Tema', + 'app.setting.themecolor.dust': 'Dust Red', + 'app.setting.themecolor.volcano': 'Volcano', + 'app.setting.themecolor.sunset': 'Sunset Orange', + 'app.setting.themecolor.cyan': 'Cyan', + 'app.setting.themecolor.green': 'Polar Green', + 'app.setting.themecolor.daybreak': 'Daybreak Blue (default)', + 'app.setting.themecolor.geekblue': 'Geek Glue', + 'app.setting.themecolor.purple': 'Golden Purple', + 'app.setting.navigationmode': 'Modo de Navegação', + 'app.setting.sidemenu': 'Layout do Menu Lateral', + 'app.setting.topmenu': 'Layout do Menu Superior', + 'app.setting.fixedheader': 'Cabeçalho fixo', + 'app.setting.fixedsidebar': 'Barra lateral fixa', + 'app.setting.fixedsidebar.hint': 'Funciona no layout do menu lateral', + 'app.setting.hideheader': 'Esconder o cabeçalho quando rolar', + 'app.setting.hideheader.hint': 'Funciona quando o esconder cabeçalho está abilitado', + 'app.setting.othersettings': 'Outras configurações', + 'app.setting.weakmode': 'Weak Mode', + 'app.setting.copy': 'Copiar Configuração', + 'app.setting.copyinfo': + 'copiado com sucesso,por favor trocar o defaultSettings em src/models/setting.js', + 'app.setting.production.hint': + 'O painel de configuração apenas é exibido no ambiente de desenvolvimento, por favor modifique manualmente o', +}; diff --git a/admin-v5/src/locales/pt-BR/settings.ts b/admin-v5/src/locales/pt-BR/settings.ts new file mode 100644 index 0000000..aad2e38 --- /dev/null +++ b/admin-v5/src/locales/pt-BR/settings.ts @@ -0,0 +1,60 @@ +export default { + 'app.settings.menuMap.basic': 'Configurações Básicas', + 'app.settings.menuMap.security': 'Configurações de Segurança', + 'app.settings.menuMap.binding': 'Vinculação de Conta', + 'app.settings.menuMap.notification': 'Mensagens de Notificação', + 'app.settings.basic.avatar': 'Avatar', + 'app.settings.basic.change-avatar': 'Alterar avatar', + 'app.settings.basic.email': 'Email', + 'app.settings.basic.email-message': 'Por favor insira seu email!', + 'app.settings.basic.nickname': 'Nome de usuário', + 'app.settings.basic.nickname-message': 'Por favor insira seu nome de usuário!', + 'app.settings.basic.profile': 'Perfil pessoal', + 'app.settings.basic.profile-message': 'Por favor insira seu perfil pessoal!', + 'app.settings.basic.profile-placeholder': 'Breve introdução sua', + 'app.settings.basic.country': 'País/Região', + 'app.settings.basic.country-message': 'Por favor insira país!', + 'app.settings.basic.geographic': 'Província, estado ou cidade', + 'app.settings.basic.geographic-message': 'Por favor insira suas informações geográficas!', + 'app.settings.basic.address': 'Endereço', + 'app.settings.basic.address-message': 'Por favor insira seu endereço!', + 'app.settings.basic.phone': 'Número de telefone', + 'app.settings.basic.phone-message': 'Por favor insira seu número de telefone!', + 'app.settings.basic.update': 'Atualizar Informações', + 'app.settings.security.strong': 'Forte', + 'app.settings.security.medium': 'Média', + 'app.settings.security.weak': 'Fraca', + 'app.settings.security.password': 'Senha da Conta', + 'app.settings.security.password-description': 'Força da senha', + 'app.settings.security.phone': 'Telefone de Seguraça', + 'app.settings.security.phone-description': 'Telefone vinculado', + 'app.settings.security.question': 'Pergunta de Segurança', + 'app.settings.security.question-description': + 'A pergunta de segurança não está definida e a política de segurança pode proteger efetivamente a segurança da conta', + 'app.settings.security.email': 'Email de Backup', + 'app.settings.security.email-description': 'Email vinculado', + 'app.settings.security.mfa': 'Dispositivo MFA', + 'app.settings.security.mfa-description': + 'O dispositivo MFA não vinculado, após a vinculação, pode ser confirmado duas vezes', + 'app.settings.security.modify': 'Modificar', + 'app.settings.security.set': 'Atribuir', + 'app.settings.security.bind': 'Vincular', + 'app.settings.binding.taobao': 'Vincular Taobao', + 'app.settings.binding.taobao-description': 'Atualmente não vinculado à conta Taobao', + 'app.settings.binding.alipay': 'Vincular Alipay', + 'app.settings.binding.alipay-description': 'Atualmente não vinculado à conta Alipay', + 'app.settings.binding.dingding': 'Vincular DingTalk', + 'app.settings.binding.dingding-description': 'Atualmente não vinculado à conta DingTalk', + 'app.settings.binding.bind': 'Vincular', + 'app.settings.notification.password': 'Senha da Conta', + 'app.settings.notification.password-description': + 'Mensagens de outros usuários serão notificadas na forma de uma estação de letra', + 'app.settings.notification.messages': 'Mensagens de Sistema', + 'app.settings.notification.messages-description': + 'Mensagens de sistema serão notificadas na forma de uma estação de letra', + 'app.settings.notification.todo': 'Notificação de To-do', + 'app.settings.notification.todo-description': + 'A lista de to-do será notificada na forma de uma estação de letra', + 'app.settings.open': 'Aberto', + 'app.settings.close': 'Fechado', +}; diff --git a/admin-v5/src/locales/zh-CN.ts b/admin-v5/src/locales/zh-CN.ts new file mode 100644 index 0000000..12279f0 --- /dev/null +++ b/admin-v5/src/locales/zh-CN.ts @@ -0,0 +1,26 @@ +import component from './zh-CN/component'; +import globalHeader from './zh-CN/globalHeader'; +import menu from './zh-CN/menu'; +import pwa from './zh-CN/pwa'; +import settingDrawer from './zh-CN/settingDrawer'; +import settings from './zh-CN/settings'; +import pages from './zh-CN/pages'; + +export default { + 'navBar.lang': '语言', + 'layout.user.link.help': '帮助', + 'layout.user.link.privacy': '隐私', + 'layout.user.link.terms': '条款', + // 'app.copyright.produced': '蚂蚁集团体验技术部出品', + 'app.copyright.produced': 'AI PRO', + 'app.preview.down.block': '下载此页面到本地项目', + 'app.welcome.link.fetch-blocks': '获取全部区块', + 'app.welcome.link.block-list': '基于 block 开发,快速构建标准页面', + ...pages, + ...globalHeader, + ...menu, + ...settingDrawer, + ...settings, + ...pwa, + ...component, +}; diff --git a/admin-v5/src/locales/zh-CN/component.ts b/admin-v5/src/locales/zh-CN/component.ts new file mode 100644 index 0000000..1f1fead --- /dev/null +++ b/admin-v5/src/locales/zh-CN/component.ts @@ -0,0 +1,5 @@ +export default { + 'component.tagSelect.expand': '展开', + 'component.tagSelect.collapse': '收起', + 'component.tagSelect.all': '全部', +}; diff --git a/admin-v5/src/locales/zh-CN/globalHeader.ts b/admin-v5/src/locales/zh-CN/globalHeader.ts new file mode 100644 index 0000000..9fd66a5 --- /dev/null +++ b/admin-v5/src/locales/zh-CN/globalHeader.ts @@ -0,0 +1,17 @@ +export default { + 'component.globalHeader.search': '站内搜索', + 'component.globalHeader.search.example1': '搜索提示一', + 'component.globalHeader.search.example2': '搜索提示二', + 'component.globalHeader.search.example3': '搜索提示三', + 'component.globalHeader.help': '使用文档', + 'component.globalHeader.notification': '通知', + 'component.globalHeader.notification.empty': '你已查看所有通知', + 'component.globalHeader.message': '消息', + 'component.globalHeader.message.empty': '您已读完所有消息', + 'component.globalHeader.event': '待办', + 'component.globalHeader.event.empty': '你已完成所有待办', + 'component.noticeIcon.clear': '清空', + 'component.noticeIcon.cleared': '清空了', + 'component.noticeIcon.empty': '暂无数据', + 'component.noticeIcon.view-more': '查看更多', +}; diff --git a/admin-v5/src/locales/zh-CN/menu.ts b/admin-v5/src/locales/zh-CN/menu.ts new file mode 100644 index 0000000..fecb70a --- /dev/null +++ b/admin-v5/src/locales/zh-CN/menu.ts @@ -0,0 +1,52 @@ +export default { + 'menu.welcome': '欢迎', + 'menu.more-blocks': '更多区块', + 'menu.home': '首页', + 'menu.admin': '管理页', + 'menu.admin.sub-page': '二级管理页', + 'menu.login': '登录', + 'menu.register': '注册', + 'menu.register-result': '注册结果', + 'menu.dashboard': 'Dashboard', + 'menu.dashboard.analysis': '分析页', + 'menu.dashboard.monitor': '监控页', + 'menu.dashboard.workplace': '工作台', + 'menu.exception.403': '403', + 'menu.exception.404': '404', + 'menu.exception.500': '500', + 'menu.form': '表单页', + 'menu.form.basic-form': '基础表单', + 'menu.form.step-form': '分步表单', + 'menu.form.step-form.info': '分步表单(填写转账信息)', + 'menu.form.step-form.confirm': '分步表单(确认转账信息)', + 'menu.form.step-form.result': '分步表单(完成)', + 'menu.form.advanced-form': '高级表单', + 'menu.list': '列表页', + 'menu.list.table-list': '查询表格', + 'menu.list.basic-list': '标准列表', + 'menu.list.card-list': '卡片列表', + 'menu.list.search-list': '搜索列表', + 'menu.list.search-list.articles': '搜索列表(文章)', + 'menu.list.search-list.projects': '搜索列表(项目)', + 'menu.list.search-list.applications': '搜索列表(应用)', + 'menu.profile': '详情页', + 'menu.profile.basic': '基础详情页', + 'menu.profile.advanced': '高级详情页', + 'menu.result': '结果页', + 'menu.result.success': '成功页', + 'menu.result.fail': '失败页', + 'menu.exception': '异常页', + 'menu.exception.not-permission': '403', + 'menu.exception.not-find': '404', + 'menu.exception.server-error': '500', + 'menu.exception.trigger': '触发错误', + 'menu.account': '个人页', + 'menu.account.center': '个人中心', + 'menu.account.settings': '个人设置', + 'menu.account.trigger': '触发报错', + 'menu.account.logout': '退出登录', + 'menu.editor': '图形编辑器', + 'menu.editor.flow': '流程编辑器', + 'menu.editor.mind': '脑图编辑器', + 'menu.editor.koni': '拓扑编辑器', +}; diff --git a/admin-v5/src/locales/zh-CN/pages.ts b/admin-v5/src/locales/zh-CN/pages.ts new file mode 100644 index 0000000..33e86e1 --- /dev/null +++ b/admin-v5/src/locales/zh-CN/pages.ts @@ -0,0 +1,69 @@ +export default { + 'pages.layouts.userLayout.title': 'Ant Design 是西湖区最具影响力的 Web 设计规范', + 'pages.login.accountLogin.tab': '账户密码登录', + 'pages.login.accountLogin.errorMessage': '错误的用户名和密码(admin/ant.design)', + 'pages.login.failure': '登录失败,请重试!', + 'pages.login.success': '登录成功!', + 'pages.login.username.placeholder1': '用户名: admin or user', + 'pages.login.username.placeholder': '请输入您的账号', + 'pages.login.username.required': '用户名是必填项!', + // 'pages.login.password.placeholder': '密码: ant.design', + 'pages.login.password.placeholder': '请输入您的密码', + 'pages.login.password.required': '密码是必填项!', + 'pages.login.phoneLogin.tab': '手机号登录', + 'pages.login.phoneLogin.errorMessage': '验证码错误', + 'pages.login.phoneNumber.placeholder': '请输入手机号!', + 'pages.login.phoneNumber.required': '手机号是必填项!', + 'pages.login.phoneNumber.invalid': '不合法的手机号!', + 'pages.login.captcha.placeholder': '请输入验证码!', + 'pages.login.captcha.required': '验证码是必填项!', + 'pages.login.phoneLogin.getVerificationCode': '获取验证码', + 'pages.getCaptchaSecondText': '秒后重新获取', + 'pages.login.rememberMe': '自动登录', + 'pages.login.forgotPassword': '忘记密码 ?', + 'pages.login.submit': '登录', + 'pages.login.loginWith': '其他登录方式 :', + 'pages.login.registerAccount': '注册账户', + 'pages.welcome.advancedComponent': '高级表格', + 'pages.welcome.link': '欢迎使用', + 'pages.welcome.advancedLayout': '高级布局', + 'pages.welcome.alertMessage': '更快更强的重型组件,已经发布。', + 'pages.admin.subPage.title': ' 这个页面只有 admin 权限才能查看', + 'pages.admin.subPage.alertMessage': 'umi ui 现已发布,欢迎使用 npm run ui 启动体验。', + 'pages.searchTable.createForm.newRule': '新建规则', + 'pages.searchTable.updateForm.ruleConfig': '规则配置', + 'pages.searchTable.updateForm.basicConfig': '基本信息', + 'pages.searchTable.updateForm.ruleName.nameLabel': '规则名称', + 'pages.searchTable.updateForm.ruleName.nameRules': '请输入规则名称!', + 'pages.searchTable.updateForm.ruleDesc.descLabel': '规则描述', + 'pages.searchTable.updateForm.ruleDesc.descPlaceholder': '请输入至少五个字符', + 'pages.searchTable.updateForm.ruleDesc.descRules': '请输入至少五个字符的规则描述!', + 'pages.searchTable.updateForm.ruleProps.title': '配置规则属性', + 'pages.searchTable.updateForm.object': '监控对象', + 'pages.searchTable.updateForm.ruleProps.templateLabel': '规则模板', + 'pages.searchTable.updateForm.ruleProps.typeLabel': '规则类型', + 'pages.searchTable.updateForm.schedulingPeriod.title': '设定调度周期', + 'pages.searchTable.updateForm.schedulingPeriod.timeLabel': '开始时间', + 'pages.searchTable.updateForm.schedulingPeriod.timeRules': '请选择开始时间!', + 'pages.searchTable.titleDesc': '描述', + 'pages.searchTable.ruleName': '规则名称为必填项', + 'pages.searchTable.titleCallNo': '服务调用次数', + 'pages.searchTable.titleStatus': '状态', + 'pages.searchTable.nameStatus.default': '关闭', + 'pages.searchTable.nameStatus.running': '运行中', + 'pages.searchTable.nameStatus.online': '已上线', + 'pages.searchTable.nameStatus.abnormal': '异常', + 'pages.searchTable.titleUpdatedAt': '上次调度时间', + 'pages.searchTable.exception': '请输入异常原因!', + 'pages.searchTable.titleOption': '操作', + 'pages.searchTable.config': '配置', + 'pages.searchTable.subscribeAlert': '订阅警报', + 'pages.searchTable.title': '查询表格', + 'pages.searchTable.new': '新建', + 'pages.searchTable.chosen': '已选择', + 'pages.searchTable.item': '项', + 'pages.searchTable.totalServiceCalls': '服务调用次数总计', + 'pages.searchTable.tenThousand': '万', + 'pages.searchTable.batchDeletion': '批量删除', + 'pages.searchTable.batchApproval': '批量审批', +}; diff --git a/admin-v5/src/locales/zh-CN/pwa.ts b/admin-v5/src/locales/zh-CN/pwa.ts new file mode 100644 index 0000000..e950484 --- /dev/null +++ b/admin-v5/src/locales/zh-CN/pwa.ts @@ -0,0 +1,6 @@ +export default { + 'app.pwa.offline': '当前处于离线状态', + 'app.pwa.serviceworker.updated': '有新内容', + 'app.pwa.serviceworker.updated.hint': '请点击“刷新”按钮或者手动刷新页面', + 'app.pwa.serviceworker.updated.ok': '刷新', +}; diff --git a/admin-v5/src/locales/zh-CN/settingDrawer.ts b/admin-v5/src/locales/zh-CN/settingDrawer.ts new file mode 100644 index 0000000..3f44958 --- /dev/null +++ b/admin-v5/src/locales/zh-CN/settingDrawer.ts @@ -0,0 +1,31 @@ +export default { + 'app.setting.pagestyle': '整体风格设置', + 'app.setting.pagestyle.dark': '暗色菜单风格', + 'app.setting.pagestyle.light': '亮色菜单风格', + 'app.setting.content-width': '内容区域宽度', + 'app.setting.content-width.fixed': '定宽', + 'app.setting.content-width.fluid': '流式', + 'app.setting.themecolor': '主题色', + 'app.setting.themecolor.dust': '薄暮', + 'app.setting.themecolor.volcano': '火山', + 'app.setting.themecolor.sunset': '日暮', + 'app.setting.themecolor.cyan': '明青', + 'app.setting.themecolor.green': '极光绿', + 'app.setting.themecolor.daybreak': '拂晓蓝(默认)', + 'app.setting.themecolor.geekblue': '极客蓝', + 'app.setting.themecolor.purple': '酱紫', + 'app.setting.navigationmode': '导航模式', + 'app.setting.sidemenu': '侧边菜单布局', + 'app.setting.topmenu': '顶部菜单布局', + 'app.setting.fixedheader': '固定 Header', + 'app.setting.fixedsidebar': '固定侧边菜单', + 'app.setting.fixedsidebar.hint': '侧边菜单布局时可配置', + 'app.setting.hideheader': '下滑时隐藏 Header', + 'app.setting.hideheader.hint': '固定 Header 时可配置', + 'app.setting.othersettings': '其他设置', + 'app.setting.weakmode': '色弱模式', + 'app.setting.copy': '拷贝设置', + 'app.setting.copyinfo': '拷贝成功,请到 config/defaultSettings.js 中替换默认配置', + 'app.setting.production.hint': + '配置栏只在开发环境用于预览,生产环境不会展现,请拷贝后手动修改配置文件', +}; diff --git a/admin-v5/src/locales/zh-CN/settings.ts b/admin-v5/src/locales/zh-CN/settings.ts new file mode 100644 index 0000000..df8af43 --- /dev/null +++ b/admin-v5/src/locales/zh-CN/settings.ts @@ -0,0 +1,55 @@ +export default { + 'app.settings.menuMap.basic': '基本设置', + 'app.settings.menuMap.security': '安全设置', + 'app.settings.menuMap.binding': '账号绑定', + 'app.settings.menuMap.notification': '新消息通知', + 'app.settings.basic.avatar': '头像', + 'app.settings.basic.change-avatar': '更换头像', + 'app.settings.basic.email': '邮箱', + 'app.settings.basic.email-message': '请输入您的邮箱!', + 'app.settings.basic.nickname': '昵称', + 'app.settings.basic.nickname-message': '请输入您的昵称!', + 'app.settings.basic.profile': '个人简介', + 'app.settings.basic.profile-message': '请输入个人简介!', + 'app.settings.basic.profile-placeholder': '个人简介', + 'app.settings.basic.country': '国家/地区', + 'app.settings.basic.country-message': '请输入您的国家或地区!', + 'app.settings.basic.geographic': '所在省市', + 'app.settings.basic.geographic-message': '请输入您的所在省市!', + 'app.settings.basic.address': '街道地址', + 'app.settings.basic.address-message': '请输入您的街道地址!', + 'app.settings.basic.phone': '联系电话', + 'app.settings.basic.phone-message': '请输入您的联系电话!', + 'app.settings.basic.update': '更新基本信息', + 'app.settings.security.strong': '强', + 'app.settings.security.medium': '中', + 'app.settings.security.weak': '弱', + 'app.settings.security.password': '账户密码', + 'app.settings.security.password-description': '当前密码强度', + 'app.settings.security.phone': '密保手机', + 'app.settings.security.phone-description': '已绑定手机', + 'app.settings.security.question': '密保问题', + 'app.settings.security.question-description': '未设置密保问题,密保问题可有效保护账户安全', + 'app.settings.security.email': '备用邮箱', + 'app.settings.security.email-description': '已绑定邮箱', + 'app.settings.security.mfa': 'MFA 设备', + 'app.settings.security.mfa-description': '未绑定 MFA 设备,绑定后,可以进行二次确认', + 'app.settings.security.modify': '修改', + 'app.settings.security.set': '设置', + 'app.settings.security.bind': '绑定', + 'app.settings.binding.taobao': '绑定淘宝', + 'app.settings.binding.taobao-description': '当前未绑定淘宝账号', + 'app.settings.binding.alipay': '绑定支付宝', + 'app.settings.binding.alipay-description': '当前未绑定支付宝账号', + 'app.settings.binding.dingding': '绑定钉钉', + 'app.settings.binding.dingding-description': '当前未绑定钉钉账号', + 'app.settings.binding.bind': '绑定', + 'app.settings.notification.password': '账户密码', + 'app.settings.notification.password-description': '其他用户的消息将以站内信的形式通知', + 'app.settings.notification.messages': '系统消息', + 'app.settings.notification.messages-description': '系统消息将以站内信的形式通知', + 'app.settings.notification.todo': '待办任务', + 'app.settings.notification.todo-description': '待办任务将以站内信的形式通知', + 'app.settings.open': '开', + 'app.settings.close': '关', +}; diff --git a/admin-v5/src/locales/zh-TW.ts b/admin-v5/src/locales/zh-TW.ts new file mode 100644 index 0000000..6ad5f93 --- /dev/null +++ b/admin-v5/src/locales/zh-TW.ts @@ -0,0 +1,20 @@ +import component from './zh-TW/component'; +import globalHeader from './zh-TW/globalHeader'; +import menu from './zh-TW/menu'; +import pwa from './zh-TW/pwa'; +import settingDrawer from './zh-TW/settingDrawer'; +import settings from './zh-TW/settings'; + +export default { + 'navBar.lang': '語言', + 'layout.user.link.help': '幫助', + 'layout.user.link.privacy': '隱私', + 'layout.user.link.terms': '條款', + 'app.preview.down.block': '下載此頁面到本地項目', + ...globalHeader, + ...menu, + ...settingDrawer, + ...settings, + ...pwa, + ...component, +}; diff --git a/admin-v5/src/locales/zh-TW/component.ts b/admin-v5/src/locales/zh-TW/component.ts new file mode 100644 index 0000000..ba48e29 --- /dev/null +++ b/admin-v5/src/locales/zh-TW/component.ts @@ -0,0 +1,5 @@ +export default { + 'component.tagSelect.expand': '展開', + 'component.tagSelect.collapse': '收起', + 'component.tagSelect.all': '全部', +}; diff --git a/admin-v5/src/locales/zh-TW/globalHeader.ts b/admin-v5/src/locales/zh-TW/globalHeader.ts new file mode 100644 index 0000000..ed58451 --- /dev/null +++ b/admin-v5/src/locales/zh-TW/globalHeader.ts @@ -0,0 +1,17 @@ +export default { + 'component.globalHeader.search': '站內搜索', + 'component.globalHeader.search.example1': '搜索提示壹', + 'component.globalHeader.search.example2': '搜索提示二', + 'component.globalHeader.search.example3': '搜索提示三', + 'component.globalHeader.help': '使用手冊', + 'component.globalHeader.notification': '通知', + 'component.globalHeader.notification.empty': '妳已查看所有通知', + 'component.globalHeader.message': '消息', + 'component.globalHeader.message.empty': '您已讀完所有消息', + 'component.globalHeader.event': '待辦', + 'component.globalHeader.event.empty': '妳已完成所有待辦', + 'component.noticeIcon.clear': '清空', + 'component.noticeIcon.cleared': '清空了', + 'component.noticeIcon.empty': '暫無資料', + 'component.noticeIcon.view-more': '查看更多', +}; diff --git a/admin-v5/src/locales/zh-TW/menu.ts b/admin-v5/src/locales/zh-TW/menu.ts new file mode 100644 index 0000000..6969ccc --- /dev/null +++ b/admin-v5/src/locales/zh-TW/menu.ts @@ -0,0 +1,52 @@ +export default { + 'menu.welcome': '歡迎', + 'menu.more-blocks': '更多區塊', + 'menu.home': '首頁', + 'menu.login': '登錄', + 'menu.admin': '权限', + 'menu.admin.sub-page': '二级管理页', + 'menu.exception.403': '403', + 'menu.exception.404': '404', + 'menu.exception.500': '500', + 'menu.register': '註冊', + 'menu.register-result': '註冊結果', + 'menu.dashboard': 'Dashboard', + 'menu.dashboard.analysis': '分析頁', + 'menu.dashboard.monitor': '監控頁', + 'menu.dashboard.workplace': '工作臺', + 'menu.form': '表單頁', + 'menu.form.basic-form': '基礎表單', + 'menu.form.step-form': '分步表單', + 'menu.form.step-form.info': '分步表單(填寫轉賬信息)', + 'menu.form.step-form.confirm': '分步表單(確認轉賬信息)', + 'menu.form.step-form.result': '分步表單(完成)', + 'menu.form.advanced-form': '高級表單', + 'menu.list': '列表頁', + 'menu.list.table-list': '查詢表格', + 'menu.list.basic-list': '標淮列表', + 'menu.list.card-list': '卡片列表', + 'menu.list.search-list': '搜索列表', + 'menu.list.search-list.articles': '搜索列表(文章)', + 'menu.list.search-list.projects': '搜索列表(項目)', + 'menu.list.search-list.applications': '搜索列表(應用)', + 'menu.profile': '詳情頁', + 'menu.profile.basic': '基礎詳情頁', + 'menu.profile.advanced': '高級詳情頁', + 'menu.result': '結果頁', + 'menu.result.success': '成功頁', + 'menu.result.fail': '失敗頁', + 'menu.account': '個人頁', + 'menu.account.center': '個人中心', + 'menu.account.settings': '個人設置', + 'menu.account.trigger': '觸發報錯', + 'menu.account.logout': '退出登錄', + 'menu.exception': '异常页', + 'menu.exception.not-permission': '403', + 'menu.exception.not-find': '404', + 'menu.exception.server-error': '500', + 'menu.exception.trigger': '触发错误', + 'menu.editor': '圖形編輯器', + 'menu.editor.flow': '流程編輯器', + 'menu.editor.mind': '腦圖編輯器', + 'menu.editor.koni': '拓撲編輯器', +}; diff --git a/admin-v5/src/locales/zh-TW/pwa.ts b/admin-v5/src/locales/zh-TW/pwa.ts new file mode 100644 index 0000000..108a6e4 --- /dev/null +++ b/admin-v5/src/locales/zh-TW/pwa.ts @@ -0,0 +1,6 @@ +export default { + 'app.pwa.offline': '當前處於離線狀態', + 'app.pwa.serviceworker.updated': '有新內容', + 'app.pwa.serviceworker.updated.hint': '請點擊“刷新”按鈕或者手動刷新頁面', + 'app.pwa.serviceworker.updated.ok': '刷新', +}; diff --git a/admin-v5/src/locales/zh-TW/settingDrawer.ts b/admin-v5/src/locales/zh-TW/settingDrawer.ts new file mode 100644 index 0000000..454da28 --- /dev/null +++ b/admin-v5/src/locales/zh-TW/settingDrawer.ts @@ -0,0 +1,31 @@ +export default { + 'app.setting.pagestyle': '整體風格設置', + 'app.setting.pagestyle.dark': '暗色菜單風格', + 'app.setting.pagestyle.light': '亮色菜單風格', + 'app.setting.content-width': '內容區域寬度', + 'app.setting.content-width.fixed': '定寬', + 'app.setting.content-width.fluid': '流式', + 'app.setting.themecolor': '主題色', + 'app.setting.themecolor.dust': '薄暮', + 'app.setting.themecolor.volcano': '火山', + 'app.setting.themecolor.sunset': '日暮', + 'app.setting.themecolor.cyan': '明青', + 'app.setting.themecolor.green': '極光綠', + 'app.setting.themecolor.daybreak': '拂曉藍(默認)', + 'app.setting.themecolor.geekblue': '極客藍', + 'app.setting.themecolor.purple': '醬紫', + 'app.setting.navigationmode': '導航模式', + 'app.setting.sidemenu': '側邊菜單布局', + 'app.setting.topmenu': '頂部菜單布局', + 'app.setting.fixedheader': '固定 Header', + 'app.setting.fixedsidebar': '固定側邊菜單', + 'app.setting.fixedsidebar.hint': '側邊菜單布局時可配置', + 'app.setting.hideheader': '下滑時隱藏 Header', + 'app.setting.hideheader.hint': '固定 Header 時可配置', + 'app.setting.othersettings': '其他設置', + 'app.setting.weakmode': '色弱模式', + 'app.setting.copy': '拷貝設置', + 'app.setting.copyinfo': '拷貝成功,請到 config/defaultSettings.js 中替換默認配置', + 'app.setting.production.hint': + '配置欄只在開發環境用於預覽,生產環境不會展現,請拷貝後手動修改配置文件', +}; diff --git a/admin-v5/src/locales/zh-TW/settings.ts b/admin-v5/src/locales/zh-TW/settings.ts new file mode 100644 index 0000000..dd45151 --- /dev/null +++ b/admin-v5/src/locales/zh-TW/settings.ts @@ -0,0 +1,55 @@ +export default { + 'app.settings.menuMap.basic': '基本設置', + 'app.settings.menuMap.security': '安全設置', + 'app.settings.menuMap.binding': '賬號綁定', + 'app.settings.menuMap.notification': '新消息通知', + 'app.settings.basic.avatar': '頭像', + 'app.settings.basic.change-avatar': '更換頭像', + 'app.settings.basic.email': '郵箱', + 'app.settings.basic.email-message': '請輸入您的郵箱!', + 'app.settings.basic.nickname': '昵稱', + 'app.settings.basic.nickname-message': '請輸入您的昵稱!', + 'app.settings.basic.profile': '個人簡介', + 'app.settings.basic.profile-message': '請輸入個人簡介!', + 'app.settings.basic.profile-placeholder': '個人簡介', + 'app.settings.basic.country': '國家/地區', + 'app.settings.basic.country-message': '請輸入您的國家或地區!', + 'app.settings.basic.geographic': '所在省市', + 'app.settings.basic.geographic-message': '請輸入您的所在省市!', + 'app.settings.basic.address': '街道地址', + 'app.settings.basic.address-message': '請輸入您的街道地址!', + 'app.settings.basic.phone': '聯系電話', + 'app.settings.basic.phone-message': '請輸入您的聯系電話!', + 'app.settings.basic.update': '更新基本信息', + 'app.settings.security.strong': '強', + 'app.settings.security.medium': '中', + 'app.settings.security.weak': '弱', + 'app.settings.security.password': '賬戶密碼', + 'app.settings.security.password-description': '當前密碼強度', + 'app.settings.security.phone': '密保手機', + 'app.settings.security.phone-description': '已綁定手機', + 'app.settings.security.question': '密保問題', + 'app.settings.security.question-description': '未設置密保問題,密保問題可有效保護賬戶安全', + 'app.settings.security.email': '備用郵箱', + 'app.settings.security.email-description': '已綁定郵箱', + 'app.settings.security.mfa': 'MFA 設備', + 'app.settings.security.mfa-description': '未綁定 MFA 設備,綁定後,可以進行二次確認', + 'app.settings.security.modify': '修改', + 'app.settings.security.set': '設置', + 'app.settings.security.bind': '綁定', + 'app.settings.binding.taobao': '綁定淘寶', + 'app.settings.binding.taobao-description': '當前未綁定淘寶賬號', + 'app.settings.binding.alipay': '綁定支付寶', + 'app.settings.binding.alipay-description': '當前未綁定支付寶賬號', + 'app.settings.binding.dingding': '綁定釘釘', + 'app.settings.binding.dingding-description': '當前未綁定釘釘賬號', + 'app.settings.binding.bind': '綁定', + 'app.settings.notification.password': '賬戶密碼', + 'app.settings.notification.password-description': '其他用戶的消息將以站內信的形式通知', + 'app.settings.notification.messages': '系統消息', + 'app.settings.notification.messages-description': '系統消息將以站內信的形式通知', + 'app.settings.notification.todo': '待辦任務', + 'app.settings.notification.todo-description': '待辦任務將以站內信的形式通知', + 'app.settings.open': '開', + 'app.settings.close': '關', +}; diff --git a/admin-v5/src/manifest.json b/admin-v5/src/manifest.json new file mode 100644 index 0000000..05bd1c5 --- /dev/null +++ b/admin-v5/src/manifest.json @@ -0,0 +1,22 @@ +{ + "name": "AI Pro", + "short_name": "AI Pro", + "display": "standalone", + "start_url": "./?utm_source=homescreen", + "theme_color": "#002140", + "background_color": "#001529", + "icons": [ + { + "src": "icons/icon-192x192.png", + "sizes": "192x192" + }, + { + "src": "icons/icon-128x128.png", + "sizes": "128x128" + }, + { + "src": "icons/icon-512x512.png", + "sizes": "512x512" + } + ] +} \ No newline at end of file diff --git a/admin-v5/src/menuTree.ts b/admin-v5/src/menuTree.ts new file mode 100644 index 0000000..e15b9fb --- /dev/null +++ b/admin-v5/src/menuTree.ts @@ -0,0 +1,764 @@ + +interface PageInfo { + id: number; + path: string; + name: string; + parentId: number; + icon: string; +} + +// [ +// { "id": 1, "path": "/welcome", "name": "欢迎", "parentId": 0, "icon": "SmileOutlined" }, +// { "id": 2, "path": "/system", "name": "系统管理", "parentId": 0, "icon": "SettingOutlined" }, +// { "id": 3, "path": "/system/user/list", "name": "用户列表", "parentId": 2, "icon": "" }, +// { "id": 4, "path": "/system/role/list", "name": "角色列表", "parentId": 2, "icon": "" }, +// { "id": 5, "path": "/system/menu/list", "name": "菜单列表", "parentId": 2, "icon": "" }, +// { "id": 6, "path": "/system/dept/list", "name": "机构列表", "parentId": 2, "icon": "" }, +// { "id": 7, "path": "/system/dict/list", "name": "字典列表", "parentId": 2, "icon": "" }, +// { "id": 8, "path": "/log", "name": "日志管理", "parentId": 0, "icon": "DeleteOutlined" }, +// { "id": 9, "path": "/log/loginLog/list", "name": "登录日志", "parentId": 8, "icon": "" }, +// { "id": 10, "path": "/log/sysLog/list", "name": "操作日志", "parentId": 8, "icon": "" }, +// { "id": 11, "path": "/ums", "name": "会员管理", "parentId": 0, "icon": "FrownOutlined" }, +// { "id": 12, "path": "/ums/member/list", "name": "会员列表", "parentId": 11, "icon": "" }, +// { "id": 13, "path": "/ums/memberLevel/list", "name": "会员等级", "parentId": 11, "icon": "" }, +// { "id": 16, "path": "/pms", "name": "商品管理", "parentId": 0, "icon": "GiftOutlined" }, +// { "id": 17, "path": "/pms/productCategory/list", "name": "商品分类", "parentId": 16, "icon": "" }, +// { "id": 18, "path": "/pms/productBrand/list", "name": "商品品牌", "parentId": 16, "icon": "" }, +// { "id": 19, "path": "/pms/product/list", "name": "商品列表", "parentId": 16, "icon": "" }, +// { "id": 20, "path": "/oms", "name": "订单管理", "parentId": 0, "icon": "DollarCircleOutlined" }, +// { "id": 21, "path": "/oms/orderSetting/list", "name": "订单设置", "parentId": 20, "icon": "" }, +// { "id": 22, "path": "/oms/orderReturnApply/list", "name": "退货列表", "parentId": 20, "icon": "" }, +// { "id": 23, "path": "/oms/orderReturnReason/list", "name": "退货原因", "parentId": 20, "icon": "" }, +// { "id": 24, "path": "/oms/order/list", "name": "订单列表", "parentId": 20, "icon": "" }, +// { "id": 25, "path": "/sms", "name": "营销管理", "parentId": 0, "icon": "AlertOutlined" }, +// { "id": 26, "path": "/sms/flashPromotion/list", "name": "秒杀活动", "parentId": 25, "icon": "" }, +// { "id": 27, "path": "/sms/homeBrand/list", "name": "品牌推荐", "parentId": 25, "icon": "" }, +// { "id": 28, "path": "/sms/homeNewProduct/list", "name": "新品推荐", "parentId": 25, "icon": "" }, +// { "id": 29, "path": "/sms/homeRecommendProduct/list", "name": "人气推荐", "parentId": 25, "icon": "" }, +// { "id": 30, "path": "/sms/homeRecommendSubject/list", "name": "专题推荐", "parentId": 25, "icon": "" }, +// { "id": 31, "path": "/sms/homeAdvertise/list", "name": "广告列表", "parentId": 25, "icon": "" }, +// { "id": 32, "path": "/sms/coupon/list", "name": "优惠券", "parentId": 25, "icon": "" }, +// { "id": 33, "path": "/system/job/list", "name": "职位列表", "parentId": 2, "icon": "" }, +// { "id": 109, "path": "/pms/attribute/list", "name": "属性选项", "parentId": 16, "icon": "" }, +// { "id": 113, "path": "/pms/attributecategory/list", "name": "属性分类", "parentId": 16, "icon": "" }, +// ] + +const defMenu = [ + { "id": 2, "path": "/system", "name": "系统管理", "parentId": 0, "icon": "SettingOutlined" }, + { "id": 3, "path": "/system/user/list", "name": "用户列表", "parentId": 2, "icon": "" }, + { "id": 4, "path": "/system/role/list", "name": "角色列表", "parentId": 2, "icon": "" }, + { "id": 5, "path": "/system/menu/list", "name": "菜单列表", "parentId": 2, "icon": "" }, + { "id": 6, "path": "/system/dept/list", "name": "机构列表", "parentId": 2, "icon": "" }, + { "id": 7, "path": "/system/dict/list", "name": "字典列表", "parentId": 2, "icon": "" }, + + { "id": 8, "path": "/log", "name": "日志管理", "parentId": 0, "icon": "DeleteOutlined" }, + { "id": 9, "path": "/log/loginLog/list", "name": "登录日志", "parentId": 8, "icon": "" }, + { "id": 10, "path": "/log/sysLog/list", "name": "操作日志", "parentId": 8, "icon": "" }, + { "id": 11, "path": "/ums", "name": "会员管理", "parentId": 0, "icon": "FrownOutlined" }, + { "id": 12, "path": "/ums/member/list", "name": "会员列表", "parentId": 11, "icon": "" }, + { "id": 13, "path": "/ums/memberLevel/list", "name": "会员等级", "parentId": 11, "icon": "" }, + { "id": 16, "path": "/pms", "name": "商品管理", "parentId": 0, "icon": "GiftOutlined" }, + { "id": 17, "path": "/pms/productCategory/list", "name": "商品分类", "parentId": 16, "icon": "" }, + { "id": 18, "path": "/pms/productBrand/list", "name": "商品品牌", "parentId": 16, "icon": "" }, + { "id": 19, "path": "/pms/product/list", "name": "商品列表", "parentId": 16, "icon": "" }, + { "id": 20, "path": "/oms", "name": "订单管理", "parentId": 0, "icon": "DollarCircleOutlined" }, + { "id": 21, "path": "/oms/orderSetting/list", "name": "订单设置", "parentId": 20, "icon": "" }, + { "id": 22, "path": "/oms/orderReturnApply/list", "name": "退货列表", "parentId": 20, "icon": "" }, + { "id": 23, "path": "/oms/orderReturnReason/list", "name": "退货原因", "parentId": 20, "icon": "" }, + { "id": 24, "path": "/oms/order/list", "name": "订单列表", "parentId": 20, "icon": "" }, + { "id": 25, "path": "/sms", "name": "营销管理", "parentId": 0, "icon": "AlertOutlined" }, + { "id": 26, "path": "/sms/flashPromotion/list", "name": "秒杀活动", "parentId": 25, "icon": "" }, + { "id": 27, "path": "/sms/homeBrand/list", "name": "品牌推荐", "parentId": 25, "icon": "" }, + { "id": 28, "path": "/sms/homeNewProduct/list", "name": "新品推荐", "parentId": 25, "icon": "" }, + { "id": 29, "path": "/sms/homeRecommendProduct/list", "name": "人气推荐", "parentId": 25, "icon": "" }, + { "id": 30, "path": "/sms/homeRecommendSubject/list", "name": "专题推荐", "parentId": 25, "icon": "" }, + { "id": 31, "path": "/sms/homeAdvertise/list", "name": "广告列表", "parentId": 25, "icon": "" }, + { "id": 32, "path": "/sms/coupon/list", "name": "优惠券", "parentId": 25, "icon": "" }, + { "id": 33, "path": "/system/job/list", "name": "职位列表", "parentId": 2, "icon": "" }, + { "id": 109, "path": "/pms/attribute/list", "name": "属性选项", "parentId": 16, "icon": "" }, + { "id": 113, "path": "/pms/attributecategory/list", "name": "属性分类", "parentId": 16, "icon": "" }, +] + +const menuTree = [ + + + + { "id": 1, "path": "/welcome", "name": "欢迎", "parentId": 0, "icon": "SmileOutlined" }, + + + { "id": 100, "path": "/article/news/list", "name": "News数据库", "parentId": 0, "icon": "DatabaseOutlined" }, + { "id": 101, "path": "/article/qa/list", "name": "Q&A数据", "parentId": 0, "icon": "BulbOutlined" }, + + { "id": 102, "path": "/article/subscribe/list", "name": "订阅管理", "parentId": 0, "icon": "FileAddOutlined" }, + { "id": 103, "path": "/article/tag/list", "name": "标签管理", "parentId": 0, "icon": "TagsOutlined" }, + { "id": 104, "path": "/umsV2/member/list", "name": "客户管理", "parentId": 0, "icon": "UserOutlined" }, + + { "id": 105, "path": "/systemV2/role/list", "name": "权限管理", "parentId": 0, "icon": "KeyOutlined" }, + { "id": 106, "path": "/systemV2/user/list", "name": "用户管理", "parentId": 0, "icon": "UsergroupDeleteOutlined" }, + + // { "id": 109, "path": "/article/edit/1", "name": "编辑器", "parentId": 0, "icon": "DatabaseOutlined" }, + // { "id": 110, "path": "/article/add", "name": "新增文章", "parentId": 0, "icon": "DatabaseOutlined" }, + + + // ...defMenu, +] +// [ +// { +// "id": 1, +// "path": "/welcome", +// "name": "欢迎", +// "parentId": 0, +// "icon": "SmileOutlined" +// }, +// { +// "id": 2, +// "path": "/system", +// "name": "系统管理", +// "parentId": 0, +// "icon": "SettingOutlined" +// }, +// { +// "id": 3, +// "path": "/system/user/list", +// "name": "用户列表", +// "parentId": 2, +// "icon": "" +// }, +// { +// "id": 4, +// "path": "/system/role/list", +// "name": "角色列表", +// "parentId": 2, +// "icon": "" +// }, +// { +// "id": 5, +// "path": "/system/menu/list", +// "name": "菜单列表", +// "parentId": 2, +// "icon": "" +// }, +// { +// "id": 6, +// "path": "/system/dept/list", +// "name": "机构列表", +// "parentId": 2, +// "icon": "" +// }, +// { +// "id": 7, +// "path": "/system/dict/list", +// "name": "字典列表", +// "parentId": 2, +// "icon": "" +// }, +// { +// "id": 8, +// "path": "/log", +// "name": "日志管理", +// "parentId": 0, +// "icon": "DeleteOutlined" +// }, +// { +// "id": 9, +// "path": "/log/loginLog/list", +// "name": "登录日志", +// "parentId": 8, +// "icon": "" +// }, +// { +// "id": 10, +// "path": "/log/sysLog/list", +// "name": "操作日志", +// "parentId": 8, +// "icon": "" +// }, +// { +// "id": 11, +// "path": "/ums", +// "name": "会员管理", +// "parentId": 0, +// "icon": "FrownOutlined" +// }, +// { +// "id": 12, +// "path": "/ums/member/list", +// "name": "会员列表", +// "parentId": 11, +// "icon": "" +// }, +// { +// "id": 13, +// "path": "/ums/memberLevel/list", +// "name": "会员等级", +// "parentId": 11, +// "icon": "" +// }, +// { +// "id": 16, +// "path": "/pms", +// "name": "商品管理", +// "parentId": 0, +// "icon": "GiftOutlined" +// }, +// { +// "id": 17, +// "path": "/pms/productCategory/list", +// "name": "商品分类", +// "parentId": 16, +// "icon": "" +// }, +// { +// "id": 18, +// "path": "/pms/productBrand/list", +// "name": "商品品牌", +// "parentId": 16, +// "icon": "" +// }, +// { +// "id": 19, +// "path": "/pms/product/list", +// "name": "商品列表", +// "parentId": 16, +// "icon": "" +// }, +// { +// "id": 20, +// "path": "/oms", +// "name": "订单管理", +// "parentId": 0, +// "icon": "DollarCircleOutlined" +// }, +// { +// "id": 21, +// "path": "/oms/orderSetting/list", +// "name": "订单设置", +// "parentId": 20, +// "icon": "" +// }, +// { +// "id": 22, +// "path": "/oms/orderReturnApply/list", +// "name": "退货列表", +// "parentId": 20, +// "icon": "" +// }, +// { +// "id": 23, +// "path": "/oms/orderReturnReason/list", +// "name": "退货原因", +// "parentId": 20, +// "icon": "" +// }, +// { +// "id": 24, +// "path": "/oms/order/list", +// "name": "订单列表", +// "parentId": 20, +// "icon": "" +// }, +// { +// "id": 25, +// "path": "/sms", +// "name": "营销管理", +// "parentId": 0, +// "icon": "AlertOutlined" +// }, +// { +// "id": 26, +// "path": "/sms/flashPromotion/list", +// "name": "秒杀活动", +// "parentId": 25, +// "icon": "" +// }, +// { +// "id": 27, +// "path": "/sms/homeBrand/list", +// "name": "品牌推荐", +// "parentId": 25, +// "icon": "" +// }, +// { +// "id": 28, +// "path": "/sms/homeNewProduct/list", +// "name": "新品推荐", +// "parentId": 25, +// "icon": "" +// }, +// { +// "id": 29, +// "path": "/sms/homeRecommendProduct/list", +// "name": "人气推荐", +// "parentId": 25, +// "icon": "" +// }, +// { +// "id": 30, +// "path": "/sms/homeRecommendSubject/list", +// "name": "专题推荐", +// "parentId": 25, +// "icon": "" +// }, +// { +// "id": 31, +// "path": "/sms/homeAdvertise/list", +// "name": "广告列表", +// "parentId": 25, +// "icon": "" +// }, +// { +// "id": 32, +// "path": "/sms/coupon/list", +// "name": "优惠券", +// "parentId": 25, +// "icon": "" +// }, +// { +// "id": 33, +// "path": "/system/job/list", +// "name": "职位列表", +// "parentId": 2, +// "icon": "" +// }, +// { +// "id": 109, +// "path": "/pms/attribute/list", +// "name": "属性选项", +// "parentId": 16, +// "icon": "" +// }, +// { +// "id": 113, +// "path": "/pms/attributecategory/list", +// "name": "属性分类", +// "parentId": 16, +// "icon": "" +// } +// ] + + +export default { + menuTree, + "menuTreeVue": [ + { + "id": 2, + "parentId": 0, + "title": "系统管理", + "path": "/sys", + "name": "系统管理", + "icon": "el-icon-setting", + "redirect": "/sys/userList", + "component": "Layout", + "meta": { + "title": "系统管理", + "icon": "el-icon-setting" + } + }, + { + "id": 3, + "parentId": 2, + "title": "用户列表", + "path": "userList", + "name": "用户列表", + "icon": "el-icon-user", + "redirect": "", + "component": "system/user/index", + "meta": { + "title": "用户列表", + "icon": "el-icon-user" + } + }, + { + "id": 4, + "parentId": 2, + "title": "角色列表", + "path": "roleList", + "name": "角色列表", + "icon": "el-icon-female", + "redirect": "", + "component": "system/role/index", + "meta": { + "title": "角色列表", + "icon": "el-icon-female" + } + }, + { + "id": 5, + "parentId": 2, + "title": "菜单列表", + "path": "resourcesList", + "name": "菜单列表", + "icon": "el-icon-postcard", + "redirect": "", + "component": "system/resource/index", + "meta": { + "title": "菜单列表", + "icon": "el-icon-postcard" + } + }, + { + "id": 6, + "parentId": 2, + "title": "机构列表", + "path": "deptList", + "name": "机构列表", + "icon": "el-icon-bangzhu", + "redirect": "", + "component": "system/dept/index", + "meta": { + "title": "机构列表", + "icon": "el-icon-bangzhu" + } + }, + { + "id": 7, + "parentId": 2, + "title": "字典列表", + "path": "dictList", + "name": "字典列表", + "icon": "el-icon-delete-location", + "redirect": "", + "component": "system/dict/index", + "meta": { + "title": "字典列表", + "icon": "el-icon-delete-location" + } + }, + { + "id": 8, + "parentId": 0, + "title": "日志管理", + "path": "/log", + "name": "日志管理", + "icon": "el-icon-delete", + "redirect": "/log/loginLogList", + "component": "Layout", + "meta": { + "title": "日志管理", + "icon": "el-icon-delete" + } + }, + { + "id": 9, + "parentId": 8, + "title": "登录日志", + "path": "loginLogList", + "name": "登录日志", + "icon": "el-icon-remove-outline", + "redirect": "", + "component": "log/loginlog/index", + "meta": { + "title": "登录日志", + "icon": "el-icon-remove-outline" + } + }, + { + "id": 10, + "parentId": 8, + "title": "操作日志", + "path": "sysLogList", + "name": "操作日志", + "icon": "el-icon-camera", + "redirect": "", + "component": "log/syslog/index", + "meta": { + "title": "操作日志", + "icon": "el-icon-camera" + } + }, + { + "id": 11, + "parentId": 0, + "title": "会员管理", + "path": "/ums", + "name": "会员管理", + "icon": "el-icon-headset", + "redirect": "/ums/memberList", + "component": "Layout", + "meta": { + "title": "会员管理", + "icon": "el-icon-headset" + } + }, + { + "id": 12, + "parentId": 11, + "title": "会员列表", + "path": "memberList", + "name": "会员列表", + "icon": "el-icon-camera", + "redirect": "", + "component": "ums/member/index", + "meta": { + "title": "会员列表", + "icon": "el-icon-camera" + } + }, + { + "id": 13, + "parentId": 11, + "title": "会员等级", + "path": "memberLevelList", + "name": "会员等级", + "icon": "el-icon-remove-outline", + "redirect": "", + "component": "ums/member_level/index", + "meta": { + "title": "会员等级", + "icon": "el-icon-remove-outline" + } + }, + { + "id": 16, + "parentId": 0, + "title": "商品管理", + "path": "/pms", + "name": "商品管理", + "icon": "el-icon-coffee", + "redirect": "/pms/productList", + "component": "Layout", + "meta": { + "title": "商品管理", + "icon": "el-icon-coffee" + } + }, + { + "id": 17, + "parentId": 16, + "title": "商品分类", + "path": "productCategoryList", + "name": "商品分类", + "icon": "el-icon-remove-outline", + "redirect": "", + "component": "pms/product_category/index", + "meta": { + "title": "商品分类", + "icon": "el-icon-remove-outline" + } + }, + { + "id": 18, + "parentId": 16, + "title": "商品品牌", + "path": "productBrandList", + "name": "商品品牌", + "icon": "el-icon-remove-outline", + "redirect": "", + "component": "pms/product_brand/index", + "meta": { + "title": "商品品牌", + "icon": "el-icon-remove-outline" + } + }, + { + "id": 19, + "parentId": 16, + "title": "商品列表", + "path": "productList", + "name": "商品列表", + "icon": "el-icon-camera", + "redirect": "", + "component": "pms/product/index", + "meta": { + "title": "商品列表", + "icon": "el-icon-camera" + } + }, + { + "id": 20, + "parentId": 0, + "title": "订单管理", + "path": "/oms", + "name": "订单管理", + "icon": "el-icon-shopping-cart-full", + "redirect": "/oms/orderList", + "component": "Layout", + "meta": { + "title": "订单管理", + "icon": "el-icon-shopping-cart-full" + } + }, + { + "id": 21, + "parentId": 20, + "title": "订单设置", + "path": "orderSetting", + "name": "订单设置", + "icon": "el-icon-remove-outline", + "redirect": "", + "component": "oms/order_setting/index", + "meta": { + "title": "订单设置", + "icon": "el-icon-remove-outline" + } + }, + { + "id": 22, + "parentId": 20, + "title": "退货列表", + "path": "orderReturnApplyList", + "name": "退货列表", + "icon": "el-icon-remove-outline", + "redirect": "", + "component": "oms/order_return_apply/index", + "meta": { + "title": "退货列表", + "icon": "el-icon-remove-outline" + } + }, + { + "id": 23, + "parentId": 20, + "title": "退货原因", + "path": "orderReturnReasonList", + "name": "退货原因", + "icon": "el-icon-remove-outline", + "redirect": "", + "component": "oms/order_return_reason/index", + "meta": { + "title": "退货原因", + "icon": "el-icon-remove-outline" + } + }, + { + "id": 24, + "parentId": 20, + "title": "订单列表", + "path": "orderList", + "name": "订单列表", + "icon": "el-icon-camera", + "redirect": "", + "component": "oms/order/index", + "meta": { + "title": "订单列表", + "icon": "el-icon-camera" + } + }, + { + "id": 25, + "parentId": 0, + "title": "营销管理", + "path": "/sms", + "name": "营销管理", + "icon": "el-icon-cold-drink", + "redirect": "/sms/flashPromotionList", + "component": "Layout", + "meta": { + "title": "营销管理", + "icon": "el-icon-cold-drink" + } + }, + { + "id": 26, + "parentId": 25, + "title": "秒杀活动", + "path": "flashPromotionList", + "name": "秒杀活动", + "icon": "el-icon-camera", + "redirect": "", + "component": "sms/flash_promotion/index", + "meta": { + "title": "秒杀活动", + "icon": "el-icon-camera" + } + }, + { + "id": 27, + "parentId": 25, + "title": "品牌推荐", + "path": "homeBrandList", + "name": "品牌推荐", + "icon": "el-icon-remove-outline", + "redirect": "", + "component": "sms/home_brand/index", + "meta": { + "title": "品牌推荐", + "icon": "el-icon-remove-outline" + } + }, + { + "id": 28, + "parentId": 25, + "title": "新品推荐", + "path": "homeNewProductList", + "name": "新品推荐", + "icon": "el-icon-remove-outline", + "redirect": "", + "component": "sms/home_new_product/index", + "meta": { + "title": "新品推荐", + "icon": "el-icon-remove-outline" + } + }, + { + "id": 29, + "parentId": 25, + "title": "人气推荐", + "path": "homeRecommendProductList", + "name": "人气推荐", + "icon": "el-icon-remove-outline", + "redirect": "", + "component": "sms/home_recommend_product/index", + "meta": { + "title": "人气推荐", + "icon": "el-icon-remove-outline" + } + }, + { + "id": 30, + "parentId": 25, + "title": "专题推荐", + "path": "homeRecommendSubjectList", + "name": "专题推荐", + "icon": "el-icon-remove-outline", + "redirect": "", + "component": "sms/home_recommend_subject/index", + "meta": { + "title": "专题推荐", + "icon": "el-icon-remove-outline" + } + }, + { + "id": 31, + "parentId": 25, + "title": "广告列表", + "path": "homeAdvertiseList", + "name": "广告列表", + "icon": "el-icon-remove-outline", + "redirect": "", + "component": "sms/home_advertise/index", + "meta": { + "title": "广告列表", + "icon": "el-icon-remove-outline" + } + }, + { + "id": 32, + "parentId": 25, + "title": "优惠券", + "path": "couponList", + "name": "优惠券", + "icon": "el-icon-remove-outline", + "redirect": "", + "component": "sms/coupon/index", + "meta": { + "title": "优惠券", + "icon": "el-icon-remove-outline" + } + }, + { + "id": 33, + "parentId": 2, + "title": "职位列表", + "path": "jobList", + "name": "职位列表", + "icon": "el-icon-delete-location", + "redirect": "", + "component": "system/job/index", + "meta": { + "title": "职位列表", + "icon": "el-icon-delete-location" + } + } + ] +} \ No newline at end of file diff --git a/admin-v5/src/pages/404.tsx b/admin-v5/src/pages/404.tsx new file mode 100644 index 0000000..301e173 --- /dev/null +++ b/admin-v5/src/pages/404.tsx @@ -0,0 +1,18 @@ +import { Button, Result } from 'antd'; +import React from 'react'; +import { history } from 'umi'; + +const NoFoundPage: React.FC = () => ( + history.push('/')}> + Back Home + + } + /> +); + +export default NoFoundPage; diff --git a/admin-v5/src/pages/Admin.tsx b/admin-v5/src/pages/Admin.tsx new file mode 100644 index 0000000..c43fd61 --- /dev/null +++ b/admin-v5/src/pages/Admin.tsx @@ -0,0 +1,45 @@ +import React from 'react'; +import { HeartTwoTone, SmileTwoTone } from '@ant-design/icons'; +import { Card, Typography, Alert } from 'antd'; +import { PageHeaderWrapper } from '@ant-design/pro-layout'; +import { useIntl } from 'umi'; + +const Admin: React.FC = () => { + const intl = useIntl(); + return ( + + + + {/* + Ant Design Pro You + */} + + {/*

+ Want to add more pages? Please refer to{' '} + + use block + + 。 +

*/} +
+ ); +}; + +export default Admin; diff --git a/admin-v5/src/pages/TableList/components/UpdateForm.tsx b/admin-v5/src/pages/TableList/components/UpdateForm.tsx new file mode 100644 index 0000000..00a9bde --- /dev/null +++ b/admin-v5/src/pages/TableList/components/UpdateForm.tsx @@ -0,0 +1,209 @@ +import React from 'react'; +import { Modal } from 'antd'; +import { + ProFormSelect, + ProFormText, + ProFormTextArea, + StepsForm, + ProFormRadio, + ProFormDateTimePicker, +} from '@ant-design/pro-form'; +import { useIntl, FormattedMessage } from 'umi'; + +export type FormValueType = { + target?: string; + template?: string; + type?: string; + time?: string; + frequency?: string; +} & Partial; + +export type UpdateFormProps = { + onCancel: (flag?: boolean, formVals?: FormValueType) => void; + onSubmit: (values: FormValueType) => Promise; + updateModalVisible: boolean; + values: Partial; +}; + +const UpdateForm: React.FC = (props) => { + const intl = useIntl(); + return ( + { + return ( + { + props.onCancel(); + }} + > + {dom} + + ); + }} + onFinish={props.onSubmit} + > + + + ), + }, + ]} + /> + + ), + min: 5, + }, + ]} + /> + + + + + + + + + ), + }, + ]} + /> + + + + ); +}; + +export default UpdateForm; diff --git a/admin-v5/src/pages/TableList/index.tsx b/admin-v5/src/pages/TableList/index.tsx new file mode 100644 index 0000000..1ed5864 --- /dev/null +++ b/admin-v5/src/pages/TableList/index.tsx @@ -0,0 +1,393 @@ +import { PlusOutlined } from '@ant-design/icons'; +import { Button, message, Input, Drawer } from 'antd'; +import React, { useState, useRef } from 'react'; +import { useIntl, FormattedMessage } from 'umi'; +import { PageContainer, FooterToolbar } from '@ant-design/pro-layout'; +import type { ProColumns, ActionType } from '@ant-design/pro-table'; +import ProTable from '@ant-design/pro-table'; +import { ModalForm, ProFormText, ProFormTextArea } from '@ant-design/pro-form'; +import type { ProDescriptionsItemProps } from '@ant-design/pro-descriptions'; +import ProDescriptions from '@ant-design/pro-descriptions'; +import type { FormValueType } from './components/UpdateForm'; +import UpdateForm from './components/UpdateForm'; +import { rule, addRule, updateRule, removeRule } from '@/services/ant-design-pro/api'; + +/** + * @en-US Add node + * @zh-CN 添加节点 + * @param fields + */ +const handleAdd = async (fields: API.RuleListItem) => { + const hide = message.loading('正在添加'); + try { + await addRule({ ...fields }); + hide(); + message.success('Added successfully'); + return true; + } catch (error) { + hide(); + message.error('Adding failed, please try again!'); + return false; + } +}; + +/** + * @en-US Update node + * @zh-CN 更新节点 + * + * @param fields + */ +const handleUpdate = async (fields: FormValueType) => { + const hide = message.loading('Configuring'); + try { + await updateRule({ + name: fields.name, + desc: fields.desc, + key: fields.key, + }); + hide(); + + message.success('Configuration is successful'); + return true; + } catch (error) { + hide(); + message.error('Configuration failed, please try again!'); + return false; + } +}; + +/** + * Delete node + * @zh-CN 删除节点 + * + * @param selectedRows + */ +const handleRemove = async (selectedRows: API.RuleListItem[]) => { + const hide = message.loading('正在删除'); + if (!selectedRows) return true; + try { + await removeRule({ + key: selectedRows.map((row) => row.key), + }); + hide(); + message.success('Deleted successfully and will refresh soon'); + return true; + } catch (error) { + hide(); + message.error('Delete failed, please try again'); + return false; + } +}; + +const TableList: React.FC = () => { + /** + * @en-US Pop-up window of new window + * @zh-CN 新建窗口的弹窗 + * */ + const [createModalVisible, handleModalVisible] = useState(false); + /** + * @en-US The pop-up window of the distribution update window + * @zh-CN 分布更新窗口的弹窗 + * */ + const [updateModalVisible, handleUpdateModalVisible] = useState(false); + + const [showDetail, setShowDetail] = useState(false); + + const actionRef = useRef(); + const [currentRow, setCurrentRow] = useState(); + const [selectedRowsState, setSelectedRows] = useState([]); + + /** + * @en-US International configuration + * @zh-CN 国际化配置 + * */ + const intl = useIntl(); + + const columns: ProColumns[] = [ + { + title: ( + + ), + dataIndex: 'name', + tip: 'The rule name is the unique key', + render: (dom, entity) => { + return ( + { + setCurrentRow(entity); + setShowDetail(true); + }} + > + {dom} + + ); + }, + }, + { + title: , + dataIndex: 'desc', + valueType: 'textarea', + }, + { + title: ( + + ), + dataIndex: 'callNo', + sorter: true, + hideInForm: true, + renderText: (val: string) => + `${val}${intl.formatMessage({ + id: 'pages.searchTable.tenThousand', + defaultMessage: ' 万 ', + })}`, + }, + { + title: , + dataIndex: 'status', + hideInForm: true, + valueEnum: { + 0: { + text: ( + + ), + status: 'Default', + }, + 1: { + text: ( + + ), + status: 'Processing', + }, + 2: { + text: ( + + ), + status: 'Success', + }, + 3: { + text: ( + + ), + status: 'Error', + }, + }, + }, + { + title: ( + + ), + sorter: true, + dataIndex: 'updatedAt', + valueType: 'dateTime', + renderFormItem: (item, { defaultRender, ...rest }, form) => { + const status = form.getFieldValue('status'); + if (`${status}` === '0') { + return false; + } + if (`${status}` === '3') { + return ( + + ); + } + return defaultRender(item); + }, + }, + { + title: , + dataIndex: 'option', + valueType: 'option', + render: (_, record) => [ + { + handleUpdateModalVisible(true); + setCurrentRow(record); + }} + > + + , + + + , + ], + }, + ]; + + return ( + + + headerTitle={intl.formatMessage({ + id: 'pages.searchTable.title', + defaultMessage: 'Enquiry form', + })} + actionRef={actionRef} + rowKey="key" + search={{ + labelWidth: 120, + }} + toolBarRender={() => [ + , + ]} + request={rule} + columns={columns} + rowSelection={{ + onChange: (_, selectedRows) => { + setSelectedRows(selectedRows); + }, + }} + /> + {selectedRowsState?.length > 0 && ( + + {' '} + {selectedRowsState.length}{' '} + +    + + {' '} + {selectedRowsState.reduce((pre, item) => pre + item.callNo!, 0)}{' '} + + + + } + > + + + + )} + { + const success = await handleAdd(value as API.RuleListItem); + if (success) { + handleModalVisible(false); + if (actionRef.current) { + actionRef.current.reload(); + } + } + }} + > + + ), + }, + ]} + width="md" + name="name" + /> + + + { + const success = await handleUpdate(value); + if (success) { + handleUpdateModalVisible(false); + setCurrentRow(undefined); + if (actionRef.current) { + actionRef.current.reload(); + } + } + }} + onCancel={() => { + handleUpdateModalVisible(false); + if (!showDetail) { + setCurrentRow(undefined); + } + }} + updateModalVisible={updateModalVisible} + values={currentRow || {}} + /> + + { + setCurrentRow(undefined); + setShowDetail(false); + }} + closable={false} + > + {currentRow?.name && ( + + column={2} + title={currentRow?.name} + request={async () => ({ + data: currentRow || {}, + })} + params={{ + id: currentRow?.name, + }} + columns={columns as ProDescriptionsItemProps[]} + /> + )} + + + ); +}; + +export default TableList; diff --git a/admin-v5/src/pages/Welcome copy.tsx b/admin-v5/src/pages/Welcome copy.tsx new file mode 100644 index 0000000..a5ae9fc --- /dev/null +++ b/admin-v5/src/pages/Welcome copy.tsx @@ -0,0 +1,240 @@ +import { Card, Col, Row, Statistic, Typography } from 'antd'; +import ReactEcharts from 'echarts-for-react'; +// import { useState } from "react"; +import { ArrowDownOutlined, ArrowUpOutlined } from '@ant-design/icons'; +import { PageContainer } from '@ant-design/pro-layout'; +const { Link } = Typography; + +const Welcome: React.FC = () => { + // const [sales, setSales] = useState([5, 20, 36, 10, 10, 20]); + // const [inventorys, setInventorys] = useState([15, 30, 46, 20, 20, 40]); + const sales = [5, 20, 36, 10, 10, 20]; + const inventorys = [15, 30, 46, 20, 20, 40]; + + const getOption = () => { + return { + title: { + text: '销量与库存', + }, + tooltip: {}, + legend: { + data: ['销量', '库存'], + }, + xAxis: { + data: ['衬衫', '羊毛衫', '雪纺衫', '裤子', '高跟鞋', '袜子'], + }, + yAxis: {}, + series: [ + { + name: '销量', + type: 'bar', + data: sales, + }, + { + name: '库存', + type: 'bar', + data: inventorys, + }, + ], + }; + }; + + const getOption2 = () => { + return { + title: { + text: '用户访问来源', + subtext: '纯属虚构', + x: 'center', + }, + tooltip: { + trigger: 'item', + formatter: '{a}
{b} : {c} ({d}%)', + }, + legend: { + orient: 'vertical', + left: 'left', + data: ['直接访问', '邮件营销', '联盟广告', '视频广告', '搜索引擎'], + }, + series: [ + { + name: '访问来源', + type: 'pie', + radius: '55%', + center: ['50%', '60%'], + data: [ + { value: 335, name: '直接访问' }, + { value: 310, name: '邮件营销' }, + { value: 234, name: '联盟广告' }, + { value: 135, name: '视频广告' }, + { value: 1548, name: '搜索引擎' }, + ], + itemStyle: { + emphasis: { + shadowBlur: 10, + shadowOffsetX: 0, + shadowColor: 'rgba(0, 0, 0, 0.5)', + }, + }, + }, + ], + }; + }; + + const getOption3 = () => { + return { + title: { + text: '销量与库存', + }, + tooltip: {}, + legend: { + data: ['销量', '库存'], + }, + xAxis: { + data: ['衬衫', '羊毛衫', '雪纺衫', '裤子', '高跟鞋', '袜子'], + }, + yAxis: {}, + series: [ + { + name: '销量', + type: 'line', + data: [5, 20, 36, 10, 10, 20], + }, + { + name: '库存', + type: 'line', + data: [15, 30, 46, 20, 20, 40], + }, + ], + }; + }; + return ( + + + + { + window.open('https://github.com/feihua/zero-admin'); + }} + > + + Zero-Admin是一套基于go-zero框架实现的电商系统,包括前台商城系统和后台管理系统,提供了完整的电商解决方案。 +
+ zero-admin github 地址 +
+
+ + + { + window.open('https://github.com/feihua/zero-admin-ui'); + }} + > + + Zero-Admin-UI是一个基于React实现的电商后台管理系统的前端项目,为管理者提供了便捷高效的操作界面。 +
+
+ zero-admin-ui github 地址 +
+
+ + + { + window.open('https://github.com/feihua/flutter_mall'); + }} + > + + Flutter Mall是一个基于Flutter框架实现的电商系统移动端项目,旨在提供全面的购物体验。 +
+
+ flutter_mall github 地址 +
+
+ + + { + window.open('https://feihua.github.io'); + }} + > + + 基于vuepress和markdown编写的项目文档 +
+
+
+ 文档地址 +
+
+ +
+ + + + } + prefix="¥" + /> + + + + + + + + + + } + /> + + + + + } + suffix="%" + /> + + + + + + + + + + + + + + + + + + + + + + +
+ ); +}; + +export default Welcome; diff --git a/admin-v5/src/pages/Welcome.less b/admin-v5/src/pages/Welcome.less new file mode 100644 index 0000000..224a793 --- /dev/null +++ b/admin-v5/src/pages/Welcome.less @@ -0,0 +1,8 @@ +@import (reference) '~antd/es/style/themes/index'; + +.pre { + margin: 12px 0; + padding: 12px 20px; + background: @input-bg; + box-shadow: @card-shadow; +} diff --git a/admin-v5/src/pages/Welcome.tsx b/admin-v5/src/pages/Welcome.tsx new file mode 100644 index 0000000..9cf0ce5 --- /dev/null +++ b/admin-v5/src/pages/Welcome.tsx @@ -0,0 +1,45 @@ +import { Card, Col, Row, Statistic, Typography } from 'antd'; +import ReactEcharts from 'echarts-for-react'; +// import { useState } from "react"; +import { ArrowDownOutlined, ArrowUpOutlined } from '@ant-design/icons'; +import { PageContainer } from '@ant-design/pro-layout'; +import { useEffect } from 'react'; +import { queryAllRelations } from './systemV2/role/service'; +const { Link } = Typography; + +const Welcome: React.FC = () => { + // const [sales, setSales] = useState([5, 20, 36, 10, 10, 20]); + // const [inventorys, setInventorys] = useState([15, 30, 46, 20, 20, 40]); + const sales = [5, 20, 36, 10, 10, 20]; + const inventorys = [15, 30, 46, 20, 20, 40]; + + const initFunc = async () => { + queryAllRelations({ pageSize: 100, current: 0 }).then((res) => { + console.log("--queryAllRelations---->", res) + + + + + }); + } + + + useEffect(() => { + let isMounted = true + const fetchPost = async () => { + if (isMounted) { + initFunc() + } + } + + fetchPost() + + return () => { + isMounted = false + } + }, []) + + return ; +}; + +export default Welcome; diff --git a/admin-v5/src/pages/article/edit/MarkdownRender.tsx b/admin-v5/src/pages/article/edit/MarkdownRender.tsx new file mode 100644 index 0000000..cce5934 --- /dev/null +++ b/admin-v5/src/pages/article/edit/MarkdownRender.tsx @@ -0,0 +1,49 @@ +import { FC, useRef, useEffect } from "react"; + +// import "prismjs/themes/prism.css"; +// // @ts-ignore +// import codeSyntaxHighlight from "@toast-ui/editor-plugin-code-syntax-highlight/dist/toastui-editor-plugin-code-syntax-highlight-all.js"; +// import Viewer from "./viewer"; + +import "@toast-ui/editor/dist/toastui-editor-viewer.css"; + +import Editor from "./editor"; +// import '@toast-ui/editor/dist/theme/toastui-editor-dark.css'; +// import '@toast-ui/editor/dist/toastui-editor.css'; +// import '@toast-ui/editor/dist/theme/toastui-editor-dark.css'; +// import "@toast-ui/editor-plugin-code-syntax-highlight/dist/toastui-editor-plugin-code-syntax-highlight.css"; +//@ts-ignore + +// import { isDarkMode } from "../utils"; +// import ImagePreview from "./ImagePreview"; + +interface IProps { + content: string; +} +const MarkdownRender: FC = ({ content }) => { + const mdContainer = useRef(null); + // useEffect(() => { + // if (mdContainer.current) { + // const links = mdContainer.current.querySelectorAll("a"); + // [...links].forEach((link) => { + // link.setAttribute("target", "_blank"); + // }); + // } + // }, [mdContainer]); + + return ( + <> + {/* */} +
+ +
+ + ); +}; + +export default MarkdownRender; diff --git a/admin-v5/src/pages/article/edit/data.d.ts b/admin-v5/src/pages/article/edit/data.d.ts new file mode 100644 index 0000000..cdeccfb --- /dev/null +++ b/admin-v5/src/pages/article/edit/data.d.ts @@ -0,0 +1,47 @@ +import { Component } from 'react'; +import ToastuiEditor, { EditorOptions, ViewerOptions, EventMap } from '@toast-ui/editor'; +import ToastuiEditorViewer from '@toast-ui/editor/dist/toastui-editor-viewer'; + +export interface EventMapping { + onLoad: EventMap['load']; + onChange: EventMap['change']; + onCaretChange: EventMap['caretChange']; + onFocus: EventMap['focus']; + onBlur: EventMap['blur']; + onKeydown: EventMap['keydown']; + onKeyup: EventMap['keyup']; + onBeforePreviewRender: EventMap['beforePreviewRender']; + onBeforeConvertWysiwygToMarkdown: EventMap['beforeConvertWysiwygToMarkdown']; +} + +export type EventNames = keyof EventMapping; + +export type EditorProps = Omit & Partial; +export type ViewerProps = Omit & Partial; + +export class Editor extends Component { + getInstance(): ToastuiEditor; + + getRootElement(): HTMLElement; +} + +export class Viewer extends Component { + getInstance(): ToastuiEditorViewer; + + getRootElement(): HTMLElement; +} + + +export interface NewsListParams { + id?: number + all?: boolean + is_deleted?: boolean + tag?: string + pageSize?: number; + currentPage?: number; + filter?: { [key: string]: any[] }; + sorter?: { [key: string]: any }; + +} + + diff --git a/admin-v5/src/pages/article/edit/editor.tsx b/admin-v5/src/pages/article/edit/editor.tsx new file mode 100644 index 0000000..4470f3a --- /dev/null +++ b/admin-v5/src/pages/article/edit/editor.tsx @@ -0,0 +1,74 @@ +import React from 'react'; +import Editor, { EventMap } from '@toast-ui/editor'; +import type { EditorProps, EventNames } from './data'; + +export default class extends React.Component { + rootEl = React.createRef(); + + editorInst!: Editor; + + getRootElement() { + return this.rootEl.current; + } + + getInstance() { + return this.editorInst; + } + + getBindingEventNames() { + return Object.keys(this.props) + .filter((key) => /^on[A-Z][a-zA-Z]+/.test(key)) + .filter((key) => this.props[key as EventNames]); + } + + bindEventHandlers(props: EditorProps) { + this.getBindingEventNames().forEach((key) => { + const eventName = key[2].toLowerCase() + key.slice(3); + + this.editorInst.off(eventName); + this.editorInst.on(eventName, props[key as EventNames]!); + }); + } + + getInitEvents() { + return this.getBindingEventNames().reduce( + (acc: Record, key) => { + const eventName = (key[2].toLowerCase() + key.slice(3)) as keyof EventMap; + + acc[eventName] = this.props[key as EventNames]; + + return acc; + }, + {} + ); + } + + componentDidMount() { + this.editorInst = new Editor({ + el: this.rootEl.current!, + ...this.props, + events: this.getInitEvents(), + }); + } + + shouldComponentUpdate(nextProps: EditorProps) { + const instance = this.getInstance(); + const { height, previewStyle } = nextProps; + + if (height && this.props.height !== height) { + instance.setHeight(height); + } + + if (previewStyle && this.props.previewStyle !== previewStyle) { + instance.changePreviewStyle(previewStyle); + } + + this.bindEventHandlers(nextProps); + + return false; + } + + render() { + return
; + } +} diff --git a/admin-v5/src/pages/article/edit/index.tsx b/admin-v5/src/pages/article/edit/index.tsx new file mode 100644 index 0000000..2b5a55c --- /dev/null +++ b/admin-v5/src/pages/article/edit/index.tsx @@ -0,0 +1,764 @@ +import { AndroidOutlined, AppleOutlined, ArrowDownOutlined, ArrowUpOutlined, DeleteOutlined, EditOutlined, EllipsisOutlined, ExclamationCircleOutlined, SettingOutlined, } from '@ant-design/icons'; +import { + Button, + Divider, + message, + Drawer, + Modal, + Tabs, + Card, + Avatar, + Switch, + Row, + Col, + Statistic, + Space, + Form, + Input, + Layout, + Select, + Cascader, + InputNumber, + AutoComplete, + Checkbox, + SelectProps +} from 'antd'; +import React, { useState, useRef, useEffect } from 'react'; +import { PageContainer, FooterToolbar, PageLoading } from '@ant-design/pro-layout'; +import ProTable from '@ant-design/pro-table'; +import type { ProColumns, ActionType } from '@ant-design/pro-table'; +import ProDescriptions from '@ant-design/pro-descriptions'; +import type { ProDescriptionsItemProps } from '@ant-design/pro-descriptions'; +import MemberAddressModal from "@/pages/ums/member/components/MemberAddressModal"; +import MemberLogModal from "@/pages/ums/member/components/MemberLoginLogModal"; +import Meta from 'antd/lib/card/Meta'; +import Editor from './editor'; + +import { useRouteMatch, history } from 'umi' + +import '@toast-ui/editor/dist/toastui-editor.css'; + + +import { editDraftItem, editSubItem, newsDraftPublish, queryNewsDraftItem, queryNewsItem } from './service'; +import { NewsItem, NewsParams } from '../news/data'; +import { addNewsItem, removeNews } from '../news/service'; +import { queryAllTags } from '../tag/service'; +import { NewsDataInfo } from '../subscribe/data'; +import { handleRemove } from '../news'; + +const { Header, Footer, Sider, Content } = Layout; + +const { Option } = Select; + +const { confirm } = Modal; + +const Edit = "edit" +const Add = "add" +const Sub = "sub" + + +export interface CreateFormProps { + // itemList: QADataInfo[]; + // label: number; + // onCancel: () => void; + // onSubmit: () => void; + // addressModalVisible: boolean; + // memberId: number; +} + +interface RouteParams { + article_id: string; // 这里假设article_id是字符串类型 + option: string; + currTags: string + // 如果article_id是数字类型,可以将其定义为number +} + + + +const formItemLayout = { + labelCol: { + xs: { span: 24 }, + sm: { span: 4 }, + }, + wrapperCol: { + xs: { span: 24 }, + sm: { span: 16 }, + }, +}; +const tailFormItemLayout = { + wrapperCol: { + xs: { + span: 24, + offset: 0, + }, + sm: { + span: 16, + offset: 8, + }, + }, +}; + +const toolbarItems = [ + ["heading", "bold", "italic", "strike"], + ["table", "link"], + // ["hr", "quote"], + // ["ul", "ol", "task", "indent", "outdent"], + // ["table", "image", "link"], + // ["code", "codeblock"], + // Using Option: Customize the last button + [ + { + name: "export", + tooltip: "Export logbook", + command: "export", + className: "toastui-editor-toolbar-icons last", + style: { backgroundImage: "none" }, + // text: "↓", + }, + ], +]; + +/** + * 添加节点 + * @param fields + */ +const handleAdd = async (fields: NewsParams, content: string) => { + console.log("-----fields.summary == ------", fields.summary == "", fields.summary) + if (content == "" || content == undefined) { + message.warn('内容不能为空'); + return + } + const hide = message.loading('正在添加'); + try { + fields.content = content + + const summary = 100 + + // if (fields.summary == "" || fields.summary == undefined) { + // let str = "" + // if (fields.content.length <= summary) { + // str = fields.content; + // } else { + // str = fields.content.substring(0, summary); + + // } + // fields.summary = str; + // fields.sub_title = str; + // } + + let result = await addNewsItem({ ...fields }); + hide(); + message.success('添加成功'); + return result; + } catch (error) { + hide(); + message.error('添加失败请重试!'); + return { + data: 0, + success: false, + };; + } +}; + + +/** + * 发布文章 + * @param fields + */ +const handlePublish = async (id: number) => { + const hide = message.loading('正在发布'); + try { + let result = await newsDraftPublish(id); + hide(); + message.success('添加发布'); + return result; + } catch (error) { + hide(); + message.error('发布失败请重试!'); + return { + data: 0, + success: false, + };; + } +}; + +// /** +// * 删除节点 +// * @param selectedRows +// */ +// const handleRemove = async (selectedRows: NewsItem[]) => { +// const hide = message.loading('正在删除'); +// if (!selectedRows) return true; +// try { +// await removeNews({ +// ids: selectedRows.map((row) => row.id), +// }); +// hide(); +// message.success('删除成功,即将刷新'); +// return true; +// } catch (error) { +// hide(); +// message.error('删除失败,请重试'); +// return false; +// } +// }; + +/** + * 更新节点 + * @param fields + */ +const handleUpdate = async (id: number, fields: NewsParams, content: string) => { + const hide = message.loading('正在保存'); + try { + // fields.deptId = Number(fields.deptId) + fields.id = id + fields.content = content + console.log("======", fields) + await editDraftItem(fields); + hide(); + message.success('保存成功'); + return true; + } catch (error) { + hide(); + message.error('更新失败请重试!'); + return false; + } +}; + +/** + * 更新节点 Sub + * @param fields + */ +const handleSubUpdate = async (id: number, fields: NewsParams, content: string) => { + const hide = message.loading('正在保存'); + try { + // fields.deptId = Number(fields.deptId) + fields.id = id + fields.content = content + + const summary = 100 + + // if (fields.summary == "" || fields.summary == undefined) { + + // let str = "" + // if (fields.content.length <= summary) { + // str = fields.content; + + // } else { + // str = fields.content.substring(0, summary); + + // } + + // fields.summary = str; + // fields.sub_title = str; + // } + + + console.log("======", fields) + await editSubItem(fields); + hide(); + message.success('保存成功'); + return true; + } catch (error) { + hide(); + message.error('更新失败请重试!'); + return false; + } +}; + +const EditView: React.FC<{}> = () => { + // const [addressModalVisible, handleAddressModalVisible] = useState(false); + // const [logModalVisible, handleLogModalVisible] = useState(false); + // // const [updateModalVisible, handleUpdateModalVisible] = useState(false); + // const [showDetail, setShowDetail] = useState(false); + // const actionRef = useRef(); + + // const editorRef = useRef(null); + const editorRef = useRef(); + const [form] = Form.useForm(); + + const [initPage, setInitPage] = useState(false); + const [dataInfo, setDataInfo] = useState(); + const [contentMK, setContentMK] = useState(); + const [options, setOptions] = useState(); + const match = useRouteMatch(); + const [draftId, setDraftId] = useState(); + + + const [markdownEditor, setEditorInstance] = useState(null); + + const onMdContentChange = () => { + if (!editorRef.current) return; + + const editor = editorRef.current.getInstance(); + const content = editor.getMarkdown(); + + // console.log(content) + // const value = editorRef?.current.getInstance().getValue(); + + setDataInfo({ + ...dataInfo as any, + content: content, + }) + setContentMK(content) + window.localStorage.setItem('mdContent', content); + } + + + const handleSave = () => { + if (!editorRef.current) return; + + const editor = editorRef.current.getInstance(); + const content = editor.getMarkdown(); + + console.log(content) + }; + + + + console.log(match.params) + const id = Number(match.params.article_id) + const option = (match.params.option) + const currTags = (match.params.currTags) + + const initFunc = async () => { + + if (!id) { + message.error("无效文章") + return + } + + console.log(id) + queryNewsDraftItem(id).then((res: any) => { + console.log("--initFunc---->", res) + + + + if (!res.success) { + message.warn("请求失败") + + return + } + + const result = res.data + + if (result.length == 0) { + message.warn("无文章") + + return + } + + setDataInfo(result[0] as NewsDataInfo) + + setContentMK(result[0].content) + + console.log("------", dataInfo) + + setTimeout(() => { + setInitPage(true) + }, 500) + + + + + + form.setFieldsValue({ + ...result[0], + // deptId: values.deptId + '', + }); + + + + }); + } + + const initSubFunc = async () => { + + if (!id) { + message.error("无效文章") + return + } + + console.log(id) + queryNewsItem(id).then((res: any) => { + console.log("--initFunc---->", res) + + + if (!res.success) { + message.warn("请求失败") + + return + } + + const result = res.data + + if (result.length == 0) { + message.warn("无文章") + + return + } + + setDataInfo(result[0] as NewsDataInfo) + + setContentMK(result[0].content) + + console.log("------", dataInfo) + + setTimeout(() => { + setInitPage(true) + }, 500) + + + + + + form.setFieldsValue({ + ...result[0], + // deptId: values.deptId + '', + }); + + + + }); + } + + const initTagsFunc = async () => { + queryAllTags({ pageSize: 100, current: 0 }).then((res) => { + console.log("--queryAllTags---->", res) + + setInitPage(true) + + let newRes = res.data + + + + newRes.map((_item: any, _index: any) => { + newRes[_index] = { + ...newRes[_index], + label: _item.name, + value: _item.name, + } + + }) + + setOptions(newRes) + + // console.log("items", items) + + }); + } + + useEffect(() => { + let isMounted = true + const fetchPost = async () => { + if (option == Edit) { + initFunc() + setDraftId(id) + } else if (option == Sub) { + initSubFunc() + setDraftId(id) + } + initTagsFunc() + + } + + fetchPost() + + return () => { + isMounted = false + } + }, []) + + + // const options: SelectProps['options'] = []; + // for (let i = 10; i < 36; i++) { + // options.push({ + // value: i.toString(36) + i, + // label: i.toString(36) + i, + // }); + // } + + const handleChange = (value: string | string[]) => { + console.log(`Selected: ${value}`); + }; + + const showDeleteConfirm = (item: NewsItem) => { + confirm({ + title: '是否删除记录?', + icon: , + content: '删除的记录不能恢复,请确认!', + onOk() { + handleRemove(currTags, [item]).then((r) => { + // actionRef.current?.reloadAndRest?.(); + history.goBack(); + }); + }, + onCancel() { + }, + }); + }; + + + + const onFinish = async (values: any) => { + console.log('Received values of form: ', values); + + if (!contentMK) { + message.warn("请编写文章内容") + return + } + + console.log(option == Edit && !!id) + + if (option == Edit && !!id) { + await handleUpdate(id, values, contentMK) + } else if (option == Sub && !!id) { + await handleSubUpdate(id, values, contentMK) + } else if (option == Add) { + let result = await handleAdd(values, contentMK) + if (result!.success) { + setDraftId(result!.data) + } + } else { + message.warn(id + " option errr: " + option) + } + + }; + + + + const [autoCompleteResult, setAutoCompleteResult] = useState([]); + + const onWebsiteChange = (value: string) => { + if (!value) { + setAutoCompleteResult([]); + } else { + setAutoCompleteResult(['.com', '.org', '.net'].map(domain => `${value}${domain}`)); + } + }; + + const websiteOptions = autoCompleteResult.map(website => ({ + label: website, + value: website, + })); + + + + + return ( + + + {((option == Edit || option == Sub) && (!initPage && !contentMK)) ? : +
+ + + + + + {(option == Edit || option == Add) && } + + {(option == Edit) && } + + +
+ +
+
+ + + + + + {/* + + */} + + + + + + + {/* + + */} + + + + + + + + + + + + + {/* + + */} + + + + + + + + {/* */} + + + + + + + + + + + + + + + + + + + +
+ + {((!!contentMK) || option == Add) && } + previewStyle="vertical" + initialEditType="wysiwyg" + initialValue={contentMK} + // onBlur={handleSave} + onChange={onMdContentChange} + // toolbarItems={toolbarItems} + height="auto" + />} + + + + {/* } + onBlur={handleSave} + toolbarItems={toolbarItems} + /> */} + + +
} +
+ ); +}; + +export default EditQAView; diff --git a/admin-v5/src/pages/article/editqa/service.ts b/admin-v5/src/pages/article/editqa/service.ts new file mode 100644 index 0000000..ca64c68 --- /dev/null +++ b/admin-v5/src/pages/article/editqa/service.ts @@ -0,0 +1,61 @@ +import { request } from 'umi'; +import type { NewsListParams, QADraftParams } from './data'; +import service from '@/services/http/service'; + + +export async function queryQADraftItem(id: number) { + + console.log("queryQADraftItem: ", id) + let result = await service.post('/api/v1/qa/draft/list', { + id, + all: true, + // order_asc: false, + // tag: params.tag, + // is_deleted: params.is_deleted, + "page_no": 0, + "page_size": 100 + }); + + return Promise.resolve({ + data: result.data.list, + success: true, + }) +} + + +// 保存草稿箱 +export async function editQADraftItem(params: QADraftParams) { + + console.log("editQADraftItem: ", params) + let result = await service.post('/api/v1/qa/draft/edit', { + ...params + }); + + return Promise.resolve({ + data: result.data.list, + success: true, + }) +} + + + + + + + +export async function newsQADraftPublish(id: number) { + + console.log("newsQADraftPublish: ", id) + let result = await service.post('/api/v1/qa/draft/publish', { + id: id + }); + + return Promise.resolve({ + data: result.data, + success: true, + }) +} + + + + diff --git a/admin-v5/src/pages/article/editqa/viewer.tsx b/admin-v5/src/pages/article/editqa/viewer.tsx new file mode 100644 index 0000000..2032730 --- /dev/null +++ b/admin-v5/src/pages/article/editqa/viewer.tsx @@ -0,0 +1,63 @@ +import React from 'react'; +import Viewer, { EventMap } from '@toast-ui/editor/dist/toastui-editor-viewer'; +import { ViewerProps, EventNames } from './data'; + +export default class ViewerComponent extends React.Component { + rootEl = React.createRef(); + + viewerInst!: Viewer; + + getRootElement() { + return this.rootEl.current; + } + + getInstance() { + return this.viewerInst; + } + + getBindingEventNames() { + return Object.keys(this.props) + .filter((key) => /^on[A-Z][a-zA-Z]+/.test(key)) + .filter((key) => this.props[key as EventNames]); + } + + bindEventHandlers(props: ViewerProps) { + this.getBindingEventNames().forEach((key) => { + const eventName = key[2].toLowerCase() + key.slice(3); + + this.viewerInst.off(eventName); + this.viewerInst.on(eventName, props[key as EventNames]!); + }); + } + + getInitEvents() { + return this.getBindingEventNames().reduce( + (acc: Record, key) => { + const eventName = (key[2].toLowerCase() + key.slice(3)) as keyof EventMap; + + acc[eventName] = this.props[key as EventNames]; + + return acc; + }, + {} + ); + } + + componentDidMount() { + this.viewerInst = new Viewer({ + el: this.rootEl.current!, + ...this.props, + events: this.getInitEvents(), + }); + } + + shouldComponentUpdate(nextProps: ViewerProps) { + this.bindEventHandlers(nextProps); + + return false; + } + + render() { + return
; + } +} diff --git a/admin-v5/src/pages/article/news/components/LogsModal.tsx b/admin-v5/src/pages/article/news/components/LogsModal.tsx new file mode 100644 index 0000000..b9d50e6 --- /dev/null +++ b/admin-v5/src/pages/article/news/components/LogsModal.tsx @@ -0,0 +1,85 @@ +import React, { useEffect, useRef } from 'react'; +import { Col, Divider, message, Modal, Row } from 'antd'; +import type { AddressTableListItem, OptionLog } from '../data'; +import { queryAddress } from '../service'; +import type { ActionType, ProColumns } from '@ant-design/pro-table'; +import ProTable from '@ant-design/pro-table'; + +export interface CreateFormProps { + onCancel: () => void; + onSubmit: () => void; + addressModalVisible: boolean; + memberId: number; + logs: OptionLog[] +} + +const LogsModal: React.FC = (props) => { + const actionRef = useRef(); + + const { + onSubmit, + onCancel, + addressModalVisible, memberId, logs } = props; + + + useEffect(() => { + let isMounted = true + if (addressModalVisible) { + // if (actionRef.current) { + // actionRef.current.reload(); + // } + + const fetchPost = async () => { + if (isMounted) { + // initTagsFunc() + // initAllFunc() + // initDeleteFunc() + // initDraftFunc() + } + } + + fetchPost() + } + return () => { + isMounted = false + } + }, [addressModalVisible]); + + const handleSubmit = () => { + onSubmit(); + }; + + const modalFooter = { + // okText: '保存', + onOk: handleSubmit, + onCancel + }; + + return ( + + { + + logs != null && logs.map((item, index) => { + return + 操作人: {item.oper_user} + 操作时间: {item.oper_time} + + }) + } + + + ); +}; + +export default LogsModal; diff --git a/admin-v5/src/pages/article/news/components/MemberLoginLogModal.tsx b/admin-v5/src/pages/article/news/components/MemberLoginLogModal.tsx new file mode 100644 index 0000000..613b91a --- /dev/null +++ b/admin-v5/src/pages/article/news/components/MemberLoginLogModal.tsx @@ -0,0 +1,111 @@ +import React, { useEffect, useRef } from 'react'; +import { message, Modal } from 'antd'; +import { queryLoginLog } from '../service'; +import type { ActionType, ProColumns } from '@ant-design/pro-table'; +import ProTable from '@ant-design/pro-table'; +import type { LoginLogListItem } from "../data"; + +export interface CreateFormProps { + onCancel: () => void; + onSubmit: () => void; + logModalVisible: boolean; + memberId: number; +} + +const MemberLogModal: React.FC = (props) => { + const actionRef = useRef(); + + const { onSubmit, onCancel, logModalVisible, memberId } = props; + + useEffect(() => { + if (logModalVisible) { + if (actionRef.current) { + actionRef.current.reload(); + } + } + }, [logModalVisible]); + + const handleSubmit = () => { + onSubmit(); + }; + + const columns: ProColumns[] = [ + { + title: '编号', + dataIndex: 'id', + hideInSearch: true, + }, + { + title: '用户名', + dataIndex: 'memberId', + hideInSearch: true, + }, + { + title: 'ip', + dataIndex: 'ip', + hideInSearch: true, + }, + { + title: '省', + dataIndex: 'province', + hideInSearch: true, + }, + { + title: '城市', + dataIndex: 'city', + hideInSearch: true, + }, + { + title: '登录类型', + dataIndex: 'loginType', + valueEnum: { + 0: { text: 'PC', status: 'Error' }, + 1: { text: 'android', status: 'Success' }, + 2: { text: 'ios', status: 'Success' }, + 3: { text: '小程序', status: 'Success' }, + }, + }, + ]; + + const modalFooter = { okText: '保存', onOk: handleSubmit, onCancel }; + + return ( + + + toolBarRender={false} + actionRef={actionRef} + rowKey="id" + search={false} + request={(params) => { + return queryLoginLog({ + ...params, + memberId, + }).then((res) => { + console.log(res) + if (res.code === '000000') { + return { + data: res.data, + total: res.total, + pageSize: res.pageSize, + current: res.current, + }; + } else { + return message.error(res.msg); + } + }); + }} + columns={columns} + pagination={{ pageSize: 6 }} + /> + + ); +}; + +export default MemberLogModal; diff --git a/admin-v5/src/pages/article/news/components/UpdateMemberForm.tsx b/admin-v5/src/pages/article/news/components/UpdateMemberForm.tsx new file mode 100644 index 0000000..300bc88 --- /dev/null +++ b/admin-v5/src/pages/article/news/components/UpdateMemberForm.tsx @@ -0,0 +1,169 @@ +import React, { useEffect } from 'react'; +import { Form, Input, Modal, Select } from 'antd'; +import { MemberTableListItem } from '../data'; + +export interface UpdateFormProps { + onCancel: () => void; + onSubmit: (values: Partial) => void; + updateModalVisible: boolean; + currentData: Partial; +} +const FormItem = Form.Item; + +const formLayout = { + labelCol: { span: 7 }, + wrapperCol: { span: 13 }, +}; + +const UpdateMemberForm: React.FC = (props) => { + const [form] = Form.useForm(); + + const { + onSubmit, + onCancel, + updateModalVisible, + currentData, + } = props; + + useEffect(() => { + if (form && !updateModalVisible) { + form.resetFields(); + + } + }, [props.updateModalVisible]); + + useEffect(() => { + if (currentData) { + form.setFieldsValue({ + ...currentData, + }); + } + }, [props.currentData]); + + const handleSubmit = () => { + if (!form) return; + form.submit(); + }; + + const handleFinish = (values: { [key: string]: any }) => { + if (onSubmit) { + onSubmit(values); + } + }; + + const renderContent = () => { + return ( + <> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ); + }; + + + const modalFooter = { okText: '保存', onOk: handleSubmit, onCancel }; + + return ( + +
+ {renderContent()} +
+
+ ); +}; + +export default UpdateMemberForm; diff --git a/admin-v5/src/pages/article/news/data.d.ts b/admin-v5/src/pages/article/news/data.d.ts new file mode 100644 index 0000000..d9adf0d --- /dev/null +++ b/admin-v5/src/pages/article/news/data.d.ts @@ -0,0 +1,119 @@ +export interface NewsItem { + id: number; + // status: number +} + +export interface AddressTableListItem { + id: number; + +} + +export interface LoginLogListItem { + id: number; + +} + +export interface MemberTableListPagination { + total: number; + pageSize: number; + current: number; +} + +export interface MemberTableListData { + list: MemberTableListItem[]; + pagination: Partial; +} + +export interface NewsListParams { + id?: number + all?: boolean + is_deleted?: boolean + order_asc?: boolean + language?: string + tag?: string + main_title?: string; + pageSize?: number; + currentPage?: number; + filter?: { [key: string]: any[] }; + sorter?: { [key: string]: any }; + +} + +export interface AddressTableListParams { + memberId?: number; + pageSize?: number; + currentPage?: number; + filter?: { [key: string]: any[] }; + sorter?: { [key: string]: any }; + +} + +export interface LoginLogListParams { + memberId?: number; + pageSize?: number; + currentPage?: number; + filter?: { [key: string]: any[] }; + sorter?: { [key: string]: any }; + +} + + +export interface LodingInfo { + total?: number; + loding: boolean; + current: number; + pageSize: number; +} + + +// export interface NewsDataInfo { +// id: number; +// category: string; +// children: string; +// content: string; +// created_time: string; +// org_id: number; +// spider_id: number; +// tag: string; +// category: string; +// main_title: string; +// sub_title: string; +// summary: string; +// keywords: string[]; +// seo_keywords: string[]; +// tags: string[]; +// url: string; +// image_url: string; +// content: string; +// is_hotspot: boolean; +// is_overwritten: boolean; +// is_deleted: boolean; +// is_replicate: boolean; +// is_pushed: boolean; +// created_time: string; +// updated_time: string; +// extra_data: { +// logs: any; // 此处的类型需根据实际数据类型确定 +// }; +// } + +export interface NewsParams { + id?: number; + category?: string; + main_title: string; + sub_title?: string; + summary?: string; + keywords?: string[]; + seo_keywords?: string[]; + tags?: string[]; + image_url?: string; + language: string + content: string; +} + +export interface OptionLog { + oper_time?: string; + oper_type: string; + oper_user?: string; +} + diff --git a/admin-v5/src/pages/article/news/index.tsx b/admin-v5/src/pages/article/news/index.tsx new file mode 100644 index 0000000..d450143 --- /dev/null +++ b/admin-v5/src/pages/article/news/index.tsx @@ -0,0 +1,911 @@ +import { AndroidOutlined, AppleOutlined, ArrowDownOutlined, ArrowUpOutlined, DeleteOutlined, EditOutlined, EllipsisOutlined, ExclamationCircleOutlined, SettingOutlined, SwapOutlined, TagsOutlined, UserOutlined } from '@ant-design/icons'; +import { Button, Divider, message, Drawer, Modal, Tabs, Card, Avatar, Switch, Row, Col, Statistic, Space, Dropdown, Input, Form, Select, SelectProps, MenuProps, Pagination, PaginationProps } from 'antd'; +import React, { useState, useRef, useEffect } from 'react'; +import { PageContainer, FooterToolbar, PageLoading } from '@ant-design/pro-layout'; +import ProTable from '@ant-design/pro-table'; +import type { ProColumns, ActionType } from '@ant-design/pro-table'; +import ProDescriptions from '@ant-design/pro-descriptions'; +import type { ProDescriptionsItemProps } from '@ant-design/pro-descriptions'; +import type { LodingInfo, NewsItem, NewsParams, OptionLog } from './data'; +import { addNewsItem, copyNewsItem, newsPublishSub, queryNewsAllList, queryNewsDraftList, removeNews, removeNewsDraft } from './service'; +import MemberAddressModal from "./components/LogsModal"; +import LogsModal from "./components/LogsModal"; +import Meta from 'antd/lib/card/Meta'; + +import { MenuInfo } from 'rc-menu/lib/interface'; + +import { history } from 'umi'; +import { queryAllTags } from '../tag/service'; +import { NewsDataInfo } from '../subscribe/data'; + + +const { confirm } = Modal; + + +/** + * 添加文章至草稿 + * @param fields + */ +export const handleCopy = async (fields: NewsParams) => { + const hide = message.loading('创建草稿中...'); + try { + // fields.deptId = Number(fields.deptId) + let result = await copyNewsItem({ ...fields }); + hide(); + message.success('创建成功'); + + console.log("-----result------", result) + + return result; + } catch (error) { + hide(); + message.error('添加失败请重试!'); + return { + data: 0, + success: false, + }; + } +}; + +/** + * 删除文章 + * @param selectedRows + */ +export const handleRemove = async (currTags: string, selectedRows: NewsItem[]) => { + const hide = message.loading('正在删除'); + if (!selectedRows) return true; + try { + + if (currTags == "1") { + await removeNews({ + ids: selectedRows.map((row) => row.id), + }); + + } else if (currTags == "3") { + await removeNewsDraft({ + ids: selectedRows.map((row) => row.id), + }); + } + + + hide(); + message.success('删除成功,即将刷新'); + return true; + } catch (error) { + hide(); + message.error('删除失败,请重试'); + return false; + } +}; + +export interface CreateFormProps { + itemList: NewsDataInfo[]; + label: number; + // onCancel: () => void; + // onSubmit: () => void; + // addressModalVisible: boolean; + // memberId: number; +} + +const NewsList: React.FC<{}> = () => { + const [addressModalVisible, handleAddressModalVisible] = useState(false); + const [logModalVisible, handleLogModalVisible] = useState(false); + // const [updateModalVisible, handleUpdateModalVisible] = useState(false); + const [showDetail, setShowDetail] = useState(false); + const actionRef = useRef(); + const [currentRow, setCurrentRow] = useState(); + const [selectedRowsState, setSelectedRows] = useState([]); + + const [initPage, setInitPage] = useState(false); + const [isTime, setIsTime] = useState(false); + const [tag, setTag] = useState(); + const [tagItems, setTagItems] = useState(); + // const [current, setCurrent] = useState(1); + // const [pageSize, setPageSize] = useState(10); + const [logs, setLogs] = useState([]); + + const [isDraft, setIsDraft] = useState(false); + const [currTags, setCurrTags] = useState("1"); + + + const [options, setOptions] = useState(); + + + const [lodingInfos, setLodingInfos] = useState([ + { total: 0, loding: true, current: 1, pageSize: 10 }, + { total: 0, loding: true, current: 1, pageSize: 10 }, + { total: 0, loding: true, current: 1, pageSize: 10 }, + ]); + + + + const [allDataInfo, setAllDataInfo] = useState([]); + const [deleteDataInfo, setDeleteDataInfo] = useState([]); + const [draftDataInfo, setDraftDataInfo] = useState([]); + + const initTagsFunc = async () => { + queryAllTags({ pageSize: 1000, current: 0 }).then((res) => { + console.log("--queryAllTags---->", res) + setInitPage(true) + let newRes = res.data + + newRes.map((_item: any, _index: any) => { + newRes[_index] = { + ...newRes[_index], + label: _item.name, + value: _item.name, + key: _item.name, + } + }) + + setTagItems(newRes) + + }); + } + + const initAllFunc = async (current: number, pageSize: number, main_title?: string) => { + queryNewsAllList({ pageSize: pageSize, currentPage: current, order_asc: isTime, tag: tag, main_title: main_title }).then((res: any) => { + + const result = res.data + + let newRes = result.data.list as NewsDataInfo[] + + newRes.map((_item: NewsDataInfo, _index: any) => { + newRes[_index] = { + ...newRes[_index], + } + + }) + + console.log("--queryNewsAllList---->", res, newRes) + setAllDataInfo(newRes) + setLodingInfos(prevState => { + const newState = [...prevState]; + if (newState.length > 2) { + newState[0].total = result.header.total; + newState[0].loding = false; + } + return newState; + }); + + setInitPage(true) + + }); + } + + const initDeleteFunc = (current: number, pageSize: number) => { + queryNewsAllList({ pageSize: pageSize, is_deleted: true, currentPage: current, order_asc: isTime, tag: tag }).then((res: any) => { + console.log("--queryNewsAllList Delete---->", res) + + const result = res.data + let newRes = result.data.list as NewsDataInfo[] + + newRes.map((_item: any, _index: any) => { + newRes[_index] = { + ...newRes[_index], + // label: `${_item.role_name}`, children: `Content of Tab Pane ${_index + 1}`, key: _item.id + } + + }) + setDeleteDataInfo(newRes) + setLodingInfos(prevState => { + const newState = [...prevState]; + + console.log("===============>", newState) + if (newState.length > 2) { + newState[1].total = result.header.total; + newState[1].loding = false; + } + return newState; + }); + + setInitPage(true) + + }); + } + + + const initDraftFunc = async (current: number, pageSize: number) => { + queryNewsDraftList({ pageSize: pageSize, currentPage: current, order_asc: isTime, tag: tag }).then((res: any) => { + console.log("--queryPushedList---->", res) + + const result = res.data + + let newRes = result.data.list as NewsDataInfo[] + + newRes.map((_item: any, _index: any) => { + newRes[_index] = { + ...newRes[_index], + // label: `${_item.role_name}`, children: `Content of Tab Pane ${_index + 1}`, key: _item.id + } + + }) + setDraftDataInfo(newRes) + setLodingInfos(prevState => { + const newState = [...prevState]; + if (newState.length > 2) { + newState[2].total = result.header.total; + newState[2].loding = false; + } + return newState; + }); + + }); + + setInitPage(true) + } + + + useEffect(() => { + let isMounted = true + const fetchPost = async () => { + if (isMounted) { + initTagsFunc() + // initAllFunc() + // initDeleteFunc() + // initDraftFunc() + } + } + + fetchPost() + + return () => { + isMounted = false + } + }, []) + + useEffect(() => { + let isMounted = true + const fetchPost = async () => { + if (isMounted) { + initAllFunc(lodingInfos[0].current, lodingInfos[0].pageSize) + initDeleteFunc(lodingInfos[1].current, lodingInfos[1].pageSize) + initDraftFunc(lodingInfos[2].current, lodingInfos[2].pageSize) + } + } + + fetchPost() + + return () => { + isMounted = false + } + }, [tag, isTime]) + + + const showDeleteConfirm = (item: NewsItem) => { + confirm({ + title: '是否删除记录?', + icon: , + content: '删除的记录不能恢复,请确认!', + onOk() { + handleRemove(currTags, [item]).then((r) => { + // actionRef.current?.reloadAndRest?.(); + initAllFunc(lodingInfos[0].current, lodingInfos[0].pageSize) + initDeleteFunc(lodingInfos[1].current, lodingInfos[1].pageSize) + }); + }, + onCancel() { + }, + }); + }; + + const CardItemList: React.FC = (props) => { + const actionRef = useRef(); + const [loading, setLoading] = useState(false); + + + const { + itemList, + label + // onSubmit, onCancel, addressModalVisible, memberId + } = props; + + const defaultImage = "https://gw.alipayobjects.com/zos/rmsportal/JiqGstEfoWAOHiTxclqi.png" + + return ( + <> + + { + itemList.map((item, index) => { + return + + } + actions={[ + + // , + // , + // , + ]} + > + {/* } + title={"Card title"} + description={item.sub_title} + style={{ + marginBottom: "14px" + }} + /> */} + +
+
{item.main_title}
+

{item.sub_title}

+
+ +
+ {item.created_time} + + { + (true) &&
+ {/* */} + + + , + }, + { + label: '删除', + key: '2', + // icon: , + }, + ], + onClick: async (e: MenuInfo) => { + + console.log('click', e); + + + if (e.key == "1") { + // message.info("开发中") + console.log("预创建草稿:", item) + if (!isDraft) { + const result = await handleCopy(item); + if (result.success) { + history.push(`/article/editnews/edit/${currTags}/${result.data}`); + } + } else { + history.push(`/article/editnews/edit/${currTags}/${item.id}`); + } + + + } else if (e.key == "2") { + + // if (!!item.id && item.id != undefined) return + showDeleteConfirm({ + id: item.id, + }); + } + + + }, + }} + // overlayStyle={{ + // padding: "0px 30px", + // background: "#fff" + // }} + placement="bottom" + > + + + + + + {/* , + }, + { + label: '内容对比', + key: '2', + // icon: , + }, + ], + onClick: async (e: MenuInfo) => { + console.log('click', e); + if (e.key == "1") { + // message.info("开发中") + // console.log("预创建草稿:", item) + // const result = await handleAdd(item); + // if (result.success) { + // history.push(`/article/edit/${result.data}`); + // } + + setLogs(item.extra_data.logs == null ? [] : item.extra_data.logs) + handleAddressModalVisible(true); + // setCurrentRow(record); + } else if (e.key == "2") { + + message.info("开发中") + } + }, + }} + placement="bottom" + > + + */} + + + +
+ } + + +
+ +
+ + + + }) + } +
+ {/* */} + + + + ); + }; + + const onFinish = (values: any) => { + console.log('Success:', values); + resetPage() + initAllFunc(lodingInfos[0].current, lodingInfos[0].pageSize, values.main_title) + }; + + const resetPage = () => { + console.log('resetPage:'); + + setLodingInfos(prevState => { + const newState = [...prevState]; + newState.map((r, i) => { + newState[i].current = 1; + newState[i].pageSize = 10; + }) + + return newState; + }); + + }; + + + + const onFinishFailed = (errorInfo: any) => { + console.log('Failed:', errorInfo); + }; + + + const handleButtonClick = (e: React.MouseEvent) => { + // message.info('Click on left button.'); + console.log('click left button', e); + + + }; + + const handleMenuClick: MenuProps['onClick'] = e => { + // message.info('Click on menu item.'); + console.log('click', e); + setTag(e.key) + }; + + const menuProps = { + items: tagItems, + onClick: handleMenuClick, + }; + + return ( + + + { + (lodingInfos[0].loding || lodingInfos[1].loding || lodingInfos[2].loding) ? + : +
+
+
+ +
+ + + + + + + {() => ( + + )} + +
+ + +
+ + + {/* */} + + {/* */} + +
+ +
+ + { + console.log(key); + if (key == "3") { + setIsDraft(true) + } else { + setIsDraft(false) + } + setCurrTags(key) + + }} + items={[ + { + label: 1, + name: `全部(${lodingInfos[0].total})`, + icon: AppleOutlined, + itemList: allDataInfo, + }, + { + label: 2, + name: `已删除(${lodingInfos[1].total})`, + icon: AndroidOutlined, + itemList: deleteDataInfo, + }, + { + label: 3, + name: `草稿箱(${lodingInfos[2].total})`, + icon: AndroidOutlined, + itemList: draftDataInfo, + }, + ].map((r, i) => { + const id = String(i + 1); + + return { + label: ( + + {/* */} + {r.name} + + ), + key: id, + children:
+ +
+ {/* */} + { + console.log("onShowSizeChange: ", current, size) + + setTimeout(() => { + setLodingInfos(prevState => { + const newState = [...prevState]; + newState[i].loding = true; + newState[i].current = 1; + newState[i].pageSize = size; + return newState; + }); + }, 0) + + + + }} + total={lodingInfos[i].total} + + // showTotal={(total, range) => `${range[0]}-${range[1]} of ${total} items`} + + onChange={(page) => { + console.log("onChange page:", page); + + setLodingInfos(prevState => { + const newState = [...prevState]; + newState[i].loding = true; + newState[i].current = page; + return newState; + }); + + + if (i == 0) { + initAllFunc(lodingInfos[i].current, lodingInfos[i].pageSize) + } else if (i == 1) { + initDeleteFunc(lodingInfos[i].current, lodingInfos[i].pageSize) + } else if (i == 2) { + initDraftFunc(lodingInfos[i].current, lodingInfos[i].pageSize) + } + }} + defaultPageSize={10} + defaultCurrent={1} + /> +
+
+ + , + }; + })} + /> + +
+ + + + + {/* { + // console.log('click', e); + // // message.info("开发中") + // // setTag() + // }, + // }} + placement="bottom" + overlayStyle={{ + // padding: "30px", + // background: "red" + }} + > + + */} + + {/* + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ); + }; + + + const modalFooter = { okText: '保存', onOk: handleSubmit, onCancel }; + + return ( + +
+ {renderContent()} +
+
+ ); +}; + +export default UpdateMemberForm; diff --git a/admin-v5/src/pages/article/qa/data.d.ts b/admin-v5/src/pages/article/qa/data.d.ts new file mode 100644 index 0000000..171eee3 --- /dev/null +++ b/admin-v5/src/pages/article/qa/data.d.ts @@ -0,0 +1,150 @@ +export interface NewsItem { + id: number; + // status: number +} + +export interface AddressTableListItem { + id: number; + +} + +export interface LoginLogListItem { + id: number; + +} + +export interface MemberTableListPagination { + total: number; + pageSize: number; + current: number; +} + +export interface MemberTableListData { + list: MemberTableListItem[]; + pagination: Partial; +} + +export interface NewsListParams { + id?: number + all?: boolean + is_deleted?: boolean + order_asc?: boolean + tag?: string + main_title?: string; + pageSize?: number; + currentPage?: number; + filter?: { [key: string]: any[] }; + sorter?: { [key: string]: any }; + +} + +export interface AddressTableListParams { + memberId?: number; + pageSize?: number; + currentPage?: number; + filter?: { [key: string]: any[] }; + sorter?: { [key: string]: any }; + +} + +export interface LoginLogListParams { + memberId?: number; + pageSize?: number; + currentPage?: number; + filter?: { [key: string]: any[] }; + sorter?: { [key: string]: any }; + +} + + +export interface LodingInfo { + total?: number; + loding: boolean; + current: number; + pageSize: number; +} + + +// export interface NewsDataInfo { +// id: number; +// category: string; +// children: string; +// content: string; +// created_time: string; +// org_id: number; +// spider_id: number; +// tag: string; +// category: string; +// main_title: string; +// sub_title: string; +// summary: string; +// keywords: string[]; +// seo_keywords: string[]; +// tags: string[]; +// url: string; +// image_url: string; +// content: string; +// is_hotspot: boolean; +// is_overwritten: boolean; +// is_deleted: boolean; +// is_replicate: boolean; +// is_pushed: boolean; +// created_time: string; +// updated_time: string; +// extra_data: { +// logs: any; // 此处的类型需根据实际数据类型确定 +// }; +// } + +export interface NewsParams { + id?: number; + category?: string; + main_title: string; + sub_title?: string; + summary?: string; + keywords?: string[]; + seo_keywords?: string[]; + tags?: string[]; + image_url?: string; + content: string; +} + +export interface OptionLog { + oper_time?: string; + oper_type: string; + oper_user?: string; +} + +export interface QAParams { + id?: number + all?: boolean + is_deleted?: boolean + order_asc?: boolean + language?: string; + tag?: string + main_title?: string; + status?: number + pageSize?: number; + currentPage?: number; + filter?: { [key: string]: any[] }; + sorter?: { [key: string]: any }; + +} + +export interface QADataInfo { + id: number; + question: string; + answer: string; + org_id: number; + state: boolean; + language: string; + is_overwritten: boolean; + is_deleted: boolean; + is_replicate: boolean; + created_time: string; + updated_time: string; + + extra_data: { + logs: any; // 此处的类型需根据实际数据类型确定 + }; +} diff --git a/admin-v5/src/pages/article/qa/index.tsx b/admin-v5/src/pages/article/qa/index.tsx new file mode 100644 index 0000000..263c094 --- /dev/null +++ b/admin-v5/src/pages/article/qa/index.tsx @@ -0,0 +1,767 @@ +import { AndroidOutlined, AppleOutlined, ArrowDownOutlined, ArrowUpOutlined, DeleteOutlined, EditOutlined, EllipsisOutlined, ExclamationCircleOutlined, SettingOutlined, SwapOutlined, TagsOutlined, UserOutlined } from '@ant-design/icons'; +import { Button, Divider, message, Drawer, Modal, Tabs, Card, Avatar, Switch, Row, Col, Statistic, Space, Dropdown, Input, Form, Select, SelectProps, MenuProps, Pagination, PaginationProps } from 'antd'; +import React, { useState, useRef, useEffect } from 'react'; +import { PageContainer, FooterToolbar, PageLoading } from '@ant-design/pro-layout'; +import ProTable from '@ant-design/pro-table'; +import type { ProColumns, ActionType } from '@ant-design/pro-table'; +import ProDescriptions from '@ant-design/pro-descriptions'; +import type { ProDescriptionsItemProps } from '@ant-design/pro-descriptions'; +import type { LodingInfo, NewsItem, NewsParams, OptionLog, QADataInfo, QAParams } from './data'; +import { + copyQAItem, + queryAQAllList, + queryDeleteList, + queryQADraftList, + removeQA, + removeQADraft, +} from './service'; +import MemberAddressModal from "./components/LogsModal"; +import LogsModal from "./components/LogsModal"; +import Meta from 'antd/lib/card/Meta'; + +import { MenuInfo } from 'rc-menu/lib/interface'; + +import { history } from 'umi'; +import { queryAllTags } from '../tag/service'; +import { NewsDataInfo } from '../subscribe/data'; +import { copyNewsItem, removeNews } from '../news/service'; + + +const { confirm } = Modal; + + +/** + * 添加文章至草稿 + * @param fields + */ +export const handleCopy = async (fields: QAParams) => { + const hide = message.loading('创建草稿中...'); + try { + // fields.deptId = Number(fields.deptId) + let result = await copyQAItem({ ...fields }); + hide(); + message.success('创建成功'); + + console.log("-----result------", result) + + return result; + } catch (error) { + hide(); + message.error('添加失败请重试!'); + return { + data: 0, + success: false, + }; + } +}; + +/** + * 删除文章 + * @param selectedRows + */ +export const handleRemove = async (currTags: string, selectedRows: NewsItem[]) => { + const hide = message.loading('正在删除'); + if (!selectedRows) return true; + try { + + if (currTags == "1") { + await removeQA({ + ids: selectedRows.map((row) => row.id), + }); + + } else if (currTags == "3") { + await removeQADraft({ + ids: selectedRows.map((row) => row.id), + }); + } + + + hide(); + message.success('删除成功,即将刷新'); + return true; + } catch (error) { + hide(); + message.error('删除失败,请重试'); + return false; + } +}; + +export interface CreateFormProps { + itemList: QADataInfo[]; + label: number; + // onCancel: () => void; + // onSubmit: () => void; + // addressModalVisible: boolean; + // memberId: number; +} + +const QAList: React.FC<{}> = () => { + const [addressModalVisible, handleAddressModalVisible] = useState(false); + const [logModalVisible, handleLogModalVisible] = useState(false); + // const [updateModalVisible, handleUpdateModalVisible] = useState(false); + const [showDetail, setShowDetail] = useState(false); + const actionRef = useRef(); + const [currentRow, setCurrentRow] = useState(); + const [selectedRowsState, setSelectedRows] = useState([]); + + const [initPage, setInitPage] = useState(false); + const [isTime, setIsTime] = useState(false); + const [tag, setTag] = useState(); + const [tagItems, setTagItems] = useState(); + // const [current, setCurrent] = useState(1); + // const [pageSize, setPageSize] = useState(10); + const [logs, setLogs] = useState([]); + + const [isDraft, setIsDraft] = useState(false); + const [currTags, setCurrTags] = useState("1"); + + + const [options, setOptions] = useState(); + + + const [lodingInfos, setLodingInfos] = useState([ + { total: 0, loding: true, current: 1, pageSize: 10 }, + { total: 0, loding: true, current: 1, pageSize: 10 }, + { total: 0, loding: true, current: 1, pageSize: 10 }, + ]); + + + + const [allDataInfo, setAllDataInfo] = useState([]); + const [deleteDataInfo, setDeleteDataInfo] = useState([]); + const [draftDataInfo, setDraftDataInfo] = useState([]); + + const initTagsFunc = async () => { + queryAllTags({ pageSize: 1000, current: 0 }).then((res) => { + console.log("--queryAllTags---->", res) + setInitPage(true) + let newRes = res.data + + newRes.map((_item: any, _index: any) => { + newRes[_index] = { + ...newRes[_index], + label: _item.name, + value: _item.name, + key: _item.name, + } + }) + + setTagItems(newRes) + + }); + } + + const initAllFunc = async (current: number, pageSize: number, main_title?: string) => { + + queryAQAllList({ pageSize: pageSize, currentPage: current, order_asc: isTime, tag: tag, main_title: main_title }).then((res: any) => { + console.log("--queryAQAllList---->", res) + + setInitPage(true) + + const result = res.data + + let newRes = result.data.list as QADataInfo[] + + newRes.map((_item: QADataInfo, _index: any) => { + newRes[_index] = { + ...newRes[_index], + } + + }) + setAllDataInfo(newRes) + setLodingInfos(prevState => { + const newState = [...prevState]; + if (newState.length > 2) { + newState[0].total = result.header.total; + newState[0].loding = false; + } + return newState; + }); + + }); + + + } + + const initDeleteFunc = (current: number, pageSize: number) => { + + queryAQAllList({ pageSize: pageSize, is_deleted: true, currentPage: current, order_asc: isTime, tag: tag }).then((res: any) => { + console.log("--queryDeleteList---->", res) + + setInitPage(true) + + const result = res.data + let newRes = result.data.list as QADataInfo[] + + newRes.map((_item: any, _index: any) => { + newRes[_index] = { + ...newRes[_index], + // label: `${_item.role_name}`, children: `Content of Tab Pane ${_index + 1}`, key: _item.id + } + + }) + setDeleteDataInfo(newRes) + setLodingInfos(prevState => { + const newState = [...prevState]; + + console.log("===============>", newState) + if (newState.length > 2) { + newState[1].total = result.header.total; + newState[1].loding = false; + } + return newState; + }); + + }); + + + } + + + const initDraftFunc = async (current: number, pageSize: number) => { + + queryQADraftList({ pageSize: pageSize, currentPage: current, order_asc: isTime, tag: tag }).then((res: any) => { + console.log("--queryQADraftList---->", res) + + setInitPage(true) + + const result = res.data + + let newRes = result.data.list as QADataInfo[] + + newRes.map((_item: any, _index: any) => { + newRes[_index] = { + ...newRes[_index], + // label: `${_item.role_name}`, children: `Content of Tab Pane ${_index + 1}`, key: _item.id + } + + }) + setDraftDataInfo(newRes) + setLodingInfos(prevState => { + const newState = [...prevState]; + if (newState.length > 2) { + newState[2].total = result.header.total; + newState[2].loding = false; + } + return newState; + }); + + }); + + + } + + + useEffect(() => { + let isMounted = true + const fetchPost = async () => { + if (isMounted) { + initTagsFunc() + // initAllFunc() + // initDeleteFunc() + // initDraftFunc() + } + } + + fetchPost() + + return () => { + isMounted = false + } + }, []) + + useEffect(() => { + let isMounted = true + const fetchPost = async () => { + if (isMounted) { + initAllFunc(lodingInfos[0].current, lodingInfos[0].pageSize) + initDeleteFunc(lodingInfos[1].current, lodingInfos[1].pageSize) + initDraftFunc(lodingInfos[2].current, lodingInfos[2].pageSize) + } + } + + fetchPost() + + return () => { + isMounted = false + } + }, [tag, isTime]) + + + const showDeleteConfirm = (ctag: string, item: NewsItem) => { + confirm({ + title: '是否删除记录?', + icon: , + content: `${ctag}: 删除的记录不能恢复,请确认!`, + onOk() { + + handleRemove(ctag, [item]).then((r) => { + // actionRef.current?.reloadAndRest?.(); + initAllFunc(lodingInfos[0].current, lodingInfos[0].pageSize) + initDeleteFunc(lodingInfos[1].current, lodingInfos[1].pageSize) + }); + }, + onCancel() { + }, + }); + }; + + const CardItemList: React.FC = (props) => { + const actionRef = useRef(); + const [loading, setLoading] = useState(false); + + + const { + itemList, + label + // onSubmit, onCancel, addressModalVisible, memberId + } = props; + + return ( + <> + + { + itemList.map((item, index) => { + return + , + // , + // , + ]} + > + +
+
{item.question}
+

{item.answer}

+
+ +
+ {item.created_time} + + { + (label == 1 || label == 2 || label == 3) &&
+ + + {(label == 1 || label == 2 || label == 3) && } + + + {(label == 1 || label == 3) && } +
+ } + + +
+ +
+ + + + }) + } +
+ {/* */} + + + + ); + }; + + const onFinish = (values: any) => { + console.log('Success:', values); + resetPage() + initAllFunc(lodingInfos[0].current, lodingInfos[0].pageSize, values.main_title) + }; + + const resetPage = () => { + console.log('resetPage:'); + + setLodingInfos(prevState => { + const newState = [...prevState]; + newState.map((r, i) => { + newState[i].current = 1; + newState[i].pageSize = 10; + }) + + return newState; + }); + + }; + + + + const onFinishFailed = (errorInfo: any) => { + console.log('Failed:', errorInfo); + }; + + + const handleButtonClick = (e: React.MouseEvent) => { + // message.info('Click on left button.'); + console.log('click left button', e); + + + }; + + const handleMenuClick: MenuProps['onClick'] = e => { + // message.info('Click on menu item.'); + console.log('click', e); + setTag(e.key) + }; + + const menuProps = { + items: tagItems, + onClick: handleMenuClick, + }; + + return ( + + + { + (lodingInfos[0].loding || lodingInfos[1].loding || lodingInfos[2].loding) ? + : +
+
+
+ +
+ + + + + + + {() => ( + + )} + +
+ + +
+ + + {/* */} + + {/* */} + +
+ +
+ + { + console.log(key); + setCurrTags(key) + + }} + items={[ + { + label: 1, + name: `全部(${lodingInfos[0].total})`, + icon: AppleOutlined, + itemList: allDataInfo, + }, + { + label: 2, + name: `已删除(${lodingInfos[1].total})`, + icon: AndroidOutlined, + itemList: deleteDataInfo, + }, + { + label: 3, + name: `草稿箱(${lodingInfos[2].total})`, + icon: AndroidOutlined, + itemList: draftDataInfo, + }, + ].map((r, i) => { + const id = String(i + 1); + + return { + label: ( + + {/* */} + {r.name} + + ), + key: id, + children:
+ +
+ {/* */} + { + console.log("onShowSizeChange: ", current, size) + + setTimeout(() => { + setLodingInfos(prevState => { + const newState = [...prevState]; + newState[i].loding = true; + newState[i].current = 1; + newState[i].pageSize = size; + return newState; + }); + }, 0) + + + + + }} + // showTotal={(total, range) => `${range[0]}-${range[1]} of ${total} items`} + + onChange={(page) => { + console.log("onChange page:", page); + + setLodingInfos(prevState => { + const newState = [...prevState]; + newState[i].loding = true; + newState[i].current = page; + return newState; + }); + + + if (i == 0) { + initAllFunc(lodingInfos[i].current, lodingInfos[i].pageSize) + } else if (i == 1) { + initDeleteFunc(lodingInfos[i].current, lodingInfos[i].pageSize) + } else if (i == 2) { + initDraftFunc(lodingInfos[i].current, lodingInfos[i].pageSize) + } + }} + defaultPageSize={10} + defaultCurrent={1} + /> +
+
+ + , + }; + })} + /> + +
+ + + + + + + {isTime ? + : + } + + + + +
+
+ { + handleAddressModalVisible(false); + setCurrentRow(undefined); + // if (actionRef.current) { + // actionRef.current.reload(); + // } + }} + onCancel={() => { + handleAddressModalVisible(false); + if (!showDetail) { + setCurrentRow(undefined); + } + }} + + logs={logs} + addressModalVisible={addressModalVisible} + memberId={currentRow?.id || 0} + /> + +
+ } + + + + +
+ ); +}; + +export default QAList; diff --git a/admin-v5/src/pages/article/qa/service.ts b/admin-v5/src/pages/article/qa/service.ts new file mode 100644 index 0000000..1aeb713 --- /dev/null +++ b/admin-v5/src/pages/article/qa/service.ts @@ -0,0 +1,110 @@ +import { request } from 'umi'; +import type { + AddressTableListParams, + LoginLogListParams, + NewsListParams, + NewsParams, + QAParams +} from './data'; +import service from '@/services/http/service'; + + + +export async function queryAQAllList(params: QAParams) { + + console.log("queryAQAllList: ", params) + let result = await service.post('/api/v1/qa/list', { + all: true, + tag: params.tag, + order_asc: params.order_asc, + is_deleted: params.is_deleted, + search: params.main_title, + "page_no": params.currentPage! - 1, + "page_size": params.pageSize + }); + + return Promise.resolve({ + data: result, + success: true, + }) +} + + +export async function queryQADraftList(params: QAParams) { + + console.log("queryQADraftList: ", params) + let result = await service.post('/api/v1/qa/draft/list', { + tag: params.tag, + order_asc: params.order_asc, + search: params.main_title, + "page_no": params.currentPage! - 1, + "page_size": params.pageSize + }); + + return Promise.resolve({ + data: result, + success: true, + }) +} + +export async function queryDeleteList(params: QAParams) { + + console.log("queryDeleteList: ", params) + let result = await service.post('/api/v1/sub/list/today', { + "page_no": params.currentPage, + "page_size": params.pageSize + }); + + + return Promise.resolve({ + data: result, + success: true, + }) +} + + +export async function removeQA(params: { ids: number[] }) { + + console.log("removeQA: ", params) + + let result = await service.post('/api/v1/qa/delete', { + ids: params.ids, + }); + + return Promise.resolve({ + data: result, + success: true, + }) + +} + + +export async function removeQADraft(params: { ids: number[] }) { + + console.log("removeQADraft: ", params) + + let result = await service.post('/api/v1/qa/draft/delete', { + ids: params.ids, + }); + + return Promise.resolve({ + data: result, + success: true, + }) + +} + + +// 通过模版copy至草稿箱 +export async function copyQAItem(params: QAParams) { + + console.log("editNewsItem: ", params) + let result = await service.post('/api/v1/qa/edit', { + ...params + }); + + return Promise.resolve({ + data: result.data.draft_id, + success: true, + }) +} \ No newline at end of file diff --git a/admin-v5/src/pages/article/subscribe/components/LogsModal.tsx b/admin-v5/src/pages/article/subscribe/components/LogsModal.tsx new file mode 100644 index 0000000..b9d50e6 --- /dev/null +++ b/admin-v5/src/pages/article/subscribe/components/LogsModal.tsx @@ -0,0 +1,85 @@ +import React, { useEffect, useRef } from 'react'; +import { Col, Divider, message, Modal, Row } from 'antd'; +import type { AddressTableListItem, OptionLog } from '../data'; +import { queryAddress } from '../service'; +import type { ActionType, ProColumns } from '@ant-design/pro-table'; +import ProTable from '@ant-design/pro-table'; + +export interface CreateFormProps { + onCancel: () => void; + onSubmit: () => void; + addressModalVisible: boolean; + memberId: number; + logs: OptionLog[] +} + +const LogsModal: React.FC = (props) => { + const actionRef = useRef(); + + const { + onSubmit, + onCancel, + addressModalVisible, memberId, logs } = props; + + + useEffect(() => { + let isMounted = true + if (addressModalVisible) { + // if (actionRef.current) { + // actionRef.current.reload(); + // } + + const fetchPost = async () => { + if (isMounted) { + // initTagsFunc() + // initAllFunc() + // initDeleteFunc() + // initDraftFunc() + } + } + + fetchPost() + } + return () => { + isMounted = false + } + }, [addressModalVisible]); + + const handleSubmit = () => { + onSubmit(); + }; + + const modalFooter = { + // okText: '保存', + onOk: handleSubmit, + onCancel + }; + + return ( + + { + + logs != null && logs.map((item, index) => { + return + 操作人: {item.oper_user} + 操作时间: {item.oper_time} + + }) + } + + + ); +}; + +export default LogsModal; diff --git a/admin-v5/src/pages/article/subscribe/components/MemberLoginLogModal.tsx b/admin-v5/src/pages/article/subscribe/components/MemberLoginLogModal.tsx new file mode 100644 index 0000000..613b91a --- /dev/null +++ b/admin-v5/src/pages/article/subscribe/components/MemberLoginLogModal.tsx @@ -0,0 +1,111 @@ +import React, { useEffect, useRef } from 'react'; +import { message, Modal } from 'antd'; +import { queryLoginLog } from '../service'; +import type { ActionType, ProColumns } from '@ant-design/pro-table'; +import ProTable from '@ant-design/pro-table'; +import type { LoginLogListItem } from "../data"; + +export interface CreateFormProps { + onCancel: () => void; + onSubmit: () => void; + logModalVisible: boolean; + memberId: number; +} + +const MemberLogModal: React.FC = (props) => { + const actionRef = useRef(); + + const { onSubmit, onCancel, logModalVisible, memberId } = props; + + useEffect(() => { + if (logModalVisible) { + if (actionRef.current) { + actionRef.current.reload(); + } + } + }, [logModalVisible]); + + const handleSubmit = () => { + onSubmit(); + }; + + const columns: ProColumns[] = [ + { + title: '编号', + dataIndex: 'id', + hideInSearch: true, + }, + { + title: '用户名', + dataIndex: 'memberId', + hideInSearch: true, + }, + { + title: 'ip', + dataIndex: 'ip', + hideInSearch: true, + }, + { + title: '省', + dataIndex: 'province', + hideInSearch: true, + }, + { + title: '城市', + dataIndex: 'city', + hideInSearch: true, + }, + { + title: '登录类型', + dataIndex: 'loginType', + valueEnum: { + 0: { text: 'PC', status: 'Error' }, + 1: { text: 'android', status: 'Success' }, + 2: { text: 'ios', status: 'Success' }, + 3: { text: '小程序', status: 'Success' }, + }, + }, + ]; + + const modalFooter = { okText: '保存', onOk: handleSubmit, onCancel }; + + return ( + + + toolBarRender={false} + actionRef={actionRef} + rowKey="id" + search={false} + request={(params) => { + return queryLoginLog({ + ...params, + memberId, + }).then((res) => { + console.log(res) + if (res.code === '000000') { + return { + data: res.data, + total: res.total, + pageSize: res.pageSize, + current: res.current, + }; + } else { + return message.error(res.msg); + } + }); + }} + columns={columns} + pagination={{ pageSize: 6 }} + /> + + ); +}; + +export default MemberLogModal; diff --git a/admin-v5/src/pages/article/subscribe/components/UpdateMemberForm.tsx b/admin-v5/src/pages/article/subscribe/components/UpdateMemberForm.tsx new file mode 100644 index 0000000..300bc88 --- /dev/null +++ b/admin-v5/src/pages/article/subscribe/components/UpdateMemberForm.tsx @@ -0,0 +1,169 @@ +import React, { useEffect } from 'react'; +import { Form, Input, Modal, Select } from 'antd'; +import { MemberTableListItem } from '../data'; + +export interface UpdateFormProps { + onCancel: () => void; + onSubmit: (values: Partial) => void; + updateModalVisible: boolean; + currentData: Partial; +} +const FormItem = Form.Item; + +const formLayout = { + labelCol: { span: 7 }, + wrapperCol: { span: 13 }, +}; + +const UpdateMemberForm: React.FC = (props) => { + const [form] = Form.useForm(); + + const { + onSubmit, + onCancel, + updateModalVisible, + currentData, + } = props; + + useEffect(() => { + if (form && !updateModalVisible) { + form.resetFields(); + + } + }, [props.updateModalVisible]); + + useEffect(() => { + if (currentData) { + form.setFieldsValue({ + ...currentData, + }); + } + }, [props.currentData]); + + const handleSubmit = () => { + if (!form) return; + form.submit(); + }; + + const handleFinish = (values: { [key: string]: any }) => { + if (onSubmit) { + onSubmit(values); + } + }; + + const renderContent = () => { + return ( + <> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ); + }; + + + const modalFooter = { okText: '保存', onOk: handleSubmit, onCancel }; + + return ( + +
+ {renderContent()} +
+
+ ); +}; + +export default UpdateMemberForm; diff --git a/admin-v5/src/pages/article/subscribe/data.d.ts b/admin-v5/src/pages/article/subscribe/data.d.ts new file mode 100644 index 0000000..c7a009f --- /dev/null +++ b/admin-v5/src/pages/article/subscribe/data.d.ts @@ -0,0 +1,215 @@ +export interface NewsItem { + id: number; + // status: number +} + +export interface AddressTableListItem { + id: number; + +} + +export interface LoginLogListItem { + id: number; + +} + +export interface MemberTableListPagination { + total: number; + pageSize: number; + current: number; +} + +export interface MemberTableListData { + list: MemberTableListItem[]; + pagination: Partial; +} + +export interface NewsListParams { + id?: number + all?: boolean + is_deleted?: boolean + order_asc?: boolean + tag?: string + main_title?: string; + pageSize?: number; + currentPage?: number; + filter?: { [key: string]: any[] }; + sorter?: { [key: string]: any }; + +} + +export interface AddressTableListParams { + memberId?: number; + pageSize?: number; + currentPage?: number; + filter?: { [key: string]: any[] }; + sorter?: { [key: string]: any }; + +} + +export interface LoginLogListParams { + memberId?: number; + pageSize?: number; + currentPage?: number; + filter?: { [key: string]: any[] }; + sorter?: { [key: string]: any }; + +} + + +export interface LodingInfo { + total?: number; + loding: boolean; + current: number; + pageSize: number; +} + + +// export interface NewsDataInfo { +// id: number; +// category: string; +// children: string; +// content: string; +// created_time: string; +// org_id: number; +// spider_id: number; +// tag: string; +// category: string; +// main_title: string; +// sub_title: string; +// summary: string; +// keywords: string[]; +// seo_keywords: string[]; +// tags: string[]; +// url: string; +// image_url: string; +// content: string; +// is_hotspot: boolean; +// is_overwritten: boolean; +// is_deleted: boolean; +// is_replicate: boolean; +// is_pushed: boolean; +// created_time: string; +// updated_time: string; +// extra_data: { +// logs: any; // 此处的类型需根据实际数据类型确定 +// }; +// } + +export interface NewsParams { + category?: string; + main_title: string; + sub_title?: string; + summary?: string; + keywords?: string[]; + seo_keywords?: string[]; + tags?: string[]; + image_url?: string; + content: string; +} + +export interface OptionLog { + oper_time?: string; + oper_type: string; + oper_user?: string; +} + + +export interface MemberTableListItem { + id: number; + status: number +} + +export interface AddressTableListItem { + id: number; + +} + +export interface LoginLogListItem { + id: number; + +} + +export interface MemberTableListPagination { + total: number; + pageSize: number; + current: number; +} + +export interface MemberTableListData { + list: MemberTableListItem[]; + pagination: Partial; +} + + +export interface SubListParams { + id?: number + all?: boolean + is_deleted?: boolean + order_asc?: boolean + tag?: string + main_title?: string; + pageSize?: number; + currentPage?: number; + filter?: { [key: string]: any[] }; + sorter?: { [key: string]: any }; + +} + +export interface AddressTableListParams { + memberId?: number; + pageSize?: number; + currentPage?: number; + filter?: { [key: string]: any[] }; + sorter?: { [key: string]: any }; + +} + +export interface LoginLogListParams { + memberId?: number; + pageSize?: number; + currentPage?: number; + filter?: { [key: string]: any[] }; + sorter?: { [key: string]: any }; + +} + + +export interface LodingInfo { + total?: number; + loding: boolean; +} + + +export interface NewsDataInfo { + id: number; + category: string; + children: string; + content: string; + created_time: string; + org_id: number; + spider_id: number; + tag: string; + category: string; + main_title: string; + sub_title: string; + summary: string; + language: string; + keywords: string[]; + seo_keywords: string[]; + tags: string[]; + url: string; + image_url: string; + content: string; + is_hotspot: boolean; + is_overwritten: boolean; + is_deleted: boolean; + is_replicate: boolean; + // is_pushed: boolean; + state: number; // 状态(0=未发布订阅 1=已发布订阅 2=已推送) + created_time: string; + updated_time: string; + extra_data: { + logs: any; // 此处的类型需根据实际数据类型确定 + }; +} diff --git a/admin-v5/src/pages/article/subscribe/index.tsx b/admin-v5/src/pages/article/subscribe/index.tsx new file mode 100644 index 0000000..e1b2713 --- /dev/null +++ b/admin-v5/src/pages/article/subscribe/index.tsx @@ -0,0 +1,825 @@ +import { AndroidOutlined, AppleOutlined, ArrowDownOutlined, ArrowUpOutlined, DeleteOutlined, EditOutlined, EllipsisOutlined, ExclamationCircleOutlined, SettingOutlined, SwapOutlined, TagsOutlined, UserOutlined } from '@ant-design/icons'; +import { Button, Divider, message, Drawer, Modal, Tabs, Card, Avatar, Switch, Row, Col, Statistic, Space, Dropdown, Input, Form, Select, SelectProps, MenuProps, Pagination, PaginationProps } from 'antd'; +import React, { useState, useRef, useEffect } from 'react'; +import { PageContainer, FooterToolbar, PageLoading } from '@ant-design/pro-layout'; +import ProTable from '@ant-design/pro-table'; +import type { ProColumns, ActionType } from '@ant-design/pro-table'; +import ProDescriptions from '@ant-design/pro-descriptions'; +import type { ProDescriptionsItemProps } from '@ant-design/pro-descriptions'; +import type { LodingInfo, NewsItem, NewsParams, OptionLog } from './data'; +import { + + newsPublishSub, + queryPushedList, + querySubAllList, queryTodayList, +} from './service'; +import MemberAddressModal from "./components/LogsModal"; +import LogsModal from "./components/LogsModal"; +import Meta from 'antd/lib/card/Meta'; +import { NewsDataInfo } from './data'; +import { MenuInfo } from 'rc-menu/lib/interface'; + +import { history } from 'umi'; +import { queryAllTags } from '../tag/service'; +import { handleCopy } from '../news'; + + +const { confirm } = Modal; + + +// /** +// * 添加文章至草稿 +// * @param fields +// */ +// export const handleEdit = async (fields: NewsParams) => { +// const hide = message.loading('创建草稿中...'); +// try { +// // fields.deptId = Number(fields.deptId) +// let result = await copyNewsItem({ ...fields }); +// hide(); +// message.success('创建成功'); + +// console.log("-----result------", result) + +// return result; +// } catch (error) { +// hide(); +// message.error('添加失败请重试!'); +// return { +// data: 0, +// success: false, +// }; +// } +// }; + +/** + * 添加文章至订阅 + * @param fields + */ +const handlePublish = async (id: number) => { + const hide = message.loading('发布至订阅中...'); + try { + // fields.deptId = Number(fields.deptId) + let result = await newsPublishSub(id); + hide(); + message.success('订阅成功'); + + console.log("-----result------", result) + + return result; + } catch (error) { + hide(); + message.error('订阅失败请重试!'); + return { + data: 0, + success: false, + }; + } +}; + +/** + * 删除文章 + * @param selectedRows + */ +const handleRemove = async (selectedRows: NewsItem[]) => { + const hide = message.loading('正在删除'); + if (!selectedRows) return true; + try { + // await removeNews({ + // ids: selectedRows.map((row) => row.id), + // }); + hide(); + message.success('删除成功,即将刷新'); + return true; + } catch (error) { + hide(); + message.error('删除失败,请重试'); + return false; + } +}; + +export interface CreateFormProps { + itemList: NewsDataInfo[]; + label: number; + // onCancel: () => void; + // onSubmit: () => void; + // addressModalVisible: boolean; + // memberId: number; +} + +const SubscribeList: React.FC<{}> = () => { + const [addressModalVisible, handleAddressModalVisible] = useState(false); + const [logModalVisible, handleLogModalVisible] = useState(false); + // const [updateModalVisible, handleUpdateModalVisible] = useState(false); + const [showDetail, setShowDetail] = useState(false); + const actionRef = useRef(); + const [currentRow, setCurrentRow] = useState(); + const [selectedRowsState, setSelectedRows] = useState([]); + + const [initPage, setInitPage] = useState(false); + const [isTime, setIsTime] = useState(false); + const [tag, setTag] = useState(); + const [tagItems, setTagItems] = useState(); + // const [current, setCurrent] = useState(1); + // const [pageSize, setPageSize] = useState(10); + const [logs, setLogs] = useState([]); + + const [currTags, setCurrTags] = useState("1"); + + + const [options, setOptions] = useState(); + + + const [lodingInfos, setLodingInfos] = useState([ + { total: 0, loding: true, current: 1, pageSize: 10 }, + { total: 0, loding: true, current: 1, pageSize: 10 }, + { total: 0, loding: true, current: 1, pageSize: 10 }, + ]); + + + + const [allDataInfo, setAllDataInfo] = useState([]); + const [deleteDataInfo, setDeleteDataInfo] = useState([]); + const [draftDataInfo, setDraftDataInfo] = useState([]); + + const initTagsFunc = async () => { + queryAllTags({ pageSize: 1000, current: 0 }).then((res) => { + console.log("--queryAllTags---->", res) + setInitPage(true) + let newRes = res.data + + newRes.map((_item: any, _index: any) => { + newRes[_index] = { + ...newRes[_index], + label: _item.name, + value: _item.name, + key: _item.name, + } + }) + + setTagItems(newRes) + + }); + } + + const initAllFunc = async (current: number, pageSize: number, main_title?: string) => { + querySubAllList({ pageSize: pageSize, currentPage: current, order_asc: isTime, tag: tag, main_title: main_title }).then((res: any) => { + + + setInitPage(true) + + const result = res.data + + let newRes = result.data.list as NewsDataInfo[] + + newRes.map((_item: NewsDataInfo, _index: any) => { + newRes[_index] = { + ...newRes[_index], + } + + }) + + console.log("--querySubAllList---->", res, newRes) + setAllDataInfo(newRes) + setLodingInfos(prevState => { + const newState = [...prevState]; + if (newState.length > 2) { + newState[0].total = result.header.total; + newState[0].loding = false; + } + return newState; + }); + + }); + } + + const initTodyFunc = (current: number, pageSize: number) => { + queryTodayList({ pageSize: pageSize, is_deleted: true, currentPage: current, order_asc: isTime, tag: tag }).then((res: any) => { + console.log("--queryTodayList---->", res) + + setInitPage(true) + + const result = res.data + let newRes = result.data.list as NewsDataInfo[] + + newRes.map((_item: any, _index: any) => { + newRes[_index] = { + ...newRes[_index], + // label: `${_item.role_name}`, children: `Content of Tab Pane ${_index + 1}`, key: _item.id + } + + }) + setDeleteDataInfo(newRes) + setLodingInfos(prevState => { + const newState = [...prevState]; + + console.log("===============>", newState) + if (newState.length > 2) { + newState[1].total = result.header.total; + newState[1].loding = false; + } + return newState; + }); + + }); + } + + + const initPushedFunc = async (current: number, pageSize: number) => { + queryPushedList({ pageSize: pageSize, currentPage: current, order_asc: isTime, tag: tag }).then((res: any) => { + console.log("--queryPushedList---->", res) + + setInitPage(true) + + const result = res.data + + let newRes = result.data.list as NewsDataInfo[] + + newRes.map((_item: any, _index: any) => { + newRes[_index] = { + ...newRes[_index], + // label: `${_item.role_name}`, children: `Content of Tab Pane ${_index + 1}`, key: _item.id + } + + }) + setDraftDataInfo(newRes) + setLodingInfos(prevState => { + const newState = [...prevState]; + if (newState.length > 2) { + newState[2].total = result.header.total; + newState[2].loding = false; + } + return newState; + }); + + }); + } + + + useEffect(() => { + let isMounted = true + const fetchPost = async () => { + if (isMounted) { + initTagsFunc() + // initAllFunc() + // initDeleteFunc() + // initDraftFunc() + } + } + + fetchPost() + + return () => { + isMounted = false + } + }, []) + + useEffect(() => { + let isMounted = true + const fetchPost = async () => { + if (isMounted) { + initAllFunc(lodingInfos[0].current, lodingInfos[0].pageSize) + initTodyFunc(lodingInfos[1].current, lodingInfos[1].pageSize) + initPushedFunc(lodingInfos[2].current, lodingInfos[2].pageSize) + } + } + + fetchPost() + + return () => { + isMounted = false + } + }, [tag, isTime]) + + + const showDeleteConfirm = (item: NewsItem) => { + confirm({ + title: '是否删除记录?', + icon: , + content: '删除的记录不能恢复,请确认!', + onOk() { + handleRemove([item]).then((r) => { + // actionRef.current?.reloadAndRest?.(); + initAllFunc(lodingInfos[0].current, lodingInfos[0].pageSize) + initTodyFunc(lodingInfos[1].current, lodingInfos[1].pageSize) + }); + }, + onCancel() { + }, + }); + }; + + const CardItemList: React.FC = (props) => { + const actionRef = useRef(); + const [loading, setLoading] = useState(false); + + + const { + itemList, + label + // onSubmit, onCancel, addressModalVisible, memberId + } = props; + + const defaultImage = "https://gw.alipayobjects.com/zos/rmsportal/JiqGstEfoWAOHiTxclqi.png" + + return ( + <> + + { + itemList.map((item, index) => { + return + + + + } + actions={[ + + // , + // , + // , + ]} + > + {/* } + title={"Card title"} + description={item.sub_title} + style={{ + marginBottom: "14px" + }} + /> */} + +
+
{item.main_title}
+

{item.sub_title}

+
+ +
+ {item.created_time} + + { + (label == 1 || label == 2) &&
+ {/* */} + + + , + }, + { + label: '删除', + key: '2', + // icon: , + }, + ], + onClick: async (e: MenuInfo) => { + + console.log('click', e, currTags); + + + if (e.key == "1") { + // message.info("开发中") + if (currTags == "1") { + console.log("预创建草稿:", item) + const result = await handleCopy(item); + if (result.success) { + history.push(`/article/editnews/edit/${currTags}/${result.data}`); + } + } else if (currTags == "2") { + history.push(`/article/editnews/sub/${currTags}/${item.id}`); + } + + + } else if (e.key == "2") { + + // if (!!item.id && item.id != undefined) return + showDeleteConfirm({ + id: item.id, + }); + } + + + }, + }} + // overlayStyle={{ + // padding: "0px 30px", + // background: "#fff" + // }} + placement="bottom" + > + + + + + + {(item.state == 0 && label == 1) && } + +
+ } + + +
+ +
+ + + + }) + } +
+ {/* */} + + + + ); + }; + + const onFinish = (values: any) => { + console.log('Success:', values); + resetPage() + initAllFunc(lodingInfos[0].current, lodingInfos[0].pageSize, values.main_title) + }; + + const resetPage = () => { + console.log('resetPage:'); + + setLodingInfos(prevState => { + const newState = [...prevState]; + newState.map((r, i) => { + newState[i].current = 1; + newState[i].pageSize = 10; + }) + + return newState; + }); + + }; + + + + const onFinishFailed = (errorInfo: any) => { + console.log('Failed:', errorInfo); + }; + + + const handleButtonClick = (e: React.MouseEvent) => { + // message.info('Click on left button.'); + console.log('click left button', e); + + + }; + + const handleMenuClick: MenuProps['onClick'] = e => { + // message.info('Click on menu item.'); + console.log('click', e); + setTag(e.key) + }; + + const menuProps = { + items: tagItems, + onClick: handleMenuClick, + }; + + return ( + + + { + (lodingInfos[0].loding || lodingInfos[1].loding || lodingInfos[2].loding) ? + : +
+
+ + + +
+ +
+ + { + console.log(key); + setCurrTags(key) + + }} + items={[ + { + label: 1, + name: `全部(${lodingInfos[0].total})`, + icon: AppleOutlined, + itemList: allDataInfo, + }, + { + label: 2, + name: `今日订阅(${lodingInfos[1].total})`, + icon: AndroidOutlined, + itemList: deleteDataInfo, + }, + { + label: 3, + name: `已发送(${lodingInfos[2].total})`, + icon: AndroidOutlined, + itemList: draftDataInfo, + }, + ].map((r, i) => { + const id = String(i + 1); + + return { + label: ( + + {/* */} + {r.name} + + ), + key: id, + children:
+ +
+ {/* */} + { + console.log("onShowSizeChange: ", current, size) + + setTimeout(() => { + setLodingInfos(prevState => { + const newState = [...prevState]; + newState[i].loding = true; + newState[i].current = 1; + newState[i].pageSize = size; + return newState; + }); + }, 0) + + + }} + // showTotal={(total, range) => `${range[0]}-${range[1]} of ${total} items`} + + onChange={(page) => { + console.log("onChange page:", page); + + setLodingInfos(prevState => { + const newState = [...prevState]; + newState[i].loding = true; + newState[i].current = page; + return newState; + }); + + + if (i == 0) { + initAllFunc(lodingInfos[i].current, lodingInfos[i].pageSize) + } else if (i == 1) { + initTodyFunc(lodingInfos[i].current, lodingInfos[i].pageSize) + } else if (i == 2) { + initPushedFunc(lodingInfos[i].current, lodingInfos[i].pageSize) + } + }} + defaultPageSize={10} + defaultCurrent={1} + /> +
+
+ + , + }; + })} + /> + +
+ + + + + {/* { + // console.log('click', e); + // // message.info("开发中") + // // setTag() + // }, + // }} + placement="bottom" + overlayStyle={{ + // padding: "30px", + // background: "red" + }} + > + + */} + + {/* + + + + + + {/* + + */} + + + ); + }; + + + const modalFooter = { okText: '保存', onOk: handleSubmit, onCancel }; + + return ( + +
+ {renderContent()} +
+
+ ); +}; + +export default CreateTagForm; diff --git a/admin-v5/src/pages/article/tag/components/MenuForm.tsx b/admin-v5/src/pages/article/tag/components/MenuForm.tsx new file mode 100644 index 0000000..96997e9 --- /dev/null +++ b/admin-v5/src/pages/article/tag/components/MenuForm.tsx @@ -0,0 +1,119 @@ +import React, { useEffect, useState } from 'react'; +import { Form, Input, Modal, Tree } from 'antd'; +import type { RoleListItem } from '../data'; +import { queryMenuByRoleId } from '@/pages/system/role/service'; +import { tree as toTree } from '@/utils/utils'; + +export interface MenuFormProps { + onCancel: () => void; + onSubmit: (values: { roleId: number; menuIds: number[] }) => void; + updateMenuModalVisible: boolean; + currentData: Partial; +} + +const FormItem = Form.Item; + +const formLayout = { + labelCol: { span: 7 }, + wrapperCol: { span: 13 }, +}; + +const UpdateRoleForm: React.FC = (props) => { + const [form] = Form.useForm(); + + const [treeData, setTreeData] = useState([]); + const [checkedKeys, setCheckedKeys] = useState([]); + const [selectedKey, setSelectedKey] = useState([]); + + const { + onSubmit, + onCancel, + updateMenuModalVisible, + currentData, + } = props; + + + const handleSubmit = () => { + if (!form) return; + form.submit(); + }; + + const handleFinish = (values: { [key: string]: any }) => { + if (onSubmit) { + onSubmit({ + roleId: currentData.id || 0, + menuIds: selectedKey, + }); + } + }; + + useEffect(() => { + if (updateMenuModalVisible) { + setSelectedKey([]); + setCheckedKeys([]); + queryMenuByRoleId({ id: currentData.id }).then((res) => { + // @ts-ignore + setTreeData(toTree(res.allData, 0, 'parentId')); + + if (res.userData) { + const map = res.userData.map((r: number) => r + ''); + setSelectedKey(map); + setCheckedKeys(map); + + } + }); + } + }, [props.updateMenuModalVisible]); + + + const onCheck = (checkedKeysValue: React.Key[]) => { + setCheckedKeys(checkedKeysValue); + + setSelectedKey(checkedKeysValue.map((i) => Number(i))); + }; + + const renderContent = () => { + return ( + <> + + + + ); + }; + + + const modalFooter = { okText: '保存', onOk: handleSubmit, onCancel }; + + return ( + +
+ {renderContent()} +
+
+ ); +}; + +export default UpdateRoleForm; diff --git a/admin-v5/src/pages/article/tag/components/UpdateRoleForm.tsx b/admin-v5/src/pages/article/tag/components/UpdateRoleForm.tsx new file mode 100644 index 0000000..4df0960 --- /dev/null +++ b/admin-v5/src/pages/article/tag/components/UpdateRoleForm.tsx @@ -0,0 +1,122 @@ +import React, { useEffect } from 'react'; +import { Form, Input, Modal, Radio } from 'antd'; +import type { TagInfo, TagListItem } from '../data'; + +export interface UpdateFormProps { + onCancel: () => void; + onSubmit: (values: TagListItem) => void; + updateModalVisible: boolean; + currentData: Partial; + +} + +const FormItem = Form.Item; + +const formLayout = { + labelCol: { span: 7 }, + wrapperCol: { span: 13 }, +}; + +const UpdateRoleForm: React.FC = (props) => { + const [form] = Form.useForm(); + + const { + onSubmit, + onCancel, + updateModalVisible, + currentData, + } = props; + + useEffect(() => { + if (form && !updateModalVisible) { + form.resetFields(); + + } + }, [props.updateModalVisible]); + + useEffect(() => { + if (currentData) { + form.setFieldsValue({ + ...currentData, + }); + } + }, [props.currentData]); + + const handleSubmit = () => { + if (!form) return; + form.submit(); + }; + + const handleFinish = (values: { [key: string]: any }) => { + if (onSubmit) { + onSubmit(values as TagListItem); + } + }; + + const renderContent = () => { + return ( + <> + + + + + + + + {/* + + 禁用 + 启用 + + + + + */} + + ); + }; + + + const modalFooter = { okText: '保存', onOk: handleSubmit, onCancel }; + + return ( + +
+ {renderContent()} +
+
+ ); +}; + +export default UpdateRoleForm; diff --git a/admin-v5/src/pages/article/tag/data.d.ts b/admin-v5/src/pages/article/tag/data.d.ts new file mode 100644 index 0000000..8b32311 --- /dev/null +++ b/admin-v5/src/pages/article/tag/data.d.ts @@ -0,0 +1,52 @@ +export interface TagListItem { + id: number; + name: string; + name_cn: string; + remark?: string; + +} + +export interface RoleListPagination { + total: number; + pageSize: number; + current: number; +} + +export interface RoleListData { + list: RoleListItem[]; + pagination: Partial; +} + +export interface RoleListParams { + status?: number; + pageSize?: number; + current?: number; + filter?: { [key: string]: any[] }; + sorter?: { [key: string]: any }; +} + + +export interface TagListParamsV2 { + pageSize?: number; + current?: number; + filter?: { [key: string]: any[] }; + sorter?: { [key: string]: any }; +} + + +interface ExtraData { + logs: any; // 此处的类型需根据实际数据类型确定 +} + +export interface TagInfo { + id: number; + name: string; + name_cn: string; + is_inherent: boolean; //是否内置 不可操作 + is_deleted: boolean; // + created_time: string; + updated_time: string; + label?: string; + extra_data: ExtraData; + +} diff --git a/admin-v5/src/pages/article/tag/index.tsx b/admin-v5/src/pages/article/tag/index.tsx new file mode 100644 index 0000000..fd835a0 --- /dev/null +++ b/admin-v5/src/pages/article/tag/index.tsx @@ -0,0 +1,450 @@ +import { + PlusOutlined, + ExclamationCircleOutlined, + EditOutlined, + DeleteOutlined, + SearchOutlined, + FileAddOutlined, + PlusCircleOutlined, + UserOutlined, + DownOutlined, + MoreOutlined +} from '@ant-design/icons'; + +import { PageLoading } from '@ant-design/pro-layout'; + +import React, { useState, useRef, useEffect } from 'react'; +import { PageContainer, FooterToolbar } from '@ant-design/pro-layout'; +import ProTable from '@ant-design/pro-table'; +import type { ProColumns, ActionType } from '@ant-design/pro-table'; +import ProDescriptions, { ProDescriptionsItemProps } from '@ant-design/pro-descriptions'; +import MenuForm from './components/MenuForm'; +import CreateTagForm from './components/CreateTagForm'; +import UpdateRoleForm from './components/UpdateRoleForm'; +import type { TagInfo, TagListItem } from './data'; +import { + queryRole, + addTag, + updateRoleMenu, + queryAllTags, + removeTag, + updateTag, +} from './service'; + +import type { MenuProps, RadioChangeEvent } from 'antd'; + +import { Button, Divider, message, Drawer, Modal, Radio, Tabs, Tooltip, Select, Menu, Dropdown, Space } from 'antd'; +import Title from 'antd/lib/typography/Title'; +import { MenuInfo } from 'rc-menu/lib/interface'; + +// type TargetKey = React.MouseEvent | React.KeyboardEvent | string; + +// const defaultPanes = new Array(2).fill(null).map((_, index) => { +// const id = String(index + 1); +// return { label: `Tab ${id}`, children: `Content of Tab Pane ${index + 1}`, key: id }; +// }); + +// type TabPosition = 'left' | 'right' | 'top' | 'bottom'; + +const { confirm } = Modal; + + +/** + * 添加节点 + * @param fields + */ +const handleAdd = async (fields: TagListItem) => { + const hide = message.loading('正在添加'); + try { + + console.log(fields) + await addTag({ ...fields }); + hide(); + message.success('添加成功'); + + return true; + } catch (error) { + hide(); + message.error('添加失败请重试!'); + return false; + } +}; + + +/** + * 更新节点 + * @param fields + */ +const handleUpdate = async (fields: TagListItem) => { + const hide = message.loading('正在更新'); + try { + + console.log("handleUpdate:", fields) + + await updateTag(fields); + hide(); + + message.success('更新成功'); + return true; + } catch (error) { + hide(); + message.error('更新失败请重试!'); + return false; + } +}; + + +/** + * 删除节点 + * @param selectedRows + */ +const handleRemove = async (selectedRows: TagListItem[]) => { + const hide = message.loading('正在删除'); + if (!selectedRows) return true; + try { + await removeTag({ + ids: selectedRows.map((row) => row.id), + }); + hide(); + message.success('删除成功,即将刷新'); + return true; + } catch (error) { + hide(); + message.error('删除失败,请重试'); + return false; + } +}; + +const TableList: React.FC = () => { + + const actionRef = useRef(); + const [createModalVisible, handleModalVisible] = useState(false); + const [updateModalVisible, handleUpdateModalVisible] = useState(false); + const [updateMenuModalVisible, handleUpdateMenuModalVisible] = useState(false); + const [showDetail, setShowDetail] = useState(false); + const [currentRow, setCurrentRow] = useState(); + + // const [mode, setMode] = useState('top'); + const [initPage, setInitPage] = useState(false); + + // const [activeKey, setActiveKey] = useState(defaultPanes[0].key); + const [items, setItems] = useState([]); + const newTabIndex = useRef(0); + + const initFunc = async () => { + queryAllTags({ pageSize: 100, current: 0 }).then((res) => { + console.log("--queryAllTags---->", res) + + setInitPage(true) + + let newRes = res.data + + newRes.map((_item: any, _index: any) => { + newRes[_index] = { + ...newRes[_index], + label: `${_item.name}`, children: `Content of Tab Pane ${_index + 1}`, key: _item.id + } + + }) + setItems(newRes) + + console.log("items", items) + + }); + } + + + useEffect(() => { + let isMounted = true + const fetchPost = async () => { + initFunc() + + } + + fetchPost() + + return () => { + isMounted = false + } + }, []) + + + + + + + // const onChange = (key: string) => { + // setActiveKey(key); + // }; + + // const add = () => { + // handleModalVisible(true) + // const newActiveKey = `newTab${newTabIndex.current++}`; + // setItems([...items, { label: 'New Tab', children: 'New Tab Pane', key: newActiveKey }]); + // setActiveKey(newActiveKey); + // }; + + // const remove = (targetKey: TargetKey) => { + // const targetIndex = items.findIndex((pane) => pane.key === targetKey); + // const newPanes = items.filter((pane) => pane.key !== targetKey); + // if (newPanes.length && targetKey === activeKey) { + // const { key } = newPanes[targetIndex === newPanes.length ? targetIndex - 1 : targetIndex]; + // setActiveKey(key); + // } + // setItems(newPanes); + // }; + + // const onEdit = (targetKey: TargetKey, action: 'add' | 'remove') => { + // if (action === 'add') { + // add(); + // } else { + // remove(targetKey); + // } + // }; + + + + const handleButtonClick = (e: React.MouseEvent) => { + // message.info('Click on left button.'); + console.log('click left button', e); + }; + + const handleMenuClick: MenuProps['onClick'] = e => { + // message.info('Click on menu item.'); + console.log('click', e); + }; + + + const showDeleteConfirm = (item: TagListItem) => { + confirm({ + title: '是否删除记录?', + icon: , + content: '删除的记录不能恢复,请确认!', + onOk() { + handleRemove([item]).then((success: boolean) => { + + console.log("=======", success) + // actionRef.current?.reloadAndRest?.(); + if (success) { + initFunc() + } + }); + + + }, + onCancel() { + }, + }); + }; + + + + + return ( + + + {/* }> + Dropdown + + + Dropdown + + [ + + {leftButton} + , + React.cloneElement(rightButton as React.ReactElement, { loading: true }), + ]} + > + With Tooltip + */} + + + + + {/* + + Actions */} + + + + { + !initPage ? + : + + + + + { + items.map((item, index) => { + return , + }, + { + label: '删除标签', + key: '2', + // icon: , + }, + + ], + onClick: async (e: MenuInfo) => { + + console.log('click', e); + + if (e.key == '1') { + handleUpdateModalVisible(true) + + setCurrentRow(item) + } else if (e.key == '2') { + // message.info(`删除: ${item.name}`); + // const { success } = await removeTag(item.id); + showDeleteConfirm(item); + // console.log("----:", item, success) + + + } + }, + }} + // danger={true} + onClick={handleButtonClick} + icon={item.is_inherent ? : } + + > + {item.label} + + }) + + } + + + + } + { + const success = await handleAdd(value); + if (success) { + handleModalVisible(false); + setCurrentRow(undefined); + // if (actionRef.current) { + // actionRef.current.reload(); + // } + initFunc() + } + }} + onCancel={() => { + handleModalVisible(false); + if (!showDetail) { + setCurrentRow(undefined); + } + }} + createModalVisible={createModalVisible} + /> + + { + const success = await handleUpdate(value); + if (success) { + handleUpdateModalVisible(false); + setCurrentRow(undefined); + // if (actionRef.current) { + // actionRef.current.reload(); + // } + initFunc() + } + }} + onCancel={() => { + handleUpdateModalVisible(false); + if (!showDetail) { + setCurrentRow(undefined); + } + }} + updateModalVisible={updateModalVisible} + currentData={currentRow || {}} + /> + + + + + ); + + // return ( + // + // { + // !initPage ? + // :
+ //
+ // + // 标签({items.length}) + // */} + //
+ // {/* { + // const id = String(i); + // return { + // label: `Tab-${id}`, + // key: id, + // disabled: i === 28, + // children: `Content of tab ${id}`, + // }; + // })} + // /> */} + + // + //
+ // } + // { + // const success = await handleAdd(value); + // if (success) { + // handleModalVisible(false); + // setCurrentRow(undefined); + // // if (actionRef.current) { + // // actionRef.current.reload(); + // // } + // initFunc() + // } + // }} + // onCancel={() => { + // handleModalVisible(false); + // if (!showDetail) { + // setCurrentRow(undefined); + // } + // }} + // createModalVisible={createModalVisible} + // /> + + //
+ // ); +}; + +export default TableList; diff --git a/admin-v5/src/pages/article/tag/service.ts b/admin-v5/src/pages/article/tag/service.ts new file mode 100644 index 0000000..768fb8a --- /dev/null +++ b/admin-v5/src/pages/article/tag/service.ts @@ -0,0 +1,101 @@ +import { request } from 'umi'; +import type { RoleListParams, TagListItem, TagListParamsV2 } from './data'; +import service from '@/services/http/service'; + +export async function queryRole(params: RoleListParams) { + if (params.status != null) { + params.status = Number(params.status) + } + return request('/api/sys/role/list', { + method: 'POST', + data: { + ...params, + }, + }); +} + +//查询用户的关糸 +export async function queryAllTags(params: TagListParamsV2) { + let result = await service.post('/api/v1/tag/list', { + "page_no": params.current, + "page_size": params.pageSize + }); + + return Promise.resolve({ + data: result.data.list, + success: true, + }) +} + +export async function queryMenuByRoleId(params: { id?: number }) { + return request('/api/sys/role/queryMenuByRoleId', { + method: 'POST', + data: { + ...params, + }, + }); +} + +export async function updateRoleMenu(params: { roleId: number, menuIds: number[] }) { + return request('/api/sys/role/updateRoleMenu', { + method: 'POST', + data: { + ...params, + }, + }); +} + +export async function removeRoleOne(params: { id: number }) { + return request('/api/sys/role/delete', { + method: 'POST', + data: { + ...params, + }, + }); +} + +export async function removeTag(params: { ids: number[] }) { + let result = await service.post('/api/v1/tag/delete', { + "ids": params.ids, + }); + + return Promise.resolve({ + data: result.data, + success: true, + }) +} + +function addHashIfNeeded(str: string): string { + if (str.charAt(0) !== '#') { + return '#' + str; + } + return str; +} + +export async function addTag(params: TagListItem) { + let result = await service.post('/api/v1/tag/add', { + "name": addHashIfNeeded(params.name), + "name_cn": addHashIfNeeded(params.name_cn), + // "remark": params.remark, + }); + + return Promise.resolve({ + data: result.data.roles, + success: true, + }) +} + +export async function updateTag(params: TagListItem) { + + let result = await service.post('/api/v1/tag/edit', { + "id": params.id, + "name": addHashIfNeeded(params.name), + "name_cn": addHashIfNeeded(params.name_cn), + }); + + return Promise.resolve({ + data: result.data, + success: true, + }) + +} diff --git a/admin-v5/src/pages/document.ejs b/admin-v5/src/pages/document.ejs new file mode 100644 index 0000000..c541319 --- /dev/null +++ b/admin-v5/src/pages/document.ejs @@ -0,0 +1,236 @@ + + + + + + + + + + + AI Pro + + + + +
+ +
+ +
+
+ +
+
+
+ + AI PRO +
+
+
+ + diff --git a/admin-v5/src/pages/log/loginlog/data.d.ts b/admin-v5/src/pages/log/loginlog/data.d.ts new file mode 100644 index 0000000..5ae44b9 --- /dev/null +++ b/admin-v5/src/pages/log/loginlog/data.d.ts @@ -0,0 +1,30 @@ +export interface TableListItem { + id: number; + +} + +export interface TableListPagination { + total: number; + pageSize: number; + current: number; +} + +export interface TableListData { + list: TableListItem[]; + pagination: Partial; +} + +export interface TableListParams { + + pageSize?: number; + current?: number; + filter?: { [key: string]: any[] }; + sorter?: { [key: string]: any }; +} + + +export interface StatisticsLoginLog { + dayLoginCount: number; + weekLoginCount: number; + monthLoginCount: number; +} diff --git a/admin-v5/src/pages/log/loginlog/index.tsx b/admin-v5/src/pages/log/loginlog/index.tsx new file mode 100644 index 0000000..e02b75c --- /dev/null +++ b/admin-v5/src/pages/log/loginlog/index.tsx @@ -0,0 +1,209 @@ +import { Button, Card, Col, message, Modal, Row, Statistic } from 'antd'; +import React, { useEffect, useRef, useState } from 'react'; +import { FooterToolbar, PageContainer } from '@ant-design/pro-layout'; +import type { ActionType, ProColumns } from '@ant-design/pro-table'; +import ProTable from '@ant-design/pro-table'; +import type { TableListItem } from './data.d'; +import { StatisticsLoginLog } from "./data.d"; +import { queryLoginLog, removeLoginLog, statisticsLoginLog } from './service'; +import { DeleteOutlined, ExclamationCircleOutlined } from "@ant-design/icons"; + +const { confirm } = Modal; + + +/** + * 删除节点 + * @param selectedRows + */ +const handleRemove = async (selectedRows: TableListItem[]) => { + const hide = message.loading('正在删除'); + if (!selectedRows) return true; + try { + await removeLoginLog({ + ids: selectedRows.map((row) => row.id), + }); + hide(); + message.success('删除成功,即将刷新'); + return true; + } catch (error) { + hide(); + message.error('删除失败,请重试'); + return false; + } +}; + +const LoginLogList: React.FC = () => { + const actionRef = useRef(); + const [selectedRowsState, setSelectedRows] = useState([]); + const [statisticsLoginLogData, setStatisticsLoginLogData] = useState(); + + const showDeleteConfirm = (item: TableListItem) => { + confirm({ + title: '是否删除记录?', + icon: , + content: '删除的记录不能恢复,请确认!', + onOk() { + handleRemove([item]).then(() => { + actionRef.current?.reloadAndRest?.(); + }); + }, + onCancel() { + }, + }); + }; + + const columns: ProColumns[] = [ + { + title: '用户名', + dataIndex: 'userName', + }, + { + title: 'IP地址', + dataIndex: 'ip', + }, + { + title: '状态', + dataIndex: 'status', + hideInSearch: true, + }, + { + title: '创建人', + dataIndex: 'createBy', + hideInSearch: true, + }, + { + title: '创建时间', + dataIndex: 'createTime', + sorter: true, + hideInSearch: true, + }, + + { + title: '操作', + dataIndex: 'option', + valueType: 'option', + render: (_, record) => ( + <> + + + ), + }, + ]; + + + useEffect(() => { + let isMounted = true + const fetchPost = async () => { + statisticsLoginLog().then((res) => { + if (res.code === '000000') { + if (isMounted) { + setStatisticsLoginLogData({ + dayLoginCount: res.data.dayLoginCount, monthLoginCount: res.data.monthLoginCount, weekLoginCount: res.data.weekLoginCount + }) + } + + } else { + message.error(res.msg); + } + }); + + } + + + + fetchPost() + + return () => { + isMounted = false + } + }, []) + + return ( + + + + + + + + + + + + + + + + + + + + + + + headerTitle="登录日志列表" + actionRef={actionRef} + rowKey="id" + search={{ + labelWidth: 120, + }} + request={queryLoginLog} + columns={columns} + rowSelection={{ + onChange: (_, selectedRows) => setSelectedRows(selectedRows), + }} + pagination={{ pageSize: 10 }} + /> + + + + {selectedRowsState?.length > 0 && ( + + 已选择 {selectedRowsState.length} 项   +
+ } + > + + + )} + + + ); +}; + +export default LoginLogList; diff --git a/admin-v5/src/pages/log/loginlog/service.ts b/admin-v5/src/pages/log/loginlog/service.ts new file mode 100644 index 0000000..03cd7ac --- /dev/null +++ b/admin-v5/src/pages/log/loginlog/service.ts @@ -0,0 +1,37 @@ +import {request} from 'umi'; +import type {TableListParams} from './data.d'; + +/** + * 查询登录日志 + * @param params + */ +export async function queryLoginLog(params: TableListParams) { + return request('/api/sys/loginLog/list', { + method: 'POST', + data: { + ...params, + }, + }); +} + +/** + * 批量删除登录日志 + * @param params + */ +export async function removeLoginLog(params: { ids: number[] }) { + return request('/api/sys/loginLog/delete', { + method: 'POST', + data: { + ...params, + }, + }); +} + +/** + * 查询日志统计 + */ +export async function statisticsLoginLog() { + return request('/api/sys/loginLog/statisticsLoginLog', { + method: 'GET', + }); +} diff --git a/admin-v5/src/pages/log/syslog/data.d.ts b/admin-v5/src/pages/log/syslog/data.d.ts new file mode 100644 index 0000000..3cdad4c --- /dev/null +++ b/admin-v5/src/pages/log/syslog/data.d.ts @@ -0,0 +1,29 @@ +export interface TableListItem { + id: number; + requestParams: string; + responseParams: string; + method: string; + +} + +export interface TableListPagination { + total: number; + pageSize: number; + current: number; +} + +export interface TableListData { + list: TableListItem[]; + pagination: Partial; +} + +export interface TableListParams { + status?: string; + name?: string; + desc?: string; + key?: number; + pageSize?: number; + currentPage?: number; + filter?: { [key: string]: any[] }; + sorter?: { [key: string]: any }; +} diff --git a/admin-v5/src/pages/log/syslog/index.tsx b/admin-v5/src/pages/log/syslog/index.tsx new file mode 100644 index 0000000..217cb79 --- /dev/null +++ b/admin-v5/src/pages/log/syslog/index.tsx @@ -0,0 +1,203 @@ +import { DeleteOutlined, EditOutlined, ExclamationCircleOutlined } from '@ant-design/icons'; +import { Button, Divider, Drawer, message, Modal, Typography } from 'antd'; +import React, { useRef, useState } from 'react'; +import { FooterToolbar, PageContainer } from '@ant-design/pro-layout'; +import type { ActionType, ProColumns } from '@ant-design/pro-table'; +import ProTable from '@ant-design/pro-table'; +import type { TableListItem } from './data.d'; +import { querySysLog, removeSysLog } from './service'; + +const { Paragraph } = Typography; + +const { confirm } = Modal; + +/** + * 删除节点 + * @param selectedRows + */ +const handleRemove = async (selectedRows: TableListItem[]) => { + const hide = message.loading('正在删除'); + if (!selectedRows) return true; + try { + await removeSysLog({ + ids: selectedRows.map((row) => row.id), + }); + hide(); + message.success('删除成功,即将刷新'); + return true; + } catch (error) { + hide(); + message.error('删除失败,请重试'); + return false; + } +}; + +const TableList: React.FC = () => { + const actionRef = useRef(); + const [showDetail, setShowDetail] = useState(false); + const [currentRow, setCurrentRow] = useState(); + const [selectedRowsState, setSelectedRows] = useState([]); + + const showDeleteConfirm = (item: TableListItem) => { + confirm({ + title: '是否删除记录?', + icon: , + content: '删除的记录不能恢复,请确认!', + onOk() { + handleRemove([item]).then(() => { + actionRef.current?.reloadAndRest?.(); + }); + }, + onCancel() { + }, + }); + }; + + const columns: ProColumns[] = [ + { + title: '用户名', + dataIndex: 'userName', + render: (dom, entity) => { + return { + setCurrentRow(entity); + setShowDetail(true); + }}>{dom}; + }, + }, + { + title: '用户操作', + dataIndex: 'operation', + hideInSearch: true, + }, + { + title: '请求方法', + dataIndex: 'method', + }, + { + title: '请求参数', + dataIndex: 'requestParams', + hideInSearch: true, + }, + { + title: '响应参数', + dataIndex: 'responseParams', + hideInSearch: true, + hideInTable: true, + }, + { + title: '执行时间(毫秒)', + dataIndex: 'time', + hideInSearch: true, + }, + { + title: 'IP地址', + dataIndex: 'ip', + hideInSearch: true, + }, + { + title: '操作时间时间', + dataIndex: 'operationTime', + sorter: true, + valueType: 'dateTime', + hideInSearch: true, + }, + + { + title: '操作', + dataIndex: 'option', + valueType: 'option', + render: (_, record) => ( + <> + + + + + ), + }, + ]; + + return ( + + + headerTitle="操作日志列表" + actionRef={actionRef} + rowKey="id" + search={{ + labelWidth: 120, + }} + request={querySysLog} + columns={columns} + rowSelection={{ + onChange: (_, selectedRows) => setSelectedRows(selectedRows), + }} + pagination={{ pageSize: 10 }} + /> + {selectedRowsState?.length > 0 && ( + + 已选择 {selectedRowsState.length} 项   +
+ } + > + + + )} + + { + setCurrentRow(undefined); + setShowDetail(false) + }} + closable={false} + > +
+ 请求方法: + {currentRow?.method} +
+
+ 请求参数: + {currentRow?.requestParams} +
+
+ 响应参数: + {currentRow?.responseParams} +
+
+ + ); +}; + +export default TableList; diff --git a/admin-v5/src/pages/log/syslog/service.ts b/admin-v5/src/pages/log/syslog/service.ts new file mode 100644 index 0000000..6db33e3 --- /dev/null +++ b/admin-v5/src/pages/log/syslog/service.ts @@ -0,0 +1,20 @@ +import {request} from 'umi'; +import type {TableListParams} from './data.d'; + +export async function querySysLog(params?: TableListParams) { + return request('/api/sys/sysLog/list', { + method: 'POST', + data: { + ...params, + }, + }); +} + +export async function removeSysLog(params: { ids: number[] }) { + return request('/api/sys/sysLog/delete', { + method: 'POST', + data: { + ...params, + }, + }); +} diff --git a/admin-v5/src/pages/oms/order/components/BaseInfo.tsx b/admin-v5/src/pages/oms/order/components/BaseInfo.tsx new file mode 100644 index 0000000..40a7f9f --- /dev/null +++ b/admin-v5/src/pages/oms/order/components/BaseInfo.tsx @@ -0,0 +1,55 @@ +import React from 'react'; +import {Col, Row} from 'antd'; +import type {OrderListItem} from "../data.d"; +import '../index.less' + +export interface BaseInfoProps { + currentData: OrderListItem; +} + +const BaseInfo: React.FC = (props) => { + + const item = props.currentData + return ( + <> + + 订单编号 + 发货单流水号 + 用户账户 + 支付方式 + 订单来源 + 订单类型 + + + {item.orderSn} + {item.deliverySn} + {item.memberUserName} + {item.payType === 0 && 未支付} + {item.payType === 1 && 支付宝} + {item.payType === 2 && 微信} + {item.sourceType === 0 && PC订单} + {item.sourceType === 1 && app订单} + {item.orderType === 0 && 正常订单} + {item.orderType === 1 && 秒杀订单} + + + 配送方式 + 物流单号 + 自动确认收货时间 + 订单可得优币 + 订单可得成长值 + 活动信息 + + + {item.deliveryCompany} + {item.deliverySn} + {item.autoConfirmDay} + {item.integration} + {item.growth} + {item.promotionInfo} + + + ); +}; + +export default BaseInfo; diff --git a/admin-v5/src/pages/oms/order/components/CostInfo.tsx b/admin-v5/src/pages/oms/order/components/CostInfo.tsx new file mode 100644 index 0000000..a87a432 --- /dev/null +++ b/admin-v5/src/pages/oms/order/components/CostInfo.tsx @@ -0,0 +1,63 @@ +import React from 'react'; +import {Col, Row} from 'antd'; +import type {OrderListItem} from "../data.d"; +import '../index.less' + +export interface CostInfoProps { + currentData: OrderListItem; +} + +const CostInfo: React.FC = (props) => { + + const item = props.currentData + + // //商品合计金额 + // let productPriceAll = 0.0 + // //优惠券金额 + // let couponAmountAll = 0.0 + // //积分抵扣 + // let integrationAmountAll = 0.0 + // //活动优惠 + // let promotionAmountAll = 0.0 + // //应付款金额 + // let amountAll = 0.0 + // const itemData = item.listOrderItemData; + // for (let i = 0; i < item.listOrderItemData.length; i++) { + // productPriceAll = productPriceAll + (itemData[i].productPrice || 0) + // couponAmountAll = couponAmountAll + (itemData[i].couponAmount || 0) + // integrationAmountAll = integrationAmountAll + (itemData[i].integrationAmount || 0) + // promotionAmountAll = promotionAmountAll + (itemData[i].promotionAmount || 0) + // } + // + // amountAll = productPriceAll - couponAmountAll - integrationAmountAll - promotionAmountAll - (item.discountAmount || 0) + return ( + <> + + 商品合计 + 运费 + 优惠券 + 积分抵扣 + + + ¥{item.totalAmount} + ¥{item.freightAmount} + -¥{item.couponAmount} + -¥{item.integrationAmount} + + + 活动优惠 + 折扣金额 + 订单总金额 + 应付款金额 + + + -¥{item.promotionAmount} + -¥{item.discountAmount} + ¥{item.totalAmount} + ¥{item.payAmount} + + + ); +}; + +export default CostInfo; diff --git a/admin-v5/src/pages/oms/order/components/DeliveryModel.tsx b/admin-v5/src/pages/oms/order/components/DeliveryModel.tsx new file mode 100644 index 0000000..889bace --- /dev/null +++ b/admin-v5/src/pages/oms/order/components/DeliveryModel.tsx @@ -0,0 +1,159 @@ +import React, {useEffect} from 'react'; +import {Form, Input, Modal, Select} from 'antd'; +import type {OrderListItem} from "../data.d"; + +export interface UpdateFormProps { + onCancel: () => void; + onSubmit: (values: OrderListItem) => void; + deliveryModelVisible: boolean; + currentData: Partial; +} + +const FormItem = Form.Item; + +const formLayout = { + labelCol: {span: 7}, + wrapperCol: {span: 13}, +}; + +const DeliveryModel: React.FC = (props) => { + const [form] = Form.useForm(); + + const { + onSubmit, + onCancel, + deliveryModelVisible, + currentData, + } = props; + + useEffect(() => { + if (form && !deliveryModelVisible) { + form.resetFields(); + + } + }, [props.deliveryModelVisible]); + + useEffect(() => { + if (currentData) { + form.setFieldsValue({ + ...currentData, + }); + } + }, [props.currentData]); + + const handleSubmit = () => { + if (!form) return; + form.submit(); + }; + + const handleFinish = (values: { [key: string]: any }) => { + if (onSubmit) { + onSubmit(values as OrderListItem); + } + }; + + const renderContent = () => { + return ( + <> + + + + + + + + + + + + + + + + + + + + + + ); + }; + + + const modalFooter = {okText: '保存', onOk: handleSubmit, onCancel}; + + return ( + +
+ {renderContent()} +
+
+ ); +}; + +export default DeliveryModel; diff --git a/admin-v5/src/pages/oms/order/components/NoteOrderModel.tsx b/admin-v5/src/pages/oms/order/components/NoteOrderModel.tsx new file mode 100644 index 0000000..0f1568a --- /dev/null +++ b/admin-v5/src/pages/oms/order/components/NoteOrderModel.tsx @@ -0,0 +1,77 @@ +import React, {useState} from 'react'; +import {Button, Col, Input, Modal, Row} from 'antd'; +import {EditOutlined, ExclamationCircleFilled} from "@ant-design/icons"; +import type {OrderListItem} from "@/pages/oms/order/data"; + +export interface UpdateFormProps { + onCancel: () => void; + onSubmit: (values: OrderListItem) => void; + closeOrderModelVisible: boolean; + currentData: OrderListItem; +} + +const {confirm} = Modal; + +const NoteOrderModel: React.FC = (props) => { + + const { + onSubmit, + onCancel, + closeOrderModelVisible, + } = props; + + const [remark, setRemark] = useState(""); + + const handleReturnApply = (title: string) => { + confirm({ + title: title, + icon: , + content: '确认后,不能再支付了', + onOk() { + + onSubmit({note: remark, id: props.currentData.id}) + + }, + onCancel() { + }, + }); + }; + + const onChange = (e: { target: { value: React.SetStateAction; }; }) => { + setRemark(e.target.value) + }; + + const renderContent = () => { + return ( + <> + + 操作备注: + + + + + + + + + ); + }; + + return ( + + {renderContent()} + + ); +}; + +export default NoteOrderModel; diff --git a/admin-v5/src/pages/oms/order/components/OperationInfo.tsx b/admin-v5/src/pages/oms/order/components/OperationInfo.tsx new file mode 100644 index 0000000..6697b0f --- /dev/null +++ b/admin-v5/src/pages/oms/order/components/OperationInfo.tsx @@ -0,0 +1,67 @@ +import React from 'react'; +import {Table, Tag} from 'antd'; +import type {ColumnsType} from "antd/es/table"; +import '../index.less' +import type {OperateHistoryDataListItem} from "../data.d"; + +export interface OperationInfoProps { + currentData?: OperateHistoryDataListItem[]; +} + +const OperationInfo: React.FC = (props) => { + + const columns: ColumnsType = [ + { + title: '操作者', + dataIndex: 'operateMan', + }, + { + title: '操作时间', + dataIndex: 'createTime', + }, + { + title: '订单状态', + dataIndex: 'orderStatus', + render: (_, {orderStatus}) => ( + <> + {orderStatus === 0 && + 待付款 + } + {orderStatus === 1 && + 待发货 + } + {orderStatus === 2 && + 已发货 + } + {orderStatus === 3 && + 已完成 + } + {orderStatus === 4 && + 已关闭 + } + {orderStatus === 5 && + 无效订单 + } + + ), + }, + { + title: '付款状态', + dataIndex: 'note', + }, + { + title: '发货状态', + dataIndex: 'note', + }, + { + title: '备注', + dataIndex: 'note', + }, + ]; + + return ( + + ); +}; + +export default OperationInfo; diff --git a/admin-v5/src/pages/oms/order/components/OrderDetailModel.tsx b/admin-v5/src/pages/oms/order/components/OrderDetailModel.tsx new file mode 100644 index 0000000..7f91cb9 --- /dev/null +++ b/admin-v5/src/pages/oms/order/components/OrderDetailModel.tsx @@ -0,0 +1,264 @@ +import React, {useEffect, useState} from 'react'; +import {Button, Card, message, Modal, Space, Steps} from 'antd'; +import type {OrderListItem} from '../data.d'; +import '../index.less' +import OperationInfo from "@/pages/oms/order/components/OperationInfo"; +import ProductInfo from "@/pages/oms/order/components/ProductInfo"; +import ReceiveInfo from "@/pages/oms/order/components/ReceiveInfo"; +import BaseInfo from "@/pages/oms/order/components/BaseInfo"; +import CostInfo from "@/pages/oms/order/components/CostInfo"; +import {DeleteOutlined, EditOutlined, ExclamationCircleOutlined} from "@ant-design/icons"; +import {removeOrder, updateOrder} from "@/pages/oms/order/service"; +import NoteOrderModel from "@/pages/oms/order/components/NoteOrderModel"; +import OrderTrackingModel from "@/pages/oms/order/components/OrderTrackingModel"; +import DeliveryModel from "@/pages/oms/order/components/DeliveryModel"; + +export interface UpdateFormProps { + onCancel: () => void; + onRefresh: () => void; + onSubmit: (values: OrderListItem) => void; + updateModalVisible: boolean; + currentData: OrderListItem; +} + +const steps = [ + { + title: '提交订单', + nextPrompt: '下一步,填写商品促销', + }, + { + title: '支付订单', + nextPrompt: '下一步,填写商品属性', + prePrompt: '上一步,填写商品信息', + }, + { + title: '平台发货', + nextPrompt: '下一步,选择商品关联', + prePrompt: '上一步,填写商品促销', + }, + { + title: '确认收货', + prePrompt: '上一步,填写商品属性', + }, + { + title: '完成评价', + prePrompt: '上一步,填写商品属性', + }, +]; + +const {confirm} = Modal; + +/** + * 更新节点 + * @param fields + */ +const handleUpdate = async (fields: OrderListItem) => { + const hide = message.loading('正在更新'); + try { + await updateOrder(fields); + hide(); + + message.success('更新成功'); + return true; + } catch (error) { + hide(); + message.error('更新失败请重试!'); + return false; + } +}; + +/** + * 删除节点 + * @param selectedRows + */ +const handleRemove = async (selectedRows: OrderListItem[]) => { + const hide = message.loading('正在删除'); + if (!selectedRows) return true; + try { + await removeOrder({ + ids: selectedRows.map((row) => row.id), + }); + hide(); + message.success('删除成功,即将刷新'); + return true; + } catch (error) { + hide(); + message.error('删除失败,请重试'); + return false; + } +}; + +const OrderDetailModel: React.FC = (props) => { + const [current, setCurrent] = useState(0); + const [closeOrderModelVisible, handleCloseOrderModelVisible] = useState(false); + const [deliveryModelVisible, handleDeliveryModelVisible] = useState(false); + const [orderTrackingModalVisible, handleOrderTrackingModalVisible] = useState(false); + const [statusMsg, setStatusMsg] = useState("当前订单状态: 待付款"); + + const items = steps.map((item) => ({key: item.title, title: item.title})); + + const { + onCancel, + onRefresh, + updateModalVisible, + currentData, + } = props; + + useEffect(() => { + if (currentData) { + if (currentData.status === 0) { + setStatusMsg("当前订单状态: 待付款") + setCurrent(0) + } else if (currentData.status === 1) { + setStatusMsg("当前订单状态: 待发货") + setCurrent(2) + } else if (currentData.status === 2) { + setStatusMsg("当前订单状态: 已发货") + setCurrent(3) + } else if (currentData.status === 3) { + setStatusMsg("当前订单状态: 已完成") + setCurrent(4) + } else if (currentData.status === 4) { + setStatusMsg("当前订单状态: 已关闭") + setCurrent(1) + } else if (currentData.status === 5) { + setStatusMsg("当前订单状态: 无效订单") + setCurrent(0) + } + } + }, [props.currentData]); + + const showDeleteConfirm = (item: OrderListItem) => { + confirm({ + title: '是否删除订单?', + icon: , + content: '删除的订单不能恢复,请确认!', + onOk() { + handleRemove([item]).then(() => { + onRefresh() + }); + }, + onCancel() { + }, + }); + }; + + const cancelConfirm = (item: OrderListItem) => { + confirm({ + title: '是否取消订单?', + icon: , + content: '取消的订单不能恢复,请确认!', + onOk() { + //订单状态:0->待付款;1->待发货;2->已发货;3->已完成;4->已关闭;5->无效订单 + item.status = 5 + handleUpdate(item).then(() => { + onRefresh() + }); + }, + onCancel() { + }, + }); + }; + + const renderContent = () => { + return ( + <> + + + + {currentData.status === 0 && } + {currentData.status === 4 && } + {currentData.status === 1 && <> + + + + + } + {(currentData.status === 2 || currentData.status === 3) && } + + }> + + + + + + + + + + + + + + + + + + + ); + }; + + return ( + <> + + {renderContent()} + + { + const success = await handleUpdate(value); + if (success) { + handleCloseOrderModelVisible(false); + } + }} + onCancel={() => { + handleCloseOrderModelVisible(false); + }} + closeOrderModelVisible={closeOrderModelVisible} + currentData={currentData} + /> + { + handleOrderTrackingModalVisible(false); + }} + orderTrackingModalVisible={orderTrackingModalVisible} + currentData={currentData} + /> + { + //订单状态:0->待付款;1->待发货;2->已发货;3->已完成;4->已关闭;5->无效订单 + value.status = 2 + const success = await handleUpdate(value); + if (success) { + //更新当前页面 + currentData.status = 2 + handleDeliveryModelVisible(false); + } + }} + onCancel={() => { + handleDeliveryModelVisible(false); + + }} + deliveryModelVisible={deliveryModelVisible} + currentData={currentData} + /> + + + ); +}; + +export default OrderDetailModel; diff --git a/admin-v5/src/pages/oms/order/components/OrderTrackingModel.tsx b/admin-v5/src/pages/oms/order/components/OrderTrackingModel.tsx new file mode 100644 index 0000000..74da326 --- /dev/null +++ b/admin-v5/src/pages/oms/order/components/OrderTrackingModel.tsx @@ -0,0 +1,52 @@ +import React from 'react'; +import {Modal, Steps} from 'antd'; +import type {OrderListItem} from "@/pages/oms/order/data"; + +export interface UpdateFormProps { + onCancel: () => void; + orderTrackingModalVisible: boolean; + currentData: Partial; +} + + +const OrderTrackingModel: React.FC = (props) => { + + const {onCancel} = props + + const renderContent = () => { + return ( + <> + + + ); + }; + + + return ( + + {renderContent()} + + ); +}; + +export default OrderTrackingModel; diff --git a/admin-v5/src/pages/oms/order/components/ProductInfo.tsx b/admin-v5/src/pages/oms/order/components/ProductInfo.tsx new file mode 100644 index 0000000..2d1779c --- /dev/null +++ b/admin-v5/src/pages/oms/order/components/ProductInfo.tsx @@ -0,0 +1,77 @@ +import React from 'react'; +import {Col, Row, Table} from 'antd'; +import type {OrderItemDataListItem} from "../data.d"; +import type {ColumnsType} from "antd/es/table"; +import '../index.less' + +export interface OrderItemProps { + currentData?: OrderItemDataListItem[]; + totalAmount: number; +} + +const ProductInfo: React.FC = (props) => { + + const columns: ColumnsType = [ + { + title: '商品图片', + dataIndex: 'productPic', + render: (text) => { + return ( +
+ {'商品图片'}/ +
+ ) + }, + }, + { + title: '商品名称', + dataIndex: 'productName', + }, + { + title: '价格', + dataIndex: 'productPrice', + render: (text) => { + return ( +
+ -¥{text} +
+ ) + }, + }, + { + title: '货号', + dataIndex: 'productId', + }, + { + title: '属性', + dataIndex: 'productAttr', + }, + { + title: '数量', + dataIndex: 'productQuantity', + }, + { + title: '小计', + dataIndex: 'realAmount', + render: (text) => { + return ( +
+ -¥{text} +
+ ) + }, + }, + ]; + + return ( + <> +
+ + + 合计:¥{props.totalAmount} + + + ); +}; + +export default ProductInfo; diff --git a/admin-v5/src/pages/oms/order/components/ReceiveInfo.tsx b/admin-v5/src/pages/oms/order/components/ReceiveInfo.tsx new file mode 100644 index 0000000..91df48c --- /dev/null +++ b/admin-v5/src/pages/oms/order/components/ReceiveInfo.tsx @@ -0,0 +1,32 @@ +import React from 'react'; +import {Col, Row} from 'antd'; +import type {OrderListItem} from "../data.d"; +import '../index.less' + +export interface ReceiveInfoProps { + currentData: OrderListItem; +} + +const ReceiveInfo: React.FC = (props) => { + + const item = props.currentData + + return ( + <> + + 收货人 + 手机号码 + 邮政编码 + 收货地址 + + + {item.receiverName} + {item.receiverPhone} + {item.receiverPostCode} + {item.receiverProvince} {item.receiverCity} {item.receiverRegion} {item.receiverDetailAddress} + + + ); +}; + +export default ReceiveInfo; diff --git a/admin-v5/src/pages/oms/order/data.d.ts b/admin-v5/src/pages/oms/order/data.d.ts new file mode 100644 index 0000000..07f9bf0 --- /dev/null +++ b/admin-v5/src/pages/oms/order/data.d.ts @@ -0,0 +1,95 @@ +export interface OrderListItem { + id: number; + memberId?: number; + couponId?: number; + orderSn?: string; + createTime?: string; + memberUserName?: string; + totalAmount?: number; + payAmount?: number; + freightAmount?: number; + promotionAmount?: number; + integrationAmount?: number; + couponAmount?: number; + discountAmount?: number; + payType?: number; + sourceType?: number; + status?: number; + orderType?: number; + deliveryCompany?: string; + deliverySn?: string; + autoConfirmDay?: number; + integration?: number; + growth?: number; + promotionInfo?: string; + receiverName?: string; + receiverPhone?: string; + receiverPostCode?: string; + receiverProvince?: string; + receiverCity?: string; + receiverRegion?: string; + receiverDetailAddress?: string; + note?: string; + confirmStatus?: number; + deleteStatus?: number; + modifyTime?: string; + listOperateHistoryData?: OperateHistoryDataListItem[] + listOrderItemData?: OrderItemDataListItem[] +} + +export interface OperateHistoryDataListItem { + id?: number; + orderId?: number; + operateMan?: string; + createTime?: string; + orderStatus?: number; + note?: string; +} + +export interface OrderItemDataListItem { + id?: number; + orderId?: number; + orderSn?: string; + productId?: number; + productPic?: string; + productName?: string; + productBrand?: string; + productSn?: string; + productPrice?: number; + productQuantity?: number; + productSkuId?: number; + productSkuCode?: string; + productCategoryId?: number; + promotionName?: string; + promotionAmount?: number; + couponAmount?: number; + integrationAmount?: number; + realAmount?: number; + giftIntegration?: number; + giftGrowth?: number; + productAttr?: string; + +} + +export interface OrderListPagination { + total: number; + pageSize: number; + current: number; +} + +export interface OrderListData { + list: OrderListItem[]; + pagination: Partial; +} + +export interface OrderListParams { + payType?: number; + sourceType?: number; + status?: number; + orderType?: number; + pageSize?: number; + current?: number; + filter?: { [key: string]: any[] }; + sorter?: { [key: string]: any }; + +} diff --git a/admin-v5/src/pages/oms/order/index.less b/admin-v5/src/pages/oms/order/index.less new file mode 100644 index 0000000..639f44f --- /dev/null +++ b/admin-v5/src/pages/oms/order/index.less @@ -0,0 +1,7 @@ +.ant-table-thead .ant-table-cell { + background-color: white; +} + +.amountColor { + color: #ff0637 +} diff --git a/admin-v5/src/pages/oms/order/index.tsx b/admin-v5/src/pages/oms/order/index.tsx new file mode 100644 index 0000000..376e539 --- /dev/null +++ b/admin-v5/src/pages/oms/order/index.tsx @@ -0,0 +1,355 @@ +import { DeleteOutlined, EditOutlined, ExclamationCircleOutlined } from '@ant-design/icons'; +import { Button, Divider, Drawer, message, Modal } from 'antd'; +import React, { useRef, useState } from 'react'; +import { PageContainer } from '@ant-design/pro-layout'; +import type { ActionType, ProColumns } from '@ant-design/pro-table'; +import ProTable from '@ant-design/pro-table'; +import type { ProDescriptionsItemProps } from '@ant-design/pro-descriptions'; +import ProDescriptions from '@ant-design/pro-descriptions'; +import OrderDetailModel from './components/OrderDetailModel'; +import type { OrderListItem } from './data.d'; +import { queryOrderList, removeOrder, updateOrder } from './service'; +import NoteOrderModel from "@/pages/oms/order/components/NoteOrderModel"; +import DeliveryModel from "@/pages/oms/order/components/DeliveryModel"; +import OrderTrackingModel from "@/pages/oms/order/components/OrderTrackingModel"; + + +const { confirm } = Modal; + +/** + * 更新节点 + * @param fields + */ +const handleUpdate = async (fields: OrderListItem) => { + const hide = message.loading('正在更新'); + try { + await updateOrder(fields); + hide(); + + message.success('更新成功'); + return true; + } catch (error) { + hide(); + message.error('更新失败请重试!'); + return false; + } +}; + +/** + * 删除节点 + * @param selectedRows + */ +const handleRemove = async (selectedRows: OrderListItem[]) => { + const hide = message.loading('正在删除'); + if (!selectedRows) return true; + try { + await removeOrder({ + ids: selectedRows.map((row) => row.id), + }); + hide(); + message.success('删除成功,即将刷新'); + return true; + } catch (error) { + hide(); + message.error('删除失败,请重试'); + return false; + } +}; + +const OrderTableList: React.FC = () => { + const [updateModalVisible, handleUpdateModalVisible] = useState(false); + const [closeOrderModelVisible, handleCloseOrderModelVisible] = useState(false); + const [deliveryModelVisible, handleDeliveryModelVisible] = useState(false); + const [orderTrackingModalVisible, handleOrderTrackingModalVisible] = useState(false); + const [showDetail, setShowDetail] = useState(false); + const actionRef = useRef(); + const [currentRow, setCurrentRow] = useState(); + + const showDeleteConfirm = (item: OrderListItem) => { + confirm({ + title: '是否删除记录?', + icon: , + content: '删除的记录不能恢复,请确认!', + onOk() { + handleRemove([item]).then(() => { + actionRef.current?.reloadAndRest?.(); + }); + }, + onCancel() { + }, + }); + }; + + const columns: ProColumns[] = [ + { + title: '编号', + dataIndex: 'id', + hideInSearch: true, + }, + { + title: '订单编号', + dataIndex: 'orderSn', + render: (dom, entity) => { + return { + setCurrentRow(entity); + setShowDetail(true); + }}>{dom}; + }, + }, + { + title: '提交时间', + dataIndex: 'createTime', + hideInSearch: true, + }, + { + title: '用户帐号', + dataIndex: 'memberUserName', + }, + { + title: '订单总金额', + dataIndex: 'totalAmount', + hideInSearch: true, + }, + { + title: '应付金额', + dataIndex: 'payAmount', + hideInSearch: true, + hideInTable: true, + }, + { + title: '运费金额', + dataIndex: 'freightAmount', + hideInSearch: true, + hideInTable: true, + }, + { + title: '促销优化金额', + dataIndex: 'promotionAmount', + hideInSearch: true, + hideInTable: true, + }, + { + title: '积分抵扣金额', + dataIndex: 'integrationAmount', + hideInSearch: true, + hideInTable: true, + }, + { + title: '优惠券抵扣金额', + dataIndex: 'couponAmount', + hideInSearch: true, + hideInTable: true, + }, + { + title: '支付方式', + dataIndex: 'payType', + valueEnum: { + 0: { text: '未支付', status: 'Error' }, + 1: { text: '支付宝', status: 'Success' }, + 2: { text: '微信', status: 'Success' }, + }, + }, + { + title: '来源', + dataIndex: 'sourceType', + valueEnum: { + 0: { text: 'PC订单', status: 'Error' }, + 1: { text: 'app订单', status: 'Success' }, + }, + }, + { + title: '状态', + dataIndex: 'status', + valueEnum: { + 0: { text: '待付款', status: 'Success' }, + 1: { text: '待发货', status: 'Success' }, + 2: { text: '已发货', status: 'Success' }, + 3: { text: '已完成', status: 'Success' }, + 4: { text: '已关闭', status: 'Error' }, + 5: { text: '无效订单', status: 'Error' }, + }, + }, + { + title: '订单类型', + dataIndex: 'orderType', + hideInTable: true, + valueEnum: { + 0: { text: '正常订单', status: 'Success' }, + 1: { text: '秒杀订单', status: 'Success' }, + }, + }, + { + title: '操作', + dataIndex: 'option', + valueType: 'option', + render: (_, record) => ( + <> + + + {record.status === 0 && } + {record.status === 4 && } + {record.status === 1 && } + {(record.status === 2 || record.status === 3) && } + + ), + }, + ]; + + return ( + + + headerTitle="订单列表" + actionRef={actionRef} + rowKey="id" + search={{ + labelWidth: 120, + }} + toolBarRender={false} + request={queryOrderList} + columns={columns} + rowSelection={{ + onChange: (_, selectedRows) => console.log(selectedRows), + }} + pagination={{ pageSize: 10 }} + /> + + + { + const success = await handleUpdate(value); + if (success) { + handleUpdateModalVisible(false); + setCurrentRow(undefined); + if (actionRef.current) { + actionRef.current.reload(); + } + } + }} + onRefresh={() => { + handleUpdateModalVisible(false); + if (!showDetail) { + setCurrentRow(undefined); + } + if (actionRef.current) { + actionRef.current.reload(); + } + }} + onCancel={() => { + handleUpdateModalVisible(false); + if (!showDetail) { + setCurrentRow(undefined); + } + if (actionRef.current) { + actionRef.current.reload(); + } + }} + updateModalVisible={updateModalVisible} + currentData={currentRow || { id: 0 }} + /> + + { + value.status = 4 + const success = await handleUpdate(value); + if (success) { + handleCloseOrderModelVisible(false); + setCurrentRow(undefined); + if (actionRef.current) { + actionRef.current.reload(); + } + } + }} + onCancel={() => { + handleCloseOrderModelVisible(false); + if (!showDetail) { + setCurrentRow(undefined); + } + }} + closeOrderModelVisible={closeOrderModelVisible} + currentData={currentRow || { id: 0 }} + /> + + { + value.status = 2 + const success = await handleUpdate(value); + if (success) { + handleDeliveryModelVisible(false); + setCurrentRow(undefined); + if (actionRef.current) { + actionRef.current.reload(); + } + } + }} + onCancel={() => { + handleDeliveryModelVisible(false); + if (!showDetail) { + setCurrentRow(undefined); + } + }} + deliveryModelVisible={deliveryModelVisible} + currentData={currentRow || { id: 0 }} + /> + + { + handleOrderTrackingModalVisible(false); + if (!showDetail) { + setCurrentRow(undefined); + } + }} + orderTrackingModalVisible={orderTrackingModalVisible} + currentData={currentRow || { id: 0 }} + /> + { + setCurrentRow(undefined); + setShowDetail(false) + }} + closable={false} + > + {currentRow?.id && ( + + column={2} + title={"订单详情"} + request={async () => ({ + data: currentRow || {}, + })} + params={{ + id: currentRow?.id, + }} + columns={columns as ProDescriptionsItemProps[]} + /> + )} + + + ); +}; + +export default OrderTableList; diff --git a/admin-v5/src/pages/oms/order/service.ts b/admin-v5/src/pages/oms/order/service.ts new file mode 100644 index 0000000..6097df6 --- /dev/null +++ b/admin-v5/src/pages/oms/order/service.ts @@ -0,0 +1,43 @@ +import {request} from 'umi'; +import type {OrderListParams, OrderListItem} from './data.d'; + +export async function queryOrderList(params: OrderListParams) { + if (params.payType != null) { + params.payType = Number(params.payType) + } + if (params.sourceType != null) { + params.sourceType = Number(params.sourceType) + } + if (params.status != null) { + params.status = Number(params.status) + } + if (params.orderType != null) { + params.orderType = Number(params.orderType) + } + return request('/api/order/order/list', { + method: 'POST', + data: { + ...params, + }, + }); +} + +export async function removeOrder(params: { ids: number[] }) { + return request('/api/order/order/delete', { + method: 'POST', + data: { + ...params, + }, + }); +} + + +export async function updateOrder(params: OrderListItem) { + return request('/api/order/order/update', { + method: 'POST', + data: { + ...params, + }, + }); +} + diff --git a/admin-v5/src/pages/oms/order_return_apply/components/ReturnApplyBase.tsx b/admin-v5/src/pages/oms/order_return_apply/components/ReturnApplyBase.tsx new file mode 100644 index 0000000..3bac0f8 --- /dev/null +++ b/admin-v5/src/pages/oms/order_return_apply/components/ReturnApplyBase.tsx @@ -0,0 +1,64 @@ +import React from 'react'; +import {Col, Row} from 'antd'; +import type {ReturnApplyListItem} from '../data.d'; +import '../index.less' + +export interface ReturnApplyProductProps { + currentData: ReturnApplyListItem; +} + +const ReturnApplyBase: React.FC = (props) => { + + const item = props.currentData; + + return ( + <> + + 服务单号 + {item.id} + + + 申请状态 + {item.status === 0 && 待处理} + {item.status === 1 && 退货中} + {item.status === 2 && 已完成} + {item.status === 3 && 已拒绝} + + + 订单编号 + {item.orderSn} + + + 申请时间 + {item.createTime} + + + 用户账号 + {item.memberUserName} + + + 联系人 + {item.returnName} + + + 联系电话 + {item.returnPhone} + + + 退货原因 + {item.reason} + + + 问题描述 + {item.description} + + + 凭证图片 + {'商品图片'}/ + + + + ); +}; + +export default ReturnApplyBase; diff --git a/admin-v5/src/pages/oms/order_return_apply/components/ReturnApplyDetailModel.tsx b/admin-v5/src/pages/oms/order_return_apply/components/ReturnApplyDetailModel.tsx new file mode 100644 index 0000000..edcf834 --- /dev/null +++ b/admin-v5/src/pages/oms/order_return_apply/components/ReturnApplyDetailModel.tsx @@ -0,0 +1,83 @@ +import React, {useEffect, useState} from 'react'; +import {Card, Form, message, Modal} from 'antd'; +import type {CompanyAddressListItem, ReturnApplyListItem} from '../data.d'; +import '../index.less' +import ReturnApplyProduct from "@/pages/oms/order_return_apply/components/ReturnApplyProduct"; +import ReturnApplyBase from "@/pages/oms/order_return_apply/components/ReturnApplyBase"; +import ReturnApplyHandler from "@/pages/oms/order_return_apply/components/ReturnApplyHandler"; +import ReturnApplyReceive from "@/pages/oms/order_return_apply/components/ReturnApplyReceive"; +import ReturnApplyInfo from "@/pages/oms/order_return_apply/components/ReturnApplyInfo"; +import {queryCompanyAddress} from "@/pages/oms/order_return_apply/service"; +import ReturnApplyInfoSubmit from "@/pages/oms/order_return_apply/components/ReturnApplyInfoSubmit"; +import ReturnApplyHandlerSubmit from "@/pages/oms/order_return_apply/components/ReturnApplyHandlerSubmit"; + +export interface UpdateFormProps { + onCancel: () => void; + onSubmit: (values: ReturnApplyListItem) => void; + getCompanyAddressId: (companyAddressId: number) => void; + detailModalVisible: boolean; + currentData: ReturnApplyListItem; +} + + +const ReturnApplyDetailModel: React.FC = (props) => { + const [form] = Form.useForm(); + const [companyAddressListItem, setCompanyAddressListItem] = useState([]); + + const { + detailModalVisible, + currentData, + onCancel, + getCompanyAddressId + } = props; + + useEffect(() => { + if (form && !detailModalVisible) { + form.resetFields(); + + } else { + queryCompanyAddress({pageSize: 100, current: 1}).then((res) => { + if (res.code === '000000') { + setCompanyAddressListItem(res.data) + } else { + message.error(res.msg); + } + + }); + } + }, [props.detailModalVisible]); + + useEffect(() => { + if (currentData) { + form.setFieldsValue({ + ...currentData, + }); + } + }, [props.currentData]); + + + const renderContent = () => { + return ( + <> + + + + + {currentData.status === 0 && } + {currentData.status !== 0 && } + {currentData.status === 1 && } + {currentData.status === 2 && } + + + ); + }; + + + return ( + + {renderContent()} + + ); +}; + +export default ReturnApplyDetailModel; diff --git a/admin-v5/src/pages/oms/order_return_apply/components/ReturnApplyHandler.tsx b/admin-v5/src/pages/oms/order_return_apply/components/ReturnApplyHandler.tsx new file mode 100644 index 0000000..a6f7d44 --- /dev/null +++ b/admin-v5/src/pages/oms/order_return_apply/components/ReturnApplyHandler.tsx @@ -0,0 +1,32 @@ +import React from 'react'; +import {Col, Row} from 'antd'; +import type {ReturnApplyListItem} from '../data.d'; +import '../index.less' + +export interface ReturnApplyProductProps { + currentData: ReturnApplyListItem; +} + +const ReturnApplyHandler: React.FC = (props) => { + + const item = props.currentData + return ( + <> + + 处理人员 + {item.handleMan} + + + 处理时间 + {item.handleTime} + + + 处理备注 + {item.handleNote} + + + + ); +}; + +export default ReturnApplyHandler; diff --git a/admin-v5/src/pages/oms/order_return_apply/components/ReturnApplyHandlerSubmit.tsx b/admin-v5/src/pages/oms/order_return_apply/components/ReturnApplyHandlerSubmit.tsx new file mode 100644 index 0000000..2b97003 --- /dev/null +++ b/admin-v5/src/pages/oms/order_return_apply/components/ReturnApplyHandlerSubmit.tsx @@ -0,0 +1,52 @@ +import React, {useState} from 'react'; +import {Button, Col, Input, Modal, Row} from 'antd'; +import type {ReturnApplyListItem} from '../data.d'; +import '../index.less' +import {EditOutlined, ExclamationCircleFilled} from "@ant-design/icons"; + +const {confirm} = Modal; + +export interface ReturnApplyProductProps { + currentData: ReturnApplyListItem; + onSubmit: (values: ReturnApplyListItem) => void; +} + +const ReturnApplyHandler: React.FC = (props) => { + const [remark, setRemark] = useState(""); + const item = props.currentData + + const handleReturnApply = (title: string) => { + confirm({ + title: title, + icon: , + content: '确认后,不能再修改', + onOk() { + props.onSubmit({id: item.id, receiveNote: remark, status: 2}) + + }, + onCancel() { + }, + }); + }; + + const onChange = (e: { target: { value: React.SetStateAction; }; }) => { + setRemark(e.target.value) + }; + + return ( + <> + + 收货备注 + + + + + + + ); +}; + +export default ReturnApplyHandler; diff --git a/admin-v5/src/pages/oms/order_return_apply/components/ReturnApplyInfo.tsx b/admin-v5/src/pages/oms/order_return_apply/components/ReturnApplyInfo.tsx new file mode 100644 index 0000000..784f10a --- /dev/null +++ b/admin-v5/src/pages/oms/order_return_apply/components/ReturnApplyInfo.tsx @@ -0,0 +1,80 @@ +import React, {useEffect, useState} from 'react'; +import {Col, Row, Select} from 'antd'; +import type {ReturnApplyListItem} from '../data.d'; +import type {CompanyAddressListItem} from "../data.d"; +import '../index.less' + +export interface ReturnApplyProductProps { + currentData: ReturnApplyListItem; + addressListItem: CompanyAddressListItem[]; + getCompanyAddressId: (companyAddressId: number) => void; +} + +const ReturnApplyInfo: React.FC = (props) => { + + const item = props.currentData + const companyAddressListItem = props.addressListItem + + const [companyAddressItem, setCompanyAddressItem] = useState(); + + //初始化 + useEffect(() => { + //待发货的时候, 默认选择第一个地址 + if (item.status === 0) { + setCompanyAddressItem(companyAddressListItem[0]) + } + + }, [companyAddressListItem]); + + const handleChange = (value: string) => { + if (companyAddressListItem) { + for (let i = 0; i < companyAddressListItem.length; i++) { + if (companyAddressListItem[i].id === Number(value)) { + setCompanyAddressItem(companyAddressListItem[i]) + props.getCompanyAddressId(companyAddressListItem[i].id || 0) + } + } + } + }; + + return ( + <> + + 订单金额 + {item.productRealPrice} + + + 确认退款金额 + {item.returnAmount} + + {item.status !== 3 && <> + + 选择收货点 + + + + 收货人姓名 + {companyAddressItem?.name} + + + 所在区域 + {companyAddressItem?.province} {companyAddressItem?.city} {companyAddressItem?.region} + + + 详细地址 + {companyAddressItem?.detailAddress} + + + 联系电话 + {companyAddressItem?.phone} + + } + + + + ); +}; + +export default ReturnApplyInfo; diff --git a/admin-v5/src/pages/oms/order_return_apply/components/ReturnApplyInfoSubmit.tsx b/admin-v5/src/pages/oms/order_return_apply/components/ReturnApplyInfoSubmit.tsx new file mode 100644 index 0000000..1d7bf23 --- /dev/null +++ b/admin-v5/src/pages/oms/order_return_apply/components/ReturnApplyInfoSubmit.tsx @@ -0,0 +1,51 @@ +import React, {useState} from 'react'; +import {Button, Col, Divider, Input, Modal, Row} from 'antd'; +import type {ReturnApplyListItem} from '../data.d'; +import '../index.less' +import {DeleteOutlined, EditOutlined, ExclamationCircleFilled} from "@ant-design/icons"; + +const {confirm} = Modal; + +export interface ReturnApplyProductProps { + currentData: ReturnApplyListItem; + onSubmit: (values: ReturnApplyListItem) => void; +} + +const ReturnApplyInfo: React.FC = (props) => { + const [remark, setRemark] = useState(""); + const item = props.currentData + + const handleReturnApply = (title: string, status: number) => { + confirm({ + title: title, + icon: , + content: '确认后,不能再修改', + onOk() { + props.onSubmit({id: item.id, handleNote: remark, status: status}) + }, + onCancel() { + }, + }); + }; + + + const onChange = (e: { target: { value: React.SetStateAction; }; }) => { + setRemark(e.target.value) + }; + + return ( + <> + + 处理备注 + + + + + + + + + ); +}; + +export default ReturnApplyInfo; diff --git a/admin-v5/src/pages/oms/order_return_apply/components/ReturnApplyProduct.tsx b/admin-v5/src/pages/oms/order_return_apply/components/ReturnApplyProduct.tsx new file mode 100644 index 0000000..fa6decb --- /dev/null +++ b/admin-v5/src/pages/oms/order_return_apply/components/ReturnApplyProduct.tsx @@ -0,0 +1,58 @@ +import React from 'react'; +import {Card, Table} from 'antd'; +import type {ReturnApplyListItem} from '../data.d'; +import type {ColumnsType} from "antd/es/table"; +import '../index.less' + +export interface ReturnApplyProductProps { + currentData: ReturnApplyListItem; +} + +const ReturnApplyProduct: React.FC = (props) => { + + const columns: ColumnsType = [ + { + title: '商品图片', + dataIndex: 'productPic', + render: (text) => { + return ( +
+ {'商品图片'}/ +
+ ) + }, + }, + { + title: '商品名称', + dataIndex: 'productName', + }, + { + title: '价格', + dataIndex: 'productPrice', + }, + { + title: '货号', + dataIndex: 'productId', + }, + { + title: '属性', + dataIndex: 'productAttr', + }, + { + title: '数量', + dataIndex: 'productCount', + }, + { + title: '小计', + dataIndex: 'productRealPrice', + }, + ]; + + return ( + +
+ + ); +}; + +export default ReturnApplyProduct; diff --git a/admin-v5/src/pages/oms/order_return_apply/components/ReturnApplyReceive.tsx b/admin-v5/src/pages/oms/order_return_apply/components/ReturnApplyReceive.tsx new file mode 100644 index 0000000..8c3bc2a --- /dev/null +++ b/admin-v5/src/pages/oms/order_return_apply/components/ReturnApplyReceive.tsx @@ -0,0 +1,31 @@ +import React from 'react'; +import {Col, Row} from 'antd'; +import type {ReturnApplyListItem} from '../data.d'; +import '../index.less' + +export interface ReturnApplyProductProps { + currentData: ReturnApplyListItem; +} + +const ReturnApplyReceive: React.FC = (props) => { + + const item = props.currentData + return ( + <> + + 收货人员 + {item.receiveMan} + + + 收货时间 + {item.receiveTime} + + + 收货备注 + {item.receiveNote} + + + ); +}; + +export default ReturnApplyReceive; diff --git a/admin-v5/src/pages/oms/order_return_apply/data.d.ts b/admin-v5/src/pages/oms/order_return_apply/data.d.ts new file mode 100644 index 0000000..842ee66 --- /dev/null +++ b/admin-v5/src/pages/oms/order_return_apply/data.d.ts @@ -0,0 +1,64 @@ +export interface ReturnApplyListItem { + id: number; + orderId?: number; + companyAddressId?: number; + productId?: number; + orderSn?: string; + createTime?: string; + memberUserName?: string; + returnAmount?: number; + returnName?: string; + returnPhone?: string; + status?: number; + handleTime?: string; + productPic?: string; + productName?: string; + productBrand?: string; + productAttr?: string; + productCount?: number; + productPrice?: number; + productRealPrice?: number; + reason?: string; + description?: string; + proofPics?: string; + handleNote?: string; + handleMan?: string; + receiveMan?: string; + receiveTime?: string; + receiveNote?: string; +} + +export interface CompanyAddressListItem { + id?: number; + addressName?: string; + sendStatus?: number; + receiveStatus?: number; + name?: string; + phone?: string; + province?: string; + city?: null | string; + region?: string; + detailAddress?: string; + +} + +export interface ReturnApplyListPagination { + total: number; + pageSize: number; + current: number; +} + +export interface ReturnApplyListData { + list: ReturnApplyListItem[]; + pagination: Partial; +} + +export interface ReturnApplyListParams { + + status?: number; + pageSize?: number; + current?: number; + filter?: { [key: string]: any[] }; + sorter?: { [key: string]: any }; + +} diff --git a/admin-v5/src/pages/oms/order_return_apply/index.less b/admin-v5/src/pages/oms/order_return_apply/index.less new file mode 100644 index 0000000..c17135a --- /dev/null +++ b/admin-v5/src/pages/oms/order_return_apply/index.less @@ -0,0 +1,3 @@ +.Col { + padding: 10px; +} diff --git a/admin-v5/src/pages/oms/order_return_apply/index.tsx b/admin-v5/src/pages/oms/order_return_apply/index.tsx new file mode 100644 index 0000000..340519b --- /dev/null +++ b/admin-v5/src/pages/oms/order_return_apply/index.tsx @@ -0,0 +1,209 @@ +import { EditOutlined } from '@ant-design/icons'; +import { Button, Drawer, message } from 'antd'; +import React, { useRef, useState } from 'react'; +import { PageContainer } from '@ant-design/pro-layout'; +import type { ActionType, ProColumns } from '@ant-design/pro-table'; +import ProTable from '@ant-design/pro-table'; +import type { ProDescriptionsItemProps } from '@ant-design/pro-descriptions'; +import ProDescriptions from '@ant-design/pro-descriptions'; +import ReturnApplyDetailModel from './components/ReturnApplyDetailModel'; +import type { ReturnApplyListItem } from './data.d'; +import { queryReturnApply, updateReturnApply } from './service'; + + +/** + * 更新节点 + * @param fields + */ +const handleUpdate = async (fields: ReturnApplyListItem) => { + const hide = message.loading('正在更新'); + try { + await updateReturnApply(fields); + hide(); + + message.success('更新成功'); + return true; + } catch (error) { + hide(); + message.error('更新失败请重试!'); + return false; + } +}; + + +const ReturnApplyTableList: React.FC = () => { + const [detailModalVisible, handleDetailModalVisible] = useState(false); + const [showDetail, setShowDetail] = useState(false); + const actionRef = useRef(); + const [currentRow, setCurrentRow] = useState(); + + const [companyAddressId, setCompanyAddressId] = useState(0); + + const columns: ProColumns[] = [ + { + title: '编号', + dataIndex: 'id', + hideInSearch: true, + }, + { + title: '订单编号', + dataIndex: 'orderSn', + render: (dom, entity) => { + return { + setCurrentRow(entity); + setShowDetail(true); + }}>{dom}; + }, + }, + { + title: '申请时间', + dataIndex: 'createTime', + valueType: 'dateTime' + }, + { + title: '会员用户名', + dataIndex: 'memberUserName', + }, + { + title: '退款金额', + dataIndex: 'returnAmount', + hideInSearch: true, + }, + { + title: '退货人姓名', + dataIndex: 'returnName', + hideInTable: true, + hideInSearch: true, + }, + { + title: '退货人电话', + dataIndex: 'returnPhone', + hideInTable: true, + hideInSearch: true, + }, + { + title: '状态', + dataIndex: 'status', + valueEnum: { + 0: { text: '待处理', status: 'Error' }, + 1: { text: '退货中', status: 'Success' }, + 2: { text: '已完成', status: 'Success' }, + 3: { text: '已拒绝', status: 'Success' }, + }, + }, + { + title: '退货数量', + dataIndex: 'productCount', + hideInTable: true, + hideInSearch: true, + }, + { + title: '商品单价', + dataIndex: 'productPrice', + hideInTable: true, + hideInSearch: true, + }, + { + title: '原因', + dataIndex: 'reason', + hideInSearch: true, + }, + { + title: '处理时间', + dataIndex: 'handleTime', + valueType: 'dateTime' + }, + { + title: '操作', + dataIndex: 'option', + valueType: 'option', + render: (_, record) => ( + <> + + + ), + }, + ]; + + return ( + + + headerTitle="退货列表" + actionRef={actionRef} + rowKey="id" + search={{ + labelWidth: 120, + }} + toolBarRender={false} + request={queryReturnApply} + columns={columns} + rowSelection={{ + onChange: (_, selectedRows) => console.log(selectedRows), + }} + pagination={{ pageSize: 10 }} + /> + + + { + value.companyAddressId = companyAddressId + const success = await handleUpdate(value); + if (success) { + handleDetailModalVisible(false); + setCurrentRow(undefined); + if (actionRef.current) { + actionRef.current.reload(); + } + } + }} + getCompanyAddressId={async (addressId) => { + setCompanyAddressId(addressId) + }} + onCancel={() => { + handleDetailModalVisible(false); + if (!showDetail) { + setCurrentRow(undefined); + } + }} + detailModalVisible={detailModalVisible} + currentData={currentRow || { id: 0 }} + /> + + { + setCurrentRow(undefined); + setShowDetail(false) + }} + closable={false} + > + {currentRow?.id && ( + + column={2} + title={"退货详情"} + request={async () => ({ + data: currentRow || {}, + })} + params={{ + id: currentRow?.id, + }} + columns={columns as ProDescriptionsItemProps[]} + /> + )} + + + ); +}; + +export default ReturnApplyTableList; diff --git a/admin-v5/src/pages/oms/order_return_apply/service.ts b/admin-v5/src/pages/oms/order_return_apply/service.ts new file mode 100644 index 0000000..592278d --- /dev/null +++ b/admin-v5/src/pages/oms/order_return_apply/service.ts @@ -0,0 +1,32 @@ +import {request} from 'umi'; +import type {ReturnApplyListParams, ReturnApplyListItem} from './data.d'; + +export async function queryReturnApply(params: ReturnApplyListParams) { + if (params.status != null) { + params.status = Number(params.status) + } + return request('/api/order/returnapply/list', { + method: 'POST', + data: { + ...params, + }, + }); +} + +export async function updateReturnApply(params: ReturnApplyListItem) { + return request('/api/order/returnapply/update', { + method: 'POST', + data: { + ...params, + }, + }); +} + +export async function queryCompanyAddress(params: ReturnApplyListParams) { + return request('/api/order/compayaddress/list', { + method: 'POST', + data: { + ...params, + }, + }); +} diff --git a/admin-v5/src/pages/oms/order_return_reason/components/CreateReasonForm.tsx b/admin-v5/src/pages/oms/order_return_reason/components/CreateReasonForm.tsx new file mode 100644 index 0000000..2cc2958 --- /dev/null +++ b/admin-v5/src/pages/oms/order_return_reason/components/CreateReasonForm.tsx @@ -0,0 +1,102 @@ +import React, {useEffect} from 'react'; +import {Form, Input, InputNumber, Modal, Select} from 'antd'; +import type {ReturnReasonListItem} from '../data.d'; + +export interface CreateFormProps { + onCancel: () => void; + onSubmit: (values: ReturnReasonListItem) => void; + createModalVisible: boolean; +} + +const FormItem = Form.Item; + +const formLayout = { + labelCol: {span: 7}, + wrapperCol: {span: 13}, +}; + +const CreateReasonForm: React.FC = (props) => { + const [form] = Form.useForm(); + const {Option} = Select; + + const { + onSubmit, + onCancel, + createModalVisible, + } = props; + + useEffect(() => { + if (form && !createModalVisible) { + form.resetFields(); + } + }, [props.createModalVisible]); + + + const handleSubmit = () => { + if (!form) return; + form.submit(); + }; + + const handleFinish = (values: ReturnReasonListItem) => { + if (onSubmit) { + onSubmit(values); + } + }; + + const renderContent = () => { + return ( + <> + + + + + + + + + + + + ); + }; + + + const modalFooter = {okText: '保存', onOk: handleSubmit, onCancel}; + + return ( + +
+ {renderContent()} + +
+ ); +}; + +export default CreateReasonForm; diff --git a/admin-v5/src/pages/oms/order_return_reason/components/UpdateReasonForm.tsx b/admin-v5/src/pages/oms/order_return_reason/components/UpdateReasonForm.tsx new file mode 100644 index 0000000..18a93c1 --- /dev/null +++ b/admin-v5/src/pages/oms/order_return_reason/components/UpdateReasonForm.tsx @@ -0,0 +1,117 @@ +import React, {useEffect} from 'react'; +import {Form, Input, InputNumber, Modal, Select} from 'antd'; +import type {ReturnReasonListItem} from '../data.d'; + +export interface UpdateFormProps { + onCancel: () => void; + onSubmit: (values: ReturnReasonListItem) => void; + updateModalVisible: boolean; + values: Partial; +} + +const FormItem = Form.Item; + +const formLayout = { + labelCol: {span: 7}, + wrapperCol: {span: 13}, +}; + +const UpdateReasonForm: React.FC = (props) => { + const [form] = Form.useForm(); + const {Option} = Select; + + const { + onSubmit, + onCancel, + updateModalVisible, + values, + } = props; + + useEffect(() => { + if (form && !updateModalVisible) { + form.resetFields(); + + } + }, [props.updateModalVisible]); + + useEffect(() => { + if (values) { + form.setFieldsValue({ + ...values, + }); + } + }, [props.values]); + + const handleSubmit = () => { + if (!form) return; + form.submit(); + }; + + const handleFinish = (item: { [key: string]: any }) => { + if (onSubmit) { + onSubmit(item as ReturnReasonListItem); + } + }; + + const renderContent = () => { + return ( + <> + + + + + + + + + + + + + ); + }; + + + const modalFooter = {okText: '保存', onOk: handleSubmit, onCancel}; + + return ( + +
+ {renderContent()} + +
+ ); +}; + +export default UpdateReasonForm; diff --git a/admin-v5/src/pages/oms/order_return_reason/data.d.ts b/admin-v5/src/pages/oms/order_return_reason/data.d.ts new file mode 100644 index 0000000..4b2f46c --- /dev/null +++ b/admin-v5/src/pages/oms/order_return_reason/data.d.ts @@ -0,0 +1,24 @@ +export interface ReturnReasonListItem { + id: number; + +} + +export interface ReturnReasonListPagination { + total: number; + pageSize: number; + current: number; +} + +export interface TableListData { + list: ReturnReasonListItem[]; + pagination: Partial; +} + +export interface ReturnReasonListParams { + status?: number; + pageSize?: number; + current?: number; + filter?: { [key: string]: any[] }; + sorter?: { [key: string]: any }; + +} diff --git a/admin-v5/src/pages/oms/order_return_reason/index.tsx b/admin-v5/src/pages/oms/order_return_reason/index.tsx new file mode 100644 index 0000000..135b776 --- /dev/null +++ b/admin-v5/src/pages/oms/order_return_reason/index.tsx @@ -0,0 +1,283 @@ +import { PlusOutlined, ExclamationCircleOutlined, DeleteOutlined, EditOutlined } from '@ant-design/icons'; +import { Button, Divider, message, Drawer, Modal } from 'antd'; +import React, { useState, useRef } from 'react'; +import { PageContainer, FooterToolbar } from '@ant-design/pro-layout'; +import ProTable from '@ant-design/pro-table'; +import type { ProColumns, ActionType } from '@ant-design/pro-table'; +import ProDescriptions from '@ant-design/pro-descriptions'; +import type { ProDescriptionsItemProps } from '@ant-design/pro-descriptions'; +import CreateReasonForm from './components/CreateReasonForm'; +import UpdateReasonForm from './components/UpdateReasonForm'; +import type { ReturnReasonListItem } from './data.d'; +import { + queryReturnReasonList, + updateReturnReason, + addReturnReason, + removeReturnReason, +} from './service'; + +const { confirm } = Modal; + +/** + * 添加节点 + * @param fields + */ +const handleAdd = async (fields: ReturnReasonListItem) => { + const hide = message.loading('正在添加'); + try { + await addReturnReason({ ...fields }); + hide(); + message.success('添加成功'); + return true; + } catch (error) { + hide(); + message.error('添加失败请重试!'); + return false; + } +}; + +/** + * 更新节点 + * @param fields + */ +const handleUpdate = async (fields: ReturnReasonListItem) => { + const hide = message.loading('正在更新'); + try { + await updateReturnReason(fields); + hide(); + + message.success('更新成功'); + return true; + } catch (error) { + hide(); + message.error('更新失败请重试!'); + return false; + } +}; + + +/** + * 删除节点 + * @param selectedRows + */ +const handleRemove = async (selectedRows: ReturnReasonListItem[]) => { + const hide = message.loading('正在删除'); + if (!selectedRows) return true; + try { + await removeReturnReason({ + ids: selectedRows.map((row) => row.id), + }); + hide(); + message.success('删除成功,即将刷新'); + return true; + } catch (error) { + hide(); + message.error('删除失败,请重试'); + return false; + } +}; + +const ReasonTableList: React.FC = () => { + const [createModalVisible, handleModalVisible] = useState(false); + const [updateModalVisible, handleUpdateModalVisible] = useState(false); + const [showDetail, setShowDetail] = useState(false); + const actionRef = useRef(); + const [currentRow, setCurrentRow] = useState(); + const [selectedRowsState, setSelectedRows] = useState([]); + + const showDeleteConfirm = (item: ReturnReasonListItem) => { + confirm({ + title: '是否删除记录?', + icon: , + content: '删除的记录不能恢复,请确认!', + onOk() { + handleRemove([item]).then(() => { + actionRef.current?.reloadAndRest?.(); + }); + }, + onCancel() { + }, + }); + }; + + const columns: ProColumns[] = [ + { + title: '编号', + dataIndex: 'id', + hideInSearch: true, + }, + { + title: '退货类型', + dataIndex: 'name', + render: (dom, entity) => { + return { + setCurrentRow(entity); + setShowDetail(true); + }}>{dom}; + }, + }, + { + title: '排序', + dataIndex: 'sort', + hideInSearch: true, + }, + { + title: '状态', + dataIndex: 'status', + valueEnum: { + 0: { text: '禁用', status: 'Error' }, + 1: { text: '正常', status: 'Success' }, + }, + }, + { + title: '创建时间', + dataIndex: 'createTime', + valueType: 'dateTime', + hideInSearch: true, + }, + { + title: '操作', + dataIndex: 'option', + valueType: 'option', + render: (_, record) => ( + <> + + + + + ), + }, + ]; + + return ( + + + tableLayout={'fixed'} + headerTitle="原因列表" + actionRef={actionRef} + rowKey="id" + search={{ + labelWidth: 120, + }} + toolBarRender={() => [ + , + ]} + request={queryReturnReasonList} + columns={columns} + rowSelection={{ + onChange: (_, selectedRows) => setSelectedRows(selectedRows), + }} + pagination={{ pageSize: 10 }} + /> + {selectedRowsState?.length > 0 && ( + + 已选择 {selectedRowsState.length} 项   + + } + > + + + )} + + { + const success = await handleAdd(value); + if (success) { + handleModalVisible(false); + setCurrentRow(undefined); + if (actionRef.current) { + actionRef.current.reload(); + } + } + }} + onCancel={() => { + handleModalVisible(false); + if (!showDetail) { + setCurrentRow(undefined); + } + }} + createModalVisible={createModalVisible} + /> + + { + const success = await handleUpdate(value); + if (success) { + handleUpdateModalVisible(false); + setCurrentRow(undefined); + if (actionRef.current) { + actionRef.current.reload(); + } + } + }} + onCancel={() => { + handleUpdateModalVisible(false); + if (!showDetail) { + setCurrentRow(undefined); + } + }} + updateModalVisible={updateModalVisible} + values={currentRow || {}} + /> + + + { + setCurrentRow(undefined); + setShowDetail(false) + }} + closable={false} + > + {currentRow?.id && ( + + column={2} + title={currentRow?.id} + request={async () => ({ + data: currentRow || {}, + })} + params={{ + id: currentRow?.id, + }} + columns={columns as ProDescriptionsItemProps[]} + /> + )} + + + ); +}; + +export default ReasonTableList; diff --git a/admin-v5/src/pages/oms/order_return_reason/service.ts b/admin-v5/src/pages/oms/order_return_reason/service.ts new file mode 100644 index 0000000..f4cf8ad --- /dev/null +++ b/admin-v5/src/pages/oms/order_return_reason/service.ts @@ -0,0 +1,41 @@ +import {request} from 'umi'; +import type {ReturnReasonListParams, ReturnReasonListItem} from './data.d'; + +export async function queryReturnReasonList(params: ReturnReasonListParams) { + if (params.status != null) { + params.status = Number(params.status) + } + return request('/api/order/returnreason/list', { + method: 'POST', + data: { + ...params, + }, + }); +} + +export async function removeReturnReason(params: { ids: number[] }) { + return request('/api/order/returnreason/delete', { + method: 'POST', + data: { + ...params, + }, + }); +} + +export async function addReturnReason(params: ReturnReasonListItem) { + return request('/api/order/returnreason/add', { + method: 'POST', + data: { + ...params, + }, + }); +} + +export async function updateReturnReason(params: ReturnReasonListItem) { + return request('/api/order/returnreason/update', { + method: 'POST', + data: { + ...params, + }, + }); +} diff --git a/admin-v5/src/pages/oms/order_setting/components/UpdateSettingForm.tsx b/admin-v5/src/pages/oms/order_setting/components/UpdateSettingForm.tsx new file mode 100644 index 0000000..90c344b --- /dev/null +++ b/admin-v5/src/pages/oms/order_setting/components/UpdateSettingForm.tsx @@ -0,0 +1,155 @@ +import React, {useEffect} from 'react'; +import {Form, Input, InputNumber, Modal, Space, Tooltip} from 'antd'; +import type {SettingListItem} from '../data.d'; + +export interface UpdateFormProps { + onCancel: () => void; + onSubmit: (values: SettingListItem) => void; + updateModalVisible: boolean; + currentData: Partial; +} + +const FormItem = Form.Item; + +const formLayout = { + labelCol: {span: 7}, + wrapperCol: {span: 17}, +}; + +const UpdateSettingForm: React.FC = (props) => { + const [form] = Form.useForm(); + + const { + onSubmit, + onCancel, + updateModalVisible, + currentData, + } = props; + + useEffect(() => { + if (currentData) { + form.setFieldsValue({ + ...props.currentData, + }); + } + }, [props.currentData]); + + const handleSubmit = () => { + if (!form) return; + form.submit(); + }; + + const handleFinish = (values: { [key: string]: any }) => { + if (onSubmit) { + onSubmit(values as SettingListItem); + } + }; + + const renderContent = () => { + return ( + <> + + + + + + + + 未付款,订单自动关闭 + + + + + + + + + + 未付款,订单自动关闭 + + + + + + + + + + 未收货,订单自动完成 + + + + + + + + + + 自动结束交易,不能申请售后 + + + + + + + + + + 自动五星好评 + + + + + ); + }; + + + const modalFooter = {okText: '保存', onOk: handleSubmit, onCancel}; + + return ( + +
+ {renderContent()} + +
+ ); +}; + +export default UpdateSettingForm; diff --git a/admin-v5/src/pages/oms/order_setting/data.d.ts b/admin-v5/src/pages/oms/order_setting/data.d.ts new file mode 100644 index 0000000..7688bb3 --- /dev/null +++ b/admin-v5/src/pages/oms/order_setting/data.d.ts @@ -0,0 +1,24 @@ +export interface SettingListItem { + id: number; + +} + +export interface SettingListPagination { + total: number; + pageSize: number; + current: number; +} + +export interface SettingListData { + list: SettingListItem[]; + pagination: Partial; +} + +export interface SettingListParams { + + pageSize?: number; + current?: number; + filter?: { [key: string]: any[] }; + sorter?: { [key: string]: any }; + +} diff --git a/admin-v5/src/pages/oms/order_setting/index.tsx b/admin-v5/src/pages/oms/order_setting/index.tsx new file mode 100644 index 0000000..79968df --- /dev/null +++ b/admin-v5/src/pages/oms/order_setting/index.tsx @@ -0,0 +1,137 @@ +import {EditOutlined} from '@ant-design/icons'; +import {Button, message,} from 'antd'; +import React, {useState, useRef} from 'react'; +import {PageContainer} from '@ant-design/pro-layout'; +import ProTable from '@ant-design/pro-table'; +import type {ProColumns, ActionType} from '@ant-design/pro-table'; +import UpdateSettingForm from './components/UpdateSettingForm'; +import type {SettingListItem} from './data.d'; +import {querySetting, updateSetting} from './service'; + + +/** + * 更新节点 + * @param fields + */ +const handleUpdate = async (fields: SettingListItem) => { + const hide = message.loading('正在更新'); + try { + await updateSetting(fields); + hide(); + + message.success('更新成功'); + return true; + } catch (error) { + hide(); + message.error('更新失败请重试!'); + return false; + } +}; + + +const TableList: React.FC = () => { + const [updateModalVisible, handleUpdateModalVisible] = useState(false); + const actionRef = useRef(); + const [currentRow, setCurrentRow] = useState(); + + + const columns: ProColumns[] = [ + { + title: '编号', + dataIndex: 'id', + hideInSearch: true, + }, + { + title: '秒杀订单超时关闭时间(分)', + dataIndex: 'flashOrderOvertime', + render: (dom, entity) => { + return
{dom}分
; + }, + }, + { + title: '正常订单超时时间(分)', + dataIndex: 'normalOrderOvertime', + render: (dom, entity) => { + return
{dom}分
; + }, + }, + { + title: '发货后自动确认收货时间(天)', + dataIndex: 'confirmOvertime', + render: (dom, entity) => { + return
{dom}天
; + }, + }, + { + title: '自动完成交易时间(天)', + dataIndex: 'finishOvertime', + render: (dom, entity) => { + return
{dom}天
; + }, + }, + { + title: '订单完成后自动好评时间(天)', + dataIndex: 'commentOvertime', + render: (dom, entity) => { + return
{dom}天
; + }, + }, + { + title: '操作', + dataIndex: 'option', + valueType: 'option', + render: (_, record) => ( + <> + + + ), + }, + ]; + + return ( + + + headerTitle="设置列表" + actionRef={actionRef} + rowKey="id" + search={false} + toolBarRender={false} + request={querySetting} + columns={columns} + pagination={{pageSize: 10}} + /> + + { + const success = await handleUpdate(value); + if (success) { + handleUpdateModalVisible(false); + setCurrentRow(undefined); + if (actionRef.current) { + actionRef.current.reload(); + } + } + }} + onCancel={() => { + handleUpdateModalVisible(false); + setCurrentRow(undefined); + }} + updateModalVisible={updateModalVisible} + currentData={currentRow || {}} + /> + + + ); +}; + +export default TableList; diff --git a/admin-v5/src/pages/oms/order_setting/service.ts b/admin-v5/src/pages/oms/order_setting/service.ts new file mode 100644 index 0000000..0fd0f86 --- /dev/null +++ b/admin-v5/src/pages/oms/order_setting/service.ts @@ -0,0 +1,21 @@ +import {request} from 'umi'; +import type {SettingListParams, SettingListItem} from './data.d'; + +export async function querySetting(params?: SettingListParams) { + return request('/api/order/setting/list', { + method: 'POST', + data: { + ...params, + }, + }); +} + +export async function updateSetting(params: SettingListItem) { + return request('/api/order/setting/update', { + method: 'POST', + data: { + ...params, + }, + }); +} + diff --git a/admin-v5/src/pages/pms/product/components/OperationProductForm.tsx b/admin-v5/src/pages/pms/product/components/OperationProductForm.tsx new file mode 100644 index 0000000..503650e --- /dev/null +++ b/admin-v5/src/pages/pms/product/components/OperationProductForm.tsx @@ -0,0 +1,154 @@ +import React, {useEffect, useState} from 'react'; +import {Form, Modal, Steps} from 'antd'; +import ProductBaseInfo from "@/pages/pms/product/components/ProductBaseInfo"; +import ProductPromotionalInfo from "@/pages/pms/product/components/ProductPromotionalInfo"; +import ProductAttributeInfo from "@/pages/pms/product/components/ProductAttributeInfo"; +import ProductRelationshipInfo from "@/pages/pms/product/components/ProductRelationshipInfo"; +import ProductStepInfo from "@/pages/pms/product/components/ProductStepInfo"; +import type {ProductParams, ProductListItem} from "../data.d"; + +export interface CreateFormProps { + onCancel: () => void; + onSubmit: (values: ProductParams) => Promise; + createModalVisible: boolean; + productListItem?: ProductListItem; +} + +const formLayout = { + labelCol: {span: 7}, + wrapperCol: {span: 13}, +}; + + +const OperationProductForm: React.FC = (props) => { + const [form] = Form.useForm(); + + const {onSubmit, onCancel, createModalVisible, productListItem} = props; + + const [current, setCurrent] = useState(0); + + const [productParams, setProductParams] = useState({...productListItem}); + + const onChangeProductParams = (value: ProductParams) => { + setProductParams({...productParams, ...value}) + }; + + useEffect(() => { + if (productListItem) { + console.log('useEffect', productListItem) + form.setFieldsValue({ + ...productListItem, + }); + } + }, [productListItem]); + + const steps = [ + { + title: '填写商品信息', + nextPrompt: '下一步,填写商品促销', + content: + }, + { + title: '填写商品促销', + nextPrompt: '下一步,填写商品属性', + prePrompt: '上一步,填写商品信息', + content: + }, + { + title: '填写商品属性', + nextPrompt: '下一步,选择商品关联', + prePrompt: '上一步,填写商品促销', + content: + }, + { + title: '选择商品关联', + prePrompt: '上一步,填写商品属性', + content: + }, + ]; + + const next = () => { + // form.validateFields() + // .then((values) => { + // setCurrent(current + 1); + // setProductParams({...productParams, ...form.getFieldsValue(true)}) + // }) + // .catch((info) => { + // console.log('Validate Failed:', info); + // }); + console.log('商品添加参数:', JSON.stringify({...productParams, ...form.getFieldsValue(true)})) + setCurrent(current + 1); + setProductParams({...productParams, ...form.getFieldsValue(true)}) + }; + + + const prev = () => { + setCurrent(current - 1); + }; + + const items = steps.map((item) => ({key: item.title, title: item.title})); + + const contentStyle: React.CSSProperties = { + lineHeight: '260px', + textAlign: 'center', + marginTop: 16, + }; + + const handleFinish = (values: ProductParams) => { + if (onSubmit) { + onSubmit(values).then((res) => { + if (res) { + form.resetFields() + setCurrent(0) + } + }); + + } + }; + + const renderContent = () => { + return ( + <> + +
{steps[current].content}
+
+ handleFinish(productParams || {})} prev={prev} + next={next}/> +
+ + ); + }; + + const initValues = { + 'price': 100, + 'originalPrice': 100, + 'stock': 100, + 'weight': 100, + 'sort': 0, + 'giftPoint': 0, + 'giftGrowth': 0, + 'usePointLimit': 0, + 'previewStatus': false, + 'publishStatus': true, + 'recommandStatus': true, + 'newStatus': true, + 'serviceIdsArray': ['1'], + } + + const handleOnCancel = () => { + //如果是编辑打开的页面,关闭的时间让它回到第一步,否则再编辑其它记录的时候,存在数据不是最新的问题 + if (productParams.id) { + setCurrent(0) + } + onCancel() + }; + return ( + +
+ {renderContent()} + +
+ ); +}; + +export default OperationProductForm; diff --git a/admin-v5/src/pages/pms/product/components/ProductAttributeInfo.tsx b/admin-v5/src/pages/pms/product/components/ProductAttributeInfo.tsx new file mode 100644 index 0000000..792ce7f --- /dev/null +++ b/admin-v5/src/pages/pms/product/components/ProductAttributeInfo.tsx @@ -0,0 +1,236 @@ +import React, {useEffect, useState} from 'react'; +import {Modal, Form, Input, message, Checkbox, Upload, TreeSelect, Card, Select} from 'antd'; +import type {AttributeCategoryListItem} from "@/pages/pms/product_attribute_category/data"; +import {queryCategoryAttribute} from "@/pages/pms/product_attribute_category/service"; +import {queryAttribute} from "@/pages/pms/product_attribute/service"; +import type {AttributeListItem} from "@/pages/pms/product_attribute/data"; +import type {RcFile, UploadProps} from 'antd/es/upload'; +import type {UploadFile} from 'antd/es/upload/interface'; +import {PlusOutlined} from "@ant-design/icons"; +import 'braft-editor/dist/index.css'; +import BraftEditor from 'braft-editor'; +// @ts-ignore +import {ContentUtils} from 'braft-utils'; +import type {ProductParams} from "@/pages/pms/product/data"; + +export interface BaseInfoProps { + visible: boolean; + onChangeProductParams: (value: ProductParams) => void; + currentData?: ProductParams; +} + +const FormItem = Form.Item; + +const getBase64 = (file: RcFile): Promise => + new Promise((resolve, reject) => { + const reader = new FileReader(); + reader.readAsDataURL(file); + reader.onload = () => resolve(reader.result as string); + reader.onerror = (error) => reject(error); + }); + +const ProductAttributeInfo: React.FC = (props) => { + + const [attributeCategoryListItem, setAttributeCategoryListItem] = useState([]); + const [attributeListItem0, setAttributeListItem0] = useState([]); + const [attributeListItem1, setAttributeListItem1] = useState([]); + + const [content, setContent] = useState(BraftEditor.createEditorState(null)) + + useEffect(() => { + if (props.visible) { + setContent(BraftEditor.createEditorState(props.currentData?.detailMobileHtml)) + queryCategoryAttribute({}).then((res) => { + if (res.code === '000000') { + const map = res.data.map((item: { id: any; name: any; title: any; parentId: any }) => ({ + value: item.id, + id: item.id, + label: item.name, + title: item.name, + parentId: item.parentId, + })); + + setAttributeCategoryListItem(map); + } else { + message.error(res.msg); + } + }); + } + }, [props.visible]); + + const onChange = (attributeCategoryId: string) => { + //查询规格和参数 + queryAttribute({"productAttributeCategoryId": Number(attributeCategoryId)}).then((res) => { + if (res.code === '000000') { + const resData = res.data + if (resData != null) { + const params0 = resData.filter((x: { type: number; }) => x.type === 0); + setAttributeListItem0(params0); + + const params1 = resData.filter((x: { type: number; }) => x.type === 1); + setAttributeListItem1(params1) + } else { + setAttributeListItem0([]) + setAttributeListItem1([]) + } + } else { + message.error(res.msg); + } + }); + + }; + + const list = props.currentData?.pic?.split(",").map((url: string) => ({ + uid: Math.random() + '', + name: "image.png", + status: 'done', + url: url, + } as UploadFile)) + + //上传图片 + const [previewOpen, setPreviewOpen] = useState(false); + const [previewImage, setPreviewImage] = useState(''); + const [previewTitle, setPreviewTitle] = useState(''); + const [fileList, setFileList] = useState(list || []); + + const handleCancel = () => setPreviewOpen(false); + + const handlePreview = async (file: UploadFile) => { + if (!file.url && !file.preview) { + file.preview = await getBase64(file.originFileObj as RcFile); + } + + setPreviewImage(file.url || (file.preview as string)); + setPreviewOpen(true); + setPreviewTitle(file.name || file.url!.substring(file.url!.lastIndexOf('/') + 1)); + }; + + const handleChange: UploadProps['onChange'] = ({fileList: newFileList}) => { + setFileList(newFileList); + //获取上传的图片url + const url = newFileList.filter(x => x.status === 'done').map(x => { + if (x.response) { + return x.response.data + } else { + return x.url + } + }).join(','); + console.log(url) + props.onChangeProductParams({pic: url, albumPics: url}) + } + + + const uploadButton = ( +
+ +
Upload
+
+ ); + + //编辑器 + // const controls: any = ['undo', 'redo', 'separator', + // 'font-size', 'line-height', 'letter-spacing', 'separator', + // 'text-color', 'blod', 'italic', 'underline', 'strike-through', 'separator', + // 'superscript', 'subscript', 'remove-styles', 'emoji', 'separator', 'text-indent', 'text-align', 'separator', + // 'headings', 'list-ul', 'list-ol', 'blockquote', 'code', 'separator', + // 'link', 'separator', 'hr', 'separator', + // 'clear', 'separator', + // ] + const controls: any = ['bold', 'italic', 'underline', 'text-color', 'separator', 'link', 'separator', 'media'] + const handleImageContentChange = (info: any) => { + if (info.file.status == "done") { + setContent(ContentUtils.insertMedias(content, [{ + type: 'IMAGE', + url: info?.file?.response?.data + }])) + } + + } + const extendControlsContent: any = [ + { + key: 'antd-uploader', + type: 'component', + component: ( + + + + ) + } + ] + + return ( + <> + + + + + + {attributeListItem0.map(r => r.inputList !== "" && + + {r.inputList.split(',').map(x => {x})} + + + )} + + + + + {attributeListItem1.map(r => + {r.inputType === 0 && } + {r.inputType === 1 && } + )} + + + + + + {fileList.length >= 3 ? null : uploadButton} + + + example + + + + + + { + setContent(editorState) + props.onChangeProductParams({detailMobileHtml: editorState.toHTML()}) + }} + controls={controls} + extendControls={extendControlsContent} + placeholder="请输入正文内容" + contentStyle={{height: 400}} + /> + + + + ); +}; + +export default ProductAttributeInfo; diff --git a/admin-v5/src/pages/pms/product/components/ProductBaseInfo.tsx b/admin-v5/src/pages/pms/product/components/ProductBaseInfo.tsx new file mode 100644 index 0000000..231715d --- /dev/null +++ b/admin-v5/src/pages/pms/product/components/ProductBaseInfo.tsx @@ -0,0 +1,98 @@ +import React, {useEffect, useState} from 'react'; +import {Cascader, Form, Input, InputNumber, message, Select} from 'antd'; +import type {CategoryListItem} from "@/pages/pms/product_category/data"; +import type {BrandListItem} from "@/pages/pms/product_brand/data"; +import {queryBrand} from "@/pages/pms/product_brand/service"; +import {queryCategory} from "@/pages/pms/product_category/service"; +import {tree} from "@/utils/utils"; + +export interface BaseInfoProps { + visible: boolean; +} + +const FormItem = Form.Item; + +const ProductBaseInfo: React.FC = (props) => { + + const [brandListItem, setBrandListItem] = useState([]); + const [categoryListItem, setCategoryListItem] = useState([]); + + useEffect(() => { + if (props.visible) { + queryBrand({pageSize: 100, current: 1}).then((res) => { + if (res.code === '000000') { + setBrandListItem(res.data) + } else { + message.error(res.msg); + } + + }); + + queryCategory({}).then((res) => { + if (res.code === '000000') { + const map = res.data.map((item: { id: any; name: any; title: any; parentId: any }) => ({ + value: item.id, + id: item.id, + label: item.name, + title: item.name, + parentId: item.parentId, + })); + + setCategoryListItem(tree(map, 0, 'parentId')); + } else { + message.error(res.msg); + } + }); + + } + }, [props.visible]); + + + return ( + <> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ); +}; + +export default ProductBaseInfo; diff --git a/admin-v5/src/pages/pms/product/components/ProductPromotionalInfo.tsx b/admin-v5/src/pages/pms/product/components/ProductPromotionalInfo.tsx new file mode 100644 index 0000000..b9faeda --- /dev/null +++ b/admin-v5/src/pages/pms/product/components/ProductPromotionalInfo.tsx @@ -0,0 +1,143 @@ +import React, {useEffect, useState} from 'react'; +import type {RadioChangeEvent} from 'antd'; +import {Checkbox, DatePicker, Form, Input, InputNumber, message, Radio, Switch} from 'antd'; +import {queryLevel} from "@/pages/ums/member_level/service"; +import type {LevelListItem} from "@/pages/ums/member_level/data"; + +export interface BaseInfoProps { + visible: boolean; +} + +const FormItem = Form.Item; + +const options = [ + {label: '无忧退货', value: '1'}, + {label: '快速退款', value: '2'}, + {label: '免费包邮', value: '3'}, +]; + +const ProductPromotionalInfo: React.FC = (props) => { + const [promotionTypes, setPromotionTypes] = useState(0); + const [levelListItem, setLevelListItem] = useState([]); + + const onChange = (e: RadioChangeEvent) => { + console.log('radio checked', e.target.value); + setPromotionTypes(e.target.value); + console.log('radio checked', promotionTypes); + }; + + useEffect(() => { + if (props.visible) { + queryLevel({pageSize: 100, current: 1}).then((res) => { + if (res.code === '000000') { + setLevelListItem(res.data) + } else { + message.error(res.msg); + } + + }); + + + } + }, [props.visible]); + + return ( + <> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 无优惠 + 特惠促销 + 会员价格 + 阶梯价格 + 满减价格 + {/*限时购*/} + + + + {promotionTypes === 1 && ( +
+ + + + + + + + + +
+ )} + {promotionTypes === 2 && ( +
+ {levelListItem.map(r => + + )} +
+ )} + {promotionTypes === 3 && ( +
+ + + + + + + + + +
+ )} + {promotionTypes === 4 && ( +
+ + + + + + + + + +
+ )} + + ); +}; + +export default ProductPromotionalInfo; diff --git a/admin-v5/src/pages/pms/product/components/ProductRelationshipInfo.tsx b/admin-v5/src/pages/pms/product/components/ProductRelationshipInfo.tsx new file mode 100644 index 0000000..5550def --- /dev/null +++ b/admin-v5/src/pages/pms/product/components/ProductRelationshipInfo.tsx @@ -0,0 +1,101 @@ +import React, {useEffect, useState} from 'react'; +import {Card, Col, message, Row, Transfer} from 'antd'; +import type {PrefrenceAreaItem} from "@/pages/pms/product/data"; +import {querySubject} from "@/pages/sms/home_recommend_subject/service"; +import {queryPrefrenceArea} from "@/pages/pms/product/service"; +import type {SubjectListItem} from "@/pages/sms/home_recommend_subject/data"; +import type {ProductParams} from "@/pages/pms/product/data"; + +export interface BaseInfoProps { + visible: boolean; + onChangeProductParams: (value: ProductParams) => void; + currentData?: ProductParams; +} + +const ProductRelationshipInfo: React.FC = (props) => { + + interface RecordType { + key: string; + title: string; + description: string; + } + + const [subjectList, setSubjectList] = useState([]); + const [prefrenceArea, setPrefrenceArea] = useState([]); + + const [subjectTargetKeys, setSubjectTargetKeys] = useState([]); + const [targetPrefrenceAreaKeys, setPrefrenceAreaTargetKeys] = useState([]); + + useEffect(() => { + if (props.visible) { + querySubject({pageSize: 100, current: 1}).then((res) => { + if (res.code === '000000') { + setSubjectList(res.data.map((item: SubjectListItem) => ({ + key: item.id, + title: item.title, + description: item.description, + }))) + // @ts-ignore + setSubjectTargetKeys(props.currentData?.subjectProductRelationList || []) + } else { + message.error(res.msg); + } + + }); + + queryPrefrenceArea({pageSize: 100, current: 1}).then((res) => { + if (res.code === '000000') { + setPrefrenceArea(res.data.map((item: PrefrenceAreaItem) => ({ + key: item.id, + title: item.name, + description: item.subTitle, + }))) + // @ts-ignore + setPrefrenceAreaTargetKeys(props.currentData?.prefrenceAreaProductRelationList || []) + } else { + message.error(res.msg); + } + + }); + + } + }, [props.visible]); + + const onChangeSubject = (nextTargetKeys: string[]) => { + setSubjectTargetKeys(nextTargetKeys); + props.onChangeProductParams({subjectProductRelationList: nextTargetKeys.map(x => Number(x))}) + }; + + + const onChangePreferenceArea = (nextTargetKeys: string[]) => { + props.onChangeProductParams({prefrenceAreaProductRelationList: nextTargetKeys.map(x => Number(x))}) + setPrefrenceAreaTargetKeys(nextTargetKeys); + }; + + + const renderContext = {listStyle: {height: 300, width: 250}, showSearch: true, titles: ['待选择', '已选择']} + + return ( + <> + +
关联专题 + + + item.title}/> + + + + + + 优选商品 + + + item.title}/> + + + + + ); +}; + +export default ProductRelationshipInfo; diff --git a/admin-v5/src/pages/pms/product/components/ProductStepInfo.tsx b/admin-v5/src/pages/pms/product/components/ProductStepInfo.tsx new file mode 100644 index 0000000..9083b4c --- /dev/null +++ b/admin-v5/src/pages/pms/product/components/ProductStepInfo.tsx @@ -0,0 +1,38 @@ +import React from 'react'; +import {Button} from 'antd'; + +export interface BaseInfoProps { + current: number; + steps: { title: string, nextPrompt?: string, prePrompt?: string }[]; + handleSubmit: () => void + prev: () => void + next: () => void +} + +const ProductStepInfo: React.FC = (props) => { + + const current = props.current + const steps = props.steps + + return ( + <> + {current > 0 && ( + + )} + {current === steps.length - 1 && ( + + )} + {current < steps.length - 1 && ( + + )} + + ); +}; + +export default ProductStepInfo; diff --git a/admin-v5/src/pages/pms/product/data.d.ts b/admin-v5/src/pages/pms/product/data.d.ts new file mode 100644 index 0000000..d66ab82 --- /dev/null +++ b/admin-v5/src/pages/pms/product/data.d.ts @@ -0,0 +1,89 @@ +export interface ProductListItem { + id: number; +} + +export interface ProductParams { + productCategoryIdArray?: number[] + productCategoryIdArrayStr?: string + serviceIdsArray?: number[] + id?: number; + brandId?: number; + productCategoryId?: number; + feightTemplateId?: number; + productAttributeCategoryId?: number; + name?: string; + pic?: string; + productSn?: string; + deleteStatus?: number; + publishStatus?: number; + newStatus?: number; + recommandStatus?: number; + verifyStatus?: number; + sort?: number; + sale?: number; + price?: number; + promotionPrice?: number; + giftGrowth?: number; + giftPoint?: number; + usePointLimit?: number; + subTitle?: string; + description?: string; + originalPrice?: number; + stock?: number; + lowStock?: number; + unit?: string; + weight?: number; + previewStatus?: number; + serviceIds?: string; + keywords?: string; + note?: string; + albumPics?: string; + detailTitle?: string; + detailDesc?: string; + detailHtml?: string; + detailMobileHtml?: string; + promotionStartTime?: string; + promotionEndTime?: string; + promotionPerLimit?: number; + promotionType?: number; + brandName?: string; + productCategoryName?: string; + subjectProductRelationList?: number[]; + prefrenceAreaProductRelationList?: number[]; +} + +export interface PrefrenceAreaItem { + id: number; + name: string; + subTitle: string; + +} + +export interface ProductListPagination { + total: number; + pageSize: number; + current: number; +} + +export interface ProductListData { + list: ProductListItem[]; + pagination: Partial; +} + +export interface ProductListParams { + + pageSize?: number; + current?: number; + filter?: { [key: string]: any[] }; + sorter?: { [key: string]: any }; + +} + +export interface PrefrenceAreaParams { + + pageSize?: number; + current?: number; + filter?: { [key: string]: any[] }; + sorter?: { [key: string]: any }; + +} diff --git a/admin-v5/src/pages/pms/product/index.tsx b/admin-v5/src/pages/pms/product/index.tsx new file mode 100644 index 0000000..0826067 --- /dev/null +++ b/admin-v5/src/pages/pms/product/index.tsx @@ -0,0 +1,252 @@ +import { DeleteOutlined, EditOutlined, ExclamationCircleOutlined, PlusOutlined } from '@ant-design/icons'; +import { Button, Divider, Drawer, message, Modal } from 'antd'; +import React, { useRef, useState } from 'react'; +import { FooterToolbar, PageContainer } from '@ant-design/pro-layout'; +import type { ActionType, ProColumns } from '@ant-design/pro-table'; +import ProTable from '@ant-design/pro-table'; +import type { ProDescriptionsItemProps } from '@ant-design/pro-descriptions'; +import ProDescriptions from '@ant-design/pro-descriptions'; +import OperationProductForm from './components/OperationProductForm'; +import type { ProductListItem, ProductParams } from './data.d'; +import { operation, queryProduct, removeProduct } from './service'; + +const { confirm } = Modal; + +/** + * 添加或者更新节点 + * @param params + */ +const handleOperation = async (params: ProductParams) => { + const hide = message.loading('正在操作'); + try { + await operation(params); + hide(); + message.success('操作成功'); + return true; + } catch (error) { + hide(); + message.error('操作失败请重试!'); + return false; + } +}; + + +/** + * 删除节点 + * @param selectedRows + */ +const handleRemove = async (selectedRows: ProductListItem[]) => { + const hide = message.loading('正在删除'); + if (!selectedRows) return true; + try { + await removeProduct({ + ids: selectedRows.map((row) => row.id), + }); + hide(); + message.success('删除成功,即将刷新'); + return true; + } catch (error) { + hide(); + message.error('删除失败,请重试'); + return false; + } +}; + +const TableList: React.FC = () => { + const [createModalVisible, handleModalVisible] = useState(false); + const [showDetail, setShowDetail] = useState(false); + const actionRef = useRef(); + const [currentRow, setCurrentRow] = useState(); + const [selectedRowsState, setSelectedRows] = useState([]); + + const showDeleteConfirm = (item: ProductListItem) => { + confirm({ + title: '是否删除记录?', + icon: , + content: '删除的记录不能恢复,请确认!', + onOk() { + handleRemove([item]).then(() => { + actionRef.current?.reloadAndRest?.(); + }); + }, + onCancel() { + }, + }); + }; + + const columns: ProColumns[] = [ + { + title: '编号', + dataIndex: 'id', + hideInSearch: true, + }, + { + title: '商品名称', + dataIndex: 'name', + render: (dom, entity) => { + return { + setCurrentRow(entity); + setShowDetail(true); + }}>{dom}; + }, + }, + { + title: '商品图片', + dataIndex: 'pic', + valueType: 'image', + fieldProps: { width: 100, height: 80 }, + hideInSearch: true, + }, + { + title: '价格/货号', + dataIndex: 'promotionPrice', + hideInSearch: true, + }, + { + title: '排序', + dataIndex: 'sort', + hideInSearch: true, + }, + { + title: 'SKU库存', + dataIndex: 'stock', + hideInSearch: true, + }, + { + title: '销量', + dataIndex: 'sale', + hideInSearch: true, + }, + { + title: '审核状态', + dataIndex: 'verifyStatus', + valueEnum: { + 0: { text: '未审核', status: 'Error' }, + 1: { text: '审核通过', status: 'Success' }, + }, + }, + { + title: '操作', + dataIndex: 'option', + valueType: 'option', + render: (_, record) => ( + <> + + + + + ), + }, + ]; + + return ( + + + headerTitle="商品列表" + actionRef={actionRef} + rowKey="id" + search={{ + labelWidth: 120, + }} + toolBarRender={() => [ + , + ]} + request={queryProduct} + columns={columns} + rowSelection={{ + onChange: (_, selectedRows) => setSelectedRows(selectedRows), + }} + pagination={{ pageSize: 10 }} + /> + {selectedRowsState?.length > 0 && ( + + 已选择 {selectedRowsState.length} 项   + + } + > + + + )} + + { + const success = await handleOperation(value); + if (success) { + handleModalVisible(false); + setCurrentRow(undefined); + if (actionRef.current) { + actionRef.current.reload(); + } + } + return success; + }} + onCancel={() => { + handleModalVisible(false); + if (!showDetail) { + setCurrentRow(undefined); + } + }} + createModalVisible={createModalVisible} + productListItem={currentRow} + /> + + { + setCurrentRow(undefined); + setShowDetail(false) + }} + closable={false} + > + {currentRow?.id && ( + + column={2} + title={currentRow?.id} + request={async () => ({ + data: currentRow || {}, + })} + params={{ + id: currentRow?.id, + }} + columns={columns as ProDescriptionsItemProps[]} + /> + )} + + + ); +}; + +export default TableList; diff --git a/admin-v5/src/pages/pms/product/service.ts b/admin-v5/src/pages/pms/product/service.ts new file mode 100644 index 0000000..d1171d3 --- /dev/null +++ b/admin-v5/src/pages/pms/product/service.ts @@ -0,0 +1,53 @@ +import {request} from 'umi'; +import type {PrefrenceAreaParams, ProductListParams, ProductParams} from './data.d'; +import moment from "moment"; + +export async function queryProduct(params?: ProductListParams) { + return request('/api/product/product/list', { + method: 'POST', + data: { + ...params, + }, + }); +} + +export async function removeProduct(params: { ids: number[] }) { + return request('/api/product/product/delete', { + method: 'POST', + data: { + ...params, + }, + }); +} + +export async function operation(params: ProductParams) { + params.publishStatus = params.publishStatus ? 1 : 0 + params.newStatus = params.newStatus ? 1 : 0 + params.previewStatus = params.previewStatus ? 1 : 0 + params.recommandStatus = params.recommandStatus ? 1 : 0 + + params.serviceIds = params.serviceIdsArray?.join(",") + params.productCategoryIdArrayStr = params.productCategoryIdArray?.join(",") + params.productCategoryId = params.productCategoryIdArray?.[params.productCategoryIdArray?.length - 1] + + params.promotionStartTime = moment(params.promotionStartTime).format('YYYY-MM-DD HH:mm:ss'); + params.promotionEndTime = moment(params.promotionEndTime).format('YYYY-MM-DD HH:mm:ss'); + + const m = params.id ? 'update' : 'add' + return request('/api/product/product/' + m, { + method: 'POST', + data: { + ...params, + }, + }); +} + + +export async function queryPrefrenceArea(params: PrefrenceAreaParams) { + return request('/api/cms/prefrenceArea/list', { + method: 'POST', + data: { + ...params, + }, + }); +} diff --git a/admin-v5/src/pages/pms/product_attribute/components/CreateAttributeForm.tsx b/admin-v5/src/pages/pms/product_attribute/components/CreateAttributeForm.tsx new file mode 100644 index 0000000..0d3424b --- /dev/null +++ b/admin-v5/src/pages/pms/product_attribute/components/CreateAttributeForm.tsx @@ -0,0 +1,139 @@ +import React, {useEffect, useState} from 'react'; +import {Form, Input, InputNumber, Modal, Radio, Select} from 'antd'; +import type {RadioChangeEvent} from 'antd'; +import type {AttributeListItem} from '../data.d'; +import type {AttributeCategoryListItem} from "@/pages/pms/product_attribute_category/data"; +import {queryCategoryAttribute} from "@/pages/pms/product_attribute_category/service"; + +export interface CreateFormProps { + onCancel: () => void; + onSubmit: (values: AttributeListItem) => void; + createModalVisible: boolean; +} + +const FormItem = Form.Item; + +const formLayout = { + labelCol: {span: 7}, + wrapperCol: {span: 13}, +}; + +const CreateAttributeForm: React.FC = (props) => { + const [form] = Form.useForm(); + + const [inputType, setInputType] = useState(1); + const [categoryListItems, setCategoryListItems] = useState([]); + + const {onSubmit, onCancel, createModalVisible} = props; + + useEffect(() => { + if (form && !createModalVisible) { + form.resetFields(); + } else { + queryCategoryAttribute({pageSize: 100, current: 1}).then((res) => { + setCategoryListItems(res.data) + }); + } + + }, [props.createModalVisible]); + + + const handleSubmit = () => { + if (!form) return; + form.submit(); + }; + + const handleFinish = (values: AttributeListItem) => { + if (onSubmit) { + onSubmit(values); + } + }; + + const onChange = (e: RadioChangeEvent) => { + setInputType(e.target.value); + }; + + const renderContent = () => { + return ( + <> + + + + + + + + + 普通 + 颜色 + + + + + 不需要进行检索 + 关键字检索 + 范围检索 + + + + + 不关联 + 关联 + + + + + 唯一 + 单选 + 多选 + + + + + 手工录入 + 从列表中选取 + + + {inputType === 1 && + + } + + + 不支持 + 支持 + + + + + 规格 + 参数 + + + + + + + ); + }; + + const modalFooter = {okText: '保存', onOk: handleSubmit, onCancel}; + + return ( + +
+ {renderContent()} + +
+ ); +}; + +export default CreateAttributeForm; diff --git a/admin-v5/src/pages/pms/product_attribute/components/UpdateAttributeForm.tsx b/admin-v5/src/pages/pms/product_attribute/components/UpdateAttributeForm.tsx new file mode 100644 index 0000000..94fed97 --- /dev/null +++ b/admin-v5/src/pages/pms/product_attribute/components/UpdateAttributeForm.tsx @@ -0,0 +1,151 @@ +import React, {useEffect, useState} from 'react'; +import {Form, Input, InputNumber, Modal, Radio, RadioChangeEvent, Select} from 'antd'; +import type {AttributeListItem} from '../data.d'; +import type {AttributeCategoryListItem} from "@/pages/pms/product_attribute_category/data"; +import {queryCategoryAttribute} from "@/pages/pms/product_attribute_category/service"; + +export interface UpdateFormProps { + onCancel: () => void; + onSubmit: (values: AttributeListItem) => void; + updateModalVisible: boolean; + values: Partial; +} + +const FormItem = Form.Item; + +const formLayout = { + labelCol: {span: 7}, + wrapperCol: {span: 13}, +}; + +const UpdateAttributeForm: React.FC = (props) => { + const [form] = Form.useForm(); + + const [categoryListItems, setCategoryListItems] = useState([]); + + const {onSubmit, onCancel, updateModalVisible, values} = props; + + const [inputType, setInputType] = useState(0); + + useEffect(() => { + if (form && !updateModalVisible) { + form.resetFields(); + } else { + queryCategoryAttribute({pageSize: 100, current: 1}).then((res) => { + setCategoryListItems(res.data) + }); + } + + }, [props.updateModalVisible]); + + useEffect(() => { + if (values) { + form.setFieldsValue({ + ...values, + }); + setInputType(values.inputType || 0) + } + }, [props.values]); + + const handleSubmit = () => { + if (!form) return; + form.submit(); + }; + + const handleFinish = (item: { [key: string]: any }) => { + if (onSubmit) { + onSubmit(item as AttributeListItem); + } + }; + + const onChange = (e: RadioChangeEvent) => { + setInputType(e.target.value); + }; + + const renderContent = () => { + return ( + <> + + + + + + + + + + 普通 + 颜色 + + + + + 不需要进行检索 + 关键字检索 + 范围检索 + + + + + 不关联 + 关联 + + + + + 唯一 + 单选 + 多选 + + + + + 手工录入 + 从列表中选取 + + + {inputType === 1 && + + } + + + 不支持 + 支持 + + + + + 规格 + 参数 + + + + + + + ); + }; + + const modalFooter = {okText: '保存', onOk: handleSubmit, onCancel}; + + return ( + +
+ {renderContent()} + +
+ ); +}; + +export default UpdateAttributeForm; diff --git a/admin-v5/src/pages/pms/product_attribute/data.d.ts b/admin-v5/src/pages/pms/product_attribute/data.d.ts new file mode 100644 index 0000000..d19a1ae --- /dev/null +++ b/admin-v5/src/pages/pms/product_attribute/data.d.ts @@ -0,0 +1,30 @@ +export interface AttributeListItem { + id: number; + type: number; + name: string; + inputList: string; + selectType: number; + inputType: number; +} + +export interface AttributeListPagination { + total: number; + pageSize: number; + current: number; +} + +export interface AttributeListData { + list: AttributeListItem[]; + pagination: Partial; +} + +export interface AttributeListParams { + + type?: number; + pageSize?: number; + currentPage?: number; + productAttributeCategoryId?: number; + filter?: { [key: string]: any[] }; + sorter?: { [key: string]: any }; + +} diff --git a/admin-v5/src/pages/pms/product_attribute/index.tsx b/admin-v5/src/pages/pms/product_attribute/index.tsx new file mode 100644 index 0000000..96f7899 --- /dev/null +++ b/admin-v5/src/pages/pms/product_attribute/index.tsx @@ -0,0 +1,362 @@ +import { PlusOutlined, ExclamationCircleOutlined, EditOutlined, DeleteOutlined } from '@ant-design/icons'; +import { Button, Divider, message, Drawer, Modal } from 'antd'; +import React, { useState, useRef } from 'react'; +import { PageContainer, FooterToolbar } from '@ant-design/pro-layout'; +import ProTable from '@ant-design/pro-table'; +import type { ProColumns, ActionType } from '@ant-design/pro-table'; +import ProDescriptions from '@ant-design/pro-descriptions'; +import type { ProDescriptionsItemProps } from '@ant-design/pro-descriptions'; +import CreateAttributeForm from './components/CreateAttributeForm'; +import UpdateAttributeForm from './components/UpdateAttributeForm'; +import type { AttributeListItem } from './data.d'; +import { queryAttribute, updateAttribute, addAttribute, removeAttribute } from './service'; +import { useLocation } from 'umi'; + +const { confirm } = Modal; + +/** + * 添加节点 + * @param fields + */ +const handleAdd = async (fields: AttributeListItem) => { + const hide = message.loading('正在添加'); + try { + await addAttribute({ ...fields }); + hide(); + message.success('添加成功'); + return true; + } catch (error) { + hide(); + message.error('添加失败请重试!'); + return false; + } +}; + +/** + * 更新节点 + * @param fields + */ +const handleUpdate = async (fields: AttributeListItem) => { + const hide = message.loading('正在更新'); + try { + await updateAttribute(fields); + hide(); + + message.success('更新成功'); + return true; + } catch (error) { + hide(); + message.error('更新失败请重试!'); + return false; + } +}; + + +/** + * 删除节点 + * @param selectedRows + */ +const handleRemove = async (selectedRows: AttributeListItem[]) => { + const hide = message.loading('正在删除'); + if (!selectedRows) return true; + try { + await removeAttribute({ + ids: selectedRows.map((row) => row.id), + }); + hide(); + message.success('删除成功,即将刷新'); + return true; + } catch (error) { + hide(); + message.error('删除失败,请重试'); + return false; + } +}; + +const TableList: React.FC = () => { + const [createModalVisible, handleModalVisible] = useState(false); + const [updateModalVisible, handleUpdateModalVisible] = useState(false); + const [showDetail, setShowDetail] = useState(false); + const actionRef = useRef(); + const [currentRow, setCurrentRow] = useState(); + const [selectedRowsState, setSelectedRows] = useState([]); + // const [productAttributeCategoryId, setProductAttributeCategoryId] = useState(0); + + const location = useLocation(); + // @ts-ignore + console.log(location.query.productAttributeCategoryId) + // @ts-ignore + // setProductAttributeCategoryId(location.query.productAttributeCategoryId) + + const showDeleteConfirm = (item: AttributeListItem) => { + confirm({ + title: '是否删除记录?', + icon: , + content: '删除的记录不能恢复,请确认!', + onOk() { + handleRemove([item]).then(() => { + actionRef.current?.reloadAndRest?.(); + }); + }, + onCancel() { + }, + }); + }; + + const columns: ProColumns[] = [ + { + title: '编号', + dataIndex: 'id', + hideInSearch: true, + }, + { + title: '属性/参数名称', + dataIndex: 'name', + render: (dom, entity) => { + return { + setCurrentRow(entity); + setShowDetail(true); + }}>{dom}; + }, + }, + { + title: '属性是否可选', + dataIndex: 'selectType', + hideInSearch: true, + valueEnum: { + 0: { text: '唯一', status: 'Error' }, + 1: { text: '单选', status: 'Success' }, + 2: { text: '多选', status: 'Success' }, + }, + }, + { + title: '属性值的录入方式', + dataIndex: 'inputType', + hideInSearch: true, + valueEnum: { + 0: { text: '手工录入', status: 'Error' }, + 1: { text: '从列表中选取', status: 'Success' }, + }, + }, + { + title: '可选值列表', + dataIndex: 'inputList', + hideInSearch: true, + }, + { + title: '分类筛选样式', + dataIndex: 'filterType', + hideInSearch: true, + hideInTable: true, + valueEnum: { + 0: { text: '普通', status: 'Error' }, + 1: { text: '颜色', status: 'Success' }, + }, + }, + { + title: '检索类型', + dataIndex: 'searchType', + hideInSearch: true, + hideInTable: true, + valueEnum: { + 0: { text: '不需要进行检索', status: 'Error' }, + 1: { text: '关键字检索', status: 'Success' }, + 2: { text: '范围检索', status: 'Success' }, + }, + }, + { + title: '相同属性产品是否关联', + dataIndex: 'relatedStatus', + hideInSearch: true, + hideInTable: true, + valueEnum: { + 0: { text: '不关联', status: 'Error' }, + 1: { text: '关联', status: 'Success' }, + }, + }, + { + title: '是否支持手动新增', + dataIndex: 'handAddStatus', + hideInSearch: true, + hideInTable: true, + valueEnum: { + 0: { text: '不支持', status: 'Error' }, + 1: { text: '支持', status: 'Success' }, + }, + }, + { + title: '属性的类型', + dataIndex: 'type', + valueEnum: { + 0: { text: '规格', status: 'Error' }, + 1: { text: '参数', status: 'Success' }, + }, + }, + { + title: '排序', + dataIndex: 'sort', + hideInSearch: true, + }, + { + title: '操作', + dataIndex: 'option', + valueType: 'option', + render: (_, record) => ( + <> + + + + + ), + }, + ]; + + return ( + + + headerTitle="属性详情" + actionRef={actionRef} + rowKey="id" + search={{ + labelWidth: 120, + }} + toolBarRender={() => [ + , + ]} + request={(params) => { + return queryAttribute({ + ...params, + // @ts-ignore + productAttributeCategoryId: location.query.productAttributeCategoryId, + }).then((res) => { + console.log(res) + if (res.code === '000000') { + return { + data: res.data, + total: res.total, + pageSize: res.pageSize, + current: res.current, + }; + } else { + return message.error(res.msg); + } + }); + }} + columns={columns} + rowSelection={{ + onChange: (_, selectedRows) => setSelectedRows(selectedRows), + }} + pagination={{ pageSize: 10 }} + /> + {selectedRowsState?.length > 0 && ( + + 已选择 {selectedRowsState.length} 项   + + } + > + + + )} + + + { + const success = await handleAdd(value); + if (success) { + handleModalVisible(false); + setCurrentRow(undefined); + if (actionRef.current) { + actionRef.current.reload(); + } + } + }} + onCancel={() => { + handleModalVisible(false); + if (!showDetail) { + setCurrentRow(undefined); + } + }} + createModalVisible={createModalVisible} + /> + + { + const success = await handleUpdate(value); + if (success) { + handleUpdateModalVisible(false); + setCurrentRow(undefined); + if (actionRef.current) { + actionRef.current.reload(); + } + } + }} + onCancel={() => { + handleUpdateModalVisible(false); + if (!showDetail) { + setCurrentRow(undefined); + } + }} + updateModalVisible={updateModalVisible} + values={currentRow || {}} + /> + + { + setCurrentRow(undefined); + setShowDetail(false) + }} + closable={false} + > + {currentRow?.id && ( + + column={2} + title={currentRow?.id} + request={async () => ({ + data: currentRow || {}, + })} + params={{ + id: currentRow?.id, + }} + columns={columns as ProDescriptionsItemProps[]} + /> + )} + + + ); +}; + +export default TableList; diff --git a/admin-v5/src/pages/pms/product_attribute/service.ts b/admin-v5/src/pages/pms/product_attribute/service.ts new file mode 100644 index 0000000..d2f6949 --- /dev/null +++ b/admin-v5/src/pages/pms/product_attribute/service.ts @@ -0,0 +1,45 @@ +import {request} from 'umi'; +import type {AttributeListParams, AttributeListItem} from './data.d'; + +export async function queryAttribute(params: AttributeListParams) { + if (params.type != null) { + params.type = Number(params.type) + } + if (params.productAttributeCategoryId != null) { + params.productAttributeCategoryId = Number(params.productAttributeCategoryId) + } + return request('/api/product/attribute/list', { + method: 'POST', + data: { + ...params, + }, + }); +} + +export async function removeAttribute(params: { ids: number[] }) { + return request('/api/product/attribute/delete', { + method: 'POST', + data: { + ...params, + }, + }); +} + +export async function addAttribute(params: AttributeListItem) { + return request('/api/product/attribute/add', { + method: 'POST', + data: { + ...params, + }, + }); +} + +export async function updateAttribute(params: AttributeListItem) { + return request('/api/product/attribute/update', { + method: 'POST', + data: { + ...params, + }, + }); +} + diff --git a/admin-v5/src/pages/pms/product_attribute_category/components/CreateAttributeForm.tsx b/admin-v5/src/pages/pms/product_attribute_category/components/CreateAttributeForm.tsx new file mode 100644 index 0000000..40622e2 --- /dev/null +++ b/admin-v5/src/pages/pms/product_attribute_category/components/CreateAttributeForm.tsx @@ -0,0 +1,67 @@ +import React, {useEffect} from 'react'; +import {Form, Input, Modal} from 'antd'; +import type {AttributeCategoryListItem} from '../data.d'; + +export interface CreateFormProps { + onCancel: () => void; + onSubmit: (values: AttributeCategoryListItem) => void; + createModalVisible: boolean; +} + +const FormItem = Form.Item; + +const formLayout = { + labelCol: {span: 7}, + wrapperCol: {span: 13}, +}; + +const CreateAttributeForm: React.FC = (props) => { + const [form] = Form.useForm(); + + const {onSubmit, onCancel, createModalVisible} = props; + + useEffect(() => { + if (form && !createModalVisible) { + form.resetFields(); + } + }, [props.createModalVisible]); + + const handleSubmit = () => { + if (!form) return; + form.submit(); + }; + + const handleFinish = (values: AttributeCategoryListItem) => { + if (onSubmit) { + onSubmit(values); + } + }; + + const renderContent = () => { + return ( + <> + + + + + ); + }; + + const modalFooter = {okText: '保存', onOk: handleSubmit, onCancel}; + + return ( + +
+ {renderContent()} + +
+ ); +}; + +export default CreateAttributeForm; diff --git a/admin-v5/src/pages/pms/product_attribute_category/components/UpdateAttributeForm.tsx b/admin-v5/src/pages/pms/product_attribute_category/components/UpdateAttributeForm.tsx new file mode 100644 index 0000000..312e674 --- /dev/null +++ b/admin-v5/src/pages/pms/product_attribute_category/components/UpdateAttributeForm.tsx @@ -0,0 +1,85 @@ +import React, {useEffect} from 'react'; +import {Form, Input, Modal} from 'antd'; +import type {AttributeCategoryListItem} from '../data.d'; + +export interface UpdateFormProps { + onCancel: () => void; + onSubmit: (values: AttributeCategoryListItem) => void; + updateModalVisible: boolean; + values: Partial; +} + +const FormItem = Form.Item; + +const formLayout = { + labelCol: {span: 7}, + wrapperCol: {span: 13}, +}; + +const UpdateAttributeForm: React.FC = (props) => { + const [form] = Form.useForm(); + + const {onSubmit, onCancel, updateModalVisible, values} = props; + + useEffect(() => { + if (form && !updateModalVisible) { + form.resetFields(); + } + }, [props.updateModalVisible]); + + useEffect(() => { + if (values) { + form.setFieldsValue({ + ...values, + }); + } + }, [props.values]); + + const handleSubmit = () => { + if (!form) return; + form.submit(); + }; + + const handleFinish = (item: { [key: string]: any }) => { + if (onSubmit) { + onSubmit(item as AttributeCategoryListItem); + } + }; + + const renderContent = () => { + return ( + <> + + + + + + + + ); + }; + + const modalFooter = {okText: '保存', onOk: handleSubmit, onCancel}; + + return ( + +
+ {renderContent()} + +
+ ); +}; + +export default UpdateAttributeForm; diff --git a/admin-v5/src/pages/pms/product_attribute_category/data.d.ts b/admin-v5/src/pages/pms/product_attribute_category/data.d.ts new file mode 100644 index 0000000..aea365d --- /dev/null +++ b/admin-v5/src/pages/pms/product_attribute_category/data.d.ts @@ -0,0 +1,24 @@ +export interface AttributeCategoryListItem { + id: number; + name: string; +} + +export interface AttributeCategoryListPagination { + total: number; + pageSize: number; + current: number; +} + +export interface AttributeCategoryListData { + list: AttributeCategoryListItem[]; + pagination: Partial; +} + +export interface AttributeCategoryListParams { + + pageSize?: number; + current?: number; + filter?: { [key: string]: any[] }; + sorter?: { [key: string]: any }; + +} diff --git a/admin-v5/src/pages/pms/product_attribute_category/index.tsx b/admin-v5/src/pages/pms/product_attribute_category/index.tsx new file mode 100644 index 0000000..ba0fcb4 --- /dev/null +++ b/admin-v5/src/pages/pms/product_attribute_category/index.tsx @@ -0,0 +1,292 @@ +import { DeleteOutlined, EditOutlined, ExclamationCircleOutlined, PlusOutlined } from '@ant-design/icons'; +import { Button, Divider, Drawer, message, Modal } from 'antd'; +import React, { useRef, useState } from 'react'; +import { FooterToolbar, PageContainer } from '@ant-design/pro-layout'; +import type { ActionType, ProColumns } from '@ant-design/pro-table'; +import ProTable from '@ant-design/pro-table'; +import type { ProDescriptionsItemProps } from '@ant-design/pro-descriptions'; +import ProDescriptions from '@ant-design/pro-descriptions'; +import CreateAttributeForm from './components/CreateAttributeForm'; +import UpdateAttributeForm from './components/UpdateAttributeForm'; +import type { AttributeCategoryListItem } from './data.d'; +import { addAttributeCategory, queryCategoryAttribute, removeAttributeCategory, updateAttributeCategory } from './service'; +import { history } from 'umi'; + +const { confirm } = Modal; + +/** + * 添加节点 + * @param fields + */ +const handleAdd = async (fields: AttributeCategoryListItem) => { + const hide = message.loading('正在添加'); + try { + await addAttributeCategory({ ...fields }); + hide(); + message.success('添加成功'); + return true; + } catch (error) { + hide(); + message.error('添加失败请重试!'); + return false; + } +}; + +/** + * 更新节点 + * @param fields + */ +const handleUpdate = async (fields: AttributeCategoryListItem) => { + const hide = message.loading('正在更新'); + try { + await updateAttributeCategory(fields); + hide(); + + message.success('更新成功'); + return true; + } catch (error) { + hide(); + message.error('更新失败请重试!'); + return false; + } +}; + + +/** + * 删除节点 + * @param selectedRows + */ +const handleRemove = async (selectedRows: AttributeCategoryListItem[]) => { + const hide = message.loading('正在删除'); + if (!selectedRows) return true; + try { + await removeAttributeCategory({ + ids: selectedRows.map((row) => row.id), + }); + hide(); + message.success('删除成功,即将刷新'); + return true; + } catch (error) { + hide(); + message.error('删除失败,请重试'); + return false; + } +}; + +const TableList: React.FC = () => { + const [createModalVisible, handleModalVisible] = useState(false); + const [updateModalVisible, handleUpdateModalVisible] = useState(false); + const [showDetail, setShowDetail] = useState(false); + const actionRef = useRef(); + const [currentRow, setCurrentRow] = useState(); + const [selectedRowsState, setSelectedRows] = useState([]); + + const showDeleteConfirm = (item: AttributeCategoryListItem) => { + confirm({ + title: '是否删除记录?', + icon: , + content: '删除的记录不能恢复,请确认!', + onOk() { + handleRemove([item]).then((r) => { + actionRef.current?.reloadAndRest?.(); + }); + }, + onCancel() { + }, + }); + }; + + const columns: ProColumns[] = [ + { + title: '编号', + dataIndex: 'id', + hideInSearch: true, + }, + { + title: '分类名称', + dataIndex: 'name', + render: (dom, entity) => { + return { + setCurrentRow(entity); + setShowDetail(true); + }}>{dom}; + }, + }, + { + title: '属性数量', + dataIndex: 'attributeCount', + hideInSearch: true, + }, + { + title: '参数数量', + dataIndex: 'paramCount', + hideInSearch: true, + }, + + { + title: '设置', + dataIndex: 'option', + valueType: 'option', + render: (_, record) => ( + <> + + + + ), + }, + { + title: '操作', + dataIndex: 'option', + valueType: 'option', + render: (_, record) => ( + <> + + + + + ), + }, + ]; + + return ( + + + headerTitle="分类列表" + actionRef={actionRef} + tableLayout={"fixed"} + rowKey="id" + search={{ + labelWidth: 120, + }} + toolBarRender={() => [ + , + ]} + request={queryCategoryAttribute} + columns={columns} + rowSelection={{ + onChange: (_, selectedRows) => setSelectedRows(selectedRows), + }} + pagination={{ pageSize: 10 }} + /> + {selectedRowsState?.length > 0 && ( + + 已选择 {selectedRowsState.length} 项   + + } + > + + + )} + + + { + const success = await handleAdd(value); + if (success) { + handleModalVisible(false); + setCurrentRow(undefined); + if (actionRef.current) { + actionRef.current.reload(); + } + } + }} + onCancel={() => { + handleModalVisible(false); + if (!showDetail) { + setCurrentRow(undefined); + } + }} + createModalVisible={createModalVisible} + /> + + { + const success = await handleUpdate(value); + if (success) { + handleUpdateModalVisible(false); + setCurrentRow(undefined); + if (actionRef.current) { + actionRef.current.reload(); + } + } + }} + onCancel={() => { + handleUpdateModalVisible(false); + if (!showDetail) { + setCurrentRow(undefined); + } + }} + updateModalVisible={updateModalVisible} + values={currentRow || {}} + /> + + { + setCurrentRow(undefined); + setShowDetail(false) + }} + closable={false} + > + {currentRow?.id && ( + + column={2} + title={currentRow?.id} + request={async () => ({ + data: currentRow || {}, + })} + params={{ + id: currentRow?.id, + }} + columns={columns as ProDescriptionsItemProps[]} + /> + )} + + + ); +}; + +export default TableList; diff --git a/admin-v5/src/pages/pms/product_attribute_category/service.ts b/admin-v5/src/pages/pms/product_attribute_category/service.ts new file mode 100644 index 0000000..02b9116 --- /dev/null +++ b/admin-v5/src/pages/pms/product_attribute_category/service.ts @@ -0,0 +1,40 @@ +import {request} from 'umi'; +import type {AttributeCategoryListParams, AttributeCategoryListItem} from './data.d'; + +export async function queryCategoryAttribute(params: AttributeCategoryListParams) { + + return request('/api/product/attributecategory/list', { + method: 'POST', + data: { + ...params, + }, + }); +} + +export async function removeAttributeCategory(params: { ids: number[] }) { + return request('/api/product/attributecategory/delete', { + method: 'POST', + data: { + ...params, + }, + }); +} + +export async function addAttributeCategory(params: AttributeCategoryListItem) { + return request('/api/product/attributecategory/add', { + method: 'POST', + data: { + ...params, + }, + }); +} + +export async function updateAttributeCategory(params: AttributeCategoryListItem) { + return request('/api/product/attributecategory/update', { + method: 'POST', + data: { + ...params, + }, + }); +} + diff --git a/admin-v5/src/pages/pms/product_brand/components/CreateBrandForm.tsx b/admin-v5/src/pages/pms/product_brand/components/CreateBrandForm.tsx new file mode 100644 index 0000000..884b16b --- /dev/null +++ b/admin-v5/src/pages/pms/product_brand/components/CreateBrandForm.tsx @@ -0,0 +1,103 @@ +import React, {useEffect} from 'react'; +import {Form, Input, InputNumber, Modal, Select} from 'antd'; +import type {BrandListItem} from '../data.d'; + +export interface CreateFormProps { + onCancel: () => void; + onSubmit: (values: BrandListItem) => void; + createModalVisible: boolean; +} +const FormItem = Form.Item; + +const formLayout = { + labelCol: { span: 7 }, + wrapperCol: { span: 13 }, +}; + +const CreateBrandForm: React.FC = (props) => { + const [form] = Form.useForm(); + + const { onSubmit, onCancel, createModalVisible } = props; + + useEffect(() => { + if (form && !createModalVisible) { + form.resetFields(); + } + }, [props.createModalVisible]); + + const handleSubmit = () => { + if (!form) return; + form.submit(); + }; + + const handleFinish = (values: BrandListItem) => { + if (onSubmit) { + onSubmit(values); + } + }; + + const renderContent = () => { + return ( + <> + + + + + + + + + + + + + + + + + + + + + + + + + + ); + }; + + const modalFooter = { okText: '保存', onOk: handleSubmit, onCancel }; + + return ( + +
+ {renderContent()} + +
+ ); +}; + +export default CreateBrandForm; diff --git a/admin-v5/src/pages/pms/product_brand/components/UpdateBrandForm.tsx b/admin-v5/src/pages/pms/product_brand/components/UpdateBrandForm.tsx new file mode 100644 index 0000000..407008b --- /dev/null +++ b/admin-v5/src/pages/pms/product_brand/components/UpdateBrandForm.tsx @@ -0,0 +1,119 @@ +import React, {useEffect} from 'react'; +import {Form, Input, InputNumber, Modal, Select} from 'antd'; +import type {BrandListItem} from '../data.d'; + +export interface UpdateFormProps { + onCancel: () => void; + onSubmit: (values: BrandListItem) => void; + updateModalVisible: boolean; + values: Partial; +} +const FormItem = Form.Item; + +const formLayout = { + labelCol: { span: 7 }, + wrapperCol: { span: 13 }, +}; + +const UpdateBrandForm: React.FC = (props) => { + const [form] = Form.useForm(); + + const {onSubmit, onCancel, updateModalVisible, values} = props; + + useEffect(() => { + if (form && !updateModalVisible) { + form.resetFields(); + } + }, [props.updateModalVisible]); + + useEffect(() => { + if (values) { + form.setFieldsValue({ + ...values, + }); + } + }, [props.values]); + + const handleSubmit = () => { + if (!form) return; + form.submit(); + }; + + const handleFinish = (item: { [key: string]: any }) => { + if (onSubmit) { + onSubmit(item as BrandListItem); + } + }; + + const renderContent = () => { + return ( + <> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ); + }; + + const modalFooter = { okText: '保存', onOk: handleSubmit, onCancel }; + + return ( + +
+ {renderContent()} + +
+ ); +}; + +export default UpdateBrandForm; diff --git a/admin-v5/src/pages/pms/product_brand/data.d.ts b/admin-v5/src/pages/pms/product_brand/data.d.ts new file mode 100644 index 0000000..9d8f3eb --- /dev/null +++ b/admin-v5/src/pages/pms/product_brand/data.d.ts @@ -0,0 +1,25 @@ +export interface BrandListItem { + id: number; + name: string; +} + +export interface BrandListPagination { + total: number; + pageSize: number; + current: number; +} + +export interface BrandListData { + list: BrandListItem[]; + pagination: Partial; +} + +export interface BrandListParams { + factoryStatus?: number; + showStatus?: number; + pageSize?: number; + current?: number; + filter?: { [key: string]: any[] }; + sorter?: { [key: string]: any }; + +} diff --git a/admin-v5/src/pages/pms/product_brand/index.tsx b/admin-v5/src/pages/pms/product_brand/index.tsx new file mode 100644 index 0000000..f3fca83 --- /dev/null +++ b/admin-v5/src/pages/pms/product_brand/index.tsx @@ -0,0 +1,313 @@ +import { PlusOutlined, ExclamationCircleOutlined, EditOutlined, DeleteOutlined } from '@ant-design/icons'; +import { Button, Divider, message, Drawer, Modal } from 'antd'; +import React, { useState, useRef } from 'react'; +import { PageContainer, FooterToolbar } from '@ant-design/pro-layout'; +import ProTable from '@ant-design/pro-table'; +import type { ProColumns, ActionType } from '@ant-design/pro-table'; +import ProDescriptions, { ProDescriptionsItemProps } from '@ant-design/pro-descriptions'; +import CreateBrandForm from './components/CreateBrandForm'; +import UpdateBrandForm from './components/UpdateBrandForm'; +import type { BrandListItem } from './data.d'; +import { queryBrand, updateBrand, addBrand, removeBrand } from './service'; + + +const { confirm } = Modal; + +/** + * 添加节点 + * @param fields + */ +const handleAdd = async (fields: BrandListItem) => { + const hide = message.loading('正在添加'); + try { + await addBrand({ ...fields }); + hide(); + message.success('添加成功'); + return true; + } catch (error) { + hide(); + message.error('添加失败请重试!'); + return false; + } +}; + +/** + * 更新节点 + * @param fields + */ +const handleUpdate = async (fields: BrandListItem) => { + const hide = message.loading('正在更新'); + try { + await updateBrand(fields); + hide(); + + message.success('更新成功'); + return true; + } catch (error) { + hide(); + message.error('更新失败请重试!'); + return false; + } +}; + + +/** + * 删除节点 + * @param selectedRows + */ +const handleRemove = async (selectedRows: BrandListItem[]) => { + const hide = message.loading('正在删除'); + if (!selectedRows) return true; + try { + await removeBrand({ + ids: selectedRows.map((row) => row.id), + }); + hide(); + message.success('删除成功,即将刷新'); + return true; + } catch (error) { + hide(); + message.error('删除失败,请重试'); + return false; + } +}; + +const TableList: React.FC = () => { + const [createModalVisible, handleModalVisible] = useState(false); + const [updateModalVisible, handleUpdateModalVisible] = useState(false); + const [showDetail, setShowDetail] = useState(false); + const actionRef = useRef(); + const [currentRow, setCurrentRow] = useState(); + const [selectedRowsState, setSelectedRows] = useState([]); + + const showDeleteConfirm = (item: BrandListItem) => { + confirm({ + title: '是否删除记录?', + icon: , + content: '删除的记录不能恢复,请确认!', + onOk() { + handleRemove([item]).then((r) => { + actionRef.current?.reloadAndRest?.(); + }); + }, + onCancel() { + }, + }); + }; + + const columns: ProColumns[] = [ + { + title: '编号', + dataIndex: 'id', + hideInSearch: true, + }, + { + title: '品牌名', + dataIndex: 'name', + render: (dom, entity) => { + return { + setCurrentRow(entity); + setShowDetail(true); + }}>{dom}; + }, + }, + { + title: '首字母', + dataIndex: 'firstLetter', + hideInSearch: true, + }, + { + title: '排序', + dataIndex: 'sort', + hideInSearch: true, + }, + { + title: '是否为品牌制造商', + dataIndex: 'factoryStatus', + valueEnum: { + 0: { text: '否', status: 'Error' }, + 1: { text: '是', status: 'Success' }, + }, + }, + { + title: '是否显示', + dataIndex: 'showStatus', + valueEnum: { + 0: { text: '否', status: 'Error' }, + 1: { text: '是', status: 'Success' }, + }, + }, + { + title: '产品数量', + dataIndex: 'productCount', + hideInSearch: true, + }, + { + title: '产品评论数量', + dataIndex: 'productCommentCount', + hideInSearch: true, + }, + { + title: '品牌logo', + dataIndex: 'logo', + valueType: 'image', + fieldProps: { width: 100, height: 80 }, + hideInSearch: true, + }, + { + title: '专区大图', + dataIndex: 'bigPic', + valueType: 'image', + hideInSearch: true, + fieldProps: { width: 100, height: 80 } + + }, + { + title: '品牌故事', + dataIndex: 'brandStory', + hideInSearch: true, + }, + { + title: '操作', + dataIndex: 'option', + valueType: 'option', + render: (_, record) => ( + <> + + + + + ), + }, + ]; + + return ( + + + headerTitle="品牌列表" + actionRef={actionRef} + rowKey="id" + search={{ + labelWidth: 120, + }} + toolBarRender={() => [ + , + ]} + request={queryBrand} + columns={columns} + rowSelection={{ + onChange: (_, selectedRows) => setSelectedRows(selectedRows), + }} + pagination={{ pageSize: 10 }} + /> + {selectedRowsState?.length > 0 && ( + + 已选择 {selectedRowsState.length} 项   + + } + > + + + )} + + + { + const success = await handleAdd(value); + if (success) { + handleModalVisible(false); + setCurrentRow(undefined); + if (actionRef.current) { + actionRef.current.reload(); + } + } + }} + onCancel={() => { + handleModalVisible(false); + if (!showDetail) { + setCurrentRow(undefined); + } + }} + createModalVisible={createModalVisible} + /> + + { + const success = await handleUpdate(value); + if (success) { + handleUpdateModalVisible(false); + setCurrentRow(undefined); + if (actionRef.current) { + actionRef.current.reload(); + } + } + }} + onCancel={() => { + handleUpdateModalVisible(false); + if (!showDetail) { + setCurrentRow(undefined); + } + }} + updateModalVisible={updateModalVisible} + values={currentRow || {}} + /> + { + setCurrentRow(undefined); + setShowDetail(false) + }} + closable={false} + > + {currentRow?.id && ( + + column={2} + title={currentRow?.id} + request={async () => ({ + data: currentRow || {}, + })} + params={{ + id: currentRow?.id, + }} + columns={columns as ProDescriptionsItemProps[]} + /> + )} + + + ); +}; + +export default TableList; diff --git a/admin-v5/src/pages/pms/product_brand/service.ts b/admin-v5/src/pages/pms/product_brand/service.ts new file mode 100644 index 0000000..4596172 --- /dev/null +++ b/admin-v5/src/pages/pms/product_brand/service.ts @@ -0,0 +1,45 @@ +import { request } from 'umi'; +import { BrandListParams, BrandListItem } from './data.d'; + +export async function queryBrand(params: BrandListParams) { + if (params.factoryStatus != null) { + params.factoryStatus = Number(params.factoryStatus) + } + if (params.showStatus != null) { + params.showStatus = Number(params.showStatus) + } + return request('/api/product/brand/list', { + method: 'POST', + data: { + ...params, + }, + }); +} + +export async function removeBrand(params: { ids: number[] }) { + return request('/api/product/brand/delete', { + method: 'POST', + data: { + ...params, + }, + }); +} + +export async function addBrand(params: BrandListItem) { + return request('/api/product/brand/add', { + method: 'POST', + data: { + ...params, + }, + }); +} + +export async function updateBrand(params: BrandListItem) { + return request('/api/product/brand/update', { + method: 'POST', + data: { + ...params, + }, + }); +} + diff --git a/admin-v5/src/pages/pms/product_category/components/CreateCategoryForm.tsx b/admin-v5/src/pages/pms/product_category/components/CreateCategoryForm.tsx new file mode 100644 index 0000000..10d960e --- /dev/null +++ b/admin-v5/src/pages/pms/product_category/components/CreateCategoryForm.tsx @@ -0,0 +1,130 @@ +import React, {useEffect, useState} from 'react'; +import {Form, Input, InputNumber, message, Modal, Select} from 'antd'; +import type {CategoryListItem} from '../data.d'; +import {queryCategory} from "@/pages/pms/product_category/service"; + +export interface CreateFormProps { + onCancel: () => void; + onSubmit: (values: CategoryListItem) => void; + createModalVisible: boolean; +} + +const FormItem = Form.Item; + +const formLayout = { + labelCol: {span: 7}, + wrapperCol: {span: 13}, +}; + +const CreateCategoryForm: React.FC = (props) => { + const [parentIdMap, setParentIdMap] = useState([]); + + const [form] = Form.useForm(); + const {Option} = Select; + + const {onSubmit, onCancel, createModalVisible} = props; + + useEffect(() => { + if (form && !createModalVisible) { + form.resetFields(); + } + queryCategory({parentId: 0}).then((res) => { + if (res.code === '000000') { + const map = res.data.map((item: { id: any; name: any; }) => ({ + value: item.id, + label: item.name, + })); + map.unshift({ + value: 0, + label: '无上级分类', + }) + setParentIdMap(map); + } else { + message.error(res.msg); + } + }); + + + }, [props.createModalVisible]); + + const handleSubmit = () => { + if (!form) return; + form.submit(); + }; + + const handleFinish = (values: CategoryListItem) => { + if (onSubmit) { + onSubmit(values); + } + }; + + const renderContent = () => { + return ( + <> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ); + }; + + const modalFooter = {okText: '保存', onOk: handleSubmit, onCancel}; + + return ( + +
+ {renderContent()} + +
+ ); +}; + +export default CreateCategoryForm; diff --git a/admin-v5/src/pages/pms/product_category/components/UpdateCategoryForm.tsx b/admin-v5/src/pages/pms/product_category/components/UpdateCategoryForm.tsx new file mode 100644 index 0000000..99694ed --- /dev/null +++ b/admin-v5/src/pages/pms/product_category/components/UpdateCategoryForm.tsx @@ -0,0 +1,143 @@ +import React, {useEffect, useState} from 'react'; +import {Form, Input, InputNumber, message, Modal, Select} from 'antd'; +import {CategoryListItem} from '../data.d'; +import {queryCategory} from "@/pages/pms/product_category/service"; + +export interface UpdateFormProps { + onCancel: () => void; + onSubmit: (values: CategoryListItem) => void; + updateModalVisible: boolean; + values: Partial; +} + +const FormItem = Form.Item; + +const formLayout = { + labelCol: { span: 7 }, + wrapperCol: { span: 13 }, +}; + +const UpdateCategoryForm: React.FC = (props) => { + const [parentIdMap, setParentIdMap] = useState([]); + + const [form] = Form.useForm(); + const {Option} = Select; + + const {onSubmit, onCancel, updateModalVisible, values} = props; + + useEffect(() => { + if (form && !updateModalVisible) { + form.resetFields(); + } + }, [props.updateModalVisible]); + + useEffect(() => { + if (values) { + form.setFieldsValue({ + ...values, + }); + queryCategory({parentId: 0}).then((res) => { + if (res.code === '000000') { + const map = res.data.map((item: { id: any; name: any; }) => ({ + value: item.id, + label: item.name, + })); + map.unshift({ + value: 0, + label: '无上级分类', + }) + setParentIdMap(map); + } else { + message.error(res.msg); + } + }); + } + }, [props.values]); + + const handleSubmit = () => { + if (!form) return; + form.submit(); + }; + + const handleFinish = (item: { [key: string]: any }) => { + if (onSubmit) { + onSubmit(item as CategoryListItem); + } + }; + + const renderContent = () => { + return ( + <> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ); + }; + + const modalFooter = { okText: '保存', onOk: handleSubmit, onCancel }; + + return ( + +
+ {renderContent()} + +
+ ); +}; + +export default UpdateCategoryForm; diff --git a/admin-v5/src/pages/pms/product_category/data.d.ts b/admin-v5/src/pages/pms/product_category/data.d.ts new file mode 100644 index 0000000..5d92b86 --- /dev/null +++ b/admin-v5/src/pages/pms/product_category/data.d.ts @@ -0,0 +1,25 @@ +export interface CategoryListItem { + id: number; + +} + +export interface CategoryListPagination { + total: number; + pageSize: number; + current: number; +} + +export interface CategoryListData { + list: CategoryListItem[]; + pagination: Partial; +} + +export interface CategoryListParams { + + parentId?: number; + pageSize?: number; + currentPage?: number; + filter?: { [key: string]: any[] }; + sorter?: { [key: string]: any }; + +} diff --git a/admin-v5/src/pages/pms/product_category/index.tsx b/admin-v5/src/pages/pms/product_category/index.tsx new file mode 100644 index 0000000..d2545e6 --- /dev/null +++ b/admin-v5/src/pages/pms/product_category/index.tsx @@ -0,0 +1,307 @@ +import { PlusOutlined, ExclamationCircleOutlined, EditOutlined, DeleteOutlined } from '@ant-design/icons'; +import { Button, Divider, message, Drawer, Modal } from 'antd'; +import React, { useState, useRef } from 'react'; +import { PageContainer, FooterToolbar } from '@ant-design/pro-layout'; +import ProTable from '@ant-design/pro-table'; +import type { ProColumns, ActionType } from '@ant-design/pro-table'; +import ProDescriptions, { ProDescriptionsItemProps } from '@ant-design/pro-descriptions'; +import CreateCategoryForm from './components/CreateCategoryForm'; +import UpdateCategoryForm from './components/UpdateCategoryForm'; +import type { CategoryListItem } from './data.d'; +import { queryCategory, updateCategory, addCategory, removeCategory } from './service'; + +import { tree } from '@/utils/utils'; + +const { confirm } = Modal; + +/** + * 添加节点 + * @param fields + */ +const handleAdd = async (fields: CategoryListItem) => { + const hide = message.loading('正在添加'); + try { + await addCategory({ ...fields }); + hide(); + message.success('添加成功'); + return true; + } catch (error) { + hide(); + message.error('添加失败请重试!'); + return false; + } +}; + +/** + * 更新节点 + * @param fields + */ +const handleUpdate = async (fields: CategoryListItem) => { + const hide = message.loading('正在更新'); + try { + await updateCategory(fields); + hide(); + + message.success('更新成功'); + return true; + } catch (error) { + hide(); + message.error('更新失败请重试!'); + return false; + } +}; + +/** + * 删除节点 + * @param selectedRows + */ +const handleRemove = async (selectedRows: CategoryListItem[]) => { + const hide = message.loading('正在删除'); + if (!selectedRows) return true; + try { + await removeCategory({ + ids: selectedRows.map((row) => row.id), + }); + hide(); + message.success('删除成功,即将刷新'); + return true; + } catch (error) { + hide(); + message.error('删除失败,请重试'); + return false; + } +}; + +const TableList: React.FC = () => { + const [createModalVisible, handleModalVisible] = useState(false); + const [updateModalVisible, handleUpdateModalVisible] = useState(false); + const [showDetail, setShowDetail] = useState(false); + const actionRef = useRef(); + const [currentRow, setCurrentRow] = useState(); + const [selectedRowsState, setSelectedRows] = useState([]); + + const showDeleteConfirm = (item: CategoryListItem) => { + confirm({ + title: '是否删除记录?', + icon: , + content: '删除的记录不能恢复,请确认!', + onOk() { + handleRemove([item]).then((r) => { + actionRef.current?.reloadAndRest?.(); + }); + }, + onCancel() { + }, + }); + }; + + const columns: ProColumns[] = [ + { + title: '编号', + dataIndex: 'id', + hideInSearch: true, + }, + { + title: '分类名称', + dataIndex: 'name', + render: (dom, entity) => { + return { + setCurrentRow(entity); + setShowDetail(true); + }}>{dom}; + }, + }, + { + title: '图标', + dataIndex: 'icon', + valueType: 'image', + fieldProps: { width: 100, height: 80 } + }, + { + title: '分类级别', + dataIndex: 'level', + valueEnum: { + 0: { text: '一级', status: 'Success' }, + 1: { text: '二级', status: 'Success' }, + }, + }, + { + title: '产品数量', + dataIndex: 'productCount', + }, + { + title: '产品单位', + dataIndex: 'productUnit', + }, + { + title: '是否显示在导航栏', + dataIndex: 'navStatus', + valueEnum: { + 0: { text: '否', status: 'Success' }, + 1: { text: '是', status: 'Success' }, + }, + }, + { + title: '显示状态', + dataIndex: 'showStatus', + valueEnum: { + 0: { text: '否', status: 'Success' }, + 1: { text: '是', status: 'Success' }, + }, + }, + { + title: '排序', + dataIndex: 'sort', + }, + { + title: '关键字', + dataIndex: 'keywords', + }, + { + title: '描述', + dataIndex: 'description', + }, + { + title: '操作', + dataIndex: 'option', + valueType: 'option', + render: (_, record) => ( + <> + + + + + ), + }, + ]; + + return ( + + + headerTitle="分类列表" + actionRef={actionRef} + rowKey="id" + search={false} + toolBarRender={() => [ + , + ]} + request={queryCategory} + columns={columns} + rowSelection={{ + onChange: (_, selectedRows) => setSelectedRows(selectedRows), + }} + postData={(data) => tree(data, 0, 'parentId')} + pagination={false} + /> + {selectedRowsState?.length > 0 && ( + + 已选择 {selectedRowsState.length} 项   + + } + > + + + )} + + + { + const success = await handleAdd(value); + if (success) { + handleModalVisible(false); + setCurrentRow(undefined); + if (actionRef.current) { + actionRef.current.reload(); + } + } + }} + onCancel={() => { + handleModalVisible(false); + if (!showDetail) { + setCurrentRow(undefined); + } + }} + createModalVisible={createModalVisible} + /> + + { + const success = await handleUpdate(value); + if (success) { + handleUpdateModalVisible(false); + setCurrentRow(undefined); + if (actionRef.current) { + actionRef.current.reload(); + } + } + }} + onCancel={() => { + handleUpdateModalVisible(false); + if (!showDetail) { + setCurrentRow(undefined); + } + }} + updateModalVisible={updateModalVisible} + values={currentRow || {}} + /> + + { + setCurrentRow(undefined); + setShowDetail(false) + }} + closable={false} + > + {currentRow?.id && ( + + column={2} + title={currentRow?.id} + request={async () => ({ + data: currentRow || {}, + })} + params={{ + id: currentRow?.id, + }} + columns={columns as ProDescriptionsItemProps[]} + /> + )} + + + ); +}; + +export default TableList; diff --git a/admin-v5/src/pages/pms/product_category/service.ts b/admin-v5/src/pages/pms/product_category/service.ts new file mode 100644 index 0000000..d22583d --- /dev/null +++ b/admin-v5/src/pages/pms/product_category/service.ts @@ -0,0 +1,39 @@ +import { request } from 'umi'; +import { CategoryListParams, CategoryListItem } from './data.d'; + +export async function queryCategory(params: CategoryListParams) { + return request('/api/product/category/list', { + method: 'POST', + data: { + ...params, + }, + }); +} + +export async function removeCategory(params: { ids: number[] }) { + return request('/api/product/category/delete', { + method: 'POST', + data: { + ...params, + }, + }); +} + +export async function addCategory(params: CategoryListItem) { + return request('/api/product/category/add', { + method: 'POST', + data: { + ...params, + }, + }); +} + +export async function updateCategory(params: CategoryListItem) { + return request('/api/product/category/update', { + method: 'POST', + data: { + ...params, + }, + }); +} + diff --git a/admin-v5/src/pages/sms/coupon/components/CreateCouponForm.tsx b/admin-v5/src/pages/sms/coupon/components/CreateCouponForm.tsx new file mode 100644 index 0000000..5e4c594 --- /dev/null +++ b/admin-v5/src/pages/sms/coupon/components/CreateCouponForm.tsx @@ -0,0 +1,221 @@ +import React, {useEffect} from 'react'; +import {Col, DatePicker, Form, Input, InputNumber, Modal, Row, Select} from 'antd'; +import type {CouponListItem} from '../data.d'; + +export interface CreateFormProps { + onCancel: () => void; + onSubmit: (values: CouponListItem) => void; + createModalVisible: boolean; +} + +const FormItem = Form.Item; + +const formLayout = { + labelCol: {span: 7}, + wrapperCol: {span: 13}, +}; + +const CreateCouponForm: React.FC = (props) => { + const [form] = Form.useForm(); + const {Option} = Select; + const {TextArea} = Input; + + const { + onSubmit, + onCancel, + createModalVisible, + } = props; + + useEffect(() => { + if (form && !createModalVisible) { + form.resetFields(); + + } + }, [props.createModalVisible]); + + + const handleSubmit = () => { + if (!form) return; + form.submit(); + }; + + const handleFinish = (values: CouponListItem) => { + if (onSubmit) { + onSubmit(values); + } + }; + + const renderContent = () => { + return ( + <> + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +