create-pixi-vn 1.4.2 → 1.5.1

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 (452) hide show
  1. package/dist/index.mjs +39 -39
  2. package/package.json +5 -2
  3. package/template-react-vite-muijoy/src/screens/MainMenu.tsx +4 -4
  4. package/template-react-vite-muijoy-ink/src/screens/MainMenu.tsx +4 -4
  5. package/template-react-vite-muijoy-ink-tauri/src/screens/MainMenu.tsx +4 -4
  6. package/template-react-vite-muijoy-tauri/src/screens/MainMenu.tsx +4 -4
  7. package/template-story-react-vite-muijoy/.eslintrc.cjs +18 -0
  8. package/template-story-react-vite-muijoy/.vscode/extensions.json +9 -0
  9. package/template-story-react-vite-muijoy/.vscode/launch.json +16 -0
  10. package/template-story-react-vite-muijoy/.vscode/settings.json +60 -0
  11. package/template-story-react-vite-muijoy/README.md +112 -0
  12. package/template-story-react-vite-muijoy/_gitignore +23 -0
  13. package/template-story-react-vite-muijoy/index.html +13 -0
  14. package/template-story-react-vite-muijoy/package.json +69 -0
  15. package/template-story-react-vite-muijoy/public/apple-touch-icon.png +0 -0
  16. package/template-story-react-vite-muijoy/public/favicon.ico +0 -0
  17. package/template-story-react-vite-muijoy/public/mask-icon.svg +890 -0
  18. package/template-story-react-vite-muijoy/public/pixi-vn.svg +23 -0
  19. package/template-story-react-vite-muijoy/public/pwa-192x192.png +0 -0
  20. package/template-story-react-vite-muijoy/public/pwa-512x512.png +0 -0
  21. package/template-story-react-vite-muijoy/public/robots.txt +3 -0
  22. package/template-story-react-vite-muijoy/src/App.css +45 -0
  23. package/template-story-react-vite-muijoy/src/App.tsx +54 -0
  24. package/template-story-react-vite-muijoy/src/AppRoutes.tsx +39 -0
  25. package/template-story-react-vite-muijoy/src/Home.tsx +48 -0
  26. package/template-story-react-vite-muijoy/src/Imports.tsx +25 -0
  27. package/template-story-react-vite-muijoy/src/assets/manifest.ts +258 -0
  28. package/template-story-react-vite-muijoy/src/components/AnimatedDots.tsx +45 -0
  29. package/template-story-react-vite-muijoy/src/components/ChoiceButton.tsx +15 -0
  30. package/template-story-react-vite-muijoy/src/components/GameSaveSlot.tsx +140 -0
  31. package/template-story-react-vite-muijoy/src/components/MenuButton.tsx +37 -0
  32. package/template-story-react-vite-muijoy/src/components/ModalConfirmation.tsx +61 -0
  33. package/template-story-react-vite-muijoy/src/components/ModalDialog.tsx +71 -0
  34. package/template-story-react-vite-muijoy/src/components/NextButton.tsx +53 -0
  35. package/template-story-react-vite-muijoy/src/components/ReturnMainMenuButton.tsx +69 -0
  36. package/template-story-react-vite-muijoy/src/components/SettingButton.tsx +52 -0
  37. package/template-story-react-vite-muijoy/src/components/SliderResizer.tsx +51 -0
  38. package/template-story-react-vite-muijoy/src/components/TextMenuButton.tsx +48 -0
  39. package/template-story-react-vite-muijoy/src/components/TypographyShadow.tsx +19 -0
  40. package/template-story-react-vite-muijoy/src/constans.ts +9 -0
  41. package/template-story-react-vite-muijoy/src/hooks/motion-hooks.ts +17 -0
  42. package/template-story-react-vite-muijoy/src/hooks/useClosePageDetector.ts +32 -0
  43. package/template-story-react-vite-muijoy/src/hooks/useDebouncedEffect.ts +33 -0
  44. package/template-story-react-vite-muijoy/src/hooks/useGameProps.ts +18 -0
  45. package/template-story-react-vite-muijoy/src/hooks/useInterval.ts +44 -0
  46. package/template-story-react-vite-muijoy/src/hooks/useKeyDetector.ts +19 -0
  47. package/template-story-react-vite-muijoy/src/hooks/useKeyboardDetector.ts +71 -0
  48. package/template-story-react-vite-muijoy/src/hooks/useMyNavigate.ts +19 -0
  49. package/template-story-react-vite-muijoy/src/hooks/useNarrationFunctions.ts +75 -0
  50. package/template-story-react-vite-muijoy/src/hooks/useNetworkDetector.ts +18 -0
  51. package/template-story-react-vite-muijoy/src/hooks/useSkipAutoDetector.ts +52 -0
  52. package/template-story-react-vite-muijoy/src/i18n.ts +33 -0
  53. package/template-story-react-vite-muijoy/src/index.css +12 -0
  54. package/template-story-react-vite-muijoy/src/labels/animations-labels.ts +23 -0
  55. package/template-story-react-vite-muijoy/src/labels/startLabel.ts +1414 -0
  56. package/template-story-react-vite-muijoy/src/locales/strings_en.json +60 -0
  57. package/template-story-react-vite-muijoy/src/main.tsx +49 -0
  58. package/template-story-react-vite-muijoy/src/models/Character.ts +62 -0
  59. package/template-story-react-vite-muijoy/src/models/GameSaveData.ts +9 -0
  60. package/template-story-react-vite-muijoy/src/pixi-vn.d.ts +108 -0
  61. package/template-story-react-vite-muijoy/src/providers/ThemeProvider.tsx +170 -0
  62. package/template-story-react-vite-muijoy/src/screens/ChoiceMenu.tsx +81 -0
  63. package/template-story-react-vite-muijoy/src/screens/GameSaveScreen.tsx +129 -0
  64. package/template-story-react-vite-muijoy/src/screens/HistoryScreen.tsx +142 -0
  65. package/template-story-react-vite-muijoy/src/screens/LoadingScreen.tsx +24 -0
  66. package/template-story-react-vite-muijoy/src/screens/MainMenu.tsx +94 -0
  67. package/template-story-react-vite-muijoy/src/screens/NarrationScreen.tsx +152 -0
  68. package/template-story-react-vite-muijoy/src/screens/OfflineScreen.tsx +38 -0
  69. package/template-story-react-vite-muijoy/src/screens/PreviousDialoguesScreen.tsx +67 -0
  70. package/template-story-react-vite-muijoy/src/screens/QuickTools.tsx +142 -0
  71. package/template-story-react-vite-muijoy/src/screens/Settings.tsx +111 -0
  72. package/template-story-react-vite-muijoy/src/screens/modals/SaveLoadAlert.tsx +105 -0
  73. package/template-story-react-vite-muijoy/src/screens/modals/TextInput.tsx +70 -0
  74. package/template-story-react-vite-muijoy/src/screens/settings/AutoSettingToggle.tsx +24 -0
  75. package/template-story-react-vite-muijoy/src/screens/settings/DialoguesSettings.tsx +90 -0
  76. package/template-story-react-vite-muijoy/src/screens/settings/FullScreenSettings.tsx +46 -0
  77. package/template-story-react-vite-muijoy/src/screens/settings/HideInterfaceSettingToggle.tsx +34 -0
  78. package/template-story-react-vite-muijoy/src/screens/settings/OpenHistorySettingButton.tsx +40 -0
  79. package/template-story-react-vite-muijoy/src/screens/settings/SaveLoadSettingButtons.tsx +117 -0
  80. package/template-story-react-vite-muijoy/src/screens/settings/SkipSettingToggle.tsx +34 -0
  81. package/template-story-react-vite-muijoy/src/screens/settings/ThemeSettings.tsx +112 -0
  82. package/template-story-react-vite-muijoy/src/stores/useAutoInfoStore.ts +33 -0
  83. package/template-story-react-vite-muijoy/src/stores/useGameSaveScreenStore.ts +112 -0
  84. package/template-story-react-vite-muijoy/src/stores/useHistoryScreenStore.ts +23 -0
  85. package/template-story-react-vite-muijoy/src/stores/useInterfaceStore.ts +33 -0
  86. package/template-story-react-vite-muijoy/src/stores/useNetworkStore.ts +20 -0
  87. package/template-story-react-vite-muijoy/src/stores/useSettingsScreenStore.ts +23 -0
  88. package/template-story-react-vite-muijoy/src/stores/useSkipStore.ts +27 -0
  89. package/template-story-react-vite-muijoy/src/stores/useStepStore.ts +32 -0
  90. package/template-story-react-vite-muijoy/src/stores/useTypewriterStore.ts +41 -0
  91. package/template-story-react-vite-muijoy/src/use_query/useQueryInterface.ts +171 -0
  92. package/template-story-react-vite-muijoy/src/use_query/useQueryIsFullModeScreen.ts +10 -0
  93. package/template-story-react-vite-muijoy/src/use_query/useQueryLastSave.ts +11 -0
  94. package/template-story-react-vite-muijoy/src/use_query/useQuerySaves.ts +11 -0
  95. package/template-story-react-vite-muijoy/src/utils/assets-utility.ts +19 -0
  96. package/template-story-react-vite-muijoy/src/utils/component-utility.ts +29 -0
  97. package/template-story-react-vite-muijoy/src/utils/indexedDB-utility.ts +196 -0
  98. package/template-story-react-vite-muijoy/src/utils/save-utility.ts +140 -0
  99. package/template-story-react-vite-muijoy/src/values/characters.ts +23 -0
  100. package/template-story-react-vite-muijoy/src/vite-env.d.ts +4 -0
  101. package/template-story-react-vite-muijoy/tsconfig.json +27 -0
  102. package/template-story-react-vite-muijoy/tsconfig.node.json +11 -0
  103. package/template-story-react-vite-muijoy/vite.config.ts +56 -0
  104. package/template-story-react-vite-muijoy-ink/.eslintrc.cjs +18 -0
  105. package/template-story-react-vite-muijoy-ink/.vscode/extensions.json +10 -0
  106. package/template-story-react-vite-muijoy-ink/.vscode/launch.json +16 -0
  107. package/template-story-react-vite-muijoy-ink/.vscode/settings.json +60 -0
  108. package/template-story-react-vite-muijoy-ink/README.md +150 -0
  109. package/template-story-react-vite-muijoy-ink/_gitignore +23 -0
  110. package/template-story-react-vite-muijoy-ink/index.html +13 -0
  111. package/template-story-react-vite-muijoy-ink/package.json +70 -0
  112. package/template-story-react-vite-muijoy-ink/public/apple-touch-icon.png +0 -0
  113. package/template-story-react-vite-muijoy-ink/public/favicon.ico +0 -0
  114. package/template-story-react-vite-muijoy-ink/public/mask-icon.svg +890 -0
  115. package/template-story-react-vite-muijoy-ink/public/pixi-vn.svg +23 -0
  116. package/template-story-react-vite-muijoy-ink/public/pwa-192x192.png +0 -0
  117. package/template-story-react-vite-muijoy-ink/public/pwa-512x512.png +0 -0
  118. package/template-story-react-vite-muijoy-ink/public/robots.txt +3 -0
  119. package/template-story-react-vite-muijoy-ink/src/App.css +45 -0
  120. package/template-story-react-vite-muijoy-ink/src/App.tsx +55 -0
  121. package/template-story-react-vite-muijoy-ink/src/AppRoutes.tsx +39 -0
  122. package/template-story-react-vite-muijoy-ink/src/Home.tsx +50 -0
  123. package/template-story-react-vite-muijoy-ink/src/Imports.tsx +25 -0
  124. package/template-story-react-vite-muijoy-ink/src/assets/manifest.ts +257 -0
  125. package/template-story-react-vite-muijoy-ink/src/components/AnimatedDots.tsx +45 -0
  126. package/template-story-react-vite-muijoy-ink/src/components/ChoiceButton.tsx +15 -0
  127. package/template-story-react-vite-muijoy-ink/src/components/GameSaveSlot.tsx +140 -0
  128. package/template-story-react-vite-muijoy-ink/src/components/MenuButton.tsx +37 -0
  129. package/template-story-react-vite-muijoy-ink/src/components/ModalConfirmation.tsx +61 -0
  130. package/template-story-react-vite-muijoy-ink/src/components/ModalDialog.tsx +71 -0
  131. package/template-story-react-vite-muijoy-ink/src/components/NextButton.tsx +53 -0
  132. package/template-story-react-vite-muijoy-ink/src/components/ReturnMainMenuButton.tsx +69 -0
  133. package/template-story-react-vite-muijoy-ink/src/components/SettingButton.tsx +52 -0
  134. package/template-story-react-vite-muijoy-ink/src/components/SliderResizer.tsx +51 -0
  135. package/template-story-react-vite-muijoy-ink/src/components/TextMenuButton.tsx +48 -0
  136. package/template-story-react-vite-muijoy-ink/src/components/TypographyShadow.tsx +19 -0
  137. package/template-story-react-vite-muijoy-ink/src/constans.ts +9 -0
  138. package/template-story-react-vite-muijoy-ink/src/hooks/motion-hooks.ts +17 -0
  139. package/template-story-react-vite-muijoy-ink/src/hooks/useClosePageDetector.ts +32 -0
  140. package/template-story-react-vite-muijoy-ink/src/hooks/useDebouncedEffect.ts +33 -0
  141. package/template-story-react-vite-muijoy-ink/src/hooks/useGameProps.ts +18 -0
  142. package/template-story-react-vite-muijoy-ink/src/hooks/useInkInitialization.tsx +13 -0
  143. package/template-story-react-vite-muijoy-ink/src/hooks/useInterval.ts +44 -0
  144. package/template-story-react-vite-muijoy-ink/src/hooks/useKeyDetector.ts +19 -0
  145. package/template-story-react-vite-muijoy-ink/src/hooks/useKeyboardDetector.ts +71 -0
  146. package/template-story-react-vite-muijoy-ink/src/hooks/useMyNavigate.ts +19 -0
  147. package/template-story-react-vite-muijoy-ink/src/hooks/useNarrationFunctions.ts +75 -0
  148. package/template-story-react-vite-muijoy-ink/src/hooks/useNetworkDetector.ts +18 -0
  149. package/template-story-react-vite-muijoy-ink/src/hooks/useSkipAutoDetector.ts +52 -0
  150. package/template-story-react-vite-muijoy-ink/src/i18n.ts +45 -0
  151. package/template-story-react-vite-muijoy-ink/src/index.css +12 -0
  152. package/template-story-react-vite-muijoy-ink/src/ink/start.ink +764 -0
  153. package/template-story-react-vite-muijoy-ink/src/ink.d.ts +4 -0
  154. package/template-story-react-vite-muijoy-ink/src/labels/animations-labels.ts +23 -0
  155. package/template-story-react-vite-muijoy-ink/src/labels/index.ts +1 -0
  156. package/template-story-react-vite-muijoy-ink/src/locales/strings_en.json +60 -0
  157. package/template-story-react-vite-muijoy-ink/src/main-ink.ink +2 -0
  158. package/template-story-react-vite-muijoy-ink/src/main.tsx +49 -0
  159. package/template-story-react-vite-muijoy-ink/src/models/Character.ts +62 -0
  160. package/template-story-react-vite-muijoy-ink/src/models/GameSaveData.ts +9 -0
  161. package/template-story-react-vite-muijoy-ink/src/pixi-vn.d.ts +108 -0
  162. package/template-story-react-vite-muijoy-ink/src/providers/ThemeProvider.tsx +170 -0
  163. package/template-story-react-vite-muijoy-ink/src/screens/ChoiceMenu.tsx +81 -0
  164. package/template-story-react-vite-muijoy-ink/src/screens/GameSaveScreen.tsx +129 -0
  165. package/template-story-react-vite-muijoy-ink/src/screens/HistoryScreen.tsx +142 -0
  166. package/template-story-react-vite-muijoy-ink/src/screens/LoadingScreen.tsx +24 -0
  167. package/template-story-react-vite-muijoy-ink/src/screens/MainMenu.tsx +93 -0
  168. package/template-story-react-vite-muijoy-ink/src/screens/NarrationScreen.tsx +152 -0
  169. package/template-story-react-vite-muijoy-ink/src/screens/OfflineScreen.tsx +38 -0
  170. package/template-story-react-vite-muijoy-ink/src/screens/PreviousDialoguesScreen.tsx +67 -0
  171. package/template-story-react-vite-muijoy-ink/src/screens/QuickTools.tsx +142 -0
  172. package/template-story-react-vite-muijoy-ink/src/screens/Settings.tsx +111 -0
  173. package/template-story-react-vite-muijoy-ink/src/screens/modals/SaveLoadAlert.tsx +105 -0
  174. package/template-story-react-vite-muijoy-ink/src/screens/modals/TextInput.tsx +70 -0
  175. package/template-story-react-vite-muijoy-ink/src/screens/settings/AutoSettingToggle.tsx +24 -0
  176. package/template-story-react-vite-muijoy-ink/src/screens/settings/DialoguesSettings.tsx +90 -0
  177. package/template-story-react-vite-muijoy-ink/src/screens/settings/FullScreenSettings.tsx +46 -0
  178. package/template-story-react-vite-muijoy-ink/src/screens/settings/HideInterfaceSettingToggle.tsx +34 -0
  179. package/template-story-react-vite-muijoy-ink/src/screens/settings/OpenHistorySettingButton.tsx +40 -0
  180. package/template-story-react-vite-muijoy-ink/src/screens/settings/SaveLoadSettingButtons.tsx +117 -0
  181. package/template-story-react-vite-muijoy-ink/src/screens/settings/SkipSettingToggle.tsx +34 -0
  182. package/template-story-react-vite-muijoy-ink/src/screens/settings/ThemeSettings.tsx +112 -0
  183. package/template-story-react-vite-muijoy-ink/src/stores/useAutoInfoStore.ts +33 -0
  184. package/template-story-react-vite-muijoy-ink/src/stores/useGameSaveScreenStore.ts +112 -0
  185. package/template-story-react-vite-muijoy-ink/src/stores/useHistoryScreenStore.ts +23 -0
  186. package/template-story-react-vite-muijoy-ink/src/stores/useInterfaceStore.ts +33 -0
  187. package/template-story-react-vite-muijoy-ink/src/stores/useNetworkStore.ts +20 -0
  188. package/template-story-react-vite-muijoy-ink/src/stores/useSettingsScreenStore.ts +23 -0
  189. package/template-story-react-vite-muijoy-ink/src/stores/useSkipStore.ts +27 -0
  190. package/template-story-react-vite-muijoy-ink/src/stores/useStepStore.ts +32 -0
  191. package/template-story-react-vite-muijoy-ink/src/stores/useTypewriterStore.ts +41 -0
  192. package/template-story-react-vite-muijoy-ink/src/use_query/useQueryInterface.ts +171 -0
  193. package/template-story-react-vite-muijoy-ink/src/use_query/useQueryIsFullModeScreen.ts +10 -0
  194. package/template-story-react-vite-muijoy-ink/src/use_query/useQueryLastSave.ts +11 -0
  195. package/template-story-react-vite-muijoy-ink/src/use_query/useQuerySaves.ts +11 -0
  196. package/template-story-react-vite-muijoy-ink/src/utils/assets-utility.ts +19 -0
  197. package/template-story-react-vite-muijoy-ink/src/utils/component-utility.ts +29 -0
  198. package/template-story-react-vite-muijoy-ink/src/utils/indexedDB-utility.ts +196 -0
  199. package/template-story-react-vite-muijoy-ink/src/utils/ink-utility.ts +35 -0
  200. package/template-story-react-vite-muijoy-ink/src/utils/save-utility.ts +140 -0
  201. package/template-story-react-vite-muijoy-ink/src/values/characters.ts +23 -0
  202. package/template-story-react-vite-muijoy-ink/src/vite-env.d.ts +4 -0
  203. package/template-story-react-vite-muijoy-ink/tsconfig.json +27 -0
  204. package/template-story-react-vite-muijoy-ink/tsconfig.node.json +11 -0
  205. package/template-story-react-vite-muijoy-ink/vite.config.ts +57 -0
  206. package/template-story-react-vite-muijoy-ink-tauri/.eslintrc.cjs +18 -0
  207. package/template-story-react-vite-muijoy-ink-tauri/.vscode/extensions.json +13 -0
  208. package/template-story-react-vite-muijoy-ink-tauri/.vscode/launch.json +44 -0
  209. package/template-story-react-vite-muijoy-ink-tauri/.vscode/settings.json +60 -0
  210. package/template-story-react-vite-muijoy-ink-tauri/.vscode/tasks.json +29 -0
  211. package/template-story-react-vite-muijoy-ink-tauri/README.md +203 -0
  212. package/template-story-react-vite-muijoy-ink-tauri/_github/workflows/tauri.yml +129 -0
  213. package/template-story-react-vite-muijoy-ink-tauri/_gitignore +24 -0
  214. package/template-story-react-vite-muijoy-ink-tauri/index.html +13 -0
  215. package/template-story-react-vite-muijoy-ink-tauri/package.json +74 -0
  216. package/template-story-react-vite-muijoy-ink-tauri/public/apple-touch-icon.png +0 -0
  217. package/template-story-react-vite-muijoy-ink-tauri/public/favicon.ico +0 -0
  218. package/template-story-react-vite-muijoy-ink-tauri/public/mask-icon.svg +890 -0
  219. package/template-story-react-vite-muijoy-ink-tauri/public/pixi-vn.svg +23 -0
  220. package/template-story-react-vite-muijoy-ink-tauri/public/pwa-192x192.png +0 -0
  221. package/template-story-react-vite-muijoy-ink-tauri/public/pwa-512x512.png +0 -0
  222. package/template-story-react-vite-muijoy-ink-tauri/public/robots.txt +3 -0
  223. package/template-story-react-vite-muijoy-ink-tauri/src/App.css +45 -0
  224. package/template-story-react-vite-muijoy-ink-tauri/src/App.tsx +55 -0
  225. package/template-story-react-vite-muijoy-ink-tauri/src/AppRoutes.tsx +39 -0
  226. package/template-story-react-vite-muijoy-ink-tauri/src/Home.tsx +50 -0
  227. package/template-story-react-vite-muijoy-ink-tauri/src/Imports.tsx +25 -0
  228. package/template-story-react-vite-muijoy-ink-tauri/src/assets/manifest.ts +257 -0
  229. package/template-story-react-vite-muijoy-ink-tauri/src/components/AnimatedDots.tsx +45 -0
  230. package/template-story-react-vite-muijoy-ink-tauri/src/components/ChoiceButton.tsx +15 -0
  231. package/template-story-react-vite-muijoy-ink-tauri/src/components/GameSaveSlot.tsx +140 -0
  232. package/template-story-react-vite-muijoy-ink-tauri/src/components/MenuButton.tsx +37 -0
  233. package/template-story-react-vite-muijoy-ink-tauri/src/components/ModalConfirmation.tsx +61 -0
  234. package/template-story-react-vite-muijoy-ink-tauri/src/components/ModalDialog.tsx +71 -0
  235. package/template-story-react-vite-muijoy-ink-tauri/src/components/NextButton.tsx +53 -0
  236. package/template-story-react-vite-muijoy-ink-tauri/src/components/ReturnMainMenuButton.tsx +69 -0
  237. package/template-story-react-vite-muijoy-ink-tauri/src/components/SettingButton.tsx +52 -0
  238. package/template-story-react-vite-muijoy-ink-tauri/src/components/SliderResizer.tsx +51 -0
  239. package/template-story-react-vite-muijoy-ink-tauri/src/components/TextMenuButton.tsx +48 -0
  240. package/template-story-react-vite-muijoy-ink-tauri/src/components/TypographyShadow.tsx +19 -0
  241. package/template-story-react-vite-muijoy-ink-tauri/src/constans.ts +9 -0
  242. package/template-story-react-vite-muijoy-ink-tauri/src/hooks/motion-hooks.ts +17 -0
  243. package/template-story-react-vite-muijoy-ink-tauri/src/hooks/useClosePageDetector.ts +32 -0
  244. package/template-story-react-vite-muijoy-ink-tauri/src/hooks/useDebouncedEffect.ts +33 -0
  245. package/template-story-react-vite-muijoy-ink-tauri/src/hooks/useGameProps.ts +18 -0
  246. package/template-story-react-vite-muijoy-ink-tauri/src/hooks/useInkInitialization.tsx +13 -0
  247. package/template-story-react-vite-muijoy-ink-tauri/src/hooks/useInterval.ts +44 -0
  248. package/template-story-react-vite-muijoy-ink-tauri/src/hooks/useKeyDetector.ts +19 -0
  249. package/template-story-react-vite-muijoy-ink-tauri/src/hooks/useKeyboardDetector.ts +71 -0
  250. package/template-story-react-vite-muijoy-ink-tauri/src/hooks/useMyNavigate.ts +19 -0
  251. package/template-story-react-vite-muijoy-ink-tauri/src/hooks/useNarrationFunctions.ts +75 -0
  252. package/template-story-react-vite-muijoy-ink-tauri/src/hooks/useNetworkDetector.ts +18 -0
  253. package/template-story-react-vite-muijoy-ink-tauri/src/hooks/useSkipAutoDetector.ts +52 -0
  254. package/template-story-react-vite-muijoy-ink-tauri/src/i18n.ts +45 -0
  255. package/template-story-react-vite-muijoy-ink-tauri/src/index.css +12 -0
  256. package/template-story-react-vite-muijoy-ink-tauri/src/ink/start.ink +764 -0
  257. package/template-story-react-vite-muijoy-ink-tauri/src/ink.d.ts +4 -0
  258. package/template-story-react-vite-muijoy-ink-tauri/src/labels/animations-labels.ts +23 -0
  259. package/template-story-react-vite-muijoy-ink-tauri/src/labels/index.ts +1 -0
  260. package/template-story-react-vite-muijoy-ink-tauri/src/locales/strings_en.json +60 -0
  261. package/template-story-react-vite-muijoy-ink-tauri/src/main-ink.ink +2 -0
  262. package/template-story-react-vite-muijoy-ink-tauri/src/main.tsx +49 -0
  263. package/template-story-react-vite-muijoy-ink-tauri/src/models/Character.ts +62 -0
  264. package/template-story-react-vite-muijoy-ink-tauri/src/models/GameSaveData.ts +9 -0
  265. package/template-story-react-vite-muijoy-ink-tauri/src/pixi-vn.d.ts +108 -0
  266. package/template-story-react-vite-muijoy-ink-tauri/src/providers/ThemeProvider.tsx +170 -0
  267. package/template-story-react-vite-muijoy-ink-tauri/src/screens/ChoiceMenu.tsx +81 -0
  268. package/template-story-react-vite-muijoy-ink-tauri/src/screens/GameSaveScreen.tsx +129 -0
  269. package/template-story-react-vite-muijoy-ink-tauri/src/screens/HistoryScreen.tsx +142 -0
  270. package/template-story-react-vite-muijoy-ink-tauri/src/screens/LoadingScreen.tsx +24 -0
  271. package/template-story-react-vite-muijoy-ink-tauri/src/screens/MainMenu.tsx +93 -0
  272. package/template-story-react-vite-muijoy-ink-tauri/src/screens/NarrationScreen.tsx +152 -0
  273. package/template-story-react-vite-muijoy-ink-tauri/src/screens/OfflineScreen.tsx +38 -0
  274. package/template-story-react-vite-muijoy-ink-tauri/src/screens/PreviousDialoguesScreen.tsx +67 -0
  275. package/template-story-react-vite-muijoy-ink-tauri/src/screens/QuickTools.tsx +142 -0
  276. package/template-story-react-vite-muijoy-ink-tauri/src/screens/Settings.tsx +111 -0
  277. package/template-story-react-vite-muijoy-ink-tauri/src/screens/modals/SaveLoadAlert.tsx +105 -0
  278. package/template-story-react-vite-muijoy-ink-tauri/src/screens/modals/TextInput.tsx +70 -0
  279. package/template-story-react-vite-muijoy-ink-tauri/src/screens/settings/AutoSettingToggle.tsx +24 -0
  280. package/template-story-react-vite-muijoy-ink-tauri/src/screens/settings/DialoguesSettings.tsx +90 -0
  281. package/template-story-react-vite-muijoy-ink-tauri/src/screens/settings/FullScreenSettings.tsx +51 -0
  282. package/template-story-react-vite-muijoy-ink-tauri/src/screens/settings/HideInterfaceSettingToggle.tsx +34 -0
  283. package/template-story-react-vite-muijoy-ink-tauri/src/screens/settings/OpenHistorySettingButton.tsx +40 -0
  284. package/template-story-react-vite-muijoy-ink-tauri/src/screens/settings/SaveLoadSettingButtons.tsx +117 -0
  285. package/template-story-react-vite-muijoy-ink-tauri/src/screens/settings/SkipSettingToggle.tsx +34 -0
  286. package/template-story-react-vite-muijoy-ink-tauri/src/screens/settings/ThemeSettings.tsx +112 -0
  287. package/template-story-react-vite-muijoy-ink-tauri/src/stores/useAutoInfoStore.ts +33 -0
  288. package/template-story-react-vite-muijoy-ink-tauri/src/stores/useGameSaveScreenStore.ts +112 -0
  289. package/template-story-react-vite-muijoy-ink-tauri/src/stores/useHistoryScreenStore.ts +23 -0
  290. package/template-story-react-vite-muijoy-ink-tauri/src/stores/useInterfaceStore.ts +33 -0
  291. package/template-story-react-vite-muijoy-ink-tauri/src/stores/useNetworkStore.ts +20 -0
  292. package/template-story-react-vite-muijoy-ink-tauri/src/stores/useSettingsScreenStore.ts +23 -0
  293. package/template-story-react-vite-muijoy-ink-tauri/src/stores/useSkipStore.ts +27 -0
  294. package/template-story-react-vite-muijoy-ink-tauri/src/stores/useStepStore.ts +32 -0
  295. package/template-story-react-vite-muijoy-ink-tauri/src/stores/useTypewriterStore.ts +41 -0
  296. package/template-story-react-vite-muijoy-ink-tauri/src/use_query/useQueryInterface.ts +171 -0
  297. package/template-story-react-vite-muijoy-ink-tauri/src/use_query/useQueryIsFullModeScreen.ts +16 -0
  298. package/template-story-react-vite-muijoy-ink-tauri/src/use_query/useQueryLastSave.ts +11 -0
  299. package/template-story-react-vite-muijoy-ink-tauri/src/use_query/useQuerySaves.ts +11 -0
  300. package/template-story-react-vite-muijoy-ink-tauri/src/utils/assets-utility.ts +19 -0
  301. package/template-story-react-vite-muijoy-ink-tauri/src/utils/component-utility.ts +29 -0
  302. package/template-story-react-vite-muijoy-ink-tauri/src/utils/indexedDB-utility.ts +196 -0
  303. package/template-story-react-vite-muijoy-ink-tauri/src/utils/ink-utility.ts +35 -0
  304. package/template-story-react-vite-muijoy-ink-tauri/src/utils/save-utility.ts +140 -0
  305. package/template-story-react-vite-muijoy-ink-tauri/src/values/characters.ts +23 -0
  306. package/template-story-react-vite-muijoy-ink-tauri/src/vite-env.d.ts +4 -0
  307. package/template-story-react-vite-muijoy-ink-tauri/src-tauri/Cargo.toml +25 -0
  308. package/template-story-react-vite-muijoy-ink-tauri/src-tauri/build.rs +3 -0
  309. package/template-story-react-vite-muijoy-ink-tauri/src-tauri/capabilities/default.json +11 -0
  310. package/template-story-react-vite-muijoy-ink-tauri/src-tauri/icons/128x128.png +0 -0
  311. package/template-story-react-vite-muijoy-ink-tauri/src-tauri/icons/128x128@2x.png +0 -0
  312. package/template-story-react-vite-muijoy-ink-tauri/src-tauri/icons/32x32.png +0 -0
  313. package/template-story-react-vite-muijoy-ink-tauri/src-tauri/icons/Square107x107Logo.png +0 -0
  314. package/template-story-react-vite-muijoy-ink-tauri/src-tauri/icons/Square142x142Logo.png +0 -0
  315. package/template-story-react-vite-muijoy-ink-tauri/src-tauri/icons/Square150x150Logo.png +0 -0
  316. package/template-story-react-vite-muijoy-ink-tauri/src-tauri/icons/Square284x284Logo.png +0 -0
  317. package/template-story-react-vite-muijoy-ink-tauri/src-tauri/icons/Square30x30Logo.png +0 -0
  318. package/template-story-react-vite-muijoy-ink-tauri/src-tauri/icons/Square310x310Logo.png +0 -0
  319. package/template-story-react-vite-muijoy-ink-tauri/src-tauri/icons/Square44x44Logo.png +0 -0
  320. package/template-story-react-vite-muijoy-ink-tauri/src-tauri/icons/Square71x71Logo.png +0 -0
  321. package/template-story-react-vite-muijoy-ink-tauri/src-tauri/icons/Square89x89Logo.png +0 -0
  322. package/template-story-react-vite-muijoy-ink-tauri/src-tauri/icons/StoreLogo.png +0 -0
  323. package/template-story-react-vite-muijoy-ink-tauri/src-tauri/icons/icon.icns +0 -0
  324. package/template-story-react-vite-muijoy-ink-tauri/src-tauri/icons/icon.ico +0 -0
  325. package/template-story-react-vite-muijoy-ink-tauri/src-tauri/icons/icon.png +0 -0
  326. package/template-story-react-vite-muijoy-ink-tauri/src-tauri/src/lib.rs +14 -0
  327. package/template-story-react-vite-muijoy-ink-tauri/src-tauri/src/main.rs +6 -0
  328. package/template-story-react-vite-muijoy-ink-tauri/src-tauri/tauri.conf.json +37 -0
  329. package/template-story-react-vite-muijoy-ink-tauri/tsconfig.json +27 -0
  330. package/template-story-react-vite-muijoy-ink-tauri/tsconfig.node.json +11 -0
  331. package/template-story-react-vite-muijoy-ink-tauri/vite.config.ts +81 -0
  332. package/template-story-react-vite-muijoy-tauri/.eslintrc.cjs +18 -0
  333. package/template-story-react-vite-muijoy-tauri/.vscode/extensions.json +12 -0
  334. package/template-story-react-vite-muijoy-tauri/.vscode/launch.json +44 -0
  335. package/template-story-react-vite-muijoy-tauri/.vscode/settings.json +60 -0
  336. package/template-story-react-vite-muijoy-tauri/.vscode/tasks.json +29 -0
  337. package/template-story-react-vite-muijoy-tauri/README.md +166 -0
  338. package/template-story-react-vite-muijoy-tauri/_github/workflows/tauri.yml +129 -0
  339. package/template-story-react-vite-muijoy-tauri/_gitignore +24 -0
  340. package/template-story-react-vite-muijoy-tauri/index.html +13 -0
  341. package/template-story-react-vite-muijoy-tauri/package.json +73 -0
  342. package/template-story-react-vite-muijoy-tauri/public/apple-touch-icon.png +0 -0
  343. package/template-story-react-vite-muijoy-tauri/public/favicon.ico +0 -0
  344. package/template-story-react-vite-muijoy-tauri/public/mask-icon.svg +890 -0
  345. package/template-story-react-vite-muijoy-tauri/public/pixi-vn.svg +23 -0
  346. package/template-story-react-vite-muijoy-tauri/public/pwa-192x192.png +0 -0
  347. package/template-story-react-vite-muijoy-tauri/public/pwa-512x512.png +0 -0
  348. package/template-story-react-vite-muijoy-tauri/public/robots.txt +3 -0
  349. package/template-story-react-vite-muijoy-tauri/src/App.css +45 -0
  350. package/template-story-react-vite-muijoy-tauri/src/App.tsx +54 -0
  351. package/template-story-react-vite-muijoy-tauri/src/AppRoutes.tsx +39 -0
  352. package/template-story-react-vite-muijoy-tauri/src/Home.tsx +48 -0
  353. package/template-story-react-vite-muijoy-tauri/src/Imports.tsx +25 -0
  354. package/template-story-react-vite-muijoy-tauri/src/assets/manifest.ts +258 -0
  355. package/template-story-react-vite-muijoy-tauri/src/components/AnimatedDots.tsx +45 -0
  356. package/template-story-react-vite-muijoy-tauri/src/components/ChoiceButton.tsx +15 -0
  357. package/template-story-react-vite-muijoy-tauri/src/components/GameSaveSlot.tsx +140 -0
  358. package/template-story-react-vite-muijoy-tauri/src/components/MenuButton.tsx +37 -0
  359. package/template-story-react-vite-muijoy-tauri/src/components/ModalConfirmation.tsx +61 -0
  360. package/template-story-react-vite-muijoy-tauri/src/components/ModalDialog.tsx +71 -0
  361. package/template-story-react-vite-muijoy-tauri/src/components/NextButton.tsx +53 -0
  362. package/template-story-react-vite-muijoy-tauri/src/components/ReturnMainMenuButton.tsx +69 -0
  363. package/template-story-react-vite-muijoy-tauri/src/components/SettingButton.tsx +52 -0
  364. package/template-story-react-vite-muijoy-tauri/src/components/SliderResizer.tsx +51 -0
  365. package/template-story-react-vite-muijoy-tauri/src/components/TextMenuButton.tsx +48 -0
  366. package/template-story-react-vite-muijoy-tauri/src/components/TypographyShadow.tsx +19 -0
  367. package/template-story-react-vite-muijoy-tauri/src/constans.ts +9 -0
  368. package/template-story-react-vite-muijoy-tauri/src/hooks/motion-hooks.ts +17 -0
  369. package/template-story-react-vite-muijoy-tauri/src/hooks/useClosePageDetector.ts +32 -0
  370. package/template-story-react-vite-muijoy-tauri/src/hooks/useDebouncedEffect.ts +33 -0
  371. package/template-story-react-vite-muijoy-tauri/src/hooks/useGameProps.ts +18 -0
  372. package/template-story-react-vite-muijoy-tauri/src/hooks/useInterval.ts +44 -0
  373. package/template-story-react-vite-muijoy-tauri/src/hooks/useKeyDetector.ts +19 -0
  374. package/template-story-react-vite-muijoy-tauri/src/hooks/useKeyboardDetector.ts +71 -0
  375. package/template-story-react-vite-muijoy-tauri/src/hooks/useMyNavigate.ts +19 -0
  376. package/template-story-react-vite-muijoy-tauri/src/hooks/useNarrationFunctions.ts +75 -0
  377. package/template-story-react-vite-muijoy-tauri/src/hooks/useNetworkDetector.ts +18 -0
  378. package/template-story-react-vite-muijoy-tauri/src/hooks/useSkipAutoDetector.ts +52 -0
  379. package/template-story-react-vite-muijoy-tauri/src/i18n.ts +33 -0
  380. package/template-story-react-vite-muijoy-tauri/src/index.css +12 -0
  381. package/template-story-react-vite-muijoy-tauri/src/labels/animations-labels.ts +23 -0
  382. package/template-story-react-vite-muijoy-tauri/src/labels/startLabel.ts +1414 -0
  383. package/template-story-react-vite-muijoy-tauri/src/locales/strings_en.json +60 -0
  384. package/template-story-react-vite-muijoy-tauri/src/main.tsx +49 -0
  385. package/template-story-react-vite-muijoy-tauri/src/models/Character.ts +62 -0
  386. package/template-story-react-vite-muijoy-tauri/src/models/GameSaveData.ts +9 -0
  387. package/template-story-react-vite-muijoy-tauri/src/pixi-vn.d.ts +108 -0
  388. package/template-story-react-vite-muijoy-tauri/src/providers/ThemeProvider.tsx +170 -0
  389. package/template-story-react-vite-muijoy-tauri/src/screens/ChoiceMenu.tsx +81 -0
  390. package/template-story-react-vite-muijoy-tauri/src/screens/GameSaveScreen.tsx +129 -0
  391. package/template-story-react-vite-muijoy-tauri/src/screens/HistoryScreen.tsx +142 -0
  392. package/template-story-react-vite-muijoy-tauri/src/screens/LoadingScreen.tsx +24 -0
  393. package/template-story-react-vite-muijoy-tauri/src/screens/MainMenu.tsx +94 -0
  394. package/template-story-react-vite-muijoy-tauri/src/screens/NarrationScreen.tsx +152 -0
  395. package/template-story-react-vite-muijoy-tauri/src/screens/OfflineScreen.tsx +38 -0
  396. package/template-story-react-vite-muijoy-tauri/src/screens/PreviousDialoguesScreen.tsx +67 -0
  397. package/template-story-react-vite-muijoy-tauri/src/screens/QuickTools.tsx +142 -0
  398. package/template-story-react-vite-muijoy-tauri/src/screens/Settings.tsx +111 -0
  399. package/template-story-react-vite-muijoy-tauri/src/screens/modals/SaveLoadAlert.tsx +105 -0
  400. package/template-story-react-vite-muijoy-tauri/src/screens/modals/TextInput.tsx +70 -0
  401. package/template-story-react-vite-muijoy-tauri/src/screens/settings/AutoSettingToggle.tsx +24 -0
  402. package/template-story-react-vite-muijoy-tauri/src/screens/settings/DialoguesSettings.tsx +90 -0
  403. package/template-story-react-vite-muijoy-tauri/src/screens/settings/FullScreenSettings.tsx +51 -0
  404. package/template-story-react-vite-muijoy-tauri/src/screens/settings/HideInterfaceSettingToggle.tsx +34 -0
  405. package/template-story-react-vite-muijoy-tauri/src/screens/settings/OpenHistorySettingButton.tsx +40 -0
  406. package/template-story-react-vite-muijoy-tauri/src/screens/settings/SaveLoadSettingButtons.tsx +117 -0
  407. package/template-story-react-vite-muijoy-tauri/src/screens/settings/SkipSettingToggle.tsx +34 -0
  408. package/template-story-react-vite-muijoy-tauri/src/screens/settings/ThemeSettings.tsx +112 -0
  409. package/template-story-react-vite-muijoy-tauri/src/stores/useAutoInfoStore.ts +33 -0
  410. package/template-story-react-vite-muijoy-tauri/src/stores/useGameSaveScreenStore.ts +112 -0
  411. package/template-story-react-vite-muijoy-tauri/src/stores/useHistoryScreenStore.ts +23 -0
  412. package/template-story-react-vite-muijoy-tauri/src/stores/useInterfaceStore.ts +33 -0
  413. package/template-story-react-vite-muijoy-tauri/src/stores/useNetworkStore.ts +20 -0
  414. package/template-story-react-vite-muijoy-tauri/src/stores/useSettingsScreenStore.ts +23 -0
  415. package/template-story-react-vite-muijoy-tauri/src/stores/useSkipStore.ts +27 -0
  416. package/template-story-react-vite-muijoy-tauri/src/stores/useStepStore.ts +32 -0
  417. package/template-story-react-vite-muijoy-tauri/src/stores/useTypewriterStore.ts +41 -0
  418. package/template-story-react-vite-muijoy-tauri/src/use_query/useQueryInterface.ts +171 -0
  419. package/template-story-react-vite-muijoy-tauri/src/use_query/useQueryIsFullModeScreen.ts +16 -0
  420. package/template-story-react-vite-muijoy-tauri/src/use_query/useQueryLastSave.ts +11 -0
  421. package/template-story-react-vite-muijoy-tauri/src/use_query/useQuerySaves.ts +11 -0
  422. package/template-story-react-vite-muijoy-tauri/src/utils/assets-utility.ts +19 -0
  423. package/template-story-react-vite-muijoy-tauri/src/utils/component-utility.ts +29 -0
  424. package/template-story-react-vite-muijoy-tauri/src/utils/indexedDB-utility.ts +196 -0
  425. package/template-story-react-vite-muijoy-tauri/src/utils/save-utility.ts +140 -0
  426. package/template-story-react-vite-muijoy-tauri/src/values/characters.ts +23 -0
  427. package/template-story-react-vite-muijoy-tauri/src/vite-env.d.ts +4 -0
  428. package/template-story-react-vite-muijoy-tauri/src-tauri/Cargo.toml +25 -0
  429. package/template-story-react-vite-muijoy-tauri/src-tauri/build.rs +3 -0
  430. package/template-story-react-vite-muijoy-tauri/src-tauri/capabilities/default.json +11 -0
  431. package/template-story-react-vite-muijoy-tauri/src-tauri/icons/128x128.png +0 -0
  432. package/template-story-react-vite-muijoy-tauri/src-tauri/icons/128x128@2x.png +0 -0
  433. package/template-story-react-vite-muijoy-tauri/src-tauri/icons/32x32.png +0 -0
  434. package/template-story-react-vite-muijoy-tauri/src-tauri/icons/Square107x107Logo.png +0 -0
  435. package/template-story-react-vite-muijoy-tauri/src-tauri/icons/Square142x142Logo.png +0 -0
  436. package/template-story-react-vite-muijoy-tauri/src-tauri/icons/Square150x150Logo.png +0 -0
  437. package/template-story-react-vite-muijoy-tauri/src-tauri/icons/Square284x284Logo.png +0 -0
  438. package/template-story-react-vite-muijoy-tauri/src-tauri/icons/Square30x30Logo.png +0 -0
  439. package/template-story-react-vite-muijoy-tauri/src-tauri/icons/Square310x310Logo.png +0 -0
  440. package/template-story-react-vite-muijoy-tauri/src-tauri/icons/Square44x44Logo.png +0 -0
  441. package/template-story-react-vite-muijoy-tauri/src-tauri/icons/Square71x71Logo.png +0 -0
  442. package/template-story-react-vite-muijoy-tauri/src-tauri/icons/Square89x89Logo.png +0 -0
  443. package/template-story-react-vite-muijoy-tauri/src-tauri/icons/StoreLogo.png +0 -0
  444. package/template-story-react-vite-muijoy-tauri/src-tauri/icons/icon.icns +0 -0
  445. package/template-story-react-vite-muijoy-tauri/src-tauri/icons/icon.ico +0 -0
  446. package/template-story-react-vite-muijoy-tauri/src-tauri/icons/icon.png +0 -0
  447. package/template-story-react-vite-muijoy-tauri/src-tauri/src/lib.rs +14 -0
  448. package/template-story-react-vite-muijoy-tauri/src-tauri/src/main.rs +6 -0
  449. package/template-story-react-vite-muijoy-tauri/src-tauri/tauri.conf.json +37 -0
  450. package/template-story-react-vite-muijoy-tauri/tsconfig.json +27 -0
  451. package/template-story-react-vite-muijoy-tauri/tsconfig.node.json +11 -0
  452. package/template-story-react-vite-muijoy-tauri/vite.config.ts +80 -0
package/dist/index.mjs CHANGED
@@ -1,58 +1,58 @@
1
- import"node:util";import j,{stdin as wu,stdout as $u}from"node:process";import*as Du from"node:readline";import yu from"node:readline";import{Writable as Xu}from"node:stream";import{execa as G}from"execa";import y from"node:path";import xu from"which";import v from"node:fs";import{fileURLToPath as uD}from"node:url";function Ou(D){return D&&D.__esModule&&Object.prototype.hasOwnProperty.call(D,"default")?D.default:D}var Fu,Su;function DD(){if(Su)return Fu;Su=1;const D="\x1B",e=`${D}[`,t="\x07",r={to(u,a){return a?`${e}${a+1};${u+1}H`:`${e}${u+1}G`},move(u,a){let n="";return u<0?n+=`${e}${-u}D`:u>0&&(n+=`${e}${u}C`),a<0?n+=`${e}${-a}A`:a>0&&(n+=`${e}${a}B`),n},up:(u=1)=>`${e}${u}A`,down:(u=1)=>`${e}${u}B`,forward:(u=1)=>`${e}${u}C`,backward:(u=1)=>`${e}${u}D`,nextLine:(u=1)=>`${e}E`.repeat(u),prevLine:(u=1)=>`${e}F`.repeat(u),left:`${e}G`,hide:`${e}?25l`,show:`${e}?25h`,save:`${D}7`,restore:`${D}8`},i={up:(u=1)=>`${e}S`.repeat(u),down:(u=1)=>`${e}T`.repeat(u)},s={screen:`${e}2J`,up:(u=1)=>`${e}1J`.repeat(u),down:(u=1)=>`${e}J`.repeat(u),line:`${e}2K`,lineEnd:`${e}K`,lineStart:`${e}1K`,lines(u){let a="";for(let n=0;n<u;n++)a+=this.line+(n<u-1?r.up():"");return u&&(a+=r.left),a}};return Fu={cursor:r,scroll:i,erase:s,beep:t},Fu}var S=DD(),eu={exports:{}},ku;function eD(){if(ku)return eu.exports;ku=1;let D=process||{},e=D.argv||[],t=D.env||{},r=!(t.NO_COLOR||e.includes("--no-color"))&&(!!t.FORCE_COLOR||e.includes("--color")||D.platform==="win32"||(D.stdout||{}).isTTY&&t.TERM!=="dumb"||!!t.CI),i=(a,n,F=a)=>p=>{let c=""+p,C=c.indexOf(n,a.length);return~C?a+s(c,n,F,C)+n:a+c+n},s=(a,n,F,p)=>{let c="",C=0;do c+=a.substring(C,p)+F,C=p+n.length,p=a.indexOf(n,C);while(~p);return c+a.substring(C)},u=(a=r)=>{let n=a?i:()=>String;return{isColorSupported:a,reset:n("\x1B[0m","\x1B[0m"),bold:n("\x1B[1m","\x1B[22m","\x1B[22m\x1B[1m"),dim:n("\x1B[2m","\x1B[22m","\x1B[22m\x1B[2m"),italic:n("\x1B[3m","\x1B[23m"),underline:n("\x1B[4m","\x1B[24m"),inverse:n("\x1B[7m","\x1B[27m"),hidden:n("\x1B[8m","\x1B[28m"),strikethrough:n("\x1B[9m","\x1B[29m"),black:n("\x1B[30m","\x1B[39m"),red:n("\x1B[31m","\x1B[39m"),green:n("\x1B[32m","\x1B[39m"),yellow:n("\x1B[33m","\x1B[39m"),blue:n("\x1B[34m","\x1B[39m"),magenta:n("\x1B[35m","\x1B[39m"),cyan:n("\x1B[36m","\x1B[39m"),white:n("\x1B[37m","\x1B[39m"),gray:n("\x1B[90m","\x1B[39m"),bgBlack:n("\x1B[40m","\x1B[49m"),bgRed:n("\x1B[41m","\x1B[49m"),bgGreen:n("\x1B[42m","\x1B[49m"),bgYellow:n("\x1B[43m","\x1B[49m"),bgBlue:n("\x1B[44m","\x1B[49m"),bgMagenta:n("\x1B[45m","\x1B[49m"),bgCyan:n("\x1B[46m","\x1B[49m"),bgWhite:n("\x1B[47m","\x1B[49m"),blackBright:n("\x1B[90m","\x1B[39m"),redBright:n("\x1B[91m","\x1B[39m"),greenBright:n("\x1B[92m","\x1B[39m"),yellowBright:n("\x1B[93m","\x1B[39m"),blueBright:n("\x1B[94m","\x1B[39m"),magentaBright:n("\x1B[95m","\x1B[39m"),cyanBright:n("\x1B[96m","\x1B[39m"),whiteBright:n("\x1B[97m","\x1B[39m"),bgBlackBright:n("\x1B[100m","\x1B[49m"),bgRedBright:n("\x1B[101m","\x1B[49m"),bgGreenBright:n("\x1B[102m","\x1B[49m"),bgYellowBright:n("\x1B[103m","\x1B[49m"),bgBlueBright:n("\x1B[104m","\x1B[49m"),bgMagentaBright:n("\x1B[105m","\x1B[49m"),bgCyanBright:n("\x1B[106m","\x1B[49m"),bgWhiteBright:n("\x1B[107m","\x1B[49m")}};return eu.exports=u(),eu.exports.createColors=u,eu.exports}var tD=eD();const o=Ou(tD);function rD({onlyFirst:D=!1}={}){const e=["[\\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(e,D?void 0:"g")}const iD=rD();function Tu(D){if(typeof D!="string")throw new TypeError(`Expected a \`string\`, got \`${typeof D}\``);return D.replace(iD,"")}function _u(D){return D&&D.__esModule&&Object.prototype.hasOwnProperty.call(D,"default")?D.default:D}var Iu={exports:{}};(function(D){var e={};D.exports=e,e.eastAsianWidth=function(r){var i=r.charCodeAt(0),s=r.length==2?r.charCodeAt(1):0,u=i;return 55296<=i&&i<=56319&&56320<=s&&s<=57343&&(i&=1023,s&=1023,u=i<<10|s,u+=65536),u==12288||65281<=u&&u<=65376||65504<=u&&u<=65510?"F":u==8361||65377<=u&&u<=65470||65474<=u&&u<=65479||65482<=u&&u<=65487||65490<=u&&u<=65495||65498<=u&&u<=65500||65512<=u&&u<=65518?"H":4352<=u&&u<=4447||4515<=u&&u<=4519||4602<=u&&u<=4607||9001<=u&&u<=9002||11904<=u&&u<=11929||11931<=u&&u<=12019||12032<=u&&u<=12245||12272<=u&&u<=12283||12289<=u&&u<=12350||12353<=u&&u<=12438||12441<=u&&u<=12543||12549<=u&&u<=12589||12593<=u&&u<=12686||12688<=u&&u<=12730||12736<=u&&u<=12771||12784<=u&&u<=12830||12832<=u&&u<=12871||12880<=u&&u<=13054||13056<=u&&u<=19903||19968<=u&&u<=42124||42128<=u&&u<=42182||43360<=u&&u<=43388||44032<=u&&u<=55203||55216<=u&&u<=55238||55243<=u&&u<=55291||63744<=u&&u<=64255||65040<=u&&u<=65049||65072<=u&&u<=65106||65108<=u&&u<=65126||65128<=u&&u<=65131||110592<=u&&u<=110593||127488<=u&&u<=127490||127504<=u&&u<=127546||127552<=u&&u<=127560||127568<=u&&u<=127569||131072<=u&&u<=194367||177984<=u&&u<=196605||196608<=u&&u<=262141?"W":32<=u&&u<=126||162<=u&&u<=163||165<=u&&u<=166||u==172||u==175||10214<=u&&u<=10221||10629<=u&&u<=10630?"Na":u==161||u==164||167<=u&&u<=168||u==170||173<=u&&u<=174||176<=u&&u<=180||182<=u&&u<=186||188<=u&&u<=191||u==198||u==208||215<=u&&u<=216||222<=u&&u<=225||u==230||232<=u&&u<=234||236<=u&&u<=237||u==240||242<=u&&u<=243||247<=u&&u<=250||u==252||u==254||u==257||u==273||u==275||u==283||294<=u&&u<=295||u==299||305<=u&&u<=307||u==312||319<=u&&u<=322||u==324||328<=u&&u<=331||u==333||338<=u&&u<=339||358<=u&&u<=359||u==363||u==462||u==464||u==466||u==468||u==470||u==472||u==474||u==476||u==593||u==609||u==708||u==711||713<=u&&u<=715||u==717||u==720||728<=u&&u<=731||u==733||u==735||768<=u&&u<=879||913<=u&&u<=929||931<=u&&u<=937||945<=u&&u<=961||963<=u&&u<=969||u==1025||1040<=u&&u<=1103||u==1105||u==8208||8211<=u&&u<=8214||8216<=u&&u<=8217||8220<=u&&u<=8221||8224<=u&&u<=8226||8228<=u&&u<=8231||u==8240||8242<=u&&u<=8243||u==8245||u==8251||u==8254||u==8308||u==8319||8321<=u&&u<=8324||u==8364||u==8451||u==8453||u==8457||u==8467||u==8470||8481<=u&&u<=8482||u==8486||u==8491||8531<=u&&u<=8532||8539<=u&&u<=8542||8544<=u&&u<=8555||8560<=u&&u<=8569||u==8585||8592<=u&&u<=8601||8632<=u&&u<=8633||u==8658||u==8660||u==8679||u==8704||8706<=u&&u<=8707||8711<=u&&u<=8712||u==8715||u==8719||u==8721||u==8725||u==8730||8733<=u&&u<=8736||u==8739||u==8741||8743<=u&&u<=8748||u==8750||8756<=u&&u<=8759||8764<=u&&u<=8765||u==8776||u==8780||u==8786||8800<=u&&u<=8801||8804<=u&&u<=8807||8810<=u&&u<=8811||8814<=u&&u<=8815||8834<=u&&u<=8835||8838<=u&&u<=8839||u==8853||u==8857||u==8869||u==8895||u==8978||9312<=u&&u<=9449||9451<=u&&u<=9547||9552<=u&&u<=9587||9600<=u&&u<=9615||9618<=u&&u<=9621||9632<=u&&u<=9633||9635<=u&&u<=9641||9650<=u&&u<=9651||9654<=u&&u<=9655||9660<=u&&u<=9661||9664<=u&&u<=9665||9670<=u&&u<=9672||u==9675||9678<=u&&u<=9681||9698<=u&&u<=9701||u==9711||9733<=u&&u<=9734||u==9737||9742<=u&&u<=9743||9748<=u&&u<=9749||u==9756||u==9758||u==9792||u==9794||9824<=u&&u<=9825||9827<=u&&u<=9829||9831<=u&&u<=9834||9836<=u&&u<=9837||u==9839||9886<=u&&u<=9887||9918<=u&&u<=9919||9924<=u&&u<=9933||9935<=u&&u<=9953||u==9955||9960<=u&&u<=9983||u==10045||u==10071||10102<=u&&u<=10111||11093<=u&&u<=11097||12872<=u&&u<=12879||57344<=u&&u<=63743||65024<=u&&u<=65039||u==65533||127232<=u&&u<=127242||127248<=u&&u<=127277||127280<=u&&u<=127337||127344<=u&&u<=127386||917760<=u&&u<=917999||983040<=u&&u<=1048573||1048576<=u&&u<=1114109?"A":"N"},e.characterLength=function(r){var i=this.eastAsianWidth(r);return i=="F"||i=="W"||i=="A"?2:1};function t(r){return r.match(/[\uD800-\uDBFF][\uDC00-\uDFFF]|[^\uD800-\uDFFF]/g)||[]}e.length=function(r){for(var i=t(r),s=0,u=0;u<i.length;u++)s=s+this.characterLength(i[u]);return s},e.slice=function(r,i,s){textLen=e.length(r),i=i||0,s=s||1,i<0&&(i=textLen+i),s<0&&(s=textLen+s);for(var u="",a=0,n=t(r),F=0;F<n.length;F++){var p=n[F],c=e.length(p);if(a>=i-(c==2?1:0))if(a+c<=s)u+=p;else break;a+=c}return u}})(Iu);var sD=Iu.exports;const nD=_u(sD);var aD=function(){return/\uD83C\uDFF4\uDB40\uDC67\uDB40\uDC62(?:\uDB40\uDC77\uDB40\uDC6C\uDB40\uDC73|\uDB40\uDC73\uDB40\uDC63\uDB40\uDC74|\uDB40\uDC65\uDB40\uDC6E\uDB40\uDC67)\uDB40\uDC7F|(?:\uD83E\uDDD1\uD83C\uDFFF\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFE])|(?:\uD83E\uDDD1\uD83C\uDFFE\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFD\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFC\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFB\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFC-\uDFFF])|\uD83D\uDC68(?:\uD83C\uDFFB(?:\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF]))|\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFC-\uDFFF])|[\u2695\u2696\u2708]\uFE0F|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))?|(?:\uD83C[\uDFFC-\uDFFF])\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF]))|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83D\uDC68|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFE])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])\uFE0F|\u200D(?:(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D[\uDC66\uDC67])|\uD83D[\uDC66\uDC67])|\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC)?|(?:\uD83D\uDC69(?:\uD83C\uDFFB\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|(?:\uD83C[\uDFFC-\uDFFF])\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69]))|\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1)(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC69(?:\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83E\uDDD1(?:\u200D(?:\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83D\uDC69\u200D\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D[\uDC66\uDC67])|\uD83D\uDC69\u200D\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D\uDC41\uFE0F\u200D\uD83D\uDDE8|\uD83E\uDDD1(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|\uD83D\uDC69(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|\uD83D\uDE36\u200D\uD83C\uDF2B|\uD83C\uDFF3\uFE0F\u200D\u26A7|\uD83D\uDC3B\u200D\u2744|(?:(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF])\u200D[\u2640\u2642]|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|\uD83C\uDFF4\u200D\u2620|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])\u200D[\u2640\u2642]|[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u2328\u23CF\u23ED-\u23EF\u23F1\u23F2\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB\u25FC\u2600-\u2604\u260E\u2611\u2618\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u2692\u2694-\u2697\u2699\u269B\u269C\u26A0\u26A7\u26B0\u26B1\u26C8\u26CF\u26D1\u26D3\u26E9\u26F0\u26F1\u26F4\u26F7\u26F8\u2702\u2708\u2709\u270F\u2712\u2714\u2716\u271D\u2721\u2733\u2734\u2744\u2747\u2763\u27A1\u2934\u2935\u2B05-\u2B07\u3030\u303D\u3297\u3299]|\uD83C[\uDD70\uDD71\uDD7E\uDD7F\uDE02\uDE37\uDF21\uDF24-\uDF2C\uDF36\uDF7D\uDF96\uDF97\uDF99-\uDF9B\uDF9E\uDF9F\uDFCD\uDFCE\uDFD4-\uDFDF\uDFF5\uDFF7]|\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|\uD83C\uDFF3\uFE0F\u200D\uD83C\uDF08|\uD83D\uDC69\u200D\uD83D\uDC67|\uD83D\uDC69\u200D\uD83D\uDC66|\uD83D\uDE35\u200D\uD83D\uDCAB|\uD83D\uDE2E\u200D\uD83D\uDCA8|\uD83D\uDC15\u200D\uD83E\uDDBA|\uD83E\uDDD1(?:\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC|\uD83C\uDFFB)?|\uD83D\uDC69(?:\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC|\uD83C\uDFFB)?|\uD83C\uDDFD\uD83C\uDDF0|\uD83C\uDDF6\uD83C\uDDE6|\uD83C\uDDF4\uD83C\uDDF2|\uD83D\uDC08\u200D\u2B1B|\u2764\uFE0F\u200D(?:\uD83D\uDD25|\uD83E\uDE79)|\uD83D\uDC41\uFE0F|\uD83C\uDFF3\uFE0F|\uD83C\uDDFF(?:\uD83C[\uDDE6\uDDF2\uDDFC])|\uD83C\uDDFE(?:\uD83C[\uDDEA\uDDF9])|\uD83C\uDDFC(?:\uD83C[\uDDEB\uDDF8])|\uD83C\uDDFB(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA])|\uD83C\uDDFA(?:\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF])|\uD83C\uDDF9(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF])|\uD83C\uDDF8(?:\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF])|\uD83C\uDDF7(?:\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC])|\uD83C\uDDF5(?:\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE])|\uD83C\uDDF3(?:\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF])|\uD83C\uDDF2(?:\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF])|\uD83C\uDDF1(?:\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE])|\uD83C\uDDF0(?:\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF])|\uD83C\uDDEF(?:\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5])|\uD83C\uDDEE(?:\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9])|\uD83C\uDDED(?:\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA])|\uD83C\uDDEC(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE])|\uD83C\uDDEB(?:\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7])|\uD83C\uDDEA(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA])|\uD83C\uDDE9(?:\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF])|\uD83C\uDDE8(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF5\uDDF7\uDDFA-\uDDFF])|\uD83C\uDDE7(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF])|\uD83C\uDDE6(?:\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF])|[#\*0-9]\uFE0F\u20E3|\u2764\uFE0F|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])|\uD83C\uDFF4|(?:[\u270A\u270B]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\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]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5])(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u261D\u270C\u270D]|\uD83D[\uDD74\uDD90])(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])|[\u270A\u270B]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC08\uDC15\uDC3B\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE2E\uDE35\uDE36\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5]|\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD]|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF]|[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF84\uDF86-\uDF93\uDFA0-\uDFC1\uDFC5\uDFC6\uDFC8\uDFC9\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC07\uDC09-\uDC14\uDC16-\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-\uDE44\uDE48-\uDE4A\uDE80-\uDEA2\uDEA4-\uDEB3\uDEB7-\uDEBF\uDEC1-\uDEC5\uDED0-\uDED2\uDED5-\uDED7\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0D\uDD0E\uDD10-\uDD17\uDD1D\uDD20-\uDD25\uDD27-\uDD2F\uDD3A\uDD3F-\uDD45\uDD47-\uDD76\uDD78\uDD7A-\uDDB4\uDDB7\uDDBA\uDDBC-\uDDCB\uDDD0\uDDE0-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6]|(?:[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u270A\u270B\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF93\uDFA0-\uDFCA\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF4\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC3E\uDC40\uDC42-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDD7A\uDD95\uDD96\uDDA4\uDDFB-\uDE4F\uDE80-\uDEC5\uDECC\uDED0-\uDED2\uDED5-\uDED7\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0C-\uDD3A\uDD3C-\uDD45\uDD47-\uDD78\uDD7A-\uDDCB\uDDCD-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6])|(?:[#\*0-9\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23E9-\u23F3\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB-\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u261D\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692-\u2697\u2699\u269B\u269C\u26A0\u26A1\u26A7\u26AA\u26AB\u26B0\u26B1\u26BD\u26BE\u26C4\u26C5\u26C8\u26CE\u26CF\u26D1\u26D3\u26D4\u26E9\u26EA\u26F0-\u26F5\u26F7-\u26FA\u26FD\u2702\u2705\u2708-\u270D\u270F\u2712\u2714\u2716\u271D\u2721\u2728\u2733\u2734\u2744\u2747\u274C\u274E\u2753-\u2755\u2757\u2763\u2764\u2795-\u2797\u27A1\u27B0\u27BF\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299]|\uD83C[\uDC04\uDCCF\uDD70\uDD71\uDD7E\uDD7F\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE02\uDE1A\uDE2F\uDE32-\uDE3A\uDE50\uDE51\uDF00-\uDF21\uDF24-\uDF93\uDF96\uDF97\uDF99-\uDF9B\uDF9E-\uDFF0\uDFF3-\uDFF5\uDFF7-\uDFFF]|\uD83D[\uDC00-\uDCFD\uDCFF-\uDD3D\uDD49-\uDD4E\uDD50-\uDD67\uDD6F\uDD70\uDD73-\uDD7A\uDD87\uDD8A-\uDD8D\uDD90\uDD95\uDD96\uDDA4\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA-\uDE4F\uDE80-\uDEC5\uDECB-\uDED2\uDED5-\uDED7\uDEE0-\uDEE5\uDEE9\uDEEB\uDEEC\uDEF0\uDEF3-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0C-\uDD3A\uDD3C-\uDD45\uDD47-\uDD78\uDD7A-\uDDCB\uDDCD-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6])\uFE0F|(?:[\u261D\u26F9\u270A-\u270D]|\uD83C[\uDF85\uDFC2-\uDFC4\uDFC7\uDFCA-\uDFCC]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66-\uDC78\uDC7C\uDC81-\uDC83\uDC85-\uDC87\uDC8F\uDC91\uDCAA\uDD74\uDD75\uDD7A\uDD90\uDD95\uDD96\uDE45-\uDE47\uDE4B-\uDE4F\uDEA3\uDEB4-\uDEB6\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1F\uDD26\uDD30-\uDD39\uDD3C-\uDD3E\uDD77\uDDB5\uDDB6\uDDB8\uDDB9\uDDBB\uDDCD-\uDDCF\uDDD1-\uDDDD])/g};const oD=_u(aD);function Z(D,e={}){if(typeof D!="string"||D.length===0||(e={ambiguousIsNarrow:!0,...e},D=Tu(D),D.length===0))return 0;D=D.replace(oD()," ");const t=e.ambiguousIsNarrow?1:2;let r=0;for(const i of D){const s=i.codePointAt(0);if(!(s<=31||s>=127&&s<=159||s>=768&&s<=879))switch(nD.eastAsianWidth(i)){case"F":case"W":r+=2;break;case"A":r+=t;break;default:r+=1}}return r}const lu=10,Ru=(D=0)=>e=>`\x1B[${e+D}m`,ju=(D=0)=>e=>`\x1B[${38+D};5;${e}m`,Mu=(D=0)=>(e,t,r)=>`\x1B[${38+D};2;${e};${t};${r}m`,g={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]}};Object.keys(g.modifier);const FD=Object.keys(g.color),lD=Object.keys(g.bgColor);[...FD,...lD];function cD(){const D=new Map;for(const[e,t]of Object.entries(g)){for(const[r,i]of Object.entries(t))g[r]={open:`\x1B[${i[0]}m`,close:`\x1B[${i[1]}m`},t[r]=g[r],D.set(i[0],i[1]);Object.defineProperty(g,e,{value:t,enumerable:!1})}return Object.defineProperty(g,"codes",{value:D,enumerable:!1}),g.color.close="\x1B[39m",g.bgColor.close="\x1B[49m",g.color.ansi=Ru(),g.color.ansi256=ju(),g.color.ansi16m=Mu(),g.bgColor.ansi=Ru(lu),g.bgColor.ansi256=ju(lu),g.bgColor.ansi16m=Mu(lu),Object.defineProperties(g,{rgbToAnsi256:{value:(e,t,r)=>e===t&&t===r?e<8?16:e>248?231:Math.round((e-8)/247*24)+232:16+36*Math.round(e/255*5)+6*Math.round(t/255*5)+Math.round(r/255*5),enumerable:!1},hexToRgb:{value:e=>{const t=/[a-f\d]{6}|[a-f\d]{3}/i.exec(e.toString(16));if(!t)return[0,0,0];let[r]=t;r.length===3&&(r=[...r].map(s=>s+s).join(""));const i=Number.parseInt(r,16);return[i>>16&255,i>>8&255,i&255]},enumerable:!1},hexToAnsi256:{value:e=>g.rgbToAnsi256(...g.hexToRgb(e)),enumerable:!1},ansi256ToAnsi:{value:e=>{if(e<8)return 30+e;if(e<16)return 90+(e-8);let t,r,i;if(e>=232)t=((e-232)*10+8)/255,r=t,i=t;else{e-=16;const a=e%36;t=Math.floor(e/36)/5,r=Math.floor(a/6)/5,i=a%6/5}const s=Math.max(t,r,i)*2;if(s===0)return 30;let u=30+(Math.round(i)<<2|Math.round(r)<<1|Math.round(t));return s===2&&(u+=60),u},enumerable:!1},rgbToAnsi:{value:(e,t,r)=>g.ansi256ToAnsi(g.rgbToAnsi256(e,t,r)),enumerable:!1},hexToAnsi:{value:e=>g.ansi256ToAnsi(g.hexToAnsi256(e)),enumerable:!1}}),g}const CD=cD(),tu=new Set(["\x1B","\x9B"]),ED=39,cu="\x07",Nu="[",hD="]",Vu="m",Cu=`${hD}8;;`,Lu=D=>`${tu.values().next().value}${Nu}${D}${Vu}`,Pu=D=>`${tu.values().next().value}${Cu}${D}${cu}`,pD=D=>D.split(" ").map(e=>Z(e)),Eu=(D,e,t)=>{const r=[...e];let i=!1,s=!1,u=Z(Tu(D[D.length-1]));for(const[a,n]of r.entries()){const F=Z(n);if(u+F<=t?D[D.length-1]+=n:(D.push(n),u=0),tu.has(n)&&(i=!0,s=r.slice(a+1).join("").startsWith(Cu)),i){s?n===cu&&(i=!1,s=!1):n===Vu&&(i=!1);continue}u+=F,u===t&&a<r.length-1&&(D.push(""),u=0)}!u&&D[D.length-1].length>0&&D.length>1&&(D[D.length-2]+=D.pop())},mD=D=>{const e=D.split(" ");let t=e.length;for(;t>0&&!(Z(e[t-1])>0);)t--;return t===e.length?D:e.slice(0,t).join(" ")+e.slice(t).join("")},fD=(D,e,t={})=>{if(t.trim!==!1&&D.trim()==="")return"";let r="",i,s;const u=pD(D);let a=[""];for(const[F,p]of D.split(" ").entries()){t.trim!==!1&&(a[a.length-1]=a[a.length-1].trimStart());let c=Z(a[a.length-1]);if(F!==0&&(c>=e&&(t.wordWrap===!1||t.trim===!1)&&(a.push(""),c=0),(c>0||t.trim===!1)&&(a[a.length-1]+=" ",c++)),t.hard&&u[F]>e){const C=e-c,A=1+Math.floor((u[F]-C-1)/e);Math.floor((u[F]-1)/e)<A&&a.push(""),Eu(a,p,e);continue}if(c+u[F]>e&&c>0&&u[F]>0){if(t.wordWrap===!1&&c<e){Eu(a,p,e);continue}a.push("")}if(c+u[F]>e&&t.wordWrap===!1){Eu(a,p,e);continue}a[a.length-1]+=p}t.trim!==!1&&(a=a.map(F=>mD(F)));const n=[...a.join(`
2
- `)];for(const[F,p]of n.entries()){if(r+=p,tu.has(p)){const{groups:C}=new RegExp(`(?:\\${Nu}(?<code>\\d+)m|\\${Cu}(?<uri>.*)${cu})`).exec(n.slice(F).join(""))||{groups:{}};if(C.code!==void 0){const A=Number.parseFloat(C.code);i=A===ED?void 0:A}else C.uri!==void 0&&(s=C.uri.length===0?void 0:C.uri)}const c=CD.codes.get(Number(i));n[F+1]===`
3
- `?(s&&(r+=Pu("")),i&&c&&(r+=Lu(c))):p===`
4
- `&&(i&&c&&(r+=Lu(i)),s&&(r+=Pu(s)))}return r};function Gu(D,e,t){return String(D).normalize().replace(/\r\n/g,`
1
+ import"node:util";import N,{stdin as wu,stdout as $u}from"node:process";import*as Du from"node:readline";import yu from"node:readline";import{Writable as Xu}from"node:stream";import{execa as U}from"execa";import y from"node:path";import xu from"which";import w from"node:fs";import{fileURLToPath as uD}from"node:url";function ku(D){return D&&D.__esModule&&Object.prototype.hasOwnProperty.call(D,"default")?D.default:D}var lu,Ou;function DD(){if(Ou)return lu;Ou=1;const D="\x1B",e=`${D}[`,t="\x07",r={to(u,n){return n?`${e}${n+1};${u+1}H`:`${e}${u+1}G`},move(u,n){let a="";return u<0?a+=`${e}${-u}D`:u>0&&(a+=`${e}${u}C`),n<0?a+=`${e}${-n}A`:n>0&&(a+=`${e}${n}B`),a},up:(u=1)=>`${e}${u}A`,down:(u=1)=>`${e}${u}B`,forward:(u=1)=>`${e}${u}C`,backward:(u=1)=>`${e}${u}D`,nextLine:(u=1)=>`${e}E`.repeat(u),prevLine:(u=1)=>`${e}F`.repeat(u),left:`${e}G`,hide:`${e}?25l`,show:`${e}?25h`,save:`${D}7`,restore:`${D}8`},i={up:(u=1)=>`${e}S`.repeat(u),down:(u=1)=>`${e}T`.repeat(u)},s={screen:`${e}2J`,up:(u=1)=>`${e}1J`.repeat(u),down:(u=1)=>`${e}J`.repeat(u),line:`${e}2K`,lineEnd:`${e}K`,lineStart:`${e}1K`,lines(u){let n="";for(let a=0;a<u;a++)n+=this.line+(a<u-1?r.up():"");return u&&(n+=r.left),n}};return lu={cursor:r,scroll:i,erase:s,beep:t},lu}var O=DD(),eu={exports:{}},Su;function eD(){if(Su)return eu.exports;Su=1;let D=process||{},e=D.argv||[],t=D.env||{},r=!(t.NO_COLOR||e.includes("--no-color"))&&(!!t.FORCE_COLOR||e.includes("--color")||D.platform==="win32"||(D.stdout||{}).isTTY&&t.TERM!=="dumb"||!!t.CI),i=(n,a,l=n)=>h=>{let F=""+h,C=F.indexOf(a,n.length);return~C?n+s(F,a,l,C)+a:n+F+a},s=(n,a,l,h)=>{let F="",C=0;do F+=n.substring(C,h)+l,C=h+a.length,h=n.indexOf(a,C);while(~h);return F+n.substring(C)},u=(n=r)=>{let a=n?i:()=>String;return{isColorSupported:n,reset:a("\x1B[0m","\x1B[0m"),bold:a("\x1B[1m","\x1B[22m","\x1B[22m\x1B[1m"),dim:a("\x1B[2m","\x1B[22m","\x1B[22m\x1B[2m"),italic:a("\x1B[3m","\x1B[23m"),underline:a("\x1B[4m","\x1B[24m"),inverse:a("\x1B[7m","\x1B[27m"),hidden:a("\x1B[8m","\x1B[28m"),strikethrough:a("\x1B[9m","\x1B[29m"),black:a("\x1B[30m","\x1B[39m"),red:a("\x1B[31m","\x1B[39m"),green:a("\x1B[32m","\x1B[39m"),yellow:a("\x1B[33m","\x1B[39m"),blue:a("\x1B[34m","\x1B[39m"),magenta:a("\x1B[35m","\x1B[39m"),cyan:a("\x1B[36m","\x1B[39m"),white:a("\x1B[37m","\x1B[39m"),gray:a("\x1B[90m","\x1B[39m"),bgBlack:a("\x1B[40m","\x1B[49m"),bgRed:a("\x1B[41m","\x1B[49m"),bgGreen:a("\x1B[42m","\x1B[49m"),bgYellow:a("\x1B[43m","\x1B[49m"),bgBlue:a("\x1B[44m","\x1B[49m"),bgMagenta:a("\x1B[45m","\x1B[49m"),bgCyan:a("\x1B[46m","\x1B[49m"),bgWhite:a("\x1B[47m","\x1B[49m"),blackBright:a("\x1B[90m","\x1B[39m"),redBright:a("\x1B[91m","\x1B[39m"),greenBright:a("\x1B[92m","\x1B[39m"),yellowBright:a("\x1B[93m","\x1B[39m"),blueBright:a("\x1B[94m","\x1B[39m"),magentaBright:a("\x1B[95m","\x1B[39m"),cyanBright:a("\x1B[96m","\x1B[39m"),whiteBright:a("\x1B[97m","\x1B[39m"),bgBlackBright:a("\x1B[100m","\x1B[49m"),bgRedBright:a("\x1B[101m","\x1B[49m"),bgGreenBright:a("\x1B[102m","\x1B[49m"),bgYellowBright:a("\x1B[103m","\x1B[49m"),bgBlueBright:a("\x1B[104m","\x1B[49m"),bgMagentaBright:a("\x1B[105m","\x1B[49m"),bgCyanBright:a("\x1B[106m","\x1B[49m"),bgWhiteBright:a("\x1B[107m","\x1B[49m")}};return eu.exports=u(),eu.exports.createColors=u,eu.exports}var tD=eD();const o=ku(tD);function rD({onlyFirst:D=!1}={}){const e=["[\\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(e,D?void 0:"g")}const iD=rD();function Tu(D){if(typeof D!="string")throw new TypeError(`Expected a \`string\`, got \`${typeof D}\``);return D.replace(iD,"")}function _u(D){return D&&D.__esModule&&Object.prototype.hasOwnProperty.call(D,"default")?D.default:D}var Iu={exports:{}};(function(D){var e={};D.exports=e,e.eastAsianWidth=function(r){var i=r.charCodeAt(0),s=r.length==2?r.charCodeAt(1):0,u=i;return 55296<=i&&i<=56319&&56320<=s&&s<=57343&&(i&=1023,s&=1023,u=i<<10|s,u+=65536),u==12288||65281<=u&&u<=65376||65504<=u&&u<=65510?"F":u==8361||65377<=u&&u<=65470||65474<=u&&u<=65479||65482<=u&&u<=65487||65490<=u&&u<=65495||65498<=u&&u<=65500||65512<=u&&u<=65518?"H":4352<=u&&u<=4447||4515<=u&&u<=4519||4602<=u&&u<=4607||9001<=u&&u<=9002||11904<=u&&u<=11929||11931<=u&&u<=12019||12032<=u&&u<=12245||12272<=u&&u<=12283||12289<=u&&u<=12350||12353<=u&&u<=12438||12441<=u&&u<=12543||12549<=u&&u<=12589||12593<=u&&u<=12686||12688<=u&&u<=12730||12736<=u&&u<=12771||12784<=u&&u<=12830||12832<=u&&u<=12871||12880<=u&&u<=13054||13056<=u&&u<=19903||19968<=u&&u<=42124||42128<=u&&u<=42182||43360<=u&&u<=43388||44032<=u&&u<=55203||55216<=u&&u<=55238||55243<=u&&u<=55291||63744<=u&&u<=64255||65040<=u&&u<=65049||65072<=u&&u<=65106||65108<=u&&u<=65126||65128<=u&&u<=65131||110592<=u&&u<=110593||127488<=u&&u<=127490||127504<=u&&u<=127546||127552<=u&&u<=127560||127568<=u&&u<=127569||131072<=u&&u<=194367||177984<=u&&u<=196605||196608<=u&&u<=262141?"W":32<=u&&u<=126||162<=u&&u<=163||165<=u&&u<=166||u==172||u==175||10214<=u&&u<=10221||10629<=u&&u<=10630?"Na":u==161||u==164||167<=u&&u<=168||u==170||173<=u&&u<=174||176<=u&&u<=180||182<=u&&u<=186||188<=u&&u<=191||u==198||u==208||215<=u&&u<=216||222<=u&&u<=225||u==230||232<=u&&u<=234||236<=u&&u<=237||u==240||242<=u&&u<=243||247<=u&&u<=250||u==252||u==254||u==257||u==273||u==275||u==283||294<=u&&u<=295||u==299||305<=u&&u<=307||u==312||319<=u&&u<=322||u==324||328<=u&&u<=331||u==333||338<=u&&u<=339||358<=u&&u<=359||u==363||u==462||u==464||u==466||u==468||u==470||u==472||u==474||u==476||u==593||u==609||u==708||u==711||713<=u&&u<=715||u==717||u==720||728<=u&&u<=731||u==733||u==735||768<=u&&u<=879||913<=u&&u<=929||931<=u&&u<=937||945<=u&&u<=961||963<=u&&u<=969||u==1025||1040<=u&&u<=1103||u==1105||u==8208||8211<=u&&u<=8214||8216<=u&&u<=8217||8220<=u&&u<=8221||8224<=u&&u<=8226||8228<=u&&u<=8231||u==8240||8242<=u&&u<=8243||u==8245||u==8251||u==8254||u==8308||u==8319||8321<=u&&u<=8324||u==8364||u==8451||u==8453||u==8457||u==8467||u==8470||8481<=u&&u<=8482||u==8486||u==8491||8531<=u&&u<=8532||8539<=u&&u<=8542||8544<=u&&u<=8555||8560<=u&&u<=8569||u==8585||8592<=u&&u<=8601||8632<=u&&u<=8633||u==8658||u==8660||u==8679||u==8704||8706<=u&&u<=8707||8711<=u&&u<=8712||u==8715||u==8719||u==8721||u==8725||u==8730||8733<=u&&u<=8736||u==8739||u==8741||8743<=u&&u<=8748||u==8750||8756<=u&&u<=8759||8764<=u&&u<=8765||u==8776||u==8780||u==8786||8800<=u&&u<=8801||8804<=u&&u<=8807||8810<=u&&u<=8811||8814<=u&&u<=8815||8834<=u&&u<=8835||8838<=u&&u<=8839||u==8853||u==8857||u==8869||u==8895||u==8978||9312<=u&&u<=9449||9451<=u&&u<=9547||9552<=u&&u<=9587||9600<=u&&u<=9615||9618<=u&&u<=9621||9632<=u&&u<=9633||9635<=u&&u<=9641||9650<=u&&u<=9651||9654<=u&&u<=9655||9660<=u&&u<=9661||9664<=u&&u<=9665||9670<=u&&u<=9672||u==9675||9678<=u&&u<=9681||9698<=u&&u<=9701||u==9711||9733<=u&&u<=9734||u==9737||9742<=u&&u<=9743||9748<=u&&u<=9749||u==9756||u==9758||u==9792||u==9794||9824<=u&&u<=9825||9827<=u&&u<=9829||9831<=u&&u<=9834||9836<=u&&u<=9837||u==9839||9886<=u&&u<=9887||9918<=u&&u<=9919||9924<=u&&u<=9933||9935<=u&&u<=9953||u==9955||9960<=u&&u<=9983||u==10045||u==10071||10102<=u&&u<=10111||11093<=u&&u<=11097||12872<=u&&u<=12879||57344<=u&&u<=63743||65024<=u&&u<=65039||u==65533||127232<=u&&u<=127242||127248<=u&&u<=127277||127280<=u&&u<=127337||127344<=u&&u<=127386||917760<=u&&u<=917999||983040<=u&&u<=1048573||1048576<=u&&u<=1114109?"A":"N"},e.characterLength=function(r){var i=this.eastAsianWidth(r);return i=="F"||i=="W"||i=="A"?2:1};function t(r){return r.match(/[\uD800-\uDBFF][\uDC00-\uDFFF]|[^\uD800-\uDFFF]/g)||[]}e.length=function(r){for(var i=t(r),s=0,u=0;u<i.length;u++)s=s+this.characterLength(i[u]);return s},e.slice=function(r,i,s){textLen=e.length(r),i=i||0,s=s||1,i<0&&(i=textLen+i),s<0&&(s=textLen+s);for(var u="",n=0,a=t(r),l=0;l<a.length;l++){var h=a[l],F=e.length(h);if(n>=i-(F==2?1:0))if(n+F<=s)u+=h;else break;n+=F}return u}})(Iu);var sD=Iu.exports;const aD=_u(sD);var nD=function(){return/\uD83C\uDFF4\uDB40\uDC67\uDB40\uDC62(?:\uDB40\uDC77\uDB40\uDC6C\uDB40\uDC73|\uDB40\uDC73\uDB40\uDC63\uDB40\uDC74|\uDB40\uDC65\uDB40\uDC6E\uDB40\uDC67)\uDB40\uDC7F|(?:\uD83E\uDDD1\uD83C\uDFFF\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFE])|(?:\uD83E\uDDD1\uD83C\uDFFE\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFD\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFC\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFB\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFC-\uDFFF])|\uD83D\uDC68(?:\uD83C\uDFFB(?:\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF]))|\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFC-\uDFFF])|[\u2695\u2696\u2708]\uFE0F|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))?|(?:\uD83C[\uDFFC-\uDFFF])\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF]))|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83D\uDC68|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFE])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])\uFE0F|\u200D(?:(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D[\uDC66\uDC67])|\uD83D[\uDC66\uDC67])|\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC)?|(?:\uD83D\uDC69(?:\uD83C\uDFFB\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|(?:\uD83C[\uDFFC-\uDFFF])\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69]))|\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1)(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC69(?:\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83E\uDDD1(?:\u200D(?:\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83D\uDC69\u200D\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D[\uDC66\uDC67])|\uD83D\uDC69\u200D\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D\uDC41\uFE0F\u200D\uD83D\uDDE8|\uD83E\uDDD1(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|\uD83D\uDC69(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|\uD83D\uDE36\u200D\uD83C\uDF2B|\uD83C\uDFF3\uFE0F\u200D\u26A7|\uD83D\uDC3B\u200D\u2744|(?:(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF])\u200D[\u2640\u2642]|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|\uD83C\uDFF4\u200D\u2620|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])\u200D[\u2640\u2642]|[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u2328\u23CF\u23ED-\u23EF\u23F1\u23F2\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB\u25FC\u2600-\u2604\u260E\u2611\u2618\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u2692\u2694-\u2697\u2699\u269B\u269C\u26A0\u26A7\u26B0\u26B1\u26C8\u26CF\u26D1\u26D3\u26E9\u26F0\u26F1\u26F4\u26F7\u26F8\u2702\u2708\u2709\u270F\u2712\u2714\u2716\u271D\u2721\u2733\u2734\u2744\u2747\u2763\u27A1\u2934\u2935\u2B05-\u2B07\u3030\u303D\u3297\u3299]|\uD83C[\uDD70\uDD71\uDD7E\uDD7F\uDE02\uDE37\uDF21\uDF24-\uDF2C\uDF36\uDF7D\uDF96\uDF97\uDF99-\uDF9B\uDF9E\uDF9F\uDFCD\uDFCE\uDFD4-\uDFDF\uDFF5\uDFF7]|\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|\uD83C\uDFF3\uFE0F\u200D\uD83C\uDF08|\uD83D\uDC69\u200D\uD83D\uDC67|\uD83D\uDC69\u200D\uD83D\uDC66|\uD83D\uDE35\u200D\uD83D\uDCAB|\uD83D\uDE2E\u200D\uD83D\uDCA8|\uD83D\uDC15\u200D\uD83E\uDDBA|\uD83E\uDDD1(?:\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC|\uD83C\uDFFB)?|\uD83D\uDC69(?:\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC|\uD83C\uDFFB)?|\uD83C\uDDFD\uD83C\uDDF0|\uD83C\uDDF6\uD83C\uDDE6|\uD83C\uDDF4\uD83C\uDDF2|\uD83D\uDC08\u200D\u2B1B|\u2764\uFE0F\u200D(?:\uD83D\uDD25|\uD83E\uDE79)|\uD83D\uDC41\uFE0F|\uD83C\uDFF3\uFE0F|\uD83C\uDDFF(?:\uD83C[\uDDE6\uDDF2\uDDFC])|\uD83C\uDDFE(?:\uD83C[\uDDEA\uDDF9])|\uD83C\uDDFC(?:\uD83C[\uDDEB\uDDF8])|\uD83C\uDDFB(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA])|\uD83C\uDDFA(?:\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF])|\uD83C\uDDF9(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF])|\uD83C\uDDF8(?:\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF])|\uD83C\uDDF7(?:\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC])|\uD83C\uDDF5(?:\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE])|\uD83C\uDDF3(?:\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF])|\uD83C\uDDF2(?:\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF])|\uD83C\uDDF1(?:\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE])|\uD83C\uDDF0(?:\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF])|\uD83C\uDDEF(?:\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5])|\uD83C\uDDEE(?:\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9])|\uD83C\uDDED(?:\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA])|\uD83C\uDDEC(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE])|\uD83C\uDDEB(?:\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7])|\uD83C\uDDEA(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA])|\uD83C\uDDE9(?:\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF])|\uD83C\uDDE8(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF5\uDDF7\uDDFA-\uDDFF])|\uD83C\uDDE7(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF])|\uD83C\uDDE6(?:\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF])|[#\*0-9]\uFE0F\u20E3|\u2764\uFE0F|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])|\uD83C\uDFF4|(?:[\u270A\u270B]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\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]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5])(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u261D\u270C\u270D]|\uD83D[\uDD74\uDD90])(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])|[\u270A\u270B]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC08\uDC15\uDC3B\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE2E\uDE35\uDE36\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5]|\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD]|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF]|[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF84\uDF86-\uDF93\uDFA0-\uDFC1\uDFC5\uDFC6\uDFC8\uDFC9\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC07\uDC09-\uDC14\uDC16-\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-\uDE44\uDE48-\uDE4A\uDE80-\uDEA2\uDEA4-\uDEB3\uDEB7-\uDEBF\uDEC1-\uDEC5\uDED0-\uDED2\uDED5-\uDED7\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0D\uDD0E\uDD10-\uDD17\uDD1D\uDD20-\uDD25\uDD27-\uDD2F\uDD3A\uDD3F-\uDD45\uDD47-\uDD76\uDD78\uDD7A-\uDDB4\uDDB7\uDDBA\uDDBC-\uDDCB\uDDD0\uDDE0-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6]|(?:[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u270A\u270B\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF93\uDFA0-\uDFCA\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF4\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC3E\uDC40\uDC42-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDD7A\uDD95\uDD96\uDDA4\uDDFB-\uDE4F\uDE80-\uDEC5\uDECC\uDED0-\uDED2\uDED5-\uDED7\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0C-\uDD3A\uDD3C-\uDD45\uDD47-\uDD78\uDD7A-\uDDCB\uDDCD-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6])|(?:[#\*0-9\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23E9-\u23F3\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB-\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u261D\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692-\u2697\u2699\u269B\u269C\u26A0\u26A1\u26A7\u26AA\u26AB\u26B0\u26B1\u26BD\u26BE\u26C4\u26C5\u26C8\u26CE\u26CF\u26D1\u26D3\u26D4\u26E9\u26EA\u26F0-\u26F5\u26F7-\u26FA\u26FD\u2702\u2705\u2708-\u270D\u270F\u2712\u2714\u2716\u271D\u2721\u2728\u2733\u2734\u2744\u2747\u274C\u274E\u2753-\u2755\u2757\u2763\u2764\u2795-\u2797\u27A1\u27B0\u27BF\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299]|\uD83C[\uDC04\uDCCF\uDD70\uDD71\uDD7E\uDD7F\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE02\uDE1A\uDE2F\uDE32-\uDE3A\uDE50\uDE51\uDF00-\uDF21\uDF24-\uDF93\uDF96\uDF97\uDF99-\uDF9B\uDF9E-\uDFF0\uDFF3-\uDFF5\uDFF7-\uDFFF]|\uD83D[\uDC00-\uDCFD\uDCFF-\uDD3D\uDD49-\uDD4E\uDD50-\uDD67\uDD6F\uDD70\uDD73-\uDD7A\uDD87\uDD8A-\uDD8D\uDD90\uDD95\uDD96\uDDA4\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA-\uDE4F\uDE80-\uDEC5\uDECB-\uDED2\uDED5-\uDED7\uDEE0-\uDEE5\uDEE9\uDEEB\uDEEC\uDEF0\uDEF3-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0C-\uDD3A\uDD3C-\uDD45\uDD47-\uDD78\uDD7A-\uDDCB\uDDCD-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6])\uFE0F|(?:[\u261D\u26F9\u270A-\u270D]|\uD83C[\uDF85\uDFC2-\uDFC4\uDFC7\uDFCA-\uDFCC]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66-\uDC78\uDC7C\uDC81-\uDC83\uDC85-\uDC87\uDC8F\uDC91\uDCAA\uDD74\uDD75\uDD7A\uDD90\uDD95\uDD96\uDE45-\uDE47\uDE4B-\uDE4F\uDEA3\uDEB4-\uDEB6\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1F\uDD26\uDD30-\uDD39\uDD3C-\uDD3E\uDD77\uDDB5\uDDB6\uDDB8\uDDB9\uDDBB\uDDCD-\uDDCF\uDDD1-\uDDDD])/g};const oD=_u(nD);function Q(D,e={}){if(typeof D!="string"||D.length===0||(e={ambiguousIsNarrow:!0,...e},D=Tu(D),D.length===0))return 0;D=D.replace(oD()," ");const t=e.ambiguousIsNarrow?1:2;let r=0;for(const i of D){const s=i.codePointAt(0);if(!(s<=31||s>=127&&s<=159||s>=768&&s<=879))switch(aD.eastAsianWidth(i)){case"F":case"W":r+=2;break;case"A":r+=t;break;default:r+=1}}return r}const cu=10,Ru=(D=0)=>e=>`\x1B[${e+D}m`,ju=(D=0)=>e=>`\x1B[${38+D};5;${e}m`,Mu=(D=0)=>(e,t,r)=>`\x1B[${38+D};2;${e};${t};${r}m`,b={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]}};Object.keys(b.modifier);const lD=Object.keys(b.color),cD=Object.keys(b.bgColor);[...lD,...cD];function FD(){const D=new Map;for(const[e,t]of Object.entries(b)){for(const[r,i]of Object.entries(t))b[r]={open:`\x1B[${i[0]}m`,close:`\x1B[${i[1]}m`},t[r]=b[r],D.set(i[0],i[1]);Object.defineProperty(b,e,{value:t,enumerable:!1})}return Object.defineProperty(b,"codes",{value:D,enumerable:!1}),b.color.close="\x1B[39m",b.bgColor.close="\x1B[49m",b.color.ansi=Ru(),b.color.ansi256=ju(),b.color.ansi16m=Mu(),b.bgColor.ansi=Ru(cu),b.bgColor.ansi256=ju(cu),b.bgColor.ansi16m=Mu(cu),Object.defineProperties(b,{rgbToAnsi256:{value:(e,t,r)=>e===t&&t===r?e<8?16:e>248?231:Math.round((e-8)/247*24)+232:16+36*Math.round(e/255*5)+6*Math.round(t/255*5)+Math.round(r/255*5),enumerable:!1},hexToRgb:{value:e=>{const t=/[a-f\d]{6}|[a-f\d]{3}/i.exec(e.toString(16));if(!t)return[0,0,0];let[r]=t;r.length===3&&(r=[...r].map(s=>s+s).join(""));const i=Number.parseInt(r,16);return[i>>16&255,i>>8&255,i&255]},enumerable:!1},hexToAnsi256:{value:e=>b.rgbToAnsi256(...b.hexToRgb(e)),enumerable:!1},ansi256ToAnsi:{value:e=>{if(e<8)return 30+e;if(e<16)return 90+(e-8);let t,r,i;if(e>=232)t=((e-232)*10+8)/255,r=t,i=t;else{e-=16;const n=e%36;t=Math.floor(e/36)/5,r=Math.floor(n/6)/5,i=n%6/5}const s=Math.max(t,r,i)*2;if(s===0)return 30;let u=30+(Math.round(i)<<2|Math.round(r)<<1|Math.round(t));return s===2&&(u+=60),u},enumerable:!1},rgbToAnsi:{value:(e,t,r)=>b.ansi256ToAnsi(b.rgbToAnsi256(e,t,r)),enumerable:!1},hexToAnsi:{value:e=>b.ansi256ToAnsi(b.hexToAnsi256(e)),enumerable:!1}}),b}const CD=FD(),tu=new Set(["\x1B","\x9B"]),ED=39,Fu="\x07",Nu="[",pD="]",Vu="m",Cu=`${pD}8;;`,Lu=D=>`${tu.values().next().value}${Nu}${D}${Vu}`,Pu=D=>`${tu.values().next().value}${Cu}${D}${Fu}`,hD=D=>D.split(" ").map(e=>Q(e)),Eu=(D,e,t)=>{const r=[...e];let i=!1,s=!1,u=Q(Tu(D[D.length-1]));for(const[n,a]of r.entries()){const l=Q(a);if(u+l<=t?D[D.length-1]+=a:(D.push(a),u=0),tu.has(a)&&(i=!0,s=r.slice(n+1).join("").startsWith(Cu)),i){s?a===Fu&&(i=!1,s=!1):a===Vu&&(i=!1);continue}u+=l,u===t&&n<r.length-1&&(D.push(""),u=0)}!u&&D[D.length-1].length>0&&D.length>1&&(D[D.length-2]+=D.pop())},mD=D=>{const e=D.split(" ");let t=e.length;for(;t>0&&!(Q(e[t-1])>0);)t--;return t===e.length?D:e.slice(0,t).join(" ")+e.slice(t).join("")},fD=(D,e,t={})=>{if(t.trim!==!1&&D.trim()==="")return"";let r="",i,s;const u=hD(D);let n=[""];for(const[l,h]of D.split(" ").entries()){t.trim!==!1&&(n[n.length-1]=n[n.length-1].trimStart());let F=Q(n[n.length-1]);if(l!==0&&(F>=e&&(t.wordWrap===!1||t.trim===!1)&&(n.push(""),F=0),(F>0||t.trim===!1)&&(n[n.length-1]+=" ",F++)),t.hard&&u[l]>e){const C=e-F,B=1+Math.floor((u[l]-C-1)/e);Math.floor((u[l]-1)/e)<B&&n.push(""),Eu(n,h,e);continue}if(F+u[l]>e&&F>0&&u[l]>0){if(t.wordWrap===!1&&F<e){Eu(n,h,e);continue}n.push("")}if(F+u[l]>e&&t.wordWrap===!1){Eu(n,h,e);continue}n[n.length-1]+=h}t.trim!==!1&&(n=n.map(l=>mD(l)));const a=[...n.join(`
2
+ `)];for(const[l,h]of a.entries()){if(r+=h,tu.has(h)){const{groups:C}=new RegExp(`(?:\\${Nu}(?<code>\\d+)m|\\${Cu}(?<uri>.*)${Fu})`).exec(a.slice(l).join(""))||{groups:{}};if(C.code!==void 0){const B=Number.parseFloat(C.code);i=B===ED?void 0:B}else C.uri!==void 0&&(s=C.uri.length===0?void 0:C.uri)}const F=CD.codes.get(Number(i));a[l+1]===`
3
+ `?(s&&(r+=Pu("")),i&&F&&(r+=Lu(F))):h===`
4
+ `&&(i&&F&&(r+=Lu(i)),s&&(r+=Pu(s)))}return r};function Uu(D,e,t){return String(D).normalize().replace(/\r\n/g,`
5
5
  `).split(`
6
6
  `).map(r=>fD(r,e,t)).join(`
7
- `)}const dD=["up","down","left","right","space","enter","cancel"],ru={actions:new Set(dD),aliases:new Map([["k","up"],["j","down"],["h","left"],["l","right"],["","cancel"],["escape","cancel"]])};function hu(D,e){if(typeof D=="string")return ru.aliases.get(D)===e;for(const t of D)if(t!==void 0&&hu(t,e))return!0;return!1}function BD(D,e){if(D===e)return;const t=D.split(`
7
+ `)}const dD=["up","down","left","right","space","enter","cancel"],ru={actions:new Set(dD),aliases:new Map([["k","up"],["j","down"],["h","left"],["l","right"],["","cancel"],["escape","cancel"]])};function pu(D,e){if(typeof D=="string")return ru.aliases.get(D)===e;for(const t of D)if(t!==void 0&&pu(t,e))return!0;return!1}function BD(D,e){if(D===e)return;const t=D.split(`
8
8
  `),r=e.split(`
9
- `),i=[];for(let s=0;s<Math.max(t.length,r.length);s++)t[s]!==r[s]&&i.push(s);return i}const gD=globalThis.process.platform.startsWith("win"),pu=Symbol("clack:cancel");function T(D){return D===pu}function iu(D,e){const t=D;t.isTTY&&t.setRawMode(e)}function bD({input:D=wu,output:e=$u,overwrite:t=!0,hideCursor:r=!0}={}){const i=Du.createInterface({input:D,output:e,prompt:"",tabSize:1});Du.emitKeypressEvents(D,i),D.isTTY&&D.setRawMode(!0);const s=(u,{name:a,sequence:n})=>{const F=String(u);if(hu([F,a,n],"cancel")){r&&e.write(S.cursor.show),process.exit(0);return}if(!t)return;const p=a==="return"?0:-1,c=a==="return"?-1:0;Du.moveCursor(e,p,c,()=>{Du.clearLine(e,1,()=>{D.once("keypress",s)})})};return r&&e.write(S.cursor.hide),D.once("keypress",s),()=>{D.off("keypress",s),r&&e.write(S.cursor.show),D.isTTY&&!gD&&D.setRawMode(!1),i.terminal=!1,i.close()}}var AD=Object.defineProperty,vD=(D,e,t)=>e in D?AD(D,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):D[e]=t,_=(D,e,t)=>(vD(D,typeof e!="symbol"?e+"":e,t),t);class mu{constructor(e,t=!0){_(this,"input"),_(this,"output"),_(this,"_abortSignal"),_(this,"rl"),_(this,"opts"),_(this,"_render"),_(this,"_track",!1),_(this,"_prevFrame",""),_(this,"_subscribers",new Map),_(this,"_cursor",0),_(this,"state","initial"),_(this,"error",""),_(this,"value");const{input:r=wu,output:i=$u,render:s,signal:u,...a}=e;this.opts=a,this.onKeypress=this.onKeypress.bind(this),this.close=this.close.bind(this),this.render=this.render.bind(this),this._render=s.bind(this),this._track=t,this._abortSignal=u,this.input=r,this.output=i}unsubscribe(){this._subscribers.clear()}setSubscriber(e,t){const r=this._subscribers.get(e)??[];r.push(t),this._subscribers.set(e,r)}on(e,t){this.setSubscriber(e,{cb:t})}once(e,t){this.setSubscriber(e,{cb:t,once:!0})}emit(e,...t){const r=this._subscribers.get(e)??[],i=[];for(const s of r)s.cb(...t),s.once&&i.push(()=>r.splice(r.indexOf(s),1));for(const s of i)s()}prompt(){return new Promise((e,t)=>{if(this._abortSignal){if(this._abortSignal.aborted)return this.state="cancel",this.close(),e(pu);this._abortSignal.addEventListener("abort",()=>{this.state="cancel",this.close()},{once:!0})}const r=new Xu;r._write=(i,s,u)=>{this._track&&(this.value=this.rl?.line.replace(/\t/g,""),this._cursor=this.rl?.cursor??0,this.emit("value",this.value)),u()},this.input.pipe(r),this.rl=yu.createInterface({input:this.input,output:r,tabSize:2,prompt:"",escapeCodeTimeout:50,terminal:!0}),yu.emitKeypressEvents(this.input,this.rl),this.rl.prompt(),this.opts.initialValue!==void 0&&this._track&&this.rl.write(this.opts.initialValue),this.input.on("keypress",this.onKeypress),iu(this.input,!0),this.output.on("resize",this.render),this.render(),this.once("submit",()=>{this.output.write(S.cursor.show),this.output.off("resize",this.render),iu(this.input,!1),e(this.value)}),this.once("cancel",()=>{this.output.write(S.cursor.show),this.output.off("resize",this.render),iu(this.input,!1),e(pu)})})}onKeypress(e,t){if(this.state==="error"&&(this.state="active"),t?.name&&(!this._track&&ru.aliases.has(t.name)&&this.emit("cursor",ru.aliases.get(t.name)),ru.actions.has(t.name)&&this.emit("cursor",t.name)),e&&(e.toLowerCase()==="y"||e.toLowerCase()==="n")&&this.emit("confirm",e.toLowerCase()==="y"),e===" "&&this.opts.placeholder&&(this.value||(this.rl?.write(this.opts.placeholder),this.emit("value",this.opts.placeholder))),e&&this.emit("key",e.toLowerCase()),t?.name==="return"){if(!this.value&&this.opts.placeholder&&(this.rl?.write(this.opts.placeholder),this.emit("value",this.opts.placeholder)),this.opts.validate){const r=this.opts.validate(this.value);r&&(this.error=r instanceof Error?r.message:r,this.state="error",this.rl?.write(this.value))}this.state!=="error"&&(this.state="submit")}hu([e,t?.name,t?.sequence],"cancel")&&(this.state="cancel"),(this.state==="submit"||this.state==="cancel")&&this.emit("finalize"),this.render(),(this.state==="submit"||this.state==="cancel")&&this.close()}close(){this.input.unpipe(),this.input.removeListener("keypress",this.onKeypress),this.output.write(`
10
- `),iu(this.input,!1),this.rl?.close(),this.rl=void 0,this.emit(`${this.state}`,this.value),this.unsubscribe()}restoreCursor(){const e=Gu(this._prevFrame,process.stdout.columns,{hard:!0}).split(`
11
- `).length-1;this.output.write(S.cursor.move(-999,e*-1))}render(){const e=Gu(this._render(this)??"",process.stdout.columns,{hard:!0});if(e!==this._prevFrame){if(this.state==="initial")this.output.write(S.cursor.hide);else{const t=BD(this._prevFrame,e);if(this.restoreCursor(),t&&t?.length===1){const r=t[0];this.output.write(S.cursor.move(0,r)),this.output.write(S.erase.lines(1));const i=e.split(`
12
- `);this.output.write(i[r]),this._prevFrame=e,this.output.write(S.cursor.move(0,i.length-r-1));return}if(t&&t?.length>1){const r=t[0];this.output.write(S.cursor.move(0,r)),this.output.write(S.erase.down());const i=e.split(`
9
+ `),i=[];for(let s=0;s<Math.max(t.length,r.length);s++)t[s]!==r[s]&&i.push(s);return i}const gD=globalThis.process.platform.startsWith("win"),hu=Symbol("clack:cancel");function T(D){return D===hu}function iu(D,e){const t=D;t.isTTY&&t.setRawMode(e)}function bD({input:D=wu,output:e=$u,overwrite:t=!0,hideCursor:r=!0}={}){const i=Du.createInterface({input:D,output:e,prompt:"",tabSize:1});Du.emitKeypressEvents(D,i),D.isTTY&&D.setRawMode(!0);const s=(u,{name:n,sequence:a})=>{const l=String(u);if(pu([l,n,a],"cancel")){r&&e.write(O.cursor.show),process.exit(0);return}if(!t)return;const h=n==="return"?0:-1,F=n==="return"?-1:0;Du.moveCursor(e,h,F,()=>{Du.clearLine(e,1,()=>{D.once("keypress",s)})})};return r&&e.write(O.cursor.hide),D.once("keypress",s),()=>{D.off("keypress",s),r&&e.write(O.cursor.show),D.isTTY&&!gD&&D.setRawMode(!1),i.terminal=!1,i.close()}}var AD=Object.defineProperty,vD=(D,e,t)=>e in D?AD(D,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):D[e]=t,I=(D,e,t)=>(vD(D,typeof e!="symbol"?e+"":e,t),t);class mu{constructor(e,t=!0){I(this,"input"),I(this,"output"),I(this,"_abortSignal"),I(this,"rl"),I(this,"opts"),I(this,"_render"),I(this,"_track",!1),I(this,"_prevFrame",""),I(this,"_subscribers",new Map),I(this,"_cursor",0),I(this,"state","initial"),I(this,"error",""),I(this,"value");const{input:r=wu,output:i=$u,render:s,signal:u,...n}=e;this.opts=n,this.onKeypress=this.onKeypress.bind(this),this.close=this.close.bind(this),this.render=this.render.bind(this),this._render=s.bind(this),this._track=t,this._abortSignal=u,this.input=r,this.output=i}unsubscribe(){this._subscribers.clear()}setSubscriber(e,t){const r=this._subscribers.get(e)??[];r.push(t),this._subscribers.set(e,r)}on(e,t){this.setSubscriber(e,{cb:t})}once(e,t){this.setSubscriber(e,{cb:t,once:!0})}emit(e,...t){const r=this._subscribers.get(e)??[],i=[];for(const s of r)s.cb(...t),s.once&&i.push(()=>r.splice(r.indexOf(s),1));for(const s of i)s()}prompt(){return new Promise((e,t)=>{if(this._abortSignal){if(this._abortSignal.aborted)return this.state="cancel",this.close(),e(hu);this._abortSignal.addEventListener("abort",()=>{this.state="cancel",this.close()},{once:!0})}const r=new Xu;r._write=(i,s,u)=>{this._track&&(this.value=this.rl?.line.replace(/\t/g,""),this._cursor=this.rl?.cursor??0,this.emit("value",this.value)),u()},this.input.pipe(r),this.rl=yu.createInterface({input:this.input,output:r,tabSize:2,prompt:"",escapeCodeTimeout:50,terminal:!0}),yu.emitKeypressEvents(this.input,this.rl),this.rl.prompt(),this.opts.initialValue!==void 0&&this._track&&this.rl.write(this.opts.initialValue),this.input.on("keypress",this.onKeypress),iu(this.input,!0),this.output.on("resize",this.render),this.render(),this.once("submit",()=>{this.output.write(O.cursor.show),this.output.off("resize",this.render),iu(this.input,!1),e(this.value)}),this.once("cancel",()=>{this.output.write(O.cursor.show),this.output.off("resize",this.render),iu(this.input,!1),e(hu)})})}onKeypress(e,t){if(this.state==="error"&&(this.state="active"),t?.name&&(!this._track&&ru.aliases.has(t.name)&&this.emit("cursor",ru.aliases.get(t.name)),ru.actions.has(t.name)&&this.emit("cursor",t.name)),e&&(e.toLowerCase()==="y"||e.toLowerCase()==="n")&&this.emit("confirm",e.toLowerCase()==="y"),e===" "&&this.opts.placeholder&&(this.value||(this.rl?.write(this.opts.placeholder),this.emit("value",this.opts.placeholder))),e&&this.emit("key",e.toLowerCase()),t?.name==="return"){if(!this.value&&this.opts.placeholder&&(this.rl?.write(this.opts.placeholder),this.emit("value",this.opts.placeholder)),this.opts.validate){const r=this.opts.validate(this.value);r&&(this.error=r instanceof Error?r.message:r,this.state="error",this.rl?.write(this.value))}this.state!=="error"&&(this.state="submit")}pu([e,t?.name,t?.sequence],"cancel")&&(this.state="cancel"),(this.state==="submit"||this.state==="cancel")&&this.emit("finalize"),this.render(),(this.state==="submit"||this.state==="cancel")&&this.close()}close(){this.input.unpipe(),this.input.removeListener("keypress",this.onKeypress),this.output.write(`
10
+ `),iu(this.input,!1),this.rl?.close(),this.rl=void 0,this.emit(`${this.state}`,this.value),this.unsubscribe()}restoreCursor(){const e=Uu(this._prevFrame,process.stdout.columns,{hard:!0}).split(`
11
+ `).length-1;this.output.write(O.cursor.move(-999,e*-1))}render(){const e=Uu(this._render(this)??"",process.stdout.columns,{hard:!0});if(e!==this._prevFrame){if(this.state==="initial")this.output.write(O.cursor.hide);else{const t=BD(this._prevFrame,e);if(this.restoreCursor(),t&&t?.length===1){const r=t[0];this.output.write(O.cursor.move(0,r)),this.output.write(O.erase.lines(1));const i=e.split(`
12
+ `);this.output.write(i[r]),this._prevFrame=e,this.output.write(O.cursor.move(0,i.length-r-1));return}if(t&&t?.length>1){const r=t[0];this.output.write(O.cursor.move(0,r)),this.output.write(O.erase.down());const i=e.split(`
13
13
  `).slice(r);this.output.write(i.join(`
14
- `)),this._prevFrame=e;return}this.output.write(S.erase.down())}this.output.write(e),this.state==="initial"&&(this.state="active"),this._prevFrame=e}}}class wD extends mu{get cursor(){return this.value?0:1}get _value(){return this.cursor===0}constructor(e){super(e,!1),this.value=!!e.initialValue,this.on("value",()=>{this.value=this._value}),this.on("confirm",t=>{this.output.write(S.cursor.move(0,-1)),this.value=t,this.state="submit",this.close()}),this.on("cursor",()=>{this.value=!this.value})}}var $D=Object.defineProperty,yD=(D,e,t)=>e in D?$D(D,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):D[e]=t,Wu=(D,e,t)=>(yD(D,typeof e!="symbol"?e+"":e,t),t);class xD extends mu{constructor(e){super(e,!1),Wu(this,"options"),Wu(this,"cursor",0),this.options=e.options,this.cursor=this.options.findIndex(({value:t})=>t===e.initialValue),this.cursor===-1&&(this.cursor=0),this.changeValue(),this.on("cursor",t=>{switch(t){case"left":case"up":this.cursor=this.cursor===0?this.options.length-1:this.cursor-1;break;case"down":case"right":this.cursor=this.cursor===this.options.length-1?0:this.cursor+1;break}this.changeValue()})}get _value(){return this.options[this.cursor]}changeValue(){this.value=this._value.value}}class OD extends mu{get valueWithCursor(){if(this.state==="submit")return this.value;if(this.cursor>=this.value.length)return`${this.value}\u2588`;const e=this.value.slice(0,this.cursor),[t,...r]=this.value.slice(this.cursor);return`${e}${o.inverse(t)}${r.join("")}`}get cursor(){return this._cursor}constructor(e){super(e),this.on("finalize",()=>{this.value||(this.value=e.defaultValue)})}}function SD(){return j.platform!=="win32"?j.env.TERM!=="linux":!!j.env.CI||!!j.env.WT_SESSION||!!j.env.TERMINUS_SUBLIME||j.env.ConEmuTask==="{cmd::Cmder}"||j.env.TERM_PROGRAM==="Terminus-Sublime"||j.env.TERM_PROGRAM==="vscode"||j.env.TERM==="xterm-256color"||j.env.TERM==="alacritty"||j.env.TERMINAL_EMULATOR==="JetBrains-JediTerm"}const fu=SD(),I=(D,e)=>fu?D:e,kD=I("\u25C6","*"),Uu=I("\u25A0","x"),zu=I("\u25B2","x"),du=I("\u25C7","o"),TD=I("\u250C","T"),b=I("\u2502","|"),Y=I("\u2514","\u2014"),Bu=I("\u25CF",">"),gu=I("\u25CB"," "),_D=I("\u25CF","\u2022"),ID=I("\u25C6","*"),RD=I("\u25B2","!"),jD=I("\u25A0","x"),bu=D=>{switch(D){case"initial":case"active":return o.cyan(kD);case"cancel":return o.red(Uu);case"error":return o.yellow(zu);case"submit":return o.green(du)}},MD=D=>{const{cursor:e,options:t,style:r}=D,i=D.maxItems??Number.POSITIVE_INFINITY,s=Math.max(process.stdout.rows-4,0),u=Math.min(s,Math.max(i,5));let a=0;e>=a+u-3?a=Math.max(Math.min(e-u+3,t.length-u),0):e<a+2&&(a=Math.max(e-2,0));const n=u<t.length&&a>0,F=u<t.length&&a+u<t.length;return t.slice(a,a+u).map((p,c,C)=>{const A=c===0&&n,m=c===C.length-1&&F;return A||m?o.dim("..."):r(p,c+a===e)})},su=D=>new OD({validate:D.validate,placeholder:D.placeholder,defaultValue:D.defaultValue,initialValue:D.initialValue,render(){const e=`${o.gray(b)}
14
+ `)),this._prevFrame=e;return}this.output.write(O.erase.down())}this.output.write(e),this.state==="initial"&&(this.state="active"),this._prevFrame=e}}}class wD extends mu{get cursor(){return this.value?0:1}get _value(){return this.cursor===0}constructor(e){super(e,!1),this.value=!!e.initialValue,this.on("value",()=>{this.value=this._value}),this.on("confirm",t=>{this.output.write(O.cursor.move(0,-1)),this.value=t,this.state="submit",this.close()}),this.on("cursor",()=>{this.value=!this.value})}}var $D=Object.defineProperty,yD=(D,e,t)=>e in D?$D(D,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):D[e]=t,Gu=(D,e,t)=>(yD(D,typeof e!="symbol"?e+"":e,t),t);class xD extends mu{constructor(e){super(e,!1),Gu(this,"options"),Gu(this,"cursor",0),this.options=e.options,this.cursor=this.options.findIndex(({value:t})=>t===e.initialValue),this.cursor===-1&&(this.cursor=0),this.changeValue(),this.on("cursor",t=>{switch(t){case"left":case"up":this.cursor=this.cursor===0?this.options.length-1:this.cursor-1;break;case"down":case"right":this.cursor=this.cursor===this.options.length-1?0:this.cursor+1;break}this.changeValue()})}get _value(){return this.options[this.cursor]}changeValue(){this.value=this._value.value}}class kD extends mu{get valueWithCursor(){if(this.state==="submit")return this.value;if(this.cursor>=this.value.length)return`${this.value}\u2588`;const e=this.value.slice(0,this.cursor),[t,...r]=this.value.slice(this.cursor);return`${e}${o.inverse(t)}${r.join("")}`}get cursor(){return this._cursor}constructor(e){super(e),this.on("finalize",()=>{this.value||(this.value=e.defaultValue)})}}function OD(){return N.platform!=="win32"?N.env.TERM!=="linux":!!N.env.CI||!!N.env.WT_SESSION||!!N.env.TERMINUS_SUBLIME||N.env.ConEmuTask==="{cmd::Cmder}"||N.env.TERM_PROGRAM==="Terminus-Sublime"||N.env.TERM_PROGRAM==="vscode"||N.env.TERM==="xterm-256color"||N.env.TERM==="alacritty"||N.env.TERMINAL_EMULATOR==="JetBrains-JediTerm"}const fu=OD(),R=(D,e)=>fu?D:e,SD=R("\u25C6","*"),Wu=R("\u25A0","x"),zu=R("\u25B2","x"),du=R("\u25C7","o"),TD=R("\u250C","T"),A=R("\u2502","|"),K=R("\u2514","\u2014"),Bu=R("\u25CF",">"),gu=R("\u25CB"," "),_D=R("\u25CF","\u2022"),ID=R("\u25C6","*"),RD=R("\u25B2","!"),jD=R("\u25A0","x"),bu=D=>{switch(D){case"initial":case"active":return o.cyan(SD);case"cancel":return o.red(Wu);case"error":return o.yellow(zu);case"submit":return o.green(du)}},MD=D=>{const{cursor:e,options:t,style:r}=D,i=D.maxItems??Number.POSITIVE_INFINITY,s=Math.max(process.stdout.rows-4,0),u=Math.min(s,Math.max(i,5));let n=0;e>=n+u-3?n=Math.max(Math.min(e-u+3,t.length-u),0):e<n+2&&(n=Math.max(e-2,0));const a=u<t.length&&n>0,l=u<t.length&&n+u<t.length;return t.slice(n,n+u).map((h,F,C)=>{const B=F===0&&a,m=F===C.length-1&&l;return B||m?o.dim("..."):r(h,F+n===e)})},su=D=>new kD({validate:D.validate,placeholder:D.placeholder,defaultValue:D.defaultValue,initialValue:D.initialValue,render(){const e=`${o.gray(A)}
15
15
  ${bu(this.state)} ${D.message}
16
16
  `,t=D.placeholder?o.inverse(D.placeholder[0])+o.dim(D.placeholder.slice(1)):o.inverse(o.hidden("_")),r=this.value?this.valueWithCursor:t;switch(this.state){case"error":return`${e.trim()}
17
- ${o.yellow(b)} ${r}
18
- ${o.yellow(Y)} ${o.yellow(this.error)}
19
- `;case"submit":return`${e}${o.gray(b)} ${o.dim(this.value||D.placeholder)}`;case"cancel":return`${e}${o.gray(b)} ${o.strikethrough(o.dim(this.value??""))}${this.value?.trim()?`
20
- ${o.gray(b)}`:""}`;default:return`${e}${o.cyan(b)} ${r}
21
- ${o.cyan(Y)}
22
- `}}}).prompt(),ND=D=>{const e=D.active??"Yes",t=D.inactive??"No";return new wD({active:e,inactive:t,initialValue:D.initialValue??!0,render(){const r=`${o.gray(b)}
17
+ ${o.yellow(A)} ${r}
18
+ ${o.yellow(K)} ${o.yellow(this.error)}
19
+ `;case"submit":return`${e}${o.gray(A)} ${o.dim(this.value||D.placeholder)}`;case"cancel":return`${e}${o.gray(A)} ${o.strikethrough(o.dim(this.value??""))}${this.value?.trim()?`
20
+ ${o.gray(A)}`:""}`;default:return`${e}${o.cyan(A)} ${r}
21
+ ${o.cyan(K)}
22
+ `}}}).prompt(),ND=D=>{const e=D.active??"Yes",t=D.inactive??"No";return new wD({active:e,inactive:t,initialValue:D.initialValue??!0,render(){const r=`${o.gray(A)}
23
23
  ${bu(this.state)} ${D.message}
24
- `,i=this.value?e:t;switch(this.state){case"submit":return`${r}${o.gray(b)} ${o.dim(i)}`;case"cancel":return`${r}${o.gray(b)} ${o.strikethrough(o.dim(i))}
25
- ${o.gray(b)}`;default:return`${r}${o.cyan(b)} ${this.value?`${o.green(Bu)} ${e}`:`${o.dim(gu)} ${o.dim(e)}`} ${o.dim("/")} ${this.value?`${o.dim(gu)} ${o.dim(t)}`:`${o.green(Bu)} ${t}`}
26
- ${o.cyan(Y)}
27
- `}}}).prompt()},W=D=>{const e=(t,r)=>{const i=t.label??String(t.value);switch(r){case"selected":return`${o.dim(i)}`;case"active":return`${o.green(Bu)} ${i} ${t.hint?o.dim(`(${t.hint})`):""}`;case"cancelled":return`${o.strikethrough(o.dim(i))}`;default:return`${o.dim(gu)} ${o.dim(i)}`}};return new xD({options:D.options,initialValue:D.initialValue,render(){const t=`${o.gray(b)}
24
+ `,i=this.value?e:t;switch(this.state){case"submit":return`${r}${o.gray(A)} ${o.dim(i)}`;case"cancel":return`${r}${o.gray(A)} ${o.strikethrough(o.dim(i))}
25
+ ${o.gray(A)}`;default:return`${r}${o.cyan(A)} ${this.value?`${o.green(Bu)} ${e}`:`${o.dim(gu)} ${o.dim(e)}`} ${o.dim("/")} ${this.value?`${o.dim(gu)} ${o.dim(t)}`:`${o.green(Bu)} ${t}`}
26
+ ${o.cyan(K)}
27
+ `}}}).prompt()},G=D=>{const e=(t,r)=>{const i=t.label??String(t.value);switch(r){case"selected":return`${o.dim(i)}`;case"active":return`${o.green(Bu)} ${i} ${t.hint?o.dim(`(${t.hint})`):""}`;case"cancelled":return`${o.strikethrough(o.dim(i))}`;default:return`${o.dim(gu)} ${o.dim(i)}`}};return new xD({options:D.options,initialValue:D.initialValue,render(){const t=`${o.gray(A)}
28
28
  ${bu(this.state)} ${D.message}
29
- `;switch(this.state){case"submit":return`${t}${o.gray(b)} ${e(this.options[this.cursor],"selected")}`;case"cancel":return`${t}${o.gray(b)} ${e(this.options[this.cursor],"cancelled")}
30
- ${o.gray(b)}`;default:return`${t}${o.cyan(b)} ${MD({cursor:this.cursor,options:this.options,maxItems:D.maxItems,style:(r,i)=>e(r,i?"active":"inactive")}).join(`
31
- ${o.cyan(b)} `)}
32
- ${o.cyan(Y)}
33
- `}}}).prompt()},$=(D="")=>{process.stdout.write(`${o.gray(Y)} ${o.red(D)}
29
+ `;switch(this.state){case"submit":return`${t}${o.gray(A)} ${e(this.options[this.cursor],"selected")}`;case"cancel":return`${t}${o.gray(A)} ${e(this.options[this.cursor],"cancelled")}
30
+ ${o.gray(A)}`;default:return`${t}${o.cyan(A)} ${MD({cursor:this.cursor,options:this.options,maxItems:D.maxItems,style:(r,i)=>e(r,i?"active":"inactive")}).join(`
31
+ ${o.cyan(A)} `)}
32
+ ${o.cyan(K)}
33
+ `}}}).prompt()},v=(D="")=>{process.stdout.write(`${o.gray(K)} ${o.red(D)}
34
34
 
35
35
  `)},VD=(D="")=>{process.stdout.write(`${o.gray(TD)} ${D}
36
- `)},LD=(D="")=>{process.stdout.write(`${o.gray(b)}
37
- ${o.gray(Y)} ${D}
36
+ `)},LD=(D="")=>{process.stdout.write(`${o.gray(A)}
37
+ ${o.gray(K)} ${D}
38
38
 
39
- `)},R={message:(D="",{symbol:e=o.gray(b)}={})=>{const t=[`${o.gray(b)}`];if(D){const[r,...i]=D.split(`
40
- `);t.push(`${e} ${r}`,...i.map(s=>`${o.gray(b)} ${s}`))}process.stdout.write(`${t.join(`
39
+ `)},j={message:(D="",{symbol:e=o.gray(A)}={})=>{const t=[`${o.gray(A)}`];if(D){const[r,...i]=D.split(`
40
+ `);t.push(`${e} ${r}`,...i.map(s=>`${o.gray(A)} ${s}`))}process.stdout.write(`${t.join(`
41
41
  `)}
42
- `)},info:D=>{R.message(D,{symbol:o.blue(_D)})},success:D=>{R.message(D,{symbol:o.green(ID)})},step:D=>{R.message(D,{symbol:o.green(du)})},warn:D=>{R.message(D,{symbol:o.yellow(RD)})},warning:D=>{R.warn(D)},error:D=>{R.message(D,{symbol:o.red(jD)})}};`${o.gray(b)}`;const PD=({indicator:D="dots"}={})=>{const e=fu?["\u25D2","\u25D0","\u25D3","\u25D1"]:["\u2022","o","O","0"],t=fu?80:120,r=process.env.CI==="true";let i,s,u=!1,a="",n,F=performance.now();const p=d=>{const x=d>1?"Something went wrong":"Canceled";u&&z(x,d)},c=()=>p(2),C=()=>p(1),A=()=>{process.on("uncaughtExceptionMonitor",c),process.on("unhandledRejection",c),process.on("SIGINT",C),process.on("SIGTERM",C),process.on("exit",p)},m=()=>{process.removeListener("uncaughtExceptionMonitor",c),process.removeListener("unhandledRejection",c),process.removeListener("SIGINT",C),process.removeListener("SIGTERM",C),process.removeListener("exit",p)},E=()=>{if(n===void 0)return;r&&process.stdout.write(`
43
- `);const d=n.split(`
44
- `);process.stdout.write(S.cursor.move(-999,d.length-1)),process.stdout.write(S.erase.down(d.length))},l=d=>d.replace(/\.+$/,""),O=d=>{const x=(performance.now()-d)/1e3,B=Math.floor(x/60),h=Math.floor(x%60);return B>0?`[${B}m ${h}s]`:`[${h}s]`},uu=(d="")=>{u=!0,i=bD(),a=l(d),F=performance.now(),process.stdout.write(`${o.gray(b)}
45
- `);let x=0,B=0;A(),s=setInterval(()=>{if(r&&a===n)return;E(),n=a;const h=o.magenta(e[x]);if(r)process.stdout.write(`${h} ${a}...`);else if(D==="timer")process.stdout.write(`${h} ${a} ${O(F)}`);else{const w=".".repeat(Math.floor(B)).slice(0,3);process.stdout.write(`${h} ${a}${w}`)}x=x+1<e.length?x+1:0,B=B<e.length?B+.125:0},t)},z=(d="",x=0)=>{u=!1,clearInterval(s),E();const B=x===0?o.green(du):x===1?o.red(Uu):o.red(zu);a=l(d??a),D==="timer"?process.stdout.write(`${B} ${a} ${O(F)}
46
- `):process.stdout.write(`${B} ${a}
47
- `),m(),i()};return{start:uu,stop:z,message:(d="")=>{a=l(d??a)}}},nu=async D=>{for(const e of D){if(e.enabled===!1)continue;const t=PD();t.start(e.title);const r=await e.task(t.message);t.stop(r||e.title)}};let U=!0;const K=typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{};let Q=0;if(K.process&&K.process.env&&K.process.stdout){const{FORCE_COLOR:D,NODE_DISABLE_COLORS:e,NO_COLOR:t,TERM:r,COLORTERM:i}=K.process.env;e||t||D==="0"?U=!1:D==="1"||D==="2"||D==="3"?U=!0:r==="dumb"?U=!1:"CI"in K.process.env&&["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI","GITHUB_ACTIONS","BUILDKITE","DRONE"].some(s=>s in K.process.env)?U=!0:U=process.stdout.isTTY,U&&(process.platform==="win32"||i&&(i==="truecolor"||i==="24bit")?Q=3:r&&(r.endsWith("-256color")||r.endsWith("256"))?Q=2:Q=1)}let Yu={enabled:U,supportLevel:Q};function au(D,e,t=1){const r=`\x1B[${D}m`,i=`\x1B[${e}m`,s=new RegExp(`\\x1b\\[${e}m`,"g");return u=>Yu.enabled&&Yu.supportLevel>=t?r+(""+u).replace(s,r)+i:""+u}const GD=au(31,39),ou=au(36,39),WD=au(90,39),UD=au(91,39);var Au,Ku;function zD(){if(Ku)return Au;Ku=1;function D(r,i){var s=r;i.slice(0,-1).forEach(function(a){s=s[a]||{}});var u=i[i.length-1];return u in s}function e(r){return typeof r=="number"||/^0x[0-9a-f]+$/i.test(r)?!0:/^[-+]?(?:\d+(?:\.\d*)?|\.\d+)(e[-+]?\d+)?$/.test(r)}function t(r,i){return i==="constructor"&&typeof r[i]=="function"||i==="__proto__"}return Au=function(r,i){i||(i={});var s={bools:{},strings:{},unknownFn:null};typeof i.unknown=="function"&&(s.unknownFn=i.unknown),typeof i.boolean=="boolean"&&i.boolean?s.allBools=!0:[].concat(i.boolean).filter(Boolean).forEach(function(h){s.bools[h]=!0});var u={};function a(h){return u[h].some(function(w){return s.bools[w]})}Object.keys(i.alias||{}).forEach(function(h){u[h]=[].concat(i.alias[h]),u[h].forEach(function(w){u[w]=[h].concat(u[h].filter(function(N){return w!==N}))})}),[].concat(i.string).filter(Boolean).forEach(function(h){s.strings[h]=!0,u[h]&&[].concat(u[h]).forEach(function(w){s.strings[w]=!0})});var n=i.default||{},F={_:[]};function p(h,w){return s.allBools&&/^--[^=]+$/.test(w)||s.strings[h]||s.bools[h]||u[h]}function c(h,w,N){for(var f=h,J=0;J<w.length-1;J++){var M=w[J];if(t(f,M))return;f[M]===void 0&&(f[M]={}),(f[M]===Object.prototype||f[M]===Number.prototype||f[M]===String.prototype)&&(f[M]={}),f[M]===Array.prototype&&(f[M]=[]),f=f[M]}var V=w[w.length-1];t(f,V)||((f===Object.prototype||f===Number.prototype||f===String.prototype)&&(f={}),f===Array.prototype&&(f=[]),f[V]===void 0||s.bools[V]||typeof f[V]=="boolean"?f[V]=N:Array.isArray(f[V])?f[V].push(N):f[V]=[f[V],N])}function C(h,w,N){if(!(N&&s.unknownFn&&!p(h,N)&&s.unknownFn(N)===!1)){var f=!s.strings[h]&&e(w)?Number(w):w;c(F,h.split("."),f),(u[h]||[]).forEach(function(J){c(F,J.split("."),f)})}}Object.keys(s.bools).forEach(function(h){C(h,n[h]===void 0?!1:n[h])});var A=[];r.indexOf("--")!==-1&&(A=r.slice(r.indexOf("--")+1),r=r.slice(0,r.indexOf("--")));for(var m=0;m<r.length;m++){var E=r[m],l,O;if(/^--.+=/.test(E)){var uu=E.match(/^--([^=]+)=([\s\S]*)$/);l=uu[1];var z=uu[2];s.bools[l]&&(z=z!=="false"),C(l,z,E)}else if(/^--no-.+/.test(E))l=E.match(/^--no-(.+)/)[1],C(l,!1,E);else if(/^--.+/.test(E))l=E.match(/^--(.+)/)[1],O=r[m+1],O!==void 0&&!/^(-|--)[^-]/.test(O)&&!s.bools[l]&&!s.allBools&&(!u[l]||!a(l))?(C(l,O,E),m+=1):/^(true|false)$/.test(O)?(C(l,O==="true",E),m+=1):C(l,s.strings[l]?"":!0,E);else if(/^-[^-]+/.test(E)){for(var d=E.slice(1,-1).split(""),x=!1,B=0;B<d.length;B++){if(O=E.slice(B+2),O==="-"){C(d[B],O,E);continue}if(/[A-Za-z]/.test(d[B])&&O[0]==="="){C(d[B],O.slice(1),E),x=!0;break}if(/[A-Za-z]/.test(d[B])&&/-?\d+(\.\d*)?(e-?\d+)?$/.test(O)){C(d[B],O,E),x=!0;break}if(d[B+1]&&d[B+1].match(/\W/)){C(d[B],E.slice(B+2),E),x=!0;break}else C(d[B],s.strings[d[B]]?"":!0,E)}l=E.slice(-1)[0],!x&&l!=="-"&&(r[m+1]&&!/^(-|--)[^-]/.test(r[m+1])&&!s.bools[l]&&(!u[l]||!a(l))?(C(l,r[m+1],E),m+=1):r[m+1]&&/^(true|false)$/.test(r[m+1])?(C(l,r[m+1]==="true",E),m+=1):C(l,s.strings[l]?"":!0,E))}else if((!s.unknownFn||s.unknownFn(E)!==!1)&&F._.push(s.strings._||!e(E)?E:Number(E)),i.stopEarly){F._.push.apply(F._,r.slice(m+1));break}}return Object.keys(n).forEach(function(h){D(F,h.split("."))||(c(F,h.split("."),n[h]),(u[h]||[]).forEach(function(w){c(F,w.split("."),n[h])}))}),i["--"]?F["--"]=A.slice():A.forEach(function(h){F._.push(h)}),F},Au}var YD=zD();const KD=Ou(YD);async function qD({rootFolder:D}){const e=y.join(D,".git");try{if(v.existsSync(e)){R.warn("Git repository already exists.");return}}catch(r){R.error(`Error checking git folder: ${r}`);return}const t=await W({message:"Do you want to initialize a git repository? (recommended)",options:[{value:!0,label:"Yes",hint:"You can use GitHub to track changes and collaborate with others."},{value:!1,label:"No",hint:"It is not recommended to skip this step."}],initialValue:!0});if(T(t)&&($("Operation cancelled."),process.exit(0)),t){const r=await nu([{title:"Initializing git repository...",task:async i=>{const s=await G("git",["init","-b","main"],{cwd:D});i(s.stdout);const u=await G("git",["add","."],{cwd:D});return i(u.stdout),"Git repository initialized."}}]);T(r)&&($("Operation cancelled."),process.exit(0)),R.message(`Now, you can use GitHub Desktop upload your project to GitHub.
48
- GitHub Desktop: https://github.com/apps/desktop`)}}var q=(D=>(D.VisualStudioCode="vscode",D.Cursor="cursor",D.VSCodium="codium",D.Other="other",D))(q||{});async function HD({rootFolder:D,fileToOpen:e}){const t=await W({message:"Which IDE do you want to use?",options:[{value:q.VisualStudioCode,label:"Visual Studio Code"},{value:q.Cursor,label:"Cursor"},{value:q.VSCodium,label:"VSCodium"},{value:q.Other,label:"Other"}],initialValue:q.VisualStudioCode});if(T(t)&&($("Operation cancelled."),process.exit(0)),t===void 0)return;let r,i;switch(t){case"vscode":i="Opening in Visual Studio Code...",r="code";break;case"cursor":i="Opening in Cursor...",r="cursor";break;case"codium":i="Opening in VSCodium...",r="codium";break;default:return}await nu([{title:i,task:async s=>{try{await xu(r);const u=await G(r,[D]);s(u.stdout);const a=await G(r,[`${D}/README.md`]);if(s(a.stdout),e){const n=await G(r,[`${D}/${e}`]);s(n.stdout)}return`Opened project using ${t}`}catch{return`Could not open project using ${t}, since ${t} was not in your PATH`}}}])}var X=(D=>(D[D.VisualNovel=0]="VisualNovel",D[D.GameEngine=1]="GameEngine",D))(X||{}),L=(D=>(D[D.Ink=0]="Ink",D[D.Renpy=1]="Renpy",D[D.Typescript=2]="Typescript",D))(L||{}),P=(D=>(D[D.React=0]="React",D[D.Vue=1]="Vue",D[D.Angular=2]="Angular",D))(P||{});const vu="My Game",JD="my-game",H=[{type:X.VisualNovel,name:"Visual Novel",availableUI:[P.React],availableNarrativeLanguages:[L.Ink,L.Typescript]},{type:X.GameEngine,name:"Game Engine",availableUI:[],availableNarrativeLanguages:[]}];async function ZD({packageName:D}){const e=await W({message:"Select the type of game you want to create:",options:H.map(n=>({label:n.name,value:n.type})),initialValue:H[0].type});T(e)&&($("Operation cancelled."),process.exit(0));const t=H.find(n=>n.type===e)?.availableUI.map(n=>{let F="";switch(n){case P.React:F=ou("React");break;case P.Vue:F=WD("Vue");break;case P.Angular:F=GD("Angular");break}return{label:F,value:n}})||[];let r;t.length===1?(R.warning(`Only one UI framework available: ${t[0].label}. Using it by default.`),r=t[0].value):t.length>0?(r=await W({message:"Select the UI framework you want to use:",options:t,initialValue:H.find(n=>n.type===e)?.availableUI[0]}),T(r)&&($("Operation cancelled."),process.exit(0))):r=void 0;const i=H.find(n=>n.type===e)?.availableNarrativeLanguages.map(n=>{let F="";switch(n){case L.Ink:F="Ink + Typescript";break;case L.Renpy:F=UD("Renpy");break;case L.Typescript:F=ou("Typescript");break}return{label:F,value:n}})||[];let s;i.length===1?(R.warning(`Only one narrative language available: ${i[0].label}. Using it by default.`),s=i[0].value):i.length>0?(s=await W({message:"Select the narrative language you want to use:",options:i,initialValue:H.find(n=>n.type===e)?.availableNarrativeLanguages[0]}),T(s)&&($("Operation cancelled."),process.exit(0))):s=void 0;const u=await W({message:"Which devices is the project intended for?",options:[{label:"Web page",value:!1},{label:"Web page + Desktop + Mobile (Tauri)",value:!0}],initialValue:!1});T(u)&&($("Operation cancelled."),process.exit(0));let a;return u?(a=await su({message:"Project identifier:",initialValue:`com.${D}.app`,validate:n=>{if(!n)return"Identifier is required.";if(!/^[a-zA-Z0-9_.\-]+$/.test(n))return"Identifier can only contain letters, numbers, underscores, dots and dashes."}}),T(a)&&($("Operation cancelled."),process.exit(0))):a="",{gameType:e,UIFramework:r,narrativeLanguage:s,multidevice:u,identifier:a}}var k=(D=>(D.Delete="delete",D.Overwrite="overwrite",D.Skip="skip",D.Ask="ask",D.Cancel="cancel",D))(k||{});function QD(D){return D?.trim().replace(/\/+$/g,"")}function XD(D){const e=v.readdirSync(D);return e.length===0||e.length===1&&e[0]===".git"}function ue(D){if(v.existsSync(D))for(const e of v.readdirSync(D))e!==".git"&&v.rmSync(y.resolve(D,e),{recursive:!0,force:!0})}function De(D){return/^(?:@[a-z\d\-*~][a-z\d\-*._~]*\/)?[a-z\d\-~][a-z\d\-._~]*$/.test(D)}function qu(D){return D.trim().toLowerCase().replace(/\s+/g,"-").replace(/^[._]/,"").replace(/[^a-z\d\-~]+/g,"-")}async function ee({argTargetDir:D,targetDir:e}){const t=()=>e==="."?y.basename(y.resolve()):e;let r;D?r=vu:(r=await su({message:"Project name:",defaultValue:vu,placeholder:vu,validate:a=>{if(!a)return"Project name cannot be empty"}}),T(r)&&($("Operation cancelled."),process.exit(0)));const i=await su({message:"Project description:",defaultValue:"A new game project",placeholder:"A new game project",validate:a=>{if(!a)return"Project description cannot be empty"}});T(i)&&($("Operation cancelled."),process.exit(0));const s=await su({message:"Package name:",defaultValue:qu(t()),placeholder:qu(t()),validate:a=>{if(!a)return"Package name cannot be empty";if(!De(a))return"Invalid package name. The name can only include URL-friendly characters."}});T(s)&&($("Operation cancelled."),process.exit(0));let u;return v.existsSync(s)&&!XD(s)?(u=await W({message:"Overwrite existing files?",options:[{hint:"Delete all existing files and create a new project",label:"Delete all",value:k.Delete},{hint:"Overwrite existing conflicting files",label:"Overwrite",value:k.Overwrite},{hint:"Skip existing conflicting files",label:"Skip",value:k.Skip},{hint:"Ask for each file",label:"Ask",value:k.Ask},{hint:"Cancel operation",label:"Cancel",value:k.Cancel}],initialValue:k.Overwrite}),(T(u)||u===k.Cancel)&&($("Operation cancelled."),process.exit(0))):u=void 0,{projectName:r,description:i,packageName:s,overwrite:u}}const Hu={_gitignore:".gitignore"};async function te({rootFolder:D,overwrite:e,template:t,packageName:r,description:i,projectName:s,identifier:u}){const a=await nu([{title:`Creating project in ${D}...`,task:async n=>{switch(e){case k.Delete:ue(D);break;case k.Overwrite:case k.Skip:case k.Ask:break;default:v.mkdirSync(D,{recursive:!0});break}const F=y.resolve(uD(import.meta.url),"../..",`${t}`),p=(m,E)=>{const l=y.join(D,Hu[m]??m);E?v.writeFileSync(l,E):Ju(y.join(F,m),l)},c=v.readdirSync(F).map(async m=>{const E=y.join(D,Hu[m]??m);if(v.existsSync(E))switch(e){case k.Ask:const l=await ND({message:`File ${E} already exists. Do you want to overwrite it?`,initialValue:!1});if(T(l)&&($("Operation cancelled."),process.exit(0)),!l)return;v.rmSync(E,{recursive:!0,force:!0});break;case k.Skip:return;case k.Delete:case k.Overwrite:v.rmSync(E,{recursive:!0,force:!0});break}switch(m){case"package.json":case"vite.config.ts":case"index.html":let l=v.readFileSync(y.join(F,m),"utf-8");l=l.replace(/my-app-package-name/g,r),l=l.replace(/my-app-description/g,i),l=l.replace(/my-app-project-name/g,s),p(m,l);break;case".git":case"package-lock.json":break;default:p(m)}});await Promise.all(c);const C=y.join(D,"src-tauri");if(v.existsSync(C)){const m=v.readdirSync(C).map(async E=>{switch(E){case"Cargo.lock":case"Cargo.toml":case"tauri.conf.json":let l=v.readFileSync(y.join(C,E),"utf-8");l=l.replace(/my-app-package-name/g,r),l=l.replace(/my-app-description/g,i),l=l.replace(/my-app-project-name/g,s),l=l.replace(/com.my-app-project-name.app/g,u),p(y.join("src-tauri",E),l)}});await Promise.all(m)}const A=y.join(D,"_github");return v.existsSync(A)&&v.renameSync(A,y.join(D,".github")),"Project created"}}]);T(a)&&($("Operation cancelled."),process.exit(0))}function re(D,e){v.mkdirSync(e,{recursive:!0});for(const t of v.readdirSync(D)){const r=y.resolve(D,t),i=y.resolve(e,t);Ju(r,i)}}function Ju(D,e){v.statSync(D).isDirectory()?re(D,e):v.copyFileSync(D,e)}const ie=process.cwd();async function se(D){let e=D||JD,t,{description:r,overwrite:i,packageName:s,projectName:u}=await ee({argTargetDir:D,targetDir:e}),{UIFramework:a,gameType:n,narrativeLanguage:F,multidevice:p,identifier:c}=await ZD({packageName:s});const C=y.join(ie,e);let A;switch(n){case X.VisualNovel:switch(a){case P.React:switch(F){case L.Typescript:p?A="template-react-vite-muijoy-tauri":A="template-react-vite-muijoy",t="src/labels/startLabel.ts";break;case L.Ink:p?A="template-react-vite-muijoy-ink-tauri":A="template-react-vite-muijoy-ink",t="src/ink/start.ink";break;case L.Renpy:$("Error: There are no templates for this narrative language"),process.exit(0);default:$("Error: Unknown narrative language"),process.exit(0)}break;case P.Vue:case P.Angular:$("Error: There are no templates for this game type and UI framework"),process.exit(0);default:$("Error: Unknown UI framework"),process.exit(0)}break;case X.GameEngine:A="template-game-engine",t="src/index.ts";break;default:$("Error: Unknown game type"),process.exit(0)}return await te({rootFolder:C,template:A,packageName:s,description:r,projectName:u,overwrite:i,identifier:c}),{rootFolder:C,fileToOpen:t}}function ne(){console.info(`
42
+ `)},info:D=>{j.message(D,{symbol:o.blue(_D)})},success:D=>{j.message(D,{symbol:o.green(ID)})},step:D=>{j.message(D,{symbol:o.green(du)})},warn:D=>{j.message(D,{symbol:o.yellow(RD)})},warning:D=>{j.warn(D)},error:D=>{j.message(D,{symbol:o.red(jD)})}};`${o.gray(A)}`;const PD=({indicator:D="dots"}={})=>{const e=fu?["\u25D2","\u25D0","\u25D3","\u25D1"]:["\u2022","o","O","0"],t=fu?80:120,r=process.env.CI==="true";let i,s,u=!1,n="",a,l=performance.now();const h=d=>{const x=d>1?"Something went wrong":"Canceled";u&&Y(x,d)},F=()=>h(2),C=()=>h(1),B=()=>{process.on("uncaughtExceptionMonitor",F),process.on("unhandledRejection",F),process.on("SIGINT",C),process.on("SIGTERM",C),process.on("exit",h)},m=()=>{process.removeListener("uncaughtExceptionMonitor",F),process.removeListener("unhandledRejection",F),process.removeListener("SIGINT",C),process.removeListener("SIGTERM",C),process.removeListener("exit",h)},E=()=>{if(a===void 0)return;r&&process.stdout.write(`
43
+ `);const d=a.split(`
44
+ `);process.stdout.write(O.cursor.move(-999,d.length-1)),process.stdout.write(O.erase.down(d.length))},c=d=>d.replace(/\.+$/,""),k=d=>{const x=(performance.now()-d)/1e3,g=Math.floor(x/60),p=Math.floor(x%60);return g>0?`[${g}m ${p}s]`:`[${p}s]`},uu=(d="")=>{u=!0,i=bD(),n=c(d),l=performance.now(),process.stdout.write(`${o.gray(A)}
45
+ `);let x=0,g=0;B(),s=setInterval(()=>{if(r&&n===a)return;E(),a=n;const p=o.magenta(e[x]);if(r)process.stdout.write(`${p} ${n}...`);else if(D==="timer")process.stdout.write(`${p} ${n} ${k(l)}`);else{const $=".".repeat(Math.floor(g)).slice(0,3);process.stdout.write(`${p} ${n}${$}`)}x=x+1<e.length?x+1:0,g=g<e.length?g+.125:0},t)},Y=(d="",x=0)=>{u=!1,clearInterval(s),E();const g=x===0?o.green(du):x===1?o.red(Wu):o.red(zu);n=c(d??n),D==="timer"?process.stdout.write(`${g} ${n} ${k(l)}
46
+ `):process.stdout.write(`${g} ${n}
47
+ `),m(),i()};return{start:uu,stop:Y,message:(d="")=>{n=c(d??n)}}},au=async D=>{for(const e of D){if(e.enabled===!1)continue;const t=PD();t.start(e.title);const r=await e.task(t.message);t.stop(r||e.title)}};let W=!0;const q=typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{};let X=0;if(q.process&&q.process.env&&q.process.stdout){const{FORCE_COLOR:D,NODE_DISABLE_COLORS:e,NO_COLOR:t,TERM:r,COLORTERM:i}=q.process.env;e||t||D==="0"?W=!1:D==="1"||D==="2"||D==="3"?W=!0:r==="dumb"?W=!1:"CI"in q.process.env&&["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI","GITHUB_ACTIONS","BUILDKITE","DRONE"].some(s=>s in q.process.env)?W=!0:W=process.stdout.isTTY,W&&(process.platform==="win32"||i&&(i==="truecolor"||i==="24bit")?X=3:r&&(r.endsWith("-256color")||r.endsWith("256"))?X=2:X=1)}let Yu={enabled:W,supportLevel:X};function nu(D,e,t=1){const r=`\x1B[${D}m`,i=`\x1B[${e}m`,s=new RegExp(`\\x1b\\[${e}m`,"g");return u=>Yu.enabled&&Yu.supportLevel>=t?r+(""+u).replace(s,r)+i:""+u}const UD=nu(31,39),ou=nu(36,39),GD=nu(90,39),WD=nu(91,39);var Au,Ku;function zD(){if(Ku)return Au;Ku=1;function D(r,i){var s=r;i.slice(0,-1).forEach(function(n){s=s[n]||{}});var u=i[i.length-1];return u in s}function e(r){return typeof r=="number"||/^0x[0-9a-f]+$/i.test(r)?!0:/^[-+]?(?:\d+(?:\.\d*)?|\.\d+)(e[-+]?\d+)?$/.test(r)}function t(r,i){return i==="constructor"&&typeof r[i]=="function"||i==="__proto__"}return Au=function(r,i){i||(i={});var s={bools:{},strings:{},unknownFn:null};typeof i.unknown=="function"&&(s.unknownFn=i.unknown),typeof i.boolean=="boolean"&&i.boolean?s.allBools=!0:[].concat(i.boolean).filter(Boolean).forEach(function(p){s.bools[p]=!0});var u={};function n(p){return u[p].some(function($){return s.bools[$]})}Object.keys(i.alias||{}).forEach(function(p){u[p]=[].concat(i.alias[p]),u[p].forEach(function($){u[$]=[p].concat(u[p].filter(function(L){return $!==L}))})}),[].concat(i.string).filter(Boolean).forEach(function(p){s.strings[p]=!0,u[p]&&[].concat(u[p]).forEach(function($){s.strings[$]=!0})});var a=i.default||{},l={_:[]};function h(p,$){return s.allBools&&/^--[^=]+$/.test($)||s.strings[p]||s.bools[p]||u[p]}function F(p,$,L){for(var f=p,Z=0;Z<$.length-1;Z++){var V=$[Z];if(t(f,V))return;f[V]===void 0&&(f[V]={}),(f[V]===Object.prototype||f[V]===Number.prototype||f[V]===String.prototype)&&(f[V]={}),f[V]===Array.prototype&&(f[V]=[]),f=f[V]}var P=$[$.length-1];t(f,P)||((f===Object.prototype||f===Number.prototype||f===String.prototype)&&(f={}),f===Array.prototype&&(f=[]),f[P]===void 0||s.bools[P]||typeof f[P]=="boolean"?f[P]=L:Array.isArray(f[P])?f[P].push(L):f[P]=[f[P],L])}function C(p,$,L){if(!(L&&s.unknownFn&&!h(p,L)&&s.unknownFn(L)===!1)){var f=!s.strings[p]&&e($)?Number($):$;F(l,p.split("."),f),(u[p]||[]).forEach(function(Z){F(l,Z.split("."),f)})}}Object.keys(s.bools).forEach(function(p){C(p,a[p]===void 0?!1:a[p])});var B=[];r.indexOf("--")!==-1&&(B=r.slice(r.indexOf("--")+1),r=r.slice(0,r.indexOf("--")));for(var m=0;m<r.length;m++){var E=r[m],c,k;if(/^--.+=/.test(E)){var uu=E.match(/^--([^=]+)=([\s\S]*)$/);c=uu[1];var Y=uu[2];s.bools[c]&&(Y=Y!=="false"),C(c,Y,E)}else if(/^--no-.+/.test(E))c=E.match(/^--no-(.+)/)[1],C(c,!1,E);else if(/^--.+/.test(E))c=E.match(/^--(.+)/)[1],k=r[m+1],k!==void 0&&!/^(-|--)[^-]/.test(k)&&!s.bools[c]&&!s.allBools&&(!u[c]||!n(c))?(C(c,k,E),m+=1):/^(true|false)$/.test(k)?(C(c,k==="true",E),m+=1):C(c,s.strings[c]?"":!0,E);else if(/^-[^-]+/.test(E)){for(var d=E.slice(1,-1).split(""),x=!1,g=0;g<d.length;g++){if(k=E.slice(g+2),k==="-"){C(d[g],k,E);continue}if(/[A-Za-z]/.test(d[g])&&k[0]==="="){C(d[g],k.slice(1),E),x=!0;break}if(/[A-Za-z]/.test(d[g])&&/-?\d+(\.\d*)?(e-?\d+)?$/.test(k)){C(d[g],k,E),x=!0;break}if(d[g+1]&&d[g+1].match(/\W/)){C(d[g],E.slice(g+2),E),x=!0;break}else C(d[g],s.strings[d[g]]?"":!0,E)}c=E.slice(-1)[0],!x&&c!=="-"&&(r[m+1]&&!/^(-|--)[^-]/.test(r[m+1])&&!s.bools[c]&&(!u[c]||!n(c))?(C(c,r[m+1],E),m+=1):r[m+1]&&/^(true|false)$/.test(r[m+1])?(C(c,r[m+1]==="true",E),m+=1):C(c,s.strings[c]?"":!0,E))}else if((!s.unknownFn||s.unknownFn(E)!==!1)&&l._.push(s.strings._||!e(E)?E:Number(E)),i.stopEarly){l._.push.apply(l._,r.slice(m+1));break}}return Object.keys(a).forEach(function(p){D(l,p.split("."))||(F(l,p.split("."),a[p]),(u[p]||[]).forEach(function($){F(l,$.split("."),a[p])}))}),i["--"]?l["--"]=B.slice():B.forEach(function(p){l._.push(p)}),l},Au}var YD=zD();const KD=ku(YD);async function qD({rootFolder:D}){const e=y.join(D,".git");try{if(w.existsSync(e)){j.warn("Git repository already exists.");return}}catch(r){j.error(`Error checking git folder: ${r}`);return}const t=await G({message:"Do you want to initialize a git repository? (recommended)",options:[{value:!0,label:"Yes",hint:"You can use GitHub to track changes and collaborate with others."},{value:!1,label:"No",hint:"It is not recommended to skip this step."}],initialValue:!0});if(T(t)&&(v("Operation cancelled."),process.exit(0)),t){const r=await au([{title:"Initializing git repository...",task:async i=>{const s=await U("git",["init","-b","main"],{cwd:D});i(s.stdout);const u=await U("git",["add","."],{cwd:D});return i(u.stdout),"Git repository initialized."}}]);T(r)&&(v("Operation cancelled."),process.exit(0)),j.message(`Now, you can use GitHub Desktop upload your project to GitHub.
48
+ GitHub Desktop: https://github.com/apps/desktop`)}}var H=(D=>(D.VisualStudioCode="vscode",D.Cursor="cursor",D.VSCodium="codium",D.Other="other",D))(H||{});async function HD({rootFolder:D,fileToOpen:e}){const t=await G({message:"Which IDE do you want to use?",options:[{value:H.VisualStudioCode,label:"Visual Studio Code"},{value:H.Cursor,label:"Cursor"},{value:H.VSCodium,label:"VSCodium"},{value:H.Other,label:"Other"}],initialValue:H.VisualStudioCode});if(T(t)&&(v("Operation cancelled."),process.exit(0)),t===void 0)return;let r,i;switch(t){case"vscode":i="Opening in Visual Studio Code...",r="code";break;case"cursor":i="Opening in Cursor...",r="cursor";break;case"codium":i="Opening in VSCodium...",r="codium";break;default:return}await au([{title:i,task:async s=>{try{await xu(r);const u=await U(r,[D]);s(u.stdout);const n=await U(r,[`${D}/README.md`]);if(s(n.stdout),e){const a=await U(r,[`${D}/${e}`]);s(a.stdout)}return`Opened project using ${t}`}catch{return`Could not open project using ${t}, since ${t} was not in your PATH`}}}])}var z=(D=>(D[D.VisualNovel=0]="VisualNovel",D[D.TextStory=1]="TextStory",D[D.GameEngine=2]="GameEngine",D))(z||{}),_=(D=>(D[D.Ink=0]="Ink",D[D.Renpy=1]="Renpy",D[D.Typescript=2]="Typescript",D))(_||{}),M=(D=>(D[D.React=0]="React",D[D.Vue=1]="Vue",D[D.Angular=2]="Angular",D))(M||{});const vu="My Game",JD="my-game",J=[{type:z.VisualNovel,name:"Visual Novel",availableUI:[M.React],availableNarrativeLanguages:[_.Ink,_.Typescript]},{type:z.TextStory,name:"Text-based Story",availableUI:[M.React],availableNarrativeLanguages:[_.Ink,_.Typescript]},{type:z.GameEngine,name:"Game Engine",availableUI:[],availableNarrativeLanguages:[]}];async function ZD({packageName:D}){const e=await G({message:"Select the type of game you want to create:",options:J.map(a=>({label:a.name,value:a.type})),initialValue:J[0].type});T(e)&&(v("Operation cancelled."),process.exit(0));const t=J.find(a=>a.type===e)?.availableUI.map(a=>{let l="";switch(a){case M.React:l=ou("React");break;case M.Vue:l=GD("Vue");break;case M.Angular:l=UD("Angular");break}return{label:l,value:a}})||[];let r;t.length===1?(j.warning(`Only one UI framework available: ${t[0].label}. Using it by default.`),r=t[0].value):t.length>0?(r=await G({message:"Select the UI framework you want to use:",options:t,initialValue:J.find(a=>a.type===e)?.availableUI[0]}),T(r)&&(v("Operation cancelled."),process.exit(0))):r=void 0;const i=J.find(a=>a.type===e)?.availableNarrativeLanguages.map(a=>{let l="";switch(a){case _.Ink:l="Ink + Typescript";break;case _.Renpy:l=WD("Renpy");break;case _.Typescript:l=ou("Typescript");break}return{label:l,value:a}})||[];let s;i.length===1?(j.warning(`Only one narrative language available: ${i[0].label}. Using it by default.`),s=i[0].value):i.length>0?(s=await G({message:"Select the narrative language you want to use:",options:i,initialValue:J.find(a=>a.type===e)?.availableNarrativeLanguages[0]}),T(s)&&(v("Operation cancelled."),process.exit(0))):s=void 0;const u=await G({message:"Which devices is the project intended for?",options:[{label:"Web page",value:!1},{label:"Web page + Desktop + Mobile (Tauri)",value:!0}],initialValue:!1});T(u)&&(v("Operation cancelled."),process.exit(0));let n;return u?(n=await su({message:"Project identifier:",initialValue:`com.${D}.app`,validate:a=>{if(!a)return"Identifier is required.";if(!/^[a-zA-Z0-9_.\-]+$/.test(a))return"Identifier can only contain letters, numbers, underscores, dots and dashes."}}),T(n)&&(v("Operation cancelled."),process.exit(0))):n="",{gameType:e,UIFramework:r,narrativeLanguage:s,multidevice:u,identifier:n}}var S=(D=>(D.Delete="delete",D.Overwrite="overwrite",D.Skip="skip",D.Ask="ask",D.Cancel="cancel",D))(S||{});function QD(D){return D?.trim().replace(/\/+$/g,"")}function XD(D){const e=w.readdirSync(D);return e.length===0||e.length===1&&e[0]===".git"}function ue(D){if(w.existsSync(D))for(const e of w.readdirSync(D))e!==".git"&&w.rmSync(y.resolve(D,e),{recursive:!0,force:!0})}function De(D){return/^(?:@[a-z\d\-*~][a-z\d\-*._~]*\/)?[a-z\d\-~][a-z\d\-._~]*$/.test(D)}function qu(D){return D.trim().toLowerCase().replace(/\s+/g,"-").replace(/^[._]/,"").replace(/[^a-z\d\-~]+/g,"-")}async function ee({argTargetDir:D,targetDir:e}){const t=()=>e==="."?y.basename(y.resolve()):e;let r;D?r=vu:(r=await su({message:"Project name:",defaultValue:vu,placeholder:vu,validate:n=>{if(!n)return"Project name cannot be empty"}}),T(r)&&(v("Operation cancelled."),process.exit(0)));const i=await su({message:"Project description:",defaultValue:"A new game project",placeholder:"A new game project",validate:n=>{if(!n)return"Project description cannot be empty"}});T(i)&&(v("Operation cancelled."),process.exit(0));const s=await su({message:"Package name:",defaultValue:qu(t()),placeholder:qu(t()),validate:n=>{if(!n)return"Package name cannot be empty";if(!De(n))return"Invalid package name. The name can only include URL-friendly characters."}});T(s)&&(v("Operation cancelled."),process.exit(0));let u;return w.existsSync(s)&&!XD(s)?(u=await G({message:"Overwrite existing files?",options:[{hint:"Delete all existing files and create a new project",label:"Delete all",value:S.Delete},{hint:"Overwrite existing conflicting files",label:"Overwrite",value:S.Overwrite},{hint:"Skip existing conflicting files",label:"Skip",value:S.Skip},{hint:"Ask for each file",label:"Ask",value:S.Ask},{hint:"Cancel operation",label:"Cancel",value:S.Cancel}],initialValue:S.Overwrite}),(T(u)||u===S.Cancel)&&(v("Operation cancelled."),process.exit(0))):u=void 0,{projectName:r,description:i,packageName:s,overwrite:u}}const Hu={_gitignore:".gitignore"};async function te({rootFolder:D,overwrite:e,template:t,packageName:r,description:i,projectName:s,identifier:u}){const n=await au([{title:`Creating project in ${D}...`,task:async a=>{switch(e){case S.Delete:ue(D);break;case S.Overwrite:case S.Skip:case S.Ask:break;default:w.mkdirSync(D,{recursive:!0});break}const l=y.resolve(uD(import.meta.url),"../..",`${t}`),h=(m,E)=>{const c=y.join(D,Hu[m]??m);E?w.writeFileSync(c,E):Ju(y.join(l,m),c)},F=w.readdirSync(l).map(async m=>{const E=y.join(D,Hu[m]??m);if(w.existsSync(E))switch(e){case S.Ask:const c=await ND({message:`File ${E} already exists. Do you want to overwrite it?`,initialValue:!1});if(T(c)&&(v("Operation cancelled."),process.exit(0)),!c)return;w.rmSync(E,{recursive:!0,force:!0});break;case S.Skip:return;case S.Delete:case S.Overwrite:w.rmSync(E,{recursive:!0,force:!0});break}switch(m){case"package.json":case"vite.config.ts":case"index.html":let c=w.readFileSync(y.join(l,m),"utf-8");c=c.replace(/my-app-package-name/g,r),c=c.replace(/my-app-description/g,i),c=c.replace(/my-app-project-name/g,s),h(m,c);break;case".git":case"package-lock.json":break;default:h(m)}});await Promise.all(F);const C=y.join(D,"src-tauri");if(w.existsSync(C)){const m=w.readdirSync(C).map(async E=>{switch(E){case"Cargo.lock":case"Cargo.toml":case"tauri.conf.json":let c=w.readFileSync(y.join(C,E),"utf-8");c=c.replace(/my-app-package-name/g,r),c=c.replace(/my-app-description/g,i),c=c.replace(/my-app-project-name/g,s),c=c.replace(/com.my-app-project-name.app/g,u),h(y.join("src-tauri",E),c)}});await Promise.all(m)}const B=y.join(D,"_github");return w.existsSync(B)&&w.renameSync(B,y.join(D,".github")),"Project created"}}]);T(n)&&(v("Operation cancelled."),process.exit(0))}function re(D,e){w.mkdirSync(e,{recursive:!0});for(const t of w.readdirSync(D)){const r=y.resolve(D,t),i=y.resolve(e,t);Ju(r,i)}}function Ju(D,e){w.statSync(D).isDirectory()?re(D,e):w.copyFileSync(D,e)}const ie=process.cwd();async function se(D){let e=D||JD,t,{description:r,overwrite:i,packageName:s,projectName:u}=await ee({argTargetDir:D,targetDir:e}),{UIFramework:n,gameType:a,narrativeLanguage:l,multidevice:h,identifier:F}=await ZD({packageName:s});const C=y.join(ie,e);let B;switch(a){case z.VisualNovel:switch(n){case M.React:switch(l){case _.Typescript:h?B="template-react-vite-muijoy-tauri":B="template-react-vite-muijoy",t="src/labels/startLabel.ts";break;case _.Ink:h?B="template-react-vite-muijoy-ink-tauri":B="template-react-vite-muijoy-ink",t="src/ink/start.ink";break;case _.Renpy:v("Error: There are no templates for this narrative language"),process.exit(0);default:v("Error: Unknown narrative language"),process.exit(0)}break;case M.Vue:case M.Angular:v("Error: There are no templates for this game type and UI framework"),process.exit(0);default:v("Error: Unknown UI framework"),process.exit(0)}break;case z.VisualNovel:switch(n){case M.React:switch(l){case _.Typescript:h?B="template-story-react-vite-muijoy-tauri":B="template-reactemplate-story-reactt-vite-muijoy",t="src/labels/startLabel.ts";break;case _.Ink:h?B="template-story-react-vite-muijoy-ink-tauri":B="template-story-react-vite-muijoy-ink",t="src/ink/start.ink";break;case _.Renpy:v("Error: There are no templates for this narrative language"),process.exit(0);default:v("Error: Unknown narrative language"),process.exit(0)}break;case M.Vue:case M.Angular:v("Error: There are no templates for this game type and UI framework"),process.exit(0);default:v("Error: Unknown UI framework"),process.exit(0)}break;case z.GameEngine:B="template-game-engine",t="src/index.ts";break;default:v("Error: Unknown game type"),process.exit(0)}return await te({rootFolder:C,template:B,packageName:s,description:r,projectName:u,overwrite:i,identifier:F}),{rootFolder:C,fileToOpen:t}}function ae(){console.info(`
49
49
  \u2588\u2588\u2588\u2588\u2588\u2588\u2557 \u2588\u2588\u2557\u2588\u2588\u2557 \u2588\u2588\u2557\u2588\u2588\u2557 \u2588\u2588\u2557 \u2588\u2588\u2557\u2588\u2588\u2588\u2557 \u2588\u2588\u2557
50
50
  \u2588\u2588\u2554\u2550\u2550\u2588\u2588\u2557\u2588\u2588\u2551\u255A\u2588\u2588\u2557\u2588\u2588\u2554\u255D\u2588\u2588\u2551 \u2588\u2588\u2551 \u2588\u2588\u2551\u2588\u2588\u2588\u2588\u2557 \u2588\u2588\u2551
51
51
  \u2588\u2588\u2588\u2588\u2588\u2588\u2554\u255D\u2588\u2588\u2551 \u255A\u2588\u2588\u2588\u2554\u255D \u2588\u2588\u2551\u2588\u2588\u2588\u2588\u2588\u2557\u2588\u2588\u2551 \u2588\u2588\u2551\u2588\u2588\u2554\u2588\u2588\u2557 \u2588\u2588\u2551
52
52
  \u2588\u2588\u2554\u2550\u2550\u2550\u255D \u2588\u2588\u2551 \u2588\u2588\u2554\u2588\u2588\u2557 \u2588\u2588\u2551\u255A\u2550\u2550\u2550\u2550\u255D\u255A\u2588\u2588\u2557 \u2588\u2588\u2554\u255D\u2588\u2588\u2551\u255A\u2588\u2588\u2557\u2588\u2588\u2551
53
53
  \u2588\u2588\u2551 \u2588\u2588\u2551\u2588\u2588\u2554\u255D \u2588\u2588\u2557\u2588\u2588\u2551 \u255A\u2588\u2588\u2588\u2588\u2554\u255D \u2588\u2588\u2551 \u255A\u2588\u2588\u2588\u2588\u2551
54
54
  \u255A\u2550\u255D \u255A\u2550\u255D\u255A\u2550\u255D \u255A\u2550\u255D\u255A\u2550\u255D \u255A\u2550\u2550\u2550\u255D \u255A\u2550\u255D \u255A\u2550\u2550\u2550\u255D
55
- `)}function ae(D){if(!D)return;const e=D.split(" ")[0].split("/");return{name:e[0],version:e[1]}}const Zu=KD(process.argv.slice(2),{default:{help:!1},alias:{h:"help",t:"template"},string:["_"]}),Qu=process.cwd(),oe=`Usage: create-pixi-vn [OPTION]... [DIRECTORY]
55
+ `)}function ne(D){if(!D)return;const e=D.split(" ")[0].split("/");return{name:e[0],version:e[1]}}const Zu=KD(process.argv.slice(2),{default:{help:!1},alias:{h:"help",t:"template"},string:["_"]}),Qu=process.cwd(),oe=`Usage: create-pixi-vn [OPTION]... [DIRECTORY]
56
56
 
57
57
  Create a new Pixi\u2019VN project.
58
58
  With no arguments, start the CLI in interactive mode.
@@ -61,7 +61,7 @@ Options:
61
61
  -t, --template NAME use a specific template
62
62
 
63
63
  Available templates:
64
- ${ou("basic-visual-novel react")}`;async function Fe(){try{ne(),VD(`Welcome to ${ou("Pixi\u2019VN")}! \u{1F3A8}\u2728`);const D=QD(Zu._[0]);if(Zu.help){console.log(oe);return}const{rootFolder:e,fileToOpen:t}=await se(D);await qD({rootFolder:e});const r=ae(process.env.npm_config_user_agent),i=r?r.name:"npm",s=y.relative(Qu,e);await HD({rootFolder:e,fileToOpen:t}),await nu([{title:"Installing dependencies...",task:async a=>{try{await xu(i),i==="yarn"?await G("yarn",[],{cwd:e}):await G(i,["install"],{cwd:e})}catch{return`Could not use ${i} to install dependencies`}return"Dependencies installed."}}]),R.message("Refer to the README.md file for detailed information about the project.");let u="To run the game:";switch(e!==Qu&&(u+=`
64
+ ${ou("basic-visual-novel react")}`;async function le(){try{ae(),VD(`Welcome to ${ou("Pixi\u2019VN")}! \u{1F3A8}\u2728`);const D=QD(Zu._[0]);if(Zu.help){console.log(oe);return}const{rootFolder:e,fileToOpen:t}=await se(D);await qD({rootFolder:e});const r=ne(process.env.npm_config_user_agent),i=r?r.name:"npm",s=y.relative(Qu,e);await HD({rootFolder:e,fileToOpen:t}),await au([{title:"Installing dependencies...",task:async n=>{try{await xu(i),i==="yarn"?await U("yarn",[],{cwd:e}):await U(i,["install"],{cwd:e})}catch{return`Could not use ${i} to install dependencies`}return"Dependencies installed."}}]),j.message("Refer to the README.md file for detailed information about the project.");let u="To run the game:";switch(e!==Qu&&(u+=`
65
65
  cd ${s.includes(" ")?`"${s}"`:s}`),i){case"yarn":u+=`
66
66
  yarn dev`;break;default:u+=`
67
- ${i} run start`;break}R.message(u),LD("You're all set! \u{1F389} Now go build your game! \u{1F680}"),console.log()}catch(D){console.error(D)}}Fe().catch(D=>{console.error(D)});
67
+ ${i} run start`;break}j.message(u),LD("You're all set! \u{1F389} Now go build your game! \u{1F680}"),console.log()}catch(D){console.error(D)}}le().catch(D=>{console.error(D)});
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "create-pixi-vn",
3
3
  "description": "Create a new Pixi’VN project",
4
- "version": "1.4.2",
4
+ "version": "1.5.1",
5
5
  "type": "module",
6
6
  "license": "GPL-3.0",
7
7
  "author": "DRincs-Productions",
@@ -15,9 +15,12 @@
15
15
  "template-react-vite-muijoy",
16
16
  "template-react-vite-muijoy-ink",
17
17
  "template-react-vite-muijoy-ink-tauri",
18
- "template-react-vite-muijoy",
19
18
  "template-react-vite-muijoy-electron",
20
19
  "template-react-vite-muijoy-tauri",
20
+ "template-story-react-vite-muijoy",
21
+ "template-story-react-vite-muijoy-ink",
22
+ "template-story-react-vite-muijoy-ink-tauri",
23
+ "template-story-react-vite-muijoy-tauri",
21
24
  "dist"
22
25
  ],
23
26
  "scripts": {
@@ -74,10 +74,10 @@ export default function MainMenu() {
74
74
  <MenuButton
75
75
  onClick={() => {
76
76
  canvas.removeAll();
77
- navigate(NARRATION_ROUTE);
78
- narration
79
- .callLabel(startLabel, gameProps)
80
- .then(() => queryClient.invalidateQueries({ queryKey: [INTERFACE_DATA_USE_QUEY_KEY] }));
77
+ narration.callLabel(startLabel, gameProps).then(() => {
78
+ queryClient.invalidateQueries({ queryKey: [INTERFACE_DATA_USE_QUEY_KEY] });
79
+ navigate(NARRATION_ROUTE);
80
+ });
81
81
  }}
82
82
  transitionDelay={0.2}
83
83
  >
@@ -73,10 +73,10 @@ export default function MainMenu() {
73
73
  <MenuButton
74
74
  onClick={() => {
75
75
  canvas.removeAll();
76
- navigate(NARRATION_ROUTE);
77
- narration
78
- .callLabel("start", gameProps)
79
- .then(() => queryClient.invalidateQueries({ queryKey: [INTERFACE_DATA_USE_QUEY_KEY] }));
76
+ narration.callLabel("start", gameProps).then(() => {
77
+ queryClient.invalidateQueries({ queryKey: [INTERFACE_DATA_USE_QUEY_KEY] });
78
+ navigate(NARRATION_ROUTE);
79
+ });
80
80
  }}
81
81
  transitionDelay={0.2}
82
82
  >
@@ -73,10 +73,10 @@ export default function MainMenu() {
73
73
  <MenuButton
74
74
  onClick={() => {
75
75
  canvas.removeAll();
76
- navigate(NARRATION_ROUTE);
77
- narration
78
- .callLabel("start", gameProps)
79
- .then(() => queryClient.invalidateQueries({ queryKey: [INTERFACE_DATA_USE_QUEY_KEY] }));
76
+ narration.callLabel("start", gameProps).then(() => {
77
+ queryClient.invalidateQueries({ queryKey: [INTERFACE_DATA_USE_QUEY_KEY] });
78
+ navigate(NARRATION_ROUTE);
79
+ });
80
80
  }}
81
81
  transitionDelay={0.2}
82
82
  >
@@ -74,10 +74,10 @@ export default function MainMenu() {
74
74
  <MenuButton
75
75
  onClick={() => {
76
76
  canvas.removeAll();
77
- navigate(NARRATION_ROUTE);
78
- narration
79
- .callLabel(startLabel, gameProps)
80
- .then(() => queryClient.invalidateQueries({ queryKey: [INTERFACE_DATA_USE_QUEY_KEY] }));
77
+ narration.callLabel(startLabel, gameProps).then(() => {
78
+ queryClient.invalidateQueries({ queryKey: [INTERFACE_DATA_USE_QUEY_KEY] });
79
+ navigate(NARRATION_ROUTE);
80
+ });
81
81
  }}
82
82
  transitionDelay={0.2}
83
83
  >
@@ -0,0 +1,18 @@
1
+ module.exports = {
2
+ root: true,
3
+ env: { browser: true, es2020: true },
4
+ extends: ["eslint:recommended", "plugin:@typescript-eslint/recommended", "plugin:react-hooks/recommended"],
5
+ ignorePatterns: ["dist", ".eslintrc.cjs"],
6
+ parser: "@typescript-eslint/parser",
7
+ plugins: ["react-refresh"],
8
+ rules: {
9
+ "react-refresh/only-export-components": ["warn", { allowConstantExport: true }],
10
+ },
11
+ "prefer-const": [
12
+ "error",
13
+ {
14
+ destructuring: "all",
15
+ ignoreReadBeforeAssign: true,
16
+ },
17
+ ],
18
+ };
@@ -0,0 +1,9 @@
1
+ {
2
+ "recommendations": [
3
+ "ms-vscode.vscode-typescript-next",
4
+ "dbaeumer.vscode-eslint",
5
+ "antiantisepticeye.vscode-color-picker",
6
+ "pflannery.vscode-versionlens",
7
+ "esbenp.prettier-vscode"
8
+ ]
9
+ }
@@ -0,0 +1,16 @@
1
+ {
2
+ // Use IntelliSense to learn about possible attributes.
3
+ // Hover to view descriptions of existing attributes.
4
+ // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
5
+ // bash: https://docs.microsoft.com/it-it/windows/dev-environment/javascript/nodejs-on-wsl
6
+ "version": "0.2.0",
7
+ "configurations": [
8
+ {
9
+ "name": "Launch Chrome localhost 5173",
10
+ "request": "launch",
11
+ "type": "chrome",
12
+ "url": "http://localhost:5173",
13
+ "webRoot": "${workspaceFolder}",
14
+ },
15
+ ]
16
+ }