@qlover/create-app 0.4.5 → 0.4.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (161) hide show
  1. package/CHANGELOG.md +80 -35
  2. package/dist/index.cjs +11 -0
  3. package/dist/index.d.ts +1 -0
  4. package/dist/index.js +10 -2418
  5. package/{templates → dist/templates}/node-lib/package.json +2 -2
  6. package/{templates → dist/templates}/react-app/README.md +6 -6
  7. package/{templates → dist/templates}/react-app/config/Identifier/Error.ts +8 -8
  8. package/dist/templates/react-app/config/Identifier/common.ts +62 -0
  9. package/dist/templates/react-app/config/Identifier/index.ts +10 -0
  10. package/dist/templates/react-app/config/Identifier/page.about.ts +181 -0
  11. package/dist/templates/react-app/config/Identifier/page.executor.ts +267 -0
  12. package/dist/templates/react-app/config/Identifier/page.home.ts +63 -0
  13. package/dist/templates/react-app/config/Identifier/page.identifiter.ts +39 -0
  14. package/dist/templates/react-app/config/Identifier/page.jsonStorage.ts +70 -0
  15. package/dist/templates/react-app/config/Identifier/page.login.ts +152 -0
  16. package/dist/templates/react-app/config/Identifier/page.register.ts +147 -0
  17. package/dist/templates/react-app/config/Identifier/page.request.ts +179 -0
  18. package/dist/templates/react-app/config/app.router.ts +163 -0
  19. package/dist/templates/react-app/config/theme.ts +11 -0
  20. package/{templates → dist/templates}/react-app/package.json +2 -2
  21. package/{templates → dist/templates}/react-app/public/locales/en/common.json +97 -116
  22. package/{templates → dist/templates}/react-app/public/locales/zh/common.json +98 -117
  23. package/{templates → dist/templates}/react-app/src/App.tsx +6 -5
  24. package/dist/templates/react-app/src/base/cases/I18nKeyErrorPlugin.ts +36 -0
  25. package/{templates → dist/templates}/react-app/src/base/cases/RouterLoader.ts +2 -1
  26. package/{templates → dist/templates}/react-app/src/base/services/I18nService.ts +4 -4
  27. package/{templates/react-app/src/base/services/ProcesserService.ts → dist/templates/react-app/src/base/services/ProcesserExecutor.ts} +15 -5
  28. package/{templates → dist/templates}/react-app/src/base/services/RouteService.ts +11 -13
  29. package/{templates → dist/templates}/react-app/src/base/services/UserService.ts +37 -21
  30. package/{templates → dist/templates}/react-app/src/base/types/Page.ts +12 -2
  31. package/{templates → dist/templates}/react-app/src/core/bootstrap.ts +1 -1
  32. package/{templates → dist/templates}/react-app/src/core/bootstraps/index.ts +3 -1
  33. package/{templates → dist/templates}/react-app/src/core/registers/RegisterCommon.ts +7 -7
  34. package/{templates → dist/templates}/react-app/src/core/registers/RegisterControllers.ts +7 -2
  35. package/{templates → dist/templates}/react-app/src/pages/404.tsx +4 -1
  36. package/{templates → dist/templates}/react-app/src/pages/500.tsx +2 -1
  37. package/{templates → dist/templates}/react-app/src/pages/auth/Layout.tsx +1 -1
  38. package/{templates/react-app/src/pages/auth/Login.tsx → dist/templates/react-app/src/pages/auth/LoginPage.tsx} +2 -2
  39. package/{templates/react-app/src/pages/auth/Register.tsx → dist/templates/react-app/src/pages/auth/RegisterPage.tsx} +3 -4
  40. package/{templates/react-app/src/pages/base/About.tsx → dist/templates/react-app/src/pages/base/AboutPage.tsx} +4 -4
  41. package/{templates/react-app/src/pages/base/ErrorIdentifier.tsx → dist/templates/react-app/src/pages/base/ErrorIdentifierPage.tsx} +3 -3
  42. package/{templates/react-app/src/pages/base/Executor.tsx → dist/templates/react-app/src/pages/base/ExecutorPage.tsx} +3 -3
  43. package/{templates/react-app/src/pages/base/Home.tsx → dist/templates/react-app/src/pages/base/HomePage.tsx} +15 -45
  44. package/{templates/react-app/src/pages/base/JSONStorage.tsx → dist/templates/react-app/src/pages/base/JSONStoragePage.tsx} +2 -2
  45. package/{templates → dist/templates}/react-app/src/pages/base/Layout.tsx +4 -4
  46. package/{templates/react-app/src/pages/base/Request.tsx → dist/templates/react-app/src/pages/base/RequestPage.tsx} +2 -2
  47. package/{templates/react-app/src/pages/base → dist/templates/react-app/src/uikit}/components/LogoutButton.tsx +1 -1
  48. package/{templates → dist/templates}/react-app/src/uikit/components/ThemeSwitcher.tsx +5 -6
  49. package/{templates → dist/templates}/react-app/src/uikit/contexts/BaseRouteContext.ts +1 -1
  50. package/{templates → dist/templates}/react-app/src/uikit/controllers/ExecutorController.ts +2 -2
  51. package/{templates → dist/templates}/react-app/src/uikit/controllers/JSONStorageController.ts +2 -2
  52. package/{templates → dist/templates}/react-app/src/uikit/controllers/RequestController.ts +1 -1
  53. package/{templates/react-app/src/uikit/hooks/useLanguageGuard.ts → dist/templates/react-app/src/uikit/hooks/useI18nGuard.ts} +1 -1
  54. package/{templates → dist/templates}/react-app/src/uikit/hooks/useStore.ts +2 -2
  55. package/dist/templates/react-app/src/uikit/hooks/userRouterService.ts +12 -0
  56. package/{templates → dist/templates}/react-app/src/uikit/providers/BaseRouteProvider.tsx +1 -0
  57. package/dist/templates/react-app/src/uikit/providers/ProcessExecutorProvider.tsx +24 -0
  58. package/dist/templates/react-app/src/uikit/providers/UserAuthProvider.tsx +16 -0
  59. package/{templates → dist/templates}/react-app/vite.config.ts +2 -1
  60. package/package.json +4 -6
  61. package/templates/react-app/config/Identifier/Auth.ts +0 -13
  62. package/templates/react-app/config/Identifier/I18n.ts +0 -1366
  63. package/templates/react-app/config/app.router.json +0 -159
  64. package/templates/react-app/config/theme.json +0 -9
  65. package/templates/react-app/src/base/port/LoginInterface.ts +0 -12
  66. package/templates/react-app/src/base/port/StoreInterface.ts +0 -58
  67. package/templates/react-app/src/uikit/providers/ProcessProvider.tsx +0 -45
  68. /package/{configs → dist/configs}/_common/.editorconfig +0 -0
  69. /package/{configs → dist/configs}/_common/.env.template +0 -0
  70. /package/{configs → dist/configs}/_common/.gitattributes +0 -0
  71. /package/{configs → dist/configs}/_common/.github/workflows/general-check.yml +0 -0
  72. /package/{configs → dist/configs}/_common/.github/workflows/release.yml +0 -0
  73. /package/{configs → dist/configs}/_common/.gitignore.template +0 -0
  74. /package/{configs → dist/configs}/_common/.husky/commit-msg +0 -0
  75. /package/{configs → dist/configs}/_common/.husky/pre-commit +0 -0
  76. /package/{configs → dist/configs}/_common/.prettierignore +0 -0
  77. /package/{configs → dist/configs}/_common/.prettierrc.js +0 -0
  78. /package/{configs → dist/configs}/_common/.vscode/extensions.json +0 -0
  79. /package/{configs → dist/configs}/_common/.vscode/react.code-snippets +0 -0
  80. /package/{configs → dist/configs}/_common/.vscode/settings.json +0 -0
  81. /package/{configs → dist/configs}/_common/commitlint.config.js +0 -0
  82. /package/{configs → dist/configs}/_common/package.json.template +0 -0
  83. /package/{configs → dist/configs}/node-lib/eslint.config.js +0 -0
  84. /package/{configs → dist/configs}/react-app/eslint.config.js +0 -0
  85. /package/{templates → dist/templates}/node-lib/__tests__/readJson.test.ts +0 -0
  86. /package/{templates → dist/templates}/node-lib/bin/test.js +0 -0
  87. /package/{templates → dist/templates}/node-lib/rollup.config.js +0 -0
  88. /package/{templates → dist/templates}/node-lib/src/index.ts +0 -0
  89. /package/{templates → dist/templates}/node-lib/src/readJson.ts +0 -0
  90. /package/{templates → dist/templates}/node-lib/tsconfig.json +0 -0
  91. /package/{templates → dist/templates}/pack-app/README.md +0 -0
  92. /package/{templates → dist/templates}/pack-app/eslint.config.js +0 -0
  93. /package/{templates → dist/templates}/pack-app/fe-config.json +0 -0
  94. /package/{templates → dist/templates}/pack-app/package.json +0 -0
  95. /package/{templates → dist/templates}/pack-app/pnpm-workspace.yaml +0 -0
  96. /package/{templates → dist/templates}/pack-app/tsconfig.json +0 -0
  97. /package/{templates → dist/templates}/pack-app/tsconfig.test.json +0 -0
  98. /package/{templates → dist/templates}/pack-app/vite.config.ts +0 -0
  99. /package/{templates → dist/templates}/react-app/.env.template +0 -0
  100. /package/{templates → dist/templates}/react-app/config/common.ts +0 -0
  101. /package/{templates → dist/templates}/react-app/config/feapi.mock.json +0 -0
  102. /package/{templates → dist/templates}/react-app/config/i18n.ts +0 -0
  103. /package/{templates → dist/templates}/react-app/index.html +0 -0
  104. /package/{templates → dist/templates}/react-app/postcss.config.js +0 -0
  105. /package/{templates → dist/templates}/react-app/public/logo.svg +0 -0
  106. /package/{templates → dist/templates}/react-app/public/router-root/logo.svg +0 -0
  107. /package/{templates → dist/templates}/react-app/src/assets/react.svg +0 -0
  108. /package/{templates → dist/templates}/react-app/src/base/apis/AiApi.ts +0 -0
  109. /package/{templates → dist/templates}/react-app/src/base/apis/feApi/FeApi.ts +0 -0
  110. /package/{templates → dist/templates}/react-app/src/base/apis/feApi/FeApiAdapter.ts +0 -0
  111. /package/{templates → dist/templates}/react-app/src/base/apis/feApi/FeApiBootstarp.ts +0 -0
  112. /package/{templates → dist/templates}/react-app/src/base/apis/feApi/FeApiType.ts +0 -0
  113. /package/{templates → dist/templates}/react-app/src/base/apis/userApi/UserApi.ts +0 -0
  114. /package/{templates → dist/templates}/react-app/src/base/apis/userApi/UserApiAdapter.ts +0 -0
  115. /package/{templates → dist/templates}/react-app/src/base/apis/userApi/UserApiBootstarp.ts +0 -0
  116. /package/{templates → dist/templates}/react-app/src/base/apis/userApi/UserApiType.ts +0 -0
  117. /package/{templates → dist/templates}/react-app/src/base/cases/AppConfig.ts +0 -0
  118. /package/{templates → dist/templates}/react-app/src/base/cases/AppError.ts +0 -0
  119. /package/{templates → dist/templates}/react-app/src/base/cases/DialogHandler.ts +0 -0
  120. /package/{templates → dist/templates}/react-app/src/base/cases/PublicAssetsPath.ts +0 -0
  121. /package/{templates → dist/templates}/react-app/src/base/cases/RequestLogger.ts +0 -0
  122. /package/{templates → dist/templates}/react-app/src/base/cases/RequestStatusCatcher.ts +0 -0
  123. /package/{templates → dist/templates}/react-app/src/base/port/ApiTransactionInterface.ts +0 -0
  124. /package/{templates → dist/templates}/react-app/src/base/port/InteractionHubInterface.ts +0 -0
  125. /package/{templates → dist/templates}/react-app/src/base/port/RequestCatcherInterface.ts +0 -0
  126. /package/{templates → dist/templates}/react-app/src/base/port/UIDependenciesInterface.ts +0 -0
  127. /package/{templates → dist/templates}/react-app/src/base/types/deprecated-antd.d.ts +0 -0
  128. /package/{templates → dist/templates}/react-app/src/base/types/global.d.ts +0 -0
  129. /package/{templates → dist/templates}/react-app/src/core/IOC.ts +0 -0
  130. /package/{templates → dist/templates}/react-app/src/core/bootstraps/BootstrapApp.ts +0 -0
  131. /package/{templates → dist/templates}/react-app/src/core/bootstraps/PrintBootstrap.ts +0 -0
  132. /package/{templates → dist/templates}/react-app/src/core/globals.ts +0 -0
  133. /package/{templates → dist/templates}/react-app/src/core/registers/RegisterApi.ts +0 -0
  134. /package/{templates → dist/templates}/react-app/src/core/registers/RegisterGlobals.ts +0 -0
  135. /package/{templates → dist/templates}/react-app/src/core/registers/index.ts +0 -0
  136. /package/{templates → dist/templates}/react-app/src/main.tsx +0 -0
  137. /package/{templates → dist/templates}/react-app/src/pages/base/RedirectPathname.tsx +0 -0
  138. /package/{templates → dist/templates}/react-app/src/styles/css/antd-themes/_default.css +0 -0
  139. /package/{templates → dist/templates}/react-app/src/styles/css/antd-themes/dark.css +0 -0
  140. /package/{templates → dist/templates}/react-app/src/styles/css/antd-themes/index.css +0 -0
  141. /package/{templates → dist/templates}/react-app/src/styles/css/antd-themes/no-context.css +0 -0
  142. /package/{templates → dist/templates}/react-app/src/styles/css/antd-themes/pink.css +0 -0
  143. /package/{templates → dist/templates}/react-app/src/styles/css/index.css +0 -0
  144. /package/{templates → dist/templates}/react-app/src/styles/css/page.css +0 -0
  145. /package/{templates → dist/templates}/react-app/src/styles/css/tailwind.css +0 -0
  146. /package/{templates → dist/templates}/react-app/src/styles/css/themes/_default.css +0 -0
  147. /package/{templates → dist/templates}/react-app/src/styles/css/themes/dark.css +0 -0
  148. /package/{templates → dist/templates}/react-app/src/styles/css/themes/index.css +0 -0
  149. /package/{templates → dist/templates}/react-app/src/styles/css/themes/pink.css +0 -0
  150. /package/{templates/react-app/src/pages/base → dist/templates/react-app/src/uikit}/components/BaseHeader.tsx +0 -0
  151. /package/{templates → dist/templates}/react-app/src/uikit/components/LanguageSwitcher.tsx +0 -0
  152. /package/{templates → dist/templates}/react-app/src/uikit/components/Loading.tsx +0 -0
  153. /package/{templates → dist/templates}/react-app/src/uikit/components/LocaleLink.tsx +0 -0
  154. /package/{templates → dist/templates}/react-app/src/uikit/components/RouterRenderComponent.tsx +0 -0
  155. /package/{templates → dist/templates}/react-app/src/uikit/hooks/useDocumentTitle.ts +0 -0
  156. /package/{templates → dist/templates}/react-app/src/uikit/hooks/useStrictEffect.ts +0 -0
  157. /package/{templates → dist/templates}/react-app/src/vite-env.d.ts +0 -0
  158. /package/{templates → dist/templates}/react-app/tailwind.config.js +0 -0
  159. /package/{templates → dist/templates}/react-app/tsconfig.app.json +0 -0
  160. /package/{templates → dist/templates}/react-app/tsconfig.json +0 -0
  161. /package/{templates → dist/templates}/react-app/tsconfig.node.json +0 -0
package/CHANGELOG.md CHANGED
@@ -1,5 +1,85 @@
1
1
  # @qlover/create-app
2
2
 
3
+ ## 0.4.6
4
+
5
+ ### Patch Changes
6
+
7
+ #### ✨ Features
8
+
9
+ - **router:** add descriptions to route metadata and update identifiers ([9fe2025](https://github.com/qlover/fe-base/commit/9fe20251d9b38f42d9fc1417587636181844ac96)) ([#455](https://github.com/qlover/fe-base/pull/455))
10
+ - Enhanced the routing configuration by adding descriptions to various route metadata, improving clarity and accessibility for developers.
11
+ - Updated internationalization identifiers for pages, including home, login, register, and error pages, to include corresponding descriptions in both English and Chinese.
12
+ - Refactored the import paths for error identifiers to streamline the codebase and improve maintainability.
13
+
14
+ These changes aim to enhance the user experience by providing more context in the routing structure and improving the overall organization of internationalization resources.
15
+
16
+ - **pages:** add new pages and update routing configuration ([6ba6e19](https://github.com/qlover/fe-base/commit/6ba6e19ec32f243d51e8b819dfc07965ceac07a0)) ([#455](https://github.com/qlover/fe-base/pull/455))
17
+ - Introduced new pages including RegisterPage, AboutPage, ErrorIdentifierPage, ExecutorPage, HomePage, JSONStoragePage, and RequestPage to enhance the application structure and user navigation.
18
+ - Updated routing configuration to reflect changes in page paths, ensuring consistency and clarity in navigation.
19
+ - Refactored existing routes to align with new page structures, improving maintainability and readability of the routing setup.
20
+
21
+ These changes aim to enrich the user experience by providing additional functionality and a more organized navigation system.
22
+
23
+ - **i18n:** introduce I18nKeyErrorPlugin and refactor user services ([0575403](https://github.com/qlover/fe-base/commit/0575403692758dac10624eb9425fad0138536513)) ([#455](https://github.com/qlover/fe-base/pull/455))
24
+ - Added I18nKeyErrorPlugin to handle error messages as internationalization keys, improving error reporting and localization.
25
+ - Refactored ProcesserService to extend StoreInterface, enhancing state management and type safety.
26
+ - Moved RegisterFormData interface to UserService for better organization and removed the obsolete LoginInterface.
27
+ - Updated RegisterPage and ProcessProvider to utilize new service methods and improve application flow.
28
+
29
+ These changes aim to enhance internationalization support and streamline service interactions within the application.
30
+
31
+ - **router:** refactor routing configuration and introduce ProcesserExecutor ([6a5a7a5](https://github.com/qlover/fe-base/commit/6a5a7a5a3ccbbd3c68da558f95c06c12e8a3c2f0)) ([#455](https://github.com/qlover/fe-base/pull/455))
32
+ - Simplified the routing configuration by removing unnecessary metadata from base routes, enhancing clarity.
33
+ - Introduced the ProcesserExecutor class to manage asynchronous execution processes, improving the handling of page processing.
34
+ - Updated RouteService to extend StoreInterface, enhancing state management and type safety.
35
+ - Refactored user services to utilize the new ProcessExecutorProvider, streamlining the authentication flow and loading states.
36
+ - Removed the obsolete ProcessProvider, consolidating the process management into the new structure.
37
+
38
+ These changes aim to improve the routing architecture and enhance the overall application flow.
39
+
40
+ - **create-app:** update dependencies and introduce project configuration ([8431f66](https://github.com/qlover/fe-base/commit/8431f6682a40660d7996ca918bc318ecf0d09aa4)) ([#451](https://github.com/qlover/fe-base/pull/451))
41
+ - Added `commander` and updated `ignore` in `devDependencies` for enhanced functionality.
42
+ - Removed `ora` from `devDependencies` and `dependencies` for better clarity.
43
+ - Introduced a new `project.json` file to define build targets and streamline the build process using NX.
44
+ - Updated `tsup.config.ts` to enable minification, improving the build output.
45
+
46
+ These changes enhance the configuration and build orchestration for the create-app package.
47
+
48
+ - **create-app:** enhance asset management and update build configuration ([8578e7f](https://github.com/qlover/fe-base/commit/8578e7f5b1fa82fd08f5a472b0a401ef3972f63f)) ([#451](https://github.com/qlover/fe-base/pull/451))
49
+ - Added support for ignoring specific patterns during asset copying in the `copyAssets` utility.
50
+ - Updated `tsup.config.ts` to copy configuration and template files to the `dist` directory after the build process.
51
+ - Removed obsolete references to `configs` and `templates` in `package.json` for clarity.
52
+ - Adjusted the CLI to resolve paths for templates and configs using `resolve` for better compatibility.
53
+
54
+ These changes improve the asset management capabilities and streamline the build process for the create-app package.
55
+
56
+ #### ♻️ Refactors
57
+
58
+ - restructure internationalization and routing configuration ([006affa](https://github.com/qlover/fe-base/commit/006affa0e78b4ae9dd42dd4c79d29301212ffb9a)) ([#455](https://github.com/qlover/fe-base/pull/455))
59
+ - Updated the internationalization identifiers by consolidating them into a single index file for easier management and access.
60
+ - Renamed and reorganized error and common identifiers for clarity and consistency.
61
+ - Replaced the JSON router configuration with a TypeScript-based router for improved type safety and maintainability.
62
+ - Removed outdated theme configuration files and migrated to a TypeScript-based theme configuration.
63
+ - Enhanced the README documentation to reflect the changes in the project structure and configuration.
64
+
65
+ These changes aim to streamline the internationalization process and improve the overall architecture of the routing and theming systems.
66
+
67
+ - **theme:** update ThemeService to extend StoreInterface and enhance type definitions ([7e647f6](https://github.com/qlover/fe-base/commit/7e647f6e5979aa6e37e239fcd9039fb3bd52ee2b)) ([#455](https://github.com/qlover/fe-base/pull/455))
68
+ - Refactored ThemeService to extend StoreInterface instead of SliceStore, improving consistency across the codebase.
69
+ - Updated ThemeServiceState to implement StoreStateInterface, enhancing type safety and maintainability.
70
+ - Removed the obsolete StoreInterface file to streamline the project structure.
71
+ - Adjusted import paths in various components and services to reflect the new StoreInterface location, ensuring proper integration.
72
+
73
+ These changes aim to improve the overall architecture and type management within the theme service implementation.
74
+
75
+ - **user-service:** simplify state management and introduce language guard ([e7a433f](https://github.com/qlover/fe-base/commit/e7a433f1887c22c1fca77182e73aeba49b7afc8c)) ([#455](https://github.com/qlover/fe-base/pull/455))
76
+ - Removed the setState method from UserService, directly emitting state changes instead.
77
+ - Added useI18nGuard hook to handle language validation and redirection to a 404 page if the language is invalid.
78
+ - Introduced useRouterService hook to manage routing dependencies.
79
+ - Deleted the obsolete I18nGuideProvider, consolidating language guard functionality.
80
+
81
+ These changes aim to streamline user service state management and enhance internationalization handling within the application.
82
+
3
83
  ## 0.4.5
4
84
 
5
85
  ### Patch Changes
@@ -7,7 +87,6 @@
7
87
  #### ✨ Features
8
88
 
9
89
  - **create-app:** implement logout functionality and enhance localization ([c49f956](https://github.com/qlover/fe-base/commit/c49f956aecbc11a6b96b28309d112f7219a7dcca)) ([#438](https://github.com/qlover/fe-base/pull/438))
10
-
11
90
  - Added a new LogoutButton component to handle user logout with a confirmation dialog.
12
91
  - Introduced localization keys for logout dialog titles and content in both English and Chinese.
13
92
  - Updated BaseHeader to conditionally display the logout button based on the layout context.
@@ -23,7 +102,6 @@
23
102
  #### ✨ Features
24
103
 
25
104
  - **create-app:** add error identifiers and localization support for new components ([0ec3780](https://github.com/qlover/fe-base/commit/0ec3780a7972acd855e1b4d2ae866575534dc094)) ([#434](https://github.com/qlover/fe-base/pull/434))
26
-
27
105
  - Introduced new error identifiers in Error.ts for handling various application states, including IOC not implemented and token absence.
28
106
  - Added extensive localization keys in I18n.ts for various pages and components, enhancing user experience across different languages.
29
107
  - Improved error handling and messaging consistency throughout the application.
@@ -31,7 +109,6 @@
31
109
  This update enhances the application's localization capabilities and error management, providing clearer feedback to users.
32
110
 
33
111
  - **create-app:** enhance TypeScript configuration and linting ([f049395](https://github.com/qlover/fe-base/commit/f049395c90ee2c13a33d7358098a87251ef40913)) ([#434](https://github.com/qlover/fe-base/pull/434))
34
-
35
112
  - Updated the TypeScript configuration by introducing a new `tsconfig.app.json` for better modularity and organization.
36
113
  - Modified `tsconfig.json` to reference the new app configuration and streamline project structure.
37
114
  - Enhanced `tsconfig.node.json` with improved compiler options for better compatibility and performance.
@@ -43,7 +120,6 @@
43
120
  #### ♻️ Refactors
44
121
 
45
122
  - **create-app:** remove unused error identifiers and localization keys ([3b19f19](https://github.com/qlover/fe-base/commit/3b19f193b839c1e97fa727c1847a4bbd5ff84211)) ([#434](https://github.com/qlover/fe-base/pull/434))
46
-
47
123
  - Deleted Error.ts and I18n.ts files as they contained unused error identifiers and localization keys.
48
124
  - This cleanup improves the overall codebase by removing unnecessary files, enhancing maintainability and reducing clutter.
49
125
 
@@ -56,7 +132,6 @@
56
132
  #### ✨ Features
57
133
 
58
134
  - **create-app:** enhance environment configuration and localization support ([76e5e22](https://github.com/qlover/fe-base/commit/76e5e22e41fe23ce109c303ca3974103f8a85cf6)) ([#432](https://github.com/qlover/fe-base/pull/432))
59
-
60
135
  - Updated .gitignore to include .env files and added .env.template to the repository.
61
136
  - Introduced a new .env.template file for environment variable configuration in the react-app template.
62
137
  - Enhanced package.json scripts for development modes: added staging and production modes.
@@ -73,7 +148,6 @@
73
148
  #### ✨ Features
74
149
 
75
150
  - **create-app:** enhance routing and configuration with router prefix and new services ([b32795d](https://github.com/qlover/fe-base/commit/b32795d02af4234d4708a5bdcb111bf8d2a54bd6)) ([#430](https://github.com/qlover/fe-base/pull/430))
76
-
77
151
  - Introduced a router prefix in the configuration to manage asset paths and API routes more effectively.
78
152
  - Updated the application to utilize the new RouteService for routing logic, replacing the previous RouterController.
79
153
  - Refactored user authentication handling to use UserService, improving modularity and maintainability.
@@ -84,7 +158,6 @@
84
158
  This update enhances the overall structure and flexibility of the application, paving the way for future improvements.
85
159
 
86
160
  - **create-app:** enhance login and registration features with improved localization and form handling ([a3724e5](https://github.com/qlover/fe-base/commit/a3724e5e75c8708dd00684ece563d9e1c63c0d00)) ([#430](https://github.com/qlover/fe-base/pull/430))
87
-
88
161
  - Updated routing configuration to include localized titles for various pages, enhancing user experience.
89
162
  - Added new keys for login and registration in localization files for both English and Chinese.
90
163
  - Implemented a registration form with validation and user feedback, integrating with the UserService for account creation.
@@ -94,7 +167,6 @@
94
167
  This update significantly improves the user interface and experience for authentication processes within the application.
95
168
 
96
169
  - **create-app:** refactor internationalization and store management ([c86ed98](https://github.com/qlover/fe-base/commit/c86ed9818d844d4059878c11897051a6c504a333)) ([#430](https://github.com/qlover/fe-base/pull/430))
97
-
98
170
  - Updated file structure for internationalization resources, moving identifiers to a new directory for better organization.
99
171
  - Introduced new error and i18n identifier files to enhance localization support.
100
172
  - Refactored store management by implementing a new StoreInterface, improving state management across services.
@@ -126,7 +198,6 @@
126
198
  #### 🐞 Bug Fixes
127
199
 
128
200
  - **create-app:** update dependencies and tsup configuration for @qlover/create-app ([4a5fa84](https://github.com/qlover/fe-base/commit/4a5fa846ae6c3df97c73df5e594c3adb4fb7cda9)) ([#424](https://github.com/qlover/fe-base/pull/424))
129
-
130
201
  - Reorganized package.json to move "commander" and "ora" to dependencies from devDependencies, ensuring they are included in the production build.
131
202
  - Updated tsup.config.ts to enhance build configuration by defining external modules and adjusting minification and splitting settings for improved performance.
132
203
 
@@ -137,14 +208,12 @@
137
208
  #### ✨ Features
138
209
 
139
210
  - add tabify method to format commit body in GitChangelog ([5670b78](https://github.com/qlover/fe-base/commit/5670b78b1cb06a730d2cbd7ac1f5bd7e9e7df490)) ([#422](https://github.com/qlover/fe-base/pull/422))
140
-
141
211
  - Introduced a new `tabify` method to format the body of commit messages by adding indentation.
142
212
  - Updated `parseCommitlint` to utilize the `tabify` method for improved body formatting.
143
213
 
144
214
  #### 🐞 Bug Fixes
145
215
 
146
216
  - update @qlover/create-app to use ES module format ([5e9dffb](https://github.com/qlover/fe-base/commit/5e9dffb4d9e54dc2457588a81b11159820196067)) ([#422](https://github.com/qlover/fe-base/pull/422))
147
-
148
217
  - Changed the entry point in package.json from "dist/index.cjs" to "dist/index.js" to align with ES module standards.
149
218
  - Updated tsup.config.ts to output in ES module format instead of CommonJS.
150
219
  - Refactored index.ts to use fileURLToPath for resolving the root path, enhancing compatibility with ES modules.
@@ -204,18 +273,14 @@
204
273
  Co-authored-by: QRJ <renjie.qin@brain.im>
205
274
 
206
275
  - integrate @brain-toolkit/antd-theme-override for improved Ant D… ([4ebb081](https://github.com/qlover/fe-base/commit/4ebb081d89397424c459dd7f885817152098e322)) ([#414](https://github.com/qlover/fe-base/pull/414))
207
-
208
276
  - feat: integrate @brain-toolkit/antd-theme-override for improved Ant Design support
209
-
210
277
  * Added @brain-toolkit/antd-theme-override as a dependency to enhance theming capabilities.
211
278
  * Updated imports to utilize the new theming library, replacing the deprecated antd-overried references.
212
279
  * Removed outdated files related to the previous Ant Design integration to streamline the codebase.
213
280
  * Refactored components to leverage the new theme provider and static API interface for notifications and modals.
214
281
 
215
282
  Co-authored-by: QRJ <renjie.qin@brain.im>
216
-
217
283
  - feat(I18nService): add translation method for improved localization support
218
-
219
284
  * Implemented a new `t` method in the I18nService class to facilitate key-based translations.
220
285
  * The method accepts a translation key and optional parameters, returning the translated value or the key if no translation is found.
221
286
  * Enhanced localization handling to improve user experience across the application.
@@ -231,14 +296,12 @@
231
296
  #### ✨ Features
232
297
 
233
298
  - **LanguageSwitcher:** add language switcher component to enhance localization ([72edba8](https://github.com/qlover/fe-base/commit/72edba8a71dabba00608fceafc355cf4bc2dfd63)) ([#411](https://github.com/qlover/fe-base/pull/411))
234
-
235
299
  - Introduced a new LanguageSwitcher component that allows users to change the application language.
236
300
  - Integrated the component into BaseHeader for improved accessibility.
237
301
  - Utilized Ant Design's Select component for a user-friendly interface.
238
302
  - Implemented language change functionality that updates the URL and i18n configuration accordingly.
239
303
 
240
304
  - **Login:** integrate Ant Design components for enhanced user experience ([d380157](https://github.com/qlover/fe-base/commit/d380157d3360ad5b9e96d0e3edeb2639a3a6ba9f)) ([#408](https://github.com/qlover/fe-base/pull/408))
241
-
242
305
  - Added Ant Design library to the project dependencies.
243
306
  - Refactored the Login component to utilize Ant Design's Form, Input, and Button components, improving the UI and UX.
244
307
  - Implemented a structured login form with validation and Google sign-in option.
@@ -273,7 +336,6 @@
273
336
  #### ♻️ Refactors
274
337
 
275
338
  - **Bootstrap:** update dependencies and refactor core components ([9aeff78](https://github.com/qlover/fe-base/commit/9aeff78209925a9e3e6e4cdf1e5a7cbbcecb07f8)) ([#411](https://github.com/qlover/fe-base/pull/411))
276
-
277
339
  - Upgraded @qlover/corekit-bridge to version ^1.0.3 in package.json.
278
340
  - Refactored startup function to use 'root' instead of 'window' for better compatibility.
279
341
  - Removed InversifyIocInterface.ts as it was no longer needed.
@@ -283,7 +345,6 @@
283
345
  - Added printBootstrap for logging successful bootstrap initialization.
284
346
 
285
347
  - **Home, JSONStorage, Layout, BaseHeader:** enhance UI with Ant Design components and improve theming ([8023e01](https://github.com/qlover/fe-base/commit/8023e0179729859a1406f5dabf013f529c1a2b58)) ([#408](https://github.com/qlover/fe-base/pull/408))
286
-
287
348
  - Replaced button elements with Ant Design's Button component for a consistent UI experience.
288
349
  - Updated layout and background colors to utilize CSS variables for better theming.
289
350
  - Refactored navigation items in Home component for improved structure and readability.
@@ -307,7 +368,6 @@
307
368
  - Enhanced the Home and About components with improved localization support.
308
369
 
309
370
  - **Loading:** update loading component with animated bouncing dots ([83ede4b](https://github.com/qlover/fe-base/commit/83ede4b644a01843dd64e2d3e5254730f115d1ec)) ([#408](https://github.com/qlover/fe-base/pull/408))
310
-
311
371
  - Replaced the SVG spinner with a new loading animation using bouncing dots for improved visual appeal.
312
372
  - Utilized the clsx library for conditional class management, enhancing readability and maintainability.
313
373
  - Adjusted styles to support dark mode and added backdrop blur for fullscreen loading state.
@@ -329,7 +389,6 @@
329
389
  #### ✨ Features
330
390
 
331
391
  - integrate @qlover/logger into corekit-bridge (#373)
332
-
333
392
  - Added @qlover/logger as a dependency across multiple files, replacing the previous logger from @qlover/fe-corekit.
334
393
  - Updated type references to LoggerInterface in Bootstrap, ApiCatchPlugin, and ApiMockPlugin.
335
394
  - Introduced ColorFormatter for enhanced logging capabilities, with tests added for ColorFormatter and ColorLogger.
@@ -339,7 +398,6 @@
339
398
  #### 🐞 Bug Fixes
340
399
 
341
400
  - update ColorFormatter tests to utilize LogContext (#373)
342
-
343
401
  - Modified ColorFormatter tests to use the new LogContext class for improved context handling.
344
402
  - Adjusted the test setup to ensure proper formatting of color segments with the updated LogContext structure.
345
403
  - Exported LogContext from the logger package for broader accessibility.
@@ -347,14 +405,12 @@
347
405
  #### ♻️ Refactors
348
406
 
349
407
  - enhance context handling and update ColorFormatter tests (#373)
350
-
351
408
  - Refactored logger context handling to utilize a new LogContext class for better type safety and clarity.
352
409
  - Updated ColorFormatter tests to use logger.context for passing context objects.
353
410
  - Adjusted ColorFormatter methods to improve handling of color segments and context.
354
411
  - Improved documentation for context usage in logger methods.
355
412
 
356
413
  - replace ConsoleAppender with ConsoleHandler (#373)
357
-
358
414
  - Updated tests and implementation to utilize ConsoleHandler instead of ConsoleAppender for improved logging functionality.
359
415
  - Introduced ConsoleHandler class to manage log events and formatting.
360
416
  - Adjusted Logger integration to reflect the new handler structure across various test files and implementations.
@@ -370,13 +426,11 @@
370
426
  #### ✨ Features
371
427
 
372
428
  - Update ReleaseParams to include batchTagName and modify batchBranchName format (#362)
373
-
374
429
  - Added `batchTagName` for batch release tagging with a new default format.
375
430
  - Updated `batchBranchName` format to improve clarity and consistency.
376
431
  - Enhanced the logic for generating release tags in the ReleaseParams class.
377
432
 
378
433
  - Introduce viteMockPackage plugin and add mock implementations for env-loader and fe-corekit (#362)
379
-
380
434
  - Added a new viteMockPackage plugin to facilitate mocking of specified packages in Vite tests.
381
435
  - Implemented mock classes for Env in @qlover/env-loader and Logger in @qlover/fe-corekit.
382
436
  - Updated vite.config.ts to include alias mappings for the mocked packages.
@@ -385,17 +439,14 @@
385
439
  #### ♻️ Refactors
386
440
 
387
441
  - Simplify getDependencyReleaseLine function to return an empty string (#362)
388
-
389
442
  - Removed unnecessary parameters and streamlined the function for better clarity and performance.
390
443
 
391
444
  - Update GitChangelogOptions interface and improve comments (#362)
392
-
393
445
  - Translated comments from Chinese to English for better clarity.
394
446
  - Enhanced the GitChangelogOptions interface by adding a new `formatter` property and updating existing descriptions for consistency.
395
447
  - Cleaned up comments in the GitChangelog class for improved readability.
396
448
 
397
449
  - Enhance viteMockPackage to support dynamic alias mapping (#362)
398
-
399
450
  - Introduced `parsePackagesMap` function to dynamically generate alias mappings for specified packages in vite.config.ts.
400
451
  - Updated vite.config.ts to utilize the new function, improving maintainability and flexibility of package mocking.
401
452
  - Removed hardcoded alias mappings for a more scalable approach to package management.
@@ -409,13 +460,11 @@
409
460
  #### ✨ Features
410
461
 
411
462
  - Update ReleaseParams to include batchTagName and modify batchBranchName format (#362)
412
-
413
463
  - Added `batchTagName` for batch release tagging with a new default format.
414
464
  - Updated `batchBranchName` format to improve clarity and consistency.
415
465
  - Enhanced the logic for generating release tags in the ReleaseParams class.
416
466
 
417
467
  - Introduce viteMockPackage plugin and add mock implementations for env-loader and fe-corekit (#362)
418
-
419
468
  - Added a new viteMockPackage plugin to facilitate mocking of specified packages in Vite tests.
420
469
  - Implemented mock classes for Env in @qlover/env-loader and Logger in @qlover/fe-corekit.
421
470
  - Updated vite.config.ts to include alias mappings for the mocked packages.
@@ -424,17 +473,14 @@
424
473
  #### ♻️ Refactors
425
474
 
426
475
  - Simplify getDependencyReleaseLine function to return an empty string (#362)
427
-
428
476
  - Removed unnecessary parameters and streamlined the function for better clarity and performance.
429
477
 
430
478
  - Update GitChangelogOptions interface and improve comments (#362)
431
-
432
479
  - Translated comments from Chinese to English for better clarity.
433
480
  - Enhanced the GitChangelogOptions interface by adding a new `formatter` property and updating existing descriptions for consistency.
434
481
  - Cleaned up comments in the GitChangelog class for improved readability.
435
482
 
436
483
  - Enhance viteMockPackage to support dynamic alias mapping (#362)
437
-
438
484
  - Introduced `parsePackagesMap` function to dynamically generate alias mappings for specified packages in vite.config.ts.
439
485
  - Updated vite.config.ts to utilize the new function, improving maintainability and flexibility of package mocking.
440
486
  - Removed hardcoded alias mappings for a more scalable approach to package management.
@@ -463,7 +509,6 @@
463
509
  #### ✨ Features
464
510
 
465
511
  - implement GitChangelog for improved changelog generation (#351)
466
-
467
512
  - Introduced a new GitChangelog class to facilitate the generation of changelogs based on Git commit history.
468
513
  - Added interfaces for PRCommit, CommitInfo, and FlatCommit to structure commit data.
469
514
  - Updated Changelog plugin to utilize GitChangelog for fetching and formatting PR commits, replacing the previous conventional-changelog implementation.
package/dist/index.cjs ADDED
@@ -0,0 +1,11 @@
1
+ #!/usr/bin/env node
2
+ "use strict";var VD=Object.create;var Tt=Object.defineProperty;var zD=Object.getOwnPropertyDescriptor;var KD=Object.getOwnPropertyNames;var XD=Object.getPrototypeOf,JD=Object.prototype.hasOwnProperty;var n=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var ZD=(e,t,r,u)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of KD(t))!JD.call(e,i)&&i!==r&&Tt(e,i,{get:()=>t[i],enumerable:!(u=zD(t,i))||u.enumerable});return e};var h=(e,t,r)=>(r=e!=null?VD(XD(e)):{},ZD(t||!e||!e.__esModule?Tt(r,"default",{value:e,enumerable:!0}):r,e));var Vt=n((Cc,vn)=>{vn.exports={dots:{interval:80,frames:["\u280B","\u2819","\u2839","\u2838","\u283C","\u2834","\u2826","\u2827","\u2807","\u280F"]},dots2:{interval:80,frames:["\u28FE","\u28FD","\u28FB","\u28BF","\u287F","\u28DF","\u28EF","\u28F7"]},dots3:{interval:80,frames:["\u280B","\u2819","\u281A","\u281E","\u2816","\u2826","\u2834","\u2832","\u2833","\u2813"]},dots4:{interval:80,frames:["\u2804","\u2806","\u2807","\u280B","\u2819","\u2838","\u2830","\u2820","\u2830","\u2838","\u2819","\u280B","\u2807","\u2806"]},dots5:{interval:80,frames:["\u280B","\u2819","\u281A","\u2812","\u2802","\u2802","\u2812","\u2832","\u2834","\u2826","\u2816","\u2812","\u2810","\u2810","\u2812","\u2813","\u280B"]},dots6:{interval:80,frames:["\u2801","\u2809","\u2819","\u281A","\u2812","\u2802","\u2802","\u2812","\u2832","\u2834","\u2824","\u2804","\u2804","\u2824","\u2834","\u2832","\u2812","\u2802","\u2802","\u2812","\u281A","\u2819","\u2809","\u2801"]},dots7:{interval:80,frames:["\u2808","\u2809","\u280B","\u2813","\u2812","\u2810","\u2810","\u2812","\u2816","\u2826","\u2824","\u2820","\u2820","\u2824","\u2826","\u2816","\u2812","\u2810","\u2810","\u2812","\u2813","\u280B","\u2809","\u2808"]},dots8:{interval:80,frames:["\u2801","\u2801","\u2809","\u2819","\u281A","\u2812","\u2802","\u2802","\u2812","\u2832","\u2834","\u2824","\u2804","\u2804","\u2824","\u2820","\u2820","\u2824","\u2826","\u2816","\u2812","\u2810","\u2810","\u2812","\u2813","\u280B","\u2809","\u2808","\u2808"]},dots9:{interval:80,frames:["\u28B9","\u28BA","\u28BC","\u28F8","\u28C7","\u2867","\u2857","\u284F"]},dots10:{interval:80,frames:["\u2884","\u2882","\u2881","\u2841","\u2848","\u2850","\u2860"]},dots11:{interval:100,frames:["\u2801","\u2802","\u2804","\u2840","\u2880","\u2820","\u2810","\u2808"]},dots12:{interval:80,frames:["\u2880\u2800","\u2840\u2800","\u2804\u2800","\u2882\u2800","\u2842\u2800","\u2805\u2800","\u2883\u2800","\u2843\u2800","\u280D\u2800","\u288B\u2800","\u284B\u2800","\u280D\u2801","\u288B\u2801","\u284B\u2801","\u280D\u2809","\u280B\u2809","\u280B\u2809","\u2809\u2819","\u2809\u2819","\u2809\u2829","\u2808\u2899","\u2808\u2859","\u2888\u2829","\u2840\u2899","\u2804\u2859","\u2882\u2829","\u2842\u2898","\u2805\u2858","\u2883\u2828","\u2843\u2890","\u280D\u2850","\u288B\u2820","\u284B\u2880","\u280D\u2841","\u288B\u2801","\u284B\u2801","\u280D\u2809","\u280B\u2809","\u280B\u2809","\u2809\u2819","\u2809\u2819","\u2809\u2829","\u2808\u2899","\u2808\u2859","\u2808\u2829","\u2800\u2899","\u2800\u2859","\u2800\u2829","\u2800\u2898","\u2800\u2858","\u2800\u2828","\u2800\u2890","\u2800\u2850","\u2800\u2820","\u2800\u2880","\u2800\u2840"]},dots13:{interval:80,frames:["\u28FC","\u28F9","\u28BB","\u283F","\u285F","\u28CF","\u28E7","\u28F6"]},dots8Bit:{interval:80,frames:["\u2800","\u2801","\u2802","\u2803","\u2804","\u2805","\u2806","\u2807","\u2840","\u2841","\u2842","\u2843","\u2844","\u2845","\u2846","\u2847","\u2808","\u2809","\u280A","\u280B","\u280C","\u280D","\u280E","\u280F","\u2848","\u2849","\u284A","\u284B","\u284C","\u284D","\u284E","\u284F","\u2810","\u2811","\u2812","\u2813","\u2814","\u2815","\u2816","\u2817","\u2850","\u2851","\u2852","\u2853","\u2854","\u2855","\u2856","\u2857","\u2818","\u2819","\u281A","\u281B","\u281C","\u281D","\u281E","\u281F","\u2858","\u2859","\u285A","\u285B","\u285C","\u285D","\u285E","\u285F","\u2820","\u2821","\u2822","\u2823","\u2824","\u2825","\u2826","\u2827","\u2860","\u2861","\u2862","\u2863","\u2864","\u2865","\u2866","\u2867","\u2828","\u2829","\u282A","\u282B","\u282C","\u282D","\u282E","\u282F","\u2868","\u2869","\u286A","\u286B","\u286C","\u286D","\u286E","\u286F","\u2830","\u2831","\u2832","\u2833","\u2834","\u2835","\u2836","\u2837","\u2870","\u2871","\u2872","\u2873","\u2874","\u2875","\u2876","\u2877","\u2838","\u2839","\u283A","\u283B","\u283C","\u283D","\u283E","\u283F","\u2878","\u2879","\u287A","\u287B","\u287C","\u287D","\u287E","\u287F","\u2880","\u2881","\u2882","\u2883","\u2884","\u2885","\u2886","\u2887","\u28C0","\u28C1","\u28C2","\u28C3","\u28C4","\u28C5","\u28C6","\u28C7","\u2888","\u2889","\u288A","\u288B","\u288C","\u288D","\u288E","\u288F","\u28C8","\u28C9","\u28CA","\u28CB","\u28CC","\u28CD","\u28CE","\u28CF","\u2890","\u2891","\u2892","\u2893","\u2894","\u2895","\u2896","\u2897","\u28D0","\u28D1","\u28D2","\u28D3","\u28D4","\u28D5","\u28D6","\u28D7","\u2898","\u2899","\u289A","\u289B","\u289C","\u289D","\u289E","\u289F","\u28D8","\u28D9","\u28DA","\u28DB","\u28DC","\u28DD","\u28DE","\u28DF","\u28A0","\u28A1","\u28A2","\u28A3","\u28A4","\u28A5","\u28A6","\u28A7","\u28E0","\u28E1","\u28E2","\u28E3","\u28E4","\u28E5","\u28E6","\u28E7","\u28A8","\u28A9","\u28AA","\u28AB","\u28AC","\u28AD","\u28AE","\u28AF","\u28E8","\u28E9","\u28EA","\u28EB","\u28EC","\u28ED","\u28EE","\u28EF","\u28B0","\u28B1","\u28B2","\u28B3","\u28B4","\u28B5","\u28B6","\u28B7","\u28F0","\u28F1","\u28F2","\u28F3","\u28F4","\u28F5","\u28F6","\u28F7","\u28B8","\u28B9","\u28BA","\u28BB","\u28BC","\u28BD","\u28BE","\u28BF","\u28F8","\u28F9","\u28FA","\u28FB","\u28FC","\u28FD","\u28FE","\u28FF"]},sand:{interval:80,frames:["\u2801","\u2802","\u2804","\u2840","\u2848","\u2850","\u2860","\u28C0","\u28C1","\u28C2","\u28C4","\u28CC","\u28D4","\u28E4","\u28E5","\u28E6","\u28EE","\u28F6","\u28F7","\u28FF","\u287F","\u283F","\u289F","\u281F","\u285B","\u281B","\u282B","\u288B","\u280B","\u280D","\u2849","\u2809","\u2811","\u2821","\u2881"]},line:{interval:130,frames:["-","\\","|","/"]},line2:{interval:100,frames:["\u2802","-","\u2013","\u2014","\u2013","-"]},pipe:{interval:100,frames:["\u2524","\u2518","\u2534","\u2514","\u251C","\u250C","\u252C","\u2510"]},simpleDots:{interval:400,frames:[". ",".. ","..."," "]},simpleDotsScrolling:{interval:200,frames:[". ",".. ","..."," .."," ."," "]},star:{interval:70,frames:["\u2736","\u2738","\u2739","\u273A","\u2739","\u2737"]},star2:{interval:80,frames:["+","x","*"]},flip:{interval:70,frames:["_","_","_","-","`","`","'","\xB4","-","_","_","_"]},hamburger:{interval:100,frames:["\u2631","\u2632","\u2634"]},growVertical:{interval:120,frames:["\u2581","\u2583","\u2584","\u2585","\u2586","\u2587","\u2586","\u2585","\u2584","\u2583"]},growHorizontal:{interval:120,frames:["\u258F","\u258E","\u258D","\u258C","\u258B","\u258A","\u2589","\u258A","\u258B","\u258C","\u258D","\u258E"]},balloon:{interval:140,frames:[" ",".","o","O","@","*"," "]},balloon2:{interval:120,frames:[".","o","O","\xB0","O","o","."]},noise:{interval:100,frames:["\u2593","\u2592","\u2591"]},bounce:{interval:120,frames:["\u2801","\u2802","\u2804","\u2802"]},boxBounce:{interval:120,frames:["\u2596","\u2598","\u259D","\u2597"]},boxBounce2:{interval:100,frames:["\u258C","\u2580","\u2590","\u2584"]},triangle:{interval:50,frames:["\u25E2","\u25E3","\u25E4","\u25E5"]},binary:{interval:80,frames:["010010","001100","100101","111010","111101","010111","101011","111000","110011","110101"]},arc:{interval:100,frames:["\u25DC","\u25E0","\u25DD","\u25DE","\u25E1","\u25DF"]},circle:{interval:120,frames:["\u25E1","\u2299","\u25E0"]},squareCorners:{interval:180,frames:["\u25F0","\u25F3","\u25F2","\u25F1"]},circleQuarters:{interval:120,frames:["\u25F4","\u25F7","\u25F6","\u25F5"]},circleHalves:{interval:50,frames:["\u25D0","\u25D3","\u25D1","\u25D2"]},squish:{interval:100,frames:["\u256B","\u256A"]},toggle:{interval:250,frames:["\u22B6","\u22B7"]},toggle2:{interval:80,frames:["\u25AB","\u25AA"]},toggle3:{interval:120,frames:["\u25A1","\u25A0"]},toggle4:{interval:100,frames:["\u25A0","\u25A1","\u25AA","\u25AB"]},toggle5:{interval:100,frames:["\u25AE","\u25AF"]},toggle6:{interval:300,frames:["\u101D","\u1040"]},toggle7:{interval:80,frames:["\u29BE","\u29BF"]},toggle8:{interval:100,frames:["\u25CD","\u25CC"]},toggle9:{interval:100,frames:["\u25C9","\u25CE"]},toggle10:{interval:100,frames:["\u3282","\u3280","\u3281"]},toggle11:{interval:50,frames:["\u29C7","\u29C6"]},toggle12:{interval:120,frames:["\u2617","\u2616"]},toggle13:{interval:80,frames:["=","*","-"]},arrow:{interval:100,frames:["\u2190","\u2196","\u2191","\u2197","\u2192","\u2198","\u2193","\u2199"]},arrow2:{interval:80,frames:["\u2B06\uFE0F ","\u2197\uFE0F ","\u27A1\uFE0F ","\u2198\uFE0F ","\u2B07\uFE0F ","\u2199\uFE0F ","\u2B05\uFE0F ","\u2196\uFE0F "]},arrow3:{interval:120,frames:["\u25B9\u25B9\u25B9\u25B9\u25B9","\u25B8\u25B9\u25B9\u25B9\u25B9","\u25B9\u25B8\u25B9\u25B9\u25B9","\u25B9\u25B9\u25B8\u25B9\u25B9","\u25B9\u25B9\u25B9\u25B8\u25B9","\u25B9\u25B9\u25B9\u25B9\u25B8"]},bouncingBar:{interval:80,frames:["[ ]","[= ]","[== ]","[=== ]","[====]","[ ===]","[ ==]","[ =]","[ ]","[ =]","[ ==]","[ ===]","[====]","[=== ]","[== ]","[= ]"]},bouncingBall:{interval:80,frames:["( \u25CF )","( \u25CF )","( \u25CF )","( \u25CF )","( \u25CF)","( \u25CF )","( \u25CF )","( \u25CF )","( \u25CF )","(\u25CF )"]},smiley:{interval:200,frames:["\u{1F604} ","\u{1F61D} "]},monkey:{interval:300,frames:["\u{1F648} ","\u{1F648} ","\u{1F649} ","\u{1F64A} "]},hearts:{interval:100,frames:["\u{1F49B} ","\u{1F499} ","\u{1F49C} ","\u{1F49A} ","\u2764\uFE0F "]},clock:{interval:100,frames:["\u{1F55B} ","\u{1F550} ","\u{1F551} ","\u{1F552} ","\u{1F553} ","\u{1F554} ","\u{1F555} ","\u{1F556} ","\u{1F557} ","\u{1F558} ","\u{1F559} ","\u{1F55A} "]},earth:{interval:180,frames:["\u{1F30D} ","\u{1F30E} ","\u{1F30F} "]},material:{interval:17,frames:["\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581","\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581","\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581","\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581","\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581","\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581","\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581","\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581","\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581","\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581","\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581","\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588","\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588","\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588","\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588","\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588","\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588","\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588","\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588","\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581","\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581","\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581","\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581","\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581","\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581"]},moon:{interval:80,frames:["\u{1F311} ","\u{1F312} ","\u{1F313} ","\u{1F314} ","\u{1F315} ","\u{1F316} ","\u{1F317} ","\u{1F318} "]},runner:{interval:140,frames:["\u{1F6B6} ","\u{1F3C3} "]},pong:{interval:80,frames:["\u2590\u2802 \u258C","\u2590\u2808 \u258C","\u2590 \u2802 \u258C","\u2590 \u2820 \u258C","\u2590 \u2840 \u258C","\u2590 \u2820 \u258C","\u2590 \u2802 \u258C","\u2590 \u2808 \u258C","\u2590 \u2802 \u258C","\u2590 \u2820 \u258C","\u2590 \u2840 \u258C","\u2590 \u2820 \u258C","\u2590 \u2802 \u258C","\u2590 \u2808 \u258C","\u2590 \u2802\u258C","\u2590 \u2820\u258C","\u2590 \u2840\u258C","\u2590 \u2820 \u258C","\u2590 \u2802 \u258C","\u2590 \u2808 \u258C","\u2590 \u2802 \u258C","\u2590 \u2820 \u258C","\u2590 \u2840 \u258C","\u2590 \u2820 \u258C","\u2590 \u2802 \u258C","\u2590 \u2808 \u258C","\u2590 \u2802 \u258C","\u2590 \u2820 \u258C","\u2590 \u2840 \u258C","\u2590\u2820 \u258C"]},shark:{interval:120,frames:["\u2590|\\____________\u258C","\u2590_|\\___________\u258C","\u2590__|\\__________\u258C","\u2590___|\\_________\u258C","\u2590____|\\________\u258C","\u2590_____|\\_______\u258C","\u2590______|\\______\u258C","\u2590_______|\\_____\u258C","\u2590________|\\____\u258C","\u2590_________|\\___\u258C","\u2590__________|\\__\u258C","\u2590___________|\\_\u258C","\u2590____________|\\\u258C","\u2590____________/|\u258C","\u2590___________/|_\u258C","\u2590__________/|__\u258C","\u2590_________/|___\u258C","\u2590________/|____\u258C","\u2590_______/|_____\u258C","\u2590______/|______\u258C","\u2590_____/|_______\u258C","\u2590____/|________\u258C","\u2590___/|_________\u258C","\u2590__/|__________\u258C","\u2590_/|___________\u258C","\u2590/|____________\u258C"]},dqpb:{interval:100,frames:["d","q","p","b"]},weather:{interval:100,frames:["\u2600\uFE0F ","\u2600\uFE0F ","\u2600\uFE0F ","\u{1F324} ","\u26C5\uFE0F ","\u{1F325} ","\u2601\uFE0F ","\u{1F327} ","\u{1F328} ","\u{1F327} ","\u{1F328} ","\u{1F327} ","\u{1F328} ","\u26C8 ","\u{1F328} ","\u{1F327} ","\u{1F328} ","\u2601\uFE0F ","\u{1F325} ","\u26C5\uFE0F ","\u{1F324} ","\u2600\uFE0F ","\u2600\uFE0F "]},christmas:{interval:400,frames:["\u{1F332}","\u{1F384}"]},grenade:{interval:80,frames:["\u060C ","\u2032 "," \xB4 "," \u203E "," \u2E0C"," \u2E0A"," |"," \u204E"," \u2055"," \u0DF4 "," \u2053"," "," "," "]},point:{interval:125,frames:["\u2219\u2219\u2219","\u25CF\u2219\u2219","\u2219\u25CF\u2219","\u2219\u2219\u25CF","\u2219\u2219\u2219"]},layer:{interval:150,frames:["-","=","\u2261"]},betaWave:{interval:80,frames:["\u03C1\u03B2\u03B2\u03B2\u03B2\u03B2\u03B2","\u03B2\u03C1\u03B2\u03B2\u03B2\u03B2\u03B2","\u03B2\u03B2\u03C1\u03B2\u03B2\u03B2\u03B2","\u03B2\u03B2\u03B2\u03C1\u03B2\u03B2\u03B2","\u03B2\u03B2\u03B2\u03B2\u03C1\u03B2\u03B2","\u03B2\u03B2\u03B2\u03B2\u03B2\u03C1\u03B2","\u03B2\u03B2\u03B2\u03B2\u03B2\u03B2\u03C1"]},fingerDance:{interval:160,frames:["\u{1F918} ","\u{1F91F} ","\u{1F596} ","\u270B ","\u{1F91A} ","\u{1F446} "]},fistBump:{interval:80,frames:["\u{1F91C}\u3000\u3000\u3000\u3000\u{1F91B} ","\u{1F91C}\u3000\u3000\u3000\u3000\u{1F91B} ","\u{1F91C}\u3000\u3000\u3000\u3000\u{1F91B} ","\u3000\u{1F91C}\u3000\u3000\u{1F91B}\u3000 ","\u3000\u3000\u{1F91C}\u{1F91B}\u3000\u3000 ","\u3000\u{1F91C}\u2728\u{1F91B}\u3000\u3000 ","\u{1F91C}\u3000\u2728\u3000\u{1F91B}\u3000 "]},soccerHeader:{interval:80,frames:[" \u{1F9D1}\u26BD\uFE0F \u{1F9D1} ","\u{1F9D1} \u26BD\uFE0F \u{1F9D1} ","\u{1F9D1} \u26BD\uFE0F \u{1F9D1} ","\u{1F9D1} \u26BD\uFE0F \u{1F9D1} ","\u{1F9D1} \u26BD\uFE0F \u{1F9D1} ","\u{1F9D1} \u26BD\uFE0F \u{1F9D1} ","\u{1F9D1} \u26BD\uFE0F\u{1F9D1} ","\u{1F9D1} \u26BD\uFE0F \u{1F9D1} ","\u{1F9D1} \u26BD\uFE0F \u{1F9D1} ","\u{1F9D1} \u26BD\uFE0F \u{1F9D1} ","\u{1F9D1} \u26BD\uFE0F \u{1F9D1} ","\u{1F9D1} \u26BD\uFE0F \u{1F9D1} "]},mindblown:{interval:160,frames:["\u{1F610} ","\u{1F610} ","\u{1F62E} ","\u{1F62E} ","\u{1F626} ","\u{1F626} ","\u{1F627} ","\u{1F627} ","\u{1F92F} ","\u{1F4A5} ","\u2728 ","\u3000 ","\u3000 ","\u3000 "]},speaker:{interval:160,frames:["\u{1F508} ","\u{1F509} ","\u{1F50A} ","\u{1F509} "]},orangePulse:{interval:100,frames:["\u{1F538} ","\u{1F536} ","\u{1F7E0} ","\u{1F7E0} ","\u{1F536} "]},bluePulse:{interval:100,frames:["\u{1F539} ","\u{1F537} ","\u{1F535} ","\u{1F535} ","\u{1F537} "]},orangeBluePulse:{interval:100,frames:["\u{1F538} ","\u{1F536} ","\u{1F7E0} ","\u{1F7E0} ","\u{1F536} ","\u{1F539} ","\u{1F537} ","\u{1F535} ","\u{1F535} ","\u{1F537} "]},timeTravel:{interval:100,frames:["\u{1F55B} ","\u{1F55A} ","\u{1F559} ","\u{1F558} ","\u{1F557} ","\u{1F556} ","\u{1F555} ","\u{1F554} ","\u{1F553} ","\u{1F552} ","\u{1F551} ","\u{1F550} "]},aesthetic:{interval:80,frames:["\u25B0\u25B1\u25B1\u25B1\u25B1\u25B1\u25B1","\u25B0\u25B0\u25B1\u25B1\u25B1\u25B1\u25B1","\u25B0\u25B0\u25B0\u25B1\u25B1\u25B1\u25B1","\u25B0\u25B0\u25B0\u25B0\u25B1\u25B1\u25B1","\u25B0\u25B0\u25B0\u25B0\u25B0\u25B1\u25B1","\u25B0\u25B0\u25B0\u25B0\u25B0\u25B0\u25B1","\u25B0\u25B0\u25B0\u25B0\u25B0\u25B0\u25B0","\u25B0\u25B1\u25B1\u25B1\u25B1\u25B1\u25B1"]},dwarfFortress:{interval:80,frames:[" \u2588\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ","\u263A\u2588\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ","\u263A\u2588\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ","\u263A\u2593\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ","\u263A\u2593\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ","\u263A\u2592\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ","\u263A\u2592\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ","\u263A\u2591\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ","\u263A\u2591\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ","\u263A \u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2593\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2593\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2592\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2592\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2591\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2591\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A \u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2593\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2593\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2592\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2592\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2591\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2591\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A \u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2593\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2593\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2592\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2592\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2591\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2591\u2588\u2588\xA3\xA3\xA3 "," \u263A \u2588\u2588\xA3\xA3\xA3 "," \u263A\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2593\u2588\xA3\xA3\xA3 "," \u263A\u2593\u2588\xA3\xA3\xA3 "," \u263A\u2592\u2588\xA3\xA3\xA3 "," \u263A\u2592\u2588\xA3\xA3\xA3 "," \u263A\u2591\u2588\xA3\xA3\xA3 "," \u263A\u2591\u2588\xA3\xA3\xA3 "," \u263A \u2588\xA3\xA3\xA3 "," \u263A\u2588\xA3\xA3\xA3 "," \u263A\u2588\xA3\xA3\xA3 "," \u263A\u2593\xA3\xA3\xA3 "," \u263A\u2593\xA3\xA3\xA3 "," \u263A\u2592\xA3\xA3\xA3 "," \u263A\u2592\xA3\xA3\xA3 "," \u263A\u2591\xA3\xA3\xA3 "," \u263A\u2591\xA3\xA3\xA3 "," \u263A \xA3\xA3\xA3 "," \u263A\xA3\xA3\xA3 "," \u263A\xA3\xA3\xA3 "," \u263A\u2593\xA3\xA3 "," \u263A\u2593\xA3\xA3 "," \u263A\u2592\xA3\xA3 "," \u263A\u2592\xA3\xA3 "," \u263A\u2591\xA3\xA3 "," \u263A\u2591\xA3\xA3 "," \u263A \xA3\xA3 "," \u263A\xA3\xA3 "," \u263A\xA3\xA3 "," \u263A\u2593\xA3 "," \u263A\u2593\xA3 "," \u263A\u2592\xA3 "," \u263A\u2592\xA3 "," \u263A\u2591\xA3 "," \u263A\u2591\xA3 "," \u263A \xA3 "," \u263A\xA3 "," \u263A\xA3 "," \u263A\u2593 "," \u263A\u2593 "," \u263A\u2592 "," \u263A\u2592 "," \u263A\u2591 "," \u263A\u2591 "," \u263A "," \u263A &"," \u263A \u263C&"," \u263A \u263C &"," \u263A\u263C &"," \u263A\u263C & "," \u203C & "," \u263A & "," \u203C & "," \u263A & "," \u203C & "," \u263A & ","\u203C & "," & "," & "," & \u2591 "," & \u2592 "," & \u2593 "," & \xA3 "," & \u2591\xA3 "," & \u2592\xA3 "," & \u2593\xA3 "," & \xA3\xA3 "," & \u2591\xA3\xA3 "," & \u2592\xA3\xA3 ","& \u2593\xA3\xA3 ","& \xA3\xA3\xA3 "," \u2591\xA3\xA3\xA3 "," \u2592\xA3\xA3\xA3 "," \u2593\xA3\xA3\xA3 "," \u2588\xA3\xA3\xA3 "," \u2591\u2588\xA3\xA3\xA3 "," \u2592\u2588\xA3\xA3\xA3 "," \u2593\u2588\xA3\xA3\xA3 "," \u2588\u2588\xA3\xA3\xA3 "," \u2591\u2588\u2588\xA3\xA3\xA3 "," \u2592\u2588\u2588\xA3\xA3\xA3 "," \u2593\u2588\u2588\xA3\xA3\xA3 "," \u2588\u2588\u2588\xA3\xA3\xA3 "," \u2591\u2588\u2588\u2588\xA3\xA3\xA3 "," \u2592\u2588\u2588\u2588\xA3\xA3\xA3 "," \u2593\u2588\u2588\u2588\xA3\xA3\xA3 "," \u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u2591\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u2592\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u2593\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u2591\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u2592\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u2593\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u2588\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u2588\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "]}}});var Ue=n((Ec,Kt)=>{"use strict";var he=Object.assign({},Vt()),zt=Object.keys(he);Object.defineProperty(he,"random",{get(){let e=Math.floor(Math.random()*zt.length),t=zt[e];return he[t]}});Kt.exports=he});var lr=n((Yc,ge)=>{"use strict";function Dr(e){return Array.isArray(e)?e:[e]}var jn=void 0,et="",ur=" ",Qe="\\",Nn=/^\s+$/,Gn=/(?:[^\\]|^)\\$/,Mn=/^\\!/,Ln=/^\\#/,kn=/\r?\n/g,$n=/^\.{0,2}\/|^\.{1,2}$/,Un=/\/$/,O="/",nr="node-ignore";typeof Symbol<"u"&&(nr=Symbol.for("node-ignore"));var sr=nr,w=(e,t,r)=>(Object.defineProperty(e,t,{value:r}),r),Wn=/([0-z])-([0-z])/g,or=()=>!1,Hn=e=>e.replace(Wn,(t,r,u)=>r.charCodeAt(0)<=u.charCodeAt(0)?t:et),Yn=e=>{let{length:t}=e;return e.slice(0,t-t%2)},Vn=[[/^\uFEFF/,()=>et],[/((?:\\\\)*?)(\\?\s+)$/,(e,t,r)=>t+(r.indexOf("\\")===0?ur:et)],[/(\\+?)\s/g,(e,t)=>{let{length:r}=t;return t.slice(0,r-r%2)+ur}],[/[\\$.|*+(){^]/g,e=>`\\${e}`],[/(?!\\)\?/g,()=>"[^/]"],[/^\//,()=>"^"],[/\//g,()=>"\\/"],[/^\^*\\\*\\\*\\\//,()=>"^(?:.*\\/)?"],[/^(?=[^^])/,function(){return/\/(?!$)/.test(this)?"^":"(?:^|\\/)"}],[/\\\/\\\*\\\*(?=\\\/|$)/g,(e,t,r)=>t+6<r.length?"(?:\\/[^\\/]+)*":"\\/.+"],[/(^|[^\\]+)(\\\*)+(?=.+)/g,(e,t,r)=>{let u=r.replace(/\\\*/g,"[^\\/]*");return t+u}],[/\\\\\\(?=[$.|*+(){^])/g,()=>Qe],[/\\\\/g,()=>Qe],[/(\\)?\[([^\]/]*?)(\\*)($|\])/g,(e,t,r,u,i)=>t===Qe?`\\[${r}${Yn(u)}${i}`:i==="]"&&u.length%2===0?`[${Hn(r)}${u}]`:"[]"],[/(?:[^*])$/,e=>/\/$/.test(e)?`${e}$`:`${e}(?=$|\\/$)`]],zn=/(^|\\\/)?\\\*$/,K="regex",Ce="checkRegex",ir="_",Kn={[K](e,t){return`${t?`${t}[^/]+`:"[^/]*"}(?=$|\\/$)`},[Ce](e,t){return`${t?`${t}[^/]*`:"[^/]*"}(?=$|\\/$)`}},Xn=e=>Vn.reduce((t,[r,u])=>t.replace(r,u.bind(e)),e),Ee=e=>typeof e=="string",Jn=e=>e&&Ee(e)&&!Nn.test(e)&&!Gn.test(e)&&e.indexOf("#")!==0,Zn=e=>e.split(kn).filter(Boolean),tt=class{constructor(t,r,u,i,D,o){this.pattern=t,this.mark=r,this.negative=D,w(this,"body",u),w(this,"ignoreCase",i),w(this,"regexPrefix",o)}get regex(){let t=ir+K;return this[t]?this[t]:this._make(K,t)}get checkRegex(){let t=ir+Ce;return this[t]?this[t]:this._make(Ce,t)}_make(t,r){let u=this.regexPrefix.replace(zn,Kn[t]),i=this.ignoreCase?new RegExp(u,"i"):new RegExp(u);return w(this,r,i)}},Qn=({pattern:e,mark:t},r)=>{let u=!1,i=e;i.indexOf("!")===0&&(u=!0,i=i.substr(1)),i=i.replace(Mn,"!").replace(Ln,"#");let D=Xn(i);return new tt(e,t,i,r,u,D)},rt=class{constructor(t){this._ignoreCase=t,this._rules=[]}_add(t){if(t&&t[sr]){this._rules=this._rules.concat(t._rules._rules),this._added=!0;return}if(Ee(t)&&(t={pattern:t}),Jn(t.pattern)){let r=Qn(t,this._ignoreCase);this._added=!0,this._rules.push(r)}}add(t){return this._added=!1,Dr(Ee(t)?Zn(t):t).forEach(this._add,this),this._added}test(t,r,u){let i=!1,D=!1,o;this._rules.forEach(a=>{let{negative:f}=a;D===f&&i!==D||f&&!i&&!D&&!r||!a[u].test(t)||(i=!f,D=f,o=f?jn:a)});let s={ignored:i,unignored:D};return o&&(s.rule=o),s}},es=(e,t)=>{throw new t(e)},m=(e,t,r)=>Ee(e)?e?m.isNotRelative(e)?r(`path should be a \`path.relative()\`d string, but got "${t}"`,RangeError):!0:r("path must not be empty",TypeError):r(`path must be a string, but got \`${t}\``,TypeError),ar=e=>$n.test(e);m.isNotRelative=ar;m.convert=e=>e;var ut=class{constructor({ignorecase:t=!0,ignoreCase:r=t,allowRelativePaths:u=!1}={}){w(this,sr,!0),this._rules=new rt(r),this._strictPathCheck=!u,this._initCache()}_initCache(){this._ignoreCache=Object.create(null),this._testCache=Object.create(null)}add(t){return this._rules.add(t)&&this._initCache(),this}addPattern(t){return this.add(t)}_test(t,r,u,i){let D=t&&m.convert(t);return m(D,t,this._strictPathCheck?es:or),this._t(D,r,u,i)}checkIgnore(t){if(!Un.test(t))return this.test(t);let r=t.split(O).filter(Boolean);if(r.pop(),r.length){let u=this._t(r.join(O)+O,this._testCache,!0,r);if(u.ignored)return u}return this._rules.test(t,!1,Ce)}_t(t,r,u,i){if(t in r)return r[t];if(i||(i=t.split(O).filter(Boolean)),i.pop(),!i.length)return r[t]=this._rules.test(t,u,K);let D=this._t(i.join(O)+O,r,u,i);return r[t]=D.ignored?D:this._rules.test(t,u,K)}ignores(t){return this._test(t,this._ignoreCache,!1).ignored}createFilter(){return t=>!this.ignores(t)}filter(t){return Dr(t).filter(this.createFilter())}test(t){return this._test(t,this._testCache,!0)}},it=e=>new ut(e),ts=e=>m(e&&m.convert(e),e,or),Fr=()=>{let e=r=>/^\\\\\?\\/.test(r)||/["<>|\u0000-\u001F]+/u.test(r)?r:r.replace(/\\/g,"/");m.convert=e;let t=/^[a-z]:\//i;m.isNotRelative=r=>t.test(r)||ar(r)};typeof process<"u"&&process.platform==="win32"&&Fr();ge.exports=it;it.default=it;ge.exports.isPathValid=ts;w(ge.exports,Symbol.for("setupWindows"),Fr)});var pr=n((Xc,fr)=>{"use strict";function is(){this.__data__=[],this.size=0}fr.exports=is});var J=n((Jc,hr)=>{"use strict";function Ds(e,t){return e===t||e!==e&&t!==t}hr.exports=Ds});var Z=n((Zc,Cr)=>{"use strict";var ns=J();function ss(e,t){for(var r=e.length;r--;)if(ns(e[r][0],t))return r;return-1}Cr.exports=ss});var gr=n((Qc,Er)=>{"use strict";var os=Z(),as=Array.prototype,Fs=as.splice;function ls(e){var t=this.__data__,r=os(t,e);if(r<0)return!1;var u=t.length-1;return r==u?t.pop():Fs.call(t,r,1),--this.size,!0}Er.exports=ls});var _r=n((e2,dr)=>{"use strict";var cs=Z();function fs(e){var t=this.__data__,r=cs(t,e);return r<0?void 0:t[r][1]}dr.exports=fs});var Br=n((t2,mr)=>{"use strict";var ps=Z();function hs(e){return ps(this.__data__,e)>-1}mr.exports=hs});var br=n((r2,Ar)=>{"use strict";var Cs=Z();function Es(e,t){var r=this.__data__,u=Cs(r,e);return u<0?(++this.size,r.push([e,t])):r[u][1]=t,this}Ar.exports=Es});var Q=n((u2,vr)=>{"use strict";var gs=pr(),ds=gr(),_s=_r(),ms=Br(),Bs=br();function S(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var u=e[t];this.set(u[0],u[1])}}S.prototype.clear=gs;S.prototype.delete=ds;S.prototype.get=_s;S.prototype.has=ms;S.prototype.set=Bs;vr.exports=S});var yr=n((i2,xr)=>{"use strict";var As=Q();function bs(){this.__data__=new As,this.size=0}xr.exports=bs});var Or=n((D2,Tr)=>{"use strict";function vs(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r}Tr.exports=vs});var Pr=n((n2,wr)=>{"use strict";function xs(e){return this.__data__.get(e)}wr.exports=xs});var Rr=n((s2,Sr)=>{"use strict";function ys(e){return this.__data__.has(e)}Sr.exports=ys});var nt=n((o2,qr)=>{"use strict";var Ts=typeof global=="object"&&global&&global.Object===Object&&global;qr.exports=Ts});var b=n((a2,Ir)=>{"use strict";var Os=nt(),ws=typeof self=="object"&&self&&self.Object===Object&&self,Ps=Os||ws||Function("return this")();Ir.exports=Ps});var st=n((F2,jr)=>{"use strict";var Ss=b(),Rs=Ss.Symbol;jr.exports=Rs});var Lr=n((l2,Mr)=>{"use strict";var Nr=st(),Gr=Object.prototype,qs=Gr.hasOwnProperty,Is=Gr.toString,ee=Nr?Nr.toStringTag:void 0;function js(e){var t=qs.call(e,ee),r=e[ee];try{e[ee]=void 0;var u=!0}catch{}var i=Is.call(e);return u&&(t?e[ee]=r:delete e[ee]),i}Mr.exports=js});var $r=n((c2,kr)=>{"use strict";var Ns=Object.prototype,Gs=Ns.toString;function Ms(e){return Gs.call(e)}kr.exports=Ms});var te=n((f2,Hr)=>{"use strict";var Ur=st(),Ls=Lr(),ks=$r(),$s="[object Null]",Us="[object Undefined]",Wr=Ur?Ur.toStringTag:void 0;function Ws(e){return e==null?e===void 0?Us:$s:Wr&&Wr in Object(e)?Ls(e):ks(e)}Hr.exports=Ws});var B=n((p2,Yr)=>{"use strict";function Hs(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}Yr.exports=Hs});var Be=n((h2,Vr)=>{"use strict";var Ys=te(),Vs=B(),zs="[object AsyncFunction]",Ks="[object Function]",Xs="[object GeneratorFunction]",Js="[object Proxy]";function Zs(e){if(!Vs(e))return!1;var t=Ys(e);return t==Ks||t==Xs||t==zs||t==Js}Vr.exports=Zs});var Kr=n((C2,zr)=>{"use strict";var Qs=b(),eo=Qs["__core-js_shared__"];zr.exports=eo});var Zr=n((E2,Jr)=>{"use strict";var ot=Kr(),Xr=function(){var e=/[^.]+$/.exec(ot&&ot.keys&&ot.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function to(e){return!!Xr&&Xr in e}Jr.exports=to});var eu=n((g2,Qr)=>{"use strict";var ro=Function.prototype,uo=ro.toString;function io(e){if(e!=null){try{return uo.call(e)}catch{}try{return e+""}catch{}}return""}Qr.exports=io});var ru=n((d2,tu)=>{"use strict";var Do=Be(),no=Zr(),so=B(),oo=eu(),ao=/[\\^$.*+?()[\]{}|]/g,Fo=/^\[object .+?Constructor\]$/,lo=Function.prototype,co=Object.prototype,fo=lo.toString,po=co.hasOwnProperty,ho=RegExp("^"+fo.call(po).replace(ao,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function Co(e){if(!so(e)||no(e))return!1;var t=Do(e)?ho:Fo;return t.test(oo(e))}tu.exports=Co});var iu=n((_2,uu)=>{"use strict";function Eo(e,t){return e?.[t]}uu.exports=Eo});var Ae=n((m2,Du)=>{"use strict";var go=ru(),_o=iu();function mo(e,t){var r=_o(e,t);return go(r)?r:void 0}Du.exports=mo});var at=n((B2,nu)=>{"use strict";var Bo=Ae(),Ao=b(),bo=Bo(Ao,"Map");nu.exports=bo});var re=n((A2,su)=>{"use strict";var vo=Ae(),xo=vo(Object,"create");su.exports=xo});var Fu=n((b2,au)=>{"use strict";var ou=re();function yo(){this.__data__=ou?ou(null):{},this.size=0}au.exports=yo});var cu=n((v2,lu)=>{"use strict";function To(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}lu.exports=To});var pu=n((x2,fu)=>{"use strict";var Oo=re(),wo="__lodash_hash_undefined__",Po=Object.prototype,So=Po.hasOwnProperty;function Ro(e){var t=this.__data__;if(Oo){var r=t[e];return r===wo?void 0:r}return So.call(t,e)?t[e]:void 0}fu.exports=Ro});var Cu=n((y2,hu)=>{"use strict";var qo=re(),Io=Object.prototype,jo=Io.hasOwnProperty;function No(e){var t=this.__data__;return qo?t[e]!==void 0:jo.call(t,e)}hu.exports=No});var gu=n((T2,Eu)=>{"use strict";var Go=re(),Mo="__lodash_hash_undefined__";function Lo(e,t){var r=this.__data__;return this.size+=this.has(e)?0:1,r[e]=Go&&t===void 0?Mo:t,this}Eu.exports=Lo});var _u=n((O2,du)=>{"use strict";var ko=Fu(),$o=cu(),Uo=pu(),Wo=Cu(),Ho=gu();function R(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var u=e[t];this.set(u[0],u[1])}}R.prototype.clear=ko;R.prototype.delete=$o;R.prototype.get=Uo;R.prototype.has=Wo;R.prototype.set=Ho;du.exports=R});var Au=n((w2,Bu)=>{"use strict";var mu=_u(),Yo=Q(),Vo=at();function zo(){this.size=0,this.__data__={hash:new mu,map:new(Vo||Yo),string:new mu}}Bu.exports=zo});var vu=n((P2,bu)=>{"use strict";function Ko(e){var t=typeof e;return t=="string"||t=="number"||t=="symbol"||t=="boolean"?e!=="__proto__":e===null}bu.exports=Ko});var ue=n((S2,xu)=>{"use strict";var Xo=vu();function Jo(e,t){var r=e.__data__;return Xo(t)?r[typeof t=="string"?"string":"hash"]:r.map}xu.exports=Jo});var Tu=n((R2,yu)=>{"use strict";var Zo=ue();function Qo(e){var t=Zo(this,e).delete(e);return this.size-=t?1:0,t}yu.exports=Qo});var wu=n((q2,Ou)=>{"use strict";var ea=ue();function ta(e){return ea(this,e).get(e)}Ou.exports=ta});var Su=n((I2,Pu)=>{"use strict";var ra=ue();function ua(e){return ra(this,e).has(e)}Pu.exports=ua});var qu=n((j2,Ru)=>{"use strict";var ia=ue();function Da(e,t){var r=ia(this,e),u=r.size;return r.set(e,t),this.size+=r.size==u?0:1,this}Ru.exports=Da});var ju=n((N2,Iu)=>{"use strict";var na=Au(),sa=Tu(),oa=wu(),aa=Su(),Fa=qu();function q(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var u=e[t];this.set(u[0],u[1])}}q.prototype.clear=na;q.prototype.delete=sa;q.prototype.get=oa;q.prototype.has=aa;q.prototype.set=Fa;Iu.exports=q});var Gu=n((G2,Nu)=>{"use strict";var la=Q(),ca=at(),fa=ju(),pa=200;function ha(e,t){var r=this.__data__;if(r instanceof la){var u=r.__data__;if(!ca||u.length<pa-1)return u.push([e,t]),this.size=++r.size,this;r=this.__data__=new fa(u)}return r.set(e,t),this.size=r.size,this}Nu.exports=ha});var Lu=n((M2,Mu)=>{"use strict";var Ca=Q(),Ea=yr(),ga=Or(),da=Pr(),_a=Rr(),ma=Gu();function I(e){var t=this.__data__=new Ca(e);this.size=t.size}I.prototype.clear=Ea;I.prototype.delete=ga;I.prototype.get=da;I.prototype.has=_a;I.prototype.set=ma;Mu.exports=I});var Ft=n((L2,ku)=>{"use strict";var Ba=Ae(),Aa=function(){try{var e=Ba(Object,"defineProperty");return e({},"",{}),e}catch{}}();ku.exports=Aa});var be=n((k2,Uu)=>{"use strict";var $u=Ft();function ba(e,t,r){t=="__proto__"&&$u?$u(e,t,{configurable:!0,enumerable:!0,value:r,writable:!0}):e[t]=r}Uu.exports=ba});var lt=n(($2,Wu)=>{"use strict";var va=be(),xa=J();function ya(e,t,r){(r!==void 0&&!xa(e[t],r)||r===void 0&&!(t in e))&&va(e,t,r)}Wu.exports=ya});var Yu=n((U2,Hu)=>{"use strict";function Ta(e){return function(t,r,u){for(var i=-1,D=Object(t),o=u(t),s=o.length;s--;){var a=o[e?s:++i];if(r(D[a],a,D)===!1)break}return t}}Hu.exports=Ta});var zu=n((W2,Vu)=>{"use strict";var Oa=Yu(),wa=Oa();Vu.exports=wa});var Qu=n((ie,j)=>{"use strict";var Pa=b(),Zu=typeof ie=="object"&&ie&&!ie.nodeType&&ie,Ku=Zu&&typeof j=="object"&&j&&!j.nodeType&&j,Sa=Ku&&Ku.exports===Zu,Xu=Sa?Pa.Buffer:void 0,Ju=Xu?Xu.allocUnsafe:void 0;function Ra(e,t){if(t)return e.slice();var r=e.length,u=Ju?Ju(r):new e.constructor(r);return e.copy(u),u}j.exports=Ra});var ti=n((H2,ei)=>{"use strict";var qa=b(),Ia=qa.Uint8Array;ei.exports=Ia});var ii=n((Y2,ui)=>{"use strict";var ri=ti();function ja(e){var t=new e.constructor(e.byteLength);return new ri(t).set(new ri(e)),t}ui.exports=ja});var ni=n((V2,Di)=>{"use strict";var Na=ii();function Ga(e,t){var r=t?Na(e.buffer):e.buffer;return new e.constructor(r,e.byteOffset,e.length)}Di.exports=Ga});var oi=n((z2,si)=>{"use strict";function Ma(e,t){var r=-1,u=e.length;for(t||(t=Array(u));++r<u;)t[r]=e[r];return t}si.exports=Ma});var li=n((K2,Fi)=>{"use strict";var La=B(),ai=Object.create,ka=function(){function e(){}return function(t){if(!La(t))return{};if(ai)return ai(t);e.prototype=t;var r=new e;return e.prototype=void 0,r}}();Fi.exports=ka});var fi=n((X2,ci)=>{"use strict";function $a(e,t){return function(r){return e(t(r))}}ci.exports=$a});var ct=n((J2,pi)=>{"use strict";var Ua=fi(),Wa=Ua(Object.getPrototypeOf,Object);pi.exports=Wa});var ft=n((Z2,hi)=>{"use strict";var Ha=Object.prototype;function Ya(e){var t=e&&e.constructor,r=typeof t=="function"&&t.prototype||Ha;return e===r}hi.exports=Ya});var Ei=n((Q2,Ci)=>{"use strict";var Va=li(),za=ct(),Ka=ft();function Xa(e){return typeof e.constructor=="function"&&!Ka(e)?Va(za(e)):{}}Ci.exports=Xa});var N=n((ef,gi)=>{"use strict";function Ja(e){return e!=null&&typeof e=="object"}gi.exports=Ja});var _i=n((tf,di)=>{"use strict";var Za=te(),Qa=N(),e0="[object Arguments]";function t0(e){return Qa(e)&&Za(e)==e0}di.exports=t0});var pt=n((rf,Ai)=>{"use strict";var mi=_i(),r0=N(),Bi=Object.prototype,u0=Bi.hasOwnProperty,i0=Bi.propertyIsEnumerable,D0=mi(function(){return arguments}())?mi:function(e){return r0(e)&&u0.call(e,"callee")&&!i0.call(e,"callee")};Ai.exports=D0});var ht=n((uf,bi)=>{"use strict";var n0=Array.isArray;bi.exports=n0});var Ct=n((Df,vi)=>{"use strict";var s0=9007199254740991;function o0(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=s0}vi.exports=o0});var ve=n((nf,xi)=>{"use strict";var a0=Be(),F0=Ct();function l0(e){return e!=null&&F0(e.length)&&!a0(e)}xi.exports=l0});var Ti=n((sf,yi)=>{"use strict";var c0=ve(),f0=N();function p0(e){return f0(e)&&c0(e)}yi.exports=p0});var wi=n((of,Oi)=>{"use strict";function h0(){return!1}Oi.exports=h0});var Et=n((De,G)=>{"use strict";var C0=b(),E0=wi(),Ri=typeof De=="object"&&De&&!De.nodeType&&De,Pi=Ri&&typeof G=="object"&&G&&!G.nodeType&&G,g0=Pi&&Pi.exports===Ri,Si=g0?C0.Buffer:void 0,d0=Si?Si.isBuffer:void 0,_0=d0||E0;G.exports=_0});var ji=n((af,Ii)=>{"use strict";var m0=te(),B0=ct(),A0=N(),b0="[object Object]",v0=Function.prototype,x0=Object.prototype,qi=v0.toString,y0=x0.hasOwnProperty,T0=qi.call(Object);function O0(e){if(!A0(e)||m0(e)!=b0)return!1;var t=B0(e);if(t===null)return!0;var r=y0.call(t,"constructor")&&t.constructor;return typeof r=="function"&&r instanceof r&&qi.call(r)==T0}Ii.exports=O0});var Gi=n((Ff,Ni)=>{"use strict";var w0=te(),P0=Ct(),S0=N(),R0="[object Arguments]",q0="[object Array]",I0="[object Boolean]",j0="[object Date]",N0="[object Error]",G0="[object Function]",M0="[object Map]",L0="[object Number]",k0="[object Object]",$0="[object RegExp]",U0="[object Set]",W0="[object String]",H0="[object WeakMap]",Y0="[object ArrayBuffer]",V0="[object DataView]",z0="[object Float32Array]",K0="[object Float64Array]",X0="[object Int8Array]",J0="[object Int16Array]",Z0="[object Int32Array]",Q0="[object Uint8Array]",eF="[object Uint8ClampedArray]",tF="[object Uint16Array]",rF="[object Uint32Array]",F={};F[z0]=F[K0]=F[X0]=F[J0]=F[Z0]=F[Q0]=F[eF]=F[tF]=F[rF]=!0;F[R0]=F[q0]=F[Y0]=F[I0]=F[V0]=F[j0]=F[N0]=F[G0]=F[M0]=F[L0]=F[k0]=F[$0]=F[U0]=F[W0]=F[H0]=!1;function uF(e){return S0(e)&&P0(e.length)&&!!F[w0(e)]}Ni.exports=uF});var Li=n((lf,Mi)=>{"use strict";function iF(e){return function(t){return e(t)}}Mi.exports=iF});var $i=n((ne,M)=>{"use strict";var DF=nt(),ki=typeof ne=="object"&&ne&&!ne.nodeType&&ne,se=ki&&typeof M=="object"&&M&&!M.nodeType&&M,nF=se&&se.exports===ki,gt=nF&&DF.process,sF=function(){try{var e=se&&se.require&&se.require("util").types;return e||gt&&gt.binding&&gt.binding("util")}catch{}}();M.exports=sF});var dt=n((cf,Hi)=>{"use strict";var oF=Gi(),aF=Li(),Ui=$i(),Wi=Ui&&Ui.isTypedArray,FF=Wi?aF(Wi):oF;Hi.exports=FF});var _t=n((ff,Yi)=>{"use strict";function lF(e,t){if(!(t==="constructor"&&typeof e[t]=="function")&&t!="__proto__")return e[t]}Yi.exports=lF});var zi=n((pf,Vi)=>{"use strict";var cF=be(),fF=J(),pF=Object.prototype,hF=pF.hasOwnProperty;function CF(e,t,r){var u=e[t];(!(hF.call(e,t)&&fF(u,r))||r===void 0&&!(t in e))&&cF(e,t,r)}Vi.exports=CF});var Xi=n((hf,Ki)=>{"use strict";var EF=zi(),gF=be();function dF(e,t,r,u){var i=!r;r||(r={});for(var D=-1,o=t.length;++D<o;){var s=t[D],a=u?u(r[s],e[s],s,r,e):void 0;a===void 0&&(a=e[s]),i?gF(r,s,a):EF(r,s,a)}return r}Ki.exports=dF});var Zi=n((Cf,Ji)=>{"use strict";function _F(e,t){for(var r=-1,u=Array(e);++r<e;)u[r]=t(r);return u}Ji.exports=_F});var mt=n((Ef,Qi)=>{"use strict";var mF=9007199254740991,BF=/^(?:0|[1-9]\d*)$/;function AF(e,t){var r=typeof e;return t=t??mF,!!t&&(r=="number"||r!="symbol"&&BF.test(e))&&e>-1&&e%1==0&&e<t}Qi.exports=AF});var tD=n((gf,eD)=>{"use strict";var bF=Zi(),vF=pt(),xF=ht(),yF=Et(),TF=mt(),OF=dt(),wF=Object.prototype,PF=wF.hasOwnProperty;function SF(e,t){var r=xF(e),u=!r&&vF(e),i=!r&&!u&&yF(e),D=!r&&!u&&!i&&OF(e),o=r||u||i||D,s=o?bF(e.length,String):[],a=s.length;for(var f in e)(t||PF.call(e,f))&&!(o&&(f=="length"||i&&(f=="offset"||f=="parent")||D&&(f=="buffer"||f=="byteLength"||f=="byteOffset")||TF(f,a)))&&s.push(f);return s}eD.exports=SF});var uD=n((df,rD)=>{"use strict";function RF(e){var t=[];if(e!=null)for(var r in Object(e))t.push(r);return t}rD.exports=RF});var DD=n((_f,iD)=>{"use strict";var qF=B(),IF=ft(),jF=uD(),NF=Object.prototype,GF=NF.hasOwnProperty;function MF(e){if(!qF(e))return jF(e);var t=IF(e),r=[];for(var u in e)u=="constructor"&&(t||!GF.call(e,u))||r.push(u);return r}iD.exports=MF});var Bt=n((mf,nD)=>{"use strict";var LF=tD(),kF=DD(),$F=ve();function UF(e){return $F(e)?LF(e,!0):kF(e)}nD.exports=UF});var oD=n((Bf,sD)=>{"use strict";var WF=Xi(),HF=Bt();function YF(e){return WF(e,HF(e))}sD.exports=YF});var pD=n((Af,fD)=>{"use strict";var aD=lt(),VF=Qu(),zF=ni(),KF=oi(),XF=Ei(),FD=pt(),lD=ht(),JF=Ti(),ZF=Et(),QF=Be(),el=B(),tl=ji(),rl=dt(),cD=_t(),ul=oD();function il(e,t,r,u,i,D,o){var s=cD(e,r),a=cD(t,r),f=o.get(a);if(f){aD(e,r,f);return}var p=D?D(s,a,r+"",e,t,o):void 0,k=p===void 0;if(k){var Te=lD(a),Oe=!Te&&ZF(a),yt=!Te&&!Oe&&rl(a);p=a,Te||Oe||yt?lD(s)?p=s:JF(s)?p=KF(s):Oe?(k=!1,p=VF(a,!0)):yt?(k=!1,p=zF(a,!0)):p=[]:tl(a)||FD(a)?(p=s,FD(s)?p=ul(s):(!el(s)||QF(s))&&(p=XF(a))):k=!1}k&&(o.set(a,p),i(p,a,u,D,o),o.delete(a)),aD(e,r,p)}fD.exports=il});var ED=n((bf,CD)=>{"use strict";var Dl=Lu(),nl=lt(),sl=zu(),ol=pD(),al=B(),Fl=Bt(),ll=_t();function hD(e,t,r,u,i){e!==t&&sl(t,function(D,o){if(i||(i=new Dl),al(D))ol(e,t,o,r,hD,u,i);else{var s=u?u(ll(e,o),D,o+"",e,t,i):void 0;s===void 0&&(s=D),nl(e,o,s)}},Fl)}CD.exports=hD});var At=n((vf,gD)=>{"use strict";function cl(e){return e}gD.exports=cl});var _D=n((xf,dD)=>{"use strict";function fl(e,t,r){switch(r.length){case 0:return e.call(t);case 1:return e.call(t,r[0]);case 2:return e.call(t,r[0],r[1]);case 3:return e.call(t,r[0],r[1],r[2])}return e.apply(t,r)}dD.exports=fl});var AD=n((yf,BD)=>{"use strict";var pl=_D(),mD=Math.max;function hl(e,t,r){return t=mD(t===void 0?e.length-1:t,0),function(){for(var u=arguments,i=-1,D=mD(u.length-t,0),o=Array(D);++i<D;)o[i]=u[t+i];i=-1;for(var s=Array(t+1);++i<t;)s[i]=u[i];return s[t]=r(o),pl(e,this,s)}}BD.exports=hl});var vD=n((Tf,bD)=>{"use strict";function Cl(e){return function(){return e}}bD.exports=Cl});var TD=n((Of,yD)=>{"use strict";var El=vD(),xD=Ft(),gl=At(),dl=xD?function(e,t){return xD(e,"toString",{configurable:!0,enumerable:!1,value:El(t),writable:!0})}:gl;yD.exports=dl});var wD=n((wf,OD)=>{"use strict";var _l=800,ml=16,Bl=Date.now;function Al(e){var t=0,r=0;return function(){var u=Bl(),i=ml-(u-r);if(r=u,i>0){if(++t>=_l)return arguments[0]}else t=0;return e.apply(void 0,arguments)}}OD.exports=Al});var SD=n((Pf,PD)=>{"use strict";var bl=TD(),vl=wD(),xl=vl(bl);PD.exports=xl});var qD=n((Sf,RD)=>{"use strict";var yl=At(),Tl=AD(),Ol=SD();function wl(e,t){return Ol(Tl(e,t,yl),e+"")}RD.exports=wl});var jD=n((Rf,ID)=>{"use strict";var Pl=J(),Sl=ve(),Rl=mt(),ql=B();function Il(e,t,r){if(!ql(r))return!1;var u=typeof t;return(u=="number"?Sl(r)&&Rl(t,r.length):u=="string"&&t in r)?Pl(r[t],e):!1}ID.exports=Il});var GD=n((qf,ND)=>{"use strict";var jl=qD(),Nl=jD();function Gl(e){return jl(function(t,r){var u=-1,i=r.length,D=i>1?r[i-1]:void 0,o=i>2?r[2]:void 0;for(D=e.length>3&&typeof D=="function"?(i--,D):void 0,o&&Nl(r[0],r[1],o)&&(D=i<3?void 0:D,i=1),t=Object(t);++u<i;){var s=r[u];s&&e(t,s,u,D)}return t})}ND.exports=Gl});var LD=n((If,MD)=>{"use strict";var Ml=ED(),Ll=GD(),kl=Ll(function(e,t,r){Ml(e,t,r)});MD.exports=kl});var vt=require("path"),xt=require("fs"),YD=require("commander");var UD=require("@qlover/scripts-context"),WD=h(require("inquirer"),1);var QD=(e,t)=>typeof e!="string"||e.trim()===""?`${t} is required`:!0;function Ot(e,t){return[{type:"input",name:"projectName",message:"Project name",validate:r=>QD(r,"Project name")},{type:"list",name:"template",message:"Template name",choices:[...e,...t]}]}function wt(e){return[{type:"checkbox",name:"subPackages",message:"Sub package names",choices:e}]}var v=require("path");var V=h(require("process"),1);var Pt=(e=0)=>t=>`\x1B[${t+e}m`,St=(e=0)=>t=>`\x1B[${38+e};5;${t}m`,Rt=(e=0)=>(t,r,u)=>`\x1B[${38+e};2;${t};${r};${u}m`,l={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],overline:[53,55],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],blackBright:[90,39],gray:[90,39],grey:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgGray:[100,49],bgGrey:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}},Vl=Object.keys(l.modifier),en=Object.keys(l.color),tn=Object.keys(l.bgColor),zl=[...en,...tn];function rn(){let e=new Map;for(let[t,r]of Object.entries(l)){for(let[u,i]of Object.entries(r))l[u]={open:`\x1B[${i[0]}m`,close:`\x1B[${i[1]}m`},r[u]=l[u],e.set(i[0],i[1]);Object.defineProperty(l,t,{value:r,enumerable:!1})}return Object.defineProperty(l,"codes",{value:e,enumerable:!1}),l.color.close="\x1B[39m",l.bgColor.close="\x1B[49m",l.color.ansi=Pt(),l.color.ansi256=St(),l.color.ansi16m=Rt(),l.bgColor.ansi=Pt(10),l.bgColor.ansi256=St(10),l.bgColor.ansi16m=Rt(10),Object.defineProperties(l,{rgbToAnsi256:{value(t,r,u){return t===r&&r===u?t<8?16:t>248?231:Math.round((t-8)/247*24)+232:16+36*Math.round(t/255*5)+6*Math.round(r/255*5)+Math.round(u/255*5)},enumerable:!1},hexToRgb:{value(t){let r=/[a-f\d]{6}|[a-f\d]{3}/i.exec(t.toString(16));if(!r)return[0,0,0];let[u]=r;u.length===3&&(u=[...u].map(D=>D+D).join(""));let i=Number.parseInt(u,16);return[i>>16&255,i>>8&255,i&255]},enumerable:!1},hexToAnsi256:{value:t=>l.rgbToAnsi256(...l.hexToRgb(t)),enumerable:!1},ansi256ToAnsi:{value(t){if(t<8)return 30+t;if(t<16)return 90+(t-8);let r,u,i;if(t>=232)r=((t-232)*10+8)/255,u=r,i=r;else{t-=16;let s=t%36;r=Math.floor(t/36)/5,u=Math.floor(s/6)/5,i=s%6/5}let D=Math.max(r,u,i)*2;if(D===0)return 30;let o=30+(Math.round(i)<<2|Math.round(u)<<1|Math.round(r));return D===2&&(o+=60),o},enumerable:!1},rgbToAnsi:{value:(t,r,u)=>l.ansi256ToAnsi(l.rgbToAnsi256(t,r,u)),enumerable:!1},hexToAnsi:{value:t=>l.ansi256ToAnsi(l.hexToAnsi256(t)),enumerable:!1}}),l}var un=rn(),g=un;var ae=h(require("process"),1),It=h(require("os"),1),we=h(require("tty"),1);function C(e,t=globalThis.Deno?globalThis.Deno.args:ae.default.argv){let r=e.startsWith("-")?"":e.length===1?"-":"--",u=t.indexOf(r+e),i=t.indexOf("--");return u!==-1&&(i===-1||u<i)}var{env:c}=ae.default,oe;C("no-color")||C("no-colors")||C("color=false")||C("color=never")?oe=0:(C("color")||C("colors")||C("color=true")||C("color=always"))&&(oe=1);function Dn(){if("FORCE_COLOR"in c)return c.FORCE_COLOR==="true"?1:c.FORCE_COLOR==="false"?0:c.FORCE_COLOR.length===0?1:Math.min(Number.parseInt(c.FORCE_COLOR,10),3)}function nn(e){return e===0?!1:{level:e,hasBasic:!0,has256:e>=2,has16m:e>=3}}function sn(e,{streamIsTTY:t,sniffFlags:r=!0}={}){let u=Dn();u!==void 0&&(oe=u);let i=r?oe:u;if(i===0)return 0;if(r){if(C("color=16m")||C("color=full")||C("color=truecolor"))return 3;if(C("color=256"))return 2}if("TF_BUILD"in c&&"AGENT_NAME"in c)return 1;if(e&&!t&&i===void 0)return 0;let D=i||0;if(c.TERM==="dumb")return D;if(ae.default.platform==="win32"){let o=It.default.release().split(".");return Number(o[0])>=10&&Number(o[2])>=10586?Number(o[2])>=14931?3:2:1}if("CI"in c)return["GITHUB_ACTIONS","GITEA_ACTIONS","CIRCLECI"].some(o=>o in c)?3:["TRAVIS","APPVEYOR","GITLAB_CI","BUILDKITE","DRONE"].some(o=>o in c)||c.CI_NAME==="codeship"?1:D;if("TEAMCITY_VERSION"in c)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(c.TEAMCITY_VERSION)?1:0;if(c.COLORTERM==="truecolor"||c.TERM==="xterm-kitty")return 3;if("TERM_PROGRAM"in c){let o=Number.parseInt((c.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(c.TERM_PROGRAM){case"iTerm.app":return o>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(c.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(c.TERM)||"COLORTERM"in c?1:D}function qt(e,t={}){let r=sn(e,{streamIsTTY:e&&e.isTTY,...t});return nn(r)}var on={stdout:qt({isTTY:we.default.isatty(1)}),stderr:qt({isTTY:we.default.isatty(2)})},jt=on;function Nt(e,t,r){let u=e.indexOf(t);if(u===-1)return e;let i=t.length,D=0,o="";do o+=e.slice(D,u)+t+r,D=u+i,u=e.indexOf(t,D);while(u!==-1);return o+=e.slice(D),o}function Gt(e,t,r,u){let i=0,D="";do{let o=e[u-1]==="\r";D+=e.slice(i,o?u-1:u)+t+(o?`\r
3
+ `:`
4
+ `)+r,i=u+1,u=e.indexOf(`
5
+ `,i)}while(u!==-1);return D+=e.slice(i),D}var{stdout:Mt,stderr:Lt}=jt,Pe=Symbol("GENERATOR"),x=Symbol("STYLER"),$=Symbol("IS_EMPTY"),kt=["ansi","ansi","ansi256","ansi16m"],y=Object.create(null),an=(e,t={})=>{if(t.level&&!(Number.isInteger(t.level)&&t.level>=0&&t.level<=3))throw new Error("The `level` option should be an integer from 0 to 3");let r=Mt?Mt.level:0;e.level=t.level===void 0?r:t.level};var Fn=e=>{let t=(...r)=>r.join(" ");return an(t,e),Object.setPrototypeOf(t,U.prototype),t};function U(e){return Fn(e)}Object.setPrototypeOf(U.prototype,Function.prototype);for(let[e,t]of Object.entries(g))y[e]={get(){let r=Fe(this,Re(t.open,t.close,this[x]),this[$]);return Object.defineProperty(this,e,{value:r}),r}};y.visible={get(){let e=Fe(this,this[x],!0);return Object.defineProperty(this,"visible",{value:e}),e}};var Se=(e,t,r,...u)=>e==="rgb"?t==="ansi16m"?g[r].ansi16m(...u):t==="ansi256"?g[r].ansi256(g.rgbToAnsi256(...u)):g[r].ansi(g.rgbToAnsi(...u)):e==="hex"?Se("rgb",t,r,...g.hexToRgb(...u)):g[r][e](...u),ln=["rgb","hex","ansi256"];for(let e of ln){y[e]={get(){let{level:r}=this;return function(...u){let i=Re(Se(e,kt[r],"color",...u),g.color.close,this[x]);return Fe(this,i,this[$])}}};let t="bg"+e[0].toUpperCase()+e.slice(1);y[t]={get(){let{level:r}=this;return function(...u){let i=Re(Se(e,kt[r],"bgColor",...u),g.bgColor.close,this[x]);return Fe(this,i,this[$])}}}}var cn=Object.defineProperties(()=>{},{...y,level:{enumerable:!0,get(){return this[Pe].level},set(e){this[Pe].level=e}}}),Re=(e,t,r)=>{let u,i;return r===void 0?(u=e,i=t):(u=r.openAll+e,i=t+r.closeAll),{open:e,close:t,openAll:u,closeAll:i,parent:r}},Fe=(e,t,r)=>{let u=(...i)=>fn(u,i.length===1?""+i[0]:i.join(" "));return Object.setPrototypeOf(u,cn),u[Pe]=e,u[x]=t,u[$]=r,u},fn=(e,t)=>{if(e.level<=0||!t)return e[$]?"":t;let r=e[x];if(r===void 0)return t;let{openAll:u,closeAll:i}=r;if(t.includes("\x1B"))for(;r!==void 0;)t=Nt(t,r.close,r.open),r=r.parent;let D=t.indexOf(`
6
+ `);return D!==-1&&(t=Gt(t,i,u,D)),u+t+i};Object.defineProperties(U.prototype,y);var pn=U(),tc=U({level:Lt?Lt.level:0});var d=pn;var ke=h(require("process"),1);var W=h(require("process"),1);var hn=(e,t,r,u)=>{if(r==="length"||r==="prototype"||r==="arguments"||r==="caller")return;let i=Object.getOwnPropertyDescriptor(e,r),D=Object.getOwnPropertyDescriptor(t,r);!Cn(i,D)&&u||Object.defineProperty(e,r,D)},Cn=function(e,t){return e===void 0||e.configurable||e.writable===t.writable&&e.enumerable===t.enumerable&&e.configurable===t.configurable&&(e.writable||e.value===t.value)},En=(e,t)=>{let r=Object.getPrototypeOf(t);r!==Object.getPrototypeOf(e)&&Object.setPrototypeOf(e,r)},gn=(e,t)=>`/* Wrapped ${e}*/
7
+ ${t}`,dn=Object.getOwnPropertyDescriptor(Function.prototype,"toString"),_n=Object.getOwnPropertyDescriptor(Function.prototype.toString,"name"),mn=(e,t,r)=>{let u=r===""?"":`with ${r.trim()}() `,i=gn.bind(null,u,t.toString());Object.defineProperty(i,"name",_n);let{writable:D,enumerable:o,configurable:s}=dn;Object.defineProperty(e,"toString",{value:i,writable:D,enumerable:o,configurable:s})};function qe(e,t,{ignoreNonConfigurable:r=!1}={}){let{name:u}=e;for(let i of Reflect.ownKeys(t))hn(e,t,i,r);return En(e,t),mn(e,t,u),e}var le=new WeakMap,$t=(e,t={})=>{if(typeof e!="function")throw new TypeError("Expected a function");let r,u=0,i=e.displayName||e.name||"<anonymous>",D=function(...o){if(le.set(D,++u),u===1)r=e.apply(this,o),e=void 0;else if(t.throw===!0)throw new Error(`Function \`${i}\` can only be called once`);return r};return qe(D,e),le.set(D,u),D};$t.callCount=e=>{if(!le.has(e))throw new Error(`The given function \`${e.name}\` is not wrapped by the \`onetime\` package`);return le.get(e)};var Ut=$t;var A=[];A.push("SIGHUP","SIGINT","SIGTERM");process.platform!=="win32"&&A.push("SIGALRM","SIGABRT","SIGVTALRM","SIGXCPU","SIGXFSZ","SIGUSR2","SIGTRAP","SIGSYS","SIGQUIT","SIGIOT");process.platform==="linux"&&A.push("SIGIO","SIGPOLL","SIGPWR","SIGSTKFLT");var ce=e=>!!e&&typeof e=="object"&&typeof e.removeListener=="function"&&typeof e.emit=="function"&&typeof e.reallyExit=="function"&&typeof e.listeners=="function"&&typeof e.kill=="function"&&typeof e.pid=="number"&&typeof e.on=="function",Ie=Symbol.for("signal-exit emitter"),je=globalThis,Bn=Object.defineProperty.bind(Object),Ne=class{emitted={afterExit:!1,exit:!1};listeners={afterExit:[],exit:[]};count=0;id=Math.random();constructor(){if(je[Ie])return je[Ie];Bn(je,Ie,{value:this,writable:!1,enumerable:!1,configurable:!1})}on(t,r){this.listeners[t].push(r)}removeListener(t,r){let u=this.listeners[t],i=u.indexOf(r);i!==-1&&(i===0&&u.length===1?u.length=0:u.splice(i,1))}emit(t,r,u){if(this.emitted[t])return!1;this.emitted[t]=!0;let i=!1;for(let D of this.listeners[t])i=D(r,u)===!0||i;return t==="exit"&&(i=this.emit("afterExit",r,u)||i),i}},fe=class{},An=e=>({onExit(t,r){return e.onExit(t,r)},load(){return e.load()},unload(){return e.unload()}}),Ge=class extends fe{onExit(){return()=>{}}load(){}unload(){}},Me=class extends fe{#n=Le.platform==="win32"?"SIGINT":"SIGHUP";#r=new Ne;#e;#i;#c;#t={};#D=!1;constructor(t){super(),this.#e=t,this.#t={};for(let r of A)this.#t[r]=()=>{let u=this.#e.listeners(r),{count:i}=this.#r,D=t;if(typeof D.__signal_exit_emitter__=="object"&&typeof D.__signal_exit_emitter__.count=="number"&&(i+=D.__signal_exit_emitter__.count),u.length===i){this.unload();let o=this.#r.emit("exit",null,r),s=r==="SIGHUP"?this.#n:r;o||t.kill(t.pid,s)}};this.#c=t.reallyExit,this.#i=t.emit}onExit(t,r){if(!ce(this.#e))return()=>{};this.#D===!1&&this.load();let u=r?.alwaysLast?"afterExit":"exit";return this.#r.on(u,t),()=>{this.#r.removeListener(u,t),this.#r.listeners.exit.length===0&&this.#r.listeners.afterExit.length===0&&this.unload()}}load(){if(!this.#D){this.#D=!0,this.#r.count+=1;for(let t of A)try{let r=this.#t[t];r&&this.#e.on(t,r)}catch{}this.#e.emit=(t,...r)=>this.#f(t,...r),this.#e.reallyExit=t=>this.#u(t)}}unload(){this.#D&&(this.#D=!1,A.forEach(t=>{let r=this.#t[t];if(!r)throw new Error("Listener not defined for signal: "+t);try{this.#e.removeListener(t,r)}catch{}}),this.#e.emit=this.#i,this.#e.reallyExit=this.#c,this.#r.count-=1)}#u(t){return ce(this.#e)?(this.#e.exitCode=t||0,this.#r.emit("exit",this.#e.exitCode,null),this.#c.call(this.#e,this.#e.exitCode)):0}#f(t,...r){let u=this.#i;if(t==="exit"&&ce(this.#e)){typeof r[0]=="number"&&(this.#e.exitCode=r[0]);let i=u.call(this.#e,t,...r);return this.#r.emit("exit",this.#e.exitCode,null),i}else return u.call(this.#e,t,...r)}},Le=globalThis.process,{onExit:Wt,load:oc,unload:ac}=An(ce(Le)?new Me(Le):new Ge);var Ht=W.default.stderr.isTTY?W.default.stderr:W.default.stdout.isTTY?W.default.stdout:void 0,bn=Ht?Ut(()=>{Wt(()=>{Ht.write("\x1B[?25h")},{alwaysLast:!0})}):()=>{},Yt=bn;var pe=!1,T={};T.show=(e=ke.default.stderr)=>{e.isTTY&&(pe=!1,e.write("\x1B[?25h"))};T.hide=(e=ke.default.stderr)=>{e.isTTY&&(Yt(),pe=!0,e.write("\x1B[?25l"))};T.toggle=(e,t)=>{e!==void 0&&(pe=e),pe?T.show(t):T.hide(t)};var $e=T;var z=h(Ue(),1);var E=h(require("process"),1);function We(){return E.default.platform!=="win32"?E.default.env.TERM!=="linux":!!E.default.env.CI||!!E.default.env.WT_SESSION||!!E.default.env.TERMINUS_SUBLIME||E.default.env.ConEmuTask==="{cmd::Cmder}"||E.default.env.TERM_PROGRAM==="Terminus-Sublime"||E.default.env.TERM_PROGRAM==="vscode"||E.default.env.TERM==="xterm-256color"||E.default.env.TERM==="alacritty"||E.default.env.TERMINAL_EMULATOR==="JetBrains-JediTerm"}var xn={info:d.blue("\u2139"),success:d.green("\u2714"),warning:d.yellow("\u26A0"),error:d.red("\u2716")},yn={info:d.blue("i"),success:d.green("\u221A"),warning:d.yellow("\u203C"),error:d.red("\xD7")},Tn=We()?xn:yn,H=Tn;function He({onlyFirst:e=!1}={}){let r=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?(?:\\u0007|\\u001B\\u005C|\\u009C))","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-nq-uy=><~]))"].join("|");return new RegExp(r,e?void 0:"g")}var On=He();function Y(e){if(typeof e!="string")throw new TypeError(`Expected a \`string\`, got \`${typeof e}\``);return e.replace(On,"")}function Xt(e){return e===161||e===164||e===167||e===168||e===170||e===173||e===174||e>=176&&e<=180||e>=182&&e<=186||e>=188&&e<=191||e===198||e===208||e===215||e===216||e>=222&&e<=225||e===230||e>=232&&e<=234||e===236||e===237||e===240||e===242||e===243||e>=247&&e<=250||e===252||e===254||e===257||e===273||e===275||e===283||e===294||e===295||e===299||e>=305&&e<=307||e===312||e>=319&&e<=322||e===324||e>=328&&e<=331||e===333||e===338||e===339||e===358||e===359||e===363||e===462||e===464||e===466||e===468||e===470||e===472||e===474||e===476||e===593||e===609||e===708||e===711||e>=713&&e<=715||e===717||e===720||e>=728&&e<=731||e===733||e===735||e>=768&&e<=879||e>=913&&e<=929||e>=931&&e<=937||e>=945&&e<=961||e>=963&&e<=969||e===1025||e>=1040&&e<=1103||e===1105||e===8208||e>=8211&&e<=8214||e===8216||e===8217||e===8220||e===8221||e>=8224&&e<=8226||e>=8228&&e<=8231||e===8240||e===8242||e===8243||e===8245||e===8251||e===8254||e===8308||e===8319||e>=8321&&e<=8324||e===8364||e===8451||e===8453||e===8457||e===8467||e===8470||e===8481||e===8482||e===8486||e===8491||e===8531||e===8532||e>=8539&&e<=8542||e>=8544&&e<=8555||e>=8560&&e<=8569||e===8585||e>=8592&&e<=8601||e===8632||e===8633||e===8658||e===8660||e===8679||e===8704||e===8706||e===8707||e===8711||e===8712||e===8715||e===8719||e===8721||e===8725||e===8730||e>=8733&&e<=8736||e===8739||e===8741||e>=8743&&e<=8748||e===8750||e>=8756&&e<=8759||e===8764||e===8765||e===8776||e===8780||e===8786||e===8800||e===8801||e>=8804&&e<=8807||e===8810||e===8811||e===8814||e===8815||e===8834||e===8835||e===8838||e===8839||e===8853||e===8857||e===8869||e===8895||e===8978||e>=9312&&e<=9449||e>=9451&&e<=9547||e>=9552&&e<=9587||e>=9600&&e<=9615||e>=9618&&e<=9621||e===9632||e===9633||e>=9635&&e<=9641||e===9650||e===9651||e===9654||e===9655||e===9660||e===9661||e===9664||e===9665||e>=9670&&e<=9672||e===9675||e>=9678&&e<=9681||e>=9698&&e<=9701||e===9711||e===9733||e===9734||e===9737||e===9742||e===9743||e===9756||e===9758||e===9792||e===9794||e===9824||e===9825||e>=9827&&e<=9829||e>=9831&&e<=9834||e===9836||e===9837||e===9839||e===9886||e===9887||e===9919||e>=9926&&e<=9933||e>=9935&&e<=9939||e>=9941&&e<=9953||e===9955||e===9960||e===9961||e>=9963&&e<=9969||e===9972||e>=9974&&e<=9977||e===9979||e===9980||e===9982||e===9983||e===10045||e>=10102&&e<=10111||e>=11094&&e<=11097||e>=12872&&e<=12879||e>=57344&&e<=63743||e>=65024&&e<=65039||e===65533||e>=127232&&e<=127242||e>=127248&&e<=127277||e>=127280&&e<=127337||e>=127344&&e<=127373||e===127375||e===127376||e>=127387&&e<=127404||e>=917760&&e<=917999||e>=983040&&e<=1048573||e>=1048576&&e<=1114109}function Jt(e){return e===12288||e>=65281&&e<=65376||e>=65504&&e<=65510}function Zt(e){return e>=4352&&e<=4447||e===8986||e===8987||e===9001||e===9002||e>=9193&&e<=9196||e===9200||e===9203||e===9725||e===9726||e===9748||e===9749||e>=9776&&e<=9783||e>=9800&&e<=9811||e===9855||e>=9866&&e<=9871||e===9875||e===9889||e===9898||e===9899||e===9917||e===9918||e===9924||e===9925||e===9934||e===9940||e===9962||e===9970||e===9971||e===9973||e===9978||e===9981||e===9989||e===9994||e===9995||e===10024||e===10060||e===10062||e>=10067&&e<=10069||e===10071||e>=10133&&e<=10135||e===10160||e===10175||e===11035||e===11036||e===11088||e===11093||e>=11904&&e<=11929||e>=11931&&e<=12019||e>=12032&&e<=12245||e>=12272&&e<=12287||e>=12289&&e<=12350||e>=12353&&e<=12438||e>=12441&&e<=12543||e>=12549&&e<=12591||e>=12593&&e<=12686||e>=12688&&e<=12773||e>=12783&&e<=12830||e>=12832&&e<=12871||e>=12880&&e<=42124||e>=42128&&e<=42182||e>=43360&&e<=43388||e>=44032&&e<=55203||e>=63744&&e<=64255||e>=65040&&e<=65049||e>=65072&&e<=65106||e>=65108&&e<=65126||e>=65128&&e<=65131||e>=94176&&e<=94180||e===94192||e===94193||e>=94208&&e<=100343||e>=100352&&e<=101589||e>=101631&&e<=101640||e>=110576&&e<=110579||e>=110581&&e<=110587||e===110589||e===110590||e>=110592&&e<=110882||e===110898||e>=110928&&e<=110930||e===110933||e>=110948&&e<=110951||e>=110960&&e<=111355||e>=119552&&e<=119638||e>=119648&&e<=119670||e===126980||e===127183||e===127374||e>=127377&&e<=127386||e>=127488&&e<=127490||e>=127504&&e<=127547||e>=127552&&e<=127560||e===127568||e===127569||e>=127584&&e<=127589||e>=127744&&e<=127776||e>=127789&&e<=127797||e>=127799&&e<=127868||e>=127870&&e<=127891||e>=127904&&e<=127946||e>=127951&&e<=127955||e>=127968&&e<=127984||e===127988||e>=127992&&e<=128062||e===128064||e>=128066&&e<=128252||e>=128255&&e<=128317||e>=128331&&e<=128334||e>=128336&&e<=128359||e===128378||e===128405||e===128406||e===128420||e>=128507&&e<=128591||e>=128640&&e<=128709||e===128716||e>=128720&&e<=128722||e>=128725&&e<=128727||e>=128732&&e<=128735||e===128747||e===128748||e>=128756&&e<=128764||e>=128992&&e<=129003||e===129008||e>=129292&&e<=129338||e>=129340&&e<=129349||e>=129351&&e<=129535||e>=129648&&e<=129660||e>=129664&&e<=129673||e>=129679&&e<=129734||e>=129742&&e<=129756||e>=129759&&e<=129769||e>=129776&&e<=129784||e>=131072&&e<=196605||e>=196608&&e<=262141}function wn(e){if(!Number.isSafeInteger(e))throw new TypeError(`Expected a code point, got \`${typeof e}\`.`)}function Qt(e,{ambiguousAsWide:t=!1}={}){return wn(e),Jt(e)||Zt(e)||t&&Xt(e)?2:1}var er=()=>/[#*0-9]\uFE0F?\u20E3|[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23ED-\u23EF\u23F1\u23F2\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB\u25FC\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692\u2694-\u2697\u2699\u269B\u269C\u26A0\u26A7\u26AA\u26B0\u26B1\u26BD\u26BE\u26C4\u26C8\u26CF\u26D1\u26E9\u26F0-\u26F5\u26F7\u26F8\u26FA\u2702\u2708\u2709\u270F\u2712\u2714\u2716\u271D\u2721\u2733\u2734\u2744\u2747\u2757\u2763\u27A1\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B55\u3030\u303D\u3297\u3299]\uFE0F?|[\u261D\u270C\u270D](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?|[\u270A\u270B](?:\uD83C[\uDFFB-\uDFFF])?|[\u23E9-\u23EC\u23F0\u23F3\u25FD\u2693\u26A1\u26AB\u26C5\u26CE\u26D4\u26EA\u26FD\u2705\u2728\u274C\u274E\u2753-\u2755\u2795-\u2797\u27B0\u27BF\u2B50]|\u26D3\uFE0F?(?:\u200D\uD83D\uDCA5)?|\u26F9(?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|\u2764\uFE0F?(?:\u200D(?:\uD83D\uDD25|\uD83E\uDE79))?|\uD83C(?:[\uDC04\uDD70\uDD71\uDD7E\uDD7F\uDE02\uDE37\uDF21\uDF24-\uDF2C\uDF36\uDF7D\uDF96\uDF97\uDF99-\uDF9B\uDF9E\uDF9F\uDFCD\uDFCE\uDFD4-\uDFDF\uDFF5\uDFF7]\uFE0F?|[\uDF85\uDFC2\uDFC7](?:\uD83C[\uDFFB-\uDFFF])?|[\uDFC4\uDFCA](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDFCB\uDFCC](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDCCF\uDD8E\uDD91-\uDD9A\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF43\uDF45-\uDF4A\uDF4C-\uDF7C\uDF7E-\uDF84\uDF86-\uDF93\uDFA0-\uDFC1\uDFC5\uDFC6\uDFC8\uDFC9\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF8-\uDFFF]|\uDDE6\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF]|\uDDE7\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF]|\uDDE8\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF7\uDDFA-\uDDFF]|\uDDE9\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF]|\uDDEA\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA]|\uDDEB\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7]|\uDDEC\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE]|\uDDED\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA]|\uDDEE\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9]|\uDDEF\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5]|\uDDF0\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF]|\uDDF1\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE]|\uDDF2\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF]|\uDDF3\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF]|\uDDF4\uD83C\uDDF2|\uDDF5\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE]|\uDDF6\uD83C\uDDE6|\uDDF7\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC]|\uDDF8\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF]|\uDDF9\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF]|\uDDFA\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF]|\uDDFB\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA]|\uDDFC\uD83C[\uDDEB\uDDF8]|\uDDFD\uD83C\uDDF0|\uDDFE\uD83C[\uDDEA\uDDF9]|\uDDFF\uD83C[\uDDE6\uDDF2\uDDFC]|\uDF44(?:\u200D\uD83D\uDFEB)?|\uDF4B(?:\u200D\uD83D\uDFE9)?|\uDFC3(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?|\uDFF3\uFE0F?(?:\u200D(?:\u26A7\uFE0F?|\uD83C\uDF08))?|\uDFF4(?:\u200D\u2620\uFE0F?|\uDB40\uDC67\uDB40\uDC62\uDB40(?:\uDC65\uDB40\uDC6E\uDB40\uDC67|\uDC73\uDB40\uDC63\uDB40\uDC74|\uDC77\uDB40\uDC6C\uDB40\uDC73)\uDB40\uDC7F)?)|\uD83D(?:[\uDC3F\uDCFD\uDD49\uDD4A\uDD6F\uDD70\uDD73\uDD76-\uDD79\uDD87\uDD8A-\uDD8D\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA\uDECB\uDECD-\uDECF\uDEE0-\uDEE5\uDEE9\uDEF0\uDEF3]\uFE0F?|[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC](?:\uD83C[\uDFFB-\uDFFF])?|[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4\uDEB5](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD74\uDD90](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?|[\uDC00-\uDC07\uDC09-\uDC14\uDC16-\uDC25\uDC27-\uDC3A\uDC3C-\uDC3E\uDC40\uDC44\uDC45\uDC51-\uDC65\uDC6A\uDC79-\uDC7B\uDC7D-\uDC80\uDC84\uDC88-\uDC8E\uDC90\uDC92-\uDCA9\uDCAB-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDDA4\uDDFB-\uDE2D\uDE2F-\uDE34\uDE37-\uDE41\uDE43\uDE44\uDE48-\uDE4A\uDE80-\uDEA2\uDEA4-\uDEB3\uDEB7-\uDEBF\uDEC1-\uDEC5\uDED0-\uDED2\uDED5-\uDED7\uDEDC-\uDEDF\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB\uDFF0]|\uDC08(?:\u200D\u2B1B)?|\uDC15(?:\u200D\uD83E\uDDBA)?|\uDC26(?:\u200D(?:\u2B1B|\uD83D\uDD25))?|\uDC3B(?:\u200D\u2744\uFE0F?)?|\uDC41\uFE0F?(?:\u200D\uD83D\uDDE8\uFE0F?)?|\uDC68(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDC68\uDC69]\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFE])))?))?|\uDC69(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?[\uDC68\uDC69]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?|\uDC69\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?))|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFE])))?))?|\uDC6F(?:\u200D[\u2640\u2642]\uFE0F?)?|\uDD75(?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|\uDE2E(?:\u200D\uD83D\uDCA8)?|\uDE35(?:\u200D\uD83D\uDCAB)?|\uDE36(?:\u200D\uD83C\uDF2B\uFE0F?)?|\uDE42(?:\u200D[\u2194\u2195]\uFE0F?)?|\uDEB6(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?)|\uD83E(?:[\uDD0C\uDD0F\uDD18-\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5\uDEC3-\uDEC5\uDEF0\uDEF2-\uDEF8](?:\uD83C[\uDFFB-\uDFFF])?|[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD\uDDCF\uDDD4\uDDD6-\uDDDD](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDDDE\uDDDF](?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD0D\uDD0E\uDD10-\uDD17\uDD20-\uDD25\uDD27-\uDD2F\uDD3A\uDD3F-\uDD45\uDD47-\uDD76\uDD78-\uDDB4\uDDB7\uDDBA\uDDBC-\uDDCC\uDDD0\uDDE0-\uDDFF\uDE70-\uDE7C\uDE80-\uDE89\uDE8F-\uDEC2\uDEC6\uDECE-\uDEDC\uDEDF-\uDEE9]|\uDD3C(?:\u200D[\u2640\u2642]\uFE0F?|\uD83C[\uDFFB-\uDFFF])?|\uDDCE(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?|\uDDD1(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1|\uDDD1\u200D\uD83E\uDDD2(?:\u200D\uD83E\uDDD2)?|\uDDD2(?:\u200D\uD83E\uDDD2)?))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFC-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFD-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFD\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFE]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?))?|\uDEF1(?:\uD83C(?:\uDFFB(?:\u200D\uD83E\uDEF2\uD83C[\uDFFC-\uDFFF])?|\uDFFC(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFD-\uDFFF])?|\uDFFD(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])?|\uDFFE(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFD\uDFFF])?|\uDFFF(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFE])?))?)/g;var Pn=new Intl.Segmenter,Sn=/^\p{Default_Ignorable_Code_Point}$/u;function Ye(e,t={}){if(typeof e!="string"||e.length===0)return 0;let{ambiguousIsNarrow:r=!0,countAnsiEscapeCodes:u=!1}=t;if(u||(e=Y(e)),e.length===0)return 0;let i=0,D={ambiguousAsWide:!r};for(let{segment:o}of Pn.segment(e)){let s=o.codePointAt(0);if(!(s<=31||s>=127&&s<=159)&&!(s>=8203&&s<=8207||s===65279)&&!(s>=768&&s<=879||s>=6832&&s<=6911||s>=7616&&s<=7679||s>=8400&&s<=8447||s>=65056&&s<=65071)&&!(s>=55296&&s<=57343)&&!(s>=65024&&s<=65039)&&!Sn.test(o)){if(er().test(o)){i+=2;continue}i+=Qt(s,D)}}return i}function Ve({stream:e=process.stdout}={}){return!!(e&&e.isTTY&&process.env.TERM!=="dumb"&&!("CI"in process.env))}var ze=h(require("process"),1);function Ke(){let{env:e}=ze.default,{TERM:t,TERM_PROGRAM:r}=e;return ze.default.platform!=="win32"?t!=="linux":!!e.WT_SESSION||!!e.TERMINUS_SUBLIME||e.ConEmuTask==="{cmd::Cmder}"||r==="Terminus-Sublime"||r==="vscode"||t==="xterm-256color"||t==="alacritty"||t==="rxvt-unicode"||t==="rxvt-unicode-256color"||e.TERMINAL_EMULATOR==="JetBrains-JediTerm"}var _=h(require("process"),1),Rn=3,Xe=class{#n=0;start(){this.#n++,this.#n===1&&this.#r()}stop(){if(this.#n<=0)throw new Error("`stop` called more times than `start`");this.#n--,this.#n===0&&this.#e()}#r(){_.default.platform==="win32"||!_.default.stdin.isTTY||(_.default.stdin.setRawMode(!0),_.default.stdin.on("data",this.#i),_.default.stdin.resume())}#e(){_.default.stdin.isTTY&&(_.default.stdin.off("data",this.#i),_.default.stdin.pause(),_.default.stdin.setRawMode(!1))}#i(t){t[0]===Rn&&_.default.emit("SIGINT")}},qn=new Xe,Je=qn;var In=h(Ue(),1),Ze=class{#n=0;#r=!1;#e=0;#i=-1;#c=0;#t;#D;#u;#f;#h;#a;#F;#l;#C;#s;#o;color;constructor(t){typeof t=="string"&&(t={text:t}),this.#t={color:"cyan",stream:V.default.stderr,discardStdin:!0,hideCursor:!0,...t},this.color=this.#t.color,this.spinner=this.#t.spinner,this.#h=this.#t.interval,this.#u=this.#t.stream,this.#a=typeof this.#t.isEnabled=="boolean"?this.#t.isEnabled:Ve({stream:this.#u}),this.#F=typeof this.#t.isSilent=="boolean"?this.#t.isSilent:!1,this.text=this.#t.text,this.prefixText=this.#t.prefixText,this.suffixText=this.#t.suffixText,this.indent=this.#t.indent,V.default.env.NODE_ENV==="test"&&(this._stream=this.#u,this._isEnabled=this.#a,Object.defineProperty(this,"_linesToClear",{get(){return this.#n},set(r){this.#n=r}}),Object.defineProperty(this,"_frameIndex",{get(){return this.#i}}),Object.defineProperty(this,"_lineCount",{get(){return this.#e}}))}get indent(){return this.#l}set indent(t=0){if(!(t>=0&&Number.isInteger(t)))throw new Error("The `indent` option must be an integer from 0 and up");this.#l=t,this.#p()}get interval(){return this.#h??this.#D.interval??100}get spinner(){return this.#D}set spinner(t){if(this.#i=-1,this.#h=void 0,typeof t=="object"){if(t.frames===void 0)throw new Error("The given spinner must have a `frames` property");this.#D=t}else if(!Ke())this.#D=z.default.line;else if(t===void 0)this.#D=z.default.dots;else if(t!=="default"&&z.default[t])this.#D=z.default[t];else throw new Error(`There is no built-in spinner named '${t}'. See https://github.com/sindresorhus/cli-spinners/blob/main/spinners.json for a full list.`)}get text(){return this.#C}set text(t=""){this.#C=t,this.#p()}get prefixText(){return this.#s}set prefixText(t=""){this.#s=t,this.#p()}get suffixText(){return this.#o}set suffixText(t=""){this.#o=t,this.#p()}get isSpinning(){return this.#f!==void 0}#E(t=this.#s,r=" "){return typeof t=="string"&&t!==""?t+r:typeof t=="function"?t()+r:""}#g(t=this.#o,r=" "){return typeof t=="string"&&t!==""?r+t:typeof t=="function"?r+t():""}#p(){let t=this.#u.columns??80,r=this.#E(this.#s,"-"),u=this.#g(this.#o,"-"),i=" ".repeat(this.#l)+r+"--"+this.#C+"--"+u;this.#e=0;for(let D of Y(i).split(`
8
+ `))this.#e+=Math.max(1,Math.ceil(Ye(D,{countAnsiEscapeCodes:!0})/t))}get isEnabled(){return this.#a&&!this.#F}set isEnabled(t){if(typeof t!="boolean")throw new TypeError("The `isEnabled` option must be a boolean");this.#a=t}get isSilent(){return this.#F}set isSilent(t){if(typeof t!="boolean")throw new TypeError("The `isSilent` option must be a boolean");this.#F=t}frame(){let t=Date.now();(this.#i===-1||t-this.#c>=this.interval)&&(this.#i=++this.#i%this.#D.frames.length,this.#c=t);let{frames:r}=this.#D,u=r[this.#i];this.color&&(u=d[this.color](u));let i=typeof this.#s=="string"&&this.#s!==""?this.#s+" ":"",D=typeof this.text=="string"?" "+this.text:"",o=typeof this.#o=="string"&&this.#o!==""?" "+this.#o:"";return i+u+D+o}clear(){if(!this.#a||!this.#u.isTTY)return this;this.#u.cursorTo(0);for(let t=0;t<this.#n;t++)t>0&&this.#u.moveCursor(0,-1),this.#u.clearLine(1);return(this.#l||this.lastIndent!==this.#l)&&this.#u.cursorTo(this.#l),this.lastIndent=this.#l,this.#n=0,this}render(){return this.#F?this:(this.clear(),this.#u.write(this.frame()),this.#n=this.#e,this)}start(t){return t&&(this.text=t),this.#F?this:this.#a?this.isSpinning?this:(this.#t.hideCursor&&$e.hide(this.#u),this.#t.discardStdin&&V.default.stdin.isTTY&&(this.#r=!0,Je.start()),this.render(),this.#f=setInterval(this.render.bind(this),this.interval),this):(this.text&&this.#u.write(`- ${this.text}
9
+ `),this)}stop(){return this.#a?(clearInterval(this.#f),this.#f=void 0,this.#i=0,this.clear(),this.#t.hideCursor&&$e.show(this.#u),this.#t.discardStdin&&V.default.stdin.isTTY&&this.#r&&(Je.stop(),this.#r=!1),this):this}succeed(t){return this.stopAndPersist({symbol:H.success,text:t})}fail(t){return this.stopAndPersist({symbol:H.error,text:t})}warn(t){return this.stopAndPersist({symbol:H.warning,text:t})}info(t){return this.stopAndPersist({symbol:H.info,text:t})}stopAndPersist(t={}){if(this.#F)return this;let r=t.prefixText??this.#s,u=this.#E(r," "),i=t.symbol??" ",D=t.text??this.text,s=typeof D=="string"?(i?" ":"")+D:"",a=t.suffixText??this.#o,f=this.#g(a," "),p=u+i+s+f+`
10
+ `;return this.stop(),this.#u.write(p),this}};function tr(e){return new Ze(e)}async function rr(e,t){let r=typeof e=="function",u=typeof e.then=="function";if(!r&&!u)throw new TypeError("Parameter `action` must be a Function or a Promise");let{successText:i,failText:D}=typeof t=="object"?t:{successText:void 0,failText:void 0},o=tr(t).start();try{let a=await(r?e(o):e);return o.succeed(i===void 0?void 0:typeof i=="string"?i:i(a)),a}catch(s){throw o.fail(D===void 0?void 0:typeof D=="string"?D:D(s)),s}}var HD=require("fs");var P=require("path"),me=require("fs"),cr=h(lr(),1),Dt=require("fs");var de=require("fs"),X=class{static ensureDir(t){(0,de.existsSync)(t)||(0,de.mkdirSync)(t,{recursive:!0})}};var{copyFile:rs,stat:us}=Dt.promises,_e=class e{constructor(t,r=e.IGNORE_FILE){this.ignoreTargetPath=t;this.ignoreFile=r}static IGNORE_FILE=".gitignore.template";getIg(t=this.ignoreTargetPath){let r=(0,P.join)(t,this.ignoreFile);if(!(0,me.existsSync)(r))return;let D=(0,me.readFileSync)(r,"utf8").split(`
11
+ `).map(o=>o.trim()).filter(o=>o&&!o.startsWith("#"));return(0,cr.default)().add(D)}async copyFiles(t,r,u,i){let D=await Dt.promises.readdir(t);await Promise.all(D.map(async o=>{let s=(0,P.join)(t,o),a=(0,P.join)(r,o);if(u&&u.ignores(o))return;if(X.ensureDir((0,P.dirname)(a)),(await us(s)).isDirectory())await this.copyFiles(s,a,u,i);else{if(i&&await i(s,a))return;await rs(s,a)}}))}copyPaths({sourcePath:t,targetPath:r,copyCallback:u}){X.ensureDir(r);let i=this.getIg();return this.copyFiles(t,r,i,u)}};var L=require("fs"),kD=h(LD(),1),xe=class{constructor(){}isJSONFilePath(t){return t.endsWith(".json")||t.endsWith(".json.template")}isTemplateFilePath(t){return t.endsWith(".template")}getRealTemplateFilePath(t){return t.replace(".template","")}readFile(t){return(0,L.readFileSync)(t,"utf-8")}readJSONFile(t){return JSON.parse(this.readFile(t))}writeFile(t,r){(0,L.writeFileSync)(this.getRealTemplateFilePath(t),r,{encoding:"utf-8"})}replaceFile(t,r){let u=this.readFile(t);return Object.keys(r).forEach(i=>{let D=r[i];u=u.replace(new RegExp(`\\[TPL:${i}\\]`,"g"),typeof D=="string"?D:JSON.stringify(D))}),u}mergeJSONFile(t,r){let u=this.readJSONFile(t),i=(0,kD.default)(r,u);this.writeFile(t,JSON.stringify(i,null,2))}composeConfigFile(t,r,u){if(this.isTemplateFilePath(r)){let i=this.replaceFile(r,t);if(this.isJSONFilePath(r)&&this.isJSONFilePath(u)){let D=this.getRealTemplateFilePath(u);return(0,L.existsSync)(D)?(this.mergeJSONFile(D,JSON.parse(i)),!0):(this.writeFile(D,i),!0)}return this.writeFile(u,i),!0}return!1}};var $D=["pack-app"],ye=class{ora;context;subPackages;copyer;compose;constructor(t){let r=t.options?.templateRootPath;if(!r)throw new Error("template path not exit");if(!(0,HD.existsSync)(r))throw new Error("template path not exit");this.ora=rr,this.context=new UD.FeScriptContext(t),this.subPackages=["node-lib","react-app"],this.copyer=new _e((0,v.join)(this.context.options.configsRootPath,"_common")),this.compose=new xe}get logger(){return this.context.logger}async steps(t){try{return await WD.default.prompt(t)}catch(r){throw r.isTtyError,this.logger.error(r),r}}async action({label:t,task:r}){let u=r();u instanceof Promise||(u=Promise.resolve(u));let i=t;return this.ora(u,i),u}isPackageTemplate(t){return $D.includes(t)}async getGeneratorContext(){let t=Ot(this.subPackages,$D),r=await this.steps(t);if(this.isPackageTemplate(r.template)){let u=wt(this.subPackages),i=await this.steps(u);Object.assign(r,i)}return r.targetPath=(0,v.join)(process.cwd(),r.projectName),r.releasePath=r.releasePath||"src",r}async generate(){let t=await this.getGeneratorContext();if(this.logger.debug("context is:",t,this.context.options.templateRootPath),t.subPackages){await this.action({label:"Generate Directories(subPackages)",task:async()=>{await this.generateTemplateDir(t),await this.generateSubPackages(t),await this.generateConfigs(t,t.targetPath,"_common")}});return}await this.action({label:"Generate Directory",task:async()=>{await this.generateTemplateDir(t),await this.generateConfigs(t,t.targetPath,"_common"),await this.generateConfigs(t,t.targetPath,t.template)}})}async generateConfigs(t,r,u){let i=(s,a)=>(this.logger.debug("copyCallback",s,a),this.compose.composeConfigFile(t,s,a)),{configsRootPath:D,config:o}=this.context.options;if(!o){this.logger.debug("no copy config files");return}await this.copyer.copyPaths({sourcePath:(0,v.join)(D,u),targetPath:r,copyCallback:i})}generateTemplateDir(t){return this.copyer.copyPaths({sourcePath:(0,v.join)(this.context.options.templateRootPath,t.template),targetPath:t.targetPath})}async generateSubPackages(t){let{packagesNames:r="packages",subPackages:u=[],targetPath:i=""}=t,{templateRootPath:D}=this.context.options;for(let o of u){let s=(0,v.join)(D,o),a=(0,v.join)(i,r,o);this.logger.debug("copy sub package",s,a),await this.copyer.copyPaths({sourcePath:s,targetPath:a})}}};var bt={name:"@qlover/create-app",version:"0.4.6",description:"Create a new app with a single command",private:!1,type:"module",files:["dist","package.json","README.md","CHANGELOG.md"],bin:{"create-app":"dist/index.js"},scripts:{build:"tsup","create:app":"node ./dist/index.js"},repository:{type:"git",url:"git+https://github.com/qlover/fe-base.git",directory:"packages/create-app"},homepage:"https://github.com/qlover/fe-base#readme",keywords:["create-app","fe-scripts","scripts"],author:"qlover",license:"ISC",publishConfig:{access:"public"},devDependencies:{"@qlover/logger":"workspace:*",ignore:"^7.0.3",lodash:"^4.17.21",ora:"^8.1.1"},dependencies:{"@qlover/scripts-context":"workspace:*",commander:"^13.1.0",inquirer:"^12.3.2"}};function Ul(){let e=new YD.Command;return e.version(bt.version,"-v, --version","Show version").description(bt.description).option("-d, --dry-run","Do not touch or write anything, but show the commands").option("-V, --verbose","Show more information").option("--config","Copy config files (default: true)",!0).option("--no-config","Do not copy config files"),e.parse(),e.opts()}async function Wl(){let{dryRun:e,verbose:t,...r}=Ul(),u=(0,vt.resolve)("./templates"),i=(0,vt.resolve)("./configs");(0,xt.existsSync)(u)||(console.error("Template is empty!"),process.exit(1)),(0,xt.existsSync)(i)||(console.error("Configs is empty!"),process.exit(1)),await new ye({dryRun:e,verbose:t,options:{...r,templateRootPath:u,configsRootPath:i}}).generate()}Wl().catch(e=>{console.error(e),process.exit(1)});
@@ -0,0 +1 @@
1
+ #!/usr/bin/env node