From 0cbf4d537c656dc722b2b74f39942572e7bf5c2b Mon Sep 17 00:00:00 2001 From: lzxb Date: Thu, 21 Nov 2024 11:18:54 +0800 Subject: [PATCH] deploy --- 404.html | 17 + api/README.html | 54 +++ api/classes/Gez.html | 339 ++++++++++++++++++ api/classes/RenderContext.html | 217 +++++++++++ api/core/app.html | 42 +++ api/core/gez.html | 170 +++++++++ api/core/manifest-json.html | 72 ++++ api/core/middleware.html | 28 ++ api/core/module-config.html | 122 +++++++ api/core/pack-config.html | 45 +++ api/core/render-context.html | 142 ++++++++ api/enums/PathType.html | 29 ++ api/functions/createApp.html | 35 ++ api/functions/createMiddleware.html | 35 ++ api/functions/mergeMiddlewares.html | 38 ++ api/functions/parseModuleConfig.html | 48 +++ api/functions/parsePackConfig.html | 35 ++ api/interfaces/App.html | 70 ++++ api/interfaces/GezOptions.html | 119 ++++++ api/interfaces/ManifestJson.html | 57 +++ api/interfaces/ManifestJsonChunkSizes.html | 33 ++ api/interfaces/ManifestJsonChunks.html | 41 +++ api/interfaces/ModuleConfig.html | 47 +++ api/interfaces/PackConfig.html | 122 +++++++ api/interfaces/ParsedModuleConfig.html | 46 +++ api/interfaces/ParsedPackConfig.html | 114 ++++++ api/interfaces/RenderContextOptions.html | 37 ++ api/interfaces/RenderFiles.html | 47 +++ api/rspack-vue/vue.html | 28 ++ api/rspack/app.html | 31 ++ api/rspack/build-target.html | 19 + api/rspack/html-app.html | 70 ++++ api/types/Middleware.html | 45 +++ api/types/ServerRenderHandle.html | 38 ++ guide/essentials/alias.html | 61 ++++ guide/essentials/base-path.html | 46 +++ guide/essentials/command.html | 49 +++ guide/essentials/config.html | 213 +++++++++++ guide/essentials/csr.html | 67 ++++ guide/essentials/module-link.html | 120 +++++++ guide/essentials/render-context.html | 91 +++++ guide/essentials/rspack.html | 180 ++++++++++ guide/essentials/std.html | 58 +++ guide/start/getting-started.html | 173 +++++++++ guide/start/introduction.html | 70 ++++ index.html | 17 + logo.svg | 3 + ssr-base/importmap.32e210256a988dbb.final.js | 1 + ssr-base/importmap.js | 1 + ssr-base/index.html | 0 ssr-base/manifest.json | 62 ++++ ssr-base/npm/axios.26b9e9fc.final.js | 1 + ssr-base/src/date-fns.835c96eb.final.js | 1 + ssr-base/src/entry.client.45d16617.final.js | 1 + ssr-base/src/title.13ce4d5e.final.js | 1 + ssr-html/about/index.html | 32 ++ ssr-html/chunks/222.584a2be3.final.css | 1 + ssr-html/chunks/222.81e62fc0.final.js | 35 ++ ssr-html/chunks/473.31938102.final.js | 12 + ssr-html/chunks/473.584a2be3.final.css | 1 + ssr-html/chunks/830.584a2be3.final.css | 1 + ssr-html/chunks/830.da02209d.final.js | 12 + ssr-html/images/cat.ed79ef6b.final.jpeg | Bin 0 -> 9111 bytes ssr-html/images/loading.6e6b1b2e.final.gif | Bin 0 -> 10805 bytes ssr-html/images/logo.310683d2.final.svg | 3 + ssr-html/images/starry.d914a632.final.jpg | Bin 0 -> 154039 bytes ssr-html/images/sun.429a7bc5.final.png | Bin 0 -> 13076 bytes ssr-html/importmap.17cb61bb3a8c0c55.final.js | 1 + ssr-html/importmap.js | 1 + ssr-html/index.html | 55 +++ ssr-html/manifest.json | 82 +++++ ssr-html/src/entry.client.ab81ae40.final.css | 1 + ssr-html/src/entry.client.e563ad2e.final.js | 1 + .../importmap.ac9bc79c92f1ef08.final.js | 1 + ssr-preact-htm/importmap.js | 1 + ssr-preact-htm/index.html | 19 + ssr-preact-htm/manifest.json | 29 ++ .../src/entry.client.191feabb.final.css | 1 + .../src/entry.client.fa83e714.final.js | 4 + ssr-vue2-host/chunks/946.cec8abcc.final.js | 1 + ssr-vue2-host/chunks/946.e122f2d6.final.css | 1 + .../importmap.9451fbdfe909b396.final.js | 1 + ssr-vue2-host/importmap.js | 1 + ssr-vue2-host/index.html | 24 ++ ssr-vue2-host/manifest.json | 40 +++ .../src/entry.client.64e08cbd.final.js | 1 + ssr-vue2-remote/chunks/849.4b941f3d.final.css | 1 + ssr-vue2-remote/chunks/849.afb2727a.final.js | 1 + .../images/logo.310683d2.final.svg | 3 + .../importmap.a1084ab14b0f3066.final.js | 1 + ssr-vue2-remote/importmap.js | 1 + ssr-vue2-remote/index.html | 21 ++ ssr-vue2-remote/manifest.json | 73 ++++ ssr-vue2-remote/npm/vue.7e193d93.final.js | 1 + .../components/layout.vue.3ad88cfb.final.css | 1 + .../components/layout.vue.885aaf5e.final.js | 1 + .../src/entry.client.dc1e20a2.final.js | 1 + .../src/entry.client.ee7811ae.final.css | 1 + ssr-vue3/importmap.4b3c451d5113cd1c.final.js | 1 + ssr-vue3/importmap.js | 1 + ssr-vue3/index.html | 17 + ssr-vue3/manifest.json | 29 ++ ssr-vue3/src/entry.client.01fdf3b0.final.js | 23 ++ ssr-vue3/src/entry.client.45cda3d7.final.css | 1 + static/css/styles.5bcdb648.css | 1 + static/js/async/11.ed144333.js | 1 + static/js/async/149.ffb5d34d.js | 1 + static/js/async/241.5e5d2ee0.js | 1 + static/js/async/260.f180ae06.js | 1 + static/js/async/277.03fe0e53.js | 1 + static/js/async/293.114ef388.js | 1 + static/js/async/299.48f692ec.js | 1 + static/js/async/320.cd9b4d65.js | 1 + static/js/async/337.47d8d763.js | 1 + static/js/async/343.46b1e5c3.js | 1 + static/js/async/353.7b4ca2ea.js | 1 + static/js/async/400.79b3d396.js | 1 + static/js/async/401.a9c53cac.js | 1 + static/js/async/419.dfb5ff92.js | 1 + static/js/async/43.2ab3af5f.js | 1 + static/js/async/435.fdc29e7d.js | 1 + static/js/async/457.895af74e.js | 1 + static/js/async/519.03e223c8.js | 1 + static/js/async/548.c2860acb.js | 1 + static/js/async/563.1e004741.js | 1 + static/js/async/578.f3c37251.js | 1 + static/js/async/592.d058a807.js | 1 + static/js/async/602.5ebfe3a0.js | 1 + static/js/async/604.fb234a69.js | 1 + static/js/async/61.9cc00f6b.js | 1 + static/js/async/667.6be97a91.js | 1 + static/js/async/672.706c0e85.js | 1 + static/js/async/678.19a9ca80.js | 1 + static/js/async/679.aa653699.js | 1 + static/js/async/690.885beca2.js | 1 + static/js/async/701.514b1c8d.js | 1 + static/js/async/713.91c0e160.js | 1 + static/js/async/715.6977f02c.js | 1 + static/js/async/764.0e0c737c.js | 1 + static/js/async/771.434f1586.js | 1 + static/js/async/776.5169a65a.js | 1 + static/js/async/779.2901f4fe.js | 1 + static/js/async/79.d98bb022.js | 1 + static/js/async/824.67430ce6.js | 1 + static/js/async/828.104495d6.js | 1 + static/js/async/831.62c1034f.js | 1 + static/js/async/852.f978b00e.js | 1 + static/js/async/892.14edf9ec.js | 1 + static/js/async/927.d39f23bf.js | 1 + static/js/async/931.7ce1748a.js | 1 + static/js/index.d73a750f.js | 6 + static/js/index.d73a750f.js.LICENSE.txt | 35 ++ static/js/lib-react.af521ee3.js | 2 + static/js/lib-react.af521ee3.js.LICENSE.txt | 39 ++ static/js/lib-router.c00498b0.js | 2 + static/js/lib-router.c00498b0.js.LICENSE.txt | 32 ++ static/js/styles.f9ace70b.js | 1 + static/search_index.cccf1b72.json | 1 + 158 files changed, 4352 insertions(+) create mode 100644 404.html create mode 100644 api/README.html create mode 100644 api/classes/Gez.html create mode 100644 api/classes/RenderContext.html create mode 100644 api/core/app.html create mode 100644 api/core/gez.html create mode 100644 api/core/manifest-json.html create mode 100644 api/core/middleware.html create mode 100644 api/core/module-config.html create mode 100644 api/core/pack-config.html create mode 100644 api/core/render-context.html create mode 100644 api/enums/PathType.html create mode 100644 api/functions/createApp.html create mode 100644 api/functions/createMiddleware.html create mode 100644 api/functions/mergeMiddlewares.html create mode 100644 api/functions/parseModuleConfig.html create mode 100644 api/functions/parsePackConfig.html create mode 100644 api/interfaces/App.html create mode 100644 api/interfaces/GezOptions.html create mode 100644 api/interfaces/ManifestJson.html create mode 100644 api/interfaces/ManifestJsonChunkSizes.html create mode 100644 api/interfaces/ManifestJsonChunks.html create mode 100644 api/interfaces/ModuleConfig.html create mode 100644 api/interfaces/PackConfig.html create mode 100644 api/interfaces/ParsedModuleConfig.html create mode 100644 api/interfaces/ParsedPackConfig.html create mode 100644 api/interfaces/RenderContextOptions.html create mode 100644 api/interfaces/RenderFiles.html create mode 100644 api/rspack-vue/vue.html create mode 100644 api/rspack/app.html create mode 100644 api/rspack/build-target.html create mode 100644 api/rspack/html-app.html create mode 100644 api/types/Middleware.html create mode 100644 api/types/ServerRenderHandle.html create mode 100644 guide/essentials/alias.html create mode 100644 guide/essentials/base-path.html create mode 100644 guide/essentials/command.html create mode 100644 guide/essentials/config.html create mode 100644 guide/essentials/csr.html create mode 100644 guide/essentials/module-link.html create mode 100644 guide/essentials/render-context.html create mode 100644 guide/essentials/rspack.html create mode 100644 guide/essentials/std.html create mode 100644 guide/start/getting-started.html create mode 100644 guide/start/introduction.html create mode 100644 index.html create mode 100644 logo.svg create mode 100644 ssr-base/importmap.32e210256a988dbb.final.js create mode 100644 ssr-base/importmap.js create mode 100644 ssr-base/index.html create mode 100644 ssr-base/manifest.json create mode 100644 ssr-base/npm/axios.26b9e9fc.final.js create mode 100644 ssr-base/src/date-fns.835c96eb.final.js create mode 100644 ssr-base/src/entry.client.45d16617.final.js create mode 100644 ssr-base/src/title.13ce4d5e.final.js create mode 100644 ssr-html/about/index.html create mode 100644 ssr-html/chunks/222.584a2be3.final.css create mode 100644 ssr-html/chunks/222.81e62fc0.final.js create mode 100644 ssr-html/chunks/473.31938102.final.js create mode 100644 ssr-html/chunks/473.584a2be3.final.css create mode 100644 ssr-html/chunks/830.584a2be3.final.css create mode 100644 ssr-html/chunks/830.da02209d.final.js create mode 100644 ssr-html/images/cat.ed79ef6b.final.jpeg create mode 100644 ssr-html/images/loading.6e6b1b2e.final.gif create mode 100644 ssr-html/images/logo.310683d2.final.svg create mode 100644 ssr-html/images/starry.d914a632.final.jpg create mode 100644 ssr-html/images/sun.429a7bc5.final.png create mode 100644 ssr-html/importmap.17cb61bb3a8c0c55.final.js create mode 100644 ssr-html/importmap.js create mode 100644 ssr-html/index.html create mode 100644 ssr-html/manifest.json create mode 100644 ssr-html/src/entry.client.ab81ae40.final.css create mode 100644 ssr-html/src/entry.client.e563ad2e.final.js create mode 100644 ssr-preact-htm/importmap.ac9bc79c92f1ef08.final.js create mode 100644 ssr-preact-htm/importmap.js create mode 100644 ssr-preact-htm/index.html create mode 100644 ssr-preact-htm/manifest.json create mode 100644 ssr-preact-htm/src/entry.client.191feabb.final.css create mode 100644 ssr-preact-htm/src/entry.client.fa83e714.final.js create mode 100644 ssr-vue2-host/chunks/946.cec8abcc.final.js create mode 100644 ssr-vue2-host/chunks/946.e122f2d6.final.css create mode 100644 ssr-vue2-host/importmap.9451fbdfe909b396.final.js create mode 100644 ssr-vue2-host/importmap.js create mode 100644 ssr-vue2-host/index.html create mode 100644 ssr-vue2-host/manifest.json create mode 100644 ssr-vue2-host/src/entry.client.64e08cbd.final.js create mode 100644 ssr-vue2-remote/chunks/849.4b941f3d.final.css create mode 100644 ssr-vue2-remote/chunks/849.afb2727a.final.js create mode 100644 ssr-vue2-remote/images/logo.310683d2.final.svg create mode 100644 ssr-vue2-remote/importmap.a1084ab14b0f3066.final.js create mode 100644 ssr-vue2-remote/importmap.js create mode 100644 ssr-vue2-remote/index.html create mode 100644 ssr-vue2-remote/manifest.json create mode 100644 ssr-vue2-remote/npm/vue.7e193d93.final.js create mode 100644 ssr-vue2-remote/src/components/layout.vue.3ad88cfb.final.css create mode 100644 ssr-vue2-remote/src/components/layout.vue.885aaf5e.final.js create mode 100644 ssr-vue2-remote/src/entry.client.dc1e20a2.final.js create mode 100644 ssr-vue2-remote/src/entry.client.ee7811ae.final.css create mode 100644 ssr-vue3/importmap.4b3c451d5113cd1c.final.js create mode 100644 ssr-vue3/importmap.js create mode 100644 ssr-vue3/index.html create mode 100644 ssr-vue3/manifest.json create mode 100644 ssr-vue3/src/entry.client.01fdf3b0.final.js create mode 100644 ssr-vue3/src/entry.client.45cda3d7.final.css create mode 100644 static/css/styles.5bcdb648.css create mode 100644 static/js/async/11.ed144333.js create mode 100644 static/js/async/149.ffb5d34d.js create mode 100644 static/js/async/241.5e5d2ee0.js create mode 100644 static/js/async/260.f180ae06.js create mode 100644 static/js/async/277.03fe0e53.js create mode 100644 static/js/async/293.114ef388.js create mode 100644 static/js/async/299.48f692ec.js create mode 100644 static/js/async/320.cd9b4d65.js create mode 100644 static/js/async/337.47d8d763.js create mode 100644 static/js/async/343.46b1e5c3.js create mode 100644 static/js/async/353.7b4ca2ea.js create mode 100644 static/js/async/400.79b3d396.js create mode 100644 static/js/async/401.a9c53cac.js create mode 100644 static/js/async/419.dfb5ff92.js create mode 100644 static/js/async/43.2ab3af5f.js create mode 100644 static/js/async/435.fdc29e7d.js create mode 100644 static/js/async/457.895af74e.js create mode 100644 static/js/async/519.03e223c8.js create mode 100644 static/js/async/548.c2860acb.js create mode 100644 static/js/async/563.1e004741.js create mode 100644 static/js/async/578.f3c37251.js create mode 100644 static/js/async/592.d058a807.js create mode 100644 static/js/async/602.5ebfe3a0.js create mode 100644 static/js/async/604.fb234a69.js create mode 100644 static/js/async/61.9cc00f6b.js create mode 100644 static/js/async/667.6be97a91.js create mode 100644 static/js/async/672.706c0e85.js create mode 100644 static/js/async/678.19a9ca80.js create mode 100644 static/js/async/679.aa653699.js create mode 100644 static/js/async/690.885beca2.js create mode 100644 static/js/async/701.514b1c8d.js create mode 100644 static/js/async/713.91c0e160.js create mode 100644 static/js/async/715.6977f02c.js create mode 100644 static/js/async/764.0e0c737c.js create mode 100644 static/js/async/771.434f1586.js create mode 100644 static/js/async/776.5169a65a.js create mode 100644 static/js/async/779.2901f4fe.js create mode 100644 static/js/async/79.d98bb022.js create mode 100644 static/js/async/824.67430ce6.js create mode 100644 static/js/async/828.104495d6.js create mode 100644 static/js/async/831.62c1034f.js create mode 100644 static/js/async/852.f978b00e.js create mode 100644 static/js/async/892.14edf9ec.js create mode 100644 static/js/async/927.d39f23bf.js create mode 100644 static/js/async/931.7ce1748a.js create mode 100644 static/js/index.d73a750f.js create mode 100644 static/js/index.d73a750f.js.LICENSE.txt create mode 100644 static/js/lib-react.af521ee3.js create mode 100644 static/js/lib-react.af521ee3.js.LICENSE.txt create mode 100644 static/js/lib-router.c00498b0.js create mode 100644 static/js/lib-router.c00498b0.js.LICENSE.txt create mode 100644 static/js/styles.f9ace70b.js create mode 100644 static/search_index.cccf1b72.json diff --git a/404.html b/404.html new file mode 100644 index 000000000..328dc3f4a --- /dev/null +++ b/404.html @@ -0,0 +1,17 @@ + + + + + + + + + 404 - Gez + + + +

404

PAGE NOT FOUND

+
+ + + diff --git a/api/README.html b/api/README.html new file mode 100644 index 000000000..00e0e366d --- /dev/null +++ b/api/README.html @@ -0,0 +1,54 @@ + + + + + + + + + Gez - Gez + + + +
+
+ + + diff --git a/api/classes/Gez.html b/api/classes/Gez.html new file mode 100644 index 000000000..2b71d952e --- /dev/null +++ b/api/classes/Gez.html @@ -0,0 +1,339 @@ + + + + + + + + + Class: Gez - Gez + + + +

Class: Gez

+

Table of contents

+

Constructors

+ +

Properties

+ +

Accessors

+ +

Methods

+ +

Constructors

+

constructor

+

new Gez(options?)

+

Parameters

+ + + + + + + + + + + + + +
NameType
optionsGezOptions
+

Properties

+

_app

+

Private _app: null | App = null

+
+

_command

+

Private _command: null | COMMAND = null

+
+

_options

+

Private Readonly _options: GezOptions

+
+

moduleConfig

+

Readonly moduleConfig: ParsedModuleConfig

+

根据传入的 modules 选项解析出来的对象。

+
+

packConfig

+

Readonly packConfig: ParsedPackConfig

+

Accessors

+

COMMAND

+

get COMMAND(): typeof COMMAND

+

全部命令的枚举对象。

+

Returns

+

typeof COMMAND

+
+

app

+

Private get app(): App

+

Returns

+

App

+
+

basePath

+

get basePath(): string

+

根据服务名称生成的静态资源基本路径。

+

Returns

+

string

+
+

basePathPlaceholder

+

get basePathPlaceholder(): string

+

动态的 base 地址占位符。

+

Returns

+

string

+
+

command

+

get command(): COMMAND

+

当前执行的命令。

+

Returns

+

COMMAND

+
+

isProd

+

get isProd(): boolean

+

是否是生产环境。

+

Returns

+

boolean

+
+

middleware

+

get middleware(): Middleware

+

中间件。

+

Returns

+

Middleware

+
+

name

+

get name(): string

+

服务名称,来源于 package.json 文件的 name 字段。

+

Returns

+

string

+
+

render

+

get render(): (options?: RenderContextOptions) => Promise<RenderContext>

+

调用 entry.server.ts 导出的渲染函数。

+

Returns

+

fn

+

(options?): Promise<RenderContext>

+

渲染函数

+
Parameters
+ + + + + + + + + + + + + + + +
NameTypeDescription
options?RenderContextOptions透传给 RenderContextOptions
+
Returns
+

Promise<RenderContext>

+
+

root

+

get root(): string

+

项目根目录。

+

Returns

+

string

+
+

varName

+

get varName(): string

+

根据 name 生成的 JS 变量名称。

+

Returns

+

string

+

Methods

+

build

+

build(): Promise<boolean>

+

构建生产代码。

+

Returns

+

Promise<boolean>

+
+

createServer

+

createServer(): Promise<void>

+

执行下面的命令,会创建服务器。

+
    +
  • gez dev
  • +
  • gez start
  • +
  • gez preview
  • +
+

Returns

+

Promise<void>

+
+

destroy

+

destroy(): Promise<boolean>

+

销毁实例,释放内存。

+

Returns

+

Promise<boolean>

+
+

getManifestList

+

getManifestList(target): ManifestJson[]

+

获取全部服务的清单文件。

+

Parameters

+ + + + + + + + + + + + + +
NameType
target"client" | "server"
+

Returns

+

ManifestJson[]

+
+

getServerImportMap

+

getServerImportMap(): ImportMap

+

获取服务端的 importmap 映射文件。

+

Returns

+

ImportMap

+
+

init

+

init(command): Promise<boolean>

+

初始化实例。

+

Parameters

+ + + + + + + + + + + + + +
NameType
commandCOMMAND
+

Returns

+

Promise<boolean>

+
+

postCompileProdHook

+

postCompileProdHook(): Promise<boolean>

+

执行 gez build 命令回调。

+

Returns

+

Promise<boolean>

+
+

readJsonSync

+

readJsonSync(filename): any

+

异步的读取一个 JSON 文件。

+

Parameters

+ + + + + + + + + + + + + +
NameType
filenamestring
+

Returns

+

any

+
+

resolvePath

+

resolvePath(projectPath, ...args): string

+

解析项目路径。

+

Parameters

+ + + + + + + + + + + + + + + + + +
NameType
projectPathProjectPath
...argsstring[]
+

Returns

+

string

+
+

writeSync

+

writeSync(filepath, data): void

+

同步写入一个文件。

+

Parameters

+ + + + + + + + + + + + + + + + + +
NameType
filepathstring
dataany
+

Returns

+

void

+
+

getDistOptions

+

Static getDistOptions(): Promise<GezOptions>

+

获取 dist/node/src/entry.node.js 文件导出的选项

+

Returns

+

Promise<GezOptions>

+
+

getSrcOptions

+

Static getSrcOptions(): Promise<GezOptions>

+

获取 src/entry.node.ts 文件导出的选项

+

Returns

+

Promise<GezOptions>

+
+ + + diff --git a/api/classes/RenderContext.html b/api/classes/RenderContext.html new file mode 100644 index 000000000..9c01532b6 --- /dev/null +++ b/api/classes/RenderContext.html @@ -0,0 +1,217 @@ + + + + + + + + + Class: RenderContext - Gez + + + +

Class: RenderContext

+

渲染上下文

+

Table of contents

+

Constructors

+ +

Properties

+ +

Accessors

+ +

Methods

+ +

Constructors

+

constructor

+

new RenderContext(gez, options?)

+

Parameters

+ + + + + + + + + + + + + + + + + +
NameType
gezGez
optionsRenderContextOptions
+

Properties

+

_html

+

Private _html: string = ''

+
+

base

+

Readonly base: string

+

参数传入的 base。

+
+

entryName

+

Readonly entryName: string

+

参数传入的 entryName。

+
+

files

+

files: RenderFiles

+

importMetaSet 收集完成后,调用 rc.commit() 函数时,会更新这个对象的信息。

+
+

gez

+

gez: Gez

+

Gez 的实例。

+
+

importMetaSet

+

importMetaSet: Set<ImportMeta>

+

服务端渲染过程中,收集模块执行过程中的 import.meta 对象。

+
+

params

+

Readonly params: Record<string, any>

+

参数传入的 params。

+
+

redirect

+

redirect: null | string = null

+

重定向地址。

+
+

status

+

status: null | number = null

+

响应的状态码。

+

Accessors

+

html

+

get html(): string

+

响应的 html 内容。

+

Returns

+

string

+

set html(html): void

+

Parameters

+ + + + + + + + + + + + + +
NameType
htmlstring
+

Returns

+

void

+

Methods

+

commit

+

commit(): Promise<void>

+

同构应用渲染完成后,提交模块依赖更新 files 对象。

+

Returns

+

Promise<void>

+
+

css

+

css(): string

+

根据 files 生成服务端首屏加载的 CSS。

+

Returns

+

string

+
+

importmap

+

importmap(): string

+

根据 files 生成 importmap 相关代码。

+

Returns

+

string

+
+

moduleEntry

+

moduleEntry(): string

+

根据 files 生成模块入口执行代码。

+

Returns

+

string

+
+

modulePreload

+

modulePreload(): string

+

根据 files 生成 ESM 模块预加载代码。

+

Returns

+

string

+
+

preload

+

preload(): string

+

根据 files 生成 JS 和 CSS 文件的预加载代码。

+

Returns

+

string

+
+

serialize

+

serialize(input, options?): string

+

透传 https://github.com/yahoo/serialize-javascript

+

Parameters

+ + + + + + + + + + + + + + + + + +
NameType
inputany
options?SerializeJSOptions
+

Returns

+

string

+
+

state

+

state(varName, data): string

+

在 window 对象,注入一个 JS 变量对象,data 必须是可以被序列化的。

+

Parameters

+ + + + + + + + + + + + + + + + + +
NameType
varNamestring
dataRecord<string, any>
+

Returns

+

string

+
+ + + diff --git a/api/core/app.html b/api/core/app.html new file mode 100644 index 000000000..0ab9d3437 --- /dev/null +++ b/api/core/app.html @@ -0,0 +1,42 @@ + + + + + + + + + App - Gez + + + +

App

+

类型

+
1import type { Gez } from './gez';
+2import { type Middleware } from './middleware';
+3import { RenderContext, type RenderContextOptions } from './render-context';
+4export interface App {
+5    /**
+6     * 中间件列表
+7     */
+8    middleware: Middleware;
+9    /**
+10     * 渲染函数
+11     * @param options 透传给 RenderContextOptions
+12     * @returns
+13     */
+14    render: (options?: RenderContextOptions) => Promise<RenderContext>;
+15    /**
+16     * 执行构建
+17     */
+18    build?: () => Promise<boolean>;
+19    /**
+20     * 销毁实例,释放内存
+21     */
+22    destroy?: () => Promise<boolean>;
+23}
+24export declare function createApp(gez: Gez): Promise<App>;
ON THIS PAGE
+
+ + + diff --git a/api/core/gez.html b/api/core/gez.html new file mode 100644 index 000000000..90d712c1f --- /dev/null +++ b/api/core/gez.html @@ -0,0 +1,170 @@ + + + + + + + + + Gez - Gez + + + +

Gez

+

类型

+
1import type { ImportMap } from '@gez/import';
+2import { type App } from './app';
+3import type { ManifestJson } from './manifest-json';
+4import { type ModuleConfig, type ParsedModuleConfig } from './module-config';
+5import { type PackConfig, type ParsedPackConfig } from './pack-config';
+6import { type ProjectPath } from './resolve-path';
+7/**
+8 * 详细说明,请看文档:https://dp-os.github.io/gez/api/gez.html
+9 */
+10export interface GezOptions {
+11    /**
+12     * 项目根目录,默认为当前执行命令的目录。
+13     */
+14    root?: string;
+15    /**
+16     * 是否是生产环境。
+17     */
+18    isProd?: boolean;
+19    /**
+20     * 动态路径的变量占位符。
+21     */
+22    basePathPlaceholder?: string | false;
+23    /**
+24     * 模块链接配置。
+25     */
+26    modules?: ModuleConfig;
+27    /**
+28     * 是否启用归档,等同于 npm pack。
+29     */
+30    packs?: PackConfig;
+31    /**
+32     * 创建开发应用,在执行 dev、build、preview 命令时调用。
+33     */
+34    createDevApp?: (gez: Gez) => Promise<App>;
+35    /**
+36     * 创建服务器,执行 dev、build、preview 命令时调用。
+37     */
+38    createServer?: (gez: Gez) => Promise<void>;
+39    /**
+40     * gez build 构建完成后,以生产模式执行的钩子。
+41     */
+42    postCompileProdHook?: (gez: Gez) => Promise<void>;
+43}
+44export declare enum COMMAND {
+45    dev = "dev",
+46    build = "build",
+47    preview = "preview",
+48    start = "start"
+49}
+50export declare class Gez {
+51    /**
+52     * 获取 src/entry.node.ts 文件导出的选项
+53     */
+54    static getSrcOptions(): Promise<GezOptions>;
+55    /**
+56     * 获取 dist/node/src/entry.node.js 文件导出的选项
+57     */
+58    static getDistOptions(): Promise<GezOptions>;
+59    private readonly _options;
+60    private _app;
+61    private _command;
+62    /**
+63     * 根据传入的 modules 选项解析出来的对象。
+64     */
+65    readonly moduleConfig: ParsedModuleConfig;
+66    readonly packConfig: ParsedPackConfig;
+67    constructor(options?: GezOptions);
+68    /**
+69     * 服务名称,来源于 package.json 文件的 name 字段。
+70     */
+71    get name(): string;
+72    /**
+73     * 根据 name 生成的 JS 变量名称。
+74     */
+75    get varName(): string;
+76    /**
+77     * 项目根目录。
+78     */
+79    get root(): string;
+80    /**
+81     * 是否是生产环境。
+82     */
+83    get isProd(): boolean;
+84    /**
+85     * 根据服务名称生成的静态资源基本路径。
+86     */
+87    get basePath(): string;
+88    /**
+89     * 动态的 base 地址占位符。
+90     */
+91    get basePathPlaceholder(): string;
+92    /**
+93     * 当前执行的命令。
+94     */
+95    get command(): COMMAND;
+96    /**
+97     * 全部命令的枚举对象。
+98     */
+99    get COMMAND(): typeof COMMAND;
+100    private get app();
+101    /**
+102     * 执行下面的命令,会创建服务器。
+103     * - gez dev
+104     * - gez start
+105     * - gez preview
+106     */
+107    createServer(): Promise<void>;
+108    /**
+109     * 执行 gez build 命令回调。
+110     */
+111    postCompileProdHook(): Promise<boolean>;
+112    /**
+113     * 初始化实例。
+114     */
+115    init(command: COMMAND): Promise<boolean>;
+116    /**
+117     * 销毁实例,释放内存。
+118     */
+119    destroy(): Promise<boolean>;
+120    /**
+121     * 构建生产代码。
+122     */
+123    build(): Promise<boolean>;
+124    /**
+125     * 中间件。
+126     */
+127    get middleware(): import("./middleware").Middleware;
+128    /**
+129     * 调用 entry.server.ts 导出的渲染函数。
+130     */
+131    get render(): (options?: import("./render-context").RenderContextOptions) => Promise<import("./render-context").RenderContext>;
+132    /**
+133     * 解析项目路径。
+134     */
+135    resolvePath(projectPath: ProjectPath, ...args: string[]): string;
+136    /**
+137     * 同步写入一个文件。
+138     */
+139    writeSync(filepath: string, data: any): void;
+140    /**
+141     * 异步的读取一个 JSON 文件。
+142     */
+143    readJsonSync(filename: string): any;
+144    /**
+145     * 获取全部服务的清单文件。
+146     */
+147    getManifestList(target: 'client' | 'server'): ManifestJson[];
+148    /**
+149     * 获取服务端的 importmap 映射文件。
+150     */
+151    getServerImportMap(): ImportMap;
+152}
ON THIS PAGE
+
+ + + diff --git a/api/core/manifest-json.html b/api/core/manifest-json.html new file mode 100644 index 000000000..43da47daf --- /dev/null +++ b/api/core/manifest-json.html @@ -0,0 +1,72 @@ + + + + + + + + + ManifestJson - Gez + + + +

ManifestJson

+

类型

+
1export interface ManifestJsonChunks {
+2    /**
+3     * 当前编译的 JS 文件。
+4     */
+5    js: string;
+6    /**
+7     * 当前编译的 CSS 文件。
+8     */
+9    css: string[];
+10    /**
+11     * 其它的资源文件。
+12     */
+13    resources: string[];
+14    /**
+15     * 构建产物的大小。
+16     */
+17    sizes: ManifestJsonChunkSizes;
+18}
+19export interface ManifestJsonChunkSizes {
+20    js: number;
+21    css: number;
+22    resource: number;
+23}
+24export interface ManifestJson {
+25    /**
+26     * 服务名字,来自于:GezOptions.name
+27     */
+28    name: string;
+29    /**
+30     * 版本号,默认为 1.0.0
+31     */
+32    version: string;
+33    /**
+34     * 构建的版本号
+35     */
+36    hash: string;
+37    /**
+38     * 模块系统
+39     */
+40    type: 'module';
+41    /**
+42     * 对外导出的文件
+43     */
+44    exports: Record<string, string>;
+45    /**
+46     * 构建的全部文件清单
+47     */
+48    buildFiles: string[];
+49    /**
+50     * 编译的文件信息
+51     * 类型:Record<源文件, 编译信息>
+52     */
+53    chunks: Record<string, ManifestJsonChunks>;
+54}
ON THIS PAGE
+
+ + + diff --git a/api/core/middleware.html b/api/core/middleware.html new file mode 100644 index 000000000..42d8f1c0f --- /dev/null +++ b/api/core/middleware.html @@ -0,0 +1,28 @@ + + + + + + + + + Middleware - Gez + + + +

Middleware

+

类型

+
1import type { IncomingMessage, ServerResponse } from 'node:http';
+2import type { Gez } from './gez';
+3export type Middleware = (req: IncomingMessage, res: ServerResponse, next: Function) => void;
+4export declare function createMiddleware(gez: Gez): Middleware;
+5/**
+6 * 将多个中间件,合并成一个中间件执行
+7 * @param middlewares 中间件列表
+8 * @returns
+9 */
+10export declare function mergeMiddlewares(middlewares: Middleware[]): Middleware;
ON THIS PAGE
+
+ + + diff --git a/api/core/module-config.html b/api/core/module-config.html new file mode 100644 index 000000000..c6dcff80a --- /dev/null +++ b/api/core/module-config.html @@ -0,0 +1,122 @@ + + + + + + + + + ModuleConfig - Gez + + + +

ModuleConfig

+

类型

+
1export declare enum PathType {
+2    npm = "npm:",
+3    root = "root:"
+4}
+5export interface ModuleConfig {
+6    /**
+7     * 对外导出的文件
+8     * 必须以 npm: 或 root: 开头
+9     * npm:开头代表 node_modules 的依赖
+10     * root:开头代表项目内root目录下的文件
+11     * 例如:
+12     *   npm:vue
+13     *   root:src/routes
+14     *   root:src/[filename]
+15     */
+16    exports?: string[];
+17    /**
+18     * 导入的模块基本配置
+19     */
+20    imports?: Record<string, string>;
+21    /**
+22     * 设置项目的外部依赖
+23     * 例如:
+24     * {
+25     *  "vue": "ssr-npm/vue"
+26     * }
+27     */
+28    externals?: Record<string, string>;
+29}
+30export interface ParsedModuleConfig {
+31    /**
+32     * 当前的服务名字
+33     */
+34    name: string;
+35    /**
+36     * 当前服务运行的根目录
+37     */
+38    root: string;
+39    /**
+40     * 对外导出的文件
+41     */
+42    exports: {
+43        /**
+44         * npm:*
+45         * root:src/*
+46         * root:src/routes/index.ts
+47         */
+48        name: string;
+49        /**
+50         * 路径的类型
+51         */
+52        type: PathType;
+53        /**
+54         * ssr-demo/npm/vue
+55         * ssr-demo/src/routes
+56         * ssr-demo/src/routes/index
+57         */
+58        importName: string;
+59        /**
+60         * ./npm/vue
+61         * ./src/routes
+62         */
+63        exportName: string;
+64        /**
+65         * vue
+66         * ./src/routes.ts
+67         */
+68        exportPath: string;
+69        /**
+70         * vue
+71         * ssr-demo/src/routes/index
+72         */
+73        externalName: string;
+74    }[];
+75    /**
+76     * 导入的外部服务
+77     */
+78    imports: {
+79        /**
+80         * 外部服务名称
+81         */
+82        name: string;
+83        /**
+84         * 本地路径
+85         * 用于读取依赖 和 存放远程下载的依赖
+86         */
+87        localPath: string;
+88    }[];
+89    /**
+90     * 外部依赖
+91     */
+92    externals: Record<string, {
+93        match: RegExp;
+94        import?: string;
+95    }>;
+96}
+97/**
+98 * 解析模块配置
+99 * @param name 当前运行服务的名字
+100 * @param root 当前运行服务的根路径
+101 * @param config 模块的配置
+102 * @returns
+103 */
+104export declare function parseModuleConfig(name: string, root: string, config?: ModuleConfig): ParsedModuleConfig;
ON THIS PAGE
+
+ + + diff --git a/api/core/pack-config.html b/api/core/pack-config.html new file mode 100644 index 000000000..a74bbc3bd --- /dev/null +++ b/api/core/pack-config.html @@ -0,0 +1,45 @@ + + + + + + + + + PackConfig - Gez + + + +

PackConfig

+

类型

+
1import type { Gez } from './gez';
+2export interface PackConfig {
+3    /**
+4     * 是否启用归档
+5     */
+6    enable?: boolean;
+7    /**
+8     * 输出的文件
+9     */
+10    outputs?: string | string[] | boolean;
+11    /**
+12     * 发布的类型
+13     * 环境变量设置:process.env.RELEASE_TYPE
+14     */
+15    releaseType?: 'major' | 'premajor' | 'minor' | 'preminor' | 'patch' | 'prepatch' | 'prerelease';
+16    packageJson?: (gez: Gez, pkgJson: Record<string, any>) => Promise<Record<string, any>>;
+17    onBefore?: (gez: Gez, pkgJson: Record<string, any>) => Promise<void>;
+18    onAfter?: (gez: Gez, pkgJson: Record<string, any>, file: Buffer) => Promise<void>;
+19}
+20export interface ParsedPackConfig {
+21    enable: boolean;
+22    outputs: string[];
+23    packageJson: (gez: Gez, pkgJson: Record<string, any>) => Promise<Record<string, any>>;
+24    onBefore: (gez: Gez, pkgJson: Record<string, any>) => Promise<void>;
+25    onAfter: (gez: Gez, pkgJson: Record<string, any>, file: Buffer) => Promise<void>;
+26}
+27export declare function parsePackConfig(config?: PackConfig): ParsedPackConfig;
ON THIS PAGE
+
+ + + diff --git a/api/core/render-context.html b/api/core/render-context.html new file mode 100644 index 000000000..25dc4a22e --- /dev/null +++ b/api/core/render-context.html @@ -0,0 +1,142 @@ + + + + + + + + + RenderContext - Gez + + + +

RenderContext

+

类型

+
1import serialize from 'serialize-javascript';
+2import type { Gez } from './gez';
+3/**
+4 * 渲染的参数
+5 */
+6export interface RenderContextOptions {
+7    /**
+8     * 静态资产的公共路径,可以根据业务的上下文来动态设置不同的路径。
+9     */
+10    base?: string;
+11    /**
+12     * gez.render() 函数执行时,会调用 entry.server.ts 文件导出的名称。
+13     */
+14    entryName?: string;
+15    /**
+16     * 传递给 RenderContext 对象的 params 字段。
+17     */
+18    params?: Record<string, any>;
+19}
+20/**
+21 * 渲染上下文
+22 */
+23export declare class RenderContext {
+24    /**
+25     * Gez 的实例。
+26     */
+27    gez: Gez;
+28    /**
+29     * 重定向地址。
+30     */
+31    redirect: string | null;
+32    /**
+33     * 响应的状态码。
+34     */
+35    status: number | null;
+36    private _html;
+37    /**
+38     * 参数传入的 base。
+39     */
+40    readonly base: string;
+41    /**
+42     * 参数传入的 params。
+43     */
+44    readonly params: Record<string, any>;
+45    /**
+46     * 参数传入的 entryName。
+47     */
+48    readonly entryName: string;
+49    /**
+50     * 服务端渲染过程中,收集模块执行过程中的 import.meta 对象。
+51     */
+52    importMetaSet: Set<ImportMeta>;
+53    /**
+54     * importMetaSet 收集完成后,调用 rc.commit() 函数时,会更新这个对象的信息。
+55     */
+56    files: RenderFiles;
+57    constructor(gez: Gez, options?: RenderContextOptions);
+58    /**
+59     * 响应的 html 内容。
+60     */
+61    get html(): string;
+62    set html(html: string);
+63    /**
+64     * 透传 https://github.com/yahoo/serialize-javascript
+65     */
+66    serialize(input: any, options?: serialize.SerializeJSOptions): any;
+67    /**
+68     * 在 window 对象,注入一个 JS 变量对象,data 必须是可以被序列化的。
+69     */
+70    state(varName: string, data: Record<string, any>): string;
+71    /**
+72     * 同构应用渲染完成后,提交模块依赖更新 files 对象。
+73     */
+74    commit(): Promise<void>;
+75    /**
+76     * 根据 files 生成 JS 和 CSS 文件的预加载代码。
+77     */
+78    preload(): string;
+79    /**
+80     * 根据 files 生成服务端首屏加载的 CSS。
+81     */
+82    css(): string;
+83    /**
+84     * 根据 files 生成 importmap 相关代码。
+85     */
+86    importmap(): string;
+87    /**
+88     * 根据 files 生成模块入口执行代码。
+89     */
+90    moduleEntry(): string;
+91    /**
+92     * 根据 files 生成 ESM 模块预加载代码。
+93     */
+94    modulePreload(): string;
+95}
+96/**
+97 * 服务端渲染处理函数。
+98 */
+99export type ServerRenderHandle = (render: RenderContext) => Promise<void>;
+100/**
+101 * 当前页面渲染的文件
+102 */
+103export interface RenderFiles {
+104    /**
+105     * CSS 文件列表。
+106     */
+107    css: string[];
+108    /**
+109     * ESM 模块列表。
+110     */
+111    modulepreload: string[];
+112    /**
+113     * importmap.js 文件列表。
+114     */
+115    importmap: string[];
+116    /**
+117     * 全部的 JS 文件列表,包含 modulepreload 和 importmap。
+118     */
+119    js: string[];
+120    /**
+121     * 除了 JS 和 CSS 之外的其它文件列表。
+122     */
+123    resources: string[];
+124}
ON THIS PAGE
+
+ + + diff --git a/api/enums/PathType.html b/api/enums/PathType.html new file mode 100644 index 000000000..fda7a8cfb --- /dev/null +++ b/api/enums/PathType.html @@ -0,0 +1,29 @@ + + + + + + + + + Enumeration: PathType - Gez + + + +

Enumeration: PathType

+

Table of contents

+

Enumeration Members

+ +

Enumeration Members

+

npm

+

npm = "npm:"

+
+

root

+

root = "root:"

+
+ + + diff --git a/api/functions/createApp.html b/api/functions/createApp.html new file mode 100644 index 000000000..cf227195b --- /dev/null +++ b/api/functions/createApp.html @@ -0,0 +1,35 @@ + + + + + + + + + Function: createApp - Gez + + + +

Function: createApp

+

createApp(gez): Promise<App>

+

Parameters

+ + + + + + + + + + + + + +
NameType
gezGez
+

Returns

+

Promise<App>

ON THIS PAGE
+
+ + + diff --git a/api/functions/createMiddleware.html b/api/functions/createMiddleware.html new file mode 100644 index 000000000..2ccf493b3 --- /dev/null +++ b/api/functions/createMiddleware.html @@ -0,0 +1,35 @@ + + + + + + + + + Function: createMiddleware - Gez + + + +

Function: createMiddleware

+

createMiddleware(gez): Middleware

+

Parameters

+ + + + + + + + + + + + + +
NameType
gezGez
+

Returns

+

Middleware

ON THIS PAGE
+
+ + + diff --git a/api/functions/mergeMiddlewares.html b/api/functions/mergeMiddlewares.html new file mode 100644 index 000000000..bd241177e --- /dev/null +++ b/api/functions/mergeMiddlewares.html @@ -0,0 +1,38 @@ + + + + + + + + + Function: mergeMiddlewares - Gez + + + +

Function: mergeMiddlewares

+

mergeMiddlewares(middlewares): Middleware

+

将多个中间件,合并成一个中间件执行

+

Parameters

+ + + + + + + + + + + + + + + +
NameTypeDescription
middlewaresMiddleware[]中间件列表
+

Returns

+

Middleware

ON THIS PAGE
+
+ + + diff --git a/api/functions/parseModuleConfig.html b/api/functions/parseModuleConfig.html new file mode 100644 index 000000000..35b355b7b --- /dev/null +++ b/api/functions/parseModuleConfig.html @@ -0,0 +1,48 @@ + + + + + + + + + Function: parseModuleConfig - Gez + + + +

Function: parseModuleConfig

+

parseModuleConfig(name, root, config?): ParsedModuleConfig

+

解析模块配置

+

Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
namestring当前运行服务的名字
rootstring当前运行服务的根路径
configModuleConfig模块的配置
+

Returns

+

ParsedModuleConfig

ON THIS PAGE
+
+ + + diff --git a/api/functions/parsePackConfig.html b/api/functions/parsePackConfig.html new file mode 100644 index 000000000..e015c7b04 --- /dev/null +++ b/api/functions/parsePackConfig.html @@ -0,0 +1,35 @@ + + + + + + + + + Function: parsePackConfig - Gez + + + +

Function: parsePackConfig

+

parsePackConfig(config?): ParsedPackConfig

+

Parameters

+ + + + + + + + + + + + + +
NameType
configPackConfig
+

Returns

+

ParsedPackConfig

ON THIS PAGE
+
+ + + diff --git a/api/interfaces/App.html b/api/interfaces/App.html new file mode 100644 index 000000000..2919e12c5 --- /dev/null +++ b/api/interfaces/App.html @@ -0,0 +1,70 @@ + + + + + + + + + Interface: App - Gez + + + +

Interface: App

+

Table of contents

+

Properties

+ +

Properties

+

build

+

Optional build: () => Promise<boolean>

+

Type declaration

+

(): Promise<boolean>

+

执行构建

+
Returns
+

Promise<boolean>

+
+

destroy

+

Optional destroy: () => Promise<boolean>

+

Type declaration

+

(): Promise<boolean>

+

销毁实例,释放内存

+
Returns
+

Promise<boolean>

+
+

middleware

+

middleware: Middleware

+

中间件列表

+
+

render

+

render: (options?: RenderContextOptions) => Promise<RenderContext>

+

Type declaration

+

(options?): Promise<RenderContext>

+

渲染函数

+
Parameters
+ + + + + + + + + + + + + + + +
NameTypeDescription
options?RenderContextOptions透传给 RenderContextOptions
+
Returns
+

Promise<RenderContext>

+
+ + + diff --git a/api/interfaces/GezOptions.html b/api/interfaces/GezOptions.html new file mode 100644 index 000000000..63e1c08ef --- /dev/null +++ b/api/interfaces/GezOptions.html @@ -0,0 +1,119 @@ + + + + + + + + + Interface: GezOptions - Gez + + + +

Interface: GezOptions

+

详细说明,请看文档:https://dp-os.github.io/gez/api/gez.html

+

Table of contents

+

Properties

+ +

Properties

+

basePathPlaceholder

+

Optional basePathPlaceholder: string | false

+

动态路径的变量占位符。

+
+

createDevApp

+

Optional createDevApp: (gez: Gez) => Promise<App>

+

Type declaration

+

(gez): Promise<App>

+

创建开发应用,在执行 dev、build、preview 命令时调用。

+
Parameters
+ + + + + + + + + + + + + +
NameType
gezGez
+
Returns
+

Promise<App>

+
+

createServer

+

Optional createServer: (gez: Gez) => Promise<void>

+

Type declaration

+

(gez): Promise<void>

+

创建服务器,执行 dev、build、preview 命令时调用。

+
Parameters
+ + + + + + + + + + + + + +
NameType
gezGez
+
Returns
+

Promise<void>

+
+

isProd

+

Optional isProd: boolean

+

是否是生产环境。

+
+

modules

+

Optional modules: ModuleConfig

+

模块链接配置。

+
+

packs

+

Optional packs: PackConfig

+

是否启用归档,等同于 npm pack。

+
+

postCompileProdHook

+

Optional postCompileProdHook: (gez: Gez) => Promise<void>

+

Type declaration

+

(gez): Promise<void>

+

gez build 构建完成后,以生产模式执行的钩子。

+
Parameters
+ + + + + + + + + + + + + +
NameType
gezGez
+
Returns
+

Promise<void>

+
+

root

+

Optional root: string

+

项目根目录,默认为当前执行命令的目录。

+
+ + + diff --git a/api/interfaces/ManifestJson.html b/api/interfaces/ManifestJson.html new file mode 100644 index 000000000..db98cecc5 --- /dev/null +++ b/api/interfaces/ManifestJson.html @@ -0,0 +1,57 @@ + + + + + + + + + Interface: ManifestJson - Gez + + + +

Interface: ManifestJson

+

Table of contents

+

Properties

+ +

Properties

+

buildFiles

+

buildFiles: string[]

+

构建的全部文件清单

+
+

chunks

+

chunks: Record<string, ManifestJsonChunks>

+

编译的文件信息 +类型:Record<源文件, 编译信息>

+
+

exports

+

exports: Record<string, string>

+

对外导出的文件

+
+

hash

+

hash: string

+

构建的版本号

+
+

name

+

name: string

+

服务名字,来自于:GezOptions.name

+
+

type

+

type: "module"

+

模块系统

+
+

version

+

version: string

+

版本号,默认为 1.0.0

+
+ + + diff --git a/api/interfaces/ManifestJsonChunkSizes.html b/api/interfaces/ManifestJsonChunkSizes.html new file mode 100644 index 000000000..46763d121 --- /dev/null +++ b/api/interfaces/ManifestJsonChunkSizes.html @@ -0,0 +1,33 @@ + + + + + + + + + Interface: ManifestJsonChunkSizes - Gez + + + +

Interface: ManifestJsonChunkSizes

+

Table of contents

+

Properties

+ +

Properties

+

css

+

css: number

+
+

js

+

js: number

+
+

resource

+

resource: number

+
+ + + diff --git a/api/interfaces/ManifestJsonChunks.html b/api/interfaces/ManifestJsonChunks.html new file mode 100644 index 000000000..6bf967891 --- /dev/null +++ b/api/interfaces/ManifestJsonChunks.html @@ -0,0 +1,41 @@ + + + + + + + + + Interface: ManifestJsonChunks - Gez + + + +

Interface: ManifestJsonChunks

+

Table of contents

+

Properties

+ +

Properties

+

css

+

css: string[]

+

当前编译的 CSS 文件。

+
+

js

+

js: string

+

当前编译的 JS 文件。

+
+

resources

+

resources: string[]

+

其它的资源文件。

+
+

sizes

+

sizes: ManifestJsonChunkSizes

+

构建产物的大小。

+
+ + + diff --git a/api/interfaces/ModuleConfig.html b/api/interfaces/ModuleConfig.html new file mode 100644 index 000000000..0ed5d910a --- /dev/null +++ b/api/interfaces/ModuleConfig.html @@ -0,0 +1,47 @@ + + + + + + + + + Interface: ModuleConfig - Gez + + + +

Interface: ModuleConfig

+

Table of contents

+

Properties

+ +

Properties

+

exports

+

Optional exports: string[]

+

对外导出的文件 +必须以 npm: 或 root: 开头 +npm:开头代表 node_modules 的依赖 +root:开头代表项目内root目录下的文件 +例如: +npm:vue +root:src/routes +root:src/[filename]

+
+

externals

+

Optional externals: Record<string, string>

+

设置项目的外部依赖 +例如: +{ +"vue": "ssr-npm/vue" +}

+
+

imports

+

Optional imports: Record<string, string>

+

导入的模块基本配置

+
+ + + diff --git a/api/interfaces/PackConfig.html b/api/interfaces/PackConfig.html new file mode 100644 index 000000000..fbefc4153 --- /dev/null +++ b/api/interfaces/PackConfig.html @@ -0,0 +1,122 @@ + + + + + + + + + Interface: PackConfig - Gez + + + +

Interface: PackConfig

+

Table of contents

+

Properties

+ +

Properties

+

enable

+

Optional enable: boolean

+

是否启用归档

+
+

onAfter

+

Optional onAfter: (gez: Gez, pkgJson: Record<string, any>, file: Buffer) => Promise<void>

+

Type declaration

+

(gez, pkgJson, file): Promise<void>

+
Parameters
+ + + + + + + + + + + + + + + + + + + + + +
NameType
gezGez
pkgJsonRecord<string, any>
fileBuffer
+
Returns
+

Promise<void>

+
+

onBefore

+

Optional onBefore: (gez: Gez, pkgJson: Record<string, any>) => Promise<void>

+

Type declaration

+

(gez, pkgJson): Promise<void>

+
Parameters
+ + + + + + + + + + + + + + + + + +
NameType
gezGez
pkgJsonRecord<string, any>
+
Returns
+

Promise<void>

+
+

outputs

+

Optional outputs: string | boolean | string[]

+

输出的文件

+
+

packageJson

+

Optional packageJson: (gez: Gez, pkgJson: Record<string, any>) => Promise<Record<string, any>>

+

Type declaration

+

(gez, pkgJson): Promise<Record<string, any>>

+
Parameters
+ + + + + + + + + + + + + + + + + +
NameType
gezGez
pkgJsonRecord<string, any>
+
Returns
+

Promise<Record<string, any>>

+
+

releaseType

+

Optional releaseType: "major" | "premajor" | "minor" | "preminor" | "patch" | "prepatch" | "prerelease"

+

发布的类型 +环境变量设置:process.env.RELEASE_TYPE

+
+ + + diff --git a/api/interfaces/ParsedModuleConfig.html b/api/interfaces/ParsedModuleConfig.html new file mode 100644 index 000000000..d14fd9713 --- /dev/null +++ b/api/interfaces/ParsedModuleConfig.html @@ -0,0 +1,46 @@ + + + + + + + + + Interface: ParsedModuleConfig - Gez + + + +

Interface: ParsedModuleConfig

+

Table of contents

+

Properties

+ +

Properties

+

exports

+

exports: { exportName: string ; exportPath: string ; externalName: string ; importName: string ; name: string ; type: PathType }[]

+

对外导出的文件

+
+

externals

+

externals: Record<string, { import?: string ; match: RegExp }>

+

外部依赖

+
+

imports

+

imports: { localPath: string ; name: string }[]

+

导入的外部服务

+
+

name

+

name: string

+

当前的服务名字

+
+

root

+

root: string

+

当前服务运行的根目录

+
+ + + diff --git a/api/interfaces/ParsedPackConfig.html b/api/interfaces/ParsedPackConfig.html new file mode 100644 index 000000000..f6e014058 --- /dev/null +++ b/api/interfaces/ParsedPackConfig.html @@ -0,0 +1,114 @@ + + + + + + + + + Interface: ParsedPackConfig - Gez + + + +

Interface: ParsedPackConfig

+

Table of contents

+

Properties

+ +

Properties

+

enable

+

enable: boolean

+
+

onAfter

+

onAfter: (gez: Gez, pkgJson: Record<string, any>, file: Buffer) => Promise<void>

+

Type declaration

+

(gez, pkgJson, file): Promise<void>

+
Parameters
+ + + + + + + + + + + + + + + + + + + + + +
NameType
gezGez
pkgJsonRecord<string, any>
fileBuffer
+
Returns
+

Promise<void>

+
+

onBefore

+

onBefore: (gez: Gez, pkgJson: Record<string, any>) => Promise<void>

+

Type declaration

+

(gez, pkgJson): Promise<void>

+
Parameters
+ + + + + + + + + + + + + + + + + +
NameType
gezGez
pkgJsonRecord<string, any>
+
Returns
+

Promise<void>

+
+

outputs

+

outputs: string[]

+
+

packageJson

+

packageJson: (gez: Gez, pkgJson: Record<string, any>) => Promise<Record<string, any>>

+

Type declaration

+

(gez, pkgJson): Promise<Record<string, any>>

+
Parameters
+ + + + + + + + + + + + + + + + + +
NameType
gezGez
pkgJsonRecord<string, any>
+
Returns
+

Promise<Record<string, any>>

+
+ + + diff --git a/api/interfaces/RenderContextOptions.html b/api/interfaces/RenderContextOptions.html new file mode 100644 index 000000000..78d59dbac --- /dev/null +++ b/api/interfaces/RenderContextOptions.html @@ -0,0 +1,37 @@ + + + + + + + + + Interface: RenderContextOptions - Gez + + + +

Interface: RenderContextOptions

+

渲染的参数

+

Table of contents

+

Properties

+ +

Properties

+

base

+

Optional base: string

+

静态资产的公共路径,可以根据业务的上下文来动态设置不同的路径。

+
+

entryName

+

Optional entryName: string

+

gez.render() 函数执行时,会调用 entry.server.ts 文件导出的名称。

+
+

params

+

Optional params: Record<string, any>

+

传递给 RenderContext 对象的 params 字段。

+
+ + + diff --git a/api/interfaces/RenderFiles.html b/api/interfaces/RenderFiles.html new file mode 100644 index 000000000..375f3cea7 --- /dev/null +++ b/api/interfaces/RenderFiles.html @@ -0,0 +1,47 @@ + + + + + + + + + Interface: RenderFiles - Gez + + + +

Interface: RenderFiles

+

当前页面渲染的文件

+

Table of contents

+

Properties

+ +

Properties

+

css

+

css: string[]

+

CSS 文件列表。

+
+

importmap

+

importmap: string[]

+

importmap.js 文件列表。

+
+

js

+

js: string[]

+

全部的 JS 文件列表,包含 modulepreload 和 importmap。

+
+

modulepreload

+

modulepreload: string[]

+

ESM 模块列表。

+
+

resources

+

resources: string[]

+

除了 JS 和 CSS 之外的其它文件列表。

+
+ + + diff --git a/api/rspack-vue/vue.html b/api/rspack-vue/vue.html new file mode 100644 index 000000000..f488324e4 --- /dev/null +++ b/api/rspack-vue/vue.html @@ -0,0 +1,28 @@ + + + + + + + + + Vue - Gez + + + +

Vue

+

类型

+
1import type { Gez } from '@gez/core';
+2import type { RspackHtmlAppOptions } from '@gez/rspack';
+3export interface RspackVueAppOptions extends RspackHtmlAppOptions {
+4    /**
+5     * 透传 https://github.com/vuejs/vue-loader
+6     */
+7    vueLoader?: Record<string, any>;
+8}
+9export declare function createRspackVue2App(gez: Gez, options?: RspackVueAppOptions): Promise<import("@gez/core").App>;
+10export declare function createRspackVue3App(gez: Gez, options?: RspackVueAppOptions): Promise<import("@gez/core").App>;
ON THIS PAGE
+
+ + + diff --git a/api/rspack/app.html b/api/rspack/app.html new file mode 100644 index 000000000..0affc993c --- /dev/null +++ b/api/rspack/app.html @@ -0,0 +1,31 @@ + + + + + + + + + App - Gez + + + +

App

+

类型

+
1import { type App, type Gez } from '@gez/core';
+2import { type RspackOptions } from '@rspack/core';
+3import type { BuildTarget } from './build-target';
+4export interface RspackAppConfigContext {
+5    gez: Gez;
+6    buildTarget: BuildTarget;
+7    config: RspackOptions;
+8    options: RspackAppOptions;
+9}
+10export interface RspackAppOptions {
+11    config?: (context: RspackAppConfigContext) => void;
+12}
+13export declare function createRspackApp(gez: Gez, options?: RspackAppOptions): Promise<App>;
ON THIS PAGE
+
+ + + diff --git a/api/rspack/build-target.html b/api/rspack/build-target.html new file mode 100644 index 000000000..7920d80dc --- /dev/null +++ b/api/rspack/build-target.html @@ -0,0 +1,19 @@ + + + + + + + + + BuildTarget - Gez + + + +

BuildTarget

+

类型

+
1export type BuildTarget = 'node' | 'client' | 'server';
ON THIS PAGE
+
+ + + diff --git a/api/rspack/html-app.html b/api/rspack/html-app.html new file mode 100644 index 000000000..68e42e203 --- /dev/null +++ b/api/rspack/html-app.html @@ -0,0 +1,70 @@ + + + + + + + + + HtmlApp - Gez + + + +

HtmlApp

+

类型

+
1import type { Gez } from '@gez/core';
+2import { type SwcLoaderOptions } from '@rspack/core';
+3import { type RspackAppOptions } from './app';
+4import { RSPACK_LOADER } from './loader';
+5export interface RspackHtmlAppOptions extends RspackAppOptions {
+6    /**
+7     * CSS 输出到 css 文件还是 js 文件中,默认为 css,设置 为 false,则关闭 css 相关的 loader 规则,需要你手动配置。
+8     */
+9    css?: 'css' | 'js' | false;
+10    /**
+11     * 你可以选择重写一部分 loader 的。比如把 style-loader 替换成 new URL(import.meta.resolve('vue-style-loader')).pathname
+12     */
+13    loaders?: Partial<Record<keyof typeof RSPACK_LOADER, string>>;
+14    /**
+15     * 透传 https://github.com/webpack-contrib/style-loader
+16     */
+17    styleLoader?: Record<string, any>;
+18    /**
+19     * 透传 https://github.com/webpack-contrib/css-loader
+20     */
+21    cssLoader?: Record<string, any>;
+22    /**
+23     * 透传 https://github.com/webpack-contrib/less-loader
+24     */
+25    lessLoader?: Record<string, any>;
+26    /**
+27     * 透传 https://github.com/yenshih/style-resources-loader
+28     */
+29    styleResourcesLoader?: Record<string, any>;
+30    /**
+31     * 透传 https://rspack.dev/guide/features/builtin-swc-loader
+32     */
+33    swcLoader?: SwcLoaderOptions;
+34    /**
+35     * 透传 DefinePlugin 的值 https://rspack.dev/plugins/webpack/define-plugin
+36     */
+37    definePlugin?: Record<string, string>;
+38    /**
+39     * 构建目标
+40     */
+41    target?: {
+42        /**
+43         * 浏览器的构建目标
+44         */
+45        web?: string[];
+46        /**
+47         * nodejs的构建目标
+48         */
+49        node?: string[];
+50    };
+51}
+52export declare function createRspackHtmlApp(gez: Gez, options?: RspackHtmlAppOptions): Promise<import("@gez/core").App>;
ON THIS PAGE
+
+ + + diff --git a/api/types/Middleware.html b/api/types/Middleware.html new file mode 100644 index 000000000..d0fed3cbe --- /dev/null +++ b/api/types/Middleware.html @@ -0,0 +1,45 @@ + + + + + + + + + Type alias: Middleware - Gez + + + +

Type alias: Middleware

+

Middleware: (req: IncomingMessage, res: ServerResponse, next: Function) => void

+

Type declaration

+

(req, res, next): void

+
Parameters
+ + + + + + + + + + + + + + + + + + + + + +
NameType
reqIncomingMessage
resServerResponse
nextFunction
+
Returns
+

void

ON THIS PAGE
+
+ + + diff --git a/api/types/ServerRenderHandle.html b/api/types/ServerRenderHandle.html new file mode 100644 index 000000000..3e32a2833 --- /dev/null +++ b/api/types/ServerRenderHandle.html @@ -0,0 +1,38 @@ + + + + + + + + + Type alias: ServerRenderHandle - Gez + + + +

Type alias: ServerRenderHandle

+

ServerRenderHandle: (render: RenderContext) => Promise<void>

+

Type declaration

+

(render): Promise<void>

+

服务端渲染处理函数。

+
Parameters
+ + + + + + + + + + + + + +
NameType
renderRenderContext
+
Returns
+

Promise<void>

ON THIS PAGE
+
+ + + diff --git a/guide/essentials/alias.html b/guide/essentials/alias.html new file mode 100644 index 000000000..30f44a64c --- /dev/null +++ b/guide/essentials/alias.html @@ -0,0 +1,61 @@ + + + + + + + + + 路径别名 - Gez + + + +

路径别名

+

路径别名允许开发者为模块定义别名,以便于在代码中更方便的引用它们。当你想要使用一个简短、易于记忆的名称来代替冗长复杂的路径时,这将非常有用。

+

默认别名

+

在 Gez 中,默认使用服务名来作为别名,这样有两个好处。

+
    +
  • 在调用其它服务时保持命名风格的统一
  • +
  • 执行 npm run build:dts 命令,生成的类型可以被其它服务使用。
  • +
+

package.json

+
package.json
1{
+2    "name": "ssr-module-auth"
+3}
+

程序会读取 package.jsonname 字段,设置别名为 ssr-module-auth

+

tsconfig.json

+

同时还需要在 tsconfig.json 配置别名。

+
1{
+2    "compilerOptions": {
+3        "paths": {
+4            "ssr-module-auth/src/*": [
+5                "./src/*"
+6            ],
+7            "ssr-module-auth/*": [
+8                "./*"
+9            ]
+10        }
+11    }
+12}
+

自定义别名

+

业务模块,你应该总是使用默认的别名,但是一些第三方包有时需要设置别名,你可以这样做。

+
1export default {
+2    async createDevApp(gez) {
+3        return import('@gez/rspack').then((m) =>
+4            m.createApp(gez, (buildContext) => {
+5                buildContext.config.resolve = {
+6                    ...buildContext.config.resolve,
+7                    alias: {
+8                        ...buildContext.config.resolve?.alias,
+9                        vue$: 'vue/dist/vue.esm.js',
+10                    }
+11                }
+12            })
+13        );
+14    }
+15} satisfies GezOptions;
+
WARNING

业务模块对外导出时,程序会做一些打包的优化。如果你自定义了业务模块的别名,可能会导致打包出来的内容不正确。

+
+ + + diff --git a/guide/essentials/base-path.html b/guide/essentials/base-path.html new file mode 100644 index 000000000..5f8f99e27 --- /dev/null +++ b/guide/essentials/base-path.html @@ -0,0 +1,46 @@ + + + + + + + + + 基本路径 - Gez + + + +

基本路径

+

默认路径

+

静态资产的文件路径,总是会读取 package.jsonname 来生成固定的路径:/${name}/

+

src/entry.node.ts

+
package.json
1{
+2    "name": "ssr-module-auth"
+3}
+

动态路径

+

有时,我们将一套代码部署在不同的国家或地区的集群中,允许独立域名访问和二级目录访问。

+

二级目录

+
    +
  • 主域名.com -> 默认主站
  • +
  • 主域名.com/cn/ -> 中文站点
  • +
  • 主域名.com/en/ -> 英文站点
  • +
+
+
+

独立站点

+
    +
  • 主域名.com -> 默认主站
  • +
  • cn.域名.com -> 中文站点
  • +
  • en.域名.com -> 英文站点
  • +
+

动态传参

+

你可以根据请求上下文,在给渲染函数传入不同的基本 URL。

+
1const render = await gez.render({
+2    base: '/gez'
+3});
+
实现原理

在服务端,静态资产文件的编译路径为 [[[___GEZ_DYNAMIC_BASE___]]]/${name}/,程序会将你返回的 html 中的 [[[___GEZ_DYNAMIC_BASE___]]] 占位符替换成你传入的 base。 +

+
+ + + diff --git a/guide/essentials/command.html b/guide/essentials/command.html new file mode 100644 index 000000000..0e44f5e38 --- /dev/null +++ b/guide/essentials/command.html @@ -0,0 +1,49 @@ + + + + + + + + + 常见命令 - Gez + + + +

常见命令

+

一个典型的命令配置。

+
1{
+2    "scripts": {
+3        "dev": "gez dev",
+4        "build": "npm run build:dts && npm run build:ssr",
+5        "build:ssr": "gez build",
+6        "preview": "gez preview",
+7        "start": "gez start",
+8        "build:dts": "tsc --declaration --emitDeclarationOnly --outDir dist/src"
+9    }
+10}
+
TIP

你需要手动配置 tsconfig.json 文件,否则执行 build:dts 命令会报错。 +

+

gez dev

+

本地开发时启动。

+
TIP

如果链接的服务是一个本地的目录,你也可以把该服务跑起来快速的开发调试。

+
1export default {
+2    name: 'ssr-module-auth',
+3    modules: {
+4        imports: {
+5            'ssr-core': 'root:../ssr-core/dist'
+6        }
+7    }
+8} satisfies GezOptions;
+

gez build

+

构建生产代码

+
TIP

有三个产物,分别是 client、server、node。

+

gez preview

+

等同于执行 gez build && gez start

+

gez start

+

运行生产环境代码。

+
TIP

开发环境中,所依赖的外部服务代码变更,总是会获得热更新,但是在生产环境中是没有热更新的。

如果依赖的服务发布更新了,你需要手动重启一下服务,或者编写一个脚本,监听其它服务版本发布来重启服务。

+
+ + + diff --git a/guide/essentials/config.html b/guide/essentials/config.html new file mode 100644 index 000000000..e7b9a25ec --- /dev/null +++ b/guide/essentials/config.html @@ -0,0 +1,213 @@ + + + + + + + + + 基础配置 - Gez + + + +

基础配置

+

Gez 作为基础设施,它的配置总是非常简单的。

+

使用

+
src/entry.node.ts
1import type { GezOptions } from '@gez/core';
+2
+3export default {
+4    // 配置选项
+5} satisfies GezOptions;
+

选项

+

name v3.0.0

+
    +
  • 类型:string
  • +
  • 默认值:gez
  • +
  • 描述: 服务的名称,全局唯一。
  • +
+
src/entry.node.ts
1import type { GezOptions } from '@gez/core';
+2import { name } from '../package.json';
+3
+4export default {
+5    name,
+6} satisfies GezOptions;
+
TIP

如果你的网站,同一个域名下,使用 Gez 打包了多个项目,那么你需要配置一个 name 来区分不同的项目。 +

+

root v3.0.0

+
    +
  • +

    类型:string

    +
  • +
  • +

    默认值:cwd()

    +
  • +
  • +

    描述: 项目根目录,默认为当前执行命令的目录。

    +
  • +
+
WARNING

如果你没有充足的理由,你都不应该配置它。

+
+

isProd v3.0.0

+
    +
  • 类型:boolean
  • +
  • 默认值: process.env.NODE_ENV === 'production'
  • +
  • 描述: 是否是生产环境。
  • +
+
WARNING

如果你没有充足的理由,你都不应该配置它。

+

isInstall v3.0.0

+
    +
  • 类型:boolean
  • +
  • 默认值: process.env.npm_config_production !== 'true'
  • +
  • 描述: 安装生产依赖时,是否安装远程依赖。
  • +
+
WARNING

如果你没有充足的理由,你都不应该配置它。

+

basePathPlaceholder v3.0.0

+
    +
  • 类型:string | false
  • +
  • 默认值: [[[___GEZ_DYNAMIC_BASE___]]]
  • +
  • 描述: 动态路径的变量占位符,深入了解请看基本路径说明。
  • +
+
WARNING

如果你的业务上,没有出现用户的内容被误替换,你都不应该配置它。

+

模块链接

+

这是 Gez 的核心功能,点击这里深入了解

+

modules.exports v3.0.0

+
    +
  • 类型:string[]
  • +
  • 默认值: []
  • +
  • 描述: 对外模块导出。
  • +
+
src/entry.node.ts
1export default {
+2    modules: {
+3        exports: [
+4            'root:src/components/layout.vue',
+5            'root:src/utils/index.ts',
+6            'npm:vue',
+7            'npm:vue-router'
+8        ]
+9    }
+10} satisfies GezOptions;
+
TIP

你可以将当前项目的模块或者当前项目的第三方依赖,对外导出,这样其它服务就可以使用了。

+

modules.imports v3.0.0

+
    +
  • 类型:Record<string, string | [string, string]>
  • +
  • 默认值: {}
  • +
  • 描述: 配置远程依赖。
  • +
+
src/entry.node.ts
1export default {
+2    modules: {
+3        imports: {
+4            'ssr-base': ['root:../ssr-base/dist', 'https://<hostname>/ssr-base/versions/latest.json']
+5        }
+6    }
+7} satisfies GezOptions;
+
TIP
+
    +
  • 第一个参数为本地的存储路径
  • +
  • 第二个参数是远程依赖的地址
  • +
  • 执行 gez install 命令可以下载远程依赖到本地的地址。
  • +
+
+

你也可以直接配置本地地址。

+
src/entry.node.ts
1export default {
+2    modules: {
+3        imports: {
+4            'ssr-base': 'root:../ssr-base/dist'
+5        }
+6    }
+7} satisfies GezOptions;
+

modules.externals v3.0.0

+
    +
  • 类型:Record<string, string>
  • +
  • 默认值: {}
  • +
  • 描述: 外部依赖设置,你可以将当前服务的依赖,指向到其它导出的服务。
  • +
+
src/entry.node.ts
1export default {
+2    name: 'ssr-main',
+3    modules: {
+4        externals: {
+5            vue: 'ssr-base/npm/vue',
+6            'vue-router': 'ssr-base/npm/vue-router'
+7        }
+8    }
+9} satisfies GezOptions;
+
WARNING

需要先配置对应服务的 modules.imports,否则运行起来会报错,提示找不到模块。 +

+

钩子

+

createDevApp() v3.0.0

+
    +
  • 类型:(gez: Gez) => Promise<App>
  • +
  • 默认值: isProd = false
  • +
  • 描述: 创建开发应用,在执行 devbuildpreview 命令时调用。
  • +
+
src/entry.node.ts
1export default {
+2    async createDevApp(gez) {
+3        return import('@gez/rspack').then((m) =>
+4            m.createRspackHtmlApp(gez, {
+5                config(context) {
+6                    // 可以在这里修改 Rspack 编译的配置
+7                }
+8            })
+9        );
+10    }
+11} satisfies GezOptions;
+
TIP
+ +
+

createServer() v3.0.0

+
    +
  • 类型:(gez: Gez) => Promise<void>
  • +
  • 默认值: undefined
  • +
  • 描述: 创建服务器,执行 devbuildpreview 命令时调用。
  • +
+
src/entry.node.ts
1import http from 'node:http';
+2
+3export default {
+4    async createServer(gez) {
+5        const server = http.createServer((req, res) => {
+6            // 静态文件处理
+7            gez.middleware(req, res, async () => {
+8                // 传入渲染的参数
+9                const render = await gez.render({
+10                    params: {
+11                        url: req.url
+12                    }
+13                });
+14                // 响应 HTML 内容
+15                res.end(render.html);
+16            });
+17        });
+18        // 监听端口
+19        server.listen(3000, () => {
+20            console.log('http://localhost:3000');
+21        });
+22    },
+23} satisfies GezOptions;
+
TIP

你也可以使用其它的框架来创建服务器,例如:Express。 +

+

postCompileProdHook() v3.0.0

+
    +
  • 类型:(gez: Gez) => Promise<void>
  • +
  • 默认值: undefined
  • +
  • 描述: gez build 构建完成后,以生产模式执行的钩子。
  • +
+
src/entry.node.ts
1import path from 'node:path';
+2
+3export default {
+4    async postCompileProdHook(gez) {
+5        const render = await gez.render({
+6            base: '/gez',
+7            params: { url: '/' }
+8        });
+9        gez.writeSync(
+10            gez.resolvePath('dist/client', url.substring(1), 'index.html'),
+11            rc.html
+12        );
+13    }
+14} satisfies GezOptions;
+
TIP

你可以使用这个钩子来生成静态网站。

+
+ + + diff --git a/guide/essentials/csr.html b/guide/essentials/csr.html new file mode 100644 index 000000000..e0ac4979f --- /dev/null +++ b/guide/essentials/csr.html @@ -0,0 +1,67 @@ + + + + + + + + + 客户端渲染 - Gez + + + +

客户端渲染

+

如果在生产环境,无法部署一个 Node 实例,可以在构建阶段就生成客户端渲染的 index.html 文件。

+

客户端模板

+

在服务渲染时,返回一个通用的模板即可。

+
src/entry.server.ts
1import type { RenderContext } from '@gez/core';
+2
+3export default async (rc: RenderContext) => {
+4    // 提交依赖收集
+5    await rc.commit();
+6    // 响应 HTML
+7    rc.html = `
+8<!DOCTYPE html>
+9<html>
+10<head>
+11    ${rc.preload()}
+12    <title>Gez</title>
+13    ${rc.css()}
+14</head>
+15<body>
+16    <div id="app"></div>
+17    ${rc.importmap()}
+18    ${rc.moduleEntry()}
+19    ${rc.modulePreload()}
+20</body>
+21</html>
+22`;
+23};
+

构建时生成 index.html

+
    +
  • postCompileProdHook 钩子中,手动执行一次 SSR 渲染,将生成的 HTML 写入到 dist/client/index.html 文件中。
  • +
  • dist/client/ 目录复制到你的服务器上。
  • +
+
src/entry.node.ts
1import path from 'node:path';
+2import type { GezOptions } from '@gez/core';
+3
+4export default {
+5    // ... 其它选项
+6    async postCompileProdHook(gez) {
+7        const render = await gez.render({
+8            params: {
+9                url: '/'
+10            }
+11        });
+12        gez.writeSync(
+13            gez.resolvePath('dist/client', url.substring(1), 'index.html'),
+14            rc.html
+15        );
+16    }
+17} satisfies GezOptions;
+
TIP

postCompileProdHook 钩子会在构建完成后,以生产模式执行构建出来的代码。如果你要生成一个完全静态的网站,也可以在这里实现。

+
+
+ + + diff --git a/guide/essentials/module-link.html b/guide/essentials/module-link.html new file mode 100644 index 000000000..61c5a3de8 --- /dev/null +++ b/guide/essentials/module-link.html @@ -0,0 +1,120 @@ + + + + + + + + + 模块链接 - Gez + + + +

模块链接

+

我们假设有三个服务,分别是 ssr-basessr-module-authssr-main,其中

+
    +
  • +

    ssr-base 基础服务,负责第三方依赖的管理,以及提供基础的业务组件、工具函数。

    +
  • +
  • +

    ssr-module-auth 业务服务,按照业务模块来拆分服务,这里是负责用户认证相关,包含登录、注册、找回密码、验证码相关,最终对外会导出一个路由的配置文件。

    +
  • +
  • +

    ssr-main 聚合服务,将不同业务服务导出的路由配置注册进路由总线中,实现应用程序的聚合。

    +
  • +
+

基本概念

+

Remote

+
    +
  • 定义:提供远程模块供其他应用使用的应用。
  • +
  • 功能:导出自己的模块,以便其他应用可以动态加载和运行。
  • +
  • 特点:独立、灵活,可独立更新和扩展,共享依赖以优化资源加载。
  • +
+

Host

+
    +
  • 定义:加载并运行远程模块的应用,通常作为微前端架构的宿主。
  • +
  • 功能:动态加载 Remote 应用提供的模块,并在需要的地方导入和使用。
  • +
  • 特点:整合能力强,能将多个 Remote 应用组合成完整前端应用,提供扩展点和钩子函数。
  • +
+
TIP

每一个服务,既可以是 Host,也可以是 Remote。下面将会以 ssr-basessr-main 作为例子,分别扮演 Remote 和 Host,你将会了解到它是如何工作的。 +

+

无类型导出

+

在执行 tsc --declaration --emitDeclarationOnly --outDir dist/src 命令时,由于找不到 npm/axios.ts 这个文件,所以不会生成类型文件。

+

Remote

+

直接将 axios 模块导出。

+
ssr-base/src/entry.node.ts
1import type { GezOptions } from '@gez/core';
+2
+3export default {
+4    modules: {
+5        exports: ['npm:axios']
+6    },
+7} satisfies GezOptions;
+

Host

+

ssr-main 此时作为 Host,需要将 axios 链接到 ssr-base/npm/axios,并且需要在项目安装 axios 模块来获得类型提示。

+
ssr-main/src/entry.node.ts
1import type { GezOptions } from '@gez/core';
+2
+3export default {
+4    modules: {
+5        imports: {
+6            'ssr-base': 'root:../ssr-base/dist'
+7        },
+8        externals: {
+9            axios: 'ssr-base/npm/axios'
+10        }
+11    },
+12} satisfies GezOptions;
+

源码:

+
1import axios from 'axios';
+

将会被替换成:

+
1import axios from 'ssr-base/npm/axios';
+

有类型导出

+

在执行 tsc --declaration --emitDeclarationOnly --outDir dist/src 命令时,由于存在 src/axios.ts 这个文件,就会生成相关的类型文件。

+

Remote

+

创建文件,并导出 axios

+
ssr-base/src/axios.ts
1export * from 'axios';
+

导出 axios 软件包。

+
ssr-base/src/entry.node.ts
1import type { GezOptions } from '@gez/core';
+2
+3export default {
+4    modules: {
+5        exports: ['root:src/axios.ts']
+6    },
+7} satisfies GezOptions;
+

Host

+

ssr-main 此时作为 Host,需要导入 ssr-base 服务。

+
ssr-main/src/entry.node.ts
1import type { GezOptions } from '@gez/core';
+2
+3export default {
+4    modules: {
+5        imports: {
+6            'ssr-base': 'root:../ssr-base/dist'
+7        }
+8    },
+9} satisfies GezOptions;
+

此时,你在业务代码中将会获得类型提示。

+
ssr-main/src/app.ts
1import axios from 'ssr-base/src/axios';
+
TIP

如果要考虑到老系统需要迁移,你还是可以选择将 axios 替换成 ssr-base/src/axios,并且需要安装 axios 模块到当前项目下才能获得类型提示。 +

+
ssr-main/src/entry.node.ts
1import type { GezOptions } from '@gez/core';
+2
+3export default {
+4    modules: {
+5        externals: {
+6            axios: 'ssr-base/src/axios'
+7        }
+8    },
+9} satisfies GezOptions;
+

软件包发布

+

packs.enable 配置为 true 时,在编译完成后,会将 dist 目录进行归档,在根目录生成 dist.tgz

+
1import type { GezOptions } from '@gez/core';
+2
+3export default {
+4    packs: {
+5        enable: true
+6    }
+7} satisfies GezOptions;
+
WARNING

未完待续!

+
+ + + diff --git a/guide/essentials/render-context.html b/guide/essentials/render-context.html new file mode 100644 index 000000000..9c1b76a4d --- /dev/null +++ b/guide/essentials/render-context.html @@ -0,0 +1,91 @@ + + + + + + + + + 渲染上下文 - Gez + + + +

渲染上下文

+

我们有 entry.node.tsentry.server.ts 两个入口文件,entry.node.ts 负责创建服务器,来调用 entry.server.ts 生成 HTML。为了简化 CSS 和 JS 的注入,于是提供了一个 RenderContext 对象。

+

基本传参

+

entry.node.ts 通常可以看到这样的代码,调用一个渲染函数,然后服务响应 HTML。

+
entry.node.ts
1const rc = await gez.render({
+2    // 传入渲染的参数
+3    params: {
+4        url: req.url
+5    }
+6});
+7// 响应 HTML 内容
+8res.end(rc.html);
+

entry.server.ts 接收到传入的参数,并且根据传入的参数来响应内容。

+
entry.server.ts
1import type { RenderContext } from '@gez/core';
+2
+3export default async (rc: RenderContext) => {
+4    // 传入的参数
+5    console.log(rc.params);
+6    // 提交模块依赖收集
+7    await rc.commit();
+8    // 响应内容
+9    rc.html = `你好世界!`;
+10}
+

模块依赖收集

+

在 SSR 应用程序中,要处理注入渲染页面的 CSS 和 JS 文件,并不是一件简单的事情,当需要考虑多服务提供的模块时,这个问题将会变得更难。庆幸的是,Gez 提供了一个标准的实现方案,并且在 Vue 中提供了完整的实现。

+

在构建阶段,Gez 会给服务端生成的每一个 JS 文件头部注入一个 import.meta.chunkName 字段,该字段提供了一个 chunk 文件打包的入口源文件。

+
[chunk].js
1import.meta.chunkName= import.meta.chunkName ?? "ssr-vue2-remote@src/entry.ts";
+

ssr-vue2-remote 是我们的服务名,src/entry.ts 是这个文件打包的第一个文件。

+

例如:

+
1import('ssr-vue2-remote/src/app.ts');
+

上述代码,就会生成

+
1import.meta.chunkName = import.meta.chunkName ?? "ssr-vue2-remote@src/app.ts";
+

Vue2 例子

+

将渲染上下文的 importMetaSet 对象传递给 Vue SSR 渲染的上下文对象中。

+
entry.server.ts
1export default async (rc: RenderContext) => {
+2    const { app } = createApp();
+3
+4    const html = await renderer.renderToString(app, {
+5        importMetaSet: rc.importMetaSet
+6    });
+7    // ......
+8};
+

在 Vue 组件中,收集上下文依赖。

+
App.vue
1export default {
+2    serverPrefetch () {
+3        this.$ssrContext?.importMetaSet.add(import.meta);
+4    }
+5}
+
TIP

在实际的操作中,@gez/rspack-vue 已经在编译 .vue 组件时,已经将这段代码注入,你不需要手动调用。 +

+

等 Vue 组件渲染完成后,调用 await rc.commit() 函数来提交模块上下文的依赖收集, rc.preload()rc.css()rc.importmap()rc.modulePreload() 才能正确的注入客户端所需的依赖。

+
entry.server.ts
1export default async (rc: RenderContext) => {
+2    // ......
+3    await rc.commit();
+4
+5    rc.html = `
+6<!DOCTYPE html>
+7<html>
+8<head>
+9    ${rc.preload()}
+10    <title>Gez</title>
+11    ${rc.css()}
+12</head>
+13<body>
+14    ${html}
+15    ${rc.importmap()}
+16    ${rc.moduleEntry()}
+17    ${rc.modulePreload()}
+18</body>
+19</html>
+20`;
+21};
+

深入了解

+
TIP

如果你想更加深入了解模块依赖收集,可以看下 ssr-html 这个例子,它是通过编码的形式来实现模块的依赖收集。 +

+
+ + + diff --git a/guide/essentials/rspack.html b/guide/essentials/rspack.html new file mode 100644 index 000000000..72b41a2c3 --- /dev/null +++ b/guide/essentials/rspack.html @@ -0,0 +1,180 @@ + + + + + + + + + Rspack - Gez + + + +

Rspack

+

Gez 是基于 Rspack 构建应用程序,同时也就继承了 Rspack 的全部优势。Gez 提供了一些 Rspack 的配置,你可以根据自己的情况来选择使用哪个。

+
TIP

你可以基于 @gez/rspackcreateRspackHtmlApp 函数构建自己的 VueReactPreactSolidSvelte 等不同框架的配置。 +

+

@gez/rspack

+

提供了 Rspack 的基本配置。

+

安装依赖

+

如果你没有 @gez/rspack 的依赖,那么你可以通过如下命令安装。

+
npm
yarn
pnpm
bun
1npm install @gez/rspack -D
+

No Loader

+

createRspackApp 提供了 Gez 的必要配置,默认情况下不提供任何 loader 相关的配置,你还需要配置一些 loader 才能将项目跑起来。

+
DANGER

Gez 的默认配置不可修改,否则 Gez 无法正常工作,点击这里 了解默认配置。 +

+

选项

+

config() v3.0.0

+
    +
  • 类型: config?: (context: RspackAppConfigContext) => void;
  • +
  • 默认值: undefined
  • +
  • 描述: 自定义 Rspack 配置。
  • +
+

例子

+
src/entry.node.ts
1import type { GezOptions } from '@gez/core';
+2
+3export default {
+4    async createDevApp(gez) {
+5        return import('@gez/rspack').then((m) =>
+6            m.createRspackApp(gez, {
+7                config({ config }) {
+8                    config.module = {
+9                        ...config.module,
+10                        rules: [
+11                            {
+12                                test: /\.ts$/,
+13                                exclude: [/node_modules/],
+14                                loader: 'builtin:swc-loader',
+15                                options: {
+16                                  jsc: {
+17                                    parser: {
+18                                      syntax: 'typescript',
+19                                    },
+20                                  },
+21                                },
+22                                type: 'javascript/auto',
+23                              }
+24                        ]
+25                    }
+26                }
+27            })
+28        );
+29    }
+30} satisfies GezOptions;
+

Html

+

createRspackHtmlApp 提供了一些开箱即用的配置,支持 Typescript、Worker、JSON、CSS、Less、Video、Image、Font 的相关文件。

+

选项

+

css v3.0.0

+
    +
  • 类型: boolean
  • +
  • 默认值: true
  • +
  • 描述: 是否启用默认的 CSS 配置。
  • +
+
TIP

如果你要自定义 CSS loader,可以设置为 false。 +

+

swcLoader v3.0.0

+
    +
  • 类型: SwcLoaderOptions
  • +
  • 默认值: undefined
  • +
  • 描述: 透传 builtin-swc-loader
  • +
+

lessLoader v3.0.0

+
    +
  • 类型: Record<string, any>;
  • +
  • 默认值: undefined
  • +
  • 描述: 透传 less-loader
  • +
+

styleResourcesLoader v3.0.0

+ +

definePlugin v3.0.0

+
    +
  • 类型: Record<string, any>;
  • +
  • 默认值: undefined
  • +
  • 描述: 透传 DefinePlugin
  • +
+

target.web v3.0.0

+
    +
  • 类型: string[]
  • +
  • 默认值: ['chrome>=87', 'firefox>=78', 'safari>=14', 'edge>=88']
  • +
  • 描述: 浏览器的构建目标。
  • +
+
WARNING

构建目标小于默认配置,Gez 可能无法正常工作。

+

target.node v3.0.0

+
    +
  • 类型: string[]
  • +
  • 默认值: ['node>=20']
  • +
  • 描述: Node.js 的构建目标。
  • +
+
WARNING

构建目标小于默认配置,无法保证兼容性,请认真考虑后设置。

+

例子

+
src/entry.node.ts
1import type { GezOptions } from '@gez/core';
+2
+3export default {
+4    async createDevApp(gez) {
+5        return import('@gez/rspack').then((m) =>
+6            m.createRspackHtmlApp(gez, {
+7                // 自定义选项
+8                config({ config }) {
+9                    // 自定义 Rspack 的配置
+10                }
+11            })
+12        );
+13    },
+14} satisfies GezOptions;
+

@gez/rspack-vue

+

提供了 Rspack vue 的基本配置。

+

安装

+

如果你没有 @gez/rspack-vue 的依赖,那么你可以通过如下命令安装。

+
npm
yarn
pnpm
bun
1npm install @gez/rspack-vue -D
+
TIP

该软件包同时支持 Vue2Vue3。 +

+

选项

+

选项继承于 createRspackHtmlApp

+

vueLoader v3.0.0

+
    +
  • 类型: Record<string, any>
  • +
  • 默认值: undefined
  • +
  • 描述: 透传 vue-loader
  • +
+
WARNING

experimentalInlineMatchResourceoptimizeSSR 由程序自动设置,你传入也无效。 +

+

Vue2

+

createRspackVue2App 提供了 Vue2 的 .vue 文件支持。

+
src/entry.node.ts
1import type { GezOptions } from '@gez/core';
+2
+3export default {
+4    async createDevApp(gez) {
+5        return import('@gez/rspack-vue').then((m) =>
+6            m.createRspackVue2App(gez, {
+7                config ({ config }) {
+8                    // 自定义 Rspack 配置
+9                }
+10            })
+11        );
+12    }
+13} satisfies GezOptions;
+

Vue3

+

createRspackVue3App 提供了 Vue3 的 .vue 文件的支持

+
src/entry.node.ts
1import type { GezOptions } from '@gez/core';
+2
+3export default {
+4    async createDevApp(gez) {
+5        return import('@gez/rspack-vue').then((m) =>
+6            m.createRspackVue3App(gez, {
+7                config ({ config }) {
+8                    // 自定义 Rspack 配置
+9                }
+10            })
+11        );
+12    }
+13} satisfies GezOptions;
+

JSX/TSX

+

目前暂不支持 JSX/TSX ,如果你想要支持它。需要自行添加相关的 Rspack 配置。点击这里了解 Vue 的相关配置。

+
+ + + diff --git a/guide/essentials/std.html b/guide/essentials/std.html new file mode 100644 index 000000000..14da91d05 --- /dev/null +++ b/guide/essentials/std.html @@ -0,0 +1,58 @@ + + + + + + + + + 通用约定 - Gez + + + +

通用约定

+

目录规范

+

这是一个约定,无法通过程序配置来修改。

+
1root
+2│─ dist                  # 编译输出目录。
+3│  ├─ package.json       # 编译输出后的软件包配置。
+4│  ├─ server             # 服务端编译输出。
+5│  │  └─ manifest.json   # 编译清单输出,用于生成 importmap。
+6│  ├─ node               # Node 服务器程序编译输出。
+7│  ├─ client             # 客户端编译输出。
+8│  │  ├─ versions        # 版本存储目录。
+9│  │  │  └─ latest.tgz   # 将 dist 目录归档,对外提供软件包分发。
+10│  │  └─ manifest.json   # 编译清单输出,用于生成 importmap。
+11│  └─ src                # 使用 tsc 生成的文件类型。
+12├─ src
+13│  ├─ entry.server.ts    # 服务端应用程序入口。
+14│  ├─ entry.client.ts    # 客户端应用程序入口。
+15│  └─ entry.node.ts      # Node 服务器应用程序入口。
+16├─ tsconfig.json         # TypeScript 配置。
+17└─ package.json          # 软件包配置。
+
拓展知识
+
    +
  • gez.name 来源于 package.jsonname 字段。
  • +
  • dist/package.json 来源于根目录的 package.json
  • +
  • 设置 packs.enabletrue 时,才会对 dist 目录进行归档。
  • +
+
+

缓存策略

+

在构建生产代码时,可以设置强缓存部分的资源,总是以 .final[ext] 作为文件名生成规则。也就是说符合这个规则的文件,可以设置强缓存,否则应设置协商缓存。

+

final 文件

+
1res.setHeader('cache-control', 'public, max-age=31536000, immutable')
+

其它文件

+
1res.setHeader('cache-control', 'no-cache')
+
小知识

使用了 gez.middleware 中间件,就会默认帮你处理这个逻辑。在生产环境时,你可以自己来实现静态服务器来控制不同的缓存策略,对于你来说 gez.middleware 是可选的。点击这里 可以参考实现。 +

+

Node experimental

+

在开发时,gez 会启用一些 Node 实验性质的功能,来获得开发环境支持 ESM 热更新和 TypeScript 的原生支持。

+
1node --experimental-vm-modules --experimental-import-meta-resolve --experimental-strip-types
+

但是在生产环境中,我们完全不需要这些,你应该使用构建后的产物来运行程序。

+
1NODE_ENV=production node dist/index.js
+
WARNING

如果你在生产环境中使用 gez start 来启动你的应用程序,由于启用了 Node 实验性功能的原因,可能会给你的程序带来未知的风险,请始终使用 NODE_ENV=production node dist/index.js 来启动。 +

+
+ + + diff --git a/guide/start/getting-started.html b/guide/start/getting-started.html new file mode 100644 index 000000000..b0bcfd336 --- /dev/null +++ b/guide/start/getting-started.html @@ -0,0 +1,173 @@ + + + + + + + + + 快速开始 - Gez + + + +

快速开始

+

这是一个与框架无关的例子,采用原生的 HTML 来开发项目

+
TIP

Gez 默认支持 SSR,但是你可以当成 CSR 来使用。 +

+

创建项目

+
1cd 项目目录
+2npm init
+

设置 ESM

+
package.json
1{
+2    "type": "module",
+3}
+

安装依赖

+

安装生产依赖

+
npm
yarn
pnpm
bun
1npm install @gez/core
+

安装开发依赖

+
npm
yarn
pnpm
bun
1npm install @gez/rspack typescript @types/node -D
+
TIP

总是应该将生产依赖和开发依赖区分,会使 node_modules 在生产环境中更小。 +

+

添加脚本

+
package.json
1{
+2    "scripts": {
+3        "dev": "gez dev",
+4        "build": "npm run build:dts && npm run build:ssr",
+5        "build:ssr": "gez build",
+6        "preview": "gez preview",
+7        "start": "gez start",
+8        "build:dts": "tsc --declaration --emitDeclarationOnly --outDir dist/src"
+9    },
+10}
+
TIP

你需要手动配置 tsconfig.json 文件,否则执行 build:dts 命令会报错。 +

+

目录结构

+
- src/ + - entry.client.ts # 客户端渲染入口。 + - entry.server.ts # 服务端渲染入口。 + - entry.node.ts # 创建服务器。 +- tsconfig.json # TS 的配置。 +- package.json # 软件包配置。 +
+

tsconfig.json

+
1{
+2    "compilerOptions": {
+3        "isolatedModules": true,
+4        "experimentalDecorators": true,
+5        "resolveJsonModule": true,
+6        "types": [
+7            "@types/node"
+8        ],
+9        "target": "ESNext",
+10        "module": "ESNext",
+11        "moduleResolution": "node",
+12        "strict": true,
+13        "skipLibCheck": true,
+14        "allowSyntheticDefaultImports": true,
+15        "paths": {
+16            "ssr-html/src/*": [
+17                "./src/*"
+18            ],
+19            "ssr-html/*": [
+20                "./*"
+21            ]
+22        }
+23    },
+24    "include": [
+25        "src"
+26    ],
+27    "exclude": [
+28        "dist"
+29    ]
+30  }
+
WARNING

你需要将上面的 ssr-html,替换成 package.jsonname 字段的值。 +

+

创建服务器

+

创建一个 web 服务器,来处理客户请求

+
src/entry.node.ts
1import http from 'node:http';
+2import type { GezOptions } from '@gez/core';
+3
+4export default {
+5    // 本地执行 dev 和 build 时会使用
+6    async createDevApp(gez) {
+7        return import('@gez/rspack').then((m) =>
+8            m.createRspackHtmlApp(gez, {
+9                config(context) {
+10                    // 可以在这里修改 Rspack 编译的配置
+11                }
+12            })
+13        );
+14    },
+15    async createServer(gez) {
+16        const server = http.createServer((req, res) => {
+17            // 静态文件处理
+18            gez.middleware(req, res, async () => {
+19                // 传入渲染的参数
+20                const rc = await gez.render({
+21                    params: {
+22                        url: req.url
+23                    }
+24                });
+25                // 响应 HTML 内容
+26                res.end(rc.html);
+27            });
+28        });
+29        // 监听端口
+30        server.listen(3000, () => {
+31            console.log('http://localhost:3000');
+32        });
+33    }
+34} satisfies GezOptions;
+

服务端渲染

+

模拟框架的 SSR API,渲染出 HTML 内容返回

+
src/entry.server.ts
1import type { RenderContext } from '@gez/core';
+2
+3export default async (rc: RenderContext) => {
+4    // 提交依赖收集
+5    await rc.commit();
+6    // 响应 HTML
+7    const time = new Date().toISOString();
+8    rc.html = `
+9<!DOCTYPE html>
+10<html>
+11<head>
+12    ${rc.preload()}
+13    <title>Gez</title>
+14    ${rc.css()}
+15</head>
+16<body>
+17    <h1>Gez</h1>
+18    <h2>Hello world!</h2>
+19    <p>URL: ${rc.params.url}</p>
+20    <time>${time}</time>
+21    ${rc.importmap()}
+22    ${rc.moduleEntry()}
+23    ${rc.modulePreload()}
+24</body>
+25</html>
+26`;
+27};
+

客户端渲染

+

更新当前时间

+
src/entry.client.ts
1const time = document.querySelector('time');
+2setInterval(() => {
+3    time?.setHTMLUnsafe(new Date().toISOString());
+4}, 1000);
+

启动项目

+
1npm run dev
+
+

浏览器打开:http://localhost:3000

+
+

更多例子

+ +
TIP

如果你使用了 Gez,欢迎提交 PR,在这里提供更多的例子。

+
+ + + diff --git a/guide/start/introduction.html b/guide/start/introduction.html new file mode 100644 index 000000000..4be8128ba --- /dev/null +++ b/guide/start/introduction.html @@ -0,0 +1,70 @@ + + + + + + + + + 介绍 - Gez + + + +

介绍

+

Gez 是 Genesis 迭代的第三个大版本,v1.0 是基于 HTTP 请求来实现的远程组件,v2.0 是基于 Module Federation v1.0 +实现的远程组件。随着主流浏览器都已经支持 ESM,这使得设计一款基于 ESM 的模块链接变成了可能。随着 Rspack v1.0 的发布,提供了对 ESM 更加友好的支持,这使得我们可以将可能变成了现实。于是,我们将 v3.0 版本重命名为 Gez

+

为什么选 Gez

+

目前,社区中的微服务解决方案大致可归为三类:iframe、micro-app 和 Module Federation。然而,iframe 和 micro-app 模式更适用于对老旧项目的整合,这种整合往往以牺牲一定的运行效率为代价。而 Module Federation,尽管功能强大,却因其较高的接入成本和复杂的内部机制,使得问题排查变得异常困难。

+

相较于这些方案,Gez展现出了显著的优势。它完全基于 ESM(ECMAScript Modules)模块系统设计,不仅默认支持服务器端渲染(SSR),还允许每个服务灵活地导出或使用外部模块。这一过程中,Gez保持了简单透明的特性,使得依赖管理变得精准可控。更值得一提的是,通过 importmap 技术,Gez能够将多个服务的模块映射到具有强缓存、基于内容哈希的URL上,从而确保了应用的高效与稳定。

+
TIP

Gez的初衷在于打造一个支持服务器端渲染(SSR)的微服务架构,旨在助力构建高性能且规模庞大的 Web 应用程序。

+

调研

+
    +
  • +

    现代JavaScript支持:参考了Vite的定义,基准为浏览器对 ESM dynamic importimport.meta 的支持。

    +
      +
    • Chrome ≥ 87
    • +
    • Firefox ≥ 78
    • +
    • Safari ≥ 14
    • +
    • Edge ≥ 88
    • +
    • Node.js ≥ 22.6
    • +
    +
  • +
  • +

    内容哈希与importmap:构建产物具备内容哈希,利用 importmap 技术将 import vue from 'vue' 转换为 ssr-npm/npm/vue.[contenthash].final.js,确保静态文件的强缓存。对于不支持importmap的浏览器,采用 es-module-shims 进行降级处理。

    +
  • +
  • +

    Rspack与ESM外部依赖:Rspack 的 externalsType 支持 module-import,便于设置 ESM 模块的外部依赖。

    +
  • +
  • +

    Node.js上的ESM热更新:尽管在 Node.js 上实现 ESM 模块的热更新具有挑战性,但可通过启用 node --experimental-vm-modules --experimental-import-meta-resolve 来实现。

    +
  • +
  • +

    Node.js原生支持TypeScript:自 Node.js 22.6 版本起,支持 --experimental-strip-types,从而原生支持运行TypeScript代码。

    +
  • +
+
TIP

经过一年多的构思与对Vite、farmfe、Rspack的深入调研,我们成功打通了这条路径,并确保其生产环境可用性。

+

定位

+

Gez 的定位并非旨在成为一个如同 Next.jsNuxt.js 那样功能全面的大型框架。相反,它致力于成为一个具备 Typescript、ESM、SSR(服务器端渲染)以及模块链接等核心特性的基础设施。基于这样的基础,开发者可以自由地构建出属于自己的 Next.js。对于那些追求高度定制化的实现,Gez 将是一个理想的选择。

+

模块链接

+

在大型项目开发过程中,为了提高代码的可维护性和复用性,通常会将项目拆分为多个组件库、工具库和业务模块。这些部分往往分散在不同的位置,可能以 multirepo 或 monorepo 包的形式进行管理和存储。然而,这些分散的模块最终需要通过系统的主程序进行有效的整合和链接,以确保整个系统的协同工作。

+

在这个过程中,Gez发挥了至关重要的作用。其核心功能在于能够快速地将这些分布在不同地方的模块进行链接,从而形成一个完整、统一的系统。通过Gez,开发者可以轻松地实现一个服务的发布,并确保其他相关服务能够同步更新,大大提高了开发效率和系统的一致性。

+

简而言之,Gez为大型项目的模块整合提供了便捷、高效的解决方案,使得分散的模块能够迅速聚合,共同构建出稳定、可靠的大型应用系统。

+

设计理念

+

在构建大型软件项目时,我们遵循以下核心理念,以确保系统的稳定性、可维护性和高效性:

+

基础服务集中化

+

我们倡导设计一个集中的基础服务,该服务将作为所有第三方依赖的单一来源。这种集中化的管理方式能够简化依赖关系,降低系统的复杂性。

+

统一依赖管理

+

基础服务不仅提供第三方依赖,还负责这些依赖的统一维护和更新。通过集中管理依赖的生命周期,我们可以确保整个系统中使用的依赖版本是一致的,从而避免版本冲突和不一致性问题。

+

一次发布,全局生效

+

当基础服务中的第三方依赖发生更新时,我们采用“一次发布,所有业务系统生效”的策略。这意味着一旦基础服务发布了新的依赖版本,所有依赖该服务的业务系统都将立即使用这些更新,无需在每个业务系统中单独进行更新操作。这种机制大大提高了系统的更新效率和一致性。

+

业务与依赖解耦

+

我们鼓励将业务服务与第三方依赖进行解耦。业务服务应专注于构建和处理业务逻辑,而不直接管理第三方依赖。所有对第三方依赖的引用都应通过基础服务进行间接访问。这种设计使得业务服务更加轻量级、灵活,且易于维护和扩展。

+

综上所述,我们的设计理念旨在通过基础服务的集中化管理和统一维护,简化大型项目中的依赖关系,提高系统的整体稳定性和开发效率。同时,通过解耦业务服务与第三方依赖,我们为系统的未来扩展和维护奠定了坚实的基础。

+

兼容性

+

所有的主流浏览器都已经支持,针对一些低版本的浏览器,可以提供一个升级的页面来引导用户升级它的浏览器。

+

可靠性

+

v1.0v2.0 到现在的 v3.0,已经走过了将近 5 年的时光,支持起了公司内部数十个业务的项目,并且不断地推动业务项目的升级。

+
+ + + diff --git a/index.html b/index.html new file mode 100644 index 000000000..593900180 --- /dev/null +++ b/index.html @@ -0,0 +1,17 @@ + + + + + + + + + Gez + + + +

Gez

基于导入映射实现的模块链接。

👍

技术创新

首个基于 ESM 构建的 SSR 多服务模块链接。

🚀

项目构建

基于 Rspack 实现,构建速度极快,带给你极致的开发体验。

🎯

依赖管理

一次构建,一次发布,多服务生效。

☁️

同构渲染

支持 Vue2、Vue3、React 等不同框架实现 SSR。

😎

基准支持

Node22.9 和支持 ESM dynamic import 和 import.meta 的浏览器。

👏

长久维护

Genesis 从 2020 年迭代至今,现更名为 Gez。

+
+ + + diff --git a/logo.svg b/logo.svg new file mode 100644 index 000000000..fef098a63 --- /dev/null +++ b/logo.svg @@ -0,0 +1,3 @@ + + Gez + \ No newline at end of file diff --git a/ssr-base/importmap.32e210256a988dbb.final.js b/ssr-base/importmap.32e210256a988dbb.final.js new file mode 100644 index 000000000..c0584e48f --- /dev/null +++ b/ssr-base/importmap.32e210256a988dbb.final.js @@ -0,0 +1 @@ +(s=>{let t="ssr-base",e="__importmap__",r=s[e]=s[e]||{},i=r.imports=r.imports||{},n=new URL(document.currentScript.src).pathname.split("/"+t+"/"),a=s=>t+s.substring(1);Object.entries({"./src/entry.client":"./src/entry.client.45d16617.final.js","./npm/axios":"./npm/axios.26b9e9fc.final.js","./src/date-fns":"./src/date-fns.835c96eb.final.js","./src/title":"./src/title.13ce4d5e.final.js"}).forEach(([s,t])=>{i[a(s)]=n[0]+"/"+a(t)})})(globalThis); \ No newline at end of file diff --git a/ssr-base/importmap.js b/ssr-base/importmap.js new file mode 100644 index 000000000..c0584e48f --- /dev/null +++ b/ssr-base/importmap.js @@ -0,0 +1 @@ +(s=>{let t="ssr-base",e="__importmap__",r=s[e]=s[e]||{},i=r.imports=r.imports||{},n=new URL(document.currentScript.src).pathname.split("/"+t+"/"),a=s=>t+s.substring(1);Object.entries({"./src/entry.client":"./src/entry.client.45d16617.final.js","./npm/axios":"./npm/axios.26b9e9fc.final.js","./src/date-fns":"./src/date-fns.835c96eb.final.js","./src/title":"./src/title.13ce4d5e.final.js"}).forEach(([s,t])=>{i[a(s)]=n[0]+"/"+a(t)})})(globalThis); \ No newline at end of file diff --git a/ssr-base/index.html b/ssr-base/index.html new file mode 100644 index 000000000..e69de29bb diff --git a/ssr-base/manifest.json b/ssr-base/manifest.json new file mode 100644 index 000000000..a9729f9e8 --- /dev/null +++ b/ssr-base/manifest.json @@ -0,0 +1,62 @@ +{ + "name": "ssr-base", + "version": "1.0.0", + "hash": "32e210256a988dbb", + "type": "module", + "exports": { + "./src/entry.client": "./src/entry.client.45d16617.final.js", + "./npm/axios": "./npm/axios.26b9e9fc.final.js", + "./src/date-fns": "./src/date-fns.835c96eb.final.js", + "./src/title": "./src/title.13ce4d5e.final.js" + }, + "buildFiles": [ + "importmap.js", + "src/title.13ce4d5e.final.js", + "src/entry.client.45d16617.final.js", + "npm/axios.26b9e9fc.final.js", + "importmap.32e210256a988dbb.final.js", + "src/date-fns.835c96eb.final.js" + ], + "chunks": { + "ssr-base@src/title.ts": { + "js": "./src/title.13ce4d5e.final.js", + "css": [], + "resources": [], + "sizes": { + "js": 556, + "css": 0, + "resource": 0 + } + }, + "ssr-base@../../node_modules/.pnpm/axios@1.7.7/node_modules/axios/index.js": { + "js": "./npm/axios.26b9e9fc.final.js", + "css": [], + "resources": [], + "sizes": { + "js": 169526, + "css": 0, + "resource": 0 + } + }, + "ssr-base@src/entry.client.ts": { + "js": "./src/entry.client.45d16617.final.js", + "css": [], + "resources": [], + "sizes": { + "js": 111, + "css": 0, + "resource": 0 + } + }, + "ssr-base@src/date-fns.ts": { + "js": "./src/date-fns.835c96eb.final.js", + "css": [], + "resources": [], + "sizes": { + "js": 533443, + "css": 0, + "resource": 0 + } + } + } +} \ No newline at end of file diff --git a/ssr-base/npm/axios.26b9e9fc.final.js b/ssr-base/npm/axios.26b9e9fc.final.js new file mode 100644 index 000000000..c5e5a29f8 --- /dev/null +++ b/ssr-base/npm/axios.26b9e9fc.final.js @@ -0,0 +1 @@ +let t,e,r;var n,o={446:function(t,e){e.byteLength=function(t){var e=f(t),r=e[0],n=e[1];return(r+n)*3/4-n},e.toByteArray=function(t){var e,r,i,s,a=f(t),u=a[0],l=a[1];var c=new o((e=0,(u+(r=l))*3/4-r)),h=0,p=l>0?u-4:u;for(s=0;s>16&255,c[h++]=i>>8&255,c[h++]=255&i;return 2===l&&(i=n[t.charCodeAt(s)]<<2|n[t.charCodeAt(s+1)]>>4,c[h++]=255&i),1===l&&(i=n[t.charCodeAt(s)]<<10|n[t.charCodeAt(s+1)]<<4|n[t.charCodeAt(s+2)]>>2,c[h++]=i>>8&255,c[h++]=255&i),c},e.fromByteArray=function(t){for(var e,n=t.length,o=n%3,i=[],s=0,a=n-o;s>18&63]+r[o>>12&63]+r[o>>6&63]+r[63&o])}return s.join("")}(t,s,s+16383>a?a:s+16383));return 1===o?(e=t[n-1],i.push(r[e>>2]+r[e<<4&63]+"==")):2===o&&(e=(t[n-2]<<8)+t[n-1],i.push(r[e>>10]+r[e>>4&63]+r[e<<2&63]+"=")),i.join("")};for(var r=[],n=[],o="undefined"!=typeof Uint8Array?Uint8Array:Array,i="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",s=0,a=i.length;s0)throw Error("Invalid string. Length must be a multiple of 4");var r=t.indexOf("=");-1===r&&(r=e);var n=r===e?0:4-r%4;return[r,n]}n["-".charCodeAt(0)]=62,n["_".charCodeAt(0)]=63},313:function(t,e,r){let n=r(446),o=r(164),i="function"==typeof Symbol&&"function"==typeof Symbol.for?Symbol.for("nodejs.util.inspect.custom"):null;e.Buffer=a,e.INSPECT_MAX_BYTES=50;a.TYPED_ARRAY_SUPPORT=function(){try{let t=new Uint8Array(1),e={foo:function(){return 42}};return Object.setPrototypeOf(e,Uint8Array.prototype),Object.setPrototypeOf(t,e),42===t.foo()}catch(t){return!1}}(),!a.TYPED_ARRAY_SUPPORT&&"undefined"!=typeof console&&"function"==typeof console.error&&console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support.");function s(t){if(t>0x7fffffff)throw RangeError('The value "'+t+'" is invalid for option "size"');let e=new Uint8Array(t);return Object.setPrototypeOf(e,a.prototype),e}function a(t,e,r){if("number"==typeof t){if("string"==typeof e)throw TypeError('The "string" argument must be of type string. Received type number');return l(t)}return f(t,e,r)}function f(t,e,r){if("string"==typeof t)return function(t,e){if(("string"!=typeof e||""===e)&&(e="utf8"),!a.isEncoding(e))throw TypeError("Unknown encoding: "+e);let r=0|d(t,e),n=s(r),o=n.write(t,e);return o!==r&&(n=n.slice(0,o)),n}(t,e);if(ArrayBuffer.isView(t))return function(t){if(k(t,Uint8Array)){let e=new Uint8Array(t);return h(e.buffer,e.byteOffset,e.byteLength)}return c(t)}(t);if(null==t)throw TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof t);if(k(t,ArrayBuffer)||t&&k(t.buffer,ArrayBuffer)||"undefined"!=typeof SharedArrayBuffer&&(k(t,SharedArrayBuffer)||t&&k(t.buffer,SharedArrayBuffer)))return h(t,e,r);if("number"==typeof t)throw TypeError('The "value" argument must not be of type number. Received type number');let n=t.valueOf&&t.valueOf();if(null!=n&&n!==t)return a.from(n,e,r);let o=function(t){if(a.isBuffer(t)){let e=0|p(t.length),r=s(e);return 0===r.length?r:(t.copy(r,0,0,e),r)}if(void 0!==t.length)return"number"!=typeof t.length||function(t){return t!=t}(t.length)?s(0):c(t);if("Buffer"===t.type&&Array.isArray(t.data))return c(t.data)}(t);if(o)return o;if("undefined"!=typeof Symbol&&null!=Symbol.toPrimitive&&"function"==typeof t[Symbol.toPrimitive])return a.from(t[Symbol.toPrimitive]("string"),e,r);throw TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof t)}function u(t){if("number"!=typeof t)throw TypeError('"size" argument must be of type number');if(t<0)throw RangeError('The value "'+t+'" is invalid for option "size"')}Object.defineProperty(a.prototype,"parent",{enumerable:!0,get:function(){if(a.isBuffer(this))return this.buffer}}),Object.defineProperty(a.prototype,"offset",{enumerable:!0,get:function(){if(a.isBuffer(this))return this.byteOffset}}),a.poolSize=8192,a.from=function(t,e,r){return f(t,e,r)},Object.setPrototypeOf(a.prototype,Uint8Array.prototype),Object.setPrototypeOf(a,Uint8Array);function l(t){return u(t),s(t<0?0:0|p(t))}a.alloc=function(t,e,r){var n,o,i;return n=t,o=e,i=r,(u(n),n<=0)?s(n):void 0!==o?"string"==typeof i?s(n).fill(o,i):s(n).fill(o):s(n)},a.allocUnsafe=function(t){return l(t)},a.allocUnsafeSlow=function(t){return l(t)};function c(t){let e=t.length<0?0:0|p(t.length),r=s(e);for(let n=0;n=0x7fffffff)throw RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+"7fffffff bytes");return 0|t}function d(t,e){if(a.isBuffer(t))return t.length;if(ArrayBuffer.isView(t)||k(t,ArrayBuffer))return t.byteLength;if("string"!=typeof t)throw TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof t);let r=t.length,n=arguments.length>2&&!0===arguments[2];if(!n&&0===r)return 0;let o=!1;for(;;)switch(e){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":return L(t).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*r;case"hex":return r>>>1;case"base64":return j(t).length;default:if(o)return n?-1:L(t).length;e=(""+e).toLowerCase(),o=!0}}function y(t,e,r){let o=!1;if((void 0===e||e<0)&&(e=0),e>this.length)return"";if((void 0===r||r>this.length)&&(r=this.length),r<=0||(r>>>=0)<=(e>>>=0))return"";for(!t&&(t="utf8");;)switch(t){case"hex":return function(t,e,r){let n=t.length;(!e||e<0)&&(e=0),(!r||r<0||r>n)&&(r=n);let o="";for(let n=e;n0x7fffffff?r=0x7fffffff:r<-0x80000000&&(r=-0x80000000),function(t){return t!=t}(r=+r)&&(r=o?0:t.length-1),r<0&&(r=t.length+r),r>=t.length){if(o)return -1;r=t.length-1}else if(r<0){if(!o)return -1;r=0}if("string"==typeof e&&(e=a.from(e,n)),a.isBuffer(e))return 0===e.length?-1:b(t,e,r,n,o);if("number"==typeof e){if(e&=255,"function"==typeof Uint8Array.prototype.indexOf)return o?Uint8Array.prototype.indexOf.call(t,e,r):Uint8Array.prototype.lastIndexOf.call(t,e,r);return b(t,[e],r,n,o)}throw TypeError("val must be string, number or Buffer")}function b(t,e,r,n,o){let i,s=1,a=t.length,f=e.length;if(void 0!==n&&("ucs2"===(n=String(n).toLowerCase())||"ucs-2"===n||"utf16le"===n||"utf-16le"===n)){if(t.length<2||e.length<2)return -1;s=2,a/=2,f/=2,r/=2}function u(t,e){return 1===s?t[e]:t.readUInt16BE(e*s)}if(o){let n=-1;for(i=r;ia&&(r=a-f),i=r;i>=0;i--){let r=!0;for(let n=0;nn.length?(!a.isBuffer(e)&&(e=a.from(e)),e.copy(n,o)):Uint8Array.prototype.set.call(n,e,o);else if(a.isBuffer(e))e.copy(n,o);else throw TypeError('"list" argument must be an Array of Buffers');o+=e.length}return n},a.byteLength=d,a.prototype._isBuffer=!0,a.prototype.swap16=function(){let t=this.length;if(t%2!=0)throw RangeError("Buffer size must be a multiple of 16-bits");for(let e=0;er&&(t+=" ... "),""},i&&(a.prototype[i]=a.prototype.inspect),a.prototype.compare=function(t,e,r,n,o){if(k(t,Uint8Array)&&(t=a.from(t,t.offset,t.byteLength)),!a.isBuffer(t))throw TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof t);if(void 0===e&&(e=0),void 0===r&&(r=t?t.length:0),void 0===n&&(n=0),void 0===o&&(o=this.length),e<0||r>t.length||n<0||o>this.length)throw RangeError("out of range index");if(n>=o&&e>=r)return 0;if(n>=o)return -1;if(e>=r)return 1;if(e>>>=0,r>>>=0,n>>>=0,o>>>=0,this===t)return 0;let i=o-n,s=r-e,f=Math.min(i,s),u=this.slice(n,o),l=t.slice(e,r);for(let t=0;t>>=0,isFinite(r)?(r>>>=0,void 0===n&&(n="utf8")):(n=r,r=void 0);else throw Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");let E=this.length-e;if((void 0===r||r>E)&&(r=E),t.length>0&&(r<0||e<0)||e>this.length)throw RangeError("Attempt to write outside buffer bounds");!n&&(n="utf8");let R=!1;for(;;)switch(n){case"hex":return function(t,e,r,n){let o;r=Number(r)||0;let i=t.length-r;n?(n=Number(n))>i&&(n=i):n=i;let s=e.length;for(n>s/2&&(n=s/2),o=0;o>8,o=r%256,i.push(o),i.push(n);return i}(m,g.length-b),g,b,w);default:if(R)throw TypeError("Unknown encoding: "+n);n=(""+n).toLowerCase(),R=!0}},a.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function w(t,e,r){r=Math.min(t.length,r);let n=[],o=e;for(;o239?4:e>223?3:e>191?2:1;if(o+s<=r){let r,n,a,f;switch(s){case 1:e<128&&(i=e);break;case 2:(192&(r=t[o+1]))==128&&(f=(31&e)<<6|63&r)>127&&(i=f);break;case 3:r=t[o+1],n=t[o+2],(192&r)==128&&(192&n)==128&&(f=(15&e)<<12|(63&r)<<6|63&n)>2047&&(f<55296||f>57343)&&(i=f);break;case 4:r=t[o+1],n=t[o+2],a=t[o+3],(192&r)==128&&(192&n)==128&&(192&a)==128&&(f=(15&e)<<18|(63&r)<<12|(63&n)<<6|63&a)>65535&&f<1114112&&(i=f)}}null===i?(i=65533,s=1):i>65535&&(i-=65536,n.push(i>>>10&1023|55296),i=56320|1023&i),n.push(i),o+=s}return function(t){let e=t.length;if(e<=4096)return String.fromCharCode.apply(String,t);let r="",n=0;for(;nr)throw RangeError("Trying to access beyond buffer length")}function R(t,e,r,n,o,i){if(!a.isBuffer(t))throw TypeError('"buffer" argument must be a Buffer instance');if(e>o||et.length)throw RangeError("Index out of range")}function A(t,e,r,n,o){U(e,n,o,t,r,7);let i=Number(e&BigInt(0xffffffff));t[r++]=i,i>>=8,t[r++]=i,i>>=8,t[r++]=i,i>>=8,t[r++]=i;let s=Number(e>>BigInt(32)&BigInt(0xffffffff));return t[r++]=s,s>>=8,t[r++]=s,s>>=8,t[r++]=s,s>>=8,t[r++]=s,r}function O(t,e,r,n,o){U(e,n,o,t,r,7);let i=Number(e&BigInt(0xffffffff));t[r+7]=i,i>>=8,t[r+6]=i,i>>=8,t[r+5]=i,i>>=8,t[r+4]=i;let s=Number(e>>BigInt(32)&BigInt(0xffffffff));return t[r+3]=s,s>>=8,t[r+2]=s,s>>=8,t[r+1]=s,s>>=8,t[r]=s,r+8}function _(t,e,r,n,o,i){if(r+n>t.length||r<0)throw RangeError("Index out of range")}function S(t,e,r,n,i){return e=+e,r>>>=0,!i&&_(t,e,r,4,34028234663852886e22,-34028234663852886e22),o.write(t,e,r,n,23,4),r+4}function B(t,e,r,n,i){return e=+e,r>>>=0,!i&&_(t,e,r,8,17976931348623157e292,-17976931348623157e292),o.write(t,e,r,n,52,8),r+8}a.prototype.slice=function(t,e){let r=this.length;t=~~t,e=void 0===e?r:~~e,t<0?(t+=r)<0&&(t=0):t>r&&(t=r),e<0?(e+=r)<0&&(e=0):e>r&&(e=r),e>>=0,e>>>=0,!r&&E(t,e,this.length);let n=this[t],o=1,i=0;for(;++i>>=0,e>>>=0,!r&&E(t,e,this.length);let n=this[t+--e],o=1;for(;e>0&&(o*=256);)n+=this[t+--e]*o;return n},a.prototype.readUint8=a.prototype.readUInt8=function(t,e){return t>>>=0,!e&&E(t,1,this.length),this[t]},a.prototype.readUint16LE=a.prototype.readUInt16LE=function(t,e){return t>>>=0,!e&&E(t,2,this.length),this[t]|this[t+1]<<8},a.prototype.readUint16BE=a.prototype.readUInt16BE=function(t,e){return t>>>=0,!e&&E(t,2,this.length),this[t]<<8|this[t+1]},a.prototype.readUint32LE=a.prototype.readUInt32LE=function(t,e){return t>>>=0,!e&&E(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+0x1000000*this[t+3]},a.prototype.readUint32BE=a.prototype.readUInt32BE=function(t,e){return t>>>=0,!e&&E(t,4,this.length),0x1000000*this[t]+(this[t+1]<<16|this[t+2]<<8|this[t+3])},a.prototype.readBigUInt64LE=M(function(t){C(t>>>=0,"offset");let e=this[t],r=this[t+7];(void 0===e||void 0===r)&&I(t,this.length-8);let n=e+256*this[++t]+65536*this[++t]+0x1000000*this[++t],o=this[++t]+256*this[++t]+65536*this[++t]+0x1000000*r;return BigInt(n)+(BigInt(o)<>>=0,"offset");let e=this[t],r=this[t+7];(void 0===e||void 0===r)&&I(t,this.length-8);let n=0x1000000*e+65536*this[++t]+256*this[++t]+this[++t],o=0x1000000*this[++t]+65536*this[++t]+256*this[++t]+r;return(BigInt(n)<>>=0,e>>>=0,!r&&E(t,e,this.length);let n=this[t],o=1,i=0;for(;++i=(o*=128)&&(n-=Math.pow(2,8*e)),n},a.prototype.readIntBE=function(t,e,r){t>>>=0,e>>>=0,!r&&E(t,e,this.length);let n=e,o=1,i=this[t+--n];for(;n>0&&(o*=256);)i+=this[t+--n]*o;return i>=(o*=128)&&(i-=Math.pow(2,8*e)),i},a.prototype.readInt8=function(t,e){return(t>>>=0,!e&&E(t,1,this.length),128&this[t])?-((255-this[t]+1)*1):this[t]},a.prototype.readInt16LE=function(t,e){t>>>=0,!e&&E(t,2,this.length);let r=this[t]|this[t+1]<<8;return 32768&r?0xffff0000|r:r},a.prototype.readInt16BE=function(t,e){t>>>=0,!e&&E(t,2,this.length);let r=this[t+1]|this[t]<<8;return 32768&r?0xffff0000|r:r},a.prototype.readInt32LE=function(t,e){return t>>>=0,!e&&E(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24},a.prototype.readInt32BE=function(t,e){return t>>>=0,!e&&E(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]},a.prototype.readBigInt64LE=M(function(t){C(t>>>=0,"offset");let e=this[t],r=this[t+7];return(void 0===e||void 0===r)&&I(t,this.length-8),(BigInt(this[t+4]+256*this[t+5]+65536*this[t+6]+(r<<24))<>>=0,"offset");let e=this[t],r=this[t+7];return(void 0===e||void 0===r)&&I(t,this.length-8),(BigInt((e<<24)+65536*this[++t]+256*this[++t]+this[++t])<>>=0,!e&&E(t,4,this.length),o.read(this,t,!0,23,4)},a.prototype.readFloatBE=function(t,e){return t>>>=0,!e&&E(t,4,this.length),o.read(this,t,!1,23,4)},a.prototype.readDoubleLE=function(t,e){return t>>>=0,!e&&E(t,8,this.length),o.read(this,t,!0,52,8)},a.prototype.readDoubleBE=function(t,e){return t>>>=0,!e&&E(t,8,this.length),o.read(this,t,!1,52,8)},a.prototype.writeUintLE=a.prototype.writeUIntLE=function(t,e,r,n){if(t=+t,e>>>=0,r>>>=0,!n){let n=Math.pow(2,8*r)-1;R(this,t,e,r,n,0)}let o=1,i=0;for(this[e]=255&t;++i>>=0,r>>>=0,!n){let n=Math.pow(2,8*r)-1;R(this,t,e,r,n,0)}let o=r-1,i=1;for(this[e+o]=255&t;--o>=0&&(i*=256);)this[e+o]=t/i&255;return e+r},a.prototype.writeUint8=a.prototype.writeUInt8=function(t,e,r){return t=+t,e>>>=0,!r&&R(this,t,e,1,255,0),this[e]=255&t,e+1},a.prototype.writeUint16LE=a.prototype.writeUInt16LE=function(t,e,r){return t=+t,e>>>=0,!r&&R(this,t,e,2,65535,0),this[e]=255&t,this[e+1]=t>>>8,e+2},a.prototype.writeUint16BE=a.prototype.writeUInt16BE=function(t,e,r){return t=+t,e>>>=0,!r&&R(this,t,e,2,65535,0),this[e]=t>>>8,this[e+1]=255&t,e+2},a.prototype.writeUint32LE=a.prototype.writeUInt32LE=function(t,e,r){return t=+t,e>>>=0,!r&&R(this,t,e,4,0xffffffff,0),this[e+3]=t>>>24,this[e+2]=t>>>16,this[e+1]=t>>>8,this[e]=255&t,e+4},a.prototype.writeUint32BE=a.prototype.writeUInt32BE=function(t,e,r){return t=+t,e>>>=0,!r&&R(this,t,e,4,0xffffffff,0),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t,e+4},a.prototype.writeBigUInt64LE=M(function(t,e=0){return A(this,t,e,BigInt(0),BigInt("0xffffffffffffffff"))}),a.prototype.writeBigUInt64BE=M(function(t,e=0){return O(this,t,e,BigInt(0),BigInt("0xffffffffffffffff"))}),a.prototype.writeIntLE=function(t,e,r,n){if(t=+t,e>>>=0,!n){let n=Math.pow(2,8*r-1);R(this,t,e,r,n-1,-n)}let o=0,i=1,s=0;for(this[e]=255&t;++o>0)-s&255;return e+r},a.prototype.writeIntBE=function(t,e,r,n){if(t=+t,e>>>=0,!n){let n=Math.pow(2,8*r-1);R(this,t,e,r,n-1,-n)}let o=r-1,i=1,s=0;for(this[e+o]=255&t;--o>=0&&(i*=256);)t<0&&0===s&&0!==this[e+o+1]&&(s=1),this[e+o]=(t/i>>0)-s&255;return e+r},a.prototype.writeInt8=function(t,e,r){return t=+t,e>>>=0,!r&&R(this,t,e,1,127,-128),t<0&&(t=255+t+1),this[e]=255&t,e+1},a.prototype.writeInt16LE=function(t,e,r){return t=+t,e>>>=0,!r&&R(this,t,e,2,32767,-32768),this[e]=255&t,this[e+1]=t>>>8,e+2},a.prototype.writeInt16BE=function(t,e,r){return t=+t,e>>>=0,!r&&R(this,t,e,2,32767,-32768),this[e]=t>>>8,this[e+1]=255&t,e+2},a.prototype.writeInt32LE=function(t,e,r){return t=+t,e>>>=0,!r&&R(this,t,e,4,0x7fffffff,-0x80000000),this[e]=255&t,this[e+1]=t>>>8,this[e+2]=t>>>16,this[e+3]=t>>>24,e+4},a.prototype.writeInt32BE=function(t,e,r){return t=+t,e>>>=0,!r&&R(this,t,e,4,0x7fffffff,-0x80000000),t<0&&(t=0xffffffff+t+1),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t,e+4},a.prototype.writeBigInt64LE=M(function(t,e=0){return A(this,t,e,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))}),a.prototype.writeBigInt64BE=M(function(t,e=0){return O(this,t,e,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))}),a.prototype.writeFloatLE=function(t,e,r){return S(this,t,e,!0,r)},a.prototype.writeFloatBE=function(t,e,r){return S(this,t,e,!1,r)},a.prototype.writeDoubleLE=function(t,e,r){return B(this,t,e,!0,r)},a.prototype.writeDoubleBE=function(t,e,r){return B(this,t,e,!1,r)},a.prototype.copy=function(t,e,r,n){if(!a.isBuffer(t))throw TypeError("argument should be a Buffer");if(!r&&(r=0),!n&&0!==n&&(n=this.length),e>=t.length&&(e=t.length),!e&&(e=0),n>0&&n=this.length)throw RangeError("Index out of range");if(n<0)throw RangeError("sourceEnd out of bounds");n>this.length&&(n=this.length),t.length-e>>=0,r=void 0===r?this.length:r>>>0,!t&&(t=0),"number"==typeof t)for(o=e;o=n+4;r-=3)e=`_${t.slice(r-3,r)}${e}`;return`${t.slice(0,r)}${e}`}v("ERR_BUFFER_OUT_OF_BOUNDS",function(t){return t?`${t} is outside of buffer bounds`:"Attempt to access memory outside buffer bounds"},RangeError),v("ERR_INVALID_ARG_TYPE",function(t,e){return`The "${t}" argument must be of type number. Received type ${typeof e}`},TypeError),v("ERR_OUT_OF_RANGE",function(t,e,r){let n=`The value of "${t}" is out of range.`,o=r;return Number.isInteger(r)&&Math.abs(r)>0x100000000?o=T(String(r)):"bigint"==typeof r&&(o=String(r),(r>BigInt(2)**BigInt(32)||r<-(BigInt(2)**BigInt(32)))&&(o=T(o)),o+="n"),n+=` It must be ${e}. Received ${o}`},RangeError);function U(t,e,r,n,o,i){var s,a,f;if(t>r||t3?0===e||e===BigInt(0)?`>= 0${o} and < 2${o} ** ${(i+1)*8}${o}`:`>= -(2${o} ** ${(i+1)*8-1}${o}) and < 2 ** ${(i+1)*8-1}${o}`:`>= ${e}${o} and <= ${r}${o}`,new x.ERR_OUT_OF_RANGE("value",n,t)}s=n,a=o,f=i,C(a,"offset"),(void 0===s[a]||void 0===s[a+f])&&I(a,s.length-(f+1))}function C(t,e){if("number"!=typeof t)throw new x.ERR_INVALID_ARG_TYPE(e,"number",t)}function I(t,e,r){if(Math.floor(t)!==t)throw C(t,r),new x.ERR_OUT_OF_RANGE(r||"offset","an integer",t);if(e<0)throw new x.ERR_BUFFER_OUT_OF_BOUNDS;throw new x.ERR_OUT_OF_RANGE(r||"offset",`>= ${r?1:0} and <= ${e}`,t)}let N=/[^+/0-9A-Za-z-_]/g;function L(t,e){let r;e=e||1/0;let n=t.length,o=null,i=[];for(let s=0;s55295&&r<57344){if(!o){if(r>56319){(e-=3)>-1&&i.push(239,191,189);continue}if(s+1===n){(e-=3)>-1&&i.push(239,191,189);continue}o=r;continue}if(r<56320){(e-=3)>-1&&i.push(239,191,189),o=r;continue}r=(o-55296<<10|r-56320)+65536}else o&&(e-=3)>-1&&i.push(239,191,189);if(o=null,r<128){if((e-=1)<0)break;i.push(r)}else if(r<2048){if((e-=2)<0)break;i.push(r>>6|192,63&r|128)}else if(r<65536){if((e-=3)<0)break;i.push(r>>12|224,r>>6&63|128,63&r|128)}else if(r<1114112){if((e-=4)<0)break;i.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}else throw Error("Invalid code point")}return i}function j(t){return n.toByteArray(function(t){if((t=(t=t.split("=")[0]).trim().replace(N,"")).length<2)return"";for(;t.length%4!=0;)t+="=";return t}(t))}function P(t,e,r,n){let o;for(o=0;o=e.length)&&!(o>=t.length);++o)e[o+r]=t[o];return o}function k(t,e){return t instanceof e||null!=t&&null!=t.constructor&&null!=t.constructor.name&&t.constructor.name===e.name}function F(t){return t!=t}let D=function(){let t="0123456789abcdef",e=Array(256);for(let r=0;r<16;++r){let n=16*r;for(let o=0;o<16;++o)e[n+o]=t[r]+t[o]}return e}();function M(t){return"undefined"==typeof BigInt?q:t}function q(){throw Error("BigInt not supported")}},164:function(t,e){e.read=function(t,e,r,n,o){var i,s,a=8*o-n-1,f=(1<>1,l=-7,c=r?o-1:0,h=r?-1:1,p=t[e+c];for(c+=h,i=p&(1<<-l)-1,p>>=-l,l+=a;l>0;i=256*i+t[e+c],c+=h,l-=8);for(s=i&(1<<-l)-1,i>>=-l,l+=n;l>0;s=256*s+t[e+c],c+=h,l-=8);if(0===i)i=1-u;else{if(i===f)return s?NaN:1/0*(p?-1:1);s+=Math.pow(2,n),i-=u}return(p?-1:1)*s*Math.pow(2,i-n)},e.write=function(t,e,r,n,o,i){var s,a,f,u=8*i-o-1,l=(1<>1,h=23===o?5960464477539062e-23:0,p=n?0:i-1,d=n?1:-1,y=e<0||0===e&&1/e<0?1:0;for(isNaN(e=Math.abs(e))||e===1/0?(a=isNaN(e)?1:0,s=l):(s=Math.floor(Math.log(e)/Math.LN2),e*(f=Math.pow(2,-s))<1&&(s--,f*=2),s+c>=1?e+=h/f:e+=h*Math.pow(2,1-c),e*f>=2&&(s++,f/=2),s+c>=l?(a=0,s=l):s+c>=1?(a=(e*f-1)*Math.pow(2,o),s+=c):(a=e*Math.pow(2,c-1)*Math.pow(2,o),s=0));o>=8;t[r+p]=255&a,p+=d,a/=256,o-=8);for(s=s<0;t[r+p]=255&s,p+=d,s/=256,u-=8);t[r+p-d]|=128*y}}},i={};function s(t){var e=i[t];if(void 0!==e)return e.exports;var r=i[t]={exports:{}};return o[t](r,r.exports,s),r.exports}s.d=function(t,e){for(var r in e)s.o(e,r)&&!s.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:e[r]})},s.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},s.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},s.rv=function(){return"1.1.2"},s.ruid="bundler=rspack@1.1.2";var a={};s.d(a,{$6:()=>em,ZP:()=>el,Nz:()=>e_,fE:()=>eB,hw:()=>eE,k5:()=>eR,uP:()=>eS,IZ:()=>ew,Mw:()=>ed,$j:()=>eb,$B:()=>ey,ty:()=>ep,WE:()=>eO,YD:()=>ec,d7:()=>eh,uu:()=>eA,q4:()=>eg});var f={};function u(t,e){return function(){return t.apply(e,arguments)}}s.r(f),s.d(f,{hasBrowserEnv:()=>tp,hasStandardBrowserEnv:()=>ty,hasStandardBrowserWebWorkerEnv:()=>tg,navigator:()=>td,origin:()=>tm});let{toString:l}=Object.prototype,{getPrototypeOf:c}=Object;let h=(t=Object.create(null),e=>{let r=l.call(e);return t[r]||(t[r]=r.slice(8,-1).toLowerCase())}),p=t=>(t=t.toLowerCase(),e=>h(e)===t),d=t=>e=>typeof e===t,{isArray:y}=Array,g=d("undefined"),m=p("ArrayBuffer"),b=d("string"),w=d("function"),E=d("number"),R=t=>null!==t&&"object"==typeof t,A=t=>{if("object"!==h(t))return!1;let e=c(t);return(null===e||e===Object.prototype||null===Object.getPrototypeOf(e))&&!(Symbol.toStringTag in t)&&!(Symbol.iterator in t)},O=p("Date"),_=p("File"),S=p("Blob"),B=p("FileList"),x=p("URLSearchParams"),[v,T,U,C]=["ReadableStream","Request","Response","Headers"].map(p);function I(t,e,{allOwnKeys:r=!1}={}){let n,o;if(null!=t)if("object"!=typeof t&&(t=[t]),y(t))for(n=0,o=t.length;n0;)if(e===(r=n[o]).toLowerCase())return r;return null}let L="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:global,j=t=>!g(t)&&t!==L;let P=(e="undefined"!=typeof Uint8Array&&c(Uint8Array),t=>e&&t instanceof e),k=p("HTMLFormElement"),F=(({hasOwnProperty:t})=>(e,r)=>t.call(e,r))(Object.prototype),D=p("RegExp"),M=(t,e)=>{let r=Object.getOwnPropertyDescriptors(t),n={};I(r,(r,o)=>{let i;!1!==(i=e(r,o,t))&&(n[o]=i||r)}),Object.defineProperties(t,n)},q="abcdefghijklmnopqrstuvwxyz",$="0123456789",z={DIGIT:$,ALPHA:q,ALPHA_DIGIT:q+q.toUpperCase()+$},H=p("AsyncFunction"),J=((t,e)=>{var r,n;if(t)return setImmediate;return e?(r=`axios@${Math.random()}`,n=[],L.addEventListener("message",({source:t,data:e})=>{t===L&&e===r&&n.length&&n.shift()()},!1),t=>{n.push(t),L.postMessage(r,"*")}):t=>setTimeout(t)})("function"==typeof setImmediate,w(L.postMessage)),W="undefined"!=typeof queueMicrotask?queueMicrotask.bind(L):"undefined"!=typeof process&&process.nextTick||J,V={isArray:y,isArrayBuffer:m,isBuffer:function(t){return null!==t&&!g(t)&&null!==t.constructor&&!g(t.constructor)&&w(t.constructor.isBuffer)&&t.constructor.isBuffer(t)},isFormData:t=>{let e;return t&&("function"==typeof FormData&&t instanceof FormData||w(t.append)&&("formdata"===(e=h(t))||"object"===e&&w(t.toString)&&"[object FormData]"===t.toString()))},isArrayBufferView:function(t){let e;return e="undefined"!=typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer.isView(t):t&&t.buffer&&m(t.buffer)},isString:b,isNumber:E,isBoolean:t=>!0===t||!1===t,isObject:R,isPlainObject:A,isReadableStream:v,isRequest:T,isResponse:U,isHeaders:C,isUndefined:g,isDate:O,isFile:_,isBlob:S,isRegExp:D,isFunction:w,isStream:t=>R(t)&&w(t.pipe),isURLSearchParams:x,isTypedArray:P,isFileList:B,forEach:I,merge:function t(){let{caseless:e}=j(this)&&this||{},r={},n=(n,o)=>{let i=e&&N(r,o)||o;A(r[i])&&A(n)?r[i]=t(r[i],n):A(n)?r[i]=t({},n):y(n)?r[i]=n.slice():r[i]=n};for(let t=0,e=arguments.length;t(I(e,(e,n)=>{r&&w(e)?t[n]=u(e,r):t[n]=e},{allOwnKeys:n}),t),trim:t=>t.trim?t.trim():t.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,""),stripBOM:t=>(65279===t.charCodeAt(0)&&(t=t.slice(1)),t),inherits:(t,e,r,n)=>{t.prototype=Object.create(e.prototype,n),t.prototype.constructor=t,Object.defineProperty(t,"super",{value:e.prototype}),r&&Object.assign(t.prototype,r)},toFlatObject:(t,e,r,n)=>{let o,i,s;let a={};if(e=e||{},null==t)return e;do{for(i=(o=Object.getOwnPropertyNames(t)).length;i-- >0;)s=o[i],(!n||n(s,t,e))&&!a[s]&&(e[s]=t[s],a[s]=!0);t=!1!==r&&c(t)}while(t&&(!r||r(t,e))&&t!==Object.prototype);return e},kindOf:h,kindOfTest:p,endsWith:(t,e,r)=>{t=String(t),(void 0===r||r>t.length)&&(r=t.length),r-=e.length;let n=t.indexOf(e,r);return -1!==n&&n===r},toArray:t=>{if(!t)return null;if(y(t))return t;let e=t.length;if(!E(e))return null;let r=Array(e);for(;e-- >0;)r[e]=t[e];return r},forEachEntry:(t,e)=>{let r;let n=(t&&t[Symbol.iterator]).call(t);for(;(r=n.next())&&!r.done;){let n=r.value;e.call(t,n[0],n[1])}},matchAll:(t,e)=>{let r;let n=[];for(;null!==(r=t.exec(e));)n.push(r);return n},isHTMLForm:k,hasOwnProperty:F,hasOwnProp:F,reduceDescriptors:M,freezeMethods:t=>{M(t,(e,r)=>{if(w(t)&&-1!==["arguments","caller","callee"].indexOf(r))return!1;if(w(t[r])){if(e.enumerable=!1,"writable"in e){e.writable=!1;return}!e.set&&(e.set=()=>{throw Error("Can not rewrite read-only method '"+r+"'")})}})},toObjectSet:(t,e)=>{let r={},n=t=>{t.forEach(t=>{r[t]=!0})};return n(y(t)?t:String(t).split(e)),r},toCamelCase:t=>t.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(t,e,r){return e.toUpperCase()+r}),noop:()=>{},toFiniteNumber:(t,e)=>null!=t&&Number.isFinite(t=+t)?t:e,findKey:N,global:L,isContextDefined:j,ALPHABET:z,generateString:(t=16,e=z.ALPHA_DIGIT)=>{let r="",{length:n}=e;for(;t--;)r+=e[Math.random()*n|0];return r},isSpecCompliantForm:function(t){return!!(t&&w(t.append)&&"FormData"===t[Symbol.toStringTag]&&t[Symbol.iterator])},toJSONObject:t=>{let e=Array(10),r=(t,n)=>{if(R(t)){if(e.indexOf(t)>=0)return;if(!("toJSON"in t)){e[n]=t;let o=y(t)?[]:{};return I(t,(t,e)=>{let i=r(t,n+1);g(i)||(o[e]=i)}),e[n]=void 0,o}}return t};return r(t,0)},isAsyncFn:H,isThenable:t=>t&&(R(t)||w(t))&&w(t.then)&&w(t.catch),setImmediate:J,asap:W};function G(t,e,r,n,o){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=Error().stack,this.message=t,this.name="AxiosError",e&&(this.code=e),r&&(this.config=r),n&&(this.request=n),o&&(this.response=o,this.status=o.status?o.status:null)}V.inherits(G,Error,{toJSON:function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:V.toJSONObject(this.config),code:this.code,status:this.status}}});let K=G.prototype,Y={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach(t=>{Y[t]={value:t}}),Object.defineProperties(G,Y),Object.defineProperty(K,"isAxiosError",{value:!0}),G.from=(t,e,r,n,o,i)=>{let s=Object.create(K);return V.toFlatObject(t,s,function(t){return t!==Error.prototype},t=>"isAxiosError"!==t),G.call(s,t.message,e,r,n,o),s.cause=t,s.name=t.name,i&&Object.assign(s,i),s};var X=s(313).Buffer;function Z(t){return V.isPlainObject(t)||V.isArray(t)}function Q(t){return V.endsWith(t,"[]")?t.slice(0,-2):t}function tt(t,e,r){return t?t.concat(e).map(function(t,e){return t=Q(t),!r&&e?"["+t+"]":t}).join(r?".":""):e}let te=V.toFlatObject(V,{},null,function(t){return/^is[A-Z]/.test(t)}),tr=function(t,e,r){if(!V.isObject(t))throw TypeError("target must be an object");e=e||new FormData;let n=(r=V.toFlatObject(r,{metaTokens:!0,dots:!1,indexes:!1},!1,function(t,e){return!V.isUndefined(e[t])})).metaTokens,o=r.visitor||u,i=r.dots,s=r.indexes,a=(r.Blob||"undefined"!=typeof Blob&&Blob)&&V.isSpecCompliantForm(e);if(!V.isFunction(o))throw TypeError("visitor must be a function");function f(t){if(null===t)return"";if(V.isDate(t))return t.toISOString();if(!a&&V.isBlob(t))throw new G("Blob is not supported. Use a Buffer instead.");return V.isArrayBuffer(t)||V.isTypedArray(t)?a&&"function"==typeof Blob?new Blob([t]):X.from(t):t}function u(t,r,o){let a=t;if(t&&!o&&"object"==typeof t){if(V.endsWith(r,"{}"))r=n?r:r.slice(0,-2),t=JSON.stringify(t);else{var u;if(V.isArray(t)&&(u=t,V.isArray(u)&&!u.some(Z))||(V.isFileList(t)||V.endsWith(r,"[]"))&&(a=V.toArray(t)))return r=Q(r),a.forEach(function(t,n){V.isUndefined(t)||null===t||e.append(!0===s?tt([r],n,i):null===s?r:r+"[]",f(t))}),!1}}return!!Z(t)||(e.append(tt(o,r,i),f(t)),!1)}let l=[],c=Object.assign(te,{defaultVisitor:u,convertValue:f,isVisitable:Z});if(!V.isObject(t))throw TypeError("data must be an object");return!function t(r,n){if(!V.isUndefined(r)){if(-1!==l.indexOf(r))throw Error("Circular reference detected in "+n.join("."));l.push(r),V.forEach(r,function(r,i){!0===(!(V.isUndefined(r)||null===r)&&o.call(e,r,V.isString(i)?i.trim():i,n,c))&&t(r,n?n.concat(i):[i])}),l.pop()}}(t),e};function tn(t){let e={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(t).replace(/[!'()~]|%20|%00/g,function(t){return e[t]})}function to(t,e){this._pairs=[],t&&tr(t,this,e)}let ti=to.prototype;ti.append=function(t,e){this._pairs.push([t,e])},ti.toString=function(t){let e=t?function(e){return t.call(this,e,tn)}:tn;return this._pairs.map(function(t){return e(t[0])+"="+e(t[1])},"").join("&")};function ts(t){return encodeURIComponent(t).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function ta(t,e,r){let n;if(!e)return t;let o=r&&r.encode||ts,i=r&&r.serialize;if(n=i?i(e,r):V.isURLSearchParams(e)?e.toString():new to(e,r).toString(o)){let e=t.indexOf("#");-1!==e&&(t=t.slice(0,e)),t+=(-1===t.indexOf("?")?"?":"&")+n}return t}let tf=class t{constructor(){this.handlers=[]}use(t,e,r){return this.handlers.push({fulfilled:t,rejected:e,synchronous:!!r&&r.synchronous,runWhen:r?r.runWhen:null}),this.handlers.length-1}eject(t){this.handlers[t]&&(this.handlers[t]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(t){V.forEach(this.handlers,function(e){null!==e&&t(e)})}},tu={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},tl="undefined"!=typeof URLSearchParams?URLSearchParams:to,tc="undefined"!=typeof FormData?FormData:null,th="undefined"!=typeof Blob?Blob:null,tp="undefined"!=typeof window&&"undefined"!=typeof document,td="object"==typeof navigator&&navigator||void 0,ty=tp&&(!td||0>["ReactNative","NativeScript","NS"].indexOf(td.product)),tg="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope&&"function"==typeof self.importScripts,tm=tp&&window.location.href||"http://localhost",tb={...f,isBrowser:!0,classes:{URLSearchParams:tl,FormData:tc,Blob:th},protocols:["http","https","file","blob","url","data"]},tw=function(t){if(V.isFormData(t)&&V.isFunction(t.entries)){let e={};return V.forEachEntry(t,(t,r)=>{var n;!function t(e,r,n,o){let i=e[o++];if("__proto__"===i)return!0;let s=Number.isFinite(+i),a=o>=e.length;return(i=!i&&V.isArray(n)?n.length:i,a)?(V.hasOwnProp(n,i)?n[i]=[n[i],r]:n[i]=r,!s):((!n[i]||!V.isObject(n[i]))&&(n[i]=[]),t(e,r,n[i],o)&&V.isArray(n[i])&&(n[i]=function(t){let e,r;let n={},o=Object.keys(t),i=o.length;for(e=0;e"[]"===t[0]?"":t[1]||t[0])),r,e,0)}),e}return null},tE={transitional:tu,adapter:["xhr","http","fetch"],transformRequest:[function(t,e){let r;let n=e.getContentType()||"",o=n.indexOf("application/json")>-1,i=V.isObject(t);if(i&&V.isHTMLForm(t)&&(t=new FormData(t)),V.isFormData(t))return o?JSON.stringify(tw(t)):t;if(V.isArrayBuffer(t)||V.isBuffer(t)||V.isStream(t)||V.isFile(t)||V.isBlob(t)||V.isReadableStream(t))return t;if(V.isArrayBufferView(t))return t.buffer;if(V.isURLSearchParams(t))return e.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),t.toString();if(i){if(n.indexOf("application/x-www-form-urlencoded")>-1){var s,a;return(s=t,a=this.formSerializer,tr(s,new tb.classes.URLSearchParams,Object.assign({visitor:function(t,e,r,n){return tb.isNode&&V.isBuffer(t)?(this.append(e,t.toString("base64")),!1):n.defaultVisitor.apply(this,arguments)}},a))).toString()}if((r=V.isFileList(t))||n.indexOf("multipart/form-data")>-1){let e=this.env&&this.env.FormData;return tr(r?{"files[]":t}:t,e&&new e,this.formSerializer)}}return i||o?(e.setContentType("application/json",!1),function(t,e,r){if(V.isString(t))try{return(0,JSON.parse)(t),V.trim(t)}catch(t){if("SyntaxError"!==t.name)throw t}return(0,JSON.stringify)(t)}(t)):t}],transformResponse:[function(t){let e=this.transitional||tE.transitional,r=e&&e.forcedJSONParsing,n="json"===this.responseType;if(V.isResponse(t)||V.isReadableStream(t))return t;if(t&&V.isString(t)&&(r&&!this.responseType||n)){let r=e&&e.silentJSONParsing;try{return JSON.parse(t)}catch(t){if(!r&&n){if("SyntaxError"===t.name)throw G.from(t,G.ERR_BAD_RESPONSE,this,null,this.response);throw t}}}return t}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:tb.classes.FormData,Blob:tb.classes.Blob},validateStatus:function(t){return t>=200&&t<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};V.forEach(["delete","get","head","post","put","patch"],t=>{tE.headers[t]={}});let tR=V.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]),tA=t=>{let e,r,n;let o={};return t&&t.split("\n").forEach(function(t){if(n=t.indexOf(":"),e=t.substring(0,n).trim().toLowerCase(),r=t.substring(n+1).trim(),!!e&&(!o[e]||!tR[e]))"set-cookie"===e?o[e]?o[e].push(r):o[e]=[r]:o[e]=o[e]?o[e]+", "+r:r}),o},tO=Symbol("internals");function t_(t){return t&&String(t).trim().toLowerCase()}function tS(t){return!1===t||null==t?t:V.isArray(t)?t.map(tS):String(t)}let tB=t=>/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(t.trim());function tx(t,e,r,n,o){if(V.isFunction(n))return n.call(this,e,r);if(o&&(e=r),V.isString(e)){if(V.isString(n))return -1!==e.indexOf(n);if(V.isRegExp(n))return n.test(e)}}class tv{constructor(t){t&&this.set(t)}set(t,e,r){let n=this;function o(t,e,r){let o=t_(e);if(!o)throw Error("header name must be a non-empty string");let i=V.findKey(n,o);(!i||void 0===n[i]||!0===r||void 0===r&&!1!==n[i])&&(n[i||e]=tS(t))}let i=(t,e)=>V.forEach(t,(t,r)=>o(t,r,e));if(V.isPlainObject(t)||t instanceof this.constructor)i(t,e);else if(V.isString(t)&&(t=t.trim())&&!tB(t))i(tA(t),e);else if(V.isHeaders(t))for(let[e,n]of t.entries())o(n,e,r);else null!=t&&o(e,t,r);return this}get(t,e){if(t=t_(t)){let r=V.findKey(this,t);if(r){let t=this[r];if(!e)return t;if(!0===e)return function(t){let e;let r=Object.create(null),n=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;for(;e=n.exec(t);)r[e[1]]=e[2];return r}(t);if(V.isFunction(e))return e.call(this,t,r);if(V.isRegExp(e))return e.exec(t);throw TypeError("parser must be boolean|regexp|function")}}}has(t,e){if(t=t_(t)){let r=V.findKey(this,t);return!!(r&&void 0!==this[r]&&(!e||tx(this,this[r],r,e)))}return!1}delete(t,e){let r=this,n=!1;function o(t){if(t=t_(t)){let o=V.findKey(r,t);o&&(!e||tx(r,r[o],o,e))&&(delete r[o],n=!0)}}return V.isArray(t)?t.forEach(o):o(t),n}clear(t){let e=Object.keys(this),r=e.length,n=!1;for(;r--;){let o=e[r];(!t||tx(this,this[o],o,t,!0))&&(delete this[o],n=!0)}return n}normalize(t){let e=this,r={};return V.forEach(this,(n,o)=>{let i=V.findKey(r,o);if(i){e[i]=tS(n),delete e[o];return}let s=t?o.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,(t,e,r)=>e.toUpperCase()+r):String(o).trim();s!==o&&delete e[o],e[s]=tS(n),r[s]=!0}),this}concat(...t){return this.constructor.concat(this,...t)}toJSON(t){let e=Object.create(null);return V.forEach(this,(r,n)=>{null!=r&&!1!==r&&(e[n]=t&&V.isArray(r)?r.join(", "):r)}),e}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map(([t,e])=>t+": "+e).join("\n")}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(t){return t instanceof this?t:new this(t)}static concat(t,...e){let r=new this(t);return e.forEach(t=>r.set(t)),r}static accessor(t){let e=(this[tO]=this[tO]={accessors:{}}).accessors,r=this.prototype;function n(t){let n=t_(t);!e[n]&&(!function(t,e){let r=V.toCamelCase(" "+e);["get","set","has"].forEach(n=>{Object.defineProperty(t,n+r,{value:function(t,r,o){return this[n].call(this,e,t,r,o)},configurable:!0})})}(r,t),e[n]=!0)}return V.isArray(t)?t.forEach(n):n(t),this}}tv.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]),V.reduceDescriptors(tv.prototype,({value:t},e)=>{let r=e[0].toUpperCase()+e.slice(1);return{get:()=>t,set(t){this[r]=t}}}),V.freezeMethods(tv);function tT(t,e){let r=this||tE,n=e||r,o=tv.from(n.headers),i=n.data;return V.forEach(t,function(t){i=t.call(r,i,o.normalize(),e?e.status:void 0)}),o.normalize(),i}function tU(t){return!!(t&&t.__CANCEL__)}function tC(t,e,r){G.call(this,null==t?"canceled":t,G.ERR_CANCELED,e,r),this.name="CanceledError"}V.inherits(tC,G,{__CANCEL__:!0});function tI(t,e,r){let n=r.config.validateStatus;!r.status||!n||n(r.status)?t(r):e(new G("Request failed with status code "+r.status,[G.ERR_BAD_REQUEST,G.ERR_BAD_RESPONSE][Math.floor(r.status/100)-4],r.config,r.request,r))}let tN=function(t,e){let r;let n=Array(t=t||10),o=Array(t),i=0,s=0;return e=void 0!==e?e:1e3,function(a){let f=Date.now(),u=o[s];!r&&(r=f),n[i]=a,o[i]=f;let l=s,c=0;for(;l!==i;)c+=n[l++],l%=t;if((i=(i+1)%t)===s&&(s=(s+1)%t),f-r{o=i,r=null,n&&(clearTimeout(n),n=null),t.apply(null,e)};return[(...t)=>{let e=Date.now(),a=e-o;a>=i?s(t,e):(r=t,!n&&(n=setTimeout(()=>{n=null,s(r)},i-a)))},()=>r&&s(r)]},tj=(t,e,r=3)=>{let n=0,o=tN(50,250);return tL(r=>{let i=r.loaded,s=r.lengthComputable?r.total:void 0,a=i-n,f=o(a);n=i;t({loaded:i,total:s,progress:s?i/s:void 0,bytes:a,rate:f||void 0,estimated:f&&s&&i<=s?(s-i)/f:void 0,event:r,lengthComputable:null!=s,[e?"download":"upload"]:!0})},r)},tP=(t,e)=>{let r=null!=t;return[n=>e[0]({lengthComputable:r,total:t,loaded:n}),e[1]]},tk=t=>(...e)=>V.asap(()=>t(...e)),tF=tb.hasStandardBrowserEnv?function(){let t;let e=tb.navigator&&/(msie|trident)/i.test(tb.navigator.userAgent),r=document.createElement("a");function n(t){let n=t;return e&&(r.setAttribute("href",n),n=r.href),r.setAttribute("href",n),{href:r.href,protocol:r.protocol?r.protocol.replace(/:$/,""):"",host:r.host,search:r.search?r.search.replace(/^\?/,""):"",hash:r.hash?r.hash.replace(/^#/,""):"",hostname:r.hostname,port:r.port,pathname:"/"===r.pathname.charAt(0)?r.pathname:"/"+r.pathname}}return t=n(window.location.href),function(e){let r=V.isString(e)?n(e):e;return r.protocol===t.protocol&&r.host===t.host}}():function(){return!0},tD=tb.hasStandardBrowserEnv?{write(t,e,r,n,o,i){let s=[t+"="+encodeURIComponent(e)];V.isNumber(r)&&s.push("expires="+new Date(r).toGMTString()),V.isString(n)&&s.push("path="+n),V.isString(o)&&s.push("domain="+o),!0===i&&s.push("secure"),document.cookie=s.join("; ")},read(t){let e=document.cookie.match(RegExp("(^|;\\s*)("+t+")=([^;]*)"));return e?decodeURIComponent(e[3]):null},remove(t){this.write(t,"",Date.now()-864e5)}}:{write(){},read:()=>null,remove(){}};function tM(t,e){var r,n,o;if(t&&(r=e,!/^([a-z][a-z\d+\-.]*:)?\/\//i.test(r))){;return n=t,(o=e)?n.replace(/\/?\/$/,"")+"/"+o.replace(/^\/+/,""):n}return e}let tq=t=>t instanceof tv?{...t}:t;function t$(t,e){e=e||{};let r={};function n(t,e,r){if(V.isPlainObject(t)&&V.isPlainObject(e))return V.merge.call({caseless:r},t,e);if(V.isPlainObject(e))return V.merge({},e);if(V.isArray(e))return e.slice();return e}function o(t,e,r){return V.isUndefined(e)?V.isUndefined(t)?void 0:n(void 0,t,r):n(t,e,r)}function i(t,e){if(!V.isUndefined(e))return n(void 0,e)}function s(t,e){return V.isUndefined(e)?V.isUndefined(t)?void 0:n(void 0,t):n(void 0,e)}function a(r,o,i){return i in e?n(r,o):i in t?n(void 0,r):void 0}let f={url:i,method:i,data:i,baseURL:s,transformRequest:s,transformResponse:s,paramsSerializer:s,timeout:s,timeoutMessage:s,withCredentials:s,withXSRFToken:s,adapter:s,responseType:s,xsrfCookieName:s,xsrfHeaderName:s,onUploadProgress:s,onDownloadProgress:s,decompress:s,maxContentLength:s,maxBodyLength:s,beforeRedirect:s,transport:s,httpAgent:s,httpsAgent:s,cancelToken:s,socketPath:s,responseEncoding:s,validateStatus:a,headers:(t,e)=>o(tq(t),tq(e),!0)};return V.forEach(Object.keys(Object.assign({},t,e)),function(n){let i=f[n]||o,s=i(t[n],e[n],n);V.isUndefined(s)&&i!==a||(r[n]=s)}),r}let tz=t=>{let e;let r=t$({},t),{data:n,withXSRFToken:o,xsrfHeaderName:i,xsrfCookieName:s,headers:a,auth:f}=r;if(r.headers=a=tv.from(a),r.url=ta(tM(r.baseURL,r.url),t.params,t.paramsSerializer),f&&a.set("Authorization","Basic "+btoa((f.username||"")+":"+(f.password?unescape(encodeURIComponent(f.password)):""))),V.isFormData(n)){if(tb.hasStandardBrowserEnv||tb.hasStandardBrowserWebWorkerEnv)a.setContentType(void 0);else if(!1!==(e=a.getContentType())){let[t,...r]=e?e.split(";").map(t=>t.trim()).filter(Boolean):[];a.setContentType([t||"multipart/form-data",...r].join("; "))}}if(tb.hasStandardBrowserEnv&&(o&&V.isFunction(o)&&(o=o(r)),o||!1!==o&&tF(r.url))){let t=i&&s&&tD.read(s);t&&a.set(i,t)}return r},tH="undefined"!=typeof XMLHttpRequest&&function(t){return new Promise(function(e,r){let n,o,i,s,a;let f=tz(t),u=f.data,l=tv.from(f.headers).normalize(),{responseType:c,onUploadProgress:h,onDownloadProgress:p}=f;function d(){s&&s(),a&&a(),f.cancelToken&&f.cancelToken.unsubscribe(n),f.signal&&f.signal.removeEventListener("abort",n)}let y=new XMLHttpRequest;function g(){if(!y)return;let n=tv.from("getAllResponseHeaders"in y&&y.getAllResponseHeaders());tI(function(t){e(t),d()},function(t){r(t),d()},{data:c&&"text"!==c&&"json"!==c?y.response:y.responseText,status:y.status,statusText:y.statusText,headers:n,config:t,request:y}),y=null}y.open(f.method.toUpperCase(),f.url,!0),y.timeout=f.timeout,"onloadend"in y?y.onloadend=g:y.onreadystatechange=function(){if(!!y&&4===y.readyState&&(0!==y.status||!!(y.responseURL&&0===y.responseURL.indexOf("file:"))))setTimeout(g)},y.onabort=function(){if(!!y)r(new G("Request aborted",G.ECONNABORTED,t,y)),y=null},y.onerror=function(){r(new G("Network Error",G.ERR_NETWORK,t,y)),y=null},y.ontimeout=function(){let e=f.timeout?"timeout of "+f.timeout+"ms exceeded":"timeout exceeded",n=f.transitional||tu;f.timeoutErrorMessage&&(e=f.timeoutErrorMessage),r(new G(e,n.clarifyTimeoutError?G.ETIMEDOUT:G.ECONNABORTED,t,y)),y=null},void 0===u&&l.setContentType(null),"setRequestHeader"in y&&V.forEach(l.toJSON(),function(t,e){y.setRequestHeader(e,t)}),!V.isUndefined(f.withCredentials)&&(y.withCredentials=!!f.withCredentials),c&&"json"!==c&&(y.responseType=f.responseType),p&&([i,a]=tj(p,!0),y.addEventListener("progress",i)),h&&y.upload&&([o,s]=tj(h),y.upload.addEventListener("progress",o),y.upload.addEventListener("loadend",s)),(f.cancelToken||f.signal)&&(n=e=>{if(!!y)r(!e||e.type?new tC(null,t,y):e),y.abort(),y=null},f.cancelToken&&f.cancelToken.subscribe(n),f.signal&&(f.signal.aborted?n():f.signal.addEventListener("abort",n)));let m=function(t){let e=/^([-+\w]{1,25})(:?\/\/|:)/.exec(t);return e&&e[1]||""}(f.url);if(m&&-1===tb.protocols.indexOf(m)){r(new G("Unsupported protocol "+m+":",G.ERR_BAD_REQUEST,t));return}y.send(u||null)})},tJ=(t,e)=>{let{length:r}=t=t?t.filter(Boolean):[];if(e||r){let r,n=new AbortController,o=function(t){if(!r){r=!0,s();let e=t instanceof Error?t:this.reason;n.abort(e instanceof G?e:new tC(e instanceof Error?e.message:e))}},i=e&&setTimeout(()=>{i=null,o(new G(`timeout ${e} of ms exceeded`,G.ETIMEDOUT))},e),s=()=>{t&&(i&&clearTimeout(i),i=null,t.forEach(t=>{t.unsubscribe?t.unsubscribe(o):t.removeEventListener("abort",o)}),t=null)};t.forEach(t=>t.addEventListener("abort",o));let{signal:a}=n;return a.unsubscribe=()=>V.asap(s),a}},tW=function*(t,e){let r,n=t.byteLength;if(!e||n{let o;let i=tV(t,e),s=0,a=t=>{!o&&(o=!0,n&&n(t))};return new ReadableStream({async pull(t){try{let{done:e,value:n}=await i.next();if(e){a(),t.close();return}let o=n.byteLength;if(r){let t=s+=o;r(t)}t.enqueue(new Uint8Array(n))}catch(t){throw a(t),t}},cancel:t=>(a(t),i.return())},{highWaterMark:2})},tY="function"==typeof fetch&&"function"==typeof Request&&"function"==typeof Response,tX=tY&&"function"==typeof ReadableStream;let tZ=tY&&("function"==typeof TextEncoder?(r=new TextEncoder,t=>r.encode(t)):async t=>new Uint8Array(await new Response(t).arrayBuffer())),tQ=(t,...e)=>{try{return!!t(...e)}catch(t){return!1}},t0=tX&&tQ(()=>{let t=!1,e=new Request(tb.origin,{body:new ReadableStream,method:"POST",get duplex(){return t=!0,"half"}}).headers.has("Content-Type");return t&&!e}),t1=tX&&tQ(()=>V.isReadableStream(new Response("").body)),t2={stream:t1&&(t=>t.body)};tY&&(n=new Response,["text","arrayBuffer","blob","formData","stream"].forEach(t=>{t2[t]||(t2[t]=V.isFunction(n[t])?e=>e[t]():(e,r)=>{throw new G(`Response type '${t}' is not supported`,G.ERR_NOT_SUPPORT,r)})}));let t5=async t=>{if(null==t)return 0;if(V.isBlob(t))return t.size;if(V.isSpecCompliantForm(t)){let e=new Request(tb.origin,{method:"POST",body:t});return(await e.arrayBuffer()).byteLength}return V.isArrayBufferView(t)||V.isArrayBuffer(t)?t.byteLength:(V.isURLSearchParams(t)&&(t+=""),V.isString(t))?(await tZ(t)).byteLength:void 0},t6=async(t,e)=>{let r=V.toFiniteNumber(t.getContentLength());return null==r?t5(e):r},t8={http:null,xhr:tH,fetch:tY&&(async t=>{let e,r,{url:n,method:o,data:i,signal:s,cancelToken:a,timeout:f,onDownloadProgress:u,onUploadProgress:l,responseType:c,headers:h,withCredentials:p="same-origin",fetchOptions:d}=tz(t);c=c?(c+"").toLowerCase():"text";let y=tJ([s,a&&a.toAbortSignal()],f),g=y&&y.unsubscribe&&(()=>{y.unsubscribe()});try{if(l&&t0&&"get"!==o&&"head"!==o&&0!==(r=await t6(h,i))){let t,e=new Request(n,{method:"POST",body:i,duplex:"half"});if(V.isFormData(i)&&(t=e.headers.get("content-type"))&&h.setContentType(t),e.body){let[t,n]=tP(r,tj(tk(l)));i=tK(e.body,65536,t,n)}}!V.isString(p)&&(p=p?"include":"omit");let s="credentials"in Request.prototype;e=new Request(n,{...d,signal:y,method:o.toUpperCase(),headers:h.normalize().toJSON(),body:i,duplex:"half",credentials:s?p:void 0});let a=await fetch(e),f=t1&&("stream"===c||"response"===c);if(t1&&(u||f&&g)){let t={};["status","statusText","headers"].forEach(e=>{t[e]=a[e]});let e=V.toFiniteNumber(a.headers.get("content-length")),[r,n]=u&&tP(e,tj(tk(u),!0))||[];a=new Response(tK(a.body,65536,r,()=>{n&&n(),g&&g()}),t)}c=c||"text";let m=await t2[V.findKey(t2,c)||"text"](a,t);return!f&&g&&g(),await new Promise((r,n)=>{tI(r,n,{data:m,headers:tv.from(a.headers),status:a.status,statusText:a.statusText,config:t,request:e})})}catch(r){if(g&&g(),r&&"TypeError"===r.name&&/fetch/i.test(r.message))throw Object.assign(new G("Network Error",G.ERR_NETWORK,t,e),{cause:r.cause||r});throw G.from(r,r&&r.code,t,e)}})};V.forEach(t8,(t,e)=>{if(t){try{Object.defineProperty(t,"name",{value:e})}catch(t){}Object.defineProperty(t,"adapterName",{value:e})}});let t3=t=>`- ${t}`,t4=t=>V.isFunction(t)||null===t||!1===t,t7=t=>{let e,r;let{length:n}=t=V.isArray(t)?t:[t],o={};for(let i=0;i`adapter ${t} `+(!1===e?"is not supported by the environment":"is not available in the build"));throw new G("There is no suitable adapter to dispatch the request "+(n?t.length>1?"since :\n"+t.map(t3).join("\n"):" "+t3(t[0]):"as no adapter specified"),"ERR_NOT_SUPPORT")}return r};function t9(t){if(t.cancelToken&&t.cancelToken.throwIfRequested(),t.signal&&t.signal.aborted)throw new tC(null,t)}function et(t){return t9(t),t.headers=tv.from(t.headers),t.data=tT.call(t,t.transformRequest),-1!==["post","put","patch"].indexOf(t.method)&&t.headers.setContentType("application/x-www-form-urlencoded",!1),t7(t.adapter||tE.adapter)(t).then(function(e){return t9(t),e.data=tT.call(t,t.transformResponse,e),e.headers=tv.from(e.headers),e},function(e){return!tU(e)&&(t9(t),e&&e.response&&(e.response.data=tT.call(t,t.transformResponse,e.response),e.response.headers=tv.from(e.response.headers))),Promise.reject(e)})}let ee="1.7.7",er={};["object","boolean","number","function","string","symbol"].forEach((t,e)=>{er[t]=function(r){return typeof r===t||"a"+(e<1?"n ":" ")+t}});let en={};er.transitional=function(t,e,r){function n(t,e){return"[Axios v"+ee+"] Transitional option '"+t+"'"+e+(r?". "+r:"")}return(r,o,i)=>{if(!1===t)throw new G(n(o," has been removed"+(e?" in "+e:"")),G.ERR_DEPRECATED);return e&&!en[o]&&(en[o]=!0,console.warn(n(o," has been deprecated since v"+e+" and will be removed in the near future"))),!t||t(r,o,i)}};let eo={assertOptions:function(t,e,r){if("object"!=typeof t)throw new G("options must be an object",G.ERR_BAD_OPTION_VALUE);let n=Object.keys(t),o=n.length;for(;o-- >0;){let i=n[o],s=e[i];if(s){let e=t[i],r=void 0===e||s(e,i,t);if(!0!==r)throw new G("option "+i+" must be "+r,G.ERR_BAD_OPTION_VALUE);continue}if(!0!==r)throw new G("Unknown option "+i,G.ERR_BAD_OPTION)}},validators:er},ei=eo.validators;class es{constructor(t){this.defaults=t,this.interceptors={request:new tf,response:new tf}}async request(t,e){try{return await this._request(t,e)}catch(t){if(t instanceof Error){let e;Error.captureStackTrace?Error.captureStackTrace(e={}):e=Error();let r=e.stack?e.stack.replace(/^.+\n/,""):"";try{t.stack?r&&!String(t.stack).endsWith(r.replace(/^.+\n.+\n/,""))&&(t.stack+="\n"+r):t.stack=r}catch(t){}}throw t}}_request(t,e){let r,n;"string"==typeof t?(e=e||{}).url=t:e=t||{};let{transitional:o,paramsSerializer:i,headers:s}=e=t$(this.defaults,e);void 0!==o&&eo.assertOptions(o,{silentJSONParsing:ei.transitional(ei.boolean),forcedJSONParsing:ei.transitional(ei.boolean),clarifyTimeoutError:ei.transitional(ei.boolean)},!1),null!=i&&(V.isFunction(i)?e.paramsSerializer={serialize:i}:eo.assertOptions(i,{encode:ei.function,serialize:ei.function},!0)),e.method=(e.method||this.defaults.method||"get").toLowerCase();let a=s&&V.merge(s.common,s[e.method]);s&&V.forEach(["delete","get","head","post","put","patch","common"],t=>{delete s[t]}),e.headers=tv.concat(a,s);let f=[],u=!0;this.interceptors.request.forEach(function(t){if("function"!=typeof t.runWhen||!1!==t.runWhen(e))u=u&&t.synchronous,f.unshift(t.fulfilled,t.rejected)});let l=[];this.interceptors.response.forEach(function(t){l.push(t.fulfilled,t.rejected)});let c=0;if(!u){let t=[et.bind(this),void 0];for(t.unshift.apply(t,f),t.push.apply(t,l),n=t.length,r=Promise.resolve(e);c{if(!r._listeners)return;let e=r._listeners.length;for(;e-- >0;)r._listeners[e](t);r._listeners=null}),this.promise.then=t=>{let e;let n=new Promise(t=>{r.subscribe(t),e=t}).then(t);return n.cancel=function(){r.unsubscribe(e)},n},t(function(t,n,o){if(!r.reason)r.reason=new tC(t,n,o),e(r.reason)})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(t){if(this.reason){t(this.reason);return}this._listeners?this._listeners.push(t):this._listeners=[t]}unsubscribe(t){if(!this._listeners)return;let e=this._listeners.indexOf(t);-1!==e&&this._listeners.splice(e,1)}toAbortSignal(){let t=new AbortController,e=e=>{t.abort(e)};return this.subscribe(e),t.signal.unsubscribe=()=>this.unsubscribe(e),t.signal}static source(){let t;return{token:new ea(function(e){t=e}),cancel:t}}}let ef={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511};Object.entries(ef).forEach(([t,e])=>{ef[e]=t});let eu=function t(e){let r=new es(e),n=u(es.prototype.request,r);return V.extend(n,es.prototype,r,{allOwnKeys:!0}),V.extend(n,r,null,{allOwnKeys:!0}),n.create=function(r){return t(t$(e,r))},n}(tE);eu.Axios=es,eu.CanceledError=tC,eu.CancelToken=ea,eu.isCancel=tU,eu.VERSION=ee,eu.toFormData=tr,eu.AxiosError=G,eu.Cancel=eu.CanceledError,eu.all=function(t){return Promise.all(t)},eu.spread=function(t){return function(e){return t.apply(null,e)}},eu.isAxiosError=function(t){return V.isObject(t)&&!0===t.isAxiosError},eu.mergeConfig=t$,eu.AxiosHeaders=tv,eu.formToJSON=t=>tw(V.isHTMLForm(t)?new FormData(t):t),eu.getAdapter=t7,eu.HttpStatusCode=ef,eu.default=eu;let el=eu,{Axios:ec,AxiosError:eh,CanceledError:ep,isCancel:ed,CancelToken:ey,VERSION:eg,all:em,Cancel:eb,isAxiosError:ew,spread:eE,toFormData:eR,AxiosHeaders:eA,HttpStatusCode:eO,formToJSON:e_,getAdapter:eS,mergeConfig:eB}=el;var ex=a.YD,ev=a.d7,eT=a.uu,eU=a.$j,eC=a.$B,eI=a.ty,eN=a.WE,eL=a.q4,ej=a.$6,eP=a.ZP,ek=a.Nz,eF=a.uP,eD=a.IZ,eM=a.Mw,eq=a.fE,e$=a.hw,ez=a.k5;export{ex as Axios,ev as AxiosError,eT as AxiosHeaders,eU as Cancel,eC as CancelToken,eI as CanceledError,eN as HttpStatusCode,eL as VERSION,ej as all,eP as default,ek as formToJSON,eF as getAdapter,eD as isAxiosError,eM as isCancel,eq as mergeConfig,e$ as spread,ez as toFormData}; \ No newline at end of file diff --git a/ssr-base/src/date-fns.835c96eb.final.js b/ssr-base/src/date-fns.835c96eb.final.js new file mode 100644 index 000000000..e38361a2e --- /dev/null +++ b/ssr-base/src/date-fns.835c96eb.final.js @@ -0,0 +1 @@ +var e,t={},n={};function r(e){var a=n[e];if(void 0!==a)return a.exports;var s=n[e]={exports:{}};return t[e](s,s.exports,r),s.exports}r.d=function(e,t){for(var n in t)r.o(t,n)&&!r.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.rv=function(){return"1.1.2"},r.ruid="bundler=rspack@1.1.2";var a={};r.d(a,{kFF:()=>ri,ARO:()=>r_,oI1:()=>e7,IP5:()=>r9,q0L:()=>r1,Op_:()=>ae,mDs:()=>at,Mqo:()=>an,SCw:()=>ea,U07:()=>B,Q$z:()=>G,_sA:()=>eY,mY2:()=>eI,J2R:()=>rg,z7Y:()=>rb,txZ:()=>rx,$$D:()=>rD,x17:()=>nQ,FTO:()=>nA,HeL:()=>m,LzD:()=>nZ,taE:()=>ah,ZUP:()=>_,p4s:()=>ns,tRJ:()=>ax,_3l:()=>tF,wfZ:()=>tP,Qk4:()=>e5,Qy1:()=>tJ,cKn:()=>tT,m1u:()=>nU,IFn:()=>aa,oX3:()=>as,yGv:()=>U,e1l:()=>j,ylU:()=>K,wYv:()=>I,wRY:()=>eH,WUZ:()=>tg,e99:()=>tv,sOY:()=>tN,XT9:()=>tS,b2b:()=>es,jc7:()=>eo,Fp7:()=>Q,N7m:()=>rp,X5o:()=>rw,VV$:()=>R,ff7:()=>rQ,Hcp:()=>rR,T0Q:()=>rL,rnl:()=>rX,psP:()=>rB,zIu:()=>eT,Ryi:()=>eS,xmy:()=>eX,pVe:()=>ex,Xyp:()=>ne,hVD:()=>nt,baq:()=>nn,Lkm:()=>nr,h2X:()=>ew,BDr:()=>nP,zI1:()=>p,XXK:()=>ef,RRz:()=>t8,piF:()=>eB,TSR:()=>eG,vV0:()=>e$,rwE:()=>nC,fu6:()=>n$,x08:()=>nz,xjs:()=>nB,i9C:()=>$,uZ5:()=>L,u_L:()=>tX,gIK:()=>ee,GSB:()=>r3,MM1:()=>ny,q$1:()=>tB,Grt:()=>tU,tZg:()=>n0,tGx:()=>n1,X2i:()=>n3,J23:()=>n4,zkt:()=>n6,b7Q:()=>Y,xM2:()=>ar,TRG:()=>T,emk:()=>eF,YxI:()=>ao,eED:()=>ac,kwo:()=>re,IUg:()=>ad,_5I:()=>a_,W9x:()=>ai,YWP:()=>af,Fqb:()=>nX,Nme:()=>eN,Rn0:()=>tV,tgW:()=>eL,J_U:()=>Z,Dyl:()=>eM,PEw:()=>P,v8_:()=>C,GmD:()=>en,CXc:()=>tj,mHT:()=>F,IHx:()=>h,y6H:()=>rk,Om$:()=>ry,ckD:()=>rM,eBe:()=>rT,dpX:()=>em,Bb1:()=>tb,HyV:()=>tx,Pmz:()=>n5,JYS:()=>J,t$I:()=>n7,vEe:()=>rj,pal:()=>rA,jh6:()=>E,NCP:()=>tC,Dy_:()=>rI,Rxj:()=>r$,fQr:()=>nO,$5k:()=>rr,HZm:()=>r7,dnu:()=>r8,$Bo:()=>nk,Vf5:()=>eh,Lwe:()=>d,VIR:()=>ev,D4H:()=>eW,Jaj:()=>eP,rgg:()=>V,BcS:()=>q,r8:()=>eE,Gll:()=>nG,qzn:()=>nj,ouq:()=>w,c1p:()=>nJ,Ald:()=>na,Eg9:()=>tE,E4D:()=>f,_QS:()=>e_,cKU:()=>ap,eM9:()=>aw,mm_:()=>am,QVS:()=>ag,uu1:()=>ab,LBu:()=>rZ,t8m:()=>r2,Pcw:()=>er,Tr$:()=>eq,FG_:()=>t4,BkN:()=>e2,hKD:()=>tA,ZGt:()=>tZ,lRE:()=>eU,p6d:()=>tg,lYz:()=>tW,$0l:()=>te,TRp:()=>k,FW5:()=>H,n$9:()=>x,Lyf:()=>S,mrR:()=>tO,Afj:()=>ec,Gw2:()=>to,may:()=>rf,kgA:()=>rh,s9U:()=>rm,cEO:()=>rz,YMT:()=>rG,_Yd:()=>rU,Enw:()=>ed,eri:()=>eD,GXW:()=>eg,cAe:()=>eb,Caw:()=>t5,UJW:()=>t9,AxD:()=>t7,QN$:()=>tk,Gyo:()=>n9,QDe:()=>g,_wM:()=>n8,gO8:()=>rt,qcu:()=>rn,Y5B:()=>rJ,sXY:()=>rK,EG7:()=>ez,CRU:()=>nE,KCn:()=>A,CR3:()=>nR,Qye:()=>nL,Kw5:()=>nK,k4Y:()=>nV,mrs:()=>n2,ptw:()=>tz,jws:()=>tQ,pDf:()=>tR,t3P:()=>tL,lTB:()=>e3,L6w:()=>X,r0A:()=>z,TTW:()=>et,ouc:()=>nq,EMy:()=>N,clM:()=>e4,Sow:()=>t0,a9s:()=>t1,g5s:()=>eQ,oK0:()=>eR,ohG:()=>ek,Dw7:()=>ty,LUK:()=>tD,xnd:()=>eO,zJ7:()=>D,vDK:()=>e6,luU:()=>au,bSA:()=>al,zRx:()=>el,yvf:()=>tq,_JO:()=>t$,UhZ:()=>rS,U5Z:()=>rO,ElY:()=>rv,QLC:()=>rY,Qc3:()=>nF,CtJ:()=>ra,vOc:()=>nT,nJE:()=>r4,bys:()=>r6,Bq9:()=>r5,vYw:()=>nS,$rd:()=>W,jwl:()=>tG,lRK:()=>b,w4g:()=>rV,Aq0:()=>r0,k5S:()=>eC,iXC:()=>ep,wzm:()=>t2,Enz:()=>t3,y3Y:()=>t6,Krj:()=>tH,MFN:()=>rs,qlj:()=>tK,Kcv:()=>ro});let s=86400,o=604800,i=0x1e18558,u=2629746,c=7889238,l=Symbol.for("constructDateFrom");function d(e,t){return"function"==typeof e?e(t):e&&"object"==typeof e&&l in e?e[l](t):e instanceof Date?new e.constructor(t):new Date(t)}function _(e,t){return d(t||e,e)}function f(e,t,n){let r=_(e,n?.in);return isNaN(t)?d(n?.in||e,NaN):t?(r.setDate(r.getDate()+t),r):r}function p(e,t,n){let r=_(e,n?.in);if(isNaN(t))return d(n?.in||e,NaN);if(!t)return r;let a=r.getDate(),s=d(n?.in||e,r.getTime());return(s.setMonth(r.getMonth()+t+1,0),a>=s.getDate())?s:(r.setFullYear(s.getFullYear(),s.getMonth(),a),r)}function h(e,t,n){let{years:r=0,months:a=0,weeks:s=0,days:o=0,hours:i=0,minutes:u=0,seconds:c=0}=t,l=_(e,n?.in),h=a||r?p(l,a+12*r):l,w=o||s?f(h,o+7*s):h;return d(n?.in||e,+w+1e3*(c+60*(u+60*i)))}function w(e,t){return 6===_(e,t?.in).getDay()}function m(e,t){return 0===_(e,t?.in).getDay()}function g(e,t){let n=_(e,t?.in).getDay();return 0===n||6===n}function b(e,t,n){let r=_(e,n?.in),a=g(r,n);if(isNaN(t))return d(n?.in,NaN);let s=r.getHours(),o=t<0?-1:1,i=Math.trunc(t/5);r.setDate(r.getDate()+7*i);let u=Math.abs(t%5);for(;u>0;)r.setDate(r.getDate()+o),!g(r,n)&&(u-=1);return a&&g(r,n)&&0!==t&&(w(r,n)&&r.setDate(r.getDate()+(o<0?2:-1)),m(r,n)&&r.setDate(r.getDate()+(o<0?1:-2))),r.setHours(s),r}function x(e,t,n){return d(n?.in||e,+_(e)+t)}function k(e,t,n){return x(e,36e5*t,n)}let y={};function M(){return y}function D(e,t){let n=y,r=t?.weekStartsOn??t?.locale?.options?.weekStartsOn??n.weekStartsOn??n.locale?.options?.weekStartsOn??0,a=_(e,t?.in),s=a.getDay();return a.setDate(a.getDate()-((s=s.getTime()?r+1:n.getTime()>=i.getTime()?r:r-1}function O(e){let t=_(e),n=new Date(Date.UTC(t.getFullYear(),t.getMonth(),t.getDate(),t.getHours(),t.getMinutes(),t.getSeconds(),t.getMilliseconds()));return n.setUTCFullYear(t.getFullYear()),+e-+n}function v(e,...t){let n=d.bind(null,e||t.find(e=>"object"==typeof e));return t.map(n)}function Y(e,t){let n=_(e,t?.in);return n.setHours(0,0,0,0),n}function I(e,t,n){let[r,a]=v(n?.in,e,t),s=Y(r),o=Y(a),i=+s-O(s);return Math.round((i-(+o-O(o)))/864e5)}function N(e,t){let n=S(e,t),r=d(t?.in||e,0);return r.setFullYear(n,0,4),r.setHours(0,0,0,0),T(r)}function W(e,t,n){let r=_(e,n?.in),a=I(r,N(r,n)),s=d(n?.in||e,0);return s.setFullYear(t,0,4),s.setHours(0,0,0,0),(r=N(s)).setDate(r.getDate()+a),r}function H(e,t,n){return W(e,S(e,n)+t,n)}function F(e,t,n){let r=_(e,n?.in);return r.setTime(r.getTime()+6e4*t),r}function P(e,t,n){return p(e,3*t,n)}function C(e,t,n){return x(e,1e3*t,n)}function E(e,t,n){return f(e,7*t,n)}function q(e,t,n){return p(e,12*t,n)}function $(e,t,n){let[r,a]=[+_(e.start,n?.in),+_(e.end,n?.in)].sort((e,t)=>e-t),[s,o]=[+_(t.start,n?.in),+_(t.end,n?.in)].sort((e,t)=>e-t);return n?.inclusive?r<=o&&s<=a:r{!r&&"object"==typeof e&&(r=d.bind(null,e));let t=_(e,r);(!n||n{!r&&"object"==typeof e&&(r=d.bind(null,e));let t=_(e,r);(!n||n>t||isNaN(+t))&&(n=t)}),d(r,n||NaN)}function L(e,t,n){let[r,a,s]=v(n?.in,e,t.start,t.end);return R([Q([r,a],n),s],n)}function X(e,t){let n,r;let a=+_(e);return isNaN(a)?NaN:(t.forEach((e,t)=>{let s=_(e);if(isNaN(+s)){n=NaN,r=NaN;return}let o=Math.abs(a-+s);(null==n||o0?1:n}function G(e,t){let n=+_(e)-+_(t);return n>0?-1:n<0?1:n}function U(e){return d(e,Date.now())}function j(e){let t=Math.trunc(e/7);return 0===t?0:t}function A(e,t,n){let[r,a]=v(n?.in,e,t);return+Y(r)==+Y(a)}function Z(e){return e instanceof Date||"object"==typeof e&&"[object Date]"===Object.prototype.toString.call(e)}function J(e){return!(!Z(e)&&"number"!=typeof e||isNaN(+_(e)))}function K(e,t,n){let[r,a]=v(n?.in,e,t);if(!J(r)||!J(a))return NaN;let s=I(r,a),o=s<0?-1:1,i=Math.trunc(s/7),u=5*i,c=f(a,7*i);for(;!A(r,c);)u+=g(c,n)?0:o,c=f(c,o);return 0===u?0:u}function V(e,t,n){let[r,a]=v(n?.in,e,t);return S(r,n)-S(a,n)}function ee(e,t,n){let[r,a]=v(n?.in,e,t),s=T(r),o=T(a),i=+s-O(s);return Math.round((i-(+o-O(o)))/6048e5)}function et(e,t,n){let[r,a]=v(n?.in,e,t),s=r.getFullYear()-a.getFullYear();return 12*s+(r.getMonth()-a.getMonth())}function en(e,t){return Math.trunc(_(e,t?.in).getMonth()/3)+1}function er(e,t,n){let[r,a]=v(n?.in,e,t),s=r.getFullYear()-a.getFullYear();return 4*s+(en(r)-en(a))}function ea(e,t,n){let[r,a]=v(n?.in,e,t),s=D(r,n),o=D(a,n),i=+s-O(s);return Math.round((i-(+o-O(o)))/6048e5)}function es(e,t,n){let[r,a]=v(n?.in,e,t);return r.getFullYear()-a.getFullYear()}function eo(e,t,n){let[r,a]=v(n?.in,e,t),s=ei(r,a),o=Math.abs(I(r,a));r.setDate(r.getDate()-s*o);let i=Number(ei(r,a)===-s),u=s*(o-i);return 0===u?0:u}function ei(e,t){let n=e.getFullYear()-t.getFullYear()||e.getMonth()-t.getMonth()||e.getDate()-t.getDate()||e.getHours()-t.getHours()||e.getMinutes()-t.getMinutes()||e.getSeconds()-t.getSeconds()||e.getMilliseconds()-t.getMilliseconds();return n<0?-1:n>0?1:n}function eu(e){return t=>{let n=(e?Math[e]:Math.trunc)(t);return 0===n?0:n}}function ec(e,t,n){let[r,a]=v(n?.in,e,t);return eu(n?.roundingMethod)((+r-+a)/36e5)}function el(e,t,n){return H(e,-t,n)}function ed(e,t,n){let[r,a]=v(n?.in,e,t),s=B(r,a),o=Math.abs(V(r,a,n)),i=Number(B(el(r,s*o,n),a)===-s),u=s*(o-i);return 0===u?0:u}function e_(e,t){return+_(e)-+_(t)}function ef(e,t,n){let r=e_(e,t)/6e4;return eu(n?.roundingMethod)(r)}function ep(e,t){let n=_(e,t?.in);return n.setHours(23,59,59,999),n}function eh(e,t){let n=_(e,t?.in),r=n.getMonth();return n.setFullYear(n.getFullYear(),r+1,0),n.setHours(23,59,59,999),n}function ew(e,t){let n=_(e,t?.in);return+ep(n,t)==+eh(n,t)}function em(e,t,n){let[r,a,s]=v(n?.in,e,e,t),o=B(a,s),i=Math.abs(et(a,s));if(i<1)return 0;1===a.getMonth()&&a.getDate()>27&&a.setDate(30),a.setMonth(a.getMonth()-o*i);let u=B(a,s)===-o;ew(r)&&1===i&&1===B(r,s)&&(u=!1);let c=o*(i-+u);return 0===c?0:c}function eg(e,t,n){let r=em(e,t,n)/3;return eu(n?.roundingMethod)(r)}function eb(e,t,n){let r=e_(e,t)/1e3;return eu(n?.roundingMethod)(r)}function ex(e,t,n){let r=eo(e,t,n)/7;return eu(n?.roundingMethod)(r)}function ek(e,t,n){let[r,a]=v(n?.in,e,t),s=B(r,a),o=Math.abs(es(r,a));r.setFullYear(1584),a.setFullYear(1584);let i=B(r,a)===-s,u=s*(o-+i);return 0===u?0:u}function ey(e,t){let[n,r]=v(e,t.start,t.end);return{start:n,end:r}}function eM(e,t){let{start:n,end:r}=ey(t?.in,e),a=+n>+r,s=a?+n:+r,o=a?r:n;o.setHours(0,0,0,0);let i=t?.step??1;if(!i)return[];i<0&&(i=-i,a=!a);let u=[];for(;+o<=s;)u.push(d(n,o)),o.setDate(o.getDate()+i),o.setHours(0,0,0,0);return a?u.reverse():u}function eD(e,t){let{start:n,end:r}=ey(t?.in,e),a=+n>+r,s=a?+n:+r,o=a?r:n;o.setMinutes(0,0,0);let i=t?.step??1;if(!i)return[];i<0&&(i=-i,a=!a);let u=[];for(;+o<=s;)u.push(d(n,o)),o.setHours(o.getHours()+i);return a?u.reverse():u}function eT(e,t){let{start:n,end:r}=ey(t?.in,e);n.setSeconds(0,0);let a=+n>+r,s=a?+n:+r,o=a?r:n,i=t?.step??1;if(!i)return[];i<0&&(i=-i,a=!a);let u=[];for(;+o<=s;)u.push(d(n,o)),o=F(o,i);return a?u.reverse():u}function eS(e,t){let{start:n,end:r}=ey(t?.in,e),a=+n>+r,s=a?+n:+r,o=a?r:n;o.setHours(0,0,0,0),o.setDate(1);let i=t?.step??1;if(!i)return[];i<0&&(i=-i,a=!a);let u=[];for(;+o<=s;)u.push(d(n,o)),o.setMonth(o.getMonth()+i);return a?u.reverse():u}function eO(e,t){let n=_(e,t?.in),r=n.getMonth();return n.setMonth(r-r%3,1),n.setHours(0,0,0,0),n}function ev(e,t){let{start:n,end:r}=ey(t?.in,e),a=+n>+r,s=a?+eO(n):+eO(r),o=a?eO(r):eO(n),i=t?.step??1;if(!i)return[];i<0&&(i=-i,a=!a);let u=[];for(;+o<=s;)u.push(d(n,o)),o=P(o,i);return a?u.reverse():u}function eY(e,t){let{start:n,end:r}=ey(t?.in,e),a=+n>+r,s=a?D(r,t):D(n,t),o=a?D(n,t):D(r,t);s.setHours(15),o.setHours(15);let i=+o.getTime(),u=s,c=t?.step??1;if(!c)return[];c<0&&(c=-c,a=!a);let l=[];for(;+u<=i;)u.setHours(0),l.push(d(n,u)),(u=E(u,c)).setHours(15);return a?l.reverse():l}function eI(e,t){let{start:n,end:r}=ey(t?.in,e),a=eM({start:n,end:r},t),s=[],o=0;for(;o+r,s=a?+n:+r,o=a?r:n;o.setHours(0,0,0,0),o.setMonth(0,1);let i=t?.step??1;if(!i)return[];i<0&&(i=-i,a=!a);let u=[];for(;+o<=s;)u.push(d(n,o)),o.setFullYear(o.getFullYear()+i);return a?u.reverse():u}function eE(e,t){let n=_(e,t?.in),r=9+10*Math.floor(n.getFullYear()/10);return n.setFullYear(r,11,31),n.setHours(23,59,59,999),n}function eq(e,t){let n=_(e,t?.in);return n.setMinutes(59,59,999),n}function e$(e,t){let n=y,r=t?.weekStartsOn??t?.locale?.options?.weekStartsOn??n.weekStartsOn??n.locale?.options?.weekStartsOn??0,a=_(e,t?.in),s=a.getDay();return a.setDate(a.getDate()+((s{let n=t.width?String(t.width):e.defaultWidth;return e.formats[n]||e.formats[e.defaultWidth]}}let eZ={date:eA({formats:{full:"EEEE, MMMM do, y",long:"MMMM do, y",medium:"MMM d, y",short:"MM/dd/yyyy"},defaultWidth:"full"}),time:eA({formats:{full:"h:mm:ss a zzzz",long:"h:mm:ss a z",medium:"h:mm:ss a",short:"h:mm a"},defaultWidth:"full"}),dateTime:eA({formats:{full:"{{date}} 'at' {{time}}",long:"{{date}} 'at' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},defaultWidth:"full"})},eJ={lastWeek:"'last' eeee 'at' p",yesterday:"'yesterday at' p",today:"'today at' p",tomorrow:"'tomorrow at' p",nextWeek:"eeee 'at' p",other:"P"};function eK(e){return(t,n)=>{let r;if("formatting"===(n?.context?String(n.context):"standalone")&&e.formattingValues){let t=e.defaultFormattingWidth||e.defaultWidth,a=n?.width?String(n.width):t;r=e.formattingValues[a]||e.formattingValues[t]}else{let t=e.defaultWidth,a=n?.width?String(n.width):e.defaultWidth;r=e.values[a]||e.values[t]}return r[e.argumentCallback?e.argumentCallback(t):t]}}let eV={ordinalNumber:(e,t)=>{let n=Number(e),r=n%100;if(r>20||r<10)switch(r%10){case 1:return n+"st";case 2:return n+"nd";case 3:return n+"rd"}return n+"th"},era:eK({values:{narrow:["B","A"],abbreviated:["BC","AD"],wide:["Before Christ","Anno Domini"]},defaultWidth:"wide"}),quarter:eK({values:{narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["1st quarter","2nd quarter","3rd quarter","4th quarter"]},defaultWidth:"wide",argumentCallback:e=>e-1}),month:eK({values:{narrow:["J","F","M","A","M","J","J","A","S","O","N","D"],abbreviated:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],wide:["January","February","March","April","May","June","July","August","September","October","November","December"]},defaultWidth:"wide"}),day:eK({values:{narrow:["S","M","T","W","T","F","S"],short:["Su","Mo","Tu","We","Th","Fr","Sa"],abbreviated:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],wide:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},defaultWidth:"wide"}),dayPeriod:eK({values:{narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"}},defaultWidth:"wide",formattingValues:{narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"}},defaultFormattingWidth:"wide"})};function e0(e){return(t,n={})=>{let r;let a=n.width,s=a&&e.matchPatterns[a]||e.matchPatterns[e.defaultMatchWidth],o=t.match(s);if(!o)return null;let i=o[0],u=a&&e.parsePatterns[a]||e.parsePatterns[e.defaultParseWidth],c=Array.isArray(u)?function(e,t){for(let n=0;ne.test(i)):function(e,t){for(let n in e)if(Object.prototype.hasOwnProperty.call(e,n)&&t(e[n]))return n}(u,e=>e.test(i));return r=e.valueCallback?e.valueCallback(c):c,r=n.valueCallback?n.valueCallback(r):r,{value:r,rest:t.slice(i.length)}}}let e1={code:"en-US",formatDistance:(e,t,n)=>{let r;let a=ej[e];if(r="string"==typeof a?a:1===t?a.one:a.other.replace("{{count}}",t.toString()),n?.addSuffix)return n.comparison&&n.comparison>0?"in "+r:r+" ago";return r},formatLong:eZ,formatRelative:(e,t,n,r)=>eJ[e],localize:eV,match:{ordinalNumber:(e={matchPattern:/^(\d+)(th|st|nd|rd)?/i,parsePattern:/\d+/i,valueCallback:e=>parseInt(e,10)},(t,n={})=>{let r=t.match(e.matchPattern);if(!r)return null;let a=r[0],s=t.match(e.parsePattern);if(!s)return null;let o=e.valueCallback?e.valueCallback(s[0]):s[0];return o=n.valueCallback?n.valueCallback(o):o,{value:o,rest:t.slice(a.length)}}),era:e0({matchPatterns:{narrow:/^(b|a)/i,abbreviated:/^(b\.?\s?c\.?|b\.?\s?c\.?\s?e\.?|a\.?\s?d\.?|c\.?\s?e\.?)/i,wide:/^(before christ|before common era|anno domini|common era)/i},defaultMatchWidth:"wide",parsePatterns:{any:[/^b/i,/^(a|c)/i]},defaultParseWidth:"any"}),quarter:e0({matchPatterns:{narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234](th|st|nd|rd)? quarter/i},defaultMatchWidth:"wide",parsePatterns:{any:[/1/i,/2/i,/3/i,/4/i]},defaultParseWidth:"any",valueCallback:e=>e+1}),month:e0({matchPatterns:{narrow:/^[jfmasond]/i,abbreviated:/^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,wide:/^(january|february|march|april|may|june|july|august|september|october|november|december)/i},defaultMatchWidth:"wide",parsePatterns:{narrow:[/^j/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^ja/i,/^f/i,/^mar/i,/^ap/i,/^may/i,/^jun/i,/^jul/i,/^au/i,/^s/i,/^o/i,/^n/i,/^d/i]},defaultParseWidth:"any"}),day:e0({matchPatterns:{narrow:/^[smtwf]/i,short:/^(su|mo|tu|we|th|fr|sa)/i,abbreviated:/^(sun|mon|tue|wed|thu|fri|sat)/i,wide:/^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i},defaultMatchWidth:"wide",parsePatterns:{narrow:[/^s/i,/^m/i,/^t/i,/^w/i,/^t/i,/^f/i,/^s/i],any:[/^su/i,/^m/i,/^tu/i,/^w/i,/^th/i,/^f/i,/^sa/i]},defaultParseWidth:"any"}),dayPeriod:e0({matchPatterns:{narrow:/^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,any:/^([ap]\.?\s?m\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i},defaultMatchWidth:"any",parsePatterns:{any:{am:/^a/i,pm:/^p/i,midnight:/^mi/i,noon:/^no/i,morning:/morning/i,afternoon:/afternoon/i,evening:/evening/i,night:/night/i}},defaultParseWidth:"any"})},options:{weekStartsOn:0,firstWeekContainsDate:1}};function e2(e,t){let n=_(e,t?.in),r=I(n,eF(n));return r+1}function e3(e,t){let n=_(e,t?.in);return Math.round((+T(n)-+N(n))/6048e5)+1}function e4(e,t){let n=_(e,t?.in),r=n.getFullYear(),a=y,s=t?.firstWeekContainsDate??t?.locale?.options?.firstWeekContainsDate??a.firstWeekContainsDate??a.locale?.options?.firstWeekContainsDate??1,o=d(t?.in||e,0);o.setFullYear(r+1,0,s),o.setHours(0,0,0,0);let i=D(o,t),u=d(t?.in||e,0);u.setFullYear(r,0,s),u.setHours(0,0,0,0);let c=D(u,t);return+n>=+i?r+1:+n>=+c?r:r-1}function e6(e,t){let n=y,r=t?.firstWeekContainsDate??t?.locale?.options?.firstWeekContainsDate??n.firstWeekContainsDate??n.locale?.options?.firstWeekContainsDate??1,a=e4(e,t),s=d(t?.in||e,0);return s.setFullYear(a,0,r),s.setHours(0,0,0,0),D(s,t)}function e5(e,t){let n=_(e,t?.in);return Math.round((+D(n,t)-+e6(n,t))/6048e5)+1}function e9(e,t){let n=Math.abs(e).toString().padStart(t,"0");return(e<0?"-":"")+n}let e7={y(e,t){let n=e.getFullYear(),r=n>0?n:1-n;return e9("yy"===t?r%100:r,t.length)},M(e,t){let n=e.getMonth();return"M"===t?String(n+1):e9(n+1,2)},d:(e,t)=>e9(e.getDate(),t.length),a(e,t){let n=e.getHours()/12>=1?"pm":"am";switch(t){case"a":case"aa":return n.toUpperCase();case"aaa":return n;case"aaaaa":return n[0];default:return"am"===n?"a.m.":"p.m."}},h:(e,t)=>e9(e.getHours()%12||12,t.length),H:(e,t)=>e9(e.getHours(),t.length),m:(e,t)=>e9(e.getMinutes(),t.length),s:(e,t)=>e9(e.getSeconds(),t.length),S(e,t){let n=t.length;return e9(Math.trunc(e.getMilliseconds()*Math.pow(10,n-3)),t.length)}},e8={midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},te={G:function(e,t,n){let r=e.getFullYear()>0?1:0;switch(t){case"G":case"GG":case"GGG":return n.era(r,{width:"abbreviated"});case"GGGGG":return n.era(r,{width:"narrow"});default:return n.era(r,{width:"wide"})}},y:function(e,t,n){if("yo"===t){let t=e.getFullYear();return n.ordinalNumber(t>0?t:1-t,{unit:"year"})}return e7.y(e,t)},Y:function(e,t,n,r){let a=e4(e,r),s=a>0?a:1-a;return"YY"===t?e9(s%100,2):"Yo"===t?n.ordinalNumber(s,{unit:"year"}):e9(s,t.length)},R:function(e,t){return e9(S(e),t.length)},u:function(e,t){return e9(e.getFullYear(),t.length)},Q:function(e,t,n){let r=Math.ceil((e.getMonth()+1)/3);switch(t){case"Q":return String(r);case"QQ":return e9(r,2);case"Qo":return n.ordinalNumber(r,{unit:"quarter"});case"QQQ":return n.quarter(r,{width:"abbreviated",context:"formatting"});case"QQQQQ":return n.quarter(r,{width:"narrow",context:"formatting"});default:return n.quarter(r,{width:"wide",context:"formatting"})}},q:function(e,t,n){let r=Math.ceil((e.getMonth()+1)/3);switch(t){case"q":return String(r);case"qq":return e9(r,2);case"qo":return n.ordinalNumber(r,{unit:"quarter"});case"qqq":return n.quarter(r,{width:"abbreviated",context:"standalone"});case"qqqqq":return n.quarter(r,{width:"narrow",context:"standalone"});default:return n.quarter(r,{width:"wide",context:"standalone"})}},M:function(e,t,n){let r=e.getMonth();switch(t){case"M":case"MM":return e7.M(e,t);case"Mo":return n.ordinalNumber(r+1,{unit:"month"});case"MMM":return n.month(r,{width:"abbreviated",context:"formatting"});case"MMMMM":return n.month(r,{width:"narrow",context:"formatting"});default:return n.month(r,{width:"wide",context:"formatting"})}},L:function(e,t,n){let r=e.getMonth();switch(t){case"L":return String(r+1);case"LL":return e9(r+1,2);case"Lo":return n.ordinalNumber(r+1,{unit:"month"});case"LLL":return n.month(r,{width:"abbreviated",context:"standalone"});case"LLLLL":return n.month(r,{width:"narrow",context:"standalone"});default:return n.month(r,{width:"wide",context:"standalone"})}},w:function(e,t,n,r){let a=e5(e,r);return"wo"===t?n.ordinalNumber(a,{unit:"week"}):e9(a,t.length)},I:function(e,t,n){let r=e3(e);return"Io"===t?n.ordinalNumber(r,{unit:"week"}):e9(r,t.length)},d:function(e,t,n){return"do"===t?n.ordinalNumber(e.getDate(),{unit:"date"}):e7.d(e,t)},D:function(e,t,n){let r=e2(e);return"Do"===t?n.ordinalNumber(r,{unit:"dayOfYear"}):e9(r,t.length)},E:function(e,t,n){let r=e.getDay();switch(t){case"E":case"EE":case"EEE":return n.day(r,{width:"abbreviated",context:"formatting"});case"EEEEE":return n.day(r,{width:"narrow",context:"formatting"});case"EEEEEE":return n.day(r,{width:"short",context:"formatting"});default:return n.day(r,{width:"wide",context:"formatting"})}},e:function(e,t,n,r){let a=e.getDay(),s=(a-r.weekStartsOn+8)%7||7;switch(t){case"e":return String(s);case"ee":return e9(s,2);case"eo":return n.ordinalNumber(s,{unit:"day"});case"eee":return n.day(a,{width:"abbreviated",context:"formatting"});case"eeeee":return n.day(a,{width:"narrow",context:"formatting"});case"eeeeee":return n.day(a,{width:"short",context:"formatting"});default:return n.day(a,{width:"wide",context:"formatting"})}},c:function(e,t,n,r){let a=e.getDay(),s=(a-r.weekStartsOn+8)%7||7;switch(t){case"c":return String(s);case"cc":return e9(s,t.length);case"co":return n.ordinalNumber(s,{unit:"day"});case"ccc":return n.day(a,{width:"abbreviated",context:"standalone"});case"ccccc":return n.day(a,{width:"narrow",context:"standalone"});case"cccccc":return n.day(a,{width:"short",context:"standalone"});default:return n.day(a,{width:"wide",context:"standalone"})}},i:function(e,t,n){let r=e.getDay(),a=0===r?7:r;switch(t){case"i":return String(a);case"ii":return e9(a,t.length);case"io":return n.ordinalNumber(a,{unit:"day"});case"iii":return n.day(r,{width:"abbreviated",context:"formatting"});case"iiiii":return n.day(r,{width:"narrow",context:"formatting"});case"iiiiii":return n.day(r,{width:"short",context:"formatting"});default:return n.day(r,{width:"wide",context:"formatting"})}},a:function(e,t,n){let r=e.getHours()/12>=1?"pm":"am";switch(t){case"a":case"aa":return n.dayPeriod(r,{width:"abbreviated",context:"formatting"});case"aaa":return n.dayPeriod(r,{width:"abbreviated",context:"formatting"}).toLowerCase();case"aaaaa":return n.dayPeriod(r,{width:"narrow",context:"formatting"});default:return n.dayPeriod(r,{width:"wide",context:"formatting"})}},b:function(e,t,n){let r;let a=e.getHours();switch(r=12===a?e8.noon:0===a?e8.midnight:a/12>=1?"pm":"am",t){case"b":case"bb":return n.dayPeriod(r,{width:"abbreviated",context:"formatting"});case"bbb":return n.dayPeriod(r,{width:"abbreviated",context:"formatting"}).toLowerCase();case"bbbbb":return n.dayPeriod(r,{width:"narrow",context:"formatting"});default:return n.dayPeriod(r,{width:"wide",context:"formatting"})}},B:function(e,t,n){let r;let a=e.getHours();switch(r=a>=17?e8.evening:a>=12?e8.afternoon:a>=4?e8.morning:e8.night,t){case"B":case"BB":case"BBB":return n.dayPeriod(r,{width:"abbreviated",context:"formatting"});case"BBBBB":return n.dayPeriod(r,{width:"narrow",context:"formatting"});default:return n.dayPeriod(r,{width:"wide",context:"formatting"})}},h:function(e,t,n){if("ho"===t){let t=e.getHours()%12;return 0===t&&(t=12),n.ordinalNumber(t,{unit:"hour"})}return e7.h(e,t)},H:function(e,t,n){return"Ho"===t?n.ordinalNumber(e.getHours(),{unit:"hour"}):e7.H(e,t)},K:function(e,t,n){let r=e.getHours()%12;return"Ko"===t?n.ordinalNumber(r,{unit:"hour"}):e9(r,t.length)},k:function(e,t,n){let r=e.getHours();return(0===r&&(r=24),"ko"===t)?n.ordinalNumber(r,{unit:"hour"}):e9(r,t.length)},m:function(e,t,n){return"mo"===t?n.ordinalNumber(e.getMinutes(),{unit:"minute"}):e7.m(e,t)},s:function(e,t,n){return"so"===t?n.ordinalNumber(e.getSeconds(),{unit:"second"}):e7.s(e,t)},S:function(e,t){return e7.S(e,t)},X:function(e,t,n){let r=e.getTimezoneOffset();if(0===r)return"Z";switch(t){case"X":return tn(r);case"XXXX":case"XX":return tr(r);default:return tr(r,":")}},x:function(e,t,n){let r=e.getTimezoneOffset();switch(t){case"x":return tn(r);case"xxxx":case"xx":return tr(r);default:return tr(r,":")}},O:function(e,t,n){let r=e.getTimezoneOffset();switch(t){case"O":case"OO":case"OOO":return"GMT"+tt(r,":");default:return"GMT"+tr(r,":")}},z:function(e,t,n){let r=e.getTimezoneOffset();switch(t){case"z":case"zz":case"zzz":return"GMT"+tt(r,":");default:return"GMT"+tr(r,":")}},t:function(e,t,n){return e9(Math.trunc(+e/1e3),t.length)},T:function(e,t,n){return e9(+e,t.length)}};function tt(e,t=""){let n=e>0?"-":"+",r=Math.abs(e),a=Math.trunc(r/60),s=r%60;return 0===s?n+String(a):n+String(a)+t+e9(s,2)}function tn(e,t){return e%60==0?(e>0?"-":"+")+e9(Math.abs(e)/60,2):tr(e,t)}function tr(e,t=""){let n=Math.abs(e),r=e9(Math.trunc(n/60),2);return(e>0?"-":"+")+r+t+e9(n%60,2)}let ta=(e,t)=>{switch(e){case"P":return t.date({width:"short"});case"PP":return t.date({width:"medium"});case"PPP":return t.date({width:"long"});default:return t.date({width:"full"})}},ts=(e,t)=>{switch(e){case"p":return t.time({width:"short"});case"pp":return t.time({width:"medium"});case"ppp":return t.time({width:"long"});default:return t.time({width:"full"})}},to={p:ts,P:(e,t)=>{let n;let r=e.match(/(P+)(p+)?/)||[],a=r[1],s=r[2];if(!s)return ta(e,t);switch(a){case"P":n=t.dateTime({width:"short"});break;case"PP":n=t.dateTime({width:"medium"});break;case"PPP":n=t.dateTime({width:"long"});break;default:n=t.dateTime({width:"full"})}return n.replace("{{date}}",ta(a,t)).replace("{{time}}",ts(s,t))}},ti=/^D+$/,tu=/^Y+$/,tc=["D","DD","YY","YYYY"];function tl(e){return ti.test(e)}function td(e){return tu.test(e)}function t_(e,t,n){let r=function(e,t,n){let r="Y"===e[0]?"years":"days of the month";return`Use \`${e.toLowerCase()}\` instead of \`${e}\` (in \`${t}\`) for formatting ${r} to the input \`${n}\`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md`}(e,t,n);if(console.warn(r),tc.includes(e))throw RangeError(r)}let tf=/[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g,tp=/P+p+|P+|p+|''|'(''|[^'])+('|$)|./g,th=/^'([^]*?)'?$/,tw=/''/g,tm=/[a-zA-Z]/;function tg(e,t,n){let r=y,a=n?.locale??r.locale??e1,s=n?.firstWeekContainsDate??n?.locale?.options?.firstWeekContainsDate??r.firstWeekContainsDate??r.locale?.options?.firstWeekContainsDate??1,o=n?.weekStartsOn??n?.locale?.options?.weekStartsOn??r.weekStartsOn??r.locale?.options?.weekStartsOn??0,i=_(e,n?.in);if(!J(i))throw RangeError("Invalid time value");let u=t.match(tp).map(e=>{let t=e[0];return"p"===t||"P"===t?(0,to[t])(e,a.formatLong):e}).join("").match(tf).map(e=>{if("''"===e)return{isToken:!1,value:"'"};let t=e[0];if("'"===t)return{isToken:!1,value:function(e){let t=e.match(th);return t?t[1].replace(tw,"'"):e}(e)};if(te[t])return{isToken:!0,value:e};if(t.match(tm))throw RangeError("Format string contains an unescaped latin alphabet character `"+t+"`");return{isToken:!1,value:e}});a.localize.preprocessor&&(u=a.localize.preprocessor(i,u));let c={firstWeekContainsDate:s,weekStartsOn:o,locale:a};return u.map(r=>{var s,o;if(!r.isToken)return r.value;let u=r.value;if(!n?.useAdditionalWeekYearTokens&&(s=u,tu.test(s))||!n?.useAdditionalDayOfYearTokens&&(o=u,ti.test(o)))t_(u,t,String(e));return(0,te[u[0]])(i,u,a.localize,c)}).join("")}function tb(e,t,n){let r;let a=y,s=n?.locale??a.locale??e1,o=B(e,t);if(isNaN(o))throw RangeError("Invalid time value");let i=Object.assign({},n,{addSuffix:n?.addSuffix,comparison:o}),[u,c]=v(n?.in,...o>0?[t,e]:[e,t]),l=eb(c,u),d=Math.round((l-(O(c)-O(u))/1e3)/60);if(d<2){if(n?.includeSeconds){if(l<5)return s.formatDistance("lessThanXSeconds",5,i);if(l<10)return s.formatDistance("lessThanXSeconds",10,i);else if(l<20)return s.formatDistance("lessThanXSeconds",20,i);else if(l<40)return s.formatDistance("halfAMinute",0,i);else if(l<60)return s.formatDistance("lessThanXMinutes",1,i);else return s.formatDistance("xMinutes",1,i)}return 0===d?s.formatDistance("lessThanXMinutes",1,i):s.formatDistance("xMinutes",d,i)}if(d<45)return s.formatDistance("xMinutes",d,i);if(d<90)return s.formatDistance("aboutXHours",1,i);else if(d<1440){let e=Math.round(d/60);return s.formatDistance("aboutXHours",e,i)}else if(d<2520)return s.formatDistance("xDays",1,i);else if(d<43200){let e=Math.round(d/1440);return s.formatDistance("xDays",e,i)}else if(d<86400)return r=Math.round(d/43200),s.formatDistance("aboutXMonths",r,i);if((r=em(c,u))<12){let e=Math.round(d/43200);return s.formatDistance("xMonths",e,i)}{let e=r%12,t=Math.trunc(r/12);return e<3?s.formatDistance("aboutXYears",t,i):e<9?s.formatDistance("overXYears",t,i):s.formatDistance("almostXYears",t+1,i)}}function tx(e,t,n){let r;let a=y,s=n?.locale??a.locale??e1,o=B(e,t);if(isNaN(o))throw RangeError("Invalid time value");let i=Object.assign({},n,{addSuffix:n?.addSuffix,comparison:o}),[u,c]=v(n?.in,...o>0?[t,e]:[e,t]),l=eu(n?.roundingMethod??"round"),d=c.getTime()-u.getTime(),_=d/6e4,f=(d-(O(c)-O(u)))/6e4,p=n?.unit;if("second"===(r=p?p:_<1?"second":_<60?"minute":_<1440?"hour":f<43200?"day":f<525600?"month":"year")){let e=l(d/1e3);return s.formatDistance("xSeconds",e,i)}if("minute"===r){let e=l(_);return s.formatDistance("xMinutes",e,i)}if("hour"===r){let e=l(_/60);return s.formatDistance("xHours",e,i)}else if("day"===r){let e=l(f/1440);return s.formatDistance("xDays",e,i)}else if("month"===r){let e=l(f/43200);return 12===e&&"month"!==p?s.formatDistance("xYears",1,i):s.formatDistance("xMonths",e,i)}else{let e=l(f/525600);return s.formatDistance("xYears",e,i)}}function tk(e,t){return tb(e,U(e),t)}function ty(e,t){return tx(e,U(e),t)}let tM=["years","months","weeks","days","hours","minutes","seconds"];function tD(e,t){let n=y,r=t?.locale??n.locale??e1,a=t?.format??tM,s=t?.zero??!1,o=t?.delimiter??" ";return r.formatDistance?a.reduce((t,n)=>{let a=`x${n.replace(/(^.)/,e=>e.toUpperCase())}`,o=e[n];return void 0!==o&&(s||e[n])?t.concat(r.formatDistance(a,o)):t},[]).join(o):""}function tT(e,t){let n=_(e,t?.in);if(isNaN(+n))throw RangeError("Invalid time value");let r=t?.format??"extended",a=t?.representation??"complete",s="",o="",i="extended"===r?"-":"";if("time"!==a){let e=e9(n.getDate(),2),t=e9(n.getMonth()+1,2),r=e9(n.getFullYear(),4);s=`${r}${i}${t}${i}${e}`}if("date"!==a){let e=n.getTimezoneOffset();if(0!==e){let t=Math.abs(e),n=e9(Math.trunc(t/60),2),r=e9(t%60,2);o=`${e<0?"+":"-"}${n}:${r}`}else o="Z";let t=e9(n.getHours(),2),a=e9(n.getMinutes(),2),i=e9(n.getSeconds(),2),u=""===s?"":"T",c=[t,a,i].join("extended"===r?":":"");s=`${s}${u}${c}${o}`}return s}function tS(e,t){let n=_(e,t?.in);if(!J(n))throw RangeError("Invalid time value");let r=t?.format??"extended",a=t?.representation??"complete",s="",o="extended"===r?"-":"",i="extended"===r?":":"";if("time"!==a){let e=e9(n.getDate(),2),t=e9(n.getMonth()+1,2),r=e9(n.getFullYear(),4);s=`${r}${o}${t}${o}${e}`}if("date"!==a){let e=e9(n.getHours(),2),t=e9(n.getMinutes(),2),r=e9(n.getSeconds(),2),a=""===s?"":" ";s=`${s}${a}${e}${i}${t}${i}${r}`}return s}function tO(e){let{years:t=0,months:n=0,days:r=0,hours:a=0,minutes:s=0,seconds:o=0}=e;return`P${t}Y${n}M${r}DT${a}H${s}M${o}S`}function tv(e,t){let n=_(e,t?.in);if(!J(n))throw RangeError("Invalid time value");let r=t?.fractionDigits??0,a=e9(n.getDate(),2),s=e9(n.getMonth()+1,2),o=n.getFullYear(),i=e9(n.getHours(),2),u=e9(n.getMinutes(),2),c=e9(n.getSeconds(),2),l="";r>0&&(l="."+e9(Math.trunc(n.getMilliseconds()*Math.pow(10,r-3)),r));let d="",f=n.getTimezoneOffset();if(0!==f){let e=Math.abs(f),t=e9(Math.trunc(e/60),2),n=e9(e%60,2);d=`${f<0?"+":"-"}${t}:${n}`}else d="Z";return`${o}-${s}-${a}T${i}:${u}:${c}${l}${d}`}let tY=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],tI=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function tN(e){let t=_(e);if(!J(t))throw RangeError("Invalid time value");let n=tY[t.getUTCDay()],r=e9(t.getUTCDate(),2),a=tI[t.getUTCMonth()],s=t.getUTCFullYear(),o=e9(t.getUTCHours(),2),i=e9(t.getUTCMinutes(),2),u=e9(t.getUTCSeconds(),2);return`${n}, ${r} ${a} ${s} ${o}:${i}:${u} GMT`}function tW(e,t,n){let r;let[a,s]=v(n?.in,e,t),o=y,i=n?.locale??o.locale??e1,u=n?.weekStartsOn??n?.locale?.options?.weekStartsOn??o.weekStartsOn??o.locale?.options?.weekStartsOn??0,c=I(a,s);if(isNaN(c))throw RangeError("Invalid time value");r=c<-6?"other":c<-1?"lastWeek":c<0?"yesterday":c<1?"today":c<2?"tomorrow":c<7?"nextWeek":"other";let l=i.formatRelative(r,a,s,{locale:i,weekStartsOn:u});return tg(a,l,{locale:i,weekStartsOn:u})}function tH(e,t){return _(1e3*e,t?.in)}function tF(e,t){return _(e,t?.in).getDate()}function tP(e,t){return _(e,t?.in).getDay()}function tC(e,t){let n=_(e,t?.in),r=n.getFullYear(),a=n.getMonth(),s=d(n,0);return s.setFullYear(r,a+1,0),s.setHours(0,0,0,0),s.getDate()}function tE(e,t){let n=_(e,t?.in).getFullYear();return n%400==0||n%4==0&&n%100!=0}function tq(e,t){let n=_(e,t?.in);return Number.isNaN(+n)?NaN:tE(n)?366:365}function t$(e,t){return 10*Math.floor(_(e,t?.in).getFullYear()/10)}function tQ(){return Object.assign({},y)}function tR(e,t){return _(e,t?.in).getHours()}function tL(e,t){let n=_(e,t?.in).getDay();return 0===n?7:n}function tX(e,t){let n=N(e,t);return Math.round((+N(E(n,60))-+n)/6048e5)}function tz(e){return _(e).getMilliseconds()}function tB(e,t){return _(e,t?.in).getMinutes()}function tG(e,t){return _(e,t?.in).getMonth()}function tU(e,t){let[n,r]=[+_(e.start),+_(e.end)].sort((e,t)=>e-t),[a,s]=[+_(t.start),+_(t.end)].sort((e,t)=>e-t);if(!(nr?r:s;return Math.ceil((u-O(u)-i)/864e5)}function tj(e){return _(e).getSeconds()}function tA(e){return+_(e)}function tZ(e){return Math.trunc(+_(e)/1e3)}function tJ(e,t){let n=y,r=t?.weekStartsOn??t?.locale?.options?.weekStartsOn??n.weekStartsOn??n.locale?.options?.weekStartsOn??0,a=tF(_(e,t?.in));if(isNaN(a))return NaN;let s=r-tP(eN(e,t));return s<=0&&(s+=7),Math.ceil((a-s)/7)+1}function tK(e,t){let n=_(e,t?.in),r=n.getMonth();return n.setFullYear(n.getFullYear(),r+1,0),n.setHours(0,0,0,0),_(n,t?.in)}function tV(e,t){let n=_(e,t?.in);return ea(tK(n,t),eN(n,t),t)+1}function t0(e,t){return _(e,t?.in).getFullYear()}function t1(e){return Math.trunc(36e5*e)}function t2(e){return Math.trunc(60*e)}function t3(e){return Math.trunc(3600*e)}function t4(e,t,n){let[r,a]=v(n?.in,e,t);if(isNaN(+r))throw TypeError("Start date is invalid");if(isNaN(+a))throw TypeError("End date is invalid");if(n?.assertPositive&&+r>+a)throw TypeError("End date must be after start date");return{start:r,end:a}}function t6(e,t){let{start:n,end:r}=ey(t?.in,e),a={},s=ek(r,n);s&&(a.years=s);let o=h(n,{years:a.years}),i=em(r,o);i&&(a.months=i);let u=h(o,{months:a.months}),c=eo(r,u);c&&(a.days=c);let l=h(u,{days:a.days}),d=ec(r,l);d&&(a.hours=d);let _=h(l,{hours:a.hours}),f=ef(r,_);f&&(a.minutes=f);let p=eb(r,h(_,{minutes:a.minutes}));return p&&(a.seconds=p),a}function t5(e,t,n){let r;return function(e){return void 0!==e&&!("locale"in e)}(t)?r=t:n=t,new Intl.DateTimeFormat(n?.locale,r).format(_(e))}function t9(e,t,n){let r,a=0,[l,d]=v(n?.in,e,t);if(n?.unit)"second"===(r=n?.unit)?a=eb(l,d):"minute"===r?a=ef(l,d):"hour"===r?a=ec(l,d):"day"===r?a=I(l,d):"week"===r?a=ea(l,d):"month"===r?a=et(l,d):"quarter"===r?a=er(l,d):"year"===r&&(a=es(l,d));else{let e=eb(l,d);60>Math.abs(e)?(a=eb(l,d),r="second"):3600>Math.abs(e)?(a=ef(l,d),r="minute"):Math.abs(e)Math.abs(I(l,d))?(a=ec(l,d),r="hour"):Math.abs(e)Math.abs(a)?r="day":Math.abs(e)er(l,d)?(a=er(l,d),r="quarter"):(a=es(l,d),r="year")}return new Intl.RelativeTimeFormat(n?.locale,{numeric:"auto",...n}).format(a,r)}function t7(e,t){return+_(e)>+_(t)}function t8(e,t){return+_(e)<+_(t)}function ne(e,t){return+_(e)==+_(t)}function nt(e,t,n){let r=new Date(e,t,n);return r.getFullYear()===e&&r.getMonth()===t&&r.getDate()===n}function nn(e,t){return 1===_(e,t?.in).getDate()}function nr(e,t){return 5===_(e,t?.in).getDay()}function na(e){return+_(e)>Date.now()}function ns(e,t){let n=function(e){return"function"==typeof e&&e.prototype?.constructor===e}(t)?new t(0):d(t,0);return n.setFullYear(e.getFullYear(),e.getMonth(),e.getDate()),n.setHours(e.getHours(),e.getMinutes(),e.getSeconds(),e.getMilliseconds()),n}class no{subPriority=0;validate(e,t){return!0}}class ni extends no{constructor(e,t,n,r,a){super(),this.value=e,this.validateValue=t,this.setValue=n,this.priority=r,a&&(this.subPriority=a)}validate(e,t){return this.validateValue(e,this.value,t)}set(e,t,n){return this.setValue(e,t,this.value,n)}}class nu extends no{priority=10;subPriority=-1;constructor(e,t){super(),this.context=e||(e=>d(t,e))}set(e,t){return t.timestampIsSet?e:d(e,ns(e,this.context))}}class nc{run(e,t,n,r){let a=this.parse(e,t,n,r);return a?{setter:new ni(a.value,this.validate,this.set,this.priority,this.subPriority),rest:a.rest}:null}validate(e,t,n){return!0}}let nl={month:/^(1[0-2]|0?\d)/,date:/^(3[0-1]|[0-2]?\d)/,dayOfYear:/^(36[0-6]|3[0-5]\d|[0-2]?\d?\d)/,week:/^(5[0-3]|[0-4]?\d)/,hour23h:/^(2[0-3]|[0-1]?\d)/,hour24h:/^(2[0-4]|[0-1]?\d)/,hour11h:/^(1[0-1]|0?\d)/,hour12h:/^(1[0-2]|0?\d)/,minute:/^[0-5]?\d/,second:/^[0-5]?\d/,singleDigit:/^\d/,twoDigits:/^\d{1,2}/,threeDigits:/^\d{1,3}/,fourDigits:/^\d{1,4}/,anyDigitsSigned:/^-?\d+/,singleDigitSigned:/^-?\d/,twoDigitsSigned:/^-?\d{1,2}/,threeDigitsSigned:/^-?\d{1,3}/,fourDigitsSigned:/^-?\d{1,4}/},nd={basicOptionalMinutes:/^([+-])(\d{2})(\d{2})?|Z/,basic:/^([+-])(\d{2})(\d{2})|Z/,basicOptionalSeconds:/^([+-])(\d{2})(\d{2})((\d{2}))?|Z/,extended:/^([+-])(\d{2}):(\d{2})|Z/,extendedOptionalSeconds:/^([+-])(\d{2}):(\d{2})(:(\d{2}))?|Z/};function n_(e,t){return e?{value:t(e.value),rest:e.rest}:e}function nf(e,t){let n=t.match(e);return n?{value:parseInt(n[0],10),rest:t.slice(n[0].length)}:null}function np(e,t){let n=t.match(e);if(!n)return null;if("Z"===n[0])return{value:0,rest:t.slice(1)};let r="+"===n[1]?1:-1,a=n[2]?parseInt(n[2],10):0,s=n[3]?parseInt(n[3],10):0;return{value:r*(36e5*a+6e4*s+(n[5]?parseInt(n[5],10):0)*1e3),rest:t.slice(n[0].length)}}function nh(e){return nf(nl.anyDigitsSigned,e)}function nw(e,t){switch(e){case 1:return nf(nl.singleDigit,t);case 2:return nf(nl.twoDigits,t);case 3:return nf(nl.threeDigits,t);case 4:return nf(nl.fourDigits,t);default:return nf(RegExp("^\\d{1,"+e+"}"),t)}}function nm(e,t){switch(e){case 1:return nf(nl.singleDigitSigned,t);case 2:return nf(nl.twoDigitsSigned,t);case 3:return nf(nl.threeDigitsSigned,t);case 4:return nf(nl.fourDigitsSigned,t);default:return nf(RegExp("^-?\\d{1,"+e+"}"),t)}}function ng(e){switch(e){case"morning":return 4;case"evening":return 17;case"pm":case"noon":case"afternoon":return 12;default:return 0}}function nb(e,t){let n;let r=t>0,a=r?t:1-t;if(a<=50)n=e||100;else{let t=a+50,r=100*Math.trunc(t/100);n=e+r-(e>=t%100?100:0)}return r?n:1-n}function nx(e){return e%400==0||e%4==0&&e%100!=0}function nk(e,t,n){let r=_(e,n?.in),a=e5(r,n)-t;return r.setDate(r.getDate()-7*a),_(r,n?.in)}function ny(e,t,n){let r=_(e,n?.in),a=e3(r,n)-t;return r.setDate(r.getDate()-7*a),r}let nM=[31,28,31,30,31,30,31,31,30,31,30,31],nD=[31,29,31,30,31,30,31,31,30,31,30,31];function nT(e,t,n){let r=y,a=n?.weekStartsOn??n?.locale?.options?.weekStartsOn??r.weekStartsOn??r.locale?.options?.weekStartsOn??0,s=_(e,n?.in),o=s.getDay(),i=7-a;return f(s,t<0||t>6?t-(o+i)%7:((t%7+7)%7+i)%7-(o+i)%7,n)}function nS(e,t,n){let r=_(e,n?.in),a=tL(r,n);return f(r,t-a,n)}let nO={G:new class e extends nc{priority=140;parse(e,t,n){switch(t){case"G":case"GG":case"GGG":return n.era(e,{width:"abbreviated"})||n.era(e,{width:"narrow"});case"GGGGG":return n.era(e,{width:"narrow"});default:return n.era(e,{width:"wide"})||n.era(e,{width:"abbreviated"})||n.era(e,{width:"narrow"})}}set(e,t,n){return t.era=n,e.setFullYear(n,0,1),e.setHours(0,0,0,0),e}incompatibleTokens=["R","u","t","T"]},y:new class e extends nc{priority=130;incompatibleTokens=["Y","R","u","w","I","i","e","c","t","T"];parse(e,t,n){let r=e=>({year:e,isTwoDigitYear:"yy"===t});switch(t){case"y":return n_(nw(4,e),r);case"yo":return n_(n.ordinalNumber(e,{unit:"year"}),r);default:return n_(nw(t.length,e),r)}}validate(e,t){return t.isTwoDigitYear||t.year>0}set(e,t,n){let r=e.getFullYear();if(n.isTwoDigitYear){let t=nb(n.year,r);return e.setFullYear(t,0,1),e.setHours(0,0,0,0),e}let a="era"in t&&1!==t.era?1-n.year:n.year;return e.setFullYear(a,0,1),e.setHours(0,0,0,0),e}},Y:new class e extends nc{priority=130;parse(e,t,n){let r=e=>({year:e,isTwoDigitYear:"YY"===t});switch(t){case"Y":return n_(nw(4,e),r);case"Yo":return n_(n.ordinalNumber(e,{unit:"year"}),r);default:return n_(nw(t.length,e),r)}}validate(e,t){return t.isTwoDigitYear||t.year>0}set(e,t,n,r){let a=e4(e,r);if(n.isTwoDigitYear){let t=nb(n.year,a);return e.setFullYear(t,0,r.firstWeekContainsDate),e.setHours(0,0,0,0),D(e,r)}let s="era"in t&&1!==t.era?1-n.year:n.year;return e.setFullYear(s,0,r.firstWeekContainsDate),e.setHours(0,0,0,0),D(e,r)}incompatibleTokens=["y","R","u","Q","q","M","L","I","d","D","i","t","T"]},R:new class e extends nc{priority=130;parse(e,t){return"R"===t?nm(4,e):nm(t.length,e)}set(e,t,n){let r=d(e,0);return r.setFullYear(n,0,4),r.setHours(0,0,0,0),T(r)}incompatibleTokens=["G","y","Y","u","Q","q","M","L","w","d","D","e","c","t","T"]},u:new class e extends nc{priority=130;parse(e,t){return"u"===t?nm(4,e):nm(t.length,e)}set(e,t,n){return e.setFullYear(n,0,1),e.setHours(0,0,0,0),e}incompatibleTokens=["G","y","Y","R","w","I","i","e","c","t","T"]},Q:new class e extends nc{priority=120;parse(e,t,n){switch(t){case"Q":case"QQ":return nw(t.length,e);case"Qo":return n.ordinalNumber(e,{unit:"quarter"});case"QQQ":return n.quarter(e,{width:"abbreviated",context:"formatting"})||n.quarter(e,{width:"narrow",context:"formatting"});case"QQQQQ":return n.quarter(e,{width:"narrow",context:"formatting"});default:return n.quarter(e,{width:"wide",context:"formatting"})||n.quarter(e,{width:"abbreviated",context:"formatting"})||n.quarter(e,{width:"narrow",context:"formatting"})}}validate(e,t){return t>=1&&t<=4}set(e,t,n){return e.setMonth((n-1)*3,1),e.setHours(0,0,0,0),e}incompatibleTokens=["Y","R","q","M","L","w","I","d","D","i","e","c","t","T"]},q:new class e extends nc{priority=120;parse(e,t,n){switch(t){case"q":case"qq":return nw(t.length,e);case"qo":return n.ordinalNumber(e,{unit:"quarter"});case"qqq":return n.quarter(e,{width:"abbreviated",context:"standalone"})||n.quarter(e,{width:"narrow",context:"standalone"});case"qqqqq":return n.quarter(e,{width:"narrow",context:"standalone"});default:return n.quarter(e,{width:"wide",context:"standalone"})||n.quarter(e,{width:"abbreviated",context:"standalone"})||n.quarter(e,{width:"narrow",context:"standalone"})}}validate(e,t){return t>=1&&t<=4}set(e,t,n){return e.setMonth((n-1)*3,1),e.setHours(0,0,0,0),e}incompatibleTokens=["Y","R","Q","M","L","w","I","d","D","i","e","c","t","T"]},M:new class e extends nc{incompatibleTokens=["Y","R","q","Q","L","w","I","D","i","e","c","t","T"];priority=110;parse(e,t,n){let r=e=>e-1;switch(t){case"M":return n_(nf(nl.month,e),r);case"MM":return n_(nw(2,e),r);case"Mo":return n_(n.ordinalNumber(e,{unit:"month"}),r);case"MMM":return n.month(e,{width:"abbreviated",context:"formatting"})||n.month(e,{width:"narrow",context:"formatting"});case"MMMMM":return n.month(e,{width:"narrow",context:"formatting"});default:return n.month(e,{width:"wide",context:"formatting"})||n.month(e,{width:"abbreviated",context:"formatting"})||n.month(e,{width:"narrow",context:"formatting"})}}validate(e,t){return t>=0&&t<=11}set(e,t,n){return e.setMonth(n,1),e.setHours(0,0,0,0),e}},L:new class e extends nc{priority=110;parse(e,t,n){let r=e=>e-1;switch(t){case"L":return n_(nf(nl.month,e),r);case"LL":return n_(nw(2,e),r);case"Lo":return n_(n.ordinalNumber(e,{unit:"month"}),r);case"LLL":return n.month(e,{width:"abbreviated",context:"standalone"})||n.month(e,{width:"narrow",context:"standalone"});case"LLLLL":return n.month(e,{width:"narrow",context:"standalone"});default:return n.month(e,{width:"wide",context:"standalone"})||n.month(e,{width:"abbreviated",context:"standalone"})||n.month(e,{width:"narrow",context:"standalone"})}}validate(e,t){return t>=0&&t<=11}set(e,t,n){return e.setMonth(n,1),e.setHours(0,0,0,0),e}incompatibleTokens=["Y","R","q","Q","M","w","I","D","i","e","c","t","T"]},w:new class e extends nc{priority=100;parse(e,t,n){switch(t){case"w":return nf(nl.week,e);case"wo":return n.ordinalNumber(e,{unit:"week"});default:return nw(t.length,e)}}validate(e,t){return t>=1&&t<=53}set(e,t,n,r){return D(nk(e,n,r),r)}incompatibleTokens=["y","R","u","q","Q","M","L","I","d","D","i","t","T"]},I:new class e extends nc{priority=100;parse(e,t,n){switch(t){case"I":return nf(nl.week,e);case"Io":return n.ordinalNumber(e,{unit:"week"});default:return nw(t.length,e)}}validate(e,t){return t>=1&&t<=53}set(e,t,n){return T(ny(e,n))}incompatibleTokens=["y","Y","u","q","Q","M","L","w","d","D","e","c","t","T"]},d:new class e extends nc{priority=90;subPriority=1;parse(e,t,n){switch(t){case"d":return nf(nl.date,e);case"do":return n.ordinalNumber(e,{unit:"date"});default:return nw(t.length,e)}}validate(e,t){let n=nx(e.getFullYear()),r=e.getMonth();return n?t>=1&&t<=nD[r]:t>=1&&t<=nM[r]}set(e,t,n){return e.setDate(n),e.setHours(0,0,0,0),e}incompatibleTokens=["Y","R","q","Q","w","I","D","i","e","c","t","T"]},D:new class e extends nc{priority=90;subpriority=1;parse(e,t,n){switch(t){case"D":case"DD":return nf(nl.dayOfYear,e);case"Do":return n.ordinalNumber(e,{unit:"date"});default:return nw(t.length,e)}}validate(e,t){return nx(e.getFullYear())?t>=1&&t<=366:t>=1&&t<=365}set(e,t,n){return e.setMonth(0,n),e.setHours(0,0,0,0),e}incompatibleTokens=["Y","R","q","Q","M","L","w","I","d","E","i","e","c","t","T"]},E:new class e extends nc{priority=90;parse(e,t,n){switch(t){case"E":case"EE":case"EEE":return n.day(e,{width:"abbreviated",context:"formatting"})||n.day(e,{width:"short",context:"formatting"})||n.day(e,{width:"narrow",context:"formatting"});case"EEEEE":return n.day(e,{width:"narrow",context:"formatting"});case"EEEEEE":return n.day(e,{width:"short",context:"formatting"})||n.day(e,{width:"narrow",context:"formatting"});default:return n.day(e,{width:"wide",context:"formatting"})||n.day(e,{width:"abbreviated",context:"formatting"})||n.day(e,{width:"short",context:"formatting"})||n.day(e,{width:"narrow",context:"formatting"})}}validate(e,t){return t>=0&&t<=6}set(e,t,n,r){return(e=nT(e,n,r)).setHours(0,0,0,0),e}incompatibleTokens=["D","i","e","c","t","T"]},e:new class e extends nc{priority=90;parse(e,t,n,r){let a=e=>{let t=7*Math.floor((e-1)/7);return(e+r.weekStartsOn+6)%7+t};switch(t){case"e":case"ee":return n_(nw(t.length,e),a);case"eo":return n_(n.ordinalNumber(e,{unit:"day"}),a);case"eee":return n.day(e,{width:"abbreviated",context:"formatting"})||n.day(e,{width:"short",context:"formatting"})||n.day(e,{width:"narrow",context:"formatting"});case"eeeee":return n.day(e,{width:"narrow",context:"formatting"});case"eeeeee":return n.day(e,{width:"short",context:"formatting"})||n.day(e,{width:"narrow",context:"formatting"});default:return n.day(e,{width:"wide",context:"formatting"})||n.day(e,{width:"abbreviated",context:"formatting"})||n.day(e,{width:"short",context:"formatting"})||n.day(e,{width:"narrow",context:"formatting"})}}validate(e,t){return t>=0&&t<=6}set(e,t,n,r){return(e=nT(e,n,r)).setHours(0,0,0,0),e}incompatibleTokens=["y","R","u","q","Q","M","L","I","d","D","E","i","c","t","T"]},c:new class e extends nc{priority=90;parse(e,t,n,r){let a=e=>{let t=7*Math.floor((e-1)/7);return(e+r.weekStartsOn+6)%7+t};switch(t){case"c":case"cc":return n_(nw(t.length,e),a);case"co":return n_(n.ordinalNumber(e,{unit:"day"}),a);case"ccc":return n.day(e,{width:"abbreviated",context:"standalone"})||n.day(e,{width:"short",context:"standalone"})||n.day(e,{width:"narrow",context:"standalone"});case"ccccc":return n.day(e,{width:"narrow",context:"standalone"});case"cccccc":return n.day(e,{width:"short",context:"standalone"})||n.day(e,{width:"narrow",context:"standalone"});default:return n.day(e,{width:"wide",context:"standalone"})||n.day(e,{width:"abbreviated",context:"standalone"})||n.day(e,{width:"short",context:"standalone"})||n.day(e,{width:"narrow",context:"standalone"})}}validate(e,t){return t>=0&&t<=6}set(e,t,n,r){return(e=nT(e,n,r)).setHours(0,0,0,0),e}incompatibleTokens=["y","R","u","q","Q","M","L","I","d","D","E","i","e","t","T"]},i:new class e extends nc{priority=90;parse(e,t,n){let r=e=>0===e?7:e;switch(t){case"i":case"ii":return nw(t.length,e);case"io":return n.ordinalNumber(e,{unit:"day"});case"iii":return n_(n.day(e,{width:"abbreviated",context:"formatting"})||n.day(e,{width:"short",context:"formatting"})||n.day(e,{width:"narrow",context:"formatting"}),r);case"iiiii":return n_(n.day(e,{width:"narrow",context:"formatting"}),r);case"iiiiii":return n_(n.day(e,{width:"short",context:"formatting"})||n.day(e,{width:"narrow",context:"formatting"}),r);default:return n_(n.day(e,{width:"wide",context:"formatting"})||n.day(e,{width:"abbreviated",context:"formatting"})||n.day(e,{width:"short",context:"formatting"})||n.day(e,{width:"narrow",context:"formatting"}),r)}}validate(e,t){return t>=1&&t<=7}set(e,t,n){return(e=nS(e,n)).setHours(0,0,0,0),e}incompatibleTokens=["y","Y","u","q","Q","M","L","w","d","D","E","e","c","t","T"]},a:new class e extends nc{priority=80;parse(e,t,n){switch(t){case"a":case"aa":case"aaa":return n.dayPeriod(e,{width:"abbreviated",context:"formatting"})||n.dayPeriod(e,{width:"narrow",context:"formatting"});case"aaaaa":return n.dayPeriod(e,{width:"narrow",context:"formatting"});default:return n.dayPeriod(e,{width:"wide",context:"formatting"})||n.dayPeriod(e,{width:"abbreviated",context:"formatting"})||n.dayPeriod(e,{width:"narrow",context:"formatting"})}}set(e,t,n){return e.setHours(ng(n),0,0,0),e}incompatibleTokens=["b","B","H","k","t","T"]},b:new class e extends nc{priority=80;parse(e,t,n){switch(t){case"b":case"bb":case"bbb":return n.dayPeriod(e,{width:"abbreviated",context:"formatting"})||n.dayPeriod(e,{width:"narrow",context:"formatting"});case"bbbbb":return n.dayPeriod(e,{width:"narrow",context:"formatting"});default:return n.dayPeriod(e,{width:"wide",context:"formatting"})||n.dayPeriod(e,{width:"abbreviated",context:"formatting"})||n.dayPeriod(e,{width:"narrow",context:"formatting"})}}set(e,t,n){return e.setHours(ng(n),0,0,0),e}incompatibleTokens=["a","B","H","k","t","T"]},B:new class e extends nc{priority=80;parse(e,t,n){switch(t){case"B":case"BB":case"BBB":return n.dayPeriod(e,{width:"abbreviated",context:"formatting"})||n.dayPeriod(e,{width:"narrow",context:"formatting"});case"BBBBB":return n.dayPeriod(e,{width:"narrow",context:"formatting"});default:return n.dayPeriod(e,{width:"wide",context:"formatting"})||n.dayPeriod(e,{width:"abbreviated",context:"formatting"})||n.dayPeriod(e,{width:"narrow",context:"formatting"})}}set(e,t,n){return e.setHours(ng(n),0,0,0),e}incompatibleTokens=["a","b","t","T"]},h:new class e extends nc{priority=70;parse(e,t,n){switch(t){case"h":return nf(nl.hour12h,e);case"ho":return n.ordinalNumber(e,{unit:"hour"});default:return nw(t.length,e)}}validate(e,t){return t>=1&&t<=12}set(e,t,n){let r=e.getHours()>=12;return r&&n<12?e.setHours(n+12,0,0,0):r||12!==n?e.setHours(n,0,0,0):e.setHours(0,0,0,0),e}incompatibleTokens=["H","K","k","t","T"]},H:new class e extends nc{priority=70;parse(e,t,n){switch(t){case"H":return nf(nl.hour23h,e);case"Ho":return n.ordinalNumber(e,{unit:"hour"});default:return nw(t.length,e)}}validate(e,t){return t>=0&&t<=23}set(e,t,n){return e.setHours(n,0,0,0),e}incompatibleTokens=["a","b","h","K","k","t","T"]},K:new class e extends nc{priority=70;parse(e,t,n){switch(t){case"K":return nf(nl.hour11h,e);case"Ko":return n.ordinalNumber(e,{unit:"hour"});default:return nw(t.length,e)}}validate(e,t){return t>=0&&t<=11}set(e,t,n){return e.getHours()>=12&&n<12?e.setHours(n+12,0,0,0):e.setHours(n,0,0,0),e}incompatibleTokens=["h","H","k","t","T"]},k:new class e extends nc{priority=70;parse(e,t,n){switch(t){case"k":return nf(nl.hour24h,e);case"ko":return n.ordinalNumber(e,{unit:"hour"});default:return nw(t.length,e)}}validate(e,t){return t>=1&&t<=24}set(e,t,n){return e.setHours(n<=24?n%24:n,0,0,0),e}incompatibleTokens=["a","b","h","H","K","t","T"]},m:new class e extends nc{priority=60;parse(e,t,n){switch(t){case"m":return nf(nl.minute,e);case"mo":return n.ordinalNumber(e,{unit:"minute"});default:return nw(t.length,e)}}validate(e,t){return t>=0&&t<=59}set(e,t,n){return e.setMinutes(n,0,0),e}incompatibleTokens=["t","T"]},s:new class e extends nc{priority=50;parse(e,t,n){switch(t){case"s":return nf(nl.second,e);case"so":return n.ordinalNumber(e,{unit:"second"});default:return nw(t.length,e)}}validate(e,t){return t>=0&&t<=59}set(e,t,n){return e.setSeconds(n,0),e}incompatibleTokens=["t","T"]},S:new class e extends nc{priority=30;parse(e,t){return n_(nw(t.length,e),e=>Math.trunc(e*Math.pow(10,-t.length+3)))}set(e,t,n){return e.setMilliseconds(n),e}incompatibleTokens=["t","T"]},X:new class e extends nc{priority=10;parse(e,t){switch(t){case"X":return np(nd.basicOptionalMinutes,e);case"XX":return np(nd.basic,e);case"XXXX":return np(nd.basicOptionalSeconds,e);case"XXXXX":return np(nd.extendedOptionalSeconds,e);default:return np(nd.extended,e)}}set(e,t,n){return t.timestampIsSet?e:d(e,e.getTime()-O(e)-n)}incompatibleTokens=["t","T","x"]},x:new class e extends nc{priority=10;parse(e,t){switch(t){case"x":return np(nd.basicOptionalMinutes,e);case"xx":return np(nd.basic,e);case"xxxx":return np(nd.basicOptionalSeconds,e);case"xxxxx":return np(nd.extendedOptionalSeconds,e);default:return np(nd.extended,e)}}set(e,t,n){return t.timestampIsSet?e:d(e,e.getTime()-O(e)-n)}incompatibleTokens=["t","T","X"]},t:new class e extends nc{priority=40;parse(e){return nh(e)}set(e,t,n){return[d(e,1e3*n),{timestampIsSet:!0}]}incompatibleTokens="*"},T:new class e extends nc{priority=20;parse(e){return nh(e)}set(e,t,n){return[d(e,n),{timestampIsSet:!0}]}incompatibleTokens="*"}},nv=/[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g,nY=/P+p+|P+|p+|''|'(''|[^'])+('|$)|./g,nI=/^'([^]*?)'?$/,nN=/''/g,nW=/\S/,nH=/[a-zA-Z]/;function nF(e,t,n,r){let a=()=>d(r?.in||n,NaN),s=tQ(),o=r?.locale??s.locale??e1,i=r?.firstWeekContainsDate??r?.locale?.options?.firstWeekContainsDate??s.firstWeekContainsDate??s.locale?.options?.firstWeekContainsDate??1,u=r?.weekStartsOn??r?.locale?.options?.weekStartsOn??s.weekStartsOn??s.locale?.options?.weekStartsOn??0;if(!t)return e?a():_(n,r?.in);let c={firstWeekContainsDate:i,weekStartsOn:u,locale:o},l=[new nu(r?.in,n)],f=t.match(nY).map(e=>{let t=e[0];return t in to?(0,to[t])(e,o.formatLong):e}).join("").match(nv),p=[];for(let n of f){var h,w;if(!r?.useAdditionalWeekYearTokens&&(h=n,tu.test(h)))t_(n,t,e);if(!r?.useAdditionalDayOfYearTokens&&(w=n,ti.test(w)))t_(n,t,e);let s=n[0],i=nO[s];if(i){let{incompatibleTokens:t}=i;if(Array.isArray(t)){let e=p.find(e=>t.includes(e.token)||e.token===s);if(e)throw RangeError(`The format string mustn't contain \`${e.fullToken}\` and \`${n}\` at the same time`)}else if("*"===i.incompatibleTokens&&p.length>0)throw RangeError(`The format string mustn't contain \`${n}\` and any other token at the same time`);p.push({token:s,fullToken:n});let r=i.run(e,n,o.match,c);if(!r)return a();l.push(r.setter),e=r.rest}else{if(s.match(nH))throw RangeError("Format string contains an unescaped latin alphabet character `"+s+"`");if("''"===n?n="'":"'"===s&&(n=function(e){return e.match(nI)[1].replace(nN,"'")}(n)),0!==e.indexOf(n))return a();e=e.slice(n.length)}}if(e.length>0&&nW.test(e))return a();let m=l.map(e=>e.priority).sort((e,t)=>t-e).filter((e,t,n)=>n.indexOf(e)===t).map(e=>l.filter(t=>t.priority===e).sort((e,t)=>t.subPriority-e.subPriority)).map(e=>e[0]),g=_(n,r?.in);if(isNaN(+g))return a();let b={};for(let e of m){if(!e.validate(g,c))return a();let t=e.set(g,b,c);Array.isArray(t)?(g=t[0],Object.assign(b,t[1])):g=t}return g}function nP(e,t,n){return J(nF(e,t,new Date,n))}function nC(e,t){return 1===_(e,t?.in).getDay()}function nE(e){return+_(e)e-t);return r>=a&&r<=s}function re(e,t,n){return f(e,-t,n)}function rt(e,t){return A(d(t?.in||e,e),re(U(t?.in||e),1))}function rn(e,t){let n=_(e,t?.in),r=9+10*Math.floor(n.getFullYear()/10);return n.setFullYear(r+1,0,0),n.setHours(0,0,0,0),_(n,t?.in)}function rr(e,t){let n=y,r=t?.weekStartsOn??t?.locale?.options?.weekStartsOn??n.weekStartsOn??n.locale?.options?.weekStartsOn??0,a=_(e,t?.in),s=a.getDay();return a.setHours(0,0,0,0),a.setDate(a.getDate()+((s{if("''"===e)return"'";let t=e[0];if("'"===t)return function(e){let t=e.match(rc);return t?t[1].replace(rl,"'"):e}(e);let r=e7[t];if(r)return r(n,e);if(t.match(rd))throw RangeError("Format string contains an unescaped latin alphabet character `"+t+"`");return e}).join(""):""}function rf({years:e,months:t,weeks:n,days:r,hours:a,minutes:s,seconds:o}){let i=0;e&&(i+=365.2425*e),t&&(i+=30.436875*t),n&&(i+=7*n),r&&(i+=r);let u=86400*i;return a&&(u+=3600*a),s&&(u+=60*s),o&&(u+=o),Math.trunc(1e3*u)}function rp(e){return Math.trunc(e/36e5)}function rh(e){return Math.trunc(e/6e4)}function rw(e){return Math.trunc(e/1e3)}function rm(e){return Math.trunc(e/60)}function rg(e){return Math.trunc(6e4*e)}function rb(e){return Math.trunc(60*e)}function rx(e){return Math.trunc(e/3)}function rk(e){return Math.trunc(e/12)}function ry(e,t,n){let r=t-tP(e,n);return r<=0&&(r+=7),f(e,r,n)}function rM(e,t){return ry(e,5,t)}function rD(e,t){return ry(e,1,t)}function rT(e,t){return ry(e,6,t)}function rS(e,t){return ry(e,0,t)}function rO(e,t){return ry(e,4,t)}function rv(e,t){return ry(e,2,t)}function rY(e,t){return ry(e,3,t)}function rI(e,t){let n,r;let a=()=>d(t?.in,NaN),s=t?.additionalDigits??2,o=function(e){let t;let n={},r=e.split(rN.dateTimeDelimiter);if(r.length>2)return n;if(/:/.test(r[0])?t=r[0]:(n.date=r[0],t=r[1],rN.timeZoneDelimiter.test(n.date)&&(n.date=e.split(rN.timeZoneDelimiter)[0],t=e.substr(n.date.length,e.length))),t){let e=rN.timezone.exec(t);e?(n.time=t.replace(e[1],""),n.timezone=e[1]):n.time=t}return n}(e);if(o.date){let e=function(e,t){let n=RegExp("^(?:(\\d{4}|[+-]\\d{"+(4+t)+"})|(\\d{2}|[+-]\\d{"+(2+t)+"})$)"),r=e.match(n);if(!r)return{year:NaN,restDateString:""};let a=r[1]?parseInt(r[1]):null,s=r[2]?parseInt(r[2]):null;return{year:null===s?a:100*s,restDateString:e.slice((r[1]||r[2]).length)}}(o.date,s);n=function(e,t){if(null===t)return new Date(NaN);let n=e.match(rW);if(!n)return new Date(NaN);let r=!!n[4],a=rP(n[1]),s=rP(n[2])-1,o=rP(n[3]),i=rP(n[4]),u=rP(n[5])-1;if(r)return!function(e,t,n){return t>=1&&t<=53&&n>=0&&n<=6}(t,i,u)?new Date(NaN):function(e,t,n){let r=new Date(0);r.setUTCFullYear(e,0,4);let a=r.getUTCDay()||7;return r.setUTCDate(r.getUTCDate()+((t-1)*7+n+1-a)),r}(t,i,u);{let e=new Date(0);return!function(e,t,n){return t>=0&&t<=11&&n>=1&&n<=(rE[t]||(rq(e)?29:28))}(t,s,o)||!function(e,t){return t>=1&&t<=(rq(e)?366:365)}(t,a)?new Date(NaN):(e.setUTCFullYear(t,s,Math.max(a,o)),e)}}(e.restDateString,e.year)}if(!n||isNaN(+n))return a();let i=+n,u=0;if(o.time&&isNaN(u=function(e){let t=e.match(rH);if(!t)return NaN;let n=rC(t[1]),r=rC(t[2]),a=rC(t[3]);return!function(e,t,n){return 24===e?0===t&&0===n:n>=0&&n<60&&t>=0&&t<60&&e>=0&&e<25}(n,r,a)?NaN:36e5*n+6e4*r+1e3*a}(o.time)))return a();if(o.timezone){if(isNaN(r=function(e){if("Z"===e)return 0;let t=e.match(rF);if(!t)return 0;let n="+"===t[1]?-1:1,r=parseInt(t[2]),a=t[3]&&parseInt(t[3])||0;return!function(e,t){return t>=0&&t<=59}(r,a)?NaN:n*(36e5*r+6e4*a)}(o.timezone)))return a()}else{let e=new Date(i+u),n=_(0,t?.in);return n.setFullYear(e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate()),n.setHours(e.getUTCHours(),e.getUTCMinutes(),e.getUTCSeconds(),e.getUTCMilliseconds()),n}return _(i+u+r,t?.in)}let rN={dateTimeDelimiter:/[T ]/,timeZoneDelimiter:/[Z ]/i,timezone:/([Z+-].*)$/},rW=/^-?(?:(\d{3})|(\d{2})(?:-?(\d{2}))?|W(\d{2})(?:-?(\d{1}))?|)$/,rH=/^(\d{2}(?:[.,]\d*)?)(?::?(\d{2}(?:[.,]\d*)?))?(?::?(\d{2}(?:[.,]\d*)?))?$/,rF=/^([+-])(\d{2})(?::?(\d{2}))?$/;function rP(e){return e?parseInt(e):1}function rC(e){return e&&parseFloat(e.replace(",","."))||0}let rE=[31,null,31,30,31,30,31,31,30,31,30,31];function rq(e){return e%400==0||e%4==0&&e%100!=0}function r$(e,t){let n=e.match(/(\d{4})-(\d{2})-(\d{2})[T ](\d{2}):(\d{2}):(\d{2})(?:\.(\d{0,7}))?(?:Z|(.)(\d{2}):?(\d{2})?)?/);return n?_(Date.UTC(+n[1],+n[2]-1,+n[3],+n[4]-(+n[9]||0)*("-"==n[8]?-1:1),+n[5]-(+n[10]||0)*("-"==n[8]?-1:1),+n[6],+((n[7]||"0")+"00").substring(0,3)),t?.in):_(NaN,t?.in)}function rQ(e,t,n){let r=tP(e,n)-t;return r<=0&&(r+=7),re(e,r,n)}function rR(e,t){return rQ(e,5,t)}function rL(e,t){return rQ(e,1,t)}function rX(e,t){return rQ(e,6,t)}function rz(e,t){return rQ(e,0,t)}function rB(e,t){return rQ(e,4,t)}function rG(e,t){return rQ(e,2,t)}function rU(e,t){return rQ(e,3,t)}function rj(e){return Math.trunc(3*e)}function rA(e){return Math.trunc(e/4)}function rZ(e,t){let n=t?.nearestTo??1;if(n<1||n>12)return d(t?.in||e,NaN);let r=_(e,t?.in),a=r.getMinutes()/60,s=r.getSeconds()/60/60,o=r.getMilliseconds()/1e3/60/60,i=r.getHours()+a+s+o,u=eu(t?.roundingMethod??"round")(i/n)*n;return r.setHours(u,0,0,0),r}function rJ(e,t){let n=t?.nearestTo??1;if(n<1||n>30)return d(e,NaN);let r=_(e,t?.in),a=r.getSeconds()/60,s=r.getMilliseconds()/1e3/60,o=r.getMinutes()+a+s,i=eu(t?.roundingMethod??"round")(o/n)*n;return r.setMinutes(i,0,0),r}function rK(e){return Math.trunc(e/3600)}function rV(e){return 1e3*e}function r0(e){return Math.trunc(e/60)}function r1(e,t,n){let r=_(e,n?.in),a=r.getFullYear(),s=r.getDate(),o=d(n?.in||e,0);o.setFullYear(a,t,15),o.setHours(0,0,0,0);let i=tC(o);return r.setMonth(t,Math.min(s,i)),r}function r2(e,t,n){let r=_(e,n?.in);return isNaN(+r)?d(n?.in||e,NaN):(null!=t.year&&r.setFullYear(t.year),null!=t.month&&(r=r1(r,t.month)),null!=t.date&&r.setDate(t.date),null!=t.hours&&r.setHours(t.hours),null!=t.minutes&&r.setMinutes(t.minutes),null!=t.seconds&&r.setSeconds(t.seconds),null!=t.milliseconds&&r.setMilliseconds(t.milliseconds),r)}function r3(e,t,n){let r=_(e,n?.in);return r.setDate(t),r}function r4(e,t,n){let r=_(e,n?.in);return r.setMonth(0),r.setDate(t),r}function r6(e){let t={},n=y;for(let e in n)Object.prototype.hasOwnProperty.call(n,e)&&(t[e]=n[e]);for(let n in e)Object.prototype.hasOwnProperty.call(e,n)&&(void 0===e[n]?delete t[n]:t[n]=e[n]);y=t}function r5(e,t,n){let r=_(e,n?.in);return r.setHours(t),r}function r9(e,t,n){let r=_(e,n?.in);return r.setMilliseconds(t),r}function r7(e,t,n){let r=_(e,n?.in);return r.setMinutes(t),r}function r8(e,t,n){let r=_(e,n?.in),a=Math.trunc(r.getMonth()/3)+1;return r1(r,r.getMonth()+3*(t-a))}function ae(e,t,n){let r=_(e,n?.in);return r.setSeconds(t),r}function at(e,t,n){let r=y,a=n?.firstWeekContainsDate??n?.locale?.options?.firstWeekContainsDate??r.firstWeekContainsDate??r.locale?.options?.firstWeekContainsDate??1,s=I(_(e,n?.in),e6(e,n),n),o=d(n?.in||e,0);o.setFullYear(t,0,a),o.setHours(0,0,0,0);let i=e6(o,n);return i.setDate(i.getDate()+s),i}function an(e,t,n){let r=_(e,n?.in);return isNaN(+r)?d(n?.in||e,NaN):(r.setFullYear(t),r)}function ar(e,t){let n=_(e,t?.in),r=10*Math.floor(n.getFullYear()/10);return n.setFullYear(r,0,1),n.setHours(0,0,0,0),n}function aa(e){return Y(Date.now(),e)}function as(e){let t=U(e?.in),n=t.getFullYear(),r=t.getMonth(),a=t.getDate(),s=d(e?.in,0);return s.setFullYear(n,r,a+1),s.setHours(0,0,0,0),s}function ao(e){let t=U(e?.in),n=t.getFullYear(),r=t.getMonth(),a=t.getDate(),s=U(e?.in);return s.setFullYear(n,r,a-1),s.setHours(0,0,0,0),s}function ai(e,t,n){return p(e,-t,n)}function au(e,t,n){let{years:r=0,months:a=0,weeks:s=0,days:o=0,hours:i=0,minutes:u=0,seconds:c=0}=t,l=re(ai(e,a+12*r,n),o+7*s,n);return d(n?.in||e,+l-1e3*(c+60*(u+60*i)))}function ac(e,t,n){return b(e,-t,n)}function al(e,t,n){return k(e,-t,n)}function ad(e,t,n){return x(e,-t,n)}function a_(e,t,n){return F(e,-t,n)}function af(e,t,n){return P(e,-t,n)}function ap(e,t,n){return C(e,-t,n)}function ah(e,t,n){return E(e,-t,n)}function aw(e,t,n){return q(e,-t,n)}function am(e){return Math.trunc(7*e)}function ag(e){return Math.trunc(365.2425*e)}function ab(e){return Math.trunc(12*e)}function ax(e){return Math.trunc(4*e)}var ak=a.IHx,ay=a.lRK,aM=a.E4D,aD=a.TRp,aT=a.FW5,aS=a.n$9,aO=a.mHT,av=a.zI1,aY=a.PEw,aI=a.v8_,aN=a.jh6,aW=a.BcS,aH=a.i9C,aF=a.uZ5,aP=a.L6w,aC=a.r0A,aE=a.U07,aq=a.Q$z,a$=a.Lwe,aQ=a.yGv,aR=a.e1l,aL=a.ylU,aX=a.wYv,az=a.rgg,aB=a.gIK,aG=a.TTW,aU=a.Pcw,aj=a.SCw,aA=a.b2b,aZ=a.jc7,aJ=a.Afj,aK=a.Enw,aV=a._QS,a0=a.XXK,a1=a.dpX,a2=a.GXW,a3=a.cAe,a4=a.pVe,a6=a.ohG,a5=a.Dyl,a9=a.eri,a7=a.zIu,a8=a.Ryi,se=a.VIR,st=a._sA,sn=a.mY2,sr=a.D4H,sa=a.Jaj,ss=a.k5S,so=a.iXC,si=a.r8,su=a.Tr$,sc=a.g5s,sl=a.oK0,sd=a.tgW,s_=a.Vf5,sf=a.xmy,sp=a.EG7,sh=a.piF,sw=a.TSR,sm=a.vV0,sg=a.wRY,sb=a.lRE,sx=a.WUZ,sk=a.p6d,sy=a.Bb1,sM=a.HyV,sD=a.QN$,sT=a.Dw7,sS=a.LUK,sO=a.cKn,sv=a.XT9,sY=a.mrR,sI=a.e99,sN=a.sOY,sW=a.lYz,sH=a.$0l,sF=a.Krj,sP=a._3l,sC=a.wfZ,sE=a.BkN,sq=a.NCP,s$=a.yvf,sQ=a._JO,sR=a.jws,sL=a.pDf,sX=a.t3P,sz=a.lTB,sB=a.Lyf,sG=a.u_L,sU=a.ptw,sj=a.q$1,sA=a.jwl,sZ=a.Grt,sJ=a.GmD,sK=a.CXc,sV=a.hKD,s0=a.ZGt,s1=a.Qk4,s2=a.Qy1,s3=a.clM,s4=a.Rn0,s6=a.Sow,s5=a.a9s,s9=a.wzm,s7=a.Enz,s8=a.FG_,oe=a.y3Y,ot=a.Caw,on=a.UJW,or=a.AxD,oa=a.RRz,os=a.J_U,oo=a.Xyp,oi=a.hVD,ou=a.baq,oc=a.Lkm,ol=a.Ald,od=a.h2X,o_=a.Eg9,of=a.BDr,op=a.rwE,oh=a.CRU,ow=a.KCn,om=a.fu6,og=a.CR3,ob=a.Qye,ox=a.x08,ok=a.xjs,oy=a.Gll,oM=a.qzn,oD=a.x17,oT=a.FTO,oS=a.ouq,oO=a.HeL,ov=a.LzD,oY=a.c1p,oI=a.Kw5,oN=a.k4Y,oW=a.tZg,oH=a.tGx,oF=a.mrs,oP=a.X2i,oC=a.J23,oE=a.zkt,oq=a.Pmz,o$=a.Gyo,oQ=a.JYS,oR=a.t$I,oL=a.QDe,oX=a._wM,oz=a.gO8,oB=a.qcu,oG=a.CtJ,oU=a.MFN,oj=a.qlj,oA=a.Kcv,oZ=a.$5k,oJ=a.kFF,oK=a.ARO,oV=a.oI1,o0=a.Gw2,o1=a.Fp7,o2=a.may,o3=a.N7m,o4=a.kgA,o6=a.X5o,o5=a.VV$,o9=a.s9U,o7=a.J2R,o8=a.z7Y,ie=a.txZ,it=a.y6H,ir=a.Om$,ia=a.ckD,is=a.$$D,io=a.eBe,ii=a.UhZ,iu=a.U5Z,ic=a.ElY,il=a.QLC,id=a.Qc3,i_=a.Dy_,ip=a.Rxj,ih=a.fQr,iw=a.ff7,im=a.Hcp,ig=a.T0Q,ib=a.rnl,ix=a.cEO,ik=a.psP,iy=a.YMT,iM=a._Yd,iD=a.vEe,iT=a.pal,iS=a.LBu,iO=a.Y5B,iv=a.sXY,iY=a.w4g,iI=a.Aq0,iN=a.t8m,iW=a.GSB,iH=a.vOc,iF=a.nJE,iP=a.bys,iC=a.Bq9,iE=a.vYw,iq=a.MM1,i$=a.$rd,iQ=a.IP5,iR=a.HZm,iL=a.q0L,iX=a.dnu,iz=a.Op_,iB=a.$Bo,iG=a.mDs,iU=a.Mqo,ij=a.b7Q,iA=a.xM2,iZ=a.ouc,iJ=a.TRG,iK=a.EMy,iV=a.Fqb,i0=a.Nme,i1=a.xnd,i2=a.m1u,i3=a.IFn,i4=a.oX3,i6=a.zJ7,i5=a.vDK,i9=a.emk,i7=a.YxI,i8=a.luU,ue=a.eED,ut=a.kwo,un=a.bSA,ur=a.zRx,ua=a.IUg,us=a._5I,uo=a.W9x,ui=a.YWP,uu=a.cKU,uc=a.taE,ul=a.eM9,ud=a.ZUP,u_=a.p4s,uf=a.mm_,up=a.QVS,uh=a.uu1,uw=a.tRJ;export{ak as add,ay as addBusinessDays,aM as addDays,aD as addHours,aT as addISOWeekYears,aS as addMilliseconds,aO as addMinutes,av as addMonths,aY as addQuarters,aI as addSeconds,aN as addWeeks,aW as addYears,aH as areIntervalsOverlapping,aF as clamp,aP as closestIndexTo,aC as closestTo,aE as compareAsc,aq as compareDesc,a$ as constructFrom,aQ as constructNow,aR as daysToWeeks,aL as differenceInBusinessDays,aX as differenceInCalendarDays,az as differenceInCalendarISOWeekYears,aB as differenceInCalendarISOWeeks,aG as differenceInCalendarMonths,aU as differenceInCalendarQuarters,aj as differenceInCalendarWeeks,aA as differenceInCalendarYears,aZ as differenceInDays,aJ as differenceInHours,aK as differenceInISOWeekYears,aV as differenceInMilliseconds,a0 as differenceInMinutes,a1 as differenceInMonths,a2 as differenceInQuarters,a3 as differenceInSeconds,a4 as differenceInWeeks,a6 as differenceInYears,a5 as eachDayOfInterval,a9 as eachHourOfInterval,a7 as eachMinuteOfInterval,a8 as eachMonthOfInterval,se as eachQuarterOfInterval,st as eachWeekOfInterval,sn as eachWeekendOfInterval,sr as eachWeekendOfMonth,sa as eachWeekendOfYear,ss as eachYearOfInterval,so as endOfDay,si as endOfDecade,su as endOfHour,sc as endOfISOWeek,sl as endOfISOWeekYear,sd as endOfMinute,s_ as endOfMonth,sf as endOfQuarter,sp as endOfSecond,sh as endOfToday,sw as endOfTomorrow,sm as endOfWeek,sg as endOfYear,sb as endOfYesterday,sx as format,sk as formatDate,sy as formatDistance,sM as formatDistanceStrict,sD as formatDistanceToNow,sT as formatDistanceToNowStrict,sS as formatDuration,sO as formatISO,sv as formatISO9075,sY as formatISODuration,sI as formatRFC3339,sN as formatRFC7231,sW as formatRelative,sH as formatters,sF as fromUnixTime,sP as getDate,sC as getDay,sE as getDayOfYear,sq as getDaysInMonth,s$ as getDaysInYear,sQ as getDecade,sR as getDefaultOptions,sL as getHours,sX as getISODay,sz as getISOWeek,sB as getISOWeekYear,sG as getISOWeeksInYear,sU as getMilliseconds,sj as getMinutes,sA as getMonth,sZ as getOverlappingDaysInIntervals,sJ as getQuarter,sK as getSeconds,sV as getTime,s0 as getUnixTime,s1 as getWeek,s2 as getWeekOfMonth,s3 as getWeekYear,s4 as getWeeksInMonth,s6 as getYear,s5 as hoursToMilliseconds,s9 as hoursToMinutes,s7 as hoursToSeconds,s8 as interval,oe as intervalToDuration,ot as intlFormat,on as intlFormatDistance,or as isAfter,oa as isBefore,os as isDate,oo as isEqual,oi as isExists,ou as isFirstDayOfMonth,oc as isFriday,ol as isFuture,od as isLastDayOfMonth,o_ as isLeapYear,of as isMatch,op as isMonday,oh as isPast,ow as isSameDay,om as isSameHour,og as isSameISOWeek,ob as isSameISOWeekYear,ox as isSameMinute,ok as isSameMonth,oy as isSameQuarter,oM as isSameSecond,oD as isSameWeek,oT as isSameYear,oS as isSaturday,oO as isSunday,ov as isThisHour,oY as isThisISOWeek,oI as isThisMinute,oN as isThisMonth,oW as isThisQuarter,oH as isThisSecond,oF as isThisWeek,oP as isThisYear,oC as isThursday,oE as isToday,oq as isTomorrow,o$ as isTuesday,oQ as isValid,oR as isWednesday,oL as isWeekend,oX as isWithinInterval,oz as isYesterday,oB as lastDayOfDecade,oG as lastDayOfISOWeek,oU as lastDayOfISOWeekYear,oj as lastDayOfMonth,oA as lastDayOfQuarter,oZ as lastDayOfWeek,oJ as lastDayOfYear,oK as lightFormat,oV as lightFormatters,o0 as longFormatters,o1 as max,o2 as milliseconds,o3 as millisecondsToHours,o4 as millisecondsToMinutes,o6 as millisecondsToSeconds,o5 as min,o9 as minutesToHours,o7 as minutesToMilliseconds,o8 as minutesToSeconds,ie as monthsToQuarters,it as monthsToYears,ir as nextDay,ia as nextFriday,is as nextMonday,io as nextSaturday,ii as nextSunday,iu as nextThursday,ic as nextTuesday,il as nextWednesday,id as parse,i_ as parseISO,ip as parseJSON,ih as parsers,iw as previousDay,im as previousFriday,ig as previousMonday,ib as previousSaturday,ix as previousSunday,ik as previousThursday,iy as previousTuesday,iM as previousWednesday,iD as quartersToMonths,iT as quartersToYears,iS as roundToNearestHours,iO as roundToNearestMinutes,iv as secondsToHours,iY as secondsToMilliseconds,iI as secondsToMinutes,iN as set,iW as setDate,iH as setDay,iF as setDayOfYear,iP as setDefaultOptions,iC as setHours,iE as setISODay,iq as setISOWeek,i$ as setISOWeekYear,iQ as setMilliseconds,iR as setMinutes,iL as setMonth,iX as setQuarter,iz as setSeconds,iB as setWeek,iG as setWeekYear,iU as setYear,ij as startOfDay,iA as startOfDecade,iZ as startOfHour,iJ as startOfISOWeek,iK as startOfISOWeekYear,iV as startOfMinute,i0 as startOfMonth,i1 as startOfQuarter,i2 as startOfSecond,i3 as startOfToday,i4 as startOfTomorrow,i6 as startOfWeek,i5 as startOfWeekYear,i9 as startOfYear,i7 as startOfYesterday,i8 as sub,ue as subBusinessDays,ut as subDays,un as subHours,ur as subISOWeekYears,ua as subMilliseconds,us as subMinutes,uo as subMonths,ui as subQuarters,uu as subSeconds,uc as subWeeks,ul as subYears,ud as toDate,u_ as transpose,uf as weeksToDays,up as yearsToDays,uh as yearsToMonths,uw as yearsToQuarters}; \ No newline at end of file diff --git a/ssr-base/src/entry.client.45d16617.final.js b/ssr-base/src/entry.client.45d16617.final.js new file mode 100644 index 000000000..6bb555d97 --- /dev/null +++ b/ssr-base/src/entry.client.45d16617.final.js @@ -0,0 +1 @@ +var r={},t={};function e(n){var o=t[n];if(void 0!==o)return o.exports;var u=t[n]={exports:{}};return r[n](u,u.exports,e),u.exports}e.rv=function(){return"1.1.2"},e.ruid="bundler=rspack@1.1.2"; \ No newline at end of file diff --git a/ssr-base/src/title.13ce4d5e.final.js b/ssr-base/src/title.13ce4d5e.final.js new file mode 100644 index 000000000..b0b1e462e --- /dev/null +++ b/ssr-base/src/title.13ce4d5e.final.js @@ -0,0 +1 @@ +var r={},e={};function t(n){var o=e[n];if(void 0!==o)return o.exports;var u=e[n]={exports:{}};return r[n](u,u.exports,t),u.exports}t.d=function(r,e){for(var n in e)t.o(e,n)&&!t.o(r,n)&&Object.defineProperty(r,n,{enumerable:!0,get:e[n]})},t.o=function(r,e){return Object.prototype.hasOwnProperty.call(r,e)},t.rv=function(){return"1.1.2"},t.ruid="bundler=rspack@1.1.2";var n={};function o(){return"Gez"}t.d(n,{Y:function(){return o}});var u=n.Y;export{u as getTitle}; \ No newline at end of file diff --git a/ssr-html/about/index.html b/ssr-html/about/index.html new file mode 100644 index 000000000..3b2fb8d5e --- /dev/null +++ b/ssr-html/about/index.html @@ -0,0 +1,32 @@ + + + + + + + + Gez + + + +
+ +
+

Gez

+ +
+ Gez 是一个基于 Rspack 构建的模块链接(Module Link) 解决方案,通过 importmap 将多服务的模块映射到具有强缓存,基于内容哈希的 URL 中。 +
+
+ +
+ + + + + + + diff --git a/ssr-html/chunks/222.584a2be3.final.css b/ssr-html/chunks/222.584a2be3.final.css new file mode 100644 index 000000000..9b19013a5 --- /dev/null +++ b/ssr-html/chunks/222.584a2be3.final.css @@ -0,0 +1 @@ +.layout{padding:10px}head{--webpack-__ssr_html__-222:&_992} \ No newline at end of file diff --git a/ssr-html/chunks/222.81e62fc0.final.js b/ssr-html/chunks/222.81e62fc0.final.js new file mode 100644 index 000000000..a1f104791 --- /dev/null +++ b/ssr-html/chunks/222.81e62fc0.final.js @@ -0,0 +1,35 @@ +export const ids=["222"];export const modules={878:function(e,t,r){function i(e){return` +
+

Gez

+ +
+ ${e} +
+
+`}r.d(t,{b:function(){return i}}),r(992)},286:function(e,t,r){function i(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}r.d(t,{T:function(){return n}});class n{get props(){if(null===this._props)throw Error("props is null");return this._props}set props(e){this._props=e}render(){return""}onCreated(){}onClient(){}async onServer(){this.importMetaSet.add(import.meta)}constructor(){i(this,"importMetaSet",new Set),i(this,"_props",null),i(this,"state",{})}}},421:function(e,t,r){r.r(t),r.d(t,{default:()=>c});var i=r("878");let n=r.p+"images/cat.ed79ef6b.final.jpeg",s=r.p+"images/loading.6e6b1b2e.final.gif",a=r.p+"images/logo.310683d2.final.svg",o=r.p+"images/starry.d914a632.final.jpg",l=r.p+"images/sun.429a7bc5.final.png";var u=r("286");class c extends u.T{render(){let{url:e}=this.props,{count:t}=this.state;return(0,i.b)(` +

计数器

+
${t}
+

请求地址

+
${e}
+

图片

+
    +
  • ${a}
    + +
  • +
  • ${o}
    + +
  • +
  • ${n}
    + +
  • +
  • ${s}
    + +
  • +
  • ${l}
    + +
  • +
+`)}onClient(){setInterval(()=>{this.state.count++;let e=document.querySelector("#count");e instanceof HTMLDivElement&&(e.innerText=String(this.state.count))},1e3)}async onServer(){this.importMetaSet.add(import.meta),super.onServer(),this.state.count=1}constructor(...e){var t,r,i;super(...e),t=this,i={count:0},(r="state")in t?Object.defineProperty(t,r,{value:i,enumerable:!0,configurable:!0,writable:!0}):t[r]=i}}}}; \ No newline at end of file diff --git a/ssr-html/chunks/473.31938102.final.js b/ssr-html/chunks/473.31938102.final.js new file mode 100644 index 000000000..9cb51e5fe --- /dev/null +++ b/ssr-html/chunks/473.31938102.final.js @@ -0,0 +1,12 @@ +export const ids=["473"];export const modules={878:function(t,e,r){function n(t){return` +
+

Gez

+ +
+ ${t} +
+
+`}r.d(e,{b:function(){return n}}),r(992)},286:function(t,e,r){function n(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}r.d(e,{T:function(){return i}});class i{get props(){if(null===this._props)throw Error("props is null");return this._props}set props(t){this._props=t}render(){return""}onCreated(){}onClient(){}async onServer(){this.importMetaSet.add(import.meta)}constructor(){n(this,"importMetaSet",new Set),n(this,"_props",null),n(this,"state",{})}}},896:function(t,e,r){r.r(e),r.d(e,{default:function(){return o}});var n=r(878),i=r(286);class o extends i.T{render(){return(0,n.b)(`Gez 是一个基于 Rspack 构建的模块链接(Module Link) 解决方案,通过 importmap 将多服务的模块映射到具有强缓存,基于内容哈希的 URL 中。`)}async onServer(){this.importMetaSet.add(import.meta),super.onServer(),this.state.time=new Date().toISOString()}constructor(...t){var e,r,n;super(...t),e=this,n={time:""},(r="state")in e?Object.defineProperty(e,r,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[r]=n}}}}; \ No newline at end of file diff --git a/ssr-html/chunks/473.584a2be3.final.css b/ssr-html/chunks/473.584a2be3.final.css new file mode 100644 index 000000000..fd550132e --- /dev/null +++ b/ssr-html/chunks/473.584a2be3.final.css @@ -0,0 +1 @@ +.layout{padding:10px}head{--webpack-__ssr_html__-473:&_992} \ No newline at end of file diff --git a/ssr-html/chunks/830.584a2be3.final.css b/ssr-html/chunks/830.584a2be3.final.css new file mode 100644 index 000000000..999347194 --- /dev/null +++ b/ssr-html/chunks/830.584a2be3.final.css @@ -0,0 +1 @@ +.layout{padding:10px}head{--webpack-__ssr_html__-830:&_992} \ No newline at end of file diff --git a/ssr-html/chunks/830.da02209d.final.js b/ssr-html/chunks/830.da02209d.final.js new file mode 100644 index 000000000..abf714490 --- /dev/null +++ b/ssr-html/chunks/830.da02209d.final.js @@ -0,0 +1,12 @@ +export const ids=["830"];export const modules={878:function(t,r,e){function n(t){return` +
+

Gez

+ +
+ ${t} +
+
+`}e.d(r,{b:function(){return n}}),e(992)},286:function(t,r,e){function n(t,r,e){return r in t?Object.defineProperty(t,r,{value:e,enumerable:!0,configurable:!0,writable:!0}):t[r]=e,t}e.d(r,{T:function(){return o}});class o{get props(){if(null===this._props)throw Error("props is null");return this._props}set props(t){this._props=t}render(){return""}onCreated(){}onClient(){}async onServer(){this.importMetaSet.add(import.meta)}constructor(){n(this,"importMetaSet",new Set),n(this,"_props",null),n(this,"state",{})}}},654:function(t,r,e){e.r(r),e.d(r,{default:function(){return i}});var n=e(878),o=e(286);class i extends o.T{render(){return(0,n.b)("

Not Found

")}async onServer(){this.importMetaSet.add(import.meta),super.onServer()}}}}; \ No newline at end of file diff --git a/ssr-html/images/cat.ed79ef6b.final.jpeg b/ssr-html/images/cat.ed79ef6b.final.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..29e4dab9bb9f3719f1e1a4f95ec634d038205b01 GIT binary patch literal 9111 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 literal 0 HcmV?d00001 diff --git a/ssr-html/images/loading.6e6b1b2e.final.gif b/ssr-html/images/loading.6e6b1b2e.final.gif new file mode 100644 index 0000000000000000000000000000000000000000..0613ccb0c68936132dd480decc45bccacc4c3e40 GIT binary patch literal 10805 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 literal 0 HcmV?d00001 diff --git a/ssr-html/images/logo.310683d2.final.svg b/ssr-html/images/logo.310683d2.final.svg new file mode 100644 index 000000000..fef098a63 --- /dev/null +++ b/ssr-html/images/logo.310683d2.final.svg @@ -0,0 +1,3 @@ + + Gez + \ No newline at end of file diff --git a/ssr-html/images/starry.d914a632.final.jpg b/ssr-html/images/starry.d914a632.final.jpg new file mode 100644 index 0000000000000000000000000000000000000000..1d0c3b0a572b62130289f400d022c56bdc51e970 GIT binary patch literal 154039 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

6=6 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

?mGqH$M^Zdg%!ms=` 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 literal 0 HcmV?d00001 diff --git a/ssr-html/importmap.17cb61bb3a8c0c55.final.js b/ssr-html/importmap.17cb61bb3a8c0c55.final.js new file mode 100644 index 000000000..c57855d7e --- /dev/null +++ b/ssr-html/importmap.17cb61bb3a8c0c55.final.js @@ -0,0 +1 @@ +(t=>{let r="ssr-html",e="__importmap__",s=t[e]=t[e]||{},i=s.imports=s.imports||{},n=new URL(document.currentScript.src).pathname.split("/"+r+"/"),c=t=>r+t.substring(1);Object.entries({"./src/entry.client":"./src/entry.client.e563ad2e.final.js"}).forEach(([t,r])=>{i[c(t)]=n[0]+"/"+c(r)})})(globalThis); \ No newline at end of file diff --git a/ssr-html/importmap.js b/ssr-html/importmap.js new file mode 100644 index 000000000..c57855d7e --- /dev/null +++ b/ssr-html/importmap.js @@ -0,0 +1 @@ +(t=>{let r="ssr-html",e="__importmap__",s=t[e]=t[e]||{},i=s.imports=s.imports||{},n=new URL(document.currentScript.src).pathname.split("/"+r+"/"),c=t=>r+t.substring(1);Object.entries({"./src/entry.client":"./src/entry.client.e563ad2e.final.js"}).forEach(([t,r])=>{i[c(t)]=n[0]+"/"+c(r)})})(globalThis); \ No newline at end of file diff --git a/ssr-html/index.html b/ssr-html/index.html new file mode 100644 index 000000000..946454e52 --- /dev/null +++ b/ssr-html/index.html @@ -0,0 +1,55 @@ + + + + + + + + Gez + + + +

+ +
+

Gez

+
+
+ +

计数器

+
1
+

请求地址

+
/
+

图片

+
    +
  • /gez/ssr-html/images/logo.310683d2.final.svg
    + +
  • +
  • /gez/ssr-html/images/starry.d914a632.final.jpg
    + +
  • +
  • /gez/ssr-html/images/cat.ed79ef6b.final.jpeg
    + +
  • +
  • /gez/ssr-html/images/loading.6e6b1b2e.final.gif
    + +
  • +
  • /gez/ssr-html/images/sun.429a7bc5.final.png
    + +
  • +
+ +
+
+ +
+ + + + + + + diff --git a/ssr-html/manifest.json b/ssr-html/manifest.json new file mode 100644 index 000000000..6f04c4ddd --- /dev/null +++ b/ssr-html/manifest.json @@ -0,0 +1,82 @@ +{ + "name": "ssr-html", + "version": "1.0.0", + "hash": "17cb61bb3a8c0c55", + "type": "module", + "exports": { + "./src/entry.client": "./src/entry.client.e563ad2e.final.js" + }, + "buildFiles": [ + "images/logo.310683d2.final.svg", + "chunks/473.31938102.final.js", + "chunks/222.81e62fc0.final.js", + "images/cat.ed79ef6b.final.jpeg", + "images/sun.429a7bc5.final.png", + "chunks/473.584a2be3.final.css", + "chunks/830.da02209d.final.js", + "chunks/222.584a2be3.final.css", + "importmap.js", + "chunks/830.584a2be3.final.css", + "importmap.17cb61bb3a8c0c55.final.js", + "src/entry.client.ab81ae40.final.css", + "images/starry.d914a632.final.jpg", + "src/entry.client.e563ad2e.final.js", + "images/loading.6e6b1b2e.final.gif" + ], + "chunks": { + "ssr-html@src/views/home.ts": { + "js": "chunks/222.81e62fc0.final.js", + "css": [ + "chunks/222.584a2be3.final.css" + ], + "resources": [ + "images/cat.ed79ef6b.final.jpeg", + "images/loading.6e6b1b2e.final.gif", + "images/logo.310683d2.final.svg", + "images/starry.d914a632.final.jpg", + "images/sun.429a7bc5.final.png" + ], + "sizes": { + "js": 3911, + "css": 30, + "resource": 187219 + } + }, + "ssr-html@src/views/about.ts": { + "js": "chunks/473.31938102.final.js", + "css": [ + "chunks/473.584a2be3.final.css" + ], + "resources": [], + "sizes": { + "js": 2360, + "css": 30, + "resource": 0 + } + }, + "ssr-html@src/views/not-found.ts": { + "js": "chunks/830.da02209d.final.js", + "css": [ + "chunks/830.584a2be3.final.css" + ], + "resources": [], + "sizes": { + "js": 1687, + "css": 30, + "resource": 0 + } + }, + "ssr-html@src/entry.client.ts": { + "js": "./src/entry.client.e563ad2e.final.js", + "css": [ + "./src/entry.client.ab81ae40.final.css" + ], + "resources": [], + "sizes": { + "js": 11760, + "css": 44, + "resource": 0 + } + } + } +} \ No newline at end of file diff --git a/ssr-html/src/entry.client.ab81ae40.final.css b/ssr-html/src/entry.client.ab81ae40.final.css new file mode 100644 index 000000000..8aa7841fb --- /dev/null +++ b/ssr-html/src/entry.client.ab81ae40.final.css @@ -0,0 +1 @@ +html,body{margin:0;padding:0}head{--webpack-__ssr_html__-891:&_612} \ No newline at end of file diff --git a/ssr-html/src/entry.client.e563ad2e.final.js b/ssr-html/src/entry.client.e563ad2e.final.js new file mode 100644 index 000000000..e7ecf171e --- /dev/null +++ b/ssr-html/src/entry.client.e563ad2e.final.js @@ -0,0 +1 @@ +var e,t,r,n,o,i,a,u={},l={};function c(e){var t=l[e];if(void 0!==t)return t.exports;var r=l[e]={exports:{}};return u[e](r,r.exports,c),r.exports}async function s(e){let t=[{path:"/",page:()=>c.e("222").then(c.bind(c,421)).then(e=>e.default)},{path:"/about",page:()=>c.e("473").then(c.bind(c,896)).then(e=>e.default)}].find(t=>t.path===e);return t?t.page():c.e("830").then(c.bind(c,654)).then(e=>e.default)}c.m=u,c.d=function(e,t){for(var r in t)c.o(t,r)&&!c.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},c.f={},c.e=function(e){return Promise.all(Object.keys(c.f).reduce(function(t,r){return c.f[r](e,t),t},[]))},c.k=function(e){return"chunks/"+e+"."+({222:"584a2be3",473:"584a2be3",830:"584a2be3"})[e]+".final.css"},c.u=function(e){return"chunks/"+e+"."+({222:"81e62fc0",473:"31938102",830:"da02209d"})[e]+".final.js"},c.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||Function("return this")()}catch(e){if("object"==typeof window)return window}}(),c.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},c.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},c.rv=function(){return"1.1.2"},(()=>{var e;if("string"==typeof import.meta.url&&(e=import.meta.url),!e)throw Error("Automatic publicPath is not supported in this browser");e=e.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),c.p=e+"../"})(),e={},t="__ssr_html__",r=(r,n,i)=>{var a,u,l="",s="",f="",d={},p="--webpack-"+t+"-"+i,h=1,b={};try{!n&&(n=o(i));for(var m=n.sheet.cssRules||n.sheet.rules,v=m.length-1;v>-1&&!a;){var g=m[v--].style;if(!!g)a=g.getPropertyValue(p)}}catch(e){}if(!a&&(a=getComputedStyle(document.head).getPropertyValue(p)),!a)return[];var y,w={},_=a[0],k=_,A=_,P=256;for(u=1;u65535&&(P=256,w={}),k=y;for(u=0,a=A;h;u++)58==(h=a.charCodeAt(u))?(s=l,l=""):47==h?(l=l.replace(/^_/,""),s=s.replace(/^_/,""),f?b.push(s,f,l):d[s]=void 0===d[s]?l:d[s]+" "+l,l="",s="",f=""):38==h?c.r(d):h&&44!=h?92==h?l+=a[++u]:64==h?(f=l,l=""):l+=a[u]:(r[l=l.replace(/^_/,"")]=((e,t,r)=>{!function(e,t){for(var r=0;r{let r="ssr-preact-htm",e="__importmap__",s=t[e]=t[e]||{},c=s.imports=s.imports||{},i=new URL(document.currentScript.src).pathname.split("/"+r+"/"),n=t=>r+t.substring(1);Object.entries({"./src/entry.client":"./src/entry.client.fa83e714.final.js"}).forEach(([t,r])=>{c[n(t)]=i[0]+"/"+n(r)})})(globalThis); \ No newline at end of file diff --git a/ssr-preact-htm/importmap.js b/ssr-preact-htm/importmap.js new file mode 100644 index 000000000..fd6674313 --- /dev/null +++ b/ssr-preact-htm/importmap.js @@ -0,0 +1 @@ +(t=>{let r="ssr-preact-htm",e="__importmap__",s=t[e]=t[e]||{},c=s.imports=s.imports||{},i=new URL(document.currentScript.src).pathname.split("/"+r+"/"),n=t=>r+t.substring(1);Object.entries({"./src/entry.client":"./src/entry.client.fa83e714.final.js"}).forEach(([t,r])=>{c[n(t)]=i[0]+"/"+n(r)})})(globalThis); \ No newline at end of file diff --git a/ssr-preact-htm/index.html b/ssr-preact-htm/index.html new file mode 100644 index 000000000..bd4b79182 --- /dev/null +++ b/ssr-preact-htm/index.html @@ -0,0 +1,19 @@ + + + + + + + + Gez + + + +
+

Preact

你好,世界!

+
+ + + + + diff --git a/ssr-preact-htm/manifest.json b/ssr-preact-htm/manifest.json new file mode 100644 index 000000000..89c328287 --- /dev/null +++ b/ssr-preact-htm/manifest.json @@ -0,0 +1,29 @@ +{ + "name": "ssr-preact-htm", + "version": "1.0.0", + "hash": "ac9bc79c92f1ef08", + "type": "module", + "exports": { + "./src/entry.client": "./src/entry.client.fa83e714.final.js" + }, + "buildFiles": [ + "importmap.js", + "importmap.ac9bc79c92f1ef08.final.js", + "src/entry.client.fa83e714.final.js", + "src/entry.client.191feabb.final.css" + ], + "chunks": { + "ssr-preact-htm@src/entry.client.ts": { + "js": "./src/entry.client.fa83e714.final.js", + "css": [ + "./src/entry.client.191feabb.final.css" + ], + "resources": [], + "sizes": { + "js": 19003, + "css": 39, + "resource": 0 + } + } + } +} \ No newline at end of file diff --git a/ssr-preact-htm/src/entry.client.191feabb.final.css b/ssr-preact-htm/src/entry.client.191feabb.final.css new file mode 100644 index 000000000..98522cfe8 --- /dev/null +++ b/ssr-preact-htm/src/entry.client.191feabb.final.css @@ -0,0 +1 @@ +body{margin:0;padding:0}head{--webpack-__ssr_preact_htm__-891:&_142} \ No newline at end of file diff --git a/ssr-preact-htm/src/entry.client.fa83e714.final.js b/ssr-preact-htm/src/entry.client.fa83e714.final.js new file mode 100644 index 000000000..14e2d9e05 --- /dev/null +++ b/ssr-preact-htm/src/entry.client.fa83e714.final.js @@ -0,0 +1,4 @@ +var e={},t={};function n(_){var r=t[_];if(void 0!==r)return r.exports;var o=t[_]={exports:{}};return e[_](o,o.exports,n),o.exports}n.m=e,n.k=function(e){return""+e+".css"},n.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||Function("return this")()}catch(e){if("object"==typeof window)return window}}(),n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.rv=function(){return"1.1.2"},(()=>{var e;if("string"==typeof import.meta.url&&(e=import.meta.url),!e)throw Error("Automatic publicPath is not supported in this browser");e=e.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),n.p=e+"../"})(),_={},r="__ssr_preact_htm__",o="data-webpack-loading",l=function(e,t,_,l,u){var i,s,c="chunk-"+e;if(!l){for(var p=document.getElementsByTagName("link"),f=0;f{var u,i,s="",c="",p="",f={},a="--webpack-"+r+"-"+o,h=1,d={};try{!t&&(t=l(o));for(var v=t.sheet.cssRules||t.sheet.rules,y=v.length-1;y>-1&&!u;){var g=v[y--].style;if(!!g)u=g.getPropertyValue(a)}}catch(e){}if(!u&&(u=getComputedStyle(document.head).getPropertyValue(a)),!u)return;var m,b={},k=u[0],w=k,x=k,P=256;for(i=1;i65535&&(P=256,b={}),w=m;for(i=0,u=x;h;i++)58==(h=u.charCodeAt(i))?(c=s,s=""):47==h?(s=s.replace(/^_/,""),c=c.replace(/^_/,""),p?d.push(c,p,s):f[c]=void 0===f[c]?s:f[c]+" "+s,s="",c="",p=""):38==h?n.r(f):h&&44!=h?92==h?s+=u[++i]:64==h?(p=s,s=""):s+=u[i]:(e[s=s.replace(/^_/,"")]=((e,t,_)=>{!function(e,t){for(var _=0;_2&&(l.children=arguments.length>3?u.call(arguments,2):n),"function"==typeof e&&null!=e.defaultProps)for(o in e.defaultProps)void 0===l[o]&&(l[o]=e.defaultProps[o]);return P(e,l,_,r,null)}function P(e,t,n,_,r){var o={type:e,props:t,key:n,ref:_,__k:null,__:null,__b:0,__e:null,__d:void 0,__c:null,constructor:void 0,__v:null==r?++s:r,__i:-1,__u:0};return null==r&&null!=i.vnode&&i.vnode(o),o}function S(e){return e.children}function C(e,t){this.props=e,this.context=t}function T(e,t){if(null==t)return e.__?T(e.__,e.__i+1):null;for(var n;tt&&c.sort(a));M.__r=0}function U(e,t,n,_,r,o,l,u,s,c,p){var f,a,h,d,v,m=_&&_.__k||g,k=t.length;for(n.__d=s,function(e,t,n){var _,r,o,l,u,s=t.length,c=n.length,p=c,f=0;for(e.__k=[],_=0;_0?P(r.type,r.props,r.key,r.ref?r.ref:null,r.__v):r).__=e,r.__b=e.__b+1,o=null,-1!==(u=r.__i=function(e,t,n,_){var r=e.key,o=e.type,l=n-1,u=n+1,i=t[n];if(null===i||i&&r==i.key&&o===i.type&&0==(131072&i.__u))return n;if(_>(null!=i&&0==(131072&i.__u)?1:0))for(;l>=0||u=0){if((i=t[l])&&0==(131072&i.__u)&&r==i.key&&o===i.type)return l;l--}if(ul?f--:f++,r.__u|=65536))):r=e.__k[_]=null;if(p)for(_=0;_=5&&((r||!e&&5===_)&&(l.push(_,0,r,n),_=6),e&&(l.push(_,e,0,n),_=6)),r=""},i=0;i"===t?(_=1,r=""):r=t+r[0]:o?t===o?o="":r+=t:'"'===t||"'"===t?o=t:">"===t?(u(),_=1):_&&("="===t?(_=5,n=r,r=""):"/"===t&&(_<5||">"===e[i][s+1])?(u(),3===_&&(l=l[0]),_=l,(l=l[0]).push(2,0,_),_=0):" "===t||" "===t||"\n"===t||"\r"===t?(u(),_=2):r+=t),3===_&&"!--"===r&&(_=4,l=l[0])}return u(),l}(e)),t),arguments,[])).length>1?t:t[0]}).bind(x);!function e(t,n){var _,r,o,l,s,c,p;_=t,r=n,o=e,i.__&&i.__(_,r),s=(l="function"==typeof o)?null:o&&o.__k||r.__k,c=[],p=[],L(r,_=(!l&&o||r).__k=x(S,null,[_]),s||y,y,r.namespaceURI,!l&&o?[o]:s?null:r.firstChild?u.call(r.childNodes):null,c,!l&&o?o:s?s.__e:r.firstChild,l,p),N(c,_,p)}(I`
+

Preact

+

你好,世界!

+
`,document.getElementById("app")); \ No newline at end of file diff --git a/ssr-vue2-host/chunks/946.cec8abcc.final.js b/ssr-vue2-host/chunks/946.cec8abcc.final.js new file mode 100644 index 000000000..feab2ee7b --- /dev/null +++ b/ssr-vue2-host/chunks/946.cec8abcc.final.js @@ -0,0 +1 @@ +export const ids=["946"];export const modules={406:function(t,e,n){n.r(e),n.d(e,{default:()=>l});var s=n("946"),o=n("527");function r(t,e,n,s,o,r,i,a){var l,_="function"==typeof t?t.options:t;if(e&&(_.render=e,_.staticRenderFns=n,_._compiled=!0),s&&(_.functional=!0),r&&(_._scopeId="data-v-"+r),i?(l=function(t){!(t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)&&"undefined"!=typeof __VUE_SSR_CONTEXT__&&(t=__VUE_SSR_CONTEXT__),o&&o.call(this,t),t&&t._registeredComponents&&t._registeredComponents.add(i)},_._ssrRegister=l):o&&(l=a?function(){o.call(this,(_.functional?this.parent:this).$root.$options.shadowRoot)}:o),l){if(_.functional){_._injectStyles=l;var u=_.render;_.render=function(t,e){return l.call(e),u(t,e)}}else{var c=_.beforeCreate;_.beforeCreate=c?[].concat(c,l):[l]}}return{exports:t,options:_}}n("331");let i=r({},function(){return(0,this._self._c)("button",[this._v("这是自己服务的组件")])},[],!1,null,"c46f67c8",null).exports,a=(0,s.defineComponent)({__name:"app",setup:t=>({__sfc:!0,layout:o.default,Next:i})});n("998"),n("38");let l=r(a,function(){var t=this._self._c,e=this._self._setupProxy;return t("div",{staticClass:"box"},[t(e.layout,[this._v("\n Hello world!\n\n "),t("br"),this._v(" "),t(e.Next),this._v(" "),t("p",{staticClass:"tip"},[this._v("\n 我的 "),t("a",{attrs:{href:"https://github.com/dp-os/gez/blob/master/examples/ssr-vue2-host/src/entry.node.ts",rel:"noopener",target:"_blank"}},[this._v("Vue")]),this._v(" 实例,被指向到了 ssr-vue2-remote/vue\n ")])],1)],1)},[],!1,null,"418edb39",null).exports}}; \ No newline at end of file diff --git a/ssr-vue2-host/chunks/946.e122f2d6.final.css b/ssr-vue2-host/chunks/946.e122f2d6.final.css new file mode 100644 index 000000000..b34bf7584 --- /dev/null +++ b/ssr-vue2-host/chunks/946.e122f2d6.final.css @@ -0,0 +1 @@ +button[data-v-c46f67c8]{border-radius:5px;margin:0;padding:5px 10px}.tip[data-v-418edb39]{background:#efe;margin:0;padding:10px}div,body,html,h2{margin:0;padding:0}head{--webpack-__ssr_vue__host__-946:&_661,Ā33ĄĀ820ą_998Ď462Ď38} \ No newline at end of file diff --git a/ssr-vue2-host/importmap.9451fbdfe909b396.final.js b/ssr-vue2-host/importmap.9451fbdfe909b396.final.js new file mode 100644 index 000000000..61affd954 --- /dev/null +++ b/ssr-vue2-host/importmap.9451fbdfe909b396.final.js @@ -0,0 +1 @@ +(t=>{let r="ssr-vue2-host",e="__importmap__",s=t[e]=t[e]||{},c=s.imports=s.imports||{},i=new URL(document.currentScript.src).pathname.split("/"+r+"/"),n=t=>r+t.substring(1);Object.entries({"./src/entry.client":"./src/entry.client.64e08cbd.final.js"}).forEach(([t,r])=>{c[n(t)]=i[0]+"/"+n(r)})})(globalThis); \ No newline at end of file diff --git a/ssr-vue2-host/importmap.js b/ssr-vue2-host/importmap.js new file mode 100644 index 000000000..61affd954 --- /dev/null +++ b/ssr-vue2-host/importmap.js @@ -0,0 +1 @@ +(t=>{let r="ssr-vue2-host",e="__importmap__",s=t[e]=t[e]||{},c=s.imports=s.imports||{},i=new URL(document.currentScript.src).pathname.split("/"+r+"/"),n=t=>r+t.substring(1);Object.entries({"./src/entry.client":"./src/entry.client.64e08cbd.final.js"}).forEach(([t,r])=>{c[n(t)]=i[0]+"/"+n(r)})})(globalThis); \ No newline at end of file diff --git a/ssr-vue2-host/index.html b/ssr-vue2-host/index.html new file mode 100644 index 000000000..a390ecc17 --- /dev/null +++ b/ssr-vue2-host/index.html @@ -0,0 +1,24 @@ + + + + + + + + Gez + + + +
+ 我是一个来自于 ssr-vue2-remote 服务的组件。 +
+ Hello world! + +

+ 我的 Vue 实例,被指向到了 ssr-vue2-remote/vue +

+ + + + + diff --git a/ssr-vue2-host/manifest.json b/ssr-vue2-host/manifest.json new file mode 100644 index 000000000..81b560716 --- /dev/null +++ b/ssr-vue2-host/manifest.json @@ -0,0 +1,40 @@ +{ + "name": "ssr-vue2-host", + "version": "1.0.0", + "hash": "9451fbdfe909b396", + "type": "module", + "exports": { + "./src/entry.client": "./src/entry.client.64e08cbd.final.js" + }, + "buildFiles": [ + "importmap.js", + "importmap.9451fbdfe909b396.final.js", + "chunks/946.e122f2d6.final.css", + "chunks/946.cec8abcc.final.js", + "src/entry.client.64e08cbd.final.js" + ], + "chunks": { + "ssr-vue2-host@src/entry.client.ts": { + "js": "./src/entry.client.64e08cbd.final.js", + "css": [], + "resources": [], + "sizes": { + "js": 11168, + "css": 0, + "resource": 0 + } + }, + "ssr-vue2-host@src/app.vue": { + "js": "chunks/946.cec8abcc.final.js", + "css": [ + "chunks/946.e122f2d6.final.css" + ], + "resources": [], + "sizes": { + "js": 7903, + "css": 2809, + "resource": 0 + } + } + } +} \ No newline at end of file diff --git a/ssr-vue2-host/src/entry.client.64e08cbd.final.js b/ssr-vue2-host/src/entry.client.64e08cbd.final.js new file mode 100644 index 000000000..fd028eea1 --- /dev/null +++ b/ssr-vue2-host/src/entry.client.64e08cbd.final.js @@ -0,0 +1 @@ +import*as e from"ssr-vue2-remote/npm/vue";import*as t from"ssr-vue2-remote/src/components/layout.vue";var r,o,n,i,a,u,s,c={946:function(t){t.exports=e},527:function(e){e.exports=t}},l={};function f(e){var t=l[e];if(void 0!==t)return t.exports;var r=l[e]={exports:{}};return c[e](r,r.exports,f),r.exports}f.m=c,f.d=function(e,t){for(var r in t)f.o(t,r)&&!f.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},f.f={},f.e=function(e){return Promise.all(Object.keys(f.f).reduce(function(t,r){return f.f[r](e,t),t},[]))},f.k=function(e){return"chunks/"+e+".e122f2d6.final.css"},f.u=function(e){return"chunks/"+e+".cec8abcc.final.js"},f.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||Function("return this")()}catch(e){if("object"==typeof window)return window}}(),f.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},f.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},f.rv=function(){return"1.1.2"},(()=>{var e;if("string"==typeof import.meta.url&&(e=import.meta.url),!e)throw Error("Automatic publicPath is not supported in this browser");e=e.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),f.p=e+"../"})(),r={891:0},o="__ssr_vue__host__",n=(e,t,n)=>{var i,u,s="",c="",l="",p={},d="--webpack-"+o+"-"+n,h=1,m={};try{!t&&(t=a(n));for(var v=t.sheet.cssRules||t.sheet.rules,b=v.length-1;b>-1&&!i;){var y=v[b--].style;if(!!y)i=y.getPropertyValue(d)}}catch(e){}if(!i&&(i=getComputedStyle(document.head).getPropertyValue(d)),!i)return[];var g,k={},w=i[0],A=w,_=w,P=256;for(u=1;u65535&&(P=256,k={}),A=g;for(u=0,i=_;h;u++)58==(h=i.charCodeAt(u))?(c=s,s=""):47==h?(s=s.replace(/^_/,""),c=c.replace(/^_/,""),l?m.push(c,l,s):p[c]=void 0===p[c]?s:p[c]+" "+s,s="",c="",l=""):38==h?f.r(p):h&&44!=h?92==h?s+=i[++u]:64==h?(l=s,s=""):s+=i[u]:(e[s=s.replace(/^_/,"")]=((e,t,r)=>{!function(e,t){for(var r=0;rf.e("946").then(f.bind(f,406)));({app:new p.default({render:e=>e(d)})}).app.$mount('[data-server-rendered="true"]'); \ No newline at end of file diff --git a/ssr-vue2-remote/chunks/849.4b941f3d.final.css b/ssr-vue2-remote/chunks/849.4b941f3d.final.css new file mode 100644 index 000000000..f8cea5210 --- /dev/null +++ b/ssr-vue2-remote/chunks/849.4b941f3d.final.css @@ -0,0 +1 @@ +.tip[data-v-b2ae6f88]{background:#efefef;padding:10px}.tip a[data-v-b2ae6f88]{color:#00f}.menu-list[data-v-b2ae6f88]{display:flex}.menu-list-item[data-v-b2ae6f88]{background:#efefef;border-radius:5px;margin:5px;padding:10px}.menu-list-item[data-v-b2ae6f88]:hover{background:#00f}.menu-list-item:hover a[data-v-b2ae6f88]{color:#fff}.menu-list-item-link[data-v-b2ae6f88]{color:#000;text-decoration:none}.logo[data-v-0e165eca]{border:1px solid red;padding:5px}div,body,html,h2{margin:0;padding:0}head{--webpack-__ssr_vue__remote__-849:&_809,Ā458ą_791Ċ205Ċć3Ċ533} \ No newline at end of file diff --git a/ssr-vue2-remote/chunks/849.afb2727a.final.js b/ssr-vue2-remote/chunks/849.afb2727a.final.js new file mode 100644 index 000000000..8ee4067bb --- /dev/null +++ b/ssr-vue2-remote/chunks/849.afb2727a.final.js @@ -0,0 +1 @@ +export const ids=["849"];export const modules={706:function(t,e,s){s.d(e,{Z:function(){return n}});function n(t,e,s,n,i,o,r,a){var l,u="function"==typeof t?t.options:t;if(e&&(u.render=e,u.staticRenderFns=s,u._compiled=!0),n&&(u.functional=!0),o&&(u._scopeId="data-v-"+o),r?(l=function(t){!(t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)&&"undefined"!=typeof __VUE_SSR_CONTEXT__&&(t=__VUE_SSR_CONTEXT__),i&&i.call(this,t),t&&t._registeredComponents&&t._registeredComponents.add(r)},u._ssrRegister=l):i&&(l=a?function(){i.call(this,(u.functional?this.parent:this).$root.$options.shadowRoot)}:i),l){if(u.functional){u._injectStyles=l;var _=u.render;u.render=function(t,e){return l.call(e),_(t,e)}}else{var h=u.beforeCreate;u.beforeCreate=h?[].concat(h,l):[l]}}return{exports:t,options:u}}},69:function(t,e,s){t.exports=s.p+"images/logo.310683d2.final.svg"},191:function(t,e,s){s.r(e),s.d(e,{default:()=>u});var n=s("946"),i=s("196");let o=(0,n.defineComponent)({__name:"logo",props:{width:null,height:null},setup:t=>({__sfc:!0})});s("205");var r=s("706");let a=(0,r.Z)(o,function(){var t=this._self._c;return this._self._setupProxy,t("div",{staticClass:"logo"},[t("img",{attrs:{width:this.width,height:this.height,src:s(69)}})])},[],!1,null,"0e165eca",null).exports,l=(0,n.defineComponent)({__name:"app",setup(t){let e=(0,n.ref)(new Date().toISOString());return(0,n.onMounted)(()=>{let t=setInterval(()=>{e.value=new Date().toISOString()},1e3);(0,n.onBeforeUnmount)(()=>{clearInterval(t)})}),{__sfc:!0,time:e,layout:i.Z,Logo:a}}});s("533");let u=(0,r.Z)(l,function(){var t=this._self._c,e=this._self._setupProxy;return t(e.layout,[t(e.Logo,{attrs:{width:120,height:60}}),this._v(" "),t("p",[this._v("\n Time: "+this._s(e.time)+"\n ")])],1)},[],!1,null,null,null).exports},196:function(t,e,s){s.d(e,{Z:()=>i});let n=(0,s("946").defineComponent)({__name:"layout",setup:t=>({__sfc:!0})});s("458");let i=(0,s("706").Z)(n,function(){var t=this._self._c;return this._self._setupProxy,t("div",{staticClass:"layout"},[this._m(0),this._v(" "),this._m(1),this._v(" "),t("main",[this._t("default")],2)])},[function(){var t=this._self._c;return this._self._setupProxy,t("div",{staticClass:"tip"},[this._v("\n 我是一个来自于 "),t("a",{staticClass:"menu-list-item-link",attrs:{href:"https://github.com/dp-os/gez/blob/master/examples/ssr-vue2-remote/src/components/layout.vue",rel:"noopener",target:"_blank"}},[this._v("ssr-vue2-remote")]),this._v(" 服务的组件。\n ")])},function(){var t=this._self._c;return this._self._setupProxy,t("header",{staticClass:"menu-list"},[t("div",{staticClass:"menu-list-item"},[t("a",{staticClass:"menu-list-item-link",attrs:{href:"https://github.com/dp-os/gez",target:"_blank"}},[this._v("github")])]),this._v(" "),t("div",{staticClass:"menu-list-item"},[t("a",{staticClass:"menu-list-item-link",attrs:{href:"https://www.npmjs.com/package/@gez/core",target:"_blank"}},[this._v("npm")])])])}],!1,null,"b2ae6f88",null).exports}}; \ No newline at end of file diff --git a/ssr-vue2-remote/images/logo.310683d2.final.svg b/ssr-vue2-remote/images/logo.310683d2.final.svg new file mode 100644 index 000000000..fef098a63 --- /dev/null +++ b/ssr-vue2-remote/images/logo.310683d2.final.svg @@ -0,0 +1,3 @@ + + Gez + \ No newline at end of file diff --git a/ssr-vue2-remote/importmap.a1084ab14b0f3066.final.js b/ssr-vue2-remote/importmap.a1084ab14b0f3066.final.js new file mode 100644 index 000000000..97c07bece --- /dev/null +++ b/ssr-vue2-remote/importmap.a1084ab14b0f3066.final.js @@ -0,0 +1 @@ +(e=>{let t="ssr-vue2-remote",n="__importmap__",s=e[n]=e[n]||{},r=s.imports=s.imports||{},c=new URL(document.currentScript.src).pathname.split("/"+t+"/"),i=e=>t+e.substring(1);Object.entries({"./src/entry.client":"./src/entry.client.dc1e20a2.final.js","./src/components/layout.vue":"./src/components/layout.vue.885aaf5e.final.js","./npm/vue":"./npm/vue.7e193d93.final.js"}).forEach(([e,t])=>{r[i(e)]=c[0]+"/"+i(t)})})(globalThis); \ No newline at end of file diff --git a/ssr-vue2-remote/importmap.js b/ssr-vue2-remote/importmap.js new file mode 100644 index 000000000..97c07bece --- /dev/null +++ b/ssr-vue2-remote/importmap.js @@ -0,0 +1 @@ +(e=>{let t="ssr-vue2-remote",n="__importmap__",s=e[n]=e[n]||{},r=s.imports=s.imports||{},c=new URL(document.currentScript.src).pathname.split("/"+t+"/"),i=e=>t+e.substring(1);Object.entries({"./src/entry.client":"./src/entry.client.dc1e20a2.final.js","./src/components/layout.vue":"./src/components/layout.vue.885aaf5e.final.js","./npm/vue":"./npm/vue.7e193d93.final.js"}).forEach(([e,t])=>{r[i(e)]=c[0]+"/"+i(t)})})(globalThis); \ No newline at end of file diff --git a/ssr-vue2-remote/index.html b/ssr-vue2-remote/index.html new file mode 100644 index 000000000..41080f282 --- /dev/null +++ b/ssr-vue2-remote/index.html @@ -0,0 +1,21 @@ + + + + + + + + Gez + + + +
+ 我是一个来自于 ssr-vue2-remote 服务的组件。 +

+ Time: 2024-11-21T03:18:53.753Z +

+ + + + + diff --git a/ssr-vue2-remote/manifest.json b/ssr-vue2-remote/manifest.json new file mode 100644 index 000000000..f4bdba377 --- /dev/null +++ b/ssr-vue2-remote/manifest.json @@ -0,0 +1,73 @@ +{ + "name": "ssr-vue2-remote", + "version": "1.0.0", + "hash": "a1084ab14b0f3066", + "type": "module", + "exports": { + "./src/entry.client": "./src/entry.client.dc1e20a2.final.js", + "./src/components/layout.vue": "./src/components/layout.vue.885aaf5e.final.js", + "./npm/vue": "./npm/vue.7e193d93.final.js" + }, + "buildFiles": [ + "images/logo.310683d2.final.svg", + "chunks/849.afb2727a.final.js", + "src/entry.client.dc1e20a2.final.js", + "src/entry.client.ee7811ae.final.css", + "chunks/849.4b941f3d.final.css", + "importmap.js", + "importmap.a1084ab14b0f3066.final.js", + "src/components/layout.vue.885aaf5e.final.js", + "npm/vue.7e193d93.final.js", + "src/components/layout.vue.3ad88cfb.final.css" + ], + "chunks": { + "ssr-vue2-remote@src/components/layout.vue": { + "js": "./src/components/layout.vue.885aaf5e.final.js", + "css": [ + "./src/components/layout.vue.3ad88cfb.final.css" + ], + "resources": [], + "sizes": { + "js": 12960, + "css": 1368, + "resource": 0 + } + }, + "ssr-vue2-remote@src/app.vue": { + "js": "chunks/849.afb2727a.final.js", + "css": [ + "chunks/849.4b941f3d.final.css" + ], + "resources": [ + "images/logo.310683d2.final.svg" + ], + "sizes": { + "js": 13854, + "css": 3223, + "resource": 188 + } + }, + "ssr-vue2-remote@src/entry.client.ts": { + "js": "./src/entry.client.dc1e20a2.final.js", + "css": [ + "./src/entry.client.ee7811ae.final.css" + ], + "resources": [], + "sizes": { + "js": 11173, + "css": 63, + "resource": 0 + } + }, + "ssr-vue2-remote@../../node_modules/.pnpm/vue@2.7.16/node_modules/vue/dist/vue.esm.js": { + "js": "./npm/vue.7e193d93.final.js", + "css": [], + "resources": [], + "sizes": { + "js": 419844, + "css": 0, + "resource": 0 + } + } + } +} \ No newline at end of file diff --git a/ssr-vue2-remote/npm/vue.7e193d93.final.js b/ssr-vue2-remote/npm/vue.7e193d93.final.js new file mode 100644 index 000000000..e52fec0fc --- /dev/null +++ b/ssr-vue2-remote/npm/vue.7e193d93.final.js @@ -0,0 +1 @@ +var t,e,n,r,o,i,a,s,c,u,l,f,p,d,v,h,_,m,g,y,b,w,x,$,k,C,S,O,T,A,j,E,P,R,N={},D={};function M(t){var e=D[t];if(void 0!==e)return e.exports;var n=D[t]={exports:{}};return N[t](n,n.exports,M),n.exports}M.d=function(t,e){for(var n in e)M.o(e,n)&&!M.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},M.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||Function("return this")()}catch(t){if("object"==typeof window)return window}}(),M.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},M.rv=function(){return"1.1.2"},M.ruid="bundler=rspack@1.1.2";var I={};M.d(I,{$y:function(){return ep},Ah:function(){return re},B:function(){return nu},BK:function(){return eC},Bj:function(){return nc},EB:function(){return nf},FN:function(){return tK},Fl:function(){return ej},HA:function(){return e7},IU:function(){return function t(e){var n=e&&e.__v_raw;return n?t(n):e}},IV:function(){return ea},JJ:function(){return nF},Jd:function(){return rt},OT:function(){return eO},Ob:function(){return nD},PG:function(){return el},RC:function(){return n9},Rh:function(){return nN},Rr:function(){return e8},SU:function(){return ew},Um:function(){return ec},Vh:function(){return eS},WL:function(){return ex},X3:function(){return ed},XI:function(){return eg},Xl:function(){return ev},Xn:function(){return n7},Y3:function(){return n1},YP:function(){return nI},YS:function(){return eA},Yq:function(){return ra},ZM:function(){return ek},ZP:function(){return rJ},aZ:function(){return rl},bT:function(){return ri},bv:function(){return n6},d1:function(){return rc},dl:function(){return rn},dq:function(){return e_},f3:function(){return nU},fb:function(){return n2},h:function(){return nH},i8:function(){return ru},iH:function(){return em},ic:function(){return n5},l1:function(){return e6},m0:function(){return nR},nZ:function(){return nl},oR:function(){return eb},qj:function(){return es},se:function(){return rr},sj:function(){return n3},t8:function(){return ei},u_:function(){return nt},vl:function(){return ro},wF:function(){return n8},yT:function(){return ef}});var L=Object.freeze({}),F=Array.isArray;function B(t){return null==t}function U(t){return null!=t}function H(t){return!0===t}function V(t){return"string"==typeof t||"number"==typeof t||"symbol"==typeof t||"boolean"==typeof t}function z(t){return"function"==typeof t}function J(t){return null!==t&&"object"==typeof t}var K=Object.prototype.toString;function q(t){return"[object Object]"===K.call(t)}function Z(t){var e=parseFloat(String(t));return e>=0&&Math.floor(e)===e&&isFinite(t)}function W(t){return U(t)&&"function"==typeof t.then&&"function"==typeof t.catch}function X(t){return null==t?"":Array.isArray(t)||q(t)&&t.toString===K?JSON.stringify(t,Y,2):String(t)}function Y(t,e){return e&&e.__v_isRef?e.value:e}function G(t){var e=parseFloat(t);return isNaN(e)?t:e}function Q(t,e){for(var n=Object.create(null),r=t.split(","),o=0;o-1)return t.splice(r,1)}}var tr=Object.prototype.hasOwnProperty;function to(t,e){return tr.call(t,e)}function ti(t){var e=Object.create(null);return function(n){return e[n]||(e[n]=t(n))}}var ta=/-(\w)/g,ts=ti(function(t){return t.replace(ta,function(t,e){return e?e.toUpperCase():""})}),tc=ti(function(t){return t.charAt(0).toUpperCase()+t.slice(1)}),tu=/\B([A-Z])/g,tl=ti(function(t){return t.replace(tu,"-$1").toLowerCase()}),tf=Function.prototype.bind?function(t,e){return t.bind(e)}:function(t,e){function n(n){var r=arguments.length;return r?r>1?t.apply(e,arguments):t.call(e,n):t.call(e)}return n._length=t.length,n};function tp(t,e){e=e||0;for(var n=t.length-e,r=Array(n);n--;)r[n]=t[n+e];return r}function td(t,e){for(var n in e)t[n]=e[n];return t}function tv(t){for(var e={},n=0;n0,tD=tP&&tP.indexOf("edge/")>0;tP&&tP.indexOf("android");var tM=tP&&/iphone|ipad|ipod|ios/.test(tP);tP&&/chrome\/\d+/.test(tP),tP&&/phantomjs/.test(tP);var tI=tP&&tP.match(/firefox\/(\d+)/),tL={}.watch,tF=!1;if(tE)try{var tB={};Object.defineProperty(tB,"passive",{get:function(){tF=!0}}),window.addEventListener("test-passive",null,tB)}catch(t){}var tU=function(){return void 0===c&&(c=!tE&&void 0!==M.g&&M.g.process&&"server"===M.g.process.env.VUE_ENV),c},tH=tE&&window.__VUE_DEVTOOLS_GLOBAL_HOOK__;function tV(t){return"function"==typeof t&&/native code/.test(t.toString())}var tz="undefined"!=typeof Symbol&&tV(Symbol)&&"undefined"!=typeof Reflect&&tV(Reflect.ownKeys);u="undefined"!=typeof Set&&tV(Set)?Set:function(){function t(){this.set=Object.create(null)}return t.prototype.has=function(t){return!0===this.set[t]},t.prototype.add=function(t){this.set[t]=!0},t.prototype.clear=function(){this.set=Object.create(null)},t}();var tJ=null;function tK(){return tJ&&{proxy:tJ}}function tq(t){void 0===t&&(t=null),!t&&tJ&&tJ._scope.off(),tJ=t,t&&t._scope.on()}var tZ=function(){function t(t,e,n,r,o,i,a,s){this.tag=t,this.data=e,this.children=n,this.text=r,this.elm=o,this.ns=void 0,this.context=i,this.fnContext=void 0,this.fnOptions=void 0,this.fnScopeId=void 0,this.key=e&&e.key,this.componentOptions=a,this.componentInstance=void 0,this.parent=void 0,this.raw=!1,this.isStatic=!1,this.isRootInsert=!0,this.isComment=!1,this.isCloned=!1,this.isOnce=!1,this.asyncFactory=s,this.asyncMeta=void 0,this.isAsyncPlaceholder=!1}return Object.defineProperty(t.prototype,"child",{get:function(){return this.componentInstance},enumerable:!1,configurable:!0}),t}(),tW=function(t){void 0===t&&(t="");var e=new tZ;return e.text=t,e.isComment=!0,e};function tX(t){return new tZ(void 0,void 0,void 0,String(t))}function tY(t){var e=new tZ(t.tag,t.data,t.children&&t.children.slice(),t.text,t.elm,t.context,t.componentOptions,t.asyncFactory);return e.ns=t.ns,e.isStatic=t.isStatic,e.key=t.key,e.isComment=t.isComment,e.fnContext=t.fnContext,e.fnOptions=t.fnOptions,e.fnScopeId=t.fnScopeId,e.asyncMeta=t.asyncMeta,e.isCloned=!0,e}"function"==typeof SuppressedError&&SuppressedError;var tG=0,tQ=[],t0=function(){for(var t=0;t0&&(eI((o=t(o,"".concat(n||"","_").concat(r)))[0])&&eI(a)&&(s[i]=tX(a.text+o[0].text),o.shift()),s.push.apply(s,o)):V(o)?eI(a)?s[i]=tX(a.text+o):""!==o&&s.push(tX(o)):eI(o)&&eI(a)?s[i]=tX(a.text+o.text):(H(e._isVList)&&U(o.tag)&&B(o.key)&&U(n)&&(o.key="__vlist".concat(n,"_").concat(r,"__")),s.push(o)));return s}(t):void 0}function eI(t){return U(t)&&U(t.text)&&!1===t.isComment}function eL(t,e,n,r,o,i){return(F(n)||V(n))&&(o=r,r=n,n=void 0),H(i)&&(o=2),function(t,e,n,r,o){if(U(n)&&U(n.__ob__))return tW();if(U(n)&&U(n.is)&&(e=n.is),!e)return tW();if(F(r)&&z(r[0])&&((n=n||{}).scopedSlots={default:r[0]},r.length=0),2===o?r=eM(r):1===o&&(r=function(t){for(var e=0;e0,a=e?!!e.$stable:!i,s=e&&e.$key;if(e){if(e._normalized)return e._normalized;else if(a&&r&&r!==L&&s===r.$key&&!i&&!r.$hasNormal)return r;else for(var c in o={},e)e[c]&&"$"!==c[0]&&(o[c]=function(t,e,n,r){var o=function(){var e=tJ;tq(t);var n=arguments.length?r.apply(null,arguments):r({}),o=(n=n&&"object"==typeof n&&!F(n)?[n]:eM(n))&&n[0];return tq(e),n&&(!o||1===n.length&&o.isComment&&!e1(o))?void 0:n};return r.proxy&&Object.defineProperty(e,n,{get:o,enumerable:!0,configurable:!0}),o}(t,n,c,e[c]))}else o={};for(var u in n)!(u in o)&&(o[u]=function(t,e){return function(){return t[e]}}(n,u));return e&&Object.isExtensible(e)&&(e._normalized=o),tT(o,"$stable",a),tT(o,"$key",s),tT(o,"$hasNormal",i),o}function e3(t){return{get attrs(){if(!t._attrsProxy){var e=t._attrsProxy={};tT(e,"_v_attr_proxy",!0),e9(e,t.$attrs,L,t,"$attrs")}return t._attrsProxy},get listeners(){return!t._listenersProxy&&e9(t._listenersProxy={},t.$listeners,L,t,"$listeners"),t._listenersProxy},get slots(){return function(t){return!t._slotsProxy&&e4(t._slotsProxy={},t.$scopedSlots),t._slotsProxy}(t)},emit:tf(t.$emit,t),expose:function(e){e&&Object.keys(e).forEach(function(n){return e$(t,e,n)})}}}function e9(t,e,n,r,o){var i=!1;for(var a in e)a in t?e[a]!==n[a]&&(i=!0):(i=!0,function(t,e,n,r){Object.defineProperty(t,e,{enumerable:!0,configurable:!0,get:function(){return n[r][e]}})}(t,a,r,o));for(var a in t)!(a in e)&&(i=!0,delete t[a]);return i}function e4(t,e){for(var n in e)t[n]=e[n];for(var n in t)!(n in e)&&delete t[n]}function e8(){return e5().slots}function e6(){return e5().attrs}function e7(){return e5().listeners}function e5(){var t=tJ;return t._setupContext||(t._setupContext=e3(t))}function nt(t,e){var n=F(t)?t.reduce(function(t,e){return t[e]={},t},{}):t;for(var r in e){var o=n[r];o?F(o)||z(o)?n[r]={type:o,default:e[r]}:o.default=e[r]:null===o&&(n[r]={default:e[r]})}return n}var ne=null;function nn(t,e){return(t.__esModule||tz&&"Module"===t[Symbol.toStringTag])&&(t=t.default),J(t)?e.extend(t):t}function nr(t){if(F(t))for(var e=0;edocument.createEvent("Event").timeStamp&&(nk=function(){return nC.now()})}var nS=function(t,e){if(t.post){if(!e.post)return 1}else if(e.post)return -1;return t.id-e.id};function nO(){for(n$=nk(),nw=!0,nm.sort(nS),nx=0;nxnx&&nm[n].id>t.id;)n--;nm.splice(n+1,0,t)}else nm.push(t);if(!nb){nb=!0;n1(nO)}}}var nA="watcher",nj="".concat(nA," callback"),nE="".concat(nA," getter"),nP="".concat(nA," cleanup");function nR(t,e){return nL(t,null,e)}function nN(t,e){return nL(t,null,{flush:"post"})}function nD(t,e){return nL(t,null,{flush:"sync"})}var nM={};function nI(t,e,n){return nL(t,e,n)}function nL(t,e,n){var r,o,i=void 0===n?L:n,a=i.immediate,s=i.deep,c=i.flush,u=void 0===c?"pre":c;i.onTrack,i.onTrigger;var l=tJ,f=function(t,e,n){void 0===n&&(n=null);var r=nz(t,null,n,l,e);return s&&r&&r.__ob__&&r.__ob__.dep.depend(),r},p=!1,d=!1;if(e_(t)?(r=function(){return t.value},p=ef(t)):el(t)?(r=function(){return t.__ob__.dep.depend(),t},s=!0):F(t)?(d=!0,p=t.some(function(t){return el(t)||ef(t)}),r=function(){return t.map(function(t){if(e_(t))return t.value;if(el(t))return t.__ob__.dep.depend(),rp(t);if(z(t))return f(t,nE)})}):r=z(t)?e?function(){return f(t,nE)}:function(){if(!l||!l._isDestroyed)return o&&o(),f(t,nA,[h])}:th,e&&s){var v=r;r=function(){return rp(v())}}var h=function(t){o=_.onStop=function(){f(t,nP)}};if(tU())return h=th,e?a&&f(e,nj,[r(),d?[]:void 0,h]):r(),th;var _=new rv(tJ,r,th,{lazy:!0});_.noRecurse=!e;var m=d?[]:nM;return _.run=function(){if(!!_.active)if(e){var t=_.get();(s||p||(d?t.some(function(t,e){return tw(t,m[e])}):tw(t,m)))&&(o&&o(),f(e,nj,[t,m===nM?void 0:m,h]),m=t)}else _.get()},"sync"===u?_.update=_.run:"post"===u?(_.post=!0,_.update=function(){return nT(_)}):_.update=function(){if(l&&l===tJ&&!l._isMounted){var t=l._preWatchers||(l._preWatchers=[]);0>t.indexOf(_)&&t.push(_)}else nT(_)},e?a?_.run():m=_.get():"post"===u&&l?l.$once("hook:mounted",function(){return _.get()}):_.get(),function(){_.teardown()}}function nF(t,e){if(tJ)nB(tJ)[t]=e}function nB(t){var e=t._provided,n=t.$parent&&t.$parent._provided;return n===e?t._provided=Object.create(n):e}function nU(t,e,n){void 0===n&&(n=!1);var r=tJ;if(r){var o=r.$parent&&r.$parent._provided;if(o&&t in o)return o[t];if(arguments.length>1)return n&&z(e)?e.call(r):e}}function nH(t,e,n){return eL(tJ,t,e,n,2,!0)}function nV(t,e,n){t3();try{if(e){for(var r=e;r=r.$parent;){var o=r.$options.errorCaptured;if(o)for(var i=0;i-1){if(i&&!to(o,"default"))a=!1;else if(""===a||a===tl(t)){var c=rz(String,o.type);(c<0||s1?tp(e):e;for(var n=tp(arguments,1),r='event handler for "'.concat(t,'"'),o=0,i=e.length;o-1;if("string"==typeof t)return t.split(",").indexOf(e)>-1;if(n=t,"[object RegExp]"===K.call(n))return t.test(e);return!1}function rZ(t,e){var n=t.cache,r=t.keys,o=t._vnode,i=t.$vnode;for(var a in n){var s=n[a];if(s){var c=s.name;c&&!e(c)&&rW(n,a,r,o)}}i.componentOptions.children=void 0}function rW(t,e,n,r){var o=t[e];o&&(!r||o.tag!==r.tag)&&o.componentInstance.$destroy(),t[e]=null,tn(n,e)}var rX=[String,RegExp,Array],rY={KeepAlive:{name:"keep-alive",abstract:!0,props:{include:rX,exclude:rX,max:[String,Number]},methods:{cacheVNode:function(){var t=this.cache,e=this.keys,n=this.vnodeToCache,r=this.keyToCache;if(n){var o=n.tag,i=n.componentInstance,a=n.componentOptions;t[r]={name:rK(a),tag:o,componentInstance:i},e.push(r),this.max&&e.length>parseInt(this.max)&&rW(t,e[0],e,this._vnode),this.vnodeToCache=null}}},created:function(){this.cache=Object.create(null),this.keys=[]},destroyed:function(){for(var t in this.cache)rW(this.cache,t,this.keys)},mounted:function(){var t=this;this.cacheVNode(),this.$watch("include",function(e){rZ(t,function(t){return rq(e,t)})}),this.$watch("exclude",function(e){rZ(t,function(t){return!rq(e,t)})})},updated:function(){this.cacheVNode()},render:function(){var t=this.$slots.default,e=nr(t),n=e&&e.componentOptions;if(n){var r=rK(n),o=this.include,i=this.exclude;if(o&&(!r||!rq(o,r))||i&&r&&rq(i,r))return e;var a=this.cache,s=this.keys,c=null==e.key?n.Ctor.cid+(n.tag?"::".concat(n.tag):""):e.key;a[c]?(e.componentInstance=a[c].componentInstance,tn(s,c),s.push(c)):(this.vnodeToCache=e,this.keyToCache=c),e.data.keepAlive=!0}return e||t&&t[0]}}};!function(t){var e,n,r,o={};o.get=function(){return tC};Object.defineProperty(t,"config",o),t.util={warn:th,extend:td,mergeOptions:rL,defineReactive:eo},t.set=ei,t.delete=ea,t.nextTick=n1,t.observable=function(t){return er(t),t},t.options=Object.create(null),t$.forEach(function(e){t.options[e+"s"]=Object.create(null)}),t.options._base=t,td(t.options.components,rY),t.use=function(t){var e=this._installedPlugins||(this._installedPlugins=[]);if(e.indexOf(t)>-1)return this;var n=tp(arguments,1);return n.unshift(this),z(t.install)?t.install.apply(t,n):z(t)&&t.apply(null,n),e.push(t),this},t.mixin=function(t){return this.options=rL(this.options,t),this},(e=t).cid=0,n=1,e.extend=function(t){t=t||{};var e=this,r=e.cid,o=t._Ctor||(t._Ctor={});if(o[r])return o[r];var i=rT(t)||rT(e.options),a=function(t){this._init(t)};return a.prototype=Object.create(e.prototype),a.prototype.constructor=a,a.cid=n++,a.options=rL(e.options,t),a.super=e,a.options.props&&function(t){var e=t.options.props;for(var n in e)r_(t.prototype,"_props",n)}(a),a.options.computed&&function(t){var e=t.options.computed;for(var n in e)rg(t.prototype,n,e[n])}(a),a.extend=e.extend,a.mixin=e.mixin,a.use=e.use,t$.forEach(function(t){a[t]=e[t]}),i&&(a.options.components[i]=a),a.superOptions=e.options,a.extendOptions=t,a.sealedOptions=td({},a.options),o[r]=a,a},r=t,t$.forEach(function(t){r[t]=function(e,n){return n?("component"===t&&q(n)&&(n.name=n.name||e,n=this.options._base.extend(n)),"directive"===t&&z(n)&&(n={bind:n,update:n}),this.options[t+"s"][e]=n,n):this.options[t+"s"][e]}})}(rJ),Object.defineProperty(rJ.prototype,"$isServer",{get:tU}),Object.defineProperty(rJ.prototype,"$ssrContext",{get:function(){return this.$vnode&&this.$vnode.ssrContext}}),Object.defineProperty(rJ,"FunctionalRenderContext",{value:rC}),rJ.version=ru;var rG=Q("style,class"),rQ=Q("input,textarea,option,select,progress"),r0=function(t,e,n){return"value"===n&&rQ(t)&&"button"!==e||"selected"===n&&"option"===t||"checked"===n&&"input"===t||"muted"===n&&"video"===t},r1=Q("contenteditable,draggable,spellcheck"),r2=Q("events,caret,typing,plaintext-only"),r3=Q("allowfullscreen,async,autofocus,autoplay,checked,compact,controls,declare,default,defaultchecked,defaultmuted,defaultselected,defer,disabled,enabled,formnovalidate,hidden,indeterminate,inert,ismap,itemscope,loop,multiple,muted,nohref,noresize,noshade,novalidate,nowrap,open,pauseonexit,readonly,required,reversed,scoped,seamless,selected,sortable,truespeed,typemustmatch,visible"),r9="http://www.w3.org/1999/xlink",r4=function(t){return":"===t.charAt(5)&&"xlink"===t.slice(0,5)},r8=function(t){return r4(t)?t.slice(6,t.length):""},r6=function(t){return null==t||!1===t};function r7(t,e){return{staticClass:r5(t.staticClass,e.staticClass),class:U(t.class)?[t.class,e.class]:e.class}}function r5(t,e){return t?e?t+" "+e:t:e||""}function ot(t){return Array.isArray(t)?function(t){for(var e,n="",r=0,o=t.length;r-1)ox(t,e,n);else if(r3(e))r6(n)?t.removeAttribute(e):(n="allowfullscreen"===e&&"EMBED"===t.tagName?"true":e,t.setAttribute(e,n));else if(r1(e)){var o,i;t.setAttribute(e,(o=e,r6(i=n)||"false"===i?"false":"contenteditable"===o&&r2(i)?i:"true"))}else r4(e)?r6(n)?t.removeAttributeNS(r9,r8(e)):t.setAttributeNS(r9,e,n):ox(t,e,n)}function ox(t,e,n){if(r6(n))t.removeAttribute(e);else{if(tR&&!tN&&"TEXTAREA"===t.tagName&&"placeholder"===e&&""!==n&&!t.__ieph){var r=function(e){e.stopImmediatePropagation(),t.removeEventListener("input",r)};t.addEventListener("input",r),t.__ieph=!0}t.setAttribute(e,n)}}function o$(t,e){var n=e.elm,r=e.data,o=t.data;if(!(B(r.staticClass)&&B(r.class)&&(B(o)||B(o.staticClass)&&B(o.class)))){var i=function(t){for(var e=t.data,n=t,r=t;U(r.componentInstance);)(r=r.componentInstance._vnode)&&r.data&&(e=r7(r.data,e));for(;U(n=n.parent);)n&&n.data&&(e=r7(e,n.data));return function(t,e){return U(t)||U(e)?r5(t,ot(e)):""}(e.staticClass,e.class)}(e),a=n._transitionClasses;U(a)&&(i=r5(i,ot(a))),i!==n._prevClass&&(n.setAttribute("class",i),n._prevClass=i)}}var ok=/[\w).+\-_$\]]/;function oC(t){var e,n,r,o,i,a=!1,s=!1,c=!1,u=!1,l=0,f=0,p=0,d=0;for(r=0;r=0&&" "===(h=t.charAt(v));v--);(!h||!ok.test(h))&&(u=!0)}}else void 0===o?(d=r+1,o=t.slice(0,r).trim()):_();function _(){(i||(i=[])).push(t.slice(d,r).trim()),d=r+1}if(void 0===o?o=t.slice(0,r).trim():0!==d&&_(),i)for(r=0;rt.indexOf("[")||t.lastIndexOf("]")-1?{exp:t.slice(0,_),key:'"'+t.slice(_+1)+'"'}:{exp:t,key:null};for(v=t,_=m=g=0;!oB();)oU(h=oF())?oH(h):91===h&&function(t){var e=1;for(m=_;!(_>=d);){if(oU(t=oF())){oH(t);continue}if(91===t&&e++,93===t&&e--,0===e){g=_;break}}}(h);return{exp:t.slice(0,m),key:t.slice(m+1,g)}}(t);return null===n.key?"".concat(t,"=").concat(e):"$set(".concat(n.exp,", ").concat(n.key,", ").concat(e,")")}function oF(){return v.charCodeAt(++_)}function oB(){return _>=d}function oU(t){return 34===t||39===t}function oH(t){for(var e=t;!(_>=d)&&(t=oF())!==e;);}function oV(t,e,n){var r=y;return function o(){var i=e.apply(null,arguments);null!==i&&oK(t,o,n,r)}}var oz=nq&&!(tI&&53>=Number(tI[1]));function oJ(t,e,n,r){if(oz){var o=n$,i=e;e=i._wrapper=function(t){if(t.target===t.currentTarget||t.timeStamp>=o||t.timeStamp<=0||t.target.ownerDocument!==document)return i.apply(this,arguments)}}y.addEventListener(t,e,tF?{capture:n,passive:r}:n)}function oK(t,e,n,r){(r||y).removeEventListener(t,e._wrapper||e,n)}function oq(t,e){if(!(B(t.data.on)&&B(e.data.on))){var n=e.data.on||{},r=t.data.on||{};y=e.elm||t.elm,!function(t){if(U(t.__r)){var e=tR?"change":"input";t[e]=[].concat(t.__r,t[e]||[]),delete t.__r}U(t.__c)&&(t.change=[].concat(t.__c,t.change||[]),delete t.__c)}(n),eR(n,r,oJ,oK,oV,e.context),y=void 0}}function oZ(t,e){if(!(B(t.data.domProps)&&B(e.data.domProps))){var n,r,o=e.elm,i=t.data.domProps||{},a=e.data.domProps||{};for(n in(U(a.__ob__)||H(a._v_attr_proxy))&&(a=e.data.domProps=td({},a)),i)!(n in a)&&(o[n]="");for(n in a){if(r=a[n],"textContent"===n||"innerHTML"===n){if(e.children&&(e.children.length=0),r===i[n])continue;1===o.childNodes.length&&o.removeChild(o.childNodes[0])}if("value"===n&&"PROGRESS"!==o.tagName){o._value=r;var s=B(r)?"":String(r);(function(t,e){return!t.composing&&("OPTION"===t.tagName||function(t,e){var n=!0;try{n=document.activeElement!==t}catch(t){}return n&&t.value!==e}(t,e)||function(t,e){var n=t.value,r=t._vModifiers;if(U(r)){if(r.number)return G(n)!==G(e);if(r.trim)return n.trim()!==e.trim()}return n!==e}(t,e))})(o,s)&&(o.value=s)}else if("innerHTML"===n&&or(o.tagName)&&B(o.innerHTML)){(b=b||document.createElement("div")).innerHTML="".concat(r,"");for(var c=b.firstChild;o.firstChild;)o.removeChild(o.firstChild);for(;c.firstChild;)o.appendChild(c.firstChild)}else if(r!==i[n])try{o[n]=r}catch(t){}}}}var oW=ti(function(t){var e={},n=/:(.+)/;return t.split(/;(?![^(]*\))/g).forEach(function(t){if(t){var r=t.split(n);r.length>1&&(e[r[0].trim()]=r[1].trim())}}),e});function oX(t){var e=oY(t.style);return t.staticStyle?td(t.staticStyle,e):e}function oY(t){return Array.isArray(t)?tv(t):"string"==typeof t?oW(t):t}var oG=/^--/,oQ=/\s*!important$/,o0=function(t,e,n){if(oG.test(e))t.style.setProperty(e,n);else if(oQ.test(n))t.style.setProperty(tl(e),n.replace(oQ,""),"important");else{var r=o2(e);if(Array.isArray(n))for(var o=0,i=n.length;o-1?e.split(o9).forEach(function(e){return t.classList.add(e)}):t.classList.add(e);else{var n=" ".concat(t.getAttribute("class")||""," ");0>n.indexOf(" "+e+" ")&&t.setAttribute("class",(n+e).trim())}}function o8(t,e){if(!!e&&!!(e=e.trim()))if(t.classList)e.indexOf(" ")>-1?e.split(o9).forEach(function(e){return t.classList.remove(e)}):t.classList.remove(e),!t.classList.length&&t.removeAttribute("class");else{for(var n=" ".concat(t.getAttribute("class")||""," "),r=" "+e+" ";n.indexOf(r)>=0;)n=n.replace(r," ");(n=n.trim())?t.setAttribute("class",n):t.removeAttribute("class")}}function o6(t){if(!!t){if("object"==typeof t){var e={};return!1!==t.css&&td(e,o7(t.name||"v")),td(e,t),e}if("string"==typeof t)return o7(t)}}var o7=ti(function(t){return{enterClass:"".concat(t,"-enter"),enterToClass:"".concat(t,"-enter-to"),enterActiveClass:"".concat(t,"-enter-active"),leaveClass:"".concat(t,"-leave"),leaveToClass:"".concat(t,"-leave-to"),leaveActiveClass:"".concat(t,"-leave-active")}}),o5=tE&&!tN,it="transition",ie="animation",ir="transition",io="transitionend",ii="animation",ia="animationend";o5&&(void 0===window.ontransitionend&&void 0!==window.onwebkittransitionend&&(ir="WebkitTransition",io="webkitTransitionEnd"),void 0===window.onanimationend&&void 0!==window.onwebkitanimationend&&(ii="WebkitAnimation",ia="webkitAnimationEnd"));var is=tE?window.requestAnimationFrame?window.requestAnimationFrame.bind(window):setTimeout:function(t){return t()};function ic(t){is(function(){is(t)})}function iu(t,e){var n=t._transitionClasses||(t._transitionClasses=[]);0>n.indexOf(e)&&(n.push(e),o4(t,e))}function il(t,e){t._transitionClasses&&tn(t._transitionClasses,e),o8(t,e)}function ip(t,e,n){var r=iv(t,e),o=r.type,i=r.timeout,a=r.propCount;if(!o)return n();var s=o===it?io:ia,c=0,u=function(){t.removeEventListener(s,l),n()},l=function(e){e.target===t&&++c>=a&&u()};setTimeout(function(){c0&&(n=it,l=a,f=i.length):e===ie?u>0&&(n=ie,l=u,f=c.length):f=(n=(l=Math.max(a,u))>0?a>u?it:ie:null)?n===it?i.length:c.length:0;var p=n===it&&id.test(r[ir+"Property"]);return{type:n,timeout:l,propCount:f,hasTransform:p}}function ih(t,e){for(;t.length1}function iw(t,e){!0!==e.data.show&&im(e)}var ix=function(t){var e,n,r={},o=t.modules,i=t.nodeOps;for(e=0;ep?v(t,B(n[g+1])?null:n[g+1].elm,n,f,g,r):f>g&&_(e,l,p)}(l,d,h,n,c):U(h)?(U(t.text)&&i.setTextContent(l,""),v(l,null,h,0,h.length-1,n)):U(d)?_(d,0,d.length-1):U(t.text)&&i.setTextContent(l,""):t.text!==e.text&&i.setTextContent(l,e.text),U(p)&&U(u=p.hook)&&U(u=u.postpatch)&&u(t,e)}}function g(t,e,n){if(H(n)&&U(t.parent))t.parent.data.pendingInsert=e;else for(var r=0;r-1,o.selected!==r&&(o.selected=r);else if(tg(iO(o),i)){t.selectedIndex!==s&&(t.selectedIndex=s);return}!a&&(t.selectedIndex=-1)}}function iS(t,e){return e.every(function(e){return!tg(e,t)})}function iO(t){return"_value"in t?t._value:t.value}function iT(t){t.target.composing=!0}function iA(t){t.target.composing&&(t.target.composing=!1,ij(t.target,"input"))}function ij(t,e){var n=document.createEvent("HTMLEvents");n.initEvent(e,!0,!0),t.dispatchEvent(n)}function iE(t){return!t.componentInstance||t.data&&t.data.transition?t:iE(t.componentInstance._vnode)}var iP={name:String,appear:Boolean,css:Boolean,mode:String,type:String,enterClass:String,leaveClass:String,enterToClass:String,leaveToClass:String,enterActiveClass:String,leaveActiveClass:String,appearClass:String,appearActiveClass:String,appearToClass:String,duration:[Number,String,Object]};function iR(t){var e=t&&t.componentOptions;return e&&e.Ctor.options.abstract?iR(nr(e.children)):t}function iN(t){var e={},n=t.$options;for(var r in n.propsData)e[r]=t[r];var o=n._parentListeners;for(var r in o)e[ts(r)]=o[r];return e}function iD(t,e){if(/\d-keep-alive$/.test(e.tag))return t("keep-alive",{props:e.componentOptions.propsData})}var iM=function(t){return t.tag||e1(t)},iI=function(t){return"show"===t.name},iL=td({tag:String,moveClass:String},iP);delete iL.mode;function iF(t){t.elm._moveCb&&t.elm._moveCb(),t.elm._enterCb&&t.elm._enterCb()}function iB(t){t.data.newPos=t.elm.getBoundingClientRect()}function iU(t){var e=t.data.pos,n=t.data.newPos,r=e.left-n.left,o=e.top-n.top;if(r||o){t.data.moved=!0;var i=t.elm.style;i.transform=i.WebkitTransform="translate(".concat(r,"px,").concat(o,"px)"),i.transitionDuration="0s"}}rJ.config.mustUseProp=r0,rJ.config.isReservedTag=oo,rJ.config.isReservedAttr=rG,rJ.config.getTagNamespace=oi,rJ.config.isUnknownElement=function(t){if(!tE)return!0;if(oo(t))return!1;if(null!=oa[t=t.toLowerCase()])return oa[t];var e=document.createElement(t);return t.indexOf("-")>-1?oa[t]=e.constructor===window.HTMLUnknownElement||e.constructor===window.HTMLElement:oa[t]=/HTMLUnknownElement/.test(e.toString())},td(rJ.options.directives,{model:i$,show:{bind:function(t,e,n){var r=e.value,o=(n=iE(n)).data&&n.data.transition,i=t.__vOriginalDisplay="none"===t.style.display?"":t.style.display;r&&o?(n.data.show=!0,im(n,function(){t.style.display=i})):t.style.display=r?i:"none"},update:function(t,e,n){var r=e.value;!r!=!e.oldValue&&((n=iE(n)).data&&n.data.transition?(n.data.show=!0,r?im(n,function(){t.style.display=t.__vOriginalDisplay}):ig(n,function(){t.style.display="none"})):t.style.display=r?t.__vOriginalDisplay:"none")},unbind:function(t,e,n,r,o){!o&&(t.style.display=t.__vOriginalDisplay)}}}),td(rJ.options.components,{Transition:{name:"transition",props:iP,abstract:!0,render:function(t){var e=this,n=this.$slots.default;if(!!n&&!!(n=n.filter(iM)).length){var r=this.mode,o=n[0];if(function(t){for(;t=t.parent;)if(t.data.transition)return!0}(this.$vnode))return o;var i=iR(o);if(!i)return o;if(this._leaving)return iD(t,o);var a="__transition-".concat(this._uid,"-");i.key=null==i.key?i.isComment?a+"comment":a+i.tag:V(i.key)?0===String(i.key).indexOf(a)?i.key:a+i.key:i.key;var s=(i.data||(i.data={})).transition=iN(this),c=this._vnode,u=iR(c);if(i.data.directives&&i.data.directives.some(iI)&&(i.data.show=!0),u&&u.data&&(f=i,(p=u).key!==f.key||p.tag!==f.tag)&&!e1(u)&&!(u.componentInstance&&u.componentInstance._vnode.isComment)){var l=u.data.transition=td({},s);if("out-in"===r)return this._leaving=!0,eN(l,"afterLeave",function(){e._leaving=!1,e.$forceUpdate()}),iD(t,o);if("in-out"===r){if(e1(i))return c;var f,p,d,v=function(){d()};eN(s,"afterEnter",v),eN(s,"enterCancelled",v),eN(l,"delayLeave",function(t){d=t})}}return o}}},TransitionGroup:{props:iL,beforeMount:function(){var t=this,e=this._update;this._update=function(n,r){var o=nd(t);t.__patch__(t._vnode,t.kept,!1,!0),t._vnode=t.kept,o(),e.call(t,n,r)}},render:function(t){for(var e=this.tag||this.$vnode.data.tag||"span",n=Object.create(null),r=this.prevChildren=this.children,o=this.$slots.default||[],i=this.children=[],a=iN(this),s=0;s\/=]+)(?:\s*(=)\s*(?:"([^"]*)"+|'([^']*)'+|([^\s"'=<>`]+)))?/,iW=/^\s*((?:v-[\w-]+:|@|:|#)\[[^=]+?\][^\s"'<>\/=]*)(?:\s*(=)\s*(?:"([^"]*)"+|'([^']*)'+|([^\s"'=<>`]+)))?/,iX="[a-zA-Z_][\\-\\.0-9_a-zA-Z".concat(tS.source,"]*"),iY="((?:".concat(iX,"\\:)?").concat(iX,")"),iG=new RegExp("^<".concat(iY)),iQ=/^\s*(\/?)>/,i0=new RegExp("^<\\/".concat(iY,"[^>]*>")),i1=/^]+>/i,i2=/^",""":'"',"&":"&"," ":"\n"," ":" ","'":"'"},i6=/&(?:lt|gt|quot|amp|#39);/g,i7=/&(?:lt|gt|quot|amp|#39|#10|#9);/g,i5=Q("pre,textarea",!0),at=function(t,e){return t&&i5(t)&&"\n"===e[0]},ae=/^@|^v-on:/,an=/^v-|^@|^:|^#/,ar=/([\s\S]*?)\s+(?:in|of)\s+([\s\S]*)/,ao=/,([^,\}\]]*)(?:,([^,\}\]]*))?$/,ai=/^\(|\)$/g,aa=/^\[.*\]$/,as=/:(.*)$/,ac=/^:|^\.|^v-bind:/,au=/\.[^.\]]+(?=[^\]]*$)/g,al=/^v-slot(:|$)|^#/,af=/[\r\n]/,ap=/[ \f\t\r\n]+/g,ad=ti(function(t){return(x=x||document.createElement("div")).innerHTML=t,x.textContent}),av="_empty_";function ah(t,e,n){return{type:1,tag:t,attrsList:e,attrsMap:function(t){for(var e={},n=0,r=t.length;n-1")+("true"===i?":(".concat(e,")"):":_q(".concat(e,",").concat(i,")"))),oP(t,"change","var $$a=".concat(e,",")+"$$el=$event.target,"+"$$c=$$el.checked?(".concat(i,"):(").concat(a,");")+"if(Array.isArray($$a)){"+"var $$v=".concat(r?"_n("+o+")":o,",")+"$$i=_i($$a,$$v);"+"if($$el.checked){$$i<0&&(".concat(oL(e,"$$a.concat([$$v])"),")}")+"else{$$i>-1&&(".concat(oL(e,"$$a.slice(0,$$i).concat($$a.slice($$i+1))"),")}")+"}else{".concat(oL(e,"$$c"),"}"),null,!0)})(t,r,o);else if("input"===i&&"radio"===a)(function(t,e,n){var r=n&&n.number,o=oR(t,"value")||"null";o=r?"_n(".concat(o,")"):o,oT(t,"checked","_q(".concat(e,",").concat(o,")")),oP(t,"change",oL(e,o),null,!0)})(t,r,o);else if("input"===i||"textarea"===i)(function(t,e,n){var r=t.attrsMap.type,o=n||{},i=o.lazy,a=o.number,s=o.trim,c="$event.target.value";s&&(c="$event.target.value.trim()"),a&&(c="_n(".concat(c,")"));var u=oL(e,c);!i&&"range"!==r&&(u="if($event.target.composing)return;".concat(u)),oT(t,"value","(".concat(e,")")),oP(t,i?"change":"range"===r?"__r":"input",u,null,!0),(s||a)&&oP(t,"blur","$forceUpdate()")})(t,r,o);else if(!tC.isReservedTag(i))return oI(t,r,o),!1;return!0},text:function(t,e){e.value&&oT(t,"textContent","_s(".concat(e.value,")"),e)},html:function(t,e){e.value&&oT(t,"innerHTML","_s(".concat(e.value,")"),e)}},isPreTag:function(t){return"pre"===t},isUnaryTag:iJ,mustUseProp:r0,canBeLeftOpenTag:iK,isReservedTag:oo,getTagNamespace:oi,staticKeys:a$.reduce(function(t,e){return t.concat(e.staticKeys||[])},[]).join(",")},aC=ti(function(t){return Q("type,tag,attrsList,attrsMap,plain,parent,children,attrs,start,end,rawAttrsMap"+(t?","+t:""))}),aS=/^([\w$_]+|\([^)]*?\))\s*=>|^function(?:\s+[\w$]+)?\s*\(/,aO=/\([^)]*?\);*$/,aT=/^[A-Za-z_$][\w$]*(?:\.[A-Za-z_$][\w$]*|\['[^']*?']|\["[^"]*?"]|\[\d+]|\[[A-Za-z_$][\w$]*])*$/,aA={esc:27,tab:9,enter:13,space:32,up:38,left:37,right:39,down:40,delete:[8,46]},aj={esc:["Esc","Escape"],tab:"Tab",enter:"Enter",space:[" ","Spacebar"],up:["Up","ArrowUp"],left:["Left","ArrowLeft"],right:["Right","ArrowRight"],down:["Down","ArrowDown"],delete:["Backspace","Delete","Del"]},aE=function(t){return"if(".concat(t,")return null;")},aP={stop:"$event.stopPropagation();",prevent:"$event.preventDefault();",self:aE("$event.target !== $event.currentTarget"),ctrl:aE("!$event.ctrlKey"),shift:aE("!$event.shiftKey"),alt:aE("!$event.altKey"),meta:aE("!$event.metaKey"),left:aE("'button' in $event && $event.button !== 0"),middle:aE("'button' in $event && $event.button !== 1"),right:aE("'button' in $event && $event.button !== 2")};function aR(t,e){var n=e?"nativeOn:":"on:",r="",o="";for(var i in t){var a=function t(e){if(!e)return"function(){}";if(Array.isArray(e))return"[".concat(e.map(function(e){return t(e)}).join(","),"]");var n=aT.test(e.value),r=aS.test(e.value),o=aT.test(e.value.replace(aO,""));if(e.modifiers){var i="",a="",s=[];for(var c in e.modifiers)!function(t){if(aP[t])a+=aP[t],aA[t]&&s.push(t);else if("exact"===t){var n=e.modifiers;a+=aE(["ctrl","shift","alt","meta"].filter(function(t){return!n[t]}).map(function(t){return"$event.".concat(t,"Key")}).join("||"))}else s.push(t)}(c);s.length&&(i+=function(t){return"if(!$event.type.indexOf('key')&&"+"".concat(t.map(aN).join("&&"),")return null;")}(s)),a&&(i+=a);var u=n?"return ".concat(e.value,".apply(null, arguments)"):r?"return (".concat(e.value,").apply(null, arguments)"):o?"return ".concat(e.value):e.value;return"function($event){".concat(i).concat(u,"}")}return n||r?e.value:"function($event){".concat(o?"return ".concat(e.value):e.value,"}")}(t[i]);t[i]&&t[i].dynamic?o+="".concat(i,",").concat(a,","):r+='"'.concat(i,'":').concat(a,",")}return(r="{".concat(r.slice(0,-1),"}"),o)?n+"_d(".concat(r,",[").concat(o.slice(0,-1),"])"):n+r}function aN(t){var e=parseInt(t,10);if(e)return"$event.keyCode!==".concat(e);var n=aA[t],r=aj[t];return"_k($event.keyCode,"+"".concat(JSON.stringify(t),",")+"".concat(JSON.stringify(n),",")+"$event.key,"+"".concat(JSON.stringify(r))+")"}var aD={on:function(t,e){t.wrapListeners=function(t){return"_g(".concat(t,",").concat(e.value,")")}},bind:function(t,e){t.wrapData=function(n){return"_b(".concat(n,",'").concat(t.tag,"',").concat(e.value,",").concat(e.modifiers&&e.modifiers.prop?"true":"false").concat(e.modifiers&&e.modifiers.sync?",true":"",")")}},cloak:th},aM=function(t){this.options=t,this.warn=t.warn||oS,this.transforms=oO(t.modules,"transformCode"),this.dataGenFns=oO(t.modules,"genData"),this.directives=td(td({},aD),t.directives);var e=t.isReservedTag||t_;this.maybeComponent=function(t){return!!t.component||!e(t.tag)},this.onceId=0,this.staticRenderFns=[],this.pre=!1};function aI(t,e){var n=new aM(e),r=t?"script"===t.tag?"null":aL(t,n):'_c("div")';return{render:"with(this){return ".concat(r,"}"),staticRenderFns:n.staticRenderFns}}function aL(t,e){if(t.parent&&(t.pre=t.pre||t.parent.pre),t.staticRoot&&!t.staticProcessed)return aF(t,e);if(t.once&&!t.onceProcessed)return aB(t,e);if(t.for&&!t.forProcessed)return aH(t,e);else{if(t.if&&!t.ifProcessed)return aU(t,e);if("template"===t.tag&&!t.slotTarget&&!e.pre)return az(t,e)||"void 0";if("slot"===t.tag)return function(t,e){var n=t.slotName||'"default"',r=az(t,e),o="_t(".concat(n).concat(r?",function(){return ".concat(r,"}"):""),i=t.attrs||t.dynamicAttrs?aq((t.attrs||[]).concat(t.dynamicAttrs||[]).map(function(t){return{name:ts(t.name),value:t.value,dynamic:t.dynamic}})):null,a=t.attrsMap["v-bind"];return(i||a)&&!r&&(o+=",null"),i&&(o+=",".concat(i)),a&&(o+="".concat(i?"":",null",",").concat(a)),o+")"}(t,e);var n=void 0;if(t.component)n=function(t,e,n){var r=e.inlineTemplate?null:az(e,n,!0);return"_c(".concat(t,",").concat(aV(e,n)).concat(r?",".concat(r):"",")")}(t.component,t,e);else{var r=void 0,o=e.maybeComponent(t);(!t.plain||t.pre&&o)&&(r=aV(t,e));var i=void 0,a=e.options.bindings;o&&a&&!1!==a.__isScriptSetup&&(i=function(t,e){var n=ts(e),r=tc(n),o=function(o){return t[e]===o?e:t[n]===o?n:t[r]===o?r:void 0},i=o("setup-const")||o("setup-reactive-const");if(i)return i;var a=o("setup-let")||o("setup-ref")||o("setup-maybe-ref");if(a)return a}(a,t.tag)),!i&&(i="'".concat(t.tag,"'"));var s=t.inlineTemplate?null:az(t,e,!0);n="_c(".concat(i).concat(r?",".concat(r):"").concat(s?",".concat(s):"",")")}for(var c=0;c>>0}(a)):"",")")}(t,t.scopedSlots,e),",")),t.model&&(n+="model:{value:".concat(t.model.value,",callback:").concat(t.model.callback,",expression:").concat(t.model.expression,"},")),t.inlineTemplate){var i=function(t,e){var n=t.children[0];if(n&&1===n.type){var r=aI(n,e.options);return"inlineTemplate:{render:function(){".concat(r.render,"},staticRenderFns:[").concat(r.staticRenderFns.map(function(t){return"function(){".concat(t,"}")}).join(","),"]}")}}(t,e);i&&(n+="".concat(i,","))}return n=n.replace(/,$/,"")+"}",t.dynamicAttrs&&(n="_b(".concat(n,',"').concat(t.tag,'",').concat(aq(t.dynamicAttrs),")")),t.wrapData&&(n=t.wrapData(n)),t.wrapListeners&&(n=t.wrapListeners(n)),n}function az(t,e,n,r,o){var i=t.children;if(i.length){var a=i[0];if(1===i.length&&a.for&&"template"!==a.tag&&"slot"!==a.tag){var s=n?e.maybeComponent(a)?",1":",0":"";return"".concat((r||aL)(a,e)).concat(s)}var c=n?function(t,e){for(var n=0,r=0;r]*>)","i")),v=t.replace(d,function(t,n,r){return f=r.length,!i9(p)&&"noscript"!==p&&(n=n.replace(//g,"$1").replace(//g,"$1")),at(p,n)&&(n=n.slice(1)),e.chars&&e.chars(n),""});c+=t.length-v.length,t=v,l(p,c-f,c)}else{var h=t.indexOf("<");if(0===h){if(i2.test(t)){var _=t.indexOf("--\x3e");if(_>=0)return e.shouldKeepComment&&e.comment&&e.comment(t.substring(4,_),c,c+_+3),u(_+3),"continue"}if(i3.test(t)){var m=t.indexOf("]>");if(m>=0)return u(m+2),"continue"}var g=t.match(i1);if(g)return u(g[0].length),"continue";var y=t.match(i0);if(y){var b=c;return u(y[0].length),l(y[1],b,c),"continue"}var w=function(){var e=t.match(iG);if(e){var n={tagName:e[1],attrs:[],start:c};u(e[0].length);for(var r=void 0,o=void 0;!(r=t.match(iQ))&&(o=t.match(iW)||t.match(iZ));)o.start=c,u(o[0].length),o.end=c,n.attrs.push(o);if(r)return n.unarySlash=r[1],u(r[0].length),n.end=c,n}}();if(w)return function(t){var n=t.tagName,c=t.unarySlash;i&&("p"===r&&iq(n)&&l(r),s(n)&&r===n&&l(n));for(var u=a(n)||!!c,f=t.attrs.length,p=Array(f),d=0;d=0){for(v=t.slice(h);!i0.test(v)&&!iG.test(v)&&!i2.test(v)&&!i3.test(v)&&!(($=v.indexOf("<",1))<0);){;h+=$,v=t.slice(h)}x=t.substring(0,h)}h<0&&(x=t),x&&u(x.length),e.chars&&x&&e.chars(x,c-x.length,c)}if(t===n)return e.chars&&e.chars(t),"break"}(););function u(e){c+=e,t=t.substring(e)}l();function l(t,n,i){var a,s;if(null==n&&(n=c),null==i&&(i=c),t)for(s=t.toLowerCase(),a=o.length-1;a>=0&&o[a].lowerCasedTag!==s;a--);else a=0;if(a>=0){for(var u=o.length-1;u>=a;u--)e.end&&e.end(o[u].tag,n,i);o.length=a,r=a&&o[a-1].tag}else"br"===s?e.start&&e.start(t,[],!0,n,i):"p"===s&&(e.start&&e.start(t,[],!1,n,i),e.end&&e.end(t,n,i))}}(t,{warn:$,expectHTML:e.expectHTML,isUnaryTag:e.isUnaryTag,canBeLeftOpenTag:e.canBeLeftOpenTag,shouldDecodeNewlines:e.shouldDecodeNewlines,shouldDecodeNewlinesForHref:e.shouldDecodeNewlinesForHref,shouldKeepComment:e.comments,outputSourceRange:e.outputSourceRange,start:function(t,i,a,l,f){var p=r&&r.ns||j(t);tR&&"svg"===p&&(i=function(t){for(var e=[],n=0;nc&&(s.push(o=t.slice(c,r)),a.push(JSON.stringify(o)));var u=oC(n[1].trim());a.push("_s(".concat(u,")")),s.push({"@binding":u}),c=r+n[0].length}return c':'
',R.innerHTML.indexOf(" ")>0}var aG=!!tE&&aY(!1),aQ=!!tE&&aY(!0),a0=ti(function(t){var e=oc(t);return e&&e.innerHTML}),a1=rJ.prototype.$mount;rJ.prototype.$mount=function(t,e){if((t=t&&oc(t))===document.body||t===document.documentElement)return this;var n=this.$options;if(!n.render){var r=n.template;if(r){if("string"==typeof r)"#"===r.charAt(0)&&(r=a0(r));else{if(!r.nodeType)return this;r=r.innerHTML}}else t&&(r=function(t){if(t.outerHTML)return t.outerHTML;var e=document.createElement("div");return e.appendChild(t.cloneNode(!0)),e.innerHTML}(t));if(r){var o=aX(r,{outputSourceRange:!1,shouldDecodeNewlines:aG,shouldDecodeNewlinesForHref:aQ,delimiters:n.delimiters,comments:n.comments},this),i=o.render,a=o.staticRenderFns;n.render=i,n.staticRenderFns=a}}return a1.call(this,t,e)};rJ.compile=aX;var a2=I.Bj,a3=I.Fl,a9=I.ZM,a4=I.ZP,a8=I.RC,a6=I.aZ,a7=I.IV,a5=I.B,st=I.FN,se=I.nZ,sn=I.h,sr=I.f3,so=I.X3,si=I.PG,sa=I.$y,ss=I.dq,sc=I.yT,su=I.Xl,sl=I.u_,sf=I.Y3,sp=I.dl,sd=I.wF,sv=I.Jd,sh=I.Xn,s_=I.se,sm=I.d1,sg=I.bv,sy=I.bT,sb=I.Yq,sw=I.EB,sx=I.vl,s$=I.Ah,sk=I.ic,sC=I.JJ,sS=I.WL,sO=I.qj,sT=I.OT,sA=I.iH,sj=I.t8,sE=I.Um,sP=I.YS,sR=I.XI,sN=I.IU,sD=I.Vh,sM=I.BK,sI=I.oR,sL=I.SU,sF=I.l1,sB=I.fb,sU=I.sj,sH=I.HA,sV=I.Rr,sz=I.i8,sJ=I.YP,sK=I.m0,sq=I.Rh,sZ=I.Ob;export{a2 as EffectScope,a3 as computed,a9 as customRef,a4 as default,a8 as defineAsyncComponent,a6 as defineComponent,a7 as del,a5 as effectScope,st as getCurrentInstance,se as getCurrentScope,sn as h,sr as inject,so as isProxy,si as isReactive,sa as isReadonly,ss as isRef,sc as isShallow,su as markRaw,sl as mergeDefaults,sf as nextTick,sp as onActivated,sd as onBeforeMount,sv as onBeforeUnmount,sh as onBeforeUpdate,s_ as onDeactivated,sm as onErrorCaptured,sg as onMounted,sy as onRenderTracked,sb as onRenderTriggered,sw as onScopeDispose,sx as onServerPrefetch,s$ as onUnmounted,sk as onUpdated,sC as provide,sS as proxyRefs,sO as reactive,sT as readonly,sA as ref,sj as set,sE as shallowReactive,sP as shallowReadonly,sR as shallowRef,sN as toRaw,sD as toRef,sM as toRefs,sI as triggerRef,sL as unref,sF as useAttrs,sB as useCssModule,sU as useCssVars,sH as useListeners,sV as useSlots,sz as version,sJ as watch,sK as watchEffect,sq as watchPostEffect,sZ as watchSyncEffect}; \ No newline at end of file diff --git a/ssr-vue2-remote/src/components/layout.vue.3ad88cfb.final.css b/ssr-vue2-remote/src/components/layout.vue.3ad88cfb.final.css new file mode 100644 index 000000000..c3a8f5548 --- /dev/null +++ b/ssr-vue2-remote/src/components/layout.vue.3ad88cfb.final.css @@ -0,0 +1 @@ +.tip[data-v-b2ae6f88]{background:#efefef;padding:10px}.tip a[data-v-b2ae6f88]{color:#00f}.menu-list[data-v-b2ae6f88]{display:flex}.menu-list-item[data-v-b2ae6f88]{background:#efefef;border-radius:5px;margin:5px;padding:10px}.menu-list-item[data-v-b2ae6f88]:hover{background:#00f}.menu-list-item:hover a[data-v-b2ae6f88]{color:#fff}.menu-list-item-link[data-v-b2ae6f88]{color:#000;text-decoration:none}head{--webpack-__ssr_vue__remote__-706:&_809,Ā458} \ No newline at end of file diff --git a/ssr-vue2-remote/src/components/layout.vue.885aaf5e.final.js b/ssr-vue2-remote/src/components/layout.vue.885aaf5e.final.js new file mode 100644 index 000000000..ee596d08e --- /dev/null +++ b/ssr-vue2-remote/src/components/layout.vue.885aaf5e.final.js @@ -0,0 +1 @@ +import*as t from"ssr-vue2-remote/npm/vue";var e,r,n,o,i={706:function(t,e,r){r.d(e,{Z:function(){return n}});function n(t,e,r,n,o,i,s,a){var l,u="function"==typeof t?t.options:t;if(e&&(u.render=e,u.staticRenderFns=r,u._compiled=!0),n&&(u.functional=!0),i&&(u._scopeId="data-v-"+i),s?(l=function(t){!(t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)&&"undefined"!=typeof __VUE_SSR_CONTEXT__&&(t=__VUE_SSR_CONTEXT__),o&&o.call(this,t),t&&t._registeredComponents&&t._registeredComponents.add(s)},u._ssrRegister=l):o&&(l=a?function(){o.call(this,(u.functional?this.parent:this).$root.$options.shadowRoot)}:o),l){if(u.functional){u._injectStyles=l;var c=u.render;u.render=function(t,e){return l.call(e),c(t,e)}}else{var p=u.beforeCreate;u.beforeCreate=p?[].concat(p,l):[l]}}return{exports:t,options:u}}},946:function(e){e.exports=t}},s={};function a(t){var e=s[t];if(void 0!==e)return e.exports;var r=s[t]={exports:{}};return i[t](r,r.exports,a),r.exports}a.m=i,a.d=function(t,e){for(var r in e)a.o(e,r)&&!a.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:e[r]})},a.k=function(t){return""+t+".css"},a.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||Function("return this")()}catch(t){if("object"==typeof window)return window}}(),a.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},a.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},a.rv=function(){return"1.1.2"},(()=>{var t;if("string"==typeof import.meta.url&&(t=import.meta.url),!t)throw Error("Automatic publicPath is not supported in this browser");t=t.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),a.p=t+"../../"})(),e={},r="__ssr_vue__remote__",n="data-webpack-loading",o=function(t,e,o,i,s){var l,u,c="chunk-"+t;if(!i){for(var p=document.getElementsByTagName("link"),f=0;f{var s,l,u="",c="",p="",f={},d="--webpack-"+r+"-706",h=1,_={};try{!n&&(n=o(i));for(var m=n.sheet.cssRules||n.sheet.rules,v=m.length-1;v>-1&&!s;){var b=m[v--].style;if(!!b)s=b.getPropertyValue(d)}}catch(t){}if(!s&&(s=getComputedStyle(document.head).getPropertyValue(d)),!s)return;var g,y={},C=s[0],k=C,w=C,x=256;for(l=1;l65535&&(x=256,y={}),k=g;for(l=0,s=w;h;l++)58==(h=s.charCodeAt(l))?(c=u,u=""):47==h?(u=u.replace(/^_/,""),c=c.replace(/^_/,""),p?_.push(c,p,u):f[c]=void 0===f[c]?u:f[c]+" "+u,u="",c="",p=""):38==h?a.r(f):h&&44!=h?92==h?u+=s[++l]:64==h?(p=u,u=""):u+=s[l]:(t[u=u.replace(/^_/,"")]=((t,e,r)=>{!function(t,e){for(var r=0;rc});let u=(0,a("946").defineComponent)({__name:"layout",setup:t=>({__sfc:!0})});a("458");let c=(0,a("706").Z)(u,function(){var t=this._self._c;return this._self._setupProxy,t("div",{staticClass:"layout"},[this._m(0),this._v(" "),this._m(1),this._v(" "),t("main",[this._t("default")],2)])},[function(){var t=this._self._c;return this._self._setupProxy,t("div",{staticClass:"tip"},[this._v("\n 我是一个来自于 "),t("a",{staticClass:"menu-list-item-link",attrs:{href:"https://github.com/dp-os/gez/blob/master/examples/ssr-vue2-remote/src/components/layout.vue",rel:"noopener",target:"_blank"}},[this._v("ssr-vue2-remote")]),this._v(" 服务的组件。\n ")])},function(){var t=this._self._c;return this._self._setupProxy,t("header",{staticClass:"menu-list"},[t("div",{staticClass:"menu-list-item"},[t("a",{staticClass:"menu-list-item-link",attrs:{href:"https://github.com/dp-os/gez",target:"_blank"}},[this._v("github")])]),this._v(" "),t("div",{staticClass:"menu-list-item"},[t("a",{staticClass:"menu-list-item-link",attrs:{href:"https://www.npmjs.com/package/@gez/core",target:"_blank"}},[this._v("npm")])])])}],!1,null,"b2ae6f88",null).exports;var p=l.Z;export{p as default}; \ No newline at end of file diff --git a/ssr-vue2-remote/src/entry.client.dc1e20a2.final.js b/ssr-vue2-remote/src/entry.client.dc1e20a2.final.js new file mode 100644 index 000000000..19cea67e6 --- /dev/null +++ b/ssr-vue2-remote/src/entry.client.dc1e20a2.final.js @@ -0,0 +1 @@ +import*as e from"ssr-vue2-remote/npm/vue";var t,r,n,o,i,a,u,s={946:function(t){t.exports=e}},l={};function c(e){var t=l[e];if(void 0!==t)return t.exports;var r=l[e]={exports:{}};return s[e](r,r.exports,c),r.exports}c.m=s,c.d=function(e,t){for(var r in t)c.o(t,r)&&!c.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},c.f={},c.e=function(e){return Promise.all(Object.keys(c.f).reduce(function(t,r){return c.f[r](e,t),t},[]))},c.k=function(e){return"chunks/"+e+".4b941f3d.final.css"},c.u=function(e){return"chunks/"+e+".afb2727a.final.js"},c.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||Function("return this")()}catch(e){if("object"==typeof window)return window}}(),c.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},c.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},c.rv=function(){return"1.1.2"},(()=>{var e;if("string"==typeof import.meta.url&&(e=import.meta.url),!e)throw Error("Automatic publicPath is not supported in this browser");e=e.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),c.p=e+"../"})(),t={},r="__ssr_vue__remote__",n=(e,n,o)=>{var a,u,s="",l="",f="",d={},p="--webpack-"+r+"-"+o,h=1,m={};try{!n&&(n=i(o));for(var v=n.sheet.cssRules||n.sheet.rules,b=v.length-1;b>-1&&!a;){var y=v[b--].style;if(!!y)a=y.getPropertyValue(p)}}catch(e){}if(!a&&(a=getComputedStyle(document.head).getPropertyValue(p)),!a)return[];var g,k={},w=a[0],A=w,_=w,P=256;for(u=1;u65535&&(P=256,k={}),A=g;for(u=0,a=_;h;u++)58==(h=a.charCodeAt(u))?(l=s,s=""):47==h?(s=s.replace(/^_/,""),l=l.replace(/^_/,""),f?m.push(l,f,s):d[l]=void 0===d[l]?s:d[l]+" "+s,s="",l="",f=""):38==h?c.r(d):h&&44!=h?92==h?s+=a[++u]:64==h?(f=s,s=""):s+=a[u]:(e[s=s.replace(/^_/,"")]=((e,t,r)=>{!function(e,t){for(var r=0;rc.e("849").then(c.bind(c,191)));({app:new f.default({render:e=>e(d)})}).app.$mount('[data-server-rendered="true"]'); \ No newline at end of file diff --git a/ssr-vue2-remote/src/entry.client.ee7811ae.final.css b/ssr-vue2-remote/src/entry.client.ee7811ae.final.css new file mode 100644 index 000000000..2a22d29bc --- /dev/null +++ b/ssr-vue2-remote/src/entry.client.ee7811ae.final.css @@ -0,0 +1 @@ +html,body{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;margin:0;padding:0}head{--webpack-__ssr_vue__remote__-891:&_416} \ No newline at end of file diff --git a/ssr-vue3/importmap.4b3c451d5113cd1c.final.js b/ssr-vue3/importmap.4b3c451d5113cd1c.final.js new file mode 100644 index 000000000..44b678ad3 --- /dev/null +++ b/ssr-vue3/importmap.4b3c451d5113cd1c.final.js @@ -0,0 +1 @@ +(t=>{let r="ssr-vue3",e="__importmap__",s=t[e]=t[e]||{},c=s.imports=s.imports||{},i=new URL(document.currentScript.src).pathname.split("/"+r+"/"),n=t=>r+t.substring(1);Object.entries({"./src/entry.client":"./src/entry.client.01fdf3b0.final.js"}).forEach(([t,r])=>{c[n(t)]=i[0]+"/"+n(r)})})(globalThis); \ No newline at end of file diff --git a/ssr-vue3/importmap.js b/ssr-vue3/importmap.js new file mode 100644 index 000000000..44b678ad3 --- /dev/null +++ b/ssr-vue3/importmap.js @@ -0,0 +1 @@ +(t=>{let r="ssr-vue3",e="__importmap__",s=t[e]=t[e]||{},c=s.imports=s.imports||{},i=new URL(document.currentScript.src).pathname.split("/"+r+"/"),n=t=>r+t.substring(1);Object.entries({"./src/entry.client":"./src/entry.client.01fdf3b0.final.js"}).forEach(([t,r])=>{c[n(t)]=i[0]+"/"+n(r)})})(globalThis); \ No newline at end of file diff --git a/ssr-vue3/index.html b/ssr-vue3/index.html new file mode 100644 index 000000000..b0573349c --- /dev/null +++ b/ssr-vue3/index.html @@ -0,0 +1,17 @@ + + + + + + + + Gez + + + +

rspack + vue3

Count value: 1
+ + + + + diff --git a/ssr-vue3/manifest.json b/ssr-vue3/manifest.json new file mode 100644 index 000000000..5ede47ecb --- /dev/null +++ b/ssr-vue3/manifest.json @@ -0,0 +1,29 @@ +{ + "name": "ssr-vue3", + "version": "1.0.0", + "hash": "4b3c451d5113cd1c", + "type": "module", + "exports": { + "./src/entry.client": "./src/entry.client.01fdf3b0.final.js" + }, + "buildFiles": [ + "src/entry.client.01fdf3b0.final.js", + "importmap.js", + "src/entry.client.45cda3d7.final.css", + "importmap.4b3c451d5113cd1c.final.js" + ], + "chunks": { + "ssr-vue3@src/entry.client.ts": { + "js": "./src/entry.client.01fdf3b0.final.js", + "css": [ + "./src/entry.client.45cda3d7.final.css" + ], + "resources": [], + "sizes": { + "js": 371917, + "css": 665, + "resource": 0 + } + } + } +} \ No newline at end of file diff --git a/ssr-vue3/src/entry.client.01fdf3b0.final.js b/ssr-vue3/src/entry.client.01fdf3b0.final.js new file mode 100644 index 000000000..c57b12be3 --- /dev/null +++ b/ssr-vue3/src/entry.client.01fdf3b0.final.js @@ -0,0 +1,23 @@ +let e,t,n,r,i,o,l,s,a,u,c,p,d,f,h,m;var g,y,b,_,w,x,k={},S={};function C(e){var t=S[e];if(void 0!==t)return t.exports;var n=S[e]={exports:{}};return k[e](n,n.exports,C),n.exports}function $(e){let t=Object.create(null);for(let n of e.split(","))t[n]=1;return e=>e in t}C.m=k,C.k=function(e){return""+e+".css"},C.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||Function("return this")()}catch(e){if("object"==typeof window)return window}}(),C.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},C.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},C.rv=function(){return"1.1.2"},(()=>{var e;if("string"==typeof import.meta.url&&(e=import.meta.url),!e)throw Error("Automatic publicPath is not supported in this browser");e=e.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),C.p=e+"../"})(),g={},y="__ssr_vue___",b="data-webpack-loading",_=function(e,t,n,r,i){var o,l,s="chunk-"+e;if(!r){for(var a=document.getElementsByTagName("link"),u=0;u{var r,i,o="",l="",s="",a={},u="--webpack-"+y+"-"+n,c=1,p={};try{!t&&(t=_(n));for(var d=t.sheet.cssRules||t.sheet.rules,f=d.length-1;f>-1&&!r;){var h=d[f--].style;if(!!h)r=h.getPropertyValue(u)}}catch(e){}if(!r&&(r=getComputedStyle(document.head).getPropertyValue(u)),!r)return;var m,b={},w=r[0],x=w,k=w,S=256;for(i=1;i65535&&(S=256,b={}),x=m;for(i=0,r=k;c;i++)58==(c=r.charCodeAt(i))?(l=o,o=""):47==c?(o=o.replace(/^_/,""),l=l.replace(/^_/,""),s?p.push(l,s,o):a[l]=void 0===a[l]?o:a[l]+" "+o,o="",l="",s=""):38==c?C.r(a):c&&44!=c?92==c?o+=r[++i]:64==c?(s=o,o=""):o+=r[i]:(e[o=o.replace(/^_/,"")]=((e,t,n)=>{!function(e,t){for(var n=0;n{},j=()=>!1,E=e=>111===e.charCodeAt(0)&&110===e.charCodeAt(1)&&(e.charCodeAt(2)>122||97>e.charCodeAt(2)),M=e=>e.startsWith("onUpdate:"),P=Object.assign,R=(e,t)=>{let n=e.indexOf(t);n>-1&&e.splice(n,1)},N=Object.prototype.hasOwnProperty,F=(e,t)=>N.call(e,t),I=Array.isArray,L=e=>"[object Map]"===J(e),V=e=>"[object Set]"===J(e),D=e=>"[object RegExp]"===J(e),U=e=>"function"==typeof e,H=e=>"string"==typeof e,B=e=>"symbol"==typeof e,W=e=>null!==e&&"object"==typeof e,z=e=>(W(e)||U(e))&&U(e.then)&&U(e.catch),q=Object.prototype.toString,J=e=>q.call(e),K=e=>J(e).slice(8,-1),G=e=>"[object Object]"===J(e),Y=e=>H(e)&&"NaN"!==e&&"-"!==e[0]&&""+parseInt(e,10)===e,X=$(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),Z=$("bind,cloak,else-if,else,for,html,if,model,on,once,pre,show,slot,text,memo"),Q=e=>{let t=Object.create(null);return n=>t[n]||(t[n]=e(n))},ee=/-(\w)/g,et=Q(e=>e.replace(ee,(e,t)=>t?t.toUpperCase():"")),en=/\B([A-Z])/g,er=Q(e=>e.replace(en,"-$1").toLowerCase()),ei=Q(e=>e.charAt(0).toUpperCase()+e.slice(1)),eo=Q(e=>e?`on${ei(e)}`:""),el=(e,t)=>!Object.is(e,t),es=(e,...t)=>{for(let n=0;n{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:r,value:n})},eu=e=>{let t=parseFloat(e);return isNaN(t)?e:t},ec=e=>{let t=H(e)?Number(e):NaN;return isNaN(t)?e:t},ep=()=>e||(e="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:void 0!==C.g?C.g:{});function ed(e){if(I(e)){let t={};for(let n=0;n{if(e){let n=e.split(eh);n.length>1&&(t[n[0].trim()]=n[1].trim())}}),t}(r):ed(r);if(i)for(let e in i)t[e]=i[e]}return t}if(H(e)||W(e))return e}const ef=/;(?![^(]*\))/g,eh=/:([^]+)/,em=/\/\*[^]*?\*\//g;function eg(e){let t="";if(H(e))t=e;else if(I(e))for(let n=0;n?@[\\\]^`{|}~]/g,eO=e=>!!(e&&!0===e.__v_isRef),eT=e=>H(e)?e:null==e?"":I(e)||W(e)&&(e.toString===q||!U(e.toString))?eO(e)?eT(e.value):JSON.stringify(e,eA,2):String(e),eA=(e,t)=>{if(eO(t))return eA(e,t.value);if(L(t))return{[`Map(${t.size})`]:[...t.entries()].reduce((e,[t,n],r)=>(e[ej(t,r)+" =>"]=n,e),{})};if(V(t))return{[`Set(${t.size})`]:[...t.values()].map(e=>ej(e))};else if(B(t))return ej(t);else if(W(t)&&!I(t)&&!G(t))return String(t);return t},ej=(e,t="")=>{var n;return B(e)?`Symbol(${null!=(n=e.description)?n:t})`:e};function eE(e,...t){console.warn(`[Vue warn] ${e}`,...t)}class eM{constructor(e=!1){this.detached=e,this._active=!0,this.effects=[],this.cleanups=[],this._isPaused=!1,this.parent=t,!e&&t&&(this.index=(t.scopes||(t.scopes=[])).push(this)-1)}get active(){return this._active}pause(){if(this._active){let e,t;if(this._isPaused=!0,this.scopes)for(e=0,t=this.scopes.length;e0)){if(i){let e=i;for(i=void 0;e;){let t=e.next;e.next=void 0,e.flags&=-9,e=t}}for(;r;){let t=r;for(r=void 0;t;){let n=t.next;if(t.next=void 0,t.flags&=-9,1&t.flags)try{t.trigger()}catch(t){!e&&(e=t)}t=n}}if(e)throw e}}function eV(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function eD(e){let t;let n=e.depsTail,r=n;for(;r;){let e=r.prevDep;-1===r.version?(r===n&&(n=e),eB(r),function(e){let{prevDep:t,nextDep:n}=e;t&&(t.nextDep=n,e.prevDep=void 0),n&&(n.prevDep=t,e.nextDep=void 0)}(r)):t=r,r.dep.activeLink=r.prevActiveLink,r.prevActiveLink=void 0,r=e}e.deps=t,e.depsTail=n}function eU(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(eH(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty||!1}function eH(e){if(4&e.flags&&!(16&e.flags))return;if(e.flags&=-17,e.globalVersion===eG)return;e.globalVersion=eG;let t=e.dep;if(e.flags|=2,t.version>0&&!e.isSSR&&e.deps&&!eU(e)){e.flags&=-3;return}let r=n,i=eW;n=e,eW=!0;try{eV(e);let n=e.fn(e._value);(0===t.version||el(n,e._value))&&(e._value=n,t.version++)}catch(e){throw t.version++,e}finally{n=r,eW=i,eD(e),e.flags&=-3}}function eB(e,t=!1){let{dep:n,prevSub:r,nextSub:i}=e;if(r&&(r.nextSub=i,e.prevSub=void 0),i&&(i.prevSub=r,e.nextSub=void 0),n.subsHead===e&&(n.subsHead=i),n.subs===e&&(n.subs=r,!r&&n.computed)){n.computed.flags&=-5;for(let e=n.computed.deps;e;e=e.nextDep)eB(e,!0)}!t&&!--n.sc&&n.map&&n.map.delete(n.key)}let eW=!0;const ez=[];function eq(){ez.push(eW),eW=!1}function eJ(){let e=ez.pop();eW=void 0===e||e}function eK(e){let{cleanup:t}=e;if(e.cleanup=void 0,t){let e=n;n=void 0;try{t()}finally{n=e}}}let eG=0;class eY{constructor(e,t){this.sub=e,this.dep=t,this.version=t.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}}class eX{constructor(e){this.computed=e,this.version=0,this.activeLink=void 0,this.subs=void 0,this.map=void 0,this.key=void 0,this.sc=0,this.subsHead=void 0}track(e){if(!n||!eW||n===this.computed)return;let t=this.activeLink;if(void 0===t||t.sub!==n)t=this.activeLink=new eY(n,this),n.deps?(t.prevDep=n.depsTail,n.depsTail.nextDep=t,n.depsTail=t):n.deps=n.depsTail=t,function e(t){if(t.dep.sc++,4&t.sub.flags){let n=t.dep.computed;if(n&&!t.dep.subs){n.flags|=20;for(let t=n.deps;t;t=t.nextDep)e(t)}let r=t.dep.subs;r!==t&&(t.prevSub=r,r&&(r.nextSub=t)),void 0===t.dep.subsHead&&(t.dep.subsHead=t),t.dep.subs=t}}(t);else if(-1===t.version&&(t.version=this.version,t.nextDep)){let e=t.nextDep;e.prevDep=t.prevDep,t.prevDep&&(t.prevDep.nextDep=e),t.prevDep=n.depsTail,t.nextDep=void 0,n.depsTail.nextDep=t,n.depsTail=t,n.deps===t&&(n.deps=e)}return n.onTrack&&n.onTrack(P({effect:n},e)),t}trigger(e){this.version++,eG++,this.notify(e)}notify(e){eN++;try{for(let t=this.subsHead;t;t=t.nextSub)t.sub.onTrigger&&!(8&t.sub.flags)&&t.sub.onTrigger(P({effect:t.sub},e));for(let e=this.subs;e;e=e.prevSub)e.sub.notify()&&e.sub.dep.notify()}finally{eL()}}}const eZ=new WeakMap,eQ=Symbol("Object iterate"),e0=Symbol("Map keys iterate"),e1=Symbol("Array iterate");function e2(e,t,r){if(eW&&n){let n=eZ.get(e);!n&&eZ.set(e,n=new Map);let i=n.get(r);!i&&(n.set(r,i=new eX),i.map=n,i.key=r),i.track({target:e,type:t,key:r})}}function e6(e,t,n,r,i,o){let l=eZ.get(e);if(!l){eG++;return}let s=l=>{l&&l.trigger({target:e,type:t,key:n,newValue:r,oldValue:i,oldTarget:o})};if(eN++,"clear"===t)l.forEach(s);else{let i=I(e),o=i&&Y(n);if(i&&"length"===n){let e=Number(r);l.forEach((t,n)=>{("length"===n||n===e1||!B(n)&&n>=e)&&s(t)})}else switch((void 0!==n||l.has(void 0))&&s(l.get(n)),o&&s(l.get(e1)),t){case"add":i?o&&s(l.get("length")):(s(l.get(eQ)),L(e)&&s(l.get(e0)));break;case"delete":!i&&(s(l.get(eQ)),L(e)&&s(l.get(e0)));break;case"set":L(e)&&s(l.get(eQ))}}eL()}function e4(e){let t=tR(e);return t===e?t:(e2(t,"iterate",e1),tM(e)?t:t.map(tN))}function e3(e){return e2(e=tR(e),"iterate",e1),e}const e8={__proto__:null,[Symbol.iterator](){return e5(this,Symbol.iterator,tN)},concat(...e){return e4(this).concat(...e.map(e=>I(e)?e4(e):e))},entries(){return e5(this,"entries",e=>(e[1]=tN(e[1]),e))},every(e,t){return e9(this,"every",e,t,void 0,arguments)},filter(e,t){return e9(this,"filter",e,t,e=>e.map(tN),arguments)},find(e,t){return e9(this,"find",e,t,tN,arguments)},findIndex(e,t){return e9(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return e9(this,"findLast",e,t,tN,arguments)},findLastIndex(e,t){return e9(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return e9(this,"forEach",e,t,void 0,arguments)},includes(...e){return tt(this,"includes",e)},indexOf(...e){return tt(this,"indexOf",e)},join(e){return e4(this).join(e)},lastIndexOf(...e){return tt(this,"lastIndexOf",e)},map(e,t){return e9(this,"map",e,t,void 0,arguments)},pop(){return tn(this,"pop")},push(...e){return tn(this,"push",e)},reduce(e,...t){return te(this,"reduce",e,t)},reduceRight(e,...t){return te(this,"reduceRight",e,t)},shift(){return tn(this,"shift")},some(e,t){return e9(this,"some",e,t,void 0,arguments)},splice(...e){return tn(this,"splice",e)},toReversed(){return e4(this).toReversed()},toSorted(e){return e4(this).toSorted(e)},toSpliced(...e){return e4(this).toSpliced(...e)},unshift(...e){return tn(this,"unshift",e)},values(){return e5(this,"values",tN)}};function e5(e,t,n){let r=e3(e),i=r[t]();return r!==e&&!tM(e)&&(i._next=i.next,i.next=()=>{let e=i._next();return e.value&&(e.value=n(e.value)),e}),i}const e7=Array.prototype;function e9(e,t,n,r,i,o){let l=e3(e),s=l!==e&&!tM(e),a=l[t];if(a!==e7[t]){let t=a.apply(e,o);return s?tN(t):t}let u=n;l!==e&&(s?u=function(t,r){return n.call(this,tN(t),r,e)}:n.length>2&&(u=function(t,r){return n.call(this,t,r,e)}));let c=a.call(l,u,r);return s&&i?i(c):c}function te(e,t,n,r){let i=e3(e),o=n;return i!==e&&(tM(e)?n.length>3&&(o=function(t,r,i){return n.call(this,t,r,i,e)}):o=function(t,r,i){return n.call(this,t,tN(r),i,e)}),i[t](o,...r)}function tt(e,t,n){let r=tR(e);e2(r,"iterate",e1);let i=r[t](...n);return(-1===i||!1===i)&&tP(n[0])?(n[0]=tR(n[0]),r[t](...n)):i}function tn(e,t,n=[]){eq(),eN++;let r=tR(e)[t].apply(e,n);return eL(),eJ(),r}const tr=$("__proto__,__v_isRef,__isVue"),ti=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>"arguments"!==e&&"caller"!==e).map(e=>Symbol[e]).filter(B));function to(e){!B(e)&&(e=String(e));let t=tR(this);return e2(t,"has",e),t.hasOwnProperty(e)}class tl{constructor(e=!1,t=!1){this._isReadonly=e,this._isShallow=t}get(e,t,n){let r=this._isReadonly,i=this._isShallow;if("__v_isReactive"===t)return!r;if("__v_isReadonly"===t)return r;if("__v_isShallow"===t)return i;else if("__v_raw"===t)return n===(r?i?tC:tS:i?tk:tx).get(e)||Object.getPrototypeOf(e)===Object.getPrototypeOf(n)?e:void 0;let o=I(e);if(!r){let e;if(o&&(e=e8[t]))return e;if("hasOwnProperty"===t)return to}let l=Reflect.get(e,t,tI(e)?e:n);return(B(t)?ti.has(t):tr(t))?l:(!r&&e2(e,"get",t),i)?l:tI(l)?o&&Y(t)?l:l.value:W(l)?r?tO(l):t$(l):l}}class ts extends tl{constructor(e=!1){super(!1,e)}set(e,t,n,r){let i=e[t];if(!this._isShallow){let t=tE(i);if(!tM(n)&&!tE(n)&&(i=tR(i),n=tR(n)),!I(e)&&tI(i)&&!tI(n))return!t&&(i.value=n,!0)}let o=I(e)&&Y(t)?Number(t)e,th=e=>Reflect.getPrototypeOf(e);function tm(e){return function(...t){{let n=t[0]?`on key "${t[0]}" `:"";eE(`${ei(e)} operation ${n}failed: target is readonly.`,tR(this))}return"delete"!==e&&("clear"===e?void 0:this)}}function tg(e,t){let n=function(e,t){let n={get(n){let r=this.__v_raw,i=tR(r),o=tR(n);!e&&(el(n,o)&&e2(i,"get",n),e2(i,"get",o));let{has:l}=th(i),s=t?tf:e?tF:tN;return l.call(i,n)?s(r.get(n)):l.call(i,o)?s(r.get(o)):void(r!==i&&r.get(n))},get size(){let t=this.__v_raw;return e||e2(tR(t),"iterate",eQ),Reflect.get(t,"size",t)},has(t){let n=this.__v_raw,r=tR(n),i=tR(t);return!e&&(el(t,i)&&e2(r,"has",t),e2(r,"has",i)),t===i?n.has(t):n.has(t)||n.has(i)},forEach(n,r){let i=this,o=i.__v_raw,l=tR(o),s=t?tf:e?tF:tN;return e||e2(l,"iterate",eQ),o.forEach((e,t)=>n.call(r,s(e),s(t),i))}};return P(n,e?{add:tm("add"),set:tm("set"),delete:tm("delete"),clear:tm("clear")}:{add(e){!t&&!tM(e)&&!tE(e)&&(e=tR(e));let n=tR(this);return!th(n).has.call(n,e)&&(n.add(e),e6(n,"add",e,e)),this},set(e,n){!t&&!tM(n)&&!tE(n)&&(n=tR(n));let r=tR(this),{has:i,get:o}=th(r),l=i.call(r,e);l?tw(r,i,e):(e=tR(e),l=i.call(r,e));let s=o.call(r,e);return r.set(e,n),l?el(n,s)&&e6(r,"set",e,n,s):e6(r,"add",e,n),this},delete(e){let t=tR(this),{has:n,get:r}=th(t),i=n.call(t,e);i?tw(t,n,e):(e=tR(e),i=n.call(t,e));let o=r?r.call(t,e):void 0,l=t.delete(e);return i&&e6(t,"delete",e,void 0,o),l},clear(){let e=tR(this),t=0!==e.size,n=L(e)?new Map(e):new Set(e),r=e.clear();return t&&e6(e,"clear",void 0,void 0,n),r}}),["keys","values","entries",Symbol.iterator].forEach(r=>{var i,o,l;n[r]=(i=r,o=e,l=t,function(...e){let t=this.__v_raw,n=tR(t),r=L(n),s="entries"===i||i===Symbol.iterator&&r,a=t[i](...e),u=l?tf:o?tF:tN;return o||e2(n,"iterate","keys"===i&&r?e0:eQ),{next(){let{value:e,done:t}=a.next();return t?{value:e,done:t}:{value:s?[u(e[0]),u(e[1])]:u(e),done:t}},[Symbol.iterator](){return this}}})}),n}(e,t);return(t,r,i)=>{if("__v_isReactive"===r)return!e;if("__v_isReadonly"===r)return e;if("__v_raw"===r)return t;return Reflect.get(F(n,r)&&r in t?n:t,r,i)}}const tv={get:tg(!1,!1)},ty={get:tg(!1,!0)},tb={get:tg(!0,!1)},t_={get:tg(!0,!0)};function tw(e,t,n){let r=tR(n);if(r!==n&&t.call(e,r)){let t=K(e);eE(`Reactive ${t} contains both the raw and reactive versions of the same object${"Map"===t?" as keys":""}, which can lead to inconsistencies. Avoid differentiating between the raw and reactive versions of an object and only use the reactive version if possible.`)}}const tx=new WeakMap,tk=new WeakMap,tS=new WeakMap,tC=new WeakMap;function t$(e){return tE(e)?e:tA(e,!1,tu,tv,tx)}function tO(e){return tA(e,!0,tc,tb,tS)}function tT(e){return tA(e,!0,td,t_,tC)}function tA(e,t,n,r,i){var o;if(!W(e))return eE(`value cannot be made ${t?"readonly":"reactive"}: ${String(e)}`),e;if(e.__v_raw&&!(t&&e.__v_isReactive))return e;let l=i.get(e);if(l)return l;let s=(o=e).__v_skip||!Object.isExtensible(o)?0:function(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}(K(o));if(0===s)return e;let a=new Proxy(e,2===s?r:n);return i.set(e,a),a}function tj(e){return tE(e)?tj(e.__v_raw):!!(e&&e.__v_isReactive)}function tE(e){return!!(e&&e.__v_isReadonly)}function tM(e){return!!(e&&e.__v_isShallow)}function tP(e){return!!e&&!!e.__v_raw}function tR(e){let t=e&&e.__v_raw;return t?tR(t):e}const tN=e=>W(e)?t$(e):e,tF=e=>W(e)?tO(e):e;function tI(e){return!!e&&!0===e.__v_isRef}class tL{constructor(e,t){this.dep=new eX,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=t?e:tR(e),this._value=t?e:tN(e),this.__v_isShallow=t}get value(){return this.dep.track({target:this,type:"get",key:"value"}),this._value}set value(e){let t=this._rawValue,n=this.__v_isShallow||tM(e)||tE(e);el(e=n?e:tR(e),t)&&(this._rawValue=e,this._value=n?e:tN(e),this.dep.trigger({target:this,type:"set",key:"value",newValue:e,oldValue:t}))}}const tV={get:(e,t,n)=>{var r;return"__v_raw"===t?e:tI(r=Reflect.get(e,t,n))?r.value:r},set:(e,t,n,r)=>{let i=e[t];return tI(i)&&!tI(n)?(i.value=n,!0):Reflect.set(e,t,n,r)}};function tD(e){return tj(e)?e:new Proxy(e,tV)}class tU{constructor(e,t,n){this.fn=e,this.setter=t,this._value=void 0,this.dep=new eX(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=eG-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!t,this.isSSR=n}notify(){if(this.flags|=16,!(8&this.flags)&&n!==this)return eF(this,!0),!0}get value(){let e=this.dep.track({target:this,type:"get",key:"value"});return eH(this),e&&(e.version=this.dep.version),this._value}set value(e){this.setter?this.setter(e):eE("Write operation failed: computed value is readonly")}}const tH={},tB=new WeakMap;function tW(e,t=1/0,n){if(t<=0||!W(e)||e.__v_skip||(n=n||new Set).has(e))return e;if(n.add(e),t--,tI(e))tW(e.value,t,n);else if(I(e))for(let r=0;r{tW(e,t,n)});else if(G(e)){for(let r in e)tW(e[r],t,n);for(let r of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,r)&&tW(e[r],t,n)}return e}const tz=[];function tq(e){tz.push(e)}function tJ(){tz.pop()}let tK=!1;function tG(e,...t){if(tK)return;tK=!0,eq();let n=tz.length?tz[tz.length-1].component:null,r=n&&n.appContext.config.warnHandler,i=function(){let e=tz[tz.length-1];if(!e)return[];let t=[];for(;e;){let n=t[0];n&&n.vnode===e?n.recurseCount++:t.push({vnode:e,recurseCount:0});let r=e.component&&e.component.parent;e=r&&r.vnode}return t}();if(r)tX(r,n,11,[e+t.map(e=>{var t,n;return null!=(n=null==(t=e.toString)?void 0:t.call(e))?n:JSON.stringify(e)}).join(""),n&&n.proxy,i.map(({vnode:e})=>`at <${i2(n,e.type)}>`).join("\n"),i]);else{let n=[`[Vue warn]: ${e}`,...t];i.length&&n.push(` +`,...function(e){let t=[];return e.forEach((e,n)=>{t.push(...0===n?[]:[` +`],...function({vnode:e,recurseCount:t}){let n=t>0?`... (${t} recursive calls)`:"",r=!!e.component&&null==e.component.parent,i=` at <${i2(e.component,e.type,r)}`,o=">"+n;return e.props?[i,...function(e){let t=[],n=Object.keys(e);return n.slice(0,3).forEach(n=>{t.push(...function e(t,n,r){if(H(n))return n=JSON.stringify(n),r?n:[`${t}=${n}`];if("number"==typeof n||"boolean"==typeof n||null==n)return r?n:[`${t}=${n}`];if(tI(n))return n=e(t,tR(n.value),!0),r?n:[`${t}=Ref<`,n,">"];else if(U(n))return[`${t}=fn${n.name?`<${n.name}>`:""}`];else return n=tR(n),r?n:[`${t}=`,n]}(n,e[n]))}),n.length>3&&t.push(" ..."),t}(e.props),o]:[i+o]}(e))}),t}(i)),console.warn(...n)}eJ(),tK=!1}const tY={sp:"serverPrefetch hook",bc:"beforeCreate hook",c:"created hook",bm:"beforeMount hook",m:"mounted hook",bu:"beforeUpdate hook",u:"updated",bum:"beforeUnmount hook",um:"unmounted hook",a:"activated hook",da:"deactivated hook",ec:"errorCaptured hook",rtc:"renderTracked hook",rtg:"renderTriggered hook",0:"setup function",1:"render function",2:"watcher getter",3:"watcher callback",4:"watcher cleanup function",5:"native event handler",6:"component event handler",7:"vnode hook",8:"directive hook",9:"transition hook",10:"app errorHandler",11:"app warnHandler",12:"ref function",13:"async component loader",14:"scheduler flush",15:"component update",16:"app unmount cleanup function"};function tX(e,t,n,r){try{return r?e(...r):e()}catch(e){tQ(e,t,n)}}function tZ(e,t,n,r){if(U(e)){let i=tX(e,t,n,r);return i&&z(i)&&i.catch(e=>{tQ(e,t,n)}),i}if(I(e)){let i=[];for(let o=0;o=nr(n)?t0.push(e):t0.splice(function(e){let t=t1+1,n=t0.length;for(;t>>1,i=t0[r],o=nr(i);oni(t,e);try{for(t1=0;t1nr(e)-nr(t));if(t2.length=0,t6){t6.push(...t);return}for(t4=0,t6=t,e=e||new Map;t4null==e.id?2&e.flags?-1:1/0:e.id;function ni(e,t){let n=e.get(t)||0;if(n>100){let e=t.i,n=e&&i1(e.type);return tQ(`Maximum recursive updates exceeded${n?` in component <${n}>`:""}. This means you have a reactive effect that is mutating its own dependencies and thus recursively triggering itself. Possible sources include component template, render function, updated hook or watcher source function.`,null,10),!0}return e.set(t,n+1),!1}let no=!1;const nl=new Map;ep().__VUE_HMR_RUNTIME__={createRecord:np(na),rerender:np(function(e,t){let n=ns.get(e);if(!!n)n.initialDef.render=t,[...n.instances].forEach(e=>{t&&(e.render=t,nu(e.type).render=t),e.renderCache=[],no=!0,e.update(),no=!1})}),reload:np(function(e,t){let n=ns.get(e);if(!n)return;t=nu(t),nc(n.initialDef,t);let r=[...n.instances];for(let e=0;e{no=!0,i.parent.update(),no=!1,l.delete(i)}):i.appContext.reload?i.appContext.reload():"undefined"!=typeof window?window.location.reload():console.warn("[HMR] Root or manually mounted instance modified. Full reload required."),i.root.ce&&i!==i.root&&i.root.ce._removeChildStyle(o)}ne(()=>{nl.clear()})})};const ns=new Map;function na(e,t){return!ns.has(e)&&(ns.set(e,{initialDef:nu(t),instances:new Set}),!0)}function nu(e){return i6(e)?e.__vccOpts:e}function nc(e,t){for(let n in P(e,t),e)"__file"!==n&&!(n in t)&&delete e[n]}function np(e){return(t,n)=>{try{return e(t,n)}catch(e){console.error(e),console.warn("[HMR] Something went wrong during Vue component hot-reload. Full reload required.")}}}let nd=[],nf=!1;function nh(e,...t){o?o.emit(e,...t):!nf&&nd.push({event:e,args:t})}const nm=nb("component:added"),ng=nb("component:updated"),nv=nb("component:removed"),ny=e=>{o&&"function"==typeof o.cleanupBuffer&&!o.cleanupBuffer(e)&&nv(e)};function nb(e){return t=>{nh(e,t.appContext.app,t.uid,t.parent?t.parent.uid:void 0,t)}}const n_=nx("perf:start"),nw=nx("perf:end");function nx(e){return(t,n,r)=>{nh(e,t.appContext.app,t.uid,t,n,r)}}let nk=null,nS=null;function nC(e){let t=nk;return nk=e,nS=e&&e.type.__scopeId||null,t}function n$(e){Z(e)&&tG("Do not use built-in directive ids as custom directive id: "+e)}function nO(e,t,n,r){let i=e.dirs,o=t&&t.dirs;for(let l=0;le.__isTeleport,nj=Symbol("_leaveCb"),nE=Symbol("_enterCb"),nM=[Function,Array],nP={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:nM,onEnter:nM,onAfterEnter:nM,onEnterCancelled:nM,onBeforeLeave:nM,onLeave:nM,onAfterLeave:nM,onLeaveCancelled:nM,onBeforeAppear:nM,onAppear:nM,onAfterAppear:nM,onAppearCancelled:nM},nR=e=>{let t=e.subTree;return t.component?nR(t.component):t};function nN(e){let t=e[0];if(e.length>1){let n=!1;for(let r of e)if(r.type!==ib){if(n){tG(" can only be used on a single element or component. Use for lists.");break}t=r,n=!0}}return t}function nF(e,t){let{leavingVNodes:n}=e,r=n.get(t.type);return!r&&(r=Object.create(null),n.set(t.type,r)),r}function nI(e,t,n,r,i){let{appear:o,mode:l,persisted:s=!1,onBeforeEnter:a,onEnter:u,onAfterEnter:c,onEnterCancelled:p,onBeforeLeave:d,onLeave:f,onAfterLeave:h,onLeaveCancelled:m,onBeforeAppear:g,onAppear:y,onAfterAppear:b,onAppearCancelled:_}=t,w=String(e.key),x=nF(n,e),k=(e,t)=>{e&&tZ(e,r,9,t)},S=(e,t)=>{let n=t[1];k(e,t),I(e)?e.every(e=>e.length<=1)&&n():e.length<=1&&n()},C={mode:l,persisted:s,beforeEnter(t){let r=a;if(!n.isMounted){if(!o)return;r=g||a}t[nj]&&t[nj](!0);let i=x[w];i&&i$(e,i)&&i.el[nj]&&i.el[nj](),k(r,[t])},enter(e){let t=u,r=c,i=p;if(!n.isMounted){if(!o)return;t=y||u,r=b||c,i=_||p}let l=!1,s=e[nE]=t=>{!l&&(l=!0,t?k(i,[e]):k(r,[e]),C.delayedLeave&&C.delayedLeave(),e[nE]=void 0)};t?S(t,[e,s]):s()},leave(t,r){let i=String(e.key);if(t[nE]&&t[nE](!0),n.isUnmounting)return r();k(d,[t]);let o=!1,l=t[nj]=n=>{!o&&(o=!0,r(),n?k(m,[t]):k(h,[t]),t[nj]=void 0,x[i]===e&&delete x[i])};x[i]=e,f?S(f,[t,l]):l()},clone(e){let o=nI(e,t,n,r,i);return i&&i(o),o}};return C}function nL(e){if(n6(e))return(e=iE(e)).children=null,e}function nV(e){if(!n6(e))return nA(e.type)&&e.children?nN(e.children):e;if(e.component)return e.component.subTree;let{shapeFlag:t,children:n}=e;if(n){if(16&t)return n[0];if(32&t&&U(n.default))return n.default()}}function nD(e,t){6&e.shapeFlag&&e.component?(e.transition=t,nD(e.component.subTree,t)):128&e.shapeFlag?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function nU(e){e.ids=[e.ids[0]+e.ids[2]+++"-",0,0]}const nH=new WeakSet;function nB(e,t,n,r,i=!1){if(I(e)){e.forEach((e,o)=>nB(e,t&&(I(t)?t[o]:t),n,r,i));return}if(n2(r)&&!i)return;let o=4&r.shapeFlag?iZ(r.component):r.el,l=i?null:o,{i:s,r:a}=e;if(!s){tG("Missing ref owner context. ref cannot be used on hoisted vnodes. A vnode with ref must be created inside the render function.");return}let u=t&&t.r,c=s.refs===O?s.refs={}:s.refs,p=s.setupState,d=tR(p),f=p===O?()=>!1:e=>(F(d,e)&&!tI(d[e])&&tG(`Template ref "${e}" used on a non-ref value. It will not work in the production build.`),!nH.has(d[e])&&F(d,e));if(null!=u&&u!==a&&(H(u)?(c[u]=null,f(u)&&(p[u]=null)):tI(u)&&(u.value=null)),U(a))tX(a,s,12,[l,c]);else{let t=H(a),r=tI(a);if(t||r){let s=()=>{if(e.f){let n=t?f(a)?p[a]:c[a]:a.value;i?I(n)&&R(n,o):I(n)?!n.includes(o)&&n.push(o):t?(c[a]=[o],f(a)&&(p[a]=c[a])):(a.value=[o],e.k&&(c[e.k]=a.value))}else t?(c[a]=l,f(a)&&(p[a]=l)):r?(a.value=l,e.k&&(c[e.k]=l)):tG("Invalid template ref type:",a,`(${typeof a})`)};l?(s.id=-1,rZ(s,n)):s()}else tG("Invalid template ref type:",a,`(${typeof a})`)}}let nW=!1;const nz=()=>{if(!nW)console.error("Hydration completed but contains mismatches."),nW=!0},nq=e=>e.namespaceURI.includes("svg")&&"foreignObject"!==e.tagName,nJ=e=>e.namespaceURI.includes("MathML"),nK=e=>{if(1===e.nodeType){if(nq(e))return"svg";if(nJ(e))return"mathml"}},nG=e=>8===e.nodeType;function nY(e){let{mt:t,p:n,o:{patchProp:r,createText:i,nextSibling:o,parentNode:l,remove:s,insert:a,createComment:u}}=e,c=(n,r,s,u,b,_=!1)=>{_=_||!!r.dynamicChildren;let w=nG(n)&&"["===n.data,x=()=>h(n,r,s,u,b,w),{type:k,ref:S,shapeFlag:C,patchFlag:$}=r,O=n.nodeType;r.el=n,ea(n,"__vnode",r,!0),ea(n,"__vueParentComponent",s,!0),-2===$&&(_=!1,r.dynamicChildren=null);let T=null;switch(k){case iy:3!==O?""===r.children?(a(r.el=i(""),l(n),n),T=n):T=x():(n.data!==r.children&&(tG("Hydration text mismatch in",n.parentNode,` + - rendered on server: ${JSON.stringify(n.data)} + - expected on client: ${JSON.stringify(r.children)}`),nz(),n.data=r.children),T=o(n));break;case ib:y(n)?(T=o(n),g(r.el=n.content.firstChild,n,s)):T=8!==O||w?x():o(n);break;case i_:if(w&&(O=(n=o(n)).nodeType),1===O||3===O){T=n;let e=!r.children.length;for(let t=0;t{l=l||!!t.dynamicChildren;let{type:a,props:u,patchFlag:c,shapeFlag:p,dirs:f,transition:h}=t,m="input"===a||"option"===a;{let a;f&&nO(t,null,n,"created");let c=!1;if(y(e)){c=r2(null,h)&&n&&n.vnode.props&&n.vnode.props.appear;let r=e.content.firstChild;c&&h.beforeEnter(r),g(r,e,n),t.el=e=r}if(16&p&&!(u&&(u.innerHTML||u.textContent))){let r=d(e.firstChild,t,e,n,i,o,l),a=!1;for(;r;){!n1(e,1)&&(!a&&(tG("Hydration children mismatch on",e,` +Server rendered element contains more child nodes than client vdom.`),a=!0),nz());let t=r;r=r.nextSibling,s(t)}}else if(8&p){let n=t.children;"\n"===n[0]&&("PRE"===e.tagName||"TEXTAREA"===e.tagName)&&(n=n.slice(1)),e.textContent!==n&&(!n1(e,0)&&(tG("Hydration text content mismatch on",e,` + - rendered on server: ${e.textContent} + - expected on client: ${t.children}`),nz()),e.textContent=t.children)}if(u){let i=e.tagName.includes("-");for(let o in u)!(f&&f.some(e=>e.dir.created))&&function(e,t,n,r,i){let o,l,s,a;if("class"===t)s=e.getAttribute("class"),a=eg(n),!function(e,t){if(e.size!==t.size)return!1;for(let n of e)if(!t.has(n))return!1;return!0}(nX(s||""),nX(a))&&(o=2,l="class");else if("style"===t){s=e.getAttribute("style")||"",a=H(n)?n:function(e){let t="";if(!e||H(e))return t;for(let n in e){let r=e[n];if(H(r)||"number"==typeof r){let e=n.startsWith("--")?n:er(n);t+=`${e}:${r};`}}return t}(ed(n));let t=nZ(s),u=nZ(a);if(r.dirs)for(let{dir:e,value:t}of r.dirs)"show"===e.name&&!t&&u.set("display","none");i&&function e(t,n,r){let i=t.subTree;if(t.getCssVars&&(n===i||i&&i.type===iv&&i.children.includes(n))){let e=t.getCssVars();for(let t in e){var o=void 0;r.set(`--${t.replace(e$,e=>`\\${e}`)}`,String(e[t]))}}n===i&&t.parent&&e(t.parent,t.vnode,r)}(i,r,u),!function(e,t){if(e.size!==t.size)return!1;for(let[n,r]of e)if(r!==t.get(n))return!1;return!0}(t,u)&&(o=3,l="style")}else(e instanceof SVGElement&&eC(t)||e instanceof HTMLElement&&(ex(t)||eS(t)))&&(ex(t)?(s=e.hasAttribute(t),a=ek(n)):null==n?(s=e.hasAttribute(t),a=!1):(s=e.hasAttribute(t)?e.getAttribute(t):"value"===t&&"TEXTAREA"===e.tagName&&e.value,a=!!function(e){if(null==e)return!1;let t=typeof e;return"string"===t||"number"===t||"boolean"===t}(n)&&String(n)),s!==a&&(o=4,l=t));if(null!=o&&!n1(e,o)){let t=e=>!1===e?"(not rendered)":`${l}="${e}"`,n=`Hydration ${n0[o]} mismatch on`;return tG(n,e,` + - rendered on server: ${t(s)} + - expected on client: ${t(a)} + Note: this mismatch is check-only. The DOM will not be rectified in production due to performance overhead. + You should fix the source of the mismatch.`),!0}return!1}(e,o,u[o],t,n)&&nz(),(m&&(o.endsWith("value")||"indeterminate"===o)||E(o)&&!X(o)||"."===o[0]||i)&&r(e,o,null,u[o],void 0,n)}(a=u&&u.onVnodeBeforeMount)&&iI(a,n,t),f&&nO(t,null,n,"beforeMount"),((a=u&&u.onVnodeMounted)||f||c)&&ig(()=>{a&&iI(a,n,t),c&&h.enter(e),f&&nO(t,null,n,"mounted")},i)}return e.nextSibling},d=(e,t,r,l,s,u,p)=>{p=p||!!t.dynamicChildren;let d=t.children,f=d.length,h=!1;for(let t=0;t{let{slotScopeIds:c}=t;c&&(i=i?i.concat(c):c);let p=l(e),f=d(o(e),t,p,n,r,i,s);return f&&nG(f)&&"]"===f.data?o(t.anchor=f):(nz(),a(t.anchor=u("]"),p,f),f)},h=(e,t,r,i,a,u)=>{if(!n1(e.parentElement,1)&&(tG(`Hydration node mismatch: +- rendered on server:`,e,3===e.nodeType?"(text)":nG(e)&&"["===e.data?"(start of fragment)":"",` +- expected on client:`,t.type),nz()),t.el=null,u){let t=m(e);for(;;){let n=o(e);if(n&&n!==t)s(n);else break}}let c=o(e),p=l(e);return s(e),n(null,t,p,c,r,i,nK(p),a),c},m=(e,t="[",n="]")=>{let r=0;for(;e;)if((e=o(e))&&nG(e)&&(e.data===t&&r++,e.data===n)){if(0===r)return o(e);r--}return e},g=(e,t,n)=>{let r=t.parentNode;r&&r.replaceChild(e,t);let i=n;for(;i;)i.vnode.el===t&&(i.vnode.el=i.subTree.el=e),i=i.parent},y=e=>1===e.nodeType&&"TEMPLATE"===e.tagName;return[(e,t)=>{if(!t.hasChildNodes()){tG("Attempting to hydrate existing markup but container is empty. Performing full mount instead."),n(null,e,t),nn(),t._vnode=e;return}c(t.firstChild,e,null,null,null),nn(),t._vnode=e},c]}function nX(e){return new Set(e.trim().split(/\s+/))}function nZ(e){let t=new Map;for(let n of e.split(";")){let[e,r]=n.split(":");e=e.trim(),r=r&&r.trim(),e&&r&&t.set(e,r)}return t}const nQ="data-allow-mismatch",n0={0:"text",1:"children",2:"class",3:"style",4:"attribute"};function n1(e,t){if(0===t||1===t)for(;e&&!e.hasAttribute(nQ);)e=e.parentElement;let n=e&&e.getAttribute(nQ);if(null==n)return!1;if(""===n)return!0;{let e=n.split(",");return!!(0===t&&e.includes("children"))||n.split(",").includes(n0[t])}}ep().requestIdleCallback||(e=>setTimeout(e,1)),ep().cancelIdleCallback||(e=>clearTimeout(e));const n2=e=>!!e.type.__asyncLoader,n6=e=>e.type.__isKeepAlive;function n4(e,t){n8(e,"a",t)}function n3(e,t){n8(e,"da",t)}function n8(e,t,n=iD){let r=e.__wdc||(e.__wdc=()=>{let t=n;for(;t;){if(t.isDeactivated)return;t=t.parent}return e()});if(n5(t,r,n),n){let e=n.parent;for(;e&&e.parent;)n6(e.parent.vnode)&&function(e,t,n,r){let i=n5(t,e,r,!0);ri(()=>{R(r[t],i)},n)}(r,t,n,e),e=e.parent}}function n5(e,t,n=iD,r=!1){if(n){let i=n[e]||(n[e]=[]),o=t.__weh||(t.__weh=(...r)=>{eq();let i=iH(n),o=tZ(t,n,e,r);return i(),eJ(),o});return r?i.unshift(o):i.push(o),o}{let t=eo(tY[e].replace(/ hook$/,""));tG(`${t} is called when there is no active component instance to be associated with. Lifecycle injection APIs can only be used during execution of setup(). If you are using async setup(), make sure to register lifecycle hooks before the first await statement.`)}}const n7=e=>(t,n=iD)=>{(!iJ||"sp"===e)&&n5(e,(...e)=>t(...e),n)},n9=n7("bm"),re=n7("m"),rt=n7("bu"),rn=n7("u"),rr=n7("bum"),ri=n7("um"),ro=n7("sp"),rl=n7("rtg"),rs=n7("rtc");function ra(e,t=iD){n5("ec",e,t)}const ru=Symbol.for("v-ndc"),rc=e=>e?iq(e)?iZ(e):rc(e.parent):null,rp=P(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>tT(e.props),$attrs:e=>tT(e.attrs),$slots:e=>tT(e.slots),$refs:e=>tT(e.refs),$parent:e=>rc(e.parent),$root:e=>rc(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>ry(e),$forceUpdate:e=>e.f||(e.f=()=>{t7(e.update)}),$nextTick:e=>e.n||(e.n=t5.bind(e.proxy)),$watch:e=>r9.bind(e)}),rd=e=>"_"===e||"$"===e,rf=(e,t)=>e!==O&&!e.__isScriptSetup&&F(e,t),rh={get({_:e},t){let n,r,i;if("__v_skip"===t)return!0;let{ctx:o,setupState:l,data:s,props:a,accessCache:u,type:c,appContext:p}=e;if("__isVue"===t)return!0;if("$"!==t[0]){let r=u[t];if(void 0!==r)switch(r){case 1:return l[t];case 2:return s[t];case 4:return o[t];case 3:return a[t]}else{if(rf(l,t))return u[t]=1,l[t];if(s!==O&&F(s,t))return u[t]=2,s[t];if((n=e.propsOptions[0])&&F(n,t))return u[t]=3,a[t];if(o!==O&&F(o,t))return u[t]=4,o[t];rg&&(u[t]=0)}}let d=rp[t];if(d)return"$attrs"===t?(e2(e.attrs,"get",""),function(){io=!0}()):"$slots"===t&&e2(e,"get",t),d(e);if((r=c.__cssModules)&&(r=r[t]))return r;if(o!==O&&F(o,t))return u[t]=4,o[t];else{if(F(i=p.config.globalProperties,t))return i[t];nk&&(!H(t)||0!==t.indexOf("__v"))&&(s!==O&&rd(t[0])&&F(s,t)?tG(`Property ${JSON.stringify(t)} must be accessed via $data because it starts with a reserved character ("$" or "_") and is not proxied on the render context.`):e===nk&&tG(`Property ${JSON.stringify(t)} was accessed during render but is not defined on instance.`))}},set({_:e},t,n){let{data:r,setupState:i,ctx:o}=e;if(rf(i,t))return i[t]=n,!0;if(i.__isScriptSetup&&F(i,t))return tG(`Cannot mutate