@leanspec/ui 0.2.6 → 0.2.7-dev.20251126090057
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/standalone/node_modules/.pnpm/better-sqlite3@11.10.0/node_modules/better-sqlite3/build/Release/better_sqlite3.node +0 -0
- package/.next/standalone/packages/ui/.next/BUILD_ID +1 -1
- package/.next/standalone/packages/ui/.next/build-manifest.json +8 -8
- package/.next/standalone/packages/ui/.next/prerender-manifest.json +3 -3
- package/.next/standalone/packages/ui/.next/required-server-files.json +10 -4
- package/.next/standalone/packages/ui/.next/server/app/_global-error/page/build-manifest.json +6 -6
- package/.next/standalone/packages/ui/.next/server/app/_global-error/page.js +2 -2
- package/.next/standalone/packages/ui/.next/server/app/_global-error/page.js.nft.json +1 -1
- package/.next/standalone/packages/ui/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
- package/.next/standalone/packages/ui/.next/server/app/_global-error.html +2 -2
- package/.next/standalone/packages/ui/.next/server/app/_global-error.rsc +7 -7
- package/.next/standalone/packages/ui/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +2 -2
- package/.next/standalone/packages/ui/.next/server/app/_global-error.segments/_full.segment.rsc +7 -7
- package/.next/standalone/packages/ui/.next/server/app/_global-error.segments/_index.segment.rsc +3 -3
- package/.next/standalone/packages/ui/.next/server/app/_global-error.segments/_tree.segment.rsc +3 -3
- package/.next/standalone/packages/ui/.next/server/app/_not-found/page/build-manifest.json +6 -6
- package/.next/standalone/packages/ui/.next/server/app/_not-found/page.js +2 -2
- package/.next/standalone/packages/ui/.next/server/app/_not-found/page.js.nft.json +1 -1
- package/.next/standalone/packages/ui/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/.next/standalone/packages/ui/.next/server/app/_not-found.html +2 -2
- package/.next/standalone/packages/ui/.next/server/app/_not-found.rsc +19 -19
- package/.next/standalone/packages/ui/.next/server/app/_not-found.segments/_full.segment.rsc +19 -19
- package/.next/standalone/packages/ui/.next/server/app/_not-found.segments/_index.segment.rsc +12 -12
- package/.next/standalone/packages/ui/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +3 -3
- package/.next/standalone/packages/ui/.next/server/app/_not-found.segments/_not-found.segment.rsc +3 -3
- package/.next/standalone/packages/ui/.next/server/app/_not-found.segments/_tree.segment.rsc +5 -5
- package/.next/standalone/packages/ui/.next/server/app/api/local-projects/[id]/route.js.nft.json +1 -1
- package/.next/standalone/packages/ui/.next/server/app/api/local-projects/discover/route.js +2 -2
- package/.next/standalone/packages/ui/.next/server/app/api/local-projects/discover/route.js.nft.json +1 -1
- package/.next/standalone/packages/ui/.next/server/app/api/local-projects/list-directory/route.js +2 -2
- package/.next/standalone/packages/ui/.next/server/app/api/local-projects/list-directory/route.js.nft.json +1 -1
- package/.next/standalone/packages/ui/.next/server/app/api/local-projects/route.js +2 -2
- package/.next/standalone/packages/ui/.next/server/app/api/local-projects/route.js.nft.json +1 -1
- package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/route.js.nft.json +1 -1
- package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/specs/[spec]/route.js +2 -2
- package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/specs/[spec]/route.js.nft.json +1 -1
- package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/specs/[spec]/status/route.js.nft.json +1 -1
- package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/specs/route.js +2 -2
- package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/specs/route.js.nft.json +1 -1
- package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/stats/route.js.nft.json +1 -1
- package/.next/standalone/packages/ui/.next/server/app/api/projects/route.js +2 -2
- package/.next/standalone/packages/ui/.next/server/app/api/projects/route.js.nft.json +1 -1
- package/.next/standalone/packages/ui/.next/server/app/api/revalidate/route.js +2 -2
- package/.next/standalone/packages/ui/.next/server/app/api/revalidate/route.js.nft.json +1 -1
- package/.next/standalone/packages/ui/.next/server/app/api/specs/[id]/dependency-graph/route.js +2 -2
- package/.next/standalone/packages/ui/.next/server/app/api/specs/[id]/dependency-graph/route.js.nft.json +1 -1
- package/.next/standalone/packages/ui/.next/server/app/api/specs/[id]/route.js +2 -2
- package/.next/standalone/packages/ui/.next/server/app/api/specs/[id]/route.js.nft.json +1 -1
- package/.next/standalone/packages/ui/.next/server/app/api/specs/[id]/status/route.js +2 -2
- package/.next/standalone/packages/ui/.next/server/app/api/specs/[id]/status/route.js.nft.json +1 -1
- package/.next/standalone/packages/ui/.next/server/app/api/specs/[id]/subspecs/[file]/route.js +2 -2
- package/.next/standalone/packages/ui/.next/server/app/api/specs/[id]/subspecs/[file]/route.js.nft.json +1 -1
- package/.next/standalone/packages/ui/.next/server/app/api/stats/route.js +2 -2
- package/.next/standalone/packages/ui/.next/server/app/api/stats/route.js.nft.json +1 -1
- package/.next/standalone/packages/ui/.next/server/app/page/build-manifest.json +6 -6
- package/.next/standalone/packages/ui/.next/server/app/page.js.nft.json +1 -1
- package/.next/standalone/packages/ui/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/page/build-manifest.json +6 -6
- package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/page.js +2 -2
- package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/page.js.nft.json +1 -1
- package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/specs/[specId]/page/build-manifest.json +6 -6
- package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/specs/[specId]/page.js +2 -2
- package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/specs/[specId]/page.js.nft.json +1 -1
- package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/specs/[specId]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/specs/page/build-manifest.json +6 -6
- package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/specs/page.js +2 -2
- package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/specs/page.js.nft.json +1 -1
- package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/specs/page_client-reference-manifest.js +1 -1
- package/.next/standalone/packages/ui/.next/server/app/projects/page/build-manifest.json +6 -6
- package/.next/standalone/packages/ui/.next/server/app/projects/page.js +2 -2
- package/.next/standalone/packages/ui/.next/server/app/projects/page.js.nft.json +1 -1
- package/.next/standalone/packages/ui/.next/server/app/projects/page_client-reference-manifest.js +1 -1
- package/.next/standalone/packages/ui/.next/server/app/projects.html +2 -2
- package/.next/standalone/packages/ui/.next/server/app/projects.rsc +28 -29
- package/.next/standalone/packages/ui/.next/server/app/projects.segments/_full.segment.rsc +28 -29
- package/.next/standalone/packages/ui/.next/server/app/projects.segments/_index.segment.rsc +12 -12
- package/.next/standalone/packages/ui/.next/server/app/projects.segments/_tree.segment.rsc +5 -5
- package/.next/standalone/packages/ui/.next/server/app/projects.segments/projects/__PAGE__.segment.rsc +4 -4
- package/.next/standalone/packages/ui/.next/server/app/projects.segments/projects.segment.rsc +3 -3
- package/.next/standalone/packages/ui/.next/server/app/specs/[id]/page/build-manifest.json +6 -6
- package/.next/standalone/packages/ui/.next/server/app/specs/[id]/page.js +2 -2
- package/.next/standalone/packages/ui/.next/server/app/specs/[id]/page.js.nft.json +1 -1
- package/.next/standalone/packages/ui/.next/server/app/specs/[id]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/packages/ui/.next/server/app/specs/page/build-manifest.json +6 -6
- package/.next/standalone/packages/ui/.next/server/app/specs/page.js +2 -2
- package/.next/standalone/packages/ui/.next/server/app/specs/page.js.nft.json +1 -1
- package/.next/standalone/packages/ui/.next/server/app/specs/page_client-reference-manifest.js +1 -1
- package/.next/standalone/packages/ui/.next/server/app/stats/page/build-manifest.json +6 -6
- package/.next/standalone/packages/ui/.next/server/app/stats/page.js +2 -2
- package/.next/standalone/packages/ui/.next/server/app/stats/page.js.nft.json +1 -1
- package/.next/standalone/packages/ui/.next/server/app/stats/page_client-reference-manifest.js +1 -1
- package/.next/standalone/packages/ui/.next/server/chunks/6681a__next-internal_server_app_api_specs_[id]_subspecs_[file]_route_actions_556a9993.js +1 -1
- package/.next/standalone/packages/ui/.next/server/chunks/6e9bd_next_952b10e2._.js +2 -2
- package/.next/standalone/packages/ui/.next/server/chunks/730ea_ui__next-internal_server_app_api_local-projects_[id]_route_actions_664abe9c.js +1 -1
- package/.next/standalone/packages/ui/.next/server/chunks/730ea_ui__next-internal_server_app_api_local-projects_discover_route_actions_e6ec3fa7.js +1 -1
- package/.next/standalone/packages/ui/.next/server/chunks/730ea_ui__next-internal_server_app_api_projects_[id]_specs_route_actions_6d03fd1f.js +1 -1
- package/.next/standalone/packages/ui/.next/server/chunks/730ea_ui__next-internal_server_app_api_projects_[id]_stats_route_actions_a0bb04a8.js +1 -1
- package/.next/standalone/packages/ui/.next/server/chunks/730ea_ui__next-internal_server_app_api_specs_[id]_status_route_actions_5d700407.js +1 -1
- package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__0fbfea15._.js +1 -1
- package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__126dea7b._.js +1 -1
- package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__1f037512._.js +1 -1
- package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__3559376c._.js +4 -4
- package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__548e27d4._.js +1 -1
- package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__65667b70._.js +1 -1
- package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__675a763e._.js +1 -1
- package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__803d07f0._.js +1 -1
- package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__8075fe29._.js +1 -1
- package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__8233e09b._.js +1 -1
- package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__84cdc14a._.js +1 -1
- package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__9ce722b4._.js +1 -1
- package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__a2d7cbed._.js +1 -1
- package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__aa677b0d._.js +1 -1
- package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__ac744182._.js +1 -1
- package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__ae726e9c._.js +1 -1
- package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__bb9fca84._.js +2 -2
- package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__bdc3963a._.js +1 -1
- package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__f06435b0._.js +1 -1
- package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__f5c6d6b8._.js +1 -1
- package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__fb91986f._.js +1 -1
- package/.next/standalone/packages/ui/.next/server/chunks/e0876_tiktoken_3efea2dc._.js +1 -1
- package/.next/standalone/packages/ui/.next/server/chunks/f825c_server_app_api_local-projects_list-directory_route_actions_d620ec1a.js +1 -1
- package/.next/standalone/packages/ui/.next/server/chunks/f825c_server_app_api_projects_[id]_specs_[spec]_status_route_actions_e9f1bdc5.js +1 -1
- package/.next/standalone/packages/ui/.next/server/chunks/node_modules__pnpm_731b55aa._.js +1 -1
- package/.next/standalone/packages/ui/.next/server/chunks/packages_ui__next-internal_server_app_api_local-projects_route_actions_9142d5ad.js +1 -1
- package/.next/standalone/packages/ui/.next/server/chunks/packages_ui__next-internal_server_app_api_projects_route_actions_73e4c2a1.js +1 -1
- package/.next/standalone/packages/ui/.next/server/chunks/packages_ui__next-internal_server_app_api_revalidate_route_actions_a8bf21b5.js +1 -1
- package/.next/standalone/packages/ui/.next/server/chunks/packages_ui__next-internal_server_app_api_specs_[id]_route_actions_0793bd75.js +1 -1
- package/.next/standalone/packages/ui/.next/server/chunks/packages_ui__next-internal_server_app_api_stats_route_actions_8e042245.js +1 -1
- package/.next/standalone/packages/ui/.next/server/chunks/packages_ui_src_lib_db_index_ts_556307fa._.js +4 -4
- package/.next/standalone/packages/ui/.next/server/chunks/packages_ui_src_lib_specs_sources_database-source_ts_0bd881ee._.js +1 -1
- package/.next/standalone/packages/ui/.next/server/chunks/packages_ui_src_lib_specs_sources_database-source_ts_baa0160d._.js +1 -1
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/1ce3b_dagre-d3-es_src_dagre_index_f9cad90b.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/38a22_sonner_dist_index_mjs_207730fe._.js +1 -1
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/4e76f_cytoscape_dist_cytoscape_esm_mjs_56d6d0a1._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/54964_d3-scale_src_c504aad0._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/54964_d3-scale_src_linear_5b8914dd.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/641df_lodash-es_057c0674._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/641df_lodash-es_4b57a3a3._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/641df_lodash-es_4d3de843._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/641df_lodash-es_5f3103e1._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/641df_lodash-es_bcc35893._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/641df_lodash-es_f2ef1919._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/676f9_@mermaid-js_parser_dist_chunks_mermaid-parser_core_info-NVLQJR56_mjs_cc500a11._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/676f9_@mermaid-js_parser_dist_chunks_mermaid-parser_core_packet-BFZMPI3H_mjs_06a9c7d7._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/676f9_@mermaid-js_parser_dist_chunks_mermaid-parser_core_pie-7BOR55EZ_mjs_1167f1a1._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/676f9_@mermaid-js_parser_dist_chunks_mermaid-parser_core_radar-NHE76QYJ_mjs_962e6256._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/676f9_@mermaid-js_parser_dist_chunks_mermaid-parser_core_treemap-KMMF4GRG_mjs_a12f0fad._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/6e9bd_next_40720940._.js +2 -2
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/6e9bd_next_dist_1decfd3f._.js +1 -1
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/6e9bd_next_dist_69a12422._.js +2 -2
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/6e9bd_next_dist_7af75658._.js +1 -1
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/6e9bd_next_dist_client_components_0f429de8._.js +1 -1
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/6e9bd_next_dist_client_components_builtin_global-error_3666c25c.js +1 -1
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/6e9bd_next_dist_client_components_builtin_unauthorized_78af867c.js +1 -1
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/6e9bd_next_dist_df5dcbe9._.js +2 -2
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/6e9bd_next_dist_esm_25672c28._.js +2 -2
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/6e9bd_next_dist_esm_build_templates_app-page_4f278283.js +2 -2
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/730ea_ui__next-internal_server_app_projects_[projectId]_specs_page_actions_82e32fe4.js +1 -1
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/8b009_parser_dist_chunks_mermaid-parser_core_architecture-U656AL7Q_mjs_64f0e692._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/8b009_parser_dist_chunks_mermaid-parser_core_gitGraph-F6HP7TQM_mjs_6383c425._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_0b254b71._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_8167bfdd._.js +17 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_blockDiagram-VD42YOAC_mjs_99bfbaf9._.js +119 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_c4Diagram-YG6GDRKO_mjs_0683be9f._.js +7 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_c5b1d4f9._.js +17 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_chunk-ABZYJK2D_mjs_4034a85b._.js +79 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_chunk-B4BG7PRW_mjs_3190ac39._.js +162 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_chunk-DI55MBZ5_mjs_2e49cdd9._.js +217 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_chunk-FMBD7UC4_mjs_69c9238e._.js +17 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_chunk-JA3XYJ7Z_mjs_4c9b0254._.js +62 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_chunk-JZLCHNYA_mjs_e1210981._.js +55 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_chunk-MI3HLSF2_mjs_4494daf0._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_chunk-QXUST7PY_mjs_3e69582d._.js +9 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_chunk-S3R3BYOJ_mjs_0c8df0bf._.js +4 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_chunk-TZMSLE5B_mjs_72a0311f._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_dagre-6UL2VRFP_mjs_2a0e551c._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_diagram-PSM6KHXK_mjs_f109b802._.js +26 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_erDiagram-Q2GNP2WA_mjs_2956542e._.js +57 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_f71564d9._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_ffd8fbee._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_flowDiagram-NV44I4VS_mjs_c11db931._.js +154 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_gitGraphDiagram-NY62KEGX_mjs_fe41f076._.js +65 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_journeyDiagram-XKPGCS4Q_mjs_8b9c3e68._.js +136 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_kanban-definition-3W4ZIXB7_mjs_d8e6de34._.js +81 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_quadrantDiagram-AYHSOK5B_mjs_50c2110d._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_requirementDiagram-UZGBJVZJ_mjs_8f86dea7._.js +61 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_sankeyDiagram-TZEHDZUN_mjs_9fa014df._.js +6 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_sequenceDiagram-WL72ISMW_mjs_4d5ee2b1._.js +138 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_stateDiagram-FKZM4ZOC_mjs_2bd67ce9._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_timeline-definition-IT6M3QCI_mjs_96b04d43._.js +58 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_xychartDiagram-PRI3JC2R_mjs_7eec04e0._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/931bf_mermaid_dist_mermaid_core_mjs_1c407865._.js +9 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/[externals]_better-sqlite3_a1cc22cb._.js +1 -1
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__015fceb2._.js +1 -1
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__01bfc8ff._.js +1 -1
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__0f0dade1._.js +1 -1
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__1d0c2012._.js +1 -1
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__2977636f._.js +3 -3
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__338c65fe._.js +1 -1
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__4ec37765._.js +1 -1
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__50122e7e._.js +1 -1
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__5382b397._.js +1 -1
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__73f60f12._.js +2 -2
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__7f55abaa._.js +1 -1
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__88a691ee._.js +1 -1
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__8b019a26._.js +1 -1
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__a7ae8552._.js +2 -2
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__bdbbba01._.js +1 -1
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__cc589a54._.js +1 -1
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__daee3355._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__e4a2bcdd._.js +64 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__ec5b96a5._.js +1 -1
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__fd80e4dd._.js +1 -1
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/_000dd317._.js +1 -1
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/_0f9ffe32._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/_14118969._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/_22274047._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/_39562b2a._.js +2 -2
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/_3b617676._.js +1 -1
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/_3fac7eca._.js +1 -1
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/_4129cc0f._.js +1 -1
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/{_196b5a83._.js → _497c8b73._.js} +2 -2
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/_85effc18._.js +2 -2
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/_8f9656c4._.js +2 -2
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/_911f204b._.js +1 -1
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/_ac867463._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/_ad8c1e99._.js +1 -1
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/_b6ac86b4._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/_b9dc2415._.js +2 -2
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/_bae6d2b8._.js +2 -2
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/_c2f54661._.js +3 -3
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/_f7344ef6._.js +2 -2
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/_fdd7780b._.js +2 -2
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/c7b92_d3-shape_src_arc_9341f572.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/f0bdc_katex_dist_katex_mjs_27a6c950._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/f825c_server_app_projects_[projectId]_specs_[specId]_page_actions_22d9c35e.js +1 -1
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_03d68913._.js +62 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_1aec4342._.js +17 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_2a29db83._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_3ba1438c._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_472d6274._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_50944832._.js +1 -1
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_5237fdd7._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_69372f5b._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_76d4233c._.js +17 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_7791e3b8._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_79befbed._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_88c8b88b._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_a01fbd8e._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_a3f2a370._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_ab5a8afc._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_b23175bb._.js +38 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_b247a526._.js +264 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_b5a3d3a5._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_c17f27b1._.js +45 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_c22df304._.js +17 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_c766836f._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_cb5a045f._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_d8037b10._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_e175b92a._.js +31 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_e440897f._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_ea1bddc7._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_f5b29533._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_f732d0bb._.js +26 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui__next-internal_server_app__global-error_page_actions_e9e4a8e1.js +1 -1
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui__next-internal_server_app__not-found_page_actions_428c805d.js +1 -1
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui__next-internal_server_app_page_actions_f4c42a31.js +1 -1
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui__next-internal_server_app_projects_[projectId]_page_actions_f2986585.js +1 -1
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui__next-internal_server_app_projects_page_actions_715940ea.js +1 -1
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui__next-internal_server_app_specs_[id]_page_actions_555bb544.js +1 -1
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui__next-internal_server_app_specs_page_actions_b92ceb22.js +1 -1
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui__next-internal_server_app_stats_page_actions_35d53654.js +1 -1
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui_src_19541980._.js +1 -1
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui_src_app_error_tsx_7bf5aa01._.js +1 -1
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui_src_app_error_tsx_d8203bfe._.js +1 -1
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui_src_app_loading_tsx_9304a706._.js +1 -1
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui_src_app_projects_[projectId]_be242d6c._.js +1 -1
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui_src_app_projects_[projectId]_project-context-syncer_tsx_7954ea3b._.js +1 -1
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui_src_app_projects_page_tsx_6e166c8e._.js +1 -1
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui_src_app_specs_specs-client_tsx_0bb8f8f8._.js +1 -1
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui_src_components_specs-nav-sidebar_tsx_8237ed13._.js +1 -1
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui_src_components_ui_select_tsx_7e21d40f._.js +1 -1
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui_src_lib_specs_sources_database-source_ts_f7186c2a._.js +2 -2
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui_src_lib_utils_ts_259f88e4._.js +1 -1
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui_src_lib_utils_ts_c47f8e19._.js +1 -1
- package/.next/standalone/packages/ui/.next/server/middleware-build-manifest.js +6 -6
- package/.next/standalone/packages/ui/.next/server/pages/404.html +2 -2
- package/.next/standalone/packages/ui/.next/server/pages/500.html +2 -2
- package/.next/standalone/packages/ui/.next/server/server-reference-manifest.js +1 -1
- package/.next/standalone/packages/ui/.next/server/server-reference-manifest.json +1 -1
- package/.next/standalone/packages/ui/.next/static/chunks/038fb2d565c88582.js +2 -0
- package/.next/standalone/packages/ui/.next/static/chunks/0f108f65249f8820.js +19 -0
- package/.next/standalone/packages/ui/.next/static/chunks/1104de0c16e0b792.js +59 -0
- package/.next/standalone/packages/ui/.next/static/chunks/1490995adc7829e2.js +136 -0
- package/.next/standalone/packages/ui/.next/static/chunks/16b742746668b9d6.js +56 -0
- package/.next/standalone/packages/ui/.next/static/chunks/16ff9833ae1bb3ae.js +1 -0
- package/.next/standalone/packages/ui/.next/static/chunks/192b2f6118d057e2.js +60 -0
- package/.next/standalone/packages/ui/.next/static/chunks/1a910f137d27fff0.js +63 -0
- package/.next/standalone/packages/ui/.next/static/chunks/1f052e076ca9a3ff.js +1 -0
- package/.next/standalone/packages/ui/.next/static/chunks/20f4141ccb5d4eb4.js +1 -0
- package/.next/standalone/packages/ui/.next/static/chunks/2136b3131f74188f.js +1 -0
- package/.next/standalone/packages/ui/.next/static/chunks/2204c0f16b23ec4c.js +3 -0
- package/.next/standalone/packages/ui/.next/static/chunks/294dea6dbec43ca6.js +1 -0
- package/.next/standalone/packages/ui/.next/static/chunks/2a33b9246ea4be03.js +2 -0
- package/.next/standalone/packages/ui/.next/static/chunks/2c85b8059e42248a.js +1 -0
- package/.next/standalone/packages/ui/.next/static/chunks/305b74f3c20cb4ef.js +1 -0
- package/.next/standalone/packages/ui/.next/static/chunks/3276ca6fd9005903.js +13 -0
- package/.next/standalone/packages/ui/.next/static/chunks/37f2e45cf97245d9.js +117 -0
- package/.next/standalone/packages/ui/.next/static/chunks/39691fae9a3463fe.js +262 -0
- package/.next/standalone/packages/ui/.next/static/chunks/3b6b058ebd14dbed.js +1 -0
- package/.next/standalone/packages/ui/.next/static/chunks/3ed1465109fecc2d.js +1 -0
- package/.next/standalone/packages/ui/.next/static/chunks/3f94c1ef6e27c8bd.js +1 -0
- package/.next/standalone/packages/ui/.next/static/chunks/414a78f7b9b58d11.js +53 -0
- package/.next/standalone/packages/ui/.next/static/chunks/4e85dea329906168.js +1 -0
- package/.next/standalone/packages/ui/.next/static/chunks/525d6cb99a13c44a.js +215 -0
- package/.next/standalone/packages/ui/.next/static/chunks/5295f0e82fd2a6d3.js +24 -0
- package/.next/standalone/packages/ui/.next/static/chunks/567bc31005c31006.js +1 -0
- package/.next/standalone/packages/ui/.next/static/chunks/56894ea818ee2a54.js +1 -0
- package/.next/standalone/packages/ui/.next/static/chunks/569b4347ce55d973.js +1 -0
- package/.next/standalone/packages/ui/.next/static/chunks/5fffdea0623d8a25.js +1 -0
- package/.next/standalone/packages/ui/.next/static/chunks/642374ace530e2bd.js +1 -0
- package/.next/standalone/packages/ui/.next/static/chunks/64543dbd7a7a99b7.js +1 -0
- package/.next/standalone/packages/ui/.next/static/chunks/6483096c16d96f2c.js +15 -0
- package/.next/standalone/packages/ui/.next/static/chunks/66d3fa1af3ff1fbf.js +1 -0
- package/.next/standalone/packages/ui/.next/static/chunks/67a1d37727697340.js +1 -0
- package/.next/standalone/packages/ui/.next/static/chunks/6f3c460ef90843d6.js +215 -0
- package/.next/standalone/packages/ui/.next/static/chunks/6ff7b0a8653036b2.js +1 -0
- package/.next/standalone/packages/ui/.next/static/chunks/72dde43947381f78.js +1 -0
- package/.next/standalone/packages/ui/.next/static/chunks/7590e65bcaa41e8b.js +1 -0
- package/.next/standalone/packages/ui/.next/static/chunks/762fe8c3999a1965.js +1 -0
- package/.next/standalone/packages/ui/.next/static/chunks/794f3931f1ca12d2.js +1 -0
- package/.next/standalone/packages/ui/.next/static/chunks/7b70989270600907.js +148 -0
- package/.next/standalone/packages/ui/.next/static/chunks/8287406f2fe1c1c3.js +1 -0
- package/.next/standalone/packages/ui/.next/static/chunks/839e44eec90aa73d.js +60 -0
- package/.next/standalone/packages/ui/.next/static/chunks/85b2b8ec762b7c79.js +62 -0
- package/.next/standalone/packages/ui/.next/static/chunks/89a8f922ce491ce9.js +93 -0
- package/.next/standalone/packages/ui/.next/static/chunks/8ff23db3e3143bc7.js +5 -0
- package/.next/standalone/packages/ui/.next/static/chunks/942cf63b4032c808.js +29 -0
- package/.next/standalone/packages/ui/.next/static/chunks/95bd0faa6092d8ba.js +1 -0
- package/.next/standalone/packages/ui/.next/static/chunks/97bd44afaee5f129.js +1 -0
- package/.next/standalone/packages/ui/.next/static/chunks/97c8160044aea609.js +77 -0
- package/.next/standalone/packages/ui/.next/static/chunks/9d06bd5d701ace73.js +1 -0
- package/.next/standalone/packages/ui/.next/static/chunks/a0b34f852bfa3d1b.js +36 -0
- package/.next/standalone/packages/ui/.next/static/chunks/a1ca5af350378f72.js +1 -0
- package/.next/standalone/packages/ui/.next/static/chunks/af643629ba393b18.js +15 -0
- package/.next/standalone/packages/ui/.next/static/chunks/b6976cf6c48996e5.js +1 -0
- package/.next/standalone/packages/ui/.next/static/chunks/b6ffd44cbe740f15.js +1 -0
- package/.next/standalone/packages/ui/.next/static/chunks/b8353eb8c6fb895e.js +1 -0
- package/.next/standalone/packages/ui/.next/static/chunks/b845813463167db0.js +5 -0
- package/.next/standalone/packages/ui/.next/static/chunks/b900efab2eee69a0.js +15 -0
- package/.next/standalone/packages/ui/.next/static/chunks/bd9893e28f8f6a9a.css +1 -0
- package/.next/standalone/packages/ui/.next/static/chunks/c762baa705e11b30.js +1 -0
- package/.next/standalone/packages/ui/.next/static/chunks/cbfb9d957f708c08.js +1 -0
- package/.next/standalone/packages/ui/.next/static/chunks/cca4441cde342ae3.js +1 -0
- package/.next/standalone/packages/ui/.next/static/chunks/cf53882a2c15630f.js +1 -0
- package/.next/standalone/packages/ui/.next/static/chunks/d43971093c91d3b2.js +160 -0
- package/.next/standalone/packages/ui/.next/static/chunks/d784d84d5b880e48.js +1 -0
- package/.next/standalone/packages/ui/.next/static/chunks/db44023a744297d1.js +1 -0
- package/.next/standalone/packages/ui/.next/static/chunks/dbe7840308be36b8.js +1 -0
- package/.next/standalone/packages/ui/.next/static/chunks/dc0a4df8f7080b29.js +1 -0
- package/.next/standalone/packages/ui/.next/static/chunks/dd8e053aa48c6398.js +1 -0
- package/.next/standalone/packages/ui/.next/static/chunks/ddc7726e19e5e25c.js +43 -0
- package/.next/standalone/packages/ui/.next/static/chunks/df7e61b074dee049.js +152 -0
- package/.next/standalone/packages/ui/.next/static/chunks/e20849e3abe63aa5.js +55 -0
- package/.next/standalone/packages/ui/.next/static/chunks/e2792c100b4041a1.js +15 -0
- package/.next/standalone/packages/ui/.next/static/chunks/e2dce648399ad4d4.js +1 -0
- package/.next/standalone/packages/ui/.next/static/chunks/e3bc96a996e2a314.js +24 -0
- package/.next/standalone/packages/ui/.next/static/chunks/e5aab2c562822175.js +1 -0
- package/.next/standalone/packages/ui/.next/static/chunks/efbbc4dc4b32a270.js +4 -0
- package/.next/standalone/packages/ui/.next/static/chunks/f0376ba3b56dbf10.js +4 -0
- package/.next/standalone/packages/ui/.next/static/chunks/f88536b96f1df686.js +1 -0
- package/.next/standalone/packages/ui/.next/static/chunks/turbopack-5fa55215af0efb15.js +3 -0
- package/.next/standalone/packages/ui/next.config.ts +5 -0
- package/.next/standalone/packages/ui/package.json +2 -1
- package/.next/standalone/packages/ui/scripts/post-build.mjs +15 -1
- package/.next/standalone/packages/ui/server.js +1 -1
- package/.next/standalone/packages/ui/src/app/globals.css +25 -0
- package/.next/standalone/packages/ui/src/app/specs/specs-client.tsx +180 -140
- package/.next/standalone/packages/ui/src/components/main-sidebar.tsx +3 -3
- package/.next/standalone/packages/ui/src/components/mermaid-diagram.test.ts +92 -0
- package/.next/standalone/packages/ui/src/components/mermaid-diagram.tsx +139 -0
- package/.next/standalone/packages/ui/src/components/spec-detail-client.tsx +47 -7
- package/.next/standalone/packages/ui/src/components/specs-nav-sidebar.tsx +3 -13
- package/.next/standalone/packages/ui/src/contexts/project-context.tsx +14 -14
- package/.next/standalone/packages/ui/tsconfig.tsbuildinfo +1 -1
- package/.next/static/chunks/038fb2d565c88582.js +2 -0
- package/.next/static/chunks/0f108f65249f8820.js +19 -0
- package/.next/static/chunks/1104de0c16e0b792.js +59 -0
- package/.next/static/chunks/1490995adc7829e2.js +136 -0
- package/.next/static/chunks/16b742746668b9d6.js +56 -0
- package/.next/static/chunks/16ff9833ae1bb3ae.js +1 -0
- package/.next/static/chunks/192b2f6118d057e2.js +60 -0
- package/.next/static/chunks/1a910f137d27fff0.js +63 -0
- package/.next/static/chunks/1f052e076ca9a3ff.js +1 -0
- package/.next/static/chunks/20f4141ccb5d4eb4.js +1 -0
- package/.next/static/chunks/2136b3131f74188f.js +1 -0
- package/.next/static/chunks/2204c0f16b23ec4c.js +3 -0
- package/.next/static/chunks/294dea6dbec43ca6.js +1 -0
- package/.next/static/chunks/2a33b9246ea4be03.js +2 -0
- package/.next/static/chunks/2c85b8059e42248a.js +1 -0
- package/.next/static/chunks/305b74f3c20cb4ef.js +1 -0
- package/.next/static/chunks/3276ca6fd9005903.js +13 -0
- package/.next/static/chunks/37f2e45cf97245d9.js +117 -0
- package/.next/static/chunks/39691fae9a3463fe.js +262 -0
- package/.next/static/chunks/3b6b058ebd14dbed.js +1 -0
- package/.next/static/chunks/3ed1465109fecc2d.js +1 -0
- package/.next/static/chunks/3f94c1ef6e27c8bd.js +1 -0
- package/.next/static/chunks/414a78f7b9b58d11.js +53 -0
- package/.next/static/chunks/4e85dea329906168.js +1 -0
- package/.next/static/chunks/525d6cb99a13c44a.js +215 -0
- package/.next/static/chunks/5295f0e82fd2a6d3.js +24 -0
- package/.next/static/chunks/567bc31005c31006.js +1 -0
- package/.next/static/chunks/56894ea818ee2a54.js +1 -0
- package/.next/static/chunks/569b4347ce55d973.js +1 -0
- package/.next/static/chunks/5fffdea0623d8a25.js +1 -0
- package/.next/static/chunks/642374ace530e2bd.js +1 -0
- package/.next/static/chunks/64543dbd7a7a99b7.js +1 -0
- package/.next/static/chunks/6483096c16d96f2c.js +15 -0
- package/.next/static/chunks/66d3fa1af3ff1fbf.js +1 -0
- package/.next/static/chunks/67a1d37727697340.js +1 -0
- package/.next/static/chunks/6f3c460ef90843d6.js +215 -0
- package/.next/static/chunks/6ff7b0a8653036b2.js +1 -0
- package/.next/static/chunks/72dde43947381f78.js +1 -0
- package/.next/static/chunks/7590e65bcaa41e8b.js +1 -0
- package/.next/static/chunks/762fe8c3999a1965.js +1 -0
- package/.next/static/chunks/794f3931f1ca12d2.js +1 -0
- package/.next/static/chunks/7b70989270600907.js +148 -0
- package/.next/static/chunks/8287406f2fe1c1c3.js +1 -0
- package/.next/static/chunks/839e44eec90aa73d.js +60 -0
- package/.next/static/chunks/85b2b8ec762b7c79.js +62 -0
- package/.next/static/chunks/89a8f922ce491ce9.js +93 -0
- package/.next/static/chunks/8ff23db3e3143bc7.js +5 -0
- package/.next/static/chunks/942cf63b4032c808.js +29 -0
- package/.next/static/chunks/95bd0faa6092d8ba.js +1 -0
- package/.next/static/chunks/97bd44afaee5f129.js +1 -0
- package/.next/static/chunks/97c8160044aea609.js +77 -0
- package/.next/static/chunks/9d06bd5d701ace73.js +1 -0
- package/.next/static/chunks/a0b34f852bfa3d1b.js +36 -0
- package/.next/static/chunks/a1ca5af350378f72.js +1 -0
- package/.next/static/chunks/af643629ba393b18.js +15 -0
- package/.next/static/chunks/b6976cf6c48996e5.js +1 -0
- package/.next/static/chunks/b6ffd44cbe740f15.js +1 -0
- package/.next/static/chunks/b8353eb8c6fb895e.js +1 -0
- package/.next/static/chunks/b845813463167db0.js +5 -0
- package/.next/static/chunks/b900efab2eee69a0.js +15 -0
- package/.next/static/chunks/bd9893e28f8f6a9a.css +1 -0
- package/.next/static/chunks/c762baa705e11b30.js +1 -0
- package/.next/static/chunks/cbfb9d957f708c08.js +1 -0
- package/.next/static/chunks/cca4441cde342ae3.js +1 -0
- package/.next/static/chunks/cf53882a2c15630f.js +1 -0
- package/.next/static/chunks/d43971093c91d3b2.js +160 -0
- package/.next/static/chunks/d784d84d5b880e48.js +1 -0
- package/.next/static/chunks/db44023a744297d1.js +1 -0
- package/.next/static/chunks/dbe7840308be36b8.js +1 -0
- package/.next/static/chunks/dc0a4df8f7080b29.js +1 -0
- package/.next/static/chunks/dd8e053aa48c6398.js +1 -0
- package/.next/static/chunks/ddc7726e19e5e25c.js +43 -0
- package/.next/static/chunks/df7e61b074dee049.js +152 -0
- package/.next/static/chunks/e20849e3abe63aa5.js +55 -0
- package/.next/static/chunks/e2792c100b4041a1.js +15 -0
- package/.next/static/chunks/e2dce648399ad4d4.js +1 -0
- package/.next/static/chunks/e3bc96a996e2a314.js +24 -0
- package/.next/static/chunks/e5aab2c562822175.js +1 -0
- package/.next/static/chunks/efbbc4dc4b32a270.js +4 -0
- package/.next/static/chunks/f0376ba3b56dbf10.js +4 -0
- package/.next/static/chunks/f88536b96f1df686.js +1 -0
- package/.next/static/chunks/turbopack-5fa55215af0efb15.js +3 -0
- package/package.json +3 -2
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__c592f5d1._.js +0 -3
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/_6174313a._.js +0 -3
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/_6e4dd8b6._.js +0 -3
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/_7fa1d4b1._.js +0 -3
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/_e1889307._.js +0 -3
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/_f1e82b43._.js +0 -3
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_af9d3830._.js +0 -3
- package/.next/standalone/packages/ui/.next/static/chunks/07f48b316e895080.js +0 -1
- package/.next/standalone/packages/ui/.next/static/chunks/0a7be410b438418a.js +0 -1
- package/.next/standalone/packages/ui/.next/static/chunks/1089ca88f6bef846.js +0 -1
- package/.next/standalone/packages/ui/.next/static/chunks/17471c87082c392c.js +0 -5
- package/.next/standalone/packages/ui/.next/static/chunks/220ba5cb8fe4dd69.js +0 -1
- package/.next/standalone/packages/ui/.next/static/chunks/35ccd3286e538bd2.js +0 -1
- package/.next/standalone/packages/ui/.next/static/chunks/4a7396c9a77e64d5.js +0 -1
- package/.next/standalone/packages/ui/.next/static/chunks/50aead33b660f05c.js +0 -1
- package/.next/standalone/packages/ui/.next/static/chunks/571033caca823138.js +0 -1
- package/.next/standalone/packages/ui/.next/static/chunks/5a6fc30cd64085b4.css +0 -1
- package/.next/standalone/packages/ui/.next/static/chunks/5c2072ad938de8ed.js +0 -1
- package/.next/standalone/packages/ui/.next/static/chunks/7f732ea69e643219.js +0 -2
- package/.next/standalone/packages/ui/.next/static/chunks/843e1dfdc28e1385.js +0 -1
- package/.next/standalone/packages/ui/.next/static/chunks/9dad7fd31627df80.js +0 -1
- package/.next/standalone/packages/ui/.next/static/chunks/a02c1f50ff00204f.js +0 -1
- package/.next/standalone/packages/ui/.next/static/chunks/a055d4b2866ff8d4.js +0 -1
- package/.next/standalone/packages/ui/.next/static/chunks/afb7c5a4255f4081.js +0 -3
- package/.next/standalone/packages/ui/.next/static/chunks/b760a3a9c2c8be28.js +0 -1
- package/.next/standalone/packages/ui/.next/static/chunks/b9b9d7565bc2c2ad.js +0 -1
- package/.next/standalone/packages/ui/.next/static/chunks/db281fdc89c063c5.js +0 -1
- package/.next/standalone/packages/ui/.next/static/chunks/dcdd95180149fa10.js +0 -1
- package/.next/standalone/packages/ui/.next/static/chunks/ebd89051637b9a47.js +0 -4
- package/.next/standalone/packages/ui/.next/static/chunks/f3ec9fd77a8618b1.js +0 -19
- package/.next/standalone/packages/ui/.next/static/chunks/f9db24028d8c058e.js +0 -1
- package/.next/standalone/packages/ui/.next/static/chunks/fb640f50455ba34f.js +0 -1
- package/.next/standalone/packages/ui/.next/static/chunks/turbopack-b9690cacbf9fe48c.js +0 -3
- package/.next/standalone/packages/ui/dist/BUILD_ID +0 -1
- package/.next/standalone/packages/ui/dist/public/f864aa7e7061c0600e35cf3d879b27cf.txt +0 -1
- package/.next/standalone/packages/ui/dist/public/favicon.ico +0 -0
- package/.next/standalone/packages/ui/dist/public/file.svg +0 -1
- package/.next/standalone/packages/ui/dist/public/github-mark-white.svg +0 -1
- package/.next/standalone/packages/ui/dist/public/github-mark.svg +0 -1
- package/.next/standalone/packages/ui/dist/public/globe.svg +0 -1
- package/.next/standalone/packages/ui/dist/public/icon.svg +0 -7
- package/.next/standalone/packages/ui/dist/public/logo-dark-bg.svg +0 -17
- package/.next/standalone/packages/ui/dist/public/logo-with-bg.svg +0 -17
- package/.next/standalone/packages/ui/dist/public/logo.svg +0 -17
- package/.next/standalone/packages/ui/dist/public/next.svg +0 -1
- package/.next/standalone/packages/ui/dist/public/vercel.svg +0 -1
- package/.next/standalone/packages/ui/dist/public/window.svg +0 -1
- package/.next/standalone/packages/ui/dist/standalone/packages/web/README.md +0 -196
- package/.next/standalone/packages/ui/dist/standalone/packages/web/leanspec.db +0 -0
- package/.next/standalone/packages/ui/dist/standalone/packages/web/package.json +0 -75
- package/.next/standalone/packages/ui/dist/standalone/packages/web/server.js +0 -44
- package/.next/standalone/packages/ui/dist/standalone/specs/014-complete-custom-frontmatter/README.md +0 -175
- package/.next/standalone/packages/ui/dist/standalone/specs/016-github-action/README.md +0 -317
- package/.next/standalone/packages/ui/dist/standalone/specs/017-vscode-extension/README.md +0 -261
- package/.next/standalone/packages/ui/dist/standalone/specs/018-spec-validation/CLI-DESIGN.md +0 -380
- package/.next/standalone/packages/ui/dist/standalone/specs/018-spec-validation/CONFIGURATION-EXAMPLES.md +0 -230
- package/.next/standalone/packages/ui/dist/standalone/specs/018-spec-validation/CONFIGURATION.md +0 -285
- package/.next/standalone/packages/ui/dist/standalone/specs/018-spec-validation/IMPLEMENTATION.md +0 -358
- package/.next/standalone/packages/ui/dist/standalone/specs/018-spec-validation/README.md +0 -303
- package/.next/standalone/packages/ui/dist/standalone/specs/018-spec-validation/TESTING.md +0 -368
- package/.next/standalone/packages/ui/dist/standalone/specs/018-spec-validation/VALIDATION-RULES.md +0 -327
- package/.next/standalone/packages/ui/dist/standalone/specs/024-pattern-aware-list-grouping/README.md +0 -117
- package/.next/standalone/packages/ui/dist/standalone/specs/025-template-config-updates/README.md +0 -73
- package/.next/standalone/packages/ui/dist/standalone/specs/026-init-pattern-selection/README.md +0 -109
- package/.next/standalone/packages/ui/dist/standalone/specs/034-copilot-slash-commands/README.md +0 -107
- package/.next/standalone/packages/ui/dist/standalone/specs/035-live-specs-showcase/ARCHITECTURE.md +0 -244
- package/.next/standalone/packages/ui/dist/standalone/specs/035-live-specs-showcase/IMPLEMENTATION.md +0 -429
- package/.next/standalone/packages/ui/dist/standalone/specs/035-live-specs-showcase/README.md +0 -302
- package/.next/standalone/packages/ui/dist/standalone/specs/036-pm-integrations/README.md +0 -158
- package/.next/standalone/packages/ui/dist/standalone/specs/043-official-launch-02/DEMO-AI-ASSISTED.md +0 -359
- package/.next/standalone/packages/ui/dist/standalone/specs/043-official-launch-02/DEMO-FULL-LIFECYCLE.md +0 -86
- package/.next/standalone/packages/ui/dist/standalone/specs/043-official-launch-02/DEMO-REAL-FEATURE.md +0 -437
- package/.next/standalone/packages/ui/dist/standalone/specs/043-official-launch-02/DEMO-SCRIPT.md +0 -365
- package/.next/standalone/packages/ui/dist/standalone/specs/043-official-launch-02/DOGFOODING-FINAL.md +0 -203
- package/.next/standalone/packages/ui/dist/standalone/specs/043-official-launch-02/DOGFOODING-SESSION-2025-11-06.md +0 -174
- package/.next/standalone/packages/ui/dist/standalone/specs/043-official-launch-02/DOGFOODING-SUMMARY.md +0 -156
- package/.next/standalone/packages/ui/dist/standalone/specs/043-official-launch-02/IMPLEMENTATION.md +0 -183
- package/.next/standalone/packages/ui/dist/standalone/specs/043-official-launch-02/MARKETING.md +0 -229
- package/.next/standalone/packages/ui/dist/standalone/specs/043-official-launch-02/NEXT-STEPS-DEMO.md +0 -243
- package/.next/standalone/packages/ui/dist/standalone/specs/043-official-launch-02/README.md +0 -217
- package/.next/standalone/packages/ui/dist/standalone/specs/043-official-launch-02/SESSION-2025-11-06.md +0 -166
- package/.next/standalone/packages/ui/dist/standalone/specs/043-official-launch-02/TESTING.md +0 -126
- package/.next/standalone/packages/ui/dist/standalone/specs/045-unified-dashboard/ACTUAL-IMPLEMENTATION.md +0 -108
- package/.next/standalone/packages/ui/dist/standalone/specs/045-unified-dashboard/DESIGN.md +0 -382
- package/.next/standalone/packages/ui/dist/standalone/specs/045-unified-dashboard/IMPLEMENTATION.md +0 -144
- package/.next/standalone/packages/ui/dist/standalone/specs/045-unified-dashboard/RATIONALE.md +0 -146
- package/.next/standalone/packages/ui/dist/standalone/specs/045-unified-dashboard/README.md +0 -208
- package/.next/standalone/packages/ui/dist/standalone/specs/045-unified-dashboard/TESTING.md +0 -182
- package/.next/standalone/packages/ui/dist/standalone/specs/047-git-backfill-timestamps/README.md +0 -314
- package/.next/standalone/packages/ui/dist/standalone/specs/048-spec-complexity-analysis/FINDINGS.md +0 -113
- package/.next/standalone/packages/ui/dist/standalone/specs/048-spec-complexity-analysis/GUIDELINES.md +0 -237
- package/.next/standalone/packages/ui/dist/standalone/specs/048-spec-complexity-analysis/README.md +0 -149
- package/.next/standalone/packages/ui/dist/standalone/specs/049-leanspec-first-principles/ANALYSIS-COMPARISONS.md +0 -175
- package/.next/standalone/packages/ui/dist/standalone/specs/049-leanspec-first-principles/ANALYSIS-CONSTRAINTS.md +0 -254
- package/.next/standalone/packages/ui/dist/standalone/specs/049-leanspec-first-principles/FIRST-PRINCIPLES.md +0 -376
- package/.next/standalone/packages/ui/dist/standalone/specs/049-leanspec-first-principles/OPERATIONALIZATION-ROADMAP.md +0 -240
- package/.next/standalone/packages/ui/dist/standalone/specs/049-leanspec-first-principles/OPERATIONALIZATION-TOOLS.md +0 -175
- package/.next/standalone/packages/ui/dist/standalone/specs/049-leanspec-first-principles/README.md +0 -374
- package/.next/standalone/packages/ui/dist/standalone/specs/051-docs-system-prompt-principles/README.md +0 -339
- package/.next/standalone/packages/ui/dist/standalone/specs/052-branding-assets/README.md +0 -128
- package/.next/standalone/packages/ui/dist/standalone/specs/053-spec-assets-philosophy/README.md +0 -97
- package/.next/standalone/packages/ui/dist/standalone/specs/054-validate-output-lint-style/DESIGN-DECISIONS.md +0 -93
- package/.next/standalone/packages/ui/dist/standalone/specs/054-validate-output-lint-style/OUTPUT-FORMAT-SPEC.md +0 -146
- package/.next/standalone/packages/ui/dist/standalone/specs/054-validate-output-lint-style/README.md +0 -175
- package/.next/standalone/packages/ui/dist/standalone/specs/055-readme-redesign-ai-first/ANALYSIS-PART1.md +0 -397
- package/.next/standalone/packages/ui/dist/standalone/specs/055-readme-redesign-ai-first/ANALYSIS-PART2.md +0 -342
- package/.next/standalone/packages/ui/dist/standalone/specs/055-readme-redesign-ai-first/ANALYSIS.md +0 -44
- package/.next/standalone/packages/ui/dist/standalone/specs/055-readme-redesign-ai-first/CHANGES.md +0 -150
- package/.next/standalone/packages/ui/dist/standalone/specs/055-readme-redesign-ai-first/CONCERNS-ANALYSIS.md +0 -351
- package/.next/standalone/packages/ui/dist/standalone/specs/055-readme-redesign-ai-first/DOCS-ALIGNMENT-ANALYSIS.md +0 -238
- package/.next/standalone/packages/ui/dist/standalone/specs/055-readme-redesign-ai-first/README.md +0 -280
- package/.next/standalone/packages/ui/dist/standalone/specs/055-readme-redesign-ai-first/REDESIGN-DRAFT.md +0 -372
- package/.next/standalone/packages/ui/dist/standalone/specs/055-readme-redesign-ai-first/REDESIGN-REFINED.md +0 -466
- package/.next/standalone/packages/ui/dist/standalone/specs/056-docs-site-accuracy-audit/AUDIT-RESULTS.md +0 -178
- package/.next/standalone/packages/ui/dist/standalone/specs/056-docs-site-accuracy-audit/README.md +0 -174
- package/.next/standalone/packages/ui/dist/standalone/specs/057-docs-validation-comprehensive/README.md +0 -295
- package/.next/standalone/packages/ui/dist/standalone/specs/057-docs-validation-comprehensive/VALIDATION-RESULTS.md +0 -487
- package/.next/standalone/packages/ui/dist/standalone/specs/058-docs-overview-polish/ANALYSIS.md +0 -241
- package/.next/standalone/packages/ui/dist/standalone/specs/058-docs-overview-polish/DESIGN.md +0 -279
- package/.next/standalone/packages/ui/dist/standalone/specs/058-docs-overview-polish/IMPLEMENTATION.md +0 -642
- package/.next/standalone/packages/ui/dist/standalone/specs/058-docs-overview-polish/NOTES.md +0 -125
- package/.next/standalone/packages/ui/dist/standalone/specs/058-docs-overview-polish/README.md +0 -286
- package/.next/standalone/packages/ui/dist/standalone/specs/059-programmatic-spec-management/ARCHITECTURE.md +0 -392
- package/.next/standalone/packages/ui/dist/standalone/specs/059-programmatic-spec-management/COMMANDS.md +0 -1002
- package/.next/standalone/packages/ui/dist/standalone/specs/059-programmatic-spec-management/CONTEXT-ENGINEERING.md +0 -411
- package/.next/standalone/packages/ui/dist/standalone/specs/059-programmatic-spec-management/IMPLEMENTATION.md +0 -812
- package/.next/standalone/packages/ui/dist/standalone/specs/059-programmatic-spec-management/README.md +0 -504
- package/.next/standalone/packages/ui/dist/standalone/specs/059-programmatic-spec-management/TESTING.md +0 -724
- package/.next/standalone/packages/ui/dist/standalone/specs/060-core-concepts-coherence/README.md +0 -125
- package/.next/standalone/packages/ui/dist/standalone/specs/061-ai-assisted-spec-writing/README.md +0 -299
- package/.next/standalone/packages/ui/dist/standalone/specs/062-docs-info-architecture-v2/IMPLEMENTATION-PLAN.md +0 -174
- package/.next/standalone/packages/ui/dist/standalone/specs/062-docs-info-architecture-v2/PAGE-SPECIFICATIONS.md +0 -265
- package/.next/standalone/packages/ui/dist/standalone/specs/062-docs-info-architecture-v2/PROBLEM-ANALYSIS.md +0 -36
- package/.next/standalone/packages/ui/dist/standalone/specs/062-docs-info-architecture-v2/README.md +0 -243
- package/.next/standalone/packages/ui/dist/standalone/specs/062-docs-info-architecture-v2/SOLUTION-DESIGN.md +0 -82
- package/.next/standalone/packages/ui/dist/standalone/specs/063-migration-from-existing-tools/DESIGN.md +0 -338
- package/.next/standalone/packages/ui/dist/standalone/specs/063-migration-from-existing-tools/EXAMPLES.md +0 -354
- package/.next/standalone/packages/ui/dist/standalone/specs/063-migration-from-existing-tools/IMPLEMENTATION.md +0 -189
- package/.next/standalone/packages/ui/dist/standalone/specs/063-migration-from-existing-tools/README.md +0 -119
- package/.next/standalone/packages/ui/dist/standalone/specs/064-docs-site-zh-translation/README.md +0 -170
- package/.next/standalone/packages/ui/dist/standalone/specs/065-v03-planning/README.md +0 -158
- package/.next/standalone/packages/ui/dist/standalone/specs/066-context-economy-thresholds-refinement/README.md +0 -842
- package/.next/standalone/packages/ui/dist/standalone/specs/067-monorepo-core-extraction/README.md +0 -358
- package/.next/standalone/packages/ui/dist/standalone/specs/068-live-specs-ux-enhancements/DESIGN.md +0 -444
- package/.next/standalone/packages/ui/dist/standalone/specs/068-live-specs-ux-enhancements/README.md +0 -357
- package/.next/standalone/packages/ui/dist/standalone/specs/069-token-counting-utils/README.md +0 -551
- package/.next/standalone/packages/ui/dist/standalone/specs/070-mcp-token-counting-tool/README.md +0 -372
- package/.next/standalone/packages/ui/dist/standalone/specs/071-simplified-token-validation/README.md +0 -489
- package/.next/standalone/packages/ui/dist/standalone/specs/072-ai-agent-first-use-workflow/README.md +0 -285
- package/.next/standalone/packages/ui/dist/standalone/specs/073-template-engine-agents-md/README.md +0 -323
- package/.next/standalone/packages/ui/dist/standalone/specs/074-content-at-creation/README.md +0 -136
- package/.next/standalone/packages/ui/dist/standalone/specs/075-intelligent-search-engine/README.md +0 -399
- package/.next/standalone/packages/ui/dist/standalone/specs/076-programmatic-spec-relationships/README.md +0 -301
- package/.next/standalone/packages/ui/dist/standalone/specs/077-archiving-strategy/README.md +0 -235
- package/.next/standalone/packages/ui/dist/standalone/specs/078-sub-spec-template-system/README.md +0 -303
- package/.next/standalone/packages/ui/dist/standalone/specs/079-cli-alphabetical-organization/README.md +0 -196
- package/.next/standalone/packages/ui/dist/standalone/specs/080-mcp-server-modular-architecture/README.md +0 -388
- package/.next/standalone/packages/ui/dist/standalone/specs/081-web-app-ux-redesign/README.md +0 -824
- package/.next/standalone/packages/ui/dist/standalone/specs/082-web-realtime-sync-architecture/DATABASE.md +0 -111
- package/.next/standalone/packages/ui/dist/standalone/specs/082-web-realtime-sync-architecture/DEPLOYMENT.md +0 -69
- package/.next/standalone/packages/ui/dist/standalone/specs/082-web-realtime-sync-architecture/FILESYSTEM.md +0 -77
- package/.next/standalone/packages/ui/dist/standalone/specs/082-web-realtime-sync-architecture/IMPLEMENTATION.md +0 -184
- package/.next/standalone/packages/ui/dist/standalone/specs/082-web-realtime-sync-architecture/README.md +0 -496
- package/.next/standalone/packages/ui/dist/standalone/specs/083-web-navigation-performance/README.md +0 -490
- package/.next/standalone/packages/ui/dist/standalone/specs/084-sub-spec-visibility-in-tools/README.md +0 -389
- package/.next/standalone/packages/ui/dist/standalone/specs/085-cli-relationship-commands/README.md +0 -920
- package/.next/standalone/packages/ui/dist/standalone/specs/086-template-component-deduplication/README.md +0 -146
- package/.next/standalone/packages/ui/dist/standalone/specs/087-cli-ui-command/README.md +0 -607
- package/.next/standalone/packages/ui/dist/standalone/specs/088-core-concepts-terminology-only/README.md +0 -104
- package/.next/standalone/packages/ui/dist/standalone/specs/089-sdd-practical-tutorials/README.md +0 -124
- package/.next/standalone/packages/ui/dist/standalone/specs/090-leanspec-sdd-case-studies/README.md +0 -129
- package/.next/standalone/packages/ui/dist/standalone/specs/091-chinese-localization-strategy/README.md +0 -244
- package/.next/standalone/packages/ui/dist/standalone/specs/092-docs-site-submodule-migration/README.md +0 -148
- package/.next/standalone/packages/ui/dist/standalone/specs/093-spec-detail-ui-improvements/README.md +0 -54
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/001-typescript-cli-migration/README.md +0 -37
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/002-template-system-redesign/README.md +0 -60
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/003-init-system-redesign/README.md +0 -113
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/004-existing-project-integration/README.md +0 -69
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/004-existing-project-integration/SUMMARY.md +0 -112
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/005-structured-frontmatter/README.md +0 -229
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/006-pm-visualization-tools/README.md +0 -406
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/007-system-prompt-updates/README.md +0 -168
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/008-commander-migration/README.md +0 -174
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/009-cli-ux-enhancement/README.md +0 -212
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/010-commands-refactor/README.md +0 -249
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/011-test-results/README.md +0 -60
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/011-test-results/TEST_SUMMARY.md +0 -139
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/012-sub-spec-files/README.md +0 -722
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/013-custom-spec-templates/README.md +0 -413
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/015-npm-publishing/README.md +0 -255
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/019-readme-improvement/README.md +0 -252
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/020-documentation-website/README.md +0 -253
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/021-docusaurus-vercel-migration/README.md +0 -612
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/022-flexible-folder-structure/README.md +0 -794
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/023-folder-structure-improvements/DESIGN.md +0 -834
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/023-folder-structure-improvements/README.md +0 -255
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/027-cli-ui-ux-optimization/README.md +0 -454
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/028-cli-ui-modernization/README.md +0 -172
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/029-visualization-improvements/IMPLEMENTATION.md +0 -152
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/029-visualization-improvements/README.md +0 -95
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/030-created-date-format-bug/README.md +0 -87
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/031-gantt-ux-improvements/README.md +0 -230
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/032-console-log-chalk-security/README.md +0 -89
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/033-mcp-server/README.md +0 -89
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/037-docs-overhaul/README.md +0 -166
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/038-flat-structure-migration/README.md +0 -276
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/038-mcp-frontmatter-bug-fix/README.md +0 -122
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/039-simplify-viewer-commands/README.md +0 -198
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/039-template-variable-sync/README.md +0 -192
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/040-spec-viewer-commands/README.md +0 -171
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/042-mcp-error-handling/README.md +0 -200
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/044-spec-relationships-clarity/README.md +0 -317
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/046-stats-dashboard-refactor/DESIGN.md +0 -276
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/046-stats-dashboard-refactor/IMPLEMENTATION.md +0 -241
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/046-stats-dashboard-refactor/README.md +0 -139
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/046-stats-dashboard-refactor/TESTING.md +0 -328
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/050-tool-redesign-first-principles/README.md +0 -400
- package/.next/standalone/packages/ui/dist/static/chunks/0c19c69aa7625475.js +0 -1
- package/.next/standalone/packages/ui/dist/static/chunks/116800b03245a1e5.js +0 -1
- package/.next/standalone/packages/ui/dist/static/chunks/15843a3d7584e314.js +0 -1
- package/.next/standalone/packages/ui/dist/static/chunks/19e80edf527aef5c.js +0 -1
- package/.next/standalone/packages/ui/dist/static/chunks/465954d5af3284a9.js +0 -1
- package/.next/standalone/packages/ui/dist/static/chunks/5abeeb89f1412a80.js +0 -3
- package/.next/standalone/packages/ui/dist/static/chunks/5c2072ad938de8ed.js +0 -1
- package/.next/standalone/packages/ui/dist/static/chunks/6a05a93ec8fa7b83.js +0 -1
- package/.next/standalone/packages/ui/dist/static/chunks/778e42188e450b39.css +0 -1
- package/.next/standalone/packages/ui/dist/static/chunks/a02c1f50ff00204f.js +0 -1
- package/.next/standalone/packages/ui/dist/static/chunks/a45464b9776dd88e.js +0 -1
- package/.next/standalone/packages/ui/dist/static/chunks/a6dad97d9634a72d.js +0 -1
- package/.next/standalone/packages/ui/dist/static/chunks/b0ea0ac61604f843.js +0 -1
- package/.next/standalone/packages/ui/dist/static/chunks/c06e85b449720194.js +0 -1
- package/.next/standalone/packages/ui/dist/static/chunks/c557ac675be79771.js +0 -1
- package/.next/standalone/packages/ui/dist/static/chunks/cad005a57ffbb2d3.js +0 -1
- package/.next/standalone/packages/ui/dist/static/chunks/cdf6fe33bc65efbc.js +0 -1
- package/.next/standalone/packages/ui/dist/static/chunks/d12ed5dbe44caed7.js +0 -1
- package/.next/standalone/packages/ui/dist/static/chunks/d1ebe5c1a344f4ca.js +0 -5
- package/.next/standalone/packages/ui/dist/static/chunks/d42cf1682bc46652.js +0 -1
- package/.next/standalone/packages/ui/dist/static/chunks/dde5d8bddd7fbfcf.js +0 -1
- package/.next/standalone/packages/ui/dist/static/chunks/ebd89051637b9a47.js +0 -4
- package/.next/standalone/packages/ui/dist/static/chunks/ec82875d18b29f47.js +0 -2
- package/.next/standalone/packages/ui/dist/static/chunks/f0b701df9769bcc5.js +0 -19
- package/.next/standalone/packages/ui/dist/static/chunks/turbopack-1c09a99f4c9e28d3.js +0 -3
- package/.next/standalone/packages/ui/leanspec.db +0 -0
- package/.next/static/T_KGFP0pHt_xSaaYUJa3L/_buildManifest.js +0 -11
- package/.next/static/T_KGFP0pHt_xSaaYUJa3L/_clientMiddlewareManifest.json +0 -1
- package/.next/static/T_KGFP0pHt_xSaaYUJa3L/_ssgManifest.js +0 -1
- package/.next/static/chunks/07f48b316e895080.js +0 -1
- package/.next/static/chunks/0a7be410b438418a.js +0 -1
- package/.next/static/chunks/1089ca88f6bef846.js +0 -1
- package/.next/static/chunks/17471c87082c392c.js +0 -5
- package/.next/static/chunks/220ba5cb8fe4dd69.js +0 -1
- package/.next/static/chunks/35ccd3286e538bd2.js +0 -1
- package/.next/static/chunks/4a7396c9a77e64d5.js +0 -1
- package/.next/static/chunks/50aead33b660f05c.js +0 -1
- package/.next/static/chunks/571033caca823138.js +0 -1
- package/.next/static/chunks/5a6fc30cd64085b4.css +0 -1
- package/.next/static/chunks/5c2072ad938de8ed.js +0 -1
- package/.next/static/chunks/7f732ea69e643219.js +0 -2
- package/.next/static/chunks/843e1dfdc28e1385.js +0 -1
- package/.next/static/chunks/9dad7fd31627df80.js +0 -1
- package/.next/static/chunks/a02c1f50ff00204f.js +0 -1
- package/.next/static/chunks/a055d4b2866ff8d4.js +0 -1
- package/.next/static/chunks/afb7c5a4255f4081.js +0 -3
- package/.next/static/chunks/b760a3a9c2c8be28.js +0 -1
- package/.next/static/chunks/b9b9d7565bc2c2ad.js +0 -1
- package/.next/static/chunks/db281fdc89c063c5.js +0 -1
- package/.next/static/chunks/dcdd95180149fa10.js +0 -1
- package/.next/static/chunks/ebd89051637b9a47.js +0 -4
- package/.next/static/chunks/f3ec9fd77a8618b1.js +0 -19
- package/.next/static/chunks/f9db24028d8c058e.js +0 -1
- package/.next/static/chunks/fb640f50455ba34f.js +0 -1
- package/.next/static/chunks/turbopack-b9690cacbf9fe48c.js +0 -3
- /package/.next/standalone/packages/ui/.next/static/{T_KGFP0pHt_xSaaYUJa3L → tgNrtgJYzuVQ9macE49yx}/_buildManifest.js +0 -0
- /package/.next/standalone/packages/ui/.next/static/{T_KGFP0pHt_xSaaYUJa3L → tgNrtgJYzuVQ9macE49yx}/_clientMiddlewareManifest.json +0 -0
- /package/.next/standalone/packages/ui/.next/static/{T_KGFP0pHt_xSaaYUJa3L → tgNrtgJYzuVQ9macE49yx}/_ssgManifest.js +0 -0
- /package/.next/{standalone/packages/ui/dist/static/4ZnYN1WbN4LGJQOwP6FkT → static/tgNrtgJYzuVQ9macE49yx}/_buildManifest.js +0 -0
- /package/.next/{standalone/packages/ui/dist/static/4ZnYN1WbN4LGJQOwP6FkT → static/tgNrtgJYzuVQ9macE49yx}/_clientMiddlewareManifest.json +0 -0
- /package/.next/{standalone/packages/ui/dist/static/4ZnYN1WbN4LGJQOwP6FkT → static/tgNrtgJYzuVQ9macE49yx}/_ssgManifest.js +0 -0
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
module.exports=[494735,a=>{"use strict";function b(a,b){(null==b||b>a.length)&&(b=a.length);for(var c=0,d=Array(b);c<b;c++)d[c]=a[c];return d}function c(a,b){if(!(a instanceof b))throw TypeError("Cannot call a class as a function")}function d(a,b,c){return b&&function(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1,d.configurable=!0,"value"in d&&(d.writable=!0),Object.defineProperty(a,i(d.key),d)}}(a.prototype,b),Object.defineProperty(a,"prototype",{writable:!1}),a}function e(a,b){var c="undefined"!=typeof Symbol&&a[Symbol.iterator]||a["@@iterator"];if(!c){if(Array.isArray(a)||(c=k(a))||b){c&&(a=c);var d=0,e=function(){};return{s:e,n:function(){return d>=a.length?{done:!0}:{done:!1,value:a[d++]}},e:function(a){throw a},f:e}}throw TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var f,g=!0,h=!1;return{s:function(){c=c.call(a)},n:function(){var a=c.next();return g=a.done,a},e:function(a){h=!0,f=a},f:function(){try{g||null==c.return||c.return()}finally{if(h)throw f}}}}function f(a,b,c){return(b=i(b))in a?Object.defineProperty(a,b,{value:c,enumerable:!0,configurable:!0,writable:!0}):a[b]=c,a}function g(a,b){return function(a){if(Array.isArray(a))return a}(a)||function(a,b){var c=null==a?null:"undefined"!=typeof Symbol&&a[Symbol.iterator]||a["@@iterator"];if(null!=c){var d,e,f,g,h=[],i=!0,j=!1;try{if(f=(c=c.call(a)).next,0===b){if(Object(c)!==c)return;i=!1}else for(;!(i=(d=f.call(c)).done)&&(h.push(d.value),h.length!==b);i=!0);}catch(a){j=!0,e=a}finally{try{if(!i&&null!=c.return&&(g=c.return(),Object(g)!==g))return}finally{if(j)throw e}}return h}}(a,b)||k(a,b)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function h(a){return function(a){if(Array.isArray(a))return b(a)}(a)||function(a){if("undefined"!=typeof Symbol&&null!=a[Symbol.iterator]||null!=a["@@iterator"])return Array.from(a)}(a)||k(a)||function(){throw TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function i(a){var b=function(a,b){if("object"!=typeof a||!a)return a;var c=a[Symbol.toPrimitive];if(void 0!==c){var d=c.call(a,b);if("object"!=typeof d)return d;throw TypeError("@@toPrimitive must return a primitive value.")}return String(a)}(a,"string");return"symbol"==typeof b?b:b+""}function j(a){return(j="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(a){return typeof a}:function(a){return a&&"function"==typeof Symbol&&a.constructor===Symbol&&a!==Symbol.prototype?"symbol":typeof a})(a)}function k(a,c){if(a){if("string"==typeof a)return b(a,c);var d=({}).toString.call(a).slice(8,-1);return"Object"===d&&a.constructor&&(d=a.constructor.name),"Map"===d||"Set"===d?Array.from(a):"Arguments"===d||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(d)?b(a,c):void 0}}var l=j(""),n=j({}),o=j(function(){}),p="undefined"==typeof HTMLElement?"undefined":j(HTMLElement),q=function(a){return a&&a.instanceString&&s(a.instanceString)?a.instanceString():null},r=function(a){return null!=a&&j(a)==l},s=function(a){return null!=a&&j(a)===o},t=function(a){return!x(a)&&(Array.isArray?Array.isArray(a):null!=a&&a instanceof Array)},u=function(a){return null!=a&&j(a)===n&&!t(a)&&a.constructor===Object},v=function(a){return null!=a&&j(a)===j(1)&&!isNaN(a)},w=function(a){if("undefined"!==p)return null!=a&&a instanceof HTMLElement},x=function(a){return y(a)||z(a)},y=function(a){return"collection"===q(a)&&a._private.single},z=function(a){return"collection"===q(a)&&!a._private.single},A=function(a){return"core"===q(a)},B=function(a){return"stylesheet"===q(a)},C=function(a){return null==a||!!(""===a||a.match(/^\s+$/))},D=function(a){return null!=a&&j(a)===n&&s(a.then)},E=function(a,b){b||(b=function(){if(1==arguments.length)return arguments[0];if(0==arguments.length)return"undefined";for(var a=[],b=0;b<arguments.length;b++)a.push(arguments[b]);return a.join("$")});var c=function(){var d,e=arguments,f=b.apply(this,e),g=c.cache;return(d=g[f])||(d=g[f]=a.apply(this,e)),d};return c.cache={},c},F=E(function(a){return a.replace(/([A-Z])/g,function(a){return"-"+a.toLowerCase()})}),G=E(function(a){return a.replace(/(-\w)/g,function(a){return a[1].toUpperCase()})}),H=E(function(a,b){return a+b[0].toUpperCase()+b.substring(1)},function(a,b){return a+"$"+b}),I=function(a){return C(a)?a:a.charAt(0).toUpperCase()+a.substring(1)},J=function(a,b){return a.slice(-1*b.length)===b},K="(?:[-+]?(?:(?:\\d+|\\d*\\.\\d+)(?:[Ee][+-]?\\d+)?))",L="rgb[a]?\\(("+K+"[%]?)\\s*,\\s*("+K+"[%]?)\\s*,\\s*("+K+"[%]?)(?:\\s*,\\s*("+K+"))?\\)",M="rgb[a]?\\((?:"+K+"[%]?)\\s*,\\s*(?:"+K+"[%]?)\\s*,\\s*(?:"+K+"[%]?)(?:\\s*,\\s*(?:"+K+"))?\\)",N="hsl[a]?\\(("+K+")\\s*,\\s*("+K+"[%])\\s*,\\s*("+K+"[%])(?:\\s*,\\s*("+K+"))?\\)",O="hsl[a]?\\((?:"+K+")\\s*,\\s*(?:"+K+"[%])\\s*,\\s*(?:"+K+"[%])(?:\\s*,\\s*(?:"+K+"))?\\)",P=function(a,b){return a<b?-1:+(a>b)},Q=null!=Object.assign?Object.assign.bind(Object):function(a){for(var b=arguments,c=1;c<b.length;c++){var d=b[c];if(null!=d)for(var e=Object.keys(d),f=0;f<e.length;f++){var g=e[f];a[g]=d[g]}}return a},R=function(a){if((4===a.length||7===a.length)&&"#"===a[0]){var b,c,d;return 4===a.length?(b=parseInt(a[1]+a[1],16),c=parseInt(a[2]+a[2],16),d=parseInt(a[3]+a[3],16)):(b=parseInt(a[1]+a[2],16),c=parseInt(a[3]+a[4],16),d=parseInt(a[5]+a[6],16)),[b,c,d]}},S=function(a){function b(a,b,c){return(c<0&&(c+=1),c>1&&(c-=1),c<1/6)?a+(b-a)*6*c:c<.5?b:c<2/3?a+(b-a)*(2/3-c)*6:a}var c,d,e,f,g,h,i,j,k=RegExp("^"+N+"$").exec(a);if(k){if((d=parseInt(k[1]))<0?d=(360- -1*d%360)%360:d>360&&(d%=360),d/=360,(e=parseFloat(k[2]))<0||e>100||(e/=100,(f=parseFloat(k[3]))<0||f>100)||(f/=100,void 0!==(g=k[4])&&((g=parseFloat(g))<0||g>1)))return;if(0===e)h=i=j=Math.round(255*f);else{var l=f<.5?f*(1+e):f+e-f*e,n=2*f-l;h=Math.round(255*b(n,l,d+1/3)),i=Math.round(255*b(n,l,d)),j=Math.round(255*b(n,l,d-1/3))}c=[h,i,j,g]}return c},T=function(a){var b,c=RegExp("^"+L+"$").exec(a);if(c){b=[];for(var d=[],e=1;e<=3;e++){var f=c[e];if("%"===f[f.length-1]&&(d[e]=!0),f=parseFloat(f),d[e]&&(f=f/100*255),f<0||f>255)return;b.push(Math.floor(f))}var g=d[1]||d[2]||d[3],h=d[1]&&d[2]&&d[3];if(g&&!h)return;var i=c[4];if(void 0!==i){if((i=parseFloat(i))<0||i>1)return;b.push(i)}}return b},U=function(a){return(t(a)?a:null)||V[a.toLowerCase()]||R(a)||T(a)||S(a)},V={transparent:[0,0,0,0],aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],grey:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]},W=function(a){for(var b=a.map,c=a.keys,d=c.length,e=0;e<d;e++){var f=c[e];if(u(f))throw Error("Tried to set map with object key");e<c.length-1?(null==b[f]&&(b[f]={}),b=b[f]):b[f]=a.value}},X=function(a){for(var b=a.map,c=a.keys,d=c.length,e=0;e<d;e++){var f=c[e];if(u(f))throw Error("Tried to get map with object key");if(null==(b=b[f]))break}return b},Y="undefined"!=typeof globalThis?globalThis:a.g;function Z(a){return a&&a.__esModule&&Object.prototype.hasOwnProperty.call(a,"default")?a.default:a}function $(){return f4?f3:(f4=1,f3=function(a){var b=typeof a;return null!=a&&("object"==b||"function"==b)})}function _(){if(f8)return f7;f8=1;var a=f6?f5:(f6=1,f5="object"==typeof Y&&Y&&Y.Object===Object&&Y),b="object"==typeof self&&self&&self.Object===Object&&self;return f7=a||b||Function("return this")()}function aa(){return gg?gf:(gg=1,gf=_().Symbol)}function ab(){if(gm)return gl;gm=1;var a=aa(),b=function(){if(gi)return gh;gi=1;var a=aa(),b=Object.prototype,c=b.hasOwnProperty,d=b.toString,e=a?a.toStringTag:void 0;return gh=function(a){var b=c.call(a,e),f=a[e];try{a[e]=void 0;var g=!0}catch(a){}var h=d.call(a);return g&&(b?a[e]=f:delete a[e]),h}}(),c=function(){if(gk)return gj;gk=1;var a=Object.prototype.toString;return gj=function(b){return a.call(b)}}(),d=a?a.toStringTag:void 0;return gl=function(a){return null==a?void 0===a?"[object Undefined]":"[object Null]":d&&d in Object(a)?b(a):c(a)}}function ac(){if(gq)return gp;gq=1;var a=ab(),b=go?gn:(go=1,gn=function(a){return null!=a&&"object"==typeof a});return gp=function(c){return"symbol"==typeof c||b(c)&&"[object Symbol]"==a(c)}}var ad=Z(function(){if(gu)return gt;gu=1;var a=$(),b=function(){if(ga)return f9;ga=1;var a=_();return f9=function(){return a.Date.now()}}(),c=function(){if(gs)return gr;gs=1;var a=function(){if(ge)return gd;ge=1;var a=function(){if(gc)return gb;gc=1;var a=/\s/;return gb=function(b){for(var c=b.length;c--&&a.test(b.charAt(c)););return c}}(),b=/^\s+/;return gd=function(c){return c?c.slice(0,a(c)+1).replace(b,""):c}}(),b=$(),c=ac(),d=0/0,e=/^[-+]0x[0-9a-f]+$/i,f=/^0b[01]+$/i,g=/^0o[0-7]+$/i,h=parseInt;return gr=function(i){if("number"==typeof i)return i;if(c(i))return d;if(b(i)){var j="function"==typeof i.valueOf?i.valueOf():i;i=b(j)?j+"":j}if("string"!=typeof i)return 0===i?i:+i;i=a(i);var k=f.test(i);return k||g.test(i)?h(i.slice(2),k?2:8):e.test(i)?d:+i}}(),d=Math.max,e=Math.min;return gt=function(f,g,h){var i,j,k,l,n,o,p=0,q=!1,r=!1,s=!0;if("function"!=typeof f)throw TypeError("Expected a function");function t(a){var b=i,c=j;return i=j=void 0,p=a,l=f.apply(c,b)}function u(a){var b=a-o,c=a-p;return void 0===o||b>=g||b<0||r&&c>=k}function v(){var a,c,d,f=b();if(u(f))return w(f);n=setTimeout(v,(a=f-o,c=f-p,d=g-a,r?e(d,k-c):d))}function w(a){return(n=void 0,s&&i)?t(a):(i=j=void 0,l)}function x(){var a,c=b(),d=u(c);if(i=arguments,j=this,o=c,d){if(void 0===n)return p=a=o,n=setTimeout(v,g),q?t(a):l;if(r)return clearTimeout(n),n=setTimeout(v,g),t(o)}return void 0===n&&(n=setTimeout(v,g)),l}return g=c(g)||0,a(h)&&(q=!!h.leading,k=(r="maxWait"in h)?d(c(h.maxWait)||0,g):k,s="trailing"in h?!!h.trailing:s),x.cancel=function(){void 0!==n&&clearTimeout(n),p=0,i=o=j=n=void 0},x.flush=function(){return void 0===n?l:w(b())},x}}()),ae=function(){return Date.now()},af=function(a){a&&setTimeout(function(){a(ae())},1e3/60)},ag=function(a){return af(a)},ah=function(a){for(var b,c=arguments.length>1&&void 0!==arguments[1]?arguments[1]:9261,d=c;!(b=a.next()).done;)d=65599*d+b.value|0;return d},ai=function(a){var b=arguments.length>1&&void 0!==arguments[1]?arguments[1]:9261;return 65599*b+a|0},aj=function(a){var b=arguments.length>1&&void 0!==arguments[1]?arguments[1]:5381;return(b<<5)+b+a|0},ak=function(a){return 2097152*a[0]+a[1]},al=function(a,b){return[ai(a[0],b[0]),aj(a[1],b[1])]},am=function(a,b){var c={value:0,done:!1},d=0,e=a.length;return ah({next:function(){return d<e?c.value=a[d++]:c.done=!0,c}},b)},an=function(a,b){var c={value:0,done:!1},d=0,e=a.length;return ah({next:function(){return d<e?c.value=a.charCodeAt(d++):c.done=!0,c}},b)},ao=function(){return ap(arguments)},ap=function(a){for(var b,c=0;c<a.length;c++){var d=a[c];b=0===c?an(d):an(d,b)}return b},aq=!0,ar=null!=console.warn,as=null!=console.trace,at=Number.MAX_SAFE_INTEGER||0x1fffffffffffff,au=function(){return!0},av=function(){return!1},aw=function(){return 0},ax=function(){},ay=function(a){throw Error(a)},az=function(a){if(void 0===a)return aq;aq=!!a},aA=function(a){az()&&(ar?console.warn(a):(console.log(a),as&&console.trace()))},aB=function(a){return null==a?a:t(a)?a.slice():u(a)?Q({},a):a},aC=function(a,b){for(b=a="";a++<36;b+=51*a&52?(15^a?8^Math.random()*(20^a?16:4):4).toString(16):"-");return b},aD={},aE=function(){return aD},aF=function(a){var b=Object.keys(a);return function(c){for(var d={},e=0;e<b.length;e++){var f=b[e],g=null==c?void 0:c[f];d[f]=void 0===g?a[f]:g}return d}},aG=function(a,b,c){for(var d=a.length-1;d>=0;d--)a[d]===b&&a.splice(d,1)},aH=function(a){a.splice(0,a.length)},aI=function(a,b){for(var c=0;c<b.length;c++){var d=b[c];a.push(d)}},aJ=function(a,b,c){return c&&(b=H(c,b)),a[b]},aK=function(a,b,c,d){c&&(b=H(c,b)),a[b]=d},aL=d(function a(){c(this,a),this._obj={}},[{key:"set",value:function(a,b){return this._obj[a]=b,this}},{key:"delete",value:function(a){return this._obj[a]=void 0,this}},{key:"clear",value:function(){this._obj={}}},{key:"has",value:function(a){return void 0!==this._obj[a]}},{key:"get",value:function(a){return this._obj[a]}}]),aM="undefined"!=typeof Map?Map:aL,aN=d(function a(b){if(c(this,a),this._obj=Object.create(null),this.size=0,null!=b){var d;d=null!=b.instanceString&&b.instanceString()===this.instanceString()?b.toArray():b;for(var e=0;e<d.length;e++)this.add(d[e])}},[{key:"instanceString",value:function(){return"set"}},{key:"add",value:function(a){var b=this._obj;1!==b[a]&&(b[a]=1,this.size++)}},{key:"delete",value:function(a){var b=this._obj;1===b[a]&&(b[a]=0,this.size--)}},{key:"clear",value:function(){this._obj=Object.create(null)}},{key:"has",value:function(a){return 1===this._obj[a]}},{key:"toArray",value:function(){var a=this;return Object.keys(this._obj).filter(function(b){return a.has(b)})}},{key:"forEach",value:function(a,b){return this.toArray().forEach(a,b)}}]),aO=("undefined"==typeof Set?"undefined":j(Set))!=="undefined"?Set:aN,aP=function(a,b){var c=!(arguments.length>2)||void 0===arguments[2]||arguments[2];if(void 0===a||void 0===b||!A(a))return void ay("An element must have a core reference and parameters set");var d=b.group;if(null==d&&(d=b.data&&null!=b.data.source&&null!=b.data.target?"edges":"nodes"),"nodes"!==d&&"edges"!==d)return void ay("An element must be of type `nodes` or `edges`; you specified `"+d+"`");this.length=1,this[0]=this;var e=this._private={cy:a,single:!0,data:b.data||{},position:b.position||{x:0,y:0},autoWidth:void 0,autoHeight:void 0,autoPadding:void 0,compoundBoundsClean:!1,listeners:[],group:d,style:{},rstyle:{},styleCxts:[],styleKeys:{},removed:!0,selected:!!b.selected,selectable:void 0===b.selectable||!!b.selectable,locked:!!b.locked,grabbed:!1,grabbable:void 0===b.grabbable||!!b.grabbable,pannable:void 0===b.pannable?"edges"===d:!!b.pannable,active:!1,classes:new aO,animation:{current:[],queue:[]},rscratch:{},scratch:b.scratch||{},edges:[],children:[],parent:b.parent&&b.parent.isNode()?b.parent:null,traversalCache:{},backgrounding:!1,bbCache:null,bbCacheShift:{x:0,y:0},bodyBounds:null,overlayBounds:null,labelBounds:{all:null,source:null,target:null,main:null},arrowBounds:{source:null,target:null,"mid-source":null,"mid-target":null}};if(null==e.position.x&&(e.position.x=0),null==e.position.y&&(e.position.y=0),b.renderedPosition){var f=b.renderedPosition,g=a.pan(),h=a.zoom();e.position={x:(f.x-g.x)/h,y:(f.y-g.y)/h}}var i=[];t(b.classes)?i=b.classes:r(b.classes)&&(i=b.classes.split(/\s+/));for(var j=0,k=i.length;j<k;j++){var l=i[j];l&&""!==l&&e.classes.add(l)}this.createEmitter(),(void 0===c||c)&&this.restore();var n=b.style||b.css;n&&(aA("Setting a `style` bypass at element creation should be done only when absolutely necessary. Try to use the stylesheet instead."),this.style(n))},aQ=function(a){return a={bfs:a.bfs||!a.dfs,dfs:a.dfs||!a.bfs},function(b,c,d){u(b)&&!x(b)&&(b=(e=b).roots||e.root,c=e.visit,d=e.directed),d=2!=arguments.length||s(c)?d:c,c=s(c)?c:function(){};for(var e,f,g,h=this._private.cy,i=b=r(b)?this.filter(b):b,j=[],k=[],l={},n={},o={},p=0,q=this.byGroup(),t=q.nodes,v=q.edges,w=0;w<i.length;w++){var y=i[w],z=y.id();y.isNode()&&(j.unshift(y),a.bfs&&(o[z]=!0,k.push(y)),n[z]=0)}for(;0!==j.length&&(0===(g=function(){var b,e=a.bfs?j.shift():j.pop(),g=e.id();if(a.dfs){if(o[g])return 0;o[g]=!0,k.push(e)}var h=n[g],i=l[g],q=null!=i?i.source():null,r=null!=i?i.target():null,s=null==i?void 0:e.same(q)?r[0]:q[0];if(!0===(b=c(e,i,s,p++,h)))return f=e,1;if(!1===b)return 1;for(var u=e.connectedEdges().filter(function(a){return(!d||a.source().same(e))&&v.has(a)}),w=0;w<u.length;w++){var x=u[w],y=x.connectedNodes().filter(function(a){return!a.same(e)&&t.has(a)}),z=y.id();0===y.length||o[z]||(y=y[0],j.push(y),a.bfs&&(o[z]=!0,k.push(y)),l[z]=x,n[z]=n[g]+1)}}())||1!==g););for(var A=h.collection(),B=0;B<k.length;B++){var C=k[B],D=l[C.id()];null!=D&&A.push(D),A.push(C)}return{path:h.collection(A),found:h.collection(f)}}},aR={breadthFirstSearch:aQ({bfs:!0}),depthFirstSearch:aQ({dfs:!0})};aR.bfs=aR.breadthFirstSearch,aR.dfs=aR.depthFirstSearch;var aS={exports:{}},aT=aS.exports,aU=Z(gx?gw:(gx=1,gw=function(){return gv?aS.exports:(gv=1,(function(){var a,b,c,d,e,f,g,h,i,j,k,l,n,o,p;c=Math.floor,j=Math.min,b=function(a,b){return a<b?-1:+(a>b)},i=function(a,d,e,f,g){var h;if(null==e&&(e=0),null==g&&(g=b),e<0)throw Error("lo must be non-negative");for(null==f&&(f=a.length);e<f;)0>g(d,a[h=c((e+f)/2)])?f=h:e=h+1;return[].splice.apply(a,[e,e-e].concat(d)),d},f=function(a,c,d){return null==d&&(d=b),a.push(c),o(a,0,a.length-1,d)},e=function(a,c){var d,e;return null==c&&(c=b),d=a.pop(),a.length?(e=a[0],a[0]=d,p(a,0,c)):e=d,e},h=function(a,c,d){var e;return null==d&&(d=b),e=a[0],a[0]=c,p(a,0,d),e},g=function(a,c,d){var e;return null==d&&(d=b),a.length&&0>d(a[0],c)&&(c=(e=[a[0],c])[0],a[0]=e[1],p(a,0,d)),c},d=function(a,d){var e,f,g,h,i,j;for(null==d&&(d=b),h=(function(){j=[];for(var b=0,d=c(a.length/2);0<=d?b<d:b>d;0<=d?b++:b--)j.push(b);return j}).apply(this).reverse(),i=[],f=0,g=h.length;f<g;f++)e=h[f],i.push(p(a,e,d));return i},n=function(a,c,d){var e;if(null==d&&(d=b),-1!==(e=a.indexOf(c)))return o(a,0,e,d),p(a,e,d)},k=function(a,c,e){var f,h,i,j;if(null==e&&(e=b),!(f=a.slice(0,c)).length)return f;for(d(f,e),h=0,i=(j=a.slice(c)).length;h<i;h++)g(f,j[h],e);return f.sort(e).reverse()},l=function(a,c,f){var g,h,k,l,n,o,p,q,r;if(null==f&&(f=b),10*c<=a.length){if(!(k=a.slice(0,c).sort(f)).length)return k;for(l=0,h=k[k.length-1],o=(p=a.slice(c)).length;l<o;l++)0>f(g=p[l],h)&&(i(k,g,0,null,f),k.pop(),h=k[k.length-1]);return k}for(d(a,f),r=[],n=0,q=j(c,a.length);0<=q?n<q:n>q;0<=q?++n:--n)r.push(e(a,f));return r},o=function(a,c,d,e){var f,g,h;for(null==e&&(e=b),f=a[d];d>c;){if(0>e(f,g=a[h=d-1>>1])){a[d]=g,d=h;continue}break}return a[d]=f},p=function(a,c,d){var e,f,g,h,i;for(null==d&&(d=b),f=a.length,i=c,g=a[c],e=2*c+1;e<f;)(h=e+1)<f&&!(0>d(a[e],a[h]))&&(e=h),a[c]=a[e],e=2*(c=e)+1;return a[c]=g,o(a,i,c,d)},a=function(){function a(a){this.cmp=null!=a?a:b,this.nodes=[]}return a.push=f,a.pop=e,a.replace=h,a.pushpop=g,a.heapify=d,a.updateItem=n,a.nlargest=k,a.nsmallest=l,a.prototype.push=function(a){return f(this.nodes,a,this.cmp)},a.prototype.pop=function(){return e(this.nodes,this.cmp)},a.prototype.peek=function(){return this.nodes[0]},a.prototype.contains=function(a){return -1!==this.nodes.indexOf(a)},a.prototype.replace=function(a){return h(this.nodes,a,this.cmp)},a.prototype.pushpop=function(a){return g(this.nodes,a,this.cmp)},a.prototype.heapify=function(){return d(this.nodes,this.cmp)},a.prototype.updateItem=function(a){return n(this.nodes,a,this.cmp)},a.prototype.clear=function(){return this.nodes=[]},a.prototype.empty=function(){return 0===this.nodes.length},a.prototype.size=function(){return this.nodes.length},a.prototype.clone=function(){var b;return(b=new a).nodes=this.nodes.slice(0),b},a.prototype.toArray=function(){return this.nodes.slice(0)},a.prototype.insert=a.prototype.push,a.prototype.top=a.prototype.peek,a.prototype.front=a.prototype.peek,a.prototype.has=a.prototype.contains,a.prototype.copy=a.prototype.clone,a}(),aS.exports=a}).call(aT),aS.exports)}())),aV=aF({root:null,weight:function(a){return 1},directed:!1}),aW=aF({root:null,goal:null,weight:function(a){return 1},heuristic:function(a){return 0},directed:!1}),aX=aF({weight:function(a){return 1},directed:!1}),aY=aF({weight:function(a){return 1},directed:!1,root:null}),aZ=Math.sqrt(2),a$=function(a,b,c){0===c.length&&ay("Karger-Stein must be run on a connected (sub)graph");for(var d=c[a],e=d[1],f=d[2],g=b[e],h=b[f],i=c.length-1;i>=0;i--){var j=c[i],k=j[1],l=j[2];(b[k]===g&&b[l]===h||b[k]===h&&b[l]===g)&&c.splice(i,1)}for(var n=0;n<c.length;n++){var o=c[n];o[1]===h?(c[n]=o.slice(),c[n][1]=g):o[2]===h&&(c[n]=o.slice(),c[n][2]=g)}for(var p=0;p<b.length;p++)b[p]===h&&(b[p]=g);return c},a_=function(a,b,c,d){for(;c>d;)b=a$(Math.floor(Math.random()*b.length),a,b),c--;return b},a0=function(a,b,c){return{x:a.x*b+c.x,y:a.y*b+c.y}},a1=function(a,b,c){return{x:(a.x-c.x)/b,y:(a.y-c.y)/b}},a2=function(a){return{x:a[0],y:a[1]}},a3=function(a){for(var b=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,c=arguments.length>2&&void 0!==arguments[2]?arguments[2]:a.length,d=1/0,e=b;e<c;e++){var f=a[e];isFinite(f)&&(d=Math.min(f,d))}return d},a4=function(a){for(var b=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,c=arguments.length>2&&void 0!==arguments[2]?arguments[2]:a.length,d=-1/0,e=b;e<c;e++){var f=a[e];isFinite(f)&&(d=Math.max(f,d))}return d},a5=function(a){for(var b=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,c=arguments.length>2&&void 0!==arguments[2]?arguments[2]:a.length,d=0,e=0,f=b;f<c;f++){var g=a[f];isFinite(g)&&(d+=g,e++)}return d/e},a6=function(a){var b=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,c=arguments.length>2&&void 0!==arguments[2]?arguments[2]:a.length,d=!(arguments.length>3)||void 0===arguments[3]||arguments[3],e=!(arguments.length>4)||void 0===arguments[4]||arguments[4],f=!(arguments.length>5)||void 0===arguments[5]||arguments[5];d?a=a.slice(b,c):(c<a.length&&a.splice(c,a.length-c),b>0&&a.splice(0,b));for(var g=0,h=a.length-1;h>=0;h--){var i=a[h];f?!isFinite(i)&&(a[h]=-1/0,g++):a.splice(h,1)}e&&a.sort(function(a,b){return a-b});var j=a.length,k=Math.floor(j/2);return j%2!=0?a[k+1+g]:(a[k-1+g]+a[k+g])/2},a7=function(a,b){return Math.atan2(b,a)-Math.PI/2},a8=Math.log2||function(a){return Math.log(a)/Math.log(2)},a9=function(a){return a>0?1:a<0?-1:0},ba=function(a,b){return Math.sqrt(bb(a,b))},bb=function(a,b){var c=b.x-a.x,d=b.y-a.y;return c*c+d*d},bc=function(a){for(var b=a.length,c=0,d=0;d<b;d++)c+=a[d];for(var e=0;e<b;e++)a[e]=a[e]/c;return a},bd=function(a,b,c,d){return(1-d)*(1-d)*a+2*(1-d)*d*b+d*d*c},be=function(a,b,c,d){return{x:bd(a.x,b.x,c.x,d),y:bd(a.y,b.y,c.y,d)}},bf=function(a,b,c,d){var e={x:b.x-a.x,y:b.y-a.y},f=ba(a,b),g={x:e.x/f,y:e.y/f};return c=null==c?0:c,d=null!=d?d:c*f,{x:a.x+g.x*d,y:a.y+g.y*d}},bg=function(a,b,c){return Math.max(a,Math.min(c,b))},bh=function(a){if(null==a)return{x1:1/0,y1:1/0,x2:-1/0,y2:-1/0,w:0,h:0};if(null!=a.x1&&null!=a.y1){if(null!=a.x2&&null!=a.y2&&a.x2>=a.x1&&a.y2>=a.y1)return{x1:a.x1,y1:a.y1,x2:a.x2,y2:a.y2,w:a.x2-a.x1,h:a.y2-a.y1};else if(null!=a.w&&null!=a.h&&a.w>=0&&a.h>=0)return{x1:a.x1,y1:a.y1,x2:a.x1+a.w,y2:a.y1+a.h,w:a.w,h:a.h}}},bi=function(a){a.x1=1/0,a.y1=1/0,a.x2=-1/0,a.y2=-1/0,a.w=0,a.h=0},bj=function(a,b){a.x1=Math.min(a.x1,b.x1),a.x2=Math.max(a.x2,b.x2),a.w=a.x2-a.x1,a.y1=Math.min(a.y1,b.y1),a.y2=Math.max(a.y2,b.y2),a.h=a.y2-a.y1},bk=function(a,b,c){a.x1=Math.min(a.x1,b),a.x2=Math.max(a.x2,b),a.w=a.x2-a.x1,a.y1=Math.min(a.y1,c),a.y2=Math.max(a.y2,c),a.h=a.y2-a.y1},bl=function(a){var b=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return a.x1-=b,a.x2+=b,a.y1-=b,a.y2+=b,a.w=a.x2-a.x1,a.h=a.y2-a.y1,a},bm=function(a){var b,c,d,e,f=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[0];if(1===f.length)b=c=d=e=f[0];else if(2===f.length)b=d=f[0],e=c=f[1];else if(4===f.length){var h=g(f,4);b=h[0],c=h[1],d=h[2],e=h[3]}return a.x1-=e,a.x2+=c,a.y1-=b,a.y2+=d,a.w=a.x2-a.x1,a.h=a.y2-a.y1,a},bn=function(a,b){a.x1=b.x1,a.y1=b.y1,a.x2=b.x2,a.y2=b.y2,a.w=a.x2-a.x1,a.h=a.y2-a.y1},bo=function(a,b){return!(a.x1>b.x2)&&!(b.x1>a.x2)&&!(a.x2<b.x1)&&!(b.x2<a.x1)&&!(a.y2<b.y1)&&!(b.y2<a.y1)&&!(a.y1>b.y2)&&!(b.y1>a.y2)&&!0},bp=function(a,b,c){return a.x1<=b&&b<=a.x2&&a.y1<=c&&c<=a.y2},bq=function(a,b){return bp(a,b.x,b.y)},br=function(a,b){return bp(a,b.x1,b.y1)&&bp(a,b.x2,b.y2)},bs=null!=(gy=Math.hypot)?gy:function(a,b){return Math.sqrt(a*a+b*b)},bt=function(a,b,c,d,e,f,g){var h,i,j=arguments.length>7&&void 0!==arguments[7]?arguments[7]:"auto",k="auto"===j?bR(e,f):j,l=e/2,n=f/2,o=(k=Math.min(k,l,n))!==l,p=k!==n;if(o){var q=c-l+k-g,r=d-n-g,s=c+l-k+g;if((h=bJ(a,b,c,d,q,r,s,r,!1)).length>0)return h}if(p){var t=c+l+g,u=d-n+k-g,v=d+n-k+g;if((h=bJ(a,b,c,d,t,u,t,v,!1)).length>0)return h}if(o){var w=c-l+k-g,x=d+n+g,y=c+l-k+g;if((h=bJ(a,b,c,d,w,x,y,x,!1)).length>0)return h}if(p){var z=c-l-g,A=d-n+k-g,B=d+n-k+g;if((h=bJ(a,b,c,d,z,A,z,B,!1)).length>0)return h}var C=c-l+k,D=d-n+k;if((i=bH(a,b,c,d,C,D,k+g)).length>0&&i[0]<=C&&i[1]<=D)return[i[0],i[1]];var E=c+l-k,F=d-n+k;if((i=bH(a,b,c,d,E,F,k+g)).length>0&&i[0]>=E&&i[1]<=F)return[i[0],i[1]];var G=c+l-k,H=d+n-k;if((i=bH(a,b,c,d,G,H,k+g)).length>0&&i[0]>=G&&i[1]>=H)return[i[0],i[1]];var I=c-l+k,J=d+n-k;return(i=bH(a,b,c,d,I,J,k+g)).length>0&&i[0]<=I&&i[1]>=J?[i[0],i[1]]:[]},bu=function(a,b,c,d,e,f,g){var h=Math.min(c,e),i=Math.max(c,e),j=Math.min(d,f),k=Math.max(d,f);return h-g<=a&&a<=i+g&&j-g<=b&&b<=k+g},bv=function(a,b,c,d,e,f,g,h,i){var j={x1:Math.min(c,g,e)-i,x2:Math.max(c,g,e)+i,y1:Math.min(d,h,f)-i,y2:Math.max(d,h,f)+i};return!(a<j.x1)&&!(a>j.x2)&&!(b<j.y1)&&!(b>j.y2)},bw=function(a,b,c,d){var e=b*b-4*a*(c-=d);if(e<0)return[];var f=Math.sqrt(e),g=2*a;return[(-b+f)/g,(-b-f)/g]},bx=function(a,b,c,d,e){var f,g,h,i,j,k,l,n;if(0===a&&(a=1e-5),b/=a,c/=a,d/=a,f=(g=(3*c-b*b)/9)*g*g+(h=(-(27*d)+b*(9*c-b*b*2))/54)*h,e[1]=0,l=b/3,f>0){j=(j=h+Math.sqrt(f))<0?-Math.pow(-j,1/3):Math.pow(j,1/3),k=(k=h-Math.sqrt(f))<0?-Math.pow(-k,1/3):Math.pow(k,1/3),e[0]=-l+j+k,l+=(j+k)/2,e[4]=e[2]=-l,l=Math.sqrt(3)*(-k+j)/2,e[3]=l,e[5]=-l;return}if(e[5]=e[3]=0,0===f){n=h<0?-Math.pow(-h,1/3):Math.pow(h,1/3),e[0]=-l+2*n,e[4]=e[2]=-(n+l);return}i=Math.acos(h/Math.sqrt(i=(g=-g)*g*g)),n=2*Math.sqrt(g),e[0]=-l+n*Math.cos(i/3),e[2]=-l+n*Math.cos((i+2*Math.PI)/3),e[4]=-l+n*Math.cos((i+4*Math.PI)/3)},by=function(a,b,c,d,e,f,g,h){var i,j=[];bx(c*c-4*c*e+2*c*g+4*e*e-4*e*g+g*g+d*d-4*d*f+2*d*h+4*f*f-4*f*h+h*h,9*c*e-3*c*c-3*c*g-6*e*e+3*e*g+9*d*f-3*d*d-3*d*h-6*f*f+3*f*h,3*c*c-6*c*e+c*g-c*a+2*e*e+2*e*a-g*a+3*d*d-6*d*f+d*h-d*b+2*f*f+2*f*b-h*b,c*e-c*c+c*a-e*a+d*f-d*d+d*b-f*b,j);for(var k=[],l=0;l<6;l+=2)1e-7>Math.abs(j[l+1])&&j[l]>=0&&j[l]<=1&&k.push(j[l]);k.push(1),k.push(0);for(var n=-1,o=0;o<k.length;o++)i=Math.pow(Math.pow(1-k[o],2)*c+2*(1-k[o])*k[o]*e+k[o]*k[o]*g-a,2)+Math.pow(Math.pow(1-k[o],2)*d+2*(1-k[o])*k[o]*f+k[o]*k[o]*h-b,2),n>=0?i<n&&(n=i):n=i;return n},bz=function(a,b,c,d,e,f){var g=[a-c,b-d],h=[e-c,f-d],i=h[0]*h[0]+h[1]*h[1],j=g[0]*g[0]+g[1]*g[1],k=g[0]*h[0]+g[1]*h[1],l=k*k/i;return k<0?j:l>i?(a-e)*(a-e)+(b-f)*(b-f):j-l},bA=function(a,b,c){for(var d,e,f,g,h=0,i=0;i<c.length/2;i++)if(d=c[2*i],e=c[2*i+1],i+1<c.length/2?(f=c[(i+1)*2],g=c[(i+1)*2+1]):(f=c[(i+1-c.length/2)*2],g=c[(i+1-c.length/2)*2+1]),d==a&&f==a);else{if((!(d>=a)||!(a>=f))&&(!(d<=a)||!(a<=f)))continue;(a-d)/(f-d)*(g-e)+e>b&&h++}return h%2!=0},bB=function(a,b,c,d,e,f,g,h,i){var j,k=Array(c.length);null!=h[0]?(j=Math.atan(h[1]/h[0]),h[0]<0?j+=Math.PI/2:j=-j-Math.PI/2):j=h;for(var l=Math.cos(-j),n=Math.sin(-j),o=0;o<k.length/2;o++)k[2*o]=f/2*(c[2*o]*l-c[2*o+1]*n),k[2*o+1]=g/2*(c[2*o+1]*l+c[2*o]*n),k[2*o]+=d,k[2*o+1]+=e;return bA(a,b,i>0?bD(bE(k,-i)):k)},bC=function(a,b,c,d,e,f,g,h){for(var i=Array(2*c.length),j=0;j<h.length;j++){var k=h[j];if(i[4*j+0]=k.startX,i[4*j+1]=k.startY,i[4*j+2]=k.stopX,i[4*j+3]=k.stopY,Math.pow(k.cx-a,2)+Math.pow(k.cy-b,2)<=Math.pow(k.radius,2))return!0}return bA(a,b,i)},bD=function(a){for(var b,c,d,e,f,g,h,i,j=Array(a.length/2),k=0;k<a.length/4;k++){b=a[4*k],c=a[4*k+1],d=a[4*k+2],e=a[4*k+3],k<a.length/4-1?(f=a[(k+1)*4],g=a[(k+1)*4+1],h=a[(k+1)*4+2],i=a[(k+1)*4+3]):(f=a[0],g=a[1],h=a[2],i=a[3]);var l=bJ(b,c,d,e,f,g,h,i,!0);j[2*k]=l[0],j[2*k+1]=l[1]}return j},bE=function(a,b){for(var c,d,e,f,g=Array(2*a.length),h=0;h<a.length/2;h++){c=a[2*h],d=a[2*h+1],h<a.length/2-1?(e=a[(h+1)*2],f=a[(h+1)*2+1]):(e=a[0],f=a[1]);var i=f-d,j=-(e-c),k=Math.sqrt(i*i+j*j),l=i/k,n=j/k;g[4*h]=c+l*b,g[4*h+1]=d+n*b,g[4*h+2]=e+l*b,g[4*h+3]=f+n*b}return g},bF=function(a,b,c,d,e,f){var g=c-a,h=d-b,i=Math.sqrt((g/=e)*g+(h/=f)*h),j=i-1;if(j<0)return[];var k=j/i;return[(c-a)*k+a,(d-b)*k+b]},bG=function(a,b,c,d,e,f,g){return a-=e,b-=f,(a/=c/2+g)*a+(b/=d/2+g)*b<=1},bH=function(a,b,c,d,e,f,g){var h=[c-a,d-b],i=[a-e,b-f],j=h[0]*h[0]+h[1]*h[1],k=2*(i[0]*h[0]+i[1]*h[1]),l=k*k-4*j*(i[0]*i[0]+i[1]*i[1]-g*g);if(l<0)return[];var n=(-k+Math.sqrt(l))/(2*j),o=(-k-Math.sqrt(l))/(2*j),p=Math.min(n,o),q=Math.max(n,o),r=[];if(p>=0&&p<=1&&r.push(p),q>=0&&q<=1&&r.push(q),0===r.length)return[];var s=r[0]*h[0]+a,t=r[0]*h[1]+b;return r.length>1?r[0]==r[1]?[s,t]:[s,t,r[1]*h[0]+a,r[1]*h[1]+b]:[s,t]},bI=function(a,b,c){return b<=a&&a<=c||c<=a&&a<=b?a:a<=b&&b<=c||c<=b&&b<=a?b:c},bJ=function(a,b,c,d,e,f,g,h,i){var j=a-e,k=c-a,l=g-e,n=b-f,o=d-b,p=h-f,q=l*n-p*j,r=k*n-o*j,s=p*k-l*o;if(0!==s){var t=q/s,u=r/s;return -.001<=t&&t<=1.001&&-.001<=u&&u<=1.001||i?[a+t*k,b+t*o]:[]}return 0!==q&&0!==r?[]:bI(a,c,g)===g?[g,h]:bI(a,c,e)===e?[e,f]:bI(e,g,c)===c?[c,d]:[]},bK=function(a,b,c,d,e){var f=[],g=d/2,h=e/2;f.push({x:b+g*a[0],y:c+h*a[1]});for(var i=1;i<a.length/2;i++)f.push({x:b+g*a[2*i],y:c+h*a[2*i+1]});return f},bL=function(a,b,c,d,e,f,g,h){var i,j,k,l,n,o,p=[],q=Array(c.length),r=!0;if(null==f&&(r=!1),r){for(var s=0;s<q.length/2;s++)q[2*s]=c[2*s]*f+d,q[2*s+1]=c[2*s+1]*g+e;j=h>0?bD(bE(q,-h)):q}else j=c;for(var t=0;t<j.length/2;t++)k=j[2*t],l=j[2*t+1],t<j.length/2-1?(n=j[(t+1)*2],o=j[(t+1)*2+1]):(n=j[0],o=j[1]),0!==(i=bJ(a,b,d,e,k,l,n,o)).length&&p.push(i[0],i[1]);return p},bM=function(a,b,c,d,e,f,g,h,i){var j,k=[],l=Array(2*c.length);i.forEach(function(c,f){0===f?(l[l.length-2]=c.startX,l[l.length-1]=c.startY):(l[4*f-2]=c.startX,l[4*f-1]=c.startY),l[4*f]=c.stopX,l[4*f+1]=c.stopY,0!==(j=bH(a,b,d,e,c.cx,c.cy,c.radius)).length&&k.push(j[0],j[1])});for(var n=0;n<l.length/4;n++)0!==(j=bJ(a,b,d,e,l[4*n],l[4*n+1],l[4*n+2],l[4*n+3],!1)).length&&k.push(j[0],j[1]);if(k.length>2){for(var o=[k[0],k[1]],p=Math.pow(o[0]-a,2)+Math.pow(o[1]-b,2),q=1;q<k.length/2;q++){var r=Math.pow(k[2*q]-a,2)+Math.pow(k[2*q+1]-b,2);r<=p&&(o[0]=k[2*q],o[1]=k[2*q+1],p=r)}return o}return k},bN=function(a,b,c){var d=[a[0]-b[0],a[1]-b[1]],e=Math.sqrt(d[0]*d[0]+d[1]*d[1]),f=(e-c)/e;return f<0&&(f=1e-5),[b[0]+f*d[0],b[1]+f*d[1]]},bO=function(a,b){var c=bQ(a,b);return bP(c)},bP=function(a){for(var b,c,d=a.length/2,e=1/0,f=1/0,g=-1/0,h=-1/0,i=0;i<d;i++)b=a[2*i],c=a[2*i+1],e=Math.min(e,b),g=Math.max(g,b),f=Math.min(f,c),h=Math.max(h,c);for(var j=2/(g-e),k=2/(h-f),l=0;l<d;l++)b=a[2*l]=a[2*l]*j,c=a[2*l+1]=a[2*l+1]*k,e=Math.min(e,b),g=Math.max(g,b),f=Math.min(f,c),h=Math.max(h,c);if(f<-1)for(var n=0;n<d;n++)c=a[2*n+1]=a[2*n+1]+(-1-f);return a},bQ=function(a,b){var c,d=1/a*2*Math.PI,e=a%2==0?Math.PI/2+d/2:Math.PI/2;e+=b;for(var f=Array(2*a),g=0;g<a;g++)c=g*d+e,f[2*g]=Math.cos(c),f[2*g+1]=Math.sin(-c);return f},bR=function(a,b){return Math.min(a/4,b/4,8)},bS=function(a,b){return Math.min(a/10,b/10,8)},bT=function(){return 8},bU=function(a,b){return{heightOffset:Math.min(15,.05*b),widthOffset:Math.min(100,.25*a),ctrlPtOffsetPct:.05}};function bV(a,b){function c(a){for(var b=[],c=0;c<a.length;c++){var d=a[c],e=a[(c+1)%a.length],f={x:e.x-d.x,y:e.y-d.y},g={x:-f.y,y:f.x},h=Math.sqrt(g.x*g.x+g.y*g.y);b.push({x:g.x/h,y:g.y/h})}return b}function d(a,b){var c,d=1/0,f=-1/0,g=e(a);try{for(g.s();!(c=g.n()).done;){var h=c.value,i=h.x*b.x+h.y*b.y;d=Math.min(d,i),f=Math.max(f,i)}}catch(a){g.e(a)}finally{g.f()}return{min:d,max:f}}var f,g=e([].concat(h(c(a)),h(c(b))));try{for(g.s();!(f=g.n()).done;){var i=f.value,j=d(a,i),k=d(b,i);if(j.max<k.min||k.max<j.min)return!1}}catch(a){g.e(a)}finally{g.f()}return!0}var bW=aF({dampingFactor:.8,precision:1e-6,iterations:200,weight:function(a){return 1}}),bX=aF({root:null,weight:function(a){return 1},directed:!1,alpha:0}),bY={degreeCentralityNormalized:function(a){a=bX(a);var b=this.cy(),c=this.nodes(),d=c.length;if(a.directed){for(var e={},f={},g=0,h=0,i=0;i<d;i++){var j=c[i],k=j.id();a.root=j;var l=this.degreeCentrality(a);g<l.indegree&&(g=l.indegree),h<l.outdegree&&(h=l.outdegree),e[k]=l.indegree,f[k]=l.outdegree}return{indegree:function(a){return 0==g?0:(r(a)&&(a=b.filter(a)),e[a.id()]/g)},outdegree:function(a){return 0===h?0:(r(a)&&(a=b.filter(a)),f[a.id()]/h)}}}for(var n={},o=0,p=0;p<d;p++){var q=c[p];a.root=q;var s=this.degreeCentrality(a);o<s.degree&&(o=s.degree),n[q.id()]=s.degree}return{degree:function(a){return 0===o?0:(r(a)&&(a=b.filter(a)),n[a.id()]/o)}}},degreeCentrality:function(a){a=bX(a);var b=this.cy(),c=this,d=a,e=d.root,f=d.weight,g=d.directed,h=d.alpha;if(e=b.collection(e)[0],g){for(var i=e.connectedEdges(),j=i.filter(function(a){return a.target().same(e)&&c.has(a)}),k=i.filter(function(a){return a.source().same(e)&&c.has(a)}),l=j.length,n=k.length,o=0,p=0,q=0;q<j.length;q++)o+=f(j[q]);for(var r=0;r<k.length;r++)p+=f(k[r]);return{indegree:Math.pow(l,1-h)*Math.pow(o,h),outdegree:Math.pow(n,1-h)*Math.pow(p,h)}}for(var s=e.connectedEdges().intersection(c),t=s.length,u=0,v=0;v<s.length;v++)u+=f(s[v]);return{degree:Math.pow(t,1-h)*Math.pow(u,h)}}};bY.dc=bY.degreeCentrality,bY.dcn=bY.degreeCentralityNormalised=bY.degreeCentralityNormalized;var bZ=aF({harmonic:!0,weight:function(){return 1},directed:!1,root:null}),b$={closenessCentralityNormalized:function(a){for(var b=bZ(a),c=b.harmonic,d=b.weight,e=b.directed,f=this.cy(),g={},h=0,i=this.nodes(),j=this.floydWarshall({weight:d,directed:e}),k=0;k<i.length;k++){for(var l=0,n=i[k],o=0;o<i.length;o++)if(k!==o){var p=j.distance(n,i[o]);c?l+=1/p:l+=p}c||(l=1/l),h<l&&(h=l),g[n.id()]=l}return{closeness:function(a){return 0==h?0:g[a=r(a)?f.filter(a)[0].id():a.id()]/h}}},closenessCentrality:function(a){var b=bZ(a),c=b.root,d=b.weight,e=b.directed,f=b.harmonic;c=this.filter(c)[0];for(var g=this.dijkstra({root:c,weight:d,directed:e}),h=0,i=this.nodes(),j=0;j<i.length;j++){var k=i[j];if(!k.same(c)){var l=g.distanceTo(k);f?h+=1/l:h+=l}}return f?h:1/h}};b$.cc=b$.closenessCentrality,b$.ccn=b$.closenessCentralityNormalised=b$.closenessCentralityNormalized;var b_=aF({weight:null,directed:!1}),b0={betweennessCentrality:function(a){for(var b=b_(a),c=b.directed,d=b.weight,e=null!=d,f=this.cy(),g=this.nodes(),h={},i={},j=0,k=function(a,b){i[a]=b,b>j&&(j=b)},l=function(a){return i[a]},n=0;n<g.length;n++){var o=g[n],p=o.id();c?h[p]=o.outgoers().nodes():h[p]=o.openNeighborhood().nodes(),k(p,0)}for(var q=0;q<g.length;q++)!function(){for(var a=g[q].id(),b=[],c={},i={},j={},n=new aU(function(a,b){return j[a]-j[b]}),o=0;o<g.length;o++){var p=g[o].id();c[p]=[],i[p]=0,j[p]=1/0}for(i[a]=1,j[a]=0,n.push(a);!n.empty();){var r=n.pop();if(b.push(r),e)for(var s=0;s<h[r].length;s++){var t=h[r][s],u=f.getElementById(r),v=d(u.edgesTo(t).length>0?u.edgesTo(t)[0]:t.edgesTo(u)[0]);j[t=t.id()]>j[r]+v&&(j[t]=j[r]+v,0>n.nodes.indexOf(t)?n.push(t):n.updateItem(t),i[t]=0,c[t]=[]),j[t]==j[r]+v&&(i[t]=i[t]+i[r],c[t].push(r))}else for(var w=0;w<h[r].length;w++){var x=h[r][w].id();j[x]==1/0&&(n.push(x),j[x]=j[r]+1),j[x]==j[r]+1&&(i[x]=i[x]+i[r],c[x].push(r))}}for(var y={},z=0;z<g.length;z++)y[g[z].id()]=0;for(;b.length>0;){for(var A=b.pop(),B=0;B<c[A].length;B++){var C=c[A][B];y[C]=y[C]+i[C]/i[A]*(1+y[A])}A!=g[q].id()&&k(A,l(A)+y[A])}}();var r={betweenness:function(a){return l(f.collection(a).id())},betweennessNormalized:function(a){return 0==j?0:l(f.collection(a).id())/j}};return r.betweennessNormalised=r.betweennessNormalized,r}};b0.bc=b0.betweennessCentrality;var b1=aF({expandFactor:2,inflateFactor:2,multFactor:1,maxIterations:20,attributes:[function(a){return 1}]}),b2=function(a,b){for(var c=0,d=0;d<b.length;d++)c+=b[d](a);return c},b3=function(a,b,c){for(var d=0;d<b;d++)a[d*b+d]=c},b4=function(a,b){for(var c,d=0;d<b;d++){c=0;for(var e=0;e<b;e++)c+=a[e*b+d];for(var f=0;f<b;f++)a[f*b+d]=a[f*b+d]/c}},b5=function(a,b,c){for(var d=Array(c*c),e=0;e<c;e++){for(var f=0;f<c;f++)d[e*c+f]=0;for(var g=0;g<c;g++)for(var h=0;h<c;h++)d[e*c+h]+=a[e*c+g]*b[g*c+h]}return d},b6=function(a,b,c){for(var d=a.slice(0),e=1;e<c;e++)a=b5(a,d,b);return a},b7=function(a,b,c){for(var d=Array(b*b),e=0;e<b*b;e++)d[e]=Math.pow(a[e],c);return b4(d,b),d},b8=function(a,b,c,d){for(var e=0;e<c;e++)if(Math.round(a[e]*Math.pow(10,d))/Math.pow(10,d)!=Math.round(b[e]*Math.pow(10,d))/Math.pow(10,d))return!1;return!0},b9=function(a,b,c,d){for(var e=[],f=0;f<b;f++){for(var g=[],h=0;h<b;h++)Math.round(1e3*a[f*b+h])/1e3>0&&g.push(c[h]);0!==g.length&&e.push(d.collection(g))}return e},ca=function(a,b){for(var c=0;c<a.length;c++)if(!b[c]||a[c].id()!==b[c].id())return!1;return!0},cb=function(a){for(var b=0;b<a.length;b++)for(var c=0;c<a.length;c++)b!=c&&ca(a[b],a[c])&&a.splice(c,1);return a},cc=function(a){for(var b=this.nodes(),c=this.edges(),d=this.cy(),e=b1(a),f={},g=0;g<b.length;g++)f[b[g].id()]=g;for(var h,i=b.length,j=i*i,k=Array(j),l=0;l<j;l++)k[l]=0;for(var n=0;n<c.length;n++){var o=c[n],p=f[o.source().id()],q=f[o.target().id()],r=b2(o,e.attributes);k[p*i+q]+=r,k[q*i+p]+=r}b3(k,i,e.multFactor),b4(k,i);for(var s=!0,t=0;s&&t<e.maxIterations;)s=!1,b8(k=b7(h=b6(k,i,e.expandFactor),i,e.inflateFactor),h,j,4)||(s=!0),t++;var u=b9(k,i,b,d);return cb(u)},cd=function(a){return a},ce=function(a,b){return Math.abs(b-a)},cf=function(a,b,c){return a+ce(b,c)},cg=function(a,b,c){return a+Math.pow(c-b,2)},ch=function(a){return Math.sqrt(a)},ci=function(a,b,c){return Math.max(a,ce(b,c))},cj=function(a,b,c,d,e){for(var f=arguments.length>5&&void 0!==arguments[5]?arguments[5]:cd,g=d,h=0;h<a;h++)g=e(g,b(h),c(h));return f(g)},ck={euclidean:function(a,b,c){return a>=2?cj(a,b,c,0,cg,ch):cj(a,b,c,0,cf)},squaredEuclidean:function(a,b,c){return cj(a,b,c,0,cg)},manhattan:function(a,b,c){return cj(a,b,c,0,cf)},max:function(a,b,c){return cj(a,b,c,-1/0,ci)}};function cl(a,b,c,d,e,f){var g;return(g=s(a)?a:ck[a]||ck.euclidean,0===b&&s(a))?g(e,f):g(b,c,d,e,f)}ck["squared-euclidean"]=ck.squaredEuclidean,ck.squaredeuclidean=ck.squaredEuclidean;var cm=aF({k:2,m:2,sensitivityThreshold:1e-4,distance:"euclidean",maxIterations:10,attributes:[],testMode:!1,testCentroids:null}),cn=function(a){return cm(a)},co=function(a,b,c,d,e){var f="kMedoids"!==e?function(a){return c[a]}:function(a){return d[a](c)};return cl(a,d.length,f,function(a){return d[a](b)},c,b)},cp=function(a,b,c){for(var d=c.length,e=Array(d),f=Array(d),g=Array(b),h=null,i=0;i<d;i++)e[i]=a.min(c[i]).value,f[i]=a.max(c[i]).value;for(var j=0;j<b;j++){h=[];for(var k=0;k<d;k++)h[k]=Math.random()*(f[k]-e[k])+e[k];g[j]=h}return g},cq=function(a,b,c,d,e){for(var f=1/0,g=0,h=0;h<b.length;h++){var i=co(c,a,b[h],d,e);i<f&&(f=i,g=h)}return g},cr=function(a,b,c){for(var d=[],e=null,f=0;f<b.length;f++)c[(e=b[f]).id()]===a&&d.push(e);return d},cs=function(a,b,c){for(var d=0;d<a.length;d++)for(var e=0;e<a[d].length;e++)if(Math.abs(a[d][e]-b[d][e])>c)return!1;return!0},ct=function(a,b,c){for(var d=0;d<c;d++)if(a===b[d])return!0;return!1},cu=function(a,b){var c=Array(b);if(a.length<50)for(var d=0;d<b;d++){for(var e=a[Math.floor(Math.random()*a.length)];ct(e,c,d);)e=a[Math.floor(Math.random()*a.length)];c[d]=e}else for(var f=0;f<b;f++)c[f]=a[Math.floor(Math.random()*a.length)];return c},cv=function(a,b,c){for(var d=0,e=0;e<b.length;e++)d+=co("manhattan",b[e],a,c,"kMedoids");return d},cw=function(a,b,c,d,e){for(var f,g,h=0;h<b.length;h++)for(var i=0;i<a.length;i++)d[h][i]=Math.pow(c[h][i],e.m);for(var j=0;j<a.length;j++)for(var k=0;k<e.attributes.length;k++){f=0,g=0;for(var l=0;l<b.length;l++)f+=d[l][j]*e.attributes[k](b[l]),g+=d[l][j];a[j][k]=f/g}},cx=function(a,b,c,d,e){for(var f,g=0;g<a.length;g++)b[g]=a[g].slice();for(var h=2/(e.m-1),i=0;i<c.length;i++)for(var j=0;j<d.length;j++){f=0;for(var k=0;k<c.length;k++)f+=Math.pow(co(e.distance,d[j],c[i],e.attributes,"cmeans")/co(e.distance,d[j],c[k],e.attributes,"cmeans"),h);a[j][i]=1/f}},cy=function(a,b,c,d){for(var e,f,g=Array(c.k),h=0;h<g.length;h++)g[h]=[];for(var i=0;i<b.length;i++){e=-1/0,f=-1;for(var j=0;j<b[0].length;j++)b[i][j]>e&&(e=b[i][j],f=j);g[f].push(a[i])}for(var k=0;k<g.length;k++)g[k]=d.collection(g[k]);return g},cz=function(a){var b,c,d,e,f=this.cy(),g=this.nodes(),h=cn(a);d=Array(g.length);for(var i=0;i<g.length;i++)d[i]=Array(h.k);c=Array(g.length);for(var j=0;j<g.length;j++)c[j]=Array(h.k);for(var k=0;k<g.length;k++){for(var l=0,n=0;n<h.k;n++)c[k][n]=Math.random(),l+=c[k][n];for(var o=0;o<h.k;o++)c[k][o]=c[k][o]/l}b=Array(h.k);for(var p=0;p<h.k;p++)b[p]=Array(h.attributes.length);e=Array(g.length);for(var q=0;q<g.length;q++)e[q]=Array(h.k);for(var r=!0,s=0;r&&s<h.maxIterations;)r=!1,cw(b,g,c,e,h),cx(c,d,b,g,h),cs(c,d,h.sensitivityThreshold)||(r=!0),s++;return{clusters:cy(g,c,h,f),degreeOfMembership:c}},cA=aF({distance:"euclidean",linkage:"min",mode:"threshold",threshold:1/0,addDendrogram:!1,dendrogramDepth:0,attributes:[]}),cB={single:"min",complete:"max"},cC=function(a){var b=cA(a),c=cB[b.linkage];return null!=c&&(b.linkage=c),b},cD=function(a,b,c,d,e){for(var f,g,h=0,i=1/0,j=e.attributes,k=function(a,b){return cl(e.distance,j.length,function(b){return j[b](a)},function(a){return j[a](b)},a,b)},l=0;l<a.length;l++){var n=a[l].key,o=c[n][d[n]];o<i&&(h=n,i=o)}if("threshold"===e.mode&&i>=e.threshold||"dendrogram"===e.mode&&1===a.length)return!1;var p=b[h],q=b[d[h]];g="dendrogram"===e.mode?{left:p,right:q,key:p.key}:{value:p.value.concat(q.value),key:p.key},a[p.index]=g,a.splice(q.index,1),b[p.key]=g;for(var r=0;r<a.length;r++){var s=a[r];p.key===s.key?f=1/0:"min"===e.linkage?(f=c[p.key][s.key],c[p.key][s.key]>c[q.key][s.key]&&(f=c[q.key][s.key])):"max"===e.linkage?(f=c[p.key][s.key],c[p.key][s.key]<c[q.key][s.key]&&(f=c[q.key][s.key])):f="mean"===e.linkage?(c[p.key][s.key]*p.size+c[q.key][s.key]*q.size)/(p.size+q.size):"dendrogram"===e.mode?k(s.value,p.value):k(s.value[0],p.value[0]),c[p.key][s.key]=c[s.key][p.key]=f}for(var t=0;t<a.length;t++){var u=a[t].key;if(d[u]===p.key||d[u]===q.key){for(var v=u,w=0;w<a.length;w++){var x=a[w].key;c[u][x]<c[u][v]&&(v=x)}d[u]=v}a[t].index=t}return p.key=q.key=p.index=q.index=null,!0},cE=function(a,b,c){a&&(a.value?b.push(a.value):(a.left&&cE(a.left,b),a.right&&cE(a.right,b)))},cF=function(a,b){if(!a)return"";if(a.left&&a.right){var c=cF(a.left,b),d=cF(a.right,b),e=b.add({group:"nodes",data:{id:c+","+d}});return b.add({group:"edges",data:{source:c,target:e.id()}}),b.add({group:"edges",data:{source:d,target:e.id()}}),e.id()}if(a.value)return a.value.id()},cG=function(a,b,c){if(!a)return[];var d=[],e=[],f=[];if(0===b)return a.left&&cE(a.left,d),a.right&&cE(a.right,e),f=d.concat(e),[c.collection(f)];if(1===b)if(a.value)return[c.collection(a.value)];else return a.left&&cE(a.left,d),a.right&&cE(a.right,e),[c.collection(d),c.collection(e)];return a.value?[c.collection(a.value)]:(a.left&&(d=cG(a.left,b-1,c)),a.right&&(e=cG(a.right,b-1,c)),d.concat(e))},cH=function(a){for(var b,c=this.cy(),d=this.nodes(),e=cC(a),f=e.attributes,g=function(a,b){return cl(e.distance,f.length,function(b){return f[b](a)},function(a){return f[a](b)},a,b)},h=[],i=[],j=[],k=[],l=0;l<d.length;l++){var n={value:"dendrogram"===e.mode?d[l]:[d[l]],key:l,index:l};h[l]=n,k[l]=n,i[l]=[],j[l]=0}for(var o=0;o<h.length;o++)for(var p=0;p<=o;p++){var q=void 0;q="dendrogram"===e.mode?o===p?1/0:g(h[o].value,h[p].value):o===p?1/0:g(h[o].value[0],h[p].value[0]),i[o][p]=q,i[p][o]=q,q<i[o][j[o]]&&(j[o]=p)}for(var r=cD(h,k,i,j,e);r;)r=cD(h,k,i,j,e);return"dendrogram"===e.mode?(b=cG(h[0],e.dendrogramDepth,c),e.addDendrogram&&cF(h[0],c)):(b=Array(h.length),h.forEach(function(a,d){a.key=a.index=null,b[d]=c.collection(a.value)})),b},cI=aF({distance:"euclidean",preference:"median",damping:.8,maxIterations:1e3,minIterations:100,attributes:[]}),cJ=function(a){var b=a.damping,c=a.preference;.5<=b&&b<1||ay("Damping must range on [0.5, 1). Got: ".concat(b));var d=["median","mean","min","max"];return d.some(function(a){return a===c})||v(c)||ay("Preference must be one of [".concat(d.map(function(a){return"'".concat(a,"'")}).join(", "),"] or a number. Got: ").concat(c)),cI(a)},cK=function(a,b,c,d){var e=function(a,b){return d[b](a)};return-cl(a,d.length,function(a){return e(b,a)},function(a){return e(c,a)},b,c)},cL=function(a,b){return"median"===b?a6(a):"mean"===b?a5(a):"min"===b?a3(a):"max"===b?a4(a):b},cM=function(a,b,c){for(var d=[],e=0;e<a;e++)b[e*a+e]+c[e*a+e]>0&&d.push(e);return d},cN=function(a,b,c){for(var d=[],e=0;e<a;e++){for(var f=-1,g=-1/0,h=0;h<c.length;h++){var i=c[h];b[e*a+i]>g&&(f=i,g=b[e*a+i])}f>0&&d.push(f)}for(var j=0;j<c.length;j++)d[c[j]]=c[j];return d},cO=function(a,b,c){for(var d=cN(a,b,c),e=0;e<c.length;e++){for(var f=[],g=0;g<d.length;g++)d[g]===c[e]&&f.push(g);for(var h=-1,i=-1/0,j=0;j<f.length;j++){for(var k=0,l=0;l<f.length;l++)k+=b[f[l]*a+f[j]];k>i&&(h=j,i=k)}c[e]=f[h]}return cN(a,b,c)},cP=function(a){for(var b,c,d,e,f,g,h,i=this.cy(),j=this.nodes(),k=cJ(a),l={},n=0;n<j.length;n++)l[j[n].id()]=n;d=Array(c=(b=j.length)*b);for(var o=0;o<c;o++)d[o]=-1/0;for(var p=0;p<b;p++)for(var q=0;q<b;q++)p!==q&&(d[p*b+q]=cK(k.distance,j[p],j[q],k.attributes));e=cL(d,k.preference);for(var r=0;r<b;r++)d[r*b+r]=e;f=Array(c);for(var s=0;s<c;s++)f[s]=0;g=Array(c);for(var t=0;t<c;t++)g[t]=0;for(var u=Array(b),v=Array(b),w=Array(b),x=0;x<b;x++)u[x]=0,v[x]=0,w[x]=0;for(var y=Array(b*k.minIterations),z=0;z<y.length;z++)y[z]=0;for(h=0;h<k.maxIterations;h++){for(var A=0;A<b;A++){for(var B=-1/0,C=-1/0,D=-1,E=0,F=0;F<b;F++)u[F]=f[A*b+F],(E=g[A*b+F]+d[A*b+F])>=B?(C=B,B=E,D=F):E>C&&(C=E);for(var G=0;G<b;G++)f[A*b+G]=(1-k.damping)*(d[A*b+G]-B)+k.damping*u[G];f[A*b+D]=(1-k.damping)*(d[A*b+D]-C)+k.damping*u[D]}for(var H=0;H<b;H++){for(var I=0,J=0;J<b;J++)u[J]=g[J*b+H],v[J]=Math.max(0,f[J*b+H]),I+=v[J];I-=v[H],v[H]=f[H*b+H],I+=v[H];for(var K=0;K<b;K++)g[K*b+H]=(1-k.damping)*Math.min(0,I-v[K])+k.damping*u[K];g[H*b+H]=(1-k.damping)*(I-v[H])+k.damping*u[H]}for(var L=0,M=0;M<b;M++){var N=+(g[M*b+M]+f[M*b+M]>0);y[h%k.minIterations*b+M]=N,L+=N}if(L>0&&(h>=k.minIterations-1||h==k.maxIterations-1)){for(var O=0,P=0;P<b;P++){w[P]=0;for(var Q=0;Q<k.minIterations;Q++)w[P]+=y[Q*b+P];(0===w[P]||w[P]===k.minIterations)&&O++}if(O===b)break}}for(var R=cM(b,f,g),S=cO(b,d,R),T={},U=0;U<R.length;U++)T[R[U]]=[];for(var V=0;V<j.length;V++){var W=S[l[j[V].id()]];null!=W&&T[W].push(j[V])}for(var X=Array(R.length),Y=0;Y<R.length;Y++)X[Y]=i.collection(T[R[Y]]);return X},cQ=aF({root:void 0,directed:!1}),cR=function(){var a=this,b={},c=0,d=0,e=[],f=[],g={},h=function(c,d){for(var g=f.length-1,h=[],i=a.spawn();f[g].x!=c||f[g].y!=d;)h.push(f.pop().edge),g--;h.push(f.pop().edge),h.forEach(function(c){var d=c.connectedNodes().intersection(a);i.merge(c),d.forEach(function(c){var d=c.id(),e=c.connectedEdges().intersection(a);i.merge(c),b[d].cutVertex?i.merge(e.filter(function(a){return a.isLoop()})):i.merge(e)})}),e.push(i)},i=function(j,k,l){j===l&&(d+=1),b[k]={id:c,low:c++,cutVertex:!1};var n,o,p,q,r=a.getElementById(k).connectedEdges().intersection(a);0===r.size()?e.push(a.spawn(a.getElementById(k))):r.forEach(function(a){n=a.source().id(),o=a.target().id(),(p=n===k?o:n)!==l&&(g[q=a.id()]||(g[q]=!0,f.push({x:k,y:p,edge:a})),p in b?b[k].low=Math.min(b[k].low,b[p].id):(i(j,p,k),b[k].low=Math.min(b[k].low,b[p].low),b[k].id<=b[p].low&&(b[k].cutVertex=!0,h(k,p))))})};a.forEach(function(a){if(a.isNode()){var c=a.id();c in b||(d=0,i(c,c),b[c].cutVertex=d>1)}});var j=Object.keys(b).filter(function(a){return b[a].cutVertex}).map(function(b){return a.getElementById(b)});return{cut:a.spawn(j),components:e}},cS=function(){var a=this,b={},c=0,d=[],e=[],f=a.spawn(a),g=function(h){if(e.push(h),b[h]={index:c,low:c++,explored:!1},a.getElementById(h).connectedEdges().intersection(a).forEach(function(a){var c=a.target().id();c!==h&&(c in b||g(c),b[c].explored||(b[h].low=Math.min(b[h].low,b[c].low)))}),b[h].index===b[h].low){for(var i=a.spawn();;){var j=e.pop();if(i.merge(a.getElementById(j)),b[j].low=b[h].index,b[j].explored=!0,j===h)break}var k=i.edgesWith(i),l=i.merge(k);d.push(l),f=f.difference(l)}};return a.forEach(function(a){if(a.isNode()){var c=a.id();c in b||g(c)}}),{cut:f,components:d}},cT={};[aR,{dijkstra:function(a){if(!u(a)){var b=arguments;a={root:b[0],weight:b[1],directed:b[2]}}var c=aV(a),d=c.root,e=c.weight,f=c.directed,g=this,h=r(d)?this.filter(d)[0]:d[0],i={},j={},k={},l=this.byGroup(),n=l.nodes,o=l.edges;o.unmergeBy(function(a){return a.isLoop()});for(var p=function(a){return i[a.id()]},q=new aU(function(a,b){return p(a)-p(b)}),s=0;s<n.length;s++){var t=n[s];i[t.id()]=t.same(h)?0:1/0,q.push(t)}for(;q.size()>0;){var v=q.pop(),w=p(v);if(k[v.id()]=w,w!==1/0)for(var x=v.neighborhood().intersect(n),y=0;y<x.length;y++){var z=x[y],A=z.id(),B=function(a,b){for(var c,d=(f?a.edgesTo(b):a.edgesWith(b)).intersect(o),g=1/0,h=0;h<d.length;h++){var i=d[h],j=e(i);(j<g||!c)&&(g=j,c=i)}return{edge:c,dist:g}}(v,z),C=w+B.dist;C<p(z)&&(i[z.id()]=C,q.updateItem(z),j[A]={node:v,edge:B.edge})}}return{distanceTo:function(a){return k[(r(a)?n.filter(a)[0]:a[0]).id()]},pathTo:function(a){var b=r(a)?n.filter(a)[0]:a[0],c=[],d=b,e=d.id();if(b.length>0)for(c.unshift(b);j[e];){var f=j[e];c.unshift(f.edge),c.unshift(f.node),e=(d=f.node).id()}return g.spawn(c)}}}},{kruskal:function(a){a=a||function(a){return 1};for(var b=this.byGroup(),c=b.nodes,d=b.edges,e=c.length,f=Array(e),g=function(a){for(var b=0;b<f.length;b++)if(f[b].has(a))return b},h=0;h<e;h++)f[h]=this.spawn(c[h]);for(var i=d.sort(function(b,c){return a(b)-a(c)}),j=0;j<i.length;j++){var k=i[j],l=k.source()[0],n=k.target()[0],o=g(l),p=g(n),q=f[o],r=f[p];o!==p&&(c.merge(k),q.merge(r),f.splice(p,1))}return c}},{aStar:function(a){var b,c,d=this.cy(),e=aW(a),f=e.root,g=e.goal,h=e.heuristic,i=e.directed,j=e.weight;f=d.collection(f)[0],g=d.collection(g)[0];var k=f.id(),l=g.id(),n={},o={},p={},q=new aU(function(a,b){return o[a.id()]-o[b.id()]}),r=new aO,s={},t={},u=function(a,b){q.push(a),r.add(b)};u(f,k),n[k]=0,o[k]=h(f);for(var v=0;q.size()>0;){if(c=(b=q.pop()).id(),r.delete(c),v++,c===l){for(var w=[],x=g,y=l,z=t[y];w.unshift(x),null!=z&&w.unshift(z),null!=(x=s[y]);)z=t[y=x.id()];return{found:!0,distance:n[c],path:this.spawn(w),steps:v}}p[c]=!0;for(var A=b._private.edges,B=0;B<A.length;B++){var C=A[B];if(this.hasElementWithId(C.id())&&(!i||C.data("source")===c)){var D=C.source(),E=C.target(),F=D.id()!==c?D:E,G=F.id();if(this.hasElementWithId(G)&&!p[G]){var H=n[c]+j(C);if(!r.has(G)){n[G]=H,o[G]=H+h(F),u(F,G),s[G]=b,t[G]=C;continue}H<n[G]&&(n[G]=H,o[G]=H+h(F),s[G]=b,t[G]=C)}}}}return{found:!1,distance:void 0,path:void 0,steps:v}}},{floydWarshall:function(a){for(var b=this.cy(),c=aX(a),d=c.weight,e=c.directed,f=this.byGroup(),g=f.nodes,h=f.edges,i=g.length,j=i*i,k=function(a){return g.indexOf(a)},l=function(a){return g[a]},n=Array(j),o=0;o<j;o++){var p=o%i;(o-p)/i===p?n[o]=0:n[o]=1/0}for(var q=Array(j),s=Array(j),t=0;t<h.length;t++){var u=h[t],v=u.source()[0],w=u.target()[0];if(v!==w){var x=k(v),y=k(w),z=x*i+y,A=d(u);if(n[z]>A&&(n[z]=A,q[z]=y,s[z]=u),!e){var B=y*i+x;!e&&n[B]>A&&(n[B]=A,q[B]=x,s[B]=u)}}}for(var C=0;C<i;C++)for(var D=0;D<i;D++)for(var E=D*i+C,F=0;F<i;F++){var G=D*i+F,H=C*i+F;n[E]+n[H]<n[G]&&(n[G]=n[E]+n[H],q[G]=q[E])}var I=function(a){return k((r(a)?b.filter(a):a)[0])};return{distance:function(a,b){return n[I(a)*i+I(b)]},path:function(a,c){var d,e=I(a),f=I(c),g=l(e);if(e===f)return g.collection();if(null==q[e*i+f])return b.collection();var h=b.collection(),j=e;for(h.merge(g);e!==f;)j=e,e=q[e*i+f],d=s[j*i+e],h.merge(d),h.merge(l(e));return h}}}},{bellmanFord:function(a){var b=this,c=aY(a),d=c.weight,e=c.directed,f=c.root,g=this,h=this.cy(),i=this.byGroup(),j=i.edges,k=i.nodes,l=k.length,n=new aM,o=!1,p=[];f=h.collection(f)[0],j.unmergeBy(function(a){return a.isLoop()});for(var q=j.length,s=function(a){var b=n.get(a.id());return b||(b={},n.set(a.id(),b)),b},t=function(a){return(r(a)?h.$(a):a)[0]},u=0;u<l;u++){var v=k[u],w=s(v);v.same(f)?w.dist=0:w.dist=1/0,w.pred=null,w.edge=null}for(var x=!1,y=function(a,b,c,d,e,f){var g=d.dist+f;g<e.dist&&!c.same(d.edge)&&(e.dist=g,e.pred=a,e.edge=c,x=!0)},z=1;z<l;z++){x=!1;for(var A=0;A<q;A++){var B=j[A],C=B.source(),D=B.target(),E=d(B),F=s(C),G=s(D);y(C,D,B,F,G,E),e||y(D,C,B,G,F,E)}if(!x)break}if(x)for(var H=[],I=0;I<q;I++){var J=j[I],K=J.source(),L=J.target(),M=d(J),N=s(K).dist,O=s(L).dist;if(N+M<O||!e&&O+M<N)if(o||(aA("Graph contains a negative weight cycle for Bellman-Ford"),o=!0),!1!==a.findNegativeWeightCycles){var P=[];N+M<O&&P.push(K),!e&&O+M<N&&P.push(L);for(var Q=P.length,R=0;R<Q;R++){var S=P[R],T=[S];T.push(s(S).edge);for(var U=s(S).pred;-1===T.indexOf(U);)T.push(U),T.push(s(U).edge),U=s(U).pred;for(var V=(T=T.slice(T.indexOf(U)))[0].id(),W=0,X=2;X<T.length;X+=2)T[X].id()<V&&(V=T[X].id(),W=X);(T=T.slice(W).concat(T.slice(0,W))).push(T[0]);var Y=T.map(function(a){return a.id()}).join(",");-1===H.indexOf(Y)&&(p.push(g.spawn(T)),H.push(Y))}}else break}return{distanceTo:function(a){return s(t(a)).dist},pathTo:function(a){for(var c=arguments.length>1&&void 0!==arguments[1]?arguments[1]:f,d=t(a),e=[],h=d;;){if(null==h)return b.spawn();var i=s(h),j=i.edge,k=i.pred;if(e.unshift(h[0]),h.same(c)&&e.length>0)break;null!=j&&e.unshift(j),h=k}return g.spawn(e)},hasNegativeWeightCycle:o,negativeWeightCycles:p}}},{kargerStein:function(){var a=this,b=this.byGroup(),c=b.nodes,d=b.edges;d.unmergeBy(function(a){return a.isLoop()});var e=c.length,f=d.length,g=Math.ceil(Math.pow(Math.log(e)/Math.LN2,2)),h=Math.floor(e/aZ);if(e<2)return void ay("At least 2 nodes are required for Karger-Stein algorithm");for(var i=[],j=0;j<f;j++){var k=d[j];i.push([j,c.indexOf(k.source()),c.indexOf(k.target())])}for(var l=1/0,n=[],o=Array(e),p=Array(e),q=Array(e),r=function(a,b){for(var c=0;c<e;c++)b[c]=a[c]},s=0;s<=g;s++){for(var t=0;t<e;t++)p[t]=t;var u=a_(p,i.slice(),e,h),v=u.slice();r(p,q);var w=a_(p,u,h,2),x=a_(q,v,h,2);w.length<=x.length&&w.length<l?(l=w.length,n=w,r(p,o)):x.length<=w.length&&x.length<l&&(l=x.length,n=x,r(q,o))}for(var y=this.spawn(n.map(function(a){return d[a[0]]})),z=this.spawn(),A=this.spawn(),B=o[0],C=0;C<o.length;C++){var D=o[C],E=c[C];D===B?z.merge(E):A.merge(E)}var F=function(b){var c=a.spawn();return b.forEach(function(b){c.merge(b),b.connectedEdges().forEach(function(b){a.contains(b)&&!y.contains(b)&&c.merge(b)})}),c};return{cut:y,components:[F(z),F(A)],partition1:z,partition2:A}}},{pageRank:function(a){for(var b,c=bW(a),d=c.dampingFactor,e=c.precision,f=c.iterations,g=c.weight,h=this._private.cy,i=this.byGroup(),j=i.nodes,k=i.edges,l=j.length,n=l*l,o=k.length,p=Array(n),q=Array(l),r=(1-d)/l,s=0;s<l;s++){for(var t=0;t<l;t++)p[s*l+t]=0;q[s]=0}for(var u=0;u<o;u++){var v=k[u],w=v.data("source"),x=v.data("target");if(w!==x){var y=j.indexOfId(w),z=j.indexOfId(x),A=g(v),B=z*l+y;p[B]+=A,q[y]+=A}}for(var C=1/l+r,D=0;D<l;D++)if(0===q[D])for(var E=0;E<l;E++)p[E*l+D]=C;else for(var F=0;F<l;F++){var G=F*l+D;p[G]=p[G]/q[D]+r}for(var H=Array(l),I=Array(l),J=0;J<l;J++)H[J]=1;for(var K=0;K<f;K++){for(var L=0;L<l;L++)I[L]=0;for(var M=0;M<l;M++)for(var N=0;N<l;N++){var O=M*l+N;I[M]+=p[O]*H[N]}bc(I),b=H,H=I,I=b;for(var P=0,Q=0;Q<l;Q++){var R=b[Q]-H[Q];P+=R*R}if(P<e)break}return{rank:function(a){return a=h.collection(a)[0],H[j.indexOf(a)]}}}},bY,b$,b0,{markovClustering:cc,mcl:cc},{kMeans:function(a){var b,c=this.cy(),d=this.nodes(),e=null,f=cn(a),g=Array(f.k),h={};f.testMode?"number"==typeof f.testCentroids?(f.testCentroids,b=cp(d,f.k,f.attributes)):b="object"===j(f.testCentroids)?f.testCentroids:cp(d,f.k,f.attributes):b=cp(d,f.k,f.attributes);for(var i=!0,k=0;i&&k<f.maxIterations;){for(var l=0;l<d.length;l++)h[(e=d[l]).id()]=cq(e,b,f.distance,f.attributes,"kMeans");i=!1;for(var n=0;n<f.k;n++){var o=cr(n,d,h);if(0!==o.length){for(var p=f.attributes.length,q=b[n],r=Array(p),s=Array(p),t=0;t<p;t++){s[t]=0;for(var u,v=0;v<o.length;v++)e=o[v],s[t]+=f.attributes[t](e);r[t]=s[t]/o.length,u=r[t],Math.abs(q[t]-u)<=f.sensitivityThreshold||(i=!0)}b[n]=r,g[n]=c.collection(o)}}k++}return g},kMedoids:function(a){var b,c,d=this.cy(),e=this.nodes(),f=null,g=cn(a),h=Array(g.k),i={},k=Array(g.k);g.testMode?"number"==typeof g.testCentroids||(b="object"===j(g.testCentroids)?g.testCentroids:cu(e,g.k)):b=cu(e,g.k);for(var l=!0,n=0;l&&n<g.maxIterations;){for(var o=0;o<e.length;o++)i[(f=e[o]).id()]=cq(f,b,g.distance,g.attributes,"kMedoids");l=!1;for(var p=0;p<b.length;p++){var q=cr(p,e,i);if(0!==q.length){k[p]=cv(b[p],q,g.attributes);for(var r=0;r<q.length;r++)(c=cv(q[r],q,g.attributes))<k[p]&&(k[p]=c,b[p]=q[r],l=!0);h[p]=d.collection(q)}}n++}return h},fuzzyCMeans:cz,fcm:cz},{hierarchicalClustering:cH,hca:cH},{affinityPropagation:cP,ap:cP},{hierholzer:function(a){if(!u(a)){var b,c,d,e=arguments;a={root:e[0],directed:e[1]}}var f=cQ(a),g=f.root,h=f.directed,i=!1;g&&(d=r(g)?this.filter(g)[0].id():g[0].id());var j={},k={};h?this.forEach(function(a){var d=a.id();if(a.isNode()){var e=a.indegree(!0),f=a.outdegree(!0),g=e-f,h=f-e;1==g?b?i=!0:b=d:1==h?c?i=!0:c=d:(h>1||g>1)&&(i=!0),j[d]=[],a.outgoers().forEach(function(a){a.isEdge()&&j[d].push(a.id())})}else k[d]=[void 0,a.target().id()]}):this.forEach(function(a){var d=a.id();a.isNode()?(a.degree(!0)%2&&(b?c?i=!0:c=d:b=d),j[d]=[],a.connectedEdges().forEach(function(a){return j[d].push(a.id())})):k[d]=[a.source().id(),a.target().id()]});var l={found:!1,trail:void 0};if(i)return l;if(c&&b)if(h){if(d&&c!=d)return l;d=c}else{if(d&&c!=d&&b!=d)return l;d||(d=c)}else d||(d=this[0].id());var n=function(a){for(var b,c,d,e=a,f=[a];j[e].length;)c=k[b=j[e].shift()][0],e!=(d=k[b][1])?(j[d]=j[d].filter(function(a){return a!=b}),e=d):h||e==c||(j[c]=j[c].filter(function(a){return a!=b}),e=c),f.unshift(b),f.unshift(e);return f},o=[],p=[];for(p=n(d);1!=p.length;)0==j[p[0]].length?(o.unshift(this.getElementById(p.shift())),o.unshift(this.getElementById(p.shift()))):p=n(p.shift()).concat(p);for(var q in o.unshift(this.getElementById(p.shift())),j)if(j[q].length)return l;return l.found=!0,l.trail=this.spawn(o,!0),l}},{hopcroftTarjanBiconnected:cR,htbc:cR,htb:cR,hopcroftTarjanBiconnectedComponents:cR},{tarjanStronglyConnected:cS,tsc:cS,tscc:cS,tarjanStronglyConnectedComponents:cS}].forEach(function(a){Q(cT,a)});var cU=function(a){if(!(this instanceof cU))return new cU(a);this.id="Thenable/1.0.7",this.state=0,this.fulfillValue=void 0,this.rejectReason=void 0,this.onFulfilled=[],this.onRejected=[],this.proxy={then:this.then.bind(this)},"function"==typeof a&&a.call(this,this.fulfill.bind(this),this.reject.bind(this))};cU.prototype={fulfill:function(a){return cV(this,1,"fulfillValue",a)},reject:function(a){return cV(this,2,"rejectReason",a)},then:function(a,b){var c=new cU;return this.onFulfilled.push(cY(a,c,"fulfill")),this.onRejected.push(cY(b,c,"reject")),cW(this),c.proxy}};var cV=function(a,b,c,d){return 0===a.state&&(a.state=b,a[c]=d,cW(a)),a},cW=function(a){1===a.state?cX(a,"onFulfilled",a.fulfillValue):2===a.state&&cX(a,"onRejected",a.rejectReason)},cX=function(a,b,c){if(0!==a[b].length){var d=a[b];a[b]=[];var e=function(){for(var a=0;a<d.length;a++)d[a](c)};"function"==typeof setImmediate?setImmediate(e):setTimeout(e,0)}},cY=function(a,b,c){return function(d){if("function"!=typeof a)b[c].call(b,d);else{var e;try{e=a(d)}catch(a){b.reject(a);return}cZ(b,e)}}},cZ=function(a,b){if(a===b||a.proxy===b)return void a.reject(TypeError("cannot resolve promise with itself"));if("object"===j(b)&&null!==b||"function"==typeof b)try{c=b.then}catch(b){a.reject(b);return}if("function"==typeof c){var c,d=!1;try{c.call(b,function(c){d||(d=!0,c===b?a.reject(TypeError("circular thenable chain")):cZ(a,c))},function(b){d||(d=!0,a.reject(b))})}catch(b){d||a.reject(b)}return}a.fulfill(b)};cU.all=function(a){return new cU(function(b,c){for(var d=Array(a.length),e=0,f=function(c,f){d[c]=f,++e===a.length&&b(d)},g=0;g<a.length;g++)!function(b){var d=a[b];null!=d&&null!=d.then?d.then(function(a){f(b,a)},function(a){c(a)}):f(b,d)}(g)})},cU.resolve=function(a){return new cU(function(b,c){b(a)})},cU.reject=function(a){return new cU(function(b,c){c(a)})};var c$="undefined"!=typeof Promise?Promise:cU,c_=function(a,b,c){var d=A(a),e=this._private=Q({duration:1e3},b,c);if(e.target=a,e.style=e.style||e.css,e.started=!1,e.playing=!1,e.hooked=!1,e.applying=!1,e.progress=0,e.completes=[],e.frames=[],e.complete&&s(e.complete)&&e.completes.push(e.complete),!d){var f=a.position();e.startPosition=e.startPosition||{x:f.x,y:f.y},e.startStyle=e.startStyle||a.cy().style().getAnimationStartStyle(a,e.style)}if(d){var g=a.pan();e.startPan={x:g.x,y:g.y},e.startZoom=a.zoom()}this.length=1,this[0]=this},c0=c_.prototype;function c1(){return gA?gz:(gA=1,gz=Array.isArray)}function c2(){if(gQ)return gP;gQ=1;var a=function(){if(gM)return gL;gM=1;var a=function(){if(gE)return gD;gE=1;var a=ab(),b=$();return gD=function(c){if(!b(c))return!1;var d=a(c);return"[object Function]"==d||"[object GeneratorFunction]"==d||"[object AsyncFunction]"==d||"[object Proxy]"==d}}(),b=function(){if(gI)return gH;gI=1;var a,b=gG?gF:(gG=1,gF=_()["__core-js_shared__"]),c=(a=/[^.]+$/.exec(b&&b.keys&&b.keys.IE_PROTO||""))?"Symbol(src)_1."+a:"";return gH=function(a){return!!c&&c in a}}(),c=$(),d=function(){if(gK)return gJ;gK=1;var a=Function.prototype.toString;return gJ=function(b){if(null!=b){try{return a.call(b)}catch(a){}try{return b+""}catch(a){}}return""}}(),e=/^\[object .+?Constructor\]$/,f=Object.prototype,g=Function.prototype.toString,h=f.hasOwnProperty,i=RegExp("^"+g.call(h).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");return gL=function(f){return!(!c(f)||b(f))&&(a(f)?i:e).test(d(f))}}(),b=gO?gN:(gO=1,gN=function(a,b){return null==a?void 0:a[b]});return gP=function(c,d){var e=b(c,d);return a(e)?e:void 0}}function c3(){return gS?gR:(gS=1,gR=c2()(Object,"create"))}function c4(){return g6?g5:(g6=1,g5=function(a,b){return a===b||a!=a&&b!=b})}function c5(){if(g8)return g7;g8=1;var a=c4();return g7=function(b,c){for(var d=b.length;d--;)if(a(b[d][0],c))return d;return -1}}function c6(){if(hq)return hp;hq=1;var a=ho?hn:(ho=1,hn=function(a){var b=typeof a;return"string"==b||"number"==b||"symbol"==b||"boolean"==b?"__proto__"!==a:null===a});return hp=function(b,c){var d=b.__data__;return a(c)?d["string"==typeof c?"string":"hash"]:d.map}}function c7(){if(hG)return hF;hG=1;var a=function(){if(hE)return hD;hE=1;var a=function(){if(hC)return hB;hC=1;var a=function(){if(hA)return hz;hA=1;var a=function(){if(hm)return hl;hm=1;var a=function(){if(g2)return g1;g2=1;var a=function(){if(gU)return gT;gU=1;var a=c3();return gT=function(){this.__data__=a?a(null):{},this.size=0}}(),b=gW?gV:(gW=1,gV=function(a){var b=this.has(a)&&delete this.__data__[a];return this.size-=!!b,b}),c=function(){if(gY)return gX;gY=1;var a=c3(),b=Object.prototype.hasOwnProperty;return gX=function(c){var d=this.__data__;if(a){var e=d[c];return"__lodash_hash_undefined__"===e?void 0:e}return b.call(d,c)?d[c]:void 0}}(),d=function(){if(g$)return gZ;g$=1;var a=c3(),b=Object.prototype.hasOwnProperty;return gZ=function(c){var d=this.__data__;return a?void 0!==d[c]:b.call(d,c)}}(),e=function(){if(g0)return g_;g0=1;var a=c3();return g_=function(b,c){var d=this.__data__;return this.size+=+!this.has(b),d[b]=a&&void 0===c?"__lodash_hash_undefined__":c,this}}();function f(a){var b=-1,c=null==a?0:a.length;for(this.clear();++b<c;){var d=a[b];this.set(d[0],d[1])}}return f.prototype.clear=a,f.prototype.delete=b,f.prototype.get=c,f.prototype.has=d,f.prototype.set=e,g1=f}(),b=function(){if(hi)return hh;hi=1;var a=g4?g3:(g4=1,g3=function(){this.__data__=[],this.size=0}),b=function(){if(ha)return g9;ha=1;var a=c5(),b=Array.prototype.splice;return g9=function(c){var d=this.__data__,e=a(d,c);return!(e<0)&&(e==d.length-1?d.pop():b.call(d,e,1),--this.size,!0)}}(),c=function(){if(hc)return hb;hc=1;var a=c5();return hb=function(b){var c=this.__data__,d=a(c,b);return d<0?void 0:c[d][1]}}(),d=function(){if(he)return hd;he=1;var a=c5();return hd=function(b){return a(this.__data__,b)>-1}}(),e=function(){if(hg)return hf;hg=1;var a=c5();return hf=function(b,c){var d=this.__data__,e=a(d,b);return e<0?(++this.size,d.push([b,c])):d[e][1]=c,this}}();function f(a){var b=-1,c=null==a?0:a.length;for(this.clear();++b<c;){var d=a[b];this.set(d[0],d[1])}}return f.prototype.clear=a,f.prototype.delete=b,f.prototype.get=c,f.prototype.has=d,f.prototype.set=e,hh=f}(),c=hk?hj:(hk=1,hj=c2()(_(),"Map"));return hl=function(){this.size=0,this.__data__={hash:new a,map:new(c||b),string:new a}}}(),b=function(){if(hs)return hr;hs=1;var a=c6();return hr=function(b){var c=a(this,b).delete(b);return this.size-=!!c,c}}(),c=function(){if(hu)return ht;hu=1;var a=c6();return ht=function(b){return a(this,b).get(b)}}(),d=function(){if(hw)return hv;hw=1;var a=c6();return hv=function(b){return a(this,b).has(b)}}(),e=function(){if(hy)return hx;hy=1;var a=c6();return hx=function(b,c){var d=a(this,b),e=d.size;return d.set(b,c),this.size+=+(d.size!=e),this}}();function f(a){var b=-1,c=null==a?0:a.length;for(this.clear();++b<c;){var d=a[b];this.set(d[0],d[1])}}return f.prototype.clear=a,f.prototype.delete=b,f.prototype.get=c,f.prototype.has=d,f.prototype.set=e,hz=f}();function b(c,d){if("function"!=typeof c||null!=d&&"function"!=typeof d)throw TypeError("Expected a function");var e=function(){var a=arguments,b=d?d.apply(this,a):a[0],f=e.cache;if(f.has(b))return f.get(b);var g=c.apply(this,a);return e.cache=f.set(b,g)||f,g};return e.cache=new(b.Cache||a),e}return b.Cache=a,hB=b}();return hD=function(b){var c=a(b,function(a){return 500===d.size&&d.clear(),a}),d=c.cache;return c}}(),b=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,c=/\\(\\)?/g;return hF=a(function(a){var d=[];return 46===a.charCodeAt(0)&&d.push(""),a.replace(b,function(a,b,e,f){d.push(e?f.replace(c,"$1"):b||a)}),d})}function c8(){return hI?hH:(hI=1,hH=function(a,b){for(var c=-1,d=null==a?0:a.length,e=Array(d);++c<d;)e[c]=b(a[c],c,a);return e})}function c9(){if(hM)return hL;hM=1;var a=function(){if(hK)return hJ;hK=1;var a=aa(),b=c8(),c=c1(),d=ac(),e=a?a.prototype:void 0,f=e?e.toString:void 0;return hJ=function a(e){if("string"==typeof e)return e;if(c(e))return b(e,a)+"";if(d(e))return f?f.call(e):"";var g=e+"";return"0"==g&&1/e==-1/0?"-0":g}}();return hL=function(b){return null==b?"":a(b)}}function da(){if(hO)return hN;hO=1;var a=c1(),b=function(){if(gC)return gB;gC=1;var a=c1(),b=ac(),c=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,d=/^\w*$/;return gB=function(e,f){if(a(e))return!1;var g=typeof e;return!!("number"==g||"symbol"==g||"boolean"==g||null==e||b(e))||d.test(e)||!c.test(e)||null!=f&&e in Object(f)}}(),c=c7(),d=c9();return hN=function(e,f){return a(e)?e:b(e,f)?[e]:c(d(e))}}function db(){if(hQ)return hP;hQ=1;var a=ac();return hP=function(b){if("string"==typeof b||a(b))return b;var c=b+"";return"0"==c&&1/b==-1/0?"-0":c}}Q(c0,{instanceString:function(){return"animation"},hook:function(){var a=this._private;if(!a.hooked){var b=a.target._private.animation;(a.queue?b.queue:b.current).push(this),x(a.target)&&a.target.cy().addToAnimationPool(a.target),a.hooked=!0}return this},play:function(){var a=this._private;return 1===a.progress&&(a.progress=0),a.playing=!0,a.started=!1,a.stopped=!1,this.hook(),this},playing:function(){return this._private.playing},apply:function(){var a=this._private;return a.applying=!0,a.started=!1,a.stopped=!1,this.hook(),this},applying:function(){return this._private.applying},pause:function(){var a=this._private;return a.playing=!1,a.started=!1,this},stop:function(){var a=this._private;return a.playing=!1,a.started=!1,a.stopped=!0,this},rewind:function(){return this.progress(0)},fastforward:function(){return this.progress(1)},time:function(a){var b=this._private;return void 0===a?b.progress*b.duration:this.progress(a/b.duration)},progress:function(a){var b=this._private,c=b.playing;return void 0===a?b.progress:(c&&this.pause(),b.progress=a,b.started=!1,c&&this.play(),this)},completed:function(){return 1===this._private.progress},reverse:function(){var a=this._private,b=a.playing;b&&this.pause(),a.progress=1-a.progress,a.started=!1;var c=function(b,c){var d=a[b];null!=d&&(a[b]=a[c],a[c]=d)};if(c("zoom","startZoom"),c("pan","startPan"),c("position","startPosition"),a.style)for(var d=0;d<a.style.length;d++){var e=a.style[d],f=e.name,g=a.startStyle[f];a.startStyle[f]=e,a.style[d]=g}return b&&this.play(),this},promise:function(a){var b,c=this._private;return b="frame"===a?c.frames:c.completes,new c$(function(a,c){b.push(function(){a()})})}}),c0.complete=c0.completed,c0.run=c0.play,c0.running=c0.playing;var dc=Z(function(){if(hU)return hT;hU=1;var a=function(){if(hS)return hR;hS=1;var a=da(),b=db();return hR=function(c,d){d=a(d,c);for(var e=0,f=d.length;null!=c&&e<f;)c=c[b(d[e++])];return e&&e==f?c:void 0}}();return hT=function(b,c,d){var e=null==b?void 0:a(b,c);return void 0===e?d:e}}()),dd=Z(function(){if(h4)return h3;h4=1;var a=function(){if(h2)return h1;h2=1;var a=function(){if(h$)return hZ;h$=1;var a=function(){if(hY)return hX;hY=1;var a=function(){if(hW)return hV;hW=1;var a=c2();return hV=function(){try{var b=a(Object,"defineProperty");return b({},"",{}),b}catch(a){}}()}();return hX=function(b,c,d){"__proto__"==c&&a?a(b,c,{configurable:!0,enumerable:!0,value:d,writable:!0}):b[c]=d}}(),b=c4(),c=Object.prototype.hasOwnProperty;return hZ=function(d,e,f){var g=d[e];c.call(d,e)&&b(g,f)&&(void 0!==f||e in d)||a(d,e,f)}}(),b=da(),c=function(){if(h0)return h_;h0=1;var a=/^(?:0|[1-9]\d*)$/;return h_=function(b,c){var d=typeof b;return!!(c=null==c?0x1fffffffffffff:c)&&("number"==d||"symbol"!=d&&a.test(b))&&b>-1&&b%1==0&&b<c}}(),d=$(),e=db();return h1=function(f,g,h,i){if(!d(f))return f;g=b(g,f);for(var j=-1,k=g.length,l=k-1,n=f;null!=n&&++j<k;){var o=e(g[j]),p=h;if("__proto__"===o||"constructor"===o||"prototype"===o)break;if(j!=l){var q=n[o];void 0===(p=i?i(q,o,n):void 0)&&(p=d(q)?q:c(g[j+1])?[]:{})}a(n,o,p),n=n[o]}return f}}();return h3=function(b,c,d){return null==b?b:a(b,c,d)}}()),de=Z(function(){if(h8)return h7;h8=1;var a=c8(),b=h6?h5:(h6=1,h5=function(a,b){var c=-1,d=a.length;for(b||(b=Array(d));++c<d;)b[c]=a[c];return b}),c=c1(),d=ac(),e=c7(),f=db(),g=c9();return h7=function(h){return c(h)?a(h,f):d(h)?[h]:b(e(g(h)))}}()),df={};[{animated:function(){return function(){var a=void 0!==this.length;if(!(this._private.cy||this).styleEnabled())return!1;var b=(a?this:[this])[0];if(b)return b._private.animation.current.length>0}},clearQueue:function(){return function(){var a=void 0!==this.length?this:[this];if(!(this._private.cy||this).styleEnabled())return this;for(var b=0;b<a.length;b++)a[b]._private.animation.queue=[];return this}},delay:function(){return function(a,b){return(this._private.cy||this).styleEnabled()?this.animate({delay:a,duration:a,complete:b}):this}},delayAnimation:function(){return function(a,b){return(this._private.cy||this).styleEnabled()?this.animation({delay:a,duration:a,complete:b}):this}},animation:function(){return function(a,b){var c=void 0!==this.length,d=c?this:[this],e=this._private.cy||this,f=!c,g=!f;if(!e.styleEnabled())return this;var h=e.style();if(0===Object.keys(a=Q({},a,b)).length)return new c_(d[0],a);switch(void 0===a.duration&&(a.duration=400),a.duration){case"slow":a.duration=600;break;case"fast":a.duration=200}if(g&&(a.style=h.getPropsList(a.style||a.css),a.css=void 0),g&&null!=a.renderedPosition){var i=a.renderedPosition,j=e.pan(),k=e.zoom();a.position=a1(i,k,j)}if(f&&null!=a.panBy){var l=a.panBy,n=e.pan();a.pan={x:n.x+l.x,y:n.y+l.y}}var o=a.center||a.centre;if(f&&null!=o){var p=e.getCenterPan(o.eles,a.zoom);null!=p&&(a.pan=p)}if(f&&null!=a.fit){var q=a.fit,r=e.getFitViewport(q.eles||q.boundingBox,q.padding);null!=r&&(a.pan=r.pan,a.zoom=r.zoom)}if(f&&u(a.zoom)){var s=e.getZoomedViewport(a.zoom);null!=s?(s.zoomed&&(a.zoom=s.zoom),s.panned&&(a.pan=s.pan)):a.zoom=null}return new c_(d[0],a)}},animate:function(){return function(a,b){var c=void 0!==this.length?this:[this];if(!(this._private.cy||this).styleEnabled())return this;b&&(a=Q({},a,b));for(var d=0;d<c.length;d++){var e=c[d],f=e.animated()&&(void 0===a.queue||a.queue);e.animation(a,f?{queue:!0}:void 0).play()}return this}},stop:function(){return function(a,b){var c=void 0!==this.length?this:[this],d=this._private.cy||this;if(!d.styleEnabled())return this;for(var e=0;e<c.length;e++){for(var f=c[e]._private,g=f.animation.current,h=0;h<g.length;h++){var i=g[h]._private;b&&(i.duration=0)}a&&(f.animation.queue=[]),b||(f.animation.current=[])}return d.notify("draw"),this}}},{data:function(a){return a=Q({},{field:"data",bindingEvent:"data",allowBinding:!1,allowSetting:!1,allowGetting:!1,settingEvent:"data",settingTriggersEvent:!1,triggerFnName:"trigger",immutableKeys:{},updateStyle:!1,beforeGet:function(a){},beforeSet:function(a,b){},onSet:function(a){},canSet:function(a){return!0}},a),function(b,c){var d,e=a,g=void 0!==this.length,h=g?this:[this],i=g?this[0]:this;if(r(b)){var j,k=-1!==b.indexOf(".")&&de(b);if(e.allowGetting&&void 0===c)return i&&(e.beforeGet(i),j=k&&void 0===i._private[e.field][b]?dc(i._private[e.field],k):i._private[e.field][b]),j;if(e.allowSetting&&void 0!==c&&!e.immutableKeys[b]){var l=f({},b,c);e.beforeSet(this,l);for(var n=0,o=h.length;n<o;n++){var p=h[n];e.canSet(p)&&(k&&void 0===i._private[e.field][b]?dd(p._private[e.field],k,c):p._private[e.field][b]=c)}e.updateStyle&&this.updateStyle(),e.onSet(this),e.settingTriggersEvent&&this[e.triggerFnName](e.settingEvent)}}else if(e.allowSetting&&u(b)){var q,t,v=Object.keys(b);e.beforeSet(this,b);for(var w=0;w<v.length;w++)if(t=b[q=v[w]],!e.immutableKeys[q])for(var x=0;x<h.length;x++){var y=h[x];e.canSet(y)&&(y._private[e.field][q]=t)}e.updateStyle&&this.updateStyle(),e.onSet(this),e.settingTriggersEvent&&this[e.triggerFnName](e.settingEvent)}else if(e.allowBinding&&s(b))this.on(e.bindingEvent,b);else if(e.allowGetting&&void 0===b)return i&&(e.beforeGet(i),d=i._private[e.field]),d;return this}},removeData:function(a){return a=Q({},{field:"data",event:"data",triggerFnName:"trigger",triggerEvent:!1,immutableKeys:{}},a),function(b){var c=a,d=void 0!==this.length?this:[this];if(r(b)){for(var e=b.split(/\s+/),f=e.length,g=0;g<f;g++){var h=e[g];if(!C(h)&&!c.immutableKeys[h])for(var i=0,j=d.length;i<j;i++)d[i]._private[c.field][h]=void 0}c.triggerEvent&&this[c.triggerFnName](c.event)}else if(void 0===b){for(var k=0,l=d.length;k<l;k++)for(var n=d[k]._private[c.field],o=Object.keys(n),p=0;p<o.length;p++){var q=o[p];c.immutableKeys[q]||(n[q]=void 0)}c.triggerEvent&&this[c.triggerFnName](c.event)}return this}}},{eventAliasesOn:function(a){a.addListener=a.listen=a.bind=a.on,a.unlisten=a.unbind=a.off=a.removeListener,a.trigger=a.emit,a.pon=a.promiseOn=function(a,b){var c=this,d=Array.prototype.slice.call(arguments,0);return new c$(function(a,b){var e=d.concat([function(b){c.off.apply(c,f),a(b)}]),f=e.concat([]);c.on.apply(c,e)})}}}].forEach(function(a){Q(df,a)});var dg={animate:df.animate(),animation:df.animation(),animated:df.animated(),clearQueue:df.clearQueue(),delay:df.delay(),delayAnimation:df.delayAnimation(),stop:df.stop()},dh={classes:function(a){if(void 0===a){var b=[];return this[0]._private.classes.forEach(function(a){return b.push(a)}),b}t(a)||(a=(a||"").match(/\S+/g)||[]);for(var c=[],d=new aO(a),e=0;e<this.length;e++){for(var f=this[e],g=f._private,h=g.classes,i=!1,j=0;j<a.length;j++){var k=a[j];if(!h.has(k)){i=!0;break}}i||(i=h.size!==a.length),i&&(g.classes=d,c.push(f))}return c.length>0&&this.spawn(c).updateStyle().emit("class"),this},addClass:function(a){return this.toggleClass(a,!0)},hasClass:function(a){var b=this[0];return null!=b&&b._private.classes.has(a)},toggleClass:function(a,b){t(a)||(a=a.match(/\S+/g)||[]);for(var c=void 0===b,d=[],e=0,f=this.length;e<f;e++)for(var g=this[e],h=g._private.classes,i=!1,j=0;j<a.length;j++){var k=a[j],l=h.has(k),n=!1;b||c&&!l?(h.add(k),n=!0):(!b||c&&l)&&(h.delete(k),n=!0),!i&&n&&(d.push(g),i=!0)}return d.length>0&&this.spawn(d).updateStyle().emit("class"),this},removeClass:function(a){return this.toggleClass(a,!1)},flashClass:function(a,b){var c=this;if(null==b)b=250;else if(0===b)return c;return c.addClass(a),setTimeout(function(){c.removeClass(a)},b),c}};dh.className=dh.classNames=dh.classes;var di={metaChar:"[\\!\\\"\\#\\$\\%\\&\\'\\(\\)\\*\\+\\,\\.\\/\\:\\;\\<\\=\\>\\?\\@\\[\\]\\^\\`\\{\\|\\}\\~]",comparatorOp:"=|\\!=|>|>=|<|<=|\\$=|\\^=|\\*=",boolOp:"\\?|\\!|\\^",string:"\"(?:\\\\\"|[^\"])*\"|'(?:\\\\'|[^'])*'",number:K,meta:"degree|indegree|outdegree",separator:"\\s*,\\s*",descendant:"\\s+",child:"\\s+>\\s+",subject:"\\$",group:"node|edge|\\*",directedEdge:"\\s+->\\s+",undirectedEdge:"\\s+<->\\s+"};for(f2=0,di.variable="(?:[\\w-.]|(?:\\\\"+di.metaChar+"))+",di.className="(?:[\\w-]|(?:\\\\"+di.metaChar+"))+",di.value=di.string+"|"+di.number,di.id=di.variable,f0=di.comparatorOp.split("|");f2<f0.length;f2++)f1=f0[f2],di.comparatorOp+="|@"+f1;for(f2=0,f0=di.comparatorOp.split("|");f2<f0.length;f2++)(f1=f0[f2]).indexOf("!")>=0||"="!==f1&&(di.comparatorOp+="|\\!"+f1);var dj=function(){return{checks:[]}},dk=[{selector:":selected",matches:function(a){return a.selected()}},{selector:":unselected",matches:function(a){return!a.selected()}},{selector:":selectable",matches:function(a){return a.selectable()}},{selector:":unselectable",matches:function(a){return!a.selectable()}},{selector:":locked",matches:function(a){return a.locked()}},{selector:":unlocked",matches:function(a){return!a.locked()}},{selector:":visible",matches:function(a){return a.visible()}},{selector:":hidden",matches:function(a){return!a.visible()}},{selector:":transparent",matches:function(a){return a.transparent()}},{selector:":grabbed",matches:function(a){return a.grabbed()}},{selector:":free",matches:function(a){return!a.grabbed()}},{selector:":removed",matches:function(a){return a.removed()}},{selector:":inside",matches:function(a){return!a.removed()}},{selector:":grabbable",matches:function(a){return a.grabbable()}},{selector:":ungrabbable",matches:function(a){return!a.grabbable()}},{selector:":animated",matches:function(a){return a.animated()}},{selector:":unanimated",matches:function(a){return!a.animated()}},{selector:":parent",matches:function(a){return a.isParent()}},{selector:":childless",matches:function(a){return a.isChildless()}},{selector:":child",matches:function(a){return a.isChild()}},{selector:":orphan",matches:function(a){return a.isOrphan()}},{selector:":nonorphan",matches:function(a){return a.isChild()}},{selector:":compound",matches:function(a){return a.isNode()?a.isParent():a.source().isParent()||a.target().isParent()}},{selector:":loop",matches:function(a){return a.isLoop()}},{selector:":simple",matches:function(a){return a.isSimple()}},{selector:":active",matches:function(a){return a.active()}},{selector:":inactive",matches:function(a){return!a.active()}},{selector:":backgrounding",matches:function(a){return a.backgrounding()}},{selector:":nonbackgrounding",matches:function(a){return!a.backgrounding()}}].sort(function(a,b){return -1*P(a.selector,b.selector)}),dl=function(){for(var a,b={},c=0;c<dk.length;c++)b[(a=dk[c]).selector]=a.matches;return b}(),dm="("+dk.map(function(a){return a.selector}).join("|")+")",dn=function(a){return a.replace(RegExp("\\\\("+di.metaChar+")","g"),function(a,b){return b})},dp=function(a,b,c){a[a.length-1]=c},dq=[{name:"group",query:!0,regex:"("+di.group+")",populate:function(a,b,c){var d=g(c,1)[0];b.checks.push({type:0,value:"*"===d?d:d+"s"})}},{name:"state",query:!0,regex:dm,populate:function(a,b,c){var d=g(c,1)[0];b.checks.push({type:7,value:d})}},{name:"id",query:!0,regex:"\\#("+di.id+")",populate:function(a,b,c){var d=g(c,1)[0];b.checks.push({type:8,value:dn(d)})}},{name:"className",query:!0,regex:"\\.("+di.className+")",populate:function(a,b,c){var d=g(c,1)[0];b.checks.push({type:9,value:dn(d)})}},{name:"dataExists",query:!0,regex:"\\[\\s*("+di.variable+")\\s*\\]",populate:function(a,b,c){var d=g(c,1)[0];b.checks.push({type:4,field:dn(d)})}},{name:"dataCompare",query:!0,regex:"\\[\\s*("+di.variable+")\\s*("+di.comparatorOp+")\\s*("+di.value+")\\s*\\]",populate:function(a,b,c){var d=g(c,3),e=d[0],f=d[1],h=d[2];h=null!=RegExp("^"+di.string+"$").exec(h)?h.substring(1,h.length-1):parseFloat(h),b.checks.push({type:3,field:dn(e),operator:f,value:h})}},{name:"dataBool",query:!0,regex:"\\[\\s*("+di.boolOp+")\\s*("+di.variable+")\\s*\\]",populate:function(a,b,c){var d=g(c,2),e=d[0],f=d[1];b.checks.push({type:5,field:dn(f),operator:e})}},{name:"metaCompare",query:!0,regex:"\\[\\[\\s*("+di.meta+")\\s*("+di.comparatorOp+")\\s*("+di.number+")\\s*\\]\\]",populate:function(a,b,c){var d=g(c,3),e=d[0],f=d[1],h=d[2];b.checks.push({type:6,field:dn(e),operator:f,value:parseFloat(h)})}},{name:"nextQuery",separator:!0,regex:di.separator,populate:function(a,b){var c=a.currentSubject,d=a.edgeCount,e=a.compoundCount,f=a[a.length-1];return null!=c&&(f.subject=c,a.currentSubject=null),f.edgeCount=d,f.compoundCount=e,a.edgeCount=0,a.compoundCount=0,a[a.length++]=dj()}},{name:"directedEdge",separator:!0,regex:di.directedEdge,populate:function(a,b){if(null==a.currentSubject){var c=dj(),d=dj();return c.checks.push({type:11,source:b,target:d}),dp(a,b,c),a.edgeCount++,d}var e=dj(),f=dj();return e.checks.push({type:12,source:b,target:f}),dp(a,b,e),a.edgeCount++,f}},{name:"undirectedEdge",separator:!0,regex:di.undirectedEdge,populate:function(a,b){if(null==a.currentSubject){var c=dj(),d=dj();return c.checks.push({type:10,nodes:[b,d]}),dp(a,b,c),a.edgeCount++,d}var e=dj(),f=dj();return e.checks.push({type:14,node:b,neighbor:f}),dp(a,b,e),f}},{name:"child",separator:!0,regex:di.child,populate:function(a,b){if(null==a.currentSubject){var c=dj(),d=dj(),e=a[a.length-1];return c.checks.push({type:15,parent:e,child:d}),dp(a,b,c),a.compoundCount++,d}if(a.currentSubject===b){var f=dj(),g=a[a.length-1],h=dj(),i=dj(),j=dj(),k=dj();return f.checks.push({type:19,left:g,right:h,subject:i}),i.checks=b.checks,b.checks=[{type:20}],k.checks.push({type:20}),h.checks.push({type:17,parent:k,child:j}),dp(a,g,f),a.currentSubject=i,a.compoundCount++,j}var l=dj(),n=dj(),o=[{type:17,parent:l,child:n}];return l.checks=b.checks,b.checks=o,a.compoundCount++,n}},{name:"descendant",separator:!0,regex:di.descendant,populate:function(a,b){if(null==a.currentSubject){var c=dj(),d=dj(),e=a[a.length-1];return c.checks.push({type:16,ancestor:e,descendant:d}),dp(a,b,c),a.compoundCount++,d}if(a.currentSubject===b){var f=dj(),g=a[a.length-1],h=dj(),i=dj(),j=dj(),k=dj();return f.checks.push({type:19,left:g,right:h,subject:i}),i.checks=b.checks,b.checks=[{type:20}],k.checks.push({type:20}),h.checks.push({type:18,ancestor:k,descendant:j}),dp(a,g,f),a.currentSubject=i,a.compoundCount++,j}var l=dj(),n=dj(),o=[{type:18,ancestor:l,descendant:n}];return l.checks=b.checks,b.checks=o,a.compoundCount++,n}},{name:"subject",modifier:!0,regex:di.subject,populate:function(a,b){if(null!=a.currentSubject&&a.currentSubject!==b)return aA("Redefinition of subject in selector `"+a.toString()+"`"),!1;a.currentSubject=b;var c=a[a.length-1].checks[0],d=null==c?null:c.type;11===d?c.type=13:10===d&&(c.type=14,c.node=c.nodes[1],c.neighbor=c.nodes[0],c.nodes=null)}}];dq.forEach(function(a){return a.regexObj=RegExp("^"+a.regex)});var dr=function(a){for(var b,c,d,e=0;e<dq.length;e++){var f=dq[e],g=f.name,h=a.match(f.regexObj);if(null!=h){c=h,b=f,d=g;var i=h[0];a=a.substring(i.length);break}}return{expr:b,match:c,name:d,remaining:a}},ds=function(a){var b=a.match(/^\s+/);if(b){var c=b[0];a=a.substring(c.length)}return a},dt=function(a,b,c){var d,e,f,g=r(a),h=v(a),i=r(c),j=!1,k=!1,l=!1;switch(b.indexOf("!")>=0&&(b=b.replace("!",""),k=!0),b.indexOf("@")>=0&&(b=b.replace("@",""),j=!0),(g||i||j)&&(e=g||h?""+a:"",f=""+c),j&&(a=e=e.toLowerCase(),c=f=f.toLowerCase()),b){case"*=":d=e.indexOf(f)>=0;break;case"$=":d=e.indexOf(f,e.length-f.length)>=0;break;case"^=":d=0===e.indexOf(f);break;case"=":d=a===c;break;case">":l=!0,d=a>c;break;case">=":l=!0,d=a>=c;break;case"<":l=!0,d=a<c;break;case"<=":l=!0,d=a<=c;break;default:d=!1}return k&&(null!=a||!l)&&(d=!d),d},du=function(a,b){switch(b){case"?":return!!a;case"!":return!a;case"^":return void 0===a}},dv=function(a,b){return a.data(b)},dw=[],dx=function(a,b){return a.checks.every(function(a){return dw[a.type](a,b)})};dw[0]=function(a,b){var c=a.value;return"*"===c||c===b.group()},dw[7]=function(a,b){var c;return c=a.value,dl[c](b)},dw[8]=function(a,b){var c=a.value;return b.id()===c},dw[9]=function(a,b){var c=a.value;return b.hasClass(c)},dw[6]=function(a,b){var c=a.field,d=a.operator,e=a.value;return dt(b[c](),d,e)},dw[3]=function(a,b){var c=a.field,d=a.operator,e=a.value;return dt(dv(b,c),d,e)},dw[5]=function(a,b){var c=a.field,d=a.operator;return du(dv(b,c),d)},dw[4]=function(a,b){var c=a.field;return a.operator,void 0!==dv(b,c)},dw[10]=function(a,b){var c=a.nodes[0],d=a.nodes[1],e=b.source(),f=b.target();return dx(c,e)&&dx(d,f)||dx(d,e)&&dx(c,f)},dw[14]=function(a,b){return dx(a.node,b)&&b.neighborhood().some(function(b){return b.isNode()&&dx(a.neighbor,b)})},dw[11]=function(a,b){return dx(a.source,b.source())&&dx(a.target,b.target())},dw[12]=function(a,b){return dx(a.source,b)&&b.outgoers().some(function(b){return b.isNode()&&dx(a.target,b)})},dw[13]=function(a,b){return dx(a.target,b)&&b.incomers().some(function(b){return b.isNode()&&dx(a.source,b)})},dw[15]=function(a,b){return dx(a.child,b)&&dx(a.parent,b.parent())},dw[17]=function(a,b){return dx(a.parent,b)&&b.children().some(function(b){return dx(a.child,b)})},dw[16]=function(a,b){return dx(a.descendant,b)&&b.ancestors().some(function(b){return dx(a.ancestor,b)})},dw[18]=function(a,b){return dx(a.ancestor,b)&&b.descendants().some(function(b){return dx(a.descendant,b)})},dw[19]=function(a,b){return dx(a.subject,b)&&dx(a.left,b)&&dx(a.right,b)},dw[20]=function(){return!0},dw[1]=function(a,b){return a.value.has(b)},dw[2]=function(a,b){return(0,a.value)(b)};var dy=function(a){this.inputText=a,this.currentSubject=null,this.compoundCount=0,this.edgeCount=0,this.length=0,null==a||r(a)&&a.match(/^\s*$/)||(x(a)?this.addQuery({checks:[{type:1,value:a.collection()}]}):s(a)?this.addQuery({checks:[{type:2,value:a}]}):r(a)?this.parse(a)||(this.invalid=!0):ay("A selector must be created from a string; found "))},dz=dy.prototype;[{parse:function(a){var b=this.inputText=a,c=this[0]=dj();for(this.length=1,b=ds(b);;){var d=dr(b);if(null==d.expr)return aA("The selector `"+a+"`is invalid"),!1;var e=d.match.slice(1),f=d.expr.populate(this,c,e);if(!1===f)return!1;if(null!=f&&(c=f),(b=d.remaining).match(/^\s*$/))break}var g=this[this.length-1];null!=this.currentSubject&&(g.subject=this.currentSubject),g.edgeCount=this.edgeCount,g.compoundCount=this.compoundCount;for(var h=0;h<this.length;h++){var i=this[h];if(i.compoundCount>0&&i.edgeCount>0)return aA("The selector `"+a+"` is invalid because it uses both a compound selector and an edge selector"),!1;if(i.edgeCount>1)return aA("The selector `"+a+"` is invalid because it uses multiple edge selectors"),!1;1===i.edgeCount&&aA("The selector `"+a+"` is deprecated. Edge selectors do not take effect on changes to source and target nodes after an edge is added, for performance reasons. Use a class or data selector on edges instead, updating the class or data of an edge when your app detects a change in source or target nodes.")}return!0},toString:function(){if(null!=this.toStringCache)return this.toStringCache;for(var a=function(a){return null==a?"":a},b=function(b){return r(b)?'"'+b+'"':a(b)},c=function(a){return" "+a+" "},d=function(d,f){var g=d.type,h=d.value;switch(g){case 0:var i=a(h);return i.substring(0,i.length-1);case 3:return"["+d.field+c(a(d.operator))+b(h)+"]";case 5:var j=d.operator,k=d.field;return"["+a(j)+k+"]";case 4:return"["+d.field+"]";case 6:var l=d.operator;return"[["+d.field+c(a(l))+b(h)+"]]";case 7:return h;case 8:return"#"+h;case 9:return"."+h;case 17:case 15:return e(d.parent,f)+c(">")+e(d.child,f);case 18:case 16:return e(d.ancestor,f)+" "+e(d.descendant,f);case 19:var n=e(d.left,f),o=e(d.subject,f),p=e(d.right,f);return n+(n.length>0?" ":"")+o+p;case 20:return""}},e=function(a,b){return a.checks.reduce(function(c,e,f){return c+(b===a&&0===f?"$":"")+d(e,b)},"")},f="",g=0;g<this.length;g++){var h=this[g];f+=e(h,h.subject),this.length>1&&g<this.length-1&&(f+=", ")}return this.toStringCache=f,f}},{matches:function(a){for(var b=0;b<this.length;b++)if(dx(this[b],a))return!0;return!1},filter:function(a){var b=this;if(1===b.length&&1===b[0].checks.length&&8===b[0].checks[0].type)return a.getElementById(b[0].checks[0].value).collection();var c=function(a){for(var c=0;c<b.length;c++)if(dx(b[c],a))return!0;return!1};return null==b.text()&&(c=function(){return!0}),a.filter(c)}}].forEach(function(a){return Q(dz,a)}),dz.text=function(){return this.inputText},dz.size=function(){return this.length},dz.eq=function(a){return this[a]},dz.sameText=function(a){return!this.invalid&&!a.invalid&&this.text()===a.text()},dz.addQuery=function(a){this[this.length++]=a},dz.selector=dz.toString;var dA={allAre:function(a){var b=new dy(a);return this.every(function(a){return b.matches(a)})},is:function(a){var b=new dy(a);return this.some(function(a){return b.matches(a)})},some:function(a,b){for(var c=0;c<this.length;c++)if(b?a.apply(b,[this[c],c,this]):a(this[c],c,this))return!0;return!1},every:function(a,b){for(var c=0;c<this.length;c++)if(!(b?a.apply(b,[this[c],c,this]):a(this[c],c,this)))return!1;return!0},same:function(a){if(this===a)return!0;a=this.cy().collection(a);var b=this.length;return b===a.length&&(1===b?this[0]===a[0]:this.every(function(b){return a.hasElementWithId(b.id())}))},anySame:function(a){return a=this.cy().collection(a),this.some(function(b){return a.hasElementWithId(b.id())})},allAreNeighbors:function(a){a=this.cy().collection(a);var b=this.neighborhood();return a.every(function(a){return b.hasElementWithId(a.id())})},contains:function(a){a=this.cy().collection(a);var b=this;return a.every(function(a){return b.hasElementWithId(a.id())})}};dA.allAreNeighbours=dA.allAreNeighbors,dA.has=dA.contains,dA.equal=dA.equals=dA.same;var dB=function(a,b){return function(c,d,e,f){if(null==c?g="":x(c)&&1===c.length&&(g=c.id()),1!==this.length||!g)return a.call(this,c,d,e,f);var g,h=this[0]._private,i=h.traversalCache=h.traversalCache||{},j=i[b]=i[b]||[],k=an(g),l=j[k];return l||(j[k]=a.call(this,c,d,e,f))}},dC={parent:function(a){var b=[];if(1===this.length){var c=this[0]._private.parent;if(c)return c}for(var d=0;d<this.length;d++){var e=this[d]._private.parent;e&&b.push(e)}return this.spawn(b,!0).filter(a)},parents:function(a){for(var b=[],c=this.parent();c.nonempty();){for(var d=0;d<c.length;d++){var e=c[d];b.push(e)}c=c.parent()}return this.spawn(b,!0).filter(a)},commonAncestors:function(a){for(var b,c=0;c<this.length;c++){var d=this[c].parents();b=(b=b||d).intersect(d)}return b.filter(a)},orphans:function(a){return this.stdFilter(function(a){return a.isOrphan()}).filter(a)},nonorphans:function(a){return this.stdFilter(function(a){return a.isChild()}).filter(a)},children:dB(function(a){for(var b=[],c=0;c<this.length;c++)for(var d=this[c]._private.children,e=0;e<d.length;e++)b.push(d[e]);return this.spawn(b,!0).filter(a)},"children"),siblings:function(a){return this.parent().children().not(this).filter(a)},isParent:function(){var a=this[0];if(a)return a.isNode()&&0!==a._private.children.length},isChildless:function(){var a=this[0];if(a)return a.isNode()&&0===a._private.children.length},isChild:function(){var a=this[0];if(a)return a.isNode()&&null!=a._private.parent},isOrphan:function(){var a=this[0];if(a)return a.isNode()&&null==a._private.parent},descendants:function(a){var b=[];return!function a(c){for(var d=0;d<c.length;d++){var e=c[d];b.push(e),e.children().nonempty()&&a(e.children())}}(this.children()),this.spawn(b,!0).filter(a)}};function dD(a,b,c,d){for(var e=[],f=new aO,g=a.cy().hasCompoundNodes(),h=0;h<a.length;h++){var i=a[h];c?e.push(i):g&&d(e,f,i)}for(;e.length>0;){var j=e.shift();b(j),f.add(j.id()),g&&d(e,f,j)}return a}function dE(a,b,c){if(c.isParent())for(var d=c._private.children,e=0;e<d.length;e++){var f=d[e];b.has(f.id())||a.push(f)}}function dF(a,b,c){if(c.isChild()){var d=c._private.parent;b.has(d.id())||a.push(d)}}function dG(a,b,c){dF(a,b,c),dE(a,b,c)}dC.forEachDown=function(a){var b=!(arguments.length>1)||void 0===arguments[1]||arguments[1];return dD(this,a,b,dE)},dC.forEachUp=function(a){var b=!(arguments.length>1)||void 0===arguments[1]||arguments[1];return dD(this,a,b,dF)},dC.forEachUpAndDown=function(a){var b=!(arguments.length>1)||void 0===arguments[1]||arguments[1];return dD(this,a,b,dG)},dC.ancestors=dC.parents,(h9=ia={data:df.data({field:"data",bindingEvent:"data",allowBinding:!0,allowSetting:!0,settingEvent:"data",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,immutableKeys:{id:!0,source:!0,target:!0,parent:!0},updateStyle:!0}),removeData:df.removeData({field:"data",event:"data",triggerFnName:"trigger",triggerEvent:!0,immutableKeys:{id:!0,source:!0,target:!0,parent:!0},updateStyle:!0}),scratch:df.data({field:"scratch",bindingEvent:"scratch",allowBinding:!0,allowSetting:!0,settingEvent:"scratch",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeScratch:df.removeData({field:"scratch",event:"scratch",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0}),rscratch:df.data({field:"rscratch",allowBinding:!1,allowSetting:!0,settingTriggersEvent:!1,allowGetting:!0}),removeRscratch:df.removeData({field:"rscratch",triggerEvent:!1}),id:function(){var a=this[0];if(a)return a._private.data.id}}).attr=h9.data,h9.removeAttr=h9.removeData;var dH={};function dI(a){return function(b){if(void 0===b&&(b=!0),0!==this.length)if(!this.isNode()||this.removed())return;else{for(var c=0,d=this[0],e=d._private.edges,f=0;f<e.length;f++){var g=e[f];!b&&g.isLoop()||(c+=a(d,g))}return c}}}function dJ(a,b){return function(c){for(var d,e=this.nodes(),f=0;f<e.length;f++){var g=e[f][a](c);void 0!==g&&(void 0===d||b(g,d))&&(d=g)}return d}}Q(dH,{degree:dI(function(a,b){return b.source().same(b.target())?2:1}),indegree:dI(function(a,b){return+!!b.target().same(a)}),outdegree:dI(function(a,b){return+!!b.source().same(a)})}),Q(dH,{minDegree:dJ("degree",function(a,b){return a<b}),maxDegree:dJ("degree",function(a,b){return a>b}),minIndegree:dJ("indegree",function(a,b){return a<b}),maxIndegree:dJ("indegree",function(a,b){return a>b}),minOutdegree:dJ("outdegree",function(a,b){return a<b}),maxOutdegree:dJ("outdegree",function(a,b){return a>b})}),Q(dH,{totalDegree:function(a){for(var b=0,c=this.nodes(),d=0;d<c.length;d++)b+=c[d].degree(a);return b}});var dK=function(a,b,c){for(var d=0;d<a.length;d++){var e=a[d];if(!e.locked()){var f=e._private.position,g={x:null!=b.x?b.x-f.x:0,y:null!=b.y?b.y-f.y:0};e.isParent()&&(0!==g.x||0!==g.y)&&e.children().shift(g,c),e.dirtyBoundingBoxCache()}}},dL={field:"position",bindingEvent:"position",allowBinding:!0,allowSetting:!0,settingEvent:"position",settingTriggersEvent:!0,triggerFnName:"emitAndNotify",allowGetting:!0,validKeys:["x","y"],beforeGet:function(a){a.updateCompoundBounds()},beforeSet:function(a,b){dK(a,b,!1)},onSet:function(a){a.dirtyCompoundBoundsCache()},canSet:function(a){return!a.locked()}};(ib=ic={position:df.data(dL),silentPosition:df.data(Q({},dL,{allowBinding:!1,allowSetting:!0,settingTriggersEvent:!1,allowGetting:!1,beforeSet:function(a,b){dK(a,b,!0)},onSet:function(a){a.dirtyCompoundBoundsCache()}})),positions:function(a,b){if(u(a))b?this.silentPosition(a):this.position(a);else if(s(a)){var c=this.cy();c.startBatch();for(var d=0;d<this.length;d++){var e=this[d],f=void 0;(f=a(e,d))&&(b?e.silentPosition(f):e.position(f))}c.endBatch()}return this},silentPositions:function(a){return this.positions(a,!0)},shift:function(a,b,c){var d;if(u(a)?(d={x:v(a.x)?a.x:0,y:v(a.y)?a.y:0},c=b):r(a)&&v(b)&&((d={x:0,y:0})[a]=b),null!=d){var e=this.cy();e.startBatch();for(var f=0;f<this.length;f++){var g=this[f];if(!(e.hasCompoundNodes()&&g.isChild()&&g.ancestors().anySame(this))){var h=g.position(),i={x:h.x+d.x,y:h.y+d.y};c?g.silentPosition(i):g.position(i)}}e.endBatch()}return this},silentShift:function(a,b){return u(a)?this.shift(a,!0):r(a)&&v(b)&&this.shift(a,b,!0),this},renderedPosition:function(a,b){var c=this[0],d=this.cy(),e=d.zoom(),f=d.pan(),g=u(a)?a:void 0,h=void 0!==g||void 0!==b&&r(a);if(c&&c.isNode())if(!h)return(g=a0(c.position(),e,f),void 0===a)?g:g[a];else for(var i=0;i<this.length;i++){var j=this[i];void 0!==b?j.position(a,(b-f[a])/e):void 0!==g&&j.position(a1(g,e,f))}else if(!h)return;return this},relativePosition:function(a,b){var c=this[0],d=this.cy(),e=u(a)?a:void 0,f=void 0!==e||void 0!==b&&r(a),g=d.hasCompoundNodes();if(c&&c.isNode())if(f)for(var h=0;h<this.length;h++){var i=this[h],j=g?i.parent():null,k=j&&j.length>0;k&&(j=j[0]);var l=k?j.position():{x:0,y:0};void 0!==b?i.position(a,b+l[a]):void 0!==e&&i.position({x:e.x+l.x,y:e.y+l.y})}else{var n=c.position(),o=g?c.parent():null,p=o&&o.length>0;p&&(o=o[0]);var q=p?o.position():{x:0,y:0};return(e={x:n.x-q.x,y:n.y-q.y},void 0===a)?e:e[a]}else if(!f)return;return this}}).modelPosition=ib.point=ib.position,ib.modelPositions=ib.points=ib.positions,ib.renderedPoint=ib.renderedPosition,ib.relativePoint=ib.relativePosition,id=ie={},ie.renderedBoundingBox=function(a){var b=this.boundingBox(a),c=this.cy(),d=c.zoom(),e=c.pan(),f=b.x1*d+e.x,g=b.x2*d+e.x,h=b.y1*d+e.y,i=b.y2*d+e.y;return{x1:f,x2:g,y1:h,y2:i,w:g-f,h:i-h}},ie.dirtyCompoundBoundsCache=function(){var a=arguments.length>0&&void 0!==arguments[0]&&arguments[0],b=this.cy();return b.styleEnabled()&&b.hasCompoundNodes()&&this.forEachUp(function(b){if(b.isParent()){var c=b._private;c.compoundBoundsClean=!1,c.bbCache=null,a||b.emitAndNotify("bounds")}}),this},ie.updateCompoundBounds=function(){var a=arguments.length>0&&void 0!==arguments[0]&&arguments[0],b=this.cy();if(!b.styleEnabled()||!b.hasCompoundNodes()||!a&&b.batching())return this;for(var c=0;c<this.length;c++){var d=this[c],e=d._private;(!e.compoundBoundsClean||a)&&(!function(a){if(a.isParent()){var b=a._private,c=a.children(),d="include"===a.pstyle("compound-sizing-wrt-labels").value,e={width:{val:a.pstyle("min-width").pfValue,left:a.pstyle("min-width-bias-left"),right:a.pstyle("min-width-bias-right")},height:{val:a.pstyle("min-height").pfValue,top:a.pstyle("min-height-bias-top"),bottom:a.pstyle("min-height-bias-bottom")}},f=c.boundingBox({includeLabels:d,includeOverlays:!1,useCache:!1}),g=b.position;(0===f.w||0===f.h)&&((f={w:a.pstyle("width").pfValue,h:a.pstyle("height").pfValue}).x1=g.x-f.w/2,f.x2=g.x+f.w/2,f.y1=g.y-f.h/2,f.y2=g.y+f.h/2);var h=e.width.left.value;"px"===e.width.left.units&&e.width.val>0&&(h=100*h/e.width.val);var i=e.width.right.value;"px"===e.width.right.units&&e.width.val>0&&(i=100*i/e.width.val);var j=e.height.top.value;"px"===e.height.top.units&&e.height.val>0&&(j=100*j/e.height.val);var k=e.height.bottom.value;"px"===e.height.bottom.units&&e.height.val>0&&(k=100*k/e.height.val);var l=s(e.width.val-f.w,h,i),n=l.biasDiff,o=l.biasComplementDiff,p=s(e.height.val-f.h,j,k),q=p.biasDiff,r=p.biasComplementDiff;b.autoPadding=function(a,b,c,d){if("%"===c.units)switch(d){case"width":return a>0?c.pfValue*a:0;case"height":return b>0?c.pfValue*b:0;case"average":return a>0&&b>0?c.pfValue*(a+b)/2:0;case"min":return a>0&&b>0?a>b?c.pfValue*b:c.pfValue*a:0;case"max":return a>0&&b>0?a>b?c.pfValue*a:c.pfValue*b:0;default:return 0}return"px"===c.units?c.pfValue:0}(f.w,f.h,a.pstyle("padding"),a.pstyle("padding-relative-to").value),b.autoWidth=Math.max(f.w,e.width.val),g.x=(-n+f.x1+f.x2+o)/2,b.autoHeight=Math.max(f.h,e.height.val),g.y=(-q+f.y1+f.y2+r)/2}function s(a,b,c){var d=0,e=0,f=b+c;return a>0&&f>0&&(d=b/f*a,e=c/f*a),{biasDiff:d,biasComplementDiff:e}}}(d),b.batching()||(e.compoundBoundsClean=!0))}return this};var dM=function(a){return a===1/0||a===-1/0?0:a},dN=function(a,b,c,d,e){d-b==0||e-c==0||null!=b&&null!=c&&null!=d&&null!=e&&(a.x1=b<a.x1?b:a.x1,a.x2=d>a.x2?d:a.x2,a.y1=c<a.y1?c:a.y1,a.y2=e>a.y2?e:a.y2,a.w=a.x2-a.x1,a.h=a.y2-a.y1)},dO=function(a,b){return null==b?a:dN(a,b.x1,b.y1,b.x2,b.y2)},dP=function(a,b,c){return aJ(a,b,c)},dQ=function(a,b,c){if(!b.cy().headless()){var d,e,f=b._private,g=f.rstyle,h=g.arrowWidth/2;if("none"!==b.pstyle(c+"-arrow-shape").value){"source"===c?(d=g.srcX,e=g.srcY):"target"===c?(d=g.tgtX,e=g.tgtY):(d=g.midX,e=g.midY);var i=f.arrowBounds=f.arrowBounds||{},j=i[c]=i[c]||{};j.x1=d-h,j.y1=e-h,j.x2=d+h,j.y2=e+h,j.w=j.x2-j.x1,j.h=j.y2-j.y1,bl(j,1),dN(a,j.x1,j.y1,j.x2,j.y2)}}},dR=function(a,b,c){if(!b.cy().headless()){f=c?c+"-":"";var d=b._private,e=d.rstyle;if(b.pstyle(f+"label").strValue){var f,g,h,i,j,k=b.pstyle("text-halign"),l=b.pstyle("text-valign"),n=dP(e,"labelWidth",c),o=dP(e,"labelHeight",c),p=dP(e,"labelX",c),q=dP(e,"labelY",c),r=b.pstyle(f+"text-margin-x").pfValue,s=b.pstyle(f+"text-margin-y").pfValue,t=b.isEdge(),u=b.pstyle(f+"text-rotation"),v=b.pstyle("text-outline-width").pfValue,w=b.pstyle("text-border-width").pfValue/2,x=b.pstyle("text-background-padding").pfValue,y=n/2,z=o/2;if(t)g=p-y,h=p+y,i=q-z,j=q+z;else{switch(k.value){case"left":g=p-n,h=p;break;case"center":g=p-y,h=p+y;break;case"right":g=p,h=p+n}switch(l.value){case"top":i=q-o,j=q;break;case"center":i=q-z,j=q+z;break;case"bottom":i=q,j=q+o}}var A=r-Math.max(v,w)-x-2,B=r+Math.max(v,w)+x+2,C=s-Math.max(v,w)-x-2,D=s+Math.max(v,w)+x+2;g+=A,h+=B,i+=C,j+=D;var E=c||"main",F=d.labelBounds,G=F[E]=F[E]||{};G.x1=g,G.y1=i,G.x2=h,G.y2=j,G.w=h-g,G.h=j-i,G.leftPad=A,G.rightPad=B,G.topPad=C,G.botPad=D;var H=t&&"autorotate"===u.strValue,I=null!=u.pfValue&&0!==u.pfValue;if(H||I){var J=H?dP(d.rstyle,"labelAngle",c):u.pfValue,K=Math.cos(J),L=Math.sin(J),M=(g+h)/2,N=(i+j)/2;if(!t){switch(k.value){case"left":M=h;break;case"right":M=g}switch(l.value){case"top":N=j;break;case"bottom":N=i}}var O=function(a,b){return{x:(a-=M)*K-(b-=N)*L+M,y:a*L+b*K+N}},P=O(g,i),Q=O(g,j),R=O(h,i),S=O(h,j);g=Math.min(P.x,Q.x,R.x,S.x),h=Math.max(P.x,Q.x,R.x,S.x),i=Math.min(P.y,Q.y,R.y,S.y),j=Math.max(P.y,Q.y,R.y,S.y)}var T=E+"Rot",U=F[T]=F[T]||{};U.x1=g,U.y1=i,U.x2=h,U.y2=j,U.w=h-g,U.h=j-i,dN(a,g,i,h,j),dN(d.labelBounds.all,g,i,h,j)}return a}},dS=function(a,b){if(!b.cy().headless()){var c=b.pstyle("outline-opacity").value,d=b.pstyle("outline-width").value+b.pstyle("outline-offset").value;dT(a,b,c,d,"outside",d/2)}},dT=function(a,b,c,d,e,f){if(0!==c&&!(d<=0)&&"inside"!==e){var g=b.cy(),h=b.pstyle("shape").value,i=g.renderer().nodeShapes[h],j=b.position(),k=j.x,l=j.y,n=b.width(),o=b.height();i.hasMiterBounds?("center"===e&&(d/=2),dO(a,i.miterBounds(k,l,n,o,d))):null!=f&&f>0&&bm(a,[f,f,f,f])}},dU=function(a,b){if(!b.cy().headless()){var c=b.pstyle("border-opacity").value,d=b.pstyle("border-width").pfValue,e=b.pstyle("border-position").value;dT(a,b,c,d,e)}},dV=function(a,b){var c=a._private.cy,d=c.styleEnabled(),e=c.headless(),f=bh(),g=a._private,h=a.isNode(),i=a.isEdge(),j=g.rstyle,k=h&&d?a.pstyle("bounds-expansion").pfValue:[0],l=function(a){return"none"!==a.pstyle("display").value},n=!d||l(a)&&(!i||l(a.source())&&l(a.target()));if(n){var o=0;d&&b.includeOverlays&&0!==a.pstyle("overlay-opacity").value&&(o=a.pstyle("overlay-padding").value);var p=0;d&&b.includeUnderlays&&0!==a.pstyle("underlay-opacity").value&&(p=a.pstyle("underlay-padding").value);var q=Math.max(o,p),r=0;if(d&&(r=a.pstyle("width").pfValue/2),h&&b.includeNodes){var s=a.position();z=s.x,A=s.y;var t=a.outerWidth()/2,u=a.outerHeight()/2;v=z-t,w=z+t,dN(f,v,x=A-u,w,y=A+u),d&&dS(f,a),d&&b.includeOutlines&&!e&&dS(f,a),d&&dU(f,a)}else if(i&&b.includeEdges)if(d&&!e){var v,w,x,y,z,A,B,C=a.pstyle("curve-style").strValue;if(v=Math.min(j.srcX,j.midX,j.tgtX),w=Math.max(j.srcX,j.midX,j.tgtX),x=Math.min(j.srcY,j.midY,j.tgtY),y=Math.max(j.srcY,j.midY,j.tgtY),v-=r,w+=r,dN(f,v,x-=r,w,y+=r),"haystack"===C){var D=j.haystackPts;if(D&&2===D.length){if(v=D[0].x,x=D[0].y,w=D[1].x,y=D[1].y,v>w){var E=v;v=w,w=E}if(x>y){var F=x;x=y,y=F}dN(f,v-r,x-r,w+r,y+r)}}else if("bezier"===C||"unbundled-bezier"===C||J(C,"segments")||J(C,"taxi")){switch(C){case"bezier":case"unbundled-bezier":B=j.bezierPts;break;case"segments":case"taxi":case"round-segments":case"round-taxi":B=j.linePts}if(null!=B)for(var G=0;G<B.length;G++){var H=B[G];v=H.x-r,w=H.x+r,dN(f,v,x=H.y-r,w,y=H.y+r)}}}else{var I=a.source().position(),K=a.target().position();if(v=I.x,w=K.x,x=I.y,y=K.y,v>w){var L=v;v=w,w=L}if(x>y){var M=x;x=y,y=M}v-=r,w+=r,dN(f,v,x-=r,w,y+=r)}if(d&&b.includeEdges&&i&&(dQ(f,a,"mid-source"),dQ(f,a,"mid-target"),dQ(f,a,"source"),dQ(f,a,"target")),d&&"yes"===a.pstyle("ghost").value){var N=a.pstyle("ghost-offset-x").pfValue,O=a.pstyle("ghost-offset-y").pfValue;dN(f,f.x1+N,f.y1+O,f.x2+N,f.y2+O)}var P=g.bodyBounds=g.bodyBounds||{};bn(P,f),bm(P,k),bl(P,1),d&&(v=f.x1,w=f.x2,x=f.y1,y=f.y2,dN(f,v-q,x-q,w+q,y+q));var Q=g.overlayBounds=g.overlayBounds||{};bn(Q,f),bm(Q,k),bl(Q,1);var R=g.labelBounds=g.labelBounds||{};null!=R.all?bi(R.all):R.all=bh(),d&&b.includeLabels&&(b.includeMainLabels&&dR(f,a,null),i&&(b.includeSourceLabels&&dR(f,a,"source"),b.includeTargetLabels&&dR(f,a,"target")))}return f.x1=dM(f.x1),f.y1=dM(f.y1),f.x2=dM(f.x2),f.y2=dM(f.y2),f.w=dM(f.x2-f.x1),f.h=dM(f.y2-f.y1),f.w>0&&f.h>0&&n&&(bm(f,k),bl(f,1)),f},dW=function(a){var b=0,c=function(a){return!!a<<b++};return 0+c(a.incudeNodes)+c(a.includeEdges)+c(a.includeLabels)+c(a.includeMainLabels)+c(a.includeSourceLabels)+c(a.includeTargetLabels)+c(a.includeOverlays)+c(a.includeOutlines)},dX=function(a){var b=function(a){return Math.round(a)};if(a.isEdge()){var c=a.source().position(),d=a.target().position();return am([b(c.x),b(c.y),b(d.x),b(d.y)])}var e=a.position();return am([b(e.x),b(e.y)])},dY=function(a,b){var c,d=a._private,e=a.isEdge(),f=null==b?d$:dW(b);if(null==d.bbCache?(d.bbCache=c=dV(a,dZ),d.bbCachePosKey=dX(a)):c=d.bbCache,f!==d$){var g=a.isNode();c=bh(),(b.includeNodes&&g||b.includeEdges&&!g)&&(b.includeOverlays?dO(c,d.overlayBounds):dO(c,d.bodyBounds)),b.includeLabels&&(b.includeMainLabels&&(!e||b.includeSourceLabels&&b.includeTargetLabels)?dO(c,d.labelBounds.all):(b.includeMainLabels&&dO(c,d.labelBounds.mainRot),b.includeSourceLabels&&dO(c,d.labelBounds.sourceRot),b.includeTargetLabels&&dO(c,d.labelBounds.targetRot))),c.w=c.x2-c.x1,c.h=c.y2-c.y1}return c},dZ={includeNodes:!0,includeEdges:!0,includeLabels:!0,includeMainLabels:!0,includeSourceLabels:!0,includeTargetLabels:!0,includeOverlays:!0,includeUnderlays:!0,includeOutlines:!0,useCache:!0},d$=dW(dZ),d_=aF(dZ);ie.boundingBox=function(a){var b,c=void 0===a||void 0===a.useCache||!0===a.useCache,d=E(function(a){var b=a._private;return null==b.bbCache||b.styleDirty||b.bbCachePosKey!==dX(a)},function(a){return a.id()});if(c&&1===this.length&&!d(this[0]))a=void 0===a?dZ:d_(a),b=dY(this[0],a);else{b=bh();var e=d_(a=a||dZ),f=this.cy().styleEnabled();this.edges().forEach(d),this.nodes().forEach(d),f&&this.recalculateRenderedStyle(c),this.updateCompoundBounds(!c);for(var g=0;g<this.length;g++){var h=this[g];d(h)&&h.dirtyBoundingBoxCache(),dO(b,dY(h,e))}}return b.x1=dM(b.x1),b.y1=dM(b.y1),b.x2=dM(b.x2),b.y2=dM(b.y2),b.w=dM(b.x2-b.x1),b.h=dM(b.y2-b.y1),b},ie.dirtyBoundingBoxCache=function(){for(var a=0;a<this.length;a++){var b=this[a]._private;b.bbCache=null,b.bbCachePosKey=null,b.bodyBounds=null,b.overlayBounds=null,b.labelBounds.all=null,b.labelBounds.source=null,b.labelBounds.target=null,b.labelBounds.main=null,b.labelBounds.sourceRot=null,b.labelBounds.targetRot=null,b.labelBounds.mainRot=null,b.arrowBounds.source=null,b.arrowBounds.target=null,b.arrowBounds["mid-source"]=null,b.arrowBounds["mid-target"]=null}return this.emitAndNotify("bounds"),this},ie.boundingBoxAt=function(a){var b,c=this.nodes(),d=this.cy(),e=d.hasCompoundNodes(),f=d.collection();if(e&&(f=c.filter(function(a){return a.isParent()}),c=c.not(f)),u(a)){var g=a;a=function(){return g}}d.startBatch(),c.forEach(function(b,c){return b._private.bbAtOldPos=a(b,c)}).silentPositions(a),e&&(f.dirtyCompoundBoundsCache(),f.dirtyBoundingBoxCache(),f.updateCompoundBounds(!0));var h={x1:(b=this.boundingBox({useCache:!1})).x1,x2:b.x2,w:b.w,y1:b.y1,y2:b.y2,h:b.h};return c.silentPositions(function(a){return a._private.bbAtOldPos}),e&&(f.dirtyCompoundBoundsCache(),f.dirtyBoundingBoxCache(),f.updateCompoundBounds(!0)),d.endBatch(),h},id.boundingbox=id.bb=id.boundingBox,id.renderedBoundingbox=id.renderedBoundingBox,ig=ih={};var d0=function(a){a.uppercaseName=I(a.name),a.autoName="auto"+a.uppercaseName,a.labelName="label"+a.uppercaseName,a.outerName="outer"+a.uppercaseName,a.uppercaseOuterName=I(a.outerName),ig[a.name]=function(){var b=this[0],c=b._private,d=c.cy._private.styleEnabled;if(b)if(!d)return 1;else{if(b.isParent())return b.updateCompoundBounds(),c[a.autoName]||0;var e=b.pstyle(a.name);return"label"===e.strValue?(b.recalculateRenderedStyle(),c.rstyle[a.labelName]||0):e.pfValue}},ig["outer"+a.uppercaseName]=function(){var b=this[0],c=b._private.cy._private.styleEnabled;if(b)if(!c)return 1;else{var d=b[a.name](),e=b.pstyle("border-position").value;return d+("center"===e?b.pstyle("border-width").pfValue:"outside"===e?2*b.pstyle("border-width").pfValue:0)+2*b.padding()}},ig["rendered"+a.uppercaseName]=function(){var b=this[0];if(b)return b[a.name]()*this.cy().zoom()},ig["rendered"+a.uppercaseOuterName]=function(){var b=this[0];if(b)return b[a.outerName]()*this.cy().zoom()}};d0({name:"width"}),d0({name:"height"}),ih.padding=function(){var a=this[0],b=a._private;return a.isParent()&&(a.updateCompoundBounds(),void 0!==b.autoPadding)?b.autoPadding:a.pstyle("padding").pfValue},ih.paddedHeight=function(){var a=this[0];return a.height()+2*a.padding()},ih.paddedWidth=function(){var a=this[0];return a.width()+2*a.padding()};var d1=function(a,b){if(a.isEdge()&&a.takesUpSpace())return b(a)},d2=function(a,b){if(a.isEdge()&&a.takesUpSpace()){var c=a.cy();return a0(b(a),c.zoom(),c.pan())}},d3=function(a,b){if(a.isEdge()&&a.takesUpSpace()){var c=a.cy(),d=c.pan(),e=c.zoom();return b(a).map(function(a){return a0(a,e,d)})}},d4={controlPoints:{get:function(a){return a.renderer().getControlPoints(a)},mult:!0},segmentPoints:{get:function(a){return a.renderer().getSegmentPoints(a)},mult:!0},sourceEndpoint:{get:function(a){return a.renderer().getSourceEndpoint(a)}},targetEndpoint:{get:function(a){return a.renderer().getTargetEndpoint(a)}},midpoint:{get:function(a){return a.renderer().getEdgeMidpoint(a)}}},d5=Q({},ic,ie,ih,Object.keys(d4).reduce(function(a,b){var c=d4[b],d="rendered"+b[0].toUpperCase()+b.substr(1);return a[b]=function(){return d1(this,c.get)},c.mult?a[d]=function(){return d3(this,c.get)}:a[d]=function(){return d2(this,c.get)},a},{})),d6=function(a,b){this.recycle(a,b)};function d7(){return!1}function d8(){return!0}d6.prototype={instanceString:function(){return"event"},recycle:function(a,b){if(this.isImmediatePropagationStopped=this.isPropagationStopped=this.isDefaultPrevented=d7,null!=a&&a.preventDefault?(this.type=a.type,this.isDefaultPrevented=a.defaultPrevented?d8:d7):null!=a&&a.type?b=a:this.type=a,null!=b&&(this.originalEvent=b.originalEvent,this.type=null!=b.type?b.type:this.type,this.cy=b.cy,this.target=b.target,this.position=b.position,this.renderedPosition=b.renderedPosition,this.namespace=b.namespace,this.layout=b.layout),null!=this.cy&&null!=this.position&&null==this.renderedPosition){var c=this.position,d=this.cy.zoom(),e=this.cy.pan();this.renderedPosition={x:c.x*d+e.x,y:c.y*d+e.y}}this.timeStamp=a&&a.timeStamp||Date.now()},preventDefault:function(){this.isDefaultPrevented=d8;var a=this.originalEvent;a&&a.preventDefault&&a.preventDefault()},stopPropagation:function(){this.isPropagationStopped=d8;var a=this.originalEvent;a&&a.stopPropagation&&a.stopPropagation()},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=d8,this.stopPropagation()},isDefaultPrevented:d7,isPropagationStopped:d7,isImmediatePropagationStopped:d7};var d9=/^([^.]+)(\.(?:[^.]+))?$/,ea={qualifierCompare:function(a,b){return a===b},eventMatches:function(){return!0},addEventFields:function(){},callbackContext:function(a){return a},beforeEmit:function(){},afterEmit:function(){},bubble:function(){return!1},parent:function(){return null},context:null},eb=Object.keys(ea),ec={};function ed(){for(var a=arguments.length>0&&void 0!==arguments[0]?arguments[0]:ec,b=arguments.length>1?arguments[1]:void 0,c=0;c<eb.length;c++){var d=eb[c];this[d]=a[d]||ea[d]}this.context=b||this.context,this.listeners=[],this.emitting=0}var ee=ed.prototype,ef=function(a,b,c,d,e,f,g){s(d)&&(e=d,d=null),g&&(f=null==f?g:Q({},f,g));for(var h=t(c)?c:c.split(/\s+/),i=0;i<h.length;i++){var j=h[i];if(!C(j)){var k=j.match(d9);if(k&&!1===b(a,j,k[1],k[2]?k[2]:null,d,e,f))break}}},eg=function(a,b){return a.addEventFields(a.context,b),new d6(b.type,b)},eh=function(a,b,c){if("event"===q(c))return void b(a,c);if(u(c))return void b(a,eg(a,c));for(var d=t(c)?c:c.split(/\s+/),e=0;e<d.length;e++){var f=d[e];if(!C(f)){var g=f.match(d9);if(g){var h=eg(a,{type:g[1],namespace:g[2]?g[2]:null,target:a.context});b(a,h)}}}};ee.on=ee.addListener=function(a,b,c,d,e){return ef(this,function(a,b,c,d,e,f,g){s(f)&&a.listeners.push({event:b,callback:f,type:c,namespace:d,qualifier:e,conf:g})},a,b,c,d,e),this},ee.one=function(a,b,c,d){return this.on(a,b,c,d,{one:!0})},ee.removeListener=ee.off=function(a,b,c,d){var e=this;0!==this.emitting&&(this.listeners=this.listeners.slice());for(var f=this.listeners,g=function(g){var h=f[g];ef(e,function(b,c,d,e,i,j){if((h.type===d||"*"===a)&&(!e&&".*"!==h.namespace||h.namespace===e)&&(!i||b.qualifierCompare(h.qualifier,i))&&(!j||h.callback===j))return f.splice(g,1),!1},a,b,c,d)},h=f.length-1;h>=0;h--)g(h);return this},ee.removeAllListeners=function(){return this.removeListener("*")},ee.emit=ee.trigger=function(a,b,c){var d=this.listeners,e=d.length;return this.emitting++,t(b)||(b=[b]),eh(this,function(a,f){null!=c&&(e=(d=[{event:f.event,type:f.type,namespace:f.namespace,callback:c}]).length);for(var g=0;g<e;g++)!function(){var c=d[g];if(c.type===f.type&&(!c.namespace||c.namespace===f.namespace||".*"===c.namespace)&&a.eventMatches(a.context,c,f)){var e=[f];null!=b&&aI(e,b),a.beforeEmit(a.context,c,f),c.conf&&c.conf.one&&(a.listeners=a.listeners.filter(function(a){return a!==c}));var h=a.callbackContext(a.context,c,f),i=c.callback.apply(h,e);a.afterEmit(a.context,c,f),!1===i&&(f.stopPropagation(),f.preventDefault())}}();a.bubble(a.context)&&!f.isPropagationStopped()&&a.parent(a.context).emit(f,b)},a),this.emitting--,this};var ei={qualifierCompare:function(a,b){return null==a||null==b?null==a&&null==b:a.sameText(b)},eventMatches:function(a,b,c){var d=b.qualifier;return null==d||a!==c.target&&y(c.target)&&d.matches(c.target)},addEventFields:function(a,b){b.cy=a.cy(),b.target=a},callbackContext:function(a,b,c){return null!=b.qualifier?c.target:a},beforeEmit:function(a,b){b.conf&&b.conf.once&&b.conf.onceCollection.removeListener(b.event,b.qualifier,b.callback)},bubble:function(){return!0},parent:function(a){return a.isChild()?a.parent():a.cy()}},ej=function(a){return r(a)?new dy(a):a},ek={createEmitter:function(){for(var a=0;a<this.length;a++){var b=this[a],c=b._private;c.emitter||(c.emitter=new ed(ei,b))}return this},emitter:function(){return this._private.emitter},on:function(a,b,c){for(var d=ej(b),e=0;e<this.length;e++)this[e].emitter().on(a,d,c);return this},removeListener:function(a,b,c){for(var d=ej(b),e=0;e<this.length;e++)this[e].emitter().removeListener(a,d,c);return this},removeAllListeners:function(){for(var a=0;a<this.length;a++)this[a].emitter().removeAllListeners();return this},one:function(a,b,c){for(var d=ej(b),e=0;e<this.length;e++)this[e].emitter().one(a,d,c);return this},once:function(a,b,c){for(var d=ej(b),e=0;e<this.length;e++)this[e].emitter().on(a,d,c,{once:!0,onceCollection:this})},emit:function(a,b){for(var c=0;c<this.length;c++)this[c].emitter().emit(a,b);return this},emitAndNotify:function(a,b){if(0!==this.length)return this.cy().notify(a,this),this.emit(a,b),this}};df.eventAliasesOn(ek);var el={nodes:function(a){return this.filter(function(a){return a.isNode()}).filter(a)},edges:function(a){return this.filter(function(a){return a.isEdge()}).filter(a)},byGroup:function(){for(var a=this.spawn(),b=this.spawn(),c=0;c<this.length;c++){var d=this[c];d.isNode()?a.push(d):b.push(d)}return{nodes:a,edges:b}},filter:function(a,b){if(void 0===a)return this;if(r(a)||x(a))return new dy(a).filter(this);if(s(a)){for(var c=this.spawn(),d=0;d<this.length;d++){var e=this[d];(b?a.apply(b,[e,d,this]):a(e,d,this))&&c.push(e)}return c}return this.spawn()},not:function(a){if(!a)return this;r(a)&&(a=this.filter(a));for(var b=this.spawn(),c=0;c<this.length;c++){var d=this[c];a.has(d)||b.push(d)}return b},absoluteComplement:function(){return this.cy().mutableElements().not(this)},intersect:function(a){if(r(a))return this.filter(a);for(var b=this.spawn(),c=this.length<a.length,d=c?this:a,e=c?a:this,f=0;f<d.length;f++){var g=d[f];e.has(g)&&b.push(g)}return b},xor:function(a){var b=this._private.cy;r(a)&&(a=b.$(a));var c=this.spawn(),d=a,e=function(a,b){for(var d=0;d<a.length;d++){var e=a[d],f=e._private.data.id;b.hasElementWithId(f)||c.push(e)}};return e(this,d),e(d,this),c},diff:function(a){var b=this._private.cy;r(a)&&(a=b.$(a));var c=this.spawn(),d=this.spawn(),e=this.spawn(),f=a,g=function(a,b,c){for(var d=0;d<a.length;d++){var f=a[d],g=f._private.data.id;b.hasElementWithId(g)?e.merge(f):c.push(f)}};return g(this,f,c),g(f,this,d),{left:c,right:d,both:e}},add:function(a){var b=this._private.cy;if(!a)return this;if(r(a)){var c=a;a=b.mutableElements().filter(c)}for(var d=this.spawnSelf(),e=0;e<a.length;e++){var f=a[e];this.has(f)||d.push(f)}return d},merge:function(a){var b=this._private,c=b.cy;if(!a)return this;if(a&&r(a)){var d=a;a=c.mutableElements().filter(d)}for(var e=b.map,f=0;f<a.length;f++){var g=a[f],h=g._private.data.id;if(!e.has(h)){var i=this.length++;this[i]=g,e.set(h,{ele:g,index:i})}}return this},unmergeAt:function(a){var b=this[a].id(),c=this._private.map;this[a]=void 0,c.delete(b);var d=a===this.length-1;if(this.length>1&&!d){var e=this.length-1,f=this[e],g=f._private.data.id;this[e]=void 0,this[a]=f,c.set(g,{ele:f,index:a})}return this.length--,this},unmergeOne:function(a){a=a[0];var b=this._private,c=a._private.data.id,d=b.map.get(c);if(!d)return this;var e=d.index;return this.unmergeAt(e),this},unmerge:function(a){var b=this._private.cy;if(!a)return this;if(a&&r(a)){var c=a;a=b.mutableElements().filter(c)}for(var d=0;d<a.length;d++)this.unmergeOne(a[d]);return this},unmergeBy:function(a){for(var b=this.length-1;b>=0;b--)a(this[b])&&this.unmergeAt(b);return this},map:function(a,b){for(var c=[],d=0;d<this.length;d++){var e=this[d],f=b?a.apply(b,[e,d,this]):a(e,d,this);c.push(f)}return c},reduce:function(a,b){for(var c=b,d=0;d<this.length;d++)c=a(c,this[d],d,this);return c},max:function(a,b){for(var c,d=-1/0,e=0;e<this.length;e++){var f=this[e],g=b?a.apply(b,[f,e,this]):a(f,e,this);g>d&&(d=g,c=f)}return{value:d,ele:c}},min:function(a,b){for(var c,d=1/0,e=0;e<this.length;e++){var f=this[e],g=b?a.apply(b,[f,e,this]):a(f,e,this);g<d&&(d=g,c=f)}return{value:d,ele:c}}};el.u=el["|"]=el["+"]=el.union=el.or=el.add,el["\\"]=el["!"]=el["-"]=el.difference=el.relativeComplement=el.subtract=el.not,el.n=el["&"]=el["."]=el.and=el.intersection=el.intersect,el["^"]=el["(+)"]=el["(-)"]=el.symmetricDifference=el.symdiff=el.xor,el.fnFilter=el.filterFn=el.stdFilter=el.filter,el.complement=el.abscomp=el.absoluteComplement;var em=function(a,b){var c=a.cy().hasCompoundNodes();function d(a){var b=a.pstyle("z-compound-depth");return"auto"===b.value?c?a.zDepth():0:"bottom"===b.value?-1:"top"===b.value?at:0}var e=d(a)-d(b);if(0!==e)return e;function f(a){return"auto"===a.pstyle("z-index-compare").value?+!!a.isNode():0}var g=f(a)-f(b);if(0!==g)return g;var h=a.pstyle("z-index").value-b.pstyle("z-index").value;return 0!==h?h:a.poolIndex()-b.poolIndex()},en={forEach:function(a,b){if(s(a))for(var c=this.length,d=0;d<c;d++){var e=this[d];if(!1===(b?a.apply(b,[e,d,this]):a(e,d,this)))break}return this},toArray:function(){for(var a=[],b=0;b<this.length;b++)a.push(this[b]);return a},slice:function(a,b){var c=[],d=this.length;null==b&&(b=d),null==a&&(a=0),a<0&&(a=d+a),b<0&&(b=d+b);for(var e=a;e>=0&&e<b&&e<d;e++)c.push(this[e]);return this.spawn(c)},size:function(){return this.length},eq:function(a){return this[a]||this.spawn()},first:function(){return this[0]||this.spawn()},last:function(){return this[this.length-1]||this.spawn()},empty:function(){return 0===this.length},nonempty:function(){return!this.empty()},sort:function(a){if(!s(a))return this;var b=this.toArray().sort(a);return this.spawn(b)},sortByZIndex:function(){return this.sort(em)},zDepth:function(){var a=this[0];if(a){var b=a._private;if("nodes"===b.group){var c=b.data.parent?a.parents().size():0;return a.isParent()?c:at-1}var d=b.source,e=b.target;return Math.max(d.zDepth(),e.zDepth(),0)}}};en.each=en.forEach,("undefined"==typeof Symbol?"undefined":j(Symbol))!="undefined"&&"undefined"!=j(Symbol.iterator)&&(en[Symbol.iterator]=function(){var a=this,b={value:void 0,done:!1},c=0,d=this.length;return f({next:function(){return c<d?b.value=a[c++]:(b.value=void 0,b.done=!0),b}},Symbol.iterator,function(){return this})});var eo=aF({nodeDimensionsIncludeLabels:!1}),ep={layoutDimensions:function(a){if(a=eo(a),this.takesUpSpace())if(a.nodeDimensionsIncludeLabels){var b,c=this.boundingBox();b={w:c.w,h:c.h}}else b={w:this.outerWidth(),h:this.outerHeight()};else b={w:0,h:0};return(0===b.w||0===b.h)&&(b.w=b.h=1),b},layoutPositions:function(a,b,c){var d=this.nodes().filter(function(a){return!a.isParent()}),e=this.cy(),f=b.eles,g=function(a){return a.id()},h=E(c,g);a.emit({type:"layoutstart",layout:a}),a.animations=[];var i=function(a,b,c){var d={x:b.x1+b.w/2,y:b.y1+b.h/2},e={x:(c.x-d.x)*a,y:(c.y-d.y)*a};return{x:d.x+e.x,y:d.y+e.y}},j=b.spacingFactor&&1!==b.spacingFactor,k=function(){if(!j)return null;for(var a=bh(),b=0;b<d.length;b++){var c=h(d[b],b);bk(a,c.x,c.y)}return a}(),l=E(function(a,c){var d=h(a,c);return j&&(d=i(Math.abs(b.spacingFactor),k,d)),null!=b.transform&&(d=b.transform(a,d)),d},g);if(b.animate){for(var n=0;n<d.length;n++){var o=d[n],p=l(o,n);if(null==b.animateFilter||b.animateFilter(o,n)){var q=o.animation({position:p,duration:b.animationDuration,easing:b.animationEasing});a.animations.push(q)}else o.position(p)}if(b.fit){var r=e.animation({fit:{boundingBox:f.boundingBoxAt(l),padding:b.padding},duration:b.animationDuration,easing:b.animationEasing});a.animations.push(r)}else if(void 0!==b.zoom&&void 0!==b.pan){var s=e.animation({zoom:b.zoom,pan:b.pan,duration:b.animationDuration,easing:b.animationEasing});a.animations.push(s)}a.animations.forEach(function(a){return a.play()}),a.one("layoutready",b.ready),a.emit({type:"layoutready",layout:a}),c$.all(a.animations.map(function(a){return a.promise()})).then(function(){a.one("layoutstop",b.stop),a.emit({type:"layoutstop",layout:a})})}else d.positions(l),b.fit&&e.fit(b.eles,b.padding),null!=b.zoom&&e.zoom(b.zoom),b.pan&&e.pan(b.pan),a.one("layoutready",b.ready),a.emit({type:"layoutready",layout:a}),a.one("layoutstop",b.stop),a.emit({type:"layoutstop",layout:a});return this},layout:function(a){return this.cy().makeLayout(Q({},a,{eles:this}))}};function eq(a,b,c){var d,e=c._private,f=e.styleCache=e.styleCache||[];return null!=(d=f[a])?d:d=f[a]=b(c)}function er(a,b){return a=an(a),function(c){return eq(a,b,c)}}function es(a,b){a=an(a);var c=function(a){return b.call(a)};return function(){var b=this[0];if(b)return eq(a,c,b)}}ep.createLayout=ep.makeLayout=ep.layout;var et={recalculateRenderedStyle:function(a){var b=this.cy(),c=b.renderer(),d=b.styleEnabled();return c&&d&&c.recalculateRenderedStyle(this,a),this},dirtyStyleCache:function(){var a,b=this.cy(),c=function(a){return a._private.styleCache=null};return b.hasCompoundNodes()?((a=this.spawnSelf().merge(this.descendants()).merge(this.parents())).merge(a.connectedEdges()),a.forEach(c)):this.forEach(function(a){c(a),a.connectedEdges().forEach(c)}),this},updateStyle:function(a){var b=this._private.cy;if(!b.styleEnabled())return this;if(b.batching())return b._private.batchStyleEles.merge(this),this;var c=b.hasCompoundNodes(),d=this;a=!!a||void 0===a,c&&(d=this.spawnSelf().merge(this.descendants()).merge(this.parents()));var e=d;return a?e.emitAndNotify("style"):e.emit("style"),d.forEach(function(a){return a._private.styleDirty=!0}),this},cleanStyle:function(){var a=this.cy();if(a.styleEnabled())for(var b=0;b<this.length;b++){var c=this[b];c._private.styleDirty&&(c._private.styleDirty=!1,a.style().apply(c))}},parsedStyle:function(a){var b=!(arguments.length>1)||void 0===arguments[1]||arguments[1],c=this[0],d=c.cy();if(d.styleEnabled()&&c){c._private.styleDirty&&(c._private.styleDirty=!1,d.style().apply(c));var e=c._private.style[a];return null!=e?e:b?d.style().getDefaultProperty(a):null}},numericStyle:function(a){var b=this[0];if(b.cy().styleEnabled()&&b){var c=b.pstyle(a);return void 0!==c.pfValue?c.pfValue:c.value}},numericStyleUnits:function(a){var b=this[0];if(b.cy().styleEnabled()&&b)return b.pstyle(a).units},renderedStyle:function(a){var b=this.cy();if(!b.styleEnabled())return this;var c=this[0];if(c)return b.style().getRenderedStyle(c,a)},style:function(a,b){var c=this.cy();if(!c.styleEnabled())return this;var d=c.style();if(u(a))d.applyBypass(this,a,!1),this.emitAndNotify("style");else if(r(a))if(void 0===b){var e=this[0];return e?d.getStylePropertyValue(e,a):void 0}else d.applyBypass(this,a,b,!1),this.emitAndNotify("style");else if(void 0===a){var f=this[0];return f?d.getRawStyle(f):void 0}return this},removeStyle:function(a){var b=this.cy();if(!b.styleEnabled())return this;var c=b.style();if(void 0===a)for(var d=0;d<this.length;d++){var e=this[d];c.removeAllBypasses(e,!1)}else{a=a.split(/\s+/);for(var f=0;f<this.length;f++){var g=this[f];c.removeBypasses(g,a,!1)}}return this.emitAndNotify("style"),this},show:function(){return this.css("display","element"),this},hide:function(){return this.css("display","none"),this},effectiveOpacity:function(){var a=this.cy();if(!a.styleEnabled())return 1;var b=a.hasCompoundNodes(),c=this[0];if(c){var d=c._private,e=c.pstyle("opacity").value;if(!b)return e;var f=d.data.parent?c.parents():null;if(f)for(var g=0;g<f.length;g++)e*=f[g].pstyle("opacity").value;return e}},transparent:function(){if(!this.cy().styleEnabled())return!1;var a=this[0],b=a.cy().hasCompoundNodes();if(a)if(!b)return 0===a.pstyle("opacity").value;else return 0===a.effectiveOpacity()},backgrounding:function(){return!!this.cy().styleEnabled()&&!!this[0]._private.backgrounding}};function eu(a,b){var c=a._private.data.parent?a.parents():null;if(c){for(var d=0;d<c.length;d++)if(!b(c[d]))return!1}return!0}function ev(a){var b=a.ok,c=a.edgeOkViaNode||a.ok,d=a.parentOk||a.ok;return function(){var a=this.cy();if(!a.styleEnabled())return!0;var e=this[0],f=a.hasCompoundNodes();if(e){var g=e._private;if(!b(e))return!1;if(e.isNode())return!f||eu(e,d);var h=g.source,i=g.target;return c(h)&&(!f||eu(h,c))&&(h===i||c(i)&&(!f||eu(i,c)))}}}var ew=er("eleTakesUpSpace",function(a){return"element"===a.pstyle("display").value&&0!==a.width()&&(!a.isNode()||0!==a.height())});et.takesUpSpace=es("takesUpSpace",ev({ok:ew})),et.interactive=es("interactive",ev({ok:er("eleInteractive",function(a){return"yes"===a.pstyle("events").value&&"visible"===a.pstyle("visibility").value&&ew(a)}),parentOk:er("parentInteractive",function(a){return"visible"===a.pstyle("visibility").value&&ew(a)}),edgeOkViaNode:ew})),et.noninteractive=function(){var a=this[0];if(a)return!a.interactive()},et.visible=es("visible",ev({ok:er("eleVisible",function(a){return"visible"===a.pstyle("visibility").value&&0!==a.pstyle("opacity").pfValue&&ew(a)}),edgeOkViaNode:ew})),et.hidden=function(){var a=this[0];if(a)return!a.visible()},et.isBundledBezier=es("isBundledBezier",function(){return!!this.cy().styleEnabled()&&!this.removed()&&"bezier"===this.pstyle("curve-style").value&&this.takesUpSpace()}),et.bypass=et.css=et.style,et.renderedCss=et.renderedStyle,et.removeBypass=et.removeCss=et.removeStyle,et.pstyle=et.parsedStyle;var ex={};function ey(a){return function(){var b=arguments,c=[];if(2===b.length){var d=b[0],e=b[1];this.on(a.event,d,e)}else if(1===b.length&&s(b[0])){var f=b[0];this.on(a.event,f)}else if(0===b.length||1===b.length&&t(b[0])){for(var g=1===b.length?b[0]:null,h=0;h<this.length;h++){var i=this[h],j=!a.ableField||i._private[a.ableField],k=i._private[a.field]!=a.value;if(a.overrideAble){var l=a.overrideAble(i);if(void 0!==l&&(j=l,!l))return this}j&&(i._private[a.field]=a.value,k&&c.push(i))}var n=this.spawn(c);n.updateStyle(),n.emit(a.event),g&&n.emit(g)}return this}}function ez(a){ex[a.field]=function(){var b=this[0];if(b){if(a.overrideField){var c=a.overrideField(b);if(void 0!==c)return c}return b._private[a.field]}},ex[a.on]=ey({event:a.on,field:a.field,ableField:a.ableField,overrideAble:a.overrideAble,value:!0}),ex[a.off]=ey({event:a.off,field:a.field,ableField:a.ableField,overrideAble:a.overrideAble,value:!1})}ez({field:"locked",overrideField:function(a){return!!a.cy().autolock()||void 0},on:"lock",off:"unlock"}),ez({field:"grabbable",overrideField:function(a){return!(a.cy().autoungrabify()||a.pannable())&&void 0},on:"grabify",off:"ungrabify"}),ez({field:"selected",ableField:"selectable",overrideAble:function(a){return!a.cy().autounselectify()&&void 0},on:"select",off:"unselect"}),ez({field:"selectable",overrideField:function(a){return!a.cy().autounselectify()&&void 0},on:"selectify",off:"unselectify"}),ex.deselect=ex.unselect,ex.grabbed=function(){var a=this[0];if(a)return a._private.grabbed},ez({field:"active",on:"activate",off:"unactivate"}),ez({field:"pannable",on:"panify",off:"unpanify"}),ex.inactive=function(){var a=this[0];if(a)return!a._private.active};var eA={},eB=function(a){return function(b){for(var c=[],d=0;d<this.length;d++){var e=this[d];if(e.isNode()){for(var f=!1,g=e.connectedEdges(),h=0;h<g.length;h++){var i=g[h],j=i.source(),k=i.target();if(a.noIncomingEdges&&k===e&&j!==e||a.noOutgoingEdges&&j===e&&k!==e){f=!0;break}}f||c.push(e)}}return this.spawn(c,!0).filter(b)}},eC=function(a){return function(b){for(var c=[],d=0;d<this.length;d++){var e=this[d];if(e.isNode())for(var f=e.connectedEdges(),g=0;g<f.length;g++){var h=f[g],i=h.source(),j=h.target();a.outgoing&&i===e?(c.push(h),c.push(j)):a.incoming&&j===e&&(c.push(h),c.push(i))}}return this.spawn(c,!0).filter(b)}},eD=function(a){return function(b){for(var c=this,d=[],e={};;){var f=a.outgoing?c.outgoers():c.incomers();if(0===f.length)break;for(var g=!1,h=0;h<f.length;h++){var i=f[h],j=i.id();e[j]||(e[j]=!0,d.push(i),g=!0)}if(!g)break;c=f}return this.spawn(d,!0).filter(b)}};function eE(a){return function(b){for(var c=[],d=0;d<this.length;d++){var e=this[d]._private[a.attr];e&&c.push(e)}return this.spawn(c,!0).filter(b)}}function eF(a){return function(b){var c=[],d=this._private.cy,e=a||{};r(b)&&(b=d.$(b));for(var f=0;f<b.length;f++)for(var g=b[f]._private.edges,h=0;h<g.length;h++){var i=g[h],j=i._private.data,k=this.hasElementWithId(j.source)&&b.hasElementWithId(j.target),l=b.hasElementWithId(j.source)&&this.hasElementWithId(j.target);if(k||l){if((e.thisIsSrc||e.thisIsTgt)&&(e.thisIsSrc&&!k||e.thisIsTgt&&!l))continue;c.push(i)}}return this.spawn(c,!0)}}function eG(a){return a=Q({},{codirected:!1},a),function(b){for(var c=[],d=this.edges(),e=a,f=0;f<d.length;f++)for(var g=d[f]._private,h=g.source,i=h._private.data.id,j=g.data.target,k=h._private.edges,l=0;l<k.length;l++){var n=k[l],o=n._private.data,p=o.target,q=o.source,r=p===j&&q===i,s=i===p&&j===q;(e.codirected&&r||!e.codirected&&(r||s))&&c.push(n)}return this.spawn(c,!0).filter(b)}}eA.clearTraversalCache=function(){for(var a=0;a<this.length;a++)this[a]._private.traversalCache=null},Q(eA,{roots:eB({noIncomingEdges:!0}),leaves:eB({noOutgoingEdges:!0}),outgoers:dB(eC({outgoing:!0}),"outgoers"),successors:eD({outgoing:!0}),incomers:dB(eC({incoming:!0}),"incomers"),predecessors:eD({})}),Q(eA,{neighborhood:dB(function(a){for(var b=[],c=this.nodes(),d=0;d<c.length;d++)for(var e=c[d],f=e.connectedEdges(),g=0;g<f.length;g++){var h=f[g],i=h.source(),j=h.target(),k=e===i?j:i;k.length>0&&b.push(k[0]),b.push(h[0])}return this.spawn(b,!0).filter(a)},"neighborhood"),closedNeighborhood:function(a){return this.neighborhood().add(this).filter(a)},openNeighborhood:function(a){return this.neighborhood(a)}}),eA.neighbourhood=eA.neighborhood,eA.closedNeighbourhood=eA.closedNeighborhood,eA.openNeighbourhood=eA.openNeighborhood,Q(eA,{source:dB(function(a){var b,c=this[0];return c&&(b=c._private.source||c.cy().collection()),b&&a?b.filter(a):b},"source"),target:dB(function(a){var b,c=this[0];return c&&(b=c._private.target||c.cy().collection()),b&&a?b.filter(a):b},"target"),sources:eE({attr:"source"}),targets:eE({attr:"target"})}),Q(eA,{edgesWith:dB(eF(),"edgesWith"),edgesTo:dB(eF({thisIsSrc:!0}),"edgesTo")}),Q(eA,{connectedEdges:dB(function(a){for(var b=[],c=0;c<this.length;c++){var d=this[c];if(d.isNode())for(var e=d._private.edges,f=0;f<e.length;f++){var g=e[f];b.push(g)}}return this.spawn(b,!0).filter(a)},"connectedEdges"),connectedNodes:dB(function(a){for(var b=[],c=0;c<this.length;c++){var d=this[c];d.isEdge()&&(b.push(d.source()[0]),b.push(d.target()[0]))}return this.spawn(b,!0).filter(a)},"connectedNodes"),parallelEdges:dB(eG(),"parallelEdges"),codirectedEdges:dB(eG({codirected:!0}),"codirectedEdges")}),Q(eA,{components:function(a){var b=this,c=b.cy(),d=c.collection(),e=null==a?b.nodes():a.nodes(),f=[];null!=a&&e.empty()&&(e=a.sources());var g=function(a,b){d.merge(a),e.unmerge(a),b.merge(a)};if(e.empty())return b.spawn();do!function(){var a=c.collection();f.push(a);var d=e[0];g(d,a),b.bfs({directed:!1,roots:d,visit:function(b){return g(b,a)}}),a.forEach(function(c){c.connectedEdges().forEach(function(c){b.has(c)&&a.has(c.source())&&a.has(c.target())&&a.merge(c)})})}();while(e.length>0)return f},component:function(){var a=this[0];return a.cy().mutableElements().components(a)[0]}}),eA.componentsOf=eA.components;var eH=function(a,b){var c=arguments.length>2&&void 0!==arguments[2]&&arguments[2],d=arguments.length>3&&void 0!==arguments[3]&&arguments[3];if(void 0===a)return void ay("A collection must have a reference to the core");var e=new aM,f=!1;if(b){if(b.length>0&&u(b[0])&&!y(b[0])){f=!0;for(var g=[],h=new aO,i=0,j=b.length;i<j;i++){var k=b[i];null==k.data&&(k.data={});var l=k.data;if(null==l.id)l.id=aC();else if(a.hasElementWithId(l.id)||h.has(l.id))continue;var n=new aP(a,k,!1);g.push(n),h.add(l.id)}b=g}}else b=[];this.length=0;for(var o=0,p=b.length;o<p;o++){var q=b[o][0];if(null!=q){var r=q._private.data.id;(!c||!e.has(r))&&(c&&e.set(r,{index:this.length,ele:q}),this[this.length]=q,this.length++)}}this._private={eles:this,cy:a,get map(){return null==this.lazyMap&&this.rebuildMap(),this.lazyMap},set map(m){this.lazyMap=m},rebuildMap:function(){for(var a=this.lazyMap=new aM,b=this.eles,c=0;c<b.length;c++){var d=b[c];a.set(d.id(),{index:c,ele:d})}}},c&&(this._private.map=e),f&&!d&&this.restore()},eI=aP.prototype=eH.prototype=Object.create(Array.prototype);eI.instanceString=function(){return"collection"},eI.spawn=function(a,b){return new eH(this.cy(),a,b)},eI.spawnSelf=function(){return this.spawn(this)},eI.cy=function(){return this._private.cy},eI.renderer=function(){return this._private.cy.renderer()},eI.element=function(){return this[0]},eI.collection=function(){return z(this)?this:new eH(this._private.cy,[this])},eI.unique=function(){return new eH(this._private.cy,this,!0)},eI.hasElementWithId=function(a){return a=""+a,this._private.map.has(a)},eI.getElementById=function(a){a=""+a;var b=this._private.cy,c=this._private.map.get(a);return c?c.ele:new eH(b)},eI.$id=eI.getElementById,eI.poolIndex=function(){var a=this._private.cy._private.elements,b=this[0]._private.data.id;return a._private.map.get(b).index},eI.indexOf=function(a){var b=a[0]._private.data.id;return this._private.map.get(b).index},eI.indexOfId=function(a){return a=""+a,this._private.map.get(a).index},eI.json=function(a){var b=this.element(),c=this.cy();if(null==b&&a)return this;if(null!=b){var d=b._private;if(u(a)){if(c.startBatch(),a.data){b.data(a.data);var e=d.data;if(b.isEdge()){var f=!1,g={},h=a.data.source,i=a.data.target;null!=h&&h!=e.source&&(g.source=""+h,f=!0),null!=i&&i!=e.target&&(g.target=""+i,f=!0),f&&(b=b.move(g))}else{var j="parent"in a.data,k=a.data.parent;j&&(null!=k||null!=e.parent)&&k!=e.parent&&(void 0===k&&(k=null),null!=k&&(k=""+k),b=b.move({parent:k}))}}a.position&&b.position(a.position);var l=function(c,e,f){var g=a[c];null!=g&&g!==d[c]&&(g?b[e]():b[f]())};return l("removed","remove","restore"),l("selected","select","unselect"),l("selectable","selectify","unselectify"),l("locked","lock","unlock"),l("grabbable","grabify","ungrabify"),l("pannable","panify","unpanify"),null!=a.classes&&b.classes(a.classes),c.endBatch(),this}if(void 0===a){var n={data:aB(d.data),position:aB(d.position),group:d.group,removed:d.removed,selected:d.selected,selectable:d.selectable,locked:d.locked,grabbable:d.grabbable,pannable:d.pannable,classes:null};n.classes="";var o=0;return d.classes.forEach(function(a){return n.classes+=0==o++?a:" "+a}),n}}},eI.jsons=function(){for(var a=[],b=0;b<this.length;b++){var c=this[b].json();a.push(c)}return a},eI.clone=function(){for(var a=this.cy(),b=[],c=0;c<this.length;c++){var d=new aP(a,this[c].json(),!1);b.push(d)}return new eH(a,b)},eI.copy=eI.clone,eI.restore=function(){for(var a=!(arguments.length>0)||void 0===arguments[0]||arguments[0],b=!(arguments.length>1)||void 0===arguments[1]||arguments[1],c=this.cy(),d=c._private,e=[],f=[],g=0,h=this.length;g<h;g++){var i=this[g];(!b||i.removed())&&(i.isNode()?e.push(i):f.push(i))}I=e.concat(f);var j=function(){I.splice(J,1),J--};for(J=0;J<I.length;J++){var k=I[J],l=k._private,n=l.data;if(k.clearTraversalCache(),b||l.removed){if(void 0===n.id)n.id=aC();else if(v(n.id))n.id=""+n.id;else if(C(n.id)||!r(n.id)){ay("Can not create element with invalid string ID `"+n.id+"`"),j();continue}else if(c.hasElementWithId(n.id)){ay("Can not create second element with ID `"+n.id+"`"),j();continue}}var o=n.id;if(k.isNode()){var p=l.position;null==p.x&&(p.x=0),null==p.y&&(p.y=0)}if(k.isEdge()){for(var q=["source","target"],s=q.length,t=!1,u=0;u<s;u++){var w=q[u],x=n[w];v(x)&&(x=n[w]=""+n[w]),null==x||""===x?(ay("Can not create edge `"+o+"` with unspecified "+w),t=!0):c.hasElementWithId(x)||(ay("Can not create edge `"+o+"` with nonexistant "+w+" `"+x+"`"),t=!0)}if(t){j();continue}var y=c.getElementById(n.source),z=c.getElementById(n.target);y.same(z)?y._private.edges.push(k):(y._private.edges.push(k),z._private.edges.push(k)),k._private.source=y,k._private.target=z}l.map=new aM,l.map.set(o,{ele:k,index:0}),l.removed=!1,b&&c.addToPool(k)}for(var A=0;A<e.length;A++){var B=e[A],D=B._private.data;v(D.parent)&&(D.parent=""+D.parent);var E=D.parent;if(null!=E||B._private.parent){var F=B._private.parent?c.collection().merge(B._private.parent):c.getElementById(E);if(F.empty())D.parent=void 0;else if(F[0].removed())aA("Node added with missing parent, reference to parent removed"),D.parent=void 0,B._private.parent=null;else{for(var G=!1,H=F;!H.empty();){if(B.same(H)){G=!0,D.parent=void 0;break}H=H.parent()}G||(F[0]._private.children.push(B),B._private.parent=F[0],d.hasCompoundNodes=!0)}}}if(I.length>0){for(var I,J,K,L=I.length===this.length?this:new eH(c,I),M=0;M<L.length;M++){var N=L[M];N.isNode()||(N.parallelEdges().clearTraversalCache(),N.source().clearTraversalCache(),N.target().clearTraversalCache())}(d.hasCompoundNodes?c.collection().merge(L).merge(L.connectedNodes()).merge(L.parent()):L).dirtyCompoundBoundsCache().dirtyBoundingBoxCache().updateStyle(a),a?L.emitAndNotify("add"):b&&L.emit("add")}return this},eI.removed=function(){var a=this[0];return a&&a._private.removed},eI.inside=function(){var a=this[0];return a&&!a._private.removed},eI.remove=function(){for(var a=!(arguments.length>0)||void 0===arguments[0]||arguments[0],b=!(arguments.length>1)||void 0===arguments[1]||arguments[1],c=[],d={},e=this._private.cy,f=0,g=this.length;f<g;f++)!function a(e){var f=d[e.id()];if(!(b&&e.removed())&&!f)if(d[e.id()]=!0,e.isNode()){c.push(e);for(var g=e._private.edges,h=0;h<g.length;h++)a(g[h]);for(var i=e._private.children,j=0;j<i.length;j++)a(i[j])}else c.unshift(e)}(this[f]);function h(a,b){aG(a._private.edges,b),a.clearTraversalCache()}var i=[];i.ids={},this.dirtyCompoundBoundsCache(),b&&e.removeFromPool(c);for(var j=0;j<c.length;j++){var k=c[j];if(k.isEdge()){var l=k.source()[0],n=k.target()[0];h(l,k),h(n,k);for(var o=k.parallelEdges(),p=0;p<o.length;p++){var q=o[p];q.clearTraversalCache(),q.isBundledBezier()&&q.dirtyBoundingBoxCache()}}else{var r=k.parent();0!==r.length&&function(a,b){b=b[0];var c=(a=a[0])._private.children,d=a.id();aG(c,b),b._private.parent=null,i.ids[d]||(i.ids[d]=!0,i.push(a))}(r,k)}b&&(k._private.removed=!0)}var s=e._private.elements;e._private.hasCompoundNodes=!1;for(var t=0;t<s.length;t++)if(s[t].isParent()){e._private.hasCompoundNodes=!0;break}var u=new eH(this.cy(),c);u.size()>0&&(a?u.emitAndNotify("remove"):b&&u.emit("remove"));for(var v=0;v<i.length;v++){var w=i[v];b&&w.removed()||w.updateStyle()}return u},eI.move=function(a){var b=this._private.cy,c=this,d=function(a){return null==a?a:""+a};if(void 0!==a.source||void 0!==a.target){var e=d(a.source),f=d(a.target),g=null!=e&&b.hasElementWithId(e),h=null!=f&&b.hasElementWithId(f);(g||h)&&(b.batch(function(){c.remove(!1,!1),c.emitAndNotify("moveout");for(var a=0;a<c.length;a++){var b=c[a],d=b._private.data;b.isEdge()&&(g&&(d.source=e),h&&(d.target=f))}c.restore(!1,!1)}),c.emitAndNotify("move"))}else if(void 0!==a.parent){var i=d(a.parent);if(null===i||b.hasElementWithId(i)){var j=null===i?void 0:i;b.batch(function(){var a=c.remove(!1,!1);a.emitAndNotify("moveout");for(var b=0;b<c.length;b++){var d=c[b],e=d._private.data;d.isNode()&&(e.parent=j)}a.restore(!1,!1)}),c.emitAndNotify("move")}}return this},[cT,dg,dh,dA,dC,ia,dH,d5,ek,el,{isNode:function(){return"nodes"===this.group()},isEdge:function(){return"edges"===this.group()},isLoop:function(){return this.isEdge()&&this.source()[0]===this.target()[0]},isSimple:function(){return this.isEdge()&&this.source()[0]!==this.target()[0]},group:function(){var a=this[0];if(a)return a._private.group}},en,ep,et,ex,eA].forEach(function(a){Q(eI,a)});var eJ=function(){function a(a){return-a.tension*a.x-a.friction*a.v}function b(b,c,d){var e={x:b.x+d.dx*c,v:b.v+d.dv*c,tension:b.tension,friction:b.friction};return{dx:e.v,dv:a(e)}}return function c(d,e,f){var g,h,i,j,k,l,n,o,p,q,r,s={x:-1,v:0,tension:null,friction:null},t=[0],u=0;for(d=parseFloat(d)||500,e=parseFloat(e)||20,f=f||null,s.tension=d,s.friction=e,q=(p=null!==f)?(u=c(d,e))/f*.016:.016;g=r||s,h=q,i={dx:g.v,dv:a(g)},j=b(g,.5*h,i),k=b(g,.5*h,j),l=b(g,h,k),n=1/6*(i.dx+2*(j.dx+k.dx)+l.dx),o=1/6*(i.dv+2*(j.dv+k.dv)+l.dv),g.x=g.x+n*h,g.v=g.v+o*h,r=g,t.push(1+r.x),u+=16,Math.abs(r.x)>1e-4&&Math.abs(r.v)>1e-4;);return p?function(a){return t[a*(t.length-1)|0]}:u}}(),eK=function(a,b,c,d){var e=function(a,b,c,d){var e="undefined"!=typeof Float32Array;if(4!=arguments.length)return!1;for(var f=0;f<4;++f)if("number"!=typeof arguments[f]||isNaN(arguments[f])||!isFinite(arguments[f]))return!1;a=Math.min(a,1),c=Math.min(c,1),a=Math.max(a,0),c=Math.max(c,0);var g=e?new Float32Array(11):Array(11);function h(a,b,c){return(((1-3*c+3*b)*a+(3*c-6*b))*a+3*b)*a}function i(a,b,c){return 3*(1-3*c+3*b)*a*a+2*(3*c-6*b)*a+3*b}var j=!1,k=function(e){return(j||(j=!0,(a!==b||c!==d)&&function(){for(var b=0;b<11;++b)g[b]=h(.1*b,a,c)}()),a===b&&c===d)?e:0===e?0:1===e?1:h(function(b){for(var d=0,e=1;10!==e&&g[e]<=b;++e)d+=.1;var f=d+(b-g[--e])/(g[e+1]-g[e])*.1,j=i(f,a,c);if(j>=.001){for(var k=f,l=0;l<4;++l){var n=i(k,a,c);if(0===n)break;var o=h(k,a,c)-b;k-=o/n}return k}return 0===j?f:function(b,d,e){var f,g,i=0;do(f=h(g=d+(e-d)/2,a,c)-b)>0?e=g:d=g;while(Math.abs(f)>1e-7&&++i<10)return g}(b,d,d+.1)}(e),b,d)};k.getControlPoints=function(){return[{x:a,y:b},{x:c,y:d}]};var l="generateBezier("+[a,b,c,d]+")";return k.toString=function(){return l},k}(a,b,c,d);return function(a,b,c){return a+(b-a)*e(c)}},eL={linear:function(a,b,c){return a+(b-a)*c},ease:eK(.25,.1,.25,1),"ease-in":eK(.42,0,1,1),"ease-out":eK(0,0,.58,1),"ease-in-out":eK(.42,0,.58,1),"ease-in-sine":eK(.47,0,.745,.715),"ease-out-sine":eK(.39,.575,.565,1),"ease-in-out-sine":eK(.445,.05,.55,.95),"ease-in-quad":eK(.55,.085,.68,.53),"ease-out-quad":eK(.25,.46,.45,.94),"ease-in-out-quad":eK(.455,.03,.515,.955),"ease-in-cubic":eK(.55,.055,.675,.19),"ease-out-cubic":eK(.215,.61,.355,1),"ease-in-out-cubic":eK(.645,.045,.355,1),"ease-in-quart":eK(.895,.03,.685,.22),"ease-out-quart":eK(.165,.84,.44,1),"ease-in-out-quart":eK(.77,0,.175,1),"ease-in-quint":eK(.755,.05,.855,.06),"ease-out-quint":eK(.23,1,.32,1),"ease-in-out-quint":eK(.86,0,.07,1),"ease-in-expo":eK(.95,.05,.795,.035),"ease-out-expo":eK(.19,1,.22,1),"ease-in-out-expo":eK(1,0,0,1),"ease-in-circ":eK(.6,.04,.98,.335),"ease-out-circ":eK(.075,.82,.165,1),"ease-in-out-circ":eK(.785,.135,.15,.86),spring:function(a,b,c){if(0===c)return eL.linear;var d=eJ(a,b,c);return function(a,b,c){return a+(b-a)*d(c)}},"cubic-bezier":eK};function eM(a,b,c,d,e){if(1===d||b===c)return c;var f=e(b,c,d);return null==a||((a.roundValue||a.color)&&(f=Math.round(f)),void 0!==a.min&&(f=Math.max(f,a.min)),void 0!==a.max&&(f=Math.min(f,a.max))),f}function eN(a,b){return null==a.pfValue&&null==a.value?a:null!=a.pfValue&&(null==b||"%"!==b.type.units)?a.pfValue:a.value}function eO(a,b,c,d,e){var f=null!=e?e.type:null;c<0?c=0:c>1&&(c=1);var g=eN(a,e),h=eN(b,e);if(v(g)&&v(h))return eM(f,g,h,c,d);if(t(g)&&t(h)){for(var i=[],j=0;j<h.length;j++){var k=g[j],l=h[j];if(null!=k&&null!=l){var n=eM(f,k,l,c,d);i.push(n)}else i.push(l)}return i}}function eP(a,b){return null!=a&&null!=b&&(!!(v(a)&&v(b))||!!a&&!!b)}function eQ(a,b){var c=b._private.aniEles,d=[];function e(b,c){var e=b._private,f=e.animation.current,g=e.animation.queue,h=!1;if(0===f.length){var i=g.shift();i&&f.push(i)}for(var j=function(a){for(var b=a.length-1;b>=0;b--)(0,a[b])();a.splice(0,a.length)},k=f.length-1;k>=0;k--){var l=f[k],n=l._private;if(n.stopped){f.splice(k,1),n.hooked=!1,n.playing=!1,n.started=!1,j(n.frames);continue}(n.playing||n.applying)&&(n.playing&&n.applying&&(n.applying=!1),n.started||function(a,b,c,d){var e=b._private;e.started=!0,e.startTime=c-e.progress*e.duration}(0,l,a),function(a,b,c,d){var e,f,g,h,i=!d,j=a._private,k=b._private,l=k.easing,n=k.startTime,o=(d?a:a.cy()).style();k.easingImpl||(null==l?k.easingImpl=eL.linear:(e=r(l)?o.parse("transition-timing-function",l).value:l,r(e)?(f=e,g=[]):(f=e[1],g=e.slice(2).map(function(a){return+a})),g.length>0?("spring"===f&&g.push(k.duration),k.easingImpl=eL[f].apply(null,g)):k.easingImpl=eL[f]));var p=k.easingImpl;if(h=0===k.duration?1:(c-n)/k.duration,k.applying&&(h=k.progress),h<0?h=0:h>1&&(h=1),null==k.delay){var q=k.startPosition,s=k.position;if(s&&i&&!a.locked()){var t={};eP(q.x,s.x)&&(t.x=eO(q.x,s.x,h,p)),eP(q.y,s.y)&&(t.y=eO(q.y,s.y,h,p)),a.position(t)}var u=k.startPan,v=k.pan,w=j.pan,x=null!=v&&d;x&&(eP(u.x,v.x)&&(w.x=eO(u.x,v.x,h,p)),eP(u.y,v.y)&&(w.y=eO(u.y,v.y,h,p)),a.emit("pan"));var y=k.startZoom,z=k.zoom,A=null!=z&&d;A&&(eP(y,z)&&(j.zoom=bg(j.minZoom,eO(y,z,h,p),j.maxZoom)),a.emit("zoom")),(x||A)&&a.emit("viewport");var B=k.style;if(B&&B.length>0&&i){for(var C=0;C<B.length;C++){var D=B[C],E=D.name,F=k.startStyle[E],G=o.properties[F.name],H=eO(F,D,h,p,G);o.overrideBypass(a,E,H)}a.emit("style")}}k.progress=h}(b,l,a,c),n.applying&&(n.applying=!1),j(n.frames),null!=n.step&&n.step(a),l.completed()&&(f.splice(k,1),n.hooked=!1,n.playing=!1,n.started=!1,j(n.completes)),h=!0)}return c||0!==f.length||0!==g.length||d.push(b),h}for(var f=!1,g=0;g<c.length;g++){var h=e(c[g]);f=f||h}var i=e(b,!0);(f||i)&&(c.length>0?b.notify("draw",c):b.notify("draw")),c.unmerge(d),b.emit("step")}var eR={animate:df.animate(),animation:df.animation(),animated:df.animated(),clearQueue:df.clearQueue(),delay:df.delay(),delayAnimation:df.delayAnimation(),stop:df.stop(),addToAnimationPool:function(a){this.styleEnabled()&&this._private.aniEles.merge(a)},stopAnimationLoop:function(){this._private.animationsRunning=!1},startAnimationLoop:function(){var a=this;if(a._private.animationsRunning=!0,a.styleEnabled()){var b=a.renderer();b&&b.beforeRender?b.beforeRender(function(b,c){eQ(c,a)},b.beforeRenderPriorities.animations):function b(){a._private.animationsRunning&&ag(function(c){eQ(c,a),b()})}()}}},eS={qualifierCompare:function(a,b){return null==a||null==b?null==a&&null==b:a.sameText(b)},eventMatches:function(a,b,c){var d=b.qualifier;return null==d||a!==c.target&&y(c.target)&&d.matches(c.target)},addEventFields:function(a,b){b.cy=a,b.target=a},callbackContext:function(a,b,c){return null!=b.qualifier?c.target:a}},eT=function(a){return r(a)?new dy(a):a},eU={createEmitter:function(){var a=this._private;return a.emitter||(a.emitter=new ed(eS,this)),this},emitter:function(){return this._private.emitter},on:function(a,b,c){return this.emitter().on(a,eT(b),c),this},removeListener:function(a,b,c){return this.emitter().removeListener(a,eT(b),c),this},removeAllListeners:function(){return this.emitter().removeAllListeners(),this},one:function(a,b,c){return this.emitter().one(a,eT(b),c),this},once:function(a,b,c){return this.emitter().one(a,eT(b),c),this},emit:function(a,b){return this.emitter().emit(a,b),this},emitAndNotify:function(a,b){return this.emit(a),this.notify(a,b),this}};df.eventAliasesOn(eU);var eV={png:function(a){return a=a||{},this._private.renderer.png(a)},jpg:function(a){var b=this._private.renderer;return(a=a||{}).bg=a.bg||"#fff",b.jpg(a)}};eV.jpeg=eV.jpg;var eW={layout:function(a){if(null==a)return void ay("Layout options must be specified to make a layout");if(null==a.name)return void ay("A `name` must be specified to make a layout");var b,c=a.name,d=this.extension("layout",c);return null==d?void ay("No such layout `"+c+"` found. Did you forget to import it and `cytoscape.use()` it?"):(b=r(a.eles)?this.$(a.eles):null!=a.eles?a.eles:this.$(),new d(Q({},a,{cy:this,eles:b})))}};eW.createLayout=eW.makeLayout=eW.layout;var eX=aF({hideEdgesOnViewport:!1,textureOnViewport:!1,motionBlur:!1,motionBlurOpacity:.05,pixelRatio:void 0,desktopTapThreshold:4,touchTapThreshold:8,wheelSensitivity:1,debug:!1,showFps:!1,webgl:!1,webglDebug:!1,webglDebugShowAtlases:!1,webglTexSize:2048,webglTexRows:36,webglTexRowsNodes:18,webglBatchSize:2048,webglTexPerBatch:14,webglBgColor:[255,255,255]}),eY={renderTo:function(a,b,c,d){return this._private.renderer.renderTo(a,b,c,d),this},renderer:function(){return this._private.renderer},forceRender:function(){return this.notify("draw"),this},resize:function(){return this.invalidateSize(),this.emitAndNotify("resize"),this},initRenderer:function(a){var b=this.extension("renderer",a.name);if(null==b)return void ay("Can not initialise: No such renderer `".concat(a.name,"` found. Did you forget to import it and `cytoscape.use()` it?"));void 0!==a.wheelSensitivity&&aA("You have set a custom wheel sensitivity. This will make your app zoom unnaturally when using mainstream mice. You should change this value from the default only if you can guarantee that all your users will use the same hardware and OS configuration as your current machine.");var c=eX(a);c.cy=this,this._private.renderer=new b(c),this.notify("init")},destroyRenderer:function(){this.notify("destroy");var a=this.container();if(a)for(a._cyreg=null;a.childNodes.length>0;)a.removeChild(a.childNodes[0]);this._private.renderer=null,this.mutableElements().forEach(function(a){var b=a._private;b.rscratch={},b.rstyle={},b.animation.current=[],b.animation.queue=[]})},onRender:function(a){return this.on("render",a)},offRender:function(a){return this.off("render",a)}};eY.invalidateDimensions=eY.resize;var eZ={collection:function(a,b){return r(a)?this.$(a):x(a)?a.collection():t(a)?(b||(b={}),new eH(this,a,b.unique,b.removed)):new eH(this)},nodes:function(a){var b=this.$(function(a){return a.isNode()});return a?b.filter(a):b},edges:function(a){var b=this.$(function(a){return a.isEdge()});return a?b.filter(a):b},$:function(a){var b=this._private.elements;return a?b.filter(a):b.spawnSelf()},mutableElements:function(){return this._private.elements}};eZ.elements=eZ.filter=eZ.$;var e$={};e$.apply=function(a){for(var b=this._private.cy.collection(),c=0;c<a.length;c++){var d=a[c],e=this.getContextMeta(d);if(!e.empty){var f=this.getContextStyle(e),g=this.applyContextStyle(e,f,d);d._private.appliedInitStyle?this.updateTransitions(d,g.diffProps):d._private.appliedInitStyle=!0,this.updateStyleHints(d)&&b.push(d)}}return b},e$.getPropertiesDiff=function(a,b){var c=this._private.propDiffs=this._private.propDiffs||{},d=a+"-"+b,e=c[d];if(e)return e;for(var f=[],g={},h=0;h<this.length;h++){var i=this[h],j="t"===a[h],k="t"===b[h],l=j!==k,n=i.mappedProperties.length>0;if(l||k&&n){var o=void 0;l&&n||l?o=i.properties:n&&(o=i.mappedProperties);for(var p=0;p<o.length;p++){for(var q=o[p],r=q.name,s=!1,t=h+1;t<this.length;t++){var u=this[t];if("t"===b[t]&&(s=null!=u.properties[q.name]))break}g[r]||s||(g[r]=!0,f.push(r))}}}return c[d]=f,f},e$.getContextMeta=function(a){for(var b,c="",d=a._private.styleCxtKey||"",e=0;e<this.length;e++){var f=this[e];f.selector&&f.selector.matches(a)?c+="t":c+="f"}return b=this.getPropertiesDiff(d,c),a._private.styleCxtKey=c,{key:c,diffPropNames:b,empty:0===b.length}},e$.getContextStyle=function(a){var b=a.key,c=this._private.contextStyles=this._private.contextStyles||{};if(c[b])return c[b];for(var d={_private:{key:b}},e=0;e<this.length;e++){var f=this[e];if("t"===b[e])for(var g=0;g<f.properties.length;g++){var h=f.properties[g];d[h.name]=h}}return c[b]=d,d},e$.applyContextStyle=function(a,b,c){for(var d=a.diffPropNames,e={},f=this.types,g=0;g<d.length;g++){var h=d[g],i=b[h],j=c.pstyle(h);if(!i)if(!j)continue;else i=j.bypass?{name:h,deleteBypassed:!0}:{name:h,delete:!0};if(j!==i){if(i.mapped===f.fn&&null!=j&&null!=j.mapping&&j.mapping.value===i.value){var k=j.mapping;if((k.fnValue=i.value(c))===k.prevFnValue)continue}var l=e[h]={prev:j};this.applyParsedProperty(c,i),l.next=c.pstyle(h),l.next&&l.next.bypass&&(l.next=l.next.bypassed)}}return{diffProps:e}},e$.updateStyleHints=function(a){var b=a._private,c=this,d=c.propertyGroupNames,e=c.propertyGroupKeys,f=function(a,b,d){return c.getPropertiesHash(a,b,d)},g=b.styleKey;if(a.removed())return!1;var h="nodes"===b.group,i=a._private.style;d=Object.keys(i);for(var j=0;j<e.length;j++){var k=e[j];b.styleKeys[k]=[9261,5381]}for(var l=function(a,c){return b.styleKeys[c][0]=ai(a,b.styleKeys[c][0])},n=function(a,c){return b.styleKeys[c][1]=aj(a,b.styleKeys[c][1])},o=function(a,b){for(var c=0;c<a.length;c++){var d=a.charCodeAt(c);l(d,b),n(d,b)}},p=0;p<d.length;p++){var q=d[p],r=i[q];if(null!=r){var s,t,u=this.properties[q],v=u.type,w=u.groupKey,x=void 0;null!=u.hashOverride?x=u.hashOverride(a,r):null!=r.pfValue&&(x=r.pfValue);var y=null==u.enums?r.value:null,z=null!=x,A=null!=y,B=z||A,C=r.units;v.number&&B&&!v.multiple?(l(t=-128<(s=z?x:y)&&s<128&&Math.floor(s)!==s?2e9-(1024*s|0):s,w),n(t,w),z||null==C||o(C,w)):o(r.strValue,w)}}for(var D=[9261,5381],E=0;E<e.length;E++){var F=e[E],G=b.styleKeys[F];D[0]=ai(G[0],D[0]),D[1]=aj(G[1],D[1])}b.styleKey=2097152*D[0]+D[1];var H=b.styleKeys;b.labelDimsKey=ak(H.labelDimensions);var I=f(a,["label"],H.labelDimensions);if(b.labelKey=ak(I),b.labelStyleKey=ak(al(H.commonLabel,I)),!h){var J=f(a,["source-label"],H.labelDimensions);b.sourceLabelKey=ak(J),b.sourceLabelStyleKey=ak(al(H.commonLabel,J));var K=f(a,["target-label"],H.labelDimensions);b.targetLabelKey=ak(K),b.targetLabelStyleKey=ak(al(H.commonLabel,K))}if(h){var L=b.styleKeys,M=L.nodeBody,N=L.nodeBorder,O=L.nodeOutline,P=L.backgroundImage,Q=L.compound,R=L.pie,S=L.stripe;b.nodeKey=ak([M,N,O,P,Q,R,S].filter(function(a){return null!=a}).reduce(al,[9261,5381])),b.hasPie=null!=R&&9261!==R[0]&&5381!==R[1],b.hasStripe=null!=S&&9261!==S[0]&&5381!==S[1]}return g!==b.styleKey},e$.clearStyleHints=function(a){var b=a._private;b.styleCxtKey="",b.styleKeys={},b.styleKey=null,b.labelKey=null,b.labelStyleKey=null,b.sourceLabelKey=null,b.sourceLabelStyleKey=null,b.targetLabelKey=null,b.targetLabelStyleKey=null,b.nodeKey=null,b.hasPie=null,b.hasStripe=null},e$.applyParsedProperty=function(a,b){var c=this,d=b,e=a._private.style,f=c.types,g=c.properties[d.name].type,h=d.bypass,i=e[d.name],j=i&&i.bypass,k=a._private,l="mapping",n=function(a){return null==a?null:null!=a.pfValue?a.pfValue:a.value},o=function(){var b=n(i),e=n(d);c.checkTriggers(a,d.name,b,e)};if("curve-style"===b.name&&a.isEdge()&&("bezier"!==b.value&&a.isLoop()||"haystack"===b.value&&(a.source().isParent()||a.target().isParent()))&&(d=b=this.parse(b.name,"bezier",h)),d.delete)return e[d.name]=void 0,o(),!0;if(d.deleteBypassed)if(!i)return o(),!0;else if(i.bypass)return i.bypassed=void 0,o(),!0;else return!1;if(d.deleteBypass)if(!i)return o(),!0;else if(i.bypass)return e[d.name]=i.bypassed,o(),!0;else return!1;var p=function(){aA("Do not assign mappings to elements without corresponding data (i.e. ele `"+a.id()+"` has no mapping for property `"+d.name+"` with data field `"+d.field+"`); try a `["+d.field+"]` selector to limit scope to elements with `"+d.field+"` defined")};switch(d.mapped){case f.mapData:for(var q,r,s=d.field.split("."),t=k.data,u=0;u<s.length&&t;u++)t=t[s[u]];if(null==t)return p(),!1;if(!v(t))return aA("Do not use continuous mappers without specifying numeric data (i.e. `"+d.field+": "+t+"` for `"+a.id()+"` is non-numeric)"),!1;var w=d.fieldMax-d.fieldMin;if((r=0===w?0:(t-d.fieldMin)/w)<0?r=0:r>1&&(r=1),g.color){var x=d.valueMin[0],y=d.valueMax[0],z=d.valueMin[1],A=d.valueMax[1],B=d.valueMin[2],C=d.valueMax[2],D=null==d.valueMin[3]?1:d.valueMin[3],E=[Math.round(x+(y-x)*r),Math.round(z+(A-z)*r),Math.round(B+(C-B)*r),Math.round(D+((null==d.valueMax[3]?1:d.valueMax[3])-D)*r)];q={bypass:d.bypass,name:d.name,value:E,strValue:"rgb("+E[0]+", "+E[1]+", "+E[2]+")"}}else{if(!g.number)return!1;var F=d.valueMin+(d.valueMax-d.valueMin)*r;q=this.parse(d.name,F,d.bypass,l)}if(!q)return p(),!1;q.mapping=d,d=q;break;case f.data:for(var G=d.field.split("."),H=k.data,I=0;I<G.length&&H;I++)H=H[G[I]];if(null!=H&&(q=this.parse(d.name,H,d.bypass,l)),!q)return p(),!1;q.mapping=d,d=q;break;case f.fn:var J=d.value,K=null!=d.fnValue?d.fnValue:J(a);if(d.prevFnValue=K,null==K)return aA("Custom function mappers may not return null (i.e. `"+d.name+"` for ele `"+a.id()+"` is null)"),!1;if(!(q=this.parse(d.name,K,d.bypass,l)))return aA("Custom function mappers may not return invalid values for the property type (i.e. `"+d.name+"` for ele `"+a.id()+"` is invalid)"),!1;q.mapping=aB(d),d=q;break;case void 0:break;default:return!1}return h?(j?d.bypassed=i.bypassed:d.bypassed=i,e[d.name]=d):j?i.bypassed=d:e[d.name]=d,o(),!0},e$.cleanElements=function(a,b){for(var c=0;c<a.length;c++){var d=a[c];if(this.clearStyleHints(d),d.dirtyCompoundBoundsCache(),d.dirtyBoundingBoxCache(),b)for(var e=d._private.style,f=Object.keys(e),g=0;g<f.length;g++){var h=f[g],i=e[h];null!=i&&(i.bypass?i.bypassed=null:e[h]=null)}else d._private.style={}}},e$.update=function(){this._private.cy.mutableElements().updateStyle()},e$.updateTransitions=function(a,b){var c=this,d=a._private,e=a.pstyle("transition-property").value,f=a.pstyle("transition-duration").pfValue,g=a.pstyle("transition-delay").pfValue;if(e.length>0&&f>0){for(var h={},i=!1,j=0;j<e.length;j++){var k=e[j],l=a.pstyle(k),n=b[k];if(n){var o=n.prev,p=null!=n.next?n.next:l,q=!1,r=void 0;o&&(v(o.pfValue)&&v(p.pfValue)?(q=p.pfValue-o.pfValue,r=o.pfValue+1e-6*q):v(o.value)&&v(p.value)?(q=p.value-o.value,r=o.value+1e-6*q):t(o.value)&&t(p.value)&&(q=o.value[0]!==p.value[0]||o.value[1]!==p.value[1]||o.value[2]!==p.value[2],r=o.strValue),q&&(h[k]=p.strValue,this.applyBypass(a,k,r),i=!0))}}if(!i)return;d.transitioning=!0,new c$(function(b){g>0?a.delayAnimation(g).play().promise().then(b):b()}).then(function(){return a.animation({style:h,duration:f,easing:a.pstyle("transition-timing-function").value,queue:!1}).play().promise()}).then(function(){c.removeBypasses(a,e),a.emitAndNotify("style"),d.transitioning=!1})}else d.transitioning&&(this.removeBypasses(a,e),a.emitAndNotify("style"),d.transitioning=!1)},e$.checkTrigger=function(a,b,c,d,e,f){var g=this.properties[b],h=e(g);!a.removed()&&null!=h&&h(c,d,a)&&f(g)},e$.checkZOrderTrigger=function(a,b,c,d){var e=this;this.checkTrigger(a,b,c,d,function(a){return a.triggersZOrder},function(){e._private.cy.notify("zorder",a)})},e$.checkBoundsTrigger=function(a,b,c,d){this.checkTrigger(a,b,c,d,function(a){return a.triggersBounds},function(b){a.dirtyCompoundBoundsCache(),a.dirtyBoundingBoxCache()})},e$.checkConnectedEdgesBoundsTrigger=function(a,b,c,d){this.checkTrigger(a,b,c,d,function(a){return a.triggersBoundsOfConnectedEdges},function(b){a.connectedEdges().forEach(function(a){a.dirtyBoundingBoxCache()})})},e$.checkParallelEdgesBoundsTrigger=function(a,b,c,d){this.checkTrigger(a,b,c,d,function(a){return a.triggersBoundsOfParallelEdges},function(b){a.parallelEdges().forEach(function(a){a.dirtyBoundingBoxCache()})})},e$.checkTriggers=function(a,b,c,d){a.dirtyStyleCache(),this.checkZOrderTrigger(a,b,c,d),this.checkBoundsTrigger(a,b,c,d),this.checkConnectedEdgesBoundsTrigger(a,b,c,d),this.checkParallelEdgesBoundsTrigger(a,b,c,d)};var e_={};e_.applyBypass=function(a,b,c,d){var e=[];if("*"===b||"**"===b){if(void 0!==c)for(var f=0;f<this.properties.length;f++){var g=this.properties[f].name,h=this.parse(g,c,!0);h&&e.push(h)}}else if(r(b)){var i=this.parse(b,c,!0);i&&e.push(i)}else{if(!u(b))return!1;d=c;for(var j=Object.keys(b),k=0;k<j.length;k++){var l=j[k],n=b[l];if(void 0===n&&(n=b[G(l)]),void 0!==n){var o=this.parse(l,n,!0);o&&e.push(o)}}}if(0===e.length)return!1;for(var p=!1,q=0;q<a.length;q++){for(var s=a[q],t={},v=void 0,w=0;w<e.length;w++){var x=e[w];if(d){var y=s.pstyle(x.name);v=t[x.name]={prev:y}}p=this.applyParsedProperty(s,aB(x))||p,d&&(v.next=s.pstyle(x.name))}p&&this.updateStyleHints(s),d&&this.updateTransitions(s,t,!0)}return p},e_.overrideBypass=function(a,b,c){b=F(b);for(var d=0;d<a.length;d++){var e=a[d],f=e._private.style[b],g=this.properties[b].type,h=g.color,i=g.mutiple,j=f?null!=f.pfValue?f.pfValue:f.value:null;f&&f.bypass?(f.value=c,null!=f.pfValue&&(f.pfValue=c),h?f.strValue="rgb("+c.join(",")+")":i?f.strValue=c.join(" "):f.strValue=""+c,this.updateStyleHints(e)):this.applyBypass(e,b,c),this.checkTriggers(e,b,j,c)}},e_.removeAllBypasses=function(a,b){return this.removeBypasses(a,this.propertyNames,b)},e_.removeBypasses=function(a,b,c){for(var d=0;d<a.length;d++){for(var e=a[d],f={},g=0;g<b.length;g++){var h=b[g],i=this.properties[h],j=e.pstyle(i.name);if(j&&j.bypass){var k=this.parse(h,"",!0),l=f[i.name]={prev:j};this.applyParsedProperty(e,k),l.next=e.pstyle(i.name)}}this.updateStyleHints(e),c&&this.updateTransitions(e,f,!0)}};var e0={};e0.getEmSizeInPixels=function(){var a=this.containerCss("font-size");return null!=a?parseFloat(a):1},e0.containerCss=function(a){var b=this._private.cy,c=b.container(),d=b.window();if(d&&c&&d.getComputedStyle)return d.getComputedStyle(c).getPropertyValue(a)};var e1={};e1.getRenderedStyle=function(a,b){return b?this.getStylePropertyValue(a,b,!0):this.getRawStyle(a,!0)},e1.getRawStyle=function(a,b){if(a=a[0]){for(var c={},d=0;d<this.properties.length;d++){var e=this.properties[d],f=this.getStylePropertyValue(a,e.name,b);null!=f&&(c[e.name]=f,c[G(e.name)]=f)}return c}},e1.getIndexedStyle=function(a,b,c,d){var e=a.pstyle(b)[c][d];return null!=e?e:a.cy().style().getDefaultProperty(b)[c][0]},e1.getStylePropertyValue=function(a,b,c){if(a=a[0]){var d=this.properties[b];d.alias&&(d=d.pointsTo);var e=d.type,f=a.pstyle(d.name);if(f){var g=f.value,h=f.units,i=f.strValue;if(c&&e.number&&null!=g&&v(g)){var j=a.cy().zoom(),k=function(a){return a*j},l=function(a,b){return k(a)+b},n=t(g);if(n?h.every(function(a){return null!=a}):null!=h)if(n)return g.map(function(a,b){return l(a,h[b])}).join(" ");else return l(g,h);return n?g.map(function(a){return r(a)?a:""+k(a)}).join(" "):""+k(g)}if(null!=i)return i}return null}},e1.getAnimationStartStyle=function(a,b){for(var c={},d=0;d<b.length;d++){var e=b[d].name,f=a.pstyle(e);void 0!==f&&(f=u(f)?this.parse(e,f.strValue):this.parse(e,f)),f&&(c[e]=f)}return c},e1.getPropsList=function(a){var b=[],c=this.properties;if(a)for(var d=Object.keys(a),e=0;e<d.length;e++){var f=d[e],g=a[f],h=c[f]||c[F(f)],i=this.parse(h.name,g);i&&b.push(i)}return b},e1.getNonDefaultPropertiesHash=function(a,b,c){var d,e,f,g,h,i,j=c.slice();for(h=0;h<b.length;h++)if(d=b[h],null!=(e=a.pstyle(d,!1)))if(null!=e.pfValue)j[0]=ai(g,j[0]),j[1]=aj(g,j[1]);else for(i=0,f=e.strValue;i<f.length;i++)g=f.charCodeAt(i),j[0]=ai(g,j[0]),j[1]=aj(g,j[1]);return j},e1.getPropertiesHash=e1.getNonDefaultPropertiesHash;var e2={};e2.appendFromJson=function(a){for(var b=0;b<a.length;b++){var c=a[b],d=c.selector,e=c.style||c.css,f=Object.keys(e);this.selector(d);for(var g=0;g<f.length;g++){var h=f[g],i=e[h];this.css(h,i)}}return this},e2.fromJson=function(a){return this.resetToDefault(),this.appendFromJson(a),this},e2.json=function(){for(var a=[],b=this.defaultLength;b<this.length;b++){for(var c=this[b],d=c.selector,e=c.properties,f={},g=0;g<e.length;g++){var h=e[g];f[h.name]=h.strValue}a.push({selector:d?d.toString():"core",style:f})}return a};var e3={};e3.appendFromString=function(a){var b,c,d,e=""+a;function f(){e=e.length>b.length?e.substr(b.length):""}function g(){c=c.length>d.length?c.substr(d.length):""}for(e=e.replace(/[/][*](\s|.)+?[*][/]/g,"");!e.match(/^\s*$/);){var h=e.match(/^\s*((?:.|\s)+?)\s*\{((?:.|\s)+?)\}/);if(!h){aA("Halting stylesheet parsing: String stylesheet contains more to parse but no selector and block found in: "+e);break}b=h[0];var i=h[1];if("core"!==i&&new dy(i).invalid){aA("Skipping parsing of block: Invalid selector found in string stylesheet: "+i),f();continue}var j=h[2],k=!1;c=j;for(var l=[];!c.match(/^\s*$/);){var n=c.match(/^\s*(.+?)\s*:\s*(.+?)(?:\s*;|\s*$)/);if(!n){aA("Skipping parsing of block: Invalid formatting of style property and value definitions found in:"+j),k=!0;break}d=n[0];var o=n[1],p=n[2];if(!this.properties[o]){aA("Skipping property: Invalid property name in: "+d),g();continue}if(!this.parse(o,p)){aA("Skipping property: Invalid property definition in: "+d),g();continue}l.push({name:o,val:p}),g()}if(k){f();break}this.selector(i);for(var q=0;q<l.length;q++){var r=l[q];this.css(r.name,r.val)}f()}return this},e3.fromString=function(a){return this.resetToDefault(),this.appendFromString(a),this};var e4={};!function(){var a=function(a){return"^"+a+"\\s*\\(\\s*([\\w\\.]+)\\s*\\)$"},b=function(a){var b=K+"|\\w+|"+M+"|"+O+"|\\#[0-9a-fA-F]{3}|\\#[0-9a-fA-F]{6}";return"^"+a+"\\s*\\(([\\w\\.]+)\\s*\\,\\s*("+K+")\\s*\\,\\s*("+K+")\\s*,\\s*("+b+")\\s*\\,\\s*("+b+")\\)$"},c=["^url\\s*\\(\\s*['\"]?(.+?)['\"]?\\s*\\)$","^(none)$","^(.+)$"];e4.types={time:{number:!0,min:0,units:"s|ms",implicitUnits:"ms"},percent:{number:!0,min:0,max:100,units:"%",implicitUnits:"%"},percentages:{number:!0,min:0,max:100,units:"%",implicitUnits:"%",multiple:!0},zeroOneNumber:{number:!0,min:0,max:1,unitless:!0},zeroOneNumbers:{number:!0,min:0,max:1,unitless:!0,multiple:!0},nOneOneNumber:{number:!0,min:-1,max:1,unitless:!0},nonNegativeInt:{number:!0,min:0,integer:!0,unitless:!0},nonNegativeNumber:{number:!0,min:0,unitless:!0},position:{enums:["parent","origin"]},nodeSize:{number:!0,min:0,enums:["label"]},number:{number:!0,unitless:!0},numbers:{number:!0,unitless:!0,multiple:!0},positiveNumber:{number:!0,unitless:!0,min:0,strictMin:!0},size:{number:!0,min:0},bidirectionalSize:{number:!0},bidirectionalSizeMaybePercent:{number:!0,allowPercent:!0},bidirectionalSizes:{number:!0,multiple:!0},sizeMaybePercent:{number:!0,min:0,allowPercent:!0},axisDirection:{enums:["horizontal","leftward","rightward","vertical","upward","downward","auto"]},axisDirectionExplicit:{enums:["leftward","rightward","upward","downward"]},axisDirectionPrimary:{enums:["horizontal","vertical"]},paddingRelativeTo:{enums:["width","height","average","min","max"]},bgWH:{number:!0,min:0,allowPercent:!0,enums:["auto"],multiple:!0},bgPos:{number:!0,allowPercent:!0,multiple:!0},bgRelativeTo:{enums:["inner","include-padding"],multiple:!0},bgRepeat:{enums:["repeat","repeat-x","repeat-y","no-repeat"],multiple:!0},bgFit:{enums:["none","contain","cover"],multiple:!0},bgCrossOrigin:{enums:["anonymous","use-credentials","null"],multiple:!0},bgClip:{enums:["none","node"],multiple:!0},bgContainment:{enums:["inside","over"],multiple:!0},boxSelection:{enums:["contain","overlap","none"]},color:{color:!0},colors:{color:!0,multiple:!0},fill:{enums:["solid","linear-gradient","radial-gradient"]},bool:{enums:["yes","no"]},bools:{enums:["yes","no"],multiple:!0},lineStyle:{enums:["solid","dotted","dashed"]},lineCap:{enums:["butt","round","square"]},linePosition:{enums:["center","inside","outside"]},lineJoin:{enums:["round","bevel","miter"]},borderStyle:{enums:["solid","dotted","dashed","double"]},curveStyle:{enums:["bezier","unbundled-bezier","haystack","segments","straight","straight-triangle","taxi","round-segments","round-taxi"]},radiusType:{enums:["arc-radius","influence-radius"],multiple:!0},fontFamily:{regex:'^([\\w- \\"]+(?:\\s*,\\s*[\\w- \\"]+)*)$'},fontStyle:{enums:["italic","normal","oblique"]},fontWeight:{enums:["normal","bold","bolder","lighter","100","200","300","400","500","600","800","900",100,200,300,400,500,600,700,800,900]},textDecoration:{enums:["none","underline","overline","line-through"]},textTransform:{enums:["none","uppercase","lowercase"]},textWrap:{enums:["none","wrap","ellipsis"]},textOverflowWrap:{enums:["whitespace","anywhere"]},textBackgroundShape:{enums:["rectangle","roundrectangle","round-rectangle","circle"]},nodeShape:{enums:["rectangle","roundrectangle","round-rectangle","cutrectangle","cut-rectangle","bottomroundrectangle","bottom-round-rectangle","barrel","ellipse","triangle","round-triangle","square","pentagon","round-pentagon","hexagon","round-hexagon","concavehexagon","concave-hexagon","heptagon","round-heptagon","octagon","round-octagon","tag","round-tag","star","diamond","round-diamond","vee","rhomboid","right-rhomboid","polygon"]},overlayShape:{enums:["roundrectangle","round-rectangle","ellipse"]},cornerRadius:{number:!0,min:0,units:"px|em",implicitUnits:"px",enums:["auto"]},compoundIncludeLabels:{enums:["include","exclude"]},arrowShape:{enums:["tee","triangle","triangle-tee","circle-triangle","triangle-cross","triangle-backcurve","vee","square","circle","diamond","chevron","none"]},arrowFill:{enums:["filled","hollow"]},arrowWidth:{number:!0,units:"%|px|em",implicitUnits:"px",enums:["match-line"]},display:{enums:["element","none"]},visibility:{enums:["hidden","visible"]},zCompoundDepth:{enums:["bottom","orphan","auto","top"]},zIndexCompare:{enums:["auto","manual"]},valign:{enums:["top","center","bottom"]},halign:{enums:["left","center","right"]},justification:{enums:["left","center","right","auto"]},text:{string:!0},data:{mapping:!0,regex:a("data")},layoutData:{mapping:!0,regex:a("layoutData")},scratch:{mapping:!0,regex:a("scratch")},mapData:{mapping:!0,regex:b("mapData")},mapLayoutData:{mapping:!0,regex:b("mapLayoutData")},mapScratch:{mapping:!0,regex:b("mapScratch")},fn:{mapping:!0,fn:!0},url:{regexes:c,singleRegexMatchValue:!0},urls:{regexes:c,singleRegexMatchValue:!0,multiple:!0},propList:{propList:!0},angle:{number:!0,units:"deg|rad",implicitUnits:"rad"},textRotation:{number:!0,units:"deg|rad",implicitUnits:"rad",enums:["none","autorotate"]},polygonPointList:{number:!0,multiple:!0,evenMultiple:!0,min:-1,max:1,unitless:!0},edgeDistances:{enums:["intersection","node-position","endpoints"]},edgeEndpoint:{number:!0,multiple:!0,units:"%|px|em|deg|rad",implicitUnits:"px",enums:["inside-to-node","outside-to-node","outside-to-node-or-label","outside-to-line","outside-to-line-or-label"],singleEnum:!0,validate:function(a,b){switch(a.length){case 2:return"deg"!==b[0]&&"rad"!==b[0]&&"deg"!==b[1]&&"rad"!==b[1];case 1:return r(a[0])||"deg"===b[0]||"rad"===b[0];default:return!1}}},easing:{regexes:["^(spring)\\s*\\(\\s*("+K+")\\s*,\\s*("+K+")\\s*\\)$","^(cubic-bezier)\\s*\\(\\s*("+K+")\\s*,\\s*("+K+")\\s*,\\s*("+K+")\\s*,\\s*("+K+")\\s*\\)$"],enums:["linear","ease","ease-in","ease-out","ease-in-out","ease-in-sine","ease-out-sine","ease-in-out-sine","ease-in-quad","ease-out-quad","ease-in-out-quad","ease-in-cubic","ease-out-cubic","ease-in-out-cubic","ease-in-quart","ease-out-quart","ease-in-out-quart","ease-in-quint","ease-out-quint","ease-in-out-quint","ease-in-expo","ease-out-expo","ease-in-out-expo","ease-in-circ","ease-out-circ","ease-in-out-circ"]},gradientDirection:{enums:["to-bottom","to-top","to-left","to-right","to-bottom-right","to-bottom-left","to-top-right","to-top-left","to-right-bottom","to-left-bottom","to-right-top","to-left-top"]},boundsExpansion:{number:!0,multiple:!0,min:0,validate:function(a){var b=a.length;return 1===b||2===b||4===b}}};var d=function(a,b){return(null==a||null==b)&&a!==b||0==a&&0!=b||0!=a&&0==b},e=function(a,b){return a!=b},f=e4.types,g=[{name:"label",type:f.text,triggersBounds:e,triggersZOrder:function(a,b){var c=C(a),d=C(b);return c&&!d||!c&&d}},{name:"text-rotation",type:f.textRotation,triggersBounds:e},{name:"text-margin-x",type:f.bidirectionalSize,triggersBounds:e},{name:"text-margin-y",type:f.bidirectionalSize,triggersBounds:e}],h=[{name:"source-label",type:f.text,triggersBounds:e},{name:"source-text-rotation",type:f.textRotation,triggersBounds:e},{name:"source-text-margin-x",type:f.bidirectionalSize,triggersBounds:e},{name:"source-text-margin-y",type:f.bidirectionalSize,triggersBounds:e},{name:"source-text-offset",type:f.size,triggersBounds:e}],i=[{name:"target-label",type:f.text,triggersBounds:e},{name:"target-text-rotation",type:f.textRotation,triggersBounds:e},{name:"target-text-margin-x",type:f.bidirectionalSize,triggersBounds:e},{name:"target-text-margin-y",type:f.bidirectionalSize,triggersBounds:e},{name:"target-text-offset",type:f.size,triggersBounds:e}],j=[{name:"font-family",type:f.fontFamily,triggersBounds:e},{name:"font-style",type:f.fontStyle,triggersBounds:e},{name:"font-weight",type:f.fontWeight,triggersBounds:e},{name:"font-size",type:f.size,triggersBounds:e},{name:"text-transform",type:f.textTransform,triggersBounds:e},{name:"text-wrap",type:f.textWrap,triggersBounds:e},{name:"text-overflow-wrap",type:f.textOverflowWrap,triggersBounds:e},{name:"text-max-width",type:f.size,triggersBounds:e},{name:"text-outline-width",type:f.size,triggersBounds:e},{name:"line-height",type:f.positiveNumber,triggersBounds:e}],k=[{name:"text-valign",type:f.valign,triggersBounds:e},{name:"text-halign",type:f.halign,triggersBounds:e},{name:"color",type:f.color},{name:"text-outline-color",type:f.color},{name:"text-outline-opacity",type:f.zeroOneNumber},{name:"text-background-color",type:f.color},{name:"text-background-opacity",type:f.zeroOneNumber},{name:"text-background-padding",type:f.size,triggersBounds:e},{name:"text-border-opacity",type:f.zeroOneNumber},{name:"text-border-color",type:f.color},{name:"text-border-width",type:f.size,triggersBounds:e},{name:"text-border-style",type:f.borderStyle,triggersBounds:e},{name:"text-background-shape",type:f.textBackgroundShape,triggersBounds:e},{name:"text-justification",type:f.justification},{name:"box-select-labels",type:f.bool,triggersBounds:e}],l=[{name:"events",type:f.bool,triggersZOrder:e},{name:"text-events",type:f.bool,triggersZOrder:e},{name:"box-selection",type:f.boxSelection,triggersZOrder:e}],n=[{name:"display",type:f.display,triggersZOrder:e,triggersBounds:e,triggersBoundsOfConnectedEdges:e,triggersBoundsOfParallelEdges:function(a,b,c){return a!==b&&"bezier"===c.pstyle("curve-style").value}},{name:"visibility",type:f.visibility,triggersZOrder:e},{name:"opacity",type:f.zeroOneNumber,triggersZOrder:d},{name:"text-opacity",type:f.zeroOneNumber},{name:"min-zoomed-font-size",type:f.size},{name:"z-compound-depth",type:f.zCompoundDepth,triggersZOrder:e},{name:"z-index-compare",type:f.zIndexCompare,triggersZOrder:e},{name:"z-index",type:f.number,triggersZOrder:e}],o=[{name:"overlay-padding",type:f.size,triggersBounds:e},{name:"overlay-color",type:f.color},{name:"overlay-opacity",type:f.zeroOneNumber,triggersBounds:d},{name:"overlay-shape",type:f.overlayShape,triggersBounds:e},{name:"overlay-corner-radius",type:f.cornerRadius}],p=[{name:"underlay-padding",type:f.size,triggersBounds:e},{name:"underlay-color",type:f.color},{name:"underlay-opacity",type:f.zeroOneNumber,triggersBounds:d},{name:"underlay-shape",type:f.overlayShape,triggersBounds:e},{name:"underlay-corner-radius",type:f.cornerRadius}],q=[{name:"transition-property",type:f.propList},{name:"transition-duration",type:f.time},{name:"transition-delay",type:f.time},{name:"transition-timing-function",type:f.easing}],s=function(a,b){return"label"===b.value?-a.poolIndex():b.pfValue},t=[{name:"height",type:f.nodeSize,triggersBounds:e,hashOverride:s},{name:"width",type:f.nodeSize,triggersBounds:e,hashOverride:s},{name:"shape",type:f.nodeShape,triggersBounds:e},{name:"shape-polygon-points",type:f.polygonPointList,triggersBounds:e},{name:"corner-radius",type:f.cornerRadius},{name:"background-color",type:f.color},{name:"background-fill",type:f.fill},{name:"background-opacity",type:f.zeroOneNumber},{name:"background-blacken",type:f.nOneOneNumber},{name:"background-gradient-stop-colors",type:f.colors},{name:"background-gradient-stop-positions",type:f.percentages},{name:"background-gradient-direction",type:f.gradientDirection},{name:"padding",type:f.sizeMaybePercent,triggersBounds:e},{name:"padding-relative-to",type:f.paddingRelativeTo,triggersBounds:e},{name:"bounds-expansion",type:f.boundsExpansion,triggersBounds:e}],u=[{name:"border-color",type:f.color},{name:"border-opacity",type:f.zeroOneNumber},{name:"border-width",type:f.size,triggersBounds:e},{name:"border-style",type:f.borderStyle},{name:"border-cap",type:f.lineCap},{name:"border-join",type:f.lineJoin},{name:"border-dash-pattern",type:f.numbers},{name:"border-dash-offset",type:f.number},{name:"border-position",type:f.linePosition}],v=[{name:"outline-color",type:f.color},{name:"outline-opacity",type:f.zeroOneNumber},{name:"outline-width",type:f.size,triggersBounds:e},{name:"outline-style",type:f.borderStyle},{name:"outline-offset",type:f.size,triggersBounds:e}],w=[{name:"background-image",type:f.urls},{name:"background-image-crossorigin",type:f.bgCrossOrigin},{name:"background-image-opacity",type:f.zeroOneNumbers},{name:"background-image-containment",type:f.bgContainment},{name:"background-image-smoothing",type:f.bools},{name:"background-position-x",type:f.bgPos},{name:"background-position-y",type:f.bgPos},{name:"background-width-relative-to",type:f.bgRelativeTo},{name:"background-height-relative-to",type:f.bgRelativeTo},{name:"background-repeat",type:f.bgRepeat},{name:"background-fit",type:f.bgFit},{name:"background-clip",type:f.bgClip},{name:"background-width",type:f.bgWH},{name:"background-height",type:f.bgWH},{name:"background-offset-x",type:f.bgPos},{name:"background-offset-y",type:f.bgPos}],x=[{name:"position",type:f.position,triggersBounds:e},{name:"compound-sizing-wrt-labels",type:f.compoundIncludeLabels,triggersBounds:e},{name:"min-width",type:f.size,triggersBounds:e},{name:"min-width-bias-left",type:f.sizeMaybePercent,triggersBounds:e},{name:"min-width-bias-right",type:f.sizeMaybePercent,triggersBounds:e},{name:"min-height",type:f.size,triggersBounds:e},{name:"min-height-bias-top",type:f.sizeMaybePercent,triggersBounds:e},{name:"min-height-bias-bottom",type:f.sizeMaybePercent,triggersBounds:e}],y=[{name:"line-style",type:f.lineStyle},{name:"line-color",type:f.color},{name:"line-fill",type:f.fill},{name:"line-cap",type:f.lineCap},{name:"line-opacity",type:f.zeroOneNumber},{name:"line-dash-pattern",type:f.numbers},{name:"line-dash-offset",type:f.number},{name:"line-outline-width",type:f.size},{name:"line-outline-color",type:f.color},{name:"line-gradient-stop-colors",type:f.colors},{name:"line-gradient-stop-positions",type:f.percentages},{name:"curve-style",type:f.curveStyle,triggersBounds:e,triggersBoundsOfParallelEdges:function(a,b){return a!==b&&("bezier"===a||"bezier"===b)}},{name:"haystack-radius",type:f.zeroOneNumber,triggersBounds:e},{name:"source-endpoint",type:f.edgeEndpoint,triggersBounds:e},{name:"target-endpoint",type:f.edgeEndpoint,triggersBounds:e},{name:"control-point-step-size",type:f.size,triggersBounds:e},{name:"control-point-distances",type:f.bidirectionalSizes,triggersBounds:e},{name:"control-point-weights",type:f.numbers,triggersBounds:e},{name:"segment-distances",type:f.bidirectionalSizes,triggersBounds:e},{name:"segment-weights",type:f.numbers,triggersBounds:e},{name:"segment-radii",type:f.numbers,triggersBounds:e},{name:"radius-type",type:f.radiusType,triggersBounds:e},{name:"taxi-turn",type:f.bidirectionalSizeMaybePercent,triggersBounds:e},{name:"taxi-turn-min-distance",type:f.size,triggersBounds:e},{name:"taxi-direction",type:f.axisDirection,triggersBounds:e},{name:"taxi-radius",type:f.number,triggersBounds:e},{name:"edge-distances",type:f.edgeDistances,triggersBounds:e},{name:"arrow-scale",type:f.positiveNumber,triggersBounds:e},{name:"loop-direction",type:f.angle,triggersBounds:e},{name:"loop-sweep",type:f.angle,triggersBounds:e},{name:"source-distance-from-node",type:f.size,triggersBounds:e},{name:"target-distance-from-node",type:f.size,triggersBounds:e}],z=[{name:"ghost",type:f.bool,triggersBounds:e},{name:"ghost-offset-x",type:f.bidirectionalSize,triggersBounds:e},{name:"ghost-offset-y",type:f.bidirectionalSize,triggersBounds:e},{name:"ghost-opacity",type:f.zeroOneNumber}],A=[{name:"selection-box-color",type:f.color},{name:"selection-box-opacity",type:f.zeroOneNumber},{name:"selection-box-border-color",type:f.color},{name:"selection-box-border-width",type:f.size},{name:"active-bg-color",type:f.color},{name:"active-bg-opacity",type:f.zeroOneNumber},{name:"active-bg-size",type:f.size},{name:"outside-texture-bg-color",type:f.color},{name:"outside-texture-bg-opacity",type:f.zeroOneNumber}],B=[];e4.pieBackgroundN=16,B.push({name:"pie-size",type:f.sizeMaybePercent}),B.push({name:"pie-hole",type:f.sizeMaybePercent}),B.push({name:"pie-start-angle",type:f.angle});for(var D=1;D<=e4.pieBackgroundN;D++)B.push({name:"pie-"+D+"-background-color",type:f.color}),B.push({name:"pie-"+D+"-background-size",type:f.percent}),B.push({name:"pie-"+D+"-background-opacity",type:f.zeroOneNumber});var E=[];e4.stripeBackgroundN=16,E.push({name:"stripe-size",type:f.sizeMaybePercent}),E.push({name:"stripe-direction",type:f.axisDirectionPrimary});for(var F=1;F<=e4.stripeBackgroundN;F++)E.push({name:"stripe-"+F+"-background-color",type:f.color}),E.push({name:"stripe-"+F+"-background-size",type:f.percent}),E.push({name:"stripe-"+F+"-background-opacity",type:f.zeroOneNumber});var G=[],H=e4.arrowPrefixes=["source","mid-source","target","mid-target"];[{name:"arrow-shape",type:f.arrowShape,triggersBounds:e},{name:"arrow-color",type:f.color},{name:"arrow-fill",type:f.arrowFill},{name:"arrow-width",type:f.arrowWidth}].forEach(function(a){H.forEach(function(b){var c=b+"-"+a.name,d=a.type,e=a.triggersBounds;G.push({name:c,type:d,triggersBounds:e})})},{});var I=e4.properties=[].concat(l,q,n,o,p,z,k,j,g,h,i,t,u,v,w,B,E,x,y,G,A),J=e4.propertyGroups={behavior:l,transition:q,visibility:n,overlay:o,underlay:p,ghost:z,commonLabel:k,labelDimensions:j,mainLabel:g,sourceLabel:h,targetLabel:i,nodeBody:t,nodeBorder:u,nodeOutline:v,backgroundImage:w,pie:B,stripe:E,compound:x,edgeLine:y,edgeArrow:G,core:A},L=e4.propertyGroupNames={};(e4.propertyGroupKeys=Object.keys(J)).forEach(function(a){L[a]=J[a].map(function(a){return a.name}),J[a].forEach(function(b){return b.groupKey=a})});var N=e4.aliases=[{name:"content",pointsTo:"label"},{name:"control-point-distance",pointsTo:"control-point-distances"},{name:"control-point-weight",pointsTo:"control-point-weights"},{name:"segment-distance",pointsTo:"segment-distances"},{name:"segment-weight",pointsTo:"segment-weights"},{name:"segment-radius",pointsTo:"segment-radii"},{name:"edge-text-rotation",pointsTo:"text-rotation"},{name:"padding-left",pointsTo:"padding"},{name:"padding-right",pointsTo:"padding"},{name:"padding-top",pointsTo:"padding"},{name:"padding-bottom",pointsTo:"padding"}];e4.propertyNames=I.map(function(a){return a.name});for(var P=0;P<I.length;P++){var Q=I[P];I[Q.name]=Q}for(var R=0;R<N.length;R++){var S=N[R],T=I[S.pointsTo],U={name:S.name,alias:!0,pointsTo:T};I.push(U),I[S.name]=U}}(),e4.getDefaultProperty=function(a){return this.getDefaultProperties()[a]},e4.getDefaultProperties=function(){var a=this._private;if(null!=a.defaultProperties)return a.defaultProperties;for(var b=Q({"selection-box-color":"#ddd","selection-box-opacity":.65,"selection-box-border-color":"#aaa","selection-box-border-width":1,"active-bg-color":"black","active-bg-opacity":.15,"active-bg-size":30,"outside-texture-bg-color":"#000","outside-texture-bg-opacity":.125,events:"yes","text-events":"no","text-valign":"top","text-halign":"center","text-justification":"auto","line-height":1,color:"#000","box-selection":"contain","text-outline-color":"#000","text-outline-width":0,"text-outline-opacity":1,"text-opacity":1,"text-decoration":"none","text-transform":"none","text-wrap":"none","text-overflow-wrap":"whitespace","text-max-width":9999,"text-background-color":"#000","text-background-opacity":0,"text-background-shape":"rectangle","text-background-padding":0,"text-border-opacity":0,"text-border-width":0,"text-border-style":"solid","text-border-color":"#000","font-family":"Helvetica Neue, Helvetica, sans-serif","font-style":"normal","font-weight":"normal","font-size":16,"min-zoomed-font-size":0,"text-rotation":"none","source-text-rotation":"none","target-text-rotation":"none",visibility:"visible",display:"element",opacity:1,"z-compound-depth":"auto","z-index-compare":"auto","z-index":0,label:"","text-margin-x":0,"text-margin-y":0,"source-label":"","source-text-offset":0,"source-text-margin-x":0,"source-text-margin-y":0,"target-label":"","target-text-offset":0,"target-text-margin-x":0,"target-text-margin-y":0,"overlay-opacity":0,"overlay-color":"#000","overlay-padding":10,"overlay-shape":"round-rectangle","overlay-corner-radius":"auto","underlay-opacity":0,"underlay-color":"#000","underlay-padding":10,"underlay-shape":"round-rectangle","underlay-corner-radius":"auto","transition-property":"none","transition-duration":0,"transition-delay":0,"transition-timing-function":"linear","box-select-labels":"no","background-blacken":0,"background-color":"#999","background-fill":"solid","background-opacity":1,"background-image":"none","background-image-crossorigin":"anonymous","background-image-opacity":1,"background-image-containment":"inside","background-image-smoothing":"yes","background-position-x":"50%","background-position-y":"50%","background-offset-x":0,"background-offset-y":0,"background-width-relative-to":"include-padding","background-height-relative-to":"include-padding","background-repeat":"no-repeat","background-fit":"none","background-clip":"node","background-width":"auto","background-height":"auto","border-color":"#000","border-opacity":1,"border-width":0,"border-style":"solid","border-dash-pattern":[4,2],"border-dash-offset":0,"border-cap":"butt","border-join":"miter","border-position":"center","outline-color":"#999","outline-opacity":1,"outline-width":0,"outline-offset":0,"outline-style":"solid",height:30,width:30,shape:"ellipse","shape-polygon-points":"-1, -1, 1, -1, 1, 1, -1, 1","corner-radius":"auto","bounds-expansion":0,"background-gradient-direction":"to-bottom","background-gradient-stop-colors":"#999","background-gradient-stop-positions":"0%",ghost:"no","ghost-offset-y":0,"ghost-offset-x":0,"ghost-opacity":0,padding:0,"padding-relative-to":"width",position:"origin","compound-sizing-wrt-labels":"include","min-width":0,"min-width-bias-left":0,"min-width-bias-right":0,"min-height":0,"min-height-bias-top":0,"min-height-bias-bottom":0},{"pie-size":"100%","pie-hole":0,"pie-start-angle":"0deg"},[{name:"pie-{{i}}-background-color",value:"black"},{name:"pie-{{i}}-background-size",value:"0%"},{name:"pie-{{i}}-background-opacity",value:1}].reduce(function(a,b){for(var c=1;c<=e4.pieBackgroundN;c++){var d=b.name.replace("{{i}}",c),e=b.value;a[d]=e}return a},{}),{"stripe-size":"100%","stripe-direction":"horizontal"},[{name:"stripe-{{i}}-background-color",value:"black"},{name:"stripe-{{i}}-background-size",value:"0%"},{name:"stripe-{{i}}-background-opacity",value:1}].reduce(function(a,b){for(var c=1;c<=e4.stripeBackgroundN;c++){var d=b.name.replace("{{i}}",c),e=b.value;a[d]=e}return a},{}),{"line-style":"solid","line-color":"#999","line-fill":"solid","line-cap":"butt","line-opacity":1,"line-outline-width":0,"line-outline-color":"#000","line-gradient-stop-colors":"#999","line-gradient-stop-positions":"0%","control-point-step-size":40,"control-point-weights":.5,"segment-weights":.5,"segment-distances":20,"segment-radii":15,"radius-type":"arc-radius","taxi-turn":"50%","taxi-radius":15,"taxi-turn-min-distance":10,"taxi-direction":"auto","edge-distances":"intersection","curve-style":"haystack","haystack-radius":0,"arrow-scale":1,"loop-direction":"-45deg","loop-sweep":"-90deg","source-distance-from-node":0,"target-distance-from-node":0,"source-endpoint":"outside-to-node","target-endpoint":"outside-to-node","line-dash-pattern":[6,3],"line-dash-offset":0},[{name:"arrow-shape",value:"none"},{name:"arrow-color",value:"#999"},{name:"arrow-fill",value:"filled"},{name:"arrow-width",value:1}].reduce(function(a,b){return e4.arrowPrefixes.forEach(function(c){var d=c+"-"+b.name,e=b.value;a[d]=e}),a},{})),c={},d=0;d<this.properties.length;d++){var e=this.properties[d];if(!e.pointsTo){var f=e.name,g=b[f],h=this.parse(f,g);c[f]=h}}return a.defaultProperties=c,a.defaultProperties},e4.addDefaultStylesheet=function(){this.selector(":parent").css({shape:"rectangle",padding:10,"background-color":"#eee","border-color":"#ccc","border-width":1}).selector("edge").css({width:3}).selector(":loop").css({"curve-style":"bezier"}).selector("edge:compound").css({"curve-style":"bezier","source-endpoint":"outside-to-line","target-endpoint":"outside-to-line"}).selector(":selected").css({"background-color":"#0169D9","line-color":"#0169D9","source-arrow-color":"#0169D9","target-arrow-color":"#0169D9","mid-source-arrow-color":"#0169D9","mid-target-arrow-color":"#0169D9"}).selector(":parent:selected").css({"background-color":"#CCE1F9","border-color":"#aec8e5"}).selector(":active").css({"overlay-color":"black","overlay-padding":10,"overlay-opacity":.25}),this.defaultLength=this.length};var e5={};e5.parse=function(a,b,c,d){if(s(b))return this.parseImplWarn(a,b,c,d);var e,f=ao(a,""+b,c?"t":"f","mapping"===d||!0===d||!1===d||null==d?"dontcare":d),g=this.propCache=this.propCache||[];return(e=g[f])||(e=g[f]=this.parseImplWarn(a,b,c,d)),(c||"mapping"===d)&&(e=aB(e))&&(e.value=aB(e.value)),e},e5.parseImplWarn=function(a,b,c,d){var e=this.parseImpl(a,b,c,d);return e||null==b||aA("The style property `".concat(a,": ").concat(b,"` is invalid")),e&&("width"===e.name||"height"===e.name)&&"label"===b&&aA("The style value of `label` is deprecated for `"+e.name+"`"),e},e5.parseImpl=function(a,b,c,d){a=F(a);var e=this.properties[a],f=b,g=this.types;if(!e||void 0===b)return null;e.alias&&(a=(e=e.pointsTo).name);var h=r(b);h&&(b=b.trim());var i=e.type;if(!i)return null;if(c&&(""===b||null===b))return{name:a,value:b,bypass:!0,deleteBypass:!0};if(s(b))return{name:a,value:b,strValue:"fn",mapped:g.fn,bypass:c};if(!h||d||b.length<7||"a"!==b[1]);else if(b.length>=7&&"d"===b[0]&&(q=new RegExp(g.data.regex).exec(b))){if(c)return!1;var j=g.data;return{name:a,value:q,strValue:""+b,mapped:j,field:q[1],bypass:c}}else if(b.length>=10&&"m"===b[0]&&(u=new RegExp(g.mapData.regex).exec(b))){if(c||i.multiple)return!1;var k=g.mapData;if(!(i.color||i.number))return!1;var l=this.parse(a,u[4]);if(!l||l.mapped)return!1;var n=this.parse(a,u[5]);if(!n||n.mapped)return!1;if(l.pfValue===n.pfValue||l.strValue===n.strValue)return aA("`"+a+": "+b+"` is not a valid mapper because the output range is zero; converting to `"+a+": "+l.strValue+"`"),this.parse(a,l.strValue);if(i.color){var o=l.value,p=n.value;if(o[0]===p[0]&&o[1]===p[1]&&o[2]===p[2]&&(o[3]===p[3]||(null==o[3]||1===o[3])&&(null==p[3]||1===p[3])))return!1}return{name:a,value:u,strValue:""+b,mapped:k,field:u[1],fieldMin:parseFloat(u[2]),fieldMax:parseFloat(u[3]),valueMin:l.value,valueMax:n.value,bypass:c}}if(i.multiple&&"multiple"!==d){if(w=h?b.split(/\s+/):t(b)?b:[b],i.evenMultiple&&w.length%2!=0)return null;for(var q,u,w,x=[],y=[],z=[],A="",B=!1,C=0;C<w.length;C++){var D=this.parse(a,w[C],c,"multiple");B=B||r(D.value),x.push(D.value),z.push(null!=D.pfValue?D.pfValue:D.value),y.push(D.units),A+=(C>0?" ":"")+D.strValue}if(i.validate&&!i.validate(x,y))return null;if(i.singleEnum&&B)if(1===x.length&&r(x[0]))return{name:a,value:x[0],strValue:x[0],bypass:c};else return null;return{name:a,value:x,pfValue:z,strValue:A,bypass:c,units:y}}var E=function(){for(var d=0;d<i.enums.length;d++)if(i.enums[d]===b)return{name:a,value:b,strValue:""+b,bypass:c};return null};if(i.number){var G,H,I="px";if(i.units&&(H=i.units),i.implicitUnits&&(I=i.implicitUnits),!i.unitless)if(h){var J="px|em"+(i.allowPercent?"|\\%":"");H&&(J=H);var L=b.match("^("+K+")("+J+")?$");L&&(b=L[1],H=L[2]||I)}else(!H||i.implicitUnits)&&(H=I);if(isNaN(b=parseFloat(b))&&void 0===i.enums)return null;if(isNaN(b)&&void 0!==i.enums)return b=f,E();if(i.integer&&!(v(G=b)&&Math.floor(G)===G)||void 0!==i.min&&(b<i.min||i.strictMin&&b===i.min)||void 0!==i.max&&(b>i.max||i.strictMax&&b===i.max))return null;var M={name:a,value:b,strValue:""+b+(H||""),units:H,bypass:c};return i.unitless||"px"!==H&&"em"!==H?M.pfValue=b:M.pfValue="px"!==H&&H?this.getEmSizeInPixels()*b:b,("ms"===H||"s"===H)&&(M.pfValue="ms"===H?b:1e3*b),("deg"===H||"rad"===H)&&(M.pfValue="rad"===H?b:Math.PI*b/180),"%"===H&&(M.pfValue=b/100),M}if(i.propList){var N=[],O=""+b;if("none"===O);else{for(var P=O.split(/\s*,\s*|\s+/),Q=0;Q<P.length;Q++){var R=P[Q].trim();this.properties[R]?N.push(R):aA("`"+R+"` is not a valid property name")}if(0===N.length)return null}return{name:a,value:N,strValue:0===N.length?"none":N.join(" "),bypass:c}}if(i.color){var S=U(b);return S?{name:a,value:S,pfValue:S,strValue:"rgb("+S[0]+","+S[1]+","+S[2]+")",bypass:c}:null}if(i.regex||i.regexes){if(i.enums){var T=E();if(T)return T}for(var V=i.regexes?i.regexes:[i.regex],W=0;W<V.length;W++){var X=new RegExp(V[W]).exec(b);if(X)return{name:a,value:i.singleRegexMatchValue?X[1]:X,strValue:""+b,bypass:c}}return null}if(i.string)return{name:a,value:""+b,strValue:""+b,bypass:c};else if(i.enums)return E();else return null};var e6=function(a){return this instanceof e6?A(a)?void(this._private={cy:a,coreStyle:{}},this.length=0,this.resetToDefault()):void ay("A style must have a core reference"):new e6(a)},e7=e6.prototype;e7.instanceString=function(){return"style"},e7.clear=function(){for(var a=this._private,b=a.cy.elements(),c=0;c<this.length;c++)this[c]=void 0;return this.length=0,a.contextStyles={},a.propDiffs={},this.cleanElements(b,!0),b.forEach(function(a){var b=a[0]._private;b.styleDirty=!0,b.appliedInitStyle=!1}),this},e7.resetToDefault=function(){return this.clear(),this.addDefaultStylesheet(),this},e7.core=function(a){return this._private.coreStyle[a]||this.getDefaultProperty(a)},e7.selector=function(a){var b="core"===a?null:new dy(a),c=this.length++;return this[c]={selector:b,properties:[],mappedProperties:[],index:c},this},e7.css=function(){var a=arguments;if(1===a.length)for(var b=a[0],c=0;c<this.properties.length;c++){var d=this.properties[c],e=b[d.name];void 0===e&&(e=b[G(d.name)]),void 0!==e&&this.cssRule(d.name,e)}else 2===a.length&&this.cssRule(a[0],a[1]);return this},e7.style=e7.css,e7.cssRule=function(a,b){var c=this.parse(a,b);if(c){var d=this.length-1;this[d].properties.push(c),this[d].properties[c.name]=c,c.name.match(/pie-(\d+)-background-size/)&&c.value&&(this._private.hasPie=!0),c.name.match(/stripe-(\d+)-background-size/)&&c.value&&(this._private.hasStripe=!0),c.mapped&&this[d].mappedProperties.push(c),this[d].selector||(this._private.coreStyle[c.name]=c)}return this},e7.append=function(a){return B(a)?a.appendToStyle(this):t(a)?this.appendFromJson(a):r(a)&&this.appendFromString(a),this},e6.fromJson=function(a,b){var c=new e6(a);return c.fromJson(b),c},e6.fromString=function(a,b){return new e6(a).fromString(b)},[e$,e_,e0,e1,e2,e3,e4,e5].forEach(function(a){Q(e7,a)}),e6.types=e7.types,e6.properties=e7.properties,e6.propertyGroups=e7.propertyGroups,e6.propertyGroupNames=e7.propertyGroupNames,e6.propertyGroupKeys=e7.propertyGroupKeys;var e8={autolock:function(a){return void 0===a?this._private.autolock:(this._private.autolock=!!a,this)},autoungrabify:function(a){return void 0===a?this._private.autoungrabify:(this._private.autoungrabify=!!a,this)},autounselectify:function(a){return void 0===a?this._private.autounselectify:(this._private.autounselectify=!!a,this)},selectionType:function(a){var b=this._private;return(null==b.selectionType&&(b.selectionType="single"),void 0===a)?b.selectionType:(("additive"===a||"single"===a)&&(b.selectionType=a),this)},panningEnabled:function(a){return void 0===a?this._private.panningEnabled:(this._private.panningEnabled=!!a,this)},userPanningEnabled:function(a){return void 0===a?this._private.userPanningEnabled:(this._private.userPanningEnabled=!!a,this)},zoomingEnabled:function(a){return void 0===a?this._private.zoomingEnabled:(this._private.zoomingEnabled=!!a,this)},userZoomingEnabled:function(a){return void 0===a?this._private.userZoomingEnabled:(this._private.userZoomingEnabled=!!a,this)},boxSelectionEnabled:function(a){return void 0===a?this._private.boxSelectionEnabled:(this._private.boxSelectionEnabled=!!a,this)},pan:function(){var a,b,c,d,e,f=arguments,g=this._private.pan;switch(f.length){case 0:return g;case 1:if(r(f[0]))return g[a=f[0]];if(u(f[0])){if(!this._private.panningEnabled)return this;d=(c=f[0]).x,e=c.y,v(d)&&(g.x=d),v(e)&&(g.y=e),this.emit("pan viewport")}break;case 2:if(!this._private.panningEnabled)return this;a=f[0],b=f[1],("x"===a||"y"===a)&&v(b)&&(g[a]=b),this.emit("pan viewport")}return this.notify("viewport"),this},panBy:function(a,b){var c,d,e,f=arguments,g=this._private.pan;if(!this._private.panningEnabled)return this;switch(f.length){case 1:u(a)&&(d=(c=f[0]).x,e=c.y,v(d)&&(g.x+=d),v(e)&&(g.y+=e),this.emit("pan viewport"));break;case 2:("x"===a||"y"===a)&&v(b)&&(g[a]+=b),this.emit("pan viewport")}return this.notify("viewport"),this},gc:function(){this.notify("gc")},fit:function(a,b){var c=this.getFitViewport(a,b);if(c){var d=this._private;d.zoom=c.zoom,d.pan=c.pan,this.emit("pan zoom viewport"),this.notify("viewport")}return this},getFitViewport:function(a,b){if(v(a)&&void 0===b&&(b=a,a=void 0),this._private.panningEnabled&&this._private.zoomingEnabled){if(r(a)){var c,d,e,f=a;a=this.$(f)}else if(u(c=a)&&v(c.x1)&&v(c.x2)&&v(c.y1)&&v(c.y2)){var g=a;(d={x1:g.x1,y1:g.y1,x2:g.x2,y2:g.y2}).w=d.x2-d.x1,d.h=d.y2-d.y1}else x(a)||(a=this.mutableElements());if(!(x(a)&&a.empty())){d=d||a.boundingBox();var h=this.width(),i=this.height();if(b=v(b)?b:0,!isNaN(h)&&!isNaN(i)&&h>0&&i>0&&!isNaN(d.w)&&!isNaN(d.h)&&d.w>0&&d.h>0){e=(e=(e=Math.min((h-2*b)/d.w,(i-2*b)/d.h))>this._private.maxZoom?this._private.maxZoom:e)<this._private.minZoom?this._private.minZoom:e;var j={x:(h-e*(d.x1+d.x2))/2,y:(i-e*(d.y1+d.y2))/2};return{zoom:e,pan:j}}}}},zoomRange:function(a,b){var c=this._private;if(null==b){var d=a;a=d.min,b=d.max}return v(a)&&v(b)&&a<=b?(c.minZoom=a,c.maxZoom=b):v(a)&&void 0===b&&a<=c.maxZoom?c.minZoom=a:v(b)&&void 0===a&&b>=c.minZoom&&(c.maxZoom=b),this},minZoom:function(a){return void 0===a?this._private.minZoom:this.zoomRange({min:a})},maxZoom:function(a){return void 0===a?this._private.maxZoom:this.zoomRange({max:a})},getZoomedViewport:function(a){var b,c,d=this._private,e=d.pan,f=d.zoom,g=!1;if(d.zoomingEnabled||(g=!0),v(a)?c=a:u(a)&&(c=a.level,null!=a.position?b=a0(a.position,f,e):null!=a.renderedPosition&&(b=a.renderedPosition),null==b||d.panningEnabled||(g=!0)),c=(c=c>d.maxZoom?d.maxZoom:c)<d.minZoom?d.minZoom:c,g||!v(c)||c===f||null!=b&&(!v(b.x)||!v(b.y)))return null;if(null==b)return{zoomed:!0,panned:!1,zoom:c,pan:e};var h=c,i={x:-h/f*(b.x-e.x)+b.x,y:-h/f*(b.y-e.y)+b.y};return{zoomed:!0,panned:!0,zoom:h,pan:i}},zoom:function(a){if(void 0===a)return this._private.zoom;var b=this.getZoomedViewport(a),c=this._private;return null!=b&&b.zoomed&&(c.zoom=b.zoom,b.panned&&(c.pan.x=b.pan.x,c.pan.y=b.pan.y),this.emit("zoom"+(b.panned?" pan":"")+" viewport"),this.notify("viewport")),this},viewport:function(a){var b=this._private,c=!0,d=!0,e=[],f=!1;if(!a||(v(a.zoom)||(c=!1),u(a.pan)||(d=!1),!c&&!d))return this;if(c){var g=a.zoom;g<b.minZoom||g>b.maxZoom||!b.zoomingEnabled?f=!0:(b.zoom=g,e.push("zoom"))}if(d&&(!f||!a.cancelOnFailedZoom)&&b.panningEnabled){var h=a.pan;v(h.x)&&(b.pan.x=h.x),v(h.y)&&(b.pan.y=h.y),e.push("pan")}return e.length>0&&(e.push("viewport"),this.emit(e.join(" ")),this.notify("viewport")),this},center:function(a){var b=this.getCenterPan(a);return b&&(this._private.pan=b,this.emit("pan viewport"),this.notify("viewport")),this},getCenterPan:function(a,b){if(this._private.panningEnabled){if(r(a)){var c=a;a=this.mutableElements().filter(c)}else x(a)||(a=this.mutableElements());if(0!==a.length){var d=a.boundingBox(),e=this.width(),f=this.height();return{x:(e-(b=void 0===b?this._private.zoom:b)*(d.x1+d.x2))/2,y:(f-b*(d.y1+d.y2))/2}}}},reset:function(){return this._private.panningEnabled&&this._private.zoomingEnabled&&this.viewport({pan:{x:0,y:0},zoom:1}),this},invalidateSize:function(){this._private.sizeCache=null},size:function(){var a,b,c=this._private,d=c.container;return c.sizeCache=c.sizeCache||(d?(a=this.window().getComputedStyle(d),b=function(b){return parseFloat(a.getPropertyValue(b))},{width:d.clientWidth-b("padding-left")-b("padding-right"),height:d.clientHeight-b("padding-top")-b("padding-bottom")}):{width:1,height:1})},width:function(){return this.size().width},height:function(){return this.size().height},extent:function(){var a=this._private.pan,b=this._private.zoom,c=this.renderedExtent(),d={x1:(c.x1-a.x)/b,x2:(c.x2-a.x)/b,y1:(c.y1-a.y)/b,y2:(c.y2-a.y)/b};return d.w=d.x2-d.x1,d.h=d.y2-d.y1,d},renderedExtent:function(){var a=this.width(),b=this.height();return{x1:0,y1:0,x2:a,y2:b,w:a,h:b}},multiClickDebounceTime:function(a){return a?(this._private.multiClickDebounceTime=a,this):this._private.multiClickDebounceTime}};e8.centre=e8.center,e8.autolockNodes=e8.autolock,e8.autoungrabifyNodes=e8.autoungrabify;var e9={data:df.data({field:"data",bindingEvent:"data",allowBinding:!0,allowSetting:!0,settingEvent:"data",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeData:df.removeData({field:"data",event:"data",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0}),scratch:df.data({field:"scratch",bindingEvent:"scratch",allowBinding:!0,allowSetting:!0,settingEvent:"scratch",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeScratch:df.removeData({field:"scratch",event:"scratch",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0})};e9.attr=e9.data,e9.removeAttr=e9.removeData;var fa=function(a){var b=this,c=(a=Q({},a)).container;c&&!w(c)&&w(c[0])&&(c=c[0]);var d=c?c._cyreg:null;(d=d||{}).cy&&(d.cy.destroy(),d={});var e=d.readies=d.readies||[];c&&(c._cyreg=d),d.cy=b;var f=void 0!==c&&!a.headless,g=a;g.layout=Q({name:f?"grid":"null"},g.layout),g.renderer=Q({name:f?"canvas":"null"},g.renderer);var h=function(a,b,c){return void 0!==b?b:void 0!==c?c:a},i=this._private={container:c,ready:!1,options:g,elements:new eH(this),listeners:[],aniEles:new eH(this),data:g.data||{},scratch:{},layout:null,renderer:null,destroyed:!1,notificationsEnabled:!0,minZoom:1e-50,maxZoom:1e50,zoomingEnabled:h(!0,g.zoomingEnabled),userZoomingEnabled:h(!0,g.userZoomingEnabled),panningEnabled:h(!0,g.panningEnabled),userPanningEnabled:h(!0,g.userPanningEnabled),boxSelectionEnabled:h(!0,g.boxSelectionEnabled),autolock:h(!1,g.autolock,g.autolockNodes),autoungrabify:h(!1,g.autoungrabify,g.autoungrabifyNodes),autounselectify:h(!1,g.autounselectify),styleEnabled:void 0===g.styleEnabled?f:g.styleEnabled,zoom:v(g.zoom)?g.zoom:1,pan:{x:u(g.pan)&&v(g.pan.x)?g.pan.x:0,y:u(g.pan)&&v(g.pan.y)?g.pan.y:0},animation:{current:[],queue:[]},hasCompoundNodes:!1,multiClickDebounceTime:h(250,g.multiClickDebounceTime)};this.createEmitter(),this.selectionType(g.selectionType),this.zoomRange({min:g.minZoom,max:g.maxZoom}),i.styleEnabled&&b.setStyle([]);var j=Q({},g,g.renderer);b.initRenderer(j);var k=function(a,c,d){b.notifications(!1);var e=b.mutableElements();e.length>0&&e.remove(),null!=a&&(u(a)||t(a))&&b.add(a),b.one("layoutready",function(a){b.notifications(!0),b.emit(a),b.one("load",c),b.emitAndNotify("load")}).one("layoutstop",function(){b.one("done",d),b.emit("done")});var f=Q({},b._private.options.layout);f.eles=b.elements(),b.layout(f).run()};!function(a,b){if(a.some(D))return c$.all(a).then(b);b(a)}([g.style,g.elements],function(a){var c=a[0],f=a[1];i.styleEnabled&&b.style().append(c),k(f,function(){b.startAnimationLoop(),i.ready=!0,s(g.ready)&&b.on("ready",g.ready);for(var a=0;a<e.length;a++){var c=e[a];b.on("ready",c)}d&&(d.readies=[]),b.emit("ready")},g.done)})},fb=fa.prototype;Q(fb,{instanceString:function(){return"core"},isReady:function(){return this._private.ready},destroyed:function(){return this._private.destroyed},ready:function(a){return this.isReady()?this.emitter().emit("ready",[],a):this.on("ready",a),this},destroy:function(){if(!this.destroyed())return this.stopAnimationLoop(),this.destroyRenderer(),this.emit("destroy"),this._private.destroyed=!0,this},hasElementWithId:function(a){return this._private.elements.hasElementWithId(a)},getElementById:function(a){return this._private.elements.getElementById(a)},hasCompoundNodes:function(){return this._private.hasCompoundNodes},headless:function(){return this._private.renderer.isHeadless()},styleEnabled:function(){return this._private.styleEnabled},addToPool:function(a){return this._private.elements.merge(a),this},removeFromPool:function(a){return this._private.elements.unmerge(a),this},container:function(){return this._private.container||null},window:function(){if(null==this._private.container)return null;var a=this._private.container.ownerDocument;return void 0===a||null==a?null:a.defaultView||null},mount:function(a){if(null!=a){var b=this._private,c=b.options;return!w(a)&&w(a[0])&&(a=a[0]),this.stopAnimationLoop(),this.destroyRenderer(),b.container=a,b.styleEnabled=!0,this.invalidateSize(),this.initRenderer(Q({},c,c.renderer,{name:"null"===c.renderer.name?"canvas":c.renderer.name})),this.startAnimationLoop(),this.style(c.style),this.emit("mount"),this}},unmount:function(){return this.stopAnimationLoop(),this.destroyRenderer(),this.initRenderer({name:"null"}),this.emit("unmount"),this},options:function(){return aB(this._private.options)},json:function(a){var b=this,c=b._private,d=b.mutableElements();if(u(a)){if(b.startBatch(),a.elements){var e={},f=function(a,c){for(var d=[],f=[],g=0;g<a.length;g++){var h=a[g];if(!h.data.id){aA("cy.json() cannot handle elements without an ID attribute");continue}var i=""+h.data.id,j=b.getElementById(i);e[i]=!0,0!==j.length?f.push({ele:j,json:h}):(c&&(h.group=c),d.push(h))}b.add(d);for(var k=0;k<f.length;k++){var l=f[k],n=l.ele,o=l.json;n.json(o)}};if(t(a.elements))f(a.elements);else for(var g=["nodes","edges"],h=0;h<g.length;h++){var i=g[h],j=a.elements[i];t(j)&&f(j,i)}var k=b.collection();d.filter(function(a){return!e[a.id()]}).forEach(function(a){a.isParent()?k.merge(a):a.remove()}),k.forEach(function(a){return a.children().move({parent:null})}),k.forEach(function(a){return b.getElementById(a.id()).remove()})}a.style&&b.style(a.style),null!=a.zoom&&a.zoom!==c.zoom&&b.zoom(a.zoom),a.pan&&(a.pan.x!==c.pan.x||a.pan.y!==c.pan.y)&&b.pan(a.pan),a.data&&b.data(a.data);for(var l=["minZoom","maxZoom","zoomingEnabled","userZoomingEnabled","panningEnabled","userPanningEnabled","boxSelectionEnabled","autolock","autoungrabify","autounselectify","multiClickDebounceTime"],n=0;n<l.length;n++){var o=l[n];null!=a[o]&&b[o](a[o])}return b.endBatch(),this}var p={};a?p.elements=this.elements().map(function(a){return a.json()}):(p.elements={},d.forEach(function(a){var b=a.group();p.elements[b]||(p.elements[b]=[]),p.elements[b].push(a.json())})),this._private.styleEnabled&&(p.style=b.style().json()),p.data=aB(b.data());var q=c.options;return p.zoomingEnabled=c.zoomingEnabled,p.userZoomingEnabled=c.userZoomingEnabled,p.zoom=c.zoom,p.minZoom=c.minZoom,p.maxZoom=c.maxZoom,p.panningEnabled=c.panningEnabled,p.userPanningEnabled=c.userPanningEnabled,p.pan=aB(c.pan),p.boxSelectionEnabled=c.boxSelectionEnabled,p.renderer=aB(q.renderer),p.hideEdgesOnViewport=q.hideEdgesOnViewport,p.textureOnViewport=q.textureOnViewport,p.wheelSensitivity=q.wheelSensitivity,p.motionBlur=q.motionBlur,p.multiClickDebounceTime=q.multiClickDebounceTime,p}}),fb.$id=fb.getElementById,[{add:function(a){var b;if(x(a))if(a._private.cy===this)b=a.restore();else{for(var c=[],d=0;d<a.length;d++){var e=a[d];c.push(e.json())}b=new eH(this,c)}else if(t(a))b=new eH(this,a);else if(u(a)&&(t(a.nodes)||t(a.edges))){for(var f=[],g=["nodes","edges"],h=0,i=g.length;h<i;h++){var j=g[h],k=a[j];if(t(k))for(var l=0,n=k.length;l<n;l++){var o=Q({group:j},k[l]);f.push(o)}}b=new eH(this,f)}else b=new aP(this,a).collection();return b},remove:function(a){if(x(a));else if(r(a)){var b=a;a=this.$(b)}return a.remove()}},eR,eU,eV,eW,{notify:function(a,b){var c=this._private;if(this.batching()){c.batchNotifications=c.batchNotifications||{};var d=c.batchNotifications[a]=c.batchNotifications[a]||this.collection();null!=b&&d.merge(b);return}if(c.notificationsEnabled){var e=this.renderer();!this.destroyed()&&e&&e.notify(a,b)}},notifications:function(a){var b=this._private;return void 0===a?b.notificationsEnabled:(b.notificationsEnabled=!!a,this)},noNotifications:function(a){this.notifications(!1),a(),this.notifications(!0)},batching:function(){return this._private.batchCount>0},startBatch:function(){var a=this._private;return null==a.batchCount&&(a.batchCount=0),0===a.batchCount&&(a.batchStyleEles=this.collection(),a.batchNotifications={}),a.batchCount++,this},endBatch:function(){var a=this._private;if(0===a.batchCount)return this;if(a.batchCount--,0===a.batchCount){a.batchStyleEles.updateStyle();var b=this.renderer();Object.keys(a.batchNotifications).forEach(function(c){var d=a.batchNotifications[c];d.empty()?b.notify(c):b.notify(c,d)})}return this},batch:function(a){return this.startBatch(),a(),this.endBatch(),this},batchData:function(a){var b=this;return this.batch(function(){for(var c=Object.keys(a),d=0;d<c.length;d++){var e=c[d],f=a[e];b.getElementById(e).data(f)}})}},eY,eZ,{style:function(a){return a&&this.setStyle(a).update(),this._private.style},setStyle:function(a){var b=this._private;return B(a)?b.style=a.generateStyle(this):t(a)?b.style=e6.fromJson(this,a):r(a)?b.style=e6.fromString(this,a):b.style=e6(this),b.style},updateStyle:function(){this.mutableElements().updateStyle()}},e8,e9].forEach(function(a){Q(fb,a)});var fc={fit:!0,directed:!1,direction:"downward",padding:30,circle:!1,grid:!1,spacingFactor:1.75,boundingBox:void 0,avoidOverlap:!0,nodeDimensionsIncludeLabels:!1,roots:void 0,depthSort:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(a,b){return!0},ready:void 0,stop:void 0,transform:function(a,b){return b}},fd={maximal:!1,acyclic:!1},fe=function(a){return a.scratch("breadthfirst")},ff=function(a,b){return a.scratch("breadthfirst",b)};function fg(a){this.options=Q({},fc,fd,a)}fg.prototype.run=function(){var a,b=this.options,c=b.cy,d=b.eles,e=d.nodes().filter(function(a){return a.isChildless()}),f=b.directed,g=b.acyclic||b.maximal||b.maximalAdjustments>0,h=!!b.boundingBox,i=bh(h?b.boundingBox:structuredClone(c.extent()));if(x(b.roots))a=b.roots;else if(t(b.roots)){for(var j=[],k=0;k<b.roots.length;k++){var l=b.roots[k],n=c.getElementById(l);j.push(n)}a=c.collection(j)}else if(r(b.roots))a=c.$(b.roots);else if(f)a=e.roots();else{var o=d.components();a=c.collection();for(var p=0;p<o.length;p++)!function(){var b=o[p],c=b.maxDegree(!1),d=b.filter(function(a){return a.degree(!1)===c});a=a.add(d)}()}var q=[],s={},u=function(a,b){null==q[b]&&(q[b]=[]);var c=q[b].length;q[b].push(a),ff(a,{index:c,depth:b})},v=function(a,b){var c=fe(a),d=c.depth,e=c.index;q[d][e]=null,a.isChildless()&&u(a,b)};d.bfs({roots:a,directed:b.directed,visit:function(a,b,c,d,e){var f=a[0],g=f.id();f.isChildless()&&u(f,e),s[g]=!0}});for(var w=[],y=0;y<e.length;y++){var z=e[y];s[z.id()]||w.push(z)}var A=function(a){for(var b=q[a],c=0;c<b.length;c++){var d=b[c];if(null==d){b.splice(c,1),c--;continue}ff(d,{depth:a,index:c})}};if(f&&g){var B=[],C={},D=function(a){return B.push(a)};for(e.forEach(function(a){return B.push(a)});B.length>0;){var E=B.shift(),F=function(a,c){for(var e=fe(a),f=a.incomers().filter(function(a){return a.isNode()&&d.has(a)}),g=-1,h=a.id(),i=0;i<f.length;i++)g=Math.max(g,fe(f[i]).depth);if(e.depth<=g){if(!b.acyclic&&c[h])return null;var j=g+1;return v(a,j),c[h]=j,!0}return!1}(E,C);if(F)E.outgoers().filter(function(a){return a.isNode()&&d.has(a)}).forEach(D);else if(null===F){aA("Detected double maximal shift for node `"+E.id()+"`. Bailing maximal adjustment due to cycle. Use `options.maximal: true` only on DAGs.");break}}}var G=0;if(b.avoidOverlap)for(var H=0;H<e.length;H++){var I=e[H].layoutDimensions(b),J=I.w,K=I.h;G=Math.max(G,J,K)}var L={},M=function(a){if(L[a.id()])return L[a.id()];for(var b=fe(a).depth,c=a.neighborhood(),d=0,f=0,g=0;g<c.length;g++){var h=c[g];if(!(h.isEdge()||h.isParent())&&e.has(h)){var i=fe(h);if(null!=i){var j=i.index,k=i.depth;if(null!=j&&null!=k){var l=q[k].length;k<b&&(d+=j/l,f++)}}}}return d/=f=Math.max(1,f),0===f&&(d=0),L[a.id()]=d,d},N=function(a,b){var c=M(a)-M(b);return 0===c?P(a.id(),b.id()):c};void 0!==b.depthSort&&(N=b.depthSort);for(var O=q.length,Q=0;Q<O;Q++)q[Q].sort(N),A(Q);for(var R=[],S=0;S<w.length;S++)R.push(w[S]);if(R.length){q.unshift(R),O=q.length;for(var T=0;T<O;T++)A(T)}for(var U=0,V=0;V<O;V++)U=Math.max(q[V].length,U);var W={x:i.x1+i.w/2,y:i.y1+i.h/2},X=e.reduce(function(a,c){var d;return d=c.boundingBox({includeLabels:b.nodeDimensionsIncludeLabels}),{w:-1===a.w?d.w:(a.w+d.w)/2,h:-1===a.h?d.h:(a.h+d.h)/2}},{w:-1,h:-1}),Y=Math.max(1===O?0:h?(i.h-2*b.padding-X.h)/(O-1):(i.h-2*b.padding-X.h)/(O+1),G),Z=q.reduce(function(a,b){return Math.max(a,b.length)},0),$=function(a){var c=fe(a),d=c.depth,e=c.index;if(b.circle){var f=Math.min(i.w/2/O,i.h/2/O),g=(f=Math.max(f,G))*d+f-(O>0&&q[0].length<=3?f/2:0),j=2*Math.PI/q[d].length*e;return 0===d&&1===q[0].length&&(g=1),{x:W.x+g*Math.cos(j),y:W.y+g*Math.sin(j)}}var k=q[d].length,l=Math.max(1===k?0:h?(i.w-2*b.padding-X.w)/((b.grid?Z:k)-1):(i.w-2*b.padding-X.w)/((b.grid?Z:k)+1),G);return{x:W.x+(e+1-(k+1)/2)*l,y:W.y+(d+1-(O+1)/2)*Y}},_={downward:0,leftward:90,upward:180,rightward:-90};return -1===Object.keys(_).indexOf(b.direction)&&ay("Invalid direction '".concat(b.direction,"' specified for breadthfirst layout. Valid values are: ").concat(Object.keys(_).join(", "))),d.nodes().layoutPositions(this,b,function(a){return function(a,b,c){if(0===c)return a;var d,e,f,g,h=(b.x1+b.x2)/2,i=(b.y1+b.y2)/2,j=b.w/b.h,k=(d=a.x,e=a.y,{x:Math.cos(f=c*Math.PI/180)*(d-h)-Math.sin(f)*(e-i)+h,y:Math.sin(f)*(d-h)+Math.cos(f)*(e-i)+i}),l=(g=k.x,{x:(g-h)*j+h,y:(k.y-i)*(1/j)+i});return{x:l.x,y:l.y}}($(a),i,_[b.direction])}),this};var fh={fit:!0,padding:30,boundingBox:void 0,avoidOverlap:!0,nodeDimensionsIncludeLabels:!1,spacingFactor:void 0,radius:void 0,startAngle:1.5*Math.PI,sweep:void 0,clockwise:!0,sort:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(a,b){return!0},ready:void 0,stop:void 0,transform:function(a,b){return b}};function fi(a){this.options=Q({},fh,a)}fi.prototype.run=function(){var a,b=this.options,c=b.cy,d=b.eles,e=void 0!==b.counterclockwise?!b.counterclockwise:b.clockwise,f=d.nodes().not(":parent");b.sort&&(f=f.sort(b.sort));for(var g=bh(b.boundingBox?b.boundingBox:{x1:0,y1:0,w:c.width(),h:c.height()}),h={x:g.x1+g.w/2,y:g.y1+g.h/2},i=(void 0===b.sweep?2*Math.PI-2*Math.PI/f.length:b.sweep)/Math.max(1,f.length-1),j=0,k=0;k<f.length;k++){var l=f[k].layoutDimensions(b);j=Math.max(j,l.w,l.h)}if(a=v(b.radius)?b.radius:f.length<=1?0:Math.min(g.h,g.w)/2-j,f.length>1&&b.avoidOverlap){var n=Math.cos(i)-1,o=Math.sin(i)-0;a=Math.max(Math.sqrt((j*=1.75)*j/(n*n+o*o)),a)}return d.nodes().layoutPositions(this,b,function(c,d){var f=b.startAngle+d*i*(e?1:-1),g=a*Math.cos(f),j=a*Math.sin(f);return{x:h.x+g,y:h.y+j}}),this};var fj={fit:!0,padding:30,startAngle:1.5*Math.PI,sweep:void 0,clockwise:!0,equidistant:!1,minNodeSpacing:10,boundingBox:void 0,avoidOverlap:!0,nodeDimensionsIncludeLabels:!1,height:void 0,width:void 0,spacingFactor:void 0,concentric:function(a){return a.degree()},levelWidth:function(a){return a.maxDegree()/4},animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(a,b){return!0},ready:void 0,stop:void 0,transform:function(a,b){return b}};function fk(a){this.options=Q({},fj,a)}fk.prototype.run=function(){for(var a=this.options,b=void 0!==a.counterclockwise?!a.counterclockwise:a.clockwise,c=a.cy,d=a.eles,e=d.nodes().not(":parent"),f=bh(a.boundingBox?a.boundingBox:{x1:0,y1:0,w:c.width(),h:c.height()}),g={x:f.x1+f.w/2,y:f.y1+f.h/2},h=[],i=0,j=0;j<e.length;j++){var k=e[j],l=void 0;l=a.concentric(k),h.push({value:l,node:k}),k._private.scratch.concentric=l}e.updateStyle();for(var n=0;n<e.length;n++){var o=e[n].layoutDimensions(a);i=Math.max(i,o.w,o.h)}h.sort(function(a,b){return b.value-a.value});for(var p=a.levelWidth(e),q=[[]],r=q[0],s=0;s<h.length;s++){var t=h[s];r.length>0&&Math.abs(r[0].value-t.value)>=p&&(r=[],q.push(r)),r.push(t)}var u=i+a.minNodeSpacing;if(!a.avoidOverlap){var v=q.length>0&&q[0].length>1,w=(Math.min(f.w,f.h)/2-u)/(q.length+v?1:0);u=Math.min(u,w)}for(var x=0,y=0;y<q.length;y++){var z=q[y],A=void 0===a.sweep?2*Math.PI-2*Math.PI/z.length:a.sweep,B=z.dTheta=A/Math.max(1,z.length-1);if(z.length>1&&a.avoidOverlap){var C=Math.cos(B)-1,D=Math.sin(B)-0;x=Math.max(Math.sqrt(u*u/(C*C+D*D)),x)}z.r=x,x+=u}if(a.equidistant){for(var E=0,F=0,G=0;G<q.length;G++)E=Math.max(E,q[G].r-F);F=0;for(var H=0;H<q.length;H++){var I=q[H];0===H&&(F=I.r),I.r=F,F+=E}}for(var J={},K=0;K<q.length;K++)for(var L=q[K],M=L.dTheta,N=L.r,O=0;O<L.length;O++){var P=L[O],Q=a.startAngle+(b?1:-1)*M*O,R={x:g.x+N*Math.cos(Q),y:g.y+N*Math.sin(Q)};J[P.node.id()]=R}return d.nodes().layoutPositions(this,a,function(a){return J[a.id()]}),this};var fl={ready:function(){},stop:function(){},animate:!0,animationEasing:void 0,animationDuration:void 0,animateFilter:function(a,b){return!0},animationThreshold:250,refresh:20,fit:!0,padding:30,boundingBox:void 0,nodeDimensionsIncludeLabels:!1,randomize:!1,componentSpacing:40,nodeRepulsion:function(a){return 2048},nodeOverlap:4,idealEdgeLength:function(a){return 32},edgeElasticity:function(a){return 32},nestingFactor:1.2,gravity:1,numIter:1e3,initialTemp:1e3,coolingFactor:.99,minTemp:1};function fm(a){this.options=Q({},fl,a),this.options.layout=this;var b=this.options.eles.nodes(),c=this.options.eles.edges().filter(function(a){var c=a.source().data("id"),d=a.target().data("id"),e=b.some(function(a){return a.data("id")===c}),f=b.some(function(a){return a.data("id")===d});return!e||!f});this.options.eles=this.options.eles.not(c)}fm.prototype.run=function(){var a=this.options,b=a.cy,c=this;c.stopped=!1,(!0===a.animate||!1===a.animate)&&c.emit({type:"layoutstart",layout:c}),ii=!0===a.debug;var d=fn(b,c,a);ii&&ij(d),a.randomize&&fq(d);var e=ae(),f=function(){fs(d,b,a),!0===a.fit&&b.fit(a.padding)},g=function(b){return!c.stopped&&!(b>=a.numIter)&&(ft(d,a),d.temperature=d.temperature*a.coolingFactor,!(d.temperature<a.minTemp))},h=function(){if(!0===a.animate||!1===a.animate)f(),c.one("layoutstop",a.stop),c.emit({type:"layoutstop",layout:c});else{var b=a.eles.nodes(),e=fr(d,a,b);b.layoutPositions(c,a,e)}},i=0,j=!0;if(!0===a.animate){var k=function(){for(var b=0;j&&b<a.refresh;)j=g(i),i++,b++;j?(ae()-e>=a.animationThreshold&&f(),ag(k)):(fF(d,a),h())};k()}else{for(;j;)j=g(i),i++;fF(d,a),h()}return this},fm.prototype.stop=function(){return this.stopped=!0,this.thread&&this.thread.stop(),this.emit("layoutstop"),this},fm.prototype.destroy=function(){return this.thread&&this.thread.stop(),this};var fn=function(a,b,c){for(var d=c.eles.edges(),e=c.eles.nodes(),f=bh(c.boundingBox?c.boundingBox:{x1:0,y1:0,w:a.width(),h:a.height()}),g={isCompound:a.hasCompoundNodes(),layoutNodes:[],idToIndex:{},nodeSize:e.size(),graphSet:[],indexToGraph:[],layoutEdges:[],edgeSize:d.size(),temperature:c.initialTemp,clientWidth:f.w,clientHeight:f.h,boundingBox:f},h=c.eles.components(),i={},j=0;j<h.length;j++)for(var k=h[j],l=0;l<k.length;l++){var n=k[l];i[n.id()]=j}for(var j=0;j<g.nodeSize;j++){var o=e[j],p=o.layoutDimensions(c),q={};q.isLocked=o.locked(),q.id=o.data("id"),q.parentId=o.data("parent"),q.cmptId=i[o.id()],q.children=[],q.positionX=o.position("x"),q.positionY=o.position("y"),q.offsetX=0,q.offsetY=0,q.height=p.w,q.width=p.h,q.maxX=q.positionX+q.width/2,q.minX=q.positionX-q.width/2,q.maxY=q.positionY+q.height/2,q.minY=q.positionY-q.height/2,q.padLeft=parseFloat(o.style("padding")),q.padRight=parseFloat(o.style("padding")),q.padTop=parseFloat(o.style("padding")),q.padBottom=parseFloat(o.style("padding")),q.nodeRepulsion=s(c.nodeRepulsion)?c.nodeRepulsion(o):c.nodeRepulsion,g.layoutNodes.push(q),g.idToIndex[q.id]=j}for(var r=[],t=0,u=-1,v=[],j=0;j<g.nodeSize;j++){var o=g.layoutNodes[j],w=o.parentId;null!=w?g.layoutNodes[g.idToIndex[w]].children.push(o.id):(r[++u]=o.id,v.push(o.id))}for(g.graphSet.push(v);t<=u;){var x=r[t++],y=g.idToIndex[x],n=g.layoutNodes[y],z=n.children;if(z.length>0){g.graphSet.push(z);for(var j=0;j<z.length;j++)r[++u]=z[j]}}for(var j=0;j<g.graphSet.length;j++)for(var A=g.graphSet[j],l=0;l<A.length;l++){var B=g.idToIndex[A[l]];g.indexToGraph[B]=j}for(var j=0;j<g.edgeSize;j++){var C=d[j],D={};D.id=C.data("id"),D.sourceId=C.data("source"),D.targetId=C.data("target");var E=s(c.idealEdgeLength)?c.idealEdgeLength(C):c.idealEdgeLength,F=s(c.edgeElasticity)?c.edgeElasticity(C):c.edgeElasticity,G=g.idToIndex[D.sourceId],H=g.idToIndex[D.targetId];if(g.indexToGraph[G]!=g.indexToGraph[H]){for(var I=fo(D.sourceId,D.targetId,g),J=g.graphSet[I],K=0,q=g.layoutNodes[G];-1===J.indexOf(q.id);)q=g.layoutNodes[g.idToIndex[q.parentId]],K++;for(q=g.layoutNodes[H];-1===J.indexOf(q.id);)q=g.layoutNodes[g.idToIndex[q.parentId]],K++;E*=K*c.nestingFactor}D.idealLength=E,D.elasticity=F,g.layoutEdges.push(D)}return g},fo=function(a,b,c){var d=fp(a,b,0,c);return 2>d.count?0:d.graph},fp=function(a,b,c,d){var e=d.graphSet[c];if(-1<e.indexOf(a)&&-1<e.indexOf(b))return{count:2,graph:c};for(var f=0,g=0;g<e.length;g++){var h=e[g],i=d.idToIndex[h],j=d.layoutNodes[i].children;if(0!==j.length){var k=fp(a,b,d.indexToGraph[d.idToIndex[j[0]]],d);if(0===k.count)continue;if(1!==k.count)return k;if(2==++f)break}}return{count:f,graph:c}},fq=function(a,b){for(var c=a.clientWidth,d=a.clientHeight,e=0;e<a.nodeSize;e++){var f=a.layoutNodes[e];0!==f.children.length||f.isLocked||(f.positionX=Math.random()*c,f.positionY=Math.random()*d)}},fr=function(a,b,c){var d=a.boundingBox,e={x1:1/0,x2:-1/0,y1:1/0,y2:-1/0};return b.boundingBox&&(c.forEach(function(b){var c=a.layoutNodes[a.idToIndex[b.data("id")]];e.x1=Math.min(e.x1,c.positionX),e.x2=Math.max(e.x2,c.positionX),e.y1=Math.min(e.y1,c.positionY),e.y2=Math.max(e.y2,c.positionY)}),e.w=e.x2-e.x1,e.h=e.y2-e.y1),function(c,f){var g=a.layoutNodes[a.idToIndex[c.data("id")]];if(!b.boundingBox)return{x:g.positionX,y:g.positionY};var h=0===e.w?.5:(g.positionX-e.x1)/e.w,i=0===e.h?.5:(g.positionY-e.y1)/e.h;return{x:d.x1+h*d.w,y:d.y1+i*d.h}}},fs=function(a,b,c){var d=c.layout,e=c.eles.nodes(),f=fr(a,c,e);e.positions(f),!0!==a.ready&&(a.ready=!0,d.one("layoutready",c.ready),d.emit({type:"layoutready",layout:this}))},ft=function(a,b,c){fu(a,b),fz(a),fA(a,b),fB(a),fC(a)},fu=function(a,b){for(var c=0;c<a.graphSet.length;c++)for(var d=a.graphSet[c],e=d.length,f=0;f<e;f++)for(var g=a.layoutNodes[a.idToIndex[d[f]]],h=f+1;h<e;h++)fw(g,a.layoutNodes[a.idToIndex[d[h]]],a,b)},fv=function(a){return -1+2*a*Math.random()},fw=function(a,b,c,d){if(a.cmptId===b.cmptId||c.isCompound){var e=b.positionX-a.positionX,f=b.positionY-a.positionY;0===e&&0===f&&(e=fv(1),f=fv(1));var g=fx(a,b,e,f);if(g>0)var h=d.nodeOverlap*g,i=Math.sqrt(e*e+f*f),j=h*e/i,k=h*f/i;else var l=fy(a,e,f),n=fy(b,-1*e,-1*f),o=n.x-l.x,p=n.y-l.y,q=o*o+p*p,i=Math.sqrt(q),h=(a.nodeRepulsion+b.nodeRepulsion)/q,j=h*o/i,k=h*p/i;a.isLocked||(a.offsetX-=j,a.offsetY-=k),b.isLocked||(b.offsetX+=j,b.offsetY+=k)}},fx=function(a,b,c,d){if(c>0)var e=a.maxX-b.minX;else var e=b.maxX-a.minX;if(d>0)var f=a.maxY-b.minY;else var f=b.maxY-a.minY;return e>=0&&f>=0?Math.sqrt(e*e+f*f):0},fy=function(a,b,c){var d=a.positionX,e=a.positionY,f=a.height||1,g=a.width||1,h=c/b,i=f/g,j={};return 0===b&&0<c||0===b&&0>c?(j.x=d,j.y=e+f/2):0<b&&-1*i<=h&&h<=i?(j.x=d+g/2,j.y=e+g*c/2/b):0>b&&-1*i<=h&&h<=i?(j.x=d-g/2,j.y=e-g*c/2/b):0<c&&(h<=-1*i||h>=i)?(j.x=d+f*b/2/c,j.y=e+f/2):0>c&&(h<=-1*i||h>=i)&&(j.x=d-f*b/2/c,j.y=e-f/2),j},fz=function(a,b){for(var c=0;c<a.edgeSize;c++){var d=a.layoutEdges[c],e=a.idToIndex[d.sourceId],f=a.layoutNodes[e],g=a.idToIndex[d.targetId],h=a.layoutNodes[g],i=h.positionX-f.positionX,j=h.positionY-f.positionY;if(0!==i||0!==j){var k=fy(f,i,j),l=fy(h,-1*i,-1*j),n=l.x-k.x,o=l.y-k.y,p=Math.sqrt(n*n+o*o),q=Math.pow(d.idealLength-p,2)/d.elasticity;if(0!==p)var r=q*n/p,s=q*o/p;else var r=0,s=0;f.isLocked||(f.offsetX+=r,f.offsetY+=s),h.isLocked||(h.offsetX-=r,h.offsetY-=s)}}},fA=function(a,b){if(0!==b.gravity)for(var c=0;c<a.graphSet.length;c++){var d=a.graphSet[c],e=d.length;if(0===c)var f=a.clientHeight/2,g=a.clientWidth/2;else var h=a.layoutNodes[a.idToIndex[d[0]]],i=a.layoutNodes[a.idToIndex[h.parentId]],f=i.positionX,g=i.positionY;for(var j=0;j<e;j++){var k=a.layoutNodes[a.idToIndex[d[j]]];if(!k.isLocked){var l=f-k.positionX,n=g-k.positionY,o=Math.sqrt(l*l+n*n);if(o>1){var p=b.gravity*l/o,q=b.gravity*n/o;k.offsetX+=p,k.offsetY+=q}}}}},fB=function(a,b){var c=[],d=0,e=-1;for(c.push.apply(c,a.graphSet[0]),e+=a.graphSet[0].length;d<=e;){var f=c[d++],g=a.idToIndex[f],h=a.layoutNodes[g],i=h.children;if(0<i.length&&!h.isLocked){for(var j=h.offsetX,k=h.offsetY,l=0;l<i.length;l++){var n=a.layoutNodes[a.idToIndex[i[l]]];n.offsetX+=j,n.offsetY+=k,c[++e]=i[l]}h.offsetX=0,h.offsetY=0}}},fC=function(a,b){for(var c=0;c<a.nodeSize;c++){var d=a.layoutNodes[c];0<d.children.length&&(d.maxX=void 0,d.minX=void 0,d.maxY=void 0,d.minY=void 0)}for(var c=0;c<a.nodeSize;c++){var d=a.layoutNodes[c];if(!(0<d.children.length)&&!d.isLocked){var e=fD(d.offsetX,d.offsetY,a.temperature);d.positionX+=e.x,d.positionY+=e.y,d.offsetX=0,d.offsetY=0,d.minX=d.positionX-d.width,d.maxX=d.positionX+d.width,d.minY=d.positionY-d.height,d.maxY=d.positionY+d.height,fE(d,a)}}for(var c=0;c<a.nodeSize;c++){var d=a.layoutNodes[c];0<d.children.length&&!d.isLocked&&(d.positionX=(d.maxX+d.minX)/2,d.positionY=(d.maxY+d.minY)/2,d.width=d.maxX-d.minX,d.height=d.maxY-d.minY)}},fD=function(a,b,c){var d=Math.sqrt(a*a+b*b);if(d>c)var e={x:c*a/d,y:c*b/d};else var e={x:a,y:b};return e},fE=function(a,b){var c=a.parentId;if(null!=c){var d=b.layoutNodes[b.idToIndex[c]],e=!1;if((null==d.maxX||a.maxX+d.padRight>d.maxX)&&(d.maxX=a.maxX+d.padRight,e=!0),(null==d.minX||a.minX-d.padLeft<d.minX)&&(d.minX=a.minX-d.padLeft,e=!0),(null==d.maxY||a.maxY+d.padBottom>d.maxY)&&(d.maxY=a.maxY+d.padBottom,e=!0),(null==d.minY||a.minY-d.padTop<d.minY)&&(d.minY=a.minY-d.padTop,e=!0),e)return fE(d,b)}},fF=function(a,b){for(var c=a.layoutNodes,d=[],e=0;e<c.length;e++){var f=c[e],g=f.cmptId;(d[g]=d[g]||[]).push(f)}for(var h=0,e=0;e<d.length;e++){var i=d[e];if(i){i.x1=1/0,i.x2=-1/0,i.y1=1/0,i.y2=-1/0;for(var j=0;j<i.length;j++){var k=i[j];i.x1=Math.min(i.x1,k.positionX-k.width/2),i.x2=Math.max(i.x2,k.positionX+k.width/2),i.y1=Math.min(i.y1,k.positionY-k.height/2),i.y2=Math.max(i.y2,k.positionY+k.height/2)}i.w=i.x2-i.x1,i.h=i.y2-i.y1,h+=i.w*i.h}}d.sort(function(a,b){return b.w*b.h-a.w*a.h});for(var l=0,n=0,o=0,p=0,q=Math.sqrt(h)*a.clientWidth/a.clientHeight,e=0;e<d.length;e++){var i=d[e];if(i){for(var j=0;j<i.length;j++){var k=i[j];k.isLocked||(k.positionX+=l-i.x1,k.positionY+=n-i.y1)}l+=i.w+b.componentSpacing,o+=i.w+b.componentSpacing,p=Math.max(p,i.h),o>q&&(n+=p+b.componentSpacing,l=0,o=0,p=0)}}},fG={fit:!0,padding:30,boundingBox:void 0,avoidOverlap:!0,avoidOverlapPadding:10,nodeDimensionsIncludeLabels:!1,spacingFactor:void 0,condense:!1,rows:void 0,cols:void 0,position:function(a){},sort:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(a,b){return!0},ready:void 0,stop:void 0,transform:function(a,b){return b}};function fH(a){this.options=Q({},fG,a)}fH.prototype.run=function(){var a=this.options,b=a.cy,c=a.eles,d=c.nodes().not(":parent");a.sort&&(d=d.sort(a.sort));var e=bh(a.boundingBox?a.boundingBox:{x1:0,y1:0,w:b.width(),h:b.height()});if(0===e.h||0===e.w)c.nodes().layoutPositions(this,a,function(a){return{x:e.x1,y:e.y1}});else{var f=d.size(),g=Math.sqrt(f*e.h/e.w),h=Math.round(g),i=Math.round(e.w/e.h*g),j=function(a){if(null==a)return Math.min(h,i);Math.min(h,i)==h?h=a:i=a},k=function(a){if(null==a)return Math.max(h,i);Math.max(h,i)==h?h=a:i=a},l=a.rows,n=null!=a.cols?a.cols:a.columns;if(null!=l&&null!=n)h=l,i=n;else if(null!=l&&null==n)i=Math.ceil(f/(h=l));else if(null==l&&null!=n)h=Math.ceil(f/(i=n));else if(i*h>f){var o=j(),p=k();(o-1)*p>=f?j(o-1):(p-1)*o>=f&&k(p-1)}else for(;i*h<f;){var q=j(),r=k();(r+1)*q>=f?k(r+1):j(q+1)}var s=e.w/i,t=e.h/h;if(a.condense&&(s=0,t=0),a.avoidOverlap)for(var u=0;u<d.length;u++){var v=d[u],w=v._private.position;(null==w.x||null==w.y)&&(w.x=0,w.y=0);var x=v.layoutDimensions(a),y=a.avoidOverlapPadding,z=x.w+y,A=x.h+y;s=Math.max(s,z),t=Math.max(t,A)}for(var B={},C=function(a,b){return!!B["c-"+a+"-"+b]},D=function(a,b){B["c-"+a+"-"+b]=!0},E=0,F=0,G=function(){++F>=i&&(F=0,E++)},H={},I=0;I<d.length;I++){var J=d[I],K=a.position(J);if(K&&(void 0!==K.row||void 0!==K.col)){var L={row:K.row,col:K.col};if(void 0===L.col)for(L.col=0;C(L.row,L.col);)L.col++;else if(void 0===L.row)for(L.row=0;C(L.row,L.col);)L.row++;H[J.id()]=L,D(L.row,L.col)}}d.layoutPositions(this,a,function(a,b){if(a.locked()||a.isParent())return!1;var c,d,f=H[a.id()];if(f)c=f.col*s+s/2+e.x1,d=f.row*t+t/2+e.y1;else{for(;C(E,F);)G();c=F*s+s/2+e.x1,d=E*t+t/2+e.y1,D(E,F),G()}return{x:c,y:d}})}return this};var fI={ready:function(){},stop:function(){}};function fJ(a){this.options=Q({},fI,a)}fJ.prototype.run=function(){var a=this.options,b=a.eles;return a.cy,this.emit("layoutstart"),b.nodes().positions(function(){return{x:0,y:0}}),this.one("layoutready",a.ready),this.emit("layoutready"),this.one("layoutstop",a.stop),this.emit("layoutstop"),this},fJ.prototype.stop=function(){return this};var fK={positions:void 0,zoom:void 0,pan:void 0,fit:!0,padding:30,spacingFactor:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(a,b){return!0},ready:void 0,stop:void 0,transform:function(a,b){return b}};function fL(a){this.options=Q({},fK,a)}fL.prototype.run=function(){var a=this.options,b=a.eles.nodes(),c=s(a.positions);return b.layoutPositions(this,a,function(b,d){var e=function(b){if(null==a.positions){var d;return{x:(d=b.position()).x,y:d.y}}if(c)return a.positions(b);var e=a.positions[b._private.data.id];return null==e?null:e}(b);return!b.locked()&&null!=e&&e}),this};var fM={fit:!0,padding:30,boundingBox:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(a,b){return!0},ready:void 0,stop:void 0,transform:function(a,b){return b}};function fN(a){this.options=Q({},fM,a)}fN.prototype.run=function(){var a=this.options,b=a.cy,c=a.eles,d=bh(a.boundingBox?a.boundingBox:{x1:0,y1:0,w:b.width(),h:b.height()});return c.nodes().layoutPositions(this,a,function(a,b){return{x:d.x1+Math.round(Math.random()*d.w),y:d.y1+Math.round(Math.random()*d.h)}}),this};var fO=[{name:"breadthfirst",impl:fg},{name:"circle",impl:fi},{name:"concentric",impl:fk},{name:"cose",impl:fm},{name:"grid",impl:fH},{name:"null",impl:fJ},{name:"preset",impl:fL},{name:"random",impl:fN}];function fP(a){this.options=a,this.notifications=0}var fQ=function(){},fR=function(){throw Error("A headless instance can not render images")};fP.prototype={recalculateRenderedStyle:fQ,notify:function(){this.notifications++},init:fQ,isHeadless:function(){return!0},png:fR,jpg:fR};var fS={};fS.arrowShapeWidth=.3,fS.registerArrowShapes=function(){var a=this.arrowShapes={},b=this,c=function(a,b,c,d,e,f,g){var h=e.x-c/2-g,i=e.x+c/2+g,j=e.y-c/2-g,k=e.y+c/2+g;return h<=a&&a<=i&&j<=b&&b<=k},d=function(a,b,c,d,e){var f=a*Math.cos(d)-b*Math.sin(d),g=a*Math.sin(d)+b*Math.cos(d);return{x:f*c+e.x,y:g*c+e.y}},e=function(a,b,c,e){for(var f=[],g=0;g<a.length;g+=2){var h=a[g],i=a[g+1];f.push(d(h,i,b,c,e))}return f},f=function(a){for(var b=[],c=0;c<a.length;c++){var d=a[c];b.push(d.x,d.y)}return b},g=function(a){return a.pstyle("width").pfValue*a.pstyle("arrow-scale").pfValue*2},h=function(d,h){r(h)&&(h=a[h]),a[d]=Q({name:d,points:[-.15,-.3,.15,-.3,.15,.3,-.15,.3],collide:function(a,b,c,d,g,h){return bA(a,b,f(e(this.points,c+2*h,d,g)))},roughCollide:c,draw:function(a,c,d,f){var g=e(this.points,c,d,f);b.arrowShapeImpl("polygon")(a,g)},spacing:function(a){return 0},gap:g},h)};h("none",{collide:av,roughCollide:av,draw:ax,spacing:aw,gap:aw}),h("triangle",{points:[-.15,-.3,0,0,.15,-.3]}),h("arrow","triangle"),h("triangle-backcurve",{points:a.triangle.points,controlPoint:[0,-.15],roughCollide:c,draw:function(a,c,f,g,h){var i=e(this.points,c,f,g),j=this.controlPoint,k=d(j[0],j[1],c,f,g);b.arrowShapeImpl(this.name)(a,i,k)},gap:function(a){return .8*g(a)}}),h("triangle-tee",{points:[0,0,.15,-.3,-.15,-.3,0,0],pointsTee:[-.15,-.4,-.15,-.5,.15,-.5,.15,-.4],collide:function(a,b,c,d,g,h,i){var j=f(e(this.points,c+2*i,d,g)),k=f(e(this.pointsTee,c+2*i,d,g));return bA(a,b,j)||bA(a,b,k)},draw:function(a,c,d,f,g){var h=e(this.points,c,d,f),i=e(this.pointsTee,c,d,f);b.arrowShapeImpl(this.name)(a,h,i)}}),h("circle-triangle",{radius:.15,pointsTr:[0,-.15,.15,-.45,-.15,-.45,0,-.15],collide:function(a,b,c,d,g,h,i){var j=Math.pow(g.x-a,2)+Math.pow(g.y-b,2)<=Math.pow((c+2*i)*this.radius,2);return bA(a,b,f(e(this.points,c+2*i,d,g)))||j},draw:function(a,c,d,f,g){var h=e(this.pointsTr,c,d,f);b.arrowShapeImpl(this.name)(a,h,f.x,f.y,this.radius*c)},spacing:function(a){return b.getArrowWidth(a.pstyle("width").pfValue,a.pstyle("arrow-scale").value)*this.radius}}),h("triangle-cross",{points:[0,0,.15,-.3,-.15,-.3,0,0],baseCrossLinePts:[-.15,-.4,-.15,-.4,.15,-.4,.15,-.4],crossLinePts:function(a,b){var c=this.baseCrossLinePts.slice(),d=b/a;return c[3]=c[3]-d,c[5]=c[5]-d,c},collide:function(a,b,c,d,g,h,i){var j=f(e(this.points,c+2*i,d,g)),k=f(e(this.crossLinePts(c,h),c+2*i,d,g));return bA(a,b,j)||bA(a,b,k)},draw:function(a,c,d,f,g){var h=e(this.points,c,d,f),i=e(this.crossLinePts(c,g),c,d,f);b.arrowShapeImpl(this.name)(a,h,i)}}),h("vee",{points:[-.15,-.3,0,0,.15,-.3,0,-.15],gap:function(a){return .525*g(a)}}),h("circle",{radius:.15,collide:function(a,b,c,d,e,f,g){return Math.pow(e.x-a,2)+Math.pow(e.y-b,2)<=Math.pow((c+2*g)*this.radius,2)},draw:function(a,c,d,e,f){b.arrowShapeImpl(this.name)(a,e.x,e.y,this.radius*c)},spacing:function(a){return b.getArrowWidth(a.pstyle("width").pfValue,a.pstyle("arrow-scale").value)*this.radius}}),h("tee",{points:[-.15,0,-.15,-.1,.15,-.1,.15,0],spacing:function(a){return 1},gap:function(a){return 1}}),h("square",{points:[-.15,0,.15,0,.15,-.3,-.15,-.3]}),h("diamond",{points:[-.15,-.15,0,-.3,.15,-.15,0,0],gap:function(a){return a.pstyle("width").pfValue*a.pstyle("arrow-scale").value}}),h("chevron",{points:[0,0,-.15,-.15,-.1,-.2,0,-.1,.1,-.2,.15,-.15],gap:function(a){return .95*a.pstyle("width").pfValue*a.pstyle("arrow-scale").value}})};var fT={};fT.projectIntoViewport=function(a,b){var c=this.cy,d=this.findContainerClientCoords(),e=d[0],f=d[1],g=d[4],h=c.pan(),i=c.zoom();return[((a-e)/g-h.x)/i,((b-f)/g-h.y)/i]},fT.findContainerClientCoords=function(){if(this.containerBB)return this.containerBB;var a=this.container,b=a.getBoundingClientRect(),c=this.cy.window().getComputedStyle(a),d=function(a){return parseFloat(c.getPropertyValue(a))},e={left:d("padding-left"),right:d("padding-right"),top:d("padding-top"),bottom:d("padding-bottom")},f={left:d("border-left-width"),right:d("border-right-width"),top:d("border-top-width"),bottom:d("border-bottom-width")},g=a.clientWidth,h=a.clientHeight,i=e.left+e.right,j=e.top+e.bottom,k=f.left+f.right,l=b.width/(g+k),n=b.left+e.left+f.left,o=b.top+e.top+f.top;return this.containerBB=[n,o,g-i,h-j,l]},fT.invalidateContainerClientCoordsCache=function(){this.containerBB=null},fT.findNearestElement=function(a,b,c,d){return this.findNearestElements(a,b,c,d)[0]},fT.findNearestElements=function(a,b,c,d){var e,f,g=this,h=this,i=h.getCachedZSortedEles(),j=[],k=h.cy.zoom(),l=h.cy.hasCompoundNodes(),n=(d?24:8)/k,o=(d?8:2)/k,p=(d?8:2)/k,q=1/0;function r(a,b){if(a.isNode())if(f)return;else f=a,j.push(a);if(a.isEdge()&&(null==b||b<q))if(e){if(e.pstyle("z-compound-depth").value===a.pstyle("z-compound-depth").value&&e.pstyle("z-compound-depth").value===a.pstyle("z-compound-depth").value){for(var c=0;c<j.length;c++)if(j[c].isEdge()){j[c]=a,e=a,q=null!=b?b:q;break}}}else j.push(a),e=a,q=null!=b?b:q}function s(c){var d=c.outerWidth()+2*o,e=c.outerHeight()+2*o,f=d/2,i=e/2,j=c.position(),k="auto"===c.pstyle("corner-radius").value?"auto":c.pstyle("corner-radius").pfValue,l=c._private.rscratch;if(j.x-f<=a&&a<=j.x+f&&j.y-i<=b&&b<=j.y+i&&h.nodeShapes[g.getNodeShape(c)].checkPoint(a,b,0,d,e,j.x,j.y,k,l))return r(c,0),!0}c&&(i=i.interactive);function t(c,d){var e,f=c._private;e=d?d+"-":"",c.boundingBox();var g=f.labelBounds[d||"main"],h=c.pstyle(e+"label").value;if("yes"===c.pstyle("text-events").strValue&&h){var i=aJ(f.rscratch,"labelX",d),j=aJ(f.rscratch,"labelY",d),k=aJ(f.rscratch,"labelAngle",d),l=c.pstyle(e+"text-margin-x").pfValue,n=c.pstyle(e+"text-margin-y").pfValue,o=g.x1-p-l,q=g.x2+p-l,s=g.y1-p-n,t=g.y2+p-n;if(k){var u=Math.cos(k),v=Math.sin(k),w=function(a,b){return{x:(a-=i)*u-(b-=j)*v+i,y:a*v+b*u+j}},x=w(o,s),y=w(o,t),z=w(q,s),A=w(q,t);if(bA(a,b,[x.x+l,x.y+n,z.x+l,z.y+n,A.x+l,A.y+n,y.x+l,y.y+n]))return r(c),!0}else if(bp(g,a,b))return r(c),!0}}for(var u=i.length-1;u>=0;u--){var v=i[u];v.isNode()?s(v)||t(v):function(c){var d,e=c._private,f=e.rscratch,i=c.pstyle("width").pfValue,k=c.pstyle("arrow-scale").value,o=i/2+n,p=o*o,q=2*o,t=e.source,u=e.target;if("segments"===f.edgeType||"straight"===f.edgeType||"haystack"===f.edgeType){for(var v=f.allpts,w=0;w+3<v.length;w+=2)if(bu(a,b,v[w],v[w+1],v[w+2],v[w+3],q)&&p>(d=bz(a,b,v[w],v[w+1],v[w+2],v[w+3])))return r(c,d),!0}else if("bezier"===f.edgeType||"multibezier"===f.edgeType||"self"===f.edgeType||"compound"===f.edgeType){for(var v=f.allpts,w=0;w+5<f.allpts.length;w+=4)if(bv(a,b,v[w],v[w+1],v[w+2],v[w+3],v[w+4],v[w+5],q)&&p>(d=by(a,b,v[w],v[w+1],v[w+2],v[w+3],v[w+4],v[w+5])))return r(c,d),!0}for(var t=t||e.source,u=u||e.target,x=g.getArrowWidth(i,k),y=[{name:"source",x:f.arrowStartX,y:f.arrowStartY,angle:f.srcArrowAngle},{name:"target",x:f.arrowEndX,y:f.arrowEndY,angle:f.tgtArrowAngle},{name:"mid-source",x:f.midX,y:f.midY,angle:f.midsrcArrowAngle},{name:"mid-target",x:f.midX,y:f.midY,angle:f.midtgtArrowAngle}],w=0;w<y.length;w++){var z=y[w],A=h.arrowShapes[c.pstyle(z.name+"-arrow-shape").value],B=c.pstyle("width").pfValue;if(A.roughCollide(a,b,x,z.angle,{x:z.x,y:z.y},B,n)&&A.collide(a,b,x,z.angle,{x:z.x,y:z.y},B,n))return r(c),!0}l&&j.length>0&&(s(t),s(u))}(v)||t(v)||t(v,"source")||t(v,"target")}return j},fT.getAllInBox=function(a,b,c,d){var e=this.getCachedZSortedEles().interactive,f=2/this.cy.zoom(),h=[],i=Math.min(a,c),j=Math.max(a,c),k=Math.min(b,d),l=Math.max(b,d);a=i,c=j;var n=bh({x1:a,y1:b=k,x2:c,y2:d=l}),o=[{x:n.x1,y:n.y1},{x:n.x2,y:n.y1},{x:n.x2,y:n.y2},{x:n.x1,y:n.y2}],p=[[o[0],o[1]],[o[1],o[2]],[o[2],o[3]],[o[3],o[0]]];function q(a,b){var c=a._private;a.boundingBox();var d=c.labelBounds.main;if(!d)return null;var e=aJ(c.rscratch,"labelX",b),g=aJ(c.rscratch,"labelY",b),h=aJ(c.rscratch,"labelAngle",b),i=a.pstyle("text-margin-x").pfValue,j=a.pstyle("text-margin-y").pfValue,k=d.x1-f-i,l=d.x2+f-i,n=d.y1-f-j,o=d.y2+f-j;if(!h)return[{x:k,y:n},{x:l,y:n},{x:l,y:o},{x:k,y:o}];var p=Math.cos(h),q=Math.sin(h),r=function(a,b){return{x:(a-=e)*p-(b-=g)*q+e,y:a*q+b*p+g}};return[r(k,n),r(l,n),r(l,o),r(k,o)]}for(var r=0;r<e.length;r++){var s=e[r];if(s.isNode()){var t="yes"===s.pstyle("text-events").strValue,u=s.pstyle("box-selection").strValue,v="yes"===s.pstyle("box-select-labels").strValue;if("none"===u)continue;var w=("overlap"===u||v)&&t,x=s.boundingBox({includeNodes:!0,includeEdges:!1,includeLabels:w});if("contain"===u){var y=!1;if(v&&t){var z=q(s);z&&bV(z,o)&&(h.push(s),y=!0)}!y&&br(n,x)&&h.push(s)}else if("overlap"===u&&bo(n,x)){var A=s.boundingBox({includeNodes:!0,includeEdges:!0,includeLabels:!1,includeMainLabels:!1,includeSourceLabels:!1,includeTargetLabels:!1});if(bV([{x:A.x1,y:A.y1},{x:A.x2,y:A.y1},{x:A.x2,y:A.y2},{x:A.x1,y:A.y2}],o))h.push(s);else{var B=q(s);B&&bV(B,o)&&h.push(s)}}}else{var C=s._private,D=C.rscratch,E=s.pstyle("box-selection").strValue;if("none"===E)continue;if("contain"===E){if(null!=D.startX&&null!=D.startY&&!bp(n,D.startX,D.startY)||null!=D.endX&&null!=D.endY&&!bp(n,D.endX,D.endY))continue;if("bezier"===D.edgeType||"multibezier"===D.edgeType||"self"===D.edgeType||"compound"===D.edgeType||"segments"===D.edgeType||"haystack"===D.edgeType){for(var F=C.rstyle.bezierPts||C.rstyle.linePts||C.rstyle.haystackPts,G=!0,H=0;H<F.length;H++)if(!bq(n,F[H])){G=!1;break}G&&h.push(s)}else"straight"===D.edgeType&&h.push(s)}else if("overlap"===E){var I=!1;if(null!=D.startX&&null!=D.startY&&null!=D.endX&&null!=D.endY&&(bp(n,D.startX,D.startY)||bp(n,D.endX,D.endY)))h.push(s),I=!0;else if(!I&&"haystack"===D.edgeType){for(var J=C.rstyle.haystackPts,K=0;K<J.length;K++)if(bq(n,J[K])){h.push(s),I=!0;break}}if(!I){var L=C.rstyle.bezierPts||C.rstyle.linePts||C.rstyle.haystackPts;if((!L||L.length<2)&&"straight"===D.edgeType&&null!=D.startX&&null!=D.startY&&null!=D.endX&&null!=D.endY&&(L=[{x:D.startX,y:D.startY},{x:D.endX,y:D.endY}]),!L||L.length<2)continue;for(var M=0;M<L.length-1;M++){for(var N=L[M],O=L[M+1],P=0;P<p.length;P++){var Q=g(p[P],2);if(function(a,b,c,d){function e(a,b,c){return(c.y-a.y)*(b.x-a.x)>(b.y-a.y)*(c.x-a.x)}return e(a,c,d)!==e(b,c,d)&&e(a,b,c)!==e(a,b,d)}(N,O,Q[0],Q[1])){h.push(s),I=!0;break}}if(I)break}}}}}return h};var fU={};fU.calculateArrowAngles=function(a){var b=a._private.rscratch,c="haystack"===b.edgeType,d="bezier"===b.edgeType,e="multibezier"===b.edgeType,f="segments"===b.edgeType,g="compound"===b.edgeType,h="self"===b.edgeType;if(c?(s=b.haystackPts[0],t=b.haystackPts[1],u=b.haystackPts[2],v=b.haystackPts[3]):(s=b.arrowStartX,t=b.arrowStartY,u=b.arrowEndX,v=b.arrowEndY),l=b.midX,n=b.midY,f)q=s-b.segpts[0],r=t-b.segpts[1];else if(e||g||h||d){var i=b.allpts,j=bd(i[0],i[2],i[4],.1),k=bd(i[1],i[3],i[5],.1);q=s-j,r=t-k}else q=s-l,r=t-n;b.srcArrowAngle=a7(q,r);var l=b.midX,n=b.midY;if(c&&(l=(s+u)/2,n=(t+v)/2),q=u-s,r=v-t,f){var i=b.allpts;if(i.length/2%2==0){var o=i.length/2,p=o-2;q=i[o]-i[p],r=i[o+1]-i[p+1]}else if(b.isRound)q=b.midVector[1],r=-b.midVector[0];else{var o=i.length/2-1,p=o-2;q=i[o]-i[p],r=i[o+1]-i[p+1]}}else if(e||g||h){var q,r,s,t,u,v,l,n,w,x,y,z,i=b.allpts;if(b.ctrlpts.length/2%2==0){var A=i.length/2-1,B=A+2,C=B+2;w=bd(i[A],i[B],i[C],0),x=bd(i[A+1],i[B+1],i[C+1],0),y=bd(i[A],i[B],i[C],1e-4),z=bd(i[A+1],i[B+1],i[C+1],1e-4)}else{var B=i.length/2-1,A=B-2,C=B+2;w=bd(i[A],i[B],i[C],.4999),x=bd(i[A+1],i[B+1],i[C+1],.4999),y=bd(i[A],i[B],i[C],.5),z=bd(i[A+1],i[B+1],i[C+1],.5)}q=y-w,r=z-x}if(b.midtgtArrowAngle=a7(q,r),b.midDispX=q,b.midDispY=r,q*=-1,r*=-1,f){var i=b.allpts;if(i.length/2%2==0);else if(!b.isRound){var o=i.length/2-1,D=o+2;q=-(i[D]-i[o]),r=-(i[D+1]-i[o+1])}}if(b.midsrcArrowAngle=a7(q,r),f)q=u-b.segpts[b.segpts.length-2],r=v-b.segpts[b.segpts.length-1];else if(e||g||h||d){var i=b.allpts,E=i.length,j=bd(i[E-6],i[E-4],i[E-2],.9),k=bd(i[E-5],i[E-3],i[E-1],.9);q=u-j,r=v-k}else q=u-l,r=v-n;b.tgtArrowAngle=a7(q,r)},fU.getArrowWidth=fU.getArrowHeight=function(a,b){var c=this.arrowWidthCache=this.arrowWidthCache||{},d=c[a+", "+b];return d||(d=Math.max(Math.pow(13.37*a,.9),29)*b,c[a+", "+b]=d),d};var fV,fW,fX,fY,fZ,f$,f_,f0,f1,f2,f3,f4,f5,f6,f7,f8,f9,ga,gb,gc,gd,ge,gf,gg,gh,gi,gj,gk,gl,gm,gn,go,gp,gq,gr,gs,gt,gu,gv,gw,gx,gy,gz,gA,gB,gC,gD,gE,gF,gG,gH,gI,gJ,gK,gL,gM,gN,gO,gP,gQ,gR,gS,gT,gU,gV,gW,gX,gY,gZ,g$,g_,g0,g1,g2,g3,g4,g5,g6,g7,g8,g9,ha,hb,hc,hd,he,hf,hg,hh,hi,hj,hk,hl,hm,hn,ho,hp,hq,hr,hs,ht,hu,hv,hw,hx,hy,hz,hA,hB,hC,hD,hE,hF,hG,hH,hI,hJ,hK,hL,hM,hN,hO,hP,hQ,hR,hS,hT,hU,hV,hW,hX,hY,hZ,h$,h_,h0,h1,h2,h3,h4,h5,h6,h7,h8,h9,ia,ib,ic,id,ie,ig,ih,ii,ij,ik,il,im,io,ip,iq,ir,is,it,iu,iv,iw,ix={},iy={},iz=function(a,b,c){c.x=b.x-a.x,c.y=b.y-a.y,c.len=Math.sqrt(c.x*c.x+c.y*c.y),c.nx=c.x/c.len,c.ny=c.y/c.len,c.ang=Math.atan2(c.ny,c.nx)},iA=function(a,b){b.x=-1*a.x,b.y=-1*a.y,b.nx=-1*a.nx,b.ny=-1*a.ny,b.ang=a.ang>0?-(Math.PI-a.ang):Math.PI+a.ang},iB=function(a,b,c,d,e){if(a!==fZ?iz(b,a,ix):iA(iy,ix),iz(b,c,iy),im=ix.nx*iy.ny-ix.ny*iy.nx,io=ix.nx*iy.nx- -(ix.ny*iy.ny),1e-6>Math.abs(ir=Math.asin(Math.max(-1,Math.min(1,im))))){ik=b.x,il=b.y,it=iv=0;return}ip=1,iq=!1,io<0?ir<0?ir=Math.PI+ir:(ir=Math.PI-ir,ip=-1,iq=!0):ir>0&&(ip=-1,iq=!0),iv=void 0!==b.radius?b.radius:d,is=ir/2,iw=Math.min(ix.len/2,iy.len/2),it=e?(iu=Math.abs(Math.cos(is)*iv/Math.sin(is)))>iw?Math.abs((iu=iw)*Math.sin(is)/Math.cos(is)):iv:Math.abs((iu=Math.min(iw,iv))*Math.sin(is)/Math.cos(is)),fX=b.x+iy.nx*iu,fY=b.y+iy.ny*iu,ik=fX-iy.ny*it*ip,il=fY+iy.nx*it*ip,fV=b.x+ix.nx*iu,fW=b.y+ix.ny*iu,fZ=b};function iC(a,b){0===b.radius?a.lineTo(b.cx,b.cy):a.arc(b.cx,b.cy,b.radius,b.startAngle,b.endAngle,b.counterClockwise)}function iD(a,b,c,d){var e=!(arguments.length>4)||void 0===arguments[4]||arguments[4];return 0===d||0===b.radius?{cx:b.x,cy:b.y,radius:0,startX:b.x,startY:b.y,stopX:b.x,stopY:b.y,startAngle:void 0,endAngle:void 0,counterClockwise:void 0}:(iB(a,b,c,d,e),{cx:ik,cy:il,radius:it,startX:fV,startY:fW,stopX:fX,stopY:fY,startAngle:ix.ang+Math.PI/2*ip,endAngle:iy.ang-Math.PI/2*ip,counterClockwise:iq})}var iE=Math.sqrt(.02),iF={};function iG(a){var b=[];if(null!=a){for(var c=0;c<a.length;c+=2){var d=a[c],e=a[c+1];b.push({x:d,y:e})}return b}}iF.findMidptPtsEtc=function(a,b){var c,d=b.posPts,e=b.intersectionPts,f=b.vectorNormInverse,h=a.pstyle("source-endpoint"),i=a.pstyle("target-endpoint"),j=null!=h.units&&null!=i.units;switch(a.pstyle("edge-distances").value){case"node-position":c=d;break;case"intersection":c=e;break;case"endpoints":if(j){var k,l,n,o=g(this.manualEndptToPx(a.source()[0],h),2),p=o[0],q=o[1],r=g(this.manualEndptToPx(a.target()[0],i),2),s=r[0],t=r[1];k=t-q,n=Math.sqrt((l=s-p)*l+k*k),f={x:-k/n,y:l/n},c={x1:p,y1:q,x2:s,y2:t}}else aA("Edge ".concat(a.id()," has edge-distances:endpoints specified without manual endpoints specified via source-endpoint and target-endpoint. Falling back on edge-distances:intersection (default).")),c=e}return{midptPts:c,vectorNormInverse:f}},iF.findHaystackPoints=function(a){for(var b=0;b<a.length;b++){var c=a[b],d=c._private,e=d.rscratch;if(!e.haystack){var f=2*Math.random()*Math.PI;e.source={x:Math.cos(f),y:Math.sin(f)},e.target={x:Math.cos(f=2*Math.random()*Math.PI),y:Math.sin(f)}}var g=d.source,h=d.target,i=g.position(),j=h.position(),k=g.width(),l=h.width(),n=g.height(),o=h.height(),p=c.pstyle("haystack-radius").value/2;e.haystackPts=e.allpts=[e.source.x*k*p+i.x,e.source.y*n*p+i.y,e.target.x*l*p+j.x,e.target.y*o*p+j.y],e.midX=(e.allpts[0]+e.allpts[2])/2,e.midY=(e.allpts[1]+e.allpts[3])/2,e.edgeType="haystack",e.haystack=!0,this.storeEdgeProjections(c),this.calculateArrowAngles(c),this.recalculateEdgeLabelProjections(c),this.calculateLabelAngles(c)}},iF.findSegmentsPoints=function(a,b){var c=a._private.rscratch,d=a.pstyle("segment-weights"),e=a.pstyle("segment-distances"),f=a.pstyle("segment-radii"),g=a.pstyle("radius-type"),h=Math.min(d.pfValue.length,e.pfValue.length),i=f.pfValue[f.pfValue.length-1],j=g.pfValue[g.pfValue.length-1];c.edgeType="segments",c.segpts=[],c.radii=[],c.isArcRadius=[];for(var k=0;k<h;k++){var l=d.pfValue[k],n=e.pfValue[k],o=1-l,p=this.findMidptPtsEtc(a,b),q=p.midptPts,r=p.vectorNormInverse,s={x:q.x1*o+q.x2*l,y:q.y1*o+q.y2*l};c.segpts.push(s.x+r.x*n,s.y+r.y*n),c.radii.push(void 0!==f.pfValue[k]?f.pfValue[k]:i),c.isArcRadius.push((void 0!==g.pfValue[k]?g.pfValue[k]:j)==="arc-radius")}},iF.findLoopPoints=function(a,b,c,d){var e=a._private.rscratch,f=b.dirCounts,g=b.srcPos,h=a.pstyle("control-point-distances"),i=h?h.pfValue[0]:void 0,j=a.pstyle("loop-direction").pfValue,k=a.pstyle("loop-sweep").pfValue,l=a.pstyle("control-point-step-size").pfValue;e.edgeType="self";var n=c,o=l;d&&(n=0,o=i);var p=j-Math.PI/2,q=p-k/2,r=p+k/2,s=String(j+"_"+k);n=void 0===f[s]?f[s]=0:++f[s],e.ctrlpts=[g.x+1.4*Math.cos(q)*o*(n/3+1),g.y+1.4*Math.sin(q)*o*(n/3+1),g.x+1.4*Math.cos(r)*o*(n/3+1),g.y+1.4*Math.sin(r)*o*(n/3+1)]},iF.findCompoundLoopPoints=function(a,b,c,d){var e=a._private.rscratch;e.edgeType="compound";var f=b.srcPos,g=b.tgtPos,h=b.srcW,i=b.srcH,j=b.tgtW,k=b.tgtH,l=a.pstyle("control-point-step-size").pfValue,n=a.pstyle("control-point-distances"),o=n?n.pfValue[0]:void 0,p=c,q=l;d&&(p=0,q=o);var r={x:f.x-h/2,y:f.y-i/2},s={x:g.x-j/2,y:g.y-k/2},t={x:Math.min(r.x,s.x),y:Math.min(r.y,s.y)},u=Math.max(.5,Math.log(.01*h)),v=Math.max(.5,Math.log(.01*j));e.ctrlpts=[t.x,t.y-1.7995514309304248*q*(p/3+1)*u,t.x-1.7995514309304248*q*(p/3+1)*v,t.y]},iF.findStraightEdgePoints=function(a){a._private.rscratch.edgeType="straight"},iF.findBezierPoints=function(a,b,c,d,e){var f=a._private.rscratch,g=a.pstyle("control-point-step-size").pfValue,h=a.pstyle("control-point-distances"),i=a.pstyle("control-point-weights"),j=h&&i?Math.min(h.value.length,i.value.length):1,k=h?h.pfValue[0]:void 0,l=i.value[0];f.edgeType=d?"multibezier":"bezier",f.ctrlpts=[];for(var n=0;n<j;n++){var o=(.5-b.eles.length/2+c)*g*(e?-1:1),p=void 0,q=a9(o);d&&(k=h?h.pfValue[n]:g,l=i.value[n]);var r=void 0!==(p=d?k:void 0!==k?q*k:void 0)?p:o,s=1-l,t=l,u=this.findMidptPtsEtc(a,b),v=u.midptPts,w=u.vectorNormInverse,x={x:v.x1*s+v.x2*t,y:v.y1*s+v.y2*t};f.ctrlpts.push(x.x+w.x*r,x.y+w.y*r)}},iF.findTaxiPoints=function(a,b){var c,d=a._private.rscratch;d.edgeType="segments";var e="vertical",f="horizontal",g="leftward",h="rightward",i="downward",j="upward",k=b.posPts,l=b.srcW,n=b.srcH,o=b.tgtW,p=b.tgtH,q="node-position"!==a.pstyle("edge-distances").value,r=a.pstyle("taxi-direction").value,s=r,t=a.pstyle("taxi-turn"),u="%"===t.units,v=t.pfValue,w=a.pstyle("taxi-turn-min-distance").pfValue,x=k.x2-k.x1,y=k.y2-k.y1,z=function(a,b){return a>0?Math.max(a-b,0):Math.min(a+b,0)},A=z(x,q?(l+o)/2:0),B=z(y,q?(n+p)/2:0),C=!1;"auto"===s?r=Math.abs(A)>Math.abs(B)?f:e:s===j||s===i?(r=e,C=!0):(s===g||s===h)&&(r=f,C=!0);var D=r===e,E=D?B:A,F=D?y:x,G=a9(F),H=!1;!(C&&(u||v<0))&&(s===i&&F<0||s===j&&F>0||s===g&&F>0||s===h&&F<0)&&(G*=-1,E=G*Math.abs(E),H=!0);var I=function(a){return Math.abs(a)<w||Math.abs(a)>=Math.abs(E)},J=I(c=u?(v<0?1+v:v)*E:(v<0?E:0)+v*G),K=I(Math.abs(E)-Math.abs(c));if((J||K)&&!H)if(D){var L=Math.abs(x)<=o/2;if(Math.abs(F)<=n/2){var M=(k.x1+k.x2)/2;d.segpts=[M,k.y1,M,k.y2]}else if(L){var N=(k.y1+k.y2)/2;d.segpts=[k.x1,N,k.x2,N]}else d.segpts=[k.x1,k.y2]}else{var O=Math.abs(y)<=p/2;if(Math.abs(F)<=l/2){var P=(k.y1+k.y2)/2;d.segpts=[k.x1,P,k.x2,P]}else if(O){var Q=(k.x1+k.x2)/2;d.segpts=[Q,k.y1,Q,k.y2]}else d.segpts=[k.x2,k.y1]}else if(D){var R=k.y1+c+(q?n/2*G:0);d.segpts=[k.x1,R,k.x2,R]}else{var S=k.x1+c+(q?l/2*G:0);d.segpts=[S,k.y1,S,k.y2]}if(d.isRound){var T=a.pstyle("taxi-radius").value,U="arc-radius"===a.pstyle("radius-type").value[0];d.radii=Array(d.segpts.length/2).fill(T),d.isArcRadius=Array(d.segpts.length/2).fill(U)}},iF.tryToCorrectInvalidPoints=function(a,b){var c=a._private.rscratch;if("bezier"===c.edgeType){var d=b.srcPos,e=b.tgtPos,f=b.srcW,g=b.srcH,h=b.tgtW,i=b.tgtH,j=b.srcShape,k=b.tgtShape,l=b.srcCornerRadius,n=b.tgtCornerRadius,o=b.srcRs,p=b.tgtRs,q=!v(c.startX)||!v(c.startY),r=!v(c.arrowStartX)||!v(c.arrowStartY),s=!v(c.endX)||!v(c.endY),t=!v(c.arrowEndX)||!v(c.arrowEndY),u=3*(this.getArrowWidth(a.pstyle("width").pfValue,a.pstyle("arrow-scale").value)*this.arrowShapeWidth),w=ba({x:c.ctrlpts[0],y:c.ctrlpts[1]},{x:c.startX,y:c.startY}),x=w<u,y=ba({x:c.ctrlpts[0],y:c.ctrlpts[1]},{x:c.endX,y:c.endY}),z=y<u,A=!1;if(q||r||x){A=!0;var B={x:c.ctrlpts[0]-d.x,y:c.ctrlpts[1]-d.y},C=Math.sqrt(B.x*B.x+B.y*B.y),D={x:B.x/C,y:B.y/C},E=Math.max(f,g),F={x:c.ctrlpts[0]+2*D.x*E,y:c.ctrlpts[1]+2*D.y*E},G=j.intersectLine(d.x,d.y,f,g,F.x,F.y,0,l,o);x?(c.ctrlpts[0]=c.ctrlpts[0]+D.x*(u-w),c.ctrlpts[1]=c.ctrlpts[1]+D.y*(u-w)):(c.ctrlpts[0]=G[0]+D.x*u,c.ctrlpts[1]=G[1]+D.y*u)}if(s||t||z){A=!0;var H={x:c.ctrlpts[0]-e.x,y:c.ctrlpts[1]-e.y},I=Math.sqrt(H.x*H.x+H.y*H.y),J={x:H.x/I,y:H.y/I},K=Math.max(f,g),L={x:c.ctrlpts[0]+2*J.x*K,y:c.ctrlpts[1]+2*J.y*K},M=k.intersectLine(e.x,e.y,h,i,L.x,L.y,0,n,p);z?(c.ctrlpts[0]=c.ctrlpts[0]+J.x*(u-y),c.ctrlpts[1]=c.ctrlpts[1]+J.y*(u-y)):(c.ctrlpts[0]=M[0]+J.x*u,c.ctrlpts[1]=M[1]+J.y*u)}A&&this.findEndpoints(a)}},iF.storeAllpts=function(a){var b=a._private.rscratch;if("multibezier"===b.edgeType||"bezier"===b.edgeType||"self"===b.edgeType||"compound"===b.edgeType){b.allpts=[],b.allpts.push(b.startX,b.startY);for(var c,d=0;d+1<b.ctrlpts.length;d+=2)b.allpts.push(b.ctrlpts[d],b.ctrlpts[d+1]),d+3<b.ctrlpts.length&&b.allpts.push((b.ctrlpts[d]+b.ctrlpts[d+2])/2,(b.ctrlpts[d+1]+b.ctrlpts[d+3])/2);(b.allpts.push(b.endX,b.endY),b.ctrlpts.length/2%2==0)?(c=b.allpts.length/2-1,b.midX=b.allpts[c],b.midY=b.allpts[c+1]):(c=b.allpts.length/2-3,b.midX=bd(b.allpts[c],b.allpts[c+2],b.allpts[c+4],.5),b.midY=bd(b.allpts[c+1],b.allpts[c+3],b.allpts[c+5],.5))}else if("straight"===b.edgeType)b.allpts=[b.startX,b.startY,b.endX,b.endY],b.midX=(b.startX+b.endX+b.arrowStartX+b.arrowEndX)/4,b.midY=(b.startY+b.endY+b.arrowStartY+b.arrowEndY)/4;else if("segments"===b.edgeType){if(b.allpts=[],b.allpts.push(b.startX,b.startY),b.allpts.push.apply(b.allpts,b.segpts),b.allpts.push(b.endX,b.endY),b.isRound){b.roundCorners=[];for(var e=2;e+3<b.allpts.length;e+=2){var f=b.radii[e/2-1],g=b.isArcRadius[e/2-1];b.roundCorners.push(iD({x:b.allpts[e-2],y:b.allpts[e-1]},{x:b.allpts[e],y:b.allpts[e+1],radius:f},{x:b.allpts[e+2],y:b.allpts[e+3]},f,g))}}if(b.segpts.length%4==0){var h=b.segpts.length/2,i=h-2;b.midX=(b.segpts[i]+b.segpts[h])/2,b.midY=(b.segpts[i+1]+b.segpts[h+1])/2}else{var j=b.segpts.length/2-1;if(b.isRound){var k={x:b.segpts[j],y:b.segpts[j+1]},l=b.roundCorners[j/2];if(0===l.radius){var n={x:b.segpts[j+2],y:b.segpts[j+3]};b.midX=k.x,b.midY=k.y,b.midVector=[k.y-n.y,n.x-k.x]}else{var o=[k.x-l.cx,k.y-l.cy],p=l.radius/Math.sqrt(Math.pow(o[0],2)+Math.pow(o[1],2));o=o.map(function(a){return a*p}),b.midX=l.cx+o[0],b.midY=l.cy+o[1],b.midVector=o}}else b.midX=b.segpts[j],b.midY=b.segpts[j+1]}}},iF.checkForInvalidEdgeWarning=function(a){var b=a[0]._private.rscratch;b.nodesOverlap||v(b.startX)&&v(b.startY)&&v(b.endX)&&v(b.endY)?b.loggedErr=!1:b.loggedErr||(b.loggedErr=!0,aA("Edge `"+a.id()+"` has invalid endpoints and so it is impossible to draw. Adjust your edge style (e.g. control points) accordingly or use an alternative edge type. This is expected behaviour when the source node and the target node overlap."))},iF.findEdgeControlPoints=function(a){var b=this;if(a&&0!==a.length){for(var c=this,d=c.cy.hasCompoundNodes(),e=new aM,f=function(a,b){return[].concat(h(a),[+!!b]).join("-")},g=[],i=[],j=0;j<a.length;j++){var k=a[j],l=k._private,n=k.pstyle("curve-style").value;if(!k.removed()&&k.takesUpSpace()){if("haystack"===n){i.push(k);continue}var o="unbundled-bezier"===n||J(n,"segments")||"straight"===n||"straight-triangle"===n||J(n,"taxi"),p="unbundled-bezier"===n||"bezier"===n,q=l.source,r=l.target,s=[q.poolIndex(),r.poolIndex()].sort(),t=f(s,o),u=e.get(t);null==u&&(u={eles:[]},g.push({pairId:s,edgeIsUnbundled:o}),e.set(t,u)),u.eles.push(k),o&&(u.hasUnbundled=!0),p&&(u.hasBezier=!0)}}for(var w=0;w<g.length;w++)!function(){var a,h=g[w],i=f(h.pairId,h.edgeIsUnbundled),j=e.get(i);if(!j.hasUnbundled){var k=j.eles[0].parallelEdges().filter(function(a){return a.isBundledBezier()});aH(j.eles),k.forEach(function(a){return j.eles.push(a)}),j.eles.sort(function(a,b){return a.poolIndex()-b.poolIndex()})}var l=j.eles[0],n=l.source(),o=l.target();if(n.poolIndex()>o.poolIndex()){var p=n;n=o,o=p}var q=j.srcPos=n.position(),r=j.tgtPos=o.position(),s=j.srcW=n.outerWidth(),t=j.srcH=n.outerHeight(),u=j.tgtW=o.outerWidth(),x=j.tgtH=o.outerHeight(),y=j.srcShape=c.nodeShapes[b.getNodeShape(n)],z=j.tgtShape=c.nodeShapes[b.getNodeShape(o)],A=j.srcCornerRadius="auto"===n.pstyle("corner-radius").value?"auto":n.pstyle("corner-radius").pfValue,B=j.tgtCornerRadius="auto"===o.pstyle("corner-radius").value?"auto":o.pstyle("corner-radius").pfValue,C=j.tgtRs=o._private.rscratch,D=j.srcRs=n._private.rscratch;j.dirCounts={north:0,west:0,south:0,east:0,northwest:0,southwest:0,northeast:0,southeast:0};for(var E=0;E<j.eles.length;E++){var F=j.eles[E],G=F[0]._private.rscratch,H=F.pstyle("curve-style").value,I="unbundled-bezier"===H||J(H,"segments")||J(H,"taxi"),K=!n.same(F.source());if(!j.calculatedIntersection&&n!==o&&(j.hasBezier||j.hasUnbundled)){j.calculatedIntersection=!0;var L=y.intersectLine(q.x,q.y,s,t,r.x,r.y,0,A,D),M=j.srcIntn=L,N=z.intersectLine(r.x,r.y,u,x,q.x,q.y,0,B,C),O=j.tgtIntn=N,P=j.intersectionPts={x1:L[0],x2:N[0],y1:L[1],y2:N[1]},Q=j.posPts={x1:q.x,x2:r.x,y1:q.y,y2:r.y},R=N[1]-L[1],S=N[0]-L[0],T=Math.sqrt(S*S+R*R);v(T)&&T>=iE||(T=Math.sqrt(Math.max(S*S,.01)+Math.max(R*R,.01)));var U=j.vector={x:S,y:R},V=j.vectorNorm={x:U.x/T,y:U.y/T},W={x:-V.y,y:V.x};j.nodesOverlap=!v(T)||z.checkPoint(L[0],L[1],0,u,x,r.x,r.y,B,C)||y.checkPoint(N[0],N[1],0,s,t,q.x,q.y,A,D),j.vectorNormInverse=W,a={nodesOverlap:j.nodesOverlap,dirCounts:j.dirCounts,calculatedIntersection:!0,hasBezier:j.hasBezier,hasUnbundled:j.hasUnbundled,eles:j.eles,srcPos:r,srcRs:C,tgtPos:q,tgtRs:D,srcW:u,srcH:x,tgtW:s,tgtH:t,srcIntn:O,tgtIntn:M,srcShape:z,tgtShape:y,posPts:{x1:Q.x2,y1:Q.y2,x2:Q.x1,y2:Q.y1},intersectionPts:{x1:P.x2,y1:P.y2,x2:P.x1,y2:P.y1},vector:{x:-U.x,y:-U.y},vectorNorm:{x:-V.x,y:-V.y},vectorNormInverse:{x:-W.x,y:-W.y}}}var X=K?a:j;G.nodesOverlap=X.nodesOverlap,G.srcIntn=X.srcIntn,G.tgtIntn=X.tgtIntn,G.isRound=H.startsWith("round"),d&&(n.isParent()||n.isChild()||o.isParent()||o.isChild())&&(n.parents().anySame(o)||o.parents().anySame(n)||n.same(o)&&n.isParent())?b.findCompoundLoopPoints(F,X,E,I):n===o?b.findLoopPoints(F,X,E,I):H.endsWith("segments")?b.findSegmentsPoints(F,X):H.endsWith("taxi")?b.findTaxiPoints(F,X):"straight"!==H&&(I||j.eles.length%2!=1||E!==Math.floor(j.eles.length/2))?b.findBezierPoints(F,X,E,I,K):b.findStraightEdgePoints(F),b.findEndpoints(F),b.tryToCorrectInvalidPoints(F,X),b.checkForInvalidEdgeWarning(F),b.storeAllpts(F),b.storeEdgeProjections(F),b.calculateArrowAngles(F),b.recalculateEdgeLabelProjections(F),b.calculateLabelAngles(F)}}();this.findHaystackPoints(i)}},iF.getSegmentPoints=function(a){var b=a[0]._private.rscratch;if(this.recalculateRenderedStyle(a),"segments"===b.edgeType)return iG(b.segpts)},iF.getControlPoints=function(a){var b=a[0]._private.rscratch;this.recalculateRenderedStyle(a);var c=b.edgeType;if("bezier"===c||"multibezier"===c||"self"===c||"compound"===c)return iG(b.ctrlpts)},iF.getEdgeMidpoint=function(a){var b=a[0]._private.rscratch;return this.recalculateRenderedStyle(a),{x:b.midX,y:b.midY}};var iH={};iH.manualEndptToPx=function(a,b){var c=a.position(),d=a.outerWidth(),e=a.outerHeight(),f=a._private.rscratch;if(2===b.value.length){var g=[b.pfValue[0],b.pfValue[1]];return"%"===b.units[0]&&(g[0]=g[0]*d),"%"===b.units[1]&&(g[1]=g[1]*e),g[0]+=c.x,g[1]+=c.y,g}var h=b.pfValue[0];h=-Math.PI/2+h;var i=2*Math.max(d,e),j=[c.x+Math.cos(h)*i,c.y+Math.sin(h)*i];return this.nodeShapes[this.getNodeShape(a)].intersectLine(c.x,c.y,d,e,j[0],j[1],0,"auto"===a.pstyle("corner-radius").value?"auto":a.pstyle("corner-radius").pfValue,f)},iH.findEndpoints=function(a){var b,c,d,e,f,g,h,i,j,k=a.source()[0],l=a.target()[0],n=k.position(),o=l.position(),p=a.pstyle("target-arrow-shape").value,q=a.pstyle("source-arrow-shape").value,r=a.pstyle("target-distance-from-node").pfValue,s=a.pstyle("source-distance-from-node").pfValue,t=k._private.rscratch,u=l._private.rscratch,w=a.pstyle("curve-style").value,x=a._private.rscratch,y=x.edgeType,z=J(w,"taxi"),A="self"===y||"compound"===y,B="bezier"===y||"multibezier"===y||A,C="bezier"!==y,D="straight"===y||"segments"===y,E="segments"===y,F=A||z,G=a.pstyle("source-endpoint"),H=F?"outside-to-node":G.value,I="auto"===k.pstyle("corner-radius").value?"auto":k.pstyle("corner-radius").pfValue,K=a.pstyle("target-endpoint"),L=F?"outside-to-node":K.value,M="auto"===l.pstyle("corner-radius").value?"auto":l.pstyle("corner-radius").pfValue;x.srcManEndpt=G,x.tgtManEndpt=K;var N=null!=(b=(null==K||null==(c=K.pfValue)?void 0:c.length)===2?K.pfValue:null)?b:[0,0],O=null!=(d=(null==G||null==(e=G.pfValue)?void 0:e.length)===2?G.pfValue:null)?d:[0,0];if(B){var P=[x.ctrlpts[0],x.ctrlpts[1]];g=C?[x.ctrlpts[x.ctrlpts.length-2],x.ctrlpts[x.ctrlpts.length-1]]:P,h=P}else if(D){var Q=E?x.segpts.slice(0,2):[o.x+N[0],o.y+N[1]];g=E?x.segpts.slice(x.segpts.length-2):[n.x+O[0],n.y+O[1]],h=Q}if("inside-to-node"===L)f=[o.x,o.y];else if(K.units)f=this.manualEndptToPx(l,K);else if("outside-to-line"===L)f=x.tgtIntn;else if("outside-to-node"===L||"outside-to-node-or-label"===L?i=g:("outside-to-line"===L||"outside-to-line-or-label"===L)&&(i=[n.x,n.y]),f=this.nodeShapes[this.getNodeShape(l)].intersectLine(o.x,o.y,l.outerWidth(),l.outerHeight(),i[0],i[1],0,M,u),"outside-to-node-or-label"===L||"outside-to-line-or-label"===L){var R=l._private.rscratch,S=R.labelWidth,T=R.labelHeight,U=R.labelX,V=R.labelY,W=S/2,X=T/2,Y=l.pstyle("text-valign").value;"top"===Y?V-=X:"bottom"===Y&&(V+=X);var Z=l.pstyle("text-halign").value;"left"===Z?U-=W:"right"===Z&&(U+=W);var $=bL(i[0],i[1],[U-W,V-X,U+W,V-X,U+W,V+X,U-W,V+X],o.x,o.y);if($.length>0){var _=bb(n,a2(f)),aa=bb(n,a2($)),ab=_;aa<_&&(f=$,ab=aa),$.length>2&&bb(n,{x:$[2],y:$[3]})<ab&&(f=[$[2],$[3]])}}var ac=bN(f,g,this.arrowShapes[p].spacing(a)+r),ad=bN(f,g,this.arrowShapes[p].gap(a)+r);if(x.endX=ad[0],x.endY=ad[1],x.arrowEndX=ac[0],x.arrowEndY=ac[1],"inside-to-node"===H)f=[n.x,n.y];else if(G.units)f=this.manualEndptToPx(k,G);else if("outside-to-line"===H)f=x.srcIntn;else if("outside-to-node"===H||"outside-to-node-or-label"===H?j=h:("outside-to-line"===H||"outside-to-line-or-label"===H)&&(j=[o.x,o.y]),f=this.nodeShapes[this.getNodeShape(k)].intersectLine(n.x,n.y,k.outerWidth(),k.outerHeight(),j[0],j[1],0,I,t),"outside-to-node-or-label"===H||"outside-to-line-or-label"===H){var ae=k._private.rscratch,af=ae.labelWidth,ag=ae.labelHeight,ah=ae.labelX,ai=ae.labelY,aj=af/2,ak=ag/2,al=k.pstyle("text-valign").value;"top"===al?ai-=ak:"bottom"===al&&(ai+=ak);var am=k.pstyle("text-halign").value;"left"===am?ah-=aj:"right"===am&&(ah+=aj);var an=bL(j[0],j[1],[ah-aj,ai-ak,ah+aj,ai-ak,ah+aj,ai+ak,ah-aj,ai+ak],n.x,n.y);if(an.length>0){var ao=bb(o,a2(f)),ap=bb(o,a2(an)),aq=ao;ap<ao&&(f=[an[0],an[1]],aq=ap),an.length>2&&bb(o,{x:an[2],y:an[3]})<aq&&(f=[an[2],an[3]])}}var ar=bN(f,h,this.arrowShapes[q].spacing(a)+s),as=bN(f,h,this.arrowShapes[q].gap(a)+s);x.startX=as[0],x.startY=as[1],x.arrowStartX=ar[0],x.arrowStartY=ar[1],(B||C||D)&&(v(x.startX)&&v(x.startY)&&v(x.endX)&&v(x.endY)?x.badLine=!1:x.badLine=!0)},iH.getSourceEndpoint=function(a){var b=a[0]._private.rscratch;return(this.recalculateRenderedStyle(a),"haystack"===b.edgeType)?{x:b.haystackPts[0],y:b.haystackPts[1]}:{x:b.arrowStartX,y:b.arrowStartY}},iH.getTargetEndpoint=function(a){var b=a[0]._private.rscratch;return(this.recalculateRenderedStyle(a),"haystack"===b.edgeType)?{x:b.haystackPts[2],y:b.haystackPts[3]}:{x:b.arrowEndX,y:b.arrowEndY}};var iI={};iI.storeEdgeProjections=function(a){var b=a._private,c=b.rscratch,d=c.edgeType;if(b.rstyle.bezierPts=null,b.rstyle.linePts=null,b.rstyle.haystackPts=null,"multibezier"===d||"bezier"===d||"self"===d||"compound"===d){b.rstyle.bezierPts=[];for(var e=0;e+5<c.allpts.length;e+=4)!function(a,b,c){for(var d=function(a,b,c,d){return bd(a,b,c,d)},e=b._private.rstyle.bezierPts,f=0;f<a.bezierProjPcts.length;f++){var g=a.bezierProjPcts[f];e.push({x:d(c[0],c[2],c[4],g),y:d(c[1],c[3],c[5],g)})}}(this,a,c.allpts.slice(e,e+6))}else if("segments"===d)for(var f=b.rstyle.linePts=[],e=0;e+1<c.allpts.length;e+=2)f.push({x:c.allpts[e],y:c.allpts[e+1]});else if("haystack"===d){var g=c.haystackPts;b.rstyle.haystackPts=[{x:g[0],y:g[1]},{x:g[2],y:g[3]}]}b.rstyle.arrowWidth=this.getArrowWidth(a.pstyle("width").pfValue,a.pstyle("arrow-scale").value)*this.arrowShapeWidth},iI.recalculateEdgeProjections=function(a){this.findEdgeControlPoints(a)};var iJ={};iJ.recalculateNodeLabelProjection=function(a){var b,c;if(!C(a.pstyle("label").strValue)){var d=a._private,e=a.width(),f=a.height(),g=a.padding(),h=a.position(),i=a.pstyle("text-halign").strValue,j=a.pstyle("text-valign").strValue,k=d.rscratch,l=d.rstyle;switch(i){case"left":b=h.x-e/2-g;break;case"right":b=h.x+e/2+g;break;default:b=h.x}switch(j){case"top":c=h.y-f/2-g;break;case"bottom":c=h.y+f/2+g;break;default:c=h.y}k.labelX=b,k.labelY=c,l.labelX=b,l.labelY=c,this.calculateLabelAngles(a),this.applyLabelDimensions(a)}};var iK=function(a,b){var c=Math.atan(b/a);return 0===a&&c<0&&(c*=-1),c},iL=function(a,b){return iK(b.x-a.x,b.y-a.y)},iM=function(a,b,c,d){var e=bg(0,d-.001,1),f=bg(0,d+.001,1);return iL(be(a,b,c,e),be(a,b,c,f))};iJ.recalculateEdgeLabelProjections=function(a){var b,c=a._private,d=c.rscratch,e=this,f={mid:a.pstyle("label").strValue,source:a.pstyle("source-label").strValue,target:a.pstyle("target-label").strValue};if(f.mid||f.source||f.target){b={x:d.midX,y:d.midY};var g=function(a,b,d){aK(c.rscratch,a,b,d),aK(c.rstyle,a,b,d)};g("labelX",null,b.x),g("labelY",null,b.y),g("labelAutoAngle",null,iK(d.midDispX,d.midDispY));var h=function(){if(h.cache)return h.cache;for(var a=[],b=0;b+5<d.allpts.length;b+=4){var f={x:d.allpts[b],y:d.allpts[b+1]},g={x:d.allpts[b+2],y:d.allpts[b+3]},i={x:d.allpts[b+4],y:d.allpts[b+5]};a.push({p0:f,p1:g,p2:i,startDist:0,length:0,segments:[]})}var j=c.rstyle.bezierPts,k=e.bezierProjPcts.length;function l(a,b,c,d,e){var f=ba(b,c),g=a.segments[a.segments.length-1],h={p0:b,p1:c,t0:d,t1:e,startDist:g?g.startDist+g.length:0,length:f};a.segments.push(h),a.length+=f}for(var n=0;n<a.length;n++){var o=a[n],p=a[n-1];p&&(o.startDist=p.startDist+p.length),l(o,o.p0,j[n*k],0,e.bezierProjPcts[0]);for(var q=0;q<k-1;q++)l(o,j[n*k+q],j[n*k+q+1],e.bezierProjPcts[q],e.bezierProjPcts[q+1]);l(o,j[n*k+k-1],o.p2,e.bezierProjPcts[k-1],1)}return h.cache=a},i=function(c){var e="source"===c;if(f[c]){var i=a.pstyle(c+"-text-offset").pfValue;switch(d.edgeType){case"self":case"compound":case"bezier":case"multibezier":for(var j,k,l=h(),n=0,o=0,p=0;p<l.length;p++){for(var q=l[e?p:l.length-1-p],r=0;r<q.segments.length;r++){var s=q.segments[e?r:q.segments.length-1-r],t=p===l.length-1&&r===q.segments.length-1;if(n=o,(o+=s.length)>=i||t){k={cp:q,segment:s};break}}if(k)break}var u=k.cp,v=k.segment,w=(i-n)/v.length,x=v.t1-v.t0,y=e?v.t0+x*w:v.t1-x*w;y=bg(0,y,1),b=be(u.p0,u.p1,u.p2,y),j=iM(u.p0,u.p1,u.p2,y);break;case"straight":case"segments":case"haystack":for(var z,A,B,C,D=0,E=d.allpts.length,F=0;F+3<E&&(e?(z={x:d.allpts[F],y:d.allpts[F+1]},A={x:d.allpts[F+2],y:d.allpts[F+3]}):(z={x:d.allpts[E-2-F],y:d.allpts[E-1-F]},A={x:d.allpts[E-4-F],y:d.allpts[E-3-F]}),B=ba(z,A),C=D,!((D+=B)>=i));F+=2);var G=(i-C)/B;b=bf(z,A,G=bg(0,G,1)),j=iL(z,A)}g("labelX",c,b.x),g("labelY",c,b.y),g("labelAutoAngle",c,j)}};i("source"),i("target"),this.applyLabelDimensions(a)}},iJ.applyLabelDimensions=function(a){this.applyPrefixedLabelDimensions(a),a.isEdge()&&(this.applyPrefixedLabelDimensions(a,"source"),this.applyPrefixedLabelDimensions(a,"target"))},iJ.applyPrefixedLabelDimensions=function(a,b){var c=a._private,d=this.getLabelText(a,b),e=an(d,a._private.labelDimsKey);if(aJ(c.rscratch,"prefixedLabelDimsKey",b)!==e){aK(c.rscratch,"prefixedLabelDimsKey",b,e);var f=this.calculateLabelDimensions(a,d),g=a.pstyle("line-height").pfValue,h=a.pstyle("text-wrap").strValue,i=aJ(c.rscratch,"labelWrapCachedLines",b)||[],j="wrap"!==h?1:Math.max(i.length,1),k=f.height/j,l=f.width,n=f.height+(j-1)*(g-1)*k;aK(c.rstyle,"labelWidth",b,l),aK(c.rscratch,"labelWidth",b,l),aK(c.rstyle,"labelHeight",b,n),aK(c.rscratch,"labelHeight",b,n),aK(c.rscratch,"labelLineHeight",b,k*g)}},iJ.getLabelText=function(a,b){var c=a._private,d=b?b+"-":"",f=a.pstyle(d+"label").strValue,g=a.pstyle("text-transform").value,h=function(a,d){return d?(aK(c.rscratch,a,b,d),d):aJ(c.rscratch,a,b)};if(!f)return"";"none"==g||("uppercase"==g?f=f.toUpperCase():"lowercase"==g&&(f=f.toLowerCase()));var i=a.pstyle("text-wrap").value;if("wrap"===i){var j=h("labelKey");if(null!=j&&h("labelWrapKey")===j)return h("labelWrapCachedText");for(var k=f.split("\n"),l=a.pstyle("text-max-width").pfValue,n="anywhere"===a.pstyle("text-overflow-wrap").value,o=[],p=/[\s\u200b]+|$/g,q=0;q<k.length;q++){var r=k[q],s=this.calculateLabelDimensions(a,r).width;if(n&&(r=r.split("").join("")),s>l){var t,u=r.matchAll(p),v="",w=0,x=e(u);try{for(x.s();!(t=x.n()).done;){var y=t.value,z=y[0],A=r.substring(w,y.index);w=y.index+z.length;var B=0===v.length?A:v+A+z;this.calculateLabelDimensions(a,B).width<=l?v+=A+z:(v&&o.push(v),v=A+z)}}catch(a){x.e(a)}finally{x.f()}v.match(/^[\s\u200b]+$/)||o.push(v)}else o.push(r)}h("labelWrapCachedLines",o),f=h("labelWrapCachedText",o.join("\n")),h("labelWrapKey",j)}else if("ellipsis"===i){var C=a.pstyle("text-max-width").pfValue,D="",E=!1;if(this.calculateLabelDimensions(a,f).width<C)return f;for(var F=0;F<f.length&&!(this.calculateLabelDimensions(a,D+f[F]+"…").width>C);F++)D+=f[F],F===f.length-1&&(E=!0);return E||(D+="…"),D}return f},iJ.getLabelJustification=function(a){var b=a.pstyle("text-justification").strValue,c=a.pstyle("text-halign").strValue;if("auto"!==b)return b;if(!a.isNode())return"center";switch(c){case"left":return"right";case"right":return"left";default:return"center"}},iJ.calculateLabelDimensions=function(a,b){var c=this.cy.window().document,d=a.pstyle("font-style").strValue,e=a.pstyle("font-size").pfValue,f=a.pstyle("font-family").strValue,g=a.pstyle("font-weight").strValue,h=this.labelCalcCanvas,i=this.labelCalcCanvasContext;if(!h){h=this.labelCalcCanvas=c.createElement("canvas"),i=this.labelCalcCanvasContext=h.getContext("2d");var j=h.style;j.position="absolute",j.left="-9999px",j.top="-9999px",j.zIndex="-1",j.visibility="hidden",j.pointerEvents="none"}i.font="".concat(d," ").concat(g," ").concat(e,"px ").concat(f);for(var k=0,l=0,n=b.split("\n"),o=0;o<n.length;o++){var p=n[o];k=Math.max(Math.ceil(i.measureText(p).width),k),l+=e}return{width:k+=0,height:l+=0}},iJ.calculateLabelAngle=function(a,b){var c=a._private.rscratch,d=a.isEdge(),e=a.pstyle((b?b+"-":"")+"text-rotation"),f=e.strValue;return"none"===f?0:d&&"autorotate"===f?c.labelAutoAngle:"autorotate"===f?0:e.pfValue},iJ.calculateLabelAngles=function(a){var b=a.isEdge(),c=a._private.rscratch;c.labelAngle=this.calculateLabelAngle(a),b&&(c.sourceLabelAngle=this.calculateLabelAngle(a,"source"),c.targetLabelAngle=this.calculateLabelAngle(a,"target"))};var iN={},iO=!1;iN.getNodeShape=function(a){var b=a.pstyle("shape").value;if("cutrectangle"===b&&(28>a.width()||28>a.height()))return iO||(aA("The `cutrectangle` node shape can not be used at small sizes so `rectangle` is used instead"),iO=!0),"rectangle";if(a.isParent())if("rectangle"===b||"roundrectangle"===b||"round-rectangle"===b||"cutrectangle"===b||"cut-rectangle"===b||"barrel"===b)return b;else return"rectangle";if("polygon"===b){var c=a.pstyle("shape-polygon-points").value;return this.nodeShapes.makePolygon(c).name}return b};var iP={};iP.registerCalculationListeners=function(){var a=this.cy,b=a.collection(),c=this,d=function(a){var c=!(arguments.length>1)||void 0===arguments[1]||arguments[1];if(b.merge(a),c)for(var d=0;d<a.length;d++){var e=a[d]._private.rstyle;e.clean=!1,e.cleanConnected=!1}};c.binder(a).on("bounds.* dirty.*",function(a){d(a.target)}).on("style.* background.*",function(a){d(a.target,!1)});var e=function(e){if(e){var f=c.onUpdateEleCalcsFns;b.cleanStyle();for(var g=0;g<b.length;g++){var h=b[g],i=h._private.rstyle;h.isNode()&&!i.cleanConnected&&(d(h.connectedEdges()),i.cleanConnected=!0)}if(f)for(var j=0;j<f.length;j++)(0,f[j])(e,b);c.recalculateRenderedStyle(b),b=a.collection()}};c.flushRenderedStyleQueue=function(){e(!0)},c.beforeRender(e,c.beforeRenderPriorities.eleCalcs)},iP.onUpdateEleCalcs=function(a){(this.onUpdateEleCalcsFns=this.onUpdateEleCalcsFns||[]).push(a)},iP.recalculateRenderedStyle=function(a,b){var c=function(a){return a._private.rstyle.cleanConnected};if(0!==a.length){var d=[],e=[];if(!this.destroyed){void 0===b&&(b=!0);for(var f=0;f<a.length;f++){var g=a[f],h=g._private,i=h.rstyle;!g.isEdge()||c(g.source())&&c(g.target())||(i.clean=!1),g.isEdge()&&g.isBundledBezier()&&g.parallelEdges().some(function(a){return!a._private.rstyle.clean&&a.isBundledBezier()})&&(i.clean=!1),b&&i.clean||g.removed()||"none"!==g.pstyle("display").value&&("nodes"===h.group?e.push(g):d.push(g),i.clean=!0)}for(var j=0;j<e.length;j++){var k=e[j],l=k._private.rstyle,n=k.position();this.recalculateNodeLabelProjection(k),l.nodeX=n.x,l.nodeY=n.y,l.nodeW=k.pstyle("width").pfValue,l.nodeH=k.pstyle("height").pfValue}this.recalculateEdgeProjections(d);for(var o=0;o<d.length;o++){var p=d[o]._private,q=p.rstyle,r=p.rscratch;q.srcX=r.arrowStartX,q.srcY=r.arrowStartY,q.tgtX=r.arrowEndX,q.tgtY=r.arrowEndY,q.midX=r.midX,q.midY=r.midY,q.labelAngle=r.labelAngle,q.sourceLabelAngle=r.sourceLabelAngle,q.targetLabelAngle=r.targetLabelAngle}}}};var iQ={};iQ.updateCachedGrabbedEles=function(){var a=this.cachedZSortedEles;if(a){a.drag=[],a.nondrag=[];for(var b=[],c=0;c<a.length;c++){var d=a[c],e=d._private.rscratch;d.grabbed()&&!d.isParent()?b.push(d):e.inDragLayer?a.drag.push(d):a.nondrag.push(d)}for(var c=0;c<b.length;c++){var d=b[c];a.drag.push(d)}}},iQ.invalidateCachedZSortedEles=function(){this.cachedZSortedEles=null},iQ.getCachedZSortedEles=function(a){if(a||!this.cachedZSortedEles){var b=this.cy.mutableElements().toArray();b.sort(em),b.interactive=b.filter(function(a){return a.interactive()}),this.cachedZSortedEles=b,this.updateCachedGrabbedEles()}else b=this.cachedZSortedEles;return b};var iR={};[fT,fU,iF,iH,iI,iJ,iN,iP,iQ].forEach(function(a){Q(iR,a)});var iS={};iS.getCachedImage=function(a,b,c){var d=this.imageCache=this.imageCache||{},e=d[a];if(e)return e.image.complete||e.image.addEventListener("load",c),e.image;var f=(e=d[a]=d[a]||{}).image=new Image;f.addEventListener("load",c),f.addEventListener("error",function(){f.error=!0});var g="data:";return a.substring(0,g.length).toLowerCase()!==g&&(f.crossOrigin=b="null"===b?null:b),f.src=a,f};var iT={};iT.registerBinding=function(a,b,c,d){var e=Array.prototype.slice.apply(arguments,[1]);if(Array.isArray(a)){for(var f=[],g=0;g<a.length;g++){var h=a[g];if(void 0!==h){var i=this.binder(h);f.push(i.on.apply(i,e))}}return f}var i=this.binder(a);return i.on.apply(i,e)},iT.binder=function(a){var b=this,c=b.cy.window(),d=a===c||a===c.document||a===c.document.body||"undefined"!=typeof HTMLElement&&a instanceof HTMLElement;if(null==b.supportsPassiveEvents){var e=!1;try{var f=Object.defineProperty({},"passive",{get:function(){return e=!0,!0}});c.addEventListener("test",null,f)}catch(a){}b.supportsPassiveEvents=e}var g=function(c,e,f){var g=Array.prototype.slice.call(arguments);return d&&b.supportsPassiveEvents&&(g[2]={capture:null!=f&&f,passive:!1,once:!1}),b.bindings.push({target:a,args:g}),(a.addEventListener||a.on).apply(a,g),this};return{on:g,addEventListener:g,addListener:g,bind:g}},iT.nodeIsDraggable=function(a){return a&&a.isNode()&&!a.locked()&&a.grabbable()},iT.nodeIsGrabbable=function(a){return this.nodeIsDraggable(a)&&a.interactive()},iT.load=function(){var a,b,c,d,e,f,g,h,i,j,k,l,n,o,p,q,r,s,t,u,w,x,y,z,A,B=this,C=B.cy.window(),D=function(a){return a.selected()},E=function(a,b,c,d){null==a&&(a=B.cy);for(var e=0;e<b.length;e++){var f=b[e];a.emit({originalEvent:c,type:f,position:d})}},F=function(a){return a.shiftKey||a.metaKey||a.ctrlKey},G=function(a,b){var c=!0;if(B.cy.hasCompoundNodes()&&a&&a.pannable())for(var d=0;b&&d<b.length;d++){var a=b[d];if(a.isNode()&&a.isParent()&&!a.pannable()){c=!1;break}}else c=!0;return c},H=function(a){a[0]._private.grabbed=!0},I=function(a){a[0]._private.grabbed=!1},J=function(a){a[0]._private.rscratch.inDragLayer=!0},K=function(a){a[0]._private.rscratch.inDragLayer=!1},L=function(a){a[0]._private.rscratch.isGrabTarget=!0},M=function(a){a[0]._private.rscratch.isGrabTarget=!1},N=function(a,b){var c=b.addToList;!c.has(a)&&a.grabbable()&&!a.locked()&&(c.merge(a),H(a))},O=function(a,b){if(a.cy().hasCompoundNodes()&&(null!=b.inDragLayer||null!=b.addToList)){var c=a.descendants();b.inDragLayer&&(c.forEach(J),c.connectedEdges().forEach(J)),b.addToList&&N(c,b)}},P=function(a,b){b=b||{};var c=a.cy().hasCompoundNodes();b.inDragLayer&&(a.forEach(J),a.neighborhood().stdFilter(function(a){return!c||a.isEdge()}).forEach(J)),b.addToList&&a.forEach(function(a){N(a,b)}),O(a,b),R(a,{inDragLayer:b.inDragLayer}),B.updateCachedGrabbedEles()},Q=function(a){a&&(B.getCachedZSortedEles().forEach(function(a){I(a),K(a),M(a)}),B.updateCachedGrabbedEles())},R=function(a,b){if((null!=b.inDragLayer||null!=b.addToList)&&a.cy().hasCompoundNodes()){var c=a.ancestors().orphans();if(!c.same(a)){var d=c.descendants().spawnSelf().merge(c).unmerge(a).unmerge(a.descendants()),e=d.connectedEdges();b.inDragLayer&&(e.forEach(J),d.forEach(J)),b.addToList&&d.forEach(function(a){N(a,b)})}}},S=function(){null!=document.activeElement&&null!=document.activeElement.blur&&document.activeElement.blur()},T="undefined"!=typeof MutationObserver,U="undefined"!=typeof ResizeObserver;T?(B.removeObserver=new MutationObserver(function(a){for(var b=0;b<a.length;b++){var c=a[b].removedNodes;if(c){for(var d=0;d<c.length;d++)if(c[d]===B.container){B.destroy();break}}}}),B.container.parentNode&&B.removeObserver.observe(B.container.parentNode,{childList:!0})):B.registerBinding(B.container,"DOMNodeRemoved",function(a){B.destroy()});var V=ad(function(){B.cy.resize()},100);T&&(B.styleObserver=new MutationObserver(V),B.styleObserver.observe(B.container,{attributes:!0})),B.registerBinding(C,"resize",V),U&&(B.resizeObserver=new ResizeObserver(V),B.resizeObserver.observe(B.container));for(var W=function(){B.invalidateContainerClientCoordsCache()},X=B.container;null!=X;){a=X,B.registerBinding(a,"transitionend",W),B.registerBinding(a,"animationend",W),B.registerBinding(a,"scroll",W),X=X.parentNode}B.registerBinding(B.container,"contextmenu",function(a){a.preventDefault()});var Y=function(a){for(var b=B.findContainerClientCoords(),c=b[0],d=b[1],e=b[2],f=b[3],g=a.touches?a.touches:[a],h=!1,i=0;i<g.length;i++){var j=g[i];if(c<=j.clientX&&j.clientX<=c+e&&d<=j.clientY&&j.clientY<=d+f){h=!0;break}}if(!h)return!1;for(var k=B.container,l=a.target.parentNode,n=!1;l;){if(l===k){n=!0;break}l=l.parentNode}return!!n};B.registerBinding(B.container,"mousedown",function(a){if(Y(a)&&(1!==B.hoverData.which||1===a.which)){a.preventDefault(),S(),B.hoverData.capture=!0,B.hoverData.which=a.which;var b=B.cy,c=[a.clientX,a.clientY],d=B.projectIntoViewport(c[0],c[1]),e=B.selection,f=B.findNearestElements(d[0],d[1],!0,!1),g=f[0],h=B.dragData.possibleDragElements;B.hoverData.mdownPos=d,B.hoverData.mdownGPos=c;var i=function(b){return{originalEvent:a,type:b,position:{x:d[0],y:d[1]}}};if(3==a.which){B.hoverData.cxtStarted=!0;var j={originalEvent:a,type:"cxttapstart",position:{x:d[0],y:d[1]}};g?(g.activate(),g.emit(j),B.hoverData.down=g):b.emit(j),B.hoverData.downTime=new Date().getTime(),B.hoverData.cxtDragged=!1}else if(1==a.which){if(g&&g.activate(),null!=g&&B.nodeIsGrabbable(g)){if(L(g),g.selected()){h=B.dragData.possibleDragElements=b.collection();var k=b.$(function(a){return a.isNode()&&a.selected()&&B.nodeIsGrabbable(a)});P(k,{addToList:h}),g.emit(i("grabon")),k.forEach(function(a){a.emit(i("grab"))})}else P(g,{addToList:h=B.dragData.possibleDragElements=b.collection()}),g.emit(i("grabon")).emit(i("grab"));B.redrawHint("eles",!0),B.redrawHint("drag",!0)}B.hoverData.down=g,B.hoverData.downs=f,B.hoverData.downTime=new Date().getTime(),E(g,["mousedown","tapstart","vmousedown"],a,{x:d[0],y:d[1]}),null==g?(e[4]=1,B.data.bgActivePosistion={x:d[0],y:d[1]},B.redrawHint("select",!0),B.redraw()):g.pannable()&&(e[4]=1),B.hoverData.tapholdCancelled=!1,clearTimeout(B.hoverData.tapholdTimeout),B.hoverData.tapholdTimeout=setTimeout(function(){if(!B.hoverData.tapholdCancelled){var a=B.hoverData.down;a?a.emit(i("taphold")):b.emit(i("taphold"))}},B.tapholdDuration)}e[0]=e[2]=d[0],e[1]=e[3]=d[1]}},!1);var Z=function(a){var b=a.getRootNode();if(b&&11===b.nodeType&&void 0!==b.host)return b}(B.container);B.registerBinding([C,Z],"mousemove",function(a){var b,c;if(B.hoverData.capture||Y(a)){var d=!1,e=B.cy,f=e.zoom(),g=[a.clientX,a.clientY],h=B.projectIntoViewport(g[0],g[1]),i=B.hoverData.mdownPos,j=B.hoverData.mdownGPos,k=B.selection,l=null;B.hoverData.draggingEles||B.hoverData.dragging||B.hoverData.selecting||(l=B.findNearestElement(h[0],h[1],!0,!1));var n=B.hoverData.last,o=B.hoverData.down,p=[h[0]-k[2],h[1]-k[3]],q=B.dragData.possibleDragElements;if(j){var r=g[0]-j[0],s=g[1]-j[1];B.hoverData.isOverThresholdDrag=b=r*r+s*s>=B.desktopTapThreshold2}var t=F(a);b&&(B.hoverData.tapholdCancelled=!0),d=!0,E(l,["mousemove","vmousemove","tapdrag"],a,{x:h[0],y:h[1]});var u=function(b){return{originalEvent:a,type:b,position:{x:h[0],y:h[1]}}},w=function(){B.data.bgActivePosistion=void 0,B.hoverData.selecting||e.emit(u("boxstart")),k[4]=1,B.hoverData.selecting=!0,B.redrawHint("select",!0),B.redraw()};if(3===B.hoverData.which){if(b){var x=u("cxtdrag");o?o.emit(x):e.emit(x),B.hoverData.cxtDragged=!0,(!B.hoverData.cxtOver||l!==B.hoverData.cxtOver)&&(B.hoverData.cxtOver&&B.hoverData.cxtOver.emit(u("cxtdragout")),B.hoverData.cxtOver=l,l&&l.emit(u("cxtdragover")))}}else if(B.hoverData.dragging){if(d=!0,e.panningEnabled()&&e.userPanningEnabled()){if(B.hoverData.justStartedPan){var y=B.hoverData.mdownPos;c={x:(h[0]-y[0])*f,y:(h[1]-y[1])*f},B.hoverData.justStartedPan=!1}else c={x:p[0]*f,y:p[1]*f};e.panBy(c),e.emit(u("dragpan")),B.hoverData.dragged=!0}h=B.projectIntoViewport(a.clientX,a.clientY)}else if(1==k[4]&&(null==o||o.pannable()))b&&(!B.hoverData.dragging&&e.boxSelectionEnabled()&&(t||!e.panningEnabled()||!e.userPanningEnabled())?w():!B.hoverData.selecting&&e.panningEnabled()&&e.userPanningEnabled()&&G(o,B.hoverData.downs)&&(B.hoverData.dragging=!0,B.hoverData.justStartedPan=!0,k[4]=0,B.data.bgActivePosistion=a2(i),B.redrawHint("select",!0),B.redraw()),o&&o.pannable()&&o.active()&&o.unactivate());else{if(o&&o.pannable()&&o.active()&&o.unactivate(),o&&o.grabbed()||l==n||(n&&E(n,["mouseout","tapdragout"],a,{x:h[0],y:h[1]}),l&&E(l,["mouseover","tapdragover"],a,{x:h[0],y:h[1]}),B.hoverData.last=l),o)if(b){if(e.boxSelectionEnabled()&&t)o&&o.grabbed()&&(Q(q),o.emit(u("freeon")),q.emit(u("free")),B.dragData.didDrag&&(o.emit(u("dragfreeon")),q.emit(u("dragfree")))),w();else if(o&&o.grabbed()&&B.nodeIsDraggable(o)){var z,A=!B.dragData.didDrag;A&&B.redrawHint("eles",!0),B.dragData.didDrag=!0,B.hoverData.draggingEles||P(q,{inDragLayer:!0});var C={x:0,y:0};if(v(p[0])&&v(p[1])&&(C.x+=p[0],C.y+=p[1],A)){var D=B.hoverData.dragDelta;D&&v(D[0])&&v(D[1])&&(C.x+=D[0],C.y+=D[1])}B.hoverData.draggingEles=!0,q.silentShift(C).emit(u("position")).emit(u("drag")),B.redrawHint("drag",!0),B.redraw()}}else 0===(z=B.hoverData.dragDelta=B.hoverData.dragDelta||[]).length?(z.push(p[0]),z.push(p[1])):(z[0]+=p[0],z[1]+=p[1]);d=!0}if(k[2]=h[0],k[3]=h[1],d)return a.stopPropagation&&a.stopPropagation(),a.preventDefault&&a.preventDefault(),!1}},!1),B.registerBinding(C,"mouseup",function(a){if((1!==B.hoverData.which||1===a.which||!B.hoverData.capture)&&B.hoverData.capture){B.hoverData.capture=!1;var e=B.cy,f=B.projectIntoViewport(a.clientX,a.clientY),g=B.selection,h=B.findNearestElement(f[0],f[1],!0,!1),i=B.dragData.possibleDragElements,j=B.hoverData.down,k=F(a);B.data.bgActivePosistion&&(B.redrawHint("select",!0),B.redraw()),B.hoverData.tapholdCancelled=!0,B.data.bgActivePosistion=void 0,j&&j.unactivate();var l=function(b){return{originalEvent:a,type:b,position:{x:f[0],y:f[1]}}};if(3===B.hoverData.which){var n=l("cxttapend");if(j?j.emit(n):e.emit(n),!B.hoverData.cxtDragged){var o=l("cxttap");j?j.emit(o):e.emit(o)}B.hoverData.cxtDragged=!1,B.hoverData.which=null}else if(1===B.hoverData.which){if(E(h,["mouseup","tapend","vmouseup"],a,{x:f[0],y:f[1]}),B.dragData.didDrag||B.hoverData.dragged||B.hoverData.selecting||B.hoverData.isOverThresholdDrag||(E(j,["click","tap","vclick"],a,{x:f[0],y:f[1]}),c=!1,a.timeStamp-d<=e.multiClickDebounceTime()?(b&&clearTimeout(b),c=!0,d=null,E(j,["dblclick","dbltap","vdblclick"],a,{x:f[0],y:f[1]})):(b=setTimeout(function(){c||E(j,["oneclick","onetap","voneclick"],a,{x:f[0],y:f[1]})},e.multiClickDebounceTime()),d=a.timeStamp)),null!=j||B.dragData.didDrag||B.hoverData.selecting||B.hoverData.dragged||F(a)||(e.$(D).unselect(["tapunselect"]),i.length>0&&B.redrawHint("eles",!0),B.dragData.possibleDragElements=i=e.collection()),h!=j||B.dragData.didDrag||B.hoverData.selecting||null==h||!h._private.selectable||(B.hoverData.dragging||("additive"===e.selectionType()||k?h.selected()?h.unselect(["tapunselect"]):h.select(["tapselect"]):k||(e.$(D).unmerge(h).unselect(["tapunselect"]),h.select(["tapselect"]))),B.redrawHint("eles",!0)),B.hoverData.selecting){var p=e.collection(B.getAllInBox(g[0],g[1],g[2],g[3]));B.redrawHint("select",!0),p.length>0&&B.redrawHint("eles",!0),e.emit(l("boxend"));"additive"===e.selectionType()||k||e.$(D).unmerge(p).unselect(),p.emit(l("box")).stdFilter(function(a){return a.selectable()&&!a.selected()}).select().emit(l("boxselect")),B.redraw()}if(B.hoverData.dragging&&(B.hoverData.dragging=!1,B.redrawHint("select",!0),B.redrawHint("eles",!0),B.redraw()),!g[4]){B.redrawHint("drag",!0),B.redrawHint("eles",!0);var q=j&&j.grabbed();Q(i),q&&(j.emit(l("freeon")),i.emit(l("free")),B.dragData.didDrag&&(j.emit(l("dragfreeon")),i.emit(l("dragfree"))))}}g[4]=0,B.hoverData.down=null,B.hoverData.cxtStarted=!1,B.hoverData.draggingEles=!1,B.hoverData.selecting=!1,B.hoverData.isOverThresholdDrag=!1,B.dragData.didDrag=!1,B.hoverData.dragged=!1,B.hoverData.dragDelta=[],B.hoverData.mdownPos=null,B.hoverData.mdownGPos=null,B.hoverData.which=null}},!1);var $=[],_=1e5,aa=function(a,b){for(var c=0;c<a.length;c++)if(a[c]%b!=0)return!1;return!0},ab=function(a){for(var b=Math.abs(a[0]),c=1;c<a.length;c++)if(Math.abs(a[c])!==b)return!1;return!0},ac=function(a){var b=!1,c=a.deltaY;if(null==c&&(null!=a.wheelDeltaY?c=a.wheelDeltaY/4:null!=a.wheelDelta&&(c=a.wheelDelta/4)),0!==c){if(null==e)if($.length>=4){if(!(e=aa($,5))){var d=Math.abs($[0]);e=ab($)&&d>5}if(e)for(var f=0;f<$.length;f++)_=Math.min(Math.abs($[f]),_)}else $.push(c),b=!0;else e&&(_=Math.min(Math.abs(c),_));if(!B.scrollingPage){var g=B.cy,h=g.zoom(),i=g.pan(),j=B.projectIntoViewport(a.clientX,a.clientY),k=[j[0]*h+i.x,j[1]*h+i.y];if(B.hoverData.draggingEles||B.hoverData.dragging||B.hoverData.cxtStarted||0!==B.selection[4])return void a.preventDefault();if(g.panningEnabled()&&g.userPanningEnabled()&&g.zoomingEnabled()&&g.userZoomingEnabled()){a.preventDefault(),B.data.wheelZooming=!0,clearTimeout(B.data.wheelTimeout),B.data.wheelTimeout=setTimeout(function(){B.data.wheelZooming=!1,B.redrawHint("eles",!0),B.redraw()},150),b&&Math.abs(c)>5&&(c=5*a9(c)),l=-(c/250),e&&(l/=_,l*=3),l*=B.wheelSensitivity,1===a.deltaMode&&(l*=33);var l,n=g.zoom()*Math.pow(10,l);"gesturechange"===a.type&&(n=B.gestureStartZoom*a.scale),g.zoom({level:n,renderedPosition:{x:k[0],y:k[1]}}),g.emit({type:"gesturechange"===a.type?"pinchzoom":"scrollzoom",originalEvent:a,position:{x:j[0],y:j[1]}})}}}};B.registerBinding(B.container,"wheel",ac,!0),B.registerBinding(C,"scroll",function(a){B.scrollingPage=!0,clearTimeout(B.scrollingPageTimeout),B.scrollingPageTimeout=setTimeout(function(){B.scrollingPage=!1},250)},!0),B.registerBinding(B.container,"gesturestart",function(a){B.gestureStartZoom=B.cy.zoom(),B.hasTouchStarted||a.preventDefault()},!0),B.registerBinding(B.container,"gesturechange",function(a){B.hasTouchStarted||ac(a)},!0),B.registerBinding(B.container,"mouseout",function(a){var b=B.projectIntoViewport(a.clientX,a.clientY);B.cy.emit({originalEvent:a,type:"mouseout",position:{x:b[0],y:b[1]}})},!1),B.registerBinding(B.container,"mouseover",function(a){var b=B.projectIntoViewport(a.clientX,a.clientY);B.cy.emit({originalEvent:a,type:"mouseover",position:{x:b[0],y:b[1]}})},!1);var ae=function(a,b,c,d){return Math.sqrt((c-a)*(c-a)+(d-b)*(d-b))},af=function(a,b,c,d){return(c-a)*(c-a)+(d-b)*(d-b)};if(B.registerBinding(B.container,"touchstart",t=function(a){if(B.hasTouchStarted=!0,Y(a)){S(),B.touchData.capture=!0,B.data.bgActivePosistion=void 0;var b=B.cy,c=B.touchData.now,d=B.touchData.earlier;if(a.touches[0]){var e=B.projectIntoViewport(a.touches[0].clientX,a.touches[0].clientY);c[0]=e[0],c[1]=e[1]}if(a.touches[1]){var e=B.projectIntoViewport(a.touches[1].clientX,a.touches[1].clientY);c[2]=e[0],c[3]=e[1]}if(a.touches[2]){var e=B.projectIntoViewport(a.touches[2].clientX,a.touches[2].clientY);c[4]=e[0],c[5]=e[1]}var t=function(b){return{originalEvent:a,type:b,position:{x:c[0],y:c[1]}}};if(a.touches[1]){B.touchData.singleTouchMoved=!0,Q(B.dragData.touchDragEles);var u=B.findContainerClientCoords();o=u[0],p=u[1],q=u[2],r=u[3],f=a.touches[0].clientX-o,g=a.touches[0].clientY-p,h=a.touches[1].clientX-o,i=a.touches[1].clientY-p,s=0<=f&&f<=q&&0<=h&&h<=q&&0<=g&&g<=r&&0<=i&&i<=r;var v=b.pan(),w=b.zoom();if(j=ae(f,g,h,i),k=af(f,g,h,i),n=[((l=[(f+h)/2,(g+i)/2])[0]-v.x)/w,(l[1]-v.y)/w],k<4e4&&!a.touches[2]){var x=B.findNearestElement(c[0],c[1],!0,!0),y=B.findNearestElement(c[2],c[3],!0,!0);x&&x.isNode()?(x.activate().emit(t("cxttapstart")),B.touchData.start=x):y&&y.isNode()?(y.activate().emit(t("cxttapstart")),B.touchData.start=y):b.emit(t("cxttapstart")),B.touchData.start&&(B.touchData.start._private.grabbed=!1),B.touchData.cxt=!0,B.touchData.cxtDragged=!1,B.data.bgActivePosistion=void 0,B.redraw();return}}if(a.touches[2])b.boxSelectionEnabled()&&a.preventDefault();else if(a.touches[1]);else if(a.touches[0]){var z=B.findNearestElements(c[0],c[1],!0,!0),A=z[0];if(null!=A&&(A.activate(),B.touchData.start=A,B.touchData.starts=z,B.nodeIsGrabbable(A))){var C=B.dragData.touchDragEles=b.collection(),D=null;B.redrawHint("eles",!0),B.redrawHint("drag",!0),A.selected()?P(D=b.$(function(a){return a.selected()&&B.nodeIsGrabbable(a)}),{addToList:C}):P(A,{addToList:C}),L(A),A.emit(t("grabon")),D?D.forEach(function(a){a.emit(t("grab"))}):A.emit(t("grab"))}E(A,["touchstart","tapstart","vmousedown"],a,{x:c[0],y:c[1]}),null==A&&(B.data.bgActivePosistion={x:e[0],y:e[1]},B.redrawHint("select",!0),B.redraw()),B.touchData.singleTouchMoved=!1,B.touchData.singleTouchStartTime=+new Date,clearTimeout(B.touchData.tapholdTimeout),B.touchData.tapholdTimeout=setTimeout(function(){!1!==B.touchData.singleTouchMoved||B.pinching||B.touchData.selecting||E(B.touchData.start,["taphold"],a,{x:c[0],y:c[1]})},B.tapholdDuration)}if(a.touches.length>=1){for(var F=B.touchData.startPosition=[null,null,null,null,null,null],G=0;G<c.length;G++)F[G]=d[G]=c[G];var H=a.touches[0];B.touchData.startGPosition=[H.clientX,H.clientY]}}},!1),B.registerBinding(C,"touchmove",u=function(a){var b=B.touchData.capture;if(b||Y(a)){var c=B.selection,d=B.cy,e=B.touchData.now,l=B.touchData.earlier,q=d.zoom();if(a.touches[0]){var r=B.projectIntoViewport(a.touches[0].clientX,a.touches[0].clientY);e[0]=r[0],e[1]=r[1]}if(a.touches[1]){var r=B.projectIntoViewport(a.touches[1].clientX,a.touches[1].clientY);e[2]=r[0],e[3]=r[1]}if(a.touches[2]){var r=B.projectIntoViewport(a.touches[2].clientX,a.touches[2].clientY);e[4]=r[0],e[5]=r[1]}var t=function(b){return{originalEvent:a,type:b,position:{x:e[0],y:e[1]}}},u=B.touchData.startGPosition;if(b&&a.touches[0]&&u){for(var w=[],x=0;x<e.length;x++)w[x]=e[x]-l[x];var y=a.touches[0].clientX-u[0],z=y*y,A=a.touches[0].clientY-u[1];ac=z+A*A>=B.touchTapThreshold2}if(b&&B.touchData.cxt){a.preventDefault();var C=a.touches[0].clientX-o,D=a.touches[0].clientY-p,F=a.touches[1].clientX-o,H=a.touches[1].clientY-p,I=af(C,D,F,H);if(I/k>=2.25||I>=22500){B.touchData.cxt=!1,B.data.bgActivePosistion=void 0,B.redrawHint("select",!0);var J=t("cxttapend");B.touchData.start?(B.touchData.start.unactivate().emit(J),B.touchData.start=null):d.emit(J)}}if(b&&B.touchData.cxt){var J=t("cxtdrag");B.data.bgActivePosistion=void 0,B.redrawHint("select",!0),B.touchData.start?B.touchData.start.emit(J):d.emit(J),B.touchData.start&&(B.touchData.start._private.grabbed=!1),B.touchData.cxtDragged=!0;var K=B.findNearestElement(e[0],e[1],!0,!0);(!B.touchData.cxtOver||K!==B.touchData.cxtOver)&&(B.touchData.cxtOver&&B.touchData.cxtOver.emit(t("cxtdragout")),B.touchData.cxtOver=K,K&&K.emit(t("cxtdragover")))}else if(b&&a.touches[2]&&d.boxSelectionEnabled())a.preventDefault(),B.data.bgActivePosistion=void 0,this.lastThreeTouch=+new Date,B.touchData.selecting||d.emit(t("boxstart")),B.touchData.selecting=!0,B.touchData.didSelect=!0,c[4]=1,c&&0!==c.length&&void 0!==c[0]?(c[2]=(e[0]+e[2]+e[4])/3,c[3]=(e[1]+e[3]+e[5])/3):(c[0]=(e[0]+e[2]+e[4])/3,c[1]=(e[1]+e[3]+e[5])/3,c[2]=(e[0]+e[2]+e[4])/3+1,c[3]=(e[1]+e[3]+e[5])/3+1),B.redrawHint("select",!0),B.redraw();else if(b&&a.touches[1]&&!B.touchData.didSelect&&d.zoomingEnabled()&&d.panningEnabled()&&d.userZoomingEnabled()&&d.userPanningEnabled()){a.preventDefault(),B.data.bgActivePosistion=void 0,B.redrawHint("select",!0);var L=B.dragData.touchDragEles;if(L){B.redrawHint("drag",!0);for(var M=0;M<L.length;M++){var N=L[M]._private;N.grabbed=!1,N.rscratch.inDragLayer=!1}}var O=B.touchData.start,C=a.touches[0].clientX-o,D=a.touches[0].clientY-p,F=a.touches[1].clientX-o,H=a.touches[1].clientY-p,R=ae(C,D,F,H),S=R/j;if(s){var T=C-f,U=D-g,V=F-h,W=H-i,X=d.zoom(),Z=X*S,$=d.pan(),_=n[0]*X+$.x,aa=n[1]*X+$.y,ab={x:-Z/X*(_-$.x-(T+V)/2)+_,y:-Z/X*(aa-$.y-(U+W)/2)+aa};if(O&&O.active()){var L=B.dragData.touchDragEles;Q(L),B.redrawHint("drag",!0),B.redrawHint("eles",!0),O.unactivate().emit(t("freeon")),L.emit(t("free")),B.dragData.didDrag&&(O.emit(t("dragfreeon")),L.emit(t("dragfree")))}d.viewport({zoom:Z,pan:ab,cancelOnFailedZoom:!0}),d.emit(t("pinchzoom")),j=R,f=C,g=D,h=F,i=H,B.pinching=!0}if(a.touches[0]){var r=B.projectIntoViewport(a.touches[0].clientX,a.touches[0].clientY);e[0]=r[0],e[1]=r[1]}if(a.touches[1]){var r=B.projectIntoViewport(a.touches[1].clientX,a.touches[1].clientY);e[2]=r[0],e[3]=r[1]}if(a.touches[2]){var r=B.projectIntoViewport(a.touches[2].clientX,a.touches[2].clientY);e[4]=r[0],e[5]=r[1]}}else if(a.touches[0]&&!B.touchData.didSelect){var ac,K,ad=B.touchData.start,ag=B.touchData.last;if(B.hoverData.draggingEles||B.swipePanning||(K=B.findNearestElement(e[0],e[1],!0,!0)),b&&null!=ad&&a.preventDefault(),b&&null!=ad&&B.nodeIsDraggable(ad))if(ac){var L=B.dragData.touchDragEles,ah=!B.dragData.didDrag;ah&&P(L,{inDragLayer:!0}),B.dragData.didDrag=!0;var ai={x:0,y:0};if(v(w[0])&&v(w[1])&&(ai.x+=w[0],ai.y+=w[1],ah)){B.redrawHint("eles",!0);var aj=B.touchData.dragDelta;aj&&v(aj[0])&&v(aj[1])&&(ai.x+=aj[0],ai.y+=aj[1])}B.hoverData.draggingEles=!0,L.silentShift(ai).emit(t("position")).emit(t("drag")),B.redrawHint("drag",!0),B.touchData.startPosition[0]==l[0]&&B.touchData.startPosition[1]==l[1]&&B.redrawHint("eles",!0),B.redraw()}else{var aj=B.touchData.dragDelta=B.touchData.dragDelta||[];0===aj.length?(aj.push(w[0]),aj.push(w[1])):(aj[0]+=w[0],aj[1]+=w[1])}if(E(ad||K,["touchmove","tapdrag","vmousemove"],a,{x:e[0],y:e[1]}),ad&&ad.grabbed()||K==ag||(ag&&ag.emit(t("tapdragout")),K&&K.emit(t("tapdragover"))),B.touchData.last=K,b)for(var M=0;M<e.length;M++)e[M]&&B.touchData.startPosition[M]&&ac&&(B.touchData.singleTouchMoved=!0);if(b&&(null==ad||ad.pannable())&&d.panningEnabled()&&d.userPanningEnabled()){G(ad,B.touchData.starts)&&(a.preventDefault(),B.data.bgActivePosistion||(B.data.bgActivePosistion=a2(B.touchData.startPosition)),B.swipePanning?(d.panBy({x:w[0]*q,y:w[1]*q}),d.emit(t("dragpan"))):ac&&(B.swipePanning=!0,d.panBy({x:y*q,y:A*q}),d.emit(t("dragpan")),ad&&(ad.unactivate(),B.redrawHint("select",!0),B.touchData.start=null)));var r=B.projectIntoViewport(a.touches[0].clientX,a.touches[0].clientY);e[0]=r[0],e[1]=r[1]}}for(var x=0;x<e.length;x++)l[x]=e[x];b&&a.touches.length>0&&!B.hoverData.draggingEles&&!B.swipePanning&&null!=B.data.bgActivePosistion&&(B.data.bgActivePosistion=void 0,B.redrawHint("select",!0),B.redraw())}},!1),B.registerBinding(C,"touchcancel",w=function(a){var b=B.touchData.start;B.touchData.capture=!1,b&&b.unactivate()}),B.registerBinding(C,"touchend",x=function(a){var b,c=B.touchData.start;if(B.touchData.capture){0===a.touches.length&&(B.touchData.capture=!1),a.preventDefault();var d=B.selection;B.swipePanning=!1,B.hoverData.draggingEles=!1;var e=B.cy,f=e.zoom(),g=B.touchData.now,h=B.touchData.earlier;if(a.touches[0]){var i=B.projectIntoViewport(a.touches[0].clientX,a.touches[0].clientY);g[0]=i[0],g[1]=i[1]}if(a.touches[1]){var i=B.projectIntoViewport(a.touches[1].clientX,a.touches[1].clientY);g[2]=i[0],g[3]=i[1]}if(a.touches[2]){var i=B.projectIntoViewport(a.touches[2].clientX,a.touches[2].clientY);g[4]=i[0],g[5]=i[1]}var j=function(b){return{originalEvent:a,type:b,position:{x:g[0],y:g[1]}}};if(c&&c.unactivate(),B.touchData.cxt){if(b=j("cxttapend"),c?c.emit(b):e.emit(b),!B.touchData.cxtDragged){var k=j("cxttap");c?c.emit(k):e.emit(k)}B.touchData.start&&(B.touchData.start._private.grabbed=!1),B.touchData.cxt=!1,B.touchData.start=null,B.redraw();return}if(!a.touches[2]&&e.boxSelectionEnabled()&&B.touchData.selecting){B.touchData.selecting=!1;var l=e.collection(B.getAllInBox(d[0],d[1],d[2],d[3]));d[0]=void 0,d[1]=void 0,d[2]=void 0,d[3]=void 0,d[4]=0,B.redrawHint("select",!0),e.emit(j("boxend")),l.emit(j("box")).stdFilter(function(a){return a.selectable()&&!a.selected()}).select().emit(j("boxselect")),l.nonempty()&&B.redrawHint("eles",!0),B.redraw()}if(null!=c&&c.unactivate(),a.touches[2])B.data.bgActivePosistion=void 0,B.redrawHint("select",!0);else if(a.touches[1]);else if(a.touches[0]);else if(!a.touches[0]){B.data.bgActivePosistion=void 0,B.redrawHint("select",!0);var n=B.dragData.touchDragEles;if(null!=c){var o=c._private.grabbed;Q(n),B.redrawHint("drag",!0),B.redrawHint("eles",!0),o&&(c.emit(j("freeon")),n.emit(j("free")),B.dragData.didDrag&&(c.emit(j("dragfreeon")),n.emit(j("dragfree")))),E(c,["touchend","tapend","vmouseup","tapdragout"],a,{x:g[0],y:g[1]}),c.unactivate(),B.touchData.start=null}else E(B.findNearestElement(g[0],g[1],!0,!0),["touchend","tapend","vmouseup","tapdragout"],a,{x:g[0],y:g[1]});var p=B.touchData.startPosition[0]-g[0],q=B.touchData.startPosition[1]-g[1];B.touchData.singleTouchMoved||(c||e.$(":selected").unselect(["tapunselect"]),E(c,["tap","vclick"],a,{x:g[0],y:g[1]}),y=!1,a.timeStamp-A<=e.multiClickDebounceTime()?(z&&clearTimeout(z),y=!0,A=null,E(c,["dbltap","vdblclick"],a,{x:g[0],y:g[1]})):(z=setTimeout(function(){y||E(c,["onetap","voneclick"],a,{x:g[0],y:g[1]})},e.multiClickDebounceTime()),A=a.timeStamp)),null!=c&&!B.dragData.didDrag&&c._private.selectable&&(p*p+q*q)*f*f<B.touchTapThreshold2&&!B.pinching&&("single"===e.selectionType()?(e.$(D).unmerge(c).unselect(["tapunselect"]),c.select(["tapselect"])):c.selected()?c.unselect(["tapunselect"]):c.select(["tapselect"]),B.redrawHint("eles",!0)),B.touchData.singleTouchMoved=!0}for(var r=0;r<g.length;r++)h[r]=g[r];B.dragData.didDrag=!1,0===a.touches.length&&(B.touchData.dragDelta=[],B.touchData.startPosition=[null,null,null,null,null,null],B.touchData.startGPosition=null,B.touchData.didSelect=!1),a.touches.length<2&&(1===a.touches.length&&(B.touchData.startGPosition=[a.touches[0].clientX,a.touches[0].clientY]),B.pinching=!1,B.redrawHint("eles",!0),B.redraw())}},!1),"undefined"==typeof TouchEvent){var ag=[],ah=function(a){return{clientX:a.clientX,clientY:a.clientY,force:1,identifier:a.pointerId,pageX:a.pageX,pageY:a.pageY,radiusX:a.width/2,radiusY:a.height/2,screenX:a.screenX,screenY:a.screenY,target:a.target}},ai=function(a){ag.push({event:a,touch:ah(a)})},aj=function(a){for(var b=0;b<ag.length;b++)if(ag[b].event.pointerId===a.pointerId)return void ag.splice(b,1)},ak=function(a){var b=ag.filter(function(b){return b.event.pointerId===a.pointerId})[0];b.event=a,b.touch=ah(a)},al=function(a){a.touches=ag.map(function(a){return a.touch})},am=function(a){return"mouse"===a.pointerType||4===a.pointerType};B.registerBinding(B.container,"pointerdown",function(a){am(a)||(a.preventDefault(),ai(a),al(a),t(a))}),B.registerBinding(B.container,"pointerup",function(a){am(a)||(aj(a),al(a),x(a))}),B.registerBinding(B.container,"pointercancel",function(a){am(a)||(aj(a),al(a),w(a))}),B.registerBinding(B.container,"pointermove",function(a){am(a)||(a.preventDefault(),ak(a),al(a),u(a))})}};var iU={};iU.generatePolygon=function(a,b){return this.nodeShapes[a]={renderer:this,name:a,points:b,draw:function(a,b,c,d,e,f){this.renderer.nodeShapeImpl("polygon",a,b,c,d,e,this.points)},intersectLine:function(a,b,c,d,e,f,g,h){return bL(e,f,this.points,a,b,c/2,d/2,g)},checkPoint:function(a,b,c,d,e,f,g,h){return bB(a,b,this.points,f,g,d,e,[0,-1],c)},hasMiterBounds:"rectangle"!==a,miterBounds:function(a,b,c,d,e,f){var g,h,i;return g=this.points,h=function(a,b){if(a.length<3)throw Error("Need at least 3 vertices");var c=function(a,b){return{x:a.x+b.x,y:a.y+b.y}},d=function(a,b){return{x:a.x-b.x,y:a.y-b.y}},e=function(a,b){return{x:a.x*b,y:a.y*b}},f=function(a,b){return a.x*b.y-a.y*b.x},g=a.map(function(a){return{x:a.x,y:a.y}});0>function(a){for(var b=0,c=0;c<a.length;c++){var d=a[c],e=a[(c+1)%a.length];b+=d.x*e.y-e.x*d.y}return b/2}(g)&&g.reverse();for(var h=g.length,i=[],j=0;j<h;j++){var k=g[j],l=d(g[(j+1)%h],k),n=function(a){var b=bs(a.x,a.y);return 0===b?{x:0,y:0}:{x:a.x/b,y:a.y/b}}({x:l.y,y:-l.x});i.push(n)}for(var o=i.map(function(a,d){return{p1:c(g[d],e(a,b)),p2:c(g[(d+1)%h],e(a,b))}}),p=[],q=0;q<h;q++){var r=o[(q-1+h)%h],s=o[q],t=function(a,b,g,h){var i=d(b,a),j=d(h,g),k=f(i,j);if(1e-9>Math.abs(k))return c(a,e(i,.5));var l=f(d(g,a),j)/k;return c(a,e(i,l))}(r.p1,r.p2,s.p1,s.p2);p.push(t)}return p}(bK(g,a,b,c,d),e),i=bh(),h.forEach(function(a){return bk(i,a.x,a.y)}),i}}},iU.generateEllipse=function(){return this.nodeShapes.ellipse={renderer:this,name:"ellipse",draw:function(a,b,c,d,e,f){this.renderer.nodeShapeImpl(this.name,a,b,c,d,e)},intersectLine:function(a,b,c,d,e,f,g,h){return bF(e,f,a,b,c/2+g,d/2+g)},checkPoint:function(a,b,c,d,e,f,g,h){return bG(a,b,d,e,f,g,c)}}},iU.generateRoundPolygon=function(a,b){return this.nodeShapes[a]={renderer:this,name:a,points:b,getOrCreateCorners:function(a,c,d,e,f,g,h){if(void 0!==g[h]&&g[h+"-cx"]===a&&g[h+"-cy"]===c)return g[h];g[h]=Array(b.length/2),g[h+"-cx"]=a,g[h+"-cy"]=c;var i=d/2,j=e/2;f="auto"===f?bS(d,e):f;for(var k=Array(b.length/2),l=0;l<b.length/2;l++)k[l]={x:a+i*b[2*l],y:c+j*b[2*l+1]};var n,o,p,q,r=k.length;for(n=0,o=k[r-1];n<r;n++)p=k[n%r],q=k[(n+1)%r],g[h][n]=iD(o,p,q,f),o=p,p=q;return g[h]},draw:function(a,b,c,d,e,f,g){this.renderer.nodeShapeImpl("round-polygon",a,b,c,d,e,this.points,this.getOrCreateCorners(b,c,d,e,f,g,"drawCorners"))},intersectLine:function(a,b,c,d,e,f,g,h,i){return bM(e,f,this.points,a,b,c,d,g,this.getOrCreateCorners(a,b,c,d,h,i,"corners"))},checkPoint:function(a,b,c,d,e,f,g,h,i){return bC(a,b,this.points,f,g,d,e,this.getOrCreateCorners(f,g,d,e,h,i,"corners"))}}},iU.generateRoundRectangle=function(){return this.nodeShapes["round-rectangle"]=this.nodeShapes.roundrectangle={renderer:this,name:"round-rectangle",points:bO(4,0),draw:function(a,b,c,d,e,f){this.renderer.nodeShapeImpl(this.name,a,b,c,d,e,this.points,f)},intersectLine:function(a,b,c,d,e,f,g,h){return bt(e,f,a,b,c,d,g,h)},checkPoint:function(a,b,c,d,e,f,g,h){var i=d/2,j=e/2,k=2*(h=Math.min(i,j,h="auto"===h?bR(d,e):h));return!!(bB(a,b,this.points,f,g,d,e-k,[0,-1],c)||bB(a,b,this.points,f,g,d-k,e,[0,-1],c)||bG(a,b,k,k,f-i+h,g-j+h,c)||bG(a,b,k,k,f+i-h,g-j+h,c)||bG(a,b,k,k,f+i-h,g+j-h,c)||bG(a,b,k,k,f-i+h,g+j-h,c))}}},iU.generateCutRectangle=function(){return this.nodeShapes["cut-rectangle"]=this.nodeShapes.cutrectangle={renderer:this,name:"cut-rectangle",cornerLength:bT(),points:bO(4,0),draw:function(a,b,c,d,e,f){this.renderer.nodeShapeImpl(this.name,a,b,c,d,e,null,f)},generateCutTrianglePts:function(a,b,c,d,e){var f="auto"===e?this.cornerLength:e,g=b/2,h=a/2,i=c-h,j=c+h,k=d-g,l=d+g;return{topLeft:[i,k+f,i+f,k,i+f,k+f],topRight:[j-f,k,j,k+f,j-f,k+f],bottomRight:[j,l-f,j-f,l,j-f,l-f],bottomLeft:[i+f,l,i,l-f,i+f,l-f]}},intersectLine:function(a,b,c,d,e,f,g,h){var i=this.generateCutTrianglePts(c+2*g,d+2*g,a,b,h);return bL(e,f,[].concat.apply([],[i.topLeft.splice(0,4),i.topRight.splice(0,4),i.bottomRight.splice(0,4),i.bottomLeft.splice(0,4)]),a,b)},checkPoint:function(a,b,c,d,e,f,g,h){var i="auto"===h?this.cornerLength:h;if(bB(a,b,this.points,f,g,d,e-2*i,[0,-1],c)||bB(a,b,this.points,f,g,d-2*i,e,[0,-1],c))return!0;var j=this.generateCutTrianglePts(d,e,f,g);return bA(a,b,j.topLeft)||bA(a,b,j.topRight)||bA(a,b,j.bottomRight)||bA(a,b,j.bottomLeft)}}},iU.generateBarrel=function(){return this.nodeShapes.barrel={renderer:this,name:"barrel",points:bO(4,0),draw:function(a,b,c,d,e,f){this.renderer.nodeShapeImpl(this.name,a,b,c,d,e)},intersectLine:function(a,b,c,d,e,f,g,h){var i=this.generateBarrelBezierPts(c+2*g,d+2*g,a,b),j=function(a){var b=be({x:a[0],y:a[1]},{x:a[2],y:a[3]},{x:a[4],y:a[5]},.15),c=be({x:a[0],y:a[1]},{x:a[2],y:a[3]},{x:a[4],y:a[5]},.5),d=be({x:a[0],y:a[1]},{x:a[2],y:a[3]},{x:a[4],y:a[5]},.85);return[a[0],a[1],b.x,b.y,c.x,c.y,d.x,d.y,a[4],a[5]]};return bL(e,f,[].concat(j(i.topLeft),j(i.topRight),j(i.bottomRight),j(i.bottomLeft)),a,b)},generateBarrelBezierPts:function(a,b,c,d){var e=b/2,f=a/2,g=c-f,h=c+f,i=d-e,j=d+e,k=bU(a,b),l=k.heightOffset,n=k.widthOffset,o=k.ctrlPtOffsetPct*a,p={topLeft:[g,i+l,g+o,i,g+n,i],topRight:[h-n,i,h-o,i,h,i+l],bottomRight:[h,j-l,h-o,j,h-n,j],bottomLeft:[g+n,j,g+o,j,g,j-l]};return p.topLeft.isTop=!0,p.topRight.isTop=!0,p.bottomLeft.isBottom=!0,p.bottomRight.isBottom=!0,p},checkPoint:function(a,b,c,d,e,f,g,h){var i=bU(d,e),j=i.heightOffset,k=i.widthOffset;if(bB(a,b,this.points,f,g,d,e-2*j,[0,-1],c)||bB(a,b,this.points,f,g,d-2*k,e,[0,-1],c))return!0;for(var l=this.generateBarrelBezierPts(d,e,f,g),n=Object.keys(l),o=0;o<n.length;o++){var p=l[n[o]],q=function(a,b,c){var d=c[4],e=c[2],f=c[0],g=c[5],h=c[1],i=Math.min(d,f),j=Math.max(d,f),k=Math.min(g,h),l=Math.max(g,h);if(i<=a&&a<=j&&k<=b&&b<=l){var n=[d-2*e+f,2*(e-d),d],o=bw(n[0],n[1],n[2],a).filter(function(a){return 0<=a&&a<=1});if(o.length>0)return o[0]}return null}(a,b,p);if(null!=q){var r=bd(p[5],p[3],p[1],q);if(p.isTop&&r<=b||p.isBottom&&b<=r)return!0}}return!1}}},iU.generateBottomRoundrectangle=function(){return this.nodeShapes["bottom-round-rectangle"]=this.nodeShapes.bottomroundrectangle={renderer:this,name:"bottom-round-rectangle",points:bO(4,0),draw:function(a,b,c,d,e,f){this.renderer.nodeShapeImpl(this.name,a,b,c,d,e,this.points,f)},intersectLine:function(a,b,c,d,e,f,g,h){var i=a-(c/2+g),j=b-(d/2+g),k=a+(c/2+g),l=bJ(e,f,a,b,i,j,k,j,!1);return l.length>0?l:bt(e,f,a,b,c,d,g,h)},checkPoint:function(a,b,c,d,e,f,g,h){var i=2*(h="auto"===h?bR(d,e):h);if(bB(a,b,this.points,f,g,d,e-i,[0,-1],c)||bB(a,b,this.points,f,g,d-i,e,[0,-1],c))return!0;var j=d/2+2*c,k=e/2+2*c;return!!(bA(a,b,[f-j,g-k,f-j,g,f+j,g,f+j,g-k])||bG(a,b,i,i,f+d/2-h,g+e/2-h,c)||bG(a,b,i,i,f-d/2+h,g+e/2-h,c))}}},iU.registerNodeShapes=function(){var a=this.nodeShapes={},b=this;this.generateEllipse(),this.generatePolygon("triangle",bO(3,0)),this.generateRoundPolygon("round-triangle",bO(3,0)),this.generatePolygon("rectangle",bO(4,0)),a.square=a.rectangle,this.generateRoundRectangle(),this.generateCutRectangle(),this.generateBarrel(),this.generateBottomRoundrectangle();var c=[0,1,1,0,0,-1,-1,0];this.generatePolygon("diamond",c),this.generateRoundPolygon("round-diamond",c),this.generatePolygon("pentagon",bO(5,0)),this.generateRoundPolygon("round-pentagon",bO(5,0)),this.generatePolygon("hexagon",bO(6,0)),this.generateRoundPolygon("round-hexagon",bO(6,0)),this.generatePolygon("heptagon",bO(7,0)),this.generateRoundPolygon("round-heptagon",bO(7,0)),this.generatePolygon("octagon",bO(8,0)),this.generateRoundPolygon("round-octagon",bO(8,0));var d=Array(20),e=bQ(5,0),f=bQ(5,Math.PI/5),g=.5*(3-Math.sqrt(5));g*=1.57;for(var h=0;h<f.length/2;h++)f[2*h]*=g,f[2*h+1]*=g;for(var h=0;h<5;h++)d[4*h]=e[2*h],d[4*h+1]=e[2*h+1],d[4*h+2]=f[2*h],d[4*h+3]=f[2*h+1];d=bP(d),this.generatePolygon("star",d),this.generatePolygon("vee",[-1,-1,0,-.333,1,-1,0,1]),this.generatePolygon("rhomboid",[-1,-1,.333,-1,1,1,-.333,1]),this.generatePolygon("right-rhomboid",[-.333,-1,1,-1,.333,1,-1,1]),this.nodeShapes.concavehexagon=this.generatePolygon("concave-hexagon",[-1,-.95,-.75,0,-1,.95,1,.95,.75,0,1,-.95]);var i=[-1,-1,.25,-1,1,0,.25,1,-1,1];this.generatePolygon("tag",i),this.generateRoundPolygon("round-tag",i),a.makePolygon=function(a){var c,d="polygon-"+a.join("$");return(c=this[d])?c:b.generatePolygon(d,a)}};var iV={};iV.timeToRender=function(){return this.redrawTotalTime/this.redrawCount},iV.redraw=function(a){a=a||aE(),void 0===this.averageRedrawTime&&(this.averageRedrawTime=0),void 0===this.lastRedrawTime&&(this.lastRedrawTime=0),void 0===this.lastDrawTime&&(this.lastDrawTime=0),this.requestedFrame=!0,this.renderOptions=a},iV.beforeRender=function(a,b){if(!this.destroyed){null==b&&ay("Priority is not optional for beforeRender");var c=this.beforeRenderCallbacks;c.push({fn:a,priority:b}),c.sort(function(a,b){return b.priority-a.priority})}};var iW=function(a,b,c){for(var d=a.beforeRenderCallbacks,e=0;e<d.length;e++)d[e].fn(b,c)};iV.startRenderLoop=function(){var a=this,b=a.cy;if(!a.renderLoopStarted){a.renderLoopStarted=!0;var c=function(d){if(!a.destroyed){if(b.batching());else if(a.requestedFrame&&!a.skipFrame){iW(a,!0,d);var e=ae();a.render(a.renderOptions);var f=a.lastDrawTime=ae();void 0===a.averageRedrawTime&&(a.averageRedrawTime=f-e),void 0===a.redrawCount&&(a.redrawCount=0),a.redrawCount++,void 0===a.redrawTotalTime&&(a.redrawTotalTime=0);var g=f-e;a.redrawTotalTime+=g,a.lastRedrawTime=g,a.averageRedrawTime=a.averageRedrawTime/2+g/2,a.requestedFrame=!1}else iW(a,!1,d);a.skipFrame=!1,ag(c)}};ag(c)}};var iX=function(a){this.init(a)},iY=iX.prototype;iY.clientFunctions=["redrawHint","render","renderTo","matchCanvasSize","nodeShapeImpl","arrowShapeImpl"],iY.init=function(a){this.options=a,this.cy=a.cy;var b=this.container=a.cy.container(),c=this.cy.window();if(c){var d=c.document,e=d.head,f="__________cytoscape_stylesheet",g="__________cytoscape_container",h=null!=d.getElementById(f);if(0>b.className.indexOf(g)&&(b.className=(b.className||"")+" "+g),!h){var i=d.createElement("style");i.id=f,i.textContent="."+g+" { position: relative; }",e.insertBefore(i,e.children[0])}"static"===c.getComputedStyle(b).getPropertyValue("position")&&aA("A Cytoscape container has style position:static and so can not use UI extensions properly")}this.selection=[void 0,void 0,void 0,void 0,0],this.bezierProjPcts=[.05,.225,.4,.5,.6,.775,.95],this.hoverData={down:null,last:null,downTime:null,triggerMode:null,dragging:!1,initialPan:[null,null],capture:!1},this.dragData={possibleDragElements:[]},this.touchData={start:null,capture:!1,startPosition:[null,null,null,null,null,null],singleTouchStartTime:null,singleTouchMoved:!0,now:[null,null,null,null,null,null],earlier:[null,null,null,null,null,null]},this.redraws=0,this.showFps=a.showFps,this.debug=a.debug,this.webgl=a.webgl,this.hideEdgesOnViewport=a.hideEdgesOnViewport,this.textureOnViewport=a.textureOnViewport,this.wheelSensitivity=a.wheelSensitivity,this.motionBlurEnabled=a.motionBlur,this.forcedPixelRatio=v(a.pixelRatio)?a.pixelRatio:null,this.motionBlur=a.motionBlur,this.motionBlurOpacity=a.motionBlurOpacity,this.motionBlurTransparency=1-this.motionBlurOpacity,this.motionBlurPxRatio=1,this.mbPxRBlurry=1,this.minMbLowQualFrames=4,this.fullQualityMb=!1,this.clearedForMotionBlur=[],this.desktopTapThreshold=a.desktopTapThreshold,this.desktopTapThreshold2=a.desktopTapThreshold*a.desktopTapThreshold,this.touchTapThreshold=a.touchTapThreshold,this.touchTapThreshold2=a.touchTapThreshold*a.touchTapThreshold,this.tapholdDuration=500,this.bindings=[],this.beforeRenderCallbacks=[],this.beforeRenderPriorities={animations:400,eleCalcs:300,eleTxrDeq:200,lyrTxrDeq:150,lyrTxrSkip:100},this.registerNodeShapes(),this.registerArrowShapes(),this.registerCalculationListeners()},iY.notify=function(a,b){var c=this.cy;if(!this.destroyed){if("init"===a)return void this.load();if("destroy"===a)return void this.destroy();("add"===a||"remove"===a||"move"===a&&c.hasCompoundNodes()||"load"===a||"zorder"===a||"mount"===a)&&this.invalidateCachedZSortedEles(),"viewport"===a&&this.redrawHint("select",!0),"gc"===a&&this.redrawHint("gc",!0),("load"===a||"resize"===a||"mount"===a)&&(this.invalidateContainerClientCoordsCache(),this.matchCanvasSize(this.container)),this.redrawHint("eles",!0),this.redrawHint("drag",!0),this.startRenderLoop(),this.redraw()}},iY.destroy=function(){this.destroyed=!0,this.cy.stopAnimationLoop();for(var a=0;a<this.bindings.length;a++){var b=this.bindings[a],c=b.target;(c.off||c.removeEventListener).apply(c,b.args)}if(this.bindings=[],this.beforeRenderCallbacks=[],this.onUpdateEleCalcsFns=[],this.removeObserver&&this.removeObserver.disconnect(),this.styleObserver&&this.styleObserver.disconnect(),this.resizeObserver&&this.resizeObserver.disconnect(),this.labelCalcDiv)try{document.body.removeChild(this.labelCalcDiv)}catch(a){}},iY.isHeadless=function(){return!1},[fS,iR,iS,iT,iU,iV].forEach(function(a){Q(iY,a)});var iZ=1e3/60,i$=function(a){return function(){var b=this,c=this.renderer;if(!b.dequeueingSetup){b.dequeueingSetup=!0;var d=ad(function(){c.redrawHint("eles",!0),c.redrawHint("drag",!0),c.redraw()},a.deqRedrawThreshold),e=a.priority||ax;c.beforeRender(function(e,f){var g=ae(),h=c.averageRedrawTime,i=c.lastRedrawTime,j=[],k=c.cy.extent(),l=c.getPixelRatio();for(e||c.flushRenderedStyleQueue();;){var n=ae(),o=n-g,p=n-f;if(i<iZ){var q=iZ-(e?h:0);if(p>=a.deqFastCost*q)break}else if(e){if(o>=a.deqCost*i||o>=a.deqAvgCost*h)break}else if(p>=a.deqNoDrawCost*iZ)break;var r=a.deq(b,l,k);if(r.length>0)for(var s=0;s<r.length;s++)j.push(r[s]);else break}j.length>0&&(a.onDeqd(b,j),!e&&a.shouldRedraw(b,j,l,k)&&d())},e(b))}}},i_=d(function a(b){var d=arguments.length>1&&void 0!==arguments[1]?arguments[1]:av;c(this,a),this.idsByKey=new aM,this.keyForId=new aM,this.cachesByLvl=new aM,this.lvls=[],this.getKey=b,this.doesEleInvalidateKey=d},[{key:"getIdsFor",value:function(a){null==a&&ay("Can not get id list for null key");var b=this.idsByKey,c=this.idsByKey.get(a);return c||(c=new aO,b.set(a,c)),c}},{key:"addIdForKey",value:function(a,b){null!=a&&this.getIdsFor(a).add(b)}},{key:"deleteIdForKey",value:function(a,b){null!=a&&this.getIdsFor(a).delete(b)}},{key:"getNumberOfIdsForKey",value:function(a){return null==a?0:this.getIdsFor(a).size}},{key:"updateKeyMappingFor",value:function(a){var b=a.id(),c=this.keyForId.get(b),d=this.getKey(a);this.deleteIdForKey(c,b),this.addIdForKey(d,b),this.keyForId.set(b,d)}},{key:"deleteKeyMappingFor",value:function(a){var b=a.id(),c=this.keyForId.get(b);this.deleteIdForKey(c,b),this.keyForId.delete(b)}},{key:"keyHasChangedFor",value:function(a){var b=a.id();return this.keyForId.get(b)!==this.getKey(a)}},{key:"isInvalid",value:function(a){return this.keyHasChangedFor(a)||this.doesEleInvalidateKey(a)}},{key:"getCachesAt",value:function(a){var b=this.cachesByLvl,c=this.lvls,d=b.get(a);return d||(d=new aM,b.set(a,d),c.push(a)),d}},{key:"getCache",value:function(a,b){return this.getCachesAt(b).get(a)}},{key:"get",value:function(a,b){var c=this.getKey(a),d=this.getCache(c,b);return null!=d&&this.updateKeyMappingFor(a),d}},{key:"getForCachedKey",value:function(a,b){var c=this.keyForId.get(a.id());return this.getCache(c,b)}},{key:"hasCache",value:function(a,b){return this.getCachesAt(b).has(a)}},{key:"has",value:function(a,b){var c=this.getKey(a);return this.hasCache(c,b)}},{key:"setCache",value:function(a,b,c){c.key=a,this.getCachesAt(b).set(a,c)}},{key:"set",value:function(a,b,c){var d=this.getKey(a);this.setCache(d,b,c),this.updateKeyMappingFor(a)}},{key:"deleteCache",value:function(a,b){this.getCachesAt(b).delete(a)}},{key:"delete",value:function(a,b){var c=this.getKey(a);this.deleteCache(c,b)}},{key:"invalidateKey",value:function(a){var b=this;this.lvls.forEach(function(c){return b.deleteCache(a,c)})}},{key:"invalidate",value:function(a){var b=a.id(),c=this.keyForId.get(b);this.deleteKeyMappingFor(a);var d=this.doesEleInvalidateKey(a);return d&&this.invalidateKey(c),d||0===this.getNumberOfIdsForKey(c)}}]),i0={dequeue:"dequeue",downscale:"downscale",highQuality:"highQuality"},i1=aF({getKey:null,doesEleInvalidateKey:av,drawElement:null,getBoundingBox:null,getRotationPoint:null,getRotationOffset:null,isVisible:au,allowEdgeTxrCaching:!0,allowParentTxrCaching:!0}),i2=function(a,b){this.renderer=a,this.onDequeues=[];var c=i1(b);Q(this,c),this.lookup=new i_(c.getKey,c.doesEleInvalidateKey),this.setupDequeueing()},i3=i2.prototype;i3.reasons=i0,i3.getTextureQueue=function(a){return this.eleImgCaches=this.eleImgCaches||{},this.eleImgCaches[a]=this.eleImgCaches[a]||[]},i3.getRetiredTextureQueue=function(a){var b=this.eleImgCaches.retired=this.eleImgCaches.retired||{};return b[a]=b[a]||[]},i3.getElementQueue=function(){return this.eleCacheQueue=this.eleCacheQueue||new aU(function(a,b){return b.reqs-a.reqs})},i3.getElementKeyToQueue=function(){return this.eleKeyToCacheQueue=this.eleKeyToCacheQueue||{}},i3.getElement=function(a,b,c,d,e){var f,g,h,i=this,j=this.renderer,k=j.cy.zoom(),l=this.lookup;if(!b||0===b.w||0===b.h||isNaN(b.w)||isNaN(b.h)||!a.visible()||a.removed()||!i.allowEdgeTxrCaching&&a.isEdge()||!i.allowParentTxrCaching&&a.isParent())return null;if(null==d&&(d=Math.ceil(a8(k*c))),d<-4)d=-4;else if(k>=7.99||d>3)return null;var n=Math.pow(2,d),o=b.h*n,p=b.w*n,q=j.eleTextBiggerThanMin(a,n);if(!this.isVisible(a,q))return null;var r=l.get(a,d);if(r&&r.invalidated&&(r.invalidated=!1,r.texture.invalidatedWidth-=r.width),r)return r;if(f=o<=25?25:o<=50?50:50*Math.ceil(o/50),o>1024||p>1024)return null;var s=i.getTextureQueue(f),t=s[s.length-2],u=function(){return i.recycleTexture(f,p)||i.addTexture(f,p)};t||(t=s[s.length-1]),t||(t=u()),t.width-t.usedWidth<p&&(t=u());for(var v=function(a){return a&&a.scaledLabelShown===q},w=e&&e===i0.dequeue,x=e&&e===i0.highQuality,y=e&&e===i0.downscale,z=d+1;z<=3;z++){var A=l.get(a,z);if(A){g=A;break}}var B=g&&g.level===d+1?g:null,C=function(){t.context.drawImage(B.texture.canvas,B.x,0,B.width,B.height,t.usedWidth,0,p,o)};if(t.context.setTransform(1,0,0,1,0,0),t.context.clearRect(t.usedWidth,0,p,f),v(B))C();else if(v(g))if(!x)return i.queueElement(a,g.level-1),g;else{for(var D=g.level;D>d;D--)B=i.getElement(a,b,c,D,i0.downscale);C()}else{if(!w&&!x&&!y)for(var E=d-1;E>=-4;E--){var F=l.get(a,E);if(F){h=F;break}}if(v(h))return i.queueElement(a,d),h;t.context.translate(t.usedWidth,0),t.context.scale(n,n),this.drawElement(t.context,a,b,q,!1),t.context.scale(1/n,1/n),t.context.translate(-t.usedWidth,0)}return r={x:t.usedWidth,texture:t,level:d,scale:n,width:p,height:o,scaledLabelShown:q},t.usedWidth+=Math.ceil(p+8),t.eleCaches.push(r),l.set(a,d,r),i.checkTextureFullness(t),r},i3.invalidateElements=function(a){for(var b=0;b<a.length;b++)this.invalidateElement(a[b])},i3.invalidateElement=function(a){var b=this.lookup,c=[];if(b.isInvalid(a)){for(var d=-4;d<=3;d++){var e=b.getForCachedKey(a,d);e&&c.push(e)}if(b.invalidate(a))for(var f=0;f<c.length;f++){var g=c[f],h=g.texture;h.invalidatedWidth+=g.width,g.invalidated=!0,this.checkTextureUtility(h)}this.removeFromQueue(a)}},i3.checkTextureUtility=function(a){a.invalidatedWidth>=.2*a.width&&this.retireTexture(a)},i3.checkTextureFullness=function(a){var b=this.getTextureQueue(a.height);a.usedWidth/a.width>.8&&a.fullnessChecks>=10?aG(b,a):a.fullnessChecks++},i3.retireTexture=function(a){var b=a.height,c=this.getTextureQueue(b),d=this.lookup;aG(c,a),a.retired=!0;for(var e=a.eleCaches,f=0;f<e.length;f++){var g=e[f];d.deleteCache(g.key,g.level)}aH(e),this.getRetiredTextureQueue(b).push(a)},i3.addTexture=function(a,b){var c=this.getTextureQueue(a),d={};return c.push(d),d.eleCaches=[],d.height=a,d.width=Math.max(1024,b),d.usedWidth=0,d.invalidatedWidth=0,d.fullnessChecks=0,d.canvas=this.renderer.makeOffscreenCanvas(d.width,d.height),d.context=d.canvas.getContext("2d"),d},i3.recycleTexture=function(a,b){for(var c=this.getTextureQueue(a),d=this.getRetiredTextureQueue(a),e=0;e<d.length;e++){var f=d[e];if(f.width>=b)return f.retired=!1,f.usedWidth=0,f.invalidatedWidth=0,f.fullnessChecks=0,aH(f.eleCaches),f.context.setTransform(1,0,0,1,0,0),f.context.clearRect(0,0,f.width,f.height),aG(d,f),c.push(f),f}},i3.queueElement=function(a,b){var c=this.getElementQueue(),d=this.getElementKeyToQueue(),e=this.getKey(a),f=d[e];if(f)f.level=Math.max(f.level,b),f.eles.merge(a),f.reqs++,c.updateItem(f);else{var g={eles:a.spawn().merge(a),level:b,reqs:1,key:e};c.push(g),d[e]=g}},i3.dequeue=function(a){for(var b=this.getElementQueue(),c=this.getElementKeyToQueue(),d=[],e=this.lookup,f=0;f<1;f++)if(b.size()>0){var g=b.pop(),h=g.key,i=g.eles[0],j=e.hasCache(i,g.level);if(c[h]=null,j)continue;d.push(g);var k=this.getBoundingBox(i);this.getElement(i,k,a,g.level,i0.dequeue)}else break;return d},i3.removeFromQueue=function(a){var b=this.getElementQueue(),c=this.getElementKeyToQueue(),d=this.getKey(a),e=c[d];null!=e&&(1===e.eles.length?(e.reqs=at,b.updateItem(e),b.pop(),c[d]=null):e.eles.unmerge(a))},i3.onDequeue=function(a){this.onDequeues.push(a)},i3.offDequeue=function(a){aG(this.onDequeues,a)},i3.setupDequeueing=i$({deqRedrawThreshold:100,deqCost:.15,deqAvgCost:.1,deqNoDrawCost:.9,deqFastCost:.9,deq:function(a,b,c){return a.dequeue(b,c)},onDeqd:function(a,b){for(var c=0;c<a.onDequeues.length;c++)(0,a.onDequeues[c])(b)},shouldRedraw:function(a,b,c,d){for(var e=0;e<b.length;e++)for(var f=b[e].eles,g=0;g<f.length;g++)if(bo(f[g].boundingBox(),d))return!0;return!1},priority:function(a){return a.renderer.beforeRenderPriorities.eleTxrDeq}});var i4=function(a){var b=this,c=b.renderer=a,d=c.cy;b.layersByLevel={},b.firstGet=!0,b.lastInvalidationTime=ae()-500,b.skipping=!1,b.eleTxrDeqs=d.collection(),b.scheduleElementRefinement=ad(function(){b.refineElementTextures(b.eleTxrDeqs),b.eleTxrDeqs.unmerge(b.eleTxrDeqs)},50),c.beforeRender(function(a,c){c-b.lastInvalidationTime<=250?b.skipping=!0:b.skipping=!1},c.beforeRenderPriorities.lyrTxrSkip),b.layersQueue=new aU(function(a,b){return b.reqs-a.reqs}),b.setupDequeueing()},i5=i4.prototype,i6=0;i5.makeLayer=function(a,b){var c=Math.pow(2,b),d=Math.ceil(a.w*c),e=Math.ceil(a.h*c),f=this.renderer.makeOffscreenCanvas(d,e),g={id:i6=++i6%0x1fffffffffffff,bb:a,level:b,width:d,height:e,canvas:f,context:f.getContext("2d"),eles:[],elesQueue:[],reqs:0},h=g.context,i=-g.bb.x1,j=-g.bb.y1;return h.scale(c,c),h.translate(i,j),g},i5.getLayers=function(a,b,c){var d,e,f=this,g=f.renderer.cy.zoom(),h=f.firstGet;if(f.firstGet=!1,null==c){if((c=Math.ceil(a8(g*b)))<-4)c=-4;else if(g>=3.99||c>2)return null}f.validateLayersElesOrdering(c,a);var i=f.layersByLevel,j=Math.pow(2,c),k=i[c]=i[c]||[];if(f.levelIsComplete(c,a))return k;var l=function(b){if(f.validateLayersElesOrdering(b,a),f.levelIsComplete(b,a))return e=i[b],!0},n=function(a){if(!e)for(var b=c+a;-4<=b&&b<=2&&!l(b);b+=a);};n(1),n(-1);for(var o=k.length-1;o>=0;o--){var p=k[o];p.invalid&&aG(k,p)}var q=function(){if(!d){d=bh();for(var b=0;b<a.length;b++)bj(d,a[b].boundingBox())}return d};if(f.skipping&&!h)return null;for(var r=null,s=a.length/1,t=!h,u=0;u<a.length;u++){var v=a[u],w=v._private.rscratch,x=w.imgLayerCaches=w.imgLayerCaches||{},y=x[c];if(y){r=y;continue}if((!r||r.eles.length>=s||!br(r.bb,v.boundingBox()))&&!(r=function(a){var b=(a=a||{}).after;q();var e=Math.ceil(d.w*j),g=Math.ceil(d.h*j);if(e>32767||g>32767||e*g>16e6)return null;var h=f.makeLayer(d,c);if(null!=b){var i=k.indexOf(b)+1;k.splice(i,0,h)}else(void 0===a.insert||a.insert)&&k.unshift(h);return h}({insert:!0,after:r})))return null;e||t?f.queueLayer(r,v):f.drawEleInLayer(r,v,c,b),r.eles.push(v),x[c]=r}return e||(t?null:k)},i5.getEleLevelForLayerLevel=function(a,b){return a},i5.drawEleInLayer=function(a,b,c,d){var e=this.renderer,f=a.context,g=b.boundingBox();0!==g.w&&0!==g.h&&b.visible()&&(c=this.getEleLevelForLayerLevel(c,d),e.setImgSmoothing(f,!1),e.drawCachedElement(f,b,null,null,c,!0),e.setImgSmoothing(f,!0))},i5.levelIsComplete=function(a,b){var c=this.layersByLevel[a];if(!c||0===c.length)return!1;for(var d=0,e=0;e<c.length;e++){var f=c[e];if(f.reqs>0||f.invalid)return!1;d+=f.eles.length}return d===b.length},i5.validateLayersElesOrdering=function(a,b){var c=this.layersByLevel[a];if(c)for(var d=0;d<c.length;d++){for(var e=c[d],f=-1,g=0;g<b.length;g++)if(e.eles[0]===b[g]){f=g;break}if(f<0){this.invalidateLayer(e);continue}for(var h=f,g=0;g<e.eles.length;g++)if(e.eles[g]!==b[h+g]){this.invalidateLayer(e);break}}},i5.updateElementsInLayers=function(a,b){for(var c=y(a[0]),d=0;d<a.length;d++)for(var e=c?null:a[d],f=c?a[d]:a[d].ele,g=f._private.rscratch,h=g.imgLayerCaches=g.imgLayerCaches||{},i=-4;i<=2;i++){var j=h[i];j&&(e&&this.getEleLevelForLayerLevel(j.level)!==e.level||b(j,f,e))}},i5.haveLayers=function(){for(var a=!1,b=-4;b<=2;b++){var c=this.layersByLevel[b];if(c&&c.length>0){a=!0;break}}return a},i5.invalidateElements=function(a){var b=this;0===a.length||(b.lastInvalidationTime=ae(),0!==a.length&&b.haveLayers()&&b.updateElementsInLayers(a,function(a,c,d){b.invalidateLayer(a)}))},i5.invalidateLayer=function(a){if(this.lastInvalidationTime=ae(),!a.invalid){var b=a.level,c=a.eles;aG(this.layersByLevel[b],a),a.elesQueue=[],a.invalid=!0,a.replacement&&(a.replacement.invalid=!0);for(var d=0;d<c.length;d++){var e=c[d]._private.rscratch.imgLayerCaches;e&&(e[b]=null)}}},i5.refineElementTextures=function(a){var b=this;b.updateElementsInLayers(a,function(a,c,d){var e=a.replacement;if(e||((e=a.replacement=b.makeLayer(a.bb,a.level)).replaces=a,e.eles=a.eles),!e.reqs)for(var f=0;f<e.eles.length;f++)b.queueLayer(e,e.eles[f])})},i5.enqueueElementRefinement=function(a){this.eleTxrDeqs.merge(a),this.scheduleElementRefinement()},i5.queueLayer=function(a,b){var c=this.layersQueue,d=a.elesQueue,e=d.hasId=d.hasId||{};if(!a.replacement){if(b){if(e[b.id()])return;d.push(b),e[b.id()]=!0}a.reqs?(a.reqs++,c.updateItem(a)):(a.reqs=1,c.push(a))}},i5.dequeue=function(a){for(var b=this.layersQueue,c=[],d=0;d<1&&0!==b.size();){var e=b.peek();if(e.replacement||e.replaces&&e!==e.replaces.replacement||e.invalid){b.pop();continue}var f=e.elesQueue.shift();f&&(this.drawEleInLayer(e,f,e.level,a),d++),0===c.length&&c.push(!0),0===e.elesQueue.length&&(b.pop(),e.reqs=0,e.replaces&&this.applyLayerReplacement(e),this.requestRedraw())}return c},i5.applyLayerReplacement=function(a){var b=this.layersByLevel[a.level],c=a.replaces,d=b.indexOf(c);if(!(d<0)&&!c.invalid){b[d]=a;for(var e=0;e<a.eles.length;e++){var f=a.eles[e]._private,g=f.imgLayerCaches=f.imgLayerCaches||{};g&&(g[a.level]=a)}this.requestRedraw()}},i5.requestRedraw=ad(function(){var a=this.renderer;a.redrawHint("eles",!0),a.redrawHint("drag",!0),a.redraw()},100),i5.setupDequeueing=i$({deqRedrawThreshold:50,deqCost:.15,deqAvgCost:.1,deqNoDrawCost:.9,deqFastCost:.9,deq:function(a,b){return a.dequeue(b)},onDeqd:ax,shouldRedraw:au,priority:function(a){return a.renderer.beforeRenderPriorities.lyrTxrDeq}});var i7={};function i8(a,b){for(var c=0;c<b.length;c++){var d=b[c];a.lineTo(d.x,d.y)}}function i9(a,b,c){for(var d,e=0;e<b.length;e++){var f=b[e];0===e&&(d=f),a.lineTo(f.x,f.y)}a.quadraticCurveTo(c.x,c.y,d.x,d.y)}function ja(a,b,c){a.beginPath&&a.beginPath();for(var d=0;d<b.length;d++){var e=b[d];a.lineTo(e.x,e.y)}var f=c[0];a.moveTo(f.x,f.y);for(var d=1;d<c.length;d++){var e=c[d];a.lineTo(e.x,e.y)}a.closePath&&a.closePath()}function jb(a,b,c,d,e){a.beginPath&&a.beginPath(),a.arc(c,d,e,0,2*Math.PI,!1);var f=b[0];a.moveTo(f.x,f.y);for(var g=0;g<b.length;g++){var h=b[g];a.lineTo(h.x,h.y)}a.closePath&&a.closePath()}function jc(a,b,c,d){a.arc(b,c,d,0,2*Math.PI,!1)}i7.arrowShapeImpl=function(a){return(f$||(f$={polygon:i8,"triangle-backcurve":i9,"triangle-tee":ja,"circle-triangle":jb,"triangle-cross":ja,circle:jc}))[a]};var jd={};jd.drawElement=function(a,b,c,d,e,f){b.isNode()?this.drawNode(a,b,c,d,e,f):this.drawEdge(a,b,c,d,e,f)},jd.drawElementOverlay=function(a,b){b.isNode()?this.drawNodeOverlay(a,b):this.drawEdgeOverlay(a,b)},jd.drawElementUnderlay=function(a,b){b.isNode()?this.drawNodeUnderlay(a,b):this.drawEdgeUnderlay(a,b)},jd.drawCachedElementPortion=function(a,b,c,d,e,f,g,h){var i=c.getBoundingBox(b);if(0!==i.w&&0!==i.h){var j=c.getElement(b,i,d,e,f);if(null!=j){var k,l,n,o,p,q,r=h(this,b);if(0===r)return;var s=g(this,b),t=i.x1,u=i.y1,v=i.w,w=i.h;if(0!==s){var x=c.getRotationPoint(b);n=x.x,o=x.y,a.translate(n,o),a.rotate(s),(p=this.getImgSmoothing(a))||this.setImgSmoothing(a,!0);var y=c.getRotationOffset(b);k=y.x,l=y.y}else k=t,l=u;1!==r&&(q=a.globalAlpha,a.globalAlpha=q*r),a.drawImage(j.texture.canvas,j.x,0,j.width,j.height,k,l,v,w),1!==r&&(a.globalAlpha=q),0!==s&&(a.rotate(-s),a.translate(-n,-o),p||this.setImgSmoothing(a,!1))}else c.drawElement(a,b)}};var je=function(){return 0},jf=function(a,b){return a.getTextAngle(b,null)},jg=function(a,b){return a.getTextAngle(b,"source")},jh=function(a,b){return a.getTextAngle(b,"target")},ji=function(a,b){return b.effectiveOpacity()},jj=function(a,b){return b.pstyle("text-opacity").pfValue*b.effectiveOpacity()};jd.drawCachedElement=function(a,b,c,d,e,f){var g=this.data,h=g.eleTxrCache,i=g.lblTxrCache,j=g.slbTxrCache,k=g.tlbTxrCache,l=b.boundingBox(),n=!0===f?h.reasons.highQuality:null;if(0!==l.w&&0!==l.h&&b.visible()&&(!d||bo(l,d))){var o=b.isEdge(),p=b.element()._private.rscratch.badLine;this.drawElementUnderlay(a,b),this.drawCachedElementPortion(a,b,h,c,e,n,je,ji),o&&p||this.drawCachedElementPortion(a,b,i,c,e,n,jf,jj),o&&!p&&(this.drawCachedElementPortion(a,b,j,c,e,n,jg,jj),this.drawCachedElementPortion(a,b,k,c,e,n,jh,jj)),this.drawElementOverlay(a,b)}},jd.drawElements=function(a,b){for(var c=0;c<b.length;c++){var d=b[c];this.drawElement(a,d)}},jd.drawCachedElements=function(a,b,c,d){for(var e=0;e<b.length;e++){var f=b[e];this.drawCachedElement(a,f,c,d)}},jd.drawCachedNodes=function(a,b,c,d){for(var e=0;e<b.length;e++){var f=b[e];f.isNode()&&this.drawCachedElement(a,f,c,d)}},jd.drawLayeredElements=function(a,b,c,d){var e=this.data.lyrTxrCache.getLayers(b,c);if(e)for(var f=0;f<e.length;f++){var g=e[f],h=g.bb;0!==h.w&&0!==h.h&&a.drawImage(g.canvas,h.x1,h.y1,h.w,h.h)}else this.drawCachedElements(a,b,c,d)};var jk={};jk.drawEdge=function(a,b,c){var d,e=!(arguments.length>3)||void 0===arguments[3]||arguments[3],f=!(arguments.length>4)||void 0===arguments[4]||arguments[4],g=!(arguments.length>5)||void 0===arguments[5]||arguments[5],h=this,i=b._private.rscratch;if((!g||b.visible())&&!(i.badLine||null==i.allpts||isNaN(i.allpts[0]))){c&&(d=c,a.translate(-d.x1,-d.y1));var j=g?b.pstyle("opacity").value:1,k=g?b.pstyle("line-opacity").value:1,l=b.pstyle("curve-style").value,n=b.pstyle("line-style").value,o=b.pstyle("width").pfValue,p=b.pstyle("line-cap").value,q=b.pstyle("line-outline-width").value,r=b.pstyle("line-outline-color").value,s=j*k,t=j*k,u=function(){var c=arguments.length>0&&void 0!==arguments[0]?arguments[0]:s;"straight-triangle"===l?(h.eleStrokeStyle(a,b,c),h.drawEdgeTrianglePath(b,a,i.allpts)):(a.lineWidth=o,a.lineCap=p,h.eleStrokeStyle(a,b,c),h.drawEdgePath(b,a,i.allpts,n),a.lineCap="butt")},v=function(){var c=arguments.length>0&&void 0!==arguments[0]?arguments[0]:t;h.drawArrowheads(a,b,c)};if(a.lineJoin="round","yes"===b.pstyle("ghost").value){var w=b.pstyle("ghost-offset-x").pfValue,x=b.pstyle("ghost-offset-y").pfValue,y=s*b.pstyle("ghost-opacity").value;a.translate(w,x),u(y),v(y),a.translate(-w,-x)}else!function(){var c=arguments.length>0&&void 0!==arguments[0]?arguments[0]:s;if(a.lineWidth=o+q,a.lineCap=p,q>0)h.colorStrokeStyle(a,r[0],r[1],r[2],c);else{a.lineCap="butt";return}"straight-triangle"===l?h.drawEdgeTrianglePath(b,a,i.allpts):(h.drawEdgePath(b,a,i.allpts,n),a.lineCap="butt")}();f&&h.drawEdgeUnderlay(a,b),u(),v(),f&&h.drawEdgeOverlay(a,b),h.drawElementText(a,b,null,e),c&&a.translate(d.x1,d.y1)}};var jl=function(a){if(!["overlay","underlay"].includes(a))throw Error("Invalid state");return function(b,c){if(c.visible()){var d=c.pstyle("".concat(a,"-opacity")).value;if(0!==d){var e=this.usePaths(),f=c._private.rscratch,g=c.pstyle("".concat(a,"-padding")).pfValue,h=c.pstyle("".concat(a,"-color")).value;b.lineWidth=2*g,"self"!==f.edgeType||e?b.lineCap="round":b.lineCap="butt",this.colorStrokeStyle(b,h[0],h[1],h[2],d),this.drawEdgePath(c,b,f.allpts,"solid")}}}};jk.drawEdgeOverlay=jl("overlay"),jk.drawEdgeUnderlay=jl("underlay"),jk.drawEdgePath=function(a,b,c,d){var f=a._private.rscratch,g=b,h=!1,i=this.usePaths(),j=a.pstyle("line-dash-pattern").pfValue,k=a.pstyle("line-dash-offset").pfValue;if(i){var l=c.join("$");f.pathCacheKey&&f.pathCacheKey===l?(p=b=f.pathCache,h=!0):(p=b=new Path2D,f.pathCacheKey=l,f.pathCache=p)}if(g.setLineDash)switch(d){case"dotted":g.setLineDash([1,1]);break;case"dashed":g.setLineDash(j),g.lineDashOffset=k;break;case"solid":g.setLineDash([])}if(!h&&!f.badLine)switch(b.beginPath&&b.beginPath(),b.moveTo(c[0],c[1]),f.edgeType){case"bezier":case"self":case"compound":case"multibezier":for(var n=2;n+3<c.length;n+=4)b.quadraticCurveTo(c[n],c[n+1],c[n+2],c[n+3]);break;case"straight":case"haystack":for(var o=2;o+1<c.length;o+=2)b.lineTo(c[o],c[o+1]);break;case"segments":if(f.isRound){var p,q,r=e(f.roundCorners);try{for(r.s();!(q=r.n()).done;){var s=q.value;iC(b,s)}}catch(a){r.e(a)}finally{r.f()}b.lineTo(c[c.length-2],c[c.length-1])}else for(var t=2;t+1<c.length;t+=2)b.lineTo(c[t],c[t+1])}b=g,i?b.stroke(p):b.stroke(),b.setLineDash&&b.setLineDash([])},jk.drawEdgeTrianglePath=function(a,b,c){b.fillStyle=b.strokeStyle;for(var d=a.pstyle("width").pfValue,e=0;e+1<c.length;e+=2){var f=[c[e+2]-c[e],c[e+3]-c[e+1]],g=Math.sqrt(f[0]*f[0]+f[1]*f[1]),h=[f[1]/g,-f[0]/g],i=[h[0]*d/2,h[1]*d/2];b.beginPath(),b.moveTo(c[e]-i[0],c[e+1]-i[1]),b.lineTo(c[e]+i[0],c[e+1]+i[1]),b.lineTo(c[e+2],c[e+3]),b.closePath(),b.fill()}},jk.drawArrowheads=function(a,b,c){var d=b._private.rscratch,e="haystack"===d.edgeType;e||this.drawArrowhead(a,b,"source",d.arrowStartX,d.arrowStartY,d.srcArrowAngle,c),this.drawArrowhead(a,b,"mid-target",d.midX,d.midY,d.midtgtArrowAngle,c),this.drawArrowhead(a,b,"mid-source",d.midX,d.midY,d.midsrcArrowAngle,c),e||this.drawArrowhead(a,b,"target",d.arrowEndX,d.arrowEndY,d.tgtArrowAngle,c)},jk.drawArrowhead=function(a,b,c,d,e,f,g){if(!(isNaN(d)||null==d||isNaN(e)||null==e||isNaN(f))&&null!=f){var h=b.pstyle(c+"-arrow-shape").value;if("none"!==h){var i="hollow"===b.pstyle(c+"-arrow-fill").value?"both":"filled",j=b.pstyle(c+"-arrow-fill").value,k=b.pstyle("width").pfValue,l=b.pstyle(c+"-arrow-width"),n="match-line"===l.value?k:l.pfValue;"%"===l.units&&(n*=k);var o=b.pstyle("opacity").value;void 0===g&&(g=o);var p=a.globalCompositeOperation;(1!==g||"hollow"===j)&&(a.globalCompositeOperation="destination-out",this.colorFillStyle(a,255,255,255,1),this.colorStrokeStyle(a,255,255,255,1),this.drawArrowShape(b,a,i,k,h,n,d,e,f),a.globalCompositeOperation=p);var q=b.pstyle(c+"-arrow-color").value;this.colorFillStyle(a,q[0],q[1],q[2],g),this.colorStrokeStyle(a,q[0],q[1],q[2],g),this.drawArrowShape(b,a,j,k,h,n,d,e,f)}}},jk.drawArrowShape=function(a,b,c,d,e,f,g,h,i){var j,k=this.usePaths()&&"triangle-cross"!==e,l=!1,n=b,o=a.pstyle("arrow-scale").value,p=this.getArrowWidth(d,o),q=this.arrowShapes[e];if(k){var r=this.arrowPathCache=this.arrowPathCache||[],s=an(e),t=r[s];null!=t?(j=b=t,l=!0):(j=b=new Path2D,r[s]=j)}!l&&(b.beginPath&&b.beginPath(),k?q.draw(b,1,0,{x:0,y:0},1):q.draw(b,p,i,{x:g,y:h},d),b.closePath&&b.closePath()),b=n,k&&(b.translate(g,h),b.rotate(i),b.scale(p,p)),("filled"===c||"both"===c)&&(k?b.fill(j):b.fill()),("hollow"===c||"both"===c)&&(b.lineWidth=f/(k?p:1),b.lineJoin="miter",k?b.stroke(j):b.stroke()),k&&(b.scale(1/p,1/p),b.rotate(-i),b.translate(-g,-h))};var jm={};jm.safeDrawImage=function(a,b,c,d,e,f,g,h,i,j){if(!(e<=0)&&!(f<=0)&&!(i<=0)&&!(j<=0))try{a.drawImage(b,c,d,e,f,g,h,i,j)}catch(a){aA(a)}},jm.drawInscribedImage=function(a,b,c,d,e){var f=c.position(),g=f.x,h=f.y,i=c.cy().style(),j=i.getIndexedStyle.bind(i),k=j(c,"background-fit","value",d),l=j(c,"background-repeat","value",d),n=c.width(),o=c.height(),p=2*c.padding(),q=n+("inner"===j(c,"background-width-relative-to","value",d)?0:p),r=o+("inner"===j(c,"background-height-relative-to","value",d)?0:p),s=c._private.rscratch,t="node"===j(c,"background-clip","value",d),u=j(c,"background-image-opacity","value",d)*e,v=j(c,"background-image-smoothing","value",d),w=c.pstyle("corner-radius").value;"auto"!==w&&(w=c.pstyle("corner-radius").pfValue);var x=b.width||b.cachedW,y=b.height||b.cachedH;(null==x||null==y)&&(document.body.appendChild(b),x=b.cachedW=b.width||b.offsetWidth,y=b.cachedH=b.height||b.offsetHeight,document.body.removeChild(b));var z=x,A=y;if("auto"!==j(c,"background-width","value",d)&&(z="%"===j(c,"background-width","units",d)?j(c,"background-width","pfValue",d)*q:j(c,"background-width","pfValue",d)),"auto"!==j(c,"background-height","value",d)&&(A="%"===j(c,"background-height","units",d)?j(c,"background-height","pfValue",d)*r:j(c,"background-height","pfValue",d)),0!==z&&0!==A){if("contain"===k){var B=Math.min(q/z,r/A);z*=B,A*=B}else if("cover"===k){var B=Math.max(q/z,r/A);z*=B,A*=B}var C=g-q/2,D=j(c,"background-position-x","units",d),E=j(c,"background-position-x","pfValue",d);"%"===D?C+=(q-z)*E:C+=E;var F=j(c,"background-offset-x","units",d),G=j(c,"background-offset-x","pfValue",d);"%"===F?C+=(q-z)*G:C+=G;var H=h-r/2,I=j(c,"background-position-y","units",d),J=j(c,"background-position-y","pfValue",d);"%"===I?H+=(r-A)*J:H+=J;var K=j(c,"background-offset-y","units",d),L=j(c,"background-offset-y","pfValue",d);"%"===K?H+=(r-A)*L:H+=L,s.pathCache&&(C-=g,H-=h,g=0,h=0);var M=a.globalAlpha;a.globalAlpha=u;var N=this.getImgSmoothing(a),O=!1;if("no"===v&&N?(this.setImgSmoothing(a,!1),O=!0):"yes"!==v||N||(this.setImgSmoothing(a,!0),O=!0),"no-repeat"===l)t&&(a.save(),s.pathCache?a.clip(s.pathCache):(this.nodeShapes[this.getNodeShape(c)].draw(a,g,h,q,r,w,s),a.clip())),this.safeDrawImage(a,b,0,0,x,y,C,H,z,A),t&&a.restore();else{var P=a.createPattern(b,l);a.fillStyle=P,this.nodeShapes[this.getNodeShape(c)].draw(a,g,h,q,r,w,s),a.translate(C,H),a.fill(),a.translate(-C,-H)}a.globalAlpha=M,O&&this.setImgSmoothing(a,N)}};var jn={};function jo(a,b,c,d,e){var f=arguments.length>5&&void 0!==arguments[5]?arguments[5]:5,g=Math.min(f,d/2,e/2);a.beginPath(),a.moveTo(b+g,c),a.lineTo(b+d-g,c),a.quadraticCurveTo(b+d,c,b+d,c+g),a.lineTo(b+d,c+e-g),a.quadraticCurveTo(b+d,c+e,b+d-g,c+e),a.lineTo(b+g,c+e),a.quadraticCurveTo(b,c+e,b,c+e-g),a.lineTo(b,c+g),a.quadraticCurveTo(b,c,b+g,c),a.closePath()}jn.eleTextBiggerThanMin=function(a,b){return b||(b=Math.pow(2,Math.ceil(a8(a.cy().zoom()*this.getPixelRatio())))),!(a.pstyle("font-size").pfValue*b<a.pstyle("min-zoomed-font-size").pfValue)},jn.drawElementText=function(a,b,c,d,e){var f,g=!(arguments.length>5)||void 0===arguments[5]||arguments[5];if(null==d){if(g&&!this.eleTextBiggerThanMin(b))return}else if(!1===d)return;if(b.isNode()){var h=b.pstyle("label");if(!h||!h.value)return;a.textAlign=this.getLabelJustification(b),a.textBaseline="bottom"}else{var i=b.element()._private.rscratch.badLine,j=b.pstyle("label"),k=b.pstyle("source-label"),l=b.pstyle("target-label");if(i||(!j||!j.value)&&(!k||!k.value)&&(!l||!l.value))return;a.textAlign="center",a.textBaseline="bottom"}var n=!c;c&&(f=c,a.translate(-f.x1,-f.y1)),null==e?(this.drawText(a,b,null,n,g),b.isEdge()&&(this.drawText(a,b,"source",n,g),this.drawText(a,b,"target",n,g))):this.drawText(a,b,e,n,g),c&&a.translate(f.x1,f.y1)},jn.getFontCache=function(a){var b;this.fontCaches=this.fontCaches||[];for(var c=0;c<this.fontCaches.length;c++)if((b=this.fontCaches[c]).context===a)return b;return b={context:a},this.fontCaches.push(b),b},jn.setupTextStyle=function(a,b){var c=!(arguments.length>2)||void 0===arguments[2]||arguments[2],d=b.pstyle("font-style").strValue,e=b.pstyle("font-size").pfValue+"px",f=b.pstyle("font-family").strValue,g=b.pstyle("font-weight").strValue,h=c?b.effectiveOpacity()*b.pstyle("text-opacity").value:1,i=b.pstyle("text-outline-opacity").value*h,j=b.pstyle("color").value,k=b.pstyle("text-outline-color").value;a.font=d+" "+g+" "+e+" "+f,a.lineJoin="round",this.colorFillStyle(a,j[0],j[1],j[2],h),this.colorStrokeStyle(a,k[0],k[1],k[2],i)},jn.getTextAngle=function(a,b){var c,d=a._private.rscratch,e=b?b+"-":"",f=a.pstyle(e+"text-rotation");if("autorotate"===f.strValue){var g=aJ(d,"labelAngle",b);c=a.isEdge()?g:0}else c="none"===f.strValue?0:f.pfValue;return c},jn.drawText=function(a,b,c){var d=!(arguments.length>3)||void 0===arguments[3]||arguments[3],e=!(arguments.length>4)||void 0===arguments[4]||arguments[4],f=b._private.rscratch,g=e?b.effectiveOpacity():1;if(!e||0!==g&&0!==b.pstyle("text-opacity").value){"main"===c&&(c=null);var h=aJ(f,"labelX",c),i=aJ(f,"labelY",c),j=this.getLabelText(b,c);if(null!=j&&""!==j&&!isNaN(h)&&!isNaN(i)){this.setupTextStyle(a,b,e);var k,l,n,o=c?c+"-":"",p=aJ(f,"labelWidth",c),q=aJ(f,"labelHeight",c),r=b.pstyle(o+"text-margin-x").pfValue,s=b.pstyle(o+"text-margin-y").pfValue,t=b.isEdge(),u=b.pstyle("text-halign").value,v=b.pstyle("text-valign").value;switch(t&&(u="center",v="center"),h+=r,i+=s,0!==(n=d?this.getTextAngle(b,c):0)&&(k=h,l=i,a.translate(k,l),a.rotate(n),h=0,i=0),v){case"top":break;case"center":i+=q/2;break;case"bottom":i+=q}var w=b.pstyle("text-background-opacity").value,x=b.pstyle("text-border-opacity").value,y=b.pstyle("text-border-width").pfValue,z=b.pstyle("text-background-padding").pfValue,A=b.pstyle("text-background-shape").strValue,B="round-rectangle"===A||"roundrectangle"===A;if(w>0||y>0&&x>0){var C,D,E=a.fillStyle,F=a.strokeStyle,G=a.lineWidth,H=b.pstyle("text-background-color").value,I=b.pstyle("text-border-color").value,J=b.pstyle("text-border-style").value,K=w>0,L=y>0&&x>0,M=h-z;switch(u){case"left":M-=p;break;case"center":M-=p/2}var N=i-q-z,O=p+2*z,P=q+2*z;if(K&&(a.fillStyle="rgba(".concat(H[0],",").concat(H[1],",").concat(H[2],",").concat(w*g,")")),L&&(a.strokeStyle="rgba(".concat(I[0],",").concat(I[1],",").concat(I[2],",").concat(x*g,")"),a.lineWidth=y,a.setLineDash))switch(J){case"dotted":a.setLineDash([1,1]);break;case"dashed":a.setLineDash([4,2]);break;case"double":a.lineWidth=y/4,a.setLineDash([]);break;default:a.setLineDash([])}if(B?(a.beginPath(),jo(a,M,N,O,P,2)):"circle"===A?(a.beginPath(),C=M,D=Math.min(O,P),a.beginPath(),a.arc(C+O/2,N+P/2,D/2,0,2*Math.PI),a.closePath()):(a.beginPath(),a.rect(M,N,O,P)),K&&a.fill(),L&&a.stroke(),L&&"double"===J){var Q=y/2;a.beginPath(),B?jo(a,M+Q,N+Q,O-2*Q,P-2*Q,2):a.rect(M+Q,N+Q,O-2*Q,P-2*Q),a.stroke()}a.fillStyle=E,a.strokeStyle=F,a.lineWidth=G,a.setLineDash&&a.setLineDash([])}var R=2*b.pstyle("text-outline-width").pfValue;if(R>0&&(a.lineWidth=R),"wrap"===b.pstyle("text-wrap").value){var S=aJ(f,"labelWrapCachedLines",c),T=aJ(f,"labelLineHeight",c),U=p/2,V=this.getLabelJustification(b);switch("auto"===V||("left"===u?"left"===V?h+=-p:"center"===V&&(h+=-U):"center"===u?"left"===V?h+=-U:"right"===V&&(h+=U):"right"===u&&("center"===V?h+=U:"right"===V&&(h+=p))),v){case"top":case"center":case"bottom":i-=(S.length-1)*T}for(var W=0;W<S.length;W++)R>0&&a.strokeText(S[W],h,i),a.fillText(S[W],h,i),i+=T}else R>0&&a.strokeText(j,h,i),a.fillText(j,h,i);0!==n&&(a.rotate(-n),a.translate(-k,-l))}}};var jp={};jp.drawNode=function(a,b,c){var d,e,f,g,h=!(arguments.length>3)||void 0===arguments[3]||arguments[3],i=!(arguments.length>4)||void 0===arguments[4]||arguments[4],j=!(arguments.length>5)||void 0===arguments[5]||arguments[5],k=this,l=b._private,n=l.rscratch,o=b.position();if(v(o.x)&&v(o.y)&&(!j||b.visible())){var p=j?b.effectiveOpacity():1,q=k.usePaths(),r=!1,s=b.padding();d=b.width()+2*s,e=b.height()+2*s,c&&(g=c,a.translate(-g.x1,-g.y1));for(var t=b.pstyle("background-image").value,u=Array(t.length),w=Array(t.length),x=0,y=0;y<t.length;y++){var z=t[y];if(u[y]=null!=z&&"none"!==z){var A=b.cy().style().getIndexedStyle(b,"background-image-crossorigin","value",y);x++,w[y]=k.getCachedImage(z,A,function(){l.backgroundTimestamp=Date.now(),b.emitAndNotify("background")})}}var B=b.pstyle("background-blacken").value,C=b.pstyle("border-width").pfValue,D=b.pstyle("background-opacity").value*p,E=b.pstyle("border-color").value,F=b.pstyle("border-style").value,G=b.pstyle("border-join").value,H=b.pstyle("border-cap").value,I=b.pstyle("border-position").value,J=b.pstyle("border-dash-pattern").pfValue,K=b.pstyle("border-dash-offset").pfValue,L=b.pstyle("border-opacity").value*p,M=b.pstyle("outline-width").pfValue,N=b.pstyle("outline-color").value,O=b.pstyle("outline-style").value,P=b.pstyle("outline-opacity").value*p,Q=b.pstyle("outline-offset").value,R=b.pstyle("corner-radius").value;"auto"!==R&&(R=b.pstyle("corner-radius").pfValue);var S=function(){var c=arguments.length>0&&void 0!==arguments[0]?arguments[0]:D;k.eleFillStyle(a,b,c)},T=function(){var b=arguments.length>0&&void 0!==arguments[0]?arguments[0]:L;k.colorStrokeStyle(a,E[0],E[1],E[2],b)},U=function(){var b=arguments.length>0&&void 0!==arguments[0]?arguments[0]:P;k.colorStrokeStyle(a,N[0],N[1],N[2],b)},V=function(a,b,c,d){var e,f=k.nodePathCache=k.nodePathCache||[],g=ao("polygon"===c?c+","+d.join(","):c,""+b,""+a,""+R),h=f[g],i=!1;return null!=h?(i=!0,n.pathCache=e=h):(e=new Path2D,f[g]=n.pathCache=e),{path:e,cacheHit:i}},W=b.pstyle("shape").strValue,X=b.pstyle("shape-polygon-points").pfValue;if(q){a.translate(o.x,o.y);var Y=V(d,e,W,X);f=Y.path,r=Y.cacheHit}var Z=function(){if(!r){var c=o;q&&(c={x:0,y:0}),k.nodeShapes[k.getNodeShape(b)].draw(f||a,c.x,c.y,d,e,R,n)}q?a.fill(f):a.fill()},$=function(){for(var c=arguments.length>0&&void 0!==arguments[0]?arguments[0]:p,d=!(arguments.length>1)||void 0===arguments[1]||arguments[1],e=l.backgrounding,f=0,g=0;g<w.length;g++){var h=b.cy().style().getIndexedStyle(b,"background-image-containment","value",g);if(d&&"over"===h||!d&&"inside"===h){f++;continue}u[g]&&w[g].complete&&!w[g].error&&(f++,k.drawInscribedImage(a,w[g],b,g,c))}l.backgrounding=f!==x,e!==l.backgrounding&&b.updateStyle(!1)},_=function(){var c=arguments.length>0&&void 0!==arguments[0]&&arguments[0],f=arguments.length>1&&void 0!==arguments[1]?arguments[1]:p;k.hasPie(b)&&(k.drawPie(a,b,f),c&&!q&&k.nodeShapes[k.getNodeShape(b)].draw(a,o.x,o.y,d,e,R,n))},aa=function(){var c=arguments.length>0&&void 0!==arguments[0]&&arguments[0],f=arguments.length>1&&void 0!==arguments[1]?arguments[1]:p;k.hasStripe(b)&&(a.save(),q?a.clip(n.pathCache):(k.nodeShapes[k.getNodeShape(b)].draw(a,o.x,o.y,d,e,R,n),a.clip()),k.drawStripe(a,b,f),a.restore(),c&&!q&&k.nodeShapes[k.getNodeShape(b)].draw(a,o.x,o.y,d,e,R,n))},ab=function(){var b=arguments.length>0&&void 0!==arguments[0]?arguments[0]:p,c=B>0?0:255;0!==B&&(k.colorFillStyle(a,c,c,c,(B>0?B:-B)*b),q?a.fill(f):a.fill())},ac=function(){if(C>0){if(a.lineWidth=C,a.lineCap=H,a.lineJoin=G,a.setLineDash)switch(F){case"dotted":a.setLineDash([1,1]);break;case"dashed":a.setLineDash(J),a.lineDashOffset=K;break;case"solid":case"double":a.setLineDash([])}if("center"!==I){if(a.save(),a.lineWidth*=2,"inside"===I)q?a.clip(f):a.clip();else{var b=new Path2D;b.rect(-d/2-C,-e/2-C,d+2*C,e+2*C),b.addPath(f),a.clip(b,"evenodd")}q?a.stroke(f):a.stroke(),a.restore()}else q?a.stroke(f):a.stroke();if("double"===F){a.lineWidth=C/3;var c=a.globalCompositeOperation;a.globalCompositeOperation="destination-out",q?a.stroke(f):a.stroke(),a.globalCompositeOperation=c}a.setLineDash&&a.setLineDash([])}},ad=function(){if(M>0){if(a.lineWidth=M,a.lineCap="butt",a.setLineDash)switch(O){case"dotted":a.setLineDash([1,1]);break;case"dashed":a.setLineDash([4,2]);break;case"solid":case"double":a.setLineDash([])}var c=o;q&&(c={x:0,y:0});var f=k.getNodeShape(b),g=C;"inside"===I&&(g=0),"outside"===I&&(g*=2);var h=(d+g+(M+Q))/d,i=(e+g+(M+Q))/e,j=d*h,l=e*i,n=k.nodeShapes[f].points;if(q&&(z=V(j,l,f,n).path),"ellipse"===f)k.drawEllipsePath(z||a,c.x,c.y,j,l);else if(["round-diamond","round-heptagon","round-hexagon","round-octagon","round-pentagon","round-polygon","round-triangle","round-tag"].includes(f)){var p=0,r=0,s=0;"round-diamond"===f?p=(g+Q+M)*1.4:"round-heptagon"===f?(p=(g+Q+M)*1.075,s=-(g/2+Q+M)/35):"round-hexagon"===f?p=(g+Q+M)*1.12:"round-pentagon"===f?(p=(g+Q+M)*1.13,s=-(g/2+Q+M)/15):"round-tag"===f?(p=(g+Q+M)*1.12,r=(g/2+M+Q)*.07):"round-triangle"===f&&(p=Math.PI/2*(g+Q+M),s=-(g+Q/2+M)/Math.PI),0!==p&&(h=(d+p)/d,j=d*h,["round-hexagon","round-tag"].includes(f)||(i=(e+p)/e,l=e*i)),R="auto"===R?bS(j,l):R;for(var t=j/2,u=l/2,v=R+(g+M+Q)/2,w=Array(n.length/2),x=Array(n.length/2),y=0;y<n.length/2;y++)w[y]={x:c.x+r+t*n[2*y],y:c.y+s+u*n[2*y+1]};var z,A,B,D,E,F=w.length;for(A=0,B=w[F-1];A<F;A++)D=w[A%F],E=w[(A+1)%F],x[A]=iD(B,D,E,v),B=D,D=E;k.drawRoundPolygonPath(z||a,c.x+r,c.y+s,d*h,e*i,n,x)}else["roundrectangle","round-rectangle"].includes(f)?(R="auto"===R?bR(j,l):R,k.drawRoundRectanglePath(z||a,c.x,c.y,j,l,R+(g+M+Q)/2)):["cutrectangle","cut-rectangle"].includes(f)?(R="auto"===R?bT():R,k.drawCutRectanglePath(z||a,c.x,c.y,j,l,null,R+(g+M+Q)/4)):["bottomroundrectangle","bottom-round-rectangle"].includes(f)?(R="auto"===R?bR(j,l):R,k.drawBottomRoundRectanglePath(z||a,c.x,c.y,j,l,R+(g+M+Q)/2)):"barrel"===f?k.drawBarrelPath(z||a,c.x,c.y,j,l):(n=f.startsWith("polygon")||["rhomboid","right-rhomboid","round-tag","tag","vee"].includes(f)?bD(bE(n,(g+M+Q)/d)):bD(bE(n,-((g+M+Q)/d))),k.drawPolygonPath(z||a,c.x,c.y,d,e,n));if(q?a.stroke(z):a.stroke(),"double"===O){a.lineWidth=g/3;var G=a.globalCompositeOperation;a.globalCompositeOperation="destination-out",q?a.stroke(z):a.stroke(),a.globalCompositeOperation=G}a.setLineDash&&a.setLineDash([])}};if("yes"===b.pstyle("ghost").value){var ae=b.pstyle("ghost-offset-x").pfValue,af=b.pstyle("ghost-offset-y").pfValue,ag=b.pstyle("ghost-opacity").value,ah=ag*p;a.translate(ae,af),U(),ad(),S(ag*D),Z(),$(ah,!0),T(ag*L),ac(),_(0!==B||0!==C),aa(0!==B||0!==C),$(ah,!1),ab(ah),a.translate(-ae,-af)}q&&a.translate(-o.x,-o.y),i&&k.drawNodeUnderlay(a,b,o,d,e),q&&a.translate(o.x,o.y),U(),ad(),S(),Z(),$(p,!0),T(),ac(),_(0!==B||0!==C),aa(0!==B||0!==C),$(p,!1),ab(),q&&a.translate(-o.x,-o.y),k.drawElementText(a,b,null,h),i&&k.drawNodeOverlay(a,b,o,d,e),c&&a.translate(g.x1,g.y1)}};var jq=function(a){if(!["overlay","underlay"].includes(a))throw Error("Invalid state");return function(b,c,d,e,f){if(c.visible()){var g=c.pstyle("".concat(a,"-padding")).pfValue,h=c.pstyle("".concat(a,"-opacity")).value,i=c.pstyle("".concat(a,"-color")).value,j=c.pstyle("".concat(a,"-shape")).value,k=c.pstyle("".concat(a,"-corner-radius")).value;if(h>0){if(d=d||c.position(),null==e||null==f){var l=c.padding();e=c.width()+2*l,f=c.height()+2*l}this.colorFillStyle(b,i[0],i[1],i[2],h),this.nodeShapes[j].draw(b,d.x,d.y,e+2*g,f+2*g,k),b.fill()}}}};jp.drawNodeOverlay=jq("overlay"),jp.drawNodeUnderlay=jq("underlay"),jp.hasPie=function(a){return(a=a[0])._private.hasPie},jp.hasStripe=function(a){return(a=a[0])._private.hasStripe},jp.drawPie=function(a,b,c,d){b=b[0],d=d||b.position();var e,f=b.cy().style(),g=b.pstyle("pie-size"),h=b.pstyle("pie-hole"),i=b.pstyle("pie-start-angle").pfValue,j=d.x,k=d.y,l=Math.min(b.width(),b.height())/2,n=0;if(this.usePaths()&&(j=0,k=0),"%"===g.units?l*=g.pfValue:void 0!==g.pfValue&&(l=g.pfValue/2),"%"===h.units?e=l*h.pfValue:void 0!==h.pfValue&&(e=h.pfValue/2),!(e>=l))for(var o=1;o<=f.pieBackgroundN;o++){var p=b.pstyle("pie-"+o+"-background-size").value,q=b.pstyle("pie-"+o+"-background-color").value,r=b.pstyle("pie-"+o+"-background-opacity").value*c,s=p/100;s+n>1&&(s=1-n);var t=1.5*Math.PI+2*Math.PI*n,u=2*Math.PI*s,v=(t+=i)+u;0===p||n>=1||n+s>1||(0===e?(a.beginPath(),a.moveTo(j,k),a.arc(j,k,l,t,v)):(a.beginPath(),a.arc(j,k,l,t,v),a.arc(j,k,e,v,t,!0)),a.closePath(),this.colorFillStyle(a,q[0],q[1],q[2],r),a.fill(),n+=s)}},jp.drawStripe=function(a,b,c,d){b=b[0],d=d||b.position();var e=b.cy().style(),f=d.x,g=d.y,h=b.width(),i=b.height(),j=0,k=this.usePaths();a.save();var l=b.pstyle("stripe-direction").value,n=b.pstyle("stripe-size");switch(l){case"vertical":break;case"righward":a.rotate(-Math.PI/2)}var o=h,p=i;"%"===n.units?(o*=n.pfValue,p*=n.pfValue):void 0!==n.pfValue&&(o=n.pfValue,p=n.pfValue),k&&(f=0,g=0),g-=o/2,f-=p/2;for(var q=1;q<=e.stripeBackgroundN;q++){var r=b.pstyle("stripe-"+q+"-background-size").value,s=b.pstyle("stripe-"+q+"-background-color").value,t=b.pstyle("stripe-"+q+"-background-opacity").value*c,u=r/100;u+j>1&&(u=1-j),0===r||j>=1||j+u>1||(a.beginPath(),a.rect(f,g+p*j,o,p*u),a.closePath(),this.colorFillStyle(a,s[0],s[1],s[2],t),a.fill(),j+=u)}a.restore()};var jr={};function js(a,b,c){var d=a.createShader(b);if(a.shaderSource(d,c),a.compileShader(d),!a.getShaderParameter(d,a.COMPILE_STATUS))throw Error(a.getShaderInfoLog(d));return d}function jt(a,b,c){void 0===c&&(c=b);var d=a.makeOffscreenCanvas(b,c),e=d.context=d.getContext("2d");return d.clear=function(){return e.clearRect(0,0,d.width,d.height)},d.clear(),d}function ju(a){var b=a.pixelRatio,c=a.cy.zoom(),d=a.cy.pan();return{zoom:c*b,pan:{x:d.x*b,y:d.y*b}}}function jv(a){return"solid"===a.pstyle("background-fill").value&&"none"===a.pstyle("background-image").strValue&&(0===a.pstyle("border-width").value||0===a.pstyle("border-opacity").value||"solid"===a.pstyle("border-style").value)}function jw(a,b,c){var d=a[0]/255,e=a[1]/255,f=a[2]/255,g=c||[,,,,];return g[0]=d*b,g[1]=e*b,g[2]=f*b,g[3]=b,g}function jx(a,b){var c=b||[,,,,];return c[0]=(255&a)/255,c[1]=(a>>8&255)/255,c[2]=(a>>16&255)/255,c[3]=(a>>24&255)/255,c}function jy(a,b){switch(b){case"float":return[1,a.FLOAT,4];case"vec2":return[2,a.FLOAT,4];case"vec3":return[3,a.FLOAT,4];case"vec4":return[4,a.FLOAT,4];case"int":return[1,a.INT,4];case"ivec2":return[2,a.INT,4]}}function jz(a,b,c){switch(b){case a.FLOAT:return new Float32Array(c);case a.INT:return new Int32Array(c)}}function jA(a,b,c,d){var e=g(jy(a,c),3),f=e[0],h=e[1],i=e[2],j=jz(a,h,b*f),k=f*i,l=a.createBuffer();a.bindBuffer(a.ARRAY_BUFFER,l),a.bufferData(a.ARRAY_BUFFER,b*k,a.DYNAMIC_DRAW),a.enableVertexAttribArray(d),h===a.FLOAT?a.vertexAttribPointer(d,f,h,!1,k,0):h===a.INT&&a.vertexAttribIPointer(d,f,h,k,0),a.vertexAttribDivisor(d,1),a.bindBuffer(a.ARRAY_BUFFER,null);for(var n=Array(b),o=0;o<b;o++)n[o]=function(a,b,c,d,e,f){switch(b){case a.FLOAT:return new Float32Array(c.buffer,f*d,e);case a.INT:return new Int32Array(c.buffer,f*d,e)}}(a,h,j,k,f,o);return l.dataArray=j,l.stride=k,l.size=f,l.getView=function(a){return n[a]},l.setPoint=function(a,b,c){var d=n[a];d[0]=b,d[1]=c},l.bufferSubData=function(b){a.bindBuffer(a.ARRAY_BUFFER,l),b?a.bufferSubData(a.ARRAY_BUFFER,0,j,0,b*f):a.bufferSubData(a.ARRAY_BUFFER,0,j)},l}jr.getPixelRatio=function(){var a=this.data.contexts[0];if(null!=this.forcedPixelRatio)return this.forcedPixelRatio;var b=this.cy.window(),c=a.backingStorePixelRatio||a.webkitBackingStorePixelRatio||a.mozBackingStorePixelRatio||a.msBackingStorePixelRatio||a.oBackingStorePixelRatio||a.backingStorePixelRatio||1;return(b.devicePixelRatio||1)/c},jr.paintCache=function(a){for(var b,c=this.paintCaches=this.paintCaches||[],d=!0,e=0;e<c.length;e++)if((b=c[e]).context===a){d=!1;break}return d&&(b={context:a},c.push(b)),b},jr.createGradientStyleFor=function(a,b,c,d,e){var f,g=this.usePaths(),h=c.pstyle(b+"-gradient-stop-colors").value,i=c.pstyle(b+"-gradient-stop-positions").pfValue;if("radial-gradient"===d)if(c.isEdge()){var j=c.sourceEndpoint(),k=c.targetEndpoint(),l=c.midpoint(),n=ba(j,l),o=ba(k,l);f=a.createRadialGradient(l.x,l.y,0,l.x,l.y,Math.max(n,o))}else{var p=g?{x:0,y:0}:c.position(),q=c.paddedWidth(),r=c.paddedHeight();f=a.createRadialGradient(p.x,p.y,0,p.x,p.y,Math.max(q,r))}else if(c.isEdge()){var s=c.sourceEndpoint(),t=c.targetEndpoint();f=a.createLinearGradient(s.x,s.y,t.x,t.y)}else{var u=g?{x:0,y:0}:c.position(),v=c.paddedWidth(),w=c.paddedHeight(),x=v/2,y=w/2;switch(c.pstyle("background-gradient-direction").value){case"to-bottom":f=a.createLinearGradient(u.x,u.y-y,u.x,u.y+y);break;case"to-top":f=a.createLinearGradient(u.x,u.y+y,u.x,u.y-y);break;case"to-left":f=a.createLinearGradient(u.x+x,u.y,u.x-x,u.y);break;case"to-right":f=a.createLinearGradient(u.x-x,u.y,u.x+x,u.y);break;case"to-bottom-right":case"to-right-bottom":f=a.createLinearGradient(u.x-x,u.y-y,u.x+x,u.y+y);break;case"to-top-right":case"to-right-top":f=a.createLinearGradient(u.x-x,u.y+y,u.x+x,u.y-y);break;case"to-bottom-left":case"to-left-bottom":f=a.createLinearGradient(u.x+x,u.y-y,u.x-x,u.y+y);break;case"to-top-left":case"to-left-top":f=a.createLinearGradient(u.x+x,u.y+y,u.x-x,u.y-y)}}if(!f)return null;for(var z=i.length===h.length,A=h.length,B=0;B<A;B++)f.addColorStop(z?i[B]:B/(A-1),"rgba("+h[B][0]+","+h[B][1]+","+h[B][2]+","+e+")");return f},jr.gradientFillStyle=function(a,b,c,d){var e=this.createGradientStyleFor(a,"background",b,c,d);if(!e)return null;a.fillStyle=e},jr.colorFillStyle=function(a,b,c,d,e){a.fillStyle="rgba("+b+","+c+","+d+","+e+")"},jr.eleFillStyle=function(a,b,c){var d=b.pstyle("background-fill").value;if("linear-gradient"===d||"radial-gradient"===d)this.gradientFillStyle(a,b,d,c);else{var e=b.pstyle("background-color").value;this.colorFillStyle(a,e[0],e[1],e[2],c)}},jr.gradientStrokeStyle=function(a,b,c,d){var e=this.createGradientStyleFor(a,"line",b,c,d);if(!e)return null;a.strokeStyle=e},jr.colorStrokeStyle=function(a,b,c,d,e){a.strokeStyle="rgba("+b+","+c+","+d+","+e+")"},jr.eleStrokeStyle=function(a,b,c){var d=b.pstyle("line-fill").value;if("linear-gradient"===d||"radial-gradient"===d)this.gradientStrokeStyle(a,b,d,c);else{var e=b.pstyle("line-color").value;this.colorStrokeStyle(a,e[0],e[1],e[2],c)}},jr.matchCanvasSize=function(a){var b,c=this.data,d=this.findContainerClientCoords(),e=d[2],f=d[3],g=this.getPixelRatio(),h=this.motionBlurPxRatio;(a===this.data.bufferCanvases[this.MOTIONBLUR_BUFFER_NODE]||a===this.data.bufferCanvases[this.MOTIONBLUR_BUFFER_DRAG])&&(g=h);var i=e*g,j=f*g;if(i!==this.canvasWidth||j!==this.canvasHeight){this.fontCaches=null;var k=c.canvasContainer;k.style.width=e+"px",k.style.height=f+"px";for(var l=0;l<this.CANVAS_LAYERS;l++)(b=c.canvases[l]).width=i,b.height=j,b.style.width=e+"px",b.style.height=f+"px";for(var l=0;l<this.BUFFER_COUNT;l++)(b=c.bufferCanvases[l]).width=i,b.height=j,b.style.width=e+"px",b.style.height=f+"px";this.textureMult=1,g<=1&&(b=c.bufferCanvases[this.TEXTURE_BUFFER],this.textureMult=2,b.width=i*this.textureMult,b.height=j*this.textureMult),this.canvasWidth=i,this.canvasHeight=j,this.pixelRatio=g}},jr.renderTo=function(a,b,c,d){this.render({forcedContext:a,forcedZoom:b,forcedPan:c,drawAllLayers:!0,forcedPxRatio:d})},jr.clearCanvas=function(){var a=this,b=a.data;function c(b){b.clearRect(0,0,a.canvasWidth,a.canvasHeight)}c(b.contexts[a.NODE]),c(b.contexts[a.DRAG])},jr.render=function(a){var b=this;a=a||aE();var c=b.cy,d=a.forcedContext,e=a.drawAllLayers,f=a.drawOnlyNodeLayer,g=a.forcedZoom,h=a.forcedPan,i=void 0===a.forcedPxRatio?this.getPixelRatio():a.forcedPxRatio,j=b.data,k=j.canvasNeedsRedraw,l=b.textureOnViewport&&!d&&(b.pinching||b.hoverData.dragging||b.swipePanning||b.data.wheelZooming),n=void 0!==a.motionBlur?a.motionBlur:b.motionBlur,o=b.motionBlurPxRatio,p=c.hasCompoundNodes(),q=b.hoverData.draggingEles,r=!!b.hoverData.selecting||!!b.touchData.selecting,s=n=n&&!d&&b.motionBlurEnabled&&!r;d||(b.prevPxRatio!==i&&(b.invalidateContainerClientCoordsCache(),b.matchCanvasSize(b.container),b.redrawHint("eles",!0),b.redrawHint("drag",!0)),b.prevPxRatio=i),!d&&b.motionBlurTimeout&&clearTimeout(b.motionBlurTimeout),n&&(null==b.mbFrames&&(b.mbFrames=0),b.mbFrames++,b.mbFrames<3&&(s=!1),b.mbFrames>b.minMbLowQualFrames&&(b.motionBlurPxRatio=b.mbPxRBlurry)),b.clearingMotionBlur&&(b.motionBlurPxRatio=1),b.textureDrawLastFrame&&!l&&(k[b.NODE]=!0,k[b.SELECT_BOX]=!0);var t=c.style(),u=c.zoom(),v=void 0!==g?g:u,w=c.pan(),x={x:w.x,y:w.y},y={zoom:u,pan:{x:w.x,y:w.y}},z=b.prevViewport;void 0===z||y.zoom!==z.zoom||y.pan.x!==z.pan.x||y.pan.y!==z.pan.y||q&&!p||(b.motionBlurPxRatio=1),h&&(x=h),v*=i,x.x*=i,x.y*=i;var A=b.getCachedZSortedEles();function B(a,c,d,e,f){var g=a.globalCompositeOperation;a.globalCompositeOperation="destination-out",b.colorFillStyle(a,255,255,255,b.motionBlurTransparency),a.fillRect(c,d,e,f),a.globalCompositeOperation=g}function C(a,c){var f,i,k,l;b.clearingMotionBlur||a!==j.bufferContexts[b.MOTIONBLUR_BUFFER_NODE]&&a!==j.bufferContexts[b.MOTIONBLUR_BUFFER_DRAG]?(f=x,i=v,k=b.canvasWidth,l=b.canvasHeight):(f={x:w.x*o,y:w.y*o},i=u*o,k=b.canvasWidth*o,l=b.canvasHeight*o),a.setTransform(1,0,0,1,0,0),"motionBlur"===c?B(a,0,0,k,l):!d&&(void 0===c||c)&&a.clearRect(0,0,k,l),e||(a.translate(f.x,f.y),a.scale(i,i)),h&&a.translate(h.x,h.y),g&&a.scale(g,g)}if(l||(b.textureDrawLastFrame=!1),l){if(b.textureDrawLastFrame=!0,!b.textureCache){b.textureCache={},b.textureCache.bb=c.mutableElements().boundingBox(),b.textureCache.texture=b.data.bufferCanvases[b.TEXTURE_BUFFER];var D=b.data.bufferContexts[b.TEXTURE_BUFFER];D.setTransform(1,0,0,1,0,0),D.clearRect(0,0,b.canvasWidth*b.textureMult,b.canvasHeight*b.textureMult),b.render({forcedContext:D,drawOnlyNodeLayer:!0,forcedPxRatio:i*b.textureMult});var y=b.textureCache.viewport={zoom:c.zoom(),pan:c.pan(),width:b.canvasWidth,height:b.canvasHeight};y.mpan={x:(0-y.pan.x)/y.zoom,y:(0-y.pan.y)/y.zoom}}k[b.DRAG]=!1,k[b.NODE]=!1;var E=j.contexts[b.NODE],F=b.textureCache.texture,y=b.textureCache.viewport;E.setTransform(1,0,0,1,0,0),n?B(E,0,0,y.width,y.height):E.clearRect(0,0,y.width,y.height);var G=t.core("outside-texture-bg-color").value,H=t.core("outside-texture-bg-opacity").value;b.colorFillStyle(E,G[0],G[1],G[2],H),E.fillRect(0,0,y.width,y.height);var u=c.zoom();C(E,!1),E.clearRect(y.mpan.x,y.mpan.y,y.width/y.zoom/i,y.height/y.zoom/i),E.drawImage(F,y.mpan.x,y.mpan.y,y.width/y.zoom/i,y.height/y.zoom/i)}else b.textureOnViewport&&!d&&(b.textureCache=null);var I=c.extent(),J=b.pinching||b.hoverData.dragging||b.swipePanning||b.data.wheelZooming||b.hoverData.draggingEles||b.cy.animated(),K=b.hideEdgesOnViewport&&J,L=[];if(L[b.NODE]=!k[b.NODE]&&n&&!b.clearedForMotionBlur[b.NODE]||b.clearingMotionBlur,L[b.NODE]&&(b.clearedForMotionBlur[b.NODE]=!0),L[b.DRAG]=!k[b.DRAG]&&n&&!b.clearedForMotionBlur[b.DRAG]||b.clearingMotionBlur,L[b.DRAG]&&(b.clearedForMotionBlur[b.DRAG]=!0),k[b.NODE]||e||f||L[b.NODE]){var M=n&&!L[b.NODE]&&1!==o,E=d||(M?b.data.bufferContexts[b.MOTIONBLUR_BUFFER_NODE]:j.contexts[b.NODE]);C(E,n&&!M?"motionBlur":void 0),K?b.drawCachedNodes(E,A.nondrag,i,I):b.drawLayeredElements(E,A.nondrag,i,I),b.debug&&b.drawDebugPoints(E,A.nondrag),e||n||(k[b.NODE]=!1)}if(!f&&(k[b.DRAG]||e||L[b.DRAG])){var M=n&&!L[b.DRAG]&&1!==o,E=d||(M?b.data.bufferContexts[b.MOTIONBLUR_BUFFER_DRAG]:j.contexts[b.DRAG]);C(E,n&&!M?"motionBlur":void 0),K?b.drawCachedNodes(E,A.drag,i,I):b.drawCachedElements(E,A.drag,i,I),b.debug&&b.drawDebugPoints(E,A.drag),e||n||(k[b.DRAG]=!1)}if(this.drawSelectionRectangle(a,C),n&&1!==o){var N=j.contexts[b.NODE],O=b.data.bufferCanvases[b.MOTIONBLUR_BUFFER_NODE],P=j.contexts[b.DRAG],Q=b.data.bufferCanvases[b.MOTIONBLUR_BUFFER_DRAG],R=function(a,c,d){a.setTransform(1,0,0,1,0,0),d||!s?a.clearRect(0,0,b.canvasWidth,b.canvasHeight):B(a,0,0,b.canvasWidth,b.canvasHeight),a.drawImage(c,0,0,b.canvasWidth*o,b.canvasHeight*o,0,0,b.canvasWidth,b.canvasHeight)};(k[b.NODE]||L[b.NODE])&&(R(N,O,L[b.NODE]),k[b.NODE]=!1),(k[b.DRAG]||L[b.DRAG])&&(R(P,Q,L[b.DRAG]),k[b.DRAG]=!1)}b.prevViewport=y,b.clearingMotionBlur&&(b.clearingMotionBlur=!1,b.motionBlurCleared=!0,b.motionBlur=!0),n&&(b.motionBlurTimeout=setTimeout(function(){b.motionBlurTimeout=null,b.clearedForMotionBlur[b.NODE]=!1,b.clearedForMotionBlur[b.DRAG]=!1,b.motionBlur=!1,b.clearingMotionBlur=!l,b.mbFrames=0,k[b.NODE]=!0,k[b.DRAG]=!0,b.redraw()},100)),d||c.emit("render")},jr.drawSelectionRectangle=function(a,b){var c=this.cy,d=this.data,e=c.style(),f=a.drawOnlyNodeLayer,g=a.drawAllLayers,h=d.canvasNeedsRedraw,i=a.forcedContext;if(this.showFps||!f&&h[this.SELECT_BOX]&&!g){var j=i||d.contexts[this.SELECT_BOX];if(b(j),1==this.selection[4]&&(this.hoverData.selecting||this.touchData.selecting)){var k=this.cy.zoom(),l=e.core("selection-box-border-width").value/k;j.lineWidth=l,j.fillStyle="rgba("+e.core("selection-box-color").value[0]+","+e.core("selection-box-color").value[1]+","+e.core("selection-box-color").value[2]+","+e.core("selection-box-opacity").value+")",j.fillRect(this.selection[0],this.selection[1],this.selection[2]-this.selection[0],this.selection[3]-this.selection[1]),l>0&&(j.strokeStyle="rgba("+e.core("selection-box-border-color").value[0]+","+e.core("selection-box-border-color").value[1]+","+e.core("selection-box-border-color").value[2]+","+e.core("selection-box-opacity").value+")",j.strokeRect(this.selection[0],this.selection[1],this.selection[2]-this.selection[0],this.selection[3]-this.selection[1]))}if(d.bgActivePosistion&&!this.hoverData.selecting){var k=this.cy.zoom(),n=d.bgActivePosistion;j.fillStyle="rgba("+e.core("active-bg-color").value[0]+","+e.core("active-bg-color").value[1]+","+e.core("active-bg-color").value[2]+","+e.core("active-bg-opacity").value+")",j.beginPath(),j.arc(n.x,n.y,e.core("active-bg-size").pfValue/k,0,2*Math.PI),j.fill()}var o=this.lastRedrawTime;if(this.showFps&&o){var p=Math.round(1e3/(o=Math.round(o))),q="1 frame = "+o+" ms = "+p+" fps";j.setTransform(1,0,0,1,0,0),j.fillStyle="rgba(255, 0, 0, 0.75)",j.strokeStyle="rgba(255, 0, 0, 0.75)",j.font="30px Arial",f_||(f_=j.measureText(q).actualBoundingBoxAscent),j.fillText(q,0,f_),j.strokeRect(0,f_+10,250,20),j.fillRect(0,f_+10,250*Math.min(p/60,1),20)}g||(h[this.SELECT_BOX]=!1)}};var jB="undefined"!=typeof Float32Array?Float32Array:Array;function jC(){var a=new jB(9);return jB!=Float32Array&&(a[1]=0,a[2]=0,a[3]=0,a[5]=0,a[6]=0,a[7]=0),a[0]=1,a[4]=1,a[8]=1,a}function jD(a){return a[0]=1,a[1]=0,a[2]=0,a[3]=0,a[4]=1,a[5]=0,a[6]=0,a[7]=0,a[8]=1,a}function jE(a,b,c){var d=b[0],e=b[1],f=b[2],g=b[3],h=b[4],i=b[5],j=b[6],k=b[7],l=b[8],n=c[0],o=c[1];return a[0]=d,a[1]=e,a[2]=f,a[3]=g,a[4]=h,a[5]=i,a[6]=n*d+o*g+j,a[7]=n*e+o*h+k,a[8]=n*f+o*i+l,a}function jF(a,b,c){var d=b[0],e=b[1],f=b[2],g=b[3],h=b[4],i=b[5],j=b[6],k=b[7],l=b[8],n=Math.sin(c),o=Math.cos(c);return a[0]=o*d+n*g,a[1]=o*e+n*h,a[2]=o*f+n*i,a[3]=o*g-n*d,a[4]=o*h-n*e,a[5]=o*i-n*f,a[6]=j,a[7]=k,a[8]=l,a}function jG(a,b,c){var d=c[0],e=c[1];return a[0]=d*b[0],a[1]=d*b[1],a[2]=d*b[2],a[3]=e*b[3],a[4]=e*b[4],a[5]=e*b[5],a[6]=b[6],a[7]=b[7],a[8]=b[8],a}Math.hypot||(Math.hypot=function(){for(var a=0,b=arguments.length;b--;)a+=arguments[b]*arguments[b];return Math.sqrt(a)});var jH=d(function a(b,d,e,f){c(this,a),this.debugID=Math.floor(1e4*Math.random()),this.r=b,this.texSize=d,this.texRows=e,this.texHeight=Math.floor(d/e),this.enableWrapping=!0,this.locked=!1,this.texture=null,this.needsBuffer=!0,this.freePointer={x:0,row:0},this.keyToLocation=new Map,this.canvas=f(b,d,d),this.scratch=f(b,d,this.texHeight,"scratch")},[{key:"lock",value:function(){this.locked=!0}},{key:"getKeys",value:function(){return new Set(this.keyToLocation.keys())}},{key:"getScale",value:function(a){var b=a.w,c=a.h,d=this.texHeight,e=this.texSize,f=d/c,g=b*f,h=c*f;return g>e&&(f=e/b,g=b*f,h=c*f),{scale:f,texW:g,texH:h}}},{key:"draw",value:function(a,b,c){var d,e,f,g,h,i,j,k=this;if(this.locked)throw Error("can't draw, atlas is locked");var l=this.texSize,n=this.texRows,o=this.texHeight,p=this.getScale(b),q=p.scale,r=p.texW,s=p.texH,t=function(a,d){if(c&&d){var e=d.context,f=a.x,g=o*a.row;e.save(),e.translate(f,g),e.scale(q,q),c(e,b),e.restore()}},u=[null,null],v=function(){t(k.freePointer,k.canvas),u[0]={x:k.freePointer.x,y:k.freePointer.row*o,w:r,h:s},u[1]={x:k.freePointer.x+r,y:k.freePointer.row*o,w:0,h:s},k.freePointer.x+=r,k.freePointer.x==l&&(k.freePointer.x=0,k.freePointer.row++)},w=function(){k.freePointer.x=0,k.freePointer.row++};if(this.freePointer.x+r<=l)v();else{if(this.freePointer.row>=n-1)return!1;this.freePointer.x===l?(w(),v()):this.enableWrapping?(d=k.scratch,e=k.canvas,d.clear(),t({x:0,row:0},d),g=r-(f=l-k.freePointer.x),h=k.freePointer.x,i=k.freePointer.row*o,e.context.drawImage(d,0,0,f,o,h,i,f,o),u[0]={x:h,y:i,w:f,h:s},j=(k.freePointer.row+1)*o,e&&e.context.drawImage(d,f,0,g,o,0,j,g,o),u[1]={x:0,y:j,w:g,h:s},k.freePointer.x=g,k.freePointer.row++):(w(),v())}return this.keyToLocation.set(a,u),this.needsBuffer=!0,u}},{key:"getOffsets",value:function(a){return this.keyToLocation.get(a)}},{key:"isEmpty",value:function(){return 0===this.freePointer.x&&0===this.freePointer.row}},{key:"canFit",value:function(a){if(this.locked)return!1;var b=this.texSize,c=this.texRows,d=this.getScale(a).texW;return!(this.freePointer.x+d>b)||this.freePointer.row<c-1}},{key:"bufferIfNeeded",value:function(a){var b;this.texture||(this.texture=(this.debugID,(b=a.createTexture()).buffer=function(c){a.bindTexture(a.TEXTURE_2D,b),a.texParameteri(a.TEXTURE_2D,a.TEXTURE_WRAP_S,a.CLAMP_TO_EDGE),a.texParameteri(a.TEXTURE_2D,a.TEXTURE_WRAP_T,a.CLAMP_TO_EDGE),a.texParameteri(a.TEXTURE_2D,a.TEXTURE_MAG_FILTER,a.LINEAR),a.texParameteri(a.TEXTURE_2D,a.TEXTURE_MIN_FILTER,a.LINEAR_MIPMAP_NEAREST),a.pixelStorei(a.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!0),a.texImage2D(a.TEXTURE_2D,0,a.RGBA,a.RGBA,a.UNSIGNED_BYTE,c),a.generateMipmap(a.TEXTURE_2D),a.bindTexture(a.TEXTURE_2D,null)},b.deleteTexture=function(){a.deleteTexture(b)},b)),this.needsBuffer&&(this.texture.buffer(this.canvas),this.needsBuffer=!1,this.locked&&(this.canvas=null,this.scratch=null))}},{key:"dispose",value:function(){this.texture&&(this.texture.deleteTexture(),this.texture=null),this.canvas=null,this.scratch=null,this.locked=!0}}]),jI=d(function a(b,d,e,f){c(this,a),this.r=b,this.texSize=d,this.texRows=e,this.createTextureCanvas=f,this.atlases=[],this.styleKeyToAtlas=new Map,this.markedKeys=new Set},[{key:"getKeys",value:function(){return new Set(this.styleKeyToAtlas.keys())}},{key:"_createAtlas",value:function(){return new jH(this.r,this.texSize,this.texRows,this.createTextureCanvas)}},{key:"_getScratchCanvas",value:function(){if(!this.scratch){var a=this.r,b=this.texSize,c=this.texRows,d=this.createTextureCanvas,e=Math.floor(b/c);this.scratch=d(a,b,e,"scratch")}return this.scratch}},{key:"draw",value:function(a,b,c){var d=this.styleKeyToAtlas.get(a);return d||((d=this.atlases[this.atlases.length-1])&&d.canFit(b)||(d&&d.lock(),d=this._createAtlas(),this.atlases.push(d)),d.draw(a,b,c),this.styleKeyToAtlas.set(a,d)),d}},{key:"getAtlas",value:function(a){return this.styleKeyToAtlas.get(a)}},{key:"hasAtlas",value:function(a){return this.styleKeyToAtlas.has(a)}},{key:"markKeyForGC",value:function(a){this.markedKeys.add(a)}},{key:"gc",value:function(){var a=this,b=this.markedKeys;if(0===b.size)return void console.log("nothing to garbage collect");var c,d=[],f=new Map,i=null,j=e(this.atlases);try{for(j.s();!(c=j.n()).done;)if(function(){var j=c.value,k=j.getKeys(),l=function(a,b){return a.intersection?a.intersection(b):new Set(h(a).filter(function(a){return b.has(a)}))}(b,k);if(0===l.size)return d.push(j),k.forEach(function(a){return f.set(a,j)}),1;i||(i=a._createAtlas(),d.push(i));var n,o=e(k);try{for(o.s();!(n=o.n()).done;){var p=n.value;if(!l.has(p)){var q=j.getOffsets(p),r=g(q,2),s=r[0],t=r[1];i.canFit({w:s.w+t.w,h:s.h})||(i.lock(),i=a._createAtlas(),d.push(i)),j.canvas&&(a._copyTextureToNewAtlas(p,j,i),f.set(p,i))}}}catch(a){o.e(a)}finally{o.f()}j.dispose()}())continue}catch(a){j.e(a)}finally{j.f()}this.atlases=d,this.styleKeyToAtlas=f,this.markedKeys=new Set}},{key:"_copyTextureToNewAtlas",value:function(a,b,c){var d=g(b.getOffsets(a),2),e=d[0],f=d[1];if(0===f.w)c.draw(a,e,function(a){a.drawImage(b.canvas,e.x,e.y,e.w,e.h,0,0,e.w,e.h)});else{var h=this._getScratchCanvas();h.clear(),h.context.drawImage(b.canvas,e.x,e.y,e.w,e.h,0,0,e.w,e.h),h.context.drawImage(b.canvas,f.x,f.y,f.w,f.h,e.w,0,f.w,f.h);var i=e.w+f.w,j=e.h;c.draw(a,{w:i,h:j},function(a){a.drawImage(h,0,0,i,j,0,0,i,j)})}}},{key:"getCounts",value:function(){return{keyCount:this.styleKeyToAtlas.size,atlasCount:new Set(this.styleKeyToAtlas.values()).size}}}]),jJ=d(function a(b,d){c(this,a),this.r=b,this.globalOptions=d,this.atlasSize=d.webglTexSize,this.maxAtlasesPerBatch=d.webglTexPerBatch,this.renderTypes=new Map,this.collections=new Map,this.typeAndIdToKey=new Map},[{key:"getAtlasSize",value:function(){return this.atlasSize}},{key:"addAtlasCollection",value:function(a,b){var c=this.globalOptions,d=c.webglTexSize,e=c.createTextureCanvas,f=b.texRows,g=this._cacheScratchCanvas(e),h=new jI(this.r,d,f,g);this.collections.set(a,h)}},{key:"addRenderType",value:function(a,b){var c=b.collection;if(!this.collections.has(c))throw Error("invalid atlas collection name '".concat(c,"'"));var d=Q({type:a,atlasCollection:this.collections.get(c)},b);this.renderTypes.set(a,d)}},{key:"getRenderTypeOpts",value:function(a){return this.renderTypes.get(a)}},{key:"getAtlasCollection",value:function(a){return this.collections.get(a)}},{key:"_cacheScratchCanvas",value:function(a){var b=-1,c=-1,d=null;return function(e,f,g,h){return h?(d&&f==b&&g==c||(b=f,c=g,d=a(e,f,g)),d):a(e,f,g)}}},{key:"_key",value:function(a,b){return"".concat(a,"-").concat(b)}},{key:"invalidate",value:function(a){var b,c=this,d=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},f=d.forceRedraw,g=void 0!==f&&f,h=d.filterEle,i=void 0===h?function(){return!0}:h,j=d.filterType,k=void 0===j?function(){return!0}:j,l=!1,n=!1,o=e(a);try{for(o.s();!(b=o.n()).done;){var p=b.value;if(i(p)){var q,r=e(this.renderTypes.values());try{for(r.s();!(q=r.n()).done;)!function(){var a=q.value,b=a.type;if(k(b)){var d=c.collections.get(a.collection),e=a.getKey(p),f=Array.isArray(e)?e:[e];if(g)f.forEach(function(a){return d.markKeyForGC(a)}),n=!0;else{var h=a.getID?a.getID(p):p.id(),i=c._key(b,h),j=c.typeAndIdToKey.get(i);void 0!==j&&!function(a,b){if(a.length!==b.length)return!1;for(var c=0;c<a.length;c++)if(a[c]!==b[c])return!1;return!0}(f,j)&&(l=!0,c.typeAndIdToKey.delete(i),j.forEach(function(a){return d.markKeyForGC(a)}))}}}()}catch(a){r.e(a)}finally{r.f()}}}}catch(a){o.e(a)}finally{o.f()}return n&&(this.gc(),l=!1),l}},{key:"gc",value:function(){var a,b=e(this.collections.values());try{for(b.s();!(a=b.n()).done;)a.value.gc()}catch(a){b.e(a)}finally{b.f()}}},{key:"getOrCreateAtlas",value:function(a,b,c,d){var e=this.renderTypes.get(b),f=this.collections.get(e.collection),g=!1,h=f.draw(d,c,function(b){e.drawClipped?(b.save(),b.beginPath(),b.rect(0,0,c.w,c.h),b.clip(),e.drawElement(b,a,c,!0,!0),b.restore()):e.drawElement(b,a,c,!0,!0),g=!0});if(g){var i=e.getID?e.getID(a):a.id(),j=this._key(b,i);this.typeAndIdToKey.has(j)?this.typeAndIdToKey.get(j).push(d):this.typeAndIdToKey.set(j,[d])}return h}},{key:"getAtlasInfo",value:function(a,b){var c=this,d=this.renderTypes.get(b),e=d.getKey(a);return(Array.isArray(e)?e:[e]).map(function(e){var f=d.getBoundingBox(a,e),h=c.getOrCreateAtlas(a,b,f,e),i=g(h.getOffsets(e),2),j=i[0];return{atlas:h,tex:j,tex1:j,tex2:i[1],bb:f}})}},{key:"getDebugInfo",value:function(){var a,b=[],c=e(this.collections);try{for(c.s();!(a=c.n()).done;){var d=g(a.value,2),f=d[0],h=d[1].getCounts(),i=h.keyCount,j=h.atlasCount;b.push({type:f,keyCount:i,atlasCount:j})}}catch(a){c.e(a)}finally{c.f()}return b}}]),jK=d(function a(b){c(this,a),this.globalOptions=b,this.atlasSize=b.webglTexSize,this.maxAtlasesPerBatch=b.webglTexPerBatch,this.batchAtlases=[]},[{key:"getMaxAtlasesPerBatch",value:function(){return this.maxAtlasesPerBatch}},{key:"getAtlasSize",value:function(){return this.atlasSize}},{key:"getIndexArray",value:function(){return Array.from({length:this.maxAtlasesPerBatch},function(a,b){return b})}},{key:"startBatch",value:function(){this.batchAtlases=[]}},{key:"getAtlasCount",value:function(){return this.batchAtlases.length}},{key:"getAtlases",value:function(){return this.batchAtlases}},{key:"canAddToCurrentBatch",value:function(a){return this.batchAtlases.length!==this.maxAtlasesPerBatch||this.batchAtlases.includes(a)}},{key:"getAtlasIndexForBatch",value:function(a){var b=this.batchAtlases.indexOf(a);if(b<0){if(this.batchAtlases.length===this.maxAtlasesPerBatch)throw Error("cannot add more atlases to batch");this.batchAtlases.push(a),b=this.batchAtlases.length-1}return b}}]),jL={name:"screen",screen:!0},jM={name:"picking",picking:!0},jN=d(function a(b,d,e){c(this,a),this.r=b,this.gl=d,this.maxInstances=e.webglBatchSize,this.atlasSize=e.webglTexSize,this.bgColor=e.bgColor,this.debug=e.webglDebug,this.batchDebugInfo=[],e.enableWrapping=!0,e.createTextureCanvas=jt,this.atlasManager=new jJ(b,e),this.batchManager=new jK(e),this.simpleShapeOptions=new Map,this.program=this._createShaderProgram(jL),this.pickingProgram=this._createShaderProgram(jM),this.vao=this._createVAO()},[{key:"addAtlasCollection",value:function(a,b){this.atlasManager.addAtlasCollection(a,b)}},{key:"addTextureAtlasRenderType",value:function(a,b){this.atlasManager.addRenderType(a,b)}},{key:"addSimpleShapeRenderType",value:function(a,b){this.simpleShapeOptions.set(a,b)}},{key:"invalidate",value:function(a){var b=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},c=b.type,d=this.atlasManager;return c?d.invalidate(a,{filterType:function(a){return a===c},forceRedraw:!0}):d.invalidate(a)}},{key:"gc",value:function(){this.atlasManager.gc()}},{key:"_createShaderProgram",value:function(a){var b=this.gl,c="#version 300 es\n precision highp float;\n\n uniform mat3 uPanZoomMatrix;\n uniform int uAtlasSize;\n \n // instanced\n in vec2 aPosition; // a vertex from the unit square\n \n in mat3 aTransform; // used to transform verticies, eg into a bounding box\n in int aVertType; // the type of thing we are rendering\n\n // the z-index that is output when using picking mode\n in vec4 aIndex;\n \n // For textures\n in int aAtlasId; // which shader unit/atlas to use\n in vec4 aTex; // x/y/w/h of texture in atlas\n\n // for edges\n in vec4 aPointAPointB;\n in vec4 aPointCPointD;\n in vec2 aLineWidth; // also used for node border width\n\n // simple shapes\n in vec4 aCornerRadius; // for round-rectangle [top-right, bottom-right, top-left, bottom-left]\n in vec4 aColor; // also used for edges\n in vec4 aBorderColor; // aLineWidth is used for border width\n\n // output values passed to the fragment shader\n out vec2 vTexCoord;\n out vec4 vColor;\n out vec2 vPosition;\n // flat values are not interpolated\n flat out int vAtlasId; \n flat out int vVertType;\n flat out vec2 vTopRight;\n flat out vec2 vBotLeft;\n flat out vec4 vCornerRadius;\n flat out vec4 vBorderColor;\n flat out vec2 vBorderWidth;\n flat out vec4 vIndex;\n \n void main(void) {\n int vid = gl_VertexID;\n vec2 position = aPosition; // TODO make this a vec3, simplifies some code below\n\n if(aVertType == ".concat(0,") {\n float texX = aTex.x; // texture coordinates\n float texY = aTex.y;\n float texW = aTex.z;\n float texH = aTex.w;\n\n if(vid == 1 || vid == 2 || vid == 4) {\n texX += texW;\n }\n if(vid == 2 || vid == 4 || vid == 5) {\n texY += texH;\n }\n\n float d = float(uAtlasSize);\n vTexCoord = vec2(texX / d, texY / d); // tex coords must be between 0 and 1\n\n gl_Position = vec4(uPanZoomMatrix * aTransform * vec3(position, 1.0), 1.0);\n }\n else if(aVertType == ").concat(4," || aVertType == ").concat(7," \n || aVertType == ").concat(5," || aVertType == ").concat(6,") { // simple shapes\n\n // the bounding box is needed by the fragment shader\n vBotLeft = (aTransform * vec3(0, 0, 1)).xy; // flat\n vTopRight = (aTransform * vec3(1, 1, 1)).xy; // flat\n vPosition = (aTransform * vec3(position, 1)).xy; // will be interpolated\n\n // calculations are done in the fragment shader, just pass these along\n vColor = aColor;\n vCornerRadius = aCornerRadius;\n vBorderColor = aBorderColor;\n vBorderWidth = aLineWidth;\n\n gl_Position = vec4(uPanZoomMatrix * aTransform * vec3(position, 1.0), 1.0);\n }\n else if(aVertType == ").concat(1,") {\n vec2 source = aPointAPointB.xy;\n vec2 target = aPointAPointB.zw;\n\n // adjust the geometry so that the line is centered on the edge\n position.y = position.y - 0.5;\n\n // stretch the unit square into a long skinny rectangle\n vec2 xBasis = target - source;\n vec2 yBasis = normalize(vec2(-xBasis.y, xBasis.x));\n vec2 point = source + xBasis * position.x + yBasis * aLineWidth[0] * position.y;\n\n gl_Position = vec4(uPanZoomMatrix * vec3(point, 1.0), 1.0);\n vColor = aColor;\n } \n else if(aVertType == ").concat(2,") {\n vec2 pointA = aPointAPointB.xy;\n vec2 pointB = aPointAPointB.zw;\n vec2 pointC = aPointCPointD.xy;\n vec2 pointD = aPointCPointD.zw;\n\n // adjust the geometry so that the line is centered on the edge\n position.y = position.y - 0.5;\n\n vec2 p0, p1, p2, pos;\n if(position.x == 0.0) { // The left side of the unit square\n p0 = pointA;\n p1 = pointB;\n p2 = pointC;\n pos = position;\n } else { // The right side of the unit square, use same approach but flip the geometry upside down\n p0 = pointD;\n p1 = pointC;\n p2 = pointB;\n pos = vec2(0.0, -position.y);\n }\n\n vec2 p01 = p1 - p0;\n vec2 p12 = p2 - p1;\n vec2 p21 = p1 - p2;\n\n // Find the normal vector.\n vec2 tangent = normalize(normalize(p12) + normalize(p01));\n vec2 normal = vec2(-tangent.y, tangent.x);\n\n // Find the vector perpendicular to p0 -> p1.\n vec2 p01Norm = normalize(vec2(-p01.y, p01.x));\n\n // Determine the bend direction.\n float sigma = sign(dot(p01 + p21, normal));\n float width = aLineWidth[0];\n\n if(sign(pos.y) == -sigma) {\n // This is an intersecting vertex. Adjust the position so that there's no overlap.\n vec2 point = 0.5 * width * normal * -sigma / dot(normal, p01Norm);\n gl_Position = vec4(uPanZoomMatrix * vec3(p1 + point, 1.0), 1.0);\n } else {\n // This is a non-intersecting vertex. Treat it like a mitre join.\n vec2 point = 0.5 * width * normal * sigma * dot(normal, p01Norm);\n gl_Position = vec4(uPanZoomMatrix * vec3(p1 + point, 1.0), 1.0);\n }\n\n vColor = aColor;\n } \n else if(aVertType == ").concat(3," && vid < 3) {\n // massage the first triangle into an edge arrow\n if(vid == 0)\n position = vec2(-0.15, -0.3);\n if(vid == 1)\n position = vec2( 0.0, 0.0);\n if(vid == 2)\n position = vec2( 0.15, -0.3);\n\n gl_Position = vec4(uPanZoomMatrix * aTransform * vec3(position, 1.0), 1.0);\n vColor = aColor;\n }\n else {\n gl_Position = vec4(2.0, 0.0, 0.0, 1.0); // discard vertex by putting it outside webgl clip space\n }\n\n vAtlasId = aAtlasId;\n vVertType = aVertType;\n vIndex = aIndex;\n }\n "),d=this.batchManager.getIndexArray(),e=function(a,b,c){var d=js(a,a.VERTEX_SHADER,b),e=js(a,a.FRAGMENT_SHADER,c),f=a.createProgram();if(a.attachShader(f,d),a.attachShader(f,e),a.linkProgram(f),!a.getProgramParameter(f,a.LINK_STATUS))throw Error("Could not initialize shaders");return f}(b,c,"#version 300 es\n precision highp float;\n\n // declare texture unit for each texture atlas in the batch\n ".concat(d.map(function(a){return"uniform sampler2D uTexture".concat(a,";")}).join("\n "),"\n\n uniform vec4 uBGColor;\n uniform float uZoom;\n\n in vec2 vTexCoord;\n in vec4 vColor;\n in vec2 vPosition; // model coordinates\n\n flat in int vAtlasId;\n flat in vec4 vIndex;\n flat in int vVertType;\n flat in vec2 vTopRight;\n flat in vec2 vBotLeft;\n flat in vec4 vCornerRadius;\n flat in vec4 vBorderColor;\n flat in vec2 vBorderWidth;\n\n out vec4 outColor;\n\n ").concat("\n float circleSD(vec2 p, float r) {\n return distance(vec2(0), p) - r; // signed distance\n }\n","\n ").concat("\n float rectangleSD(vec2 p, vec2 b) {\n vec2 d = abs(p)-b;\n return distance(vec2(0),max(d,0.0)) + min(max(d.x,d.y),0.0);\n }\n","\n ").concat("\n float roundRectangleSD(vec2 p, vec2 b, vec4 cr) {\n cr.xy = (p.x > 0.0) ? cr.xy : cr.zw;\n cr.x = (p.y > 0.0) ? cr.x : cr.y;\n vec2 q = abs(p) - b + cr.x;\n return min(max(q.x, q.y), 0.0) + distance(vec2(0), max(q, 0.0)) - cr.x;\n }\n","\n ").concat("\n float ellipseSD(vec2 p, vec2 ab) {\n p = abs( p ); // symmetry\n\n // find root with Newton solver\n vec2 q = ab*(p-ab);\n float w = (q.x<q.y)? 1.570796327 : 0.0;\n for( int i=0; i<5; i++ ) {\n vec2 cs = vec2(cos(w),sin(w));\n vec2 u = ab*vec2( cs.x,cs.y);\n vec2 v = ab*vec2(-cs.y,cs.x);\n w = w + dot(p-u,v)/(dot(p-u,u)+dot(v,v));\n }\n \n // compute final point and distance\n float d = length(p-ab*vec2(cos(w),sin(w)));\n \n // return signed distance\n return (dot(p/ab,p/ab)>1.0) ? d : -d;\n }\n","\n\n vec4 blend(vec4 top, vec4 bot) { // blend colors with premultiplied alpha\n return vec4( \n top.rgb + (bot.rgb * (1.0 - top.a)),\n top.a + (bot.a * (1.0 - top.a)) \n );\n }\n\n vec4 distInterp(vec4 cA, vec4 cB, float d) { // interpolate color using Signed Distance\n // scale to the zoom level so that borders don't look blurry when zoomed in\n // note 1.5 is an aribitrary value chosen because it looks good\n return mix(cA, cB, 1.0 - smoothstep(0.0, 1.5 / uZoom, abs(d))); \n }\n\n void main(void) {\n if(vVertType == ").concat(0,") {\n // look up the texel from the texture unit\n ").concat(d.map(function(a){return"if(vAtlasId == ".concat(a,") outColor = texture(uTexture").concat(a,", vTexCoord);")}).join("\n else "),"\n } \n else if(vVertType == ").concat(3,") {\n // mimics how canvas renderer uses context.globalCompositeOperation = 'destination-out';\n outColor = blend(vColor, uBGColor);\n outColor.a = 1.0; // make opaque, masks out line under arrow\n }\n else if(vVertType == ").concat(4," && vBorderWidth == vec2(0.0)) { // simple rectangle with no border\n outColor = vColor; // unit square is already transformed to the rectangle, nothing else needs to be done\n }\n else if(vVertType == ").concat(4," || vVertType == ").concat(7," \n || vVertType == ").concat(5," || vVertType == ").concat(6,") { // use SDF\n\n float outerBorder = vBorderWidth[0];\n float innerBorder = vBorderWidth[1];\n float borderPadding = outerBorder * 2.0;\n float w = vTopRight.x - vBotLeft.x - borderPadding;\n float h = vTopRight.y - vBotLeft.y - borderPadding;\n vec2 b = vec2(w/2.0, h/2.0); // half width, half height\n vec2 p = vPosition - vec2(vTopRight.x - b[0] - outerBorder, vTopRight.y - b[1] - outerBorder); // translate to center\n\n float d; // signed distance\n if(vVertType == ").concat(4,") {\n d = rectangleSD(p, b);\n } else if(vVertType == ").concat(7," && w == h) {\n d = circleSD(p, b.x); // faster than ellipse\n } else if(vVertType == ").concat(7,") {\n d = ellipseSD(p, b);\n } else {\n d = roundRectangleSD(p, b, vCornerRadius.wzyx);\n }\n\n // use the distance to interpolate a color to smooth the edges of the shape, doesn't need multisampling\n // we must smooth colors inwards, because we can't change pixels outside the shape's bounding box\n if(d > 0.0) {\n if(d > outerBorder) {\n discard;\n } else {\n outColor = distInterp(vBorderColor, vec4(0), d - outerBorder);\n }\n } else {\n if(d > innerBorder) {\n vec4 outerColor = outerBorder == 0.0 ? vec4(0) : vBorderColor;\n vec4 innerBorderColor = blend(vBorderColor, vColor);\n outColor = distInterp(innerBorderColor, outerColor, d);\n } \n else {\n vec4 outerColor;\n if(innerBorder == 0.0 && outerBorder == 0.0) {\n outerColor = vec4(0);\n } else if(innerBorder == 0.0) {\n outerColor = vBorderColor;\n } else {\n outerColor = blend(vBorderColor, vColor);\n }\n outColor = distInterp(vColor, outerColor, d - innerBorder);\n }\n }\n }\n else {\n outColor = vColor;\n }\n\n ").concat(a.picking?"if(outColor.a == 0.0) discard;\n else outColor = vIndex;":"","\n }\n "));e.aPosition=b.getAttribLocation(e,"aPosition"),e.aIndex=b.getAttribLocation(e,"aIndex"),e.aVertType=b.getAttribLocation(e,"aVertType"),e.aTransform=b.getAttribLocation(e,"aTransform"),e.aAtlasId=b.getAttribLocation(e,"aAtlasId"),e.aTex=b.getAttribLocation(e,"aTex"),e.aPointAPointB=b.getAttribLocation(e,"aPointAPointB"),e.aPointCPointD=b.getAttribLocation(e,"aPointCPointD"),e.aLineWidth=b.getAttribLocation(e,"aLineWidth"),e.aColor=b.getAttribLocation(e,"aColor"),e.aCornerRadius=b.getAttribLocation(e,"aCornerRadius"),e.aBorderColor=b.getAttribLocation(e,"aBorderColor"),e.uPanZoomMatrix=b.getUniformLocation(e,"uPanZoomMatrix"),e.uAtlasSize=b.getUniformLocation(e,"uAtlasSize"),e.uBGColor=b.getUniformLocation(e,"uBGColor"),e.uZoom=b.getUniformLocation(e,"uZoom"),e.uTextures=[];for(var f=0;f<this.batchManager.getMaxAtlasesPerBatch();f++)e.uTextures.push(b.getUniformLocation(e,"uTexture".concat(f)));return e}},{key:"_createVAO",value:function(){var a,b,c,d,e,f,h=[0,0,1,0,1,1,0,0,1,1,0,1];this.vertexCount=h.length/2;var i=this.maxInstances,j=this.gl,k=this.program,l=j.createVertexArray();return j.bindVertexArray(l),a=k.aPosition,c=(b=g(jy(j,"vec2"),2))[0],e=jz(j,d=b[1],h),f=j.createBuffer(),j.bindBuffer(j.ARRAY_BUFFER,f),j.bufferData(j.ARRAY_BUFFER,e,j.STATIC_DRAW),d===j.FLOAT?j.vertexAttribPointer(a,c,d,!1,0,0):d===j.INT&&j.vertexAttribIPointer(a,c,d,0,0),j.enableVertexAttribArray(a),j.bindBuffer(j.ARRAY_BUFFER,null),this.transformBuffer=function(a,b,c){for(var d=new Float32Array(9*b),e=Array(b),f=0;f<b;f++){var g=9*f*4;e[f]=new Float32Array(d.buffer,g,9)}var h=a.createBuffer();a.bindBuffer(a.ARRAY_BUFFER,h),a.bufferData(a.ARRAY_BUFFER,d.byteLength,a.DYNAMIC_DRAW);for(var i=0;i<3;i++){var j=c+i;a.enableVertexAttribArray(j),a.vertexAttribPointer(j,3,a.FLOAT,!1,36,12*i),a.vertexAttribDivisor(j,1)}return a.bindBuffer(a.ARRAY_BUFFER,null),h.getMatrixView=function(a){return e[a]},h.setData=function(a,b){e[b].set(a,0)},h.bufferSubData=function(){a.bindBuffer(a.ARRAY_BUFFER,h),a.bufferSubData(a.ARRAY_BUFFER,0,d)},h}(j,i,k.aTransform),this.indexBuffer=jA(j,i,"vec4",k.aIndex),this.vertTypeBuffer=jA(j,i,"int",k.aVertType),this.atlasIdBuffer=jA(j,i,"int",k.aAtlasId),this.texBuffer=jA(j,i,"vec4",k.aTex),this.pointAPointBBuffer=jA(j,i,"vec4",k.aPointAPointB),this.pointCPointDBuffer=jA(j,i,"vec4",k.aPointCPointD),this.lineWidthBuffer=jA(j,i,"vec2",k.aLineWidth),this.colorBuffer=jA(j,i,"vec4",k.aColor),this.cornerRadiusBuffer=jA(j,i,"vec4",k.aCornerRadius),this.borderColorBuffer=jA(j,i,"vec4",k.aBorderColor),j.bindVertexArray(null),l}},{key:"buffers",get:function(){var a=this;return this._buffers||(this._buffers=Object.keys(this).filter(function(a){return J(a,"Buffer")}).map(function(b){return a[b]})),this._buffers}},{key:"startFrame",value:function(a){var b=arguments.length>1&&void 0!==arguments[1]?arguments[1]:jL;this.panZoomMatrix=a,this.renderTarget=b,this.batchDebugInfo=[],this.wrappedCount=0,this.simpleCount=0,this.startBatch()}},{key:"startBatch",value:function(){this.instanceCount=0,this.batchManager.startBatch()}},{key:"endFrame",value:function(){this.endBatch()}},{key:"_isVisible",value:function(a,b){return!!a.visible()&&(!b||!b.isVisible||b.isVisible(a))}},{key:"drawTexture",value:function(a,b,c){var d=this.atlasManager,f=this.batchManager,h=d.getRenderTypeOpts(c);if(this._isVisible(a,h)&&(!a.isEdge()||this._isValidEdge(a))){if(this.renderTarget.picking&&h.getTexPickingMode){var i=h.getTexPickingMode(a);if(1===i)return;if(2==i)return void this.drawPickingRectangle(a,b,c)}var j,k=e(d.getAtlasInfo(a,c));try{for(k.s();!(j=k.n()).done;){var l=j.value,n=l.atlas,o=l.tex1,p=l.tex2;f.canAddToCurrentBatch(n)||this.endBatch();for(var q=f.getAtlasIndexForBatch(n),r=0,s=[[o,!0],[p,!1]];r<s.length;r++){var t=g(s[r],2),u=t[0],v=t[1];if(0!=u.w){var w=this.instanceCount;this.vertTypeBuffer.getView(w)[0]=0;var x=this.indexBuffer.getView(w);jx(b,x),this.atlasIdBuffer.getView(w)[0]=q;var y=this.texBuffer.getView(w);y[0]=u.x,y[1]=u.y,y[2]=u.w,y[3]=u.h;var z=this.transformBuffer.getMatrixView(w);this.setTransformMatrix(a,z,h,l,v),this.instanceCount++,!v&&this.wrappedCount++,this.instanceCount>=this.maxInstances&&this.endBatch()}}}}catch(a){k.e(a)}finally{k.f()}}}},{key:"setTransformMatrix",value:function(a,b,c,d){var e=!(arguments.length>4)||void 0===arguments[4]||arguments[4],f=0;if(c.shapeProps&&c.shapeProps.padding&&(f=a.pstyle(c.shapeProps.padding).pfValue),d){var g=d.bb,h=d.tex1,i=d.tex2,j=h.w/(h.w+i.w);e||(j=1-j);var k=this._getAdjustedBB(g,f,e,j);this._applyTransformMatrix(b,k,c,a)}else{var l=c.getBoundingBox(a),n=this._getAdjustedBB(l,f,!0,1);this._applyTransformMatrix(b,n,c,a)}}},{key:"_applyTransformMatrix",value:function(a,b,c,d){jD(a);var e,f,g=c.getRotation?c.getRotation(d):0;if(0!==g){var h=c.getRotationPoint(d);jE(a,a,[h.x,h.y]),jF(a,a,g);var i=c.getRotationOffset(d);e=i.x+(b.xOffset||0),f=i.y+(b.yOffset||0)}else e=b.x1,f=b.y1;jE(a,a,[e,f]),jG(a,a,[b.w,b.h])}},{key:"_getAdjustedBB",value:function(a,b,c,d){var e=a.x1,f=a.y1,g=a.w,h=a.h,i=a.yOffset;b&&(e-=b,f-=b,g+=2*b,h+=2*b);var j=0,k=g*d;return c&&d<1?g=k:!c&&d<1&&(e+=j=g-k,g=k),{x1:e,y1:f,w:g,h:h,xOffset:j,yOffset:i}}},{key:"drawPickingRectangle",value:function(a,b,c){var d=this.atlasManager.getRenderTypeOpts(c),e=this.instanceCount;this.vertTypeBuffer.getView(e)[0]=4,jx(b,this.indexBuffer.getView(e)),jw([0,0,0],1,this.colorBuffer.getView(e));var f=this.transformBuffer.getMatrixView(e);this.setTransformMatrix(a,f,d),this.simpleCount++,this.instanceCount++,this.instanceCount>=this.maxInstances&&this.endBatch()}},{key:"drawNode",value:function(a,b,c){var d=this.simpleShapeOptions.get(c);if(this._isVisible(a,d)){var e=d.shapeProps,f=this._getVertTypeForShape(a,e.shape);if(void 0===f||d.isSimple&&!d.isSimple(a))return void this.drawTexture(a,b,c);var g=this.instanceCount;if(this.vertTypeBuffer.getView(g)[0]=f,5===f||6===f){var h=d.getBoundingBox(a),i=this._getCornerRadius(a,e.radius,h),j=this.cornerRadiusBuffer.getView(g);j[0]=i,j[1]=i,j[2]=i,j[3]=i,6===f&&(j[0]=0,j[2]=0)}jx(b,this.indexBuffer.getView(g)),jw(a.pstyle(e.color).value,a.pstyle(e.opacity).value,this.colorBuffer.getView(g));var k=this.lineWidthBuffer.getView(g);if(k[0]=0,k[1]=0,e.border){var l=a.pstyle("border-width").value;if(l>0){jw(a.pstyle("border-color").value,a.pstyle("border-opacity").value,this.borderColorBuffer.getView(g));var n=a.pstyle("border-position").value;if("inside"===n)k[0]=0,k[1]=-l;else if("outside"===n)k[0]=l,k[1]=0;else{var o=l/2;k[0]=o,k[1]=-o}}}var p=this.transformBuffer.getMatrixView(g);this.setTransformMatrix(a,p,d),this.simpleCount++,this.instanceCount++,this.instanceCount>=this.maxInstances&&this.endBatch()}}},{key:"_getVertTypeForShape",value:function(a,b){switch(a.pstyle(b).value){case"rectangle":return 4;case"ellipse":return 7;case"roundrectangle":case"round-rectangle":return 5;case"bottom-round-rectangle":return 6;default:return}}},{key:"_getCornerRadius",value:function(a,b,c){var d=c.w,e=c.h;return"auto"===a.pstyle(b).value?bR(d,e):Math.min(a.pstyle(b).pfValue,e/2,d/2)}},{key:"drawEdgeArrow",value:function(a,b,c){if(a.visible()){var d,e,f,g=a._private.rscratch;if(("source"===c?(d=g.arrowStartX,e=g.arrowStartY,f=g.srcArrowAngle):(d=g.arrowEndX,e=g.arrowEndY,f=g.tgtArrowAngle),!(isNaN(d)||null==d||isNaN(e)||null==e||isNaN(f))&&null!=f)&&"none"!==a.pstyle(c+"-arrow-shape").value){var h=a.pstyle(c+"-arrow-color").value,i=a.pstyle("opacity").value,j=a.pstyle("line-opacity").value,k=a.pstyle("width").pfValue,l=a.pstyle("arrow-scale").value,n=this.r.getArrowWidth(k,l),o=this.instanceCount,p=this.transformBuffer.getMatrixView(o);jD(p),jE(p,p,[d,e]),jG(p,p,[n,n]),jF(p,p,f),this.vertTypeBuffer.getView(o)[0]=3,jx(b,this.indexBuffer.getView(o)),jw(h,i*j,this.colorBuffer.getView(o)),this.instanceCount++,this.instanceCount>=this.maxInstances&&this.endBatch()}}}},{key:"drawEdgeLine",value:function(a,b){if(a.visible()){var c=this._getEdgePoints(a);if(c){var d=a.pstyle("opacity").value,e=a.pstyle("line-opacity").value,f=a.pstyle("width").pfValue,g=a.pstyle("line-color").value,h=d*e;if(c.length/2+this.instanceCount>this.maxInstances&&this.endBatch(),4==c.length){var i=this.instanceCount;this.vertTypeBuffer.getView(i)[0]=1,jx(b,this.indexBuffer.getView(i)),jw(g,h,this.colorBuffer.getView(i)),this.lineWidthBuffer.getView(i)[0]=f;var j=this.pointAPointBBuffer.getView(i);j[0]=c[0],j[1]=c[1],j[2]=c[2],j[3]=c[3],this.instanceCount++,this.instanceCount>=this.maxInstances&&this.endBatch()}else for(var k=0;k<c.length-2;k+=2){var l=this.instanceCount;this.vertTypeBuffer.getView(l)[0]=2,jx(b,this.indexBuffer.getView(l)),jw(g,h,this.colorBuffer.getView(l)),this.lineWidthBuffer.getView(l)[0]=f;var n=c[k-2],o=c[k-1],p=c[k],q=c[k+1],r=c[k+2],s=c[k+3],t=c[k+4],u=c[k+5];0==k&&(n=2*p-r+.001,o=2*q-s+.001),k==c.length-4&&(t=2*r-p+.001,u=2*s-q+.001);var v=this.pointAPointBBuffer.getView(l);v[0]=n,v[1]=o,v[2]=p,v[3]=q;var w=this.pointCPointDBuffer.getView(l);w[0]=r,w[1]=s,w[2]=t,w[3]=u,this.instanceCount++,this.instanceCount>=this.maxInstances&&this.endBatch()}}}}},{key:"_isValidEdge",value:function(a){var b=a._private.rscratch;return!(b.badLine||null==b.allpts||isNaN(b.allpts[0]))}},{key:"_getEdgePoints",value:function(a){var b=a._private.rscratch;if(this._isValidEdge(a)){var c=b.allpts;if(4==c.length)return c;var d=this._getNumSegments(a);return this._getCurveSegmentPoints(c,d)}}},{key:"_getNumSegments",value:function(a){return Math.min(15,this.maxInstances)}},{key:"_getCurveSegmentPoints",value:function(a,b){if(4==a.length)return a;for(var c=Array((b+1)*2),d=0;d<=b;d++)if(0==d)c[0]=a[0],c[1]=a[1];else if(d==b)c[2*d]=a[a.length-2],c[2*d+1]=a[a.length-1];else{var e=d/b;this._setCurvePoint(a,e,c,2*d)}return c}},{key:"_setCurvePoint",value:function(a,b,c,d){if(a.length<=2)c[d]=a[0],c[d+1]=a[1];else{for(var e=Array(a.length-2),f=0;f<e.length;f+=2){var g=(1-b)*a[f]+b*a[f+2],h=(1-b)*a[f+1]+b*a[f+3];e[f]=g,e[f+1]=h}return this._setCurvePoint(e,b,c,d)}}},{key:"endBatch",value:function(){var a=this.gl,b=this.vao,c=this.vertexCount,d=this.instanceCount;if(0!==d){var f,g,h=this.renderTarget.picking?this.pickingProgram:this.program;a.useProgram(h),a.bindVertexArray(b);var i,j=e(this.buffers);try{for(j.s();!(i=j.n()).done;)i.value.bufferSubData(d)}catch(a){j.e(a)}finally{j.f()}for(var k=this.batchManager.getAtlases(),l=0;l<k.length;l++)k[l].bufferIfNeeded(a);for(var n=0;n<k.length;n++)a.activeTexture(a.TEXTURE0+n),a.bindTexture(a.TEXTURE_2D,k[n].texture),a.uniform1i(h.uTextures[n],n);a.uniform1f(h.uZoom,(g=(f=this.r).pixelRatio,f.cy.zoom()*g)),a.uniformMatrix3fv(h.uPanZoomMatrix,!1,this.panZoomMatrix),a.uniform1i(h.uAtlasSize,this.batchManager.getAtlasSize());var o=jw(this.bgColor,1);a.uniform4fv(h.uBGColor,o),a.drawArraysInstanced(a.TRIANGLES,0,c,d),a.bindVertexArray(null),a.bindTexture(a.TEXTURE_2D,null),this.debug&&this.batchDebugInfo.push({count:d,atlasCount:k.length}),this.startBatch()}}},{key:"getDebugInfo",value:function(){var a=this.atlasManager.getDebugInfo(),b=a.reduce(function(a,b){return a+b.atlasCount},0),c=this.batchDebugInfo,d=c.reduce(function(a,b){return a+b.count},0);return{atlasInfo:a,totalAtlases:b,wrappedCount:this.wrappedCount,simpleCount:this.simpleCount,batchCount:c.length,batchInfo:c,totalInstances:d}}}]),jO={};function jP(a,b){return aJ(a._private.rscratch,"labelWrapCachedLines",b)||[]}jO.initWebgl=function(a,b){var c,d,f,h,i,j,k,l,n=this,o=n.data.contexts[n.WEBGL];a.bgColor=U((c=n.cy.container())&&c.style&&c.style.backgroundColor||"white"),a.webglTexSize=Math.min(a.webglTexSize,o.getParameter(o.MAX_TEXTURE_SIZE)),a.webglTexRows=Math.min(a.webglTexRows,54),a.webglTexRowsNodes=Math.min(a.webglTexRowsNodes,54),a.webglBatchSize=Math.min(a.webglBatchSize,16384),a.webglTexPerBatch=Math.min(a.webglTexPerBatch,o.getParameter(o.MAX_TEXTURE_IMAGE_UNITS)),n.webglDebug=a.webglDebug,n.webglDebugShowAtlases=a.webglDebugShowAtlases,k=o.createFramebuffer(),o.bindFramebuffer(o.FRAMEBUFFER,k),l=o.createTexture(),o.bindTexture(o.TEXTURE_2D,l),o.texParameteri(o.TEXTURE_2D,o.TEXTURE_MIN_FILTER,o.LINEAR),o.texParameteri(o.TEXTURE_2D,o.TEXTURE_WRAP_S,o.CLAMP_TO_EDGE),o.texParameteri(o.TEXTURE_2D,o.TEXTURE_WRAP_T,o.CLAMP_TO_EDGE),o.framebufferTexture2D(o.FRAMEBUFFER,o.COLOR_ATTACHMENT0,o.TEXTURE_2D,l,0),o.bindFramebuffer(o.FRAMEBUFFER,null),k.setFramebufferAttachmentSizes=function(a,b){o.bindTexture(o.TEXTURE_2D,l),o.texImage2D(o.TEXTURE_2D,0,o.RGBA,a,b,0,o.RGBA,o.UNSIGNED_BYTE,null)},n.pickingFrameBuffer=k,n.pickingFrameBuffer.needsDraw=!0,n.drawing=new jN(n,o,a);var p=function(a){return function(b){return n.getTextAngle(b,a)}},q=function(a){return function(b){var c=b.pstyle(a);return c&&c.value}},r=function(a){return function(b){return b.pstyle("".concat(a,"-opacity")).value>0}},s=function(a){return"yes"===a.pstyle("text-events").strValue?2:1},t=function(a){var b=a.position(),c=b.x,d=b.y,e=a.outerWidth(),f=a.outerHeight();return{w:e,h:f,x1:c-e/2,y1:d-f/2}};n.drawing.addAtlasCollection("node",{texRows:a.webglTexRowsNodes}),n.drawing.addAtlasCollection("label",{texRows:a.webglTexRows}),n.drawing.addTextureAtlasRenderType("node-body",{collection:"node",getKey:b.getStyleKey,getBoundingBox:b.getElementBox,drawElement:b.drawElement}),n.drawing.addSimpleShapeRenderType("node-body",{getBoundingBox:t,isSimple:jv,shapeProps:{shape:"shape",color:"background-color",opacity:"background-opacity",radius:"corner-radius",border:!0}}),n.drawing.addSimpleShapeRenderType("node-overlay",{getBoundingBox:t,isVisible:r("overlay"),shapeProps:{shape:"overlay-shape",color:"overlay-color",opacity:"overlay-opacity",padding:"overlay-padding",radius:"overlay-corner-radius"}}),n.drawing.addSimpleShapeRenderType("node-underlay",{getBoundingBox:t,isVisible:r("underlay"),shapeProps:{shape:"underlay-shape",color:"underlay-color",opacity:"underlay-opacity",padding:"underlay-padding",radius:"underlay-corner-radius"}}),n.drawing.addTextureAtlasRenderType("label",{collection:"label",getTexPickingMode:s,getKey:jQ(b.getLabelKey,null),getBoundingBox:jR(b.getLabelBox,null),drawClipped:!0,drawElement:b.drawLabel,getRotation:p(null),getRotationPoint:b.getLabelRotationPoint,getRotationOffset:b.getLabelRotationOffset,isVisible:q("label")}),n.drawing.addTextureAtlasRenderType("edge-source-label",{collection:"label",getTexPickingMode:s,getKey:jQ(b.getSourceLabelKey,"source"),getBoundingBox:jR(b.getSourceLabelBox,"source"),drawClipped:!0,drawElement:b.drawSourceLabel,getRotation:p("source"),getRotationPoint:b.getSourceLabelRotationPoint,getRotationOffset:b.getSourceLabelRotationOffset,isVisible:q("source-label")}),n.drawing.addTextureAtlasRenderType("edge-target-label",{collection:"label",getTexPickingMode:s,getKey:jQ(b.getTargetLabelKey,"target"),getBoundingBox:jR(b.getTargetLabelBox,"target"),drawClipped:!0,drawElement:b.drawTargetLabel,getRotation:p("target"),getRotationPoint:b.getTargetLabelRotationPoint,getRotationOffset:b.getTargetLabelRotationOffset,isVisible:q("target-label")});var u=ad(function(){console.log("garbage collect flag set"),n.data.gc=!0},1e4);n.onUpdateEleCalcs(function(a,b){var c=!1;b&&b.length>0&&(c|=n.drawing.invalidate(b)),c&&u()}),f=(d=n).render,d.render=function(a){a=a||{};var b,c,e,g,h=d.cy;d.webgl&&(h.zoom()>7.99?((c=(b=d).data.contexts[b.WEBGL]).clear(c.COLOR_BUFFER_BIT|c.DEPTH_BUFFER_BIT),f.call(d,a)):(e=d,(g=function(a){a.save(),a.setTransform(1,0,0,1,0,0),a.clearRect(0,0,e.canvasWidth,e.canvasHeight),a.restore()})(e.data.contexts[e.NODE]),g(e.data.contexts[e.DRAG]),jU(d,a,jL)))},h=d.matchCanvasSize,d.matchCanvasSize=function(a){h.call(d,a),d.pickingFrameBuffer.setFramebufferAttachmentSizes(d.canvasWidth,d.canvasHeight),d.pickingFrameBuffer.needsDraw=!0},d.findNearestElements=function(a,b,c,f){return function(a,b,c){var d,f,h,i=function(a,b,c,d,e){var f=ju(a),h=f.pan,i=f.zoom,j=g((r=b*i+h.x,s=c*i+h.y,[r,s=Math.round(a.canvasHeight-s)]),2),k=j[0],l=j[1],n=a.data.contexts[a.WEBGL];n.bindFramebuffer(n.FRAMEBUFFER,a.pickingFrameBuffer),a.pickingFrameBuffer.needsDraw&&(n.viewport(0,0,n.canvas.width,n.canvas.height),jU(a,null,jM),a.pickingFrameBuffer.needsDraw=!1);var o=new Uint8Array(144);n.readPixels(k-3,l-3,6,6,n.RGBA,n.UNSIGNED_BYTE,o),n.bindFramebuffer(n.FRAMEBUFFER,null);for(var p=new Set,q=0;q<36;q++){var r,s,t,u=(t=o.slice(4*q,4*q+4))[0]+(t[1]<<8)+(t[2]<<16)+(t[3]<<24)-1;u>=0&&p.add(u)}return p}(a,b,c),j=a.getCachedZSortedEles(),k=e(i);try{for(k.s();!(h=k.n()).done;){var l=j[h.value];if(!d&&l.isNode()&&(d=l),!f&&l.isEdge()&&(f=l),d&&f)break}}catch(a){k.e(a)}finally{k.f()}return[d,f].filter(Boolean)}(d,a,b)},i=d.invalidateCachedZSortedEles,d.invalidateCachedZSortedEles=function(){i.call(d),d.pickingFrameBuffer.needsDraw=!0},j=d.notify,d.notify=function(a,b){j.call(d,a,b),"viewport"===a||"bounds"===a?d.pickingFrameBuffer.needsDraw=!0:"background"===a&&d.drawing.invalidate(b,{type:"node-body"})}};var jQ=function(a,b){return function(c){var d=a(c),e=jP(c,b);return e.length>1?e.map(function(a,b){return"".concat(d,"_").concat(b)}):d}},jR=function(a,b){return function(c,d){var e=a(c);if("string"==typeof d){var f=d.indexOf("_");if(f>0){var g=Number(d.substring(f+1)),h=jP(c,b),i=e.h/h.length,j=i*g,k=e.y1+j;return{x1:e.x1,w:e.w,y1:k,h:i,yOffset:j}}}return e}};function jS(a,b){var c=a.canvasWidth,d=a.canvasHeight,e=ju(a),f=e.pan,g=e.zoom;b.setTransform(1,0,0,1,0,0),b.clearRect(0,0,c,d),b.translate(f.x,f.y),b.scale(g,g)}function jT(a,b,c){var d=a.drawing;b+=1,c.isNode()?(d.drawNode(c,b,"node-underlay"),d.drawNode(c,b,"node-body"),d.drawTexture(c,b,"label"),d.drawNode(c,b,"node-overlay")):(d.drawEdgeLine(c,b),d.drawEdgeArrow(c,b,"source"),d.drawEdgeArrow(c,b,"target"),d.drawTexture(c,b,"label"),d.drawTexture(c,b,"edge-source-label"),d.drawTexture(c,b,"edge-target-label"))}function jU(a,b,c){a.webglDebug&&(V=performance.now());var d=a.drawing,f=0;if(c.screen&&a.data.canvasNeedsRedraw[a.SELECT_BOX]&&a.drawSelectionRectangle(b,function(b){return jS(a,b)}),a.data.canvasNeedsRedraw[a.NODE]||c.picking){var g,h,i,j,k,l,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J,K,L,M=a.data.contexts[a.WEBGL];c.screen?(M.clearColor(0,0,0,0),M.enable(M.BLEND),M.blendFunc(M.ONE,M.ONE_MINUS_SRC_ALPHA)):M.disable(M.BLEND),M.clear(M.COLOR_BUFFER_BIT|M.DEPTH_BUFFER_BIT),M.viewport(0,0,M.canvas.width,M.canvas.height);var N=(g=a.canvasWidth,h=a.canvasHeight,j=(i=ju(a)).pan,k=i.zoom,jE(l=jC(),l,[j.x,j.y]),jG(l,l,[k,k]),o=n=jC(),o[0]=2/g,o[1]=0,o[2]=0,o[3]=0,o[4]=-2/h,o[5]=0,o[6]=-1,o[7]=1,o[8]=1,q=p=jC(),r=n[0],s=n[1],t=n[2],u=n[3],v=n[4],w=n[5],x=n[6],y=n[7],z=n[8],A=l[0],B=l[1],C=l[2],D=l[3],E=l[4],F=l[5],G=l[6],H=l[7],I=l[8],q[0]=A*r+B*u+C*x,q[1]=A*s+B*v+C*y,q[2]=A*t+B*w+C*z,q[3]=D*r+E*u+F*x,q[4]=D*s+E*v+F*y,q[5]=D*t+E*w+F*z,q[6]=G*r+H*u+I*x,q[7]=G*s+H*v+I*y,q[8]=G*t+H*w+I*z,p),O=a.getCachedZSortedEles();if(f=O.length,d.startFrame(N,c),c.screen){for(var P=0;P<O.nondrag.length;P++)jT(a,P,O.nondrag[P]);for(var Q=0;Q<O.drag.length;Q++)jT(a,Q,O.drag[Q])}else if(c.picking)for(var R=0;R<O.length;R++)jT(a,R,O[R]);d.endFrame(),c.screen&&a.webglDebugShowAtlases&&((J=a.data.contexts[a.NODE]).save(),jS(a,J),J.strokeStyle="rgba(0, 0, 0, 0.3)",J.beginPath(),J.moveTo(-1e3,0),J.lineTo(1e3,0),J.stroke(),J.beginPath(),J.moveTo(0,-1e3),J.lineTo(0,1e3),J.stroke(),J.restore(),L=0,(K=function(b,c,d){for(var e=b.atlasManager.getAtlasCollection(c),f=a.data.contexts[a.NODE],g=e.atlases,h=0;h<g.length;h++){var i=g[h].canvas;if(i){var j=i.width,k=i.height,l=j*h,n=i.height*d;f.save(),f.scale(.4,.4),f.drawImage(i,l,n),f.strokeStyle="black",f.rect(l,n,j,k),f.stroke(),f.restore()}}})(a.drawing,"node",L++),K(a.drawing,"label",L++)),a.data.canvasNeedsRedraw[a.NODE]=!1,a.data.canvasNeedsRedraw[a.DRAG]=!1}if(a.webglDebug){var S=Math.ceil(performance.now()-V),T=d.getDebugInfo(),U=["".concat(f," elements"),"".concat(T.totalInstances," instances"),"".concat(T.batchCount," batches"),"".concat(T.totalAtlases," atlases"),"".concat(T.wrappedCount," wrapped textures"),"".concat(T.simpleCount," simple shapes")].join(", ");console.log("WebGL (".concat(c.name,") - frame time ").concat(S,"ms")),console.log("Totals:"),console.log(" ".concat(U)),console.log("Texture Atlases Used:");var V,W,X=e(T.atlasInfo);try{for(X.s();!(W=X.n()).done;){var Y=W.value;console.log(" ".concat(Y.type,": ").concat(Y.keyCount," keys, ").concat(Y.atlasCount," atlases"))}}catch(a){X.e(a)}finally{X.f()}console.log("")}a.data.gc&&(console.log("Garbage Collect!"),a.data.gc=!1,d.gc())}var jV={};jV.drawPolygonPath=function(a,b,c,d,e,f){var g=d/2,h=e/2;a.beginPath&&a.beginPath(),a.moveTo(b+g*f[0],c+h*f[1]);for(var i=1;i<f.length/2;i++)a.lineTo(b+g*f[2*i],c+h*f[2*i+1]);a.closePath()},jV.drawRoundPolygonPath=function(a,b,c,d,e,f,g){g.forEach(function(b){return iC(a,b)}),a.closePath()},jV.drawRoundRectanglePath=function(a,b,c,d,e,f){var g=d/2,h=e/2,i="auto"===f?bR(d,e):Math.min(f,h,g);a.beginPath&&a.beginPath(),a.moveTo(b,c-h),a.arcTo(b+g,c-h,b+g,c,i),a.arcTo(b+g,c+h,b,c+h,i),a.arcTo(b-g,c+h,b-g,c,i),a.arcTo(b-g,c-h,b,c-h,i),a.lineTo(b,c-h),a.closePath()},jV.drawBottomRoundRectanglePath=function(a,b,c,d,e,f){var g=d/2,h=e/2,i="auto"===f?bR(d,e):f;a.beginPath&&a.beginPath(),a.moveTo(b,c-h),a.lineTo(b+g,c-h),a.lineTo(b+g,c),a.arcTo(b+g,c+h,b,c+h,i),a.arcTo(b-g,c+h,b-g,c,i),a.lineTo(b-g,c-h),a.lineTo(b,c-h),a.closePath()},jV.drawCutRectanglePath=function(a,b,c,d,e,f,g){var h=d/2,i=e/2,j="auto"===g?bT():g;a.beginPath&&a.beginPath(),a.moveTo(b-h+j,c-i),a.lineTo(b+h-j,c-i),a.lineTo(b+h,c-i+j),a.lineTo(b+h,c+i-j),a.lineTo(b+h-j,c+i),a.lineTo(b-h+j,c+i),a.lineTo(b-h,c+i-j),a.lineTo(b-h,c-i+j),a.closePath()},jV.drawBarrelPath=function(a,b,c,d,e){var f=d/2,g=e/2,h=b-f,i=b+f,j=c-g,k=c+g,l=bU(d,e),n=l.widthOffset,o=l.heightOffset,p=l.ctrlPtOffsetPct*n;a.beginPath&&a.beginPath(),a.moveTo(h,j+o),a.lineTo(h,k-o),a.quadraticCurveTo(h+p,k,h+n,k),a.lineTo(i-n,k),a.quadraticCurveTo(i-p,k,i,k-o),a.lineTo(i,j+o),a.quadraticCurveTo(i-p,j,i-n,j),a.lineTo(h+n,j),a.quadraticCurveTo(h+p,j,h,j+o),a.closePath()};for(var jW={},jX={},jY=Math.PI/40,jZ=0*Math.PI;jZ<2*Math.PI;jZ+=jY)jW[jZ]=Math.sin(jZ),jX[jZ]=Math.cos(jZ);jV.drawEllipsePath=function(a,b,c,d,e){if(a.beginPath&&a.beginPath(),a.ellipse)a.ellipse(b,c,d/2,e/2,0,0,2*Math.PI);else for(var f,g,h=d/2,i=e/2,j=0*Math.PI;j<2*Math.PI;j+=jY)f=b-h*jW[j]*0+h*jX[j]*1,g=c+i*jX[j]*0+i*jW[j]*1,0===j?a.moveTo(f,g):a.lineTo(f,g);a.closePath()};var j$={};function j_(a){var b=a.indexOf(",");return a.substr(b+1)}function j0(a,b,c){var d=function(){return b.toDataURL(c,a.quality)};switch(a.output){case"blob-promise":return new c$(function(d,e){try{b.toBlob(function(a){null!=a?d(a):e(Error("`canvas.toBlob()` sent a null value in its callback"))},c,a.quality)}catch(a){e(a)}});case"blob":return function(a,b){for(var c=atob(a),d=new ArrayBuffer(c.length),e=new Uint8Array(d),f=0;f<c.length;f++)e[f]=c.charCodeAt(f);return new Blob([d],{type:b})}(j_(d()),c);case"base64":return j_(d());default:return d()}}j$.createBuffer=function(a,b){var c=document.createElement("canvas");return c.width=a,c.height=b,[c,c.getContext("2d")]},j$.bufferCanvasImage=function(a){var b=this.cy,c=b.mutableElements().boundingBox(),d=this.findContainerClientCoords(),e=a.full?Math.ceil(c.w):d[2],f=a.full?Math.ceil(c.h):d[3],g=v(a.maxWidth)||v(a.maxHeight),h=this.getPixelRatio(),i=1;if(void 0!==a.scale)e*=a.scale,f*=a.scale,i=a.scale;else if(g){var j=1/0,k=1/0;v(a.maxWidth)&&(j=i*a.maxWidth/e),v(a.maxHeight)&&(k=i*a.maxHeight/f),e*=i=Math.min(j,k),f*=i}g||(e*=h,f*=h,i*=h);var l=document.createElement("canvas");l.width=e,l.height=f,l.style.width=e+"px",l.style.height=f+"px";var n=l.getContext("2d");if(e>0&&f>0){n.clearRect(0,0,e,f),n.globalCompositeOperation="source-over";var o=this.getCachedZSortedEles();if(a.full)n.translate(-c.x1*i,-c.y1*i),n.scale(i,i),this.drawElements(n,o),n.scale(1/i,1/i),n.translate(c.x1*i,c.y1*i);else{var p=b.pan(),q={x:p.x*i,y:p.y*i};i*=b.zoom(),n.translate(q.x,q.y),n.scale(i,i),this.drawElements(n,o),n.scale(1/i,1/i),n.translate(-q.x,-q.y)}a.bg&&(n.globalCompositeOperation="destination-over",n.fillStyle=a.bg,n.rect(0,0,e,f),n.fill())}return l},j$.png=function(a){return j0(a,this.bufferCanvasImage(a),"image/png")},j$.jpg=function(a){return j0(a,this.bufferCanvasImage(a),"image/jpeg")};var j1={};j1.nodeShapeImpl=function(a,b,c,d,e,f,g,h){switch(a){case"ellipse":return this.drawEllipsePath(b,c,d,e,f);case"polygon":return this.drawPolygonPath(b,c,d,e,f,g);case"round-polygon":return this.drawRoundPolygonPath(b,c,d,e,f,g,h);case"roundrectangle":case"round-rectangle":return this.drawRoundRectanglePath(b,c,d,e,f,h);case"cutrectangle":case"cut-rectangle":return this.drawCutRectanglePath(b,c,d,e,f,g,h);case"bottomroundrectangle":case"bottom-round-rectangle":return this.drawBottomRoundRectanglePath(b,c,d,e,f,h);case"barrel":return this.drawBarrelPath(b,c,d,e,f)}};var j2=j3.prototype;function j3(a){var b=this,c=b.cy.window().document;a.webgl&&(j2.CANVAS_LAYERS=b.CANVAS_LAYERS=4,console.log("webgl rendering enabled")),b.data={canvases:Array(j2.CANVAS_LAYERS),contexts:Array(j2.CANVAS_LAYERS),canvasNeedsRedraw:Array(j2.CANVAS_LAYERS),bufferCanvases:Array(j2.BUFFER_COUNT),bufferContexts:Array(j2.CANVAS_LAYERS)};var d="-webkit-tap-highlight-color",e="rgba(0,0,0,0)";b.data.canvasContainer=c.createElement("div");var f=b.data.canvasContainer.style;b.data.canvasContainer.style[d]=e,f.position="relative",f.zIndex="0",f.overflow="hidden";var g=a.cy.container();g.appendChild(b.data.canvasContainer),g.style[d]=e;for(var h={"-webkit-user-select":"none","-moz-user-select":"-moz-none","user-select":"none","-webkit-tap-highlight-color":"rgba(0,0,0,0)","outline-style":"none"},i=0;i<j2.CANVAS_LAYERS;i++){var j=b.data.canvases[i]=c.createElement("canvas"),k=j2.CANVAS_TYPES[i];b.data.contexts[i]=j.getContext(k),b.data.contexts[i]||ay("Could not create canvas of type "+k),Object.keys(h).forEach(function(a){j.style[a]=h[a]}),j.style.position="absolute",j.setAttribute("data-id","layer"+i),j.style.zIndex=String(j2.CANVAS_LAYERS-i),b.data.canvasContainer.appendChild(j),b.data.canvasNeedsRedraw[i]=!1}b.data.topCanvas=b.data.canvases[0],b.data.canvases[j2.NODE].setAttribute("data-id","layer"+j2.NODE+"-node"),b.data.canvases[j2.SELECT_BOX].setAttribute("data-id","layer"+j2.SELECT_BOX+"-selectbox"),b.data.canvases[j2.DRAG].setAttribute("data-id","layer"+j2.DRAG+"-drag"),b.data.canvases[j2.WEBGL]&&b.data.canvases[j2.WEBGL].setAttribute("data-id","layer"+j2.WEBGL+"-webgl");for(var i=0;i<j2.BUFFER_COUNT;i++)b.data.bufferCanvases[i]=c.createElement("canvas"),b.data.bufferContexts[i]=b.data.bufferCanvases[i].getContext("2d"),b.data.bufferCanvases[i].style.position="absolute",b.data.bufferCanvases[i].setAttribute("data-id","buffer"+i),b.data.bufferCanvases[i].style.zIndex=String(-i-1),b.data.bufferCanvases[i].style.visibility="hidden";b.pathsEnabled=!0;var l=bh(),n=function(a){return{x:-a.w/2,y:-a.h/2}},o=function(a){return a[0]._private.nodeKey},p=function(a){return a[0]._private.labelStyleKey},q=function(a){return a[0]._private.sourceLabelStyleKey},r=function(a){return a[0]._private.targetLabelStyleKey},s=function(a,c,d,e,f){return b.drawElement(a,c,d,!1,!1,f)},t=function(a,c,d,e,f){return b.drawElementText(a,c,d,e,"main",f)},u=function(a,c,d,e,f){return b.drawElementText(a,c,d,e,"source",f)},v=function(a,c,d,e,f){return b.drawElementText(a,c,d,e,"target",f)},w=function(a){return a.boundingBox(),a[0]._private.bodyBounds},x=function(a){return a.boundingBox(),a[0]._private.labelBounds.main||l},y=function(a){return a.boundingBox(),a[0]._private.labelBounds.source||l},z=function(a){return a.boundingBox(),a[0]._private.labelBounds.target||l},A=function(a,b){return b},B=function(a){var b;return{x:((b=w(a)).x1+b.x2)/2,y:(b.y1+b.y2)/2}},C=function(a,b,c){var d=a?a+"-":"";return{x:b.x+c.pstyle(d+"text-margin-x").pfValue,y:b.y+c.pstyle(d+"text-margin-y").pfValue}},D=function(a,b,c){var d=a[0]._private.rscratch;return{x:d[b],y:d[c]}},E=function(a){return C("",D(a,"labelX","labelY"),a)},F=function(a){return C("source",D(a,"sourceLabelX","sourceLabelY"),a)},G=function(a){return C("target",D(a,"targetLabelX","targetLabelY"),a)},H=function(a){return n(w(a))},I=function(a){return n(y(a))},J=function(a){return n(z(a))},K=function(a){var b=x(a),c=n(x(a));if(a.isNode()){switch(a.pstyle("text-halign").value){case"left":c.x=-b.w-(b.leftPad||0);break;case"right":c.x=-(b.rightPad||0)}switch(a.pstyle("text-valign").value){case"top":c.y=-b.h-(b.topPad||0);break;case"bottom":c.y=-(b.botPad||0)}}return c},L=b.data.eleTxrCache=new i2(b,{getKey:o,doesEleInvalidateKey:function(a){var b=a[0]._private;return b.oldBackgroundTimestamp!==b.backgroundTimestamp},drawElement:s,getBoundingBox:w,getRotationPoint:B,getRotationOffset:H,allowEdgeTxrCaching:!1,allowParentTxrCaching:!1}),M=b.data.lblTxrCache=new i2(b,{getKey:p,drawElement:t,getBoundingBox:x,getRotationPoint:E,getRotationOffset:K,isVisible:A}),N=b.data.slbTxrCache=new i2(b,{getKey:q,drawElement:u,getBoundingBox:y,getRotationPoint:F,getRotationOffset:I,isVisible:A}),O=b.data.tlbTxrCache=new i2(b,{getKey:r,drawElement:v,getBoundingBox:z,getRotationPoint:G,getRotationOffset:J,isVisible:A}),P=b.data.lyrTxrCache=new i4(b);b.onUpdateEleCalcs(function(a,b){L.invalidateElements(b),M.invalidateElements(b),N.invalidateElements(b),O.invalidateElements(b),P.invalidateElements(b);for(var c=0;c<b.length;c++){var d=b[c]._private;d.oldBackgroundTimestamp=d.backgroundTimestamp}});var Q=function(a){for(var b=0;b<a.length;b++)P.enqueueElementRefinement(a[b].ele)};L.onDequeue(Q),M.onDequeue(Q),N.onDequeue(Q),O.onDequeue(Q),a.webgl&&b.initWebgl(a,{getStyleKey:o,getLabelKey:p,getSourceLabelKey:q,getTargetLabelKey:r,drawElement:s,drawLabel:t,drawSourceLabel:u,drawTargetLabel:v,getElementBox:w,getLabelBox:x,getSourceLabelBox:y,getTargetLabelBox:z,getElementRotationPoint:B,getElementRotationOffset:H,getLabelRotationPoint:E,getSourceLabelRotationPoint:F,getTargetLabelRotationPoint:G,getLabelRotationOffset:K,getSourceLabelRotationOffset:I,getTargetLabelRotationOffset:J})}j2.CANVAS_LAYERS=3,j2.SELECT_BOX=0,j2.DRAG=1,j2.NODE=2,j2.WEBGL=3,j2.CANVAS_TYPES=["2d","2d","2d","webgl2"],j2.BUFFER_COUNT=3,j2.TEXTURE_BUFFER=0,j2.MOTIONBLUR_BUFFER_NODE=1,j2.MOTIONBLUR_BUFFER_DRAG=2,j2.redrawHint=function(a,b){switch(a){case"eles":this.data.canvasNeedsRedraw[j2.NODE]=b;break;case"drag":this.data.canvasNeedsRedraw[j2.DRAG]=b;break;case"select":this.data.canvasNeedsRedraw[j2.SELECT_BOX]=b;break;case"gc":this.data.gc=!0}};var j4="undefined"!=typeof Path2D;j2.path2dEnabled=function(a){if(void 0===a)return this.pathsEnabled;this.pathsEnabled=!!a},j2.usePaths=function(){return j4&&this.pathsEnabled},j2.setImgSmoothing=function(a,b){null!=a.imageSmoothingEnabled?a.imageSmoothingEnabled=b:(a.webkitImageSmoothingEnabled=b,a.mozImageSmoothingEnabled=b,a.msImageSmoothingEnabled=b)},j2.getImgSmoothing=function(a){return null!=a.imageSmoothingEnabled?a.imageSmoothingEnabled:a.webkitImageSmoothingEnabled||a.mozImageSmoothingEnabled||a.msImageSmoothingEnabled},j2.makeOffscreenCanvas=function(a,b){var c;return("undefined"==typeof OffscreenCanvas?"undefined":j(OffscreenCanvas))!=="undefined"?c=new OffscreenCanvas(a,b):((c=this.cy.window().document.createElement("canvas")).width=a,c.height=b),c},[i7,jd,jk,jm,jn,jp,jr,jO,jV,j$,j1].forEach(function(a){Q(j2,a)});var j5=[{name:"null",impl:fP},{name:"base",impl:iX},{name:"canvas",impl:j3}],j6={},j7={};function j8(a,b,c){var d=c,e=function(c){aA("Can not register `"+b+"` for `"+a+"` since `"+c+"` already exists in the prototype and can not be overridden")};if("core"===a)if(fa.prototype[b])return e(b);else fa.prototype[b]=c;else if("collection"===a)if(eH.prototype[b])return e(b);else eH.prototype[b]=c;else if("layout"===a){for(var f=function(a){this.options=a,c.call(this,a),u(this._private)||(this._private={}),this._private.cy=a.cy,this._private.listeners=[],this.createEmitter()},g=f.prototype=Object.create(c.prototype),h=[],i=0;i<h.length;i++){var j=h[i];g[j]=g[j]||function(){return this}}g.start&&!g.run?g.run=function(){return this.start(),this}:!g.start&&g.run&&(g.start=function(){return this.run(),this});var k=c.prototype.stop;g.stop=function(){var a=this.options;if(a&&a.animate){var b=this.animations;if(b)for(var c=0;c<b.length;c++)b[c].stop()}return k?k.call(this):this.emit("layoutstop"),this},g.destroy||(g.destroy=function(){return this}),g.cy=function(){return this._private.cy};var l=function(a){return a._private.cy},n={addEventFields:function(a,b){b.layout=a,b.cy=l(a),b.target=a},bubble:function(){return!0},parent:function(a){return l(a)}};Q(g,{createEmitter:function(){return this._private.emitter=new ed(n,this),this},emitter:function(){return this._private.emitter},on:function(a,b){return this.emitter().on(a,b),this},one:function(a,b){return this.emitter().one(a,b),this},once:function(a,b){return this.emitter().one(a,b),this},removeListener:function(a,b){return this.emitter().removeListener(a,b),this},removeAllListeners:function(){return this.emitter().removeAllListeners(),this},emit:function(a,b){return this.emitter().emit(a,b),this}}),df.eventAliasesOn(g),d=f}else if("renderer"===a&&"null"!==b&&"base"!==b){var o=j9("renderer","base"),p=o.prototype,q=c.prototype,r=function(){o.apply(this,arguments),c.apply(this,arguments)},s=r.prototype;for(var t in p){var v=p[t];if(null!=q[t])return e(t);s[t]=v}for(var w in q)s[w]=q[w];p.clientFunctions.forEach(function(a){s[a]=s[a]||function(){ay("Renderer does not implement `renderer."+a+"()` on its prototype")}}),d=r}else if("__proto__"===a||"constructor"===a||"prototype"===a)return ay(a+" is an illegal type to be registered, possibly lead to prototype pollutions");return W({map:j6,keys:[a,b],value:d})}function j9(a,b){return X({map:j6,keys:[a,b]})}function ka(a,b,c,d,e){return W({map:j7,keys:[a,b,c,d],value:e})}function kb(a,b,c,d){return X({map:j7,keys:[a,b,c,d]})}var kc=function(){return 2==arguments.length?j9.apply(null,arguments):3==arguments.length?j8.apply(null,arguments):4==arguments.length?kb.apply(null,arguments):5==arguments.length?ka.apply(null,arguments):void ay("Invalid extension access syntax")};fa.prototype.extension=kc,[{type:"layout",extensions:fO},{type:"renderer",extensions:j5}].forEach(function(a){a.extensions.forEach(function(b){j8(a.type,b.name,b.impl)})});var kd=function(){if(!(this instanceof kd))return new kd;this.length=0},ke=kd.prototype;ke.instanceString=function(){return"stylesheet"},ke.selector=function(a){return this[this.length++]={selector:a,properties:[]},this},ke.css=function(a,b){var c=this.length-1;if(r(a))this[c].properties.push({name:a,value:b});else if(u(a))for(var d=Object.keys(a),e=0;e<d.length;e++){var f=d[e],g=a[f];if(null!=g){var h=e6.properties[f]||e6.properties[G(f)];if(null!=h){var i=h.name;this[c].properties.push({name:i,value:g})}}}return this},ke.style=ke.css,ke.generateStyle=function(a){var b=new e6(a);return this.appendToStyle(b)},ke.appendToStyle=function(a){for(var b=0;b<this.length;b++){var c=this[b],d=c.selector,e=c.properties;a.selector(d);for(var f=0;f<e.length;f++){var g=e[f];a.css(g.name,g.value)}}return a};var kf=function(a){return(void 0===a&&(a={}),u(a))?new fa(a):r(a)?kc.apply(kc,arguments):void 0};kf.use=function(a){var b=Array.prototype.slice.call(arguments,1);return b.unshift(kf),a.apply(null,b),this},kf.warnings=function(a){return az(a)},kf.version="3.33.1",kf.stylesheet=kf.Stylesheet=kd,a.s(["default",()=>kf])}];
|
|
2
|
+
|
|
3
|
+
//# sourceMappingURL=4e76f_cytoscape_dist_cytoscape_esm_mjs_56d6d0a1._.js.map
|