agmon 0.1.1 → 0.1.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.next/BUILD_ID +1 -0
- package/.next/app-path-routes-manifest.json +7 -0
- package/.next/build/chunks/[root-of-the-server]__05i36w1t4lzaf._.js +502 -0
- package/.next/build/chunks/[root-of-the-server]__05i36w1t4lzaf._.js.map +11 -0
- package/.next/build/chunks/[root-of-the-server]__1kki86fknkq7y._.js +190 -0
- package/.next/build/chunks/[root-of-the-server]__1kki86fknkq7y._.js.map +8 -0
- package/.next/build/chunks/[turbopack-node]_transforms_postcss_ts_1gfkiq9iz8yb8._.js +13 -0
- package/.next/build/chunks/[turbopack-node]_transforms_postcss_ts_1gfkiq9iz8yb8._.js.map +5 -0
- package/.next/build/chunks/[turbopack]_runtime.js +1056 -0
- package/.next/build/chunks/[turbopack]_runtime.js.map +11 -0
- package/.next/build/chunks/node_modules_20v-8wlfss9m1._.js +7314 -0
- package/.next/build/chunks/node_modules_20v-8wlfss9m1._.js.map +47 -0
- package/.next/build/chunks/pool_entry-[turbopack-node]_transforms_postcss_ts_0tp-k2vy8nj6i._.js +6 -0
- package/.next/build/chunks/pool_entry-[turbopack-node]_transforms_postcss_ts_0tp-k2vy8nj6i._.js.map +5 -0
- package/.next/build/package.json +1 -0
- package/.next/build-manifest.json +54 -0
- package/.next/export-marker.json +6 -0
- package/.next/fallback-build-manifest.json +15 -0
- package/.next/images-manifest.json +68 -0
- package/.next/next-minimal-server.js.nft.json +1 -0
- package/.next/next-server.js.nft.json +1 -0
- package/.next/package.json +1 -0
- package/.next/prerender-manifest.json +97 -0
- package/.next/required-server-files.js +366 -0
- package/.next/required-server-files.json +366 -0
- package/.next/routes-manifest.json +75 -0
- package/.next/server/app/_global-error/page/app-paths-manifest.json +3 -0
- package/.next/server/app/_global-error/page/build-manifest.json +21 -0
- package/.next/server/app/_global-error/page/next-font-manifest.json +6 -0
- package/.next/server/app/_global-error/page/react-loadable-manifest.json +1 -0
- package/.next/server/app/_global-error/page/server-reference-manifest.json +4 -0
- package/.next/server/app/_global-error/page.js +10 -0
- package/.next/server/app/_global-error/page.js.map +5 -0
- package/.next/server/app/_global-error/page.js.nft.json +1 -0
- package/.next/server/app/_global-error/page_client-reference-manifest.js +3 -0
- package/.next/server/app/_global-error.html +1 -0
- package/.next/server/app/_global-error.meta +30 -0
- package/.next/server/app/_global-error.rsc +18 -0
- package/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +23 -0
- package/.next/server/app/_global-error.segments/_full.segment.rsc +18 -0
- package/.next/server/app/_global-error.segments/_tree.segment.rsc +2 -0
- package/.next/server/app/_not-found/page/app-paths-manifest.json +3 -0
- package/.next/server/app/_not-found/page/build-manifest.json +21 -0
- package/.next/server/app/_not-found/page/next-font-manifest.json +6 -0
- package/.next/server/app/_not-found/page/react-loadable-manifest.json +1 -0
- package/.next/server/app/_not-found/page/server-reference-manifest.json +4 -0
- package/.next/server/app/_not-found/page.js +12 -0
- package/.next/server/app/_not-found/page.js.map +5 -0
- package/.next/server/app/_not-found/page.js.nft.json +1 -0
- package/.next/server/app/_not-found/page_client-reference-manifest.js +3 -0
- package/.next/server/app/_not-found.html +1 -0
- package/.next/server/app/_not-found.meta +35 -0
- package/.next/server/app/_not-found.rsc +22 -0
- package/.next/server/app/_not-found.segments/_full.segment.rsc +22 -0
- package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +28 -0
- package/.next/server/app/_not-found.segments/_tree.segment.rsc +4 -0
- package/.next/server/app/api/traces/stream/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/traces/stream/route/build-manifest.json +12 -0
- package/.next/server/app/api/traces/stream/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/traces/stream/route.js +7 -0
- package/.next/server/app/api/traces/stream/route.js.map +5 -0
- package/.next/server/app/api/traces/stream/route.js.nft.json +1 -0
- package/.next/server/app/api/traces/stream/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/version/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/version/route/build-manifest.json +12 -0
- package/.next/server/app/api/version/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/version/route.js +7 -0
- package/.next/server/app/api/version/route.js.map +5 -0
- package/.next/server/app/api/version/route.js.nft.json +1 -0
- package/.next/server/app/api/version/route_client-reference-manifest.js +3 -0
- package/.next/server/app/index.html +1 -0
- package/.next/server/app/index.meta +29 -0
- package/.next/server/app/index.rsc +29 -0
- package/.next/server/app/index.segments/__PAGE__.segment.rsc +34 -0
- package/.next/server/app/index.segments/_full.segment.rsc +29 -0
- package/.next/server/app/index.segments/_tree.segment.rsc +3 -0
- package/.next/server/app/page/app-paths-manifest.json +3 -0
- package/.next/server/app/page/build-manifest.json +21 -0
- package/.next/server/app/page/next-font-manifest.json +6 -0
- package/.next/server/app/page/react-loadable-manifest.json +1 -0
- package/.next/server/app/page/server-reference-manifest.json +4 -0
- package/.next/server/app/page.js +13 -0
- package/.next/server/app/page.js.map +5 -0
- package/.next/server/app/page.js.nft.json +1 -0
- package/.next/server/app/page_client-reference-manifest.js +3 -0
- package/.next/server/app-paths-manifest.json +7 -0
- package/.next/server/chunks/[externals]__0bwf06g0pqv3h._.js +3 -0
- package/.next/server/chunks/[externals]__0bwf06g0pqv3h._.js.map +1 -0
- package/.next/server/chunks/[externals]__1p2j9_5g429uh._.js +3 -0
- package/.next/server/chunks/[externals]__1p2j9_5g429uh._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__04an4kw4xcc5l._.js +5 -0
- package/.next/server/chunks/[root-of-the-server]__04an4kw4xcc5l._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__1s6v8mz-nanm-._.js +5 -0
- package/.next/server/chunks/[root-of-the-server]__1s6v8mz-nanm-._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__20xfs4y2ipcvv._.js +320 -0
- package/.next/server/chunks/[root-of-the-server]__20xfs4y2ipcvv._.js.map +1 -0
- package/.next/server/chunks/[turbopack]_runtime.js +937 -0
- package/.next/server/chunks/[turbopack]_runtime.js.map +10 -0
- package/.next/server/chunks/_next-internal_server_app_api_traces_stream_route_actions_07rmicxgds803.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_traces_stream_route_actions_07rmicxgds803.js.map +1 -0
- package/.next/server/chunks/_next-internal_server_app_api_version_route_actions_0kbx30hro8e93.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_version_route_actions_0kbx30hro8e93.js.map +1 -0
- package/.next/server/chunks/ssr/1q96_modules_pixi_js_lib_rendering_renderers_canvas_CanvasRenderer_mjs_1xntzghggpb51._.js +3 -0
- package/.next/server/chunks/ssr/1q96_modules_pixi_js_lib_rendering_renderers_canvas_CanvasRenderer_mjs_1xntzghggpb51._.js.map +1 -0
- package/.next/server/chunks/ssr/1q96_modules_pixi_js_lib_rendering_renderers_gpu_WebGPURenderer_mjs_00tc9jrf-ft1_._.js +76 -0
- package/.next/server/chunks/ssr/1q96_modules_pixi_js_lib_rendering_renderers_gpu_WebGPURenderer_mjs_00tc9jrf-ft1_._.js.map +1 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__08zgqq_38tv57._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__08zgqq_38tv57._.js.map +1 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0aa2929udndo-._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0aa2929udndo-._.js.map +1 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0ayw3c9e93kvf._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0ayw3c9e93kvf._.js.map +1 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0ojpb-dtuk3-q._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0ojpb-dtuk3-q._.js.map +1 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0py1t7q9ntzgc._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0py1t7q9ntzgc._.js.map +1 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__1cf6qt9agg_9-._.js +14 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__1cf6qt9agg_9-._.js.map +1 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__1e1_fmeab1ca7._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__1e1_fmeab1ca7._.js.map +1 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__1w2vu9hh0h02y._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__1w2vu9hh0h02y._.js.map +1 -0
- package/.next/server/chunks/ssr/[turbopack]_runtime.js +937 -0
- package/.next/server/chunks/ssr/[turbopack]_runtime.js.map +10 -0
- package/.next/server/chunks/ssr/_next-internal_server_app__global-error_page_actions_0zi5s8-psc_d2.js +3 -0
- package/.next/server/chunks/ssr/_next-internal_server_app__global-error_page_actions_0zi5s8-psc_d2.js.map +1 -0
- package/.next/server/chunks/ssr/_next-internal_server_app__not-found_page_actions_0pt47yrisjoev.js +3 -0
- package/.next/server/chunks/ssr/_next-internal_server_app__not-found_page_actions_0pt47yrisjoev.js.map +1 -0
- package/.next/server/chunks/ssr/_next-internal_server_app_page_actions_0hhsz1jew5ls7.js +3 -0
- package/.next/server/chunks/ssr/_next-internal_server_app_page_actions_0hhsz1jew5ls7.js.map +1 -0
- package/.next/server/chunks/ssr/node_modules_01xbj_9zg44kw._.js +33 -0
- package/.next/server/chunks/ssr/node_modules_01xbj_9zg44kw._.js.map +1 -0
- package/.next/server/chunks/ssr/node_modules_0a548_llmwce7._.js +23 -0
- package/.next/server/chunks/ssr/node_modules_0a548_llmwce7._.js.map +1 -0
- package/.next/server/chunks/ssr/node_modules_0gxlxpuufujz9._.js +33 -0
- package/.next/server/chunks/ssr/node_modules_0gxlxpuufujz9._.js.map +1 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_0janj0i6dqko7._.js +6 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_0janj0i6dqko7._.js.map +1 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_1hgv5i-pr1hza._.js +3 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_1hgv5i-pr1hza._.js.map +1 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_client_components_0wpq8j32_ibz4._.js +3 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_client_components_0wpq8j32_ibz4._.js.map +1 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_client_components_builtin_forbidden_0symwr9mbf-fh.js +3 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_client_components_builtin_forbidden_0symwr9mbf-fh.js.map +1 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_client_components_builtin_global-error_0q-w892nagajq.js +3 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_client_components_builtin_global-error_0q-w892nagajq.js.map +1 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_client_components_builtin_unauthorized_0l_sp0xky89qu.js +3 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_client_components_builtin_unauthorized_0l_sp0xky89qu.js.map +1 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0aymk_x8-bu4q.js +3 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0aymk_x8-bu4q.js.map +1 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_19--w_z4y02i7.js +3 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_19--w_z4y02i7.js.map +1 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1qjycfedgh109.js +3 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1qjycfedgh109.js.map +1 -0
- package/.next/server/chunks/ssr/node_modules_pixi_js_lib_0hcyh9uzlz7ci._.js +3 -0
- package/.next/server/chunks/ssr/node_modules_pixi_js_lib_0hcyh9uzlz7ci._.js.map +1 -0
- package/.next/server/chunks/ssr/node_modules_pixi_js_lib_0k3f3soanqdoq._.js +3 -0
- package/.next/server/chunks/ssr/node_modules_pixi_js_lib_0k3f3soanqdoq._.js.map +1 -0
- package/.next/server/chunks/ssr/node_modules_pixi_js_lib_0ovgsftn-uvbz._.js +3 -0
- package/.next/server/chunks/ssr/node_modules_pixi_js_lib_0ovgsftn-uvbz._.js.map +1 -0
- package/.next/server/chunks/ssr/node_modules_pixi_js_lib_0xa24fqr5c5qi._.js +5 -0
- package/.next/server/chunks/ssr/node_modules_pixi_js_lib_0xa24fqr5c5qi._.js.map +1 -0
- package/.next/server/chunks/ssr/node_modules_pixi_js_lib_0zrftay3kjup7._.js +5 -0
- package/.next/server/chunks/ssr/node_modules_pixi_js_lib_0zrftay3kjup7._.js.map +1 -0
- package/.next/server/chunks/ssr/node_modules_pixi_js_lib_1z4lgkg_w-7fr._.js +208 -0
- package/.next/server/chunks/ssr/node_modules_pixi_js_lib_1z4lgkg_w-7fr._.js.map +1 -0
- package/.next/server/chunks/ssr/node_modules_pixi_js_lib_1zjkoj2kc4hm-._.js +3 -0
- package/.next/server/chunks/ssr/node_modules_pixi_js_lib_1zjkoj2kc4hm-._.js.map +1 -0
- package/.next/server/chunks/ssr/node_modules_pixi_js_lib_environment-browser_browserAll_mjs_0xb_t3dj4ad1f._.js +16 -0
- package/.next/server/chunks/ssr/node_modules_pixi_js_lib_environment-browser_browserAll_mjs_0xb_t3dj4ad1f._.js.map +1 -0
- package/.next/server/chunks/ssr/node_modules_pixi_js_lib_filters_Filter_mjs_0luksfw8ekifi._.js +3 -0
- package/.next/server/chunks/ssr/node_modules_pixi_js_lib_filters_Filter_mjs_0luksfw8ekifi._.js.map +1 -0
- package/.next/server/chunks/ssr/node_modules_pixi_js_lib_filters_init_mjs_1o5fmm_m60v_s._.js +3 -0
- package/.next/server/chunks/ssr/node_modules_pixi_js_lib_filters_init_mjs_1o5fmm_m60v_s._.js.map +1 -0
- package/.next/server/chunks/ssr/node_modules_pixi_js_lib_rendering_1fkio2phhfvow._.js +196 -0
- package/.next/server/chunks/ssr/node_modules_pixi_js_lib_rendering_1fkio2phhfvow._.js.map +1 -0
- package/.next/server/chunks/ssr/node_modules_pixi_js_lib_rendering_1n1q7aum4i7zo._.js +196 -0
- package/.next/server/chunks/ssr/node_modules_pixi_js_lib_rendering_1n1q7aum4i7zo._.js.map +1 -0
- package/.next/server/chunks/ssr/node_modules_pixi_js_lib_rendering_renderers_10vpvx1o7svnk._.js +3 -0
- package/.next/server/chunks/ssr/node_modules_pixi_js_lib_rendering_renderers_10vpvx1o7svnk._.js.map +1 -0
- package/.next/server/chunks/ssr/node_modules_pixi_js_lib_rendering_renderers_gl_WebGLRenderer_mjs_1hlux44jh7dk-._.js +153 -0
- package/.next/server/chunks/ssr/node_modules_pixi_js_lib_rendering_renderers_gl_WebGLRenderer_mjs_1hlux44jh7dk-._.js.map +1 -0
- package/.next/server/chunks/ssr/src_app_page_1vqfk0-j72fp6.js +3 -0
- package/.next/server/chunks/ssr/src_app_page_1vqfk0-j72fp6.js.map +1 -0
- package/.next/server/functions-config-manifest.json +4 -0
- package/.next/server/interception-route-rewrite-manifest.js +1 -0
- package/.next/server/middleware-build-manifest.js +54 -0
- package/.next/server/middleware-manifest.json +6 -0
- package/.next/server/next-font-manifest.js +1 -0
- package/.next/server/next-font-manifest.json +6 -0
- package/.next/server/pages/404.html +1 -0
- package/.next/server/pages/500.html +1 -0
- package/.next/server/pages-manifest.json +4 -0
- package/.next/server/prefetch-hints.json +34 -0
- package/.next/server/preview-props.json +5 -0
- package/.next/server/server-reference-manifest.js +1 -0
- package/.next/server/server-reference-manifest.json +5 -0
- package/.next/static/chunks/0_9x2udu0iodw.js +1 -0
- package/.next/static/chunks/0cz1d0mv5g_q7.js +1 -0
- package/.next/static/chunks/0umf92h1sb77c.js +1 -0
- package/.next/static/chunks/10om7oix6wjze.js +1 -0
- package/.next/static/chunks/1780fh11o7pze.js +1 -0
- package/.next/static/chunks/1cldmiyw3ya18.js +21 -0
- package/.next/static/chunks/1unuqfq-vfqtp.js +1 -0
- package/.next/static/chunks/2-vsu_pt58kse.js +3 -0
- package/.next/static/chunks/2drjv1ti9t4pg.js +1 -0
- package/.next/static/chunks/2hgsvrrwu57--.css +1 -0
- package/.next/static/chunks/2ogvir8krwwhf.js +1 -0
- package/.next/static/chunks/2tc54fmsk8v8q.js +1 -0
- package/.next/static/chunks/304ue7hvto0o0.js +206 -0
- package/.next/static/chunks/31gve42sn75--.js +1 -0
- package/.next/static/chunks/32kizm_7q94vd.js +194 -0
- package/.next/static/chunks/33bap0u4zwgab.js +74 -0
- package/.next/static/chunks/3c4xol65z2da2.js +22 -0
- package/.next/static/chunks/3cfn99dbrcvvp.js +31 -0
- package/.next/static/chunks/3d6xc1eemxy82.js +1 -0
- package/.next/static/chunks/3ycr8gfnsg-xv.js +151 -0
- package/.next/static/chunks/3ytt3vrdhke9u.js +14 -0
- package/.next/static/chunks/turbopack-3-ry682tkyiqk.js +1 -0
- package/.next/static/cy2F4S28h_-YWqCOuE_ul/_buildManifest.js +11 -0
- package/.next/static/cy2F4S28h_-YWqCOuE_ul/_clientMiddlewareManifest.js +1 -0
- package/.next/static/cy2F4S28h_-YWqCOuE_ul/_ssgManifest.js +1 -0
- package/.next/trace +1 -0
- package/.next/trace-build +1 -0
- package/.next/types/cache-life.d.ts +114 -0
- package/.next/types/root-params.d.ts +3 -0
- package/.next/types/routes.d.ts +74 -0
- package/.next/types/validator.ts +17 -0
- package/bin/cli.js +24 -6
- package/package.json +6 -6
- package/src/app/api/traces/stream/route.js +2 -2
- package/src/app/layout.js +1 -1
- package/src/app/page.js +6 -19
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
module.exports=[85690,a=>{"use strict";let b,c;var d=a.i(87924),e=a.i(72131),f=a.i(44373);let g={extension:{type:f.x.Environment,name:"browser",priority:-1},test:()=>!0,load:async()=>{await a.A(7916)}},h={extension:{type:f.x.Environment,name:"webworker",priority:0},test:()=>"u">typeof self&&void 0!==self.WorkerGlobalScope,load:async()=>{await a.A(44390)}};a.i(28755),a.i(91540),a.i(68087);var i=a.i(61607);f.H.add(g,h);var j=a.i(58422),k=a.i(67663);async function l(a={}){return void 0!==c?c:c=await (async()=>{let b=j.f.get().getNavigator().gpu;if(!b)return!1;try{let c=await b.requestAdapter(a);return await c.requestDevice(),!0}catch(a){return!1}})()}let m=["webgl","webgpu","canvas"];async function n(c){let d,e=[];c.preference?Array.isArray(c.preference)?e=c.preference.slice():(e.push(c.preference),m.forEach(a=>{a!==c.preference&&e.push(a)})):e=m.slice();let f={};for(let g=0;g<e.length;g++){let h=e[g];if("webgpu"===h&&await l()){let{WebGPURenderer:b}=await a.A(21326);d=b,f={...c,...c.webgpu};break}if("webgl"===h&&function(a){return void 0!==b?b:b=(()=>{let b={stencil:!0,failIfMajorPerformanceCaveat:a??k.f.defaultOptions.failIfMajorPerformanceCaveat};try{if(!j.f.get().getWebGLRenderingContext())return!1;let a=j.f.get().createCanvas().getContext("webgl",b),c=!!a?.getContextAttributes()?.stencil;if(a){let b=a.getExtension("WEBGL_lose_context");b&&b.loseContext()}return a=null,c}catch(a){return!1}})()}(c.failIfMajorPerformanceCaveat??k.f.defaultOptions.failIfMajorPerformanceCaveat)){let{WebGLRenderer:b}=await a.A(96549);d=b,f={...c,...c.webgl};break}if("canvas"===h){let{CanvasRenderer:b}=await a.A(10069);d=b,f={...c,...c.canvasOptions};break}}if(delete f.webgpu,delete f.webgl,delete f.canvasOptions,!d)throw Error("No available renderer for the current environment");let g=new d;return await g.init(f),g}var o=a.i(84764),p=a.i(99553),q=a.i(2897);class r{static init(a){Object.defineProperty(this,"resizeTo",{configurable:!0,set(a){globalThis.removeEventListener("resize",this.queueResize),this._resizeTo=a,a&&(globalThis.addEventListener("resize",this.queueResize),this.resize())},get(){return this._resizeTo}}),this.queueResize=()=>{this._resizeTo&&(this._cancelResize(),this._resizeId=requestAnimationFrame(()=>this.resize()))},this._cancelResize=()=>{this._resizeId&&(cancelAnimationFrame(this._resizeId),this._resizeId=null)},this.resize=()=>{let a,b;if(this._resizeTo){if(this._cancelResize(),this._resizeTo===globalThis.window)a=globalThis.innerWidth,b=globalThis.innerHeight;else{let{clientWidth:c,clientHeight:d}=this._resizeTo;a=c,b=d}this.renderer.resize(a,b),this.render()}},this._resizeId=null,this._resizeTo=null,this.resizeTo=a.resizeTo||null}static destroy(){globalThis.removeEventListener("resize",this.queueResize),this._cancelResize(),this._cancelResize=null,this.queueResize=null,this.resizeTo=null,this.resize=null}}r.extension=f.x.Application;var s=a.i(83019),t=a.i(83717);class u{static init(a){a=Object.assign({autoStart:!0,sharedTicker:!1},a),Object.defineProperty(this,"ticker",{configurable:!0,set(a){this._ticker&&this._ticker.remove(this.render,this),this._ticker=a,a&&a.add(this.render,this,s.f.LOW)},get(){return this._ticker}}),this.stop=()=>{this._ticker.stop()},this.start=()=>{this._ticker.start()},this._ticker=null,this.ticker=a.sharedTicker?t.f.shared:new t.f,a.autoStart&&this.start()}static destroy(){if(this._ticker){let a=this._ticker;this.ticker=null,a.destroy()}}}u.extension=f.x.Application,f.H.add(r),f.H.add(u);let v=class a{constructor(...a){this.stage=new o.t,void 0!==a[0]&&(0,q.K)(q.e,"Application constructor options are deprecated, please use Application.init() instead.")}async init(b){b={...b},this.stage||(this.stage=new o.t),this.renderer=await n(b),a._plugins.forEach(a=>{a.init.call(this,b)})}render(){this.renderer.render({container:this.stage})}get canvas(){return this.renderer.canvas}get view(){return(0,q.K)(q.e,"Application.view is deprecated, please use Application.canvas instead."),this.renderer.canvas}get screen(){return this.renderer.screen}get domContainerRoot(){return this.renderer.renderPipes.dom?._domElement}destroy(b=!1,c=!1){let d=a._plugins.slice(0);d.reverse(),d.forEach(a=>{a.destroy.call(this)}),this.stage.destroy(c),this.stage=null,this.renderer.destroy(b),this.renderer=null}};v._plugins=[],f.H.handleByList(f.x.Application,v._plugins),f.H.add(p.L);var w=a.i(13753),x=a.i(28136),y=a.i(31394),z=a.i(94214),A=a.i(37155),B=a.i(24869);class C extends B.f{constructor(a,b){let{text:c,resolution:d,style:e,anchor:f,width:g,height:h,roundPixels:i,...j}=a;super({...j}),this.batched=!0,this._resolution=null,this._autoResolution=!0,this._didTextUpdate=!0,this._styleClass=b,this.text=c??"",this.style=e,this.resolution=d??null,this.allowChildren=!1,this._anchor=new A.f({_onUpdate:()=>{this.onViewUpdate()}}),f&&(this.anchor=f),this.roundPixels=i??!1,void 0!==g&&(this.width=g),void 0!==h&&(this.height=h)}get anchor(){return this._anchor}set anchor(a){"number"==typeof a?this._anchor.set(a):this._anchor.copyFrom(a)}set text(a){a=a.toString(),this._text!==a&&(this._text=a,this.onViewUpdate())}get text(){return this._text}set resolution(a){this._autoResolution=null===a,this._resolution=a,this.onViewUpdate()}get resolution(){return this._resolution}get style(){return this._style}set style(a){a||(a={}),this._style?.off("update",this.onViewUpdate,this),a instanceof this._styleClass?this._style=a:this._style=new this._styleClass(a),this._style.on("update",this.onViewUpdate,this),this.onViewUpdate()}get width(){return Math.abs(this.scale.x)*this.bounds.width}set width(a){this._setWidth(a,this.bounds.width)}get height(){return Math.abs(this.scale.y)*this.bounds.height}set height(a){this._setHeight(a,this.bounds.height)}getSize(a){return a||(a={}),a.width=Math.abs(this.scale.x)*this.bounds.width,a.height=Math.abs(this.scale.y)*this.bounds.height,a}setSize(a,b){"object"==typeof a?(b=a.height??a.width,a=a.width):b??(b=a),void 0!==a&&this._setWidth(a,this.bounds.width),void 0!==b&&this._setHeight(b,this.bounds.height)}containsPoint(a){let b=this.bounds.width,c=this.bounds.height,d=-b*this.anchor.x,e=0;return!!(a.x>=d)&&!!(a.x<=d+b)&&(e=-c*this.anchor.y,!!(a.y>=e)&&!!(a.y<=e+c))||!1}onViewUpdate(){this.didViewUpdate||(this._didTextUpdate=!0),super.onViewUpdate()}destroy(a=!1){this._style?.off("update",this.onViewUpdate,this),super.destroy(a),this.owner=null,this._bounds=null,this._anchor=null,("boolean"==typeof a?a:a?.style)&&this._style.destroy(a),this._style=null,this._text=null}get styleKey(){return`${this._text}:${this._style.styleKey}:${this._resolution}`}}var D=a.i(98063),E=a.i(31023),F=a.i(9124),G=a.i(48732);let H=null,I=null;function J(a,b,c){for(let d=0,e=4*c*b;d<b;++d,e+=4)if(0!==a[e+3])return!1;return!0}function K(a,b,c,d,e){let f=4*b;for(let b=d,g=d*f+4*c;b<=e;++b,g+=f)if(0!==a[g+3])return!1;return!0}class L{constructor(a=0,b=0,c=!1){this.first=null,this.items=Object.create(null),this.last=null,this.max=a,this.resetTtl=c,this.size=0,this.ttl=b}clear(){return this.first=null,this.items=Object.create(null),this.last=null,this.size=0,this}delete(a){if(this.has(a)){let b=this.items[a];delete this.items[a],this.size--,null!==b.prev&&(b.prev.next=b.next),null!==b.next&&(b.next.prev=b.prev),this.first===b&&(this.first=b.next),this.last===b&&(this.last=b.prev)}return this}entries(a=this.keys()){let b=Array(a.length);for(let c=0;c<a.length;c++){let d=a[c];b[c]=[d,this.get(d)]}return b}evict(a=!1){if(a||this.size>0){let a=this.first;delete this.items[a.key],0==--this.size?(this.first=null,this.last=null):(this.first=a.next,this.first.prev=null)}return this}expiresAt(a){let b;return this.has(a)&&(b=this.items[a].expiry),b}get(a){let b=this.items[a];if(void 0!==b)return this.ttl>0&&b.expiry<=Date.now()?void this.delete(a):(this.moveToEnd(b),b.value)}has(a){return a in this.items}moveToEnd(a){this.last!==a&&(null!==a.prev&&(a.prev.next=a.next),null!==a.next&&(a.next.prev=a.prev),this.first===a&&(this.first=a.next),a.prev=this.last,a.next=null,null!==this.last&&(this.last.next=a),this.last=a,null===this.first&&(this.first=a))}keys(){let a=Array(this.size),b=this.first,c=0;for(;null!==b;)a[c++]=b.key,b=b.next;return a}setWithEvicted(a,b,c=this.resetTtl){let d=null;if(this.has(a))this.set(a,b,!0,c);else{this.max>0&&this.size===this.max&&(d={...this.first},this.evict(!0));let c=this.items[a]={expiry:this.ttl>0?Date.now()+this.ttl:this.ttl,key:a,prev:this.last,next:null,value:b};1==++this.size?this.first=c:this.last.next=c,this.last=c}return d}set(a,b,c=!1,d=this.resetTtl){let e=this.items[a];return c||void 0!==e?(e.value=b,!1===c&&d&&(e.expiry=this.ttl>0?Date.now()+this.ttl:this.ttl),this.moveToEnd(e)):(this.max>0&&this.size===this.max&&this.evict(!0),e=this.items[a]={expiry:this.ttl>0?Date.now()+this.ttl:this.ttl,key:a,prev:this.last,next:null,value:b},1==++this.size?this.first=e:this.last.next=e,this.last=e),this}values(a=this.keys()){let b=Array(a.length);for(let c=0;c<a.length;c++)b[c]=this.get(a[c]);return b}}function M(a){return!!a.tagStyles&&Object.keys(a.tagStyles).length>0}function N(a){return a.includes("<")}let O=new Set([10,13]),P=new Set([9,32,8192,8193,8194,8195,8196,8197,8198,8200,8201,8202,8287,12288]),Q=new Set([45,8208,8211,8212,173]),R=/(\r\n|\r|\n)/,S=/(?:\r\n|\r|\n)/;function T(a){return"string"==typeof a&&O.has(a.charCodeAt(0))}function U(a,b){return"string"==typeof a&&P.has(a.charCodeAt(0))}function V(a){return"normal"===a||"pre-line"===a}function W(a){return"normal"===a}function X(a){if("string"!=typeof a)return"";let b=a.length-1;for(;b>=0&&U(a[b]);)b--;return b<a.length-1?a.slice(0,b+1):a}function Y(a){let b=[],c=[];if("string"!=typeof a)return b;for(let d=0;d<a.length;d++){let e=a[d],f=a[d+1];if(U(e,f)||T(e)){c.length>0&&(b.push(c.join("")),c.length=0),"\r"===e&&"\n"===f?(b.push("\r\n"),d++):b.push(e);continue}c.push(e),"string"==typeof e&&Q.has(e.charCodeAt(0))&&f&&!U(f)&&!T(f)&&(b.push(c.join("")),c.length=0)}return c.length>0&&b.push(c.join("")),b}function Z(a,b,c,d){let e=c(a),f=[];for(let c=0;c<e.length;c++){let g=e[c],h=g,i=1;for(;e[c+i];){let f=e[c+i];if(d(h,f,a,c,b))break;g+=f,h=f,i++}c+=i-1,f.push(g)}return f}let $=/\r\n|\r|\n/g,_={willReadFrequently:!0};function aa(a,b,c,d,e){let f=c[a];return"number"!=typeof f&&(f=e(a,b,d)+b,c[a]=f),f}let ab={willReadFrequently:!0},ac=class a{static get experimentalLetterSpacingSupported(){let b=a._experimentalLetterSpacingSupported;if(void 0===b){let c=j.f.get().getCanvasRenderingContext2D().prototype;b=a._experimentalLetterSpacingSupported="letterSpacing"in c||"textLetterSpacing"in c}return b}constructor(a,b,c,d,e,f,g,h,i,j){this.text=a,this.style=b,this.width=c,this.height=d,this.lines=e,this.lineWidths=f,this.lineHeight=g,this.maxLineWidth=h,this.fontProperties=i,j&&(this.runsByLine=j.runsByLine,this.lineAscents=j.lineAscents,this.lineDescents=j.lineDescents,this.lineHeights=j.lineHeights,this.hasDropShadow=j.hasDropShadow)}static measureText(b=" ",c,d=a._canvas,e=c.wordWrap){let f=`${b}-${c.styleKey}-wordWrap-${e}`;if(a._measurementCache.has(f))return a._measurementCache.get(f);if(M(c)&&N(b)){let d=function(a,b,c,d,e,f,g,h,i){let j=function(a,b){let c=[],d=b.tagStyles;if(!M(b)||!N(a))return c.push({text:a,style:b}),c;let e=[b],f=[],g="",h=0;for(;h<a.length;){let b=a[h];if("<"===b){let k=a.indexOf(">",h);if(-1===k){g+=b,h++;continue}let l=a.indexOf("<",h+1);if(-1!==l&&l<k){g+=b,h++;continue}let m=a.slice(h+1,k);if(m.startsWith("/")){let b=m.slice(1).trim();if(f.length>0&&f[f.length-1]===b){g.length>0&&(c.push({text:g,style:e[e.length-1]}),g=""),e.pop(),f.pop(),h=k+1;continue}g+=a.slice(h,k+1),h=k+1;continue}{let b=m.trim();if(d[b]){var i,j;g.length>0&&(c.push({text:g,style:e[e.length-1]}),g="");let a=(i=e[e.length-1],j=d[b],i.clone().assign(j));e.push(a),f.push(b),h=k+1;continue}g+=a.slice(h,k+1),h=k+1;continue}}g+=b,h++}return g.length>0&&c.push({text:g,style:e[e.length-1]}),c}(a,b);if(W(b.whiteSpace))for(let a=0;a<j.length;a++){let b=j[a];j[a]={text:b.text.replace($," "),style:b.style}}let k=[],l=[];for(let a of j){let b=a.text.split(R);for(let c=0;c<b.length;c++){let d=b[c];"\r\n"===d||"\r"===d||"\n"===d?(k.push(l),l=[]):d.length>0&&l.push({text:d,style:a.style})}}(l.length>0||0===k.length)&&k.push(l);let m=c?function(a,b,c,d,e,f){let{letterSpacing:g,whiteSpace:h,wordWrapWidth:i,breakWords:j}=b,k=V(h),l=i+g,m={},n="",o=(a,b)=>{let e=`${a}|${b.styleKey}`,f=m[e];if(void 0===f){let g=b._fontString;g!==n&&(c.font=g,n=g),f=d(a,b.letterSpacing,c)+b.letterSpacing,m[e]=f}return f},p=[];for(let b of a){let a=function(a){let b=[],c=!1;for(let d of a){let a=Y(d.text),e=!0;for(let f of a){let a=U(f)||T(f),g=e&&c&&!a;b.push({token:f,style:d.style,continuesFromPrevious:g}),c=!a,e=!1}}return b}(b),c=p.length,d=b=>{let c=0,d=b;do{let{token:b,style:e}=a[d];c+=o(b,e),d++}while(d<a.length&&a[d].continuesFromPrevious)return c},g=b=>{let c=[],d=b;do c.push({token:a[d].token,style:a[d].style}),d++;while(d<a.length&&a[d].continuesFromPrevious)return c},h=[],i=0,m=!k,n=null,q=()=>{n&&n.text.length>0&&h.push(n),n=null},r=()=>{if(q(),h.length>0){let a=h[h.length-1];a.text=X(a.text),0===a.text.length&&h.pop()}p.push(h),h=[],i=0,m=!1};for(let b=0;b<a.length;b++){let{token:c,style:s,continuesFromPrevious:t}=a[b],u=o(c,s);if(k){let a=U(c),b=n?.text[n.text.length-1]??h[h.length-1]?.text.slice(-1)??"",d=!!b&&U(b);if(a&&d)continue}let v=!t,w=v?d(b):u;if(w>l&&v)if(i>0&&r(),j){let a=g(b);for(let b=0;b<a.length;b++){let c=a[b].token,d=a[b].style;for(let a of Z(c,j,f,e)){let b=o(a,d);b+i>l&&r(),n&&n.style===d?n.text+=a:(q(),n={text:a,style:d}),i+=b}}b+=a.length-1}else{let a=g(b);q(),p.push(a.map(a=>({text:a.token,style:a.style}))),m=!1,b+=a.length-1}else if(w+i>l&&v){if(U(c)){m=!1;continue}r(),n={text:c,style:s},i=u}else if(t&&!j)n&&n.style===s?n.text+=c:(q(),n={text:c,style:s}),i+=u;else{let a=U(c);if(0===i&&a&&!m)continue;n&&n.style===s?n.text+=c:(q(),n={text:c,style:s}),i+=u}}if(q(),h.length>0){let a=h[h.length-1];a.text=X(a.text),0===a.text.length&&h.pop()}(h.length>0||p.length===c)&&p.push(h)}return p}(k,b,d,f,h,i):k,n=[],o=[],p=[],q=[],r=[],s=0,t=g(b._fontString);0===t.fontSize&&(t.fontSize=b.fontSize,t.ascent=b.fontSize);let u="",v=!!b.dropShadow,w=b._stroke?.width||0;for(let a of m){let c=0,f=t.ascent,h=t.descent,i="";for(let b of a){let a=b.style._fontString,j=g(a);a!==u&&(d.font=a,u=a),c+=e(b.text,b.style.letterSpacing,d),f=Math.max(f,j.ascent),h=Math.max(h,j.descent),i+=b.text;let k=b.style._stroke?.width||0;k>w&&(w=k),!v&&b.style.dropShadow&&(v=!0)}0===a.length&&(f=t.ascent,h=t.descent),n.push(c),o.push(f),p.push(h),r.push(i);let j=b.lineHeight||f+h;q.push(j+b.leading),s=Math.max(s,c)}let x=w,y=s+x+(b.dropShadow?b.dropShadow.distance:0),z=0;for(let a=0;a<q.length;a++)z+=q[a];return{width:y,height:(z=Math.max(z,q[0]+x))+(b.dropShadow?b.dropShadow.distance:0),lines:r,lineWidths:n,lineHeight:(b.lineHeight||t.fontSize)+b.leading,maxLineWidth:s,fontProperties:t,runsByLine:m,lineAscents:o,lineDescents:p,lineHeights:q,hasDropShadow:v}}(b,c,e,a._context,a._measureText,a._measureTextAdvance,a.measureFont,a.canBreakChars,a.wordWrapSplit),g=new a(b,c,d.width,d.height,d.lines,d.lineWidths,d.lineHeight,d.maxLineWidth,d.fontProperties,{runsByLine:d.runsByLine,lineAscents:d.lineAscents,lineDescents:d.lineDescents,lineHeights:d.lineHeights,hasDropShadow:d.hasDropShadow});return a._measurementCache.set(f,g),g}let g=c._fontString,h=a.measureFont(g);0===h.fontSize&&(h.fontSize=c.fontSize,h.ascent=c.fontSize,h.descent=0);let i=a._context;i.font=g;let j=(e?a._wordWrap(b,c,d):b).split(S),k=Array(j.length),l=0;for(let b=0;b<j.length;b++){let d=a._measureText(j[b],c.letterSpacing,i);k[b]=d,l=Math.max(l,d)}let m=c._stroke?.width??0,n=c.lineHeight||h.fontSize,o=a._adjustWidthForStyle(l,c),p=Math.max(n,h.fontSize+m)+(j.length-1)*(n+c.leading),q=a._adjustHeightForStyle(p,c),r=new a(b,c,o,q,j,k,n+c.leading,l,h);return a._measurementCache.set(f,r),r}static _adjustWidthForStyle(a,b){let c=a+(b._stroke?.width||0);return b.dropShadow&&(c+=b.dropShadow.distance),c}static _adjustHeightForStyle(a,b){let c=a;return b.dropShadow&&(c+=b.dropShadow.distance),c}static _measureText(b,c,d){let{metricWidth:e,metrics:f,letterSpacingVal:g}=a._measureTextCore(b,c,d),h=-(f.actualBoundingBoxLeft??0),i=(f.actualBoundingBoxRight??0)-h;return f.width>0&&(i+=g),Math.max(e,i)}static _measureTextAdvance(b,c,d){return a._measureTextCore(b,c,d).metricWidth}static _measureTextCore(b,c,d){let e=!1;a.experimentalLetterSpacingSupported&&(a.experimentalLetterSpacing?(d.letterSpacing=`${c}px`,d.textLetterSpacing=`${c}px`,e=!0):(d.letterSpacing="0px",d.textLetterSpacing="0px"));let f=d.measureText(b),g=f.width,h=0;return g>0&&(g+=h=e?-c:(a.graphemeSegmenter(b).length-1)*c),{metricWidth:g,metrics:f,letterSpacingVal:h}}static _wordWrap(b,c,d=a._canvas){return function(a,b,c,d,e,f,g){let h=c.getContext("2d",_);h.font=b._fontString;let i=0,j="",k=[],l=Object.create(null),{letterSpacing:m,whiteSpace:n}=b,o=V(n),p=W(n),q=!o,r=b.wordWrapWidth+m,s=Y(a);for(let a=0;a<s.length;a++){let c=s[a];if(T(c)){if(!p){k.push(X(j)),q=!o,j="",i=0;continue}c=" "}if(o){let a=U(c),b=U(j[j.length-1]);if(a&&b)continue}let n=aa(c,m,l,h,d);if(n>r)if(""!==j&&(k.push(X(j)),j="",i=0),e(c,b.breakWords))for(let a of Z(c,b.breakWords,g,f)){let b=aa(a,m,l,h,d);b+i>r&&(k.push(X(j)),q=!1,j="",i=0),j+=a,i+=b}else j.length>0&&(k.push(X(j)),j="",i=0),k.push(X(c)),q=!1,j="",i=0;else n+i>r&&(q=!1,k.push(X(j)),j="",i=0),(j.length>0||!U(c)||q)&&(j+=c,i+=n)}let t=X(j);return t.length>0&&k.push(t),k.join("\n")}(b,c,d,a._measureTextAdvance,a.canBreakWords,a.canBreakChars,a.wordWrapSplit)}static isBreakingSpace(a,b){return U(a,b)}static canBreakWords(a,b){return b}static canBreakChars(a,b,c,d,e){return!0}static wordWrapSplit(b){return a.graphemeSegmenter(b)}static measureFont(b){if(a._fonts[b])return a._fonts[b];let c=a._context;c.font=b;let d=c.measureText(a.METRICS_STRING+a.BASELINE_SYMBOL),e=d.actualBoundingBoxAscent??0,f=d.actualBoundingBoxDescent??0,g={ascent:e,descent:f,fontSize:e+f};return a._fonts[b]=g,g}static clearMetrics(b=""){b?delete a._fonts[b]:a._fonts={}}static get _canvas(){if(!a.__canvas){let b;try{let c=new OffscreenCanvas(0,0),d=c.getContext("2d",ab);if(d?.measureText)return a.__canvas=c,c;b=j.f.get().createCanvas()}catch(a){b=j.f.get().createCanvas()}b.width=b.height=10,a.__canvas=b}return a.__canvas}static get _context(){return a.__context||(a.__context=a._canvas.getContext("2d",ab)),a.__context}};ac.METRICS_STRING="|ÉqÅ",ac.BASELINE_SYMBOL="M",ac.BASELINE_MULTIPLIER=1.4,ac.HEIGHT_MULTIPLIER=2,ac.graphemeSegmenter=(()=>{if("function"==typeof Intl?.Segmenter){let a=new Intl.Segmenter;return b=>{let c=a.segment(b),d=[],e=0;for(let a of c)d[e++]=a.segment;return d}}return a=>[...a]})(),ac.experimentalLetterSpacing=!1,ac._fonts={},ac._measurementCache=function(a=1e3,b=0,c=!1){if(isNaN(a)||a<0)throw TypeError("Invalid max value");if(isNaN(b)||b<0)throw TypeError("Invalid ttl value");if("boolean"!=typeof c)throw TypeError("Invalid resetTtl value");return new L(a,b,c)}(1e3);let ad=["serif","sans-serif","monospace","cursive","fantasy","system-ui"];function ae(a){let b="number"==typeof a.fontSize?`${a.fontSize}px`:a.fontSize,c=a.fontFamily;Array.isArray(a.fontFamily)||(c=a.fontFamily.split(","));for(let a=c.length-1;a>=0;a--){let b=c[a].trim();/([\"\'])[^\'\"]+\1/.test(b)||ad.includes(b)||(b=`"${b}"`),c[a]=b}return`${a.fontStyle} ${a.fontVariant} ${a.fontWeight} ${b} ${c.join(",")}`}var af=a.i(67309),ag=a.i(87069),ah=a.i(71805),ai=a.i(51983),aj=a.i(89376);function ak(a,b,c,d=0,e=0,f=0){if(a.texture===ah.f.WHITE&&!a.fill)return D.f.shared.setValue(a.color).setAlpha(a.alpha??1).toHexa();if(a.fill){if(a.fill instanceof aj.f){let c=a.fill,d=b.createPattern(c.texture.source.resource,"repeat");return ag.f.applyPatternTransform(d,c.transform,!1),d}else if(a.fill instanceof w.f){let g,h=a.fill,i="linear"===h.type,j="local"===h.textureSpace,k=1,l=1;j&&c&&(k=c.width+d,l=c.height+d);let m=!1;if(i){let{start:a,end:c}=h;g=b.createLinearGradient(a.x*k+e,a.y*l+f,c.x*k+e,c.y*l+f),m=Math.abs(c.x-a.x)<Math.abs((c.y-a.y)*.1)}else{let{center:a,innerRadius:c,outerCenter:d,outerRadius:i}=h;g=b.createRadialGradient(a.x*k+e,a.y*l+f,c*k,d.x*k+e,d.y*l+f,i*k)}if(m&&j&&c){let a=c.lineHeight/l;for(let b=0;b<c.lines.length;b++){let e=(b*c.lineHeight+d/2)/l;h.colorStops.forEach(b=>{let c=e+b.offset*a;c=Math.max(0,Math.min(1,c)),g.addColorStop(Math.floor(1e5*c)/1e5,D.f.shared.setValue(b.color).toHex())})}}else h.colorStops.forEach(a=>{g.addColorStop(a.offset,D.f.shared.setValue(a.color).toHex())});return g}}else{let c=b.createPattern(a.texture.source.resource,"repeat"),d=a.matrix.copyTo(af.f.shared);return d.scale(a.texture.source.pixelWidth,a.texture.source.pixelHeight),c.setTransform(d),c}return(0,ai.f)("FillStyle not recognised",a),"red"}let al=new E.f;function am(a){let b=0;for(let c=0;c<a.length;c++)32===a.charCodeAt(c)&&b++;return b}let an=new class{getCanvasAndContext(a){let{text:b,style:c,resolution:d=1}=a,e=c._getFinalPadding(),f=ac.measureText(b||" ",c),g=Math.ceil(Math.ceil(Math.max(1,f.width)+2*e)*d),h=Math.ceil(Math.ceil(Math.max(1,f.height)+2*e)*d),i=F.f.getOptimalCanvasAndContext(g,h);this._renderTextToCanvas(c,e,d,i,f);let k=c.trim?function(...a){let b=a[0];b.canvas||(b={canvas:a[0],resolution:a[1]});let{canvas:c}=b,d=Math.min(b.resolution??1,1),e=b.width??c.width,f=b.height??c.height,g=b.output;if(H||((I=(H=j.f.get().createCanvas(256,128)).getContext("2d",{willReadFrequently:!0})).globalCompositeOperation="copy",I.globalAlpha=1),(H.width<e||H.height<f)&&(H.width=(0,G.a)(e),H.height=(0,G.a)(f)),!I)throw TypeError("Failed to get canvas 2D context");I.drawImage(c,0,0,e,f,0,0,e*d,f*d);let h=I.getImageData(0,0,e,f).data,i=0,k=0,l=e-1,m=f-1;for(;k<f&&J(h,e,k);)++k;if(k===f)return E.f.EMPTY;for(;J(h,e,m);)--m;for(;K(h,e,i,k,m);)++i;for(;K(h,e,l,k,m);)--l;return++l,++m,I.globalCompositeOperation="source-over",I.strokeRect(i,k,l-i,m-k),I.globalCompositeOperation="copy",g??(g=new E.f),g.set(i/d,k/d,(l-i)/d,(m-k)/d),g}({canvas:i.canvas,width:g,height:h,resolution:1,output:al}):al.set(0,0,g,h);return{canvasAndContext:i,frame:k}}returnCanvasAndContext(a){F.f.returnCanvasAndContext(a)}_renderTextToCanvas(a,b,c,d,e){let f,g;if(e.runsByLine&&e.runsByLine.length>0)return void this._renderTaggedTextToCanvas(e,a,b,c,d);let{canvas:h,context:i}=d,j=ae(a),k=e.lines,l=e.lineHeight,m=e.lineWidths,n=e.maxLineWidth,o=e.fontProperties,p=h.height;if(i.resetTransform(),i.scale(c,c),i.textBaseline=a.textBaseline,a._stroke?.width){let b=a._stroke;i.lineWidth=b.width,i.miterLimit=b.miterLimit,i.lineJoin=b.join,i.lineCap=b.cap}i.font=j;let q=a.dropShadow?2:1,r=(a._stroke?.width??0)/2,s=(l-o.fontSize)/2;l-o.fontSize<0&&(s=0);for(let h=0;h<q;++h){let j=a.dropShadow&&0===h,q=j?Math.ceil(Math.max(1,p)+2*b):0,t=q*c;if(j)this._setupDropShadow(i,a,c,t);else{let c=a._gradientBounds,d=a._gradientOffset;if(c){let f={width:c.width,height:c.height,lineHeight:c.height,lines:e.lines};this._setFillAndStrokeStyles(i,a,f,b,r,d?.x??0,d?.y??0)}else d?this._setFillAndStrokeStyles(i,a,e,b,r,d.x,d.y):this._setFillAndStrokeStyles(i,a,e,b,r);i.shadowColor="rgba(0,0,0,0)"}for(let c=0;c<k.length;c++){f=r,g=r+c*l+o.ascent+s,f+=this._getAlignmentOffset(m[c],n,a.align);let e=0;if("justify"===a.align&&a.wordWrap&&c<k.length-1){let a=am(k[c]);a>0&&(e=(n-m[c])/a)}a._stroke?.width&&this._drawLetterSpacing(k[c],a,d,f+b,g+b-q,!0,e),void 0!==a._fill&&this._drawLetterSpacing(k[c],a,d,f+b,g+b-q,!1,e)}}}_renderTaggedTextToCanvas(a,b,c,d,e){let{canvas:f,context:g}=e,{runsByLine:h,lineWidths:i,maxLineWidth:j,lineAscents:k,lineHeights:l,hasDropShadow:m}=a,n=f.height;g.resetTransform(),g.scale(d,d),g.textBaseline=b.textBaseline;let o=m?2:1,p=b._stroke?.width??0;for(let a of h)for(let b of a){let a=b.style._stroke?.width??0;a>p&&(p=a)}let q=p/2,r=[];for(let a=0;a<h.length;a++){let b=h[a],c=[];for(let a of b){let b=ae(a.style);g.font=b,c.push({width:ac._measureText(a.text,a.style.letterSpacing,g),font:b})}r.push(c)}for(let a=0;a<o;++a){let f=m&&0===a,o=f?Math.ceil(Math.max(1,n)+2*c):0,p=o*d;f||(g.shadowColor="rgba(0,0,0,0)");let s=q;for(let a=0;a<h.length;a++){let m=h[a],n=i[a],t=k[a],u=l[a],v=r[a],w=q;w+=this._getAlignmentOffset(n,j,b.align);let x=0;if("justify"===b.align&&b.wordWrap&&a<h.length-1){let a=0;for(let b of m)a+=am(b.text);a>0&&(x=(j-n)/a)}let y=s+t,z=w+c;for(let a=0;a<m.length;a++){let b=m[a],{width:h,font:i}=v[a];if(g.font=i,g.textBaseline=b.style.textBaseline,b.style._stroke?.width){let a=b.style._stroke;if(g.lineWidth=a.width,g.miterLimit=a.miterLimit,g.lineJoin=a.join,g.lineCap=a.cap,f)if(b.style.dropShadow)this._setupDropShadow(g,b.style,d,p);else{z+=h+am(b.text)*x;continue}else{let d=ac.measureFont(i),e=b.style.lineHeight||d.fontSize;g.strokeStyle=ak(a,g,{width:h,height:e,lineHeight:e,lines:[b.text]},2*c,z-c,s)}this._drawLetterSpacing(b.text,b.style,e,z,y+c-o,!0,x)}z+=h+am(b.text)*x}z=w+c;for(let a=0;a<m.length;a++){let b=m[a],{width:h,font:i}=v[a];if(g.font=i,g.textBaseline=b.style.textBaseline,void 0!==b.style._fill){if(f)if(b.style.dropShadow)this._setupDropShadow(g,b.style,d,p);else{z+=h+am(b.text)*x;continue}else{let a=ac.measureFont(i),d=b.style.lineHeight||a.fontSize,e={width:h,height:d,lineHeight:d,lines:[b.text]};g.fillStyle=ak(b.style._fill,g,e,2*c,z-c,s)}this._drawLetterSpacing(b.text,b.style,e,z,y+c-o,!1,x)}z+=h+am(b.text)*x}s+=u}}}_setFillAndStrokeStyles(a,b,c,d,e,f=0,g=0){a.fillStyle=b._fill?ak(b._fill,a,c,2*d,f,g):null,b._stroke?.width&&(a.strokeStyle=ak(b._stroke,a,c,e+2*d,f,g))}_setupDropShadow(a,b,c,d){a.fillStyle="black",a.strokeStyle="black";let e=b.dropShadow,f=e.color,g=e.alpha;a.shadowColor=D.f.shared.setValue(f).setAlpha(g).toRgbaString();let h=e.blur*c,i=e.distance*c;a.shadowBlur=h,a.shadowOffsetX=Math.cos(e.angle)*i,a.shadowOffsetY=Math.sin(e.angle)*i+d}_getAlignmentOffset(a,b,c){return"right"===c?b-a:"center"===c?(b-a)/2:0}_drawLetterSpacing(a,b,c,d,e,f=!1,g=0){let{context:h}=c,i=b.letterSpacing,j=!1;if(ac.experimentalLetterSpacingSupported&&(ac.experimentalLetterSpacing?(h.letterSpacing=`${i}px`,h.textLetterSpacing=`${i}px`,j=!0):(h.letterSpacing="0px",h.textLetterSpacing="0px")),(0===i||j)&&0===g)return void(f?h.strokeText(a,d,e):h.fillText(a,d,e));if(0!==g&&(0===i||j)){let b=a.split(" "),c=d,i=h.measureText(" ").width;for(let a=0;a<b.length;a++)f?h.strokeText(b[a],c,e):h.fillText(b[a],c,e),c+=h.measureText(b[a]).width+i+g;return}let k=d,l=ac.graphemeSegmenter(a),m=h.measureText(a).width,n=0;for(let a=0;a<l.length;++a){let b=l[a];f?h.strokeText(b,k,e):h.fillText(b,k,e);let c="";for(let b=a+1;b<l.length;++b)c+=l[b];k+=m-(n=h.measureText(c).width)+i," "===b&&(k+=g),m=n}}};var ao=i,ap=a.i(90423),aq=a.i(96781),ar=a.i(52820);let as=class a extends ao.f{constructor(b={}){super(),this.uid=(0,ap.f)("textStyle"),this._tick=0,this._cachedFontString=null,function(a){if("boolean"==typeof a.dropShadow&&a.dropShadow){let b=as.defaultDropShadow;a.dropShadow={alpha:a.dropShadowAlpha??b.alpha,angle:a.dropShadowAngle??b.angle,blur:a.dropShadowBlur??b.blur,color:a.dropShadowColor??b.color,distance:a.dropShadowDistance??b.distance}}if(void 0!==a.strokeThickness){(0,q.K)(q.e,"strokeThickness is now a part of stroke");let b=a.stroke,c={};if(D.f.isColorLike(b))c.color=b;else if(b instanceof w.f||b instanceof aj.f)c.fill=b;else if(Object.hasOwnProperty.call(b,"color")||Object.hasOwnProperty.call(b,"fill"))c=b;else throw Error("Invalid stroke value.");a.stroke={...c,width:a.strokeThickness}}if(Array.isArray(a.fillGradientStops)){if((0,q.K)(q.e,"gradient fill is now a fill pattern: `new FillGradient(...)`"),!Array.isArray(a.fill)||0===a.fill.length)throw Error("Invalid fill value. Expected an array of colors for gradient fill.");a.fill.length!==a.fillGradientStops.length&&(0,ai.f)("The number of fill colors must match the number of fill gradient stops.");let b=new w.f({start:{x:0,y:0},end:{x:0,y:1},textureSpace:"local"}),c=a.fillGradientStops.slice(),d=a.fill.map(a=>D.f.shared.setValue(a).toNumber());c.forEach((a,c)=>{b.addColorStop(a,d[c])}),a.fill={fill:b}}}(b);let c=b instanceof a,d=b;c&&(b=d._toObject());let e={...a.defaultTextStyle,...b};for(let a in e)this[a]=e[a];this._tagStyles=b.tagStyles??void 0,this.update(),this._tick=0}get align(){return this._align}set align(a){this._align!==a&&(this._align=a,this.update())}get breakWords(){return this._breakWords}set breakWords(a){this._breakWords!==a&&(this._breakWords=a,this.update())}get dropShadow(){return this._dropShadow}set dropShadow(b){this._dropShadow!==b&&(null!==b&&"object"==typeof b?this._dropShadow=this._createProxy({...a.defaultDropShadow,...b}):this._dropShadow=b?this._createProxy({...a.defaultDropShadow}):null,this.update())}get fontFamily(){return this._fontFamily}set fontFamily(a){this._fontFamily!==a&&(this._fontFamily=a,this.update())}get fontSize(){return this._fontSize}set fontSize(a){this._fontSize!==a&&("string"==typeof a?this._fontSize=parseInt(a,10):this._fontSize=a,this.update())}get fontStyle(){return this._fontStyle}set fontStyle(a){this._fontStyle!==a&&(this._fontStyle=a.toLowerCase(),this.update())}get fontVariant(){return this._fontVariant}set fontVariant(a){this._fontVariant!==a&&(this._fontVariant=a,this.update())}get fontWeight(){return this._fontWeight}set fontWeight(a){this._fontWeight!==a&&(this._fontWeight=a,this.update())}get leading(){return this._leading}set leading(a){this._leading!==a&&(this._leading=a,this.update())}get letterSpacing(){return this._letterSpacing}set letterSpacing(a){this._letterSpacing!==a&&(this._letterSpacing=a,this.update())}get lineHeight(){return this._lineHeight}set lineHeight(a){this._lineHeight!==a&&(this._lineHeight=a,this.update())}get padding(){return this._padding}set padding(a){this._padding!==a&&(this._padding=a,this.update())}get filters(){return this._filters}set filters(a){this._filters!==a&&(this._filters=Object.freeze(a),this.update())}get trim(){return this._trim}set trim(a){this._trim!==a&&(this._trim=a,this.update())}get textBaseline(){return this._textBaseline}set textBaseline(a){this._textBaseline!==a&&(this._textBaseline=a,this.update())}get whiteSpace(){return this._whiteSpace}set whiteSpace(a){this._whiteSpace!==a&&(this._whiteSpace=a,this.update())}get wordWrap(){return this._wordWrap}set wordWrap(a){this._wordWrap!==a&&(this._wordWrap=a,this.update())}get wordWrapWidth(){return this._wordWrapWidth}set wordWrapWidth(a){this._wordWrapWidth!==a&&(this._wordWrapWidth=a,this.update())}get fill(){return this._originalFill}set fill(a){a!==this._originalFill&&(this._originalFill=a,this._isFillStyle(a)&&(this._originalFill=this._createProxy({...aq.f.defaultFillStyle,...a},()=>{this._fill=(0,ar._)({...this._originalFill},aq.f.defaultFillStyle)})),this._fill=(0,ar._)(0===a?"black":a,aq.f.defaultFillStyle),this.update())}get stroke(){return this._originalStroke}set stroke(a){a!==this._originalStroke&&(this._originalStroke=a,this._isFillStyle(a)&&(this._originalStroke=this._createProxy({...aq.f.defaultStrokeStyle,...a},()=>{this._stroke=(0,ar.U)({...this._originalStroke},aq.f.defaultStrokeStyle)})),this._stroke=(0,ar.U)(a,aq.f.defaultStrokeStyle),this.update())}get tagStyles(){return this._tagStyles}set tagStyles(a){this._tagStyles!==a&&(this._tagStyles=a??void 0,this.update())}update(){this._tick++,this._cachedFontString=null,this.emit("update",this)}reset(){let b=a.defaultTextStyle;for(let a in b)this[a]=b[a]}assign(a){for(let b in a)this[b]=a[b];return this}get styleKey(){return`${this.uid}-${this._tick}`}get _fontString(){return null===this._cachedFontString&&(this._cachedFontString=ae(this)),this._cachedFontString}_toObject(){return{align:this.align,breakWords:this.breakWords,dropShadow:this._dropShadow?{...this._dropShadow}:null,fill:this._fill?{...this._fill}:void 0,fontFamily:this.fontFamily,fontSize:this.fontSize,fontStyle:this.fontStyle,fontVariant:this.fontVariant,fontWeight:this.fontWeight,leading:this.leading,letterSpacing:this.letterSpacing,lineHeight:this.lineHeight,padding:this.padding,stroke:this._stroke?{...this._stroke}:void 0,textBaseline:this.textBaseline,trim:this.trim,whiteSpace:this.whiteSpace,wordWrap:this.wordWrap,wordWrapWidth:this.wordWrapWidth,filters:this._filters?[...this._filters]:void 0,tagStyles:this._tagStyles?{...this._tagStyles}:void 0}}clone(){return new a(this._toObject())}_getFinalPadding(){let a=0;if(this._filters)for(let b=0;b<this._filters.length;b++)a+=this._filters[b].padding;return Math.max(this._padding,a)}destroy(a=!1){if(this.removeAllListeners(),"boolean"==typeof a?a:a?.texture){let b="boolean"==typeof a?a:a?.textureSource;this._fill?.texture&&this._fill.texture.destroy(b),this._originalFill?.texture&&this._originalFill.texture.destroy(b),this._stroke?.texture&&this._stroke.texture.destroy(b),this._originalStroke?.texture&&this._originalStroke.texture.destroy(b)}this._fill=null,this._stroke=null,this.dropShadow=null,this._originalStroke=null,this._originalFill=null}_createProxy(a,b){return new Proxy(a,{set:(a,c,d)=>a[c]===d||(a[c]=d,b?.(c,d),this.update(),!0)})}_isFillStyle(a){return(a??null)!==null&&!(D.f.isColorLike(a)||a instanceof w.f||a instanceof aj.f)}};as.defaultDropShadow={alpha:1,angle:Math.PI/6,blur:0,color:"black",distance:5},as.defaultTextStyle={align:"left",breakWords:!1,dropShadow:null,fill:"black",fontFamily:"Arial",fontSize:26,fontStyle:"normal",fontVariant:"normal",fontWeight:"normal",leading:0,letterSpacing:0,lineHeight:0,padding:0,stroke:null,textBaseline:"alphabetic",trim:!1,whiteSpace:"pre",wordWrap:!1,wordWrapWidth:100};let at=!1;var au=a.i(46629),av=a.i(98803),aw=a.i(28343);class ax extends aw.f{}class ay{constructor(a){this._renderer=a,a.runners.resolutionChange.add(this),a.runners.contextChange.add(this),this._managedTexts=new au.f({renderer:a,type:"renderable",onUnload:this.onTextUnload.bind(this),name:"canvasText"})}resolutionChange(){for(let a in this._managedTexts.items){let b=this._managedTexts.items[a];b?._autoResolution&&b.onViewUpdate()}}contextChange(){for(let a in this._managedTexts.items)this._managedTexts.items[a]?.unload()}validateRenderable(a){let b=this._getGpuText(a),c=a.styleKey;return b.currentKey!==c||a._didTextUpdate}addRenderable(a,b){let c=this._getGpuText(a);if(a._didTextUpdate||c.currentKey!==a.styleKey){let b=a._autoResolution?this._renderer.resolution:a.resolution;(c.currentKey!==a.styleKey||a._resolution!==b)&&this._updateGpuText(a),a._didTextUpdate=!1,function(a,b){let{texture:c,bounds:d}=a,e=b._style._getFinalPadding();(0,av.f)(d,b._anchor,c);let f=b._anchor._x*e*2,g=b._anchor._y*e*2;d.minX-=e-f,d.minY-=e-g,d.maxX-=e-f,d.maxY-=e-g}(c,a)}this._renderer.renderPipes.batch.addToBatch(c,b)}updateRenderable(a){let b=this._getGpuText(a);b._batcher.updateElement(b)}_updateGpuText(a){let b=this._getGpuText(a);b.texture&&this._renderer.canvasText.decreaseReferenceCount(b.currentKey),a._resolution=a._autoResolution?this._renderer.resolution:a.resolution,b.texture=this._renderer.canvasText.getManagedTexture(a),b.currentKey=a.styleKey}_getGpuText(a){return a._gpuData[this._renderer.uid]||this.initGpuText(a)}initGpuText(a){let b=new ax;return b.currentKey="--",b.renderable=a,b.transform=a.groupTransform,b.bounds={minX:0,maxX:1,minY:0,maxY:0},b.roundPixels=this._renderer._roundPixels|a._roundPixels,a._gpuData[this._renderer.uid]=b,this._managedTexts.add(a),b}onTextUnload(a){let b=a._gpuData[this._renderer.uid];if(!b)return;let{canvasText:c}=this._renderer;c.getReferenceCount(b.currentKey)>0?c.decreaseReferenceCount(b.currentKey):b.texture&&c.returnTexture(b.texture)}destroy(){this._managedTexts.destroy(),this._renderer=null}}ay.extension={type:[f.x.WebGLPipes,f.x.WebGPUPipes,f.x.CanvasPipes],name:"text"};var az=a.i(36206),aA=a.i(38252);class aB{constructor(a,b){this._activeTextures={},this._renderer=a,this._retainCanvasContext=b}getTexture(a,b,c,d){"string"==typeof a&&((0,q.K)("8.0.0","CanvasTextSystem.getTexture: Use object TextOptions instead of separate arguments"),a={text:a,style:c,resolution:b}),a.style instanceof as||(a.style=new as(a.style)),"string"!=typeof a.text&&(a.text=a.text.toString());let{text:e,style:f,textureStyle:g,autoGenerateMipmaps:h}=a,i=a.resolution??this._renderer.resolution,{frame:j,canvasAndContext:k}=an.getCanvasAndContext({text:e,style:f,resolution:i}),l=(0,aA.f)(k.canvas,j.width,j.height,i,h,g?.scaleMode);if(f.trim&&(j.pad(f.padding),l.frame.copyFrom(j),l.frame.scale(1/i),l.updateUvs()),f.filters){let a=this._applyFilters(l,f.filters);return this.returnTexture(l),an.returnCanvasAndContext(k),a}return this._renderer.texture.initSource(l._source),this._retainCanvasContext||an.returnCanvasAndContext(k),l}returnTexture(a){let b=a.source,c=b.resource;if(this._retainCanvasContext&&c?.getContext){let a=c.getContext("2d");a&&an.returnCanvasAndContext({canvas:c,context:a})}b.resource=null,b.uploadMethodId="unknown",b.alphaMode="no-premultiply-alpha",az.f.returnTexture(a)}renderTextToCanvas(){(0,q.K)("8.10.0","CanvasTextSystem.renderTextToCanvas: no longer supported, use CanvasTextSystem.getTexture instead")}getManagedTexture(a){a._resolution=a._autoResolution?this._renderer.resolution:a.resolution;let b=a.styleKey;if(this._activeTextures[b])return this._increaseReferenceCount(b),this._activeTextures[b].texture;let c=this.getTexture({text:a.text,style:a.style,resolution:a._resolution,textureStyle:a.textureStyle,autoGenerateMipmaps:a.autoGenerateMipmaps});return this._activeTextures[b]={texture:c,usageCount:1},c}decreaseReferenceCount(a){let b=this._activeTextures[a];b&&(b.usageCount--,0===b.usageCount&&(this.returnTexture(b.texture),this._activeTextures[a]=null))}getReferenceCount(a){return this._activeTextures[a]?.usageCount??0}_increaseReferenceCount(a){this._activeTextures[a].usageCount++}_applyFilters(a,b){let c=this._renderer.renderTarget.renderTarget,d=this._renderer.filter.generateFilteredTexture({texture:a,filters:b});return this._renderer.renderTarget.bind({target:c,clear:!1}),d}destroy(){for(let a in this._renderer=null,this._activeTextures)this._activeTextures[a]&&this.returnTexture(this._activeTextures[a].texture);this._activeTextures=null}}class aC extends aB{constructor(a){super(a,!0)}}aC.extension={type:[f.x.CanvasSystem],name:"canvasText"};class aD extends aB{constructor(a){super(a,!1)}}aD.extension={type:[f.x.WebGLSystem,f.x.WebGPUSystem],name:"canvasText"},f.H.add(aC),f.H.add(aD),f.H.add(ay);class aE extends C{constructor(...a){let b,c=(("string"==typeof(b=a[0]??{})||a[1])&&((0,q.K)(q.e,'use new Text({ text: "hi!", style }) instead'),b={text:b,style:a[1]}),b);super(c,as),this.renderPipeId="text",c.textureStyle&&(this.textureStyle=c.textureStyle instanceof z.f?c.textureStyle:new z.f(c.textureStyle),function(a){if(at)return;let b=new z.f({scaleMode:a.scaleMode});a._resourceId!==b._resourceId&&(at=!0,(0,ai.f)("Text textureStyle: only scaleMode is applied to a text texture, the other fields are ignored"))}(this.textureStyle)),this.autoGenerateMipmaps=c.autoGenerateMipmaps??y.f.defaultOptions.autoGenerateMipmaps}updateBounds(){let a=this._bounds,b=this._anchor,c=0,d=0;if(this._style.trim){let{frame:a,canvasAndContext:b}=an.getCanvasAndContext({text:this.text,style:this._style,resolution:1});an.returnCanvasAndContext(b),c=a.width,d=a.height}else{let a=ac.measureText(this._text,this._style);c=a.width,d=a.height}a.minX=-b._x*c,a.maxX=a.minX+c,a.minY=-b._y*d,a.maxY=a.minY+d}}let aF={pending:0xf59e0b,streaming:2282478,done:3462041,error:0xef4444};function aG(a){return a?a>=1e6?`${(a/1e6).toFixed(1)}M`:a>=1e3?`${(a/1e3).toFixed(1)}k`:String(a):"0"}function aH(a=[]){let b=new Map;for(let c of a){if(!c?.connectionId)continue;let a=b.get(c.connectionId);for(let d of(a||(a={connectionId:c.connectionId,account:c.account||c.connectionId,model:c.model,provider:c.provider,clientIcon:c.clientIcon,traces:[],tokens:{input:0,output:0,cached:0},activeCount:0,errorCount:0,tools:[],errorReason:null,fallbackFrom:null,queued:0,elapsedMs:0,cost:0,pendingCount:0},b.set(c.connectionId,a)),a.traces.push(c),c.toolCalls||[])){let b=d.tool||d.type;b&&!a.tools.includes(b)&&a.tools.push(b)}a.tokens.input+=c.tokens?.input||0,a.tokens.output+=c.tokens?.output||0,a.tokens.cached+=c.tokens?.cached||0,a.queued+=Math.max(1,c.concurrent||1),a.elapsedMs=Math.max(a.elapsedMs,c.elapsedMs||0),a.cost+=c.cost||0,c.fallback?.from&&!a.fallbackFrom&&(a.fallbackFrom=c.fallback.from),"error"===c.state?(a.errorCount+=1,a.errorReason=a.errorReason||c.error||"error"):"done"!==c.state&&(a.activeCount+=1,"pending"===c.state&&(a.pendingCount+=1))}let c=[...b.values()].map((a,b)=>{let c=Math.floor(b/6),d=a.errorCount>0?"error":a.activeCount>0?"streaming":"done",e="error"===d?"error":"streaming"===d?a.pendingCount===a.activeCount?"pending":"streaming":a.elapsedMs>=32e3?"sleeping":"happy",f=a.tokens.input+a.tokens.output+a.tokens.cached,g=f?Math.round(a.tokens.cached/f*100):0;return{...a,occupied:!0,state:d,mode:e,cachedPct:g,cost:Math.round(100*a.cost)/100,color:aF[d],totalTokens:a.tokens.input+a.tokens.output+a.tokens.cached,totalLabel:aG(a.tokens.input+a.tokens.output+a.tokens.cached),count:a.traces.length,x:60+b%6*200,y:820-170*c,depth:1,busy:a.activeCount}}),d=[...new Set(c.map(a=>a.provider).filter(Boolean))],e=d.map((a,b)=>{let e=c.filter(b=>b.provider===a),f=e.reduce((a,b)=>a+b.busy,0),g=e.reduce((a,b)=>a+b.totalTokens,0),h=e.some(a=>"error"===a.state);return{provider:a,x:1860,y:480-(d.length-1)*104/2+104*b,busy:f,load:Math.min(1,f/4),overloaded:f>=4,totalTokens:g,totalLabel:aG(g),color:h?aF.error:f>0?aF.streaming:aF.done}}),f=new Set(d),g=new Map;for(let a of c){if(!a.fallbackFrom||!f.has(a.fallbackFrom)||a.fallbackFrom===a.provider)continue;let b=`${a.fallbackFrom}>${a.provider}`,c=g.get(b)||{from:a.fallbackFrom,to:a.provider,count:0};c.count+=1,g.set(b,c)}return{workstations:c,pods:e,fallbacks:[...g.values()],rack:{x:1500,y:480,active:c.reduce((a,b)=>a+b.busy,0)},stats:{agents:c.length,busy:c.filter(a=>a.busy>0).length,tokens:c.reduce((a,b)=>a+b.totalTokens,0),tokensLabel:aG(c.reduce((a,b)=>a+b.totalTokens,0))}}}function aI(a,b){let c=String(a||"");return c.length>b?`${c.slice(0,b-1)}…`:c}let aJ="ui-monospace, Menlo, monospace",aK="Inter, system-ui, sans-serif";function aL(...a){return new w.f({type:"linear",start:{x:0,y:0},end:{x:0,y:1},colorStops:a.map((b,c)=>({offset:c/(a.length-1),color:b})),textureSpace:"local"})}function aM({color:a,depth:b=1,scale:c=1,seed:d=0,trimColor:e,mode:f="streaming"}){let g=new o.t,h=[0xb5528f,4175528,0xe08a3c,8152024,4886240],i=e??h[d%h.length],j=new x.f;j.roundRect(-17,-30,34,22,11).fill(aL(0xffffff,0xf3f5f9,0xc9d0dc)),j.roundRect(-17,-30,34,8,8).fill({color:0xffffff,alpha:.6}),j.roundRect(-14,-12,28,8,4).fill({color:i}),j.roundRect(-16,-8,32,16,8).fill(aL(0xf3f5f9,0xc9d0dc,9213865)),j.roundRect(-16,2,32,6,4).fill({color:0xc9d0dc,alpha:.6});let k=new x.f;k.roundRect(-10,-36,20,8,4).fill({color:i});let l=new x.f;l.roundRect(-6,-34,12,3,1.5).fill({color:a});let m=new x.f,n=new x.f;for(let[a,b,c]of[[m,-26,-1],[n,18,1]])a.roundRect(b,-28,8,24,4).fill({color:0xf3f5f9}),a.roundRect(b,-28,8,8,4).fill({color:0xffffff,alpha:.6}),a.circle(b+4+1.5*c,-2,4.5).stroke({width:2.4,color:0xf3f5f9}),a.pivot.set(b+4,-26),a.position.set(b+4,-26);let p=new x.f;p.circle(-27,-56,8).fill({color:i}),p.circle(27,-56,8).fill({color:i}),p.circle(-29,-58,3).fill({color:0xffffff,alpha:.35}),p.circle(25,-58,3).fill({color:0xffffff,alpha:.35}),p.ellipse(0,-56,26,24).fill(aL(0xffffff,0xf3f5f9,0x9aa6b8)),p.ellipse(4,-50,24,21).stroke({width:3,color:7043728,alpha:.25}),p.ellipse(-8,-68,12,5.5).fill({color:0xffffff,alpha:.8}),p.circle(-14,-64,2).fill({color:0xffffff,alpha:.9}),p.ellipse(0,-53,22,17).fill({color:0xc9d0dc}),p.ellipse(0,-53,20,15.5).fill({color:988188}),p.ellipse(-5,-58,11,5).fill({color:0xffffff,alpha:.06});let q=new x.f,r=new x.f;g.addChild(j,k,l,m,n,p,q,r),g.scale.set(c*b);let s=f,t=(a,b,c=1)=>({width:a,color:b,alpha:c,cap:"round",join:"round"}),u=(b,c,d,e,f,g)=>{if("happy"===g)q.moveTo(b-4.6,c+2).arc(b,c+2,4.6,Math.PI,0).stroke(t(2.6,a,f));else if("sleep"===g)q.moveTo(b-4.6,c).arc(b,c,4.6,0,Math.PI).stroke(t(2.2,a,.7));else if("x"===g)q.moveTo(b-4,c-4).lineTo(b+4,c+4).stroke(t(2.6,a,f)),q.moveTo(b+4,c-4).lineTo(b-4,c+4).stroke(t(2.6,a,f));else{q.ellipse(b,c,d,e).fill({color:a,alpha:.9*f});for(let a=c-e+1;a<c+e;a+=2.4)q.rect(b-d-1,a,2*d+2,1).fill({color:988188,alpha:.55})}};return{root:g,statusDot:l,setMode(a){s=a},animate(b,c=0){let e=g.baseX??g.x,f=s,h=.012*b+e,i=Math.sin(.004*b+.05*e)*(.8+1.4*c),j=0,k=0;"happy"===f&&(i=-(3.2*Math.abs(Math.sin(.005*b+e)))),"sleeping"===f&&(i=1.1*Math.sin(.0016*b+e)+2.2,k=.12+.02*Math.sin(.0016*b+e)),"error"===f&&(j=1.8*Math.sin(.09*b)),g.x=e+j,g.y=(g.baseY||0)+i,g.rotation=k,m.rotation=0,n.rotation=0,"streaming"===f?(m.rotation=.14*Math.sin(h)*(.3+c),n.rotation=-(.14*Math.sin(h+1.3))*(.3+c)):"pending"===f?(m.rotation=2.5+.35*Math.sin(.012*b),n.rotation=-(.06*Math.sin(h+1.3))):"happy"===f?(m.rotation=2.2+.2*Math.sin(.01*b),n.rotation=-2.2-.2*Math.sin(.01*b+1)):"error"===f?(m.rotation=2.7+.1*Math.sin(.08*b),n.rotation=-2.7-.1*Math.sin(.08*b)):"sleeping"===f&&(m.rotation=.05,n.rotation=-.05);let o=Math.sin(.0013*b+2.1*d)>.985,p=.85+.15*Math.sin(.01*b+d);q.clear();let v="happy"===f?"happy":"sleeping"===f?"sleep":"error"===f?"x":"scan";if(u(-8,-57,4.8,o?.8:4.4,p,v),u(8,-57,4.8,o?.8:4.4,p,v),"happy"===f?q.moveTo(-6,-48).arc(0,-48,6,0,Math.PI).stroke(t(2.2,a,.9)):"sleeping"===f?q.circle(0,-45,1.8).stroke(t(1.6,a,.6)):"error"===f?q.moveTo(-7,-45).lineTo(-3.5,-48).lineTo(0,-45).lineTo(3.5,-48).lineTo(7,-45).stroke(t(2,a,p)):q.ellipse(0,-46,5+3*c,2.4+1.2*c).fill({color:a,alpha:.75*p}),r.clear(),"sleeping"===f)for(let a=0;a<3;a+=1){let c=(4e-4*b+a/3+.13*d)%1,e=20+16*c,f=-78-30*c,g=3+4*c;r.moveTo(e,f).lineTo(e+g,f).lineTo(e,f+g).lineTo(e+g,f+g).stroke(t(1.6,0xa5b4cc,1-c))}else if("error"===f)for(let a=0;a<4;a+=1){let c=(7e-4*b+a/4+.1*d)%1;r.circle(6*Math.sin(9*c+a)+(a-1.5)*4,-80-34*c,3+6*c).fill({color:7041664,alpha:.55*(1-c)})}l.alpha=.6+.4*Math.sin(.007*b+d)*(.3+c)},setState(a){l.tint=a}}}function aN(a,{color:b=2282478,size:c=10}={}){return new aE({text:a,style:{fontFamily:aK,fontSize:c,fill:b,fontWeight:"700"}})}let aO={cap:"round",join:"round"},aP={bash:{label:"Bash",color:3462041,draw(a,b){a.moveTo(-8,-6).lineTo(-2,0).lineTo(-8,6).stroke({width:2.4,color:b,...aO}),a.moveTo(1,7).lineTo(8,7).stroke({width:2.4,color:b,...aO})}},read:{label:"Read",color:6333946,draw(a,b){a.moveTo(-6,-9).lineTo(3,-9).lineTo(7,-5).lineTo(7,9).lineTo(-6,9).closePath().stroke({width:2,color:b,...aO}),a.moveTo(-3,-1).lineTo(4,-1).stroke({width:1.8,color:b,...aO}),a.moveTo(-3,3).lineTo(4,3).stroke({width:1.8,color:b,...aO}),a.moveTo(-3,6.5).lineTo(1,6.5).stroke({width:1.8,color:b,...aO})}},edit:{label:"Edit",color:0xfbbf24,draw(a,b){a.moveTo(-7,8).lineTo(-6,3).lineTo(4,-7).lineTo(8,-3).lineTo(-2,7).closePath().stroke({width:2,color:b,...aO}),a.moveTo(1,-4).lineTo(5,0).stroke({width:1.8,color:b,...aO}),a.moveTo(-8,9.5).lineTo(-1,9.5).stroke({width:1.8,color:b,...aO})}},search:{label:"Search",color:0xf472b6,draw(a,b){a.circle(-2,-2,6).stroke({width:2.2,color:b,...aO}),a.moveTo(2.5,2.5).lineTo(8,8).stroke({width:2.6,color:b,...aO})}},web:{label:"Web",color:2282478,draw(a,b){a.circle(0,0,8.5).stroke({width:2,color:b,...aO}),a.ellipse(0,0,3.6,8.5).stroke({width:1.6,color:b,...aO}),a.moveTo(-8.5,0).lineTo(8.5,0).stroke({width:1.6,color:b,...aO})}},mcp:{label:"MCP",color:0xa78bfa,draw(a,b){a.moveTo(-4,-9).lineTo(-4,-3).stroke({width:2.4,color:b,...aO}),a.moveTo(4,-9).lineTo(4,-3).stroke({width:2.4,color:b,...aO}),a.roundRect(-8,-3,16,9,3).stroke({width:2,color:b,...aO}),a.moveTo(0,6).lineTo(0,10).stroke({width:2.4,color:b,...aO})}},agent:{label:"Subagent",color:0xfb923c,draw(a,b){a.moveTo(0,-4).lineTo(-6,6).stroke({width:1.8,color:b,...aO}),a.moveTo(0,-4).lineTo(6,6).stroke({width:1.8,color:b,...aO}),a.circle(0,-5,3.6).fill({color:b}),a.circle(-6.5,7,3).fill({color:b}),a.circle(6.5,7,3).fill({color:b})}},todo:{label:"Todo",color:9741240,draw(a,b){a.moveTo(-8,-5).lineTo(-6,-3).lineTo(-3,-7).stroke({width:1.8,color:b,...aO}),a.moveTo(1,-5).lineTo(8,-5).stroke({width:1.8,color:b,...aO}),a.moveTo(-8,5).lineTo(-6,7).lineTo(-3,3).stroke({width:1.8,color:b,...aO}),a.moveTo(1,5).lineTo(8,5).stroke({width:1.8,color:b,...aO})}},gitnexus:{label:"GitNexus",color:0xc084fc,draw(a,b){a.moveTo(0,0).lineTo(-6,-6).stroke({width:1.5,color:b,...aO}),a.moveTo(0,0).lineTo(6,-5).stroke({width:1.5,color:b,...aO}),a.moveTo(0,0).lineTo(0,7).stroke({width:1.5,color:b,...aO}),a.circle(0,0,3.2).fill({color:b}),a.circle(-6,-6,2.2).fill({color:b}),a.circle(6,-5,2.2).fill({color:b}),a.circle(0,7,2.2).fill({color:b})}},browser:{label:"Browser",color:440020,draw(a,b){a.roundRect(-8,-7,16,14,2.5).stroke({width:1.8,color:b,...aO}),a.moveTo(-8,-2).lineTo(8,-2).stroke({width:1.4,color:b,...aO}),a.circle(-5,-4.5,1).fill({color:b}),a.circle(-2,-4.5,1).fill({color:b})}},git:{label:"Git",color:0xf97316,draw(a,b){a.moveTo(-4,-7).lineTo(-4,7).stroke({width:2,color:b,...aO}),a.moveTo(-4,2).arc(0,2,4,Math.PI,0).lineTo(4,-3).stroke({width:1.8,color:b,...aO}),a.circle(-4,-6,2.4).fill({color:b}),a.circle(-4,6,2.4).fill({color:b}),a.circle(4,-3,2.4).fill({color:b})}},docker:{label:"Docker",color:3718648,draw(a,b){a.roundRect(-7,1,6,5,1).fill({color:b,alpha:.8}).stroke({width:1.2,color:b,...aO}),a.roundRect(1,1,6,5,1).fill({color:b,alpha:.8}).stroke({width:1.2,color:b,...aO}),a.roundRect(-3,-6,6,5,1).fill({color:b,alpha:.8}).stroke({width:1.2,color:b,...aO})}}},aQ={pending:{label:"Queued",color:0xf59e0b,draw(a,b){for(let c of[-7,0,7])a.circle(c,1,2.6).fill({color:b})}},done:{label:"Done",color:3462041,draw(a,b){a.moveTo(-7,0).lineTo(-2,6).lineTo(8,-7).stroke({width:3,color:b,...aO})}},rate_limited:{label:"Rate limit",color:0xef4444,draw(a,b){a.moveTo(-6,-9).lineTo(6,-9).lineTo(-6,9).lineTo(6,9).closePath().stroke({width:2,color:b,...aO}),a.moveTo(-3,6.5).lineTo(3,6.5).stroke({width:2.2,color:b,...aO})}},upstream_timeout:{label:"Timeout",color:0xef4444,draw(a,b){a.circle(0,0,8.5).stroke({width:2,color:b,...aO}),a.moveTo(0,-5).lineTo(0,0).lineTo(4.5,3).stroke({width:2,color:b,...aO})}},quota_exhausted:{label:"Quota",color:0xef4444,draw(a,b){a.roundRect(-8,-5,14,10,2).stroke({width:2,color:b,...aO}),a.rect(6,-2,3,4).fill({color:b}),a.rect(-6,-3,2.6,6).fill({color:b})}},auth_refresh_failed:{label:"Auth",color:0xef4444,draw(a,b){a.circle(-4,0,4.2).stroke({width:2,color:b,...aO}),a.moveTo(0,0).lineTo(8,0).stroke({width:2,color:b,...aO}),a.moveTo(5,0).lineTo(5,4).stroke({width:2,color:b,...aO}),a.moveTo(-9,-8).lineTo(9,8).stroke({width:2.2,color:0xfbbf24,...aO})}},fallback:{label:"Fallback",color:0xfbbf24,draw(a,b){a.moveTo(-8,-4).lineTo(7,-4).stroke({width:2.2,color:b,...aO}),a.moveTo(3,-8).lineTo(8,-4).lineTo(3,0).stroke({width:2.2,color:b,...aO}),a.moveTo(8,5).lineTo(-7,5).stroke({width:2.2,color:b,...aO}),a.moveTo(-3,1).lineTo(-8,5).lineTo(-3,9).stroke({width:2.2,color:b,...aO})}}},aR=Object.keys(aP),aS=["pending","done","rate_limited","upstream_timeout","quota_exhausted","auth_refresh_failed","fallback"];function aT(a,{size:b=1,showLabel:c=!0,label:d}={}){let e=aP[a]||aQ[a]||aP.bash,f=new o.t,g=new x.f;g.circle(0,0,21).fill({color:e.color,alpha:.18});let h=new x.f;h.circle(0,0,15).fill({color:988188}),h.circle(0,0,15).stroke({width:2,color:e.color,alpha:.95});let i=new x.f;if(e.draw(i,e.color),i.scale.set(.95),f.addChild(g,h,i),c){let a=new aE({text:d??e.label,style:{fontFamily:"Inter, system-ui, sans-serif",fontSize:9,fill:e.color,fontWeight:"800"}});a.anchor.set(.5,0),a.y=18,f.addChild(a)}return f.scale.set(b),{root:f,halo:g,tool:a}}let aU=a=>Math.max(0,Math.min(1,a)),aV={streaming:.8,pending:.3,happy:.2,sleeping:0,error:1};async function aW(a,b,c={}){let d,e,f,g,h=c.selectedId??null,i=c.onSelect,j=new v;await j.init({canvas:a,preference:"webgl",resizeTo:a.parentElement,background:724758,antialias:!0,resolution:Math.min(globalThis.devicePixelRatio||1,2),autoDensity:!0});let k=new o.t,l=new o.t,m=new o.t,n=new o.t,p=new o.t,q=new o.t,r=new o.t,s=(d=new o.t,e=new x.f,f=new x.f,d.addChild(f,e),g=[],{container:d,setRoutes(a){for(let b of(g.length=0,a)){let a=Math.max(1,Math.min(6,Math.round(6*b.weight)));for(let c=0;c<a;c+=1)g.push({from:b.from,to:b.to,t:(c/a+.1*Math.random())%1,speed:35e-5+6e-4*Math.random()+4e-4*b.weight,color:b.color,size:1.6+2.2*b.weight,shape:b.shape||"circle",arc:b.arc??26})}for(;g.length>700;)g.pop()},animate(a){for(let b of(e.clear(),f.clear(),g)){b.t+=b.speed*a,b.t>1&&(b.t-=1,b.speed=35e-5+6e-4*Math.random());let c=function(a,b,c,d){let e=Math.sin(c*Math.PI)*d;return{x:a.x+(b.x-a.x)*c,y:a.y+(b.y-a.y)*c-e}}(b.from,b.to,b.t,b.arc),d=Math.min(1,6*b.t)*Math.min(1,(1-b.t)*6),g=b.size;if("diamond"===b.shape)e.poly([c.x,c.y-1.5*g,c.x+1.2*g,c.y,c.x,c.y+1.5*g,c.x-1.2*g,c.y]).fill({color:b.color,alpha:d});else if("square"===b.shape){let a=.7*g;e.rect(c.x-a,c.y-a,2*a,2*a).fill({color:b.color,alpha:.9*d})}else e.circle(c.x,c.y,g).fill({color:b.color,alpha:d});f.circle(c.x,c.y,3*g).fill({color:b.color,alpha:.14*d})}}});k.addChild(l,m,s.container,n,p,q,r),j.stage.addChild(k);let t=new x.f;t.roundRect(-60,40,2150,980,28).fill(new w.f({type:"linear",start:{x:0,y:0},end:{x:0,y:1},colorStops:[{offset:0,color:725016},{offset:1,color:1449772}],textureSpace:"local"}));for(let a=40;a<2090;a+=100)t.moveTo(a,54).lineTo(a,1006).stroke({width:1,color:1712944,alpha:.7});for(let a=140;a<1020;a+=100)t.moveTo(-46,a).lineTo(2076,a).stroke({width:1,color:1712944,alpha:.7});t.roundRect(-60,40,2150,980,28).stroke({width:2,color:2503236,alpha:.9}),t.roundRect(1370,160,260,740,22).fill({color:0xfde047,alpha:.035}),t.roundRect(1750,80,220,830,22).fill({color:2282478,alpha:.035}),t.eventMode="static",t.on("pointertap",()=>M(null)),l.addChild(t);let u=new o.t,y=aM({color:0xfde047,trimColor:0xf59e0b,seed:3,scale:.95,mode:"sleeping"});y.root.baseX=0,y.root.baseY=-156,y.root.x=0,y.root.y=-156,u.addChild(y.root);let z=new x.f;z.roundRect(-70,-170,140,230,10).fill({color:1712685}),z.roundRect(-62,-162,124,60,6).fill({color:2240576}),z.roundRect(-58,40,116,96,6).fill({color:2240576}),u.addChild(z);let A=new x.f;A.roundRect(-80,-180,160,250,14).fill({color:0xfde047,alpha:.12}),u.addChildAt(A,0);let B=new x.f;u.addChild(B);let C=new aE({text:"CORE HUB",style:{fontFamily:"Inter, system-ui, sans-serif",fontSize:14,fill:3718648,fontWeight:"800",letterSpacing:2}});C.anchor.set(.5,0),C.y=-92,u.addChild(C);let D=aN("0",{color:0xfde047,size:13});D.anchor.set(.5,0),D.y=4,u.addChild(D),n.addChild(u);let F=[],G=[],H=[],I=[],J=!1,K=(a,b)=>(a.addChild(b),F.push(b),b);function L(){for(let a of G)a.desk.setSelected(a.ws.connectionId===h)}function M(a){h=a,L(),i?.(a)}function N(a){for(let a of F)a.destroy({children:!0});F=[],G=[],H=[],I=[];let b=aH(a),c=new Map(b.pods.map(a=>[a.provider,a])),d=[];for(let[a,e]of[...b.workstations].sort((a,b)=>a.y-b.y||a.x-b.x).entries()){let b=function({color:a,label:b="",meta:c="",elapsedMs:d=0,cost:e=0,cachedPct:f=0,queued:g=1,depth:h=1}){let i=new o.t,j=new x.f;j.ellipse(83,102,93,11).fill({color:0,alpha:.18}),j.ellipse(81,100,.56*150,8).fill({color:0,alpha:.28}),j.roundRect(0,34,150,62,7).fill(aL(2831427,1580326)),j.poly([150,40,159,32,159,88,150,94]).fill({color:1053723}),j.poly([-5,28,8,20,148,20,159,28]).fill({color:6122365}),j.roundRect(-5,26,164,14,6).fill(aL(6648714,3818836)),j.roundRect(-5,26,164,2.5,2).fill({color:0xffffff,alpha:.3}),j.roundRect(0,40,150,2,1).fill({color:0,alpha:.35}),i.addChild(j);let k=Math.min(1,d/4e4),l=d<12e3?3462041:d<26e3?0xfbbf24:0xef4444,m=new x.f;m.roundRect(10,87,130,4,2).fill({color:988188}),m.roundRect(10,87,Math.max(4,130*k),4,2).fill({color:l}),i.addChild(m);let n=new x.f;n.roundRect(13,-30,76,62,12).fill({color:a,alpha:.12}),i.addChild(n);let p=new x.f;p.roundRect(25,-16,58,38,5).fill({color:0,alpha:.35}),p.roundRect(23,-18,58,38,5).fill(aL(2765116,724499)),p.roundRect(27,-14,50,30,3).fill({color:a,alpha:.6});for(let a=0;a<4;a+=1)p.roundRect(31,-9+6*a,18+11*a%22,2.4,1).fill({color:0xffffff,alpha:.5});p.poly([27,-14,53,-14,41,16,27,16]).fill({color:0xffffff,alpha:.07}),p.roundRect(46,20,8,6,2).fill({color:2962753}),i.addChild(p);let q=new x.f;q.roundRect(89,29,34,8,3).fill({color:724499}),q.roundRect(89,27,34,8,3).fill(aL(3884372,2304565)),i.addChild(q);let r=new x.f,s=Math.min(5,Math.max(1,g));for(let a=0;a<s;a+=1)r.roundRect(-2+a%2,22-3.4*a,22,5,1.5).fill({color:a%2?0xe6edf6:0xcfd8e6}).stroke({width:.6,color:988188,alpha:.5});if(i.addChild(r),g>1){let a=new aE({text:`\xd7${g}`,style:{fontFamily:aK,fontSize:10,fill:0xfbbf24,fontWeight:"800"}});a.anchor.set(.5,1),a.x=9,a.y=22-3.4*s-1,i.addChild(a)}let t=new aE({text:aI(b,20),style:{fontFamily:aK,fontSize:12,fill:0xe6edf6,fontWeight:"700"}});t.anchor.set(.5,0),t.x=75,t.y=43;let u=new aE({text:aI(c,28),style:{fontFamily:aJ,fontSize:9,fill:9675189}});u.anchor.set(.5,0),u.x=75,u.y=58;let v=d>=1e3?`${(d/1e3).toFixed(1)}s`:`${d}ms`,w=new aE({text:`${v} \xb7 $${e.toFixed(2)} \xb7 ${f}% cached`,style:{fontFamily:aJ,fontSize:8.5,fill:l}});w.anchor.set(.5,0),w.x=75,w.y=71,i.addChild(t,u,w);let y=new x.f;return y.roundRect(-12,-76,174,180,14).stroke({width:2.5,color:0xfde047,alpha:.9}),y.roundRect(-12,-76,174,180,14).fill({color:0xfde047,alpha:.05}),y.visible=!1,i.addChildAt(y,0),i.eventMode="static",i.cursor="pointer",i.hitArea=new E.f(-12,-76,174,180),i.scale.set(h),{root:i,screen:p,glow:n,setSelected(a){y.visible=!!a},animate(a,b=0){p.alpha=.7+.12*Math.sin(.008*a+i.x)*(.4+b),n.alpha=.3+.5*b+.08*Math.sin(.004*a+i.x)}}}({color:e.color,label:e.account,meta:`${e.model||""} \xb7 ${e.totalLabel}`,elapsedMs:e.elapsedMs,cost:e.cost,cachedPct:e.cachedPct,queued:e.queued,depth:e.depth});b.root.x=e.x,b.root.y=e.y,b.root.on("pointertap",a=>{a.stopPropagation(),M(e.connectionId===h?null:e.connectionId)});let f=aM({color:e.color,depth:e.depth,seed:a,mode:e.mode});f.root.x=e.x+108,f.root.baseX=e.x+108,f.root.baseY=e.y+34,f.root.y=f.root.baseY,K(n,f.root),K(n,b.root);let g=[];if(e.busy>0||e.tools.length>0)for(let a of e.tools){let b=aT(a,{size:1.05});b.root.x=e.x+28,b.root.y=e.y-50,b.root.visible=!1,K(q,b.root),g.push(b)}let i=null,j="pending"===e.mode?"pending":"happy"===e.mode?"done":"error"===e.mode?aQ[e.errorReason]?e.errorReason:"rate_limited":null;if(j&&((i=aT(j,{size:1.05})).root.x=e.x+150+14,i.root.y=e.y-34,K(q,i.root)),e.fallbackFrom){let a=aT("fallback",{size:.85,label:`from ${e.fallbackFrom}`});a.root.x=e.x+150+14,a.root.y=e.y+40,K(q,a.root)}let k=null;if("happy"===e.mode&&e.cost>0){k=new o.t;let a=new x.f;a.circle(0,0,6).fill({color:0xfacc15}),a.circle(0,0,6).stroke({width:1.2,color:0xa16207});let b=new aE({text:`+$${e.cost.toFixed(2)}`,style:{fontFamily:"Inter, system-ui, sans-serif",fontSize:11,fill:0xfacc15,fontWeight:"800"}});b.x=10,b.anchor.set(0,.5),k.addChild(a,b),k.x=e.x+16,k.visible=!1,K(q,k)}G.push({desk:b,character:f,ws:e,toolBadges:g,statusBadge:i,coin:k});let l=c.get(e.provider);if(e.busy>0){let a=a=>Math.max(.15,aU(a)),b=a(e.tokens.input/16e3),c=a(e.tokens.output/3200),f=e.tokens.cached>0?a(e.tokens.cached/6500):0,g={x:e.x+75,y:e.y-10},h={x:1500,y:390};d.push({from:g,to:h,color:e.color,weight:b}),l&&(d.push({from:{x:1500,y:440},to:{x:l.x-46,y:l.y},color:l.color,weight:b}),d.push({from:{x:l.x-46,y:l.y+14},to:{x:1520,y:470},color:8843180,weight:c,shape:"diamond",arc:-22})),d.push({from:{x:1480,y:490},to:{x:e.x+100,y:e.y+6},color:8843180,weight:c,shape:"diamond",arc:-22}),f&&d.push({from:{x:e.x+90,y:e.y-20},to:{x:1470,y:360},color:0xcbd5e1,weight:f,shape:"square",arc:44})}}for(let a of b.pods){let b=aM({color:a.color,trimColor:a.color,scale:.55,seed:a.provider.length,mode:a.overloaded?"pending":a.busy>0?"streaming":"sleeping"});b.root.x=a.x+2,b.root.baseX=a.x+2,b.root.baseY=a.y+10,b.root.y=a.y+10,K(n,b.root);let c=new x.f;c.ellipse(0,34,52,10).fill({color:0,alpha:.35}),c.roundRect(-46,-30,92,62,12).fill({color:1844529}),c.roundRect(-46,-30,92,6,5).fill({color:0xffffff,alpha:.06});let d=a.overloaded?aF.error:a.load>.5?0xfbbf24:3462041;for(let b=0;b<3;b+=1){let e=aU(3*a.load-b);c.roundRect(-38,-18+14*b,76,9,3).fill({color:988188}),e>0&&c.roundRect(-38,-18+14*b,76*e,9,3).fill({color:d,alpha:.9})}c.x=a.x,c.y=a.y,K(n,c);let e=new x.f;e.x=a.x+34,e.y=a.y-35,K(n,e);let f=new aE({text:a.provider.toUpperCase(),style:{fontFamily:"Inter, system-ui, sans-serif",fontSize:12,fill:0xdce6f2,fontWeight:"800",letterSpacing:1}});f.anchor.set(.5,0),f.x=a.x,f.y=a.y+38,K(n,f);let g=aN(`${a.busy} in flight${a.overloaded?" · FULL":""}`,{color:a.overloaded?aF.error:a.color,size:10});g.anchor.set(.5,0),g.x=a.x,g.y=a.y+53,K(n,g),H.push({pod:a,operator:b,siren:e})}b.fallbacks.forEach((a,b)=>{let d=c.get(a.from),e=c.get(a.to);if(!d||!e)return;let f=1778-b%4*14,g=new x.f;g.moveTo(d.x-46,d.y).lineTo(f,d.y).stroke({width:2,color:0xfbbf24,alpha:.5}),g.moveTo(e.x-46,e.y).lineTo(f,e.y).stroke({width:2,color:0xfbbf24,alpha:.5}),function(a,b,c,d){let e=Math.sign(d-c)||1;for(let f=c;e>0?f<d-8:f>d+8;f+=14*e)a.moveTo(b,f).lineTo(b,f+8*e).stroke({width:2,color:0xfbbf24,alpha:.8})}(g,f,d.y,e.y);let h=Math.sign(e.y-d.y)||1;g.poly([f-6,e.y-10*h,f+6,e.y-10*h,f,e.y]).fill({color:0xfbbf24}),K(m,g);let i=new aE({text:`FALLBACK \xd7${a.count}`,style:{fontFamily:"Inter, system-ui, sans-serif",fontSize:9,fill:0xfbbf24,fontWeight:"800",letterSpacing:1}});i.anchor.set(1,.5),i.x=f-9,i.y=(d.y+e.y)/2,K(m,i);let j=aM({color:0xfbbf24,trimColor:0xf59e0b,scale:.5,seed:b+5,mode:"streaming"}),k=new x.f;k.roundRect(-30,-22,14,12,2).fill({color:0xd6a15c}),k.moveTo(-30,-16).lineTo(-16,-16).stroke({width:1.2,color:8145437});let l=new x.f;j.root.addChild(k,l),K(p,j.root),I.push({drone:j,flame:l,laneX:f,y1:d.y,y2:e.y,offset:900*b})}),u.x=1500,u.y=480,D.text=String(b.rack.active),J=b.rack.active>0,y.setMode(J?"streaming":"sleeping"),s.setRoutes(d),L()}function O(){if(j.screen.width<=0||j.screen.height<=0)return;let a=Math.min(j.screen.width/2190,j.screen.height/1020,1.6);k.scale.set(Math.max(.2,a)),k.x=(j.screen.width-2150*k.scale.x)/2- -60*k.scale.x,k.y=(j.screen.height-980*k.scale.y)/2-40*k.scale.y}j.renderer.on("resize",O);let P=0;j.ticker.add(a=>{let b=a.deltaMS;for(let a of(P+=b,s.animate(b),G)){let{ws:b}=a,c="streaming"===b.mode?Math.min(1,b.busy/2):aV[b.mode]??0;a.desk.animate(P,c),a.character.animate(P,c);let d=a.toolBadges.length;if(d>0){let c=Math.floor((P+3*b.x)/2200)%d,e=(P+3*b.x)%2200/2200;a.toolBadges.forEach((a,d)=>{let f=d===c;if(a.root.visible=f,!f)return;let g=Math.min(Math.min(1,6*e),Math.min(1,(1-e)*6));a.root.scale.set(1.05*(.35+.65*g)),a.root.alpha=g,a.root.y=b.y-50+2.5*Math.sin(.005*P+d),a.halo.scale.set(1+.12*Math.sin(.01*P))})}if(a.statusBadge){let c="error"===b.mode;a.statusBadge.root.y=b.y-34+Math.sin(P*(c?.02:.004)+b.x)*(c?3:2),a.statusBadge.halo.scale.set(1+Math.sin(P*(c?.016:.008))*(c?.3:.12))}if(a.coin){let c=(P+5*b.x)%3400/3400;a.coin.visible=c<.8,a.coin.y=b.y-24-30*c,a.coin.alpha=Math.sin(Math.min(1,c/.8)*Math.PI)}}for(let{pod:a,operator:b,siren:c}of H)if(b.animate(P,a.overloaded?1:Math.min(1,a.load)),c.clear(),a.overloaded){let a=Math.sin(.014*P)>0;c.circle(0,0,5).fill({color:0xef4444,alpha:a?1:.35}),c.circle(0,0,13).fill({color:0xef4444,alpha:a?.28:.05})}else c.circle(0,0,3).fill({color:a.busy>0?3462041:4674921,alpha:.9});for(let a of I){let b=(P+a.offset)%4500/4500,c=b*b*(3-2*b);a.drone.root.baseX=a.laneX,a.drone.root.baseY=a.y1+(a.y2-a.y1)*c+6,a.drone.animate(P,1),a.flame.clear(),a.flame.ellipse(0,16,7+1.5*Math.sin(.04*P),10+3*Math.sin(.05*P)).fill({color:0xfbbf24,alpha:.55}),a.flame.ellipse(0,14,4,6).fill({color:0xfff1b8,alpha:.85}),a.drone.root.alpha=Math.min(1,8*b)*Math.min(1,(1-b)*8)}y.animate(P,+!!J),B.clear();for(let a=0;a<5;a+=1)for(let b=0;b<6;b+=1)Math.sin(.006*P+1.7*a+.9*b)>(J?-.2:.6)&&B.circle(-40+16*b,56+14*a,2.4).fill({color:a%3==0?3462041:2282478,alpha:.9});A.alpha=J?.5+.3*Math.sin(.005*P):.15});let Q=(a,b)=>{let c=new aE({text:a,style:{fontFamily:"Inter, system-ui, sans-serif",fontSize:11,fill:8227488,fontWeight:"800",letterSpacing:2}});c.x=b,c.y=968,r.addChild(c)};Q("TOOL CALLS",35),aR.forEach((a,b)=>{let c=aT(a,{size:.72});c.root.x=160+65*b,c.root.y=980,r.addChild(c.root)}),Q("STATUS",965),aS.forEach((a,b)=>{let c=aT(a,{size:.72});c.root.x=1050+68*b,c.root.y=980,r.addChild(c.root)});let R=new aE({text:"● input ◆ output ■ cached",style:{fontFamily:"Inter, system-ui, sans-serif",fontSize:11,fill:8227488,fontWeight:"700"}});return R.x=1560,R.y=970,r.addChild(R),N(b),O(),{app:j,rebuild:N,fit:O,setSelected(a){h=a,L()},setOnSelect(a){i=a},destroy:()=>j.destroy(!0,{children:!0})}}function aX({traces:a=[],onStats:b,onSelect:c,selectedId:f=null}){let g=(0,e.useRef)(null),h=(0,e.useRef)(null),i=(0,e.useRef)({onSelect:c,selectedId:f,traces:a});(0,e.useEffect)(()=>{i.current={onSelect:c,selectedId:f,traces:a}});let[j,k]=(0,e.useState)(null);return(0,e.useEffect)(()=>{let a=!1,b=null,c=g.current;if(!c)return;let d=document.createElement("canvas");return d.style.position="absolute",d.style.inset="0",d.style.width="100%",d.style.height="100%",d.style.display="block",c.appendChild(d),(async()=>{try{let c=await aW(d,i.current.traces,{selectedId:i.current.selectedId,onSelect:a=>i.current.onSelect?.(a)});if(a){c.destroy?.(),d.remove();return}h.current=b=c,i.current.traces&&i.current.traces.length>0&&b.rebuild?.(i.current.traces)}catch(a){console.error("[OfficeCanvas] mount failed:",a),k(a?.message||"Failed to start the scene")}})(),()=>{a=!0,b?.destroy?.(),h.current=null,c?.replaceChildren()}},[]),(0,e.useEffect)(()=>{h.current&&h.current.rebuild?.(a)},[a]),(0,e.useEffect)(()=>{h.current&&h.current.setSelected?.(f)},[f]),(0,e.useEffect)(()=>{if(!b)return;let a=setInterval(()=>{b?.({mounted:!!h.current})},2e3);return()=>clearInterval(a)},[b]),(0,d.jsxs)("div",{className:"relative h-full w-full overflow-hidden rounded-xl border border-slate-800 bg-[#080d14] shadow-2xl",children:[(0,d.jsx)("div",{ref:g,className:"absolute inset-0"}),j&&(0,d.jsx)("div",{className:"absolute inset-0 flex items-center justify-center p-6 text-center text-sm text-rose-400",children:j})]})}let aY={idle:{agents:2,errorRatio:0},busy:{agents:8,errorRatio:0},storm:{agents:30,errorRatio:.15},errors:{agents:10,errorRatio:.6},cases:{agents:16,errorRatio:0,cases:!0}},aZ=[{account:"Claude Code · main",icon:"terminal"},{account:"Claude Code · review",icon:"rate_review"},{account:"Antigravity · agent",icon:"smart_toy"},{account:"Antigravity · dev",icon:"construction"},{account:"Cursor · workspace",icon:"edit_note"},{account:"OpenCode · build",icon:"science"},{account:"Aider",icon:"smart_toy"},{account:"Continue · dev",icon:"play_arrow"}],a$=[{provider:"claude",model:"claude-3-7-sonnet"},{provider:"gemini",model:"gemini-2.5-pro"},{provider:"openai",model:"gpt-4o"},{provider:"minimax",model:"minimax-m2"},{provider:"deepseek",model:"deepseek-v3"}],a_=["rate_limited","upstream_timeout","quota_exhausted","auth_refresh_failed"],a0=["bash","read","edit","search","web","mcp","agent","gitnexus","browser","git","docker"],a1=[{name:"sleeping",state:"done",ageMs:38e3},{name:"happy",state:"done",ageMs:9e3,cost:1.42},{name:"pending",state:"pending",ageMs:2500,tools:["todo"]},{name:"gitnexus",state:"streaming",ageMs:14e3,tools:["gitnexus","read"]},{name:"docker",state:"streaming",ageMs:15e3,tools:["docker","bash"]},{name:"browser",state:"streaming",ageMs:16e3,tools:["browser","web"]},{name:"git+agent",state:"streaming",ageMs:12e3,tools:["git","agent"],concurrent:4},{name:"rate_limited",state:"error",ageMs:6e3,error:"rate_limited"},{name:"upstream_timeout",state:"error",ageMs:3e4,error:"upstream_timeout"},{name:"quota_exhausted",state:"error",ageMs:8e3,error:"quota_exhausted"},{name:"auth_refresh_failed",state:"error",ageMs:5e3,error:"auth_refresh_failed"},{name:"fallback-1",state:"streaming",ageMs:13e3,tools:["bash"],fallbackShift:3},{name:"fallback-2",state:"streaming",ageMs:14e3,tools:["browser","mcp"],fallbackShift:2},{name:"slow",state:"streaming",ageMs:36e3,tools:["docker"]},{name:"queue+cached",state:"streaming",ageMs:1e4,tools:["read","search"],concurrent:5,cachedBoost:!0},{name:"expensive",state:"done",ageMs:2e4,cost:7.35}];function a2(a){let b=a>>>0||1;return()=>(b^=b<<13,b^=b>>>17,b^=b<<5,(b>>>=0)/0x100000000)}let a3={streaming:"Working",pending:"Queued",done:"Done",happy:"Done",sleeping:"Idle",error:"Failed"};function a4({label:a,value:b,color:c,mono:e=!1}){return(0,d.jsxs)("div",{className:"flex items-center justify-between gap-3 py-1 text-[12px] border-b border-slate-800/40 last:border-b-0",children:[(0,d.jsx)("span",{className:"text-slate-400 font-normal",children:a}),(0,d.jsx)("span",{className:`truncate font-medium ${e?"font-mono":""}`,style:c?{color:c}:void 0,children:b})]})}function a5({ws:a,onClose:b}){var c;if(!a)return null;let e=`#${a.color?a.color.toString(16).padStart(6,"0"):"38bdf8"}`;return(0,d.jsxs)("div",{className:"absolute right-4 top-4 z-20 w-80 rounded-xl border border-slate-700/80 bg-slate-900/90 p-4 shadow-2xl backdrop-blur-md transition-all animate-in fade-in slide-in-from-right-2",children:[(0,d.jsxs)("div",{className:"mb-3 flex items-start justify-between gap-2 border-b border-slate-800 pb-2",children:[(0,d.jsxs)("div",{className:"min-w-0",children:[(0,d.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,d.jsx)("span",{className:"inline-block h-2 w-2 rounded-full",style:{backgroundColor:e}}),(0,d.jsx)("div",{className:"truncate text-sm font-bold text-slate-100",children:a.account})]}),(0,d.jsx)("div",{className:"text-[11px] font-semibold uppercase tracking-wider mt-0.5",style:{color:e},children:a3[a.mode]||a.mode})]}),(0,d.jsx)("button",{onClick:b,className:"rounded-md p-1 text-slate-400 hover:bg-slate-800 hover:text-slate-100 transition-colors","aria-label":"Close",children:(0,d.jsx)("svg",{className:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,d.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"2",d:"M6 18L18 6M6 6l12 12"})})})]}),(0,d.jsxs)("div",{className:"space-y-0.5",children:[(0,d.jsx)(a4,{label:"Agent / Desk",value:a.connectionId}),(0,d.jsx)(a4,{label:"Provider",value:a.provider?.toUpperCase(),color:"#38bdf8"}),(0,d.jsx)(a4,{label:"Model",value:a.model}),(0,d.jsx)(a4,{label:"Elapsed",value:(c=a.elapsedMs)?c<1e3?`${c}ms`:`${(c/1e3).toFixed(1)}s`:"0ms"}),(0,d.jsx)(a4,{label:"Input Tokens",value:a.tokens?.input?.toLocaleString()||"0",mono:!0}),(0,d.jsx)(a4,{label:"Output Tokens",value:a.tokens?.output?.toLocaleString()||"0",mono:!0}),(0,d.jsx)(a4,{label:"Cached",value:`${a.tokens?.cached?.toLocaleString()||"0"} (${a.cachedPct||0}%)`,color:"#34d399",mono:!0}),(0,d.jsx)(a4,{label:"Active Tools",value:a.tools?.length?a.tools.join(", "):"None"}),a.currentCommand&&(0,d.jsxs)("div",{className:"mt-2 rounded-md bg-slate-950/80 p-2 border border-slate-800/80",children:[(0,d.jsx)("div",{className:"text-[10px] text-slate-400 uppercase tracking-wider mb-1 font-semibold",children:"Active Command / File"}),(0,d.jsx)("div",{className:"font-mono text-[11px] text-emerald-400 truncate",children:a.currentCommand})]}),a.fallbackFrom&&(0,d.jsx)(a4,{label:"Fallback From",value:a.fallbackFrom,color:"#fbbf24"}),a.errorReason&&(0,d.jsx)(a4,{label:"Error Cause",value:a.errorReason,color:"#ef4444"})]}),(0,d.jsx)("div",{className:"mt-3 pt-2 border-t border-slate-800 text-[10px] text-slate-500 text-center",children:"Live telemetry via Local CLI Log Watcher"})]})}function a6(){let[a,b]=(0,e.useState)(!1),[c,f]=(0,e.useState)(null);return((0,e.useEffect)(()=>{let a=null,c=async()=>{try{let c=await fetch("/api/version");if(c.ok){let d=await c.json();a?d.version&&d.version!==a&&(f(d.version),b(!0)):a=d.version}}catch{}};c();let d=setInterval(c,6e4);return()=>clearInterval(d)},[]),a)?(0,d.jsxs)("div",{className:"fixed bottom-4 left-1/2 -translate-x-1/2 z-50 flex items-center gap-3 rounded-full border border-emerald-500/40 bg-slate-900/95 px-4 py-2 shadow-2xl backdrop-blur-md animate-in slide-in-from-bottom-4 duration-300",children:[(0,d.jsx)("span",{className:"flex h-2 w-2 rounded-full bg-emerald-400 animate-ping"}),(0,d.jsxs)("span",{className:"text-xs text-slate-200",children:["🚀 Đã có phiên bản mới ",c?`(${c})`:""]}),(0,d.jsx)("button",{onClick:()=>{},className:"rounded-full bg-emerald-500 hover:bg-emerald-400 px-3 py-1 text-xs font-semibold text-slate-950 transition-colors shadow-sm",children:"Cập nhật ngay"}),(0,d.jsx)("button",{onClick:()=>b(!1),className:"text-slate-400 hover:text-slate-200 text-xs ml-1","aria-label":"Dismiss",children:"✕"})]}):null}let a7=[{id:"cases",label:"Edge Cases"},{id:"storm",label:"Storm (30 Agents)"},{id:"busy",label:"Busy (8 Agents)"},{id:"idle",label:"Idle (2 Agents)"},{id:"errors",label:"Error States"}];a.s(["default",0,function(){let[a,b]=(0,e.useState)("live"),[c,f]=(0,e.useState)("cases"),[g,h]=(0,e.useState)(null),{traces:i,connected:j,live:k,isRefreshing:l,refresh:m}=function({mode:a="live",preset:b="cases"}={}){let[c,d]=(0,e.useState)([]),[f,g]=(0,e.useState)([]),[h,i]=(0,e.useState)(!1),[j,k]=(0,e.useState)(!1),[l,m]=(0,e.useState)(null),n=(0,e.useRef)(null),o=(0,e.useRef)(null),[p,q]=(0,e.useState)(0),r=(0,e.useCallback)(()=>{k(!0),n.current&&(n.current.close(),n.current=null),q(a=>a+1),setTimeout(()=>k(!1),500)},[]);return(0,e.useEffect)(()=>{if("mock"!==a)return;let c=aY[b]||aY.cases,e=()=>{let a=function({count:a=8,errorRatio:b=0,seed:c=42,now:d=Date.now(),cases:e=!1}={}){let f=a2(c),g=[];for(let h=0;h<a;h+=1){let a,i=aZ[h%aZ.length],j=Math.floor(h/aZ.length)+1,k=j>1?`${i.account} ${j}`:i.account,l=`mock-conn-${h}`,m=a$[h%a$.length],n=e?a1[h%a1.length]:null,o=Math.floor(4e4*f()),p=f()<b,q=n?n.ageMs:o,r=d-q,s=n?"error"===n.state:p,t=q/4e4;a=n?n.state:s?"error":t<.25?"pending":t<.6?"streaming":"done";let u={input:Math.round(400+14e3*f()),output:Math.round(80+2900*f()),cached:Math.round(6e3*f())},v=a2(7919*c+104729*h+13),w="done"===a?0:1+Math.floor(3*v()),x=[];for(let a=0;a<w;a+=1)x.push(a0[Math.floor(v()*a0.length)]);let y=n?.tools??("error"===a?[]:x),z=[];for(let a of y)z.some(b=>b.tool===a)||z.push({tool:a,state:0===z.length?"running":"queued"});let A=n?!!n.fallbackShift:.28>v(),B=a$[(h+(n?.fallbackShift??3))%a$.length].provider,C=A&&("pending"===a||"streaming"===a)&&B!==m.provider?{from:B}:null,D=n?.concurrent??("done"===a||"error"===a?1:1+Math.floor(3*v()));n?.cachedBoost&&(u.cached=14e3),g.push({traceId:`mock-${h}-${Math.floor(1e6*f()).toString(36)}`,cli:"mock",connectionId:l,account:k,model:m.model,provider:m.provider,state:a,startedAt:r,elapsedMs:q,tokens:u,cost:n?.cost??Math.round((15e-6*u.input+6e-5*u.output)*100)/100,status:s?"error":"200",error:s?n?.error??a_[Math.floor(f()*a_.length)%a_.length]:null,clientIcon:i.icon,toolCalls:z,tools:y,activeTool:y[0]||null,currentCommand:y[0]?`${y[0]} task running...`:null,fallback:C,concurrent:D})}return g}({count:c.agents,cases:!!c.cases,errorRatio:c.errorRatio});d(a),g(function(a){let b=new Map;for(let c of a)c.provider&&!b.has(c.provider)&&b.set(c.provider,{provider:c.provider,name:c.provider.charAt(0).toUpperCase()+c.provider.slice(1)});return[...b.values()]}(a)),i(!0),m(Date.now())};e();let f=setInterval(e,3e3);return()=>clearInterval(f)},[a,b,p]),(0,e.useEffect)(()=>{if("live"!==a)return;let b=!1,c=()=>{o.current&&clearTimeout(o.current),o.current=setTimeout(()=>{b||(console.warn("[SSE] Watchdog timeout, reconnecting..."),q(a=>a+1))},7e3)};try{let a=new EventSource("/api/traces/stream?source=live");n.current=a,a.onopen=()=>{b||(i(!0),c())},a.onmessage=a=>{if(!b&&a?.data)try{let b=JSON.parse(a.data);Array.isArray(b.traces)&&d(b.traces),Array.isArray(b.providers)&&g(b.providers),m(Date.now()),c()}catch{}},a.onerror=()=>{b||i(!1)}}catch{i(!1)}return()=>{b=!0,o.current&&clearTimeout(o.current),n.current&&(n.current.close(),n.current=null)}},[a,p]),(0,e.useEffect)(()=>{if("live"!==a)return;let b=()=>{"visible"===document.visibilityState&&(console.log("[AgentFactory] Tab active / wake up, refreshing telemetry..."),r())};return window.addEventListener("visibilitychange",b),window.addEventListener("online",b),window.addEventListener("focus",b),()=>{window.removeEventListener("visibilitychange",b),window.removeEventListener("online",b),window.removeEventListener("focus",b)}},[a,r]),{traces:c,providers:f,connected:h,live:"live"===a,isRefreshing:j,refresh:r,lastUpdated:l}}({mode:a,preset:c}),n=(0,e.useMemo)(()=>aH(i),[i]),o=(0,e.useMemo)(()=>n.workstations.find(a=>a.connectionId===g)||null,[n,g]);return(0,d.jsxs)("main",{className:"flex h-screen w-screen flex-col overflow-hidden bg-[#070b12] text-slate-100",children:[(0,d.jsx)(a6,{}),(0,d.jsxs)("header",{className:"flex h-14 shrink-0 items-center justify-between border-b border-slate-800/80 bg-slate-950/70 px-5 backdrop-blur-md",children:[(0,d.jsxs)("div",{className:"flex items-center gap-3",children:[(0,d.jsx)("div",{className:"flex h-8 w-8 items-center justify-center rounded-lg bg-gradient-to-br from-emerald-500 to-cyan-600 shadow-lg shadow-emerald-500/20",children:(0,d.jsx)("span",{className:"text-lg",children:"🤖"})}),(0,d.jsxs)("div",{children:[(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsx)("span",{className:"font-extrabold tracking-wider text-sm bg-gradient-to-r from-emerald-400 via-cyan-300 to-blue-400 bg-clip-text text-transparent",children:"AGMON"}),(0,d.jsx)("span",{className:"rounded-full bg-slate-800 px-2 py-0.5 text-[10px] font-semibold text-slate-400 uppercase tracking-wider",children:"v0.1.3"})]}),(0,d.jsx)("p",{className:"text-[11px] text-slate-400",children:"AI Agent Office & Activity Visualizer"})]})]}),(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsxs)("div",{className:"flex items-center gap-2 rounded-lg border border-slate-800 bg-slate-900/60 px-3 py-1 text-xs",children:[(0,d.jsx)("span",{className:"text-slate-400",children:"Desks:"}),(0,d.jsx)("span",{className:"font-bold text-slate-200",children:n.stats.agents})]}),(0,d.jsxs)("div",{className:"flex items-center gap-2 rounded-lg border border-slate-800 bg-slate-900/60 px-3 py-1 text-xs",children:[(0,d.jsx)("span",{className:"text-slate-400",children:"Working:"}),(0,d.jsx)("span",{className:"font-bold text-cyan-400",children:n.stats.busy})]}),(0,d.jsxs)("div",{className:"flex items-center gap-2 rounded-lg border border-slate-800 bg-slate-900/60 px-3 py-1 text-xs",children:[(0,d.jsx)("span",{className:"text-slate-400",children:"Tokens:"}),(0,d.jsx)("span",{className:"font-bold text-emerald-400",children:n.stats.tokensLabel})]})]}),(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsx)("button",{onClick:m,title:"Làm mới kết nối & dữ liệu ngay lập tức",className:"flex h-8 w-8 items-center justify-center rounded-lg border border-slate-800 bg-slate-900/60 text-slate-400 hover:border-slate-700 hover:text-slate-200 transition-all",children:(0,d.jsx)("svg",{className:`h-4 w-4 ${l?"animate-spin text-emerald-400":""}`,fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,d.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"2",d:"M4 4v5h.582m15.356 2A8.001 8.001 0 004.582 9m0 0H9m11 11v-5h-.581m0 0a8.003 8.003 0 01-15.357-2m15.357 2H15"})})}),(0,d.jsxs)("button",{onClick:()=>{b("live"),h(null)},className:`flex items-center gap-2 rounded-lg px-3 py-1.5 text-xs font-semibold transition-all ${"live"===a?"border border-emerald-500 bg-emerald-500/15 text-emerald-300 shadow-sm shadow-emerald-500/20":"border border-slate-800 bg-slate-900/40 text-slate-400 hover:border-slate-700 hover:text-slate-200"}`,children:[(0,d.jsx)("span",{className:`h-2 w-2 rounded-full ${j&&k?"bg-emerald-400 animate-pulse shadow-sm shadow-emerald-400":"bg-slate-500"}`}),"Live Watchers"]}),(0,d.jsxs)("div",{className:"flex items-center rounded-lg border border-slate-800 bg-slate-900/60 p-0.5 text-xs",children:[(0,d.jsx)("button",{onClick:()=>{b("mock"),h(null)},className:`rounded-md px-2.5 py-1 transition-all ${"mock"===a?"bg-slate-800 font-medium text-slate-200":"text-slate-400 hover:text-slate-300"}`,children:"Demo Mock:"}),(0,d.jsx)("select",{value:c,onChange:a=>{b("mock"),f(a.target.value),h(null)},className:"bg-transparent px-2 py-1 text-xs text-slate-300 outline-none cursor-pointer",children:a7.map(a=>(0,d.jsx)("option",{value:a.id,className:"bg-slate-900 text-slate-200",children:a.label},a.id))})]})]})]}),(0,d.jsxs)("section",{className:"relative flex-1 p-3",children:[(0,d.jsx)(aX,{traces:i,selectedId:g,onSelect:a=>h(a)}),(0,d.jsx)(a5,{ws:o,onClose:()=>h(null)})]})]})}],85690)}];
|
|
2
|
+
|
|
3
|
+
//# sourceMappingURL=src_app_page_1vqfk0-j72fp6.js.map
|