six-degrees 0.4.3 → 0.4.5
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/.next/BUILD_ID +1 -1
- package/.next/standalone/.next/app-path-routes-manifest.json +3 -1
- package/.next/standalone/.next/build-manifest.json +3 -3
- package/.next/standalone/.next/prerender-manifest.json +41 -13
- package/.next/standalone/.next/routes-manifest.json +12 -0
- package/.next/standalone/.next/server/app/_global-error.html +1 -1
- package/.next/standalone/.next/server/app/_global-error.rsc +1 -1
- package/.next/standalone/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_not-found/page.js +1 -1
- package/.next/standalone/.next/server/app/_not-found/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/_not-found.html +1 -1
- package/.next/standalone/.next/server/app/_not-found.rsc +18 -17
- package/.next/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +18 -17
- package/.next/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +14 -13
- package/.next/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/api/admin-delete/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/admin-update/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/bridges/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/bulk-import/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/company-scores/legacy/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/company-scores/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/connections/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/data/export/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/data/import/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/data/restart/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/data/reveal/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/data/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/delete-cluster/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/ingest/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/network/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/notifications/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/outreach/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/queue/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/scraper/route.js +1 -1
- package/.next/standalone/.next/server/app/api/scraper/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/settings/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/settings/sector-preview/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/settings/sector-suggestions/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/setup-profile/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/social/route/app-paths-manifest.json +3 -0
- package/.next/standalone/.next/server/app/api/social/route/build-manifest.json +12 -0
- package/.next/standalone/.next/server/app/api/social/route/server-reference-manifest.json +4 -0
- package/.next/standalone/.next/server/app/api/social/route.js +8 -0
- package/.next/standalone/.next/server/app/api/social/route.js.map +5 -0
- package/.next/standalone/.next/server/app/api/social/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/api/social/route_client-reference-manifest.js +3 -0
- package/.next/standalone/.next/server/app/api/unlock/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/update/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/update-images/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/users/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/avatars/[file]/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/import/page.js +1 -1
- package/.next/standalone/.next/server/app/import/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/import/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/import.html +1 -1
- package/.next/standalone/.next/server/app/import.rsc +22 -21
- package/.next/standalone/.next/server/app/import.segments/_full.segment.rsc +22 -21
- package/.next/standalone/.next/server/app/import.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/import.segments/import/__PAGE__.segment.rsc +16 -15
- package/.next/standalone/.next/server/app/index.html +1 -1
- package/.next/standalone/.next/server/app/index.rsc +20 -19
- package/.next/standalone/.next/server/app/index.segments/__PAGE__.segment.rsc +16 -15
- package/.next/standalone/.next/server/app/index.segments/_full.segment.rsc +20 -19
- package/.next/standalone/.next/server/app/index.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/launch/page.js +1 -1
- package/.next/standalone/.next/server/app/launch/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/launch/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/launch.html +2 -2
- package/.next/standalone/.next/server/app/launch.rsc +22 -21
- package/.next/standalone/.next/server/app/launch.segments/_full.segment.rsc +22 -21
- package/.next/standalone/.next/server/app/launch.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/launch.segments/launch/__PAGE__.segment.rsc +16 -15
- package/.next/standalone/.next/server/app/page.js +1 -1
- package/.next/standalone/.next/server/app/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/paths/page.js +1 -1
- package/.next/standalone/.next/server/app/paths/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/paths/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/paths.html +1 -1
- package/.next/standalone/.next/server/app/paths.rsc +22 -21
- package/.next/standalone/.next/server/app/paths.segments/_full.segment.rsc +22 -21
- package/.next/standalone/.next/server/app/paths.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/paths.segments/paths/__PAGE__.segment.rsc +16 -15
- package/.next/standalone/.next/server/app/profile/page.js +1 -1
- package/.next/standalone/.next/server/app/profile/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/profile/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/profile.html +1 -1
- package/.next/standalone/.next/server/app/profile.rsc +22 -21
- package/.next/standalone/.next/server/app/profile.segments/_full.segment.rsc +22 -21
- package/.next/standalone/.next/server/app/profile.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/profile.segments/profile/__PAGE__.segment.rsc +16 -15
- package/.next/standalone/.next/server/app/queue/page.js +1 -1
- package/.next/standalone/.next/server/app/queue/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/queue/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/queue.html +1 -1
- package/.next/standalone/.next/server/app/queue.rsc +22 -21
- package/.next/standalone/.next/server/app/queue.segments/_full.segment.rsc +22 -21
- package/.next/standalone/.next/server/app/queue.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/queue.segments/queue/__PAGE__.segment.rsc +16 -15
- package/.next/standalone/.next/server/app/scores/page.js +1 -1
- package/.next/standalone/.next/server/app/scores/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/scores/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/scores.html +1 -1
- package/.next/standalone/.next/server/app/scores.rsc +22 -21
- package/.next/standalone/.next/server/app/scores.segments/_full.segment.rsc +22 -21
- package/.next/standalone/.next/server/app/scores.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/scores.segments/scores/__PAGE__.segment.rsc +16 -15
- package/.next/standalone/.next/server/app/settings/page.js +1 -1
- package/.next/standalone/.next/server/app/settings/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/settings/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/settings.html +1 -1
- package/.next/standalone/.next/server/app/settings.rsc +22 -21
- package/.next/standalone/.next/server/app/settings.segments/_full.segment.rsc +22 -21
- package/.next/standalone/.next/server/app/settings.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/settings.segments/settings/__PAGE__.segment.rsc +16 -15
- package/.next/standalone/.next/server/app/setup/page.js +1 -1
- package/.next/standalone/.next/server/app/setup/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/setup/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/setup.html +1 -1
- package/.next/standalone/.next/server/app/setup.rsc +22 -21
- package/.next/standalone/.next/server/app/setup.segments/_full.segment.rsc +22 -21
- package/.next/standalone/.next/server/app/setup.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/setup.segments/setup/__PAGE__.segment.rsc +16 -15
- package/.next/standalone/.next/server/app/social/page/app-paths-manifest.json +3 -0
- package/.next/standalone/.next/server/app/social/page/build-manifest.json +20 -0
- package/.next/standalone/.next/server/app/social/page/next-font-manifest.json +11 -0
- package/.next/standalone/.next/server/app/social/page/react-loadable-manifest.json +1 -0
- package/.next/standalone/.next/server/app/social/page/server-reference-manifest.json +4 -0
- package/.next/standalone/.next/server/app/social/page.js +13 -0
- package/.next/standalone/.next/server/app/social/page.js.map +5 -0
- package/.next/standalone/.next/server/app/social/page.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/social/page_client-reference-manifest.js +3 -0
- package/.next/standalone/.next/server/app/social.html +1 -0
- package/.next/standalone/.next/server/app/social.meta +26 -0
- package/.next/standalone/.next/server/app/social.rsc +26 -0
- package/.next/standalone/.next/server/app/social.segments/_full.segment.rsc +26 -0
- package/.next/standalone/.next/server/app/social.segments/_tree.segment.rsc +4 -0
- package/.next/standalone/.next/server/app/social.segments/social/__PAGE__.segment.rsc +30 -0
- package/.next/standalone/.next/server/app-paths-manifest.json +3 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0ljnyho._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__17kn1mk._.js +8 -0
- package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0uag-k5._.js → [root-of-the-server]__1dmc7-t._.js} +1 -1
- package/.next/standalone/.next/server/chunks/_1_fynia._.js +1 -1
- package/.next/standalone/.next/server/chunks/_1itd1o_._.js +1 -1
- package/.next/standalone/.next/server/chunks/_1xh07bp._.js +3 -0
- package/.next/standalone/.next/server/chunks/_next-internal_server_app_api_social_route_actions_1_3c6qn.js +3 -0
- package/.next/standalone/.next/server/chunks/lib_db-client_15le7cw.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__16hs8kw._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__1feicqq._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__1jeztd-._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/_005q9n1._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/_0ezj4e0._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/_0j4-lc3._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/{_0hw_qnj._.js → _0wxbq78._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/_0xkur4p._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/_14iv_zy._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/_15x6q32._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/{_1cyxocj._.js → _1ap1tu_._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/_1mj739k._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/_212xw8q._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/_217nddo._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/_next-internal_server_app_social_page_actions_176i1kl.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/app_0i3fw_m._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/app_page_1fazqbf.js +17 -4
- package/.next/standalone/.next/server/chunks/ssr/app_paths_page_1ol90m7.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/app_scores_page_09wepvv.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/app_setup_page_1-282zx.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/lib_0i8v-s3._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/node_modules_next_dist_client_components_server-async-storage_0t1dato.js +3 -0
- package/.next/standalone/.next/server/middleware-build-manifest.js +3 -3
- package/.next/standalone/.next/server/middleware-manifest.json +5 -5
- package/.next/standalone/.next/server/next-font-manifest.js +1 -1
- package/.next/standalone/.next/server/next-font-manifest.json +4 -0
- package/.next/standalone/.next/server/pages/404.html +1 -1
- package/.next/standalone/.next/server/pages/500.html +1 -1
- package/.next/standalone/.next/server/prefetch-hints.json +14 -0
- package/.next/standalone/.next/server/server-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/server-reference-manifest.json +1 -1
- package/.next/standalone/.next/static/chunks/04a3zockahetx.js +1 -0
- package/.next/standalone/.next/static/chunks/{2wwmljnf7yn_5.js → 0a5iadnmt9u9k.js} +1 -1
- package/.next/standalone/.next/static/chunks/0g_p4p7oci18u.js +1 -0
- package/.next/standalone/.next/static/chunks/0y1yms5kez2f3.js +1 -0
- package/.next/standalone/.next/static/chunks/14m1zu-8warte.js +1 -0
- package/.next/standalone/.next/static/chunks/1e1n0kkz-psdb.js +1 -0
- package/.next/standalone/.next/static/chunks/236f0jtp68j_h.js +1 -0
- package/.next/standalone/.next/static/chunks/{1zwjy1mmpkdrg.js → 24m745q_85u34.js} +2 -2
- package/.next/standalone/.next/static/chunks/2_zu7rmb8flzl.js +2 -0
- package/.next/standalone/.next/static/chunks/38wwtni5e1ec1.js +31 -0
- package/.next/standalone/.next/static/chunks/3p_pwu5gx2i9h.js +1 -0
- package/.next/{static/chunks/0_3ubivay59bq.js → standalone/.next/static/chunks/3zw8bv7-mc4n6.js} +1 -1
- package/.next/standalone/CHANGELOG.md +58 -0
- package/.next/standalone/app/api/network/route.js +11 -0
- package/.next/standalone/app/api/scraper/route.js +2 -0
- package/.next/standalone/app/api/social/route.js +96 -0
- package/.next/standalone/app/components/AutoScanButton.js +41 -0
- package/.next/standalone/app/components/ChainView.js +7 -0
- package/.next/standalone/app/components/FilterPanel.js +6 -0
- package/.next/standalone/app/components/ForceGraph.js +257 -39
- package/.next/standalone/app/components/GalaxyLab.js +275 -0
- package/.next/standalone/app/components/ScanStatusBar.js +22 -8
- package/.next/standalone/app/components/SeparationView.js +9 -1
- package/.next/standalone/app/components/Sidebar.js +88 -26
- package/.next/standalone/app/components/SocialAutoSync.js +34 -0
- package/.next/standalone/app/components/settings/NetworkHealthSection.js +85 -0
- package/.next/standalone/app/layout.js +3 -0
- package/.next/standalone/app/page.js +29 -0
- package/.next/standalone/app/scores/page.js +3 -0
- package/.next/standalone/app/setup/page.js +1 -1
- package/.next/standalone/app/social/page.js +281 -0
- package/.next/standalone/lib/experimental-client.js +38 -0
- package/.next/standalone/lib/galaxy-export.js +152 -0
- package/.next/standalone/lib/galaxy-lab.js +296 -0
- package/.next/standalone/lib/insights.js +54 -0
- package/.next/standalone/lib/linkedin-export.js +156 -0
- package/.next/standalone/lib/network-health.js +42 -0
- package/.next/standalone/lib/network.js +1 -0
- package/.next/standalone/package-lock.json +2 -2
- package/.next/standalone/package.json +1 -1
- package/.next/standalone/scripts/scrape.py +118 -2
- package/.next/static/chunks/04a3zockahetx.js +1 -0
- package/.next/static/chunks/{2wwmljnf7yn_5.js → 0a5iadnmt9u9k.js} +1 -1
- package/.next/static/chunks/0g_p4p7oci18u.js +1 -0
- package/.next/static/chunks/0y1yms5kez2f3.js +1 -0
- package/.next/static/chunks/14m1zu-8warte.js +1 -0
- package/.next/static/chunks/1e1n0kkz-psdb.js +1 -0
- package/.next/static/chunks/236f0jtp68j_h.js +1 -0
- package/.next/static/chunks/{1zwjy1mmpkdrg.js → 24m745q_85u34.js} +2 -2
- package/.next/static/chunks/2_zu7rmb8flzl.js +2 -0
- package/.next/static/chunks/38wwtni5e1ec1.js +31 -0
- package/.next/static/chunks/3p_pwu5gx2i9h.js +1 -0
- package/.next/{standalone/.next/static/chunks/0_3ubivay59bq.js → static/chunks/3zw8bv7-mc4n6.js} +1 -1
- package/CHANGELOG.md +58 -0
- package/lib/experimental-client.js +38 -0
- package/lib/galaxy-export.js +152 -0
- package/lib/galaxy-lab.js +296 -0
- package/lib/insights.js +54 -0
- package/lib/linkedin-export.js +156 -0
- package/lib/network-health.js +42 -0
- package/lib/network.js +1 -0
- package/package.json +1 -1
- package/scripts/scrape.py +118 -2
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0d3vjsq._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0m4vk0b._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/_012mop3._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/_01f38ty._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/_1163x49._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/_1av11ws._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/_1gpbbw9._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/_1ig7em7._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/_1vpfyd-._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/_20w06i-._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/lib_1bn38gs._.js +0 -3
- package/.next/standalone/.next/static/chunks/0cuuo2jwc9h94.js +0 -1
- package/.next/standalone/.next/static/chunks/0f4ugd6v3ph0-.js +0 -1
- package/.next/standalone/.next/static/chunks/0l1568qff0efj.js +0 -1
- package/.next/standalone/.next/static/chunks/10ogurbcuf3nq.js +0 -1
- package/.next/standalone/.next/static/chunks/1489t7jrjojk_.js +0 -1
- package/.next/standalone/.next/static/chunks/1zunq4tk-u3ng.js +0 -1
- package/.next/standalone/.next/static/chunks/2p5yt1o9tnxjn.js +0 -2
- package/.next/standalone/.next/static/chunks/2pyo4j84prgp6.js +0 -18
- package/.next/standalone/.next/static/chunks/3kllnkb3hof1s.js +0 -1
- package/.next/static/chunks/0cuuo2jwc9h94.js +0 -1
- package/.next/static/chunks/0f4ugd6v3ph0-.js +0 -1
- package/.next/static/chunks/0l1568qff0efj.js +0 -1
- package/.next/static/chunks/10ogurbcuf3nq.js +0 -1
- package/.next/static/chunks/1489t7jrjojk_.js +0 -1
- package/.next/static/chunks/1zunq4tk-u3ng.js +0 -1
- package/.next/static/chunks/2p5yt1o9tnxjn.js +0 -2
- package/.next/static/chunks/2pyo4j84prgp6.js +0 -18
- package/.next/static/chunks/3kllnkb3hof1s.js +0 -1
- /package/.next/standalone/.next/static/{814ehZBeFO2rUKle7mzX- → 6LINKa6nyesvIEUnLDSck}/_buildManifest.js +0 -0
- /package/.next/standalone/.next/static/{814ehZBeFO2rUKle7mzX- → 6LINKa6nyesvIEUnLDSck}/_clientMiddlewareManifest.js +0 -0
- /package/.next/standalone/.next/static/{814ehZBeFO2rUKle7mzX- → 6LINKa6nyesvIEUnLDSck}/_ssgManifest.js +0 -0
- /package/.next/static/{814ehZBeFO2rUKle7mzX- → 6LINKa6nyesvIEUnLDSck}/_buildManifest.js +0 -0
- /package/.next/static/{814ehZBeFO2rUKle7mzX- → 6LINKa6nyesvIEUnLDSck}/_clientMiddlewareManifest.js +0 -0
- /package/.next/static/{814ehZBeFO2rUKle7mzX- → 6LINKa6nyesvIEUnLDSck}/_ssgManifest.js +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,2776,e=>{"use strict";var t=e.i(43476),n=e.i(15812);e.s(["default",0,function({children:e}){let{userId:r,ready:o}=(0,n.useUser)();return o&&r?e:(0,t.jsx)("div",{style:{minHeight:"100vh",display:"flex",alignItems:"center",justifyContent:"center",background:"#0a0a1a",color:"#fff",padding:24,textAlign:"center",fontFamily:'-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif'},children:o?(0,t.jsxs)("div",{style:{maxWidth:420},children:[(0,t.jsx)("div",{style:{fontSize:18,fontWeight:700,marginBottom:8},children:"Can’t reach Six Degrees’ local server"}),(0,t.jsx)("div",{style:{color:"#888",fontSize:14,lineHeight:1.6},children:"The page loaded but the app behind it is not answering. If you started it from a terminal, check that window for an error, then reload this page."})]}):(0,t.jsx)("div",{style:{fontSize:18,fontWeight:600},children:"Loading…"})})}])},8819,e=>{"use strict";var t=e.i(43476);let n="1px solid rgba(255,255,255,0.1)";function r({children:e,style:n}){return(0,t.jsx)("div",{style:{fontSize:13.5,color:"#8b9a9a",lineHeight:1.6,marginTop:4,...n},children:e})}e.s(["Body",0,r,"Btn",0,function({children:e,onClick:r,disabled:o,primary:a,tone:l,type:i="button"}){return(0,t.jsx)("button",{type:i,onClick:r,disabled:o,style:{padding:"9px 18px",borderRadius:7,fontSize:13.5,fontWeight:650,color:o?"#667":"#fff",border:n,background:o?"rgba(255,255,255,0.05)":"bad"===l?"rgba(255,80,80,0.15)":a?"linear-gradient(135deg, #9B59B6, #3498DB)":"rgba(255,255,255,0.08)",cursor:o?"not-allowed":"pointer"},children:e})},"FONT",0,'-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif',"LINE",0,n,"Mono",0,function({children:e}){return(0,t.jsx)("code",{style:{background:"rgba(255,255,255,0.08)",padding:"1px 5px",borderRadius:4,wordBreak:"break-all"},children:e})},"Section",0,function({id:e,title:o,intro:a,children:l}){return(0,t.jsxs)("section",{id:e,style:{padding:"24px 0",borderBottom:n,scrollMarginTop:16},children:[(0,t.jsx)("h2",{style:{fontSize:16,fontWeight:650,margin:"0 0 6px"},children:o}),a&&(0,t.jsx)(r,{style:{marginTop:0,marginBottom:12},children:a}),l]})},"Status",0,function({children:e,tone:n}){return(0,t.jsxs)("div",{role:"status",style:{marginTop:10,padding:"10px 14px",borderRadius:8,fontSize:13.5,lineHeight:1.6,color:"ok"===n?"#00ff88":"bad"===n?"#ff7676":"#e8e8ee",background:"ok"===n?"rgba(0,255,136,0.08)":"bad"===n?"rgba(255,80,80,0.08)":"rgba(255,255,255,0.05)",border:`1px solid ${"ok"===n?"rgba(0,255,136,0.3)":"bad"===n?"rgba(255,80,80,0.3)":"rgba(255,255,255,0.12)"}`},children:["ok"===n&&"✓ ",e]})}])},60451,e=>{"use strict";var t=e.i(43476),n=e.i(71645),r=e.i(22016),o=e.i(2776),a=e.i(15812),l=e.i(19821),i=e.i(84278),s=e.i(39160),d=e.i(7214),c=e.i(40996),u=e.i(8819),p=e.i(64745);let f={S:"#FFD700",A:"#9B59B6",B:"#3498DB",C:"#95A5A6",D:"#BDC3C7"},g={warm:["Warm","#ff9f43"],cool:["Cool","#3498DB"],dormant:["Dormant","#8899aa"],never:["Never messaged","#556"]},h={"connections.csv":"first name","messages.csv":"conversation id","invitations.csv":"direction","positions.csv":"company name","shares.csv":"date"},m=e=>e?new Date(e).toLocaleDateString(void 0,{day:"numeric",month:"short",year:"numeric"}):"";function y(){let{userId:e}=(0,a.useUser)(),[o,y]=(0,n.useState)(void 0),[x,b]=(0,n.useState)(null),[w,v]=(0,n.useState)(!1),[S,j]=(0,n.useState)(null),[k,F]=(0,n.useState)(!1),[C,I]=(0,n.useState)(()=>(0,c.scannerNow)()),T=()=>fetch("/api/social").then(e=>e.json()).then(e=>y(e.social||null)).catch(()=>y(null));(0,n.useEffect)(()=>{T()},[]),(0,n.useEffect)(()=>(0,c.watchScanner)(()=>I((0,c.scannerNow)())),[]),(0,n.useEffect)(()=>{if(!e)return;let t=!0;return(0,l.loadNetwork)(e).then(e=>{t&&b(e)}).catch(()=>{}),()=>{t=!1}},[e]);let M=(0,n.useMemo)(()=>{let e=new Map;for(let t of[...x?.degree1||[],...x?.degree2||[]])e.has((0,d.keyFor)(t))||e.set((0,d.keyFor)(t),t);return e},[x]);async function B(e){F(!0),j(null);try{let t={};for(let n of Array.from(e||[])){let e=n.name.toLowerCase();h[e]&&!t[e]&&(t[e]=(0,i.readTable)(await n.text(),h[e]))}if(!Object.keys(t).length)throw Error("That folder doesn’t have LinkedIn’s export files in it (Connections.csv, messages.csv and so on).");let n=t["connections.csv"]||[],r=t["messages.csv"]?(0,i.messageStats)(t["messages.csv"]):{asOf:null,people:new Map},o={};for(let[e,t]of r.people)o[e]={last:t.last,lastFromThem:t.lastFromThem,total:t.total,recent:t.recent};if(w)for(let e of n){let t=e["email address"];if(!t)continue;let n=(0,d.keyFor)({profile_url:e.url});o[n]={...o[n]||{},email:t}}let a=r.asOf||Date.now(),l={asOf:a,people:o,chapters:(0,i.careerChapters)(t["positions.csv"]||[],n,a),posts:t["shares.csv"]?(0,i.postingEffect)(t["shares.csv"],n):null,invites:t["invitations.csv"]?(0,i.invitationSplit)(t["invitations.csv"]):null,emails:w},s=await fetch("/api/social",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(l)});if(!s.ok)throw Error((await s.json().catch(()=>({}))).error||"It couldn’t be saved.");j({good:!0,text:`Read ${Object.keys(t).length} of LinkedIn’s files: ${r.people.size.toLocaleString()} people you’ve messaged one to one.`}),await T()}catch(e){j({good:!1,text:e.message})}finally{F(!1)}}async function N(){j(null);try{let e=await (0,c.runScrape)("messages");j(e?.exitCode===0?{good:!0,text:"Your messages list is read."}:{good:!1,text:"The sync stopped before it finished. The Scan page has the log."}),await T()}catch(e){j({good:!1,text:e.message})}}async function O(e){await fetch("/api/social",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({autoSync:e})}),T()}async function z(){await fetch("/api/social",{method:"DELETE"}),j({good:!0,text:"Forgotten. Nothing from your export or messages is kept here now."}),T()}let{merged:D,asOf:L}=(0,n.useMemo)(()=>(0,s.mergeSocial)(o),[o]),A=(0,n.useMemo)(()=>{let e={warm:0,cool:0,dormant:0,never:0};for(let t of x?.degree1||[])e[(0,i.warmthOf)(D.get((0,d.keyFor)(t)),L)]+=1;return e},[x,D,L]),E=(0,n.useMemo)(()=>{let e={asOf:L,people:new Map([...D].filter(([,e])=>null!=e.lastFromThem))},t=(0,i.repliesWaiting)(e).map(e=>({...e,person:M.get(e.url)}));for(let[e,n]of D)n.unread>0&&!t.some(t=>t.url===e)&&t.push({url:e,unread:n.unread,person:M.get(e)});let n=e=>({S:0,A:1})[e.person?.tier]??2;return t.sort((e,t)=>n(e)-n(t)||(e.days??0)-(t.days??0)).slice(0,15)},[D,L,M]);if(p.IS_DEMO)return(0,t.jsx)("div",{style:{minHeight:"100vh",background:"#0a0a1a",color:"#aaa",padding:40,fontFamily:u.FONT},children:"Not part of the demo."});let $=C?.running,_={padding:"12px 14px",borderRadius:8,border:u.LINE,background:"rgba(255,255,255,0.03)",marginTop:10},W={fontSize:16,margin:"24px 0 6px"};return(0,t.jsxs)("div",{style:{minHeight:"100vh",background:"#0a0a1a",color:"#fff",fontFamily:u.FONT},children:[(0,t.jsxs)("header",{style:{padding:"16px 24px",borderBottom:u.LINE,display:"flex",alignItems:"center",gap:16},children:[(0,t.jsx)(r.default,{href:"/",style:{color:"#888",textDecoration:"none",fontSize:13,fontWeight:600,padding:"6px 14px",borderRadius:6,background:"rgba(255,255,255,0.06)",border:u.LINE},children:"← Back to Map"}),(0,t.jsxs)("h1",{style:{fontSize:22,fontWeight:700,margin:0,color:"#FFD700"},children:["Social ",(0,t.jsx)("span",{style:{fontSize:12,color:"#8b9a9a",fontWeight:600},children:"experimental"})]})]}),(0,t.jsxs)("main",{style:{maxWidth:980,margin:"0 auto",padding:"8px 24px 64px"},children:[(0,t.jsx)(u.Body,{style:{marginTop:16},children:"Who you’re warm with, who’s waiting on a reply, and how each chapter of your career built your network, from your own LinkedIn data. Only dates, who wrote last and counts are kept on this computer, never what a message says."}),(0,t.jsx)("h2",{style:W,children:"Your LinkedIn export"}),(0,t.jsxs)("div",{style:_,children:[(0,t.jsxs)(u.Body,{style:{margin:0},children:["On LinkedIn: ",(0,t.jsx)("i",{children:"Settings → Data privacy → Get a copy of your data"}),", pick the larger archive, and unzip the file it emails you. Then choose that folder here. It’s read in this window; nothing goes to LinkedIn."]}),(0,t.jsxs)("label",{style:{display:"flex",gap:8,alignItems:"flex-start",fontSize:12.5,color:"#b8c4c4",marginTop:10},children:[(0,t.jsx)("input",{type:"checkbox",checked:w,onChange:e=>v(e.target.checked),style:{marginTop:3}}),(0,t.jsx)("span",{children:"Also keep email addresses from it, on this computer only, for one-click email."})]}),(0,t.jsxs)("div",{style:{marginTop:10,display:"flex",gap:10,alignItems:"center",flexWrap:"wrap"},children:[(0,t.jsxs)("label",{style:{padding:"7px 14px",borderRadius:8,background:"rgba(52,152,219,0.18)",color:"#cfe6f7",cursor:k?"default":"pointer",fontSize:13},children:[k?"Reading…":o?"Choose a newer export":"Choose the export folder",(0,t.jsx)("input",{type:"file",webkitdirectory:"",directory:"",multiple:!0,disabled:k,style:{display:"none"},onChange:e=>B(e.target.files)})]}),o&&(0,t.jsxs)("span",{style:{fontSize:12,color:"#8b9a9a"},children:["From an export up to ",m(o.asOf),o.liveAt?` \xb7 messages synced ${m(Date.parse(o.liveAt))}`:""]}),o&&(0,t.jsx)("button",{onClick:z,style:{background:"none",border:"none",color:"#ff9b9b",cursor:"pointer",fontSize:12},children:"Forget it"})]})]}),(0,t.jsxs)("h2",{style:W,children:["Live messages sync ",(0,t.jsx)("span",{style:{fontSize:11,color:"#FFD700"},children:"experimental"})]}),(0,t.jsxs)("div",{style:_,children:[(0,t.jsx)(u.Body,{style:{margin:0},children:"Reads your messages list once, in your own Chrome: who each one-to-one conversation is with, when it was last active and whether it’s unread. It uses no search budget and never opens or keeps a message’s text."}),(0,t.jsxs)("div",{style:{marginTop:10,display:"flex",gap:12,alignItems:"center",flexWrap:"wrap"},children:[(0,t.jsx)("button",{onClick:N,disabled:$,style:{padding:"7px 14px",borderRadius:8,border:"none",background:$?"#333":"rgba(0,255,136,0.15)",color:$?"#777":"#00ff88",cursor:$?"default":"pointer",fontSize:13},children:$?"The scanner is busy":"Sync messages now"}),(0,t.jsxs)("label",{style:{display:"flex",gap:6,alignItems:"center",fontSize:12.5,color:"#b8c4c4"},children:[(0,t.jsx)("input",{type:"checkbox",checked:o?.autoSync===!0,onChange:e=>O(e.target.checked)}),"Once a day while the app is open (daytime only)"]})]})]}),S&&(0,t.jsx)("div",{style:{marginTop:10,fontSize:13,color:S.good?"#00ff88":"#ff9b9b"},children:S.text}),o&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("h2",{style:W,children:"Warmth"}),(0,t.jsx)("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(160px, 1fr))",gap:10},children:Object.entries(g).map(([e,[n,r]])=>(0,t.jsxs)("div",{style:{..._,marginTop:0},children:[(0,t.jsx)("div",{style:{fontSize:22,fontWeight:700,color:r},children:(A[e]||0).toLocaleString()}),(0,t.jsx)("div",{style:{fontSize:12.5,color:"#b8c4c4"},children:n})]},e))}),(0,t.jsx)("div",{style:{fontSize:11.5,color:"#778",marginTop:6},children:"Of your connections. Warm: messaged in the last 30 days, or 3+ messages in 90. Cool: within a year. Dormant: longer ago."}),(0,t.jsx)("h2",{style:W,children:"Waiting on you"}),(0,t.jsxs)("div",{style:{..._,padding:0},children:[0===E.length&&(0,t.jsx)("div",{style:{padding:12,fontSize:13,color:"#8b9a9a"},children:"No one is waiting on a reply."}),E.map(e=>(0,t.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:10,padding:"8px 14px",borderBottom:"1px solid rgba(255,255,255,0.04)",fontSize:13},children:[(0,t.jsx)("span",{style:{width:8,height:8,borderRadius:"50%",background:f[e.person?.tier]||"#556",flexShrink:0}}),(0,t.jsxs)("span",{style:{flex:1,minWidth:0},children:[(0,t.jsx)("b",{children:e.person?.name||String(e.url||"").replace(/\/+$/,"").split("/").pop()}),e.person?.company?(0,t.jsxs)("span",{style:{color:"#8b9a9a"},children:[" · ",e.person.company]}):null]}),(0,t.jsx)("span",{style:{color:"#b8c4c4"},children:e.unread?`${e.unread} unread`:`wrote ${e.days} days before your export`}),(0,t.jsx)("a",{href:e.url,target:"_blank",rel:"noreferrer",style:{color:"#3498DB",textDecoration:"none"},children:"Open ↗"})]},e.url))]}),o.chapters?.length>0&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("h2",{style:W,children:"Career chapters"}),(0,t.jsx)("div",{style:{..._,padding:0},children:o.chapters.map(e=>{let n=(e.people||[]).filter(e=>["warm","cool"].includes((0,i.warmthOf)(D.get((0,d.keyFor)({profile_url:e})),L))).length;return(0,t.jsxs)("div",{style:{display:"flex",gap:10,padding:"8px 14px",borderBottom:"1px solid rgba(255,255,255,0.04)",fontSize:13,alignItems:"baseline"},children:[(0,t.jsxs)("span",{style:{flex:1},children:[(0,t.jsx)("b",{children:e.company})," ",(0,t.jsxs)("span",{style:{color:"#8b9a9a"},children:[e.title," · ",new Date(e.from).getFullYear(),"–",e.to?new Date(e.to).getFullYear():"now"]})]}),(0,t.jsxs)("span",{style:{color:"#b8c4c4"},children:[e.made.toLocaleString()," connections made"]}),(0,t.jsx)("span",{style:{color:"#ff9f43",minWidth:90,textAlign:"right"},children:e.made?`${Math.round(100*n/e.made)}% still in touch`:""})]},`${e.company}-${e.from}`)})})]}),o.posts?.posts?.length>0&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("h2",{style:W,children:"Does posting work?"}),(0,t.jsxs)("div",{style:_,children:[(0,t.jsxs)("div",{style:{fontSize:13},children:["In the week after a post you made ",(0,t.jsx)("b",{children:o.posts.afterPosts.toFixed(1)})," new connections on average; a usual week, ",(0,t.jsx)("b",{children:o.posts.usualWeek.toFixed(1)}),"."]}),(0,t.jsx)("div",{style:{fontSize:11.5,color:"#778",marginTop:4},children:"What came after a post, not proof it came from it."}),[...o.posts.posts].sort((e,t)=>t.week-e.week).slice(0,3).map(e=>(0,t.jsxs)("div",{style:{fontSize:12.5,color:"#b8c4c4",marginTop:6},children:[m(e.t),": ",e.week," new connections that week ",e.link?(0,t.jsx)("a",{href:e.link,target:"_blank",rel:"noreferrer",style:{color:"#3498DB",textDecoration:"none"},children:"Post ↗"}):null]},e.t))]})]}),o.invites?.total>0&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("h2",{style:W,children:"Who reaches out"}),(0,t.jsx)("div",{style:_,children:(0,t.jsxs)("span",{style:{fontSize:13},children:[o.invites.incoming.toLocaleString()," requests came to you and you sent ",o.invites.outgoing.toLocaleString()," ","(",Math.round(100*o.invites.incoming/o.invites.total),"% came to you), as far as your export shows."]})})]})]})]})]})}e.s(["default",0,function(){return(0,t.jsx)(o.default,{children:(0,t.jsx)(y,{})})}])},39160,84278,e=>{"use strict";var t=e.i(7214),n=e.i(7837);function r(e){let t=String(e||"").trim();if(!t)return null;let n=t.match(/^(\d{4})-(\d{2})-(\d{2})[ T](\d{2}):(\d{2})(?::(\d{2}))?(?:\s*UTC)?$/);if(n)return Date.UTC(+n[1],n[2]-1,+n[3],+n[4],+n[5],+(n[6]||0));if(n=t.match(/^(\d{1,2})\/(\d{1,2})\/(\d{2,4}),?\s+(\d{1,2}):(\d{2})\s*(AM|PM)?$/i)){let e=100>+n[3]?2e3+ +n[3]:+n[3],t=n[4]%12;return"PM"===(n[6]||"").toUpperCase()&&(t+=12),Date.UTC(e,n[1]-1,+n[2],t,+n[5])}if(n=t.match(/^([A-Za-z]{3,9})\s+(\d{4})$/)){let e=Date.parse(`1 ${n[1]} ${n[2]} UTC`);return Number.isNaN(e)?null:e}let r=Date.parse(/\d{4}$/.test(t)?`${t} UTC`:t);return Number.isNaN(r)?null:r}let o=e=>(0,t.keyFor)({profile_url:e});function a(e,t){if(!e||!e.total)return"never";let n=t-e.last;return n<=2592e6||e.recent>=3?"warm":n<=31536e6?"cool":"dormant"}e.s(["careerChapters",0,function(e=[],t=[],n=Date.now()){let a=e.map(e=>({company:e["company name"]||"",title:e.title||"",from:r(e["started on"]),to:r(e["finished on"])})).filter(e=>e.company&&null!=e.from).sort((e,t)=>e.from-t.from),l=t.map(e=>({url:o(e.url||e.profile_url),t:r(e["connected on"]||e.connected_on)})).filter(e=>null!=e.t);return a.map(e=>{let t=e.to??n,r=l.filter(n=>n.t>=e.from&&n.t<t);return{...e,to:e.to,made:r.length,people:r.map(e=>e.url)}})},"invitationSplit",0,function(e=[]){let t=0,n=0;for(let r of e){let e=String(r.direction||"").toUpperCase();"INCOMING"===e?t+=1:"OUTGOING"===e&&(n+=1)}return{incoming:t,outgoing:n,total:t+n}},"messageStats",0,function(e=[]){let t=new Map,n=new Map;for(let a of e){let e=o(a["sender profile url"]),l=a["conversation id"];if(!l||!e)continue;let i=String(a["recipient profile urls"]||"").split(/[,;\s]+/).filter(Boolean).map(o),s=r(a.date);if(null==s)continue;t.has(l)||t.set(l,{people:new Set,msgs:[]});let d=t.get(l);d.people.add(e),i.forEach(e=>d.people.add(e)),d.msgs.push({from:e,t:s}),n.has(e)||n.set(e,new Set),n.get(e).add(l)}let a=null;for(let[e,t]of n)(!a||t.size>n.get(a).size)&&(a=e);let l=0,i=new Map;for(let e of t.values()){let t=[...e.people].filter(e=>e!==a);if(1!==t.length||!e.people.has(a))continue;let n=t[0],r=i.get(n)||{last:0,lastFromThem:!1,total:0,times:[]};for(let t of e.msgs)r.total+=1,r.times.push(t.t),t.t>=r.last&&(r.last=t.t,r.lastFromThem=t.from!==a),t.t>l&&(l=t.t);i.set(n,r)}for(let e of i.values())e.recent=e.times.filter(e=>e>l-7776e6).length,delete e.times;return{self:a,asOf:l||null,people:i}},"postingEffect",0,function(e=[],t=[]){let n=e.map(e=>({t:r(e.date),link:e.sharelink||e["share link"]||""})).filter(e=>null!=e.t).sort((e,t)=>e.t-t.t),o=t.map(e=>r(e["connected on"]||e.connected_on)).filter(e=>null!=e).sort((e,t)=>e-t);if(!o.length)return{posts:[],usualWeek:0,afterPosts:0};let a=Math.max(6048e5,o[o.length-1]-o[0]),l=o.length/a*6048e5,i=n.map(e=>({...e,week:o.filter(t=>t>=e.t&&t<e.t+6048e5).length})),s=i.length?i.reduce((e,t)=>e+t.week,0)/i.length:0;return{posts:i,usualWeek:l,afterPosts:s}},"readTable",0,function(e,t){let r=(0,n.parseCsv)(String(e||"")),o=r.findIndex(e=>e.some(e=>e.trim().toLowerCase()===t.toLowerCase()));if(o<0)return[];let a=r[o].map(e=>e.trim().toLowerCase());return r.slice(o+1).filter(e=>e.some(e=>e.trim())).map(e=>Object.fromEntries(a.map((t,n)=>[t,(e[n]??"").trim()])))},"repliesWaiting",0,function(e){let t=[];for(let[n,r]of e.people){let o=e.asOf-r.last;r.lastFromThem&&o>=2592e5&&o<=2592e6&&t.push({url:n,days:Math.round(o/864e5),total:r.total})}return t.sort((e,t)=>e.days-t.days)},"warmthOf",0,a],84278);let l="six-degrees-galaxy-lab",i="six-degrees-galaxy-layouts",s=Object.freeze({on:!1,gravity:0,rings:1,push:15,pull:1,distance:1,dotSize:1,lines:1,sizeBy:"power",names:"key",branch:!0,colourBy:"tier",speed:15,loop:!1,labels:!0}),d=["gravity","rings","push","pull","distance","dotSize","lines","sizeBy","names","branch","colourBy","speed","loop"],c=Object.freeze({gravity:.25,rings:0,push:25,pull:2.5,distance:.35,sizeBy:"reach"}),u=new Set,p=null;function f(){return p||(p=function(){try{let e=JSON.parse(localStorage.getItem(l)||"null");return e&&"object"==typeof e?{...s,...e}:s}catch{return s}}()),p}function g(e){p=null===e?{...s,on:f().on,labels:f().labels}:{...f(),...e};try{localStorage.setItem(l,JSON.stringify(p))}catch{}u.forEach(e=>e())}let h=null,m=new Set;function y(){if(!h){try{h=JSON.parse(localStorage.getItem(i)||"[]")}catch{h=[]}Array.isArray(h)||(h=[])}return h}function x(e){h=e;try{localStorage.setItem(i,JSON.stringify(e))}catch{}m.forEach(e=>e())}let b=new Set,w={at:null,playing:!1,min:null,max:null,of:0,find:"",fly:0,found:0,social:void 0},v=null;function S(e){let t={...w,...e};Object.keys(e).every(e=>Object.is(t[e],w[e]))||(w=t,b.forEach(e=>e()))}function j(){cancelAnimationFrame(v),v=null,S({playing:!1})}let k=null;function F(e){let n=new Map;for(let[r,o]of Object.entries(e?.people||{}))n.set((0,t.keyFor)({profile_url:r}),{...o});for(let[r,o]of Object.entries(e?.live||{})){let e=(0,t.keyFor)({profile_url:r}),a=n.get(e)||{total:0,recent:0};o.last&&(!a.last||o.last>a.last)&&(a.last=o.last),a.unread=o.unread,a.total=Math.max(a.total||0,1),n.set(e,a)}let r=Math.max(e?.asOf||0,e?.liveAt&&Date.parse(e.liveAt)||0);for(let e of n.values())(e.last||0)>r&&(r=e.last);return{merged:n,asOf:r,chapters:e?.chapters||[],posts:e?.posts?.posts||[]}}let C={1:"#4FC3F7",2:"#BA68C8",3:"#FFB74D"},I=["#FF6B6B","#4ECDC4","#FFD93D","#A29BFE","#00B894","#FD79A8","#74B9FF","#E17055"],T={warm:"#FF7043",cool:"#4FC3F7",dormant:"#8D6E63",never:"#546E7A"},M="#4a5568",B=e=>String(e||"").trim().toLowerCase();e.s(["CLUSTERS",0,c,"LAB_DEFAULTS",0,s,"applyLayout",0,function(e){let t=y().find(t=>t.name===e);t&&g(Object.fromEntries(d.filter(e=>e in t.settings).map(e=>[e,t.settings[e]])))},"bornTimes",0,function(e,t){let n=new Map(e.map(e=>[e.id,e])),r=new Map,o=(e,a=0)=>{if(r.has(e.id))return r.get(e.id);let l=-1/0,i=t.get(e.id);if(1===e.degree||null==i||a>6){let t=e.connected_date?Date.parse(e.connected_date):NaN;l=Number.isNaN(t)?-1/0:t}return null!=i&&n.has(i)&&a<=6&&(l=Math.max(l,o(n.get(i),a+1))),r.set(e.id,l),l};return e.map(e=>o(e))},"chapterAt",0,function(e,t){let n=null;for(let r of e?.chapters||[])Number.isFinite(r.from)&&r.from<=t&&(!n||r.from>n.from)&&(n=r);return n&&(!Number.isFinite(n.to)||n.to>t)?n:null},"clockNow",0,()=>w,"colourScheme",0,function(e,n,r,o){if("degree"===e)return{of:e=>C[Math.min(e.degree||1,3)],legend:[["1st",C[1]],["2nd",C[2]],["3rd+",C[3]]]};if("company"===e){let e=new Map;for(let t of n){let n=B(t.company);if(!n)continue;let r=e.get(n)||{name:String(t.company).trim(),n:0};r.n+=1,e.set(n,r)}let t=[...e.entries()].filter(([,e])=>e.n>1).sort((e,t)=>t[1].n-e[1].n).slice(0,I.length),r=new Map(t.map(([e],t)=>[e,I[t]]));return{of:e=>r.get(B(e.company))||M,legend:[...t.map(([,e],t)=>[e.name,I[t]]),["Other",M]]}}return"warmth"===e&&o?{of:e=>1===(e.degree||1)?T[a(o.merged.get((0,t.keyFor)(e)),o.asOf)]:"#2d3748",legend:[["Warm",T.warm],["Cool",T.cool],["Dormant",T.dormant],["Never messaged",T.never]]}:{of:e=>r[e.tier]||"#666",legend:Object.entries(r)}},"effectiveLab",0,e=>e.on?e:e.labels===s.labels?s:{...s,labels:e.labels},"findMatches",0,function(e,t){let n=String(t||"").trim().toLowerCase();if(n.length<2)return null;let r=new Set;for(let t of e)[t.name,t.company,t.role,t.headline].some(e=>e&&String(e).toLowerCase().includes(n))&&r.add(t.id);return r},"forgetLayout",0,function(e){x(y().filter(t=>t.name!==e))},"labNow",0,f,"layoutsNow",0,y,"loadSocial",0,function(){return k||(k=fetch("/api/social").then(e=>e.ok?e.json():{}).then(e=>{S({social:e.social?F(e.social):null})}).catch(()=>S({social:null}))),k},"mergeSocial",0,F,"milestones",0,function(e){let t=[];for(let n of e?.chapters||[])Number.isFinite(n.from)&&t.push({t:n.from,kind:"job",label:n.company});for(let n of e?.posts||[])Number.isFinite(n.t)&&t.push({t:n.t,kind:"post",label:"You posted"});return t.sort((e,t)=>e.t-t.t)},"pause",0,j,"play",0,function e(){if(null==w.min||null==w.max||w.max<=w.min)return;let t=w.max-w.min,n=1e3*Math.max(1,Number(f().speed)||15),r=null==w.at||w.at>=w.max?w.min:w.at,o=performance.now()-(r-w.min)/t*n;S({at:r,playing:!0});let a=r=>{let l=Math.min(w.max,w.min+(r-o)/n*t);if(S({at:l}),l>=w.max){v=null,S({playing:!1}),f().loop&&setTimeout(()=>{v||w.at!==w.max||(S({at:w.min}),e())},1200);return}v=requestAnimationFrame(a)};cancelAnimationFrame(v),v=requestAnimationFrame(a)},"reachCounts",0,function(e,t){let n=new Map(e.map(e=>[e.id,0]));for(let r of e){let e=t.get(r.id);for(let r=0;null!=e&&r<7;r++)n.set(e,(n.get(e)||0)+1),e=t.get(e)}return n},"saveLayout",0,function(e){let t=String(e||"").trim().slice(0,40);if(!t)return;let n=f(),r=Object.fromEntries(d.map(e=>[e,n[e]]));x([...y().filter(e=>e.name!==t),{name:t,settings:r}])},"setClock",0,S,"setLab",0,g,"stopReplay",0,function(){j(),S({at:null})},"watchClock",0,function(e){return b.add(e),()=>b.delete(e)},"watchLab",0,function(e){u.add(e);let t=t=>{t.key===l&&(p=null,e())};return window.addEventListener("storage",t),()=>{u.delete(e),window.removeEventListener("storage",t)}},"watchLayouts",0,function(e){return m.add(e),()=>m.delete(e)}],39160)},19821,e=>{"use strict";async function t(e){let t=e?`/api/network?userId=${encodeURIComponent(e)}`:"/api/network",n=await fetch(t);if(!n.ok)throw Error(`Failed to load network (${n.status})`);let r=await n.json();return{degree1:r.degree1||[],degree2:r.degree2||[],degree3:r.degree3||[],ties:Number(r.ties)||0}}e.s(["loadNetwork",0,t])},36774,e=>{"use strict";let t=/^[A-Za-z0-9_-]+\.(webp|jpg|jpeg|png)$/,n="/avatars/";e.s(["localPhoto",0,function(e){return"string"==typeof e&&e.startsWith(n)&&t.test(e.slice(n.length))?e:null}])},7214,e=>{"use strict";var t=e.i(36774);let n={S:0,A:1,B:2,C:3,D:4};function r(e){let t=parseFloat(e?.power_score);return Number.isFinite(t)?t:0}function o(e){return Math.round(10*r(e))/10}function a(e){return String(e?.profile_url||"").split(/[?#]/)[0].replace(/\/+$/,"")||`id:${e?.id}`}let l=(e,t)=>String(e??"").localeCompare(String(t??""),void 0,{numeric:!0});function i(e,t){return(n[e.tier]??9)-(n[t.tier]??9)||r(t)-r(e)||String(e.name||"").localeCompare(String(t.name||""))||l(e.id,t.id)}function s(e,t){return e.bridge&&t.bridge?i(e.bridge,t.bridge):e.bridge?-1:t.bridge?1:l(e.id,t.id)}function d(e,t){return t.score-e.score||t.waysIn-e.waysIn||s(e.routes[0]||c,t.routes[0]||c)||String(e.person.name||"").localeCompare(String(t.person.name||""))||(e.key<t.key?-1:+(e.key>t.key))}let c={id:null,bridge:null};function u(e){let t=String(e||"").trim().split(/\s+/).filter(Boolean);return t.length<2?t[0]||"":`${t[0]} ${t[t.length-1].charAt(0)}.`}function p(e,t){let n=String(e||"");return t<=1?n?"…":"":n.length>t?`${n.slice(0,t-1)}…`:n}e.s(["TIERS",0,["S","A","B","C","D"],"compareBridges",0,i,"compareWaysIn",0,function(e,t){return t.waysIn-e.waysIn||d(e,t)},"keyFor",0,a,"routeIndex",0,function(e=[]){let t=new Map;for(let n of e||[]){let e=a(n),r=t.get(e);r||(r=new Set,t.set(e,r)),r.add(n.source_connection_id??null)}return t},"routesFor",0,function(e,t,n){return e?[...t?.get(a(e))??(null!=e.source_connection_id?new Set([e.source_connection_id]):new Set)].map(e=>({id:e,bridge:n?.get(e)??null})).sort(s):[]},"score",0,r,"score1",0,o,"separationPeople",0,function(e=[],n=[]){let r=new Map;for(let e of n||[])r.set(e.id,e);let i=new Map,c=new Map;for(let n of e||[]){let e=a(n);c.set(n.id,e);let r=i.get(e);r?function(e,n){let r=o(e)-o(n);if(r)return r>0;let a=!!(0,t.localPhoto)(e.profile_image_url);return!!(0,t.localPhoto)(n.profile_image_url)!==a?a:0>l(e.id,n.id)}(n,r.person)&&(r.person=n):(r={key:e,person:n,rowIds:[],routeIds:new Set},i.set(e,r)),r.rowIds.push(n.id),r.routeIds.add(n.source_connection_id??null)}let u={people:i.size,byTier:{S:0,A:0,B:0,C:0,D:0},multi:0,bridges:0,unresolvedIds:0,peopleOnlyUnresolved:0,onlyUnresolvedVia:0},p=new Set,f=new Set,g=new Set,h=[];for(let e of i.values()){let t=[...e.routeIds].map(e=>({id:e,bridge:r.get(e)??null}));t.sort(s);let n=t.filter(e=>e.bridge);for(let e of t)(e.bridge?p:f).add(e.id);if(!n.length)for(let e of(u.peopleOnlyUnresolved++,t))g.add(e.id);let{person:a}=e,l=a.tier;void 0!==u.byTier[l]&&u.byTier[l]++,t.length>1&&u.multi++,h.push({key:e.key,person:a,score:o(a),tier:l,routes:t,waysIn:t.length,rowIds:e.rowIds,haystack:[a.name,a.headline,a.company,a.role,...n.map(e=>e.bridge.name)].filter(Boolean).join("\n").toLowerCase(),rank:0,tied:!1})}return u.bridges=p.size,u.unresolvedIds=f.size,u.onlyUnresolvedVia=g.size,h.sort(d),function(e){for(let t=0;t<e.length;t++){let n=e[t],r=e[t-1],o=r&&r.score===n.score&&r.waysIn===n.waysIn;n.rank=o?r.rank:t+1,o&&(n.tied=!0,r.tied=!0)}}(h),{people:h,rowToKey:c,summary:u}},"shortName",0,u,"summitLayout",0,function(e=[],t=800,n=!1){let r=n?36:26,o=Math.round(.42*t),a=Math.round(.58*t),l=e.map((e,n)=>{var o;return{key:e.key,p:e,x:a,y:16+n*r,r:(o=e.waysIn)>=4?8.5:3===o?7:2===o?5.5:4,label:p(`#${e.rank}${e.tied?"=":""} ${e.person.name||""}`,Math.floor((t-a-60)/6.2))}}),s=new Map,d="\0unresolved";for(let e of l)for(let t of e.p.routes){let n=t.bridge?t.id:d,r=s.get(n);r||(r={id:t.bridge?t.id:null,bridge:t.bridge,unresolved:!t.bridge,ys:[],count:0},s.set(n,r)),r.count++,r.ys.push(e.y)}let c=[...s.values()].map(e=>({...e,bary:e.ys.reduce((e,t)=>e+t,0)/e.ys.length}));c.sort((e,t)=>e.bary-t.bary||e.unresolved-t.unresolved||(e.bridge&&t.bridge?i(e.bridge,t.bridge):0));let f=l.length?l[l.length-1].y:16,g=c.length>1?Math.max(18,(f-16)/(c.length-1)):0,h=Math.max(4,Math.floor((o-10-42)/6));c.forEach((e,t)=>{if(e.x=o,e.y=1===c.length?(16+f)/2:16+t*g,e.r=5,e.unresolved)e.label=p(`can't be named (${e.count})`,h);else{let t=e.bridge.name||"";e.label=t.length<=h?t:p(u(t),h)}delete e.ys});let m=new Map(c.map(e=>[e.unresolved?d:e.id,e])),y=[];for(let e of l){let t=new Set;e.p.routes.forEach((n,r)=>{let o=n.bridge?n.id:d;if(t.has(o))return;t.add(o);let a=m.get(o);y.push({key:e.key,bridgeId:a.id,primary:0===r&&!a.unresolved,unresolved:a.unresolved,tier:a.bridge?.tier??null,x1:a.x,y1:a.y,x2:e.x,y2:e.y})})}let x=Math.max(f,c.length?c[c.length-1].y:0),b=l.length?Math.ceil(x+16):0,w={x:20,y:l.length?(16+Math.max(f,x))/2:16,r:14},v=c.map(e=>({id:e.id,x1:w.x,y1:w.y,x2:e.x,y2:e.y}));return{width:t,height:b,you:w,people:l,bridges:c,links:y,spokes:v}}])}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,2776,e=>{"use strict";var t=e.i(43476),n=e.i(15812);e.s(["default",0,function({children:e}){let{userId:r,ready:o}=(0,n.useUser)();return o&&r?e:(0,t.jsx)("div",{style:{minHeight:"100vh",display:"flex",alignItems:"center",justifyContent:"center",background:"#0a0a1a",color:"#fff",padding:24,textAlign:"center",fontFamily:'-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif'},children:o?(0,t.jsxs)("div",{style:{maxWidth:420},children:[(0,t.jsx)("div",{style:{fontSize:18,fontWeight:700,marginBottom:8},children:"Can’t reach Six Degrees’ local server"}),(0,t.jsx)("div",{style:{color:"#888",fontSize:14,lineHeight:1.6},children:"The page loaded but the app behind it is not answering. If you started it from a terminal, check that window for an error, then reload this page."})]}):(0,t.jsx)("div",{style:{fontSize:18,fontWeight:600},children:"Loading…"})})}])},28867,86106,e=>{"use strict";var t=e.i(71645),n=e.i(7214);let r=Object.freeze({known:!1,sent:new Set,mine:new Map,version:0}),o=new Set,l=r,i=null,a=new Map;function s(e=l.sent,t=l.known){for(let n of(l=Object.freeze({known:t,sent:e,mine:new Map(a),version:l.version+1}),[...o]))n()}function u(e){return o.add(e),i||l.known||(i=fetch("/api/outreach").then(e=>e.ok?e.json():null).then(e=>{e&&s(new Set((e.pending||[]).map(n.keyFor)),!0)}).catch(()=>{}).finally(()=>{i=null})),()=>o.delete(e)}function c(){return l}async function d(e){let t=await fetch("/api/outreach",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)}),n=await t.json().catch(()=>({}));if(!t.ok)throw Error(n.error||"Could not save that.");return n}async function f(e,{bridgeId:t}={}){let r=(0,n.keyFor)(e),o=a.has(r)?a.get(r):void 0;a.set(r,!0),s();try{return await d({action:"mark-sent",connectionId:e.id,profileUrl:e.profile_url,bridgeId:t})}catch(e){throw void 0===o?a.delete(r):a.set(r,o),s(),e}}async function p(e){let t=(0,n.keyFor)(e),r=a.has(t)?a.get(t):void 0;a.set(t,!1),s();try{return await d({action:"undo",connectionId:e.id,profileUrl:e.profile_url})}catch(e){throw void 0===r?a.delete(t):a.set(t,r),s(),e}}e.s(["REQUESTS_UNKNOWN",0,r,"hasRequest",0,function(e,t=l){if(!e)return!1;let r=(0,n.keyFor)(e);return t.mine.has(r)?t.mine.get(r):t.known?t.sent.has(r):"pending"===e.unlock_status||"sent"===e.outreach_status},"markRequested",0,f,"requestCount",0,function(e=l){let t=new Set(e.known?e.sent:[]);for(let[n,r]of e.mine)r?t.add(n):t.delete(n);return t.size},"requestsNow",0,c,"undoRequest",0,p,"watchRequests",0,u],86106),e.s(["default",0,function(){return(0,t.useSyncExternalStore)(u,c,()=>r)}],28867)},64666,e=>{"use strict";var t=e.i(7214);function n(e=[],r=[]){let o=new Set((r||[]).map(t.keyFor)),l=new Map;for(let n of e||[]){let e=n?.source_connection_id;if(null==e)continue;let r=(0,t.keyFor)(n);if(o.has(r))continue;let i=l.get(r);i||l.set(r,i=new Set),i.add(e)}let i=new Map;for(let e of l.values())for(let t of e){let n=i.get(t)||{reach:0,only:0,total:0};n.reach+=1/e.size,n.total+=1,1===e.size&&(n.only+=1),i.set(t,n)}return i}e.s(["bridgeOverlap",0,function(e=[],r=[]){let o=n(e,r),l=new Set((r||[]).map(t.keyFor)),i=new Map;for(let n of e||[]){let e=n?.source_connection_id;if(null==e)continue;let r=(0,t.keyFor)(n);if(l.has(r))continue;let o=i.get(r);o||i.set(r,o=new Set),o.add(e)}let a=new Map;for(let e of i.values()){if(e.size<2)continue;let t=[...e];for(let e=0;e<t.length;e++)for(let n=e+1;n<t.length;n++){let r=t[e]<t[n]?`${t[e]}|${t[n]}`:`${t[n]}|${t[e]}`;a.set(r,(a.get(r)||0)+1)}}let s=new Map;for(let[e,t]of a){let[n,r]=e.split("|"),l=o.get(n).total+o.get(r).total-t,i=l?t/l:0;for(let[e,o]of[[n,r],[r,n]]){let n=s.get(e);(!n||i>n.share)&&s.set(e,{with:o,share:i,shared:t})}}return s},"exclusiveReach",0,n,"redundancy",0,function(e=[],t=[]){let r=n(e,t),o=0,l=0;for(let e of r.values())o+=e.reach,l+=e.only;return o?1-l/o:0}])},39160,84278,e=>{"use strict";var t=e.i(7214),n=e.i(7837);function r(e){let t=String(e||"").trim();if(!t)return null;let n=t.match(/^(\d{4})-(\d{2})-(\d{2})[ T](\d{2}):(\d{2})(?::(\d{2}))?(?:\s*UTC)?$/);if(n)return Date.UTC(+n[1],n[2]-1,+n[3],+n[4],+n[5],+(n[6]||0));if(n=t.match(/^(\d{1,2})\/(\d{1,2})\/(\d{2,4}),?\s+(\d{1,2}):(\d{2})\s*(AM|PM)?$/i)){let e=100>+n[3]?2e3+ +n[3]:+n[3],t=n[4]%12;return"PM"===(n[6]||"").toUpperCase()&&(t+=12),Date.UTC(e,n[1]-1,+n[2],t,+n[5])}if(n=t.match(/^([A-Za-z]{3,9})\s+(\d{4})$/)){let e=Date.parse(`1 ${n[1]} ${n[2]} UTC`);return Number.isNaN(e)?null:e}let r=Date.parse(/\d{4}$/.test(t)?`${t} UTC`:t);return Number.isNaN(r)?null:r}let o=e=>(0,t.keyFor)({profile_url:e});function l(e,t){if(!e||!e.total)return"never";let n=t-e.last;return n<=2592e6||e.recent>=3?"warm":n<=31536e6?"cool":"dormant"}e.s(["careerChapters",0,function(e=[],t=[],n=Date.now()){let l=e.map(e=>({company:e["company name"]||"",title:e.title||"",from:r(e["started on"]),to:r(e["finished on"])})).filter(e=>e.company&&null!=e.from).sort((e,t)=>e.from-t.from),i=t.map(e=>({url:o(e.url||e.profile_url),t:r(e["connected on"]||e.connected_on)})).filter(e=>null!=e.t);return l.map(e=>{let t=e.to??n,r=i.filter(n=>n.t>=e.from&&n.t<t);return{...e,to:e.to,made:r.length,people:r.map(e=>e.url)}})},"invitationSplit",0,function(e=[]){let t=0,n=0;for(let r of e){let e=String(r.direction||"").toUpperCase();"INCOMING"===e?t+=1:"OUTGOING"===e&&(n+=1)}return{incoming:t,outgoing:n,total:t+n}},"messageStats",0,function(e=[]){let t=new Map,n=new Map;for(let l of e){let e=o(l["sender profile url"]),i=l["conversation id"];if(!i||!e)continue;let a=String(l["recipient profile urls"]||"").split(/[,;\s]+/).filter(Boolean).map(o),s=r(l.date);if(null==s)continue;t.has(i)||t.set(i,{people:new Set,msgs:[]});let u=t.get(i);u.people.add(e),a.forEach(e=>u.people.add(e)),u.msgs.push({from:e,t:s}),n.has(e)||n.set(e,new Set),n.get(e).add(i)}let l=null;for(let[e,t]of n)(!l||t.size>n.get(l).size)&&(l=e);let i=0,a=new Map;for(let e of t.values()){let t=[...e.people].filter(e=>e!==l);if(1!==t.length||!e.people.has(l))continue;let n=t[0],r=a.get(n)||{last:0,lastFromThem:!1,total:0,times:[]};for(let t of e.msgs)r.total+=1,r.times.push(t.t),t.t>=r.last&&(r.last=t.t,r.lastFromThem=t.from!==l),t.t>i&&(i=t.t);a.set(n,r)}for(let e of a.values())e.recent=e.times.filter(e=>e>i-7776e6).length,delete e.times;return{self:l,asOf:i||null,people:a}},"postingEffect",0,function(e=[],t=[]){let n=e.map(e=>({t:r(e.date),link:e.sharelink||e["share link"]||""})).filter(e=>null!=e.t).sort((e,t)=>e.t-t.t),o=t.map(e=>r(e["connected on"]||e.connected_on)).filter(e=>null!=e).sort((e,t)=>e-t);if(!o.length)return{posts:[],usualWeek:0,afterPosts:0};let l=Math.max(6048e5,o[o.length-1]-o[0]),i=o.length/l*6048e5,a=n.map(e=>({...e,week:o.filter(t=>t>=e.t&&t<e.t+6048e5).length})),s=a.length?a.reduce((e,t)=>e+t.week,0)/a.length:0;return{posts:a,usualWeek:i,afterPosts:s}},"readTable",0,function(e,t){let r=(0,n.parseCsv)(String(e||"")),o=r.findIndex(e=>e.some(e=>e.trim().toLowerCase()===t.toLowerCase()));if(o<0)return[];let l=r[o].map(e=>e.trim().toLowerCase());return r.slice(o+1).filter(e=>e.some(e=>e.trim())).map(e=>Object.fromEntries(l.map((t,n)=>[t,(e[n]??"").trim()])))},"repliesWaiting",0,function(e){let t=[];for(let[n,r]of e.people){let o=e.asOf-r.last;r.lastFromThem&&o>=2592e5&&o<=2592e6&&t.push({url:n,days:Math.round(o/864e5),total:r.total})}return t.sort((e,t)=>e.days-t.days)},"warmthOf",0,l],84278);let i="six-degrees-galaxy-lab",a="six-degrees-galaxy-layouts",s=Object.freeze({on:!1,gravity:0,rings:1,push:15,pull:1,distance:1,dotSize:1,lines:1,sizeBy:"power",names:"key",branch:!0,colourBy:"tier",speed:15,loop:!1,labels:!0}),u=["gravity","rings","push","pull","distance","dotSize","lines","sizeBy","names","branch","colourBy","speed","loop"],c=Object.freeze({gravity:.25,rings:0,push:25,pull:2.5,distance:.35,sizeBy:"reach"}),d=new Set,f=null;function p(){return f||(f=function(){try{let e=JSON.parse(localStorage.getItem(i)||"null");return e&&"object"==typeof e?{...s,...e}:s}catch{return s}}()),f}function m(e){f=null===e?{...s,on:p().on,labels:p().labels}:{...p(),...e};try{localStorage.setItem(i,JSON.stringify(f))}catch{}d.forEach(e=>e())}let g=null,h=new Set;function y(){if(!g){try{g=JSON.parse(localStorage.getItem(a)||"[]")}catch{g=[]}Array.isArray(g)||(g=[])}return g}function w(e){g=e;try{localStorage.setItem(a,JSON.stringify(e))}catch{}h.forEach(e=>e())}let b=new Set,S={at:null,playing:!1,min:null,max:null,of:0,find:"",fly:0,found:0,social:void 0},v=null;function k(e){let t={...S,...e};Object.keys(e).every(e=>Object.is(t[e],S[e]))||(S=t,b.forEach(e=>e()))}function M(){cancelAnimationFrame(v),v=null,k({playing:!1})}let F=null;function _(e){let n=new Map;for(let[r,o]of Object.entries(e?.people||{}))n.set((0,t.keyFor)({profile_url:r}),{...o});for(let[r,o]of Object.entries(e?.live||{})){let e=(0,t.keyFor)({profile_url:r}),l=n.get(e)||{total:0,recent:0};o.last&&(!l.last||o.last>l.last)&&(l.last=o.last),l.unread=o.unread,l.total=Math.max(l.total||0,1),n.set(e,l)}let r=Math.max(e?.asOf||0,e?.liveAt&&Date.parse(e.liveAt)||0);for(let e of n.values())(e.last||0)>r&&(r=e.last);return{merged:n,asOf:r,chapters:e?.chapters||[],posts:e?.posts?.posts||[]}}let C={1:"#4FC3F7",2:"#BA68C8",3:"#FFB74D"},x=["#FF6B6B","#4ECDC4","#FFD93D","#A29BFE","#00B894","#FD79A8","#74B9FF","#E17055"],I={warm:"#FF7043",cool:"#4FC3F7",dormant:"#8D6E63",never:"#546E7A"},O="#4a5568",N=e=>String(e||"").trim().toLowerCase();e.s(["CLUSTERS",0,c,"LAB_DEFAULTS",0,s,"applyLayout",0,function(e){let t=y().find(t=>t.name===e);t&&m(Object.fromEntries(u.filter(e=>e in t.settings).map(e=>[e,t.settings[e]])))},"bornTimes",0,function(e,t){let n=new Map(e.map(e=>[e.id,e])),r=new Map,o=(e,l=0)=>{if(r.has(e.id))return r.get(e.id);let i=-1/0,a=t.get(e.id);if(1===e.degree||null==a||l>6){let t=e.connected_date?Date.parse(e.connected_date):NaN;i=Number.isNaN(t)?-1/0:t}return null!=a&&n.has(a)&&l<=6&&(i=Math.max(i,o(n.get(a),l+1))),r.set(e.id,i),i};return e.map(e=>o(e))},"chapterAt",0,function(e,t){let n=null;for(let r of e?.chapters||[])Number.isFinite(r.from)&&r.from<=t&&(!n||r.from>n.from)&&(n=r);return n&&(!Number.isFinite(n.to)||n.to>t)?n:null},"clockNow",0,()=>S,"colourScheme",0,function(e,n,r,o){if("degree"===e)return{of:e=>C[Math.min(e.degree||1,3)],legend:[["1st",C[1]],["2nd",C[2]],["3rd+",C[3]]]};if("company"===e){let e=new Map;for(let t of n){let n=N(t.company);if(!n)continue;let r=e.get(n)||{name:String(t.company).trim(),n:0};r.n+=1,e.set(n,r)}let t=[...e.entries()].filter(([,e])=>e.n>1).sort((e,t)=>t[1].n-e[1].n).slice(0,x.length),r=new Map(t.map(([e],t)=>[e,x[t]]));return{of:e=>r.get(N(e.company))||O,legend:[...t.map(([,e],t)=>[e.name,x[t]]),["Other",O]]}}return"warmth"===e&&o?{of:e=>1===(e.degree||1)?I[l(o.merged.get((0,t.keyFor)(e)),o.asOf)]:"#2d3748",legend:[["Warm",I.warm],["Cool",I.cool],["Dormant",I.dormant],["Never messaged",I.never]]}:{of:e=>r[e.tier]||"#666",legend:Object.entries(r)}},"effectiveLab",0,e=>e.on?e:e.labels===s.labels?s:{...s,labels:e.labels},"findMatches",0,function(e,t){let n=String(t||"").trim().toLowerCase();if(n.length<2)return null;let r=new Set;for(let t of e)[t.name,t.company,t.role,t.headline].some(e=>e&&String(e).toLowerCase().includes(n))&&r.add(t.id);return r},"forgetLayout",0,function(e){w(y().filter(t=>t.name!==e))},"labNow",0,p,"layoutsNow",0,y,"loadSocial",0,function(){return F||(F=fetch("/api/social").then(e=>e.ok?e.json():{}).then(e=>{k({social:e.social?_(e.social):null})}).catch(()=>k({social:null}))),F},"mergeSocial",0,_,"milestones",0,function(e){let t=[];for(let n of e?.chapters||[])Number.isFinite(n.from)&&t.push({t:n.from,kind:"job",label:n.company});for(let n of e?.posts||[])Number.isFinite(n.t)&&t.push({t:n.t,kind:"post",label:"You posted"});return t.sort((e,t)=>e.t-t.t)},"pause",0,M,"play",0,function e(){if(null==S.min||null==S.max||S.max<=S.min)return;let t=S.max-S.min,n=1e3*Math.max(1,Number(p().speed)||15),r=null==S.at||S.at>=S.max?S.min:S.at,o=performance.now()-(r-S.min)/t*n;k({at:r,playing:!0});let l=r=>{let i=Math.min(S.max,S.min+(r-o)/n*t);if(k({at:i}),i>=S.max){v=null,k({playing:!1}),p().loop&&setTimeout(()=>{v||S.at!==S.max||(k({at:S.min}),e())},1200);return}v=requestAnimationFrame(l)};cancelAnimationFrame(v),v=requestAnimationFrame(l)},"reachCounts",0,function(e,t){let n=new Map(e.map(e=>[e.id,0]));for(let r of e){let e=t.get(r.id);for(let r=0;null!=e&&r<7;r++)n.set(e,(n.get(e)||0)+1),e=t.get(e)}return n},"saveLayout",0,function(e){let t=String(e||"").trim().slice(0,40);if(!t)return;let n=p(),r=Object.fromEntries(u.map(e=>[e,n[e]]));w([...y().filter(e=>e.name!==t),{name:t,settings:r}])},"setClock",0,k,"setLab",0,m,"stopReplay",0,function(){M(),k({at:null})},"watchClock",0,function(e){return b.add(e),()=>b.delete(e)},"watchLab",0,function(e){d.add(e);let t=t=>{t.key===i&&(f=null,e())};return window.addEventListener("storage",t),()=>{d.delete(e),window.removeEventListener("storage",t)}},"watchLayouts",0,function(e){return h.add(e),()=>h.delete(e)}],39160)},19821,e=>{"use strict";async function t(e){let t=e?`/api/network?userId=${encodeURIComponent(e)}`:"/api/network",n=await fetch(t);if(!n.ok)throw Error(`Failed to load network (${n.status})`);let r=await n.json();return{degree1:r.degree1||[],degree2:r.degree2||[],degree3:r.degree3||[],ties:Number(r.ties)||0}}e.s(["loadNetwork",0,t])},36774,e=>{"use strict";let t=/^[A-Za-z0-9_-]+\.(webp|jpg|jpeg|png)$/,n="/avatars/";e.s(["localPhoto",0,function(e){return"string"==typeof e&&e.startsWith(n)&&t.test(e.slice(n.length))?e:null}])},48235,e=>{"use strict";var t=e.i(7214);function n(e,n){return e?n.scanned.has(e.id)||e.profile_url&&n.read?.has((0,t.keyFor)(e))?"scanned":e.profile_url&&n.hidden.has((0,t.keyFor)(e))?"hidden":"todo":"todo"}function r(e,t){if(!e||1!==e.degree||null==e.unlocked_from_bridge_id)return null;let r=n(e,t);return"todo"===r?"ready":r}e.s(["circleScanCost",0,function(e=100){let t=Math.max(1,Math.min(100,Math.round(e)||100));return{profileViews:1,searches:t,minutes:t>=100?55:Math.max(5,Math.round(.55*t))}},"circleState",0,n,"reachIndex",0,function(e=[],n=[],r={}){let o=new Set;for(let e of n||[])e?.source_connection_id!=null&&o.add(e.source_connection_id);let l=new Set;for(let e of r?.skips||[])e?.profileUrl&&l.add((0,t.keyFor)({profile_url:e.profileUrl}));let i=new Set;for(let e of r?.read||[])e&&i.add((0,t.keyFor)({profile_url:e}));let a=new Map;for(let[e,n]of Object.entries(r?.lists||{}))e&&n&&a.set((0,t.keyFor)({profile_url:e}),n);let s=new Map;for(let t of e||[]){let e=t?.unlocked_from_bridge_id;if(null==e||1!==t.degree)continue;let n=s.get(e);n||s.set(e,n=[]),n.push(t)}return{scanned:o,read:i,hidden:l,reachedFrom:s,lists:a}},"reachState",0,r,"readyByCircle",0,function(e){let t=new Map;for(let[n,o]of e.reachedFrom){let l=o.filter(t=>"ready"===r(t,e)).length;l&&t.set(n,l)}return t},"readyToScan",0,function(e,n){return(e||[]).filter(e=>"ready"===r(e,n)).sort(t.compareBridges)},"scanBars",0,function(e,r){let o=n(e,r),l=e?.profile_url?r.lists?.get((0,t.keyFor)(e)):null;return"hidden"===o?null:l?l.more?l.total?Math.max(1,Math.min(4,Math.round(5*Math.min(1,10*l.pages/l.total)))):2:5:"scanned"===o?2:null}])},7214,e=>{"use strict";var t=e.i(36774);let n={S:0,A:1,B:2,C:3,D:4};function r(e){let t=parseFloat(e?.power_score);return Number.isFinite(t)?t:0}function o(e){return Math.round(10*r(e))/10}function l(e){return String(e?.profile_url||"").split(/[?#]/)[0].replace(/\/+$/,"")||`id:${e?.id}`}let i=(e,t)=>String(e??"").localeCompare(String(t??""),void 0,{numeric:!0});function a(e,t){return(n[e.tier]??9)-(n[t.tier]??9)||r(t)-r(e)||String(e.name||"").localeCompare(String(t.name||""))||i(e.id,t.id)}function s(e,t){return e.bridge&&t.bridge?a(e.bridge,t.bridge):e.bridge?-1:t.bridge?1:i(e.id,t.id)}function u(e,t){return t.score-e.score||t.waysIn-e.waysIn||s(e.routes[0]||c,t.routes[0]||c)||String(e.person.name||"").localeCompare(String(t.person.name||""))||(e.key<t.key?-1:+(e.key>t.key))}let c={id:null,bridge:null};function d(e){let t=String(e||"").trim().split(/\s+/).filter(Boolean);return t.length<2?t[0]||"":`${t[0]} ${t[t.length-1].charAt(0)}.`}function f(e,t){let n=String(e||"");return t<=1?n?"…":"":n.length>t?`${n.slice(0,t-1)}…`:n}e.s(["TIERS",0,["S","A","B","C","D"],"compareBridges",0,a,"compareWaysIn",0,function(e,t){return t.waysIn-e.waysIn||u(e,t)},"keyFor",0,l,"routeIndex",0,function(e=[]){let t=new Map;for(let n of e||[]){let e=l(n),r=t.get(e);r||(r=new Set,t.set(e,r)),r.add(n.source_connection_id??null)}return t},"routesFor",0,function(e,t,n){return e?[...t?.get(l(e))??(null!=e.source_connection_id?new Set([e.source_connection_id]):new Set)].map(e=>({id:e,bridge:n?.get(e)??null})).sort(s):[]},"score",0,r,"score1",0,o,"separationPeople",0,function(e=[],n=[]){let r=new Map;for(let e of n||[])r.set(e.id,e);let a=new Map,c=new Map;for(let n of e||[]){let e=l(n);c.set(n.id,e);let r=a.get(e);r?function(e,n){let r=o(e)-o(n);if(r)return r>0;let l=!!(0,t.localPhoto)(e.profile_image_url);return!!(0,t.localPhoto)(n.profile_image_url)!==l?l:0>i(e.id,n.id)}(n,r.person)&&(r.person=n):(r={key:e,person:n,rowIds:[],routeIds:new Set},a.set(e,r)),r.rowIds.push(n.id),r.routeIds.add(n.source_connection_id??null)}let d={people:a.size,byTier:{S:0,A:0,B:0,C:0,D:0},multi:0,bridges:0,unresolvedIds:0,peopleOnlyUnresolved:0,onlyUnresolvedVia:0},f=new Set,p=new Set,m=new Set,g=[];for(let e of a.values()){let t=[...e.routeIds].map(e=>({id:e,bridge:r.get(e)??null}));t.sort(s);let n=t.filter(e=>e.bridge);for(let e of t)(e.bridge?f:p).add(e.id);if(!n.length)for(let e of(d.peopleOnlyUnresolved++,t))m.add(e.id);let{person:l}=e,i=l.tier;void 0!==d.byTier[i]&&d.byTier[i]++,t.length>1&&d.multi++,g.push({key:e.key,person:l,score:o(l),tier:i,routes:t,waysIn:t.length,rowIds:e.rowIds,haystack:[l.name,l.headline,l.company,l.role,...n.map(e=>e.bridge.name)].filter(Boolean).join("\n").toLowerCase(),rank:0,tied:!1})}return d.bridges=f.size,d.unresolvedIds=p.size,d.onlyUnresolvedVia=m.size,g.sort(u),function(e){for(let t=0;t<e.length;t++){let n=e[t],r=e[t-1],o=r&&r.score===n.score&&r.waysIn===n.waysIn;n.rank=o?r.rank:t+1,o&&(n.tied=!0,r.tied=!0)}}(g),{people:g,rowToKey:c,summary:d}},"shortName",0,d,"summitLayout",0,function(e=[],t=800,n=!1){let r=n?36:26,o=Math.round(.42*t),l=Math.round(.58*t),i=e.map((e,n)=>{var o;return{key:e.key,p:e,x:l,y:16+n*r,r:(o=e.waysIn)>=4?8.5:3===o?7:2===o?5.5:4,label:f(`#${e.rank}${e.tied?"=":""} ${e.person.name||""}`,Math.floor((t-l-60)/6.2))}}),s=new Map,u="\0unresolved";for(let e of i)for(let t of e.p.routes){let n=t.bridge?t.id:u,r=s.get(n);r||(r={id:t.bridge?t.id:null,bridge:t.bridge,unresolved:!t.bridge,ys:[],count:0},s.set(n,r)),r.count++,r.ys.push(e.y)}let c=[...s.values()].map(e=>({...e,bary:e.ys.reduce((e,t)=>e+t,0)/e.ys.length}));c.sort((e,t)=>e.bary-t.bary||e.unresolved-t.unresolved||(e.bridge&&t.bridge?a(e.bridge,t.bridge):0));let p=i.length?i[i.length-1].y:16,m=c.length>1?Math.max(18,(p-16)/(c.length-1)):0,g=Math.max(4,Math.floor((o-10-42)/6));c.forEach((e,t)=>{if(e.x=o,e.y=1===c.length?(16+p)/2:16+t*m,e.r=5,e.unresolved)e.label=f(`can't be named (${e.count})`,g);else{let t=e.bridge.name||"";e.label=t.length<=g?t:f(d(t),g)}delete e.ys});let h=new Map(c.map(e=>[e.unresolved?u:e.id,e])),y=[];for(let e of i){let t=new Set;e.p.routes.forEach((n,r)=>{let o=n.bridge?n.id:u;if(t.has(o))return;t.add(o);let l=h.get(o);y.push({key:e.key,bridgeId:l.id,primary:0===r&&!l.unresolved,unresolved:l.unresolved,tier:l.bridge?.tier??null,x1:l.x,y1:l.y,x2:e.x,y2:e.y})})}let w=Math.max(p,c.length?c[c.length-1].y:0),b=i.length?Math.ceil(w+16):0,S={x:20,y:i.length?(16+Math.max(p,w))/2:16,r:14},v=c.map(e=>({id:e.id,x1:S.x,y1:S.y,x2:e.x,y2:e.y}));return{width:t,height:b,you:S,people:i,bridges:c,links:y,spokes:v}}])},5258,e=>{"use strict";e.s(["TIER_COLORS",0,{S:"#f6c344",A:"#a78bfa",B:"#60a5fa",C:"#94a3b8",D:"#6b7280"},"TIER_COLORS_CLASSIC",0,{S:"#FFD700",A:"#9B59B6",B:"#3498DB",C:"#95A5A6",D:"#BDC3C7"},"TIER_ORDER",0,["S","A","B","C","D"],"TIER_RING_RADIUS",0,{S:150,A:230,B:310,C:390,D:470},"initialsFor",0,function(e){let t=String(e||"").trim().split(/\s+/).filter(Boolean);return 0===t.length?"?":(t[0].charAt(0)+(t.length>1?t[t.length-1].charAt(0):"")).toUpperCase()}])},18566,(e,t,n)=>{t.exports=e.r(76562)}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,30215,t=>{"use strict";var n=t.i(71645),e=t.i(40996);t.s(["default",0,function(){return(0,n.useSyncExternalStore)(e.watchScanner,e.scannerNow,()=>e.SCANNER_UNKNOWN)}])},36534,t=>{"use strict";var n=t.i(50768),e=t.i(23731),r=t.i(49260);function i(t){return t.x+t.vx}function o(t){return t.y+t.vy}t.s(["forceCollide",0,function(t){var a,u,s,l=1,f=1;function c(){for(var t,e,c,p,d,v,y,g=a.length,_=0;_<f;++_)for(e=(0,n.quadtree)(a,i,o).visitAfter(h),t=0;t<g;++t)y=(v=u[(c=a[t]).index])*v,p=c.x+c.vx,d=c.y+c.vy,e.visit(m);function m(t,n,e,i,o){var a=t.data,u=t.r,f=v+u;if(a){if(a.index>c.index){var h=p-a.x-a.vx,g=d-a.y-a.vy,_=h*h+g*g;_<f*f&&(0===h&&(_+=(h=(0,r.default)(s))*h),0===g&&(_+=(g=(0,r.default)(s))*g),_=(f-(_=Math.sqrt(_)))/_*l,c.vx+=(h*=_)*(f=(u*=u)/(y+u)),c.vy+=(g*=_)*f,a.vx-=h*(f=1-f),a.vy-=g*f)}return}return n>p+f||i<p-f||e>d+f||o<d-f}}function h(t){if(t.data)return t.r=u[t.data.index];for(var n=t.r=0;n<4;++n)t[n]&&t[n].r>t.r&&(t.r=t[n].r)}function p(){if(a){var n,e,r=a.length;for(u=Array(r),n=0;n<r;++n)u[(e=a[n]).index]=+t(e,n,a)}}return"function"!=typeof t&&(t=(0,e.default)(null==t?1:+t)),c.initialize=function(t,n){a=t,s=n,p()},c.iterations=function(t){return arguments.length?(f=+t,c):f},c.strength=function(t){return arguments.length?(l=+t,c):l},c.radius=function(n){return arguments.length?(t="function"==typeof n?n:(0,e.default)(+n),p(),c):t},c}],36534)},23731,49260,t=>{"use strict";t.s(["default",0,function(t){return function(){return t}}],23731),t.s(["default",0,function(t){return(t()-.5)*1e-6}],49260)},77899,t=>{"use strict";var n=t.i(23731),e=t.i(49260);function r(t){return t.index}function i(t,n){var e=t.get(n);if(!e)throw Error("node not found: "+n);return e}t.s(["forceLink",0,function(t){var o,a,u,s,l,f,c=r,h=function(t){return 1/Math.min(s[t.source.index],s[t.target.index])},p=(0,n.default)(30),d=1;function v(n){for(var r=0,i=t.length;r<d;++r)for(var u,s,c,h,p,v,y,g=0;g<i;++g)s=(u=t[g]).source,v=((v=Math.sqrt((h=(c=u.target).x+c.vx-s.x-s.vx||(0,e.default)(f))*h+(p=c.y+c.vy-s.y-s.vy||(0,e.default)(f))*p))-a[g])/v*n*o[g],h*=v,p*=v,c.vx-=h*(y=l[g]),c.vy-=p*y,s.vx+=h*(y=1-y),s.vy+=p*y}function y(){if(u){var n,e,r=u.length,f=t.length,h=new Map(u.map((t,n)=>[c(t,n,u),t]));for(n=0,s=Array(r);n<f;++n)(e=t[n]).index=n,"object"!=typeof e.source&&(e.source=i(h,e.source)),"object"!=typeof e.target&&(e.target=i(h,e.target)),s[e.source.index]=(s[e.source.index]||0)+1,s[e.target.index]=(s[e.target.index]||0)+1;for(n=0,l=Array(f);n<f;++n)e=t[n],l[n]=s[e.source.index]/(s[e.source.index]+s[e.target.index]);o=Array(f),g(),a=Array(f),_()}}function g(){if(u)for(var n=0,e=t.length;n<e;++n)o[n]=+h(t[n],n,t)}function _(){if(u)for(var n=0,e=t.length;n<e;++n)a[n]=+p(t[n],n,t)}return null==t&&(t=[]),v.initialize=function(t,n){u=t,f=n,y()},v.links=function(n){return arguments.length?(t=n,y(),v):t},v.id=function(t){return arguments.length?(c=t,v):c},v.iterations=function(t){return arguments.length?(d=+t,v):d},v.strength=function(t){return arguments.length?(h="function"==typeof t?t:(0,n.default)(+t),g(),v):h},v.distance=function(t){return arguments.length?(p="function"==typeof t?t:(0,n.default)(+t),_(),v):p},v}],77899)},17983,t=>{"use strict";var n=t.i(50768),e=t.i(23731),r=t.i(49260),i=t.i(909);t.s(["forceManyBody",0,function(){var t,o,a,u,s,l=(0,e.default)(-30),f=1,c=1/0,h=.81;function p(e){var r,a=t.length,s=(0,n.quadtree)(t,i.x,i.y).visitAfter(v);for(u=e,r=0;r<a;++r)o=t[r],s.visit(y)}function d(){if(t){var n,e,r=t.length;for(s=Array(r),n=0;n<r;++n)s[(e=t[n]).index]=+l(e,n,t)}}function v(t){var n,e,r,i,o,a=0,u=0;if(t.length){for(r=i=o=0;o<4;++o)(n=t[o])&&(e=Math.abs(n.value))&&(a+=n.value,u+=e,r+=e*n.x,i+=e*n.y);t.x=r/u,t.y=i/u}else{(n=t).x=n.data.x,n.y=n.data.y;do a+=s[n.data.index];while(n=n.next)}t.value=a}function y(t,n,e,i){if(!t.value)return!0;var l=t.x-o.x,p=t.y-o.y,d=i-n,v=l*l+p*p;if(d*d/h<v)return v<c&&(0===l&&(v+=(l=(0,r.default)(a))*l),0===p&&(v+=(p=(0,r.default)(a))*p),v<f&&(v=Math.sqrt(f*v)),o.vx+=l*t.value*u/v,o.vy+=p*t.value*u/v),!0;if(!t.length&&!(v>=c)){(t.data!==o||t.next)&&(0===l&&(v+=(l=(0,r.default)(a))*l),0===p&&(v+=(p=(0,r.default)(a))*p),v<f&&(v=Math.sqrt(f*v)));do t.data!==o&&(d=s[t.data.index]*u/v,o.vx+=l*d,o.vy+=p*d);while(t=t.next)}}return p.initialize=function(n,e){t=n,a=e,d()},p.strength=function(t){return arguments.length?(l="function"==typeof t?t:(0,e.default)(+t),d(),p):l},p.distanceMin=function(t){return arguments.length?(f=t*t,p):Math.sqrt(f)},p.distanceMax=function(t){return arguments.length?(c=t*t,p):Math.sqrt(c)},p.theta=function(t){return arguments.length?(h=t*t,p):Math.sqrt(h)},p}],17983)},909,t=>{"use strict";var n=t.i(91889),e=t.i(60208),r=Math.PI*(3-Math.sqrt(5));t.s(["default",0,function(t){let i;var o,a=1,u=.001,s=1-Math.pow(.001,1/300),l=0,f=.6,c=new Map,h=(0,e.timer)(v),p=(0,n.dispatch)("tick","end"),d=(i=1,()=>(i=(1664525*i+0x3c6ef35f)%0x100000000)/0x100000000);function v(){y(),p.call("tick",o),a<u&&(h.stop(),p.call("end",o))}function y(n){var e,r,i=t.length;void 0===n&&(n=1);for(var u=0;u<n;++u)for(a+=(l-a)*s,c.forEach(function(t){t(a)}),e=0;e<i;++e)null==(r=t[e]).fx?r.x+=r.vx*=f:(r.x=r.fx,r.vx=0),null==r.fy?r.y+=r.vy*=f:(r.y=r.fy,r.vy=0);return o}function g(){for(var n,e=0,i=t.length;e<i;++e){if((n=t[e]).index=e,null!=n.fx&&(n.x=n.fx),null!=n.fy&&(n.y=n.fy),isNaN(n.x)||isNaN(n.y)){var o=10*Math.sqrt(.5+e),a=e*r;n.x=o*Math.cos(a),n.y=o*Math.sin(a)}(isNaN(n.vx)||isNaN(n.vy))&&(n.vx=n.vy=0)}}function _(n){return n.initialize&&n.initialize(t,d),n}return null==t&&(t=[]),g(),o={tick:y,restart:function(){return h.restart(v),o},stop:function(){return h.stop(),o},nodes:function(n){return arguments.length?(t=n,g(),c.forEach(_),o):t},alpha:function(t){return arguments.length?(a=+t,o):a},alphaMin:function(t){return arguments.length?(u=+t,o):u},alphaDecay:function(t){return arguments.length?(s=+t,o):+s},alphaTarget:function(t){return arguments.length?(l=+t,o):l},velocityDecay:function(t){return arguments.length?(f=1-t,o):1-f},randomSource:function(t){return arguments.length?(d=t,c.forEach(_),o):d},force:function(t,n){return arguments.length>1?(null==n?c.delete(t):c.set(t,_(n)),o):c.get(t)},find:function(n,e,r){var i,o,a,u,s,l=0,f=t.length;for(null==r?r=1/0:r*=r,l=0;l<f;++l)(a=(i=n-(u=t[l]).x)*i+(o=e-u.y)*o)<r&&(s=u,r=a);return s},on:function(t,n){return arguments.length>1?(p.on(t,n),o):p.on(t)}}},"x",0,function(t){return t.x},"y",0,function(t){return t.y}],909)},43079,t=>{"use strict";var n=t.i(909);t.s(["forceSimulation",()=>n.default])},52048,47560,t=>{"use strict";var n=t.i(23731);t.s(["forceX",0,function(t){var e,r,i,o=(0,n.default)(.1);function a(t){for(var n,o=0,a=e.length;o<a;++o)n=e[o],n.vx+=(i[o]-n.x)*r[o]*t}function u(){if(e){var n,a=e.length;for(r=Array(a),i=Array(a),n=0;n<a;++n)r[n]=isNaN(i[n]=+t(e[n],n,e))?0:+o(e[n],n,e)}}return"function"!=typeof t&&(t=(0,n.default)(null==t?0:+t)),a.initialize=function(t){e=t,u()},a.strength=function(t){return arguments.length?(o="function"==typeof t?t:(0,n.default)(+t),u(),a):o},a.x=function(e){return arguments.length?(t="function"==typeof e?e:(0,n.default)(+e),u(),a):t},a}],52048),t.s(["forceY",0,function(t){var e,r,i,o=(0,n.default)(.1);function a(t){for(var n,o=0,a=e.length;o<a;++o)n=e[o],n.vy+=(i[o]-n.y)*r[o]*t}function u(){if(e){var n,a=e.length;for(r=Array(a),i=Array(a),n=0;n<a;++n)r[n]=isNaN(i[n]=+t(e[n],n,e))?0:+o(e[n],n,e)}}return"function"!=typeof t&&(t=(0,n.default)(null==t?0:+t)),a.initialize=function(t){e=t,u()},a.strength=function(t){return arguments.length?(o="function"==typeof t?t:(0,n.default)(+t),u(),a):o},a.y=function(e){return arguments.length?(t="function"==typeof e?e:(0,n.default)(+e),u(),a):t},a}],47560)},50768,t=>{"use strict";function n(t,n,e,r){if(isNaN(n)||isNaN(e))return t;var i,o,a,u,s,l,f,c,h,p=t._root,d={data:r},v=t._x0,y=t._y0,g=t._x1,_=t._y1;if(!p)return t._root=d,t;for(;p.length;)if((l=n>=(o=(v+g)/2))?v=o:g=o,(f=e>=(a=(y+_)/2))?y=a:_=a,i=p,!(p=p[c=f<<1|l]))return i[c]=d,t;if(u=+t._x.call(null,p.data),s=+t._y.call(null,p.data),n===u&&e===s)return d.next=p,i?i[c]=d:t._root=d,t;do i=i?i[c]=[,,,,]:t._root=[,,,,],(l=n>=(o=(v+g)/2))?v=o:g=o,(f=e>=(a=(y+_)/2))?y=a:_=a;while((c=f<<1|l)==(h=(s>=a)<<1|u>=o))return i[h]=p,i[c]=d,t}function e(t,n,e,r,i){this.node=t,this.x0=n,this.y0=e,this.x1=r,this.y1=i}function r(t){return t[0]}function i(t){return t[1]}function o(t,n,e){var o=new a(null==n?r:n,null==e?i:e,NaN,NaN,NaN,NaN);return null==t?o:o.addAll(t)}function a(t,n,e,r,i,o){this._x=t,this._y=n,this._x0=e,this._y0=r,this._x1=i,this._y1=o,this._root=void 0}function u(t){for(var n={data:t.data},e=n;t=t.next;)e=e.next={data:t.data};return n}var s=o.prototype=a.prototype;s.copy=function(){var t,n,e=new a(this._x,this._y,this._x0,this._y0,this._x1,this._y1),r=this._root;if(!r)return e;if(!r.length)return e._root=u(r),e;for(t=[{source:r,target:e._root=[,,,,]}];r=t.pop();)for(var i=0;i<4;++i)(n=r.source[i])&&(n.length?t.push({source:n,target:r.target[i]=[,,,,]}):r.target[i]=u(n));return e},s.add=function(t){let e=+this._x.call(null,t),r=+this._y.call(null,t);return n(this.cover(e,r),e,r,t)},s.addAll=function(t){var e,r,i,o,a=t.length,u=Array(a),s=Array(a),l=1/0,f=1/0,c=-1/0,h=-1/0;for(r=0;r<a;++r)!(isNaN(i=+this._x.call(null,e=t[r]))||isNaN(o=+this._y.call(null,e)))&&(u[r]=i,s[r]=o,i<l&&(l=i),i>c&&(c=i),o<f&&(f=o),o>h&&(h=o));if(l>c||f>h)return this;for(this.cover(l,f).cover(c,h),r=0;r<a;++r)n(this,u[r],s[r],t[r]);return this},s.cover=function(t,n){if(isNaN(t*=1)||isNaN(n*=1))return this;var e=this._x0,r=this._y0,i=this._x1,o=this._y1;if(isNaN(e))i=(e=Math.floor(t))+1,o=(r=Math.floor(n))+1;else{for(var a,u,s=i-e||1,l=this._root;e>t||t>=i||r>n||n>=o;)switch(u=(n<r)<<1|t<e,(a=[,,,,])[u]=l,l=a,s*=2,u){case 0:i=e+s,o=r+s;break;case 1:e=i-s,o=r+s;break;case 2:i=e+s,r=o-s;break;case 3:e=i-s,r=o-s}this._root&&this._root.length&&(this._root=l)}return this._x0=e,this._y0=r,this._x1=i,this._y1=o,this},s.data=function(){var t=[];return this.visit(function(n){if(!n.length)do t.push(n.data);while(n=n.next)}),t},s.extent=function(t){return arguments.length?this.cover(+t[0][0],+t[0][1]).cover(+t[1][0],+t[1][1]):isNaN(this._x0)?void 0:[[this._x0,this._y0],[this._x1,this._y1]]},s.find=function(t,n,r){var i,o,a,u,s,l,f,c=this._x0,h=this._y0,p=this._x1,d=this._y1,v=[],y=this._root;for(y&&v.push(new e(y,c,h,p,d)),null==r?r=1/0:(c=t-r,h=n-r,p=t+r,d=n+r,r*=r);l=v.pop();)if((y=l.node)&&!((o=l.x0)>p)&&!((a=l.y0)>d)&&!((u=l.x1)<c)&&!((s=l.y1)<h))if(y.length){var g=(o+u)/2,_=(a+s)/2;v.push(new e(y[3],g,_,u,s),new e(y[2],o,_,g,s),new e(y[1],g,a,u,_),new e(y[0],o,a,g,_)),(f=(n>=_)<<1|t>=g)&&(l=v[v.length-1],v[v.length-1]=v[v.length-1-f],v[v.length-1-f]=l)}else{var m=t-this._x.call(null,y.data),x=n-this._y.call(null,y.data),w=m*m+x*x;if(w<r){var b=Math.sqrt(r=w);c=t-b,h=n-b,p=t+b,d=n+b,i=y.data}}return i},s.remove=function(t){if(isNaN(o=+this._x.call(null,t))||isNaN(a=+this._y.call(null,t)))return this;var n,e,r,i,o,a,u,s,l,f,c,h,p=this._root,d=this._x0,v=this._y0,y=this._x1,g=this._y1;if(!p)return this;if(p.length)for(;;){if((l=o>=(u=(d+y)/2))?d=u:y=u,(f=a>=(s=(v+g)/2))?v=s:g=s,n=p,!(p=p[c=f<<1|l]))return this;if(!p.length)break;(n[c+1&3]||n[c+2&3]||n[c+3&3])&&(e=n,h=c)}for(;p.data!==t;)if(r=p,!(p=p.next))return this;return((i=p.next)&&delete p.next,r)?i?r.next=i:delete r.next:n?(i?n[c]=i:delete n[c],(p=n[0]||n[1]||n[2]||n[3])&&p===(n[3]||n[2]||n[1]||n[0])&&!p.length&&(e?e[h]=p:this._root=p)):this._root=i,this},s.removeAll=function(t){for(var n=0,e=t.length;n<e;++n)this.remove(t[n]);return this},s.root=function(){return this._root},s.size=function(){var t=0;return this.visit(function(n){if(!n.length)do++t;while(n=n.next)}),t},s.visit=function(t){var n,r,i,o,a,u,s=[],l=this._root;for(l&&s.push(new e(l,this._x0,this._y0,this._x1,this._y1));n=s.pop();)if(!t(l=n.node,i=n.x0,o=n.y0,a=n.x1,u=n.y1)&&l.length){var f=(i+a)/2,c=(o+u)/2;(r=l[3])&&s.push(new e(r,f,c,a,u)),(r=l[2])&&s.push(new e(r,i,c,f,u)),(r=l[1])&&s.push(new e(r,f,o,a,c)),(r=l[0])&&s.push(new e(r,i,o,f,c))}return this},s.visitAfter=function(t){var n,r=[],i=[];for(this._root&&r.push(new e(this._root,this._x0,this._y0,this._x1,this._y1));n=r.pop();){var o=n.node;if(o.length){var a,u=n.x0,s=n.y0,l=n.x1,f=n.y1,c=(u+l)/2,h=(s+f)/2;(a=o[0])&&r.push(new e(a,u,s,c,h)),(a=o[1])&&r.push(new e(a,c,s,l,h)),(a=o[2])&&r.push(new e(a,u,h,c,f)),(a=o[3])&&r.push(new e(a,c,h,l,f))}i.push(n)}for(;n=i.pop();)t(n.node,n.x0,n.y0,n.x1,n.y1);return this},s.x=function(t){return arguments.length?(this._x=t,this):this._x},s.y=function(t){return arguments.length?(this._y=t,this):this._y},t.s(["quadtree",0,o],50768)},47716,91889,57161,48708,23685,36377,90273,561,60208,21972,7394,36755,t=>{"use strict";t.s(["Selection",()=>U,"default",()=>G,"root",()=>L],48708);var n,e={value:()=>{}};function r(){for(var t,n=0,e=arguments.length,r={};n<e;++n){if(!(t=arguments[n]+"")||t in r||/[\s.]/.test(t))throw Error("illegal type: "+t);r[t]=[]}return new i(r)}function i(t){this._=t}function o(t,n,r){for(var i=0,o=t.length;i<o;++i)if(t[i].name===n){t[i]=e,t=t.slice(0,i).concat(t.slice(i+1));break}return null!=r&&t.push({name:n,value:r}),t}function a(){}function u(t){return null==t?a:function(){return this.querySelector(t)}}function s(t){return null==t?[]:Array.isArray(t)?t:Array.from(t)}function l(){return[]}function f(t){return null==t?l:function(){return this.querySelectorAll(t)}}function c(t){return function(){return this.matches(t)}}function h(t){return function(n){return n.matches(t)}}i.prototype=r.prototype={constructor:i,on:function(t,n){var e,r=this._,i=(t+"").trim().split(/^|\s+/).map(function(t){var n="",e=t.indexOf(".");if(e>=0&&(n=t.slice(e+1),t=t.slice(0,e)),t&&!r.hasOwnProperty(t))throw Error("unknown type: "+t);return{type:t,name:n}}),a=-1,u=i.length;if(arguments.length<2){for(;++a<u;)if((e=(t=i[a]).type)&&(e=function(t,n){for(var e,r=0,i=t.length;r<i;++r)if((e=t[r]).name===n)return e.value}(r[e],t.name)))return e;return}if(null!=n&&"function"!=typeof n)throw Error("invalid callback: "+n);for(;++a<u;)if(e=(t=i[a]).type)r[e]=o(r[e],t.name,n);else if(null==n)for(e in r)r[e]=o(r[e],t.name,null);return this},copy:function(){var t={},n=this._;for(var e in n)t[e]=n[e].slice();return new i(t)},call:function(t,n){if((e=arguments.length-2)>0)for(var e,r,i=Array(e),o=0;o<e;++o)i[o]=arguments[o+2];if(!this._.hasOwnProperty(t))throw Error("unknown type: "+t);for(r=this._[t],o=0,e=r.length;o<e;++o)r[o].value.apply(n,i)},apply:function(t,n,e){if(!this._.hasOwnProperty(t))throw Error("unknown type: "+t);for(var r=this._[t],i=0,o=r.length;i<o;++i)r[i].value.apply(n,e)}},t.s(["dispatch",0,r],91889),t.s(["default",0,s],57161);var p=Array.prototype.find;function d(){return this.firstElementChild}var v=Array.prototype.filter;function y(){return Array.from(this.children)}function g(t){return Array(t.length)}function _(t,n){this.ownerDocument=t.ownerDocument,this.namespaceURI=t.namespaceURI,this._next=null,this._parent=t,this.__data__=n}function m(t,n,e,r,i,o){for(var a,u=0,s=n.length,l=o.length;u<l;++u)(a=n[u])?(a.__data__=o[u],r[u]=a):e[u]=new _(t,o[u]);for(;u<s;++u)(a=n[u])&&(i[u]=a)}function x(t,n,e,r,i,o,a){var u,s,l,f=new Map,c=n.length,h=o.length,p=Array(c);for(u=0;u<c;++u)(s=n[u])&&(p[u]=l=a.call(s,s.__data__,u,n)+"",f.has(l)?i[u]=s:f.set(l,s));for(u=0;u<h;++u)l=a.call(t,o[u],u,o)+"",(s=f.get(l))?(r[u]=s,s.__data__=o[u],f.delete(l)):e[u]=new _(t,o[u]);for(u=0;u<c;++u)(s=n[u])&&f.get(p[u])===s&&(i[u]=s)}function w(t){return t.__data__}function b(t,n){return t<n?-1:t>n?1:t>=n?0:NaN}_.prototype={constructor:_,appendChild:function(t){return this._parent.insertBefore(t,this._next)},insertBefore:function(t,n){return this._parent.insertBefore(t,n)},querySelector:function(t){return this._parent.querySelector(t)},querySelectorAll:function(t){return this._parent.querySelectorAll(t)}};var N="http://www.w3.org/1999/xhtml";let M={svg:"http://www.w3.org/2000/svg",xhtml:N,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function k(t){var n=t+="",e=n.indexOf(":");return e>=0&&"xmlns"!==(n=t.slice(0,e))&&(t=t.slice(e+1)),M.hasOwnProperty(n)?{space:M[n],local:t}:t}function A(t){return t.ownerDocument&&t.ownerDocument.defaultView||t.document&&t||t.defaultView}function E(t,n){return t.style.getPropertyValue(n)||A(t).getComputedStyle(t,null).getPropertyValue(n)}function z(t){return t.trim().split(/^|\s+/)}function S(t){return t.classList||new $(t)}function $(t){this._node=t,this._names=z(t.getAttribute("class")||"")}function T(t,n){for(var e=S(t),r=-1,i=n.length;++r<i;)e.add(n[r])}function q(t,n){for(var e=S(t),r=-1,i=n.length;++r<i;)e.remove(n[r])}function C(){this.textContent=""}function P(){this.innerHTML=""}function X(){this.nextSibling&&this.parentNode.appendChild(this)}function O(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function R(t){var n=k(t);return(n.local?function(t){return function(){return this.ownerDocument.createElementNS(t.space,t.local)}}:function(t){return function(){var n=this.ownerDocument,e=this.namespaceURI;return e===N&&n.documentElement.namespaceURI===N?n.createElement(t):n.createElementNS(e,t)}})(n)}function Y(){return null}function I(){var t=this.parentNode;t&&t.removeChild(this)}function B(){var t=this.cloneNode(!1),n=this.parentNode;return n?n.insertBefore(t,this.nextSibling):t}function D(){var t=this.cloneNode(!0),n=this.parentNode;return n?n.insertBefore(t,this.nextSibling):t}function j(t){return function(){var n=this.__on;if(n){for(var e,r=0,i=-1,o=n.length;r<o;++r)(e=n[r],t.type&&e.type!==t.type||e.name!==t.name)?n[++i]=e:this.removeEventListener(e.type,e.listener,e.options);++i?n.length=i:delete this.__on}}}function H(t,n,e){return function(){var r,i=this.__on,o=function(t){n.call(this,t,this.__data__)};if(i){for(var a=0,u=i.length;a<u;++a)if((r=i[a]).type===t.type&&r.name===t.name){this.removeEventListener(r.type,r.listener,r.options),this.addEventListener(r.type,r.listener=o,r.options=e),r.value=n;return}}this.addEventListener(t.type,o,e),r={type:t.type,name:t.name,value:n,listener:o,options:e},i?i.push(r):this.__on=[r]}}function V(t,n,e){var r=A(t),i=r.CustomEvent;"function"==typeof i?i=new i(n,e):(i=r.document.createEvent("Event"),e?(i.initEvent(n,e.bubbles,e.cancelable),i.detail=e.detail):i.initEvent(n,!1,!1)),t.dispatchEvent(i)}$.prototype={add:function(t){0>this._names.indexOf(t)&&(this._names.push(t),this._node.setAttribute("class",this._names.join(" ")))},remove:function(t){var n=this._names.indexOf(t);n>=0&&(this._names.splice(n,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(t){return this._names.indexOf(t)>=0}};var L=[null];function U(t,n){this._groups=t,this._parents=n}function K(){return new U([[document.documentElement]],L)}U.prototype=K.prototype={constructor:U,select:function(t){"function"!=typeof t&&(t=u(t));for(var n=this._groups,e=n.length,r=Array(e),i=0;i<e;++i)for(var o,a,s=n[i],l=s.length,f=r[i]=Array(l),c=0;c<l;++c)(o=s[c])&&(a=t.call(o,o.__data__,c,s))&&("__data__"in o&&(a.__data__=o.__data__),f[c]=a);return new U(r,this._parents)},selectAll:function(t){if("function"==typeof t){var n;n=t,t=function(){return s(n.apply(this,arguments))}}else t=f(t);for(var e=this._groups,r=e.length,i=[],o=[],a=0;a<r;++a)for(var u,l=e[a],c=l.length,h=0;h<c;++h)(u=l[h])&&(i.push(t.call(u,u.__data__,h,l)),o.push(u));return new U(i,o)},selectChild:function(t){var n;return this.select(null==t?d:(n="function"==typeof t?t:h(t),function(){return p.call(this.children,n)}))},selectChildren:function(t){var n;return this.selectAll(null==t?y:(n="function"==typeof t?t:h(t),function(){return v.call(this.children,n)}))},filter:function(t){"function"!=typeof t&&(t=c(t));for(var n=this._groups,e=n.length,r=Array(e),i=0;i<e;++i)for(var o,a=n[i],u=a.length,s=r[i]=[],l=0;l<u;++l)(o=a[l])&&t.call(o,o.__data__,l,a)&&s.push(o);return new U(r,this._parents)},data:function(t,n){if(!arguments.length)return Array.from(this,w);var e=n?x:m,r=this._parents,i=this._groups;"function"!=typeof t&&(_=t,t=function(){return _});for(var o=i.length,a=Array(o),u=Array(o),s=Array(o),l=0;l<o;++l){var f=r[l],c=i[l],h=c.length,p="object"==typeof(g=t.call(f,f&&f.__data__,l,r))&&"length"in g?g:Array.from(g),d=p.length,v=u[l]=Array(d),y=a[l]=Array(d);e(f,c,v,y,s[l]=Array(h),p,n);for(var g,_,b,N,M=0,k=0;M<d;++M)if(b=v[M]){for(M>=k&&(k=M+1);!(N=y[k])&&++k<d;);b._next=N||null}}return(a=new U(a,r))._enter=u,a._exit=s,a},enter:function(){return new U(this._enter||this._groups.map(g),this._parents)},exit:function(){return new U(this._exit||this._groups.map(g),this._parents)},join:function(t,n,e){var r=this.enter(),i=this,o=this.exit();return"function"==typeof t?(r=t(r))&&(r=r.selection()):r=r.append(t+""),null!=n&&(i=n(i))&&(i=i.selection()),null==e?o.remove():e(o),r&&i?r.merge(i).order():i},merge:function(t){for(var n=t.selection?t.selection():t,e=this._groups,r=n._groups,i=e.length,o=r.length,a=Math.min(i,o),u=Array(i),s=0;s<a;++s)for(var l,f=e[s],c=r[s],h=f.length,p=u[s]=Array(h),d=0;d<h;++d)(l=f[d]||c[d])&&(p[d]=l);for(;s<i;++s)u[s]=e[s];return new U(u,this._parents)},selection:function(){return this},order:function(){for(var t=this._groups,n=-1,e=t.length;++n<e;)for(var r,i=t[n],o=i.length-1,a=i[o];--o>=0;)(r=i[o])&&(a&&4^r.compareDocumentPosition(a)&&a.parentNode.insertBefore(r,a),a=r);return this},sort:function(t){function n(n,e){return n&&e?t(n.__data__,e.__data__):!n-!e}t||(t=b);for(var e=this._groups,r=e.length,i=Array(r),o=0;o<r;++o){for(var a,u=e[o],s=u.length,l=i[o]=Array(s),f=0;f<s;++f)(a=u[f])&&(l[f]=a);l.sort(n)}return new U(i,this._parents).order()},call:function(){var t=arguments[0];return arguments[0]=this,t.apply(null,arguments),this},nodes:function(){return Array.from(this)},node:function(){for(var t=this._groups,n=0,e=t.length;n<e;++n)for(var r=t[n],i=0,o=r.length;i<o;++i){var a=r[i];if(a)return a}return null},size:function(){let t=0;for(let n of this)++t;return t},empty:function(){return!this.node()},each:function(t){for(var n=this._groups,e=0,r=n.length;e<r;++e)for(var i,o=n[e],a=0,u=o.length;a<u;++a)(i=o[a])&&t.call(i,i.__data__,a,o);return this},attr:function(t,n){var e=k(t);if(arguments.length<2){var r=this.node();return e.local?r.getAttributeNS(e.space,e.local):r.getAttribute(e)}return this.each((null==n?e.local?function(t){return function(){this.removeAttributeNS(t.space,t.local)}}:function(t){return function(){this.removeAttribute(t)}}:"function"==typeof n?e.local?function(t,n){return function(){var e=n.apply(this,arguments);null==e?this.removeAttributeNS(t.space,t.local):this.setAttributeNS(t.space,t.local,e)}}:function(t,n){return function(){var e=n.apply(this,arguments);null==e?this.removeAttribute(t):this.setAttribute(t,e)}}:e.local?function(t,n){return function(){this.setAttributeNS(t.space,t.local,n)}}:function(t,n){return function(){this.setAttribute(t,n)}})(e,n))},style:function(t,n,e){return arguments.length>1?this.each((null==n?function(t){return function(){this.style.removeProperty(t)}}:"function"==typeof n?function(t,n,e){return function(){var r=n.apply(this,arguments);null==r?this.style.removeProperty(t):this.style.setProperty(t,r,e)}}:function(t,n,e){return function(){this.style.setProperty(t,n,e)}})(t,n,null==e?"":e)):E(this.node(),t)},property:function(t,n){return arguments.length>1?this.each((null==n?function(t){return function(){delete this[t]}}:"function"==typeof n?function(t,n){return function(){var e=n.apply(this,arguments);null==e?delete this[t]:this[t]=e}}:function(t,n){return function(){this[t]=n}})(t,n)):this.node()[t]},classed:function(t,n){var e=z(t+"");if(arguments.length<2){for(var r=S(this.node()),i=-1,o=e.length;++i<o;)if(!r.contains(e[i]))return!1;return!0}return this.each(("function"==typeof n?function(t,n){return function(){(n.apply(this,arguments)?T:q)(this,t)}}:n?function(t){return function(){T(this,t)}}:function(t){return function(){q(this,t)}})(e,n))},text:function(t){return arguments.length?this.each(null==t?C:("function"==typeof t?function(t){return function(){var n=t.apply(this,arguments);this.textContent=null==n?"":n}}:function(t){return function(){this.textContent=t}})(t)):this.node().textContent},html:function(t){return arguments.length?this.each(null==t?P:("function"==typeof t?function(t){return function(){var n=t.apply(this,arguments);this.innerHTML=null==n?"":n}}:function(t){return function(){this.innerHTML=t}})(t)):this.node().innerHTML},raise:function(){return this.each(X)},lower:function(){return this.each(O)},append:function(t){var n="function"==typeof t?t:R(t);return this.select(function(){return this.appendChild(n.apply(this,arguments))})},insert:function(t,n){var e="function"==typeof t?t:R(t),r=null==n?Y:"function"==typeof n?n:u(n);return this.select(function(){return this.insertBefore(e.apply(this,arguments),r.apply(this,arguments)||null)})},remove:function(){return this.each(I)},clone:function(t){return this.select(t?D:B)},datum:function(t){return arguments.length?this.property("__data__",t):this.node().__data__},on:function(t,n,e){var r,i,o=(t+"").trim().split(/^|\s+/).map(function(t){var n="",e=t.indexOf(".");return e>=0&&(n=t.slice(e+1),t=t.slice(0,e)),{type:t,name:n}}),a=o.length;if(arguments.length<2){var u=this.node().__on;if(u){for(var s,l=0,f=u.length;l<f;++l)for(r=0,s=u[l];r<a;++r)if((i=o[r]).type===s.type&&i.name===s.name)return s.value}return}for(u=n?H:j,r=0;r<a;++r)this.each(u(o[r],n,e));return this},dispatch:function(t,n){return this.each(("function"==typeof n?function(t,n){return function(){return V(this,t,n.apply(this,arguments))}}:function(t,n){return function(){return V(this,t,n)}})(t,n))},[Symbol.iterator]:function*(){for(var t=this._groups,n=0,e=t.length;n<e;++n)for(var r,i=t[n],o=0,a=i.length;o<a;++o)(r=i[o])&&(yield r)}};let G=K;function W(t){return"string"==typeof t?new U([[document.querySelector(t)]],[document.documentElement]):new U([[t]],L)}t.s(["select",0,W],23685);let F={capture:!0,passive:!1};function Q(t){t.preventDefault(),t.stopImmediatePropagation()}function J(t){var n=t.document.documentElement,e=W(t).on("dragstart.drag",Q,F);"onselectstart"in n?e.on("selectstart.drag",Q,F):(n.__noselect=n.style.MozUserSelect,n.style.MozUserSelect="none")}function Z(t,n){var e=t.document.documentElement,r=W(t).on("dragstart.drag",null);n&&(r.on("click.drag",Q,F),setTimeout(function(){r.on("click.drag",null)},0)),"onselectstart"in e?r.on("selectstart.drag",null):(e.style.MozUserSelect=e.__noselect,delete e.__noselect)}function tt(t,n,e){t.prototype=n.prototype=e,e.constructor=t}function tn(t,n){var e=Object.create(t.prototype);for(var r in n)e[r]=n[r];return e}function te(){}t.s(["default",0,Q,"nonpassive",0,{passive:!1},"nonpassivecapture",0,F,"nopropagation",0,function(t){t.stopImmediatePropagation()}],36377),t.s(["default",0,J,"yesdrag",0,Z],90273);var tr="\\s*([+-]?\\d+)\\s*",ti="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",to="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",ta=/^#([0-9a-f]{3,8})$/,tu=RegExp(`^rgb\\(${tr},${tr},${tr}\\)$`),ts=RegExp(`^rgb\\(${to},${to},${to}\\)$`),tl=RegExp(`^rgba\\(${tr},${tr},${tr},${ti}\\)$`),tf=RegExp(`^rgba\\(${to},${to},${to},${ti}\\)$`),tc=RegExp(`^hsl\\(${ti},${to},${to}\\)$`),th=RegExp(`^hsla\\(${ti},${to},${to},${ti}\\)$`),tp={aliceblue:0xf0f8ff,antiquewhite:0xfaebd7,aqua:65535,aquamarine:8388564,azure:0xf0ffff,beige:0xf5f5dc,bisque:0xffe4c4,black:0,blanchedalmond:0xffebcd,blue:255,blueviolet:9055202,brown:0xa52a2a,burlywood:0xdeb887,cadetblue:6266528,chartreuse:8388352,chocolate:0xd2691e,coral:0xff7f50,cornflowerblue:6591981,cornsilk:0xfff8dc,crimson:0xdc143c,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:0xb8860b,darkgray:0xa9a9a9,darkgreen:25600,darkgrey:0xa9a9a9,darkkhaki:0xbdb76b,darkmagenta:9109643,darkolivegreen:5597999,darkorange:0xff8c00,darkorchid:0x9932cc,darkred:9109504,darksalmon:0xe9967a,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:0xff1493,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:0xb22222,floralwhite:0xfffaf0,forestgreen:2263842,fuchsia:0xff00ff,gainsboro:0xdcdcdc,ghostwhite:0xf8f8ff,gold:0xffd700,goldenrod:0xdaa520,gray:8421504,green:32768,greenyellow:0xadff2f,grey:8421504,honeydew:0xf0fff0,hotpink:0xff69b4,indianred:0xcd5c5c,indigo:4915330,ivory:0xfffff0,khaki:0xf0e68c,lavender:0xe6e6fa,lavenderblush:0xfff0f5,lawngreen:8190976,lemonchiffon:0xfffacd,lightblue:0xadd8e6,lightcoral:0xf08080,lightcyan:0xe0ffff,lightgoldenrodyellow:0xfafad2,lightgray:0xd3d3d3,lightgreen:9498256,lightgrey:0xd3d3d3,lightpink:0xffb6c1,lightsalmon:0xffa07a,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:0xb0c4de,lightyellow:0xffffe0,lime:65280,limegreen:3329330,linen:0xfaf0e6,magenta:0xff00ff,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:0xba55d3,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:0xc71585,midnightblue:1644912,mintcream:0xf5fffa,mistyrose:0xffe4e1,moccasin:0xffe4b5,navajowhite:0xffdead,navy:128,oldlace:0xfdf5e6,olive:8421376,olivedrab:7048739,orange:0xffa500,orangered:0xff4500,orchid:0xda70d6,palegoldenrod:0xeee8aa,palegreen:0x98fb98,paleturquoise:0xafeeee,palevioletred:0xdb7093,papayawhip:0xffefd5,peachpuff:0xffdab9,peru:0xcd853f,pink:0xffc0cb,plum:0xdda0dd,powderblue:0xb0e0e6,purple:8388736,rebeccapurple:6697881,red:0xff0000,rosybrown:0xbc8f8f,royalblue:4286945,saddlebrown:9127187,salmon:0xfa8072,sandybrown:0xf4a460,seagreen:3050327,seashell:0xfff5ee,sienna:0xa0522d,silver:0xc0c0c0,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:0xfffafa,springgreen:65407,steelblue:4620980,tan:0xd2b48c,teal:32896,thistle:0xd8bfd8,tomato:0xff6347,turquoise:4251856,violet:0xee82ee,wheat:0xf5deb3,white:0xffffff,whitesmoke:0xf5f5f5,yellow:0xffff00,yellowgreen:0x9acd32};function td(){return this.rgb().formatHex()}function tv(){return this.rgb().formatRgb()}function ty(t){var n,e;return t=(t+"").trim().toLowerCase(),(n=ta.exec(t))?(e=n[1].length,n=parseInt(n[1],16),6===e?tg(n):3===e?new tx(n>>8&15|n>>4&240,n>>4&15|240&n,(15&n)<<4|15&n,1):8===e?t_(n>>24&255,n>>16&255,n>>8&255,(255&n)/255):4===e?t_(n>>12&15|n>>8&240,n>>8&15|n>>4&240,n>>4&15|240&n,((15&n)<<4|15&n)/255):null):(n=tu.exec(t))?new tx(n[1],n[2],n[3],1):(n=ts.exec(t))?new tx(255*n[1]/100,255*n[2]/100,255*n[3]/100,1):(n=tl.exec(t))?t_(n[1],n[2],n[3],n[4]):(n=tf.exec(t))?t_(255*n[1]/100,255*n[2]/100,255*n[3]/100,n[4]):(n=tc.exec(t))?tA(n[1],n[2]/100,n[3]/100,1):(n=th.exec(t))?tA(n[1],n[2]/100,n[3]/100,n[4]):tp.hasOwnProperty(t)?tg(tp[t]):"transparent"===t?new tx(NaN,NaN,NaN,0):null}function tg(t){return new tx(t>>16&255,t>>8&255,255&t,1)}function t_(t,n,e,r){return r<=0&&(t=n=e=NaN),new tx(t,n,e,r)}function tm(t,n,e,r){var i;return 1==arguments.length?((i=t)instanceof te||(i=ty(i)),i)?new tx((i=i.rgb()).r,i.g,i.b,i.opacity):new tx:new tx(t,n,e,null==r?1:r)}function tx(t,n,e,r){this.r=+t,this.g=+n,this.b=+e,this.opacity=+r}function tw(){return`#${tk(this.r)}${tk(this.g)}${tk(this.b)}`}function tb(){let t=tN(this.opacity);return`${1===t?"rgb(":"rgba("}${tM(this.r)}, ${tM(this.g)}, ${tM(this.b)}${1===t?")":`, ${t})`}`}function tN(t){return isNaN(t)?1:Math.max(0,Math.min(1,t))}function tM(t){return Math.max(0,Math.min(255,Math.round(t)||0))}function tk(t){return((t=tM(t))<16?"0":"")+t.toString(16)}function tA(t,n,e,r){return r<=0?t=n=e=NaN:e<=0||e>=1?t=n=NaN:n<=0&&(t=NaN),new tz(t,n,e,r)}function tE(t){if(t instanceof tz)return new tz(t.h,t.s,t.l,t.opacity);if(t instanceof te||(t=ty(t)),!t)return new tz;if(t instanceof tz)return t;var n=(t=t.rgb()).r/255,e=t.g/255,r=t.b/255,i=Math.min(n,e,r),o=Math.max(n,e,r),a=NaN,u=o-i,s=(o+i)/2;return u?(a=n===o?(e-r)/u+(e<r)*6:e===o?(r-n)/u+2:(n-e)/u+4,u/=s<.5?o+i:2-o-i,a*=60):u=s>0&&s<1?0:a,new tz(a,u,s,t.opacity)}function tz(t,n,e,r){this.h=+t,this.s=+n,this.l=+e,this.opacity=+r}function tS(t){return(t=(t||0)%360)<0?t+360:t}function t$(t){return Math.max(0,Math.min(1,t||0))}function tT(t,n,e){return(t<60?n+(e-n)*t/60:t<180?e:t<240?n+(e-n)*(240-t)/60:n)*255}function tq(t,n,e,r,i){var o=t*t,a=o*t;return((1-3*t+3*o-a)*n+(4-6*o+3*a)*e+(1+3*t+3*o-3*a)*r+a*i)/6}tt(te,ty,{copy(t){return Object.assign(new this.constructor,this,t)},displayable(){return this.rgb().displayable()},hex:td,formatHex:td,formatHex8:function(){return this.rgb().formatHex8()},formatHsl:function(){return tE(this).formatHsl()},formatRgb:tv,toString:tv}),tt(tx,tm,tn(te,{brighter(t){return t=null==t?1.4285714285714286:Math.pow(1.4285714285714286,t),new tx(this.r*t,this.g*t,this.b*t,this.opacity)},darker(t){return t=null==t?.7:Math.pow(.7,t),new tx(this.r*t,this.g*t,this.b*t,this.opacity)},rgb(){return this},clamp(){return new tx(tM(this.r),tM(this.g),tM(this.b),tN(this.opacity))},displayable(){return -.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:tw,formatHex:tw,formatHex8:function(){return`#${tk(this.r)}${tk(this.g)}${tk(this.b)}${tk((isNaN(this.opacity)?1:this.opacity)*255)}`},formatRgb:tb,toString:tb})),tt(tz,function(t,n,e,r){return 1==arguments.length?tE(t):new tz(t,n,e,null==r?1:r)},tn(te,{brighter(t){return t=null==t?1.4285714285714286:Math.pow(1.4285714285714286,t),new tz(this.h,this.s,this.l*t,this.opacity)},darker(t){return t=null==t?.7:Math.pow(.7,t),new tz(this.h,this.s,this.l*t,this.opacity)},rgb(){var t=this.h%360+(this.h<0)*360,n=isNaN(t)||isNaN(this.s)?0:this.s,e=this.l,r=e+(e<.5?e:1-e)*n,i=2*e-r;return new tx(tT(t>=240?t-240:t+120,i,r),tT(t,i,r),tT(t<120?t+240:t-120,i,r),this.opacity)},clamp(){return new tz(tS(this.h),t$(this.s),t$(this.l),tN(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){let t=tN(this.opacity);return`${1===t?"hsl(":"hsla("}${tS(this.h)}, ${100*t$(this.s)}%, ${100*t$(this.l)}%${1===t?")":`, ${t})`}`}}));let tC=t=>()=>t;function tP(t,n){var e=n-t;return e?function(n){return t+n*e}:tC(isNaN(t)?n:t)}let tX=function t(n){var e,r=1==(e=+n)?tP:function(t,n){var r,i,o;return n-t?(r=t,i=n,r=Math.pow(r,o=e),i=Math.pow(i,o)-r,o=1/o,function(t){return Math.pow(r+t*i,o)}):tC(isNaN(t)?n:t)};function i(t,n){var e=r((t=tm(t)).r,(n=tm(n)).r),i=r(t.g,n.g),o=r(t.b,n.b),a=tP(t.opacity,n.opacity);return function(n){return t.r=e(n),t.g=i(n),t.b=o(n),t.opacity=a(n),t+""}}return i.gamma=t,i}(1);function tO(t){return function(n){var e,r,i=n.length,o=Array(i),a=Array(i),u=Array(i);for(e=0;e<i;++e)r=tm(n[e]),o[e]=r.r||0,a[e]=r.g||0,u[e]=r.b||0;return o=t(o),a=t(a),u=t(u),r.opacity=1,function(t){return r.r=o(t),r.g=a(t),r.b=u(t),r+""}}}function tR(t,n){return t*=1,n*=1,function(e){return t*(1-e)+n*e}}tO(function(t){var n=t.length-1;return function(e){var r=e<=0?e=0:e>=1?(e=1,n-1):Math.floor(e*n),i=t[r],o=t[r+1],a=r>0?t[r-1]:2*i-o,u=r<n-1?t[r+2]:2*o-i;return tq((e-r/n)*n,a,i,o,u)}}),tO(function(t){var n=t.length;return function(e){var r=Math.floor(((e%=1)<0?++e:e)*n),i=t[(r+n-1)%n],o=t[r%n],a=t[(r+1)%n],u=t[(r+2)%n];return tq((e-r/n)*n,i,o,a,u)}});var tY=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,tI=RegExp(tY.source,"g");function tB(t,n){if(t=function(t){let n;for(;n=t.sourceEvent;)t=n;return t}(t),void 0===n&&(n=t.currentTarget),n){var e=n.ownerSVGElement||n;if(e.createSVGPoint){var r=e.createSVGPoint();return r.x=t.clientX,r.y=t.clientY,[(r=r.matrixTransform(n.getScreenCTM().inverse())).x,r.y]}if(n.getBoundingClientRect){var i=n.getBoundingClientRect();return[t.clientX-i.left-n.clientLeft,t.clientY-i.top-n.clientTop]}}return[t.pageX,t.pageY]}t.s(["pointer",0,tB],561);var tD,tj,tH=0,tV=0,tL=0,tU=0,tK=0,tG=0,tW="object"==typeof performance&&performance.now?performance:Date,tF="object"==typeof window&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(t){setTimeout(t,17)};function tQ(){return tK||(tF(tJ),tK=tW.now()+tG)}function tJ(){tK=0}function tZ(){this._call=this._time=this._next=null}function t0(t,n,e){var r=new tZ;return r.restart(t,n,e),r}function t1(){tK=(tU=tW.now())+tG,tH=tV=0;try{tQ(),++tH;for(var t,n=tD;n;)(t=tK-n._time)>=0&&n._call.call(void 0,t),n=n._next;--tH}finally{tH=0,function(){for(var t,n,e=tD,r=1/0;e;)e._call?(r>e._time&&(r=e._time),t=e,e=e._next):(n=e._next,e._next=null,e=t?t._next=n:tD=n);tj=t,t5(r)}(),tK=0}}function t2(){var t=tW.now(),n=t-tU;n>1e3&&(tG-=n,tU=t)}function t5(t){!tH&&(tV&&(tV=clearTimeout(tV)),t-tK>24?(t<1/0&&(tV=setTimeout(t1,t-tW.now()-tG)),tL&&(tL=clearInterval(tL))):(tL||(tU=tW.now(),tL=setInterval(t2,1e3)),tH=1,tF(t1)))}function t3(t,n,e){var r=new tZ;return n=null==n?0:+n,r.restart(e=>{r.stop(),t(e+n)},n,e),r}tZ.prototype=t0.prototype={constructor:tZ,restart:function(t,n,e){if("function"!=typeof t)throw TypeError("callback is not a function");e=(null==e?tQ():+e)+(null==n?0:+n),this._next||tj===this||(tj?tj._next=this:tD=this,tj=this),this._call=t,this._time=e,t5()},stop:function(){this._call&&(this._call=null,this._time=1/0,t5())}},t.s(["Timer",0,tZ,"now",0,tQ,"timer",0,t0],60208);var t8=r("start","end","cancel","interrupt"),t6=[];function t4(t,n,e,r,i,o){var a=t.__transition;if(a){if(e in a)return}else t.__transition={};!function(t,n,e){var r,i=t.__transition;function o(s){var l,f,c,h;if(1!==e.state)return u();for(l in i)if((h=i[l]).name===e.name){if(3===h.state)return t3(o);4===h.state?(h.state=6,h.timer.stop(),h.on.call("interrupt",t,t.__data__,h.index,h.group),delete i[l]):+l<n&&(h.state=6,h.timer.stop(),h.on.call("cancel",t,t.__data__,h.index,h.group),delete i[l])}if(t3(function(){3===e.state&&(e.state=4,e.timer.restart(a,e.delay,e.time),a(s))}),e.state=2,e.on.call("start",t,t.__data__,e.index,e.group),2===e.state){for(e.state=3,r=Array(c=e.tween.length),l=0,f=-1;l<c;++l)(h=e.tween[l].value.call(t,t.__data__,e.index,e.group))&&(r[++f]=h);r.length=f+1}}function a(n){for(var i=n<e.duration?e.ease.call(null,n/e.duration):(e.timer.restart(u),e.state=5,1),o=-1,a=r.length;++o<a;)r[o].call(t,i);5===e.state&&(e.on.call("end",t,t.__data__,e.index,e.group),u())}function u(){for(var r in e.state=6,e.timer.stop(),delete i[n],i)return;delete t.__transition}i[n]=e,e.timer=t0(function(t){e.state=1,e.timer.restart(o,e.delay,e.time),e.delay<=t&&o(t-e.delay)},0,e.time)}(t,e,{name:n,index:r,group:i,on:t8,tween:t6,time:o.time,delay:o.delay,duration:o.duration,ease:o.ease,timer:null,state:0})}function t9(t,n){var e=nt(t,n);if(e.state>0)throw Error("too late; already scheduled");return e}function t7(t,n){var e=nt(t,n);if(e.state>3)throw Error("too late; already running");return e}function nt(t,n){var e=t.__transition;if(!e||!(e=e[n]))throw Error("transition not found");return e}function nn(t,n){var e,r,i,o=t.__transition,a=!0;if(o){for(i in n=null==n?null:n+"",o){if((e=o[i]).name!==n){a=!1;continue}r=e.state>2&&e.state<5,e.state=6,e.timer.stop(),e.on.call(r?"interrupt":"cancel",t,t.__data__,e.index,e.group),delete o[i]}a&&delete t.__transition}}var ne=180/Math.PI,nr={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function ni(t,n,e,r,i,o){var a,u,s;return(a=Math.sqrt(t*t+n*n))&&(t/=a,n/=a),(s=t*e+n*r)&&(e-=t*s,r-=n*s),(u=Math.sqrt(e*e+r*r))&&(e/=u,r/=u,s/=u),t*r<n*e&&(t=-t,n=-n,s=-s,a=-a),{translateX:i,translateY:o,rotate:Math.atan2(n,t)*ne,skewX:Math.atan(s)*ne,scaleX:a,scaleY:u}}function no(t,n,e,r){function i(t){return t.length?t.pop()+" ":""}return function(o,a){var u,s,l,f,c=[],h=[];return o=t(o),a=t(a),!function(t,r,i,o,a,u){if(t!==i||r!==o){var s=a.push("translate(",null,n,null,e);u.push({i:s-4,x:tR(t,i)},{i:s-2,x:tR(r,o)})}else(i||o)&&a.push("translate("+i+n+o+e)}(o.translateX,o.translateY,a.translateX,a.translateY,c,h),u=o.rotate,s=a.rotate,u!==s?(u-s>180?s+=360:s-u>180&&(u+=360),h.push({i:c.push(i(c)+"rotate(",null,r)-2,x:tR(u,s)})):s&&c.push(i(c)+"rotate("+s+r),l=o.skewX,f=a.skewX,l!==f?h.push({i:c.push(i(c)+"skewX(",null,r)-2,x:tR(l,f)}):f&&c.push(i(c)+"skewX("+f+r),!function(t,n,e,r,o,a){if(t!==e||n!==r){var u=o.push(i(o)+"scale(",null,",",null,")");a.push({i:u-4,x:tR(t,e)},{i:u-2,x:tR(n,r)})}else(1!==e||1!==r)&&o.push(i(o)+"scale("+e+","+r+")")}(o.scaleX,o.scaleY,a.scaleX,a.scaleY,c,h),o=a=null,function(t){for(var n,e=-1,r=h.length;++e<r;)c[(n=h[e]).i]=n.x(t);return c.join("")}}}var na=no(function(t){let n=new("function"==typeof DOMMatrix?DOMMatrix:WebKitCSSMatrix)(t+"");return n.isIdentity?nr:ni(n.a,n.b,n.c,n.d,n.e,n.f)},"px, ","px)","deg)"),nu=no(function(t){return null==t?nr:(n||(n=document.createElementNS("http://www.w3.org/2000/svg","g")),n.setAttribute("transform",t),t=n.transform.baseVal.consolidate())?ni((t=t.matrix).a,t.b,t.c,t.d,t.e,t.f):nr},", ",")",")");function ns(t,n,e){var r=t._id;return t.each(function(){var t=t7(this,r);(t.value||(t.value={}))[n]=e.apply(this,arguments)}),function(t){return nt(t,r).value[n]}}function nl(t,n){var e;return("number"==typeof n?tR:n instanceof ty?tX:(e=ty(n))?(n=e,tX):function(t,n){var e,r,i,o,a,u=tY.lastIndex=tI.lastIndex=0,s=-1,l=[],f=[];for(t+="",n+="";(i=tY.exec(t))&&(o=tI.exec(n));)(a=o.index)>u&&(a=n.slice(u,a),l[s]?l[s]+=a:l[++s]=a),(i=i[0])===(o=o[0])?l[s]?l[s]+=o:l[++s]=o:(l[++s]=null,f.push({i:s,x:tR(i,o)})),u=tI.lastIndex;return u<n.length&&(a=n.slice(u),l[s]?l[s]+=a:l[++s]=a),l.length<2?f[0]?(e=f[0].x,function(t){return e(t)+""}):(r=n,function(){return r}):(n=f.length,function(t){for(var e,r=0;r<n;++r)l[(e=f[r]).i]=e.x(t);return l.join("")})})(t,n)}var nf=G.prototype.constructor;function nc(t){return function(){this.style.removeProperty(t)}}var nh=0;function np(t,n,e,r){this._groups=t,this._parents=n,this._name=e,this._id=r}var nd=G.prototype;function nv(t){return((t*=2)<=1?t*t*t:(t-=2)*t*t+2)/2}np.prototype=(function(t){return G().transition(t)}).prototype={constructor:np,select:function(t){var n=this._name,e=this._id;"function"!=typeof t&&(t=u(t));for(var r=this._groups,i=r.length,o=Array(i),a=0;a<i;++a)for(var s,l,f=r[a],c=f.length,h=o[a]=Array(c),p=0;p<c;++p)(s=f[p])&&(l=t.call(s,s.__data__,p,f))&&("__data__"in s&&(l.__data__=s.__data__),h[p]=l,t4(h[p],n,e,p,h,nt(s,e)));return new np(o,this._parents,n,e)},selectAll:function(t){var n=this._name,e=this._id;"function"!=typeof t&&(t=f(t));for(var r=this._groups,i=r.length,o=[],a=[],u=0;u<i;++u)for(var s,l=r[u],c=l.length,h=0;h<c;++h)if(s=l[h]){for(var p,d=t.call(s,s.__data__,h,l),v=nt(s,e),y=0,g=d.length;y<g;++y)(p=d[y])&&t4(p,n,e,y,d,v);o.push(d),a.push(s)}return new np(o,a,n,e)},selectChild:nd.selectChild,selectChildren:nd.selectChildren,filter:function(t){"function"!=typeof t&&(t=c(t));for(var n=this._groups,e=n.length,r=Array(e),i=0;i<e;++i)for(var o,a=n[i],u=a.length,s=r[i]=[],l=0;l<u;++l)(o=a[l])&&t.call(o,o.__data__,l,a)&&s.push(o);return new np(r,this._parents,this._name,this._id)},merge:function(t){if(t._id!==this._id)throw Error();for(var n=this._groups,e=t._groups,r=n.length,i=e.length,o=Math.min(r,i),a=Array(r),u=0;u<o;++u)for(var s,l=n[u],f=e[u],c=l.length,h=a[u]=Array(c),p=0;p<c;++p)(s=l[p]||f[p])&&(h[p]=s);for(;u<r;++u)a[u]=n[u];return new np(a,this._parents,this._name,this._id)},selection:function(){return new nf(this._groups,this._parents)},transition:function(){for(var t=this._name,n=this._id,e=++nh,r=this._groups,i=r.length,o=0;o<i;++o)for(var a,u=r[o],s=u.length,l=0;l<s;++l)if(a=u[l]){var f=nt(a,n);t4(a,t,e,l,u,{time:f.time+f.delay+f.duration,delay:0,duration:f.duration,ease:f.ease})}return new np(r,this._parents,t,e)},call:nd.call,nodes:nd.nodes,node:nd.node,size:nd.size,empty:nd.empty,each:nd.each,on:function(t,n){var e,r,i,o,a,u,s=this._id;return arguments.length<2?nt(this.node(),s).on.on(t):this.each((e=s,r=t,i=n,u=(r+"").trim().split(/^|\s+/).every(function(t){var n=t.indexOf(".");return n>=0&&(t=t.slice(0,n)),!t||"start"===t})?t9:t7,function(){var t=u(this,e),n=t.on;n!==o&&(a=(o=n).copy()).on(r,i),t.on=a}))},attr:function(t,n){var e=k(t),r="transform"===e?nu:nl;return this.attrTween(t,"function"==typeof n?(e.local?function(t,n,e){var r,i,o;return function(){var a,u,s=e(this);return null==s?void this.removeAttributeNS(t.space,t.local):(a=this.getAttributeNS(t.space,t.local))===(u=s+"")?null:a===r&&u===i?o:(i=u,o=n(r=a,s))}}:function(t,n,e){var r,i,o;return function(){var a,u,s=e(this);return null==s?void this.removeAttribute(t):(a=this.getAttribute(t))===(u=s+"")?null:a===r&&u===i?o:(i=u,o=n(r=a,s))}})(e,r,ns(this,"attr."+t,n)):null==n?(e.local?function(t){return function(){this.removeAttributeNS(t.space,t.local)}}:function(t){return function(){this.removeAttribute(t)}})(e):(e.local?function(t,n,e){var r,i,o=e+"";return function(){var a=this.getAttributeNS(t.space,t.local);return a===o?null:a===r?i:i=n(r=a,e)}}:function(t,n,e){var r,i,o=e+"";return function(){var a=this.getAttribute(t);return a===o?null:a===r?i:i=n(r=a,e)}})(e,r,n))},attrTween:function(t,n){var e="attr."+t;if(arguments.length<2)return(e=this.tween(e))&&e._value;if(null==n)return this.tween(e,null);if("function"!=typeof n)throw Error();var r=k(t);return this.tween(e,(r.local?function(t,n){var e,r;function i(){var i=n.apply(this,arguments);return i!==r&&(e=(r=i)&&function(n){this.setAttributeNS(t.space,t.local,i.call(this,n))}),e}return i._value=n,i}:function(t,n){var e,r;function i(){var i=n.apply(this,arguments);return i!==r&&(e=(r=i)&&function(n){this.setAttribute(t,i.call(this,n))}),e}return i._value=n,i})(r,n))},style:function(t,n,e){var r,i,o,a,u,s,l,f,c,h,p,d,v,y,g,_,m,x,w,b,N,M="transform"==(t+="")?na:nl;return null==n?this.styleTween(t,(r=t,function(){var t=E(this,r),n=(this.style.removeProperty(r),E(this,r));return t===n?null:t===i&&n===o?a:a=M(i=t,o=n)})).on("end.style."+t,nc(t)):"function"==typeof n?this.styleTween(t,(u=t,s=ns(this,"style."+t,n),function(){var t=E(this,u),n=s(this),e=n+"";return null==n&&(this.style.removeProperty(u),e=n=E(this,u)),t===e?null:t===l&&e===f?c:(f=e,c=M(l=t,n))})).each((h=this._id,m="end."+(_="style."+(p=t)),function(){var t=t7(this,h),n=t.on,e=null==t.value[_]?g||(g=nc(p)):void 0;(n!==d||y!==e)&&(v=(d=n).copy()).on(m,y=e),t.on=v})):this.styleTween(t,(x=t,N=n+"",function(){var t=E(this,x);return t===N?null:t===w?b:b=M(w=t,n)}),e).on("end.style."+t,null)},styleTween:function(t,n,e){var r="style."+(t+="");if(arguments.length<2)return(r=this.tween(r))&&r._value;if(null==n)return this.tween(r,null);if("function"!=typeof n)throw Error();return this.tween(r,function(t,n,e){var r,i;function o(){var o=n.apply(this,arguments);return o!==i&&(r=(i=o)&&function(n){this.style.setProperty(t,o.call(this,n),e)}),r}return o._value=n,o}(t,n,null==e?"":e))},text:function(t){var n,e;return this.tween("text","function"==typeof t?(n=ns(this,"text",t),function(){var t=n(this);this.textContent=null==t?"":t}):(e=null==t?"":t+"",function(){this.textContent=e}))},textTween:function(t){var n="text";if(arguments.length<1)return(n=this.tween(n))&&n._value;if(null==t)return this.tween(n,null);if("function"!=typeof t)throw Error();return this.tween(n,function(t){var n,e;function r(){var r=t.apply(this,arguments);return r!==e&&(n=(e=r)&&function(t){this.textContent=r.call(this,t)}),n}return r._value=t,r}(t))},remove:function(){var t;return this.on("end.remove",(t=this._id,function(){var n=this.parentNode;for(var e in this.__transition)if(+e!==t)return;n&&n.removeChild(this)}))},tween:function(t,n){var e=this._id;if(t+="",arguments.length<2){for(var r,i=nt(this.node(),e).tween,o=0,a=i.length;o<a;++o)if((r=i[o]).name===t)return r.value;return null}return this.each((null==n?function(t,n){var e,r;return function(){var i=t7(this,t),o=i.tween;if(o!==e){r=e=o;for(var a=0,u=r.length;a<u;++a)if(r[a].name===n){(r=r.slice()).splice(a,1);break}}i.tween=r}}:function(t,n,e){var r,i;if("function"!=typeof e)throw Error();return function(){var o=t7(this,t),a=o.tween;if(a!==r){i=(r=a).slice();for(var u={name:n,value:e},s=0,l=i.length;s<l;++s)if(i[s].name===n){i[s]=u;break}s===l&&i.push(u)}o.tween=i}})(e,t,n))},delay:function(t){var n=this._id;return arguments.length?this.each(("function"==typeof t?function(t,n){return function(){t9(this,t).delay=+n.apply(this,arguments)}}:function(t,n){return n*=1,function(){t9(this,t).delay=n}})(n,t)):nt(this.node(),n).delay},duration:function(t){var n=this._id;return arguments.length?this.each(("function"==typeof t?function(t,n){return function(){t7(this,t).duration=+n.apply(this,arguments)}}:function(t,n){return n*=1,function(){t7(this,t).duration=n}})(n,t)):nt(this.node(),n).duration},ease:function(t){var n=this._id;return arguments.length?this.each(function(t,n){if("function"!=typeof n)throw Error();return function(){t7(this,t).ease=n}}(n,t)):nt(this.node(),n).ease},easeVarying:function(t){var n;if("function"!=typeof t)throw Error();return this.each((n=this._id,function(){var e=t.apply(this,arguments);if("function"!=typeof e)throw Error();t7(this,n).ease=e}))},end:function(){var t,n,e=this,r=e._id,i=e.size();return new Promise(function(o,a){var u={value:a},s={value:function(){0==--i&&o()}};e.each(function(){var e=t7(this,r),i=e.on;i!==t&&((n=(t=i).copy())._.cancel.push(u),n._.interrupt.push(u),n._.end.push(s)),e.on=n}),0===i&&o()})},[Symbol.iterator]:nd[Symbol.iterator]},t.s(["cubicInOut",0,nv,"cubicOut",0,function(t){return--t*t*t+1}],21972);var ny={time:null,delay:0,duration:250,ease:nv};G.prototype.interrupt=function(t){return this.each(function(){nn(this,t)})},G.prototype.transition=function(t){var n,e;t instanceof np?(n=t._id,t=t._name):(n=++nh,(e=ny).time=tQ(),t=null==t?null:t+"");for(var r=this._groups,i=r.length,o=0;o<i;++o)for(var a,u=r[o],s=u.length,l=0;l<s;++l)(a=u[l])&&t4(a,t,n,l,u,e||function(t,n){for(var e;!(e=t.__transition)||!(e=e[n]);)if(!(t=t.parentNode))throw Error(`transition ${n} not found`);return e}(a,n));return new np(r,this._parents,t,n)};let{abs:ng,max:n_,min:nm}=Math;function nx(t){return{type:t}}function nw(t){return((t=Math.exp(t))+1/t)/2}["w","e"].map(nx),["n","s"].map(nx),["n","w","e","s","nw","ne","sw","se"].map(nx);let nb=function t(n,e,r){function i(t,i){var o,a,u=t[0],s=t[1],l=t[2],f=i[0],c=i[1],h=i[2],p=f-u,d=c-s,v=p*p+d*d;if(v<1e-12)a=Math.log(h/l)/n,o=function(t){return[u+t*p,s+t*d,l*Math.exp(n*t*a)]};else{var y=Math.sqrt(v),g=(h*h-l*l+r*v)/(2*l*e*y),_=(h*h-l*l-r*v)/(2*h*e*y),m=Math.log(Math.sqrt(g*g+1)-g);a=(Math.log(Math.sqrt(_*_+1)-_)-m)/n,o=function(t){var r,i,o=t*a,f=nw(m),c=l/(e*y)*(f*(((r=Math.exp(2*(r=n*o+m)))-1)/(r+1))-((i=Math.exp(i=m))-1/i)/2);return[u+c*p,s+c*d,l*f/nw(n*o+m)]}}return o.duration=1e3*a*n/Math.SQRT2,o}return i.rho=function(n){var e=Math.max(.001,+n),r=e*e;return t(e,r,r*r)},i}(Math.SQRT2,2,4),nN=t=>()=>t;function nM(t,{sourceEvent:n,target:e,transform:r,dispatch:i}){Object.defineProperties(this,{type:{value:t,enumerable:!0,configurable:!0},sourceEvent:{value:n,enumerable:!0,configurable:!0},target:{value:e,enumerable:!0,configurable:!0},transform:{value:r,enumerable:!0,configurable:!0},_:{value:i}})}function nk(t,n,e){this.k=t,this.x=n,this.y=e}nk.prototype={constructor:nk,scale:function(t){return 1===t?this:new nk(this.k*t,this.x,this.y)},translate:function(t,n){return 0===t&0===n?this:new nk(this.k,this.x+this.k*t,this.y+this.k*n)},apply:function(t){return[t[0]*this.k+this.x,t[1]*this.k+this.y]},applyX:function(t){return t*this.k+this.x},applyY:function(t){return t*this.k+this.y},invert:function(t){return[(t[0]-this.x)/this.k,(t[1]-this.y)/this.k]},invertX:function(t){return(t-this.x)/this.k},invertY:function(t){return(t-this.y)/this.k},rescaleX:function(t){return t.copy().domain(t.range().map(this.invertX,this).map(t.invert,t))},rescaleY:function(t){return t.copy().domain(t.range().map(this.invertY,this).map(t.invert,t))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};var nA=new nk(1,0,0);function nE(t){for(;!t.__zoom;)if(!(t=t.parentNode))return nA;return t.__zoom}function nz(t){t.stopImmediatePropagation()}function nS(t){t.preventDefault(),t.stopImmediatePropagation()}function n$(t){return(!t.ctrlKey||"wheel"===t.type)&&!t.button}function nT(){var t=this;return t instanceof SVGElement?(t=t.ownerSVGElement||t).hasAttribute("viewBox")?[[(t=t.viewBox.baseVal).x,t.y],[t.x+t.width,t.y+t.height]]:[[0,0],[t.width.baseVal.value,t.height.baseVal.value]]:[[0,0],[t.clientWidth,t.clientHeight]]}function nq(){return this.__zoom||nA}function nC(t){return-t.deltaY*(1===t.deltaMode?.05:t.deltaMode?1:.002)*(t.ctrlKey?10:1)}function nP(){return navigator.maxTouchPoints||"ontouchstart"in this}function nX(t,n,e){var r=t.invertX(n[0][0])-e[0][0],i=t.invertX(n[1][0])-e[1][0],o=t.invertY(n[0][1])-e[0][1],a=t.invertY(n[1][1])-e[1][1];return t.translate(i>r?(r+i)/2:Math.min(0,r)||Math.max(0,i),a>o?(o+a)/2:Math.min(0,o)||Math.max(0,a))}nE.prototype=nk.prototype,t.s(["Transform",0,nk,"default",0,nE,"identity",0,nA],7394),t.s(["default",0,function(){var t,n,e,i=n$,o=nT,a=nX,u=nC,s=nP,l=[0,1/0],f=[[-1/0,-1/0],[1/0,1/0]],c=250,h=nb,p=r("start","zoom","end"),d=0,v=10;function y(t){t.property("__zoom",nq).on("wheel.zoom",N,{passive:!1}).on("mousedown.zoom",M).on("dblclick.zoom",k).filter(s).on("touchstart.zoom",A).on("touchmove.zoom",E).on("touchend.zoom touchcancel.zoom",z).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function g(t,n){return(n=Math.max(l[0],Math.min(l[1],n)))===t.k?t:new nk(n,t.x,t.y)}function _(t,n,e){var r=n[0]-e[0]*t.k,i=n[1]-e[1]*t.k;return r===t.x&&i===t.y?t:new nk(t.k,r,i)}function m(t){return[(+t[0][0]+ +t[1][0])/2,(+t[0][1]+ +t[1][1])/2]}function x(t,n,e,r){t.on("start.zoom",function(){w(this,arguments).event(r).start()}).on("interrupt.zoom end.zoom",function(){w(this,arguments).event(r).end()}).tween("zoom",function(){var t=arguments,i=w(this,t).event(r),a=o.apply(this,t),u=null==e?m(a):"function"==typeof e?e.apply(this,t):e,s=Math.max(a[1][0]-a[0][0],a[1][1]-a[0][1]),l=this.__zoom,f="function"==typeof n?n.apply(this,t):n,c=h(l.invert(u).concat(s/l.k),f.invert(u).concat(s/f.k));return function(t){if(1===t)t=f;else{var n=c(t),e=s/n[2];t=new nk(e,u[0]-n[0]*e,u[1]-n[1]*e)}i.zoom(null,t)}})}function w(t,n,e){return!e&&t.__zooming||new b(t,n)}function b(t,n){this.that=t,this.args=n,this.active=0,this.sourceEvent=null,this.extent=o.apply(t,n),this.taps=0}function N(t,...n){if(i.apply(this,arguments)){var e=w(this,n).event(t),r=this.__zoom,o=Math.max(l[0],Math.min(l[1],r.k*Math.pow(2,u.apply(this,arguments)))),s=tB(t);if(e.wheel)(e.mouse[0][0]!==s[0]||e.mouse[0][1]!==s[1])&&(e.mouse[1]=r.invert(e.mouse[0]=s)),clearTimeout(e.wheel);else{if(r.k===o)return;e.mouse=[s,r.invert(s)],nn(this),e.start()}nS(t),e.wheel=setTimeout(function(){e.wheel=null,e.end()},150),e.zoom("mouse",a(_(g(r,o),e.mouse[0],e.mouse[1]),e.extent,f))}}function M(t,...n){if(!e&&i.apply(this,arguments)){var r=t.currentTarget,o=w(this,n,!0).event(t),u=W(t.view).on("mousemove.zoom",function(t){if(nS(t),!o.moved){var n=t.clientX-l,e=t.clientY-c;o.moved=n*n+e*e>d}o.event(t).zoom("mouse",a(_(o.that.__zoom,o.mouse[0]=tB(t,r),o.mouse[1]),o.extent,f))},!0).on("mouseup.zoom",function(t){u.on("mousemove.zoom mouseup.zoom",null),Z(t.view,o.moved),nS(t),o.event(t).end()},!0),s=tB(t,r),l=t.clientX,c=t.clientY;J(t.view),nz(t),o.mouse=[s,this.__zoom.invert(s)],nn(this),o.start()}}function k(t,...n){if(i.apply(this,arguments)){var e=this.__zoom,r=tB(t.changedTouches?t.changedTouches[0]:t,this),u=e.invert(r),s=e.k*(t.shiftKey?.5:2),l=a(_(g(e,s),r,u),o.apply(this,n),f);nS(t),c>0?W(this).transition().duration(c).call(x,l,r,t):W(this).call(y.transform,l,r,t)}}function A(e,...r){if(i.apply(this,arguments)){var o,a,u,s,l=e.touches,f=l.length,c=w(this,r,e.changedTouches.length===f).event(e);for(nz(e),a=0;a<f;++a)s=[s=tB(u=l[a],this),this.__zoom.invert(s),u.identifier],c.touch0?c.touch1||c.touch0[2]===s[2]||(c.touch1=s,c.taps=0):(c.touch0=s,o=!0,c.taps=1+!!t);t&&(t=clearTimeout(t)),o&&(c.taps<2&&(n=s[0],t=setTimeout(function(){t=null},500)),nn(this),c.start())}}function E(t,...n){if(this.__zooming){var e,r,i,o,u=w(this,n).event(t),s=t.changedTouches,l=s.length;for(nS(t),e=0;e<l;++e)i=tB(r=s[e],this),u.touch0&&u.touch0[2]===r.identifier?u.touch0[0]=i:u.touch1&&u.touch1[2]===r.identifier&&(u.touch1[0]=i);if(r=u.that.__zoom,u.touch1){var c=u.touch0[0],h=u.touch0[1],p=u.touch1[0],d=u.touch1[1],v=(v=p[0]-c[0])*v+(v=p[1]-c[1])*v,y=(y=d[0]-h[0])*y+(y=d[1]-h[1])*y;r=g(r,Math.sqrt(v/y)),i=[(c[0]+p[0])/2,(c[1]+p[1])/2],o=[(h[0]+d[0])/2,(h[1]+d[1])/2]}else{if(!u.touch0)return;i=u.touch0[0],o=u.touch0[1]}u.zoom("touch",a(_(r,i,o),u.extent,f))}}function z(t,...r){if(this.__zooming){var i,o,a=w(this,r).event(t),u=t.changedTouches,s=u.length;for(nz(t),e&&clearTimeout(e),e=setTimeout(function(){e=null},500),i=0;i<s;++i)o=u[i],a.touch0&&a.touch0[2]===o.identifier?delete a.touch0:a.touch1&&a.touch1[2]===o.identifier&&delete a.touch1;if(a.touch1&&!a.touch0&&(a.touch0=a.touch1,delete a.touch1),a.touch0)a.touch0[1]=this.__zoom.invert(a.touch0[0]);else if(a.end(),2===a.taps&&(o=tB(o,this),Math.hypot(n[0]-o[0],n[1]-o[1])<v)){var l=W(this).on("dblclick.zoom");l&&l.apply(this,arguments)}}}return y.transform=function(t,n,e,r){var i=t.selection?t.selection():t;i.property("__zoom",nq),t!==i?x(t,n,e,r):i.interrupt().each(function(){w(this,arguments).event(r).start().zoom(null,"function"==typeof n?n.apply(this,arguments):n).end()})},y.scaleBy=function(t,n,e,r){y.scaleTo(t,function(){var t=this.__zoom.k,e="function"==typeof n?n.apply(this,arguments):n;return t*e},e,r)},y.scaleTo=function(t,n,e,r){y.transform(t,function(){var t=o.apply(this,arguments),r=this.__zoom,i=null==e?m(t):"function"==typeof e?e.apply(this,arguments):e,u=r.invert(i),s="function"==typeof n?n.apply(this,arguments):n;return a(_(g(r,s),i,u),t,f)},e,r)},y.translateBy=function(t,n,e,r){y.transform(t,function(){return a(this.__zoom.translate("function"==typeof n?n.apply(this,arguments):n,"function"==typeof e?e.apply(this,arguments):e),o.apply(this,arguments),f)},null,r)},y.translateTo=function(t,n,e,r,i){y.transform(t,function(){var t=o.apply(this,arguments),i=this.__zoom,u=null==r?m(t):"function"==typeof r?r.apply(this,arguments):r;return a(nA.translate(u[0],u[1]).scale(i.k).translate("function"==typeof n?-n.apply(this,arguments):-n,"function"==typeof e?-e.apply(this,arguments):-e),t,f)},r,i)},b.prototype={event:function(t){return t&&(this.sourceEvent=t),this},start:function(){return 1==++this.active&&(this.that.__zooming=this,this.emit("start")),this},zoom:function(t,n){return this.mouse&&"mouse"!==t&&(this.mouse[1]=n.invert(this.mouse[0])),this.touch0&&"touch"!==t&&(this.touch0[1]=n.invert(this.touch0[0])),this.touch1&&"touch"!==t&&(this.touch1[1]=n.invert(this.touch1[0])),this.that.__zoom=n,this.emit("zoom"),this},end:function(){return 0==--this.active&&(delete this.that.__zooming,this.emit("end")),this},emit:function(t){var n=W(this.that).datum();p.call(t,this.that,new nM(t,{sourceEvent:this.sourceEvent,target:y,type:t,transform:this.that.__zoom,dispatch:p}),n)}},y.wheelDelta=function(t){return arguments.length?(u="function"==typeof t?t:nN(+t),y):u},y.filter=function(t){return arguments.length?(i="function"==typeof t?t:nN(!!t),y):i},y.touchable=function(t){return arguments.length?(s="function"==typeof t?t:nN(!!t),y):s},y.extent=function(t){return arguments.length?(o="function"==typeof t?t:nN([[+t[0][0],+t[0][1]],[+t[1][0],+t[1][1]]]),y):o},y.scaleExtent=function(t){return arguments.length?(l[0]=+t[0],l[1]=+t[1],y):[l[0],l[1]]},y.translateExtent=function(t){return arguments.length?(f[0][0]=+t[0][0],f[1][0]=+t[1][0],f[0][1]=+t[0][1],f[1][1]=+t[1][1],y):[[f[0][0],f[0][1]],[f[1][0],f[1][1]]]},y.constrain=function(t){return arguments.length?(a=t,y):a},y.duration=function(t){return arguments.length?(c=+t,y):c},y.interpolate=function(t){return arguments.length?(h=t,y):h},y.on=function(){var t=p.on.apply(p,arguments);return t===p?y:t},y.clickDistance=function(t){return arguments.length?(d=(t*=1)*t,y):Math.sqrt(d)},y.tapDistance=function(t){return arguments.length?(v=+t,y):v},y}],36755),t.s([],47716)}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,94657,e=>{"use strict";var t=e.i(43476),n=e.i(71645),r=e.i(7837);let o=e=>`${e.name} ${e.was} → ${e.estimated?"estimated":e.now}`,i=e=>({padding:"6px 12px",borderRadius:7,cursor:"pointer",fontSize:12,fontWeight:700,border:e?"none":"1px solid rgba(255,255,255,0.15)",background:e?"linear-gradient(135deg, #00ff88, #3498DB)":"transparent",color:e?"#000":"#cfd8d8"});function s({onAnswered:e}){var a;let l,c,[d,u]=(0,n.useState)(null),[p,h]=(0,n.useState)(!1),[g,f]=(0,n.useState)(()=>new Set),[y,m]=(0,n.useState)(!1),[b,x]=(0,n.useState)(null);if((0,n.useEffect)(()=>{if((0,r.csvNetworkSource)())return;let e=!1;return fetch("/api/company-scores/legacy").then(e=>e.json()).then(t=>{!e&&t.offer?.companies?.length&&(u(t.offer),f(new Set(t.offer.companies.map(e=>e.name))))}).catch(()=>{}),()=>{e=!0}},[]),!d)return null;let w=async t=>{m(!0),x(null);try{let n=await fetch("/api/company-scores/legacy",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({keep:t})}),r=await n.json();if(!n.ok&&!r.kept)throw Error(r.error||"Could not save your answer.");u(null),e?.({kept:r.kept||[],scored:r.scored||0,error:n.ok?null:r.error})}catch(e){x(e.message)}finally{m(!1)}};return(0,t.jsxs)("section",{"aria-label":"Built-in scores changed",style:{marginBottom:14,padding:14,borderRadius:10,border:"1px solid rgba(255,215,0,0.35)",background:"rgba(255,215,0,0.06)",fontSize:12.5,color:"#cfd8d8",lineHeight:1.6},children:[(0,t.jsx)("b",{style:{color:"#fff"},children:"Built-in scores changed in this version:"})," ",(l=(a=d.companies).slice(0,3).map(o).join(", "),(c=a.length-3)>0?`${l} and ${c} more`:l),"."," ","Keep any of the old ones as your own?",(0,t.jsx)("div",{style:{marginTop:4,color:"#8b9a9a"},children:"The built-in list now holds only companies most professionals would recognise, scored the same for everyone; anything else is estimated from your network. A score you keep is yours, like one you set below, and Auto hands it back."}),p&&(0,t.jsx)("ul",{style:{listStyle:"none",padding:0,margin:"10px 0 0",display:"grid",gap:4},children:d.companies.map(e=>(0,t.jsx)("li",{children:(0,t.jsxs)("label",{style:{display:"flex",gap:8,alignItems:"baseline",cursor:"pointer"},children:[(0,t.jsx)("input",{type:"checkbox",checked:g.has(e.name),disabled:y,onChange:()=>{let t;return t=e.name,f(e=>{let n=new Set(e);return n.has(t)?n.delete(t):n.add(t),n})}}),(0,t.jsxs)("span",{children:[(0,t.jsx)("b",{style:{color:"#fff"},children:e.name})," ",e.was," → ",e.estimated?`estimated (${e.now})`:e.now,(0,t.jsxs)("span",{style:{color:"#778"},children:[` \xb7 ${e.people} ${1===e.people?"person":"people"} there now`,e.names.length>1&&` \xb7 for ${e.names.join(", ")}`]})]})]})},e.name))}),(0,t.jsxs)("div",{style:{display:"flex",gap:8,marginTop:10,flexWrap:"wrap"},children:[p?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("button",{disabled:y||!g.size,onClick:()=>w([...g]),style:{...i(!0),opacity:y||!g.size?.5:1},children:["Keep ",g.size," ",1===g.size?"score":"scores"]}),(0,t.jsx)("button",{disabled:y,onClick:()=>h(!1),style:i(!1),children:"Back"})]}):(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("button",{disabled:y,onClick:()=>w(d.companies.map(e=>e.name)),style:i(!0),children:"Keep all"}),(0,t.jsx)("button",{disabled:y,onClick:()=>h(!0),style:i(!1),children:"Choose…"})]}),(0,t.jsx)("button",{disabled:y,onClick:()=>w([]),style:i(!1),children:"No thanks"})]}),b&&(0,t.jsx)("div",{role:"alert",style:{marginTop:8,color:"#e74c3c"},children:b})]})}let a="1px solid rgba(255,255,255,0.1)",l={yours:{label:"your score",color:"#00ff88"},known:{label:"known list",color:"#3498DB"},data:{label:"public data",color:"#1abc9c"},network:{label:"estimated: many of your people",color:"#FF6B35"},default:{label:"unknown company",color:"#778"}};async function c(){let e=await fetch("/api/company-scores"),t=await e.json();if(!e.ok)throw Error(t.error||"Could not load company scores");return t.companies}function d(){let[e,t]=(0,n.useState)(null),[r,o]=(0,n.useState)(null);return(0,n.useEffect)(()=>{let e=!1;return c().then(n=>{e||t(n)}).catch(t=>{e||o(t.message)}),()=>{e=!0}},[]),{companies:e,error:r,setScore:(0,n.useCallback)(async(e,n)=>{let r=await fetch("/api/company-scores",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:e,score:n})}),o=await r.json();if(!r.ok)throw Error(o.error||"Could not save");return t(await c()),o},[]),reload:(0,n.useCallback)(async()=>t(await c()),[])}}function u({company:e,onSet:r,compact:o}){let[i,s]=(0,n.useState)(!1),l=async t=>{s(!0);try{await r(e.name,"auto"===t?null:Number(t))}finally{s(!1)}};return(0,t.jsxs)("select",{disabled:i,value:"yours"===e.source?String(e.score):"auto",onChange:e=>l(e.target.value),title:"Set this company's score. Auto uses the known list or an estimate.",style:{padding:o?"2px 4px":"4px 6px",borderRadius:6,border:a,background:"#11131c",color:"#dfe6e9",fontSize:12},children:[(0,t.jsxs)("option",{value:"auto",children:["Auto (","yours"===e.source?e.suggested??"est.":e.score,")"]}),[10,9,8,7,6,5,4,3,2,1].map(e=>(0,t.jsx)("option",{value:e,children:e},e))]})}e.s(["ScorePicker",0,u,"default",0,function({onRescored:e,version:r=0}){let{companies:o,error:i,setScore:c,reload:p}=d();(0,n.useEffect)(()=>{r&&p().catch(()=>{})},[r,p]);let[h,g]=(0,n.useState)(""),[f,y]=(0,n.useState)("all"),[m,b]=(0,n.useState)(150),[x,w]=(0,n.useState)(null),S=e=>{w(e),setTimeout(()=>w(null),3500)},k=async(t,n)=>{let r=await c(t,n);S(`${t}: ${null==n?"back to auto":`set to ${n}`} \xb7 rescored ${r.scored} people`),e?.()},v=async({kept:t,scored:n,error:r})=>{if(!t.length)return S("Keeping the new built-in scores.");S(r||`Kept ${t.length} old ${1===t.length?"score":"scores"} as your own \xb7 rescored ${n} people`),await p().catch(()=>{}),e?.()},j=(0,n.useMemo)(()=>{if(!o)return[];let e=h.trim().toLowerCase();return o.filter(t=>(!e||t.name.toLowerCase().includes(e))&&("all"===f||t.source===f))},[o,h,f]);if(i)return(0,t.jsx)("div",{style:{padding:24,color:"#e74c3c"},children:i});if(!o)return(0,t.jsx)("div",{style:{padding:24,color:"#778"},children:"Loading companies…"});let C=e=>o.filter(t=>t.source===e).length;return(0,t.jsxs)("div",{style:{flex:1,overflow:"auto",padding:16},children:[(0,t.jsxs)("div",{style:{maxWidth:980,margin:"0 auto"},children:[(0,t.jsx)(s,{onAnswered:v}),(0,t.jsxs)("div",{style:{padding:14,borderRadius:10,border:a,background:"rgba(255,255,255,0.03)",fontSize:12.5,color:"#cfd8d8",lineHeight:1.6},children:[(0,t.jsx)("b",{style:{color:"#fff"},children:"How a power score works."})," power = ",(0,t.jsx)("b",{children:"title"})," × ",(0,t.jsx)("b",{children:"company weight"})," + bonus. The title (student 1 … founder or C-suite 10) comes from someone’s roles, with former roles at 70%; an audience of their own counts like a title (1M+ followers like a director). The company weight runs from 0.725 for a company we don’t know (or none found), the middle of the scale, to 1.0 (a company scored 10), so seniority counts for more at a bigger company. The bonus is at most +1.5, for investor, YC, an audience in the millions or the top award of any field, and counts half at an unknown company. A 1st-degree person whose circle is unusually strong gets up to +2 more: up to +1 for a high share of it at A or S, or +1 for every 25 people there. Tiers are graded on your network’s curve unless you choose the fixed scale (",(0,t.jsx)("a",{href:"#tiers",style:{color:"#3498DB"},children:"Tiers"}),", above): your top 3% are S, the next 12% A, the next 25% B (it only lifts, and never lifts anyone under 4 into S or A). On the fixed scale, S ≥ 7.5 · A ≥ 5.5 · B ≥ 4 · C ≥ 2.5.",(0,t.jsxs)("div",{style:{marginTop:6,color:"#8b9a9a"},children:["So a VP at a 10 scores 9.0, a founder at an unknown company 7.3, a director at an unknown company 5.4, and an intern at a 10 scores 2.0. Set a company’s score below and everyone there is rescored. Companies in the sectors you pick (",(0,t.jsx)("a",{href:"#sector",style:{color:"#3498DB"},children:"Your sector"}),", above) get +1 or +2; a score you set is never changed."]})]}),(0,t.jsxs)("div",{style:{display:"flex",gap:8,alignItems:"center",flexWrap:"wrap",margin:"14px 0 10px"},children:[(0,t.jsx)("input",{value:h,onChange:e=>g(e.target.value),placeholder:"Find a company",style:{padding:"6px 10px",borderRadius:7,border:a,background:"rgba(255,255,255,0.05)",color:"#fff",fontSize:13,minWidth:180}}),[["all",`All ${o.length}`],["known",`Known list ${C("known")}`],["data",`Public data ${C("data")}`],["yours",`Yours ${C("yours")}`],["network",`Estimated ${C("network")}`],["default",`Unknown ${C("default")}`]].map(([e,n])=>(0,t.jsx)("button",{onClick:()=>y(e),style:{padding:"5px 10px",borderRadius:7,border:a,cursor:"pointer",fontSize:11.5,fontWeight:600,background:f===e?"rgba(52,152,219,0.25)":"transparent",color:f===e?"#cfe6f7":"#8b9a9a"},children:n},e))]}),(0,t.jsxs)("div",{style:{borderRadius:10,border:a,overflow:"hidden"},children:[(0,t.jsxs)("div",{style:{display:"grid",gridTemplateColumns:"1fr 70px 70px 70px 60px 180px 110px",gap:8,padding:"8px 12px",fontSize:10.5,letterSpacing:.6,color:"#8b9a9a",background:"rgba(255,255,255,0.04)"},children:[(0,t.jsx)("span",{children:"COMPANY"}),(0,t.jsx)("span",{style:{textAlign:"right"},children:"PEOPLE"}),(0,t.jsx)("span",{style:{textAlign:"right"},children:"YOU KNOW"}),(0,t.jsx)("span",{style:{textAlign:"right"},children:"DIRECTOR+"}),(0,t.jsx)("span",{style:{textAlign:"right"},children:"SCORE"}),(0,t.jsx)("span",{children:"SOURCE"}),(0,t.jsx)("span",{children:"SET"})]}),j.slice(0,m).map(e=>(0,t.jsxs)("div",{style:{display:"grid",gridTemplateColumns:"1fr 70px 70px 70px 60px 180px 110px",gap:8,padding:"7px 12px",alignItems:"center",borderTop:"1px solid rgba(255,255,255,0.05)",fontSize:12.5},children:[(0,t.jsxs)("span",{style:{display:"flex",alignItems:"center",gap:8,minWidth:0},children:[(0,t.jsx)("span",{title:`${e.industry.label} (inferred)`,style:{width:8,height:8,borderRadius:"50%",background:e.industry.color,flexShrink:0}}),(0,t.jsx)("span",{style:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:e.name})]}),(0,t.jsx)("span",{style:{textAlign:"right"},children:e.people}),(0,t.jsx)("span",{style:{textAlign:"right",color:e.d1?"#00ff88":"#556"},children:e.d1}),(0,t.jsx)("span",{style:{textAlign:"right",color:e.senior?"#FFD700":"#556"},children:e.senior}),(0,t.jsx)("b",{style:{textAlign:"right",fontSize:15},children:e.score}),(0,t.jsxs)("span",{style:{fontSize:11,color:l[e.source]?.color},children:[l[e.source]?.label,e.sectorBonus>0&&(0,t.jsxs)("span",{style:{color:"#00ff88"},children:[" + ",e.sectorBonus," your sector"]})]}),(0,t.jsx)(u,{company:e,onSet:k,compact:!0})]},e.name))]}),j.length>m&&(0,t.jsxs)("button",{onClick:()=>b(e=>e+300),style:{marginTop:10,padding:"7px 14px",borderRadius:8,border:a,background:"rgba(255,255,255,0.05)",color:"#dfe6e9",cursor:"pointer",fontSize:12},children:["Show more (",j.length-m," left)"]})]}),x&&(0,t.jsx)("div",{role:"status",style:{position:"fixed",bottom:24,left:"50%",transform:"translateX(-50%)",padding:"10px 18px",borderRadius:24,background:"linear-gradient(135deg, #00ff88, #3498DB)",color:"#000",fontWeight:800,fontSize:13,zIndex:50},children:x})]})},"useCompanyScores",0,d],94657)},2776,e=>{"use strict";var t=e.i(43476),n=e.i(15812);e.s(["default",0,function({children:e}){let{userId:r,ready:o}=(0,n.useUser)();return o&&r?e:(0,t.jsx)("div",{style:{minHeight:"100vh",display:"flex",alignItems:"center",justifyContent:"center",background:"#0a0a1a",color:"#fff",padding:24,textAlign:"center",fontFamily:'-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif'},children:o?(0,t.jsxs)("div",{style:{maxWidth:420},children:[(0,t.jsx)("div",{style:{fontSize:18,fontWeight:700,marginBottom:8},children:"Can’t reach Six Degrees’ local server"}),(0,t.jsx)("div",{style:{color:"#888",fontSize:14,lineHeight:1.6},children:"The page loaded but the app behind it is not answering. If you started it from a terminal, check that window for an error, then reload this page."})]}):(0,t.jsx)("div",{style:{fontSize:18,fontWeight:600},children:"Loading…"})})}])},8819,e=>{"use strict";var t=e.i(43476);let n="1px solid rgba(255,255,255,0.1)";function r({children:e,style:n}){return(0,t.jsx)("div",{style:{fontSize:13.5,color:"#8b9a9a",lineHeight:1.6,marginTop:4,...n},children:e})}e.s(["Body",0,r,"Btn",0,function({children:e,onClick:r,disabled:o,primary:i,tone:s,type:a="button"}){return(0,t.jsx)("button",{type:a,onClick:r,disabled:o,style:{padding:"9px 18px",borderRadius:7,fontSize:13.5,fontWeight:650,color:o?"#667":"#fff",border:n,background:o?"rgba(255,255,255,0.05)":"bad"===s?"rgba(255,80,80,0.15)":i?"linear-gradient(135deg, #9B59B6, #3498DB)":"rgba(255,255,255,0.08)",cursor:o?"not-allowed":"pointer"},children:e})},"FONT",0,'-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif',"LINE",0,n,"Mono",0,function({children:e}){return(0,t.jsx)("code",{style:{background:"rgba(255,255,255,0.08)",padding:"1px 5px",borderRadius:4,wordBreak:"break-all"},children:e})},"Section",0,function({id:e,title:o,intro:i,children:s}){return(0,t.jsxs)("section",{id:e,style:{padding:"24px 0",borderBottom:n,scrollMarginTop:16},children:[(0,t.jsx)("h2",{style:{fontSize:16,fontWeight:650,margin:"0 0 6px"},children:o}),i&&(0,t.jsx)(r,{style:{marginTop:0,marginBottom:12},children:i}),s]})},"Status",0,function({children:e,tone:n}){return(0,t.jsxs)("div",{role:"status",style:{marginTop:10,padding:"10px 14px",borderRadius:8,fontSize:13.5,lineHeight:1.6,color:"ok"===n?"#00ff88":"bad"===n?"#ff7676":"#e8e8ee",background:"ok"===n?"rgba(0,255,136,0.08)":"bad"===n?"rgba(255,80,80,0.08)":"rgba(255,255,255,0.05)",border:`1px solid ${"ok"===n?"rgba(0,255,136,0.3)":"bad"===n?"rgba(255,80,80,0.3)":"rgba(255,255,255,0.12)"}`},children:["ok"===n&&"✓ ",e]})}])},98083,e=>{"use strict";var t=e.i(43476),n=e.i(71645),r=e.i(22016),o=e.i(2776),i=e.i(8819),s=e.i(98197),a=e.i(44944),l=e.i(77170),c=e.i(69083),d=e.i(90179),u=e.i(5258),p=e.i(7837),h=e.i(56899);let g={lean:"Lean",strong:"Strong"},f=["wheel","touchstart","keydown","pointerdown"],y={1:"1st",2:"2nd",3:"3rd"},m=(e,t,n=`${t}s`)=>`${e.toLocaleString()} ${1===e?t:n}`,b=l.DIRECTORY.filter(e=>"function"===e.kind).map(e=>e.label);function x(e,t,n){let[r,o]=n?["moved","moved"]:["moves","move"];if(!e&&!t)return n?"No one changed tier.":"No one changes tier.";let i=e=>1===e?r:o;return e&&t?`${m(e,"person","people")} ${i(e)} up a tier and ${t.toLocaleString()} ${i(t)} down.`:e?`${m(e,"person","people")} ${i(e)} up a tier.`:`${m(t,"person","people")} ${i(t)} down a tier.`}function w({onSaved:e}={}){let[r,o]=(0,n.useState)(null),[l,u]=(0,n.useState)(null),[y,k]=(0,n.useState)(null),[v,j]=(0,n.useState)(!1),[C,T]=(0,n.useState)(null),[B,I]=(0,n.useState)(null),[$,A]=(0,n.useState)({loading:!0}),[R]=(0,n.useState)(()=>(0,p.csvNetworkSource)()),E=(0,n.useRef)(null),z=(0,n.useRef)(0),F=(0,n.useRef)(!1);function N(e){u(e),T(null),clearTimeout(E.current);let t=++z.current;if((0,a.sameFocus)(e,r))return void k(null);let n=(0,a.focusFingerprint)(e);k({key:n,loading:!0}),E.current=setTimeout(async()=>{try{let r=await fetch("/api/settings/sector-preview",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({sectorFocus:e})}),o=await r.json();if(t!==z.current)return;k(r.ok?{key:n,...o}:{key:n,error:o.error||"Could not work out what would change."})}catch{t===z.current&&k({key:n,error:"Could not reach the app to work out what would change."})}},250)}async function D(){var t,n;let r;j(!0),T(null),clearTimeout(E.current),z.current++;let i=await (0,h.saveSettings)({sectorFocus:l});(j(!1),i.settings&&(o(i.settings.sectorFocus),u(i.settings.sectorFocus),k(null)),i.error)?T({tone:"bad",text:i.error}):(T({tone:"ok",text:(t=i.settings.sectorFocus,n=i.effects?.sectorFocus,r=t.sectors.length?`Saved: ${t.sectors.map(e=>(0,c.sectorByKey)(e).label).join(" · ")} (${g[t.strength].toLowerCase()}).`:"Saved: no sector.",n?n.scored?`${r} Rescored your network (${m(n.people??n.scored,"person","people")}). ${x(n.up,n.down,!0)}`:`${r} There's no scanned network yet; it will apply when you scan.`:r)}),e?.())}(0,n.useEffect)(()=>{let e=!1;return fetch("/api/settings").then(e=>e.json().then(t=>e.ok?t:Promise.reject(Error(t.error||"Could not load your sector.")))).then(t=>{if(e)return;let n=t.settings?.sectorFocus||{sectors:[],strength:"lean"};o(n),u(n)}).catch(t=>{e||I(t.message)}),fetch("/api/settings/sector-suggestions").then(e=>e.json().then(t=>e.ok?t:Promise.reject(Error(t.error||"Could not load suggestions.")))).then(t=>{e||A({scored:t.scored,list:t.suggestions||[]})}).catch(t=>{e||A({error:t.message})}),()=>{e=!0,clearTimeout(E.current)}},[]),(0,n.useEffect)(()=>{if(F.current||!l&&!B)return;F.current=!0;let e=document.getElementById("sector");if("#sector"!==window.location.hash||!e)return;let t=()=>e.scrollIntoView({block:"start"});t();let n=new ResizeObserver(t);n.observe(document.body);let r=()=>{for(let e of(n.disconnect(),clearTimeout(o),f))window.removeEventListener(e,r,!0)},o=setTimeout(r,2e3);for(let e of f)window.addEventListener(e,r,{capture:!0,passive:!0});return r},[l,B]);let M=l&&r&&!(0,a.sameFocus)(l,r);return(0,t.jsxs)(i.Section,{id:"sector",title:"Your sector",intro:"Pick up to three sectors you work in. Companies in them count for more when your network is scored, so the people there rank higher.",children:[B&&(0,t.jsx)(i.Status,{tone:"bad",children:B}),!l&&!B&&(0,t.jsx)(i.Body,{children:"Loading…"}),l&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(s.default,{sectors:l.sectors,onChange:e=>N({...l,sectors:e}),disabled:v,suggest:$}),(0,t.jsxs)("div",{style:{display:"flex",alignItems:"center",flexWrap:"wrap",gap:8,marginTop:14},children:[(0,t.jsx)("span",{style:{fontSize:13,color:"#8b9a9a"},children:"How much:"}),Object.keys(d.SECTOR_BONUS).map(e=>(0,t.jsxs)("button",{type:"button","aria-pressed":l.strength===e,disabled:v,onClick:()=>N({...l,strength:e}),style:{padding:"5px 12px",borderRadius:7,fontSize:12.5,fontWeight:600,cursor:"pointer",color:l.strength===e?"#fff":"#8b9a9a",background:l.strength===e?"rgba(52,152,219,0.25)":"transparent",border:i.LINE},children:[g[e]," · +",d.SECTOR_BONUS[e]]},e))]}),(0,t.jsx)(i.Body,{style:{fontSize:12.5},children:"Each company in your sectors gets +1 (lean) or +2 (strong) on its score out of 10, never above 10. A company in more than one of your picks still gets it once."}),(0,t.jsx)(S,{preview:M?y:null,draft:l}),(0,t.jsxs)("div",{style:{display:"flex",gap:8,flexWrap:"wrap",marginTop:14},children:[(0,t.jsx)(i.Btn,{primary:!0,onClick:D,disabled:!M||v,children:v?"Saving and rescoring…":"Save"}),M&&!v&&(0,t.jsx)(i.Btn,{onClick:()=>N(r),children:"Cancel"}),!M&&l.sectors.length>0&&!v&&(0,t.jsx)(i.Btn,{onClick:()=>N({...l,sectors:[]}),children:"Turn off"})]}),C&&(0,t.jsx)(i.Status,{tone:C.tone,children:C.text}),(0,t.jsxs)("ul",{style:{margin:"16px 0 0",paddingLeft:18,fontSize:12.5,color:"#778",lineHeight:1.7},children:[(0,t.jsx)("li",{children:"Tiers rank how reachable someone is through your network, not the people themselves."}),(0,t.jsxs)("li",{children:["A company score you set on ",(0,t.jsx)("a",{href:"#companies",style:{color:"#3498DB"},children:"Company scores"}),", below, always wins. Your sector never changes it."]}),(0,t.jsx)("li",{children:"If you scan highest tier first, people in your sectors come up sooner. Scanning newest first, the default, doesn’t go by tier."}),(0,t.jsx)("li",{children:"An industry includes its sectors. It counts a company in any of its sectors (Healthcare & Biotech counts a practice that is only in Dental), and a company whose industry the app’s list of well-known companies or the company’s own name gives (Meridian Health). Not one known only from its people’s job titles: a recruiter at Acme Widgets doesn’t make Acme a consulting firm."}),(0,t.jsx)("li",{children:"A narrower sector counts a company when its name says so (Smith Family Dental), it’s a well-known company in that sector, or at least half of the people you know there say so in their headlines (dentist, DDS, orthodontist). The words are a fixed list that comes with the app, the same on every computer. Nothing is sent anywhere."}),(0,t.jsxs)("li",{children:["Some sectors are work every kind of company has: ",b.length>1?`${b.slice(0,-1).join(", ")} and ${b.at(-1)}`:b.join(""),". For those a job title doesn’t count, since a recruiter at Acme Widgets doesn’t make it a recruiting firm. The company’s name does (Acme Staffing, Smith CPA), and so does a kind of firm in a headline (staffing agency, law firm, SaaS)."]}),R&&(0,t.jsxs)("li",{style:{color:"#FFD700"},children:["sample"===R?"The sample network":"The CSV import"," open in this window isn’t changed by this, and isn’t counted in the suggestions. Your sector applies to networks you’ve scanned."]})]})]})]})}function S({preview:e,draft:n}){if(!e||e.key!==(0,a.focusFingerprint)(n))return null;let r={marginTop:12,padding:"10px 14px",borderRadius:8,fontSize:13,lineHeight:1.6,border:i.LINE,background:"rgba(255,255,255,0.03)",color:"#cfd8d8"};if(e.loading)return(0,t.jsx)("div",{style:r,"aria-live":"polite",children:"Working out what would change…"});if(e.error)return(0,t.jsx)(i.Status,{tone:"bad",children:e.error});if(!e.scored)return(0,t.jsx)("div",{style:r,"aria-live":"polite",children:"There’s no scanned network yet, so nothing changes now. Your choice applies once you scan."});let o=(e,t)=>`${m(e,"company","companies")} ${1===e?"scores":"score"} ${t}`,s=[e.companiesUp&&o(e.companiesUp,"higher"),e.companiesDown&&o(e.companiesDown,"lower")].filter(Boolean).join(" and ");return(0,t.jsxs)("div",{style:r,"aria-live":"polite",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("b",{style:{color:"#fff"},children:"If you save:"})," ",s?`${s}.`:"No company changes score."," ",x(e.up,e.down,!1)]}),e.examples?.length>0&&(0,t.jsx)("div",{style:{marginTop:6,display:"flex",flexWrap:"wrap",gap:"4px 12px",fontSize:12.5},children:e.examples.map((e,n)=>(0,t.jsxs)("span",{title:e.company||void 0,children:[e.name,e.degree?(0,t.jsxs)("span",{style:{color:"#667"},children:[" (",y[e.degree]||`${e.degree}th`,")"]}):null," ",(0,t.jsx)("b",{style:{color:u.TIER_COLORS_CLASSIC[e.from]||"#889"},children:e.from||"–"})," → ",(0,t.jsx)("b",{style:{color:u.TIER_COLORS_CLASSIC[e.to]||"#889"},children:e.to})]},n))}),e.companyExamples?.length>0&&(0,t.jsx)("div",{style:{marginTop:4,fontSize:12,color:"#8b9a9a"},children:e.companyExamples.slice(0,3).map(e=>`${e.name} ${e.from} → ${e.to}`).join(" · ")})]})}let k=e=>`${Math.round(100*e)}%`,[v,j,C]=d.CURVE.map(([,e])=>e),T=[{key:"curve",label:"On your network's curve",note:`Your top ${k(v)} are S, the next ${k(j-v)} A and the next ${k(C-j)} B, so any network has a top, even one full of companies the app doesn't know. It only lifts: nobody drops a tier because their network is strong, and nobody under ${d.CURVE_FLOOR} is lifted into S or A.`},{key:"fixed",label:"On the fixed scale",note:"The same lines for everyone: S from 7.5, A from 5.5, B from 4, C from 2.5. Easy to compare from one network to another, but a network outside well-known companies has almost nobody in S or A."}];function B({onSaved:e}={}){let[r,o]=(0,n.useState)(null),[s,a]=(0,n.useState)(!1),[l,c]=(0,n.useState)(null),[d,u]=(0,n.useState)(null),[g]=(0,n.useState)(()=>(0,p.csvNetworkSource)());async function f(t){if(s||t===r)return;a(!0),c(null);let{settings:n,effects:i,error:l}=await (0,h.saveSettings)({tierScale:t});if(n&&o(n.tierScale),l)c({tone:"bad",text:l});else{let t,n=i?.tierScale;c({tone:"ok",text:n?`Saved. ${t=n.moved,`${t.toLocaleString()} ${1===t?"person":"people"}`} changed tier.`:"Saved."}),e?.()}a(!1)}return(0,n.useEffect)(()=>{let e=!1;return fetch("/api/settings").then(e=>e.json().then(t=>e.ok?t:Promise.reject(Error(t.error||"Could not load how tiers are graded.")))).then(t=>{e||o(t.settings?.tierScale||"curve")}).catch(t=>{e||u(t.message)}),()=>{e=!0}},[]),(0,t.jsxs)(i.Section,{id:"tiers",title:"Tiers",intro:"How the S to D rings are drawn. A tier says where someone sits in your network, not what they're worth.",children:[d&&(0,t.jsx)(i.Status,{tone:"bad",children:d}),r&&(0,t.jsx)("div",{role:"radiogroup","aria-label":"How tiers are graded",style:{display:"grid",gap:8},children:T.map(e=>{let n=r===e.key;return(0,t.jsxs)("button",{type:"button",role:"radio","aria-checked":n,disabled:s,onClick:()=>f(e.key),style:{textAlign:"left",padding:"12px 14px",borderRadius:8,cursor:s?"wait":n?"default":"pointer",color:"#fff",background:n?"rgba(155,89,182,0.14)":"rgba(255,255,255,0.03)",border:n?"1px solid rgba(155,89,182,0.6)":i.LINE},children:[(0,t.jsxs)("div",{style:{fontSize:14,fontWeight:650},children:[n?"● ":"○ ",e.label,"curve"===e.key?" (recommended)":""]}),(0,t.jsx)(i.Body,{style:{marginTop:4},children:e.note})]},e.key)})}),g&&(0,t.jsxs)(i.Body,{style:{color:"#FFD700",marginTop:10},children:["sample"===g?"The sample network open in this window keeps its own tiers (they’re the same either way).":"The CSV import open in this window is always graded on its own curve."," ","This applies to networks you’ve scanned."]}),l&&(0,t.jsx)(i.Status,{tone:l.tone,children:l.text})]})}var I=e.i(15812),$=e.i(19821),A=e.i(64666);let R={S:"#FFD700",A:"#9B59B6",B:"#3498DB",C:"#95A5A6",D:"#BDC3C7"},E=e=>`${Math.round(100*e)}%`;function z(){let{userId:e}=(0,I.useUser)(),[o,s]=(0,n.useState)(null),[a,l]=(0,n.useState)(!1);(0,n.useEffect)(()=>{if(!e)return;let t=!0;return(0,$.loadNetwork)(e).then(e=>{t&&s(function({degree1:e=[],degree2:t=[],ties:n=0}={}){let r=new Map;for(let e of t)e?.source_connection_id!=null&&r.set(e.source_connection_id,(r.get(e.source_connection_id)||0)+1);let o=(0,A.exclusiveReach)(t,e),i=e.length,s=Math.max(0,Number(n)||0),a=i?i-2*s/i:0,l=new Map(e.map(e=>[e.id,e])),c=[...o.entries()].sort((e,t)=>t[1].reach-e[1].reach||String(e[0]).localeCompare(String(t[0]))).slice(0,5).map(([e,t])=>{let n=l.get(e)||{};return{id:e,name:n.name||"",company:n.company||"",tier:n.tier||"",circle:r.get(e)||0,only:t.only,share:t.total?t.only/t.total:0}});return{circles:r.size,early:r.size<5,twoWays:(0,A.redundancy)(t,e),effective:{n:i,ties:s,size:a,efficiency:i?a/i:0},top:c}}(e))}).catch(()=>{t&&l(!0)}),()=>{t=!1}},[e]);let c={padding:"12px 14px",borderRadius:8,border:i.LINE,background:"rgba(255,255,255,0.03)"};return(0,t.jsxs)("section",{id:"health",style:{marginTop:20},children:[(0,t.jsx)("h2",{style:{fontSize:16,margin:"0 0 6px"},children:"Network health"}),a&&(0,t.jsx)(i.Body,{children:"Couldn’t read your network just now."}),!a&&!o&&(0,t.jsx)(i.Body,{children:"Reading your network…"}),o&&0===o.circles&&(0,t.jsx)(i.Body,{children:"Scan a few of your connections’ circles (the Scan page, step 4) and this shows how your network holds together."}),o&&o.circles>0&&(0,t.jsxs)(t.Fragment,{children:[o.early&&(0,t.jsxs)("div",{style:{fontSize:12.5,color:"#FFD700",margin:"4px 0 10px"},children:["An early estimate: ",o.circles," ",1===o.circles?"circle":"circles"," scanned. These get sharper as you scan more."]}),(0,t.jsxs)("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(220px, 1fr))",gap:10},children:[(0,t.jsxs)("div",{style:c,children:[(0,t.jsx)("div",{style:{fontSize:22,fontWeight:700},children:E(o.twoWays)}),(0,t.jsx)("div",{style:{fontSize:12.5,color:"#b8c4c4"},children:"of your 2nd degree you reach two or more ways"}),(0,t.jsx)("div",{style:{fontSize:11.5,color:"#778",marginTop:4},children:"Higher is safer: lose one connection and they’re still reachable."})]}),(0,t.jsxs)("div",{style:c,children:[(0,t.jsx)("div",{style:{fontSize:22,fontWeight:700},children:Math.round(o.effective.size).toLocaleString()}),(0,t.jsxs)("div",{style:{fontSize:12.5,color:"#b8c4c4"},children:["effective reach of your ",o.effective.n.toLocaleString()," connections (",E(o.effective.efficiency)," non-overlapping)"]}),(0,t.jsxs)("div",{style:{fontSize:11.5,color:"#778",marginTop:4},children:["From ",o.effective.ties.toLocaleString()," ",1===o.effective.ties?"tie":"ties"," between your connections seen in circle scans so far, so it can only come down as you scan more."]})]})]}),o.top.length>0&&(0,t.jsxs)("div",{style:{...c,marginTop:10,padding:0},children:[(0,t.jsx)("div",{style:{padding:"10px 14px",fontSize:12.5,color:"#b8c4c4",borderBottom:i.LINE},children:"Your connections who reach the most people no one else does"}),o.top.map((e,n)=>(0,t.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:10,padding:"8px 14px",borderBottom:n<o.top.length-1?"1px solid rgba(255,255,255,0.04)":"none",fontSize:13},children:[(0,t.jsxs)("span",{style:{width:22,color:"#778"},children:["#",n+1]}),(0,t.jsx)("span",{style:{width:8,height:8,borderRadius:"50%",background:R[e.tier]||"#667",flexShrink:0}}),(0,t.jsxs)("span",{style:{flex:1,minWidth:0,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:[(0,t.jsx)("b",{children:e.name}),e.company?(0,t.jsxs)("span",{style:{color:"#8b9a9a"},children:[" · ",e.company]}):null]}),(0,t.jsxs)("span",{style:{color:"#b8c4c4",whiteSpace:"nowrap"},children:[e.circle.toLocaleString()," in circle"]}),(0,t.jsxs)("span",{style:{color:"#00ff88",whiteSpace:"nowrap"},children:[e.only.toLocaleString()," only them (",E(e.share),")"]}),(0,t.jsx)(r.default,{href:`/?chain=${encodeURIComponent(e.id)}`,style:{color:"#3498DB",textDecoration:"none",whiteSpace:"nowrap"},children:"Explore →"})]},e.id))]})]})]})}var F=e.i(94657),N=e.i(64745);let D={color:"#3498DB",textDecoration:"none",fontWeight:600};function M(){let[e,o]=(0,n.useState)(0),s=()=>o(e=>e+1);return N.IS_DEMO?(0,t.jsxs)("div",{style:{minHeight:"100vh",background:"#0a0a1a",color:"rgba(255,255,255,0.7)",display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",gap:12,textAlign:"center",padding:24,fontFamily:i.FONT},children:[(0,t.jsx)("h2",{style:{margin:0,fontSize:20,fontWeight:700,color:"#fff"},children:"Not part of the demo"}),(0,t.jsx)("p",{style:{margin:0,fontSize:13},children:"The public demo includes the Network Circle and Degrees views only."}),(0,t.jsx)(r.default,{href:"/",style:{fontSize:12,color:"rgba(255,255,255,0.5)",textDecoration:"none"},children:"← Back to the network"})]}):(0,t.jsxs)("div",{style:{minHeight:"100vh",background:"#0a0a1a",color:"#fff",fontFamily:i.FONT},children:[(0,t.jsxs)("header",{style:{padding:"16px 24px",borderBottom:i.LINE,display:"flex",alignItems:"center",gap:16},children:[(0,t.jsx)(r.default,{href:"/",style:{display:"flex",alignItems:"center",gap:6,color:"#888",textDecoration:"none",fontSize:13,fontWeight:600,padding:"6px 14px",borderRadius:6,background:"rgba(255,255,255,0.06)",border:i.LINE},children:"← Back to Map"}),(0,t.jsx)("h1",{style:{fontSize:22,fontWeight:700,margin:0,background:"linear-gradient(135deg, #FFD700, #9B59B6, #3498DB)",WebkitBackgroundClip:"text",WebkitTextFillColor:"transparent"},children:"Scores"})]}),(0,t.jsxs)("main",{style:{maxWidth:980,margin:"0 auto",padding:"8px 24px 64px"},children:[(0,t.jsxs)(i.Body,{style:{marginTop:16},children:["How someone’s power score is worked out, and the three things you can change about it:"," ",(0,t.jsx)("a",{href:"#sector",style:D,children:"your field"}),", ",(0,t.jsx)("a",{href:"#tiers",style:D,children:"how tiers are graded"})," and"," ",(0,t.jsx)("a",{href:"#companies",style:D,children:"any company’s score"}),". A change here rescores everyone."," ","First, ",(0,t.jsx)("a",{href:"#health",style:D,children:"how your network holds together"}),"."]}),(0,t.jsx)(z,{}),(0,t.jsx)(w,{onSaved:s}),(0,t.jsx)(B,{onSaved:s}),(0,t.jsx)("div",{id:"companies",style:{marginTop:28},children:(0,t.jsx)(F.default,{version:e})})]})]})}e.s(["default",0,function(){return(0,t.jsx)(o.default,{children:(0,t.jsx)(M,{})})}],98083)},64666,e=>{"use strict";var t=e.i(7214);function n(e=[],r=[]){let o=new Set((r||[]).map(t.keyFor)),i=new Map;for(let n of e||[]){let e=n?.source_connection_id;if(null==e)continue;let r=(0,t.keyFor)(n);if(o.has(r))continue;let s=i.get(r);s||i.set(r,s=new Set),s.add(e)}let s=new Map;for(let e of i.values())for(let t of e){let n=s.get(t)||{reach:0,only:0,total:0};n.reach+=1/e.size,n.total+=1,1===e.size&&(n.only+=1),s.set(t,n)}return s}e.s(["bridgeOverlap",0,function(e=[],r=[]){let o=n(e,r),i=new Set((r||[]).map(t.keyFor)),s=new Map;for(let n of e||[]){let e=n?.source_connection_id;if(null==e)continue;let r=(0,t.keyFor)(n);if(i.has(r))continue;let o=s.get(r);o||s.set(r,o=new Set),o.add(e)}let a=new Map;for(let e of s.values()){if(e.size<2)continue;let t=[...e];for(let e=0;e<t.length;e++)for(let n=e+1;n<t.length;n++){let r=t[e]<t[n]?`${t[e]}|${t[n]}`:`${t[n]}|${t[e]}`;a.set(r,(a.get(r)||0)+1)}}let l=new Map;for(let[e,t]of a){let[n,r]=e.split("|"),i=o.get(n).total+o.get(r).total-t,s=i?t/i:0;for(let[e,o]of[[n,r],[r,n]]){let n=l.get(e);(!n||s>n.share)&&l.set(e,{with:o,share:s,shared:t})}}return l},"exclusiveReach",0,n,"redundancy",0,function(e=[],t=[]){let r=n(e,t),o=0,i=0;for(let e of r.values())o+=e.reach,i+=e.only;return o?1-i/o:0}])},89154,e=>{"use strict";var t=e.i(90179);function n(e){let n=(0,t.readTitle)(e);return{key:n.key,label:n.label,level:n.level}}function r(e){return(0,t.currentCompany)(e)}let o=[{key:"defense",label:"Government, Defense & Aerospace",color:"#7f8c8d",words:/\b(government|federal|state of|county|city of|defen[cs]e|army|navy|air force|marine corps|military|dod|nasa|aerospace|lockheed|northrop|boeing|raytheon|l3harris|leidos|blue origin|spacex|public sector)\b/i},{key:"finance",label:"Finance & Investing",color:"#2ecc71",words:/\b(bank|banking|capital|ventures?|vc|investments?|investor|fund|private equity|growth equity|asset management|wealth|trading|trader|hedge|crypto|blockchain|web3|defi|fintech|stripe|coinbase|blackrock|robinhood|goldman|morgan stanley|jpmorgan|chase|bny|mellon|wells fargo|citi|citigroup|capital one|fidelity|vanguard|schwab|visa|mastercard|amex|american express|paypal|insurance|accounting|cpa|financial)\b/i},{key:"health",label:"Healthcare & Biotech",color:"#e74c3c",words:/\b(health|healthcare|medical|medicine|hospital|clinic|pharma|pharmaceutical|biotech|nurse|nursing|physician|doctor|dental|therapy|therapist|wellness)\b/i},{key:"education",label:"Education",color:"#f1c40f",words:/\b(university|college|school|education|student|professor|teacher|academy|phd|faculty|alumni)\b/i},{key:"media",label:"Marketing & Media",color:"#e67e22",words:/\b(marketing|brand|branding|advertising|agency|media|content|social media|creative|creator|influencer|pr|public relations|communications|tiktok|pinterest|youtube|growth marketing)\b/i},{key:"entertainment",label:"Entertainment & Gaming",color:"#9b59b6",words:/\b(entertainment|film|movie|music|records|gaming|games?|esports|studio|studios|netflix|disney|spotify|hollywood|theater|theatre|sports)\b/i},{key:"tech",label:"Tech, Software & AI",color:"#3498db",words:/\b(software|saas|engineer|engineering|developer|tech|technology|technologies|ai|artificial intelligence|machine learning|ml|data|cloud|cyber|security|devops|product manager|google|microsoft|apple|meta|amazon|nvidia|openai|anthropic|palantir|salesforce|oracle|ibm|intel|app|apps|startup|platform|labs?)\b/i},{key:"consulting",label:"Consulting, Legal & Services",color:"#1abc9c",words:/\b(consulting|consultant|consultancy|deloitte|accenture|mckinsey|kpmg|pwc|ey|bain|bcg|legal|law|lawyer|attorney|paralegal|recruiting|recruiter|staffing|talent)\b/i},{key:"realestate",label:"Real Estate & Construction",color:"#d35400",words:/\b(real estate|realtor|realty|property|properties|construction|architecture|architect|mortgage|homes|housing|builders?)\b/i},{key:"consumer",label:"Retail, Consumer & Hospitality",color:"#ff79c6",words:/\b(retail|e-?commerce|shopify|consumer|cpg|fashion|apparel|beauty|cosmetics|food|beverage|restaurant|hospitality|hotel|travel|tourism|coca-cola|nike|store|shop)\b/i},{key:"industry",label:"Manufacturing, Energy & Logistics",color:"#95a5a6",words:/\b(manufacturing|energy|oil|gas|solar|utilities|automotive|tesla|siemens|ge|general electric|honeywell|3m|logistics|supply chain|shipping|freight|fedex|ups|industrial|mining|chemicals?)\b/i},{key:"nonprofit",label:"Nonprofit & Community",color:"#bdc3c7",words:/\b(nonprofit|non-profit|foundation|charity|ngo|church|ministry|volunteer)\b/i}],i={key:"unknown",label:"Unclear",color:"#555c66"},s=Object.fromEntries([...o,i].map(e=>[e.key,e])),a=e=>s[e]||i;function l(e,t){for(let n of[e,t]){if(!n)continue;let e=o.find(e=>e.words.test(n));if(e)return e}return i}let c=(e,t)=>l(e,t).key,d=e=>n(e).level>=4;e.s(["INDUSTRIES",0,o,"UNKNOWN_INDUSTRY",0,i,"buildCompanyIndex",0,function(e=[]){let n=new Map,r=e=>(n.has(e)||n.set(e,(0,t.rolesWithCompanies)(e)),n.get(e)),{industries:o}=(0,t.networkCompanies)(e,{industryOf:c,rolesOf:r}),i=new Map;for(let t of e){let e=t.profile_url||`id:${t.id}`,n=i.get(e);(!n||(t.degree||9)<(n.degree||9))&&i.set(e,t)}let s=new Map;for(let e of i.values()){let t=r(e).find(e=>!e.former)?.company;if(!t)continue;let n=s.get(t);n||(n={name:t,people:[],d1:0,d2:0,d3:0,S:0,A:0,senior:0},s.set(t,n)),n.people.push(e),1===e.degree?n.d1++:2===e.degree?n.d2++:n.d3++,"S"===e.tier&&n.S++,"A"===e.tier&&n.A++,d(e.headline)&&n.senior++}for(let e of s.values())e.industry=a(o.get(e.name));return s},"companyLinks",0,function(e=[],t=[]){let n=new Map;for(let t of e){let e=r(t);e&&n.set(t.id,e)}let o=new Map;for(let e of t){let t=n.get(e.source_connection_id),i=r(e);if(!t||!i||t===i)continue;let[s,a]=t<i?[t,i]:[i,t],l=`${s}\u0000${a}`,c=o.get(l);c||(c={a:s,b:a,weight:0,via:new Set},o.set(l,c)),c.weight++,c.via.add(e.source_connection_id)}return[...o.values()]},"companyOf",0,r,"getSeniority",0,n,"industryByKey",0,a,"industryOf",0,l,"isSenior",0,d,"waysInto",0,function(e,t=[],n=[]){let o=t.filter(t=>r(t)===e),i=new Map;for(let t of n)r(t)===e&&i.set(t.source_connection_id,(i.get(t.source_connection_id)||0)+1);let s=new Map(t.map(e=>[e.id,e]));return{direct:o,bridges:[...i.entries()].map(([e,t])=>({bridge:s.get(e),n:t})).filter(e=>e.bridge).sort((e,t)=>t.n-e.n||(Number(t.bridge.power_score)||0)-(Number(e.bridge.power_score)||0))}}])},19821,e=>{"use strict";async function t(e){let t=e?`/api/network?userId=${encodeURIComponent(e)}`:"/api/network",n=await fetch(t);if(!n.ok)throw Error(`Failed to load network (${n.status})`);let r=await n.json();return{degree1:r.degree1||[],degree2:r.degree2||[],degree3:r.degree3||[],ties:Number(r.ties)||0}}e.s(["loadNetwork",0,t])},36774,e=>{"use strict";let t=/^[A-Za-z0-9_-]+\.(webp|jpg|jpeg|png)$/,n="/avatars/";e.s(["localPhoto",0,function(e){return"string"==typeof e&&e.startsWith(n)&&t.test(e.slice(n.length))?e:null}])},69083,e=>{"use strict";var t=e.i(89154);let n=new Map(t.INDUSTRIES.map(e=>[e.key,e.color])),r=new Map([...t.INDUSTRIES.map(e=>[e.key,Object.freeze({key:e.key,label:e.label,color:e.color,group:e.key,kind:"industry"})]),...Object.entries({software:["Software & SaaS","tech","function"],"ai-data":["AI & Data","tech","function"],cybersecurity:["Cybersecurity","tech","function"],telecom:["Telecom","tech","industry"],fintech:["Fintech & Payments","finance","industry"],banking:["Banking & Lending","finance","industry"],"vc-pe":["Venture Capital & Private Equity","finance","industry"],wealth:["Wealth & Asset Management","finance","industry"],insurance:["Insurance","finance","industry"],accounting:["Accounting & Tax","finance","function"],crypto:["Crypto & Web3","finance","industry"],hospitals:["Hospitals & Clinics","health","industry"],dental:["Dental","health","industry"],"pharma-biotech":["Pharma & Biotech","health","industry"],"medical-devices":["Medical Devices","health","industry"],"mental-health":["Mental Health","health","industry"],"fitness-wellness":["Fitness & Wellness","health","industry"],veterinary:["Veterinary & Animal Care","health","industry"],k12:["K-12 Education","education","industry"],"higher-ed":["Higher Education","education","industry"],"marketing-advertising":["Marketing & Advertising","media","function"],"pr-comms":["PR & Communications","media","function"],"media-publishing":["Media & Publishing","media","industry"],"creator-economy":["Creator Economy","media","industry"],"film-tv-music":["Film, TV & Music","entertainment","industry"],"gaming-esports":["Gaming & Esports","entertainment","industry"],sports:["Sports","entertainment","industry"],"ecommerce-retail":["E-commerce & Retail","consumer","industry"],"consumer-goods":["Consumer Goods","consumer","industry"],restaurants:["Restaurants & Food Service","consumer","industry"],"hospitality-travel":["Hospitality & Travel","consumer","industry"],"beauty-personal-care":["Beauty & Personal Care","consumer","industry"],logistics:["Logistics & Supply Chain","industry","industry"],manufacturing:["Manufacturing","industry","industry"],energy:["Energy & Utilities","industry","industry"],automotive:["Automotive","industry","industry"],agriculture:["Agriculture & Farming","industry","industry"],"aerospace-defense":["Aerospace & Defense","defense","industry"],military:["Military","defense","industry"],government:["Government & Public Sector","defense","industry"],legal:["Legal","consulting","function"],"management-consulting":["Management Consulting","consulting","function"],"hr-recruiting":["HR & Recruiting","consulting","function"],"security-services":["Security Services","consulting","function"],"real-estate":["Real Estate","realestate","industry"],"construction-trades":["Construction & Trades","realestate","industry"],charities:["Nonprofits & Charities","nonprofit","industry"],"social-work":["Social Work & Human Services","nonprofit","industry"],faith:["Faith & Ministry","nonprofit","industry"]}).map(([e,[r,o,i]])=>[e,Object.freeze({key:e,label:r,color:n.get(o)||t.UNKNOWN_INDUSTRY.color,group:o,kind:i})])]);e.s(["sectorByKey",0,function(e){return r.get(e)||{key:e,label:t.UNKNOWN_INDUSTRY.label,color:t.UNKNOWN_INDUSTRY.color,group:null,kind:null}}])},7214,e=>{"use strict";var t=e.i(36774);let n={S:0,A:1,B:2,C:3,D:4};function r(e){let t=parseFloat(e?.power_score);return Number.isFinite(t)?t:0}function o(e){return Math.round(10*r(e))/10}function i(e){return String(e?.profile_url||"").split(/[?#]/)[0].replace(/\/+$/,"")||`id:${e?.id}`}let s=(e,t)=>String(e??"").localeCompare(String(t??""),void 0,{numeric:!0});function a(e,t){return(n[e.tier]??9)-(n[t.tier]??9)||r(t)-r(e)||String(e.name||"").localeCompare(String(t.name||""))||s(e.id,t.id)}function l(e,t){return e.bridge&&t.bridge?a(e.bridge,t.bridge):e.bridge?-1:t.bridge?1:s(e.id,t.id)}function c(e,t){return t.score-e.score||t.waysIn-e.waysIn||l(e.routes[0]||d,t.routes[0]||d)||String(e.person.name||"").localeCompare(String(t.person.name||""))||(e.key<t.key?-1:+(e.key>t.key))}let d={id:null,bridge:null};function u(e){let t=String(e||"").trim().split(/\s+/).filter(Boolean);return t.length<2?t[0]||"":`${t[0]} ${t[t.length-1].charAt(0)}.`}function p(e,t){let n=String(e||"");return t<=1?n?"…":"":n.length>t?`${n.slice(0,t-1)}…`:n}e.s(["TIERS",0,["S","A","B","C","D"],"compareBridges",0,a,"compareWaysIn",0,function(e,t){return t.waysIn-e.waysIn||c(e,t)},"keyFor",0,i,"routeIndex",0,function(e=[]){let t=new Map;for(let n of e||[]){let e=i(n),r=t.get(e);r||(r=new Set,t.set(e,r)),r.add(n.source_connection_id??null)}return t},"routesFor",0,function(e,t,n){return e?[...t?.get(i(e))??(null!=e.source_connection_id?new Set([e.source_connection_id]):new Set)].map(e=>({id:e,bridge:n?.get(e)??null})).sort(l):[]},"score",0,r,"score1",0,o,"separationPeople",0,function(e=[],n=[]){let r=new Map;for(let e of n||[])r.set(e.id,e);let a=new Map,d=new Map;for(let n of e||[]){let e=i(n);d.set(n.id,e);let r=a.get(e);r?function(e,n){let r=o(e)-o(n);if(r)return r>0;let i=!!(0,t.localPhoto)(e.profile_image_url);return!!(0,t.localPhoto)(n.profile_image_url)!==i?i:0>s(e.id,n.id)}(n,r.person)&&(r.person=n):(r={key:e,person:n,rowIds:[],routeIds:new Set},a.set(e,r)),r.rowIds.push(n.id),r.routeIds.add(n.source_connection_id??null)}let u={people:a.size,byTier:{S:0,A:0,B:0,C:0,D:0},multi:0,bridges:0,unresolvedIds:0,peopleOnlyUnresolved:0,onlyUnresolvedVia:0},p=new Set,h=new Set,g=new Set,f=[];for(let e of a.values()){let t=[...e.routeIds].map(e=>({id:e,bridge:r.get(e)??null}));t.sort(l);let n=t.filter(e=>e.bridge);for(let e of t)(e.bridge?p:h).add(e.id);if(!n.length)for(let e of(u.peopleOnlyUnresolved++,t))g.add(e.id);let{person:i}=e,s=i.tier;void 0!==u.byTier[s]&&u.byTier[s]++,t.length>1&&u.multi++,f.push({key:e.key,person:i,score:o(i),tier:s,routes:t,waysIn:t.length,rowIds:e.rowIds,haystack:[i.name,i.headline,i.company,i.role,...n.map(e=>e.bridge.name)].filter(Boolean).join("\n").toLowerCase(),rank:0,tied:!1})}return u.bridges=p.size,u.unresolvedIds=h.size,u.onlyUnresolvedVia=g.size,f.sort(c),function(e){for(let t=0;t<e.length;t++){let n=e[t],r=e[t-1],o=r&&r.score===n.score&&r.waysIn===n.waysIn;n.rank=o?r.rank:t+1,o&&(n.tied=!0,r.tied=!0)}}(f),{people:f,rowToKey:d,summary:u}},"shortName",0,u,"summitLayout",0,function(e=[],t=800,n=!1){let r=n?36:26,o=Math.round(.42*t),i=Math.round(.58*t),s=e.map((e,n)=>{var o;return{key:e.key,p:e,x:i,y:16+n*r,r:(o=e.waysIn)>=4?8.5:3===o?7:2===o?5.5:4,label:p(`#${e.rank}${e.tied?"=":""} ${e.person.name||""}`,Math.floor((t-i-60)/6.2))}}),l=new Map,c="\0unresolved";for(let e of s)for(let t of e.p.routes){let n=t.bridge?t.id:c,r=l.get(n);r||(r={id:t.bridge?t.id:null,bridge:t.bridge,unresolved:!t.bridge,ys:[],count:0},l.set(n,r)),r.count++,r.ys.push(e.y)}let d=[...l.values()].map(e=>({...e,bary:e.ys.reduce((e,t)=>e+t,0)/e.ys.length}));d.sort((e,t)=>e.bary-t.bary||e.unresolved-t.unresolved||(e.bridge&&t.bridge?a(e.bridge,t.bridge):0));let h=s.length?s[s.length-1].y:16,g=d.length>1?Math.max(18,(h-16)/(d.length-1)):0,f=Math.max(4,Math.floor((o-10-42)/6));d.forEach((e,t)=>{if(e.x=o,e.y=1===d.length?(16+h)/2:16+t*g,e.r=5,e.unresolved)e.label=p(`can't be named (${e.count})`,f);else{let t=e.bridge.name||"";e.label=t.length<=f?t:p(u(t),f)}delete e.ys});let y=new Map(d.map(e=>[e.unresolved?c:e.id,e])),m=[];for(let e of s){let t=new Set;e.p.routes.forEach((n,r)=>{let o=n.bridge?n.id:c;if(t.has(o))return;t.add(o);let i=y.get(o);m.push({key:e.key,bridgeId:i.id,primary:0===r&&!i.unresolved,unresolved:i.unresolved,tier:i.bridge?.tier??null,x1:i.x,y1:i.y,x2:e.x,y2:e.y})})}let b=Math.max(h,d.length?d[d.length-1].y:0),x=s.length?Math.ceil(b+16):0,w={x:20,y:s.length?(16+Math.max(h,b))/2:16,r:14},S=d.map(e=>({id:e.id,x1:w.x,y1:w.y,x2:e.x,y2:e.y}));return{width:t,height:x,you:w,people:s,bridges:d,links:m,spokes:S}}])},5258,e=>{"use strict";e.s(["TIER_COLORS",0,{S:"#f6c344",A:"#a78bfa",B:"#60a5fa",C:"#94a3b8",D:"#6b7280"},"TIER_COLORS_CLASSIC",0,{S:"#FFD700",A:"#9B59B6",B:"#3498DB",C:"#95A5A6",D:"#BDC3C7"},"TIER_ORDER",0,["S","A","B","C","D"],"TIER_RING_RADIUS",0,{S:150,A:230,B:310,C:390,D:470},"initialsFor",0,function(e){let t=String(e||"").trim().split(/\s+/).filter(Boolean);return 0===t.length?"?":(t[0].charAt(0)+(t.length>1?t[t.length-1].charAt(0):"")).toUpperCase()}])}]);
|