@pananfly/pi-web 0.8.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.next/BUILD_ID +1 -0
- package/.next/app-path-routes-manifest.json +46 -0
- package/.next/build-manifest.json +20 -0
- package/.next/diagnostics/build-diagnostics.json +6 -0
- package/.next/diagnostics/framework.json +1 -0
- package/.next/export-marker.json +6 -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 +138 -0
- package/.next/react-loadable-manifest.json +2367 -0
- package/.next/required-server-files.js +350 -0
- package/.next/required-server-files.json +350 -0
- package/.next/routes-manifest.json +348 -0
- package/.next/server/app/_global-error/page.js +32 -0
- package/.next/server/app/_global-error/page.js.nft.json +1 -0
- package/.next/server/app/_global-error/page_client-reference-manifest.js +1 -0
- package/.next/server/app/_global-error.html +1 -0
- package/.next/server/app/_global-error.meta +16 -0
- package/.next/server/app/_global-error.rsc +14 -0
- package/.next/server/app/_global-error.segments/_full.segment.rsc +14 -0
- package/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +5 -0
- package/.next/server/app/_global-error.segments/_global-error.segment.rsc +5 -0
- package/.next/server/app/_global-error.segments/_head.segment.rsc +5 -0
- package/.next/server/app/_global-error.segments/_index.segment.rsc +5 -0
- package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -0
- package/.next/server/app/_not-found/page.js +2 -0
- package/.next/server/app/_not-found/page.js.nft.json +1 -0
- package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -0
- package/.next/server/app/_not-found.html +1 -0
- package/.next/server/app/_not-found.meta +16 -0
- package/.next/server/app/_not-found.rsc +19 -0
- package/.next/server/app/_not-found.segments/_full.segment.rsc +19 -0
- package/.next/server/app/_not-found.segments/_head.segment.rsc +6 -0
- package/.next/server/app/_not-found.segments/_index.segment.rsc +6 -0
- package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +5 -0
- package/.next/server/app/_not-found.segments/_not-found.segment.rsc +5 -0
- package/.next/server/app/_not-found.segments/_tree.segment.rsc +5 -0
- package/.next/server/app/api/agent/[id]/bash-output/route.js +1 -0
- package/.next/server/app/api/agent/[id]/bash-output/route.js.nft.json +1 -0
- package/.next/server/app/api/agent/[id]/bash-output/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/agent/[id]/events/route.js +3 -0
- package/.next/server/app/api/agent/[id]/events/route.js.nft.json +1 -0
- package/.next/server/app/api/agent/[id]/events/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/agent/[id]/route.js +1 -0
- package/.next/server/app/api/agent/[id]/route.js.nft.json +1 -0
- package/.next/server/app/api/agent/[id]/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/agent/new/route.js +1 -0
- package/.next/server/app/api/agent/new/route.js.nft.json +1 -0
- package/.next/server/app/api/agent/new/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/agent/running/events/route.js +3 -0
- package/.next/server/app/api/agent/running/events/route.js.nft.json +1 -0
- package/.next/server/app/api/agent/running/events/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/auth/all-providers/route.js +1 -0
- package/.next/server/app/api/auth/all-providers/route.js.nft.json +1 -0
- package/.next/server/app/api/auth/all-providers/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/auth/api-key/[provider]/route.js +1 -0
- package/.next/server/app/api/auth/api-key/[provider]/route.js.nft.json +1 -0
- package/.next/server/app/api/auth/api-key/[provider]/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/auth/login/[provider]/route.js +3 -0
- package/.next/server/app/api/auth/login/[provider]/route.js.nft.json +1 -0
- package/.next/server/app/api/auth/login/[provider]/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/auth/login/route.js +1 -0
- package/.next/server/app/api/auth/login/route.js.nft.json +1 -0
- package/.next/server/app/api/auth/login/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/auth/logout/[provider]/route.js +1 -0
- package/.next/server/app/api/auth/logout/[provider]/route.js.nft.json +1 -0
- package/.next/server/app/api/auth/logout/[provider]/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/auth/logout/route.js +1 -0
- package/.next/server/app/api/auth/logout/route.js.nft.json +1 -0
- package/.next/server/app/api/auth/logout/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/auth/providers/route.js +1 -0
- package/.next/server/app/api/auth/providers/route.js.nft.json +1 -0
- package/.next/server/app/api/auth/providers/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/auth/refresh/route.js +1 -0
- package/.next/server/app/api/auth/refresh/route.js.nft.json +1 -0
- package/.next/server/app/api/auth/refresh/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/auth/status/route.js +1 -0
- package/.next/server/app/api/auth/status/route.js.nft.json +1 -0
- package/.next/server/app/api/auth/status/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/auth/verify/route.js +1 -0
- package/.next/server/app/api/auth/verify/route.js.nft.json +1 -0
- package/.next/server/app/api/auth/verify/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/cwd/validate/route.js +1 -0
- package/.next/server/app/api/cwd/validate/route.js.nft.json +1 -0
- package/.next/server/app/api/cwd/validate/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/default-cwd/route.js +1 -0
- package/.next/server/app/api/default-cwd/route.js.nft.json +1 -0
- package/.next/server/app/api/default-cwd/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/file-index/route.js +1 -0
- package/.next/server/app/api/file-index/route.js.nft.json +1 -0
- package/.next/server/app/api/file-index/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/files/[...path]/route.js +49 -0
- package/.next/server/app/api/files/[...path]/route.js.nft.json +1 -0
- package/.next/server/app/api/files/[...path]/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/git/diff/route.js +6 -0
- package/.next/server/app/api/git/diff/route.js.nft.json +1 -0
- package/.next/server/app/api/git/diff/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/git/status/route.js +6 -0
- package/.next/server/app/api/git/status/route.js.nft.json +1 -0
- package/.next/server/app/api/git/status/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/home/route.js +1 -0
- package/.next/server/app/api/home/route.js.nft.json +1 -0
- package/.next/server/app/api/home/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/models/route.js +1 -0
- package/.next/server/app/api/models/route.js.nft.json +1 -0
- package/.next/server/app/api/models/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/models-config/route.js +1 -0
- package/.next/server/app/api/models-config/route.js.nft.json +1 -0
- package/.next/server/app/api/models-config/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/models-config/test/route.js +1 -0
- package/.next/server/app/api/models-config/test/route.js.nft.json +1 -0
- package/.next/server/app/api/models-config/test/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/plugins/route.js +1 -0
- package/.next/server/app/api/plugins/route.js.nft.json +1 -0
- package/.next/server/app/api/plugins/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/sessions/[id]/auto-name/route.js +10 -0
- package/.next/server/app/api/sessions/[id]/auto-name/route.js.nft.json +1 -0
- package/.next/server/app/api/sessions/[id]/auto-name/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/sessions/[id]/context/route.js +1 -0
- package/.next/server/app/api/sessions/[id]/context/route.js.nft.json +1 -0
- package/.next/server/app/api/sessions/[id]/context/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/sessions/[id]/entries/[entryId]/thinking/route.js +1 -0
- package/.next/server/app/api/sessions/[id]/entries/[entryId]/thinking/route.js.nft.json +1 -0
- package/.next/server/app/api/sessions/[id]/entries/[entryId]/thinking/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/sessions/[id]/export/route.js +54 -0
- package/.next/server/app/api/sessions/[id]/export/route.js.nft.json +1 -0
- package/.next/server/app/api/sessions/[id]/export/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/sessions/[id]/route.js +1 -0
- package/.next/server/app/api/sessions/[id]/route.js.nft.json +1 -0
- package/.next/server/app/api/sessions/[id]/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/sessions/[id]/state/route.js +1 -0
- package/.next/server/app/api/sessions/[id]/state/route.js.nft.json +1 -0
- package/.next/server/app/api/sessions/[id]/state/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/sessions/route.js +1 -0
- package/.next/server/app/api/sessions/route.js.nft.json +1 -0
- package/.next/server/app/api/sessions/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/skills/check/route.js +1 -0
- package/.next/server/app/api/skills/check/route.js.nft.json +1 -0
- package/.next/server/app/api/skills/check/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/skills/install/route.js +1 -0
- package/.next/server/app/api/skills/install/route.js.nft.json +1 -0
- package/.next/server/app/api/skills/install/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/skills/route.js +6 -0
- package/.next/server/app/api/skills/route.js.nft.json +1 -0
- package/.next/server/app/api/skills/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/skills/search/route.js +1 -0
- package/.next/server/app/api/skills/search/route.js.nft.json +1 -0
- package/.next/server/app/api/skills/search/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/skills/update/route.js +1 -0
- package/.next/server/app/api/skills/update/route.js.nft.json +1 -0
- package/.next/server/app/api/skills/update/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/worktrees/route.js +1 -0
- package/.next/server/app/api/worktrees/route.js.nft.json +1 -0
- package/.next/server/app/api/worktrees/route_client-reference-manifest.js +1 -0
- package/.next/server/app/favicon.ico/route.js +1 -0
- package/.next/server/app/favicon.ico/route.js.nft.json +1 -0
- package/.next/server/app/favicon.ico.body +0 -0
- package/.next/server/app/favicon.ico.meta +1 -0
- package/.next/server/app/index.html +1 -0
- package/.next/server/app/index.meta +14 -0
- package/.next/server/app/index.rsc +18 -0
- package/.next/server/app/index.segments/__PAGE__.segment.rsc +6 -0
- package/.next/server/app/index.segments/_full.segment.rsc +18 -0
- package/.next/server/app/index.segments/_head.segment.rsc +6 -0
- package/.next/server/app/index.segments/_index.segment.rsc +6 -0
- package/.next/server/app/index.segments/_tree.segment.rsc +5 -0
- package/.next/server/app/login/page.js +2 -0
- package/.next/server/app/login/page.js.nft.json +1 -0
- package/.next/server/app/login/page_client-reference-manifest.js +1 -0
- package/.next/server/app/login.html +1 -0
- package/.next/server/app/login.meta +15 -0
- package/.next/server/app/login.rsc +20 -0
- package/.next/server/app/login.segments/_full.segment.rsc +20 -0
- package/.next/server/app/login.segments/_head.segment.rsc +6 -0
- package/.next/server/app/login.segments/_index.segment.rsc +6 -0
- package/.next/server/app/login.segments/_tree.segment.rsc +5 -0
- package/.next/server/app/login.segments/login/__PAGE__.segment.rsc +6 -0
- package/.next/server/app/login.segments/login.segment.rsc +5 -0
- package/.next/server/app/page.js +73 -0
- package/.next/server/app/page.js.nft.json +1 -0
- package/.next/server/app/page_client-reference-manifest.js +1 -0
- package/.next/server/app-paths-manifest.json +46 -0
- package/.next/server/chunks/1069.js +23 -0
- package/.next/server/chunks/1089.js +1 -0
- package/.next/server/chunks/1130.js +79 -0
- package/.next/server/chunks/1207.js +36 -0
- package/.next/server/chunks/1515.js +1 -0
- package/.next/server/chunks/1570.js +24 -0
- package/.next/server/chunks/1605.js +1 -0
- package/.next/server/chunks/1707.js +93 -0
- package/.next/server/chunks/1792.js +38 -0
- package/.next/server/chunks/1813.js +1 -0
- package/.next/server/chunks/2018.js +148 -0
- package/.next/server/chunks/2106.js +1 -0
- package/.next/server/chunks/2155.js +34 -0
- package/.next/server/chunks/2185.js +5 -0
- package/.next/server/chunks/2190.js +1 -0
- package/.next/server/chunks/2325.js +82 -0
- package/.next/server/chunks/2349.js +1 -0
- package/.next/server/chunks/2394.js +1 -0
- package/.next/server/chunks/2434.js +1 -0
- package/.next/server/chunks/2744.js +1 -0
- package/.next/server/chunks/2815.js +1 -0
- package/.next/server/chunks/2871.js +8 -0
- package/.next/server/chunks/2903.js +1 -0
- package/.next/server/chunks/319.js +45 -0
- package/.next/server/chunks/3252.js +115 -0
- package/.next/server/chunks/3379.js +1 -0
- package/.next/server/chunks/3770.js +1 -0
- package/.next/server/chunks/3894.js +1 -0
- package/.next/server/chunks/4030.js +86 -0
- package/.next/server/chunks/4286.js +1 -0
- package/.next/server/chunks/4309.js +1 -0
- package/.next/server/chunks/4338.js +64 -0
- package/.next/server/chunks/4367.js +1 -0
- package/.next/server/chunks/4372.js +1 -0
- package/.next/server/chunks/4424.js +215 -0
- package/.next/server/chunks/4485.js +1 -0
- package/.next/server/chunks/46.js +62 -0
- package/.next/server/chunks/4674.js +1 -0
- package/.next/server/chunks/4741.js +18 -0
- package/.next/server/chunks/4742.js +80 -0
- package/.next/server/chunks/4796.js +104 -0
- package/.next/server/chunks/4980.js +1 -0
- package/.next/server/chunks/5029.js +1 -0
- package/.next/server/chunks/5198.js +90 -0
- package/.next/server/chunks/5318.js +1 -0
- package/.next/server/chunks/5461.js +1 -0
- package/.next/server/chunks/5582.js +3 -0
- package/.next/server/chunks/5598.js +1 -0
- package/.next/server/chunks/5627.js +1 -0
- package/.next/server/chunks/6219.js +41 -0
- package/.next/server/chunks/6337.js +1 -0
- package/.next/server/chunks/6429.js +1 -0
- package/.next/server/chunks/6476.js +27 -0
- package/.next/server/chunks/6509.js +153 -0
- package/.next/server/chunks/6949.js +1 -0
- package/.next/server/chunks/6953.js +1 -0
- package/.next/server/chunks/703.js +1 -0
- package/.next/server/chunks/7152.js +1 -0
- package/.next/server/chunks/7181.js +160 -0
- package/.next/server/chunks/7233.js +1 -0
- package/.next/server/chunks/7307.js +1 -0
- package/.next/server/chunks/7434.js +77 -0
- package/.next/server/chunks/7561.js +1 -0
- package/.next/server/chunks/7872.js +1 -0
- package/.next/server/chunks/7914.js +226 -0
- package/.next/server/chunks/8267.js +24 -0
- package/.next/server/chunks/8294.js +1 -0
- package/.next/server/chunks/835.js +1 -0
- package/.next/server/chunks/8645.js +141 -0
- package/.next/server/chunks/9081.js +1 -0
- package/.next/server/chunks/9169.js +1 -0
- package/.next/server/chunks/9280.js +255 -0
- package/.next/server/chunks/940.js +287 -0
- package/.next/server/chunks/9486.js +1 -0
- package/.next/server/chunks/9509.js +1 -0
- package/.next/server/functions-config-manifest.json +15 -0
- package/.next/server/instrumentation.js +1 -0
- package/.next/server/instrumentation.js.nft.json +1 -0
- package/.next/server/interception-route-rewrite-manifest.js +1 -0
- package/.next/server/middleware-build-manifest.js +1 -0
- package/.next/server/middleware-manifest.json +6 -0
- package/.next/server/middleware-react-loadable-manifest.js +1 -0
- package/.next/server/middleware.js +18 -0
- package/.next/server/middleware.js.nft.json +1 -0
- package/.next/server/next-font-manifest.js +1 -0
- package/.next/server/next-font-manifest.json +1 -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 +1 -0
- package/.next/server/server-reference-manifest.js +1 -0
- package/.next/server/server-reference-manifest.json +1 -0
- package/.next/server/webpack-runtime.js +1 -0
- package/.next/static/chunks/050357b0.986bc6597f184c3b.js +62 -0
- package/.next/static/chunks/1212.c32f02f461182c5b.js +226 -0
- package/.next/static/chunks/127.394be8b7a579a747.js +8 -0
- package/.next/static/chunks/1327.09252bb80616cc3a.js +1 -0
- package/.next/static/chunks/1377.e883e13864574c26.js +36 -0
- package/.next/static/chunks/1390.3e7d84d187924556.js +104 -0
- package/.next/static/chunks/1438.d742ea00e0f072ca.js +27 -0
- package/.next/static/chunks/1474.605367a77b6161a0.js +115 -0
- package/.next/static/chunks/1576.93e0666990c12243.js +38 -0
- package/.next/static/chunks/1951.4b73bf47740c2bfb.js +160 -0
- package/.next/static/chunks/2081.47b6e9391094055f.js +1 -0
- package/.next/static/chunks/2178.2adcd2b51553bd50.js +1 -0
- package/.next/static/chunks/2217.4bf1455eb89bdd9b.js +1 -0
- package/.next/static/chunks/2325.23caf22075e51aa5.js +1 -0
- package/.next/static/chunks/2356.52627097a8b56ec1.js +1 -0
- package/.next/static/chunks/2418.b5d9e177e10a686e.js +1 -0
- package/.next/static/chunks/249.973d23a3940a5fc9.js +1 -0
- package/.next/static/chunks/2554.ca4cb2f8bc69f32e.js +86 -0
- package/.next/static/chunks/2566.505384571dedf726.js +79 -0
- package/.next/static/chunks/2619.9aac8983f30c7c8a.js +1 -0
- package/.next/static/chunks/2646.c653cac657d7b035.js +215 -0
- package/.next/static/chunks/2784.3d8e0d20edb71dcd.js +64 -0
- package/.next/static/chunks/2821.934bcf60fbdc28c6.js +1 -0
- package/.next/static/chunks/2847.b66f6d92e4f5e495.js +23 -0
- package/.next/static/chunks/2866.4ecb766127917d99.js +1 -0
- package/.next/static/chunks/28f0fb3b.5f2b0099c24fbe32.js +122 -0
- package/.next/static/chunks/3308.29d4f7078e26a916.js +73 -0
- package/.next/static/chunks/3316.5c51b238308a838b.js +34 -0
- package/.next/static/chunks/3341.6042c7cb7225d88d.js +41 -0
- package/.next/static/chunks/339.1a094bb1c6eaf9dc.js +1 -0
- package/.next/static/chunks/370.57cfa27da8567918.js +1 -0
- package/.next/static/chunks/3708.81252290870c8487.js +1 -0
- package/.next/static/chunks/3794-e569667691edc8f7.js +32 -0
- package/.next/static/chunks/3832.5d713641634c65b5.js +24 -0
- package/.next/static/chunks/4368.e43e952c5535cba6.js +80 -0
- package/.next/static/chunks/4424.fd0c93a807a333e1.js +1 -0
- package/.next/static/chunks/4866.d1060b4faf2ae1e2.js +1 -0
- package/.next/static/chunks/4bd1b696-e356ca5ba0218e27.js +1 -0
- package/.next/static/chunks/5020.9ac8d0dc8390bb6e.js +1 -0
- package/.next/static/chunks/5166.7d3648847337fe52.js +62 -0
- package/.next/static/chunks/5242.7b643c6b3394cac1.js +1 -0
- package/.next/static/chunks/5361.afc00ab2626bacbf.js +1 -0
- package/.next/static/chunks/5460.0337c14f29b9ff9a.js +90 -0
- package/.next/static/chunks/5521.cfdf2cfc6db31407.js +1 -0
- package/.next/static/chunks/5715.048f1bae2c41fa89.js +1 -0
- package/.next/static/chunks/6121.5b8cb3199531d194.js +1 -0
- package/.next/static/chunks/6294.24f510c0c3e3714c.js +1 -0
- package/.next/static/chunks/6467.b354ed428e3bef01.js +5 -0
- package/.next/static/chunks/66d203d7.3e90bc8f1f096a8e.js +153 -0
- package/.next/static/chunks/6787.a15de946178e8ef7.js +1 -0
- package/.next/static/chunks/7176.2979806e91c0df29.js +1 -0
- package/.next/static/chunks/7256.e07cf52d87d40252.js +1 -0
- package/.next/static/chunks/7543.89f7b805ed0f2901.js +1 -0
- package/.next/static/chunks/776.fe8e64ab3669a915.js +287 -0
- package/.next/static/chunks/8118.f905a690db2b859b.js +148 -0
- package/.next/static/chunks/8233.a465d18b04719c6d.js +141 -0
- package/.next/static/chunks/8249.7a48897e80a16391.js +1 -0
- package/.next/static/chunks/8311-95813758da2b283c.js +1 -0
- package/.next/static/chunks/8365.dc22e1ff76d04a3b.js +93 -0
- package/.next/static/chunks/8498.1083c36ddbbedd69.js +1 -0
- package/.next/static/chunks/8511.c7c064a8f58f1355.js +1 -0
- package/.next/static/chunks/869.7152372b662e31af.js +1 -0
- package/.next/static/chunks/8782.9ab86081b5661687.js +77 -0
- package/.next/static/chunks/8863.fa0320ea586efb3b.js +1 -0
- package/.next/static/chunks/8953.e5e7399c7952a1ff.js +1 -0
- package/.next/static/chunks/90542734.b75ad0df50bf68f5.js +1 -0
- package/.next/static/chunks/9165.02dc1f4804b94791.js +24 -0
- package/.next/static/chunks/934.9006461bd0548660.js +1 -0
- package/.next/static/chunks/9522.c7c6e9c330f9ba6b.js +1 -0
- package/.next/static/chunks/9667.c6d6228dd3c4861b.js +1 -0
- package/.next/static/chunks/9705.40a82b97f214e28b.js +1 -0
- package/.next/static/chunks/9793.4567af813117ad25.js +1 -0
- package/.next/static/chunks/app/_global-error/page-6270af0206ac74b6.js +1 -0
- package/.next/static/chunks/app/_not-found/page-3ea40c1a91b0cd39.js +1 -0
- package/.next/static/chunks/app/api/agent/[id]/bash-output/route-6270af0206ac74b6.js +1 -0
- package/.next/static/chunks/app/api/agent/[id]/events/route-6270af0206ac74b6.js +1 -0
- package/.next/static/chunks/app/api/agent/[id]/route-6270af0206ac74b6.js +1 -0
- package/.next/static/chunks/app/api/agent/new/route-6270af0206ac74b6.js +1 -0
- package/.next/static/chunks/app/api/agent/running/events/route-6270af0206ac74b6.js +1 -0
- package/.next/static/chunks/app/api/auth/all-providers/route-6270af0206ac74b6.js +1 -0
- package/.next/static/chunks/app/api/auth/api-key/[provider]/route-6270af0206ac74b6.js +1 -0
- package/.next/static/chunks/app/api/auth/login/[provider]/route-6270af0206ac74b6.js +1 -0
- package/.next/static/chunks/app/api/auth/login/route-6270af0206ac74b6.js +1 -0
- package/.next/static/chunks/app/api/auth/logout/[provider]/route-6270af0206ac74b6.js +1 -0
- package/.next/static/chunks/app/api/auth/logout/route-6270af0206ac74b6.js +1 -0
- package/.next/static/chunks/app/api/auth/providers/route-6270af0206ac74b6.js +1 -0
- package/.next/static/chunks/app/api/auth/refresh/route-6270af0206ac74b6.js +1 -0
- package/.next/static/chunks/app/api/auth/status/route-6270af0206ac74b6.js +1 -0
- package/.next/static/chunks/app/api/auth/verify/route-6270af0206ac74b6.js +1 -0
- package/.next/static/chunks/app/api/cwd/validate/route-6270af0206ac74b6.js +1 -0
- package/.next/static/chunks/app/api/default-cwd/route-6270af0206ac74b6.js +1 -0
- package/.next/static/chunks/app/api/file-index/route-6270af0206ac74b6.js +1 -0
- package/.next/static/chunks/app/api/files/[...path]/route-6270af0206ac74b6.js +1 -0
- package/.next/static/chunks/app/api/git/diff/route-6270af0206ac74b6.js +1 -0
- package/.next/static/chunks/app/api/git/status/route-6270af0206ac74b6.js +1 -0
- package/.next/static/chunks/app/api/home/route-6270af0206ac74b6.js +1 -0
- package/.next/static/chunks/app/api/models/route-6270af0206ac74b6.js +1 -0
- package/.next/static/chunks/app/api/models-config/route-6270af0206ac74b6.js +1 -0
- package/.next/static/chunks/app/api/models-config/test/route-6270af0206ac74b6.js +1 -0
- package/.next/static/chunks/app/api/plugins/route-6270af0206ac74b6.js +1 -0
- package/.next/static/chunks/app/api/sessions/[id]/auto-name/route-6270af0206ac74b6.js +1 -0
- package/.next/static/chunks/app/api/sessions/[id]/context/route-6270af0206ac74b6.js +1 -0
- package/.next/static/chunks/app/api/sessions/[id]/entries/[entryId]/thinking/route-6270af0206ac74b6.js +1 -0
- package/.next/static/chunks/app/api/sessions/[id]/export/route-6270af0206ac74b6.js +1 -0
- package/.next/static/chunks/app/api/sessions/[id]/route-6270af0206ac74b6.js +1 -0
- package/.next/static/chunks/app/api/sessions/[id]/state/route-6270af0206ac74b6.js +1 -0
- package/.next/static/chunks/app/api/sessions/route-6270af0206ac74b6.js +1 -0
- package/.next/static/chunks/app/api/skills/check/route-6270af0206ac74b6.js +1 -0
- package/.next/static/chunks/app/api/skills/install/route-6270af0206ac74b6.js +1 -0
- package/.next/static/chunks/app/api/skills/route-6270af0206ac74b6.js +1 -0
- package/.next/static/chunks/app/api/skills/search/route-6270af0206ac74b6.js +1 -0
- package/.next/static/chunks/app/api/skills/update/route-6270af0206ac74b6.js +1 -0
- package/.next/static/chunks/app/api/worktrees/route-6270af0206ac74b6.js +1 -0
- package/.next/static/chunks/app/layout-fc0dbec63c654527.js +1 -0
- package/.next/static/chunks/app/login/page-c7d96da038297463.js +1 -0
- package/.next/static/chunks/app/page-883e877df3335b30.js +72 -0
- package/.next/static/chunks/d2c09beb.4f5ff7197b5bbbea.js +1 -0
- package/.next/static/chunks/d3ac728e-7964f816a1ca64e5.js +1 -0
- package/.next/static/chunks/da12927c.00775c0e4542fd3e.js +82 -0
- package/.next/static/chunks/framework-711ef29bc66f648c.js +1 -0
- package/.next/static/chunks/main-app-6d3ca1bd083597b7.js +1 -0
- package/.next/static/chunks/main-b70eb01cb9d3de17.js +5 -0
- package/.next/static/chunks/next/dist/client/components/builtin/app-error-6270af0206ac74b6.js +1 -0
- package/.next/static/chunks/next/dist/client/components/builtin/forbidden-6270af0206ac74b6.js +1 -0
- package/.next/static/chunks/next/dist/client/components/builtin/global-error-129b03c25e777d59.js +1 -0
- package/.next/static/chunks/next/dist/client/components/builtin/not-found-6270af0206ac74b6.js +1 -0
- package/.next/static/chunks/next/dist/client/components/builtin/unauthorized-6270af0206ac74b6.js +1 -0
- package/.next/static/chunks/polyfills-42372ed130431b0a.js +1 -0
- package/.next/static/chunks/webpack-bbd44e4ff13f4c9b.js +1 -0
- package/.next/static/css/88714c00e109ce28.css +1 -0
- package/.next/static/css/afdadd5192f321e7.css +1 -0
- package/.next/static/media/15605e25b523335c-s.woff2 +0 -0
- package/.next/static/media/1a3dce5cfb5f7760-s.woff2 +0 -0
- package/.next/static/media/1cdd02902f937a18-s.woff2 +0 -0
- package/.next/static/media/4c4b3b30b6bcb2be-s.woff2 +0 -0
- package/.next/static/media/641a7b8a5800ee0e-s.woff2 +0 -0
- package/.next/static/media/7deddc85b7ffd1dc-s.p.woff2 +0 -0
- package/.next/static/media/KaTeX_AMS-Regular.1608a09b.woff +0 -0
- package/.next/static/media/KaTeX_AMS-Regular.4aafdb68.ttf +0 -0
- package/.next/static/media/KaTeX_AMS-Regular.a79f1c31.woff2 +0 -0
- package/.next/static/media/KaTeX_Caligraphic-Bold.b6770918.woff +0 -0
- package/.next/static/media/KaTeX_Caligraphic-Bold.cce5b8ec.ttf +0 -0
- package/.next/static/media/KaTeX_Caligraphic-Bold.ec17d132.woff2 +0 -0
- package/.next/static/media/KaTeX_Caligraphic-Regular.07ef19e7.ttf +0 -0
- package/.next/static/media/KaTeX_Caligraphic-Regular.55fac258.woff2 +0 -0
- package/.next/static/media/KaTeX_Caligraphic-Regular.dad44a7f.woff +0 -0
- package/.next/static/media/KaTeX_Fraktur-Bold.9f256b85.woff +0 -0
- package/.next/static/media/KaTeX_Fraktur-Bold.b18f59e1.ttf +0 -0
- package/.next/static/media/KaTeX_Fraktur-Bold.d42a5579.woff2 +0 -0
- package/.next/static/media/KaTeX_Fraktur-Regular.7c187121.woff +0 -0
- package/.next/static/media/KaTeX_Fraktur-Regular.d3c882a6.woff2 +0 -0
- package/.next/static/media/KaTeX_Fraktur-Regular.ed38e79f.ttf +0 -0
- package/.next/static/media/KaTeX_Main-Bold.b74a1a8b.ttf +0 -0
- package/.next/static/media/KaTeX_Main-Bold.c3fb5ac2.woff2 +0 -0
- package/.next/static/media/KaTeX_Main-Bold.d181c465.woff +0 -0
- package/.next/static/media/KaTeX_Main-BoldItalic.6f2bb1df.woff2 +0 -0
- package/.next/static/media/KaTeX_Main-BoldItalic.70d8b0a5.ttf +0 -0
- package/.next/static/media/KaTeX_Main-BoldItalic.e3f82f9d.woff +0 -0
- package/.next/static/media/KaTeX_Main-Italic.47373d1e.ttf +0 -0
- package/.next/static/media/KaTeX_Main-Italic.8916142b.woff2 +0 -0
- package/.next/static/media/KaTeX_Main-Italic.9024d815.woff +0 -0
- package/.next/static/media/KaTeX_Main-Regular.0462f03b.woff2 +0 -0
- package/.next/static/media/KaTeX_Main-Regular.7f51fe03.woff +0 -0
- package/.next/static/media/KaTeX_Main-Regular.b7f8fe9b.ttf +0 -0
- package/.next/static/media/KaTeX_Math-BoldItalic.572d331f.woff2 +0 -0
- package/.next/static/media/KaTeX_Math-BoldItalic.a879cf83.ttf +0 -0
- package/.next/static/media/KaTeX_Math-BoldItalic.f1035d8d.woff +0 -0
- package/.next/static/media/KaTeX_Math-Italic.5295ba48.woff +0 -0
- package/.next/static/media/KaTeX_Math-Italic.939bc644.ttf +0 -0
- package/.next/static/media/KaTeX_Math-Italic.f28c23ac.woff2 +0 -0
- package/.next/static/media/KaTeX_SansSerif-Bold.8c5b5494.woff2 +0 -0
- package/.next/static/media/KaTeX_SansSerif-Bold.94e1e8dc.ttf +0 -0
- package/.next/static/media/KaTeX_SansSerif-Bold.bf59d231.woff +0 -0
- package/.next/static/media/KaTeX_SansSerif-Italic.3b1e59b3.woff2 +0 -0
- package/.next/static/media/KaTeX_SansSerif-Italic.7c9bc82b.woff +0 -0
- package/.next/static/media/KaTeX_SansSerif-Italic.b4c20c84.ttf +0 -0
- package/.next/static/media/KaTeX_SansSerif-Regular.74048478.woff +0 -0
- package/.next/static/media/KaTeX_SansSerif-Regular.ba21ed5f.woff2 +0 -0
- package/.next/static/media/KaTeX_SansSerif-Regular.d4d7ba48.ttf +0 -0
- package/.next/static/media/KaTeX_Script-Regular.03e9641d.woff2 +0 -0
- package/.next/static/media/KaTeX_Script-Regular.07505710.woff +0 -0
- package/.next/static/media/KaTeX_Script-Regular.fe9cbbe1.ttf +0 -0
- package/.next/static/media/KaTeX_Size1-Regular.e1e279cb.woff +0 -0
- package/.next/static/media/KaTeX_Size1-Regular.eae34984.woff2 +0 -0
- package/.next/static/media/KaTeX_Size1-Regular.fabc004a.ttf +0 -0
- package/.next/static/media/KaTeX_Size2-Regular.57727022.woff +0 -0
- package/.next/static/media/KaTeX_Size2-Regular.5916a24f.woff2 +0 -0
- package/.next/static/media/KaTeX_Size2-Regular.d6b476ec.ttf +0 -0
- package/.next/static/media/KaTeX_Size3-Regular.9acaf01c.woff +0 -0
- package/.next/static/media/KaTeX_Size3-Regular.a144ef58.ttf +0 -0
- package/.next/static/media/KaTeX_Size3-Regular.b4230e7e.woff2 +0 -0
- package/.next/static/media/KaTeX_Size4-Regular.10d95fd3.woff2 +0 -0
- package/.next/static/media/KaTeX_Size4-Regular.7a996c9d.woff +0 -0
- package/.next/static/media/KaTeX_Size4-Regular.fbccdabe.ttf +0 -0
- package/.next/static/media/KaTeX_Typewriter-Regular.6258592b.woff +0 -0
- package/.next/static/media/KaTeX_Typewriter-Regular.a8709e36.woff2 +0 -0
- package/.next/static/media/KaTeX_Typewriter-Regular.d97aaf4a.ttf +0 -0
- package/.next/static/media/ec14413c594b3356-s.p.woff2 +0 -0
- package/.next/static/rNxNXXmbOkkvQk0-VdhVR/_buildManifest.js +1 -0
- package/.next/static/rNxNXXmbOkkvQk0-VdhVR/_ssgManifest.js +1 -0
- package/.next/trace +6 -0
- package/.next/trace-build +1 -0
- package/.next/types/app/api/agent/[id]/bash-output/route.ts +351 -0
- package/.next/types/app/api/agent/[id]/events/route.ts +351 -0
- package/.next/types/app/api/agent/[id]/route.ts +351 -0
- package/.next/types/app/api/agent/new/route.ts +351 -0
- package/.next/types/app/api/agent/running/events/route.ts +351 -0
- package/.next/types/app/api/auth/all-providers/route.ts +351 -0
- package/.next/types/app/api/auth/api-key/[provider]/route.ts +351 -0
- package/.next/types/app/api/auth/login/[provider]/route.ts +351 -0
- package/.next/types/app/api/auth/login/route.ts +351 -0
- package/.next/types/app/api/auth/logout/[provider]/route.ts +351 -0
- package/.next/types/app/api/auth/logout/route.ts +351 -0
- package/.next/types/app/api/auth/providers/route.ts +351 -0
- package/.next/types/app/api/auth/refresh/route.ts +351 -0
- package/.next/types/app/api/auth/status/route.ts +351 -0
- package/.next/types/app/api/auth/verify/route.ts +351 -0
- package/.next/types/app/api/cwd/validate/route.ts +351 -0
- package/.next/types/app/api/default-cwd/route.ts +351 -0
- package/.next/types/app/api/file-index/route.ts +351 -0
- package/.next/types/app/api/files/[...path]/route.ts +351 -0
- package/.next/types/app/api/git/diff/route.ts +351 -0
- package/.next/types/app/api/git/status/route.ts +351 -0
- package/.next/types/app/api/home/route.ts +351 -0
- package/.next/types/app/api/models/route.ts +351 -0
- package/.next/types/app/api/models-config/route.ts +351 -0
- package/.next/types/app/api/models-config/test/route.ts +351 -0
- package/.next/types/app/api/plugins/route.ts +351 -0
- package/.next/types/app/api/sessions/[id]/auto-name/route.ts +351 -0
- package/.next/types/app/api/sessions/[id]/context/route.ts +351 -0
- package/.next/types/app/api/sessions/[id]/entries/[entryId]/thinking/route.ts +351 -0
- package/.next/types/app/api/sessions/[id]/export/route.ts +351 -0
- package/.next/types/app/api/sessions/[id]/route.ts +351 -0
- package/.next/types/app/api/sessions/[id]/state/route.ts +351 -0
- package/.next/types/app/api/sessions/route.ts +351 -0
- package/.next/types/app/api/skills/check/route.ts +351 -0
- package/.next/types/app/api/skills/install/route.ts +351 -0
- package/.next/types/app/api/skills/route.ts +351 -0
- package/.next/types/app/api/skills/search/route.ts +351 -0
- package/.next/types/app/api/skills/update/route.ts +351 -0
- package/.next/types/app/api/worktrees/route.ts +351 -0
- package/.next/types/app/layout.ts +87 -0
- package/.next/types/app/login/page.ts +87 -0
- package/.next/types/app/page.ts +87 -0
- package/.next/types/cache-life.d.ts +145 -0
- package/.next/types/package.json +1 -0
- package/.next/types/routes.d.ts +112 -0
- package/.next/types/validator.ts +430 -0
- package/LICENSE +21 -0
- package/README.md +140 -0
- package/README.zh-CN.md +136 -0
- package/bin/pi-web-options.js +45 -0
- package/bin/pi-web.js +343 -0
- package/lib/auth-cli.js +115 -0
- package/next.config.ts +37 -0
- package/package.json +79 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";exports.id=4485,exports.ids=[4485],exports.modules={94485:(a,b,c)=>{c.r(b),c.d(b,{render:()=>co});var d=c(94674),e=c(39668),f=c(38317);c(16367);var g=c(7423),h=c(97386);c(47147),c(70960);var i=c(37879),j=c(36594),k=c(58715),l=c(95097),m=c(74367);async function n(a,b){let d=new m.T({multigraph:!0,compound:!0}),e=[...b.edges],g=(0,j.D7)(),h=a.insert("g").attr("class","root"),i=h.insert("g").attr("class","clusters"),k=h.insert("g").attr("class","edges edgePath"),l=h.insert("g").attr("class","edgeLabels"),n=h.insert("g").attr("class","nodes"),o=new Map,p=null!=a.node();for(let a of(await Promise.all(b.nodes.map(async a=>{if(a.isGroup)d.setNode(a.id,{...a});else{if(p){let b=await (0,f.on)(n,a,{config:g,dir:a.dir}),c=b.node()?.getBBox()??{width:0,height:0};o.set(a.id,b),a.width=c.width,a.height=c.height}d.setNode(a.id,{...a})}})),e))d.setEdge(a.start,a.end,{...a},a.id),b.edges.some(b=>b.id===a.id)||b.edges.push(a);if(globalThis.mermaidCaptureSizes){let{captureNodeSizes:d}=await c.e(703).then(c.bind(c,703));d(a,b)}return{graph:d,groups:{clusters:i,edgePaths:k,edgeLabels:l,nodes:n,rootGroups:h},nodeElements:o}}function o(a){let b=[];for(let c=0;c<a.length-1;c++)b.push({a:a[c],b:a[c+1]});return b}function p(a,b,c,d){let e=b.x-a.x,f=b.y-a.y,g=d.x-c.x,h=d.y-c.y,i=e*h-f*g;if(0===i)return null;let j=c.x-a.x,k=c.y-a.y,l=(j*h-k*g)/i,m=(j*f-k*e)/i;return l<=1e-6||l>=.999999||m<=1e-6||m>=.999999?null:{point:{x:a.x+l*e,y:a.y+l*f},tA:l,tB:m}}function q(a){return Math.abs(a.b.x-a.a.x)>=Math.abs(a.b.y-a.a.y)}function r(a){let b=[];for(let c=0;c<a.length;c++){let d=a[c],e=o(d.points);for(let f=c+1;f<a.length;f++){let c=a[f],g=o(c.points);for(let[a,f]of e.entries())for(let[e,h]of g.entries()){let g=p(f.a,f.b,h.a,h.b);if(!g)continue;let i=q(f);i!==q(h)&&i?b.push({jumpEdgeId:d.id,otherEdgeId:c.id,segIndex:a,t:g.tA,point:g.point}):b.push({jumpEdgeId:c.id,otherEdgeId:d.id,segIndex:e,t:g.tB,point:g.point})}}}return b}function s(a){let b=Math.round(1e3*a)/1e3;return Number.isInteger(b),`${b}`}function t(a){return`${s(a.x)},${s(a.y)}`}function u(a){let b=a.b.x-a.a.x,c=a.b.y-a.a.y;return Math.abs(b)>=Math.abs(c)?+(b>=0):+(c>=0)}function v(a,b){if(a.length<2)return a.map(a=>({...a}));let c=a.map(a=>({...a})),d=b.arrowTypeStart&&g.hq[b.arrowTypeStart];if(d){let b=a[0],e=a[1],f=Math.atan2(e.y-b.y,e.x-b.x);c[0].x=b.x+d*Math.cos(f),c[0].y=b.y+d*Math.sin(f)}let e=b.arrowTypeEnd&&g.hq[b.arrowTypeEnd];if(e){let b=a.length,d=a[b-2],f=a[b-1],g=Math.atan2(f.y-d.y,f.x-d.x);c[b-1].x=f.x-e*Math.cos(g),c[b-1].y=f.y-e*Math.sin(g)}return c}function w(a,b,c,d,e){let f=a.point.x,g=a.point.y,h={x:f-b*a.r,y:g-c*a.r},i={x:f+b*a.r,y:g+c*a.r},j=[`L${t(h)}`];return"arc"===e?j.push(`A${s(a.r)},${s(a.r)} 0 0 ${d} ${t(i)}`):j.push(`M${t(i)}`),j}function x(a,b,c,d){let e=b.x-a.x,f=b.y-a.y,g=c.x-b.x,h=c.y-b.y,i=Math.hypot(e,f),j=Math.hypot(g,h);if(i<1e-5||j<1e-5)return null;let k=e/i,l=f/i,m=g/j,n=h/j,o=Math.acos(Math.max(-1,Math.min(1,k*m+l*n)));if(o<1e-5||1e-5>Math.abs(Math.PI-o))return null;let p=Math.min(d/Math.sin(o/2),i/2,j/2);return{startX:b.x-k*p,startY:b.y-l*p,endX:b.x+m*p,endY:b.y+n*p,ctrlX:b.x,ctrlY:b.y,cutLen:p}}function y(a,b,c){let d=a.points;if(d.length<2)return"";let e=v(d,a),f="rounded"===a.curve,g=o(e),h=new Map;for(let a of b){let b=g[a.segIndex];if(!b)continue;let d=Math.hypot(b.b.x-b.a.x,b.b.y-b.a.y),e=h.get(a.segIndex)??[];e.push({t:a.t,point:a.point,d:a.t*d,r:c.jumpRadius}),h.set(a.segIndex,e)}let i=[`M${t(e[0])}`];for(let a=0;a<g.length;a++){let b=g[a],d=Math.hypot(b.b.x-b.a.x,b.b.y-b.a.y),j=0===d?0:(b.b.x-b.a.x)/d,k=0===d?0:(b.b.y-b.a.y)/d,l=u(b),m=0;if(f&&a>0){let b=x(e[a-1],e[a],e[a+1]??e[a],5);b&&(m=b.cutLen)}let n=d,o=null;f&&a<g.length-1&&(o=x(e[a],e[a+1],e[a+2]??e[a+1],5))&&(n=d-o.cutLen);let p=[...h.get(a)??[]].sort((a,b)=>a.t-b.t);for(let a of p)a.r=Math.min(a.r,a.d-m,n-a.d);for(let a=0;a<p.length-1;a++){let b=p[a+1].d-p[a].d;if(p[a].r+p[a+1].r>b){let c=b/2;p[a].r=Math.min(p[a].r,c),p[a+1].r=Math.min(p[a+1].r,c)}}for(let a of p)a.r<.001||i.push(...w(a,j,k,l,c.jumpStyle));f&&o?(i.push(`L${s(o.startX)},${s(o.startY)}`),i.push(`Q${s(o.ctrlX)},${s(o.ctrlY)} ${s(o.endX)},${s(o.endY)}`)):i.push(`L${t(b.b)}`)}return i.join(" ")}function z(a){return/^[\d\s+,.LMelm-]*$/.test(a)}function A(a){return!a||"linear"===a||"rounded"===a||"step"===a||"stepBefore"===a||"stepAfter"===a}function B(a){if(!a)return null;try{let b="function"==typeof atob?atob(a):Buffer.from(a,"base64").toString(),c=JSON.parse(b);if(!Array.isArray(c))return null;let d=[];for(let a of c)a&&"number"==typeof a.x&&"number"==typeof a.y&&d.push({x:a.x,y:a.y});return d.length>=2?d:null}catch{return null}}function C(a,b,c){if(!c.enabled)return;let d=a.node();if(!d)return;let e=new Map;for(let a of b)e.set(a.id,a);let f=[],g=new Map;for(let a of b){let b="u">typeof CSS&&CSS.escape?CSS.escape(a.id):a.id,c=d.querySelector(`path[data-id="${b}"]`);if(!c)continue;g.set(a.id,c);let e=B(c.getAttribute("data-points"))??a.points;f.push({...a,points:e})}let h=r(f);if(0===h.length)return;let i=new Map;for(let a of h){let b=i.get(a.jumpEdgeId)??[];b.push(a),i.set(a.jumpEdgeId,b)}for(let a of f){let b=i.get(a.id);if(!b||0===b.length)continue;let d=e.get(a.id),f=d?.curve;if(void 0!==f&&!A(f))continue;let h=g.get(a.id);if(!h||void 0===f&&!z(h.getAttribute("d")??""))continue;let j=h.getAttribute("style")??"",k=/stroke-dasharray\s*:\s*0\s+([\d.]+)\s+[\d.]+\s+([\d.]+)/.exec(j),l=k?Number.parseFloat(k[1]):null,m=k?Number.parseFloat(k[2]):null,n=y(a,b,c);if(h.setAttribute("d",n),null!==l&&null!==m&&"function"==typeof h.getTotalLength){let a=Math.max(0,h.getTotalLength()-l-m),b=`0 ${l} ${a} ${m}`,c=j.replace(/stroke-dasharray\s*:[^;]*;?/g,`stroke-dasharray: ${b};`).replace(/;\s*;+/g,";");h.setAttribute("style",c)}}}async function D(a,b){for(let c of a.nodes)c.isGroup?await (0,f.U)(b.clusters,c):(0,f.U_)(c);let c=new Map;for(let b of a.nodes)b?.id&&c.set(b.id,b);for(let d of a.edges){let f=d.start?c.get(d.start)??{}:{},g=d.end?c.get(d.end)??{}:{},h=(0,e.Jo)(b.edgePaths,{...d},{},a.type,f,g,a.diagramId);d.label&&await (0,e.jP)(b.rootGroups,d),d.label&&E(d,h)}let d=a.config?.swimlane?.lineHops;if(!1!==d){let c=a.edges.filter(a=>Array.isArray(a.points)&&a.points.length>=2).map(a=>({id:a.id,points:a.points,curve:a.curve,arrowTypeStart:a.arrowTypeStart,arrowTypeEnd:a.arrowTypeEnd}));C(b.edgePaths,c,{enabled:!0,jumpRadius:6,jumpStyle:"gap"===d?"gap":"arc"})}}function E(a,b){let c=b?.updatedPath??b?.originalPath,d=(0,j.zj)(),{subGraphTitleTotalMargin:f}=(0,h.O)({flowchart:d.flowchart??{}});if(a.label){let d=e.lP.get(a.id),g=a.x,h=a.y;if(c){let d=i._K.calcLabelPosition(c);k.R.debug("Moving label "+a.label+" from (",g,",",h,") to (",d.x,",",d.y,") abc88"),b&&(g=d.x,h=d.y)}d.attr("transform",`translate(${g}, ${h+f/2})`)}if(a?.startLabelLeft){let b=e.UQ.get(a.id).startLeft,d=a?.x,f=a?.y;if(c){let b=i._K.calcTerminalLabelPosition(10*!!a.arrowTypeStart,"start_left",c);d=b.x,f=b.y}b.attr("transform",`translate(${d}, ${f})`)}if(a.startLabelRight){let b=e.UQ.get(a.id).startRight,d=a.x,f=a.y;if(c){let b=i._K.calcTerminalLabelPosition(10*!!a.arrowTypeStart,"start_right",c);d=b.x,f=b.y}b.attr("transform",`translate(${d}, ${f})`)}if(a.endLabelLeft){let b=e.UQ.get(a.id).endLeft,d=a.x,f=a.y;if(c){let b=i._K.calcTerminalLabelPosition(10*!!a.arrowTypeEnd,"end_left",c);d=b.x,f=b.y}b.attr("transform",`translate(${d}, ${f})`)}if(a.endLabelRight){let b=e.UQ.get(a.id).endRight,d=a.x,f=a.y;if(c){let b=i._K.calcTerminalLabelPosition(10*!!a.arrowTypeEnd,"end_right",c);d=b.x,f=b.y}b.attr("transform",`translate(${d}, ${f})`)}}(0,l.K)(n,"createGraphWithElements"),(0,l.K)(o,"buildSegmentList"),(0,l.K)(p,"segmentIntersection"),(0,l.K)(q,"isHorizontalSeg"),(0,l.K)(r,"findEdgeIntersections"),(0,l.K)(s,"fmt"),(0,l.K)(t,"pointToString"),(0,l.K)(u,"getArcSweepFlag"),(0,l.K)(v,"applyMarkerOffsets"),(0,l.K)(w,"emitJump"),(0,l.K)(x,"computeRoundedCorner"),(0,l.K)(y,"rewriteEdgePath"),(0,l.K)(z,"isStraightPath"),(0,l.K)(A,"curveSupportsLineHops"),(0,l.K)(B,"decodeDataPoints"),(0,l.K)(C,"applyLineJumpsToSvg"),(0,l.K)(D,"adjustLayout"),(0,l.K)(E,"positionEdgeLabel");var F="__swimlane_default__";function G(a){return Math.max(a.padding??20,20)}function H(a){let{x:b,y:c,width:d,height:e}=a,f=a.swimlaneContentTop;if("number"!=typeof b||"number"!=typeof c||"number"!=typeof d||"number"!=typeof e||"number"!=typeof f||!Number.isFinite(b)||!Number.isFinite(c)||!Number.isFinite(d)||!Number.isFinite(e)||!Number.isFinite(f)||d<=0||e<=0)return void delete a.groupTitleRect;let g=c-e/2,h=Math.min(21,Math.max(0,Math.min(f,c+e/2)-g)),i=g+h;i<=g?delete a.groupTitleRect:a.groupTitleRect={left:b-d/2,right:b+d/2,top:g,bottom:i}}function I(a){let b=a.direction,c=a.nodes??=[];for(let c of a.nodes??[])c.isGroup&&!c.parentId&&(c.shape="swimlane",b&&(c.direction=b));let d=c.filter(a=>!a.isGroup&&!a.parentId);if(0===d.length)return;let e=c.find(a=>a.id===F);for(let a of(e?e.isGroup&&(e.shape="swimlane",b&&(e.direction=b)):(e={id:F,label:"",isGroup:!0,shape:"swimlane",padding:20,...b?{direction:b}:{}},c.push(e)),d))a.parentId=F}function J(a){let b=new Map;for(let c of a.nodes??[])b.set(c.id,c);let c=[];for(let b of a.edges??[]){let a="string"==typeof b.start?b.start:void 0,d="string"==typeof b.end?b.end:void 0;a&&d&&(b.labelNodeId||c.push({id:b.id,src:a,dst:d,ref:b}))}let d=a.nodes??[],e=d.filter(a=>a.isGroup),f=d.filter(a=>!a.isGroup);return{nodes:[...[...e].reverse(),...f].map(a=>a.id),edges:c,layout:a,nodeById:b}}function K(a,b,c,d){let{layout:e}=a,f=a.nodeById,g=d?.layerGap??100,h=d?.nodeGap??40,i=0;for(let a of b.layers){let b=0;for(let d of a){let a=f.get(d);if(!a){b++;continue}a.layer=i,a.order=b;let e=c.x[d]??b*h,j=c.y[d]??i*g;a.x=e,a.y=j,b++}i++}let j=e.nodes??[],k=new Map,l=[];for(let a of j){if(!a?.isGroup)continue;a.parentId||l.push(a);let b=j.filter(b=>b.parentId===a.id),d=1/0,e=-1/0,f=1/0,g=-1/0;for(let a of b){let b=a.x??c.x[a.id],h=a.y??c.y[a.id],i=a.width??0,j=a.height??0;null!=b&&null!=h&&(d=Math.min(d,b-i/2),e=Math.max(e,b+i/2),f=Math.min(f,h-j/2),g=Math.max(g,h+j/2))}if(d===1/0||f===1/0)a.x=a.x??0,a.y=a.y??0,a.width=a.width??0,a.height=a.height??0;else{let b=a.padding??20,c=Math.max(0,e-d)+(a.parentId?b:2*G(a)),h=Math.max(0,g-f)+b,i=(f+g)/2;a.x=(d+e)/2,a.y=i,a.width=c,a.height=h,k.set(a.id,{minX:d,maxX:e,minY:f,maxY:g})}}if(l.length>0&&k.size>0){let a=1/0,b=-1/0,c=0;for(let d of l){let e=d.padding??20;e>c&&(c=e);let f=k.get(d.id);f&&(a=Math.min(a,f.minY),b=Math.max(b,f.maxY))}if(a!==1/0&&b!==-1/0){let d=Math.max(0,b-a)+2*Math.max(c,36),e=(a+b)/2;for(let b of l)b.y=e,b.height=d,b.swimlaneContentTop=a;let f=[...l].sort((a,b)=>(a.x??0)-(b.x??0)),g=[],h=[],i=[];for(let a of f){let b=k.get(a.id);if(!b)continue;let c=Math.max(0,b.maxX-b.minX)+2*G(a),d=(b.minX+b.maxX)/2;g.push(a.id),h.push(d),i.push(c)}let j=g.length;if(j>0){let a=new Map;if(1===j)a.set(g[0],i[0]);else{let b=[];for(let a=0;a<j-1;a++)b.push(h[a+1]-h[a]);let c=Array(j);c[0]=0;for(let a=0;a<j-1;a++)c[a+1]=2*b[a]-c[a];let d=0,e=1/0;for(let a=0;a<j;a++){let b=i[a];a%2==0?d=Math.max(d,b-c[a]):e=Math.min(e,c[a]-b)}let f=d;f=d<=e?(d+e)/2:d;for(let b=0;b<j;b++){let d=c[b]+(b%2==0?f:-f),e=Math.max(i[b],d);a.set(g[b],e)}}for(let b of l){let c=a.get(b.id);null!=c&&(b.width=c),H(b)}}}}}function L(a){let b=[],c=[],d=new Map;for(let b of a.nodes)d.set(b.id,b);for(let e of a.edges){if(!e.label||0===e.label.length||e.isLayoutOnly||e.labelNodeId)continue;let a=e.start?d.get(e.start):void 0,f=e.end?d.get(e.end):void 0;if(!a||!f){k.R.warn("[EdgeLabelNodes]",`Edge ${e.id} has missing source or target node`);continue}let g=`edge-label-${e.start}-${e.end}-${e.id}`,h=a.parentId!==f.parentId?f.parentId:a.parentId,i={id:g,label:e.label,edgeStart:e.start??"",edgeEnd:e.end??"",shape:"labelRect",width:0,height:0,isEdgeLabel:!0,isDummy:!0,parentId:h,isGroup:!1,labelStyle:Array.isArray(e.labelStyle)?e.labelStyle[0]:e.labelStyle??"",...a.dir?{dir:a.dir}:{}};b.push(i),e.labelNodeId=g,e.label=void 0,e.text=void 0;let j={id:`${e.id}-to-label`,start:e.start,end:g,type:"normal",isLayoutOnly:!0},l={id:`${e.id}-from-label`,start:g,end:e.end,type:"normal",isLayoutOnly:!0};c.push(j,l)}let e=[...a.nodes,...b],f=[...a.edges,...c];return{...a,nodes:e,edges:f}}function M(a){let b=a.x??0,c=a.y??0,d=a.width??0,e=a.height??0;return d>0&&e>0?{cx:b,cy:c,rect:ac(b,c,d,e)}:void 0}function N(a){if(a.isGroup)return;let b=M(a);if(b)return{id:String(a.id??""),cx:b.cx,cy:b.cy,rect:b.rect}}function O(a,b,c=.001){return Math.abs(a.x-b.x)<c&&Math.abs(a.y-b.y)<c}function P(a,b,c=.001){return Math.abs(a.x-b.x)<c}function Q(a,b,c=.001){return Math.abs(a.y-b.y)<c}function R(a,b,c=.001){return Q(a,b,c)&&Math.abs(a.x-b.x)>c}function S(a,b,c=.001){return P(a,b,c)&&Math.abs(a.y-b.y)>c}function T(a,b,c,d){return Math.max(0,Math.min(Math.max(a,b),Math.max(c,d))-Math.max(Math.min(a,b),Math.min(c,d)))}function U(a,b,c=.001){return a.horizontal&&b.horizontal&&Q(a.a,b.a,c)?T(a.a.x,a.b.x,b.a.x,b.b.x):a.vertical&&b.vertical&&P(a.a,b.a,c)?T(a.a.y,a.b.y,b.a.y,b.b.y):0}function V(a,b=.001){let c=[];for(let d=0;d<a.length-1;d++){let e=a[d],f=a[d+1],g=R(e,f,b),h=S(e,f,b);(g||h)&&c.push({index:d,a:e,b:f,horizontal:g,vertical:h})}return c}function W(a,b=.001){let c=V(a,b),d=0;for(let a=1;a<c.length;a++)c[a-1].horizontal!==c[a].horizontal&&d++;return d}function X(a,b=.001){let c=[];for(let d of a){let a=c.length>0?c[c.length-1]:void 0;a&&O(a,d,b)||c.push({x:d.x,y:d.y})}return c}function Y(a,b=.001){if(!a||4!==a.length)return;let[c,d,e,f]=a;return R(c,d,b)&&S(d,e,b)&&R(e,f,b)?{kind:"HVH",p0:c,p1:d,p2:e,p3:f}:S(c,d,b)&&R(d,e,b)&&S(e,f,b)?{kind:"VHV",p0:c,p1:d,p2:e,p3:f}:void 0}function Z(a,b,c,d=0){let e=Math.min(a.x,b.x),f=Math.max(a.x,b.x),g=Math.min(a.y,b.y),h=Math.max(a.y,b.y);return f>c.left-d&&e<c.right+d&&h>c.top-d&&g<c.bottom+d}function $(a,b,c=0){return a.x>b.left+c&&a.x<b.right-c&&a.y>b.top+c&&a.y<b.bottom-c}function _(a,b){return a.left<=b.left&&a.right>=b.right&&a.top<=b.top&&a.bottom>=b.bottom}function aa(a,b){return a.left<b.right&&a.right>b.left&&a.top<b.bottom&&a.bottom>b.top}function ab(a,b){return{left:a.left-b,right:a.right+b,top:a.top-b,bottom:a.bottom+b}}function ac(a,b,c,d){return{left:a-c/2,right:a+c/2,top:b-d/2,bottom:b+d/2}}function ad(a){return M(a)?.rect}function ae(a,b){switch(b){case"top":return{x:a.cx,y:a.rect.top};case"bottom":return{x:a.cx,y:a.rect.bottom};case"left":return{x:a.rect.left,y:a.cy};case"right":return{x:a.rect.right,y:a.cy}}}function af(a,b,c,d,e,f=.001){let g="left"===b||"right"===b,h="left"===d||"right"===d;if(g&&h){if("right"===b&&"left"===d&&a.x<c.x||"left"===b&&"right"===d&&a.x>c.x){if(Q(a,c,f))return[a,c];let b=(a.x+c.x)/2;return[a,{x:b,y:a.y},{x:b,y:c.y},c]}if(b===d){if(Q(a,c,f))return;let d="left"===b?Math.min(a.x,c.x)-e:Math.max(a.x,c.x)+e;return[a,{x:d,y:a.y},{x:d,y:c.y},c]}return}if(!g&&!h){if(b===d){if(P(a,c,f))return;let d="top"===b?Math.min(a.y,c.y)-e:Math.max(a.y,c.y)+e;return[a,{x:a.x,y:d},{x:c.x,y:d},c]}if(!("bottom"===b&&"top"===d&&a.y<c.y||"top"===b&&"bottom"===d&&a.y>c.y))return;if(P(a,c,f))return[a,c];let g=(a.y+c.y)/2;return[a,{x:a.x,y:g},{x:c.x,y:g},c]}if(g&&!h){let e="right"===b&&c.x>a.x||"left"===b&&c.x<a.x,f="top"===d&&a.y<c.y||"bottom"===d&&a.y>c.y;return e&&f?[a,{x:c.x,y:a.y},c]:void 0}let i="bottom"===b&&c.y>a.y||"top"===b&&c.y<a.y,j="left"===d&&a.x<c.x||"right"===d&&a.x>c.x;return i&&j?[a,{x:a.x,y:c.y},c]:void 0}function ag(a,b,c,d){return"left"===b||"right"===b?[a,{x:d,y:a.y},{x:d,y:c.y},c]:[a,{x:a.x,y:d},{x:c.x,y:d},c]}function ah(a){let b=new Map,c=[];for(let d of a){if(d.isEdgeLabel)continue;let a=N(d);a&&(b.set(a.id,a),c.push({id:a.id,rect:a.rect}))}return{nodeInfoById:b,realNodeRects:c}}function ai(a){let b=[],c=[];for(let d of a){let a=N(d);if(!a)continue;let e={id:a.id,rect:a.rect};d.isEdgeLabel?c.push(e):b.push(e)}return{realNodeRects:b,labelNodeRects:c}}function aj(a,{includeEdgeLabels:b=!0}={}){let c=[];for(let d of a){if(d.isGroup||!b&&d.isEdgeLabel)continue;let a=d.x??0,e=d.y??0,f=d.width??0,g=d.height??0;c.push({nodeId:d.id,...ac(a,e,f,g)})}return c}function ak(a,b,c=.001){let d=a.start,e=a.end;if(!d||!e)return;let f=b.get(d),g=b.get(e);if(f&&g)return{srcId:d,dstId:e,srcInfo:f,dstInfo:g,collinearX:Math.abs(f.cx-g.cx)<c,collinearY:Math.abs(f.cy-g.cy)<c}}function al(a,b,c,d=[],e=0){for(let f of c)if(!d.includes(f.id)&&Z(a,b,f.rect,-e))return!0;return!1}function am(a,b,c,d,e=.001,f=1e-6){let g=Q(a,b,e),h=P(a,b,e),i=Q(c,d,e),j=P(c,d,e);if(g&&i||h&&j||!(g||h)||!(i||j))return!1;let k=g?{a:a,b:b}:{a:c,b:d},l=h?{a:a,b:b}:{a:c,b:d},m=k.a.y,n=Math.min(k.a.x,k.b.x),o=Math.max(k.a.x,k.b.x),p=l.a.x,q=Math.min(l.a.y,l.b.y),r=Math.max(l.a.y,l.b.y);if(p<n||p>o||m<q||m>r)return!1;let s=Math.abs(p-k.a.x)<f&&Math.abs(m-k.a.y)<f||Math.abs(p-k.b.x)<f&&Math.abs(m-k.b.y)<f,t=Math.abs(p-l.a.x)<f&&Math.abs(m-l.a.y)<f||Math.abs(p-l.b.x)<f&&Math.abs(m-l.b.y)<f;return!(s&&t)}function an(a,b,c,d,e=.001){let f=Q(a,b,e),g=P(a,b,e),h=Q(c,d,e),i=P(c,d,e);return g&&i&&P(a,c,e)?T(a.y,b.y,c.y,d.y)>e:!!(f&&h&&Q(a,c,e))&&T(a.x,b.x,c.x,d.x)>e}function ao(a,b,c,d,{epsilon:e=.001,skipDegenerateOther:f=!1}={}){for(let g of c){if(g===d||g.isLayoutOnly)continue;let c=g.points;if(c&&!(c.length<2))for(let d=0;d<c.length-1;d++){let g=c[d],h=c[d+1];if(!(f&&O(g,h,e))&&(am(a,b,g,h,e)||an(a,b,g,h,e)))return!0}}return!1}function ap(a,b,c,d,e=.001){let f=Q(a,b,e),g=P(a,b,e),h=Q(c,d,e),i=P(c,d,e);if(!(f&&i||g&&h))return!1;let j=f?{a:a,b:b}:{a:c,b:d},k=f?{a:c,b:d}:{a:a,b:b},l=j.a.y,m=Math.min(j.a.x,j.b.x),n=Math.max(j.a.x,j.b.x),o=k.a.x,p=Math.min(k.a.y,k.b.y),q=Math.max(k.a.y,k.b.y);return o>m+e&&o<n-e&&l>p+e&&l<q-e}function aq(a,b,c){let d=Math.min(b,c),e=Math.max(b,c);return a>d+.001&&a<e-.001}function ar(a,b,c){return P(a,b)&&P(b,c)?aq(b.y,a.y,c.y):!!(Q(a,b)&&Q(b,c))&&aq(b.x,a.x,c.x)}function as(a){let b=!1,c=[];for(let d=0;d<a.length;d++){let e=c[c.length-1],f=a[d],g=d+1<a.length?a[d+1]:void 0;if(e&&g){if(O(e,g)){d++,b=!0;continue}if(ar(e,f,g)){b=!0;continue}}c.push(f)}return{points:c,changed:b}}function at(a){let b=[a[0]];for(let c=1;c<a.length;c++){let d=b[b.length-1],e=a[c];if(!P(d,e)&&!Q(d,e)){let a=b.length>=2?b[b.length-2]:void 0,c=a&&P(a,d)?{x:d.x,y:e.y}:{x:e.x,y:d.y};b.push(c)}b.push(e)}let c=[];for(let a of b){let b=c[c.length-1];b&&O(b,a)||c.push(a)}return c}function au(a){if(a.length<3)return a;let b=[...a];for(let a=0;a<32;a++){let a=as(b);if(b=a.points,!a.changed)break}return b}function av(a,b,c){if(a.isLayoutOnly||!a.points||a.points.length<c)return;let d=a.start?b.get(a.start):void 0,e=a.end?b.get(a.end):void 0;return{edge:a,points:a.points,srcRect:d?ad(d):void 0,dstRect:e?ad(e):void 0}}function aw(a,b,c){if(Q(a,b,.001))return{x:a.x<c.left?c.left:c.right,y:a.y};if(P(a,b,.001)){let b=a.y<c.top?c.top:c.bottom;return{x:a.x,y:b}}return{x:Math.min(c.right,Math.max(c.left,a.x)),y:Math.min(c.bottom,Math.max(c.top,a.y))}}function ax(a,b,c){let d=c?1:-1,e=c?0:a.length-1;for(;e>=0&&e<a.length&&$(a[e],b,.5);)e+=d;if(e<0||e>=a.length)return a;let f=e-d;if(f<0||f>=a.length)return a;let g=aw(a[e],a[f],b);return c?[g,...a.slice(e)]:[...a.slice(0,e+1),g]}function ay(a,b){for(let c of a){let a=av(c,b,2);if(!a)continue;let d=[...a.points];a.srcRect&&(d=ax(d,a.srcRect,!0)),a.dstRect&&(d=ax(d,a.dstRect,!1)),d=aJ(d=au(at(d)),a.srcRect,a.dstRect),a.edge.points=au(at(d))}}function az(a,b,c,d=!1){if(Q(a,b,.001)){if(b.y<c.top-.001||b.y>c.bottom+.001)return b;if(d){if(a.x<c.left-.001)return{x:c.left,y:a.y};if(a.x>c.right+.001)return{x:c.right,y:a.y}}return{x:Math.abs(b.x-c.left)<=Math.abs(b.x-c.right)?c.left:c.right,y:a.y}}if(P(a,b,.001)){if(b.x<c.left-.001||b.x>c.right+.001)return b;if(d){if(a.y<c.top-.001)return{x:a.x,y:c.top};if(a.y>c.bottom+.001)return{x:a.x,y:c.bottom}}let e=Math.abs(b.y-c.top)<=Math.abs(b.y-c.bottom);return{x:a.x,y:e?c.top:c.bottom}}return b}function aA(a,b,c){let d=a[b];for(let e=b+c;e>=0&&e<a.length;e+=c){let b=a[e];if(!O(b,d,.001))return b}return a[b+c]}function aB(a,b){let c=a+4,d=b-4;return c<=d?{lo:c,hi:d}:{lo:(a+b)/2,hi:(a+b)/2}}function aC(a,b,c){let{lo:d,hi:e}=aB(b,c);return Math.min(e,Math.max(d,a))}function aD(a){let b=Math.max(...a.map(a=>a.lo)),c=Math.min(...a.map(a=>a.hi));if(!(b>c))return{lo:b,hi:c}}function aE(a,b){return"left"===b||"right"===b?aB(a.top,a.bottom):aB(a.left,a.right)}function aF(a,b,c){let d=a.y>=c.top-.001&&a.y<=c.bottom+.001,e=a.x>=c.left-.001&&a.x<=c.right+.001;if(Q(a,b,.001)&&d){if(.001>Math.abs(a.x-c.left))return"left";if(.001>Math.abs(a.x-c.right))return"right"}if(P(a,b,.001)&&e){if(.001>Math.abs(a.y-c.top))return"top";if(.001>Math.abs(a.y-c.bottom))return"bottom"}}function aG(a){return"left"===a||"right"===a}function aH(a,b,c,d,e){let f=[],g=c?aF(a,b,c):void 0,h=d?aF(b,a,d):void 0;return c&&g&&aG(g)===e&&f.push(aE(c,g)),d&&h&&aG(h)===e&&f.push(aE(d,h)),f.length>0?aD(f):void 0}function aI(a,b,c,d,e){let f=aH(a,b,c,d,e);if(!f)return;let g=e?a.y:a.x,h=Math.min(f.hi,Math.max(f.lo,g));if(!(.001>Math.abs(h-g)))return e?[{x:a.x,y:h},{x:b.x,y:h}]:[{x:h,y:a.y},{x:h,y:b.y}]}function aJ(a,b,c){if(2!==a.length)return a;let[d,e]=a;return Q(d,e,.001)?aI(d,e,b,c,!0)??a:P(d,e,.001)?aI(d,e,b,c,!1)??a:a}function aK(a,b,c){return aG(c)?{x:a.x,y:aC(a.y,b.top,b.bottom)}:{x:aC(a.x,b.left,b.right),y:a.y}}function aL(a,b,c,d,e,f){let g=a.map(a=>({...a}));for(let h=b;h>=0&&h<a.length;h+=c){let b=a[h];if(f&&!Q(b,d,.001)||!f&&!P(b,d,.001))break;f?g[h].y=e.y:g[h].x=e.x}return g}function aM(a,b,c){if(a.length<2)return a;let d=c?0:a.length-1,e=c?1:-1,f=a[d],g=aA(a,d,e);if(!g)return a;let h=aF(f,g,b);if(!h)return a;let i=aG(h),j=aK(f,b,h);return O(f,j,.001)?a:aL(a,d,e,f,j,i)}function aN(a,b,c){let d=Math.min(a.x,b.x)>=c.left-.001&&Math.max(a.x,b.x)<=c.right+.001,e=Math.min(a.y,b.y)>=c.top-.001&&Math.max(a.y,b.y)<=c.bottom+.001;return .001>Math.abs(a.y-c.top)&&.001>Math.abs(b.y-c.top)&&d?"top":.001>Math.abs(a.y-c.bottom)&&.001>Math.abs(b.y-c.bottom)&&d?"bottom":.001>Math.abs(a.x-c.left)&&.001>Math.abs(b.x-c.left)&&e?"left":.001>Math.abs(a.x-c.right)&&.001>Math.abs(b.x-c.right)&&e?"right":void 0}function aO(a,b,c,d){switch(a){case"top":return P(b,c,.001)&&c.y<d.top-.001;case"bottom":return P(b,c,.001)&&c.y>d.bottom+.001;case"left":return Q(b,c,.001)&&c.x<d.left-.001;case"right":return Q(b,c,.001)&&c.x>d.right+.001}}function aP(a,b,c){if(a.length<3)return a;if(c){let c=aN(a[0],a[1],b);return c&&aO(c,a[1],a[2],b)?a.slice(1):a}let d=a.length-1,e=aN(a[d-1],a[d],b);return e&&aO(e,a[d-1],a[d-2],b)?a.slice(0,d):a}function aQ(a,b,c){let d=a;if(b){let a=aA(d,0,1);if(a){let c=az(a,d[0],b);c!==d[0]&&(d=[c,...d.slice(1)])}d=aP(d,b,!0)}if(c){let a=d.length-1,b=aA(d,a,-1);if(b){let e=az(b,d[a],c,!0);e!==d[a]&&(d=[...d.slice(0,a),e])}d=aP(d,c,!1)}let e=aJ(d,b,c);return e!==d||2===d.length?e:(b&&(d=aM(d,b,!0)),c&&(d=aM(d,c,!1)),d)}function aR(a,b){for(let c of a){let a=av(c,b,2);if(!a)continue;let d=aQ(X(a.points,.001),a.srcRect,a.dstRect);if(d.length<3){a.edge.points=d;continue}let e=[d[0],{...d[0]},...d.slice(1,-1),d[d.length-1],{...d[d.length-1]}];a.edge.points=e}}function aS(a){return new Map(a.map(a=>[a.id,a]))}function aT(a,b){let c=a.parentId,d=null;for(;c;){let a=b.get(c);if(!a?.isGroup)break;d=a.id,c=a.parentId}return d}function aU(a,b){let c=0,d=a.parentId;for(;d;){let a=b.get(d);if(!a?.isGroup)break;c++,d=a.parentId}return c}function aV(a){let b=1/0,c=-1/0,d=1/0,e=-1/0;for(let f of a){let a=f.x,g=f.y;if("number"!=typeof a||"number"!=typeof g)continue;let h=f.width??0,i=f.height??0;b=Math.min(b,a-h/2),c=Math.max(c,a+h/2),d=Math.min(d,g-i/2),e=Math.max(e,g+i/2)}return b===1/0||d===1/0?null:{minX:b,maxX:c,minY:d,maxY:e}}function aW(a,b){let c=a.padding??20;a.x=(b.minX+b.maxX)/2,a.y=(b.minY+b.maxY)/2,a.width=Math.max(0,b.maxX-b.minX)+c,a.height=Math.max(0,b.maxY-b.minY)+c}function aX(a){let b=aS(a);for(let c of a.filter(a=>a.isGroup&&a.parentId).sort((a,c)=>aU(c,b)-aU(a,b))){let b=aV(a.filter(a=>a.parentId===c.id));b&&aW(c,b)}}function aY(a,b){let c=a.nodes??[],d=a.edges??[],e=c.filter(a=>!a.isGroup),f=1/0,g=-1/0;for(let a of e){let c=a[b];"number"==typeof c&&(f=Math.min(f,c),g=Math.max(g,c))}if(!Number.isFinite(f)||!Number.isFinite(g))return!1;let h=(0,l.K)(a=>f+g-a,"mirror");for(let a of c){let c=a[b];"number"==typeof c&&(a[b]=h(c));let d=a.groupTitleRect;d&&(a.groupTitleRect="x"===b?{...d,left:h(d.right),right:h(d.left)}:{...d,top:h(d.bottom),bottom:h(d.top)})}for(let a of d)for(let c of a.points??[])c[b]=h(c[b]);return!0}function aZ(a){return!(a.nodes??[]).some(a=>!a.isGroup)||aY(a,"y")}function a$(a,b="LR"){let c=a.nodes??[],d=a.edges??[],e=c.filter(a=>!a.isGroup),f=1/0,g=1/0;for(let a of e){let b=a.x??0,c=a.y??0;b<f&&(f=b),c<g&&(g=c)}if(!Number.isFinite(f)||!Number.isFinite(g))return!1;let h=0,i=0;for(let a of e)h+=a.width??0,i+=a.height??0;let j=h/e.length,k=i/e.length,l=k>0?Math.max(1,j/k):1;for(let a of e){let b=a.x??0,c=((a.y??0)-g)*l+36,d=b-f;a.x=c,a.y=d}for(let a of d)if(a.points)for(let b of a.points){let a=b.x,c=(b.y-g)*l+36,d=a-f;b.x=c,b.y=d}aX(c);let m=c.filter(a=>a.isGroup&&!a.parentId);if(0===m.length)return"RL"===b&&aY(a,"x"),!0;let n=aS(c),o=new Map;for(let a of c){if(a.isGroup)continue;let b=aT(a,n);if(!b)continue;let c=o.get(b)??[];c.push(a),o.set(b,c)}let p=0;for(let a of m){let b=a.padding??0;b>p&&(p=b)}let q=[],r=1/0,s=-1/0;for(let a of m){let b=aV(o.get(a.id)??[]);b&&(r=Math.min(r,b.minX),s=Math.max(s,b.maxX),q.push({lane:a,contentTop:b.minY,contentBottom:b.maxY,centerY:(b.minY+b.maxY)/2}))}if(r===1/0||s===-1/0)return!0;let t=Math.max(0,s-r)+2*Math.max(p,10),u=36+t,v=(r+s)/2-t/2-36,w=v+u/2,x=Math.max(p,36);q.sort((a,b)=>a.centerY-b.centerY);for(let a=0;a<q.length;a++){let b,c,d=q[a];if(b=0===a?d.contentTop-x:(q[a-1].contentBottom+d.contentTop)/2,a===q.length-1)c=d.contentBottom+x;else{let b=q[a+1];c=(d.contentBottom+b.contentTop)/2}let e=Math.max(0,c-b),f=(b+c)/2;d.lane.x=w,d.lane.y=f,d.lane.width=u,d.lane.height=e,d.lane.swimlaneContentTop=d.contentTop,d.lane.groupTitleRect={left:v,right:v+36,top:b,bottom:c}}return"RL"===b&&aY(a,"x"),!0}(0,l.K)(G,"topLaneHorizontalPadding"),(0,l.K)(H,"assignTopLaneTitleRect"),(0,l.K)(I,"prepareLayoutForSwimlanes"),(0,l.K)(J,"toGraphView"),(0,l.K)(K,"writeBackToLayoutData"),(0,l.K)(L,"createEdgeLabelNodes"),(0,l.K)(M,"measuredNodeRect"),(0,l.K)(N,"nodeBoundsInfoFor"),(0,l.K)(O,"samePoint"),(0,l.K)(P,"sameX"),(0,l.K)(Q,"sameY"),(0,l.K)(R,"isHorizontalSegment"),(0,l.K)(S,"isVerticalSegment"),(0,l.K)(T,"overlapLength"),(0,l.K)(U,"sameAxisSegmentOverlapLength"),(0,l.K)(V,"orthogonalSegmentsForPoints"),(0,l.K)(W,"countOrthogonalBends"),(0,l.K)(X,"dedupeConsecutivePoints"),(0,l.K)(Y,"classifyThreeSegmentRoute"),(0,l.K)(Z,"segmentBoundsOverlapRect"),(0,l.K)($,"pointInsideRect"),(0,l.K)(_,"rectContainsRect"),(0,l.K)(aa,"rectsOverlap"),(0,l.K)(ab,"inflateRect"),(0,l.K)(ac,"rectFromCenterSize"),(0,l.K)(ad,"rectOfNodeBounds"),(0,l.K)(ae,"portForRectSide"),(0,l.K)(af,"buildOrthogonalPortPath"),(0,l.K)(ag,"buildSameSideTrackPath"),(0,l.K)(ah,"collectRealNodeBounds"),(0,l.K)(ai,"collectNodeRectEntries"),(0,l.K)(aj,"collectLayoutNodeRects"),(0,l.K)(ak,"getNodePairGeometry"),(0,l.K)(al,"segmentHitsAnyRect"),(0,l.K)(am,"orthogonalSegmentsCross"),(0,l.K)(an,"sameAxisSegmentsOverlap"),(0,l.K)(ao,"segmentConflictsWithAnyEdge"),(0,l.K)(ap,"orthogonalSegmentsStrictlyCross"),(0,l.K)(aq,"strictlyBetween"),(0,l.K)(ar,"isCollinearIntermediate"),(0,l.K)(as,"simplifyPolylineOnce"),(0,l.K)(at,"orthogonalizePolyline"),(0,l.K)(au,"simplifyPolyline"),(0,l.K)(av,"endpointContextFor"),(0,l.K)(aw,"segmentEnterPoint"),(0,l.K)(ax,"clipEndpoint"),(0,l.K)(ay,"clipEdgeEndpointsToNodeBoundaries"),(0,l.K)(az,"snapEndpointToBoundary"),(0,l.K)(aA,"firstDistinctAdjacent"),(0,l.K)(aB,"cornerClearanceRange"),(0,l.K)(aC,"clampToCornerClearance"),(0,l.K)(aD,"intersectRanges"),(0,l.K)(aE,"clearanceRangeForSide"),(0,l.K)(aF,"terminalSideForSegment"),(0,l.K)(aG,"isHorizontalSide"),(0,l.K)(aH,"straightClearanceRange"),(0,l.K)(aI,"clearStraightEndpointCornerAxis"),(0,l.K)(aJ,"clearStraightEndpointCornerConnections"),(0,l.K)(aK,"cornerClearedEndpoint"),(0,l.K)(aL,"moveCollinearEndpointRun"),(0,l.K)(aM,"clearEndpointCornerConnection"),(0,l.K)(aN,"borderSideForSegment"),(0,l.K)(aO,"leavesOutward"),(0,l.K)(aP,"collapseOwnBorderStub"),(0,l.K)(aQ,"snapAndCollapseEndpoints"),(0,l.K)(aR,"prepareEdgeEndpointsForRenderer"),(0,l.K)(aS,"buildNodeMap"),(0,l.K)(aT,"resolveTopLevelGroupId"),(0,l.K)(aU,"groupDepth"),(0,l.K)(aV,"boundsForChildren"),(0,l.K)(aW,"applyGroupBounds"),(0,l.K)(aX,"recomputeNestedGroupBounds"),(0,l.K)(aY,"mirrorAxis"),(0,l.K)(aZ,"applyBtDirectionTransform"),(0,l.K)(a$,"applyLrDirectionTransform");var a_=[0,8,-8,16,-16];function a0(a,b){let{nodeInfoById:c,realNodeRects:d}=ah(b);for(let b of a){let e;if(b.isLayoutOnly)continue;let f=b.points;if(!f||f.length<4)continue;let g=Y(X(f,1e-6),1e-6);if(!g)continue;let{p3:h}=g,i="HVH"===g.kind,j=ak(b,c,1e-6);if(!j)continue;let{srcId:k,dstId:l,srcInfo:m,dstInfo:n,collinearX:o,collinearY:p}=j;if(o||p)continue;let q=m.rect;for(let c of a_){let f,g,j;if(i){let a=n.cy>m.cy?q.bottom:q.top,b=m.cx+c;if(b<=q.left+1e-6||b>=q.right-1e-6)continue;f={x:b,y:a},g={x:b,y:h.y},j={x:h.x,y:h.y}}else{let a=n.cx>m.cx?q.right:q.left,b=m.cy+c;if(b<=q.top+1e-6||b>=q.bottom-1e-6)continue;f={x:a,y:b},g={x:h.x,y:b},j={x:h.x,y:h.y}}let o=O(f,g,1e-6),p=O(g,j,1e-6);if(o&&p||!o&&al(f,g,d,[k],1)||!p&&al(g,j,d,[l],1))continue;let r=!o&&ao(f,g,a,b,{epsilon:1e-6,skipDegenerateOther:!0}),s=!p&&ao(g,j,a,b,{epsilon:1e-6,skipDegenerateOther:!0});if(!r&&!s){e=o?[g,j]:p?[f,g]:[f,g,j];break}}e&&(b.points=e)}}function a1(a,b){let{realNodeRects:c,labelNodeRects:d}=ai(b.values());for(let e of a){let f,g;if(e.isLayoutOnly)continue;let h=e.points;if(!h||h.length<4)continue;let i=X(h,.001);if(i.length<4)continue;let j=i.length-1,k=i[j],m=i[j-1],n=i[j-2],o=Math.hypot(k.x-m.x,k.y-m.y);if(o>=10||o<.001)continue;let p=m.x-n.x,q=m.y-n.y;if(.001>Math.hypot(p,q))continue;let r=R(m,k,.001),s=S(m,k,.001),t=R(n,m,.001),u=S(n,m,.001);if(!(r&&u||s&&t))continue;let v=e.end,w=e.start,x=v?b.get(v):void 0;if(!x)continue;let y=x.x??0,z=x.y??0,A=ad(x);if(!A)continue;if(u){let a=q<0;f={x:y,y:n.y},g={x:y,y:a?A.bottom:A.top}}else{let a=p>0;f={x:n.x,y:z},g={x:a?A.right:A.left,y:z}}if(al(f,g,c,v?[v]:[],-2)||al(f,g,d,[],-2))continue;if(w){let a=b.get(w),c=a?ad(a):void 0;if(c&&$(f,c,2))continue}let B=(0,l.K)((a,b)=>`${a.x.toFixed(3)},${a.y.toFixed(3)}|${b.x.toFixed(3)},${b.y.toFixed(3)}`,"ownSegmentKey"),C=new Set;for(let a=0;a<i.length-1;a++)C.add(B(i[a],i[a+1]));let D=(0,l.K)((b,c)=>{for(let d of a){if(d===e||d.isLayoutOnly)continue;let a=d.points;if(a&&!(a.length<2))for(let d=0;d<a.length-1;d++){let e=a[d],f=a[d+1];if(!C.has(B(e,f))&&ap(b,c,e,f,.001))return!0}}return!1},"segmentCrossesOtherEdge");if(D(f,g))continue;if(j-3>=0){let a=i[j-3];if(al(a,f,c,[w,v].filter(a=>!!a),-2)||D(a,f))continue}let E=[...i.slice(0,j-2),f,g];e.points=E;let F=e.labelNodeId;if(F){let a=b.get(F);if(a){let b=a.width??0,c=a.height??0;if(b>0&&c>0){let d,e,f=-1;for(let a=0;a<E.length-1;a++){let g=E[a],h=E[a+1],i=Math.hypot(h.x-g.x,h.y-g.y),j=Q(g,h,.001),k=P(g,h,.001);(j&&i>=b+2||k&&i>=c+2)&&i>f&&(f=i,d=(g.x+h.x)/2,e=(g.y+h.y)/2)}void 0!==d&&void 0!==e&&(a.x=d,a.y=e)}}}}}(0,l.K)(a0,"portSwapToLShape"),(0,l.K)(a1,"collapseShortTerminalStub");var a2=(0,l.K)((a,b)=>P(a,b,.001)||Q(a,b,.001),"orthogonallyAligned");function a3(a,b){let c=(0,l.K)((a,b)=>{let c=a.x??0,d=a.y??0,e=b.x-c,f=b.y-d,g=(a.width??0)/2,h=(a.height??0)/2;return Math.abs(f)*g>Math.abs(e)*h?(f<0&&(h=-h),{x:c+(0===f?0:h*e/f),y:d+h}):(e<0&&(g=-g),{x:c+g,y:d+(0===e?0:g*f/e)})},"rectIntersect"),d=(0,l.K)((a,d)=>{let e=X(a.points??[]);if(e.length<2)return;let f=d?a.start:a.end,g=f?b.get(f):void 0,h=g?ad(g):void 0;if(!g||!f||!h)return;let i=d?e[0]:e[e.length-1],j=d?e[1]:e[e.length-2],k=c(g,i),l=i;return(a2(j,k)&&(l=j),P(k,l,.001))?{edge:a,edgeId:String(a.id??""),nodeId:f,atStart:d,orientation:"V",coord:k.x,min:Math.min(k.y,l.y),max:Math.max(k.y,l.y),boundary:k,railEnd:l,rect:h}:Q(k,l,.001)?{edge:a,edgeId:String(a.id??""),nodeId:f,atStart:d,orientation:"H",coord:k.y,min:Math.min(k.x,l.x),max:Math.max(k.x,l.x),boundary:k,railEnd:l,rect:h}:void 0},"terminalLaneFor"),e=(0,l.K)((a,b)=>Math.max(0,Math.min(a.max,b.max)-Math.max(a.min,b.min)),"projectedOverlapLength"),f=(0,l.K)((a,b)=>a.nodeId===b.nodeId&&a.orientation===b.orientation&&("H"===a.orientation?(1>Math.abs(a.boundary.x-a.rect.left)||1>Math.abs(a.boundary.x-a.rect.right))&&P(a.boundary,b.boundary,1):(1>Math.abs(a.boundary.y-a.rect.top)||1>Math.abs(a.boundary.y-a.rect.bottom))&&Q(a.boundary,b.boundary,1)),"sameTerminalFace"),g=(0,l.K)((a,b)=>a.nodeId===b.nodeId&&a.orientation===b.orientation&&e(a,b)>=8&&.5>Math.abs(a.coord-b.coord),"exactTerminalLaneConflict"),h=(0,l.K)((a,b)=>{if(a.nodeId!==b.nodeId||a.orientation!==b.orientation||"H"!==a.orientation||a.atStart===b.atStart)return!1;let c=e(a,b);if(c<8)return!1;let d=a.rect.bottom-a.rect.top;return!(c<d)&&!(c>2*d)&&f(a,b)&&16>Math.abs(a.coord-b.coord)},"nearTerminalLaneConflict"),i=(0,l.K)((a,b)=>{let c=X(a.edge.points??[]);if(c.length<2)return;let d="V"===a.orientation?{x:a.boundary.x+b,y:a.boundary.y}:{x:a.boundary.x,y:a.boundary.y+b},e="V"===a.orientation?{x:a.railEnd.x+b,y:a.railEnd.y}:{x:a.railEnd.x,y:a.railEnd.y+b};if(!(0,l.K)(()=>1>Math.abs(a.boundary.y-a.rect.top)||1>Math.abs(a.boundary.y-a.rect.bottom)?Q(d,a.boundary,.001)&&d.x>=a.rect.left+1&&d.x<=a.rect.right-1:!!(1>Math.abs(a.boundary.x-a.rect.left)||1>Math.abs(a.boundary.x-a.rect.right))&&P(d,a.boundary,.001)&&d.y>=a.rect.top+1&&d.y<=a.rect.bottom-1,"boundaryStaysOnSameFace")())return;if(a.atStart){let b=c.length>1&&O(c[1],a.railEnd,.001),f=c.slice(b?2:1),g=f[0];if(g&&!a2(g,e))return;return[d,e,...f]}let f=c.length>1&&O(c[c.length-2],a.railEnd,.001),g=c.slice(0,f?-2:-1),h=g[g.length-1];if(!h||a2(h,e))return[...g,e,d]},"shiftedCandidate"),j=(0,l.K)(a=>{let c=a.edge,d=X(c.points??[]);if(2!==d.length)return!1;let e=c.start,f=c.end,g=e?b.get(e):void 0,h=f?b.get(f):void 0;if(!g||!h)return!1;let i=g.x??0,j=g.y??0,k=h.x??0,l=h.y??0,[m,n]=d;return Q(m,n,.001)&&1>Math.abs(j-l)&&Math.abs(i-k)>1||P(m,n,.001)&&1>Math.abs(i-k)&&Math.abs(j-l)>1},"laneIsStraightCollinearConnector"),k=[-7,7,-14,14,-21,21];for(let b=0;b<8;b++){let b=a.filter(a=>!a.isLayoutOnly).flatMap(a=>[d(a,!0),d(a,!1)]).filter(a=>!!a),c=!1;for(let a=0;a<b.length&&!c;a++)for(let e=a+1;e<b.length&&!c;e++){let f=b[a],l=b[e];if(f.edge===l.edge||!(g(f,l)||h(f,l)))continue;let m=!g(f,l);for(let a of[f,l].sort((a,b)=>{let c=j(a),d=j(b);return c!==d?Number(c)-Number(d):Number(!b.atStart)-Number(!a.atStart)})){for(let e of k){let f=i(a,e);if(!f)continue;let j=d({...a.edge,points:f},a.atStart);if(!(!j||b.some(b=>b.edge!==a.edge&&(g(j,b)||m&&h(j,b))))){a.edge.points=f,c=!0;break}}if(c)break}}if(!c)return}}function a4(a,b){let{realNodeRects:c,labelNodeRects:d}=ai(b.values()),e=(0,l.K)((b,e)=>{let f=b.start,g=b.end,h=V(e);if(h.length!==e.length-1)return!1;let i=[f,g].filter(a=>!!a);for(let a of h)if(al(a.a,a.b,c,i,-2)||al(a.a,a.b,d,[],-2))return!1;for(let c of a){if(c===b||c.isLayoutOnly)continue;let a=c.points;if(a&&!(a.length<2)){for(let b of h)for(let c of V(X(a)))if(U(b,c,.5)>=8||ap(b.a,b.b,c.a,c.b,.001))return!1}}return!0},"candidateIsSafe"),f=(0,l.K)((a,b)=>{if(b+4>=a.length)return;let c=a[b],d=a[b+1],e=a[b+2],f=a[b+3],g=a[b+4],h=R(c,d)&&S(d,e)&&R(e,f)&&S(f,g)&&P(c,f,.001)&&P(c,g,.001)&&P(d,e,.001)&&(d.x-c.x)*(f.x-e.x)<0,i=S(c,d)&&R(d,e)&&S(e,f)&&R(f,g)&&Q(c,f,.001)&&Q(c,g,.001)&&Q(d,e,.001)&&(d.y-c.y)*(f.y-e.y)<0;if(h||i)return X([...a.slice(0,b+1),g,...a.slice(b+5)]);if(b+5>=a.length)return;let j=a[b+5],k=S(c,d)&&R(d,e)&&S(e,f)&&R(f,g)&&S(g,j)&&P(c,g,.001)&&P(c,j,.001)&&P(e,f,.001)&&(e.x-d.x)*(g.x-f.x)<0,l=R(c,d)&&S(d,e)&&R(e,f)&&S(f,g)&&R(g,j)&&Q(c,g,.001)&&Q(c,j,.001)&&Q(e,f,.001)&&(e.y-d.y)*(g.y-f.y)<0;if(k||l)return X([...a.slice(0,b+1),j,...a.slice(b+6)])},"withoutDogleg");for(let b=0;b<8;b++){let b=!1;for(let c of a){if(c.isLayoutOnly)continue;let a=X(c.points??[]);for(let d=0;d<=a.length-5;d++){let g=f(a,d);if(g&&e(c,g)){c.points=g,b=!0;break}}if(b)break}if(!b)return}}function a5(a,b){let{realNodeRects:c,labelNodeRects:d}=ai(b.values()),e=a.filter(a=>!a.isLayoutOnly),f=(0,l.K)((a,b,c)=>X(a===b?c??[]:a.points??[]),"pointsFor"),g=(0,l.K)((a,b)=>{let c=0;for(let d=0;d<e.length;d++){let g=V(f(e[d],a,b));for(let h=d+1;h<e.length;h++){let d=V(f(e[h],a,b));for(let a of g)for(let b of d)ap(a.a,a.b,b.a,b.b,.001)&&c++}}return c},"strictCrossingCount"),h=(0,l.K)(a=>{let b=V(a);if(3!==b.length)return;let c=b[1];if(b[0].horizontal!==c.horizontal&&b[2].horizontal!==c.horizontal)return{index:c.index,horizontal:c.horizontal,vertical:c.vertical,segment:c}},"middleRail"),i=(0,l.K)((a,b)=>{let d=[a.start,a.end].filter(a=>!!a);return c.filter(a=>{if(d.includes(a.id))return!1;let c=a.rect;return b.horizontal?T(b.a.x,b.b.x,c.left,c.right)>=8&&b.a.y>=c.top-2&&b.a.y<=c.bottom+2:T(b.a.y,b.b.y,c.top,c.bottom)>=8&&b.a.x>=c.left-2&&b.a.x<=c.right+2})},"blockingRectsFor"),j=(0,l.K)((a,b,c)=>{let d=a.map(a=>({...a}));if(b.horizontal)d[b.index].y=c,d[b.index+1].y=c;else{if(!b.vertical)return;d[b.index].x=c,d[b.index+1].x=c}let e=au(X(d));return V(e).length===e.length-1?e:void 0},"candidateByMovingRail"),k=(0,l.K)((a,b,h)=>{let i=[a.start,a.end].filter(a=>!!a),j=V(b);if(j.length!==b.length-1)return!1;for(let a of j)if(al(a.a,a.b,c,i,-2)||al(a.a,a.b,d,[],-2))return!1;for(let b of e)if(b!==a){for(let a of j)for(let c of V(f(b)))if(U(a,c,.5)>=8)return!1}return g(a,b)<=h},"candidateIsSafe");for(let a=0;a<8;a++){let a=g(),b=!1;for(let c of e){let d=f(c),e=h(d);if(!e)continue;let g=i(c,e.segment);if(0!==g.length){for(let f of e.horizontal?[Math.min(...g.map(a=>a.rect.top))-20,Math.max(...g.map(a=>a.rect.bottom))+20]:[Math.min(...g.map(a=>a.rect.left))-20,Math.max(...g.map(a=>a.rect.right))+20]){let g=j(d,e.segment,f);if(g&&k(c,g,a)){c.points=g,b=!0;break}}if(b)break}}if(!b)return}}function a6(a,b){let c=(0,l.K)(a=>{let b=a.groupTitleRect;if(b&&"number"==typeof b.left&&"number"==typeof b.right&&"number"==typeof b.top&&"number"==typeof b.bottom&&Number.isFinite(b.left)&&Number.isFinite(b.right)&&Number.isFinite(b.top)&&Number.isFinite(b.bottom)&&!(b.right<=b.left)&&!(b.bottom<=b.top))return{left:b.left,right:b.right,top:b.top,bottom:b.bottom}},"validTitleRect"),d=(0,l.K)(a=>{if(!a.isGroup||a.parentId)return;let b=a.direction,d="string"==typeof b?b.toUpperCase():"";if("LR"===d||"RL"===d||"BT"===d)return;let e=c(a),f=a.y,g=a.height;if(!e||"number"!=typeof f||"number"!=typeof g||!Number.isFinite(f)||!Number.isFinite(g)||g<=0)return;let h=e.right-e.left,i=e.bottom-e.top;if(!(i<=0)&&!(h<i))return{node:a,rect:e}},"topLaneTitleFor"),e=(0,l.K)((a,b)=>{if(!a.horizontal)return!1;let c=a.a.y;return!(c<=b.top+.001)&&!(c>=b.bottom-.001)&&T(a.a.x,a.b.x,b.left,b.right)>=8},"horizontalSegmentIntersectsTitle"),f=[...b.values()].map(d).filter(a=>!!a);if(0===f.length)return;let g=0;for(let b of a)if(!b.isLayoutOnly)for(let a of V(X(b.points??[])))for(let b of f)e(a,b.rect)&&(g=Math.max(g,b.rect.bottom-a.a.y+4));if(!(g<=.001))for(let a of f){let b=a.node.y,c=a.node.height;"number"==typeof b&&"number"==typeof c&&Number.isFinite(b)&&Number.isFinite(c)&&!(c<=0)&&(a.node.y=b-g/2,a.node.height=c+g,a.node.groupTitleRect={...a.rect,top:a.rect.top-g,bottom:a.rect.bottom-g})}}function a7(a,b){let c=(0,l.K)(a=>{let b=a.groupTitleRect;if(b&&"number"==typeof b.left&&"number"==typeof b.right&&"number"==typeof b.top&&"number"==typeof b.bottom&&Number.isFinite(b.left)&&Number.isFinite(b.right)&&Number.isFinite(b.top)&&Number.isFinite(b.bottom)&&!(b.right<=b.left)&&!(b.bottom<=b.top))return{left:b.left,right:b.right,top:b.top,bottom:b.bottom}},"validTitleRect"),d=(0,l.K)(a=>{if(!a.isGroup||a.parentId||"LR"!==a.direction)return;let b=c(a),d=a.x,e=a.width;if(!b||"number"!=typeof d||"number"!=typeof e||!Number.isFinite(d)||!Number.isFinite(e)||e<=0)return;let f=b.right-b.left,g=b.bottom-b.top;if(!(f<=0)&&!(g<f))return{node:a,rect:b}},"leftLaneTitleFor"),e=(0,l.K)((a,b)=>{if(!a.vertical)return!1;let c=a.a.x;return!(c<=b.left+.001)&&!(c>=b.right-.001)&&T(a.a.y,a.b.y,b.top,b.bottom)>=8},"verticalSegmentIntersectsTitle"),f=(0,l.K)((a,b)=>{if(!a.horizontal)return!1;let c=a.a.y;return!(c<=b.top+.001)&&!(c>=b.bottom-.001)&&T(a.a.x,a.b.x,b.left,b.right)>=8},"horizontalSegmentIntersectsTitle"),g=[...b.values()].map(d).filter(a=>!!a);if(0===g.length)return;let h=0;for(let b of a)if(!b.isLayoutOnly){for(let a of V(X(b.points??[])))for(let b of g)if(e(a,b.rect))h=Math.max(h,b.rect.right-a.a.x+4);else if(f(a,b.rect)){let c=Math.min(a.a.x,a.b.x);h=Math.max(h,b.rect.right-c+4)}}if(!(h<=.001))for(let a of g){let b=a.node.x,c=a.node.width;"number"==typeof b&&"number"==typeof c&&Number.isFinite(b)&&Number.isFinite(c)&&!(c<=0)&&(a.node.x=b-h/2,a.node.width=c+h,a.node.groupTitleRect={...a.rect,left:a.rect.left-h,right:a.rect.right-h})}}function a8(a,b){let{realNodeRects:c}=ai(b.values()),d=a.filter(a=>!a.isLayoutOnly),e=(0,l.K)((a,b=new Map)=>X(b.get(a)??a.points??[]),"replacementPointsFor"),f=(0,l.K)((a=new Map)=>{let b=0;for(let c=0;c<d.length;c++){let f=V(e(d[c],a));for(let g=c+1;g<d.length;g++){let c=V(e(d[g],a));for(let a of f)for(let d of c)ap(a.a,a.b,d.a,d.b,.001)&&b++}}return b},"crossingCount"),g=(0,l.K)((a=new Map)=>d.reduce((b,c)=>b+W(e(c,a)),0),"totalBends"),h=(0,l.K)(a=>{let b=e(a);if(b.length<4)return;let c=b[b.length-2],d=b[b.length-1];if(R(c,d,.001)||S(c,d,.001))return{tailStart:c,terminal:d}},"terminalTailFor"),i=(0,l.K)((a,b)=>{let c,d=e(a);if(d.length<3)return;let f=d[0],g=d[1];if(R(f,g,.001))c={x:g.x,y:b.tailStart.y};else{if(!S(f,g,.001))return;c={x:b.tailStart.x,y:g.y}}let h=au(X([f,g,c,b.tailStart,b.terminal]));return V(h).length===h.length-1?h:void 0},"candidateWithDestinationTail"),j=(0,l.K)((a,b)=>{let d=[a.start,a.end].filter(a=>!!a);for(let a of V(b))if(al(a.a,a.b,c,d,-2))return!0;return!1},"pathHasNodeHit"),k=(0,l.K)((a,b,c)=>{for(let f of d)if(f!==a){for(let a of V(b))for(let b of V(e(f,c)))if(U(a,b,.5)>=8)return!0}return!1},"pathHasSharedTrack"),m=(0,l.K)((a,b,c)=>!j(a,b)&&!k(a,b,c),"candidateIsSafe"),n=(0,l.K)(()=>{let a=new Map;for(let c of d){let d=c.end;if(!d||!b.has(d)||e(c).length<4)continue;let f=a.get(d)??[];f.push(c),a.set(d,f)}return a},"edgesByDestination");for(let a=0;a<4;a++){let a,b=f();if(0===b)return;let c=g(),d=b,e=c;for(let c of n().values())for(let j=0;j<c.length;j++)for(let k=j+1;k<c.length;k++){let l=c[j],n=c[k],o=h(l),p=h(n);if(!o||!p)continue;let q=i(l,p),r=i(n,o);if(!q||!r)continue;let s=new Map([[l,q],[n,r]]);if(!m(l,q,s)||!m(n,r,s))continue;let t=f(s),u=g(s);!(t>=b)&&(t>d||t===d&&u>=e||(a=s,d=t,e=u))}if(!a)return;for(let[b,c]of a)b.points=c}}function a9(a,b){let{realNodeRects:c,labelNodeRects:d}=ai(b.values()),e=a.filter(a=>!a.isLayoutOnly),f=(0,l.K)((a,b=new Map)=>X(b.get(a)??a.points??[]),"replacementPointsFor"),g=(0,l.K)((a=new Map)=>{let b=0;for(let c=0;c<e.length;c++){let d=V(f(e[c],a));for(let g=c+1;g<e.length;g++){let c=V(f(e[g],a));for(let a of d)for(let d of c)ap(a.a,a.b,d.a,d.b,.001)&&b++}}return b},"strictCrossingCount"),h=(0,l.K)((a=new Map)=>e.reduce((b,c)=>b+W(f(c,a)),0),"totalBends"),i=(0,l.K)(a=>{let c=a.start,d=a.end,e=c?b.get(c):void 0,f=d?b.get(d):void 0,g=e?ad(e):void 0,h=f?ad(f):void 0;return g&&h?{src:g,dst:h}:void 0},"endpointRectsFor"),j=(0,l.K)((a,b,c)=>{if(c.index<=0||c.index+1>=b.length-1)return;let d=i(a);if(d){if(c.vertical){let e=c.a.x,f=Math.min(d.src.left,d.dst.left),g=Math.max(d.src.right,d.dst.right),h=e<f-.001?"left":e>g+.001?"right":void 0;if(!h)return;return{edge:a,points:b,segmentIndex:c.index,axis:"vertical",side:h,coord:e,min:Math.min(c.a.y,c.b.y),max:Math.max(c.a.y,c.b.y)}}if(c.horizontal){let e=c.a.y,f=Math.min(d.src.top,d.dst.top),g=Math.max(d.src.bottom,d.dst.bottom),h=e<f-.001?"top":e>g+.001?"bottom":void 0;if(!h)return;return{edge:a,points:b,segmentIndex:c.index,axis:"horizontal",side:h,coord:e,min:Math.min(c.a.x,c.b.x),max:Math.max(c.a.x,c.b.x)}}}},"externalRailForSegment"),k=(0,l.K)(()=>{let a=[];for(let b of e){let c=f(b);for(let d of V(c)){let e=j(b,c,d);e&&a.push(e)}}return a},"collectExternalRails"),m=(0,l.K)((a,b)=>a.edge!==b.edge&&a.axis===b.axis&&a.side===b.side&&T(a.min,a.max,b.min,b.max)>=8,"railsInteract"),n=(0,l.K)(a=>{let b=[],c=new Set;for(let d of a){if(c.has(d))continue;let e=[d],f=[];for(c.add(d);e.length>0;){let b=e.pop();for(let d of(f.push(b),a))!c.has(d)&&m(b,d)&&(c.add(d),e.push(d))}f.length>1&&b.push(f)}return b},"connectedComponents"),o=(0,l.K)(a=>{let b=[];for(let c of a)b.some(a=>.001>Math.abs(a-c.coord))||b.push(c.coord);for(;b.length<a.length;){let c=Math.min(...b),d=Math.max(...b),e=a[0].side;b.push("left"===e||"top"===e?c-12*(a.length-b.length):d+12*(a.length-b.length))}return b},"uniqueCoordsFor"),p=(0,l.K)(a=>{let b=a.map(a=>a.coord),c=o(a),d=[];if(a.length<=6){let e=Array(c.length).fill(!1),f=[],g=(0,l.K)(()=>{if(f.length===a.length){f.some((a,c)=>Math.abs(a-b[c])>=.001)&&d.push([...f]);return}for(let[a,b]of c.entries())e[a]||(e[a]=!0,f.push(b),g(),f.pop(),e[a]=!1)},"visit");return g(),d}for(let a=0;a<b.length;a++)for(let c=a+1;c<b.length;c++){let e=[...b];[e[a],e[c]]=[e[c],e[a]],d.push(e)}return d},"coordinateAssignmentsFor"),q=(0,l.K)((a,b)=>{let c=new Map;for(let[d,e]of a.entries()){let a=b[d],f=c.get(e.edge)??e.points.map(a=>({x:a.x,y:a.y}));"vertical"===e.axis?(f[e.segmentIndex].x=a,f[e.segmentIndex+1].x=a):(f[e.segmentIndex].y=a,f[e.segmentIndex+1].y=a),c.set(e.edge,f)}let d=new Map;for(let[a,b]of c){let c=au(X(b));if(V(c).length!==c.length-1)return;d.set(a,c)}return d},"replacementsForAssignment"),r=(0,l.K)(a=>{for(let[b,e]of a){let a=[b.start,b.end].filter(a=>!!a);for(let b of V(e))if(al(b.a,b.b,c,a,-2)||al(b.a,b.b,d,[],-2))return!1}for(let b=0;b<e.length;b++){let c=e[b],d=a.has(c),g=V(f(c,a));for(let c=b+1;c<e.length;c++){let b=e[c];if(!d&&!a.has(b))continue;let h=V(f(b,a));for(let a of g)for(let b of h)if(U(a,b,.5)>=8)return!1}}return!0},"candidateIsSafe");for(let a=0;a<4;a++){let a,b=g();if(0===b)return;let c=b,d=h(),e=1/0;for(let f of n(k()))for(let i of p(f)){let j=q(f,i);if(!j||!r(j))continue;let k=g(j);if(k>=b)continue;let l=h(j),m=f.reduce((a,b,c)=>a+Math.abs(i[c]-b.coord),0);k>c||k===c&&(l>d||l===d&&m>=e)||(a=j,c=k,d=l,e=m)}if(!a)return;for(let[b,c]of a)b.points=c}}function ba(a,b){let{realNodeRects:c,labelNodeRects:d}=ai(b.values()),e=a.filter(a=>!a.isLayoutOnly),f=(0,l.K)((a,b,c)=>X(a===b?c??[]:a.points??[]),"pointsFor"),g=(0,l.K)(a=>V(a).reduce((a,b)=>a+Math.hypot(b.a.x-b.b.x,b.a.y-b.b.y),0),"pathLength"),h=(0,l.K)((a,b)=>{let c=0;for(let d=0;d<e.length;d++){let g=V(f(e[d],a,b));for(let h=d+1;h<e.length;h++){let d=V(f(e[h],a,b));for(let a of g)for(let b of d)ap(a.a,a.b,b.a,b.b,.001)&&c++}}return c},"strictCrossingCount"),i=(0,l.K)((a,b)=>{if(a.horizontal){let c=a.a.y;return(1>Math.abs(c-b.top)||1>Math.abs(c-b.bottom))&&T(a.a.x,a.b.x,b.left,b.right)>=8}if(a.vertical){let c=a.a.x;return(1>Math.abs(c-b.left)||1>Math.abs(c-b.right))&&T(a.a.y,a.b.y,b.top,b.bottom)>=8}return!1},"segmentRunsAlongRectBorder"),j=(0,l.K)(a=>{let c=[a.start,a.end].filter(a=>!!a),d=[];for(let a of c){let c=b.get(a),e=c?ad(c):void 0;e&&d.push(e)}return d},"endpointRectsFor"),k=(0,l.K)((a,b)=>{if(b+3>=a.length)return[];let c=a[b],d=a[b+1],e=a[b+2],f=a[b+3],g=R(c,d,.001)&&S(d,e,.001)&&R(e,f,.001),h=S(c,d,.001)&&R(d,e,.001)&&S(e,f,.001);if(!g&&!h||!(g?Math.sign(d.x-c.x)!==Math.sign(f.x-e.x):Math.sign(d.y-c.y)!==Math.sign(f.y-e.y)))return[];let i=P(c,f,.001)||Q(c,f,.001)?[]:[{x:c.x,y:f.y},{x:f.x,y:c.y}],j=0===i.length?[[...a.slice(0,b+1),...a.slice(b+3)]]:i.map(c=>[...a.slice(0,b+1),c,...a.slice(b+3)]),k=new Set;return j.map(a=>au(X(a))).filter(a=>{if(V(a).length!==a.length-1||!a.some(a=>O(a,f,.001)))return!1;let b=a.map(a=>`${a.x.toFixed(3)},${a.y.toFixed(3)}`).join("|");return!k.has(b)&&(k.add(b),!0)})},"shortcutCandidatesAt"),m=(0,l.K)((a,b,g)=>{let k=[a.start,a.end].filter(a=>!!a),l=j(a);for(let a of V(b))if(al(a.a,a.b,c,k,-2)||al(a.a,a.b,d,[],-2)||l.some(b=>i(a,b)))return!1;for(let c of e)if(c!==a){for(let a of V(b))for(let b of V(f(c)))if(U(a,b,.5)>=8)return!1}return h(a,b)<=g},"candidateIsSafe");for(let a=0;a<8;a++){let a,b,c=h(),d=c,i=1/0,j=1/0;for(let l of e){let e=f(l),n=W(e,.001),o=g(e);for(let f=0;f<=e.length-4;f++)for(let p of k(e,f)){let e=W(p,.001),f=g(p);if(!(e<n||e===n&&f<o-.001)||!m(l,p,c))continue;let k=h(l,p);k>d||k===d&&(e>i||e===i&&f>=j)||(a=l,b=p,d=k,i=e,j=f)}}if(!a||!b)return;a.points=b}}function bb(a,b){let c=[];for(let a of b.values()){if(a.isGroup||a.isEdgeLabel)continue;let b=a.x??0,d=a.y??0,e=ad(a);e&&c.push({id:String(a.id??""),cx:b,cy:d,rect:e})}if(0===c.length)return;let d=new Map(c.map(a=>[a.id,a])),e=c.map(a=>({id:a.id,rect:a.rect})),f=["top","bottom","left","right"],g={top:Math.min(...c.map(a=>a.rect.top))-20,bottom:Math.max(...c.map(a=>a.rect.bottom))+20,left:Math.min(...c.map(a=>a.rect.left))-20,right:Math.max(...c.map(a=>a.rect.right))+20},h=a.filter(a=>!a.isLayoutOnly),i=new Map(h.map((a,b)=>[a,b])),j=(0,l.K)(a=>{let b="left"===a||"top"===a?-1:1,c=[];for(let d=0;d<=2;d++)c.push(g[a]+20*b*d);return c},"outwardTracksForSide"),k=(0,l.K)((a,b=new Map)=>X(b.get(a)??a.points??[]),"replacementPointsFor"),m=(0,l.K)((a,b)=>{let c=0;for(let d of a)for(let a of b)ap(d.a,d.b,a.a,a.b,.001)&&c++;return c},"crossingCountBetweenSegments"),n=(0,l.K)((a,b)=>m(V(a),V(b)),"crossingCountBetweenPaths"),o=(0,l.K)((a=new Map)=>{let b=0,c=[],d=new Set,e=[],f=(0,l.K)(a=>{d.has(a)||(d.add(a),e.push(a))},"addEdge");for(let d=0;d<h.length;d++){let e=h[d],g=k(e,a);for(let i=d+1;i<h.length;i++){let d=h[i],j=n(g,k(d,a));j>0&&(b+=j,c.push({first:e,second:d,count:j}),f(e),f(d))}}return e.sort((a,b)=>(i.get(a)??0)-(i.get(b)??0)),{count:b,pairs:c,edgeSet:d,edges:e}},"crossingSnapshot"),p=(0,l.K)((a,b)=>{let c=new Set(b.keys());if(0===c.size)return a.count;let d=0;for(let b of a.pairs)(c.has(b.first)||c.has(b.second))&&(d+=b.count);let e=0;for(let a=0;a<h.length;a++){let d=h[a],f=c.has(d),g=k(d,b);for(let d=a+1;d<h.length;d++){let a=h[d];(f||c.has(a))&&(e+=n(g,k(a,b)))}}return a.count-d+e},"crossingCountWithReplacements"),q=(0,l.K)(a=>{let b=new Map;for(let c of a.pairs){let a=b.get(c.first)??new Set;a.add(c.second),b.set(c.first,a);let d=b.get(c.second)??new Set;d.add(c.first),b.set(c.second,d)}let c=[],d=new Set;for(let e of a.edges){if(d.has(e))continue;let a=[e],f=[];for(d.add(e);a.length>0;){let c=a.pop();for(let e of(f.push(c),b.get(c)??[]))d.has(e)||(d.add(e),a.push(e))}f.sort((a,b)=>(i.get(a)??0)-(i.get(b)??0)),f.length>1&&c.push(f)}return c},"crossingComponents"),r=(0,l.K)(a=>[a.start,a.end].filter(a=>!!a),"endpointIdsFor"),s=(0,l.K)(a=>{let b=[];for(let c of q(a)){let a=new Set(c),d=new Set(c.flatMap(a=>r(a))),e=[...c];for(let b of h)!a.has(b)&&r(b).some(a=>d.has(a))&&e.push(b);e.sort((a,b)=>(i.get(a)??0)-(i.get(b)??0)),b.push(e)}return b},"pairSearchGroups"),t=(0,l.K)((a,b,c)=>p(a,new Map([[b,c]])),"crossingCountWithSingleReplacement"),u=(0,l.K)(a=>{let b=new Map;for(let c of a.pairs)b.set(c.first,(b.get(c.first)??0)+c.count),b.set(c.second,(b.get(c.second)??0)+c.count);return b},"currentCrossingsByEdge"),v=(0,l.K)(a=>a.slice(1).reduce((b,c,d)=>{let e=a[d];return b+Math.abs(c.x-e.x)+Math.abs(c.y-e.y)},0),"pathLength"),w=(0,l.K)((a=new Map)=>h.reduce((b,c)=>b+W(k(c,a)),0),"totalBends"),x=(0,l.K)((a=new Map)=>h.reduce((b,c)=>b+v(k(c,a)),0),"totalLength"),y=(0,l.K)((a,b,c=new Map)=>{let d=V(b);for(let b of h)if(b!==a){for(let a of d)for(let d of V(k(b,c)))if(U(a,d,.5)>=8)return!0}return!1},"pathHasSegmentConflict"),z=(0,l.K)((a,b)=>{let c=[a.start,a.end].filter(a=>!!a);for(let a of V(b))if(al(a.a,a.b,e,c,-2))return!0;return!1},"pathHitsNode"),A=(0,l.K)((a,b)=>{let c=au(X(b));V(c).length===c.length-1&&a.push(c)},"pushOrthogonalCandidate"),B=(0,l.K)(a=>"left"===a||"right"===a,"sideIsHorizontal"),C=(0,l.K)((a,b,c)=>{switch(b){case"left":return Math.min(a.x,c.x)-20;case"right":return Math.max(a.x,c.x)+20;case"top":return Math.min(a.y,c.y)-20;case"bottom":return Math.max(a.y,c.y)+20}},"localTrackForSameSide"),D=(0,l.K)((a,b,c,d)=>{let e="left"===c||"top"===c?-1:1;for(let f of[C(b,c,d),g[c]])for(let g=0;g<=2;g++)A(a,ag(b,c,d,f+20*e*g))},"addSameSideCandidates"),E=(0,l.K)((a,b,c,d,e)=>{for(let f of j(c))for(let c of j(e))A(a,[b,{x:f,y:b.y},{x:f,y:c},{x:d.x,y:c},d])},"addHorizontalToVerticalCandidates"),F=(0,l.K)((a,b,c,d,e)=>{for(let f of j(c))for(let c of j(e))A(a,[b,{x:b.x,y:f},{x:c,y:f},{x:c,y:d.y},d])},"addVerticalToHorizontalCandidates"),G=(0,l.K)((a,b,c,d,e)=>{let f=[...j("top"),...j("bottom")];for(let g of j(c))for(let c of j(e))for(let e of f)A(a,[b,{x:g,y:b.y},{x:g,y:e},{x:c,y:e},{x:c,y:d.y},d])},"addHorizontalPairCandidates"),H=(0,l.K)((a,b,c,d,e)=>{let f=[...j("left"),...j("right")];for(let g of j(c))for(let c of j(e))for(let e of f)A(a,[b,{x:b.x,y:g},{x:e,y:g},{x:e,y:c},{x:d.x,y:c},d])},"addVerticalPairCandidates"),I=(0,l.K)(a=>{let b=new Set;return a.map(a=>X(a)).filter(a=>{let c=a.map(a=>`${a.x.toFixed(3)},${a.y.toFixed(3)}`).join("|");return!b.has(c)&&!(a.length<2)&&(b.add(c),!0)})},"dedupeCandidatePaths"),J=(0,l.K)((a,b,c,d)=>{let e=[],f=af(a,b,c,d,20,.001);f&&A(e,f),b===d&&D(e,a,b,c);let g=B(b),h=B(d);return g&&!h?E(e,a,b,c,d):!g&&h?F(e,a,b,c,d):g?G(e,a,b,c,d):H(e,a,b,c,d),I(e)},"buildCandidatesForSides"),K=(0,l.K)((a,b,c,d)=>{let e=[...j("left"),...j("right")],g=[...j("top"),...j("bottom")];for(let h of f){let f=ae(d,h),i="top"===h||"bottom"===h?j(h):g;for(let d of e)for(let e of(A(a,[b,c,{x:d,y:c.y},{x:d,y:f.y},f]),i))A(a,[b,c,{x:d,y:c.y},{x:d,y:e},{x:f.x,y:e},f])}},"addVerticalDepartureOuterTrackCandidates"),L=(0,l.K)((a,b,c,d)=>{let e=[...j("left"),...j("right")],g=[...j("top"),...j("bottom")];for(let h of f){let f=ae(d,h),i="left"===h||"right"===h?j(h):e;for(let d of g)for(let e of(A(a,[b,c,{x:c.x,y:d},{x:f.x,y:d},f]),i))A(a,[b,c,{x:c.x,y:d},{x:e,y:d},{x:e,y:f.y},f])}},"addHorizontalDepartureOuterTrackCandidates"),M=(0,l.K)(a=>{let b=a.start,c=a.end,e=c?d.get(c):void 0;if(!b||!e)return[];let f=X(a.points??[]);if(f.length<4)return[];let g=f[0],h=f[1],i=[];return S(g,h,.001)?K(i,g,h,e):R(g,h,.001)&&L(i,g,h,e),i},"terminalPreservingOuterTrackCandidates"),N=(0,l.K)(a=>{let b=a.start,c=a.end,e=b?d.get(b):void 0,g=c?d.get(c):void 0;if(!e||!g)return[];let h=[];for(let a of f){let b=ae(e,a);for(let c of f)h.push(...J(b,a,ae(g,c),c))}return h.push(...M(a)),h},"candidatePathsFor"),O=(0,l.K)(()=>new Map(h.map(a=>[a,V(k(a))])),"currentSegmentsByEdge"),P=(0,l.K)((a,b,c)=>{let d=new Set;for(let e of h){if(e===a)continue;let f=c.get(e)??V(k(e));b.some(a=>f.some(b=>U(a,b,.5)>=8))&&d.add(e)}return d},"sharedTrackConflictsFor"),Q=(0,l.K)((a,b,c,d)=>{let e=new Set;return N(a).map(a=>au(X(a))).filter(b=>{if(z(a,b))return!1;let c=b.map(a=>`${a.x.toFixed(3)},${a.y.toFixed(3)}`).join("|");return!e.has(c)&&!(b.length<2)&&(e.add(c),!0)}).map(e=>{let f=V(e),g=0;for(let b of h)b!==a&&(g+=m(f,c.get(b)??V(k(b))));return{candidate:e,candidateSegments:f,crossings:b.count-(d.get(a)??0)+g,bends:W(e,.001),totalBends:W(e),length:v(e)}}).filter(({crossings:a})=>a<=b.count).sort((a,b)=>a.crossings-b.crossings||a.bends-b.bends||a.length-b.length).slice(0,48).map(b=>({path:b.candidate,segments:b.candidateSegments,sharedTrackConflicts:P(a,b.candidateSegments,c),totalBends:b.totalBends,length:b.length}))},"pairCandidatesFor"),T=(0,l.K)((a,b,c,d,e,f)=>{let g=0;for(let c of a.pairs)(c.first===b||c.second===b||c.first===d||c.second===d)&&(g+=c.count);let i=m(c.segments,e.segments);for(let a of h){if(a===b||a===d)continue;let g=f.get(a)??V(k(a));i+=m(c.segments,g)+m(e.segments,g)}return a.count-g+i},"pairCrossingCount"),Y=(0,l.K)((a,b)=>{for(let c of a.sharedTrackConflicts)if(c!==b)return!1;return!0},"conflictsOnlyWith"),Z=(0,l.K)((a,b)=>a.segments.some(a=>b.segments.some(b=>U(a,b,.5)>=8)),"candidatesShareTrack"),$=(0,l.K)((a,b,c,d)=>Y(b,c.edge)&&Y(d,a.edge)&&!Z(b,d),"pairCandidatesAreCompatible"),_=(0,l.K)((a,b,c,d,e)=>{let f=T(a.current,b.edge,c,d.edge,e,a.baseSegments);if(!(f>=a.current.count))return{replacements:new Map([[b.edge,c.path],[d.edge,e.path]]),crossings:f,bends:a.currentBends-(a.baseBendsByEdge.get(b.edge)??0)-(a.baseBendsByEdge.get(d.edge)??0)+c.totalBends+e.totalBends,length:a.currentLength-(a.baseLengthByEdge.get(b.edge)??0)-(a.baseLengthByEdge.get(d.edge)??0)+c.length+e.length}},"scorePairReplacement"),aa=(0,l.K)((a,b)=>a.crossings<b.crossings||a.crossings===b.crossings&&(a.bends<b.bends||a.bends===b.bends&&a.length<b.length),"pairScoreIsBetter"),ab=(0,l.K)((a,b,c,d)=>{let e=d;for(let d of b.candidates)for(let f of c.candidates){if(!$(b,d,c,f))continue;let g=_(a,b,d,c,f);g&&aa(g,e)&&(e=g)}return e},"bestScoreForOptionPair"),ac=(0,l.K)(a=>{let b=w(),c=x(),d=O(),e=u(a),f=new Map(h.map(a=>[a,W(k(a))])),g=new Map(h.map(a=>[a,v(k(a))])),i=new Map,j=s(a);for(let b of j)for(let c of b){if(i.has(c))continue;let b=Q(c,a,d,e);b.length>0&&i.set(c,{edge:c,candidates:b})}let l={replacements:new Map,crossings:a.count,bends:b,length:c},m={current:a,currentBends:b,currentLength:c,baseBendsByEdge:f,baseLengthByEdge:g,baseSegments:d};for(let b of j){let c=new Set(b.filter(b=>a.edgeSet.has(b))),d=b.map(a=>i.get(a)).filter(a=>!!a);for(let a=0;a<d.length;a++){let b=d[a];for(let e=a+1;e<d.length;e++){let a=d[e];(c.has(b.edge)||c.has(a.edge))&&(l=ab(m,b,a,l))}}}return l.replacements.size>0?l.replacements:void 0},"bestPairedReplacement");for(let a=0;a<4;a++){let a,b,c=o(),d=c.count;if(0===d)return;let e=d,f=1/0;for(let g of c.edges){let h=W(k(g),.001);for(let i of N(g)){let j=z(g,i),k=!j&&y(g,i),l=t(c,g,i),m=W(i,.001);!j&&!k&&(l<d||l===d&&m<h)&&(l>e||l===e&&m>=f||(a=g,b=i,e=l,f=m))}}if(a&&b){a.points=b;continue}let g=ac(c);if(!g)return;for(let[a,b]of g)a.points=b}}function bc(a,b){let{nodeInfoById:c,realNodeRects:d}=ah(b),e=["top","bottom","left","right"],f={top:Math.min(...d.map(a=>a.rect.top))-20,bottom:Math.max(...d.map(a=>a.rect.bottom))+20,left:Math.min(...d.map(a=>a.rect.left))-20,right:Math.max(...d.map(a=>a.rect.right))+20},g=(0,l.K)((a,b,c,d)=>{let e=[],g=af(a,b,c,d,20,.001);return g&&e.push(g),b===d&&e.push(ag(a,b,c,f[b])),e},"buildOrthogonalPathCandidates"),h=(0,l.K)((a,b)=>{for(let c=0;c<a.length-1;c++)if(al(a[c],a[c+1],d,b,1))return!0;return!1},"pathHitsNode"),i=(0,l.K)((b,c,d=!1)=>{let e=0,f=V(b,.001),g=c.start,h=c.end;for(let b of a){if(b===c||b.isLayoutOnly)continue;let a=b.start,i=b.end;if(!d&&g&&h&&(a===g||a===h||i===g||i===h))continue;let j=b.points;if(j&&!(j.length<2))for(let a of f)for(let b of V(j,.001)){if(am(a.a,a.b,b.a,b.b,.001,.001)){e++;continue}U(a,b,.001)>=8&&e++}}return e},"pathConflictCount"),j=(0,l.K)((a,b)=>{let c=Math.abs(a.y-b.rect.top),d=Math.abs(a.y-b.rect.bottom),e=Math.abs(a.x-b.rect.left),f=Math.abs(a.x-b.rect.right),g="top",h=c;return d<h&&(g="bottom",h=d),e<h&&(g="left",h=e),f<h&&(g="right",h=f),g},"nearestSideOfRect"),k=new Map,m=(0,l.K)((a,b,c)=>{let d=k.get(a)??[];d.push({side:b,edgeId:c}),k.set(a,d)},"addFaceClaim");for(let b of a){if(b.isLayoutOnly)continue;let a=b.points??[];if(a.length<1)continue;let d=b.id??"",e=b.start,f=b.end;if(e){let b=c.get(e);b&&m(e,j(a[0],b),d)}if(f){let b=c.get(f);b&&m(f,j(a[a.length-1],b),d)}}let n=(0,l.K)((a,b,c)=>k.get(a)?.some(a=>a.edgeId!==c&&a.side===b)??!1,"faceIsClaimed");for(let b of a){let a;if(b.isLayoutOnly)continue;let d=b.points;if(!d||d.length<2)continue;let f=W(d,.001);if(f<4)continue;let l=b.start,o=b.end;if(!l||!o)continue;let p=c.get(l),q=c.get(o);if(!p||!q)continue;let r=b.id??"",s=i(d,b,!0),t=i(d,b),u=s,v=f;for(let c of e){if(n(l,c,r))continue;let d=ae(p,c);for(let f of e)if(!n(o,f,r))for(let e of g(d,c,ae(q,f),f)){if(h(e,[l,o]))continue;let c=W(e,.001);if(s>0){let d=i(e,b,!0);if(d>u||d===u&&c>=v)continue;u=d,v=c,a=e;continue}!(i(e,b)>t)&&c<v&&(v=c,a=e)}}if(a){b.points=a;let c=k.get(l);c&&k.set(l,c.filter(a=>a.edgeId!==r));let d=k.get(o);d&&k.set(o,d.filter(a=>a.edgeId!==r)),m(l,j(a[0],p),r),m(o,j(a[a.length-1],q),r)}}}function bd(a,b){let c=b?0:a.length-1,d=a[c],e=a[c+(b?1:-1)];if(!d||!e)return;let f=e.x-d.x,g=e.y-d.y;if(!(Math.abs(f)+Math.abs(g)<.001)){if(.001>=Math.abs(g)){let a=d.x+10*Math.sign(f);return{left:Math.min(d.x,a),right:Math.max(d.x,a),top:d.y-7,bottom:d.y+7}}if(.001>=Math.abs(f)){let a=d.y+10*Math.sign(g);return{left:d.x-7,right:d.x+7,top:Math.min(d.y,a),bottom:Math.max(d.y,a)}}return{left:Math.min(d.x,e.x),right:Math.max(d.x,e.x),top:Math.min(d.y,e.y),bottom:Math.max(d.y,e.y)}}}function be(a){return{left:Math.min(a.left,a.right),right:Math.max(a.left,a.right),top:Math.min(a.top,a.bottom),bottom:Math.max(a.top,a.bottom)}}function bf(a,b){let c=X(b);return[bd(c,!0),bd(c,!1)].some(b=>b&&aa(a,be(b)))}function bg(a,b){let c=[];for(let b of a){if(b.isLayoutOnly)continue;let a=b.points;if(a&&!(a.length<2))for(let d=0;d<a.length-1;d++)c.push({edgeId:b.id,p1:a[d],p2:a[d+1]})}let d=[],e=[];for(let a of b.values()){let b=a.isGroup,c=a.parentId;if(b&&!c){let b=ad(a);b&&e.push({id:a.id,rect:b});continue}if(b||a.isEdgeLabel)continue;let f=ad(a);f&&d.push({nodeId:a.id,rect:f})}let f=(0,l.K)((a,b)=>{let c=ab(b,3);for(let{nodeId:b,rect:e}of d)if(b!==a&&aa(c,e))return!0;return!1},"labelOverlapsForeignNode"),g=(0,l.K)((a,b)=>{let d=ab(b,3);for(let b of c)if(b.edgeId!==a&&Z(b.p1,b.p2,d))return!0;return!1},"labelOverlapsForeignEdge"),h=(0,l.K)((a,b,c)=>f(a,c)||g(b,c),"labelOverlapsAnything"),i=[],j=(0,l.K)(a=>{for(let{id:b,rect:c}of e)if(_(c,a))return b},"findContainingLane"),k=(0,l.K)((a,b)=>i.some(c=>c.labelId!==a&&aa(b,c.rect)),"overlapsPlacedLabel");for(let c of a){if(c.isLayoutOnly)continue;let a=c.labelNodeId;if(!a)continue;let d=b.get(a);if(!d)continue;let m=c.points;if(!m||m.length<2)continue;let n=d.width??0,o=d.height??0;if(n<=0||o<=0)continue;let p=[];for(let a=0;a<m.length-1;a++){let b=m[a],c=m[a+1],d=Math.abs(b.x-c.x),e=Math.abs(b.y-c.y);(!(d<.001)||!(e<.001))&&(d>=.001&&e>=.001||p.push({idx:a,length:d+e,orientation:d>=.001?"horizontal":"vertical",midX:(b.x+c.x)/2,midY:(b.y+c.y)/2}))}if(0===p.length)continue;let q=p.length>=3?p.filter(a=>a.idx>0&&a.idx<p.length-1):p,r=q.length>0?q:p,s=n>=o?"horizontal":"vertical",t=(0,l.K)(a=>[...a].sort((a,b)=>{let c=a.orientation===s;if(c!==(b.orientation===s))return c?-1:1;let d=a.length>=("horizontal"===a.orientation?n:o)+2;return d!==b.length>=("horizontal"===b.orientation?n:o)+2?d?-1:1:b.length-a.length}),"rankSegments"),u=p[0],v=p[p.length-1],w=[.5,.25,.75,.05,.95,.15,.85,.1,.9],x=(0,l.K)((a,b)=>{let c=m[a.idx],d=m[a.idx+1];return{midX:c.x+(d.x-c.x)*b,midY:c.y+(d.y-c.y)*b}},"anchorAtT"),y=(0,l.K)((a,b,c)=>Math.min(c,Math.max(b,a)),"clamp"),z=(0,l.K)((a,b)=>a.midX>=b.left-.001&&a.midX<=b.right+.001&&a.midY>=b.top-.001&&a.midY<=b.bottom+.001,"pointInsideRectInclusive"),A=(0,l.K)(a=>{let b=ac(a.midX,a.midY,n,o),c=j(b);if(c)return{laneId:c,anchor:a,rect:b};let d=e.find(({rect:b})=>z(a,b));if(!d)return;let f=d.rect.left+n/2+1,g=d.rect.right-n/2-1,h=d.rect.top+o/2+1,i=d.rect.bottom-o/2-1;if(f>g||h>i)return;let k={midX:y(a.midX,f,g),midY:y(a.midY,h,i)},l=ac(k.midX,k.midY,n,o);return z(a,l)?{laneId:d.id,anchor:k,rect:l}:void 0},"placementForAnchor"),B=(0,l.K)((a,b,c)=>"horizontal"===a.orientation?Math.abs(b.midX-c.x):Math.abs(b.midY-c.y),"distanceAlongSegment"),C=(0,l.K)((a,b)=>{let c=("horizontal"===a.orientation?n/2:o/2)+12;if(a===u){let d=m[a.idx];if(B(a,b,d)+.001<c)return!1}if(a===v){let d=m[a.idx+1];if(B(a,b,d)+.001<c)return!1}return!0},"labelClearsTerminalEndpoints"),D=(0,l.K)(b=>{for(let d of t(b))for(let b of w){let e=x(d,b);if(!C(d,e))continue;let f=A(e);if(!(!f||bf(f.rect,m))&&!k(a,f.rect)&&!h(a,c.id,f.rect))return{laneId:f.laneId,anchor:f.anchor}}},"tryPool"),E=(0,l.K)((b,d,e=!1)=>{for(let h of t(b)){let b={midX:h.midX,midY:h.midY};if(d&&!C(h,b))continue;let i=A(b);if(i&&!bf(i.rect,m)&&!k(a,i.rect)&&!f(a,i.rect)&&(e||!g(c.id,i.rect)))return{laneId:i.laneId,anchor:i.anchor}}},"findLaneContainingFallback"),F=D(r)??(r.length<p.length?D(p):void 0)??E(p,!0)??E(p,!1)??E(p,!1,!0);if(F){d.x=F.anchor.midX,d.y=F.anchor.midY,d.parentId=F.laneId;let b=ac(F.anchor.midX,F.anchor.midY,n,o),c=i.findIndex(b=>b.labelId===a);c>=0?i[c]={labelId:a,rect:b}:i.push({labelId:a,rect:b})}}}(0,l.K)(a3,"separateSharedRenderedTerminalLanes"),(0,l.K)(a4,"collapseRedundantRectangularDoglegs"),(0,l.K)(a5,"liftObstacleHuggingSameSideRails"),(0,l.K)(a6,"liftTopLaneTitleBandsAboveRails"),(0,l.K)(a7,"shiftLeftLaneTitleBandsLeftOfRails"),(0,l.K)(a8,"swapDestinationTerminalTailsToReduceCrossings"),(0,l.K)(a9,"reassignCrossingExternalRailChannels"),(0,l.K)(ba,"shortcutRedundantOrthogonalJogs"),(0,l.K)(bb,"resolveRenderedOrthogonalCrossings"),(0,l.K)(bc,"simplifyDetouredEdges"),(0,l.K)(bd,"markerClearanceRectFor"),(0,l.K)(be,"normalizeRect"),(0,l.K)(bf,"labelOverlapsOwnMarker"),(0,l.K)(bg,"anchorLabelsToPolyline");function bh(a,b){return a<b?`${a}::${b}`:`${b}::${a}`}function bi(a,b){let{nodeInfoById:c,realNodeRects:d}=ah(b),e=new Map;for(let a of b){let b=a.id;if(!a.isGroup&&a.isEdgeLabel){e.set(b,{w:a.width??0,h:a.height??0});continue}}let f=(0,l.K)((b,c,d,f)=>{let g=bh(c,d),h=0,i=(0,l.K)(a=>{if(!a)return;let b=e.get(a);if(!b)return;let c="x"===f?b.w/2:b.h/2;c>h&&(h=c)},"consider");for(let c of(i(b.labelNodeId),a)){if(c===b||c.isLayoutOnly)continue;let a=c.start,d=c.end;a&&d&&bh(a,d)===g&&i(c.labelNodeId)}return h>0?h+3:0},"labelClearanceFor");for(let b of a){let e,g;if(b.isLayoutOnly||!Y(b.points,1e-6))continue;let h=ak(b,c,1e-6);if(!h)continue;let{srcId:i,dstId:j,srcInfo:k,dstInfo:l,collinearX:m,collinearY:n}=h;if(m===n)continue;if(m){let a=l.cy>k.cy;e={x:k.cx,y:a?k.rect.bottom:k.rect.top},g={x:l.cx,y:a?l.rect.top:l.rect.bottom}}else{let a=l.cx>k.cx;e={x:a?k.rect.right:k.rect.left,y:k.cy},g={x:a?l.rect.left:l.rect.right,y:l.cy}}if(al(e,g,d,[i,j],1))continue;let o=f(b,i,j,m?"x":"y"),p=o>4?o:4;for(let c of[0,p,-p]){let f={...e},h={...g};if(m){if(f.x+=c,h.x+=c,f.x<=k.rect.left||f.x>=k.rect.right||h.x<=l.rect.left||h.x>=l.rect.right)continue}else if(f.y+=c,h.y+=c,f.y<=k.rect.top||f.y>=k.rect.bottom||h.y<=l.rect.top||h.y>=l.rect.bottom)continue;if(!al(f,h,d,[i,j],1)&&!ao(f,h,a,b,{epsilon:1e-6})){b.points=[f,h];break}}}}function bj(a,b){let{realNodeRects:c,labelNodeRects:d}=ai(b.values()),e=(0,l.K)((a,b)=>V(b,.001).map(c=>({...c,edge:a,interior:c.index>=1&&c.index<=b.length-3})),"segmentsFor"),f=(0,l.K)(()=>{let b=[];for(let c of a){if(c.isLayoutOnly)continue;let a=c.points;a&&!(a.length<2)&&b.push(...e(c,X(a)))}return b},"allSegments"),g=(0,l.K)((a,b)=>a.horizontal&&b.horizontal?T(a.a.x,a.b.x,b.a.x,b.b.x)>=8&&7>Math.abs(a.a.y-b.a.y):!!a.vertical&&!!b.vertical&&T(a.a.y,a.b.y,b.a.y,b.b.y)>=8&&7>Math.abs(a.a.x-b.a.x),"hasCrowdedParallelTrack"),h=(0,l.K)((b,f)=>{let h=b.start,i=b.end,j=e(b,f);if(j.length!==f.length-1)return!1;let k=[h,i].filter(a=>!!a),l=b.labelNodeId?[b.labelNodeId]:[];for(let a of j)if(al(a.a,a.b,c,k,-2)||al(a.a,a.b,d,l,-2))return!1;for(let c of a){if(c===b||c.isLayoutOnly)continue;let a=c.points;if(a&&!(a.length<2)){for(let b of j)for(let d of e(c,X(a)))if(g(b,d)||ap(b.a,b.b,d.a,d.b,.001))return!1}}return!0},"candidateIsSafe"),i=(0,l.K)((a,b)=>{let c=X(a.edge.points??[]);if(c.length<4||a.index>=c.length-1)return;let d=c.map(a=>({...a}));if(a.horizontal)d[a.index].y+=b,d[a.index+1].y+=b;else{if(!a.vertical)return;d[a.index].x+=b,d[a.index+1].x+=b}return e(a.edge,d).length===d.length-1?d:void 0},"shiftedCandidate"),j=(0,l.K)((a,b)=>({x:a.x??(b.left+b.right)/2,y:a.y??(b.top+b.bottom)/2}),"nodeCenter"),k=(0,l.K)(a=>{let c=a.edge,d=X(c.points??[]);if(4!==d.length||1!==a.index)return;let e=c.start?b.get(c.start):void 0,f=c.end?b.get(c.end):void 0,g=e?ad(e):void 0,h=f?ad(f):void 0,i=d.slice(a.index+2);if(e&&f&&g&&h&&0!==i.length)return{sourceCenter:j(e,g),targetCenter:j(f,h),sourceRect:g,tail:i}},"sourceDetourContextFor"),m=(0,l.K)((a,b,c,d,e,f)=>{let g=d.y>=c.y,h=g?e.bottom:e.top,i=h+(g?20:-20);if(g&&a.b.y<=i+.001||!g&&a.b.y>=i-.001)return;let j=a.a.x+b;return X([{x:c.x,y:h},{x:c.x,y:i},{x:j,y:i},{x:j,y:a.b.y},...f],.001)},"verticalSourceDetour"),n=(0,l.K)((a,b,c,d,e,f)=>{let g=d.x>=c.x,h=g?e.right:e.left,i=h+(g?20:-20);if(g&&a.b.x<=i+.001||!g&&a.b.x>=i-.001)return;let j=a.a.y+b;return X([{x:h,y:c.y},{x:i,y:c.y},{x:i,y:j},{x:a.b.x,y:j},...f],.001)},"horizontalSourceDetour"),o=(0,l.K)((a,b)=>{let c=k(a);if(c){if(a.vertical)return m(a,b,c.sourceCenter,c.targetCenter,c.sourceRect,c.tail);if(a.horizontal)return n(a,b,c.sourceCenter,c.targetCenter,c.sourceRect,c.tail)}},"sourceDetourCandidate"),p=[-7,7,-14,14,-21,21];for(let a=0;a<12;a++){let a=f(),b=!1;for(let c=0;c<a.length&&!b;c++)for(let d=c+1;d<a.length&&!b;d++){let e=a[c],f=a[d];if(e.edge!==f.edge&&g(e,f))for(let a of[e,f].filter(a=>a.interior)){for(let c of p){let d=i(a,c);if(d&&h(a.edge,d)){a.edge.points=d,b=!0;break}let e=o(a,c);if(e&&h(a.edge,e)){a.edge.points=e,b=!0;break}}if(b)break}}if(!b)return}}function bk(a,b,c,d){let e=b.x-a.x,f=b.y-a.y,g=d.x-c.x,h=d.y-c.y,i=e*h-f*g;if(1e-10>Math.abs(i))return!1;let j=c.x-a.x,k=c.y-a.y,l=(j*h-k*g)/i,m=(j*f-k*e)/i;return l>.01&&l<.99&&m>.01&&m<.99}function bl(a){let b=a.nodes??[],c=a.edges??[],d=[];if(!c.length||!b.length)return d;let e=aj(b),f=[];for(let a of c){if(a.isLayoutOnly)continue;let b=a.points;if(!b||b.length<2)continue;let c=a.start,g=a.end,h=a.labelNodeId,i=a.id??`${c}->${g}`;for(let a of e)if(a.nodeId!==c&&a.nodeId!==g&&(!h||a.nodeId!==h)){for(let c=0;c<b.length-1;c++)if(Z(b[c],b[c+1],a,-1)){d.push({type:"edge-node-overlap",edgeId:i,targetId:a.nodeId,detail:`segment ${c} passes through node "${a.nodeId}"`});break}}for(let a=0;a<b.length-1;a++)f.push({edgeId:i,start:c,end:g,p1:b[a],p2:b[a+1]})}let g=new Set;for(let a=0;a<f.length;a++)for(let b=a+1;b<f.length;b++){let c=f[a],e=f[b];if(c.edgeId!==e.edgeId&&c.start!==e.start&&c.start!==e.end&&c.end!==e.start&&c.end!==e.end&&bk(c.p1,c.p2,e.p1,e.p2)){let a=c.edgeId<e.edgeId?`${c.edgeId}|${e.edgeId}`:`${e.edgeId}|${c.edgeId}`;g.has(a)||(g.add(a),d.push({type:"edge-edge-crossing",edgeId:c.edgeId,targetId:e.edgeId,detail:`edges "${c.edgeId}" and "${e.edgeId}" cross`}))}}if(d.length>0){let a=d.filter(a=>"edge-node-overlap"===a.type).length,b=d.filter(a=>"edge-edge-crossing"===a.type).length;for(let c of(k.R.warn(`[SWIMLANE_VALIDATE] ${d.length} issue(s) detected: ${a} edge-node overlap(s), ${b} edge crossing(s)`),d))k.R.warn(`[SWIMLANE_VALIDATE] ${c.type}: ${c.detail}`)}return d}function bm(a,b){let c=a.nodes??[],d=a.edges??[],e=c.filter(a=>!a.isGroup);if(("LR"===b||"RL"===b)&&e.length>0&&!a$(a,b)||"BT"===b&&e.length>0&&!aZ(a))return;for(let a of d){if(a.isLayoutOnly)continue;let b=a.points;b&&!(b.length<2)&&(a.points=au(at(b)))}bc(d,c),bi(d,c),a0(d,c);let f=new Map;for(let a of c)f.set(String(a.id),a);bg(d,f),ay(d,f),a1(d,f),bj(d,f),a3(d,f),a4(d,f),a5(d,f),a8(d,f);let g=(0,l.K)(()=>{bb(d,f),a9(d,f),ba(d,f),bg(d,f),aR(d,f),a5(d,f),bg(d,f),aR(d,f)},"finalizeRenderedEdges");g(),bj(d,f),g(),a6(d,f),a7(d,f),a6(d,f),a7(d,f)}function bn(a){let b=new Map(a.nodeById),c=new Set,d=[];for(let e of a.edges){if(!b.has(e.src)||!b.has(e.dst))continue;let a=`${e.id}:${e.src}->${e.dst}`;c.has(a)||(c.add(a),d.push(e))}return{nodes:[...b.keys()],edges:d,layout:a.layout,nodeById:b}}function bo(a,b){return a.edges.filter(a=>a.dst===b)}function bp(a){let b=new Map;for(let c of a.nodes)b.set(c,[]);for(let c of a.edges)b.get(c.src).push(c.dst);return b}function bq(a){let b=bp(a);for(let a of b.values())a.sort((a,b)=>a.localeCompare(b));return b}function br(a){let b=new Map;for(let c of a.nodes)b.set(c,0);for(let c of a.edges)b.set(c.dst,(b.get(c.dst)??0)+1);return b}function bs(a){return[...a.entries()].filter(([,a])=>0===a).map(([a])=>a).sort((a,b)=>a.localeCompare(b))}function bt(a,b=()=>!0){let c=new Map,d=new Map;for(let b of a.nodes)c.set(b,[]),d.set(b,[]);for(let e of a.edges)b(e)&&(d.get(e.src).push(e.dst),c.get(e.dst).push(e.src));return{preds:c,succs:d}}function bu(a,b,c,d){let e=0;for(let b of a.nodes)d?.skipGroups&&a.nodeById.get(b)?.isGroup||(e=Math.max(e,c[b]??0));let f=Array.from({length:e+1},()=>[]);for(let e of b)d?.skipGroups&&a.nodeById.get(e)?.isGroup||f[Math.max(0,c[e]??0)].push(e);return f}function bv(a){let b=br(a),c=bs(b),d=[],e=bq(a);for(;c.length;){let a=c.shift();for(let f of(d.push(a),e.get(a)??[]))if(b.set(f,(b.get(f)??0)-1),(b.get(f)??0)===0){let a=0;for(;a<c.length&&c[a]<f;)a++;c.splice(a,0,f)}}return d.length===a.nodes.length?d:null}function bw(a){let b=new Map,c=0;for(let d of a)b.set(d,c),c++;return b}function bx(a){let b=Array(a.length),c=(0,l.K)((d,e)=>{if(e-d<=1)return 0;let f=d+e>>1,g=c(d,f)+c(f,e),h=d,i=f,j=d;for(;h<f||i<e;)i>=e||h<f&&a[h]<=a[i]?b[j++]=a[h++]:(b[j++]=a[i++],g+=f-h);for(let c=d;c<e;c++)a[c]=b[c];return g},"count");return c(0,a.length)}function by(a){let b=bn(a),c=new Map;for(let a of b.nodes)c.set(a,[]);for(let a of b.edges)c.get(a.src).push(a);for(let a of c.values())a.sort((a,b)=>a.dst===b.dst?a.id.localeCompare(b.id):a.dst.localeCompare(b.dst));let d=Object.create(null);for(let a of b.nodes)d[a]=0;let e=[],f=(0,l.K)(a=>{for(let b of(d[a]=1,c.get(a)??[])){let a=b.dst;0===d[a]?f(a):1===d[a]&&e.push(b)}d[a]=2},"dfs");for(let a of[...b.nodes].sort((a,b)=>a.localeCompare(b)))0===d[a]&&f(a);let g=new Set(e.map(a=>`${a.id}:${a.src}->${a.dst}`)),h=b.edges.map(a=>g.has(`${a.id}:${a.src}->${a.dst}`)?{id:a.id,src:a.dst,dst:a.src,weight:a.weight,ref:a.ref}:a);return{acyclic:{nodes:[...b.nodes],edges:h,layout:b.layout,nodeById:new Map(b.nodeById)},reversed:e}}function bz(a){let b=new Map,c=(0,l.K)(d=>{if(b.has(d))return b.get(d);let e=a.nodeById.get(d);if(!e)return b.set(d,null),null;let f=e.parentId;if(!f)return b.set(d,null),null;let g=c(f)??f;return b.set(d,g),g},"resolve");for(let b of a.nodes)c(b);return b}function bA(a){let b=bz(a);return a=>b.get(a)??null}function bB(a){let b=[];for(let c of a.layout.nodes??[])c.isGroup&&!c.parentId&&b.push(c.id);return[...new Set(b)].reverse()}function bC(a,b){let c=bB(a);if(!b||0===b.length)return c;let d=new Set(c),e=new Set,f=[];for(let a of b)!d.has(a)||e.has(a)||(e.add(a),f.push(a));for(let a of c)e.has(a)||f.push(a);return f}(0,l.K)(bh,"pairKey"),(0,l.K)(bi,"straightenCollinearSiblingDetours"),(0,l.K)(bj,"nudgeSharedInteriorSubpaths"),(0,l.K)(bk,"segmentsIntersect"),(0,l.K)(bl,"validateSwimlanesLayout"),(0,l.K)(bm,"postProcessSwimlaneLayout"),(0,l.K)(bn,"normalizeGraph"),(0,l.K)(bo,"incoming"),(0,l.K)(bp,"buildSuccessorMap"),(0,l.K)(bq,"buildSortedSuccessorMap"),(0,l.K)(br,"buildInDegreeMap"),(0,l.K)(bs,"sortedZeroInDegreeNodes"),(0,l.K)(bt,"buildPredecessorSuccessorMaps"),(0,l.K)(bu,"buildLayersFromRanks"),(0,l.K)(bv,"topoSortIfAcyclic"),(0,l.K)(bw,"buildLayerIndex"),(0,l.K)(bx,"countInversions"),(0,l.K)(by,"removeCycles_DFS"),(0,l.K)(bz,"buildTopLaneMap"),(0,l.K)(bA,"createTopLaneResolver"),(0,l.K)(bB,"buildTopLaneOrder"),(0,l.K)(bC,"resolveTopLaneOrder");function bD(a,b){let c=bn(a),d=b?.laneOf??(()=>null),e=b?.rankHint,{preds:f}=bt(c);for(let a of f.values())a.sort((a,b)=>a.localeCompare(b));let g=bv(c)??[...c.nodes].sort((a,b)=>a.localeCompare(b)),h=new Map;for(let[a,b]of g.entries())h.set(b,a);let i=new Map,j=new Map;for(let a of c.nodes)j.set(a,[]);for(let a of g){let b=(f.get(a)??[]).filter(a=>i.has(a));if(b.length>0){let c=bE(a,b,{laneOf:d,rankHint:e,topoIndex:h});i.set(a,c),j.get(c).push(a)}else i.has(a)||i.set(a,null)}for(let a of c.nodes)i.has(a)||i.set(a,null);let k=new Set;for(let a of c.nodes)(i.get(a)??null)===null&&k.add(a);let m=[...k].sort((a,b)=>{let c=h.get(a)??0,d=h.get(b)??0;return c===d?a.localeCompare(b):c-d}),n=bF(c),o=new Map;for(let[a,b]of n.entries())o.set(a,[...b].sort((a,b)=>a.localeCompare(b)));let p=bG(o),q=bH(o),r=new Map;for(let a of c.nodes)r.set(a,[]);for(let a of q)for(let b of a.nodes){let c=r.get(b);c?c.push(a.id):r.set(b,[a.id])}let s=[],t=[],u=new Set,v=(0,l.K)(a=>{if(!u.has(a)){for(let b of(u.add(a),s.push(a),j.get(a)??[]))v(b);t.push(a)}},"walk");for(let a of m)v(a);for(let a of g)v(a);return{parent:i,children:j,roots:m,componentOf:p,blocks:q,nodeBlocks:r,adjacency:o,preorder:s,postorder:t,topologicalOrder:g}}function bE(a,b,c){let d=c.laneOf(a);return[...b].sort((a,b)=>{let e=c.laneOf(a),f=c.laneOf(b),g=null!=e&&e===d;if(g!==(null!=f&&f===d))return g?-1:1;let h=c.rankHint?.[a],i=c.rankHint?.[b];if(null!=h&&null!=i&&h!==i)return i-h;let j=c.topoIndex.get(a)??0,k=c.topoIndex.get(b)??0;return j!==k?j-k:a.localeCompare(b)})[0]}function bF(a){let b=new Map;for(let c of a.nodes)b.set(c,new Set);for(let c of a.edges)b.get(c.src).add(c.dst),b.get(c.dst).add(c.src);return b}function bG(a){let b=new Map,c=0;for(let d of a.keys()){if(b.has(d))continue;let e=[d];for(;e.length>0;){let d=e.pop();if(!b.has(d))for(let f of(b.set(d,c),a.get(d)??[]))b.has(f)||e.push(f)}c++}return b}function bH(a){let b=new Map,c=new Map,d=[],e=[],f=0,g=(0,l.K)((h,i)=>{for(let j of(b.set(h,++f),c.set(h,f),a.get(h)??[]))j!==i&&(b.has(j)?(b.get(j)??0)<(b.get(h)??0)&&(d.push([h,j]),c.set(h,Math.min(c.get(h)??f,b.get(j)??f))):(d.push([h,j]),g(j,h),c.set(h,Math.min(c.get(h)??f,c.get(j)??f)),(c.get(j)??0)>=(b.get(h)??0)&&e.push(bI(h,j,d,e.length))))},"visit");for(let c of a.keys())b.has(c)||g(c,null);return e}function bI(a,b,c,d){let e=[],f=new Set;for(;c.length>0;){let d=c.pop();if(e.push(d),f.add(d[0]),f.add(d[1]),d[0]===a&&d[1]===b||d[0]===b&&d[1]===a)break}return{id:d,edges:e,nodes:[...f]}}function bJ(a,b,c){let d=[...a.nodes],e=new Map;for(let[a,b]of d.entries())e.set(b,a);let f=d.length,g=Array(f).fill(-1),h=Array(f).fill(0),i=[],j=new Set;for(let a of d){let b=c.parent.get(a)??null,d=e.get(a);null!=d&&null==b&&(g[d]=-1,h[d]=0,j.has(a)||(j.add(a),i.push(a)))}for(;i.length>0;){let a=i.shift(),b=e.get(a);if(null!=b)for(let d of c.children.get(a)??[]){if(j.has(d))continue;let a=e.get(d);null!=a&&(g[a]=b,h[a]=h[b]+1,j.add(d),i.push(d))}}for(let a of d){if(j.has(a))continue;let b=e.get(a);null!=b&&(g[b]=-1,h[b]=0,j.add(a))}let k=Math.max(1,Math.ceil(Math.log2(Math.max(1,f)))+1),m=Array.from({length:k},()=>Array(f).fill(-1));for(let a=0;a<f;a++)m[0][a]=g[a];for(let a=1;a<k;a++)for(let b=0;b<f;b++){let c=m[a-1][b];m[a][b]=-1===c?-1:m[a-1][c]}let n=(0,l.K)((a,b)=>{if(-1===a||-1===b)return -1;h[a]<h[b]&&([a,b]=[b,a]);let c=h[a]-h[b];for(let b=0;b<k;b++)if(c>>b&1&&-1===(a=m[b][a]))return -1;if(a===b)return a;for(let c=k-1;c>=0;c--){let d=m[c][a],e=m[c][b];-1!==d&&-1!==e&&d!==e&&(a=d,b=e)}return m[0][a]},"lcaIndex"),o=Array.from({length:f},()=>new Map);for(let c of a.edges){let a=c.src,d=c.dst,f=b[a],g=b[d];if(null==f||null==g||(f>g&&([a,d]=[d,a],[f,g]=[g,f]),null==f||null==g||f===g))continue;let h=e.get(a),i=e.get(d);if(null==h||null==i)continue;let j=n(h,i);if(-1===j)continue;let k=o[j];for(let a=f;a<g;a++)k.set(a,(k.get(a)??0)+1)}let p=new Map,q=(0,l.K)((a,b)=>{if(0!==b.size)for(let[c,d]of b)a.set(c,(a.get(c)??0)+d)},"mergeInto"),r=new Set,s=(0,l.K)(a=>{let d=e.get(a);r.add(a);let f=null==d?void 0:o[d],g=f?new Map(f):new Map;for(let d of c.children.get(a)??[]){let c=s(d),e=b[a];if(null!=e){let f=p.get(a);f||(f=new Map,p.set(a,f));let g=c.get(e)??0,h=b[d];null!=h&&h>e&&(g+=1),f.set(d,g)}q(g,c)}return g},"dfs");for(let a of c.roots)r.has(a)||s(a);for(let a of d)r.has(a)||s(a);return p}function bK(a,b,c){let d=new Map,e=(0,l.K)(a=>{let f=c[a]??0,g=[...b.get(a)??[]];for(let a of(g.sort(bL(c)),g)){e(a);let b=d.get(a);null!=b&&(f=Math.min(f,b))}d.set(a,f)},"annotate");for(let b of a)e(b);return d}function bL(a){return(b,c)=>{let d=a[b]??0,e=a[c]??0;return d===e?b.localeCompare(c):d-e}}function bM(a,b,c,d){let e=0;for(let a of b){let b=c[a]??0;b>e&&(e=b)}let f=Array.from({length:e+1},()=>[]),g=new Set,h=(0,l.K)(a=>{if(g.has(a))return;g.add(a);let b=c[a]??0;for(let c of(f[b]||(f[b]=[]),f[b].push(a),d(a)))h(c)},"emit");for(let b of a)h(b);for(let a of b)if(!g.has(a)){let b=c[a]??0;f[b]||(f[b]=[]),f[b].push(a),g.add(a)}return f}function bN(a){let b=[];for(let c of a){let a=new Set,d=[];for(let b of c)a.has(b)||(a.add(b),d.push(b));b.push(d)}return b}function bO(a,b,c,d){return e=>{let f=a.get(e)??[];if(0===f.length)return[];let g=b[e]??0,h=[],i=[],j=c.get(e);for(let a of f){let b=d.get(a)??g;b>g?h.push({child:a,min:b}):i.push(a)}return h.sort((a,b)=>a.min===b.min?a.child.localeCompare(b.child):a.min-b.min),i.sort((a,b)=>{let c=j?.get(a)??0,e=j?.get(b)??0;if(c!==e)return c-e;let f=d.get(a)??g,h=d.get(b)??g;return f!==h?f-h:a.localeCompare(b)}),[...h.map(a=>a.child),...i]}}function bP(a,b,c){let d=bD(a,{rankHint:b,laneOf:c}),{children:e,roots:f}=d;for(let b of a.nodes)e.has(b)||e.set(b,[]);let g=bJ(a,b,d),h=[...f].sort(bL(b)),i=bK(h,e,b),j=bO(e,b,g,i),k=bM(h,a.nodes,b,j);return bN(k)}function bQ(a,b,c){let d=new Set(a),e=new Set(b),f=bw(b),g=[];for(let a of c)d.has(a.src)&&e.has(a.dst)&&g.push(f.get(a.dst));return bx(g)}function bR(a,b,c){let d=[];for(let a of b){let b=c[a.src],e=c[a.dst];if(null==b||null==e||b===e)continue;let f=a.src,g=a.dst,h=b,i=e;b>e&&(f=a.dst,g=a.src,h=e,i=b);for(let b=h;b<i;b++)d.push({id:`${a.id}@${b}`,src:f,dst:g,ref:a.ref})}let e=0;for(let b=0;b+1<a.length;b++)e+=bQ(a[b],a[b+1],d);return e}function bS(a,b){let c={...b},{preds:d}=bt(a),e=bA(a),f=bR(bP(a,c,e),a.edges,c);for(let b=0;b<4;b++){let b=!1;for(let g of[...a.nodes].sort((a,b)=>(c[b]??0)-(c[a]??0))){let h=c[g]??0;if(0===h)continue;let i=0;for(let a of d.get(g)??[])i=Math.max(i,(c[a]??0)+1);if(i>=h)continue;c[g]=i;let j=bR(bP(a,c,e),a.edges,c);j<f?(f=j,b=!0):c[g]=h}if(!b)break}return c}function bT(a,b){let c=bA(a);for(let d of[...a.nodes].sort((a,c)=>(b[a]??0)-(b[c]??0)||a.localeCompare(c))){let e=c(d);if(!e)continue;let f=a.edges.filter(a=>a.src===d);if(0===f.length)continue;let g=!1,h=0;for(let a of f){let b=c(a.dst);null==b||b===e?g=!0:h++}if(0===h||g)continue;let i=0,j=!1;for(let b of a.edges){if(b.dst!==d)continue;let a=c(b.src);a&&(a===e?j=!0:i++)}if(i>0||!j)continue;let k=b[d]??0,l=k+h,m=0;for(let c of a.edges)c.dst===d&&(m=Math.max(m,(b[c.src]??0)+1));let n=Math.max(k,m,l);n!==k&&(b[d]=n)}}function bU(a,b){let c=bn(a),d=bv(c)??[...c.nodes].sort(),e=b?.compactSingleInput??!1,f=bA(c),g=Object.create(null);for(let a of d){let d=bo(c,a),h=b?.ignoreCrossLaneEdges?d.filter(b=>{let c=f(b.src),d=f(a);return!c||!d||c===d}):d;if(0===h.length)g[a]=0;else if(e&&1===h.length){let b=h[0].src;f(b)!==f(a)?g[a]=g[b]??0:g[a]=(g[b]??0)+1}else{let b=-1/0;for(let a of h)b=Math.max(b,(g[a.src]??0)+1);g[a]=b===-1/0?0:b}}return b?.optimizeRanksByCrossings&&(g=bS(c,g)),b?.ignoreCrossLaneEdges&&bT(c,g),{layers:bP(c,g,f),rankOf:g,dummy:new Set}}function bV(a,b){let c=bn(a),d={...bU(c,{compactSingleInput:b?.compactSingleInput,ignoreCrossLaneEdges:b?.ignoreCrossLaneEdges,optimizeRanksByCrossings:b?.optimizeRanksByCrossings}).rankOf},e=bA(c),{preds:f,succs:g}=bt(c,a=>{if(b?.ignoreCrossLaneEdges){let b=e(a.src),c=e(a.dst);if(b&&c&&b!==c)return!1}return!0}),h=bv(c)??[...c.nodes],i=[...h].reverse(),j=(0,l.K)((a,b)=>{let c=0;for(let b of f.get(a)??[])c=Math.max(c,(d[b]??0)+1);let e=1/0,h=g.get(a)??[];return h.length>0&&(e=Math.min(...h.map(a=>(d[a]??0)-1))),Number.isFinite(e)||(e=Math.max(c,b)),Math.min(Math.max(b,c),e)},"clampFeasible"),k=(0,l.K)(a=>{let b=!1;for(let c of a){let a=f.get(c)??[],e=g.get(c)??[];if(0===a.length&&0===e.length)continue;let h=Math.round(((a.length>0?a.reduce((a,b)=>a+(d[b]??0)+1,0)/a.length:d[c]??0)+(e.length>0?e.reduce((a,b)=>a+(d[b]??0)-1,0)/e.length:d[c]??0))/2),i=j(c,h);i!==d[c]&&(d[c]=i,b=!0)}return b},"relaxOrder");for(let a=0;a<8;a++){let a=k(h),b=k(i);if(!a&&!b)break}for(let a of h){let b=0;for(let c of f.get(a)??[])b=Math.max(b,(d[c]??0)+1);(d[a]??0)<b&&(d[a]=b)}for(let a of i){let b=g.get(a)??[];if(b.length>0){let c=Math.min(...b.map(a=>(d[a]??0)-1));(d[a]??0)>c&&(d[a]=c)}}return{layers:bu(c,h,d),rankOf:d,dummy:new Set}}function bW(a){let b=br(a),c=bq(a),d=bs(b),e=[];for(;d.length>0;){let a=[];for(let f of d)for(let d of(e.push(f),c.get(f)??[]))b.set(d,(b.get(d)??0)-1),(b.get(d)??0)===0&&a.push(d);d=a.sort((a,b)=>a.localeCompare(b))}return e.length===a.nodes.length?e:null}function bX(a,b){let c=bn(a),d=b?.direction==="LR"?bW(c)??[...c.nodes].sort():bv(c)??[...c.nodes].sort(),e=bA(c),f=(0,l.K)(a=>e(a)??a,"laneOf"),g=Object.create(null),h=new Map,i=(0,l.K)((a,c)=>b?.ignoreCrossLaneEdges??!0?+(f(a)===f(c)):1,"edgeWeight");for(let a of d){let b=c.nodeById.get(a);if(b?.isGroup)continue;let d=bo(c,a),e=0;if(d.length>0)for(let b of d){let c=b.src;e=Math.max(e,(g[c]??0)+i(c,a))}let j=f(a),k=Math.max(e,h.get(j)??0);g[a]=k,h.set(j,k+1)}return{layers:bu(c,d,g,{skipGroups:!0}),rankOf:g,dummy:new Set}}function bY(a,b){let c=bn(b),{rankOf:d}=a,e=a.layers.map(a=>[...a]),f=new Set(a.dummy?[...a.dummy]:[]),g=0,h=new Map(c.nodeById),i=(0,l.K)(a=>{let b=`placeholder-${g++}`;for(h.set(b,{id:b,isGroup:!1,isDummy:!0,width:0,height:0}),f.add(b);e.length<=a;)e.push([]);return e[a].push(b),d[b]=a,b},"addDummyAt"),j=[...c.edges].sort((a,b)=>a.id===b.id?a.src===b.src?a.dst.localeCompare(b.dst):a.src.localeCompare(b.src):a.id.localeCompare(b.id)),k=[];for(let a of j){let b=d[a.src]??0,c=d[a.dst]??0;if(c-b<=1){k.push(a);continue}let e=a.src;for(let d=b+1,f=0;d<c;d++,f++){let b=i(d);k.push({id:`${a.id}#${f}`,src:e,dst:b,weight:a.weight,ref:a.ref}),e=b}let f=c-b-2;k.push({id:`${a.id}#${Math.max(f+1,0)}`,src:e,dst:a.dst,weight:a.weight,ref:a.ref})}let m={nodes:[...c.nodes,...[...f].filter(a=>!c.nodes.includes(a))],edges:k,layout:c.layout,nodeById:h};return{layering:{layers:e,rankOf:d,dummy:f},graphWithDummies:m}}function bZ(a){let b=a.length;if(0===b)return 1/0;let c=[...a].sort((a,b)=>a-b);return b%2==1?c[(b-1)/2]:.5*(c[b/2-1]+c[b/2])}function b$(a){return 0===a.length?1/0:a.reduce((a,b)=>a+b,0)/a.length}function b_(a,b,c,d){let e=new Map;for(let b of a)e.set(b,[]);for(let a of c)"down"===d?b.has(a.src)&&e.has(a.dst)&&e.get(a.dst).push(b.get(a.src)):b.has(a.dst)&&e.has(a.src)&&e.get(a.src).push(b.get(a.dst));return e}function b0(a,b,c){let d=c.get(a)??0,e=c.get(b)??0;return d!==e?d-e:a.localeCompare(b)}function b1(a,b,c){let d=new Set(a),e=new Set(b),f=bw(a),g=bw(b),h=[];for(let a of c)d.has(a.src)&&e.has(a.dst)&&h.push({u:f.get(a.src),v:g.get(a.dst)});return h.sort((a,b)=>a.u===b.u?a.v-b.v:a.u-b.u),bx(h.map(a=>a.v))}function b2(a,b,c){return[...a].sort((a,d)=>{let e=bZ(b.get(a)??[]),f=bZ(b.get(d)??[]);return e===f?b0(a,d,c):isFinite(e)?isFinite(f)?e-f:-1:1})}function b3(a,b,c,d,e,f){let g=bw(a),h=bw(b),i=b_(b,g,c,d);if(!e||!f||0===f.length)return b2(b,i,h);let j=new Map;for(let a of b){let b=e(a),c=j.get(b)??[];c.push(a),j.set(b,c)}let k=[];for(let a of f){let b=j.get(a);if(!b||0===b.length)continue;let c=b2(b,i,h);k.push(...c)}let l=j.get(null);if(l&&l.length>0)for(let a of b2(l,i,h)){let b=b$(i.get(a)??[]),c=k.length;if(isFinite(b)){for(let[a,d]of k.entries())if(b<b$(i.get(d)??[])){c=a;break}}k.splice(c,0,a)}return k}function b4(a,b,c,d,e){let f=[...b],g=new Set(a),h=new Set(b),i=d?new Set(d):null,j=c.filter(a=>g.has(a.src)&&h.has(a.dst)),k=i?c.filter(a=>h.has(a.src)&&i.has(a.dst)):void 0,m=(0,l.K)(b=>{let c=b1(a,b,j);return k&&d&&(c+=b1(b,d,k)),c},"crossingScore"),n=e?new Map:null;if(e&&n)for(let a of b)n.set(a,e(a));let o=!0,p=m(f);for(;o;){o=!1;for(let a=0;a+1<f.length;a++){if(n&&n.get(f[a])!==n.get(f[a+1]))continue;let b=p;[f[a],f[a+1]]=[f[a+1],f[a]];let c=m(f);c<b?(p=c,o=!0):[f[a],f[a+1]]=[f[a+1],f[a]]}}return f}function b5(a,b,c){let d=a.layers.map(a=>[...a]),e=b.edges,f=bA(b),g=bC(b,c?.laneOrder);for(let a=0;a<3;a++){for(let a=1;a<d.length;a++)d[a]=b3(d[a-1],d[a],e,"down",f,g),d[a]=b4(d[a-1],d[a],e,d[a+1],f);for(let a=d.length-2;a>=0;a--)d[a]=b3(d[a+1],d[a],e,"up",f,g),d[a]=b4(d[a+1],d[a],e,d[a-1],f)}return{layers:d}}function b6(a,b,c){let d=c?.layerGap??100,e=c?.nodeGap??40,f=c?.laneGap??2*e,g=c?.direction??"TB",h=a.layers,i=Object.create(null),j=Object.create(null),k=(0,l.K)(a=>b.nodeById.get(a),"getNode"),m=(0,l.K)(a=>k(a)?.width??0,"getWidth"),n=(0,l.K)(a=>k(a)?.height??0,"getHeight"),o=bA(b),p=bC(b,c?.laneOrder),q=h.map(a=>a.reduce((a,b)=>Math.max(a,n(b)),0)),r=[];if("LR"===g||"RL"===g)for(let a=0;a+1<h.length;a++){let b=Math.max(0,(h[a].reduce((a,b)=>Math.max(a,m(b)),0)+h[a+1].reduce((a,b)=>Math.max(a,m(b)),0))/2-(q[a]/2+q[a+1]/2)-d);r.push(b)}let s=new Set;for(let a of h)for(let b of a)s.add(o(b));let t=s.has(null),u=p.filter(a=>s.has(a)),v=[...t?[null]:[],...u],w=Object.create(null);for(let a of u)w[a]=0;for(let a of(t&&(w.null=0),h)){let b=Object.create(null),c=[];for(let d of a){let a=o(d);null===a?c.push(d):(b[a]||=[]).push(d)}for(let[a,c]of Object.entries(b)){let b=c.reduce((a,b)=>a+m(b),0)+e*Math.max(0,c.length-1);w[a]=Math.max(w[a]??0,b)}if(t&&c.length){let a=c.reduce((a,b)=>a+m(b),0)+e*Math.max(0,c.length-1);w.null=Math.max(w.null??0,a)}}let x=new Map;{let a=v.map(a=>(null===a?w.null:w[a])??0),b=-(a.reduce((a,b)=>a+b,0)+f*Math.max(0,v.length-1))/2;for(let c=0;c<v.length;c++){let d=v[c],e=a[c]??0,g=b+e/2;x.set(d,g),b+=e,c<v.length-1&&(b+=f)}}let y=0;for(let[a,b]of h.entries()){let c=q[a]??0,f=new Map;for(let a of b){let b=o(a),c=f.get(b)??[];c.push(a),f.set(b,c)}for(let a of v){let b=f.get(a)??[];if(0===b.length)continue;let d=x.get(a);if(1===b.length){let a=b[0];i[a]=d,j[a]=y+c/2}else{let a=b.map(a=>m(a)),f=d-(a.reduce((a,b)=>a+b,0)+e*(b.length-1))/2;for(let[d,g]of b.entries()){let b=a[d];i[g]=f+b/2,j[g]=y+c/2,f+=b+e}}}y+=c+d+(r[a]??0)}let z=new Map;for(let a of b.edges){let b=a.ref.id;z.has(b)||z.set(b,[]),z.get(b).push(a)}for(let[,a]of z){if(0===a.length)continue;let c=a[0].ref,d=c.start,e=c.end;if(null==d||null==e)continue;let f=Math.round(((i[d]??0)+(i[e]??0))/2),g=new Set;for(let b of a)g.add(b.src),g.add(b.dst);for(let a of g){if(a===d||a===e)continue;let c=b.nodeById.get(a);c?.isDummy&&(i[a]=f)}}return{x:i,y:j}}function b7(a){let b=0x811c9dc5;for(let c=0;c<a.length;c++)b^=a.charCodeAt(c),b=Math.imul(b,0x1000193);return b>>>0}function b8(a){let b=a>>>0;return()=>{let a=b+=0x6d2b79f5;return a=Math.imul(a^a>>>15,1|a),(((a^=a+Math.imul(a^a>>>7,61|a))^a>>>14)>>>0)/0x100000000}}function b9(a,b){let c=[...a],d=b8(b);for(let a=c.length-1;a>0;a--){let b=Math.floor(d()*(a+1));[c[a],c[b]]=[c[b],c[a]]}return c}function ca(a,b){let c=0;for(let[d,e]of a.entries())c+=Math.abs(d-(b.get(e)??d));return c}function cb(a,b){let c=new Map;for(let[b,d]of a.entries())c.set(d,b);let d=0;for(let{a,b:e,weight:f}of b){let b=c.get(a),g=c.get(e);null!=b&&null!=g&&(d+=f*Math.abs(b-g))}return d}function cc(a){let b=bB(a);if(b.length<2)return[];let c=new Map(b.map((a,b)=>[a,b])),d=bA(a),e=new Map;for(let b of a.layout.edges??[]){if(b.isLayoutOnly)continue;let f="string"==typeof b.start?b.start:void 0,g="string"==typeof b.end?b.end:void 0;if(!f||!g||!a.nodeById.has(f)||!a.nodeById.has(g))continue;let h=d(f),i=d(g);if(!h||!i||h===i)continue;let j=c.get(h),k=c.get(i);if(null==j||null==k)continue;let[l,m]=j<=k?[h,i]:[i,h],n=`${l}\0${m}`,o=e.get(n);o?o.weight++:e.set(n,{a:l,b:m,weight:1})}return[...e.values()]}function cd(a,b,c){let d=[...a],e=cb(d,b),f=!0,g=0,h=Math.max(1,d.length);for(;f&&g<h;){f=!1,g++;for(let a=0;a+1<d.length;a++){[d[a],d[a+1]]=[d[a+1],d[a]];let c=cb(d,b);c<e?(e=c,f=!0):[d[a],d[a+1]]=[d[a+1],d[a]]}}return{order:d,cost:e,sourceDistance:ca(d,c)}}function ce(a,b){return a.cost!==b.cost?a.cost<b.cost:a.sourceDistance<b.sourceDistance}function cf(a,b,c){let d=[...b].sort((a,b)=>a.a===b.a?a.b.localeCompare(b.b):a.a.localeCompare(b.a)).map(({a,b,weight:c})=>`${a}:${b}:${c}`).join("|");return b7(`${a.join("|")}#${d}#${c}`)}function cg(a,b={}){let c=bB(a);if(c.length<2)return c;let d=cc(a);if(0===d.length)return c;let e=new Map(c.map((a,b)=>[a,b])),f=cd(c,d,e),g=Math.max(0,b.restarts??8);for(let a=0;a<g;a++){let b=cf(c,d,a),g=cd(b9(c,b),d,e);ce(g,f)&&(f=g)}return f.order}function ch(a,b){let c=b?.ignoreCrossLaneEdges??!0,d=b?.optimizeRanksByCrossings??!0,e=bn(a),f=b?.automaticLaneOrdering?cg(e,{restarts:8}):void 0,g=by(e),h=g.acyclic,{layering:i,graphWithDummies:j}=bY(c?bX(h,{compactSingleInput:b?.compactSingleInput??!0,ignoreCrossLaneEdges:!0,direction:b?.direction}):bV(h,{compactSingleInput:b?.compactSingleInput??!0,ignoreCrossLaneEdges:!1,optimizeRanksByCrossings:d}),h),k=b5(i,j,{laneOrder:f}),l=b6(k,j,{layerGap:b?.layerGap,nodeGap:b?.nodeGap,direction:b?.direction,laneOrder:f});return{acyclic:h,reversed:g.reversed,layering:i,ordered:k,coordinates:l}}function ci(a,b,c){let d=a.x??0,e=a.y??0,f=b.x-d,g=b.y-e,h=Math.abs(f),i=Math.abs(g);return h<1e-6&&i<1e-6?c:i>1e-6&&3*i>=h?g>0?"bottom":"top":h>1e-6?f>0?"right":"left":c}function cj(a,b){return 1e-6>Math.abs(a.to-b.from)||1e-6>Math.abs(a.to-b.to)?a.to:a.from}function ck(a,b){return"vertical"===a.orient?{x:a.coord,y:b}:{x:b,y:a.coord}}function cl(a,b){let c=a.nodes??[],d=a.edges??[],e=[];for(let a of d)a.isLayoutOnly||e.push({...a,__originalEdge:a});let f=new Map,g=new Map,h=[],i="LR"===b;for(let a of c)f.set(a.id,a);for(let a of c.filter(a=>a.isGroup&&!a.parentId)){let b={id:a.id},d=(0,l.K)(a=>{g.set(a.id,b),c.filter(b=>b.parentId===a.id).forEach(d)},"assignLane");d(a)}let j=c.filter(a=>!a.isGroup&&!a.isEdgeLabel).map(a=>{let b=a.width??10,c=a.height??10,d=a.x??0,e=a.y??0;return{nodeId:a.id,minX:d-b/2-8,maxX:d+b/2+8,minY:e-c/2-8,maxY:e+c/2+8,visualXHalfExtent:i?c/2+8:b/2+8}}),k=(0,l.K)((a,b,c,d)=>{let e=h.find(c=>c.orientation===a&&1>Math.abs(c.coord-b));return e||(e={id:`pipe-${a}-${b.toFixed(0)}`,orientation:a,coord:b,spanMin:c,spanMax:d,tracks:[]},h.push(e)),e.spanMin=Math.min(e.spanMin,c),e.spanMax=Math.max(e.spanMax,d),e},"getOrAddPipe"),m=(0,l.K)((a,b)=>{let c=a.width??10,d=a.height??10,e=a.x??0,f=a.y??0;switch(b){case"top":return{x:e,y:f-d/2};case"bottom":return{x:e,y:f+d/2};case"left":return{x:e-c/2,y:f};case"right":return{x:e+c/2,y:f}}},"portForSide"),n=(0,l.K)((a,b,c)=>m(a,ci(a,b,c?"bottom":"top")),"getOrthogonalPort"),o=[],p=[],q=new Set,r=(0,l.K)((a,b,c)=>{if(0===o.length)return 0;let d=1e-6>Math.abs(b.y-c.y),e=1e-6>Math.abs(b.x-c.x);if(!d&&!e)return 0;let f=0;if(d){let d=b.y,e=Math.min(b.x,c.x)-1e-6,g=Math.max(b.x,c.x)+1e-6;if(g<=e)return 0;for(let b of o)b.edgeIndex!==a&&"vertical"===b.orientation&&!(b.pipe.coord<e)&&!(b.pipe.coord>g)&&b.from-1e-6<=d&&b.to+1e-6>=d&&(f+=1e3)}else if(e){let d=b.x,e=Math.min(b.y,c.y)-1e-6,g=Math.max(b.y,c.y)+1e-6;if(g<=e)return 0;for(let b of o)b.edgeIndex!==a&&"horizontal"===b.orientation&&!(b.pipe.coord<e)&&!(b.pipe.coord>g)&&b.from-1e-6<=d&&b.to+1e-6>=d&&(f+=1e3)}return f},"crossingPenalty"),s=e.map((a,b)=>{if(!a.start||!a.end)return{idx:b,crossLane:0,dx:0,dy:0};let c=f.get(a.start),d=f.get(a.end),e=g.get(a.start),h=g.get(a.end),i=e&&h&&e.id!==h.id?1:0;return{idx:b,crossLane:i,dx:c&&d?Math.abs((d.x??0)-(c.x??0)):0,dy:c&&d?Math.abs((d.y??0)-(c.y??0)):0}}).sort((a,b)=>{if(a.crossLane!==b.crossLane)return b.crossLane-a.crossLane;let c=a.dx+a.dy,d=b.dx+b.dy;return Math.abs(c-d)>1?c-d:a.idx-b.idx}).map(a=>a.idx),t=(0,l.K)((a,b,c,d)=>{let e=Math.min(a.x,b.x),f=Math.max(a.x,b.x),g=Math.min(a.y,b.y),h=Math.max(a.y,b.y);return!!j.find(i=>(!c||i.nodeId!==c)&&(!d||i.nodeId!==d)&&(Math.abs(a.x-b.x)>1e-6?i.minY<a.y&&i.maxY>a.y&&i.maxX>e&&i.minX<f:i.minX<a.x&&i.maxX>a.x&&i.maxY>g&&i.minY<h))},"isSegmentBlocked"),u=new Map,v=new Map;for(let a of e)a.start&&a.end&&a.start!==a.end&&(v.set(a.start,(v.get(a.start)??0)+1),v.set(a.end,(v.get(a.end)??0)+1));let w=(0,l.K)((a,b)=>ci(a,b,"bottom"),"determineSide"),x=new Map;for(let[a,b]of e.entries()){if(!b.start||!b.end||b.start===b.end||b.points&&b.points.length>0)continue;let c=f.get(b.start),d=f.get(b.end);if(!c||!d)continue;let e=(d.x??0)-(c.x??0),g=(d.y??0)-(c.y??0);x.set(a,{edgeIdx:a,srcId:b.start,dstId:b.end,srcSide:w(c,{x:d.x??0,y:d.y??0}),dstSide:w(d,{x:c.x??0,y:c.y??0}),absDx:Math.abs(e),absDy:Math.abs(g),dxSign:Math.sign(e),dySign:Math.sign(g)})}let y=(0,l.K)(a=>"top"===a.srcSide||"bottom"===a.srcSide?0===a.absDx?1/0:a.absDy/a.absDx:0===a.absDy?1/0:a.absDx/a.absDy,"preferenceStrength"),z=(0,l.K)(a=>"top"===a.srcSide||"bottom"===a.srcSide?a.dxSign>=0?"right":"left":a.dySign>=0?"bottom":"top","secondarySide"),A=new Map;for(let a of x.values()){let b=`${a.srcId}:${a.srcSide}`;A.has(b)||A.set(b,[]),A.get(b).push(a)}let B=new Map,C=(0,l.K)((a,b)=>`${a}:${b}`,"loadKey");for(let a of x.values())B.set(C(a.srcId,a.srcSide),(B.get(C(a.srcId,a.srcSide))??0)+1),B.set(C(a.dstId,a.dstSide),(B.get(C(a.dstId,a.dstSide))??0)+1);for(let a of A.values())if(!(a.length<2)){a.sort((a,b)=>{let c=y(a),d=y(b);return Math.abs(c-d)>1e-9?d-c:a.edgeIdx-b.edgeIdx});for(let b=1;b<a.length;b++){let c=a[b],d=z(c),e=B.get(C(c.srcId,c.srcSide))??0,f=B.get(C(c.srcId,d))??0;f>=e||(B.set(C(c.srcId,c.srcSide),e-1),B.set(C(c.srcId,d),f+1),c.srcSide=d)}}let D=(0,l.K)(a=>{let b=a?.shape;return"question"===b||"diamond"===b},"isDiamondNode"),E=new Map;for(let a of x.values())E.has(a.dstId)||E.set(a.dstId,new Set),E.get(a.dstId).add(a.dstSide);for(let a of x.values()){if(!D(f.get(a.srcId)))continue;let b=E.get(a.srcId);if(!b?.has(a.srcSide))continue;let c=z(a);if(b.has(c)||(B.get(C(a.srcId,c))??0)>0)continue;let d=B.get(C(a.srcId,a.srcSide))??0;B.set(C(a.srcId,a.srcSide),Math.max(0,d-1)),B.set(C(a.srcId,c),1),a.srcSide=c}for(let a of x.values()){let{edgeIdx:b,srcId:c,dstId:d,srcSide:e,dstSide:g}=a,h=f.get(c),i=f.get(d),j=`${c}:${e}:src`,k="top"===e||"bottom"===e?i.x??0:i.y??0;u.has(j)||u.set(j,[]),u.get(j).push({edgeIdx:b,oppositeCoord:k});let l=`${d}:${g}:dst`,m="top"===g||"bottom"===g?h.x??0:h.y??0;u.has(l)||u.set(l,[]),u.get(l).push({edgeIdx:b,oppositeCoord:m})}let F=new Map;for(let[a,b]of u){if(b.length<2)continue;b.sort((a,b)=>a.oppositeCoord-b.oppositeCoord);let c=a.split(":"),d=c.slice(0,-2).join(":"),e=c[c.length-2],g=c[c.length-1],h=f.get(d);if(!h)continue;let i="left"===e||"right"===e?h.height??10:h.width??10,j=h.shape,k=Math.min(20,Math.max(8,("question"===j||"diamond"===j?.3*i:i)/(b.length+1))),l=-(k*(b.length-1))/2;for(let[a,c]of b.entries()){let b=l+a*k,d=`${c.edgeIdx}:${g}`;F.set(d,b)}}let G=(0,l.K)(a=>!!e[a]?.labelNodeId,"edgeHasLabelNode"),H=(0,l.K)((a,b)=>!!a&&((u.get(`${a}:${b}:src`)??[]).some(({edgeIdx:a})=>G(a))||(u.get(`${a}:${b}:dst`)??[]).some(({edgeIdx:a})=>G(a))),"faceHasLabelNode"),I=(0,l.K)((a,b,c)=>"top"===b||"bottom"===b?{x:a.x+c,y:a.y}:{x:a.x,y:a.y+c},"applyPortOffset"),J=(0,l.K)((a,b,c)=>{let d=x.get(a),e={x:c.x??0,y:c.y??0},f={x:b.x??0,y:b.y??0},g=d?.srcSide??w(b,e),h=d?.dstSide??w(c,f),i=d?m(b,d.srcSide):n(b,e,!0),j=d?m(c,d.dstSide):n(c,f,!1),k=F.get(`${a}:src`),l=F.get(`${a}:dst`);return void 0!==k&&(i=I(i,g,k)),void 0!==l&&(j=I(j,h,l)),{pSrcPort:i,pDstPort:j,srcSide:g,dstSide:h}},"portsForEdge");for(let a of s){let b=e[a];if(p[a]=[],!b.start||!b.end||b.points&&b.points.length>0||b.start===b.end)continue;let c=f.get(b.start),d=f.get(b.end);if(!c||!d)continue;let{pSrcPort:g,pDstPort:m,srcSide:n,dstSide:s}=J(a,c,d),w={...g},x={...m},y="top"===n||"bottom"===n,z="top"===s||"bottom"===s;y?w.y=g.y>(c.y??0)?g.y+20:g.y-20:w.x=g.x>(c.x??0)?g.x+20:g.x-20,z?x.y=m.y>(d.y??0)?m.y+20:m.y-20:x.x=m.x>(d.x??0)?m.x+20:m.x-20;let A=(0,l.K)((a,b)=>{for(let c of j)if(!b.includes(c.nodeId)&&a.x>c.minX&&a.x<c.maxX&&a.y>c.minY&&a.y<c.maxY)return{inside:!0,obstacle:c};return{inside:!1}},"isPointInObstacle"),B=(0,l.K)((a,b,c,d,e)=>{if(e){let e=a.y>(b.y??0);return{x:(c.x??0)>=a.x?d.maxX+15:d.minX-15,y:e?d.maxY+15:d.minY-15,leavesPositiveSide:e}}let f=a.x>(b.x??0),g=(c.y??0)>=a.y;return{x:f?d.maxX+15:d.minX-15,y:g?d.maxY+15:d.minY-15,leavesPositiveSide:f}},"obstacleDetour"),C=[],D=[b.start,b.end],E=A(w,D);if(E.inside&&E.obstacle){let a=E.obstacle;if(y){let b=B(g,c,d,a,!0);w.x=b.x,w.y=b.y;let e=b.leavesPositiveSide?Math.min(a.minY-2,g.y+20):Math.max(a.maxY+2,g.y-20);C=[{x:g.x,y:e},{x:b.x,y:e},{x:b.x,y:b.y}]}else{let b=B(g,c,d,a,!1),e=b.leavesPositiveSide?Math.min(a.minX-2,g.x+20):Math.max(a.maxX+2,g.x-20);w.x=b.x,w.y=b.y,C=[{x:e,y:g.y},{x:e,y:b.y},{x:b.x,y:b.y}]}}let G=[],I=A(x,D);if(I.inside&&I.obstacle){let a=I.obstacle;if(z){let b=B(m,d,c,a,!0);x.x=b.x,x.y=b.y,G=[{x:b.x,y:b.y},{x:m.x,y:b.y}]}else{let b=B(m,d,c,a,!1);x.x=b.x,x.y=b.y,G=[{x:b.x,y:b.y},{x:b.x,y:m.y}]}}if(0===C.length&&0===G.length){let c=15>Math.abs(w.x-x.x),d=15>Math.abs(w.y-x.y),e=void 0!==F.get(`${a}:src`)||void 0!==F.get(`${a}:dst`),f=(u.get(`${b.start??""}:${n}:src`)?.length??0)+(u.get(`${b.start??""}:${n}:dst`)?.length??0),h=(u.get(`${b.end??""}:${s}:src`)?.length??0)+(u.get(`${b.end??""}:${s}:dst`)?.length??0),i=f>1||h>1,j=v.get(b.start??"")??0,k=v.get(b.end??"")??0,l=f>1&&H(b.start,n)||h>1&&H(b.end,s),p=f<=1||j<=2,r=h<=1||k<=2,y=i&&!l&&p&&r;if((c||d)&&!e&&(!i||y)&&!t(g,m,b.start,b.end)){b.points=[{...g},{...w},{...x},{...m}],q.add(a);let c=d?"horizontal":"vertical",e=d?g.y:g.x,f=d?Math.min(g.x,m.x):Math.min(g.y,m.y),h=d?Math.max(g.x,m.x):Math.max(g.y,m.y),i={id:`fast-path-${c}-${e.toFixed(0)}-${a}`,orientation:c,coord:e,spanMin:f,spanMax:h,tracks:[]};o.push({edgeIndex:a,segmentIndex:0,orientation:c,pipe:i,trackIndex:0,from:f,to:h});continue}}let K=k("vertical",w.x,w.y,w.y);w.x=K.coord;let L=k("vertical",x.x,x.y,x.y);x.x=L.coord;let M=Math.min(w.x,x.x)-50,N=Math.max(w.x,x.x)+50,O=Math.min(w.y,x.y)-50,P=Math.max(w.y,x.y)+50;for(let a of j){let b=Math.min(w.x,x.x),c=Math.max(w.x,x.x),d=Math.min(w.y,x.y),e=Math.max(w.y,x.y);a.minX<c&&a.maxX>b&&a.minY<e&&a.maxY>d&&(M=Math.min(M,a.minX-25),N=Math.max(N,a.maxX+25),O=Math.min(O,a.minY-25),P=Math.max(P,a.maxY+25))}for(let a of j)a.maxX<M||a.minX>N||a.maxY<O||a.minY>P||(k("horizontal",a.minY-15,M,N),k("horizontal",a.maxY+15,M,N),k("vertical",a.minX-15,O,P),k("vertical",a.maxX+15,O,P));k("horizontal",w.y,M,N),k("horizontal",x.y,M,N);let Q=h.filter(a=>"horizontal"===a.orientation&&a.coord>=O&&a.coord<=P),R=h.filter(a=>"vertical"===a.orientation&&a.coord>=M&&a.coord<=N),S=(0,l.K)((a,b)=>`${a.toFixed(1)},${b.toFixed(1)}`,"getKey"),T=S(w.x,w.y),U=S(x.x,x.y),V=new Map,W=new Map,X=new Map,Y=new Set,Z=[];V.set(T,0),X.set(T,"n"),Z.push({key:T,f:Math.hypot(x.x-w.x,x.y-w.y),pt:w}),Y.add(T);let $=[],_=(0,l.K)((a,c)=>t(a,c,b.start,b.end),"checkSegmentBlocked"),aa={x:x.x,y:w.y},ab=_(w,aa),ac=_(aa,x),ad=ab||ac,ae={x:w.x,y:x.y},af=_(w,ae),ag=_(ae,x),ah=af||ag;if(ad?ah||($=1e-6>Math.abs(w.x-x.x)?[w,x]:[w,ae,x]):$=1e-6>Math.abs(w.y-x.y)||1e-6>Math.abs(w.x-x.x)?[w,x]:[w,aa,x],0===$.length)for(;Z.length>0;){Z.sort((a,b)=>a.f-b.f);let c=Z.shift();if(Y.delete(c.key),c.key===U){let a=U,b=x;for($=[b];W.has(a);){let c=W.get(a);$.unshift(c),b=c,a=S(c.x,c.y)}break}let d=c.pt.x,e=c.pt.y,f=R.sort((a,b)=>a.coord-b.coord),g=f.findIndex(a=>1>Math.abs(a.coord-d)),h=Q.sort((a,b)=>a.coord-b.coord),i=h.findIndex(a=>1>Math.abs(a.coord-e)),k=[];for(let l of(g>0&&k.push({x:f[g-1].coord,y:e}),g>=0&&g<f.length-1&&k.push({x:f[g+1].coord,y:e}),i>0&&k.push({x:d,y:h[i-1].coord}),i>=0&&i<h.length-1&&k.push({x:d,y:h[i+1].coord}),k)){let f=Math.min(d,l.x),g=Math.max(d,l.x),h=Math.min(e,l.y),i=Math.max(e,l.y);if(j.some(a=>a.nodeId!==b.start&&a.nodeId!==b.end&&(f!==g?a.minY<e&&a.maxY>e&&a.maxX>f&&a.minX<g:a.minX<d&&a.maxX>d&&a.maxY>h&&a.minY<i)))continue;let k=S(l.x,l.y),m=Math.abs(l.x-d)+Math.abs(l.y-e),n=r(a,c.pt,l),o=0,p=x.x-w.x,q=x.y-w.y,s=l.x-d,t=l.y-e;(q>10&&t<-5||q<-10&&t>5)&&(o=100*Math.abs(t)),(p>10&&s<-5||p<-10&&s>5)&&(o+=50*Math.abs(s));let u=0,v=X.get(c.key)??"n",y=Math.abs(s)>1e-6?"h":"v";"n"!==v&&v!==y&&(u=50);let z=m+n+o+u,A=(V.get(c.key)??1/0)+z,B=Math.abs(x.x-l.x)+Math.abs(x.y-l.y);if(A<(V.get(k)??1/0))if(W.set(k,c.pt),V.set(k,A),X.set(k,y),Y.has(k)){let a=Z.findIndex(a=>a.key===k);-1!==a&&(Z[a].f=A+B)}else Z.push({key:k,f:A+B,pt:l}),Y.add(k)}}if(0===$.length&&($=[w,{x:w.x,y:x.y},x]),$.length>4){let a=$[0],b=$[$.length-1],c=Math.min(a.x,b.x),d=Math.max(a.x,b.x),e=Math.min(a.y,b.y),f=Math.max(a.y,b.y);for(let a of $)c=Math.min(c,a.x),d=Math.max(d,a.x),e=Math.min(e,a.y),f=Math.max(f,a.y);let g=d>Math.max(a.x,b.x),h=c<Math.min(a.x,b.x);if(i){if(g){let c=Math.max(a.x,b.x),e=Math.min(a.y,b.y),f=Math.max(a.y,b.y),g=j.filter(a=>a.minX<c&&a.maxX>c&&a.minY<f&&a.maxY>e);if(g.length>0){let c=Math.max(a.x,b.x);for(let a of g){let b=(a.minX+a.maxX)/2;void 0===a.visualXHalfExtent||isNaN(a.visualXHalfExtent)||(c=Math.max(c,b+a.visualXHalfExtent+15))}isNaN(c)||(d=c)}}if(h){let d=j.filter(c=>c.minX<Math.min(a.x,b.x)+15&&c.minY<Math.max(a.y,b.y)&&c.maxY>Math.min(a.y,b.y));if(d.length>0){let e=Math.min(a.x,b.x);for(let a of d)e=Math.min(e,(a.minX+a.maxX)/2-a.visualXHalfExtent-15);c=e}}}let k=(0,l.K)(c=>{let d=b.y>a.y,e=j.filter(c=>{let d=Math.min(a.x,b.x)<c.maxX&&Math.max(a.x,b.x)>c.minX,e=Math.min(a.y,b.y)<c.maxY&&Math.max(a.y,b.y)>c.minY;return d&&e}),f=e;if(i&&e.length>0){let a=e.filter(a=>a.minX<c&&a.maxX>c);a.length>0&&(f=a)}if(0===f.length)return b.y;if(d){let a=Math.max(...f.map(a=>a.maxY))+15;if(a<b.y-1e-6)return a}else{let a=Math.min(...f.map(a=>a.minY))-15;if(a>b.y+1e-6)return a}return b.y},"findBestReturnY"),m=(0,l.K)(c=>{let d=k(c),e={x:c,y:a.y},f={x:c,y:d},g={x:b.x,y:d},h=_(a,e),i=_(e,f),j=_(f,g),l=d!==b.y&&_(g,b);return h||i||j||l?null:1e-6>Math.abs(d-b.y)?[a,e,f,b]:[a,e,f,g,b]},"trySimplifyWithDetourX"),n=g&&!h?m(d):h&&!g?m(c):null;n&&($=n)}let ai=[g,...C,...$,...G.reverse(),m];if(ai.length>=3){let a=ai[ai.length-1],b=ai[ai.length-2],c=ai[ai.length-3],d=1e-6>Math.abs(c.y-b.y)&&1e-6>Math.abs(b.y-a.y),e=1e-6>Math.abs(c.x-b.x)&&1e-6>Math.abs(b.x-a.x);if(d){let d=Math.sign(b.x-c.x),e=Math.sign(a.x-c.x);0!==d&&d===e&&Math.abs(b.x-c.x)>Math.abs(a.x-c.x)&&ai.splice(-2,1)}else if(e){let d=Math.sign(b.y-c.y),e=Math.sign(a.y-c.y);0!==d&&d===e&&Math.abs(b.y-c.y)>Math.abs(a.y-c.y)&&ai.splice(-2,1)}}let aj=[ai[0]];for(let a=1;a<ai.length-1;a++){if(1===a){aj.push(ai[a]);continue}let b=aj[aj.length-1],c=ai[a],d=ai[a+1];if(1e-6>Math.abs(b.y-c.y)&&1e-6>Math.abs(c.y-d.y)){c.x>b.x!=d.x>c.x&&aj.push(c);continue}if(1e-6>Math.abs(b.x-c.x)&&1e-6>Math.abs(c.x-d.x)){c.y>b.y!=d.y>c.y&&aj.push(c);continue}aj.push(c)}aj.push(ai[ai.length-1]);for(let b=0;b<aj.length-1;b++){let c=aj[b],d=aj[b+1],e=1e-6>Math.abs(c.x-d.x)?"vertical":"horizontal",f="vertical"===e?c.x:c.y,g="vertical"===e?Math.min(c.y,d.y):Math.min(c.x,d.x),h="vertical"===e?Math.max(c.y,d.y):Math.max(c.x,d.x),i=k(e,f,g,h),j={edgeIndex:a,segmentIndex:b,orientation:e,pipe:i,trackIndex:0,from:g,to:h};o.push(j),p[a].push(o.length-1),i.tracks[0]||(i.tracks[0]={index:0,coord:i.coord,segments:[]}),i.tracks[0].segments.push({edgeIndex:a,segmentIndex:b,from:g,to:h})}}let K=(0,l.K)((a,b)=>a.from<b.to&&b.from<a.to,"segmentsOverlap"),L=(0,l.K)((a,b,c,d)=>{let e=!d.segments.some(c=>(c.edgeIndex!==b.edgeIndex||c.segmentIndex!==b.segmentIndex)&&K(c,a)),f=!c.segments.some(c=>(c.edgeIndex!==a.edgeIndex||c.segmentIndex!==a.segmentIndex)&&K(c,b));return!!e&&!!f&&(a.trackIndex=d.index,b.trackIndex=c.index,c.segments=[...c.segments.filter(b=>b.edgeIndex!==a.edgeIndex||b.segmentIndex!==a.segmentIndex),{edgeIndex:b.edgeIndex,segmentIndex:b.segmentIndex,from:b.from,to:b.to}],d.segments=[...d.segments.filter(a=>a.edgeIndex!==b.edgeIndex||a.segmentIndex!==b.segmentIndex),{edgeIndex:a.edgeIndex,segmentIndex:a.segmentIndex,from:a.from,to:a.to}],!0)},"trySwapSegmentsAcrossTracks"),M=(0,l.K)(a=>{let b=a.tracks.length;return a.tracks[b]={index:b,coord:a.coord,segments:[]},b},"createNewTrack"),N=(0,l.K)((a,b)=>{let c=a.pipe.tracks[a.trackIndex];c.segments=c.segments.filter(b=>b.edgeIndex!==a.edgeIndex||b.segmentIndex!==a.segmentIndex),a.trackIndex=b,a.pipe.tracks[b].segments.push({edgeIndex:a.edgeIndex,segmentIndex:a.segmentIndex,from:a.from,to:a.to})},"moveSegmentToTrack"),O=(0,l.K)((a,b)=>{for(let c of p[a.edgeIndex]){let d=o[c];d.pipe===a.pipe&&N(d,b)}},"moveSegmentChainToTrack"),P=(0,l.K)(a=>{let b=p[a.edgeIndex],c=b.indexOf(o.indexOf(a)),d=[];return c>0&&d.push(o[b[c-1]]),c<b.length-1&&d.push(o[b[c+1]]),d},"getAdjacentSegmentsAlongEdge"),Q=(0,l.K)((a,b)=>{if(a.orientation===b.orientation)return!1;let c="horizontal"===a.orientation?a:b,d="horizontal"===a.orientation?b:a;return d.pipe.coord>c.from&&d.pipe.coord<c.to&&c.pipe.coord>d.from&&c.pipe.coord<d.to},"haveAnyCrossing"),R=(0,l.K)((a,b)=>{for(let c of a.tracks)if(!c.segments.some(a=>(a.edgeIndex!==b.edgeIndex||a.segmentIndex!==b.segmentIndex)&&K(a,b)))return c.index;return -1},"findAvailableTrack"),S=(0,l.K)((a,b)=>{if(a.trackIndex===b.trackIndex)return K(a,b);let c=P(a),d=P(b);return c.some(a=>d.some(b=>Q(a,b)))},"segmentsConflict"),T=(0,l.K)((a,b,c)=>{if(L(a,b,a.pipe.tracks[a.trackIndex],b.pipe.tracks[b.trackIndex]))return;let d=R(a.pipe,b);c(b,-1!==d?d:M(a.pipe))},"resolveTrackConflict"),U=(0,l.K)(a=>{let b=0;for(let c=0;c<a.length;c++)for(let d=c+1;d<a.length;d++){let e=a[c],f=a[d];e.pipe===f.pipe&&S(e,f)&&(b++,T(e,f,O))}return b},"resolveHandleConflicts"),V=new Map,W=(0,l.K)(a=>{if(V.has(a))return V.get(a);let b=p[a];if(0===b.length){let b={dest:0,deviation:0,base:0,delta:0};return V.set(a,b),b}let c=o[b[0]].pipe.coord,d=c;for(let a=1;a<b.length;a++){let e=o[b[a]];if("horizontal"===e.orientation){let a=e.from,b=e.to;d=Math.abs(a-c)>Math.abs(b-c)?a:b;break}}let e=Math.abs(d-c),f={dest:d,deviation:e,base:c,delta:d-c};return V.set(a,f),f},"getDestInfo"),X=(0,l.K)(()=>{let a=0,b=new Map;for(let[a,c]of e.entries())0!==p[a].length&&c.start&&(b.has(c.start)||b.set(c.start,[]),b.get(c.start).push(a));let c=(0,l.K)(a=>{let b=e[a];if(!b.start||!b.end)return 0;let c=f.get(b.start),d=f.get(b.end);return c&&d?Math.abs((d.x??0)-(c.x??0))+Math.abs((d.y??0)-(c.y??0)):0},"getEdgeDistance");for(let d of b.values())d.sort((a,b)=>{let d=W(a),e=W(b);if(Math.abs(d.deviation-e.deviation)>1)return d.deviation-e.deviation;if(Math.abs(d.dest-e.dest)>1)return d.dest-e.dest;let f=c(a),g=c(b);if(Math.abs(f-g)>1)return g-f;let h=p[a].length,i=p[b].length;if(h!==i)return h-i;if(1===h){let c=p[a][0],d=p[b][0];if(o[c]&&o[d]){let a=o[c],b=o[d],e=Math.abs(a.to-a.from),f=Math.abs(b.to-b.from);if(Math.abs(e-f)>1)return e-f}}return 0}),a+=U(d.map(a=>o[p[a][0]]));return a},"fixSourceHandleCrossings"),Y=(0,l.K)(()=>{let a=0,b=new Map;for(let[a,c]of e.entries())0!==p[a].length&&c.end&&(b.has(c.end)||b.set(c.end,[]),b.get(c.end).push(a));for(let c of b.values())c.sort((a,b)=>{let c=(0,l.K)(a=>{let b=p[a];if(b.length<2)return 0;let c=o[b[b.length-2]];return Math.abs(c.to-c.from)},"getDist"),d=c(a),e=c(b);return Math.abs(d-e)>.1?d-e:a-b}),a+=U(c.map(a=>o[p[a][p[a].length-1]]));return a},"fixTargetHandleCrossings"),Z=(0,l.K)(()=>{let a=0;for(let b of h){let c=[];for(let a of b.tracks)for(let b of a.segments){let a=p[b.edgeIndex].find(a=>o[a].segmentIndex===b.segmentIndex);void 0!==a&&c.push(o[a])}c.sort((a,b)=>a.edgeIndex-b.edgeIndex||a.segmentIndex-b.segmentIndex);for(let b=0;b<c.length;b++)for(let d=b+1;d<c.length;d++){let e=c[b],f=c[d];S(e,f)&&(a++,T(e,f,N))}}return a},"fixPipeCrossings"),$=0;for(;$<10&&0!==0+X()+Y()+Z();){;$++}let _=new Map;for(let a of h){let b=[];a.tracks.forEach(a=>{a.segments.forEach(c=>{b.push({edgeIndex:c.edgeIndex,segmentIndex:c.segmentIndex,trackIndex:a.index,from:c.from,to:c.to})})}),b.sort((a,b)=>a.from-b.from);let c=[];if(b.length>0){let a=[b[0]],d=b[0].to;for(let e=1;e<b.length;e++){let f=b[e];f.from<d?(a.push(f),d=Math.max(d,f.to)):(c.push(a),a=[f],d=f.to)}c.push(a)}for(let b of c){let c=new Set;b.forEach(a=>c.add(a.trackIndex));let d=new Map;b.forEach(a=>{let b=W(a.edgeIndex);d.set(a.trackIndex,(d.get(a.trackIndex)??0)+b.delta)});let e=[...c].filter(a=>(d.get(a)??0)<-1),f=[...c].filter(a=>(d.get(a)??0)>1),g=[...c].filter(a=>1>=Math.abs(d.get(a)??0));e.sort((a,b)=>(d.get(b)??0)-(d.get(a)??0)),f.sort((a,b)=>(d.get(a)??0)-(d.get(b)??0));let h=(0,l.K)((c,d)=>{b.filter(a=>a.trackIndex===c).forEach(b=>{let c=q.has(b.edgeIndex)?a.coord:d;_.set(`${b.edgeIndex}-${b.segmentIndex}`,c)})},"assignCoord"),i=0;for(let b of e)i++,h(b,a.coord-10*i);if(0===g.length&&c.size>0){let a=[...c].sort((a,b)=>Math.abs(d.get(a)??0)-Math.abs(d.get(b)??0))[0],b=e.indexOf(a);-1!==b&&e.splice(b,1);let h=f.indexOf(a);-1!==h&&f.splice(h,1),g.push(a)}let j=0;for(let b of g){if(0===j)h(b,a.coord);else{let c=j%2==1?1:-1,d=Math.ceil(j/2);h(b,a.coord+c*d*5)}j++}let k=0;for(let b of f)k++,h(b,a.coord+10*k)}}for(let[a,b]of e.entries()){let c=p[a]??[];if(0===c.length)continue;let d=[],{pSrcPort:e,pDstPort:g}=J(a,f.get(b.start),f.get(b.end)),h=c.map(a=>{let b=o[a],c=_.get(`${b.edgeIndex}-${b.segmentIndex}`)??b.pipe.coord;return{orient:b.orientation,coord:c,from:b.from,to:b.to}});d.push(e);for(let a=0;a<h.length;a++){let b=h[a],c=d[d.length-1],e="vertical"===b.orient?c.y:c.x,f="vertical"===b.orient?c.x:c.y,g=h[a+1],i=a<h.length-1;if(Math.abs(f-b.coord)>1e-6&&d.push(ck(b,e)),i&&g.orient===b.orient)if(Math.abs(b.coord-g.coord)>1e-6){let a="vertical"===b.orient?(e+g.from)/2:cj(b,g);d.push(ck(b,a),ck(g,a))}else(0===a||a===h.length-2)&&d.push(ck(b,cj(b,g)));else if(i)d.push(ck(b,g.coord));else{let a=Math.abs(b.from-e)<Math.abs(b.to-e)?b.to:b.from;d.push(ck(b,a))}}let i=d[d.length-1];(Math.abs(i.x-g.x)>1e-6||Math.abs(i.y-g.y)>1e-6)&&d.push(g);let j=[];d.length>0&&j.push(d[0]);for(let a=1;a<d.length;a++){let b=d[a],c=j[j.length-1];(Math.abs(b.x-c.x)>1e-6||Math.abs(b.y-c.y)>1e-6)&&j.push(b)}b.points=j}for(let a of e){let b=a.__originalEdge;b&&a.points&&(b.points=a.points)}a.edges=(a.edges??[]).filter(a=>!a.isLayoutOnly);let aa=(0,l.K)((a,b)=>{let c=b.x??0,d=b.y??0,e=b.width??0,f=b.height??0;if(e<=0||f<=0)return a;let g=c-e/2,h=c+e/2,i=d-f/2,j=d+f/2;if(a.x<g||a.x>h||a.y<i||a.y>j)return a;let k=a.x-g,l=h-a.x,m=a.y-i,n=Math.min(k,l,m,j-a.y);return n===k?{x:g,y:a.y}:n===l?{x:h,y:a.y}:n===m?{x:a.x,y:i}:{x:a.x,y:j}},"nodeBoundaryClamp");for(let b of a.edges){let a=b.points;if(!a||a.length<2)continue;let c=b.start,d=b.end,e=c?f.get(c):void 0,g=d?f.get(d):void 0;e&&(a[0]=aa(a[0],e)),g&&(a[a.length-1]=aa(a[a.length-1],g))}return a}function cm(a){return a.direction??"TB"}function cn(a){let b=J(a),c=a.config.flowchart?.nodeSpacing??40,d=a.config.flowchart?.rankSpacing??100,e=a.config.swimlane?.ignoreCrossLaneEdges??!0,f=a.config.swimlane?.optimizeRanksByCrossings??!0,g=a.config.swimlane?.automaticLaneOrdering??!1,h=cm(a),{ordered:i,coordinates:j}=ch(b,{nodeGap:c,layerGap:d,ignoreCrossLaneEdges:e,optimizeRanksByCrossings:f,automaticLaneOrdering:g,direction:h});for(let e of(K(b,i,j,{nodeGap:c,layerGap:d}),a.edges??[]))delete e.points;for(let b of(cl(a,h),a.edges??[]))b.curve&&"basis"!==b.curve||(b.curve="rounded");return bm(a,h),bl(a),h}async function co(a,b){let c=b.select("g");(0,e.g0)(c,a.markers,a.type,a.diagramId),(0,f.gh)(),(0,e.IU)(),(0,f.IU)(),(0,d.IU)(),I(a);let g=L(a);a.nodes=g.nodes,a.edges=g.edges;let{groups:h}=await n(c,a);cn(a),await D(a,h)}(0,l.K)(bD,"buildDrivingTree"),(0,l.K)(bE,"chooseParent"),(0,l.K)(bF,"buildAdjacency"),(0,l.K)(bG,"assignComponents"),(0,l.K)(bH,"computeBlocks"),(0,l.K)(bI,"popBlock"),(0,l.K)(bJ,"computeSubtreeCrossCounts"),(0,l.K)(bK,"annotateMinimumLayers"),(0,l.K)(bL,"compareByRankThenId"),(0,l.K)(bM,"emitNodesInTreeOrder"),(0,l.K)(bN,"deduplicateLayers"),(0,l.K)(bO,"createChildOrderer"),(0,l.K)(bP,"buildMultitreeLayerOrder"),(0,l.K)(bQ,"countCrossingsBetweenAdjacent"),(0,l.K)(bR,"totalCrossings"),(0,l.K)(bS,"optimizeRanksByCrossings"),(0,l.K)(bT,"adjustCrossLaneSources"),(0,l.K)(bU,"assignLayers_LongestPath"),(0,l.K)(bV,"assignLayers_Gravity"),(0,l.K)(bW,"topoSortByGenerationIfAcyclic"),(0,l.K)(bX,"assignLayers_LaneAwareCompact"),(0,l.K)(bY,"makeProperLayering"),(0,l.K)(bZ,"median"),(0,l.K)(b$,"barycenter"),(0,l.K)(b_,"neighborPositionsFor"),(0,l.K)(b0,"currentOrderTieBreak"),(0,l.K)(b1,"countCrossingsBetweenAdjacent"),(0,l.K)(b2,"sortByHeuristic"),(0,l.K)(b3,"reorderLayer"),(0,l.K)(b4,"transposeImprove"),(0,l.K)(b5,"orderLayers"),(0,l.K)(b6,"assignCoordinates"),(0,l.K)(b7,"hashString"),(0,l.K)(b8,"mulberry32"),(0,l.K)(b9,"deterministicShuffle"),(0,l.K)(ca,"sourceDistance"),(0,l.K)(cb,"laneArrangementCost"),(0,l.K)(cc,"buildWeightedLaneEdges"),(0,l.K)(cd,"greedySwitch"),(0,l.K)(ce,"isBetterCandidate"),(0,l.K)(cf,"seedForRestart"),(0,l.K)(cg,"optimizeTopLaneOrder"),(0,l.K)(ch,"sugiyamaLayout"),(0,l.K)(ci,"chooseOrthogonalSide"),(0,l.K)(cj,"sharedLineEndpointCoord"),(0,l.K)(ck,"pointOnLine"),(0,l.K)(cl,"routeEdgesOrthogonal"),(0,l.K)(cm,"getSwimlaneDirection"),(0,l.K)(cn,"runSwimlaneLayoutCore"),(0,l.K)(co,"render")}};
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
"use strict";exports.id=46,exports.ids=[46],exports.modules={4328:(a,b,c)=>{function d(a,b){a.accDescr&&b.setAccDescription?.(a.accDescr),a.accTitle&&b.setAccTitle?.(a.accTitle),a.title&&b.setDiagramTitle?.(a.title)}c.d(b,{S:()=>d}),(0,c(95097).K)(d,"populateCommonDb")},70046:(a,b,c)=>{c.d(b,{diagram:()=>C});var d=c(4328),e=c(77893),f=c(37879),g=c(36594),h=c(58715),i=c(95097),j=c(92325),k=(0,i.K)(()=>({domains:new Map,transitions:[]}),"createDefaultData"),l=k(),m=(0,i.K)(()=>l.domains,"getDomains"),n={getDomains:m,getTransitions:(0,i.K)(()=>l.transitions,"getTransitions"),setDomains:(0,i.K)(a=>{if(a)for(let b of a){let a=b.domain,c=(b.items??[]).map(a=>({label:a.label}));l.domains.set(a,{name:a,items:c})}},"setDomains"),setTransitions:(0,i.K)(a=>{a&&(l.transitions=a.filter(a=>a.from!==a.to||(h.R.warn(`Cynefin: self-loop transition on domain "${a.from}" is not meaningful and will be skipped.`),!1)).map(a=>({from:a.from,to:a.to,label:a.label||void 0})))},"setTransitions"),getConfig:(0,i.K)(()=>(0,f.$t)({...g.UI.cynefin,...(0,g.zj)().cynefin}),"getConfig"),clear:(0,i.K)(()=>{(0,g.IU)(),l=k()},"clear"),setAccTitle:g.SV,getAccTitle:g.iN,setDiagramTitle:g.ke,getDiagramTitle:g.ab,getAccDescription:g.m7,setAccDescription:g.EI},o=(0,i.K)(a=>{(0,d.S)(a,n),n.setDomains(a.domains),n.setTransitions(a.transitions)},"populate"),p={parse:(0,i.K)(async a=>{let b=await (0,j.qg)("cynefin",a);h.R.debug(b),o(b)},"parse")};function q(a){let b=a+0x6d2b79f5|0;return b=Math.imul(b^b>>>15,1|b),(((b^=b+Math.imul(b^b>>>7,61|b))^b>>>14)>>>0)/0x100000000}function r(a){let b=0;for(let c=0;c<a.length;c++)b=(b<<5)-b+a.charCodeAt(c)|0;return b}function s(a,b){return"number"==typeof a&&Number.isFinite(a)&&0!==a?a:r(b)}function t(a,b,c,d){let e=a/2,f=d??.015*a,g=b/7,h=[];for(let a=0;a<=7;a++){let b=q(c+17*a)*f*2-f;h.push({x:e+b,y:a*g})}let i=`M${h[0].x},${h[0].y}`;for(let a=0;a<h.length-1;a++){let b=h[a],d=h[a+1],e=(b.y+d.y)/2,g=1.5*f*(a%2==0?1:-1)*q(c+31*a+7),j=b.x+g,k=d.x-g;i+=` C${j},${e} ${k},${e} ${d.x},${d.y}`}return i}function u(a,b,c,d){let e=b/2,f=d??.015*b,g=a/7,h=[];for(let a=0;a<=7;a++){let b=q(c+23*a)*f*2-f;h.push({x:a*g,y:e+b})}let i=`M${h[0].x},${h[0].y}`;for(let a=0;a<h.length-1;a++){let b=h[a],d=h[a+1],e=(b.x+d.x)/2,g=1.5*f*(a%2==0?1:-1)*q(c+37*a+11),j=b.y+g,k=d.y-g;i+=` C${e},${j} ${e},${k} ${d.x},${d.y}`}return i}function v(a,b){let c=a/2,d=.5*b,e=.03*a;return`M${c},${d} C${c+e},${d+(b-d)*.2} ${c-1.5*e},${d+(b-d)*.55} ${c+.5*e},${d+(b-d)*.75} C${c-e},${d+(b-d)*.85} ${c+.3*e},${d+(b-d)*.95} ${c},${b}`}function w(a,b,c,d){return`M${a-c},${b} A${c},${d} 0 1,1 ${a+c},${b} A${c},${d} 0 1,1 ${a-c},${b} Z`}(0,i.K)(q,"seededRandom"),(0,i.K)(r,"hashString"),(0,i.K)(s,"resolveSeed"),(0,i.K)(t,"generateFoldPath"),(0,i.K)(u,"generateHorizontalBoundary"),(0,i.K)(v,"generateCliffPath"),(0,i.K)(w,"generateConfusionPath");var x={complex:{model:"Probe → Sense → Respond",practice:"Emergent Practices"},complicated:{model:"Sense → Analyse → Respond",practice:"Good Practices"},clear:{model:"Sense → Categorise → Respond",practice:"Best Practices"},chaotic:{model:"Act → Sense → Respond",practice:"Novel Practices"},confusion:{model:"",practice:"Disorder"}},y=(0,i.K)((a,b)=>{let c=a/2,d=b/2;return{complex:{cx:c/2,cy:d/2,x:0,y:0,w:c,h:d},complicated:{cx:c+c/2,cy:d/2,x:c,y:0,w:c,h:d},chaotic:{cx:c/2,cy:d+d/2,x:0,y:d,w:c,h:d},clear:{cx:c+c/2,cy:d+d/2,x:c,y:d,w:c,h:d},confusion:{cx:c,cy:d,x:.7*c,y:.7*d,w:.6*c,h:.6*d}}},"getDomainLayouts"),z=(0,i.K)(()=>{let a=(0,g.P$)(),b=(0,g.zj)();return(0,f.$t)(a,b.themeVariables).cynefin},"getCynefinDomainColors"),A=(0,i.K)((a,b,c,d)=>{let f=d.db,i=f.getDomains(),j=f.getTransitions(),k=f.getDiagramTitle(),l=f.getAccTitle(),m=f.getAccDescription(),n=f.getConfig(),o=z();h.R.debug("Rendering Cynefin diagram");let p=n.width,q=n.height,r=n.padding,A=n.showDomainDescriptions,B=n.boundaryAmplitude,C=p+2*r,D=q+2*r,E={complex:o.complexBg,complicated:o.complicatedBg,clear:o.clearBg,chaotic:o.chaoticBg,confusion:o.confusionBg},F=(0,e.D)(b);(0,g.a$)(F,D,C,n.useMaxWidth??!0),F.attr("viewBox",`0 0 ${C} ${D}`),l&&F.append("title").text(l),m&&F.append("desc").text(m);let G=F.append("g").attr("transform",`translate(${r}, ${r})`),H=y(p,q),I=s(n.seed,b),J=G.append("g").attr("class","cynefin-backgrounds"),K=["complex","complicated","chaotic","clear"];for(let a of K){let b=H[a];J.append("rect").attr("class","cynefinDomain").attr("x",b.x).attr("y",b.y).attr("width",b.w).attr("height",b.h).attr("fill",E[a]).attr("fill-opacity",.4).attr("stroke","none")}let L=G.append("g").attr("class","cynefin-boundaries");L.append("path").attr("class","cynefinBoundary").attr("d",t(p,q,I,B)).attr("fill","none"),L.append("path").attr("class","cynefinBoundary").attr("d",u(p,q,I+100,B)).attr("fill","none"),L.append("path").attr("class","cynefinCliff").attr("d",v(p,q)).attr("fill","none");let M=.15*p,N=.15*q;G.append("path").attr("class","cynefinConfusion").attr("d",w(p/2,q/2,M,N)).attr("fill",E.confusion).attr("fill-opacity",.5);let O=G.append("g").attr("class","cynefin-labels");for(let a of K){let b=H[a];O.append("text").attr("class","cynefinDomainLabel").attr("x",b.cx).attr("y",A?b.cy-30:b.cy).attr("text-anchor","middle").attr("dominant-baseline","middle").text(a.charAt(0).toUpperCase()+a.slice(1))}if(O.append("text").attr("class","cynefinDomainLabel").attr("x",p/2).attr("y",A?q/2-10:q/2).attr("text-anchor","middle").attr("dominant-baseline","middle").text("Confusion"),A){let a=G.append("g").attr("class","cynefin-subtitles");for(let b of K){let c=H[b],d=x[b];a.append("text").attr("class","cynefinSubtitle").attr("x",c.cx).attr("y",c.cy-10).attr("text-anchor","middle").attr("dominant-baseline","middle").text(d.model),a.append("text").attr("class","cynefinSubtitle").attr("x",c.cx).attr("y",c.cy+5).attr("text-anchor","middle").attr("dominant-baseline","middle").text(d.practice)}a.append("text").attr("class","cynefinSubtitle").attr("x",p/2).attr("y",q/2+8).attr("text-anchor","middle").attr("dominant-baseline","middle").text(x.confusion.practice)}let P=G.append("g").attr("class","cynefin-items");for(let a of["complex","complicated","chaotic","clear","confusion"]){let b,c=i.get(a);if(!c||0===c.items.length)continue;let d=H[a],e="confusion"===a,f=c.items,g=0;if(e&&c.items.length>3&&(g=c.items.length-3,f=c.items.slice(0,3)),e){let a=A?22:14;b=d.cy+a}else b=d.cy+(A?25:15);if([...f].forEach((c,e)=>{let f=b+30*e,g=P.append("g"),h=g.append("text").attr("class","cynefinItemText").attr("x",0).attr("y",13).attr("text-anchor","middle").attr("dominant-baseline","central").text(c.label),i=7*c.label.length,j=h.node();if(j&&"function"==typeof j.getBBox){let a=j.getBBox();a.width>0&&(i=a.width)}let k=i+20,l=d.cx-k/2;g.attr("transform",`translate(${l}, ${f})`),g.insert("rect","text").attr("class","cynefinItem").attr("x",0).attr("y",0).attr("width",k).attr("height",26).attr("rx",4).attr("ry",4).attr("fill",E[a]).attr("fill-opacity",.95),h.attr("x",k/2).attr("y",13)}),g>0){let c=b+30*f.length,e=`+${g} more`,h=P.append("g"),i=h.append("text").attr("class","cynefinItemText").attr("x",0).attr("y",13).attr("text-anchor","middle").attr("dominant-baseline","central").text(e),j=7*e.length,k=i.node();if(k&&"function"==typeof k.getBBox){let a=k.getBBox();a.width>0&&(j=a.width)}let l=j+20,m=d.cx-l/2;h.attr("transform",`translate(${m}, ${c})`),h.insert("rect","text").attr("class","cynefinItemOverflow").attr("x",0).attr("y",0).attr("width",l).attr("height",26).attr("rx",4).attr("ry",4).attr("fill",E[a]).attr("fill-opacity",.6),i.attr("x",l/2).attr("y",13)}}if(j.length>0){let a=F.select("defs").empty()?F.append("defs"):F.select("defs"),c=`cynefin-arrow-${b}`;a.append("marker").attr("id",c).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerWidth",6).attr("markerHeight",6).attr("orient","auto-start-reverse").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").attr("class","cynefinArrowHead");let d=G.append("g").attr("class","cynefin-arrows");j.forEach(a=>{let b=H[a.from],e=H[a.to];if(!b||!e)return;if(a.from===a.to)return void h.R.warn(`Cynefin renderer: skipping self-loop on domain "${a.from}"`);let f=b.cx,g=b.cy,i=e.cx,j=e.cy,k=i-f,l=j-g,m=Math.sqrt(k*k+l*l),n=.15*m,o=(f+i)/2+-l/m*n,p=(g+j)/2+k/m*n;d.append("path").attr("class","cynefinArrowLine").attr("d",`M${f},${g} Q${o},${p} ${i},${j}`).attr("fill","none").attr("marker-end",`url(#${c})`),a.label&&d.append("text").attr("class","cynefinArrowLabel").attr("x",o).attr("y",p-6).attr("text-anchor","middle").attr("dominant-baseline","auto").text(a.label)})}k&&G.append("text").attr("class","cynefinTitle").attr("x",p/2).attr("y",-r/2).attr("text-anchor","middle").attr("dominant-baseline","middle").text(k)},"draw"),B=(0,i.K)(()=>{let a=(0,g.P$)(),b=(0,g.zj)();return(0,f.$t)(a,b.themeVariables).cynefin},"getCynefinTheme"),C={parser:p,db:n,renderer:{draw:A},styles:(0,i.K)(()=>{let a=B();return`
|
|
2
|
+
.cynefinDomain {
|
|
3
|
+
stroke: none;
|
|
4
|
+
}
|
|
5
|
+
.cynefinDomainLabel {
|
|
6
|
+
font-size: ${a.domainFontSize}px;
|
|
7
|
+
font-weight: bold;
|
|
8
|
+
fill: ${a.labelColor};
|
|
9
|
+
}
|
|
10
|
+
.cynefinSubtitle {
|
|
11
|
+
font-size: ${a.itemFontSize-1}px;
|
|
12
|
+
fill: ${a.textColor};
|
|
13
|
+
font-style: italic;
|
|
14
|
+
}
|
|
15
|
+
.cynefinItem {
|
|
16
|
+
fill-opacity: 0.95;
|
|
17
|
+
stroke: ${a.boundaryColor};
|
|
18
|
+
stroke-width: 1;
|
|
19
|
+
}
|
|
20
|
+
.cynefinItemText {
|
|
21
|
+
font-size: ${a.itemFontSize}px;
|
|
22
|
+
fill: ${a.textColor};
|
|
23
|
+
}
|
|
24
|
+
.cynefinItemOverflow {
|
|
25
|
+
fill-opacity: 0.6;
|
|
26
|
+
stroke: ${a.boundaryColor};
|
|
27
|
+
stroke-width: 1;
|
|
28
|
+
stroke-dasharray: 3 2;
|
|
29
|
+
}
|
|
30
|
+
.cynefinBoundary {
|
|
31
|
+
stroke: ${a.boundaryColor};
|
|
32
|
+
stroke-width: ${a.boundaryWidth};
|
|
33
|
+
stroke-dasharray: 6 3;
|
|
34
|
+
}
|
|
35
|
+
.cynefinCliff {
|
|
36
|
+
stroke: ${a.cliffColor};
|
|
37
|
+
stroke-width: ${a.cliffWidth};
|
|
38
|
+
}
|
|
39
|
+
.cynefinConfusion {
|
|
40
|
+
stroke: ${a.boundaryColor};
|
|
41
|
+
stroke-width: 1.5;
|
|
42
|
+
stroke-dasharray: 4 2;
|
|
43
|
+
}
|
|
44
|
+
.cynefinArrowLine {
|
|
45
|
+
stroke: ${a.arrowColor};
|
|
46
|
+
stroke-width: ${a.arrowWidth};
|
|
47
|
+
fill: none;
|
|
48
|
+
}
|
|
49
|
+
.cynefinArrowHead {
|
|
50
|
+
fill: ${a.arrowColor};
|
|
51
|
+
stroke: none;
|
|
52
|
+
}
|
|
53
|
+
.cynefinArrowLabel {
|
|
54
|
+
font-size: ${a.itemFontSize-1}px;
|
|
55
|
+
fill: ${a.textColor};
|
|
56
|
+
}
|
|
57
|
+
.cynefinTitle {
|
|
58
|
+
font-size: ${a.domainFontSize+2}px;
|
|
59
|
+
font-weight: bold;
|
|
60
|
+
fill: ${a.labelColor};
|
|
61
|
+
}
|
|
62
|
+
`},"styles")}}};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";exports.id=4674,exports.ids=[4674],exports.modules={82967:(a,b,c)=>{c.d(b,{M:()=>g});var d=c(98122),e=c(30108),f=c(38368);function g(a){var b,c,g,h={options:{directed:a.isDirected(),multigraph:a.isMultigraph(),compound:a.isCompound()},nodes:(b=a,f.A(b.nodes(),function(a){var c=b.node(a),e=b.parent(a),f={v:a};return d.A(c)||(f.value=c),d.A(e)||(f.parent=e),f})),edges:(c=a,f.A(c.edges(),function(a){var b=c.edge(a),e={v:a.v,w:a.w};return d.A(a.name)||(e.name=a.name),d.A(b)||(e.value=b),e}))};return d.A(a.graph())||(g=a.graph(),h.value=(0,e.A)(g,4)),h}c(33456)},94674:(a,b,c)=>{c.d(b,{IU:()=>k,OS:()=>s,dc:()=>q,ju:()=>h,sc:()=>v});var d=c(58715),e=c(95097),f=c(74367),g=c(82967),h=new Map,i=new Map,j=new Map,k=(0,e.K)(()=>{i.clear(),j.clear(),h.clear()},"clear"),l=(0,e.K)((a,b)=>{let c=i.get(b)||[];return d.R.trace("In isDescendant",b," ",a," = ",c.includes(a)),c.includes(a)},"isDescendant"),m=(0,e.K)((a,b)=>{let c=i.get(b)||[];return d.R.info("Descendants of ",b," is ",c),d.R.info("Edge is ",a),a.v!==b&&a.w!==b&&(c?c.includes(a.v)||l(a.v,b)||l(a.w,b)||c.includes(a.w):(d.R.debug("Tilt, ",b,",not in descendants"),!1))},"edgeInCluster"),n=(0,e.K)((a,b,c,e)=>{d.R.warn("Copying children of ",a,"root",e,"data",b.node(a),e);let f=b.children(a)||[];a!==e&&f.push(a),d.R.warn("Copying (nodes) clusterId",a,"nodes",f),f.forEach(f=>{if(b.children(f).length>0)n(f,b,c,e);else{let g=b.node(f);d.R.info("cp ",f," to ",e," with parent ",a),c.setNode(f,g),e!==b.parent(f)&&(d.R.warn("Setting parent",f,b.parent(f)),c.setParent(f,b.parent(f))),a!==e&&f!==a?(d.R.debug("Setting parent",f,a),c.setParent(f,a)):(d.R.info("In copy ",a,"root",e,"data",b.node(a),e),d.R.debug("Not Setting parent for node=",f,"cluster!==rootId",a!==e,"node!==clusterId",f!==a));let h=b.edges(f);d.R.debug("Copying Edges",h),h.forEach(f=>{d.R.info("Edge",f);let g=b.edge(f.v,f.w,f.name);d.R.info("Edge data",g,e);try{if(m(f,e)){let a=i.get(e)||[],h=a.includes(f.v)||l(f.v,e)||f.v===e,j=a.includes(f.w)||l(f.w,e)||f.w===e;if(h&&j)d.R.info("Copying as ",f.v,f.w,g,f.name),c.setEdge(f.v,f.w,g,f.name),d.R.info("newGraph edges ",c.edges(),c.edge(c.edges()[0]));else{let a=h?e:f.v,c=j?e:f.w;d.R.info("Rebinding cross-boundary edge as ",a,c,g,f.name),b.setEdge(a,c,g,f.name)}}else d.R.info("Skipping copy of edge ",f.v,"--\x3e",f.w," rootId: ",e," clusterId:",a)}catch(a){d.R.error(a)}})}d.R.debug("Removing node",f),b.removeNode(f)})},"copy"),o=(0,e.K)((a,b)=>{let c=b.children(a),d=[...c];for(let e of c)j.set(e,a),d=[...d,...o(e,b)];return d},"extractDescendants"),p=(0,e.K)((a,b,c)=>{let d=a.edges().filter(a=>a.v===b||a.w===b),e=a.edges().filter(a=>a.v===c||a.w===c),f=d.map(a=>({v:a.v===b?c:a.v,w:a.w===b?b:a.w})),g=e.map(a=>({v:a.v,w:a.w}));return f.filter(a=>g.some(b=>a.v===b.v&&a.w===b.w))},"findCommonEdges"),q=(0,e.K)((a,b,c)=>{let e,f=b.children(a);if(d.R.trace("Searching children of id ",a,f),f.length<1)return a;for(let a of f){let d=q(a,b,c),f=p(b,c,d);if(d)if(!(f.length>0))return d;else e=d}return e},"findNonClusterChild"),r=(0,e.K)(a=>h.has(a)&&h.get(a).externalConnections&&h.has(a)?h.get(a).id:a,"getAnchorId"),s=(0,e.K)((a,b)=>{if(!a||b>10)return void d.R.debug("Opting out, no graph ");for(let b of(d.R.debug("Opting in, graph "),a.nodes().forEach(function(b){a.children(b).length>0&&(d.R.warn("Cluster identified",b," Replacement id in edges: ",q(b,a,b)),i.set(b,o(b,a)),h.set(b,{id:q(b,a,b),clusterData:a.node(b)}))}),a.nodes().forEach(function(b){let c=a.children(b),e=a.edges();c.length>0?(d.R.debug("Cluster identified",b,i),e.forEach(a=>{l(a.v,b)^l(a.w,b)&&(d.R.warn("Edge: ",a," leaves cluster ",b),d.R.warn("Descendants of XXX ",b,": ",i.get(b)),h.get(b).externalConnections=!0)})):d.R.debug("Not a cluster ",b,i)}),h.keys())){let c=h.get(b).id,d=a.parent(c);d!==b&&h.has(d)&&!h.get(d).externalConnections&&(h.get(b).id=d);let e=a.edges().some(a=>a.v===b);if(c&&h.get(b)?.externalConnections&&e&&w(a,c,b)){let d=x(a,b,a.parent(c));d&&(h.get(b).id=d)}}a.edges().forEach(function(b){let c=a.edge(b);d.R.warn("Edge "+b.v+" -> "+b.w+": "+JSON.stringify(b)),d.R.warn("Edge "+b.v+" -> "+b.w+": "+JSON.stringify(a.edge(b)));let e=b.v,f=b.w;if(d.R.warn("Fix XXX",h,"ids:",b.v,b.w,"Translating: ",h.get(b.v)," --- ",h.get(b.w)),h.get(b.v)||h.get(b.w)){if(d.R.warn("Fixing and trying - removing XXX",b.v,b.w,b.name),e=r(b.v),f=r(b.w),a.removeEdge(b.v,b.w,b.name),e!==b.v){let d=a.parent(e);h.get(d).externalConnections=!0,c.fromCluster=b.v}if(f!==b.w){let d=a.parent(f);h.get(d).externalConnections=!0,c.toCluster=b.w}d.R.warn("Fix Replacing with XXX",e,f,b.name),a.setEdge(e,f,c,b.name)}}),d.R.warn("Adjusted Graph",g.M(a)),t(a,0),d.R.trace(h)},"adjustClustersAndEdges"),t=(0,e.K)((a,b)=>{if(d.R.warn("extractor - ",b,g.M(a),a.children("D")),b>10)return void d.R.error("Bailing out");let c=a.nodes(),e=!1;for(let b of c){let c=a.children(b);e=e||c.length>0}if(!e)return void d.R.debug("Done, no node has children",a.nodes());for(let e of(d.R.debug("Nodes = ",c,b),c))if(d.R.debug("Extracting node",e,h,h.has(e)&&!h.get(e).externalConnections,!a.parent(e),a.node(e),a.children("D")," Depth ",b),h.has(e))if(h.get(e)?.clusterData?.explicitDir&&a.children(e)&&a.children(e).length>0){d.R.warn("Cluster with explicit dir, creating subgraph for children",e,b);let c=h.get(e).clusterData.dir,i=new f.T({multigraph:!0,compound:!0}).setGraph({rankdir:c,nodesep:50,ranksep:50,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}});n(e,a,i,e);let j=a.node(e)||{};a.setNode(e,{...j,clusterNode:!0,id:e,clusterData:h.get(e).clusterData,label:h.get(e).label,graph:i}),d.R.warn("Subgraph for cluster with explicit dir created:",e,g.M(i))}else if(!h.get(e).externalConnections&&a.children(e)&&a.children(e).length>0){d.R.warn("Cluster without external connections, without a parent and with children",e,b);let c="TB"===a.graph().rankdir?"LR":"TB";h.get(e)?.clusterData?.dir&&(c=h.get(e).clusterData.dir,d.R.warn("Fixing dir",h.get(e).clusterData.dir,c));let i=new f.T({multigraph:!0,compound:!0}).setGraph({rankdir:c,nodesep:50,ranksep:50,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}});n(e,a,i,e);let j=a.node(e)||{};a.setNode(e,{...j,clusterNode:!0,id:e,clusterData:h.get(e).clusterData,label:h.get(e).label,graph:i}),d.R.debug("Old graph after copy",g.M(a))}else d.R.warn("Cluster ** ",e," **not meeting the criteria !externalConnections:",!h.get(e).externalConnections," no parent: ",!a.parent(e)," children ",a.children(e)&&a.children(e).length>0,a.children("D"),b),d.R.debug(h);else d.R.debug("Not a cluster",e,b);for(let e of(c=a.nodes(),d.R.warn("New list of nodes",c),c)){let c=a.node(e);d.R.warn(" Now next level",e,c),c?.clusterNode&&t(c.graph,b+1)}},"extractor"),u=(0,e.K)((a,b)=>{if(0===b.length)return[];let c=Object.assign([],b);return b.forEach(b=>{let d=a.children(b),e=u(a,d);c=[...c,...e]}),c},"sorter"),v=(0,e.K)(a=>u(a,a.children()),"sortNodesByHierarchy"),w=(0,e.K)((a,b,c)=>{let d=a.parent(b);for(;d&&d!==c;){let b=h.get(d);if(b&&!b.externalConnections)return!0;d=a.parent(d)}return!1},"isNodeInExtractableCluster"),x=(0,e.K)((a,b,c)=>{for(let d of a.children(b)??[]){if(d===c||l(d,c))continue;let e=q(d,a,b);if(e&&!w(a,e,b))return e}return null},"findSafeAnchorNode")}};
|