six-degrees 0.7.0 → 0.8.0
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 +1 -0
- package/.next/standalone/.next/build-manifest.json +3 -3
- package/.next/standalone/.next/prerender-manifest.json +32 -4
- package/.next/standalone/.next/routes-manifest.json +6 -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.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 +16 -16
- package/.next/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +16 -16
- package/.next/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +14 -14
- package/.next/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/api/admin-delete/route.js +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 +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 +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 +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 +1 -1
- package/.next/standalone/.next/server/app/api/connections/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/data/backup/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/data/csv/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/restore/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 +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 +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 +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 +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 +3 -3
- package/.next/standalone/.next/server/app/api/outreach/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/queue/route.js +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 +4 -4
- 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 +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/crm/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/social/messages/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/social/route.js +1 -1
- package/.next/standalone/.next/server/app/api/social/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/unlock/route.js +1 -1
- 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 +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 +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.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 +18 -18
- package/.next/standalone/.next/server/app/import.segments/_full.segment.rsc +18 -18
- package/.next/standalone/.next/server/app/import.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/import.segments/import/__PAGE__.segment.rsc +16 -16
- package/.next/standalone/.next/server/app/index.html +1 -1
- package/.next/standalone/.next/server/app/index.rsc +19 -19
- package/.next/standalone/.next/server/app/index.segments/__PAGE__.segment.rsc +16 -16
- package/.next/standalone/.next/server/app/index.segments/_full.segment.rsc +19 -19
- package/.next/standalone/.next/server/app/index.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/insights/page/app-paths-manifest.json +3 -0
- package/.next/standalone/.next/server/app/insights/page/build-manifest.json +20 -0
- package/.next/standalone/.next/server/app/insights/page/next-font-manifest.json +11 -0
- package/.next/standalone/.next/server/app/insights/page/react-loadable-manifest.json +1 -0
- package/.next/standalone/.next/server/app/insights/page/server-reference-manifest.json +4 -0
- package/.next/standalone/.next/server/app/insights/page.js +13 -0
- package/.next/standalone/.next/server/app/insights/page.js.map +5 -0
- package/.next/standalone/.next/server/app/insights/page.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/insights/page_client-reference-manifest.js +3 -0
- package/.next/standalone/.next/server/app/insights.html +1 -0
- package/.next/standalone/.next/server/app/insights.meta +26 -0
- package/.next/standalone/.next/server/app/insights.rsc +35 -0
- package/.next/standalone/.next/server/app/insights.segments/_full.segment.rsc +35 -0
- package/.next/standalone/.next/server/app/insights.segments/_tree.segment.rsc +4 -0
- package/.next/standalone/.next/server/app/insights.segments/insights/__PAGE__.segment.rsc +33 -0
- 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 +18 -18
- package/.next/standalone/.next/server/app/launch.segments/_full.segment.rsc +18 -18
- package/.next/standalone/.next/server/app/launch.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/launch.segments/launch/__PAGE__.segment.rsc +16 -16
- 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.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 +19 -19
- package/.next/standalone/.next/server/app/paths.segments/_full.segment.rsc +19 -19
- package/.next/standalone/.next/server/app/paths.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/paths.segments/paths/__PAGE__.segment.rsc +16 -16
- 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 +19 -19
- package/.next/standalone/.next/server/app/profile.segments/_full.segment.rsc +19 -19
- package/.next/standalone/.next/server/app/profile.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/profile.segments/profile/__PAGE__.segment.rsc +16 -16
- 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 +19 -19
- package/.next/standalone/.next/server/app/queue.segments/_full.segment.rsc +19 -19
- package/.next/standalone/.next/server/app/queue.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/queue.segments/queue/__PAGE__.segment.rsc +21 -20
- 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 +18 -18
- package/.next/standalone/.next/server/app/scores.segments/_full.segment.rsc +18 -18
- package/.next/standalone/.next/server/app/scores.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/scores.segments/scores/__PAGE__.segment.rsc +16 -16
- 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 +19 -19
- package/.next/standalone/.next/server/app/settings.segments/_full.segment.rsc +19 -19
- package/.next/standalone/.next/server/app/settings.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/settings.segments/settings/__PAGE__.segment.rsc +16 -16
- 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 +19 -19
- package/.next/standalone/.next/server/app/setup.segments/_full.segment.rsc +19 -19
- package/.next/standalone/.next/server/app/setup.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/setup.segments/setup/__PAGE__.segment.rsc +16 -16
- package/.next/standalone/.next/server/app/social/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/social/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/social.html +1 -1
- package/.next/standalone/.next/server/app/social.rsc +18 -18
- package/.next/standalone/.next/server/app/social.segments/_full.segment.rsc +18 -18
- package/.next/standalone/.next/server/app/social.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/social.segments/social/__PAGE__.segment.rsc +16 -16
- package/.next/standalone/.next/server/app-paths-manifest.json +1 -0
- package/.next/standalone/.next/server/chunks/{[root-of-the-server]__063s0x7._.js → [root-of-the-server]__0r-0t-9._.js} +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0ra6xyg._.js +15 -0
- package/.next/standalone/.next/server/chunks/{[root-of-the-server]__20rwfdw._.js → [root-of-the-server]__0rcpjad._.js} +5 -2
- package/.next/standalone/.next/server/chunks/_1_fynia._.js +7 -7
- package/.next/standalone/.next/server/chunks/_1itd1o_._.js +1 -1
- package/.next/standalone/.next/server/chunks/lib_02iz_9q._.js +2 -2
- package/.next/standalone/.next/server/chunks/lib_05agvk3._.js +2 -2
- package/.next/standalone/.next/server/chunks/lib_0v84u66._.js +2 -2
- package/.next/standalone/.next/server/chunks/lib_db-client_0_dch35.js +9 -9
- package/.next/standalone/.next/server/chunks/{lib_rpc_0jnfp2e.js → lib_rpc_00nndai.js} +1 -1
- package/.next/standalone/.next/server/chunks/{lib_rpc_0b17r6v.js → lib_rpc_03ibb-x.js} +1 -1
- package/.next/standalone/.next/server/chunks/{lib_rpc_0doq0t-.js → lib_rpc_03ri3ji.js} +1 -1
- package/.next/standalone/.next/server/chunks/{lib_rpc_0fd2rlw.js → lib_rpc_078ce48.js} +1 -1
- package/.next/standalone/.next/server/chunks/lib_rpc_0a69mgr.js +3 -0
- package/.next/standalone/.next/server/chunks/{lib_rpc_005abye.js → lib_rpc_0cej3t8.js} +1 -1
- package/.next/standalone/.next/server/chunks/lib_rpc_0cmh4g6.js +3 -0
- package/.next/standalone/.next/server/chunks/lib_rpc_0nx2_pc.js +3 -0
- package/.next/standalone/.next/server/chunks/lib_rpc_0r79-w1.js +3 -0
- package/.next/standalone/.next/server/chunks/{lib_rpc_0is4qoc.js → lib_rpc_0t552z6.js} +1 -1
- package/.next/standalone/.next/server/chunks/lib_rpc_0yx8ynd.js +3 -0
- package/.next/standalone/.next/server/chunks/lib_rpc_12p-o9-.js +3 -0
- package/.next/standalone/.next/server/chunks/lib_rpc_1466dnb.js +3 -0
- package/.next/standalone/.next/server/chunks/lib_rpc_1sryxv6.js +3 -0
- package/.next/standalone/.next/server/chunks/lib_rpc_1trn-x5.js +3 -0
- package/.next/standalone/.next/server/chunks/lib_rpc_1ygu_mv.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0egamyq._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/_04am_h8._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/_07zb7lu._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/_0_79idq._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/_0gds903._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/_0klqt9z._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/{_1k9qfsk._.js → _14jak5s._.js} +6 -2
- package/.next/standalone/.next/server/chunks/ssr/_14nxd3q._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/_1cj2yog._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/_1fm1ih_._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/_1hdqw0-._.js +7 -0
- package/.next/standalone/.next/server/chunks/ssr/_1k2nmbw._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{_0gy11ar._.js → _1r62six._.js} +6 -2
- package/.next/standalone/.next/server/chunks/ssr/_next-internal_server_app_insights_page_actions_0-0tf75.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/app_components_0uuff77._.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/app_components_1j3q-h5._.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/{_01o3i5y._.js → app_components_settings_SectorPicker_1c-29qw.js} +2 -6
- package/.next/standalone/.next/server/chunks/ssr/app_components_ui_0pdmz2z.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/app_insights_page_1d_chja.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/app_page_1fazqbf.js +14 -14
- package/.next/standalone/.next/server/chunks/ssr/app_queue_page_0c6znd6.js +3 -3
- package/.next/standalone/.next/server/chunks/ssr/app_settings_page_1f8mjj_.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/app_setup_page_1-282zx.js +3 -3
- 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/02wnf8dkxegxg.js +34 -0
- package/.next/standalone/.next/static/chunks/0838_s6w-i_ik.js +1 -0
- package/.next/{static/chunks/2eo9pqq9gay3r.js → standalone/.next/static/chunks/0ka4prpk3w9wn.js} +4 -4
- package/.next/standalone/.next/static/chunks/0s_xxwp7z88vv.js +1 -0
- package/.next/standalone/.next/static/chunks/1-nnl8amfm4yh.js +57 -0
- package/.next/standalone/.next/static/chunks/112mv-com-mqa.js +21 -0
- package/.next/{static/chunks/44yn0tcd9dfk3.js → standalone/.next/static/chunks/1bkt_hhjzvbh8.js} +1 -1
- package/.next/standalone/.next/static/chunks/1cmphb3kh2ers.css +3 -0
- package/.next/{static/chunks/1qbjermbf68xj.js → standalone/.next/static/chunks/1d8yv3k_atka7.js} +1 -1
- package/.next/standalone/.next/static/chunks/23hc51oa4vkhc.js +5 -0
- package/.next/standalone/.next/static/chunks/27n8k9wxlz5-7.js +1 -0
- package/.next/standalone/.next/static/chunks/{0p3g5tfostsep.js → 2q9i7pcxcnph1.js} +2 -2
- package/.next/{static/chunks/2zf4jmz9l3li2.js → standalone/.next/static/chunks/2w-y83mjlpnse.js} +1 -1
- package/.next/standalone/.next/static/chunks/2ws1xf293j-tm.js +5 -0
- package/.next/standalone/.next/static/chunks/3cqn-r-y5rrw1.js +5 -0
- package/.next/standalone/.next/static/chunks/3opgg1efrx8q6.js +1 -0
- package/.next/standalone/.next/static/chunks/3p51fpxxi4d5y.js +34 -0
- package/.next/{static/chunks/0an_b6zi1r_qq.js → standalone/.next/static/chunks/3y40z6of3r9py.js} +1 -5
- package/.next/standalone/.next/static/chunks/403dpflln8ah5.js +1 -0
- package/.next/standalone/CHANGELOG.md +60 -0
- package/.next/standalone/README.md +25 -1
- package/.next/standalone/SECURITY.md +8 -0
- package/.next/standalone/app/api/outreach/route.js +13 -73
- package/.next/standalone/app/api/scraper/route.js +97 -4
- package/.next/standalone/app/components/AppHeader.js +22 -6
- package/.next/standalone/app/components/AppTabs.js +4 -0
- package/.next/standalone/app/components/AutoConnect.js +286 -0
- package/.next/standalone/app/components/ChainView.js +75 -2
- package/.next/standalone/app/components/FilterPanel.js +8 -1
- package/.next/standalone/app/components/LinkedInLimits.js +38 -13
- package/.next/standalone/app/components/OutlinkQuest.js +32 -11
- package/.next/standalone/app/components/ScanStatusBar.js +18 -3
- package/.next/standalone/app/components/ScanTrail.js +13 -3
- package/.next/standalone/app/components/SeparationView.js +6 -22
- package/.next/standalone/app/components/Sidebar.js +147 -38
- package/.next/standalone/app/components/insights/Boards.js +275 -0
- package/.next/standalone/app/components/insights/PeopleView.js +266 -0
- package/.next/standalone/app/components/insights/Rail.js +156 -0
- package/.next/standalone/app/components/insights/Report.js +382 -0
- package/.next/standalone/app/components/insights/parts.js +239 -0
- package/.next/standalone/app/components/settings/UsageSection.js +50 -3
- package/.next/standalone/app/globals.css +2 -3
- package/.next/standalone/app/insights/page.js +220 -0
- package/.next/standalone/app/page.js +1 -17
- package/.next/standalone/app/queue/page.js +30 -18
- package/.next/standalone/app/setup/page.js +16 -9
- package/.next/standalone/lib/auto-connect.js +145 -0
- package/.next/standalone/lib/companies.js +1 -1
- package/.next/standalone/lib/in-progress.js +46 -0
- package/.next/standalone/lib/insights-board.js +613 -0
- package/.next/standalone/lib/linkedin-limits.js +36 -11
- package/.next/standalone/lib/requests-client.js +10 -0
- package/.next/standalone/lib/requests.js +124 -0
- package/.next/standalone/lib/scan-state.js +1 -0
- package/.next/standalone/lib/scraper-client.js +18 -5
- package/.next/standalone/lib/settings.js +3 -0
- package/.next/standalone/lib/usage.js +5 -0
- package/.next/standalone/package-lock.json +2 -2
- package/.next/standalone/package.json +1 -1
- package/.next/standalone/scripts/scrape.py +569 -9
- package/.next/static/chunks/02wnf8dkxegxg.js +34 -0
- package/.next/static/chunks/0838_s6w-i_ik.js +1 -0
- package/.next/{standalone/.next/static/chunks/2eo9pqq9gay3r.js → static/chunks/0ka4prpk3w9wn.js} +4 -4
- package/.next/static/chunks/0s_xxwp7z88vv.js +1 -0
- package/.next/static/chunks/1-nnl8amfm4yh.js +57 -0
- package/.next/static/chunks/112mv-com-mqa.js +21 -0
- package/.next/{standalone/.next/static/chunks/44yn0tcd9dfk3.js → static/chunks/1bkt_hhjzvbh8.js} +1 -1
- package/.next/static/chunks/1cmphb3kh2ers.css +3 -0
- package/.next/{standalone/.next/static/chunks/1qbjermbf68xj.js → static/chunks/1d8yv3k_atka7.js} +1 -1
- package/.next/static/chunks/23hc51oa4vkhc.js +5 -0
- package/.next/static/chunks/27n8k9wxlz5-7.js +1 -0
- package/.next/static/chunks/{0p3g5tfostsep.js → 2q9i7pcxcnph1.js} +2 -2
- package/.next/{standalone/.next/static/chunks/2zf4jmz9l3li2.js → static/chunks/2w-y83mjlpnse.js} +1 -1
- package/.next/static/chunks/2ws1xf293j-tm.js +5 -0
- package/.next/static/chunks/3cqn-r-y5rrw1.js +5 -0
- package/.next/static/chunks/3opgg1efrx8q6.js +1 -0
- package/.next/static/chunks/3p51fpxxi4d5y.js +34 -0
- package/.next/{standalone/.next/static/chunks/0an_b6zi1r_qq.js → static/chunks/3y40z6of3r9py.js} +1 -5
- package/.next/static/chunks/403dpflln8ah5.js +1 -0
- package/CHANGELOG.md +60 -0
- package/README.md +25 -1
- package/SECURITY.md +8 -0
- package/lib/auto-connect.js +145 -0
- package/lib/companies.js +1 -1
- package/lib/in-progress.js +46 -0
- package/lib/insights-board.js +613 -0
- package/lib/linkedin-limits.js +36 -11
- package/lib/requests-client.js +10 -0
- package/lib/requests.js +124 -0
- package/lib/scan-state.js +1 -0
- package/lib/scraper-client.js +18 -5
- package/lib/settings.js +3 -0
- package/lib/usage.js +5 -0
- package/package.json +1 -1
- package/scripts/scrape.py +569 -9
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0_4y8z7._.js +0 -8
- package/.next/standalone/.next/server/chunks/_02twlca._.js +0 -10
- package/.next/standalone/.next/server/chunks/lib_rpc_0nef_n7.js +0 -3
- package/.next/standalone/.next/server/chunks/lib_rpc_0plrzra.js +0 -3
- package/.next/standalone/.next/server/chunks/lib_rpc_13a4m0c.js +0 -3
- package/.next/standalone/.next/server/chunks/lib_rpc_1if17c-.js +0 -3
- package/.next/standalone/.next/server/chunks/lib_rpc_1j-zw7v.js +0 -3
- package/.next/standalone/.next/server/chunks/lib_rpc_1sngt-q.js +0 -3
- package/.next/standalone/.next/server/chunks/lib_rpc_1v2sgme.js +0 -3
- package/.next/standalone/.next/server/chunks/lib_rpc_1vh-tgx.js +0 -3
- package/.next/standalone/.next/server/chunks/lib_rpc_1zaubz7.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/_02sband._.js +0 -7
- package/.next/standalone/.next/server/chunks/ssr/_189g8lg._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/_1f_n00p._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/app_components_0t908t-._.js +0 -3
- package/.next/standalone/.next/static/chunks/0e3g0sil79cus.js +0 -21
- package/.next/standalone/.next/static/chunks/0zd0t7e60bn4z.js +0 -1
- package/.next/standalone/.next/static/chunks/163b-20vwa06i.js +0 -34
- package/.next/standalone/.next/static/chunks/1pa-2v1ajvrko.js +0 -1
- package/.next/standalone/.next/static/chunks/23_1z47al92nz.js +0 -57
- package/.next/standalone/.next/static/chunks/260bomtr214m8.js +0 -34
- package/.next/standalone/.next/static/chunks/2xk2ra4piiuod.js +0 -34
- package/.next/standalone/.next/static/chunks/3b0-14cxqsprt.js +0 -1
- package/.next/standalone/.next/static/chunks/3jarus1_38s2z.js +0 -1
- package/.next/standalone/.next/static/chunks/3ssu341hav_sq.css +0 -3
- package/.next/standalone/.next/static/chunks/3v1qd3sqhqn0d.js +0 -1
- package/.next/static/chunks/0e3g0sil79cus.js +0 -21
- package/.next/static/chunks/0zd0t7e60bn4z.js +0 -1
- package/.next/static/chunks/163b-20vwa06i.js +0 -34
- package/.next/static/chunks/1pa-2v1ajvrko.js +0 -1
- package/.next/static/chunks/23_1z47al92nz.js +0 -57
- package/.next/static/chunks/260bomtr214m8.js +0 -34
- package/.next/static/chunks/2xk2ra4piiuod.js +0 -34
- package/.next/static/chunks/3b0-14cxqsprt.js +0 -1
- package/.next/static/chunks/3jarus1_38s2z.js +0 -1
- package/.next/static/chunks/3ssu341hav_sq.css +0 -3
- package/.next/static/chunks/3v1qd3sqhqn0d.js +0 -1
- /package/.next/standalone/.next/static/{ZVpLBK-2vpllv2HxOFs2d → 3NCyJyAPDCEYsYTwF1Ieu}/_buildManifest.js +0 -0
- /package/.next/standalone/.next/static/{ZVpLBK-2vpllv2HxOFs2d → 3NCyJyAPDCEYsYTwF1Ieu}/_clientMiddlewareManifest.js +0 -0
- /package/.next/standalone/.next/static/{ZVpLBK-2vpllv2HxOFs2d → 3NCyJyAPDCEYsYTwF1Ieu}/_ssgManifest.js +0 -0
- /package/.next/static/{ZVpLBK-2vpllv2HxOFs2d → 3NCyJyAPDCEYsYTwF1Ieu}/_buildManifest.js +0 -0
- /package/.next/static/{ZVpLBK-2vpllv2HxOFs2d → 3NCyJyAPDCEYsYTwF1Ieu}/_clientMiddlewareManifest.js +0 -0
- /package/.next/static/{ZVpLBK-2vpllv2HxOFs2d → 3NCyJyAPDCEYsYTwF1Ieu}/_ssgManifest.js +0 -0
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,33821,71639,e=>{"use strict";var t=e.i(43476),n=e.i(71645),r=e.i(22016),o=e.i(18566),i=e.i(26005),l=e.i(76760),a=e.i(30215),s=e.i(54322);let c=`
|
|
2
|
-
@keyframes trail-in { from { transform: scale(0); opacity: 0; } }
|
|
3
|
-
@keyframes trail-pulse { 0%, 100% { opacity: 0.45; transform: scale(0.8); } 50% { opacity: 1; transform: scale(1.25); } }
|
|
4
|
-
.scan-trail { transition: opacity 1.2s ease; }
|
|
5
|
-
.scan-trail .dot { animation: trail-in 0.35s cubic-bezier(0.2, 0.9, 0.3, 1.3); }
|
|
6
|
-
.scan-trail .dot.newest { box-shadow: 0 0 6px 1px currentColor; }
|
|
7
|
-
.scan-trail .seed { animation: trail-pulse 1.4s ease-in-out infinite; }
|
|
8
|
-
@media (prefers-reduced-motion: reduce) {
|
|
9
|
-
.scan-trail .dot, .scan-trail .seed { animation: none; }
|
|
10
|
-
.scan-trail { transition: none; }
|
|
11
|
-
}`;function u({inset:e}){let o=(0,a.default)(),i=(0,n.useRef)(null),[l,d]=(0,n.useState)(60),[f,g]=(0,n.useState)({on:!1,pages:0,label:""}),p=o.running&&!o.pending,h=o.target?.name?`Scanning ${o.target.name}`:"Scanning";p&&(!f.on||f.pages!==(o.pages||0)||f.label!==h)&&g({on:!0,pages:o.pages||0,label:h}),(0,n.useEffect)(()=>{if(p||!f.on)return;let e=setTimeout(()=>g(e=>({...e,on:!1})),4e3);return()=>clearTimeout(e)},[p,f.on]),(0,n.useEffect)(()=>{let e=i.current;if(!e)return;let t=new ResizeObserver(()=>d(Math.max(8,Math.floor(e.clientWidth/9)-4)));return t.observe(e),()=>t.disconnect()},[]);let{pages:m}=f,y=Math.max(0,m-l),b=[];for(let e=y;e<m;e++)b.push(e);let x=`${f.label}: ${0===m?"starting":`${m.toLocaleString("en-US")} page${1===m?"":"s"} read`}. Open the Scan page`;return(0,t.jsxs)("div",{ref:i,"aria-hidden":!f.on,style:{position:"absolute",left:e,right:e,bottom:-4,height:7,pointerEvents:"none"},children:[(0,t.jsx)("style",{children:c}),(0,t.jsxs)(r.default,{href:"/setup",title:x,tabIndex:f.on?0:-1,className:"scan-trail",style:{position:"absolute",left:0,top:0,height:7,display:"flex",alignItems:"center",gap:4,pointerEvents:f.on?"auto":"none",opacity:+!!f.on,textDecoration:"none"},children:[y>0&&(0,t.jsxs)("span",{style:{fontSize:9,fontWeight:700,color:"var(--sd-fg-3, #889)",marginRight:2,fontVariantNumeric:"tabular-nums"},children:["+",y.toLocaleString("en-US")]}),b.map(e=>{let n=[s.TIER_COLORS.S,s.TIER_COLORS.A,s.TIER_COLORS.B],r=n[e%n.length];return(0,t.jsx)("span",{className:`dot sd-dot-html${e===m-1?" newest":""}`,style:{width:5,height:5,borderRadius:"50%",background:r,color:r,flexShrink:0}},e)}),f.on&&(0,t.jsx)("span",{className:"seed",style:{width:5,height:5,borderRadius:"50%",background:"#00ff88",flexShrink:0}})]})]})}let d=`
|
|
12
|
-
@keyframes csBuild { from { opacity: 0; transform: scale(0.2); } 70% { opacity: 1; transform: scale(1.25); } to { opacity: 1; transform: scale(1); } }
|
|
13
|
-
@keyframes csLoop {
|
|
14
|
-
0% { opacity: 0; transform: scale(0.2); }
|
|
15
|
-
8% { opacity: 1; transform: scale(1.3); }
|
|
16
|
-
14%, 72% { opacity: 1; transform: scale(1); }
|
|
17
|
-
88%, 100% { opacity: 0; transform: scale(0.6); }
|
|
18
|
-
}
|
|
19
|
-
.cs { position: relative; display: inline-block; flex-shrink: 0; }
|
|
20
|
-
.cs .cs-glyph { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; line-height: 1; transition: opacity .15s, transform .2s; }
|
|
21
|
-
.cs svg { position: absolute; inset: 0; overflow: visible; }
|
|
22
|
-
.cs .cs-dot { transform-box: fill-box; transform-origin: center; opacity: 0; }
|
|
23
|
-
.cs .cs-hub { opacity: 0; transition: opacity .15s; }
|
|
24
|
-
.cluster-host:hover .cs:not(.cs-live) .cs-glyph { opacity: 0; transform: scale(.6) rotate(90deg); }
|
|
25
|
-
.cluster-host:hover .cs:not(.cs-live) .cs-hub { opacity: 1; }
|
|
26
|
-
.cluster-host:hover .cs:not(.cs-live) .cs-dot { animation: csBuild .32s cubic-bezier(.2,.9,.3,1.3) both; animation-delay: calc(var(--i) * 34ms); }
|
|
27
|
-
.cs.cs-live .cs-glyph { opacity: 0; }
|
|
28
|
-
.cs.cs-live .cs-hub { opacity: 1; }
|
|
29
|
-
.cs.cs-live .cs-dot { animation: csLoop 1.5s ease-out infinite; animation-delay: calc(var(--i) * 95ms); }
|
|
30
|
-
@media (prefers-reduced-motion: reduce) {
|
|
31
|
-
.cluster-host:hover .cs:not(.cs-live) .cs-dot, .cs.cs-live .cs-dot { animation: none; opacity: 1; }
|
|
32
|
-
.cluster-host:hover .cs:not(.cs-live) .cs-glyph { transform: none; }
|
|
33
|
-
}
|
|
34
|
-
`;function f({size:e=14,live:n=!1,glyph:r="↻"}){let o=e/2,i=.42*e,l=Math.max(1,.085*e),a=[s.TIER_COLORS.S,s.TIER_COLORS.A,s.TIER_COLORS.B];return(0,t.jsxs)("span",{className:`cs${n?" cs-live":""}`,"aria-hidden":"true",style:{width:e,height:e},children:[(0,t.jsx)("style",{children:d}),(0,t.jsx)("span",{className:"cs-glyph",style:{fontSize:e},children:r}),(0,t.jsxs)("svg",{width:e,height:e,viewBox:`0 0 ${e} ${e}`,children:[(0,t.jsx)("circle",{className:"cs-hub",cx:o,cy:o,r:1.35*l,fill:"currentColor"}),Array.from({length:10},(e,n)=>{let r=-Math.PI/2+2*n*Math.PI/10;return(0,t.jsx)("circle",{className:"cs-dot sd-dot",style:{"--i":n},cx:o+i*Math.cos(r),cy:o+i*Math.sin(r),r:l,fill:a[n%a.length]},n)})]})]})}e.s(["default",0,f],71639);var g=e.i(15812),p=e.i(40996),h=e.i(19821),m=e.i(98658),y=e.i(64745);let b={fontWeight:700,margin:0,whiteSpace:"nowrap",background:"linear-gradient(135deg, #FFD700, #9B59B6, #3498DB)",WebkitBackgroundClip:"text",WebkitTextFillColor:"transparent"};function x({isMobile:e,onOpen:r,openId:i}){let{userId:l}=(0,g.useUser)(),a=(0,o.useRouter)(),[s,c]=(0,n.useState)([]),[u,d]=(0,n.useState)(!1),f=(0,n.useRef)(!1),p=(0,n.useRef)(r);(0,n.useEffect)(()=>{p.current=r}),(0,n.useEffect)(()=>{l&&fetch(`/api/notifications?userId=${l}`).then(e=>e.json()).then(e=>{let t=e.notifications||[];c(t);let n=null!=i&&!f.current&&t.find(e=>String(e.id)===String(i));n&&p.current&&(f.current=!0,p.current(n))}).catch(()=>{})},[l,i]);let h=s.filter(e=>!e.seen).length,m=e=>{e.seen||(fetch("/api/notifications",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"mark-seen",id:e.id})}).catch(()=>{}),c(t=>t.map(t=>t.id===e.id?{...t,seen:!0}:t))),d(!1),r?r(e):a.push(`/?note=${encodeURIComponent(e.id)}`)};return(0,t.jsxs)("div",{style:{position:"relative"},children:[(0,t.jsxs)("button",{onClick:()=>d(!u),title:"Notifications","aria-label":h?`Notifications, ${h} new`:"Notifications",style:{width:e?28:32,height:e?28:32,borderRadius:"50%",border:"none",cursor:"pointer",background:"rgba(var(--sd-ink, 255, 255, 255), 0.06)",color:"var(--sd-fg-3, #888)",fontSize:e?12:14,display:"flex",alignItems:"center",justifyContent:"center",position:"relative"},children:["🔔",h>0&&(0,t.jsx)("span",{style:{position:"absolute",top:-2,right:-2,width:16,height:16,borderRadius:"50%",background:"#ff5050",color:"#fff",fontSize:9,fontWeight:700,display:"flex",alignItems:"center",justifyContent:"center"},children:h})]}),u&&(0,t.jsxs)("div",{style:{position:"absolute",top:40,right:0,width:320,maxHeight:400,background:"color-mix(in srgb, var(--sd-bg) 97%, transparent)",border:"1px solid rgba(var(--sd-ink, 255, 255, 255), 0.1)",borderRadius:12,overflow:"hidden",zIndex:100,backdropFilter:"blur(12px)",WebkitBackdropFilter:"blur(12px)",boxShadow:"0 8px 32px rgba(0,0,0,0.5)"},children:[(0,t.jsxs)("div",{style:{padding:"12px 16px",borderBottom:"1px solid rgba(var(--sd-ink, 255, 255, 255), 0.08)",display:"flex",justifyContent:"space-between",alignItems:"center"},children:[(0,t.jsx)("span",{style:{fontWeight:700,fontSize:14},children:"Notifications"}),h>0&&(0,t.jsx)("button",{onClick:()=>{fetch("/api/notifications",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"mark-all-seen"})}),c(e=>e.map(e=>({...e,seen:!0})))},style:{background:"none",border:"none",color:"var(--sd-blue, #3498DB)",fontSize:11,cursor:"pointer",fontWeight:600},children:"Mark all read"})]}),(0,t.jsx)("div",{style:{overflowY:"auto",maxHeight:340},children:0===s.length?(0,t.jsx)("div",{style:{padding:20,textAlign:"center",color:"var(--sd-fg-5, #555)",fontSize:12},children:"No notifications yet"}):s.slice(0,20).map(e=>(0,t.jsx)("div",{role:"button",tabIndex:0,onClick:()=>m(e),onKeyDown:t=>{"Enter"===t.key&&m(e)},onMouseEnter:e=>{e.currentTarget.style.background="rgba(var(--sd-ink, 255, 255, 255), 0.06)"},onMouseLeave:t=>{t.currentTarget.style.background=e.seen?"transparent":"rgba(255,215,0,0.04)"},style:{padding:"10px 16px",borderBottom:"1px solid rgba(var(--sd-ink, 255, 255, 255), 0.04)",cursor:"pointer",background:e.seen?"transparent":"rgba(255,215,0,0.04)"},children:(0,t.jsxs)("div",{style:{display:"flex",gap:8,alignItems:"flex-start"},children:[(0,t.jsx)("span",{style:{fontSize:16},children:e.icon||"📌"}),(0,t.jsxs)("div",{style:{flex:1},children:[(0,t.jsxs)("div",{style:{fontSize:12,fontWeight:600,color:e.seen?"var(--sd-fg-3, #888)":"var(--sd-fg-1, #fff)"},children:[e.title,(0,t.jsx)("span",{style:{color:"var(--sd-fg-5, #556)",marginLeft:6},children:"›"})]}),e.message&&(0,t.jsx)("div",{style:{fontSize:10,color:"var(--sd-fg-4, #666)",marginTop:2},children:e.message}),(0,t.jsx)("div",{style:{fontSize:9,color:"var(--sd-fg-5, #444)",marginTop:3},children:new Date(e.created_at).toLocaleDateString()})]})]})},e.id))})]})]})}function v({isMobile:e}){let n=(0,a.default)(),r=n.running&&"refresh"===n.action,o=(0,p.busyReason)(n);return(0,t.jsxs)("button",{className:"cluster-host",onClick:async()=>{try{let e=(0,p.notReadyMessage)(await (0,p.scraperStatus)());if(e)return void alert(e);if(!window.confirm("Check for new connections?\n\nThis opens a Chrome window on your LinkedIn connections list and reads it from the newest, stopping once it reaches people already saved. It usually takes under a minute. It reads your own list, not a search, so it doesn’t use your search budget, but like any scan it is LinkedIn traffic from your account."))return;await (0,p.beginScrape)("refresh"),alert("Checking for new connections. Watch it on the Scan page.")}catch(e){alert(e.message)}},disabled:!!o,title:o?`${o}. One scan at a time.`:"Check for new connections: reads your LinkedIn connections list from the newest","aria-label":"Check for new connections",style:{height:e?28:32,padding:e?"0 10px":"0 14px",borderRadius:16,border:"1px solid rgba(0,255,136,0.3)",cursor:r?"progress":o?"not-allowed":"pointer",opacity:o&&!r?.45:1,background:"rgba(0,255,136,0.08)",color:"var(--sd-fg-1, #bff5d9)",fontSize:e?11:12.5,fontWeight:700,display:"flex",alignItems:"center",gap:6,whiteSpace:"nowrap",flexShrink:0},children:[(0,t.jsx)(f,{size:e?12:14,live:r}),r?"Checking…":e?"New":"Check for new"]})}let w=null;function S({isMobile:e,csvMode:r,level:o}){let{userId:i}=(0,g.useUser)(),l=y.IS_DEMO?"sample":r?"csv":"own",a=(0,n.useSyncExternalStore)(m.watchLevel,()=>(0,m.levelNow)(l),()=>null);(0,n.useEffect)(()=>{null!=o?(0,m.rememberLevel)(o,l):null!=a||y.IS_DEMO||r||!i||(w||(w=(0,h.loadNetwork)(i).then(e=>(0,m.networkLevel)(e.degree1,e.degree2)).catch(()=>(w=null,null))),w.then(e=>{null!=e&&(0,m.rememberLevel)(e,l)}))},[o,a,r,l,i]);let s=o??a;return(0,t.jsx)("a",{href:y.IS_DEMO?"/launch":r?"/import":"/profile",title:null!=s?`Your profile \xb7 level ${s}`:"Your profile",style:{width:e?30:36,height:e?30:36,borderRadius:"50%",display:"flex",alignItems:"center",justifyContent:"center",background:"linear-gradient(135deg, #FFD700, #FF6B35)",color:"#000",fontWeight:800,fontSize:e?11:14,textDecoration:"none",marginLeft:e?2:4,flexShrink:0},children:s??""})}e.s(["default",0,function({active:e,isMobile:o,csvMode:a=!1,onMode:s,chips:c,level:d,onOpenNote:f,openNoteId:g=null,brand:p="h1",children:h}){let m=function(){let[e,t]=(0,n.useState)(!1);return(0,n.useEffect)(()=>{let e=()=>t(window.innerWidth<768);return e(),window.addEventListener("resize",e),()=>window.removeEventListener("resize",e)},[]),e}(),w=o??m,k=!y.IS_DEMO&&!a;return(0,t.jsxs)("header",{style:{position:"relative",padding:w?"10px 12px":"20px 30px",borderBottom:"1px solid rgba(var(--sd-ink, 255, 255, 255), 0.1)",flexShrink:0,background:"var(--sd-header)",backdropFilter:"var(--sd-header-blur)",WebkitBackdropFilter:"var(--sd-header-blur)"},children:[(0,t.jsxs)("div",{style:w?{display:"flex",alignItems:"center",justifyContent:"space-between",flexWrap:"wrap",gap:6,marginBottom:4}:{display:"grid",gridTemplateColumns:"1fr auto 1fr",alignItems:"center",gap:16,marginBottom:8},children:[(0,t.jsx)(r.default,{href:"/",style:{textDecoration:"none",justifySelf:"start"},children:(0,t.jsx)(p,{style:{...b,fontSize:w?16:28},children:"Six Degrees"})}),(0,t.jsx)(i.default,{active:e,isMobile:w,csvMode:a,onMode:s,after:k?(0,t.jsx)(l.default,{isMobile:w}):null,children:c}),(0,t.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"flex-end",justifySelf:"end",gap:w?4:8},children:[!y.IS_DEMO&&(0,t.jsx)(r.default,{href:"/settings",title:"Settings","aria-label":"Settings",style:{width:w?28:32,height:w?28:32,borderRadius:"50%",flexShrink:0,background:"rgba(var(--sd-ink, 255, 255, 255), 0.06)",color:"var(--sd-fg-3, #888)",fontSize:w?14:16,textDecoration:"none",display:"flex",alignItems:"center",justifyContent:"center"},children:"⚙︎"}),k&&(0,t.jsx)(x,{isMobile:w,onOpen:f,openId:g}),k&&(0,t.jsx)(v,{isMobile:w}),(0,t.jsx)(S,{isMobile:w,csvMode:a,level:d})]})]}),h,k&&(0,t.jsx)(u,{inset:w?12:30})]})}],33821)},26005,76760,e=>{"use strict";var t=e.i(43476),n=e.i(22016),r=e.i(64745);let o=[{key:"network",label:"Network Circle",short:"Circle",on:{background:"#fff",color:"#000"},off:{background:"transparent",color:"var(--sd-fg-3, #888)"}},{key:"degrees",label:"Degrees",on:{background:"linear-gradient(135deg, #FFD700, #FF6B35)",color:"#000"},off:{background:"rgba(var(--sd-ink, 255, 255, 255), 0.12)",color:"var(--sd-fg-1, #fff)"}},{key:"separation",label:"Separation",on:{background:"linear-gradient(135deg, #00E5FF, #FFD700 55%, #FF7043)",color:"#000"},off:{background:"rgba(var(--sd-ink, 255, 255, 255), 0.12)",color:"var(--sd-fg-1, #fff)"}}],i=[{key:"paths",href:"/paths",label:"Paths",color:"var(--sd-green, #00ff88)",on:"linear-gradient(135deg, #00ff88, #3498DB)",demo:!0},{key:"outlink",href:"/queue",label:"Outlink",color:"var(--sd-orange, #FF6B35)",on:"linear-gradient(135deg, #FF6B35, #FFD700)",own:!0},{key:"scan",href:"/setup",label:"Scan",color:"var(--sd-fg-4, #666)",on:"linear-gradient(135deg, #00ff88, #1abc9c)",own:!0}];e.s(["default",0,function({active:e,isMobile:l=!1,csvMode:a=!1,onMode:s,children:c,after:u}){let d={padding:l?"6px 10px":"8px 16px",borderRadius:6,border:"none",fontSize:l?11:13,fontWeight:600,textDecoration:"none"};return(0,t.jsxs)("div",{id:"main-tabs","data-glass-panel":"bar",style:{display:"flex",gap:l?2:4,background:"rgba(var(--sd-ink, 255, 255, 255), 0.08)",borderRadius:8,padding:l?2:3,flexWrap:l?"wrap":"nowrap"},children:[o.map(r=>{let o={...d,cursor:"pointer",...e===r.key?r.on:r.off},i=l&&r.short?r.short:r.label;return s?(0,t.jsx)("button",{type:"button",onClick:()=>s(r.key),style:o,children:i},r.key):(0,t.jsx)(n.default,{href:`/?mode=${r.key}`,style:{...o,display:"flex",alignItems:"center"},children:i},r.key)}),c,i.filter(e=>!r.IS_DEMO&&(!e.own||!a)).map(r=>{let o=e===r.key;return(0,t.jsxs)(n.default,{href:r.href,title:r.title,"aria-current":o?"page":void 0,style:{...d,display:"flex",alignItems:"center",gap:4,background:o?r.on:"rgba(var(--sd-ink, 255, 255, 255), 0.06)",color:o?"#000":r.color},children:[r.label,r.badge&&(0,t.jsx)("span",{style:{fontSize:9,opacity:.7,marginLeft:2},children:r.badge})]},r.key)}),u]})}],26005);var l=e.i(71645),a=e.i(40996),s=e.i(68792);e.s(["default",0,function({isMobile:e=!1}){let r=(0,l.useSyncExternalStore)(s.watchAllDay,s.allDayNow,()=>!1),[o,i]=(0,l.useState)(()=>(0,a.scannerNow)()),[c,u]=(0,l.useState)(!1);if((0,l.useEffect)(()=>(0,a.watchScanner)(()=>{i((0,a.scannerNow)()),u(!1)}),[]),!r)return null;let d=o?.running&&String(o.action||"").startsWith("auto-bridge"),f={padding:e?"8px 12px":"8px 16px",borderRadius:6,fontSize:13,fontWeight:600,textDecoration:"none",display:"flex",alignItems:"center",gap:6,whiteSpace:"nowrap"};if(d)return(0,t.jsxs)(n.default,{href:"/setup",title:"Auto scan is running: see it on the Scan page",style:{...f,background:"rgba(0,255,136,0.15)",color:"var(--sd-green, #00ff88)",border:"1px solid rgba(0,255,136,0.45)"},children:[(0,t.jsx)("span",{style:{width:7,height:7,borderRadius:"50%",background:"#00ff88"}}),"Auto scan"]});let g=o?.running||c;return(0,t.jsxs)("button",{onClick:()=>{u(!0),(0,s.startAutoScan)().catch(()=>u(!1))},disabled:g,title:g?"The scanner is busy: one scan at a time":"Start the all-day Auto-Bridge (experimental)",style:{...f,cursor:g?"default":"pointer",background:"rgba(var(--sd-ink, 255, 255, 255), 0.04)",color:g?"var(--sd-fg-5, #555)":"var(--sd-fg-3, #8b9a9a)",border:"1px solid rgba(255,215,0,0.25)"},children:[(0,t.jsx)("span",{style:{width:7,height:7,borderRadius:"50%",background:"#556"}}),"Auto scan"]})}],76760)},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:"var(--sd-page)",color:"var(--sd-fg-1, #fff)",padding:24,textAlign:"center",fontFamily:"var(--sd-font)"},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:"var(--sd-fg-3, #888)",fontSize:14,lineHeight:1.6},children:"The page loaded, but the app behind it isn’t answering. Quit Six Degrees and open it again."})]}):(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,i=r,l=null,a=new Map;function s(e=i.sent,t=i.known){for(let n of(i=Object.freeze({known:t,sent:e,mine:new Map(a),version:i.version+1}),[...o]))n()}function c(e){return o.add(e),l||i.known||(l=fetch("/api/outreach").then(e=>e.ok?e.json():null).then(e=>{e&&s(new Set((e.pending||[]).map(n.keyFor)),!0)}).catch(()=>{}).finally(()=>{l=null})),()=>o.delete(e)}function u(){return i}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 g(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=i){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=i){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,u,"undoRequest",0,g,"watchRequests",0,c],86106),e.s(["default",0,function(){return(0,t.useSyncExternalStore)(c,u,()=>r)}],28867)},30215,e=>{"use strict";var t=e.i(71645),n=e.i(40996);e.s(["default",0,function(){return(0,t.useSyncExternalStore)(n.watchScanner,n.scannerNow,()=>n.SCANNER_UNKNOWN)}])},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 i(e=[]){let t=new Map;for(let n of e){let e=o(n["sender profile url"]),r=n["conversation id"];r&&e&&(t.has(e)||t.set(e,new Set),t.get(e).add(r))}let n=null;for(let[e,r]of t)(!n||r.size>t.get(n).size)&&(n=e);return n}let l=e=>{let t=f(e);return t?`name:${t}`:null},a=/sponsored/i,s=/in\s?mail/i,c=/linkedin\.com\/(company|showcase|school)\//i,u=e=>/^(yes|true|1)$/i.test(String(e||"").trim());function d(e,t){if(!e||!e.total)return"never";let n=t-e.last;return n<=2592e6||e.recent>=3?"warm":n<=31536e6?"cool":"dormant"}let f=e=>String(e||"").split(",")[0].normalize("NFD").replace(/[̀-ͯ]/g,"").toLowerCase().replace(/[^a-z0-9 ]+/g," ").replace(/\s+/g," ").trim();e.s(["buildConversations",0,function(e=[],{keepText:t=!1}={}){let n=i(e),d=new Map;for(let t of e)n&&o(t["sender profile url"])===n&&t.from&&d.set(t.from,(d.get(t.from)||0)+1);let g=f([...d].sort((e,t)=>t[1]-e[1])[0]?.[0]||""),p=e=>!!e&&(e===n||!!g&&e===`name:${g}`),h={},m=new Map,y=0,b=0;for(let n of e){let e=n["conversation id"],i=r(n.date);if(!e||null==i){b+=1;continue}if(u(n["is message draft"])){y+=1;continue}let d=o(n["sender profile url"])||l(n.from);d&&n.from&&!h[d]&&(h[d]=String(n.from).trim());let f=String(n["recipient profile urls"]||"").split(/[,;\s]+/).filter(Boolean).map(o),g=String(n.to||"").split(",").map(e=>e.trim()).filter(Boolean),x=f.length?f:g.map(l).filter(Boolean);f.length&&f.length===g.length&&f.forEach((e,t)=>{h[e]||(h[e]=g[t])}),f.length||g.forEach(e=>{let t=l(e);t&&!h[t]&&(h[t]=e)}),m.has(e)||m.set(e,{id:e,title:"",everyone:new Set,messages:[],kind:null,folder:"",newest:-1/0});let v=m.get(e);d&&v.everyone.add(d),x.forEach(e=>v.everyone.add(e)),v.kind=v.kind||function(e){let t=String(e.folder||""),n=String(e["conversation title"]||"");return a.test(t)||a.test(n)||c.test(String(e["sender profile url"]||""))?"sponsored":s.test(t)||s.test(n)?"inmail":null}(n),i>=v.newest&&(v.newest=i,v.folder=String(n.folder||"").trim().toLowerCase().slice(0,30));let w={t:i,fromMe:p(d)};t&&(w.text=[n.subject,n.content].map(e=>String(e||"").trim()).filter(Boolean).join("\n\n"),!v.title&&n["conversation title"]&&(v.title=String(n["conversation title"]).trim())),v.messages.push(w)}let x=[];for(let e of m.values()){let n=[...e.everyone].filter(e=>e&&!p(e)).sort();e.messages.sort((e,t)=>e.t-t.t);let r={id:e.id,people:n,group:n.length>1,kind:e.kind,folder:e.folder,messages:e.messages};t&&(r.title=e.title),x.push(r)}for(let e of Object.keys(h))p(e)&&delete h[e];return{self:n,conversations:x,names:h,drafts:y,skipped:b}},"buildInvitations",0,function(e=[],{keepText:t=!1}={}){let n=[];for(let i of e){let e=String(i.direction||"").toUpperCase();if("INCOMING"!==e&&"OUTGOING"!==e)continue;let a="INCOMING"===e?"in":"out",s=String(("in"===a?i.from:i.to)||"").trim(),c=o("in"===a?i.inviterprofileurl:i.inviteeprofileurl),u=(c&&/\/in\//.test(c)?c:null)||l(s);if(!u)continue;let d=r(i["sent at"]),f={id:`${a}|${u}|${d??""}`,dir:a,key:u,name:s.slice(0,120),t:d};t&&String(i.message||"").trim()&&(f.note=String(i.message).trim().slice(0,2e3)),n.push(f)}return n.sort((e,t)=>(t.t||0)-(e.t||0))},"careerChapters",0,function(e=[],t=[],n=Date.now()){let i=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 i.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)}})},"conversationSummary",0,function(e){let t=e.messages[e.messages.length-1];return{id:e.id,people:e.people,group:e.group,kind:e.kind||null,folder:e.folder||"",last:t?t.t:null,lastFromThem:t?!t.fromMe:null,count:e.messages.length,mine:e.messages.filter(e=>e.fromMe).length}},"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=i(e),n=new Map;for(let t of e){let e=o(t["sender profile url"]),i=t["conversation id"];if(!i||!e)continue;let l=String(t["recipient profile urls"]||"").split(/[,;\s]+/).filter(Boolean).map(o),a=r(t.date);if(null==a)continue;n.has(i)||n.set(i,{people:new Set,msgs:[]});let s=n.get(i);s.people.add(e),l.forEach(e=>s.people.add(e)),s.msgs.push({from:e,t:a})}let l=0,a=new Map;for(let e of n.values()){let n=[...e.people].filter(e=>e!==t);if(1!==n.length||!e.people.has(t))continue;let r=n[0],o=a.get(r)||{last:0,lastFromThem:!1,total:0,times:[]};for(let n of e.msgs)o.total+=1,o.times.push(n.t),n.t>=o.last&&(o.last=n.t,o.lastFromThem=n.from!==t),n.t>l&&(l=n.t);a.set(r,o)}for(let e of a.values())e.recent=e.times.filter(e=>e>l-7776e6).length,delete e.times;return{self:t,asOf:l||null,people:a}},"nameKey",0,f,"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 i=Math.max(6048e5,o[o.length-1]-o[0]),l=o.length/i*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: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 i=r[o].map(e=>e.trim().toLowerCase());return r.slice(o+1).filter(e=>e.some(e=>e.trim())).map(e=>Object.fromEntries(i.map((t,n)=>[t,(e[n]??"").trim()])))},"warmthOf",0,d],84278);let g=["gravity","rings","push","pull","distance","orbit","dotSize","lines","sizeBy","names","branch","colourBy","speed","loop"],p=e=>"boolean"==typeof e||"number"==typeof e&&Number.isFinite(e)&&1e3>=Math.abs(e)||"string"==typeof e&&/^[a-z]{1,20}$/i.test(e);function h(e){if(!Array.isArray(e))return[];let t=new Map;for(let n of e){let e="string"==typeof n?.name?n.name.trim().slice(0,40):"";if(!e||!n.settings||"object"!=typeof n.settings||Array.isArray(n.settings))continue;let r={};for(let e of g)Object.hasOwn(n.settings,e)&&p(n.settings[e])&&(r[e]=n.settings[e]);t.set(e,{name:e,settings:r})}return[...t.values()].slice(0,50)}var m=e.i(56899),y=e.i(40827);let b="six-degrees-galaxy-lab",x="six-degrees-galaxy-layouts",v=Object.freeze({on:!0,gravity:0,rings:1,push:15,pull:1,distance:1,dotSize:1,lines:1,sizeBy:"power",orbit:0,names:"key",branch:!1,colourBy:"tier",speed:15,loop:!1,labels:!0,v:2}),w=["gravity","rings","push","pull","distance"],S=Object.freeze({gravity:.8,rings:0,push:6,pull:6,distance:.15,sizeBy:"links"}),k=Object.freeze({rings:{lines:1},orbit:{lines:1},clusters:{lines:3}}),M=Object.freeze({gravity:0,rings:3,push:6,pull:4,distance:.22,sizeBy:"power"}),j=new Set,C=null;function I(){return C||(C=function(){try{let e=JSON.parse(localStorage.getItem(b)||"null");if(!e||"object"!=typeof e)return v;return{...v,...e,...e.v===v.v?{}:{branch:!1},v:v.v,on:!0}}catch{return v}}()),C}function F(e){C=null===e?{...v,labels:I().labels}:{...I(),...e,on:!0};try{localStorage.setItem(b,JSON.stringify(C))}catch{}j.forEach(e=>e())}let N=null,O=new Set;function E(){if(!N){try{N=JSON.parse(localStorage.getItem(x)||"[]")}catch{N=[]}Array.isArray(N)||(N=[])}return N}function _(e,{save:t=!0}={}){N=e;try{localStorage.setItem(x,JSON.stringify(e))}catch{}O.forEach(e=>e()),t&&(0,m.saveSettings)({galaxyLayouts:e})}let B=new Set,L={at:null,playing:!1,min:null,max:null,of:0,find:"",fly:0,found:0,fit:0,social:void 0},T=null;function z(e){let t={...L,...e};Object.keys(e).every(e=>Object.is(t[e],L[e]))||(L=t,B.forEach(e=>e()))}function D(){cancelAnimationFrame(T),T=null,z({playing:!1})}let A=null;function R(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}),i=n.get(e)||{total:0,recent:0};o.last&&(!i.last||o.last>i.last)&&(i.last=o.last,"boolean"==typeof o.lastFromThem&&(i.lastFromThem=o.lastFromThem)),i.unread=o.unread,i.total=Math.max(i.total||0,1),n.set(e,i)}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 $={1:"#4FC3F7",2:"#BA68C8",3:"#FFB74D"},U=["#FF6B6B","#4ECDC4","#FFD93D","#A29BFE","#00B894","#FD79A8","#74B9FF","#E17055"],W={warm:"#FF7043",cool:"#4FC3F7",dormant:"#8D6E63",never:"#546E7A"},P="#4a5568",q=["#2b1b6b","#6a1b9a","#c2185b","#f4511e","#ffb300","#fff3b0"];function G(e){let t=Math.max(0,Math.min(1,Number(e)||0))*(q.length-1),n=Math.min(q.length-2,Math.floor(t)),r=t-n,o=q[n],i=q[n+1];return`#${[1,3,5].map(e=>Math.round(parseInt(o.slice(e,e+2),16)*(1-r)+parseInt(i.slice(e,e+2),16)*r).toString(16).padStart(2,"0")).join("")}`}function J(e=[],t=()=>0){let n=[...new Set(e.map(t))].sort((e,t)=>e-t),r=new Map(n.map((e,t)=>[e,n.length>1?t/(n.length-1):1]));return e=>r.get(t(e))??0}let K=e=>String(e||"").trim().toLowerCase();e.s(["CLUSTERS",0,S,"FORCE_KEYS",0,w,"LAB_DEFAULTS",0,v,"LAYOUT_LOOKS",0,k,"ORBIT",0,M,"adoptSavedLayouts",0,function(e){let t=h(E()),{use:n,save:r,changed:o}=(0,y.reconcileSaved)({saved:null==e?null:h(e),cached:t,isDefault:e=>0===e.length,same:(e,t)=>JSON.stringify(e)===JSON.stringify(t)});r&&(0,m.saveSettings)({galaxyLayouts:t}),o&&_(n,{save:!1})},"applyLayout",0,function(e){let t=E().find(t=>t.name===e);t&&F(Object.fromEntries(g.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,i=0)=>{if(r.has(e.id))return r.get(e.id);let l=-1/0,a=t.get(e.id);if(1===e.degree||null==a||i>6){let t=e.connected_date?Date.parse(e.connected_date):NaN;l=Number.isNaN(t)?-1/0:t}return null!=a&&n.has(a)&&i<=6&&(l=Math.max(l,o(n.get(a),i+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,()=>L,"colourScheme",0,function(e,n,r,o){if("degree"===e)return{of:e=>$[Math.min(e.degree||1,3)],legend:[["1st",$[1]],["2nd",$[2]],["3rd+",$[3]]]};if("company"===e){let e=new Map;for(let t of n){let n=K(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,U.length),r=new Map(t.map(([e],t)=>[e,U[t]]));return{of:e=>r.get(K(e.company))||P,legend:[...t.map(([,e],t)=>[e.name,U[t]]),["Other",P]]}}if("heat"===e){let e=function(e=[]){return J(e,t.score)}(n);return{of:t=>G(e(t)),heat:e,legend:[["Cold",G(.1)],["Warm",G(.45)],["Hot",G(.75)],["Hottest",G(1)]]}}return"warmth"===e&&o?{of:e=>1===(e.degree||1)?W[d(o.merged.get((0,t.keyFor)(e)),o.asOf)]:"#2d3748",legend:[["Warm",W.warm],["Cool",W.cool],["Dormant",W.dormant],["Never messaged",W.never]]}:{of:e=>r[e.tier]||"#666",legend:Object.entries(r)}},"effectiveLab",0,e=>e.on?e:e.labels===v.labels?v:{...v,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){_(E().filter(t=>t.name!==e))},"heatBy",0,J,"heatColour",0,G,"labNow",0,I,"layoutOf",0,function(e){let t=t=>Object.entries(t).every(([t,n])=>e[t]===n);return w.every(t=>e[t]===v[t])?"rings":t(S)?"clusters":t(M)?"orbit":null},"layoutsNow",0,E,"loadSocial",0,function(){return A||(A=fetch("/api/social").then(e=>e.ok?e.json():{}).then(e=>{z({social:e.social?R(e.social):null})}).catch(()=>z({social:null}))),A},"mergeSocial",0,R,"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,D,"play",0,function e(){if(null==L.min||null==L.max||L.max<=L.min)return;let t=L.max-L.min,n=1e3*Math.max(1,Number(I().speed)||15),r=null==L.at||L.at>=L.max?L.min:L.at,o=performance.now()-(r-L.min)/t*n;z({at:r,playing:!0});let i=r=>{let l=Math.min(L.max,L.min+(r-o)/n*t);if(z({at:l}),l>=L.max){T=null,z({playing:!1}),I().loop&&setTimeout(()=>{T||L.at!==L.max||(z({at:L.min}),e())},1200);return}T=requestAnimationFrame(i)};cancelAnimationFrame(T),T=requestAnimationFrame(i)},"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=I(),r=Object.fromEntries(g.map(e=>[e,n[e]]));_([...E().filter(e=>e.name!==t),{name:t,settings:r}])},"setClock",0,z,"setLab",0,F,"stopReplay",0,function(){D(),z({at:null})},"watchClock",0,function(e){return B.add(e),()=>B.delete(e)},"watchLab",0,function(e){j.add(e);let t=t=>{t.key===b&&(C=null,e())};return window.addEventListener("storage",t),()=>{j.delete(e),window.removeEventListener("storage",t)}},"watchLayouts",0,function(e){return O.add(e),()=>O.delete(e)}],39160)},19821,98658,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}}function n(e=[],t=[]){let r={S:0,A:0,B:0,C:0,D:0};for(let t of e)r[t.tier]=(r[t.tier]||0)+1;let o=0;for(let e of t)"S"===e.tier&&(o+=1);let i=new Set(t.map(e=>e.source_connection_id).filter(Boolean)).size,l=e.filter(e=>e.is_catalyst).length;return 100*r.S+40*r.A+15*r.B+5*r.C+ +r.D+200*i+150*l+50*o+e.length}e.s(["loadNetwork",0,t],19821);let r=e=>Math.floor(Math.sqrt(Math.max(0,e)/10)),o="six-degrees-level",i={},l=new Set;function a(e="own"){if(!(e in i))try{let t=sessionStorage.getItem(`${o}:${e}`),n=null==t?NaN:Number(t);i[e]=Number.isFinite(n)?n:null}catch{i[e]=null}return i[e]}e.s(["levelNow",0,a,"levelOf",0,r,"networkLevel",0,(e,t)=>r(n(e,t)),"networkPower",0,n,"rememberLevel",0,function(e,t="own"){if(a(t)!==e){i[t]=e;try{sessionStorage.setItem(`${o}:${t}`,String(e))}catch{}l.forEach(e=>e())}},"watchLevel",0,function(e){return l.add(e),()=>l.delete(e)}],98658)},48235,e=>{"use strict";var t=e.i(51798),n=e.i(7214);function r(e,t){return e?t.scanned.has(e.id)||e.profile_url&&t.read?.has((0,n.keyFor)(e))?"scanned":e.profile_url&&t.hidden.has((0,n.keyFor)(e))?"hidden":"todo":"todo"}function o(e,t){if(!e||1!==e.degree||null==e.unlocked_from_bridge_id)return null;let n=r(e,t);return"todo"===n?"ready":n}e.s(["circleScanCost",0,function(e=100,n="fast"){let r=Math.max(1,Math.min(100,Math.round(e)||100)),o=n&&"fast"!==n?Math.max(5,Math.round((0,t.paceSeconds)(n,r)/60)):r>=100?55:Math.max(5,Math.round(.55*r));return{profileViews:1,searches:r,minutes:o}},"circleState",0,r,"reachIndex",0,function(e=[],t=[],r={}){let o=new Set;for(let e of t||[])e?.source_connection_id!=null&&o.add(e.source_connection_id);let i=new Set;for(let e of r?.skips||[])e?.profileUrl&&i.add((0,n.keyFor)({profile_url:e.profileUrl}));let l=new Set;for(let e of r?.read||[])e&&l.add((0,n.keyFor)({profile_url:e}));let a=new Map;for(let[e,t]of Object.entries(r?.lists||{}))e&&t&&a.set((0,n.keyFor)({profile_url:e}),t);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:l,hidden:i,reachedFrom:s,lists:a}},"reachState",0,o,"readyByCircle",0,function(e){let t=new Map;for(let[n,r]of e.reachedFrom){let i=r.filter(t=>"ready"===o(t,e)).length;i&&t.set(n,i)}return t},"readyToScan",0,function(e,t){return(e||[]).filter(e=>"ready"===o(e,t)).sort(n.compareBridges)},"scanBars",0,function(e,t){let o=r(e,t),i=e?.profile_url?t.lists?.get((0,n.keyFor)(e)):null;return"hidden"===o?null:i?i.more?i.total?Math.max(1,Math.min(4,Math.round(5*Math.min(1,10*i.pages/i.total)))):2:5:"scanned"===o?2:null}])},51798,e=>{"use strict";let t={fast:{label:"Fast",pagePause:20,chunkCooldown:60,profileGap:60},medium:{label:"Medium",pagePause:45,chunkCooldown:180,profileGap:90},slow:{label:"Slow",pagePause:90,chunkCooldown:300,profileGap:120}},n=e=>t[e]||t.fast;function r(e,t){let r=n(e),o=Math.max(0,Math.floor(Number(t)||0));return o*(6+r.pagePause)+Math.floor(o/10)*r.chunkCooldown}e.s(["PACES",0,t,"PACE_NAMES",0,["slow","medium","fast"],"durationText",0,function(e){if(!(e>=60))return"under a minute";let t=Math.round(e/60);if(t<60)return`about ${t} min`;let n=Math.floor(t/60),r=t%60;return`about ${n} h${r?` ${r} min`:""}`},"firstCircleSeconds",0,function(e){return r(e,10)},"paceOf",0,n,"paceSeconds",0,r,"searchesPerHour",0,function(e){let t=n(e);return Math.round(3600/(6+t.pagePause+t.chunkCooldown/10))}])},7214,36774,e=>{"use strict";let t=/^[A-Za-z0-9_-]+\.(webp|jpg|jpeg|png)$/,n="/avatars/";function r(e){return"string"==typeof e&&e.startsWith(n)&&t.test(e.slice(n.length))?e:null}e.s(["localPhoto",0,r],36774);let o={S:0,A:1,B:2,C:3,D:4};function i(e){let t=parseFloat(e?.power_score);return Number.isFinite(t)?t:0}function l(e){return Math.round(10*i(e))/10}function a(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 c(e,t){return(o[e.tier]??9)-(o[t.tier]??9)||i(t)-i(e)||String(e.name||"").localeCompare(String(t.name||""))||s(e.id,t.id)}function u(e,t){return e.bridge&&t.bridge?c(e.bridge,t.bridge):e.bridge?-1:t.bridge?1:s(e.id,t.id)}function d(e,t){return t.score-e.score||t.waysIn-e.waysIn||u(e.routes[0]||f,t.routes[0]||f)||String(e.person.name||"").localeCompare(String(t.person.name||""))||(e.key<t.key?-1:+(e.key>t.key))}let f={id:null,bridge:null};function g(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,c,"comparePower",0,d,"convergeLayout",0,function(e,t=800,n=!1,{cards:r=!1,mutuals:o=0}={}){let i=r?46:n?40:34,l=Math.round(t*(n?.44:.36)),a=Math.round(t*(n?.8:r?.6:.62)),s=[],c=null;for(let t of e?.routes||[])t.bridge?s.push({id:t.id,bridge:t.bridge,unresolved:!1,count:1}):c?c.count++:s.push(c={id:null,bridge:null,unresolved:!0,count:1});let u=Math.max(0,Math.floor(Number(o)||0)-(e?.waysIn||0)),d=Math.min(60,u),f=r?12:11,h=r?220:n?96:120,m=Math.max(1,Math.floor(h/f)+1),y=Math.ceil(d/m),b=d?40+y*f:0,x=Math.max(0,s.length-1)*i+b,v=Math.max(n?190:r?250:220,32+x+48),w=v/2,S=w-x/2,k=Math.max(4,Math.floor((l-10-42)/6)),M=s.map((e,t)=>{let n=e.unresolved?`can't be named (${e.count})`:e.bridge.name||"";return{...e,x:l,y:S+t*i,r:6,primary:0===t&&!e.unresolved,label:n.length<=k?n:p(e.unresolved?n:g(n),k)}}),j={x:a,y:w,r:17*!r,rings:r?[]:[32,50,70].filter(e=>e<=w-4)},C=M.map(t=>({key:e?.key,bridgeId:t.id,primary:t.primary,unresolved:t.unresolved,tier:t.bridge?.tier??null,x1:t.x,y1:t.y,x2:j.x,y2:j.y})),I={x:20,y:w,r:14},F=M.map(e=>({id:e.id,x1:I.x,y1:I.y,x2:e.x,y2:e.y})),N=e?[{key:e.key,p:e,x:j.x,y:j.y,r:j.r,rings:j.rings,big:!0,label:""}]:[],O=S+Math.max(0,s.length-1)*i+40,E=r?l-236+8:l-h,_=Array.from({length:d},(e,t)=>({x:E+t%m*f,y:O+Math.floor(t/m)*f})),B=e?.waysIn?e.waysIn/(e.waysIn+u):1;return{width:t,height:v,you:I,target:j,people:N,bridges:M,links:C,spokes:F,ghosts:_,unscanned:u,ghostLabel:d?{x:E,y:O-13}:null,drawn:B}},"keyFor",0,a,"mapCount",0,function(e,t=10){let n=Math.max(0,Math.min(100,Number(e)||0));return n<=50?t:Math.max(1,Math.round(t*(100-n)/50))},"mostMutuals",0,function(e=[],t=()=>0,n=7){return[...e].sort((e,n)=>Math.max(t(n)||0,n.waysIn)-Math.max(t(e)||0,e.waysIn)||n.waysIn-e.waysIn||d(e,n)).slice(0,n)},"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(u):[]},"score",0,i,"score1",0,l,"separationPeople",0,function(e=[],t=[]){let n=new Map;for(let e of t||[])n.set(e.id,e);let o=new Map,i=new Map;for(let t of e||[]){let e=a(t);i.set(t.id,e);let n=o.get(e);n?function(e,t){let n=l(e)-l(t);if(n)return n>0;let o=!!r(e.profile_image_url);return!!r(t.profile_image_url)!==o?o:0>s(e.id,t.id)}(t,n.person)&&(n.person=t):(n={key:e,person:t,rowIds:[],routeIds:new Set},o.set(e,n)),n.rowIds.push(t.id),n.routeIds.add(t.source_connection_id??null)}let c={people:o.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,g=new Set,p=new Set,h=[];for(let e of o.values()){let t=[...e.routeIds].map(e=>({id:e,bridge:n.get(e)??null}));t.sort(u);let r=t.filter(e=>e.bridge);for(let e of t)(e.bridge?f:g).add(e.id);if(!r.length)for(let e of(c.peopleOnlyUnresolved++,t))p.add(e.id);let{person:o}=e,i=o.tier;void 0!==c.byTier[i]&&c.byTier[i]++,t.length>1&&c.multi++,h.push({key:e.key,person:o,score:l(o),tier:i,routes:t,waysIn:t.length,rowIds:e.rowIds,haystack:[o.name,o.headline,o.company,o.role,...r.map(e=>e.bridge.name)].filter(Boolean).join("\n").toLowerCase(),rank:0,tied:!1})}return c.bridges=f.size,c.unresolvedIds=g.size,c.onlyUnresolvedVia=p.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:i,summary:c}},"shortName",0,g,"summitLayout",0,function(e=[],t=800,n=!1,{cards:r=!1}={}){let o=r?45:n?36:26,i=Math.round(.42*t),l=Math.round(.58*t),a=e.map((e,n)=>{var i;return{key:e.key,p:e,x:l,y:16+n*o,r:r?0:(i=e.waysIn)>=4?8.5:3===i?7:2===i?5.5:4,label:p(`#${e.rank}${e.tied?"=":""} ${e.person.name||""}`,Math.floor((t-l-60)/6.2))}}),s=new Map,u="\0unresolved";for(let e of a)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 d=[...s.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?c(e.bridge,t.bridge):0));let f=a.length?a[a.length-1].y:16,h=function(e=[],t=18,n=0){let r=[];e.forEach((e,n)=>{for(r.push({sum:e-n*t,count:1});r.length>1&&r[r.length-2].sum/r[r.length-2].count>r[r.length-1].sum/r[r.length-1].count;){let e=r.pop();r[r.length-1].sum+=e.sum,r[r.length-1].count+=e.count}});let o=r.flatMap(e=>Array(e.count).fill(e.sum/e.count)).map((e,n)=>e+n*t),i=o.length&&o[0]<n?n-o[0]:0;return o.map(e=>e+i)}(d.map(e=>e.bary),r?32:18,16),m=Math.max(4,Math.floor((i-10-42)/6));d.forEach((e,t)=>{if(e.x=i,e.y=h[t],e.r=5,e.unresolved)e.label=p(`can't be named (${e.count})`,m);else{let t=e.bridge.name||"";e.label=t.length<=m?t:p(g(t),m)}delete e.ys});let y=new Map(d.map(e=>[e.unresolved?u:e.id,e]));for(let e of d)e.onlyFor=0,e.bestFor=0;for(let e of a){let t=e.p.routes[0],n=t?y.get(t.bridge?t.id:u):null;n&&n.bestFor++,1===e.p.waysIn&&n&&n.onlyFor++}let b=[];for(let e of a){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 i=y.get(o);b.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 x=Math.max(f,d.length?d[d.length-1].y:0),v=a.length?Math.ceil(x+16):0,w={x:20,y:a.length?(16+Math.max(f,x))/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:v,you:w,people:a,bridges:d,links:b,spokes:S}}],7214)},46949,e=>{"use strict";e.i(54322),e.s(["TIER_ORDER",0,["S","A","B","C","D"],"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()}])}]);
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,33821,71639,e=>{"use strict";var t=e.i(43476),n=e.i(71645),r=e.i(22016),i=e.i(18566),o=e.i(26005),l=e.i(76760),a=e.i(30215),s=e.i(54322);let c=`
|
|
2
|
-
@keyframes trail-in { from { transform: scale(0); opacity: 0; } }
|
|
3
|
-
@keyframes trail-pulse { 0%, 100% { opacity: 0.45; transform: scale(0.8); } 50% { opacity: 1; transform: scale(1.25); } }
|
|
4
|
-
.scan-trail { transition: opacity 1.2s ease; }
|
|
5
|
-
.scan-trail .dot { animation: trail-in 0.35s cubic-bezier(0.2, 0.9, 0.3, 1.3); }
|
|
6
|
-
.scan-trail .dot.newest { box-shadow: 0 0 6px 1px currentColor; }
|
|
7
|
-
.scan-trail .seed { animation: trail-pulse 1.4s ease-in-out infinite; }
|
|
8
|
-
@media (prefers-reduced-motion: reduce) {
|
|
9
|
-
.scan-trail .dot, .scan-trail .seed { animation: none; }
|
|
10
|
-
.scan-trail { transition: none; }
|
|
11
|
-
}`;function d({inset:e}){let i=(0,a.default)(),o=(0,n.useRef)(null),[l,u]=(0,n.useState)(60),[f,g]=(0,n.useState)({on:!1,pages:0,label:""}),p=i.running&&!i.pending,h=i.target?.name?`Scanning ${i.target.name}`:"Scanning";p&&(!f.on||f.pages!==(i.pages||0)||f.label!==h)&&g({on:!0,pages:i.pages||0,label:h}),(0,n.useEffect)(()=>{if(p||!f.on)return;let e=setTimeout(()=>g(e=>({...e,on:!1})),4e3);return()=>clearTimeout(e)},[p,f.on]),(0,n.useEffect)(()=>{let e=o.current;if(!e)return;let t=new ResizeObserver(()=>u(Math.max(8,Math.floor(e.clientWidth/9)-4)));return t.observe(e),()=>t.disconnect()},[]);let{pages:m}=f,y=Math.max(0,m-l),b=[];for(let e=y;e<m;e++)b.push(e);let x=`${f.label}: ${0===m?"starting":`${m.toLocaleString("en-US")} page${1===m?"":"s"} read`}. Open the Scan page`;return(0,t.jsxs)("div",{ref:o,"aria-hidden":!f.on,style:{position:"absolute",left:e,right:e,bottom:-4,height:7,pointerEvents:"none"},children:[(0,t.jsx)("style",{children:c}),(0,t.jsxs)(r.default,{href:"/setup",title:x,tabIndex:f.on?0:-1,className:"scan-trail",style:{position:"absolute",left:0,top:0,height:7,display:"flex",alignItems:"center",gap:4,pointerEvents:f.on?"auto":"none",opacity:+!!f.on,textDecoration:"none"},children:[y>0&&(0,t.jsxs)("span",{style:{fontSize:9,fontWeight:700,color:"var(--sd-fg-3, #889)",marginRight:2,fontVariantNumeric:"tabular-nums"},children:["+",y.toLocaleString("en-US")]}),b.map(e=>{let n=[s.TIER_COLORS.S,s.TIER_COLORS.A,s.TIER_COLORS.B],r=n[e%n.length];return(0,t.jsx)("span",{className:`dot sd-dot-html${e===m-1?" newest":""}`,style:{width:5,height:5,borderRadius:"50%",background:r,color:r,flexShrink:0}},e)}),f.on&&(0,t.jsx)("span",{className:"seed",style:{width:5,height:5,borderRadius:"50%",background:"#00ff88",flexShrink:0}})]})]})}let u=`
|
|
12
|
-
@keyframes csBuild { from { opacity: 0; transform: scale(0.2); } 70% { opacity: 1; transform: scale(1.25); } to { opacity: 1; transform: scale(1); } }
|
|
13
|
-
@keyframes csLoop {
|
|
14
|
-
0% { opacity: 0; transform: scale(0.2); }
|
|
15
|
-
8% { opacity: 1; transform: scale(1.3); }
|
|
16
|
-
14%, 72% { opacity: 1; transform: scale(1); }
|
|
17
|
-
88%, 100% { opacity: 0; transform: scale(0.6); }
|
|
18
|
-
}
|
|
19
|
-
.cs { position: relative; display: inline-block; flex-shrink: 0; }
|
|
20
|
-
.cs .cs-glyph { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; line-height: 1; transition: opacity .15s, transform .2s; }
|
|
21
|
-
.cs svg { position: absolute; inset: 0; overflow: visible; }
|
|
22
|
-
.cs .cs-dot { transform-box: fill-box; transform-origin: center; opacity: 0; }
|
|
23
|
-
.cs .cs-hub { opacity: 0; transition: opacity .15s; }
|
|
24
|
-
.cluster-host:hover .cs:not(.cs-live) .cs-glyph { opacity: 0; transform: scale(.6) rotate(90deg); }
|
|
25
|
-
.cluster-host:hover .cs:not(.cs-live) .cs-hub { opacity: 1; }
|
|
26
|
-
.cluster-host:hover .cs:not(.cs-live) .cs-dot { animation: csBuild .32s cubic-bezier(.2,.9,.3,1.3) both; animation-delay: calc(var(--i) * 34ms); }
|
|
27
|
-
.cs.cs-live .cs-glyph { opacity: 0; }
|
|
28
|
-
.cs.cs-live .cs-hub { opacity: 1; }
|
|
29
|
-
.cs.cs-live .cs-dot { animation: csLoop 1.5s ease-out infinite; animation-delay: calc(var(--i) * 95ms); }
|
|
30
|
-
@media (prefers-reduced-motion: reduce) {
|
|
31
|
-
.cluster-host:hover .cs:not(.cs-live) .cs-dot, .cs.cs-live .cs-dot { animation: none; opacity: 1; }
|
|
32
|
-
.cluster-host:hover .cs:not(.cs-live) .cs-glyph { transform: none; }
|
|
33
|
-
}
|
|
34
|
-
`;function f({size:e=14,live:n=!1,glyph:r="↻"}){let i=e/2,o=.42*e,l=Math.max(1,.085*e),a=[s.TIER_COLORS.S,s.TIER_COLORS.A,s.TIER_COLORS.B];return(0,t.jsxs)("span",{className:`cs${n?" cs-live":""}`,"aria-hidden":"true",style:{width:e,height:e},children:[(0,t.jsx)("style",{children:u}),(0,t.jsx)("span",{className:"cs-glyph",style:{fontSize:e},children:r}),(0,t.jsxs)("svg",{width:e,height:e,viewBox:`0 0 ${e} ${e}`,children:[(0,t.jsx)("circle",{className:"cs-hub",cx:i,cy:i,r:1.35*l,fill:"currentColor"}),Array.from({length:10},(e,n)=>{let r=-Math.PI/2+2*n*Math.PI/10;return(0,t.jsx)("circle",{className:"cs-dot sd-dot",style:{"--i":n},cx:i+o*Math.cos(r),cy:i+o*Math.sin(r),r:l,fill:a[n%a.length]},n)})]})]})}e.s(["default",0,f],71639);var g=e.i(15812),p=e.i(40996),h=e.i(19821),m=e.i(98658),y=e.i(64745);let b={fontWeight:700,margin:0,whiteSpace:"nowrap",background:"linear-gradient(135deg, #FFD700, #9B59B6, #3498DB)",WebkitBackgroundClip:"text",WebkitTextFillColor:"transparent"};function x({isMobile:e,onOpen:r,openId:o}){let{userId:l}=(0,g.useUser)(),a=(0,i.useRouter)(),[s,c]=(0,n.useState)([]),[d,u]=(0,n.useState)(!1),f=(0,n.useRef)(!1),p=(0,n.useRef)(r);(0,n.useEffect)(()=>{p.current=r}),(0,n.useEffect)(()=>{l&&fetch(`/api/notifications?userId=${l}`).then(e=>e.json()).then(e=>{let t=e.notifications||[];c(t);let n=null!=o&&!f.current&&t.find(e=>String(e.id)===String(o));n&&p.current&&(f.current=!0,p.current(n))}).catch(()=>{})},[l,o]);let h=s.filter(e=>!e.seen).length,m=e=>{e.seen||(fetch("/api/notifications",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"mark-seen",id:e.id})}).catch(()=>{}),c(t=>t.map(t=>t.id===e.id?{...t,seen:!0}:t))),u(!1),r?r(e):a.push(`/?note=${encodeURIComponent(e.id)}`)};return(0,t.jsxs)("div",{style:{position:"relative"},children:[(0,t.jsxs)("button",{onClick:()=>u(!d),title:"Notifications","aria-label":h?`Notifications, ${h} new`:"Notifications",style:{width:e?28:32,height:e?28:32,borderRadius:"50%",border:"none",cursor:"pointer",background:"rgba(var(--sd-ink, 255, 255, 255), 0.06)",color:"var(--sd-fg-3, #888)",fontSize:e?12:14,display:"flex",alignItems:"center",justifyContent:"center",position:"relative"},children:["🔔",h>0&&(0,t.jsx)("span",{style:{position:"absolute",top:-2,right:-2,width:16,height:16,borderRadius:"50%",background:"#ff5050",color:"#fff",fontSize:9,fontWeight:700,display:"flex",alignItems:"center",justifyContent:"center"},children:h})]}),d&&(0,t.jsxs)("div",{style:{position:"absolute",top:40,right:0,width:320,maxHeight:400,background:"color-mix(in srgb, var(--sd-bg) 97%, transparent)",border:"1px solid rgba(var(--sd-ink, 255, 255, 255), 0.1)",borderRadius:12,overflow:"hidden",zIndex:100,backdropFilter:"blur(12px)",WebkitBackdropFilter:"blur(12px)",boxShadow:"0 8px 32px rgba(0,0,0,0.5)"},children:[(0,t.jsxs)("div",{style:{padding:"12px 16px",borderBottom:"1px solid rgba(var(--sd-ink, 255, 255, 255), 0.08)",display:"flex",justifyContent:"space-between",alignItems:"center"},children:[(0,t.jsx)("span",{style:{fontWeight:700,fontSize:14},children:"Notifications"}),h>0&&(0,t.jsx)("button",{onClick:()=>{fetch("/api/notifications",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"mark-all-seen"})}),c(e=>e.map(e=>({...e,seen:!0})))},style:{background:"none",border:"none",color:"var(--sd-blue, #3498DB)",fontSize:11,cursor:"pointer",fontWeight:600},children:"Mark all read"})]}),(0,t.jsx)("div",{style:{overflowY:"auto",maxHeight:340},children:0===s.length?(0,t.jsx)("div",{style:{padding:20,textAlign:"center",color:"var(--sd-fg-5, #555)",fontSize:12},children:"No notifications yet"}):s.slice(0,20).map(e=>(0,t.jsx)("div",{role:"button",tabIndex:0,onClick:()=>m(e),onKeyDown:t=>{"Enter"===t.key&&m(e)},onMouseEnter:e=>{e.currentTarget.style.background="rgba(var(--sd-ink, 255, 255, 255), 0.06)"},onMouseLeave:t=>{t.currentTarget.style.background=e.seen?"transparent":"rgba(255,215,0,0.04)"},style:{padding:"10px 16px",borderBottom:"1px solid rgba(var(--sd-ink, 255, 255, 255), 0.04)",cursor:"pointer",background:e.seen?"transparent":"rgba(255,215,0,0.04)"},children:(0,t.jsxs)("div",{style:{display:"flex",gap:8,alignItems:"flex-start"},children:[(0,t.jsx)("span",{style:{fontSize:16},children:e.icon||"📌"}),(0,t.jsxs)("div",{style:{flex:1},children:[(0,t.jsxs)("div",{style:{fontSize:12,fontWeight:600,color:e.seen?"var(--sd-fg-3, #888)":"var(--sd-fg-1, #fff)"},children:[e.title,(0,t.jsx)("span",{style:{color:"var(--sd-fg-5, #556)",marginLeft:6},children:"›"})]}),e.message&&(0,t.jsx)("div",{style:{fontSize:10,color:"var(--sd-fg-4, #666)",marginTop:2},children:e.message}),(0,t.jsx)("div",{style:{fontSize:9,color:"var(--sd-fg-5, #444)",marginTop:3},children:new Date(e.created_at).toLocaleDateString()})]})]})},e.id))})]})]})}function v({isMobile:e}){let n=(0,a.default)(),r=n.running&&"refresh"===n.action,i=(0,p.busyReason)(n);return(0,t.jsxs)("button",{className:"cluster-host",onClick:async()=>{try{let e=(0,p.notReadyMessage)(await (0,p.scraperStatus)());if(e)return void alert(e);if(!window.confirm("Check for new connections?\n\nThis opens a Chrome window on your LinkedIn connections list and reads it from the newest, stopping once it reaches people already saved. It usually takes under a minute. It reads your own list, not a search, so it doesn’t use your search budget, but like any scan it is LinkedIn traffic from your account."))return;await (0,p.beginScrape)("refresh"),alert("Checking for new connections. Watch it on the Scan page.")}catch(e){alert(e.message)}},disabled:!!i,title:i?`${i}. One scan at a time.`:"Check for new connections: reads your LinkedIn connections list from the newest","aria-label":"Check for new connections",style:{height:e?28:32,padding:e?"0 10px":"0 14px",borderRadius:16,border:"1px solid rgba(0,255,136,0.3)",cursor:r?"progress":i?"not-allowed":"pointer",opacity:i&&!r?.45:1,background:"rgba(0,255,136,0.08)",color:"var(--sd-fg-1, #bff5d9)",fontSize:e?11:12.5,fontWeight:700,display:"flex",alignItems:"center",gap:6,whiteSpace:"nowrap",flexShrink:0},children:[(0,t.jsx)(f,{size:e?12:14,live:r}),r?"Checking…":e?"New":"Check for new"]})}let w=null;function S({isMobile:e,csvMode:r,level:i}){let{userId:o}=(0,g.useUser)(),l=y.IS_DEMO?"sample":r?"csv":"own",a=(0,n.useSyncExternalStore)(m.watchLevel,()=>(0,m.levelNow)(l),()=>null);(0,n.useEffect)(()=>{null!=i?(0,m.rememberLevel)(i,l):null!=a||y.IS_DEMO||r||!o||(w||(w=(0,h.loadNetwork)(o).then(e=>(0,m.networkLevel)(e.degree1,e.degree2)).catch(()=>(w=null,null))),w.then(e=>{null!=e&&(0,m.rememberLevel)(e,l)}))},[i,a,r,l,o]);let s=i??a;return(0,t.jsx)("a",{href:y.IS_DEMO?"/launch":r?"/import":"/profile",title:null!=s?`Your profile \xb7 level ${s}`:"Your profile",style:{width:e?30:36,height:e?30:36,borderRadius:"50%",display:"flex",alignItems:"center",justifyContent:"center",background:"linear-gradient(135deg, #FFD700, #FF6B35)",color:"#000",fontWeight:800,fontSize:e?11:14,textDecoration:"none",marginLeft:e?2:4,flexShrink:0},children:s??""})}e.s(["default",0,function({active:e,isMobile:i,csvMode:a=!1,onMode:s,chips:c,level:u,onOpenNote:f,openNoteId:g=null,brand:p="h1",children:h}){let m=function(){let[e,t]=(0,n.useState)(!1);return(0,n.useEffect)(()=>{let e=()=>t(window.innerWidth<768);return e(),window.addEventListener("resize",e),()=>window.removeEventListener("resize",e)},[]),e}(),w=i??m,k=!y.IS_DEMO&&!a;return(0,t.jsxs)("header",{style:{position:"relative",padding:w?"10px 12px":"20px 30px",borderBottom:"1px solid rgba(var(--sd-ink, 255, 255, 255), 0.1)",flexShrink:0,background:"var(--sd-header)",backdropFilter:"var(--sd-header-blur)",WebkitBackdropFilter:"var(--sd-header-blur)"},children:[(0,t.jsxs)("div",{style:w?{display:"flex",alignItems:"center",justifyContent:"space-between",flexWrap:"wrap",gap:6,marginBottom:4}:{display:"grid",gridTemplateColumns:"1fr auto 1fr",alignItems:"center",gap:16,marginBottom:8},children:[(0,t.jsx)(r.default,{href:"/",style:{textDecoration:"none",justifySelf:"start"},children:(0,t.jsx)(p,{style:{...b,fontSize:w?16:28},children:"Six Degrees"})}),(0,t.jsx)(o.default,{active:e,isMobile:w,csvMode:a,onMode:s,after:k?(0,t.jsx)(l.default,{isMobile:w}):null,children:c}),(0,t.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"flex-end",justifySelf:"end",gap:w?4:8},children:[!y.IS_DEMO&&(0,t.jsx)(r.default,{href:"/settings",title:"Settings","aria-label":"Settings",style:{width:w?28:32,height:w?28:32,borderRadius:"50%",flexShrink:0,background:"rgba(var(--sd-ink, 255, 255, 255), 0.06)",color:"var(--sd-fg-3, #888)",fontSize:w?14:16,textDecoration:"none",display:"flex",alignItems:"center",justifyContent:"center"},children:"⚙︎"}),k&&(0,t.jsx)(x,{isMobile:w,onOpen:f,openId:g}),k&&(0,t.jsx)(v,{isMobile:w}),(0,t.jsx)(S,{isMobile:w,csvMode:a,level:u})]})]}),h,k&&(0,t.jsx)(d,{inset:w?12:30})]})}],33821)},26005,76760,e=>{"use strict";var t=e.i(43476),n=e.i(22016),r=e.i(64745);let i=[{key:"network",label:"Network Circle",short:"Circle",on:{background:"#fff",color:"#000"},off:{background:"transparent",color:"var(--sd-fg-3, #888)"}},{key:"degrees",label:"Degrees",on:{background:"linear-gradient(135deg, #FFD700, #FF6B35)",color:"#000"},off:{background:"rgba(var(--sd-ink, 255, 255, 255), 0.12)",color:"var(--sd-fg-1, #fff)"}},{key:"separation",label:"Separation",on:{background:"linear-gradient(135deg, #00E5FF, #FFD700 55%, #FF7043)",color:"#000"},off:{background:"rgba(var(--sd-ink, 255, 255, 255), 0.12)",color:"var(--sd-fg-1, #fff)"}}],o=[{key:"paths",href:"/paths",label:"Paths",color:"var(--sd-green, #00ff88)",on:"linear-gradient(135deg, #00ff88, #3498DB)",demo:!0},{key:"outlink",href:"/queue",label:"Outlink",color:"var(--sd-orange, #FF6B35)",on:"linear-gradient(135deg, #FF6B35, #FFD700)",own:!0},{key:"scan",href:"/setup",label:"Scan",color:"var(--sd-fg-4, #666)",on:"linear-gradient(135deg, #00ff88, #1abc9c)",own:!0}];e.s(["default",0,function({active:e,isMobile:l=!1,csvMode:a=!1,onMode:s,children:c,after:d}){let u={padding:l?"6px 10px":"8px 16px",borderRadius:6,border:"none",fontSize:l?11:13,fontWeight:600,textDecoration:"none"};return(0,t.jsxs)("div",{id:"main-tabs","data-glass-panel":"bar",style:{display:"flex",gap:l?2:4,background:"rgba(var(--sd-ink, 255, 255, 255), 0.08)",borderRadius:8,padding:l?2:3,flexWrap:l?"wrap":"nowrap"},children:[i.map(r=>{let i={...u,cursor:"pointer",...e===r.key?r.on:r.off},o=l&&r.short?r.short:r.label;return s?(0,t.jsx)("button",{type:"button",onClick:()=>s(r.key),style:i,children:o},r.key):(0,t.jsx)(n.default,{href:`/?mode=${r.key}`,style:{...i,display:"flex",alignItems:"center"},children:o},r.key)}),c,o.filter(e=>!r.IS_DEMO&&(!e.own||!a)).map(r=>{let i=e===r.key;return(0,t.jsxs)(n.default,{href:r.href,title:r.title,"aria-current":i?"page":void 0,style:{...u,display:"flex",alignItems:"center",gap:4,background:i?r.on:"rgba(var(--sd-ink, 255, 255, 255), 0.06)",color:i?"#000":r.color},children:[r.label,r.badge&&(0,t.jsx)("span",{style:{fontSize:9,opacity:.7,marginLeft:2},children:r.badge})]},r.key)}),d]})}],26005);var l=e.i(71645),a=e.i(40996),s=e.i(68792);e.s(["default",0,function({isMobile:e=!1}){let r=(0,l.useSyncExternalStore)(s.watchAllDay,s.allDayNow,()=>!1),[i,o]=(0,l.useState)(()=>(0,a.scannerNow)()),[c,d]=(0,l.useState)(!1);if((0,l.useEffect)(()=>(0,a.watchScanner)(()=>{o((0,a.scannerNow)()),d(!1)}),[]),!r)return null;let u=i?.running&&String(i.action||"").startsWith("auto-bridge"),f={padding:e?"8px 12px":"8px 16px",borderRadius:6,fontSize:13,fontWeight:600,textDecoration:"none",display:"flex",alignItems:"center",gap:6,whiteSpace:"nowrap"};if(u)return(0,t.jsxs)(n.default,{href:"/setup",title:"Auto scan is running: see it on the Scan page",style:{...f,background:"rgba(0,255,136,0.15)",color:"var(--sd-green, #00ff88)",border:"1px solid rgba(0,255,136,0.45)"},children:[(0,t.jsx)("span",{style:{width:7,height:7,borderRadius:"50%",background:"#00ff88"}}),"Auto scan"]});let g=i?.running||c;return(0,t.jsxs)("button",{onClick:()=>{d(!0),(0,s.startAutoScan)().catch(()=>d(!1))},disabled:g,title:g?"The scanner is busy: one scan at a time":"Start the all-day Auto-Bridge (experimental)",style:{...f,cursor:g?"default":"pointer",background:"rgba(var(--sd-ink, 255, 255, 255), 0.04)",color:g?"var(--sd-fg-5, #555)":"var(--sd-fg-3, #8b9a9a)",border:"1px solid rgba(255,215,0,0.25)"},children:[(0,t.jsx)("span",{style:{width:7,height:7,borderRadius:"50%",background:"#556"}}),"Auto scan"]})}],76760)},2776,e=>{"use strict";var t=e.i(43476),n=e.i(15812);e.s(["default",0,function({children:e}){let{userId:r,ready:i}=(0,n.useUser)();return i&&r?e:(0,t.jsx)("div",{style:{minHeight:"100vh",display:"flex",alignItems:"center",justifyContent:"center",background:"var(--sd-page)",color:"var(--sd-fg-1, #fff)",padding:24,textAlign:"center",fontFamily:"var(--sd-font)"},children:i?(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:"var(--sd-fg-3, #888)",fontSize:14,lineHeight:1.6},children:"The page loaded, but the app behind it isn’t answering. Quit Six Degrees and open it again."})]}):(0,t.jsx)("div",{style:{fontSize:18,fontWeight:600},children:"Loading…"})})}])},30215,e=>{"use strict";var t=e.i(71645),n=e.i(40996);e.s(["default",0,function(){return(0,t.useSyncExternalStore)(n.watchScanner,n.scannerNow,()=>n.SCANNER_UNKNOWN)}])},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 i=e=>(0,t.keyFor)({profile_url:e});function o(e=[]){let t=new Map;for(let n of e){let e=i(n["sender profile url"]),r=n["conversation id"];r&&e&&(t.has(e)||t.set(e,new Set),t.get(e).add(r))}let n=null;for(let[e,r]of t)(!n||r.size>t.get(n).size)&&(n=e);return n}let l=e=>{let t=f(e);return t?`name:${t}`:null},a=/sponsored/i,s=/in\s?mail/i,c=/linkedin\.com\/(company|showcase|school)\//i,d=e=>/^(yes|true|1)$/i.test(String(e||"").trim());function u(e,t){if(!e||!e.total)return"never";let n=t-e.last;return n<=2592e6||e.recent>=3?"warm":n<=31536e6?"cool":"dormant"}let f=e=>String(e||"").split(",")[0].normalize("NFD").replace(/[̀-ͯ]/g,"").toLowerCase().replace(/[^a-z0-9 ]+/g," ").replace(/\s+/g," ").trim();e.s(["buildConversations",0,function(e=[],{keepText:t=!1}={}){let n=o(e),u=new Map;for(let t of e)n&&i(t["sender profile url"])===n&&t.from&&u.set(t.from,(u.get(t.from)||0)+1);let g=f([...u].sort((e,t)=>t[1]-e[1])[0]?.[0]||""),p=e=>!!e&&(e===n||!!g&&e===`name:${g}`),h={},m=new Map,y=0,b=0;for(let n of e){let e=n["conversation id"],o=r(n.date);if(!e||null==o){b+=1;continue}if(d(n["is message draft"])){y+=1;continue}let u=i(n["sender profile url"])||l(n.from);u&&n.from&&!h[u]&&(h[u]=String(n.from).trim());let f=String(n["recipient profile urls"]||"").split(/[,;\s]+/).filter(Boolean).map(i),g=String(n.to||"").split(",").map(e=>e.trim()).filter(Boolean),x=f.length?f:g.map(l).filter(Boolean);f.length&&f.length===g.length&&f.forEach((e,t)=>{h[e]||(h[e]=g[t])}),f.length||g.forEach(e=>{let t=l(e);t&&!h[t]&&(h[t]=e)}),m.has(e)||m.set(e,{id:e,title:"",everyone:new Set,messages:[],kind:null,folder:"",newest:-1/0});let v=m.get(e);u&&v.everyone.add(u),x.forEach(e=>v.everyone.add(e)),v.kind=v.kind||function(e){let t=String(e.folder||""),n=String(e["conversation title"]||"");return a.test(t)||a.test(n)||c.test(String(e["sender profile url"]||""))?"sponsored":s.test(t)||s.test(n)?"inmail":null}(n),o>=v.newest&&(v.newest=o,v.folder=String(n.folder||"").trim().toLowerCase().slice(0,30));let w={t:o,fromMe:p(u)};t&&(w.text=[n.subject,n.content].map(e=>String(e||"").trim()).filter(Boolean).join("\n\n"),!v.title&&n["conversation title"]&&(v.title=String(n["conversation title"]).trim())),v.messages.push(w)}let x=[];for(let e of m.values()){let n=[...e.everyone].filter(e=>e&&!p(e)).sort();e.messages.sort((e,t)=>e.t-t.t);let r={id:e.id,people:n,group:n.length>1,kind:e.kind,folder:e.folder,messages:e.messages};t&&(r.title=e.title),x.push(r)}for(let e of Object.keys(h))p(e)&&delete h[e];return{self:n,conversations:x,names:h,drafts:y,skipped:b}},"buildInvitations",0,function(e=[],{keepText:t=!1}={}){let n=[];for(let o of e){let e=String(o.direction||"").toUpperCase();if("INCOMING"!==e&&"OUTGOING"!==e)continue;let a="INCOMING"===e?"in":"out",s=String(("in"===a?o.from:o.to)||"").trim(),c=i("in"===a?o.inviterprofileurl:o.inviteeprofileurl),d=(c&&/\/in\//.test(c)?c:null)||l(s);if(!d)continue;let u=r(o["sent at"]),f={id:`${a}|${d}|${u??""}`,dir:a,key:d,name:s.slice(0,120),t:u};t&&String(o.message||"").trim()&&(f.note=String(o.message).trim().slice(0,2e3)),n.push(f)}return n.sort((e,t)=>(t.t||0)-(e.t||0))},"careerChapters",0,function(e=[],t=[],n=Date.now()){let o=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:i(e.url||e.profile_url),t:r(e["connected on"]||e.connected_on)})).filter(e=>null!=e.t);return o.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)}})},"conversationSummary",0,function(e){let t=e.messages[e.messages.length-1];return{id:e.id,people:e.people,group:e.group,kind:e.kind||null,folder:e.folder||"",last:t?t.t:null,lastFromThem:t?!t.fromMe:null,count:e.messages.length,mine:e.messages.filter(e=>e.fromMe).length}},"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=o(e),n=new Map;for(let t of e){let e=i(t["sender profile url"]),o=t["conversation id"];if(!o||!e)continue;let l=String(t["recipient profile urls"]||"").split(/[,;\s]+/).filter(Boolean).map(i),a=r(t.date);if(null==a)continue;n.has(o)||n.set(o,{people:new Set,msgs:[]});let s=n.get(o);s.people.add(e),l.forEach(e=>s.people.add(e)),s.msgs.push({from:e,t:a})}let l=0,a=new Map;for(let e of n.values()){let n=[...e.people].filter(e=>e!==t);if(1!==n.length||!e.people.has(t))continue;let r=n[0],i=a.get(r)||{last:0,lastFromThem:!1,total:0,times:[]};for(let n of e.msgs)i.total+=1,i.times.push(n.t),n.t>=i.last&&(i.last=n.t,i.lastFromThem=n.from!==t),n.t>l&&(l=n.t);a.set(r,i)}for(let e of a.values())e.recent=e.times.filter(e=>e>l-7776e6).length,delete e.times;return{self:t,asOf:l||null,people:a}},"nameKey",0,f,"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),i=t.map(e=>r(e["connected on"]||e.connected_on)).filter(e=>null!=e).sort((e,t)=>e-t);if(!i.length)return{posts:[],usualWeek:0,afterPosts:0};let o=Math.max(6048e5,i[i.length-1]-i[0]),l=i.length/o*6048e5,a=n.map(e=>({...e,week:i.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:l,afterPosts:s}},"readTable",0,function(e,t){let r=(0,n.parseCsv)(String(e||"")),i=r.findIndex(e=>e.some(e=>e.trim().toLowerCase()===t.toLowerCase()));if(i<0)return[];let o=r[i].map(e=>e.trim().toLowerCase());return r.slice(i+1).filter(e=>e.some(e=>e.trim())).map(e=>Object.fromEntries(o.map((t,n)=>[t,(e[n]??"").trim()])))},"warmthOf",0,u],84278);let g=["gravity","rings","push","pull","distance","orbit","dotSize","lines","sizeBy","names","branch","colourBy","speed","loop"],p=e=>"boolean"==typeof e||"number"==typeof e&&Number.isFinite(e)&&1e3>=Math.abs(e)||"string"==typeof e&&/^[a-z]{1,20}$/i.test(e);function h(e){if(!Array.isArray(e))return[];let t=new Map;for(let n of e){let e="string"==typeof n?.name?n.name.trim().slice(0,40):"";if(!e||!n.settings||"object"!=typeof n.settings||Array.isArray(n.settings))continue;let r={};for(let e of g)Object.hasOwn(n.settings,e)&&p(n.settings[e])&&(r[e]=n.settings[e]);t.set(e,{name:e,settings:r})}return[...t.values()].slice(0,50)}var m=e.i(56899),y=e.i(40827);let b="six-degrees-galaxy-lab",x="six-degrees-galaxy-layouts",v=Object.freeze({on:!0,gravity:0,rings:1,push:15,pull:1,distance:1,dotSize:1,lines:1,sizeBy:"power",orbit:0,names:"key",branch:!1,colourBy:"tier",speed:15,loop:!1,labels:!0,v:2}),w=["gravity","rings","push","pull","distance"],S=Object.freeze({gravity:.8,rings:0,push:6,pull:6,distance:.15,sizeBy:"links"}),k=Object.freeze({rings:{lines:1},orbit:{lines:1},clusters:{lines:3}}),M=Object.freeze({gravity:0,rings:3,push:6,pull:4,distance:.22,sizeBy:"power"}),j=new Set,I=null;function C(){return I||(I=function(){try{let e=JSON.parse(localStorage.getItem(b)||"null");if(!e||"object"!=typeof e)return v;return{...v,...e,...e.v===v.v?{}:{branch:!1},v:v.v,on:!0}}catch{return v}}()),I}function N(e){I=null===e?{...v,labels:C().labels}:{...C(),...e,on:!0};try{localStorage.setItem(b,JSON.stringify(I))}catch{}j.forEach(e=>e())}let F=null,O=new Set;function E(){if(!F){try{F=JSON.parse(localStorage.getItem(x)||"[]")}catch{F=[]}Array.isArray(F)||(F=[])}return F}function L(e,{save:t=!0}={}){F=e;try{localStorage.setItem(x,JSON.stringify(e))}catch{}O.forEach(e=>e()),t&&(0,m.saveSettings)({galaxyLayouts:e})}let B=new Set,D={at:null,playing:!1,min:null,max:null,of:0,find:"",fly:0,found:0,fit:0,social:void 0},z=null;function T(e){let t={...D,...e};Object.keys(e).every(e=>Object.is(t[e],D[e]))||(D=t,B.forEach(e=>e()))}function $(){cancelAnimationFrame(z),z=null,T({playing:!1})}let A=null;function R(e){let n=new Map;for(let[r,i]of Object.entries(e?.people||{}))n.set((0,t.keyFor)({profile_url:r}),{...i});for(let[r,i]of Object.entries(e?.live||{})){let e=(0,t.keyFor)({profile_url:r}),o=n.get(e)||{total:0,recent:0};i.last&&(!o.last||i.last>o.last)&&(o.last=i.last,"boolean"==typeof i.lastFromThem&&(o.lastFromThem=i.lastFromThem)),o.unread=i.unread,o.total=Math.max(o.total||0,1),n.set(e,o)}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 _={1:"#4FC3F7",2:"#BA68C8",3:"#FFB74D"},W=["#FF6B6B","#4ECDC4","#FFD93D","#A29BFE","#00B894","#FD79A8","#74B9FF","#E17055"],U={warm:"#FF7043",cool:"#4FC3F7",dormant:"#8D6E63",never:"#546E7A"},P="#4a5568",J=["#2b1b6b","#6a1b9a","#c2185b","#f4511e","#ffb300","#fff3b0"];function G(e){let t=Math.max(0,Math.min(1,Number(e)||0))*(J.length-1),n=Math.min(J.length-2,Math.floor(t)),r=t-n,i=J[n],o=J[n+1];return`#${[1,3,5].map(e=>Math.round(parseInt(i.slice(e,e+2),16)*(1-r)+parseInt(o.slice(e,e+2),16)*r).toString(16).padStart(2,"0")).join("")}`}function K(e=[],t=()=>0){let n=[...new Set(e.map(t))].sort((e,t)=>e-t),r=new Map(n.map((e,t)=>[e,n.length>1?t/(n.length-1):1]));return e=>r.get(t(e))??0}let H=e=>String(e||"").trim().toLowerCase();e.s(["CLUSTERS",0,S,"FORCE_KEYS",0,w,"LAB_DEFAULTS",0,v,"LAYOUT_LOOKS",0,k,"ORBIT",0,M,"adoptSavedLayouts",0,function(e){let t=h(E()),{use:n,save:r,changed:i}=(0,y.reconcileSaved)({saved:null==e?null:h(e),cached:t,isDefault:e=>0===e.length,same:(e,t)=>JSON.stringify(e)===JSON.stringify(t)});r&&(0,m.saveSettings)({galaxyLayouts:t}),i&&L(n,{save:!1})},"applyLayout",0,function(e){let t=E().find(t=>t.name===e);t&&N(Object.fromEntries(g.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,i=(e,o=0)=>{if(r.has(e.id))return r.get(e.id);let l=-1/0,a=t.get(e.id);if(1===e.degree||null==a||o>6){let t=e.connected_date?Date.parse(e.connected_date):NaN;l=Number.isNaN(t)?-1/0:t}return null!=a&&n.has(a)&&o<=6&&(l=Math.max(l,i(n.get(a),o+1))),r.set(e.id,l),l};return e.map(e=>i(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,()=>D,"colourScheme",0,function(e,n,r,i){if("degree"===e)return{of:e=>_[Math.min(e.degree||1,3)],legend:[["1st",_[1]],["2nd",_[2]],["3rd+",_[3]]]};if("company"===e){let e=new Map;for(let t of n){let n=H(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,W.length),r=new Map(t.map(([e],t)=>[e,W[t]]));return{of:e=>r.get(H(e.company))||P,legend:[...t.map(([,e],t)=>[e.name,W[t]]),["Other",P]]}}if("heat"===e){let e=function(e=[]){return K(e,t.score)}(n);return{of:t=>G(e(t)),heat:e,legend:[["Cold",G(.1)],["Warm",G(.45)],["Hot",G(.75)],["Hottest",G(1)]]}}return"warmth"===e&&i?{of:e=>1===(e.degree||1)?U[u(i.merged.get((0,t.keyFor)(e)),i.asOf)]:"#2d3748",legend:[["Warm",U.warm],["Cool",U.cool],["Dormant",U.dormant],["Never messaged",U.never]]}:{of:e=>r[e.tier]||"#666",legend:Object.entries(r)}},"effectiveLab",0,e=>e.on?e:e.labels===v.labels?v:{...v,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){L(E().filter(t=>t.name!==e))},"heatBy",0,K,"heatColour",0,G,"labNow",0,C,"layoutOf",0,function(e){let t=t=>Object.entries(t).every(([t,n])=>e[t]===n);return w.every(t=>e[t]===v[t])?"rings":t(S)?"clusters":t(M)?"orbit":null},"layoutsNow",0,E,"loadSocial",0,function(){return A||(A=fetch("/api/social").then(e=>e.ok?e.json():{}).then(e=>{T({social:e.social?R(e.social):null})}).catch(()=>T({social:null}))),A},"mergeSocial",0,R,"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,$,"play",0,function e(){if(null==D.min||null==D.max||D.max<=D.min)return;let t=D.max-D.min,n=1e3*Math.max(1,Number(C().speed)||15),r=null==D.at||D.at>=D.max?D.min:D.at,i=performance.now()-(r-D.min)/t*n;T({at:r,playing:!0});let o=r=>{let l=Math.min(D.max,D.min+(r-i)/n*t);if(T({at:l}),l>=D.max){z=null,T({playing:!1}),C().loop&&setTimeout(()=>{z||D.at!==D.max||(T({at:D.min}),e())},1200);return}z=requestAnimationFrame(o)};cancelAnimationFrame(z),z=requestAnimationFrame(o)},"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=C(),r=Object.fromEntries(g.map(e=>[e,n[e]]));L([...E().filter(e=>e.name!==t),{name:t,settings:r}])},"setClock",0,T,"setLab",0,N,"stopReplay",0,function(){$(),T({at:null})},"watchClock",0,function(e){return B.add(e),()=>B.delete(e)},"watchLab",0,function(e){j.add(e);let t=t=>{t.key===b&&(I=null,e())};return window.addEventListener("storage",t),()=>{j.delete(e),window.removeEventListener("storage",t)}},"watchLayouts",0,function(e){return O.add(e),()=>O.delete(e)}],39160)},19821,98658,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}}function n(e=[],t=[]){let r={S:0,A:0,B:0,C:0,D:0};for(let t of e)r[t.tier]=(r[t.tier]||0)+1;let i=0;for(let e of t)"S"===e.tier&&(i+=1);let o=new Set(t.map(e=>e.source_connection_id).filter(Boolean)).size,l=e.filter(e=>e.is_catalyst).length;return 100*r.S+40*r.A+15*r.B+5*r.C+ +r.D+200*o+150*l+50*i+e.length}e.s(["loadNetwork",0,t],19821);let r=e=>Math.floor(Math.sqrt(Math.max(0,e)/10)),i="six-degrees-level",o={},l=new Set;function a(e="own"){if(!(e in o))try{let t=sessionStorage.getItem(`${i}:${e}`),n=null==t?NaN:Number(t);o[e]=Number.isFinite(n)?n:null}catch{o[e]=null}return o[e]}e.s(["levelNow",0,a,"levelOf",0,r,"networkLevel",0,(e,t)=>r(n(e,t)),"networkPower",0,n,"rememberLevel",0,function(e,t="own"){if(a(t)!==e){o[t]=e;try{sessionStorage.setItem(`${i}:${t}`,String(e))}catch{}l.forEach(e=>e())}},"watchLevel",0,function(e){return l.add(e),()=>l.delete(e)}],98658)},7214,36774,e=>{"use strict";let t=/^[A-Za-z0-9_-]+\.(webp|jpg|jpeg|png)$/,n="/avatars/";function r(e){return"string"==typeof e&&e.startsWith(n)&&t.test(e.slice(n.length))?e:null}e.s(["localPhoto",0,r],36774);let i={S:0,A:1,B:2,C:3,D:4};function o(e){let t=parseFloat(e?.power_score);return Number.isFinite(t)?t:0}function l(e){return Math.round(10*o(e))/10}function a(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 c(e,t){return(i[e.tier]??9)-(i[t.tier]??9)||o(t)-o(e)||String(e.name||"").localeCompare(String(t.name||""))||s(e.id,t.id)}function d(e,t){return e.bridge&&t.bridge?c(e.bridge,t.bridge):e.bridge?-1:t.bridge?1:s(e.id,t.id)}function u(e,t){return t.score-e.score||t.waysIn-e.waysIn||d(e.routes[0]||f,t.routes[0]||f)||String(e.person.name||"").localeCompare(String(t.person.name||""))||(e.key<t.key?-1:+(e.key>t.key))}let f={id:null,bridge:null};function g(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,c,"comparePower",0,u,"convergeLayout",0,function(e,t=800,n=!1,{cards:r=!1,mutuals:i=0}={}){let o=r?46:n?40:34,l=Math.round(t*(n?.44:.36)),a=Math.round(t*(n?.8:r?.6:.62)),s=[],c=null;for(let t of e?.routes||[])t.bridge?s.push({id:t.id,bridge:t.bridge,unresolved:!1,count:1}):c?c.count++:s.push(c={id:null,bridge:null,unresolved:!0,count:1});let d=Math.max(0,Math.floor(Number(i)||0)-(e?.waysIn||0)),u=Math.min(60,d),f=r?12:11,h=r?220:n?96:120,m=Math.max(1,Math.floor(h/f)+1),y=Math.ceil(u/m),b=u?40+y*f:0,x=Math.max(0,s.length-1)*o+b,v=Math.max(n?190:r?250:220,32+x+48),w=v/2,S=w-x/2,k=Math.max(4,Math.floor((l-10-42)/6)),M=s.map((e,t)=>{let n=e.unresolved?`can't be named (${e.count})`:e.bridge.name||"";return{...e,x:l,y:S+t*o,r:6,primary:0===t&&!e.unresolved,label:n.length<=k?n:p(e.unresolved?n:g(n),k)}}),j={x:a,y:w,r:17*!r,rings:r?[]:[32,50,70].filter(e=>e<=w-4)},I=M.map(t=>({key:e?.key,bridgeId:t.id,primary:t.primary,unresolved:t.unresolved,tier:t.bridge?.tier??null,x1:t.x,y1:t.y,x2:j.x,y2:j.y})),C={x:20,y:w,r:14},N=M.map(e=>({id:e.id,x1:C.x,y1:C.y,x2:e.x,y2:e.y})),F=e?[{key:e.key,p:e,x:j.x,y:j.y,r:j.r,rings:j.rings,big:!0,label:""}]:[],O=S+Math.max(0,s.length-1)*o+40,E=r?l-236+8:l-h,L=Array.from({length:u},(e,t)=>({x:E+t%m*f,y:O+Math.floor(t/m)*f})),B=e?.waysIn?e.waysIn/(e.waysIn+d):1;return{width:t,height:v,you:C,target:j,people:F,bridges:M,links:I,spokes:N,ghosts:L,unscanned:d,ghostLabel:u?{x:E,y:O-13}:null,drawn:B}},"keyFor",0,a,"mapCount",0,function(e,t=10){let n=Math.max(0,Math.min(100,Number(e)||0));return n<=50?t:Math.max(1,Math.round(t*(100-n)/50))},"mostMutuals",0,function(e=[],t=()=>0,n=7){return[...e].sort((e,n)=>Math.max(t(n)||0,n.waysIn)-Math.max(t(e)||0,e.waysIn)||n.waysIn-e.waysIn||u(e,n)).slice(0,n)},"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(d):[]},"score",0,o,"score1",0,l,"separationPeople",0,function(e=[],t=[]){let n=new Map;for(let e of t||[])n.set(e.id,e);let i=new Map,o=new Map;for(let t of e||[]){let e=a(t);o.set(t.id,e);let n=i.get(e);n?function(e,t){let n=l(e)-l(t);if(n)return n>0;let i=!!r(e.profile_image_url);return!!r(t.profile_image_url)!==i?i:0>s(e.id,t.id)}(t,n.person)&&(n.person=t):(n={key:e,person:t,rowIds:[],routeIds:new Set},i.set(e,n)),n.rowIds.push(t.id),n.routeIds.add(t.source_connection_id??null)}let c={people:i.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,g=new Set,p=new Set,h=[];for(let e of i.values()){let t=[...e.routeIds].map(e=>({id:e,bridge:n.get(e)??null}));t.sort(d);let r=t.filter(e=>e.bridge);for(let e of t)(e.bridge?f:g).add(e.id);if(!r.length)for(let e of(c.peopleOnlyUnresolved++,t))p.add(e.id);let{person:i}=e,o=i.tier;void 0!==c.byTier[o]&&c.byTier[o]++,t.length>1&&c.multi++,h.push({key:e.key,person:i,score:l(i),tier:o,routes:t,waysIn:t.length,rowIds:e.rowIds,haystack:[i.name,i.headline,i.company,i.role,...r.map(e=>e.bridge.name)].filter(Boolean).join("\n").toLowerCase(),rank:0,tied:!1})}return c.bridges=f.size,c.unresolvedIds=g.size,c.onlyUnresolvedVia=p.size,h.sort(u),function(e){for(let t=0;t<e.length;t++){let n=e[t],r=e[t-1],i=r&&r.score===n.score&&r.waysIn===n.waysIn;n.rank=i?r.rank:t+1,i&&(n.tied=!0,r.tied=!0)}}(h),{people:h,rowToKey:o,summary:c}},"shortName",0,g,"summitLayout",0,function(e=[],t=800,n=!1,{cards:r=!1}={}){let i=r?45:n?36:26,o=Math.round(.42*t),l=Math.round(.58*t),a=e.map((e,n)=>{var o;return{key:e.key,p:e,x:l,y:16+n*i,r:r?0:(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-l-60)/6.2))}}),s=new Map,d="\0unresolved";for(let e of a)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 u=[...s.values()].map(e=>({...e,bary:e.ys.reduce((e,t)=>e+t,0)/e.ys.length}));u.sort((e,t)=>e.bary-t.bary||e.unresolved-t.unresolved||(e.bridge&&t.bridge?c(e.bridge,t.bridge):0));let f=a.length?a[a.length-1].y:16,h=function(e=[],t=18,n=0){let r=[];e.forEach((e,n)=>{for(r.push({sum:e-n*t,count:1});r.length>1&&r[r.length-2].sum/r[r.length-2].count>r[r.length-1].sum/r[r.length-1].count;){let e=r.pop();r[r.length-1].sum+=e.sum,r[r.length-1].count+=e.count}});let i=r.flatMap(e=>Array(e.count).fill(e.sum/e.count)).map((e,n)=>e+n*t),o=i.length&&i[0]<n?n-i[0]:0;return i.map(e=>e+o)}(u.map(e=>e.bary),r?32:18,16),m=Math.max(4,Math.floor((o-10-42)/6));u.forEach((e,t)=>{if(e.x=o,e.y=h[t],e.r=5,e.unresolved)e.label=p(`can't be named (${e.count})`,m);else{let t=e.bridge.name||"";e.label=t.length<=m?t:p(g(t),m)}delete e.ys});let y=new Map(u.map(e=>[e.unresolved?d:e.id,e]));for(let e of u)e.onlyFor=0,e.bestFor=0;for(let e of a){let t=e.p.routes[0],n=t?y.get(t.bridge?t.id:d):null;n&&n.bestFor++,1===e.p.waysIn&&n&&n.onlyFor++}let b=[];for(let e of a){let t=new Set;e.p.routes.forEach((n,r)=>{let i=n.bridge?n.id:d;if(t.has(i))return;t.add(i);let o=y.get(i);b.push({key:e.key,bridgeId:o.id,primary:0===r&&!o.unresolved,unresolved:o.unresolved,tier:o.bridge?.tier??null,x1:o.x,y1:o.y,x2:e.x,y2:e.y})})}let x=Math.max(f,u.length?u[u.length-1].y:0),v=a.length?Math.ceil(x+16):0,w={x:20,y:a.length?(16+Math.max(f,x))/2:16,r:14},S=u.map(e=>({id:e.id,x1:w.x,y1:w.y,x2:e.x,y2:e.y}));return{width:t,height:v,you:w,people:a,bridges:u,links:b,spokes:S}}],7214)}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,94657,e=>{"use strict";var r=e.i(43476),o=e.i(71645),n=e.i(7837);let t=e=>`${e.name} ${e.was} → ${e.estimated?"estimated":e.now}`,a=e=>({padding:"6px 12px",borderRadius:7,cursor:"pointer",fontSize:12,fontWeight:700,border:e?"none":"1px solid rgba(var(--sd-ink, 255, 255, 255), 0.15)",background:e?"linear-gradient(135deg, #00ff88, #3498DB)":"transparent",color:e?"#000":"var(--sd-fg-2, #cfd8d8)"});function s({onAnswered:e}){var i;let l,c,[d,u]=(0,o.useState)(null),[p,g]=(0,o.useState)(!1),[f,h]=(0,o.useState)(()=>new Set),[y,m]=(0,o.useState)(!1),[b,x]=(0,o.useState)(null);if((0,o.useEffect)(()=>{let e=!1;return(0,n.csvNetworkSource)().then(r=>r||e?null:fetch("/api/company-scores/legacy").then(e=>e.json())).then(r=>{!e&&r?.offer?.companies?.length&&(u(r.offer),h(new Set(r.offer.companies.map(e=>e.name))))}).catch(()=>{}),()=>{e=!0}},[]),!d)return null;let w=async r=>{m(!0),x(null);try{let o=await fetch("/api/company-scores/legacy",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({keep:r})}),n=await o.json();if(!o.ok&&!n.kept)throw Error(n.error||"Could not save your answer.");u(null),e?.({kept:n.kept||[],scored:n.scored||0,error:o.ok?null:n.error})}catch(e){x(e.message)}finally{m(!1)}};return(0,r.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:"var(--sd-fg-2, #cfd8d8)",lineHeight:1.6},children:[(0,r.jsx)("b",{style:{color:"var(--sd-fg-1, #fff)"},children:"Built-in scores changed in this version:"})," ",(l=(i=d.companies).slice(0,3).map(t).join(", "),(c=i.length-3)>0?`${l} and ${c} more`:l),"."," ","Keep any of the old ones as your own?",(0,r.jsx)("div",{style:{marginTop:4,color:"var(--sd-fg-3, #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,r.jsx)("ul",{style:{listStyle:"none",padding:0,margin:"10px 0 0",display:"grid",gap:4},children:d.companies.map(e=>(0,r.jsx)("li",{children:(0,r.jsxs)("label",{style:{display:"flex",gap:8,alignItems:"baseline",cursor:"pointer"},children:[(0,r.jsx)("input",{type:"checkbox",checked:f.has(e.name),disabled:y,onChange:()=>{let r;return r=e.name,h(e=>{let o=new Set(e);return o.has(r)?o.delete(r):o.add(r),o})}}),(0,r.jsxs)("span",{children:[(0,r.jsx)("b",{style:{color:"var(--sd-fg-1, #fff)"},children:e.name})," ",e.was," → ",e.estimated?`estimated (${e.now})`:e.now,(0,r.jsxs)("span",{style:{color:"var(--sd-fg-4, #778)"},children:[` \xb7 ${e.people} ${1===e.people?"person":"people"} there now`,e.names.length>1&&` \xb7 for ${e.names.join(", ")}`]})]})]})},e.name))}),(0,r.jsxs)("div",{style:{display:"flex",gap:8,marginTop:10,flexWrap:"wrap"},children:[p?(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)("button",{disabled:y||!f.size,onClick:()=>w([...f]),style:{...a(!0),opacity:y||!f.size?.5:1},children:["Keep ",f.size," ",1===f.size?"score":"scores"]}),(0,r.jsx)("button",{disabled:y,onClick:()=>g(!1),style:a(!1),children:"Back"})]}):(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("button",{disabled:y,onClick:()=>w(d.companies.map(e=>e.name)),style:a(!0),children:"Keep all"}),(0,r.jsx)("button",{disabled:y,onClick:()=>g(!0),style:a(!1),children:"Choose…"})]}),(0,r.jsx)("button",{disabled:y,onClick:()=>w([]),style:a(!1),children:"No thanks"})]}),b&&(0,r.jsx)("div",{role:"alert",style:{marginTop:8,color:"#e74c3c"},children:b})]})}let i="1px solid rgba(var(--sd-ink, 255, 255, 255), 0.1)",l={yours:{label:"your score",color:"var(--sd-green, #00ff88)"},known:{label:"known list",color:"var(--sd-blue, #3498DB)"},data:{label:"public data",color:"#1abc9c"},network:{label:"estimated: many of your people",color:"var(--sd-orange, #FF6B35)"},default:{label:"unknown company",color:"var(--sd-fg-4, #778)"}};async function c(){let e=await fetch("/api/company-scores"),r=await e.json();if(!e.ok)throw Error(r.error||"Could not load company scores");return r.companies}function d(){let[e,r]=(0,o.useState)(null),[n,t]=(0,o.useState)(null);return(0,o.useEffect)(()=>{let e=!1;return c().then(o=>{e||r(o)}).catch(r=>{e||t(r.message)}),()=>{e=!0}},[]),{companies:e,error:n,setScore:(0,o.useCallback)(async(e,o)=>{let n=await fetch("/api/company-scores",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:e,score:o})}),t=await n.json();if(!n.ok)throw Error(t.error||"Could not save");return r(await c()),t},[]),reload:(0,o.useCallback)(async()=>r(await c()),[])}}function u({company:e,onSet:n,compact:t}){let[a,s]=(0,o.useState)(!1),l=async r=>{s(!0);try{await n(e.name,"auto"===r?null:Number(r))}finally{s(!1)}};return(0,r.jsxs)("select",{disabled:a,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:t?"2px 4px":"4px 6px",borderRadius:6,border:i,background:"var(--sd-card, #11131c)",color:"var(--sd-fg-1, #dfe6e9)",fontSize:12},children:[(0,r.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,r.jsx)("option",{value:e,children:e},e))]})}e.s(["ScorePicker",0,u,"default",0,function({onRescored:e,version:n=0}){let{companies:t,error:a,setScore:c,reload:p}=d();(0,o.useEffect)(()=>{n&&p().catch(()=>{})},[n,p]);let[g,f]=(0,o.useState)(""),[h,y]=(0,o.useState)("all"),[m,b]=(0,o.useState)(150),[x,w]=(0,o.useState)(null),v=e=>{w(e),setTimeout(()=>w(null),3500)},k=async(r,o)=>{let n=await c(r,o);v(`${r}: ${null==o?"back to auto":`set to ${o}`} \xb7 rescored ${n.scored} people`),e?.()},j=async({kept:r,scored:o,error:n})=>{if(!r.length)return v("Keeping the new built-in scores.");v(n||`Kept ${r.length} old ${1===r.length?"score":"scores"} as your own \xb7 rescored ${o} people`),await p().catch(()=>{}),e?.()},S=(0,o.useMemo)(()=>{if(!t)return[];let e=g.trim().toLowerCase();return t.filter(r=>(!e||r.name.toLowerCase().includes(e))&&("all"===h||r.source===h))},[t,g,h]);if(a)return(0,r.jsx)("div",{style:{padding:24,color:"#e74c3c"},children:a});if(!t)return(0,r.jsx)("div",{style:{padding:24,color:"var(--sd-fg-4, #778)"},children:"Loading companies…"});let C=e=>t.filter(r=>r.source===e).length;return(0,r.jsxs)("div",{style:{flex:1,overflow:"auto",padding:16},children:[(0,r.jsxs)("div",{style:{maxWidth:980,margin:"0 auto"},children:[(0,r.jsx)(s,{onAnswered:j}),(0,r.jsxs)("div",{style:{padding:14,borderRadius:10,border:i,background:"rgba(var(--sd-ink, 255, 255, 255), 0.03)",fontSize:12.5,color:"var(--sd-fg-2, #cfd8d8)",lineHeight:1.6},children:[(0,r.jsx)("b",{style:{color:"var(--sd-fg-1, #fff)"},children:"How a power score works."})," power = ",(0,r.jsx)("b",{children:"title"})," × ",(0,r.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,r.jsx)("a",{href:"#tiers",style:{color:"var(--sd-blue, #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,r.jsxs)("div",{style:{marginTop:6,color:"var(--sd-fg-3, #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,r.jsx)("a",{href:"#sector",style:{color:"var(--sd-blue, #3498DB)"},children:"Your sector"}),", above) get +1 or +2; a score you set is never changed."]})]}),(0,r.jsxs)("div",{style:{display:"flex",gap:8,alignItems:"center",flexWrap:"wrap",margin:"14px 0 10px"},children:[(0,r.jsx)("input",{value:g,onChange:e=>f(e.target.value),placeholder:"Find a company",style:{padding:"6px 10px",borderRadius:7,border:i,background:"rgba(var(--sd-ink, 255, 255, 255), 0.05)",color:"var(--sd-fg-1, #fff)",fontSize:13,minWidth:180}}),[["all",`All ${t.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,o])=>(0,r.jsx)("button",{onClick:()=>y(e),style:{padding:"5px 10px",borderRadius:7,border:i,cursor:"pointer",fontSize:11.5,fontWeight:600,background:h===e?"rgba(52,152,219,0.25)":"transparent",color:h===e?"var(--sd-fg-1, #cfe6f7)":"var(--sd-fg-3, #8b9a9a)"},children:o},e))]}),(0,r.jsxs)("div",{style:{borderRadius:10,border:i,overflow:"hidden"},children:[(0,r.jsxs)("div",{style:{display:"grid",gridTemplateColumns:"1fr 70px 70px 70px 60px 180px 110px",gap:8,padding:"8px 12px",fontSize:10.5,letterSpacing:.6,color:"var(--sd-fg-3, #8b9a9a)",background:"rgba(var(--sd-ink, 255, 255, 255), 0.04)"},children:[(0,r.jsx)("span",{children:"COMPANY"}),(0,r.jsx)("span",{style:{textAlign:"right"},children:"PEOPLE"}),(0,r.jsx)("span",{style:{textAlign:"right"},children:"YOU KNOW"}),(0,r.jsx)("span",{style:{textAlign:"right"},children:"DIRECTOR+"}),(0,r.jsx)("span",{style:{textAlign:"right"},children:"SCORE"}),(0,r.jsx)("span",{children:"SOURCE"}),(0,r.jsx)("span",{children:"SET"})]}),S.slice(0,m).map(e=>(0,r.jsxs)("div",{style:{display:"grid",gridTemplateColumns:"1fr 70px 70px 70px 60px 180px 110px",gap:8,padding:"7px 12px",alignItems:"center",borderTop:"1px solid rgba(var(--sd-ink, 255, 255, 255), 0.05)",fontSize:12.5},children:[(0,r.jsxs)("span",{style:{display:"flex",alignItems:"center",gap:8,minWidth:0},children:[(0,r.jsx)("span",{title:`${e.industry.label} (inferred)`,style:{width:8,height:8,borderRadius:"50%",background:e.industry.color,flexShrink:0}}),(0,r.jsx)("span",{style:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:e.name})]}),(0,r.jsx)("span",{style:{textAlign:"right"},children:e.people}),(0,r.jsx)("span",{style:{textAlign:"right",color:e.d1?"var(--sd-green, #00ff88)":"var(--sd-fg-5, #556)"},children:e.d1}),(0,r.jsx)("span",{style:{textAlign:"right",color:e.senior?"var(--sd-gold, #FFD700)":"var(--sd-fg-5, #556)"},children:e.senior}),(0,r.jsx)("b",{style:{textAlign:"right",fontSize:15},children:e.score}),(0,r.jsxs)("span",{style:{fontSize:11,color:l[e.source]?.color},children:[l[e.source]?.label,e.sectorBonus>0&&(0,r.jsxs)("span",{style:{color:"var(--sd-green, #00ff88)"},children:[" + ",e.sectorBonus," your sector"]})]}),(0,r.jsx)(u,{company:e,onSet:k,compact:!0})]},e.name))]}),S.length>m&&(0,r.jsxs)("button",{onClick:()=>b(e=>e+300),style:{marginTop:10,padding:"7px 14px",borderRadius:8,border:i,background:"rgba(var(--sd-ink, 255, 255, 255), 0.05)",color:"var(--sd-fg-1, #dfe6e9)",cursor:"pointer",fontSize:12},children:["Show more (",S.length-m," left)"]})]}),x&&(0,r.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)},89154,e=>{"use strict";var r=e.i(90179);function o(e){let o=(0,r.readTitle)(e);return{key:o.key,label:o.label,level:o.level}}function n(e){return(0,r.currentCompany)(e)}let t=[{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}],a={key:"unknown",label:"Unclear",color:"#555c66"},s=Object.fromEntries([...t,a].map(e=>[e.key,e])),i=e=>s[e]||a;function l(e,r){for(let o of[e,r]){if(!o)continue;let e=t.find(e=>e.words.test(o));if(e)return e}return a}let c=(e,r)=>l(e,r).key,d=e=>o(e).level>=4;e.s(["INDUSTRIES",0,t,"UNKNOWN_INDUSTRY",0,a,"buildCompanyIndex",0,function(e=[]){let o=new Map,n=e=>(o.has(e)||o.set(e,(0,r.rolesWithCompanies)(e)),o.get(e)),{industries:t}=(0,r.networkCompanies)(e,{industryOf:c,rolesOf:n}),a=new Map;for(let r of e){let e=r.profile_url||`id:${r.id}`,o=a.get(e);(!o||(r.degree||9)<(o.degree||9))&&a.set(e,r)}let s=new Map;for(let e of a.values()){let r=n(e).find(e=>!e.former)?.company;if(!r)continue;let o=s.get(r);o||(o={name:r,people:[],d1:0,d2:0,d3:0,S:0,A:0,senior:0},s.set(r,o)),o.people.push(e),1===e.degree?o.d1++:2===e.degree?o.d2++:o.d3++,"S"===e.tier&&o.S++,"A"===e.tier&&o.A++,d(e.headline)&&o.senior++}for(let e of s.values())e.industry=i(t.get(e.name));return s},"companyLinks",0,function(e=[],r=[]){let o=new Map;for(let r of e){let e=n(r);e&&o.set(r.id,e)}let t=new Map;for(let e of r){let r=o.get(e.source_connection_id),a=n(e);if(!r||!a||r===a)continue;let[s,i]=r<a?[r,a]:[a,r],l=`${s}\u0000${i}`,c=t.get(l);c||(c={a:s,b:i,weight:0,via:new Set},t.set(l,c)),c.weight++,c.via.add(e.source_connection_id)}return[...t.values()]},"companyOf",0,n,"getSeniority",0,o,"industryByKey",0,i,"industryOf",0,l,"isSenior",0,d,"waysInto",0,function(e,r=[],o=[]){let t=r.filter(r=>n(r)===e),a=new Map;for(let r of o)n(r)===e&&a.set(r.source_connection_id,(a.get(r.source_connection_id)||0)+1);let s=new Map(r.map(e=>[e.id,e]));return{direct:t,bridges:[...a.entries()].map(([e,r])=>({bridge:s.get(e),n:r})).filter(e=>e.bridge).sort((e,r)=>r.n-e.n||(Number(r.bridge.power_score)||0)-(Number(e.bridge.power_score)||0))}}])}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,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 a=i.get(r);a||i.set(r,a=new Set),a.add(e)}let a=new Map;for(let e of i.values())for(let t of e){let n=a.get(t)||{reach:0,only:0,total:0};n.reach+=1/e.size,n.total+=1,1===e.size&&(n.only+=1),a.set(t,n)}return a}e.s(["bridgeOverlap",0,function(e=[],r=[]){let o=n(e,r),i=new Set((r||[]).map(t.keyFor)),a=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=a.get(r);o||a.set(r,o=new Set),o.add(e)}let l=new Map;for(let e of a.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]}`;l.set(r,(l.get(r)||0)+1)}}let c=new Map;for(let[e,t]of l){let[n,r]=e.split("|"),i=o.get(n).total+o.get(r).total-t,a=i?t/i:0;for(let[e,o]of[[n,r],[r,n]]){let n=c.get(e);(!n||a>n.share)&&c.set(e,{with:o,share:a,shared:t})}}return c},"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}])},70479,e=>{"use strict";let t=2*Math.PI;function n(e,n,r){if(e<=0)return 1;let o=r*e;return Math.max(1,r>=t-1e-9?Math.floor(o/n):Math.floor(o/n)+1)}function r(e,t,o,i,a=o){let l=[],c=0;for(let r=t;c<e;r+=Math.max(o,a))l.push(r),c+=n(r,o,i);return l}let o=(e,t,n,o,i)=>{let a=r(e,t,n,o,i);return a[a.length-1]};function i(e,{inner:a,outer:l,spacing:c,minSpacing:s=c/3,innerMin:u=a,start:f=-Math.PI/2,sweep:d=t,ringGap:h=0}={}){let g=Math.max(0,Math.floor(e)||0);if(!g)return{spacing:c,inner:a,rings:[],points:[]};let p=c,m=a;if(o(g,m,p,d,h)>l)if(o(g,u,p,d,h)<=l){let e=u,t=a;for(let n=0;n<24;n++){let n=(e+t)/2;o(g,n,p,d,h)<=l?e=n:t=n}m=e}else{let e=s,t=c;if(o(g,m=u,e,d,h)<=l)for(let n=0;n<24;n++){let n=(e+t)/2;o(g,m,n,d,h)<=l?e=n:t=n}p=e}let y=r(g,m,p,d,h),b=y.map(e=>n(e,p,d)),w=b.reduce((e,t)=>e+t,0),M=b.map(e=>Math.min(e,Math.floor(g*e/w))),v=g-M.reduce((e,t)=>e+t,0);for(;v>0;){let e=-1;for(let t=0;t<b.length;t++)M[t]<b[t]&&(e<0||b[t]-M[t]>b[e]-M[e])&&(e=t);M[e]++,v--}let k=d>=t-1e-9,x=[],S=[];return y.forEach((e,n)=>{let r=M[n];if(!r)return;S.push({radius:e,count:r});let o=k?t/r:r>1?d/(r-1):0,i=k?f+(n%2?o/2:0):r>1?f:f+d/2,a=k?null:function(e){let t=Math.floor((e-1)/2),n=t+1,r=[t--];for(;r.length<e;)n<e&&r.push(n++),r.length<e&&t>=0&&r.push(t--);return r}(r);for(let t=0;t<r;t++){let n=i+(a?a[t]:t)*o;x.push({x:e*Math.cos(n),y:e*Math.sin(n),angle:n,ring:S.length-1})}}),{spacing:p,inner:m,rings:S,points:x}}let a=["S","A","B","C","D"];e.s(["chainTree",0,function(e=[],{from:n=0,hop:r=60,spacing:o=46,toward:i=0,angles:a=[]}={}){let l=e.length,c=e.map((e,t)=>Number.isInteger(e)&&e>=0&&e<l&&e!==t?e:-1),s=Array(l).fill(0);for(let e=0;e<l;e++){let t=[],n=e;for(;n>=0&&!s[n]&&!t.includes(n);)t.push(n),n=c[n];n>=0&&!s[n]&&(c[t[t.length-1]]=-1,n=-1);let r=n>=0?s[n]+1:1;for(let e=t.length-1;e>=0;e--)s[t[e]]=r++}let u=Array(l),f=[];for(let e=1;e<=Math.max(0,...s);e++){let d=[];for(let t=0;t<l;t++)s[t]===e&&d.push(t);let h=n+(e-1)*r,g=function(e,n){let r=e.length;if(r<2)return e.slice();let o=e=>(e%t+t)%t,i=e.map((e,t)=>t).sort((t,n)=>o(e[t])-o(e[n])||t-n),a=0,l=-1;i.forEach((n,c)=>{let s=o(o(e[i[(c+1)%r]])-o(e[n]))||(r>1&&c===r-1?t:0);s>l&&(l=s,a=(c+1)%r)});let c=i.slice(a).concat(i.slice(0,a)),s=o(e[c[0]]),u=c.map(t=>s+o(o(e[t])-s)),f=[];u.forEach((e,t)=>{for(f.push({sum:e-t*n,count:1});f.length>1&&f[f.length-2].sum/f[f.length-2].count>f[f.length-1].sum/f[f.length-1].count;){let e=f.pop();f[f.length-1].sum+=e.sum,f[f.length-1].count+=e.count}});let d=f.flatMap(e=>Array(e.count).fill(e.sum/e.count)).map((e,t)=>e+t*n);if(d[r-1]-d[0]>t-n){let e=(d[0]+d[r-1])/2;d=d.map((n,o)=>e+t/r*(o-(r-1)/2))}let h=Array(r);return c.forEach((e,t)=>{h[e]=d[t]}),h}(d.map(e=>c[e]<0?Number.isFinite(a[e])?a[e]:i:u[c[e]].angle),Math.min(o/Math.max(1,h),t/d.length));d.forEach((t,n)=>{let r=g[n];u[t]={x:h*Math.cos(r),y:h*Math.sin(r),angle:r,radius:h,depth:e,parent:c[t]}}),f.push({radius:h,count:d.length,depth:e})}return{rings:f,points:u}},"circleActivity",0,function(e,{notes:t=[],ready:n=new Map,chained:r=new Map}={}){let o=new Map;for(let e of t){if(e?.circle==null)continue;let t=o.get(e.circle)||{notes:0,unread:0};t.notes+=1,e.seen||(t.unread+=1),o.set(e.circle,t)}let i=new Map;for(let t of e){let e=o.get(String(t.id))||{notes:0,unread:0},a=n.get(t.id)||0,l=r.get(t.id)||0;i.set(t.id,{score:e.notes+e.unread+a+l,notes:e.notes,unread:e.unread,ready:a,chains:l})}return i},"dotRadius",0,function(e,t){return Math.max(1.4,Math.min(7,.42*e*("S"===t?1:"A"===t?.86:"B"===t?.72:.6)))},"previewBand",0,function(e,t=[],n=34){let r=Math.max(0,...t.map(e=>e.radius)),o=Math.max(.66*e,r?r+n:0);return{inner:o,outer:Math.max(.8*e,o+.14*e)}},"ringLayout",0,i,"tierBandLayout",0,function(e,{inner:n,outer:r,spacing:o,minSpacing:l=o/3,gap:c=o,start:s=-Math.PI/2}){let u=a.map(e=>({tier:e,idx:[]}));e.forEach((e,t)=>{let n=a.indexOf(e?.tier);u[n<0?4:n].idx.push(t)});let f=u.filter(e=>e.idx.length),d=r=>{let a=Array(e.length),l=[],u=n;for(let e of f){let n=i(e.idx.length,{inner:u,outer:1/0,spacing:r,minSpacing:r,start:s});e.idx.forEach((e,r)=>{let o=n.points[r];a[e]={x:o.x,y:o.y,angle:o.angle,slot:t/n.rings[o.ring].count}});let f=Math.max(u,...n.rings.map(e=>e.radius));l.push({tier:e.tier,inner:u,outer:f}),u=f+r/o*c}return{spacing:r,points:a,bands:l,edge:l.length?l[l.length-1].outer:n}},h=d(o);if(h.edge<=r)return h;let g=l,p=o;if((h=d(g)).edge>r)return h;for(let e=0;e<20;e++){let e=(g+p)/2,t=d(e);t.edge<=r?(g=e,h=t):p=e}return h}])},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"},a=Object.fromEntries([...o,i].map(e=>[e.key,e])),l=e=>a[e]||i;function c(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 s=(e,t)=>c(e,t).key,u=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:s,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 a=new Map;for(let e of i.values()){let t=r(e).find(e=>!e.former)?.company;if(!t)continue;let n=a.get(t);n||(n={name:t,people:[],d1:0,d2:0,d3:0,S:0,A:0,senior:0},a.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++,u(e.headline)&&n.senior++}for(let e of a.values())e.industry=l(o.get(e.name));return a},"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[a,l]=t<i?[t,i]:[i,t],c=`${a}\u0000${l}`,s=o.get(c);s||(s={a:a,b:l,weight:0,via:new Set},o.set(c,s)),s.weight++,s.via.add(e.source_connection_id)}return[...o.values()]},"companyOf",0,r,"getSeniority",0,n,"industryByKey",0,l,"industryOf",0,c,"isSenior",0,u,"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 a=new Map(t.map(e=>[e.id,e]));return{direct:o,bridges:[...i.entries()].map(([e,t])=>({bridge:a.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))}}])}]);
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/fef07dbb0973bf53-s.3p2_lha1f2xer.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/8a480f0b521d4e75-s.1qq4vpdcun5oj.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/53b9e256198e5412-s.390ncx5urfkfu.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7178b3e590c64307-s.21jp631_3pja2.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/caa3a2e1cccd8315-s.p.0wgildi0cnwt9.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Fallback;src:local(Arial);ascent-override:95.94%;descent-override:28.16%;line-gap-override:0.0%;size-adjust:104.76%}.geist_2ae47f08-module__h69qWW__className{font-family:Geist,Geist Fallback;font-style:normal}.geist_2ae47f08-module__h69qWW__variable{--font-geist-sans:"Geist", "Geist Fallback"}
|
|
2
|
-
@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/5ce348bf30bf5439-s.31988l_ccedte.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/4fa387ec64143e14-s.2tuy5pz7dlieh.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/6306c77e7c8268e4-s.2dbetqa9o8jxf.woff2)format("woff2");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7d817b4c03b0c5f1-s.1uyisp29ctx0d.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/bbc41e54d2fcbd21-s.1rgnod-3esatf.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/797e433ab948586e-s.p.0r6juujl39pe6.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Mono Fallback;src:local(Arial);ascent-override:74.67%;descent-override:21.92%;line-gap-override:0.0%;size-adjust:134.59%}.geist_mono_eb58308d-module__w_p2Lq__className{font-family:Geist Mono,Geist Mono Fallback;font-style:normal}.geist_mono_eb58308d-module__w_p2Lq__variable{--font-geist-mono:"Geist Mono", "Geist Mono Fallback"}
|
|
3
|
-
*{box-sizing:border-box;margin:0;padding:0}:root{--sd-bg:#0a0a1a;--sd-bg2:#1a1440;--sd-accent:#3498db;--sd-panel:#0a0f1ea6;--sd-panel-blur:blur(24px) saturate(1.4);--sd-header:transparent;--sd-header-blur:none;--sd-font:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--sd-page:transparent}body{background:var(--sd-bg);color:var(--sd-fg-1,#fff);font-family:var(--sd-font)}button,input,select,textarea{font-family:inherit}html:not([data-backdrop=none]) body:before{content:"";z-index:-1;pointer-events:none;position:fixed;inset:0}html[data-backdrop=stars] body:before{background:radial-gradient(1px 1px at 12% 18%, #fff 50%, transparent 51%), radial-gradient(1px 1px at 72% 34%, #fff 50%, transparent 51%), radial-gradient(1.5px 1.5px at 38% 78%, #fff 50%, transparent 51%), radial-gradient(1px 1px at 88% 82%, #fffc 50%, transparent 51%), radial-gradient(1px 1px at 56% 8%, #ffffffb3 50%, transparent 51%), radial-gradient(1.2px 1.2px at 24% 52%, #ffffffd9 50%, transparent 51%), radial-gradient(60% 45% at 75% 20%, color-mix(in srgb, var(--sd-bg2) 55%, transparent), transparent 70%), radial-gradient(50% 40% at 15% 85%, color-mix(in srgb, var(--sd-accent) 18%, transparent), transparent 70%);background-size:180px 180px,230px 230px,310px 310px,270px 270px,150px 150px,200px 200px,100% 100%,100% 100%}html[data-backdrop=grid] body:before{background:linear-gradient(color-mix(in srgb, var(--sd-bg2) 90%, #fff 10%) 1px, transparent 1px), linear-gradient(90deg, color-mix(in srgb, var(--sd-bg2) 90%, #fff 10%) 1px, transparent 1px), linear-gradient(color-mix(in srgb, var(--sd-bg2) 60%, transparent) 1px, transparent 1px), linear-gradient(90deg, color-mix(in srgb, var(--sd-bg2) 60%, transparent) 1px, transparent 1px);background-size:120px 120px,120px 120px,24px 24px,24px 24px}html[data-backdrop=glow] body:before{background:radial-gradient(40% 50% at 18% 22%, color-mix(in srgb, var(--sd-bg2) 70%, transparent), transparent 70%), radial-gradient(35% 45% at 82% 30%, color-mix(in srgb, var(--sd-accent) 45%, transparent), transparent 70%), radial-gradient(45% 40% at 60% 88%, color-mix(in srgb, var(--sd-tier-a,#9b59b6) 40%, transparent), transparent 70%);filter:blur(30px)}html[data-backdrop=horizon] body:before{background:linear-gradient(transparent 62%, color-mix(in srgb, var(--sd-bg2) 22%, transparent) 62.2%, transparent 62.6%), repeating-linear-gradient(90deg, color-mix(in srgb, var(--sd-bg2) 18%, transparent) 0 1px, transparent 1px 80px), radial-gradient(70% 38% at 50% 62%, color-mix(in srgb, var(--sd-bg2) 38%, transparent), transparent 72%);-webkit-mask-image:linear-gradient(#0000 30%,#000 60%);mask-image:linear-gradient(#0000 30%,#000 60%)}body:has(>div>[data-map]){overflow:hidden}html:has([data-field-question]){scroll-padding-bottom:80px}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:rgba(var(--sd-ink,255, 255, 255), .15);border-radius:3px}:root{--scan-bar-top:94px}@media (max-width:767px){:root{--scan-bar-top:66px}}@keyframes notch-pulse{50%{opacity:.35}}@media (prefers-reduced-motion:no-preference){.notch-pulse{animation:1.6s ease-in-out infinite notch-pulse}}.crm-grid{grid-template-columns:minmax(280px,400px) minmax(0,1fr);align-items:start;gap:10px;display:grid}.crm-grid>.crm-wide{grid-column:1/-1}.crm-board{grid-template-columns:repeat(6,minmax(150px,1fr));gap:10px;padding:10px;display:grid;overflow-x:auto}@media (max-width:760px){.crm-grid,.crm-board{grid-template-columns:minmax(0,1fr)}}html[data-buttons=flat] :is(button,#main-tabs>a){box-shadow:none!important;text-shadow:none!important}html[data-buttons=flat] :is(button,#main-tabs>a):not(:disabled):hover{filter:brightness(1.12)}html[data-buttons=flat] :is(button,select,input[type=search],input[type=text],#main-tabs>a):not([style*="border-radius: 50%"]){border-radius:5px!important}html[data-buttons=square] :is(button,select,input[type=search],input[type=text],#main-tabs,#main-tabs>a):not([style*="border-radius: 50%"]){border-radius:2px!important}html[data-buttons=square] :is(button,#main-tabs>a){letter-spacing:.02em;box-shadow:none!important}html[data-buttons=square] :is(button,#main-tabs>a):not(:disabled):hover{outline:1px solid color-mix(in srgb, var(--sd-accent) 70%, transparent);outline-offset:-1px}html[data-buttons=frosted] [data-glass-panel]{isolation:isolate;position:relative;-webkit-backdrop-filter:var(--sd-panel-blur) var(--lg-lens, )!important;backdrop-filter:var(--sd-panel-blur) var(--lg-lens, )!important;background-image:linear-gradient(#ffffff17,#ffffff05 40%,#fff0)!important;box-shadow:inset 0 1px #ffffff3d,inset 0 -1px #ffffff0d,0 24px 60px #0000006b,0 1px 2px #00000040!important}html[data-buttons=frosted] [data-glass-panel=bar]{border-radius:999px!important}html[data-buttons=frosted] .glass-rim,html[data-buttons=frosted] [data-glass-panel]:before,html[data-buttons=frosted] :is(button,#main-tabs>a):not(.radar-go):not(#main-tabs *):before{content:"";border-radius:inherit;pointer-events:none;-webkit-mask-composite:xor;background:linear-gradient(135deg,#ffffff8c,#ffffff1a 30%,#fff0 55%,#ffffff38);padding:1px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);-webkit-mask-position:0 0,0 0;-webkit-mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}html[data-buttons=frosted] :is(button):not(.radar-go):not(#main-tabs *){isolation:isolate;-webkit-backdrop-filter:blur(4px)saturate(170%);backdrop-filter:blur(4px)saturate(170%);position:relative;box-shadow:inset 0 1px #ffffff4d,inset 0 0 0 .5px #ffffff24,0 4px 14px #0000003d!important}html[data-buttons=frosted] :is(button,select,input[type=search],input[type=text]):not([style*="border-radius: 50%"]):not(.radar-go):not(#main-tabs *){border-radius:14px!important}html[data-buttons=frosted] :is(button):not(:disabled):not(#main-tabs *):hover{filter:brightness(1.14)}@media (prefers-reduced-motion:no-preference){html[data-buttons=frosted] :is(button):not(#main-tabs *){transition:transform .25s cubic-bezier(.3,1.4,.5,1),filter .2s}html[data-buttons=frosted] :is(button):not(:disabled):not(#main-tabs *):active{transform:scale(1.04)}}html[data-buttons=frosted] #main-tabs>:is(a,button){border-radius:999px!important}html[data-buttons=frosted] #main-tabs>:is(a,button)[aria-current=page],html[data-buttons=frosted] #main-tabs>button[style*="background: rgb(255, 255, 255)"]{box-shadow:inset 0 1px #fff6,inset 0 0 0 .5px #ffffff40,0 2px 8px #00000040!important}@media (prefers-reduced-transparency:reduce){html[data-buttons=frosted] [data-glass-panel]{-webkit-backdrop-filter:none!important;backdrop-filter:none!important;background:#1c1c24f7!important}}@media (prefers-contrast:more){html[data-buttons=frosted] [data-glass-panel]{background-color:#0a0a0ed9!important}html[data-buttons=frosted] [data-glass-panel]:before{background:#fff9}}html[data-buttons=neon] :is(button,#main-tabs>a):not(:disabled){text-shadow:0 0 8px color-mix(in srgb, var(--sd-accent) 45%, transparent);box-shadow:0 0 0 1px color-mix(in srgb, var(--sd-accent) 55%, transparent), 0 0 12px color-mix(in srgb, var(--sd-accent) 26%, transparent)!important}html[data-buttons=neon] :is(button,#main-tabs>a):not(:disabled):hover{box-shadow:0 0 0 1px var(--sd-accent), 0 0 20px color-mix(in srgb, var(--sd-accent) 50%, transparent)!important}html[data-buttons=bold] :is(button,select,input[type=search],input[type=text],#main-tabs>a){outline:1.5px solid rgba(var(--sd-ink,255, 255, 255), .55);outline-offset:-1.5px;font-weight:700}html[data-buttons=bold] :is(button,a,select,input):focus-visible{outline-offset:2px;outline:3px solid var(--sd-accent)!important}@media (prefers-reduced-motion:no-preference){html:not([data-buttons=soft]) :is(button,#main-tabs>a){transition:box-shadow .15s,filter .15s,outline-color .15s}}html[data-theme=analyst] body{font-variant-numeric:tabular-nums}html[data-theme=analyst] [style*=box-shadow]{box-shadow:none!important}html[data-theme=analyst] [style*=text-shadow]{text-shadow:none!important}html[data-theme=analyst] header h1,html[data-theme=analyst] header :is(span,a)>h1,html[data-theme=analyst] [style*=-webkit-text-fill-color]{-webkit-text-fill-color:currentColor!important;color:var(--sd-fg-1,#111)!important;background:0 0!important}html[data-theme=analyst] :is(button,a)[style*=gradient]{background:var(--sd-accent)!important;color:#fff!important;border-color:#0000!important}html[data-theme=analyst] div[style*=radial-gradient],html[data-theme=analyst] div[style*=linear-gradient\(1]{background-image:none!important}html[data-theme=analyst] [style*=backdrop-filter]{-webkit-backdrop-filter:none!important;backdrop-filter:none!important}html[data-theme=analyst] :is(.galaxy-ring-pulse,.cluster-hub,.seed){animation:none!important}html[data-dots=droplet] :is(.sd-dot,.pv-d3,.pv-d4){filter:url(#sd-droplet)}html[data-dots=glow] :is(.sd-dot,.pv-d3,.pv-d4){filter:url(#sd-glow)}html[data-dots=plain] .sd-dot:is(:not([stroke]),[stroke=none]){stroke:#2b2b2b;stroke-width:.8px;stroke-opacity:.75}html[data-dots=droplet] .sd-dot-html{background-image:radial-gradient(circle at 34% 30%,#fffffff2,#ffffff59 22%,#fff0 55%)!important;box-shadow:inset 0 0 0 .5px #ffffff8c,0 1px 3px #00000059!important}html[data-dots=glow] .sd-dot-html{filter:saturate(1.25)brightness(1.08)drop-shadow(0 0 3px #ffffff59)}html[data-dots=plain] .sd-dot-html{box-shadow:inset 0 0 0 1px #0009!important}html[data-theme=obsidian] [data-glass-panel]{box-shadow:none!important;border-color:#363636!important}html[data-theme=obsidian] [data-glass-panel=side]{border-left:1px solid #363636!important;border-right:1px solid #363636!important}html[data-theme=obsidian] #main-tabs{box-shadow:inset 0 0 0 1px #363636;background:#262626!important}html[data-theme=obsidian] .graph-tooltip{box-shadow:0 4px 14px #0006;color:#dcddde!important;background:#262626!important;border:1px solid #3f3f3f!important;border-radius:4px!important}html[data-theme=synthwave] [data-glass-panel]{box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--sd-accent) 45%, transparent), 0 0 26px color-mix(in srgb, var(--sd-accent) 16%, transparent)!important}html[data-theme=synthwave] #main-tabs{box-shadow:0 0 0 1px color-mix(in srgb, var(--sd-accent) 55%, transparent), 0 0 18px color-mix(in srgb, var(--sd-accent) 22%, transparent)}html[data-theme=synthwave] .graph-tooltip{box-shadow:0 0 16px color-mix(in srgb, var(--sd-accent) 35%, transparent);border:1px solid var(--sd-accent)!important;color:#fff5ff!important;background:#24103ff0!important}html[data-theme=space] [data-glass-panel]{box-shadow:inset 0 1px #cddaff24,inset 0 0 0 1px #96aaff1a,0 18px 50px #00000080!important}html[data-theme=space] .graph-tooltip{color:#eef2ff!important;background:#080a1cf0!important;border:1px solid #96aaff47!important}html[data-theme=contrast] [data-glass-panel]{box-shadow:inset 0 0 0 1.5px #fff!important}html[data-theme=contrast] .graph-tooltip{color:#fff!important;background:#000!important;border:1.5px solid #fff!important}html[data-theme=daylight] [data-glass-panel]{box-shadow:0 0 0 1px #12162812,0 1px 2px #1216280f,0 10px 30px #12162814!important}html[data-theme=daylight] #main-tabs{background:#fff!important}html[data-theme=paper] [data-glass-panel]{box-shadow:inset 0 0 0 1px #d8cdb8!important}html[data-theme=paper] #main-tabs{background:#efe7d6!important}html[data-theme=analyst] [data-glass-panel]{box-shadow:inset 0 0 0 1px #d0d0d0!important}html[data-theme=analyst] #main-tabs{background:#ececec!important}html[data-mode=light] .graph-tooltip{box-shadow:0 6px 20px #12162824;color:#11141c!important;background:#fffffffa!important;border:1px solid #1216281f!important}html[data-theme=paper] .graph-tooltip{font-family:var(--sd-font);background:#fbf8f1!important;border-color:#d8cdb8!important}html[data-theme=analyst] .graph-tooltip{box-shadow:none;border-radius:2px!important}html[data-buttons=frosted] .graph-tooltip{-webkit-backdrop-filter:blur(16px)saturate(1.8);backdrop-filter:blur(16px)saturate(1.8);box-shadow:inset 0 1px #ffffff38,0 10px 30px #00000059;background:#12121e73!important;border:1px solid #ffffff2e!important;border-radius:12px!important}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,89349,e=>{"use strict";var t=e.i(71645);let n="http://www.w3.org/2000/svg",r={side:{r:2,bezel:26,scale:56},bar:{r:20,bezel:12,scale:22}};e.s(["default",0,function(){return(0,t.useEffect)(()=>{let e=document.documentElement,t=window.matchMedia?.("(prefers-reduced-transparency: reduce)"),o=null,a=new Map,s=0,i=null,l=()=>{if(o)return o;let e=document.createElementNS(n,"svg");return e.setAttribute("width","0"),e.setAttribute("height","0"),e.setAttribute("aria-hidden","true"),e.style.position="absolute",e.style.pointerEvents="none",o=document.createElementNS(n,"defs"),e.appendChild(o),document.body.appendChild(e),o},u=()=>{let o="frosted"!==e.dataset.buttons||t?.matches?[]:[...document.querySelectorAll("[data-glass-panel]")];for(let[e,t]of a)o.includes(e)||(e.style.removeProperty("--lg-lens"),document.getElementById(t.id)?.remove(),a.delete(e));for(let e of o){let t=Math.round(e.offsetWidth),o=Math.round(e.offsetHeight);if(t<20||o<20)continue;let i=a.get(e);if(i&&i.w===t&&i.h===o)continue;let u=r[e.dataset.glassPanel]||r.side,c=i?.id||`lg-lens-${++s}`;document.getElementById(c)?.remove();let d=document.createElementNS(n,"filter");for(let[e,t]of(d.setAttribute("id",c),Object.entries({x:"0",y:"0",width:"100%",height:"100%","color-interpolation-filters":"sRGB"})))d.setAttribute(e,t);let f=document.createElementNS(n,"feImage");for(let[e,n]of Object.entries({x:"0",y:"0",width:String(t),height:String(o),preserveAspectRatio:"none",result:"map"}))f.setAttribute(e,n);f.setAttribute("href",function(e,t,n,r){let o=document.createElement("canvas");o.width=e,o.height=t;let a=o.getContext("2d"),s=a.createImageData(e,t),i=s.data;for(let o=0;o<t;o++)for(let a=0;a<e;a++){let s=(o*e+a)*4,[l,u]=a<r+n||o<r+n||a>=e-r-n||o>=t-r-n?function(e,t,n,r,o,a){let s=e+.5-n/2,i=t+.5-r/2,l=Math.abs(s)-(n/2-o),u=Math.abs(i)-(r/2-o),c=Math.max(l,0),d=Math.max(u,0),f=Math.hypot(c,d),h=o-(f+Math.min(Math.max(l,u),0)),p=0,g=0;f>0?(p=c/f,g=d/f):l>u?p=1:g=1;let m=Math.max(0,1-h/a),y=m*m;return[(p*=-Math.sign(s)||0)*y,(g*=-Math.sign(i)||0)*y]}(a,o,e,t,n,r):[0,0];i[s]=128+127*l,i[s+1]=128+127*u,i[s+2]=128,i[s+3]=255}return a.putImageData(s,0,0),o.toDataURL()}(t,o,Math.min(u.r,Math.floor(Math.min(t,o)/2)),u.bezel));let h=document.createElementNS(n,"feDisplacementMap");for(let[e,t]of Object.entries({in:"SourceGraphic",in2:"map",scale:String(u.scale),xChannelSelector:"R",yChannelSelector:"G"}))h.setAttribute(e,t);d.append(f,h),l().appendChild(d),e.style.setProperty("--lg-lens",`url(#${c})`),a.set(e,{id:c,w:t,h:o})}},c=()=>{clearTimeout(i),i=setTimeout(u,150)};u();let d=new ResizeObserver(c),f=()=>{d.disconnect(),document.querySelectorAll("[data-glass-panel]").forEach(e=>d.observe(e))};f();let h=new MutationObserver(e=>{e.some(e=>"attributes"===e.type||[...e.addedNodes,...e.removedNodes].some(e=>1===e.nodeType&&(e.matches?.("[data-glass-panel]")||e.querySelector?.("[data-glass-panel]"))))&&(f(),c())});return h.observe(document.body,{childList:!0,subtree:!0}),h.observe(e,{attributes:!0,attributeFilter:["data-buttons"]}),t?.addEventListener?.("change",c),()=>{clearTimeout(i),d.disconnect(),h.disconnect(),t?.removeEventListener?.("change",c)}},[]),null}],89349)},40643,e=>{"use strict";var t=e.i(43476),n=e.i(71645),r=e.i(18566),o=e.i(22016),a=e.i(40996),s=e.i(68792),i=e.i(99883);let l={full:"Scanning your network",refresh:"Checking for new connections",bridge:"Scanning a circle",resume:"Carrying on with a circle","resume-all":"Carrying on with circles","auto-bridge":"Auto-Bridge","auto-bridge-retry":"Auto-Bridge",rescrape:"Re-scanning a circle",login:"Signing in to LinkedIn",setup:"Setting up the scanner",company:"Scanning a company",photos:"Saving photos",messages:"Reading your messages list","messages-full":"Reading your whole messages history"};e.s(["default",0,function(){let e,u,[c,d]=(0,n.useState)(()=>(0,a.scannerNow)()),[f,h]=(0,n.useState)(!1),[p,g]=(0,n.useState)(!1),[m,y]=(0,n.useState)(!1),b=(0,n.useSyncExternalStore)(s.watchAllDay,s.allDayNow,()=>!1),w=(0,n.useSyncExternalStore)(i.watchActivities,i.activitiesNow,i.noActivities),v=(0,n.useSyncExternalStore)(i.watchNotchTabs,i.notchTabsNow,i.noNotchTabs);(0,n.useEffect)(()=>(0,a.watchScanner)(()=>{let e=(0,a.scannerNow)();d(e),e.running||h(!1)}),[]);let S=(0,r.usePathname)(),[x,E]=(0,n.useState)(null),[k,A]=(0,n.useState)(null);(0,n.useEffect)(()=>{let e=null,t=null,n=0,r=()=>{n=0;let r=document.querySelector("header");r!==e&&(t?.disconnect(),t=null,(e=r)&&(t=new ResizeObserver(o)).observe(e));let a=e?Math.round(e.getBoundingClientRect().bottom):null;E(e=>e===a?e:a);let s=document.getElementById("main-tabs")?.getBoundingClientRect(),i=s&&s.width?Math.round(s.left+s.width/2):null;A(e=>e===i?e:i)},o=()=>{n||(n=requestAnimationFrame(r))};o();let a=new MutationObserver(o);return a.observe(document.body,{childList:!0,subtree:!0}),window.addEventListener("resize",o),()=>{cancelAnimationFrame(n),t?.disconnect(),a.disconnect(),window.removeEventListener("resize",o)}},[S]);let j=!!c?.running,N=w[w.length-1]||null,O=j||N||b,P=!!(O||v);if((0,n.useEffect)(()=>((0,i.setNotchShown)(P),()=>(0,i.setNotchShown)(!1)),[P]),!O&&!v)return null;let T=c?.progress,C=T?.kind==="batch"&&T.total?`${T.current||T.done||0} of ${T.total}`:T?.kind==="walk"&&T.total?`${(T.done||0).toLocaleString()} of ${T.total.toLocaleString()}`:T?.kind==="saving"?"saving":null,R=T?.total?Math.min(1,(T.current||T.done||0)/T.total):N?.progress??null,I=c?.budget,M=j?[...c.log||[]].reverse().find(e=>e&&e.trim())?.trim():null,_=p||m,L=j?"#00ff88":N?"warn"===N.tone?"#FFD700":"#3498DB":"#556",$=j?l[c.action]||"Scanning":N?N.label:"Auto scan",D=j?C:N?N.detail:null,F=null!=k?`clamp(170px, ${k}px, calc(100vw - 170px))`:"50%";return(0,t.jsxs)("div",{"data-glass-panel":"bar",onMouseLeave:()=>g(!1),style:{position:"fixed",left:F,top:x??"var(--scan-bar-top, 94px)",transform:"translateX(-50%)",zIndex:60,maxWidth:"calc(100vw - 16px)",padding:_&&O?"4px 6px 10px":"4px 6px 5px",borderRadius:"0 0 14px 14px",border:`1px solid ${j?"rgba(0,255,136,0.25)":"rgba(var(--sd-ink, 255, 255, 255), 0.1)"}`,borderTop:"none",background:"var(--sd-surface, rgba(8,10,22,0.96))",color:"var(--sd-fg-2, #cfd8d8)",fontSize:12,opacity:v||j||N||_?1:.55,boxShadow:j?"0 6px 20px rgba(0,0,0,0.35)":"none",transition:"padding 0.18s ease, opacity 0.18s ease"},children:[(0,t.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:4,overflowX:"auto"},children:[v&&(0,t.jsx)("div",{role:"tablist","aria-label":"View",style:{display:"flex",gap:2},children:v.items.map(e=>{let n=e.key===v.current;return(0,t.jsxs)("button",{role:"tab","aria-selected":n,title:e.title,onClick:()=>v.onPick(e.key),style:{display:"flex",alignItems:"center",gap:6,padding:"5px 11px",borderRadius:8,border:"none",cursor:"pointer",whiteSpace:"nowrap",fontSize:12,fontWeight:600,background:n?"rgba(52,152,219,0.22)":"transparent",color:n?"var(--sd-fg-1, #cfe6f7)":"var(--sd-fg-3, #8b9aa8)"},children:[e.icon&&(0,t.jsx)("span",{"aria-hidden":"true",children:e.icon}),e.label]},e.key)})}),v&&O&&(0,t.jsx)("span",{"aria-hidden":"true",style:{width:1,alignSelf:"stretch",margin:"3px 4px",background:"rgba(var(--sd-ink, 255, 255, 255), 0.12)"}}),O&&(0,t.jsxs)("button",{onMouseEnter:()=>g(!0),onClick:()=>y(e=>!e),"aria-expanded":_,title:_?"Close":"Open",style:{display:"flex",alignItems:"center",gap:8,background:"none",border:"none",color:"inherit",font:"inherit",cursor:"pointer",padding:"5px 8px",whiteSpace:"nowrap"},children:[(0,t.jsx)("span",{className:j?"notch-pulse":void 0,style:{width:7,height:7,borderRadius:"50%",background:L,flexShrink:0}}),(0,t.jsxs)("span",{role:"status","aria-live":"polite",style:{display:"flex",alignItems:"center",gap:8},children:[(0,t.jsx)("b",{style:{color:j||N?"var(--sd-fg-1, #fff)":"var(--sd-fg-2, #b8c4c4)",fontWeight:600},children:$}),D&&(0,t.jsx)("span",{style:{color:"var(--sd-fg-3, #8b9a9a)"},children:D})]}),!j&&!N&&_&&(0,t.jsx)("span",{style:{color:"var(--sd-fg-3, #8b9a9a)"},children:"ready · press Auto scan beside Scan to start"})]})]}),O&&null!=R&&(0,t.jsx)("div",{style:{height:2,margin:"3px 6px 0",borderRadius:2,background:"rgba(var(--sd-ink, 255, 255, 255), 0.08)",overflow:"hidden"},children:(0,t.jsx)("div",{style:{width:`${Math.round(100*R)}%`,height:"100%",background:j?"#00ff88":"#3498DB",transition:"width 0.4s ease"}})}),_&&j&&(0,t.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:12,margin:"8px 8px 0",flexWrap:"wrap"},children:[c.target?.name&&(0,t.jsx)("span",{children:c.target.name}),I&&(0,t.jsxs)(o.default,{href:"/settings#usage",style:{color:(e=I.searches,(u=I.cap)?e/u>=.9?"#ff6b6b":e/u>=.6?"#FFD700":"#00ff88":"#8b9a9a"),textDecoration:"none"},title:"Searches on your LinkedIn account in the last 24 hours, and your daily budget. Open LinkedIn usage",children:[I.searches,I.cap?` of ${I.cap}`:""," searches in the last 24 hours"]}),M&&(0,t.jsx)("span",{style:{color:"var(--sd-fg-4, #667)",maxWidth:280,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},title:M,children:M}),(0,t.jsx)(o.default,{href:"/setup",style:{color:"var(--sd-blue, #3498DB)",textDecoration:"none"},children:"Details"}),(0,t.jsx)("button",{onClick:async()=>{h(!0);try{await (0,a.stopScrape)()}catch{h(!1)}},disabled:f,title:"Stops after saving what's been read; Resume on the Scan page carries on from the same page",style:{padding:"3px 10px",borderRadius:8,fontSize:12,cursor:f?"default":"pointer",background:"rgba(255,107,107,0.12)",color:"var(--sd-fg-2, #ff9b9b)",border:"1px solid rgba(255,107,107,0.35)"},children:f?"Stopping…":"Stop"})]}),_&&!j&&N?.detail&&(0,t.jsx)("div",{style:{margin:"6px 8px 0",color:"var(--sd-fg-3, #8b9a9a)"},children:N.detail})]})}])},87915,e=>{"use strict";var t=e.i(71645),n=e.i(40996),r=e.i(64745);let o=!1;e.s(["default",0,function(){return(0,t.useEffect)(()=>{if(r.IS_DEMO||o)return;let e=()=>{};return fetch("/api/social").then(e=>e.json()).then(({social:t})=>{if(!t?.autoSync||o)return;let r=t.liveAt?Date.parse(t.liveAt):0,a=new Date().getHours();Date.now()-r<864e5||a<9||a>=19||(e=(0,n.watchScanner)(()=>{let t=(0,n.scannerNow)();t.known&&!o&&(o=!0,e(),t.running||(0,n.beginScrape)("messages").catch(()=>{}))}))}).catch(()=>{}),()=>e()},[]),null}])},37711,e=>{"use strict";var t=e.i(43476),n=e.i(71645);e.s(["default",0,function(){let[e,r]=(0,n.useState)(null);return((0,n.useEffect)(()=>{let e=!0;return fetch("/api/update").then(e=>e.json()).then(t=>{e&&t?.restartNeeded&&r(t)}).catch(()=>{}),()=>{e=!1}},[]),e)?(0,t.jsxs)("div",{role:"status",style:{position:"fixed",left:0,right:0,bottom:0,zIndex:9999,background:"linear-gradient(90deg, #FFD700, #FF6B35)",color:"#1a1200",padding:"9px 16px",fontSize:13,fontWeight:600,lineHeight:1.5,display:"flex",alignItems:"center",justifyContent:"center",gap:10,flexWrap:"wrap",textAlign:"center"},children:[(0,t.jsxs)("span",{children:["You have newer code on disk (",e.sha,") than this server is running (",e.bootSha,"). Restart it to see the changes: ",(0,t.jsx)("code",{style:{background:"rgba(var(--sd-shade, 0, 0, 0), 0.16)",padding:"1px 6px",borderRadius:4},children:"Ctrl-C"})," in the terminal, then ",(0,t.jsx)("code",{style:{background:"rgba(var(--sd-shade, 0, 0, 0), 0.16)",padding:"1px 6px",borderRadius:4},children:"npm run dev"}),"."]}),(0,t.jsx)("button",{onClick:()=>r(null),style:{border:"none",background:"rgba(var(--sd-shade, 0, 0, 0), 0.18)",color:"#1a1200",borderRadius:6,padding:"3px 10px",fontWeight:700,cursor:"pointer"},children:"Dismiss"})]}):null}])},56456,e=>{"use strict";var t=e.i(71645),n=e.i(58712);e.s(["default",0,function(){return(0,t.useEffect)(()=>{let t=!0;return fetch("/api/settings",{cache:"no-store"}).then(e=>e.ok?e.json():null).then(async r=>{if(!t||!r?.settings)return;(0,n.adoptSavedTheme)(r.settings.theme);let{adoptSavedLayouts:o}=await e.A(11678);t&&o(r.settings.galaxyLayouts)}).catch(()=>{}),()=>{t=!1}},[]),null}])},68792,e=>{"use strict";var t=e.i(40996);let n=(e,t)=>{try{let n=localStorage.getItem(e);return null===n?t:JSON.parse(n)}catch{return t}};e.s(["allDayNow",0,function(){try{return"true"===localStorage.getItem("six-degrees-experimental-auto")}catch{return!1}},"startAutoScan",0,function(){let e=n("six-degrees-bridge-order","newest");return(0,t.beginScrape)("auto-bridge",{experimental:!0,maxBridges:10,order:e,tiers:"score"===e?["S","A"]:[],maxPages:n("six-degrees-bridge-pages-v2",100),deeper:n("six-degrees-bridge-finish",!0)})},"watchAllDay",0,function(e){return window.addEventListener("storage",e),window.addEventListener("six-degrees:experimental",e),()=>{window.removeEventListener("storage",e),window.removeEventListener("six-degrees:experimental",e)}}])},99883,e=>{"use strict";let t=new Set,n=[],r=[],o=new Set,a=null,s=new Set,i=!1;e.s(["activitiesNow",0,()=>n,"noActivities",0,()=>r,"noNotch",0,()=>!1,"noNotchTabs",0,()=>null,"notchShownNow",0,()=>i,"notchTabsNow",0,()=>a,"setNotchShown",0,function(e){!!e!==i&&(i=!!e,s.forEach(e=>e()))},"setNotchTabs",0,function(e){a=e&&Array.isArray(e.items)&&e.items.length>1?e:null,o.forEach(e=>e())},"showActivity",0,function(e){return e?.id?(n=[...n.filter(t=>t.id!==e.id),e],t.forEach(e=>e()),()=>{var r;return r=e.id,void(n.some(e=>e.id===r)&&(n=n.filter(e=>e.id!==r),t.forEach(e=>e())))}):()=>{}},"watchActivities",0,function(e){return t.add(e),()=>t.delete(e)},"watchNotchShown",0,function(e){return s.add(e),()=>s.delete(e)},"watchNotchTabs",0,function(e){return o.add(e),()=>o.delete(e)}])},40996,16999,e=>{"use strict";Symbol.for("six-degrees.scan-state");let t="The scanner works in Google Chrome, and Chrome isn’t on this computer.",n="Install Google Chrome, then come back",r=`${t} ${n}.`,o={install:"Install",setup:"Set up the scanner"};async function a(){let e=await fetch("/api/scraper");if(!e.ok)throw Error("Could not reach the app.");return e.json()}e.s(["CHROME_REFUSAL",0,r,"askForField",0,function(e,t){if(!e)return null;let n=e.network;return!!n&&!!n.first&&!n.second&&!n.third&&!e.running&&(void 0===t?null:!!(t&&!t.fieldAsked&&!t.sectorFocus?.sectors?.length))},"setupStep",0,function(e){let r=function(e){let t=e?.checks||{},n=(t,n,r)=>e?.running&&e.action===t?r:n;if(t.dependencies)return"bundled"===t.pythonSource?{done:!0,text:"Ready. The scanner and its Python come with the app, so there is nothing to install.",button:null}:"custom"===t.pythonSource?{done:!0,text:`Ready, on the Python named in SIX_DEGREES_PYTHON (${t.pythonPath}).`,button:null}:{done:!0,text:"Installed.",button:null};let r=t.ownPython&&"bundled"!==t.ownPython.source?`The Python named in SIX_DEGREES_PYTHON didn't work (${t.ownPython.problem}), so the scanner needs setting up another way. `:"";if(t.installFrom)return{done:!1,text:r+("downloaded"===t.installFrom.source?"Its own Python is already here. One more step, about a minute: it installs the browser-automation packages into it.":"One-time, about a minute. Downloads the browser-automation packages."),button:{action:"install",label:n("install","Install","Installing…")}};if(t.download){let e=Math.round(t.download.size/1048576);return{done:!1,text:`${r}${function(e){if(!e?.version)return"This computer has no Python the scanner can use.";let[t,n]=String(e.version).split(".").map(Number);return 3===t&&n>=10&&n<=14&&!1===e.venv?`This computer's Python ${e.version} can't make the scanner's own environment (on Ubuntu or Debian, python3-venv isn't installed).`:`This computer has Python ${e.version}, and the scanner needs 3.10 to 3.14.`}(t.systemPython)} Set up the scanner downloads its own Python ${t.download.version} (${e} MB, from GitHub) and the scanner's packages (from PyPI) into your data folder. Nothing else on this computer changes. About two minutes.`,button:{action:"setup",label:n("setup","Set up the scanner","Setting up…")}}}return{done:!1,text:`${r}No Python 3.10 to 3.14 was found on this machine. Install one from python.org, then reload.`,button:null}}(e),a=function(e,{done:t,button:n}){if(e?.source!=="bundled")return null;let r=/SIGKILL|code signature|not valid for use in process|quarantine|not permitted/i.test(e.problem||""),a=[`The Python that comes with the app didn't work (${e.problem}).`];return r&&a.push("macOS may have blocked it."),!1===e.retry&&a.push("Six Degrees won't try it again until you restart it."),t?a.push("The scanner uses another Python on this computer instead."):n?a.push(`To scan now, use ${o[n.action]} below: it gives the scanner a Python of its own in your data folder.`):a.push("To scan now, install Python 3.10 to 3.14 from python.org, then reload."),a.join(" ")}(e?.checks?.ownPython,r);return e?.checks?.chrome!==!1?{...r,note:a,chrome:null}:{...r,done:!1,text:r.done?t:`${r.text} ${t}`,note:a,chrome:{label:n,href:"https://www.google.com/chrome/"}}}],16999);let s="six-degrees-hide-chrome";function i(e,t={},n=function(e="u">typeof localStorage?localStorage:null){try{return!0===JSON.parse(e?.getItem(s)||"false")}catch{return!1}}()){return{action:e,...t,...n?{headless:!0}:{}}}async function l(e,t,n={}){let r=await fetch("/api/scraper",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(i(e,{...t?{name:t}:{},...n}))}),o=await r.json().catch(()=>({}));if(!r.ok)throw Error(o.error||"Could not start the scanner.");return o}async function u(e){let t=await fetch(`/api/scraper?resume=${encodeURIComponent(e)}`);return t.ok?(await t.json()).resume??null:null}let c=Object.freeze({skips:[],read:[]});async function d(){try{let e=await fetch("/api/scraper?reach=1");if(!e.ok)return c;let t=await e.json();return{skips:Array.isArray(t.skips)?t.skips:[],read:Array.isArray(t.read)?t.read:[]}}catch{return c}}async function f(e){let t=await fetch(`/api/scraper?person=${encodeURIComponent(e)}`);return t.ok?t.json():{person:null}}async function h(){await fetch("/api/scraper",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"cancel"})})}let p=Object.freeze({known:!1,running:!1,pending:!1,action:null,target:null,startedAt:null,progress:null,pages:0,found:[],log:[],finished:[]}),g=new Set,m=p,y=JSON.stringify(m),b=null,w=null,v=0,S=!1,x=new Set;function E(e){let t=JSON.stringify(e);if(t!==y)for(let n of(y=t,m=Object.freeze(e),[...g]))n()}async function k(){(!("u">typeof document&&document.hidden)||m.running)&&await function(){if(w&&w.epoch===v)return w.promise;let e=v,t=fetch("/api/scraper?job=1").then(e=>e.ok?e.json():null).then(t=>{e===v&&function(e){if(!e||"object"!=typeof e)return;let t=!0===e.running;t&&null!=e.startedAt&&x.add(e.startedAt);let n=(Array.isArray(e.recent)?e.recent:[]).filter(e=>x.has(e.startedAt)).map(n=>({...n,log:!t&&n.startedAt===e.startedAt&&Array.isArray(e.log)?e.log:[]}));E({known:!0,running:t||S,pending:S&&!t,action:t?e.action??null:S?m.action:null,target:t?e.target??null:S?m.target:null,startedAt:t?e.startedAt??null:null,progress:t?e.progress??null:null,pages:t&&Number(e.pages)||0,found:t&&Array.isArray(e.found)?e.found.map(Number).filter(Number.isFinite):[],budget:t?e.budget??null:null,log:t&&Array.isArray(e.log)?e.log:[],finished:n})}(t)}).catch(()=>{}).finally(()=>{w?.promise===t&&(w=null)});return w={epoch:e,promise:t},t}(),clearTimeout(b),b=g.size?setTimeout(k,m.running?1500:5e3):null}function A(e){return g.add(e),1===g.size&&k(),()=>{g.delete(e),g.size||(clearTimeout(b),b=null)}}async function j(e,{name:t,id:n,onLog:r,...o}={}){let a;v++,S=!0,E({...m,known:!0,running:!0,pending:!0,action:e,target:t||n?{id:n??null,name:t??null}:null,startedAt:null,progress:null,log:[]});try{a=await l(e,t,{...n?{id:n}:{},...o})}catch(e){throw S=!1,v++,m.pending&&E({...m,running:!1,pending:!1,action:null,target:null,log:[]}),k(),e}S=!1,v++;let s=a?.startedAt??null;null!=s&&x.add(s);let i=new Promise(e=>{let t=A(()=>{m.running&&m.startedAt===s&&r?.(m.log);let n=null==s?m.running?null:{exitCode:null,failure:null,log:[]}:m.finished.find(e=>e.startedAt===s);n&&(t(),n.log.length&&r?.(n.log),e(n))});k()});return{startedAt:s,ended:i}}function N(e){return!!e?.target&&["bridge","rescrape","resume"].includes(e.action)}e.s(["HIDE_CHROME_KEY",0,s,"NO_SCAN_NOTES",0,c,"SCANNER_UNKNOWN",0,p,"beginScrape",0,j,"busyReason",0,function(e=m){if(!e?.running)return null;let t=e.target?.name;switch(e.action){case"bridge":case"rescrape":case"resume":return t?`${t}’s circle is being scanned`:"A circle is being scanned";case"company":return t?`${t} is being scanned`:"A company is being scanned";case"auto-bridge":case"auto-bridge-retry":case"resume-all":return"Your bridges are being mapped, one by one";case"full":case"refresh":return"Your own connections are being scanned";default:switch(e.action){case"install":return"The scanner's packages are being installed";case"setup":return"The scanner is being set up";case"login":return"The LinkedIn sign-in window is open";case"photos":return"Profile photos are being saved";default:return"A scan is running"}}},"fillsCircles",0,function(e){return N(e)||["auto-bridge","auto-bridge-retry","resume-all"].includes(e?.action)},"isCircleScan",0,N,"loadScanNotes",0,d,"notReadyMessage",0,function(e){if(!e)return"Could not reach the app.";let t=e.checks||{};return t.scriptsFound?t.dependencies?t.chrome?null:r:t.python||t.download?"The scanner is not set up yet. Open Scan to set it up.":"No Python 3.10 to 3.14 is installed on this machine.":"The scanner files are missing from this install."},"pickedPerson",0,f,"resumePoint",0,u,"runScrape",0,function(e,t={}){return j(e,t).then(e=>e.ended)},"scanRequest",0,i,"scannerNow",0,function(){return m},"scansCircleOf",0,function(e,t){if(!N(e)||!t)return!1;let{id:n,name:r}=e.target;return n&&t.id?n===t.id:!!r&&r===t.name},"scraperStatus",0,a,"stopScrape",0,h,"watchScanner",0,A],40996)},56899,e=>{"use strict";async function t(e,{keepalive:n=!1}={}){try{let t=await fetch("/api/settings",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({settings:e}),keepalive:n}),r=await t.json();return{settings:r.settings||null,effects:r.effects||null,error:t.ok?null:r.error||"Could not save."}}catch{return{settings:null,effects:null,error:"Could not reach the app. Reload this page to see what is saved."}}}e.s(["saveSettings",0,t])},40827,e=>{"use strict";e.s(["laterSaver",0,function(e,t=400){let n,r=null,o=t=>{clearTimeout(r),r=null,Promise.resolve(e(n,{now:t})).catch(()=>{})},a=e=>{n=e,r&&clearTimeout(r),r=setTimeout(()=>o(!1),t)};return a.flush=()=>{r&&o(!0)},a},"reconcileSaved",0,function({saved:e,cached:t,isDefault:n,same:r}){return null==e?{use:t,save:!n(t),changed:!1}:{use:e,save:!1,changed:!r(e,t)}}])},58712,e=>{"use strict";var t=e.i(54322),n=e.i(56899),r=e.i(40827);let o="six-degrees-theme",a=Object.freeze({base:"standard",custom:{}}),s=new Set,i=a;function l(){try{return(0,t.cleanTheme)(JSON.parse(localStorage.getItem(o)||"null")||a)}catch{return a}}function u(e){let n=(0,t.resolveTheme)(e);Object.assign(t.TIER_COLORS,n.tiers);let r=(0,t.isLight)(n);if(Object.assign(t.MAP_LOOK,{you:n.you,lines:n.lines,line:n.line,bg:n.bg,dots:n.dots,light:r,text:r?"#11141c":"#ffffff"}),"u"<typeof document)return;let o=(0,t.themeVars)(e),a=document.documentElement;for(let e of[...a.style])!e.startsWith("--sd-")||e in o||a.style.removeProperty(e);for(let[e,t]of Object.entries(o))a.style.setProperty(e,t);Object.assign(a.dataset,(0,t.themeAttrs)(e)),a.style.colorScheme=r?"light":"dark";try{localStorage.setItem("six-degrees-theme-vars",JSON.stringify({vars:o,attrs:(0,t.themeAttrs)(e)}))}catch{}}u(i=l()),window.addEventListener("storage",e=>{e.key===o&&(u(i=l()),s.forEach(e=>e()))});let c=(e,n)=>JSON.stringify((0,t.cleanTheme)(e))===JSON.stringify((0,t.cleanTheme)(n)),d=(0,r.laterSaver)((e,{now:t})=>(0,n.saveSettings)({theme:e},{keepalive:t}));function f(e){i=(0,t.cleanTheme)(e);try{localStorage.setItem(o,JSON.stringify(i))}catch{}u(i),s.forEach(e=>e())}window.addEventListener("pagehide",()=>d.flush()),e.s(["adoptSavedTheme",0,function(e){let{use:o,save:s,changed:l}=(0,r.reconcileSaved)({saved:null==e?null:(0,t.cleanTheme)(e),cached:i,isDefault:e=>c(e,a),same:c});s&&(0,n.saveSettings)({theme:i}),l&&f(o)},"serverTheme",0,()=>a,"setTheme",0,function(e){f(e),d(i)},"themeNow",0,()=>i,"watchTheme",0,function(e){return s.add(e),()=>s.delete(e)}])},22016,(e,t,n)=>{"use strict";e.i(47167),Object.defineProperty(n,"__esModule",{value:!0});var r={default:function(){return y},useLinkStatus:function(){return w}};for(var o in r)Object.defineProperty(n,o,{enumerable:!0,get:r[o]});let a=e.r(90809),s=e.r(43476),i=a._(e.r(71645)),l=e.r(95057),u=e.r(8372),c=e.r(18581),d=e.r(18967),f=e.r(5550),h=e.r(88540),p=e.r(91949),g=e.r(73668),m=e.r(9396);function y(t){var n;let r,o,a,[y,w]=(0,i.useOptimistic)(p.IDLE_LINK_STATUS),v=(0,i.useRef)(null),{href:S,as:x,children:E,prefetch:k=null,passHref:A,replace:j,shallow:N,scroll:O,onClick:P,onMouseEnter:T,onTouchStart:C,legacyBehavior:R=!1,onNavigate:I,transitionTypes:M,ref:_,unstable_dynamicOnHover:L,...$}=t;r=E,R&&("string"==typeof r||"number"==typeof r)&&(r=(0,s.jsx)("a",{children:r}));let D=i.default.useContext(u.AppRouterContext),F=!1!==k,z=!1===k?"none":!0===k?"full":"auto",B="none"!==z?"auto"===z?m.FetchStrategy.PPR:m.FetchStrategy.Full:m.FetchStrategy.PPR,U="string"==typeof(n=x||S)?n:(0,l.formatUrl)(n);if(R){if(r?.$$typeof===Symbol.for("react.lazy"))throw Object.defineProperty(Error("`<Link legacyBehavior>` received a direct child that is either a Server Component, or JSX that was loaded with React.lazy(). This is not supported. Either remove legacyBehavior, or make the direct child a Client Component that renders the Link's `<a>` tag."),"__NEXT_ERROR_CODE",{value:"E863",enumerable:!1,configurable:!0});o=i.default.Children.only(r)}let J=R?o&&"object"==typeof o&&o.ref:_,W,K=i.default.useCallback(e=>(null!==D&&(v.current=(0,p.mountLinkInstance)(e,U,D,B,F,w,W)),()=>{v.current&&((0,p.unmountLinkForCurrentNavigation)(v.current),v.current=null),(0,p.unmountPrefetchableInstance)(e)}),[F,U,D,B,w,W]),G={ref:(0,c.useMergedRef)(K,J),onClick(t){R||"function"!=typeof P||P(t),R&&o.props&&"function"==typeof o.props.onClick&&o.props.onClick(t),!D||t.defaultPrevented||function(t,n,r,o,a,s,l,u="none"){if("u">typeof window){let c,{nodeName:d}=t.currentTarget;if("A"===d.toUpperCase()&&((c=t.currentTarget.getAttribute("target"))&&"_self"!==c||t.metaKey||t.ctrlKey||t.shiftKey||t.altKey||t.nativeEvent&&2===t.nativeEvent.which)||t.currentTarget.hasAttribute("download"))return;if(!(0,g.isLocalURL)(n)){o&&(t.preventDefault(),location.replace(n));return}if(t.preventDefault(),s){let e=!1;if(s({preventDefault:()=>{e=!0}}),e)return}let{dispatchNavigateAction:f}=e.r(99781);i.default.startTransition(()=>{f(n,o?"replace":"push",!1===a?h.ScrollBehavior.NoScroll:h.ScrollBehavior.Default,r.current,l,u)})}}(t,U,v,j,O,I,M,z)},onMouseEnter(e){R||"function"!=typeof T||T(e),R&&o.props&&"function"==typeof o.props.onMouseEnter&&o.props.onMouseEnter(e),D&&F&&(0,p.onNavigationIntent)(e.currentTarget,!0===L)},onTouchStart:function(e){R||"function"!=typeof C||C(e),R&&o.props&&"function"==typeof o.props.onTouchStart&&o.props.onTouchStart(e),D&&F&&(0,p.onNavigationIntent)(e.currentTarget,!0===L)}};return(0,d.isAbsoluteUrl)(U)?G.href=U:R&&!A&&("a"!==o.type||"href"in o.props)||(G.href=(0,f.addBasePath)(U)),a=R?i.default.cloneElement(o,G):(0,s.jsx)("a",{...$,...G,children:r}),(0,s.jsx)(b.Provider,{value:y,children:a})}let b=(0,i.createContext)(p.IDLE_LINK_STATUS),w=()=>(0,i.useContext)(b);("function"==typeof n.default||"object"==typeof n.default&&null!==n.default)&&void 0===n.default.__esModule&&(Object.defineProperty(n.default,"__esModule",{value:!0}),Object.assign(n.default,n),t.exports=n.default)},18581,(e,t,n)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"useMergedRef",{enumerable:!0,get:function(){return o}});let r=e.r(71645);function o(e,t){let n=(0,r.useRef)(null),o=(0,r.useRef)(null);return(0,r.useCallback)(r=>{if(null===r){let e=n.current;e&&(n.current=null,e());let t=o.current;t&&(o.current=null,t())}else e&&(n.current=a(e,r)),t&&(o.current=a(t,r))},[e,t])}function a(e,t){if("function"!=typeof e)return e.current=t,()=>{e.current=null};{let n=e(t);return"function"==typeof n?n:()=>e(null)}}("function"==typeof n.default||"object"==typeof n.default&&null!==n.default)&&void 0===n.default.__esModule&&(Object.defineProperty(n.default,"__esModule",{value:!0}),Object.assign(n.default,n),t.exports=n.default)},18967,(e,t,n)=>{"use strict";e.i(47167),Object.defineProperty(n,"__esModule",{value:!0});var r={DecodeError:function(){return y},MiddlewareNotFoundError:function(){return S},MissingStaticPage:function(){return v},NormalizeError:function(){return b},PageNotFoundError:function(){return w},SP:function(){return g},ST:function(){return m},WEB_VITALS:function(){return a},execOnce:function(){return s},getDisplayName:function(){return d},getLocationOrigin:function(){return u},getURL:function(){return c},isAbsoluteUrl:function(){return l},isResSent:function(){return f},loadGetInitialProps:function(){return p},normalizeRepeatedSlashes:function(){return h},stringifyError:function(){return x}};for(var o in r)Object.defineProperty(n,o,{enumerable:!0,get:r[o]});let a=["CLS","FCP","FID","INP","LCP","TTFB"];function s(e){let t,n=!1;return(...r)=>(n||(n=!0,t=e(...r)),t)}let i=/^[a-zA-Z][a-zA-Z\d+\-.]*?:/,l=e=>{let t=e.charCodeAt(0);return!!(t>=65&&t<=90||t>=97&&t<=122)&&i.test(e)};function u(){let{protocol:e,hostname:t,port:n}=window.location;return`${e}//${t}${n?":"+n:""}`}function c(){let{href:e}=window.location,t=u();return e.substring(t.length)}function d(e){return"string"==typeof e?e:e.displayName||e.name||"Unknown"}function f(e){return e.finished||e.headersSent}function h(e){let t=e.split("?");return t[0].replace(/\\/g,"/").replace(/\/\/+/g,"/")+(t[1]?`?${t.slice(1).join("?")}`:"")}async function p(e,t){let n=t.res||t.ctx&&t.ctx.res;if(!e.getInitialProps)return t.ctx&&t.Component?{pageProps:await p(t.Component,t.ctx)}:{};let r=await e.getInitialProps(t);if(n&&f(n))return r;if(!r)throw Object.defineProperty(Error(`"${d(e)}.getInitialProps()" should resolve to an object. But found "${r}" instead.`),"__NEXT_ERROR_CODE",{value:"E1025",enumerable:!1,configurable:!0});return r}let g="u">typeof performance,m=g&&["mark","measure","getEntriesByName"].every(e=>"function"==typeof performance[e]);class y extends Error{}class b extends Error{}class w extends Error{constructor(e){super(),this.code="ENOENT",this.name="PageNotFoundError",this.message=`Cannot find module for page: ${e}`}}class v extends Error{constructor(e,t){super(),this.message=`Failed to load static file for page: ${e} ${t}`}}class S extends Error{constructor(){super(),this.code="ENOENT",this.message="Cannot find the middleware module"}}function x(e){return JSON.stringify({message:e.message,stack:e.stack})}},73668,(e,t,n)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"isLocalURL",{enumerable:!0,get:function(){return a}});let r=e.r(18967),o=e.r(52817);function a(e){if(!(0,r.isAbsoluteUrl)(e))return!0;try{let t=(0,r.getLocationOrigin)(),n=new URL(e,t);return n.origin===t&&(0,o.hasBasePath)(n.pathname)}catch(e){return!1}}},98183,(e,t,n)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0});var r={assign:function(){return l},searchParamsToUrlQuery:function(){return a},urlQueryToSearchParams:function(){return i}};for(var o in r)Object.defineProperty(n,o,{enumerable:!0,get:r[o]});function a(e){let t={};for(let[n,r]of e.entries()){let e=t[n];void 0===e?t[n]=r:Array.isArray(e)?e.push(r):t[n]=[e,r]}return t}function s(e){return"string"==typeof e?e:("number"!=typeof e||isNaN(e))&&"boolean"!=typeof e?"":String(e)}function i(e){let t=new URLSearchParams;for(let[n,r]of Object.entries(e))if(Array.isArray(r))for(let e of r)t.append(n,s(e));else t.set(n,s(r));return t}function l(e,...t){for(let n of t){for(let t of n.keys())e.delete(t);for(let[t,r]of n.entries())e.append(t,r)}return e}},95057,(e,t,n)=>{"use strict";e.i(47167),Object.defineProperty(n,"__esModule",{value:!0});var r={formatUrl:function(){return i},formatWithValidation:function(){return u},urlObjectKeys:function(){return l}};for(var o in r)Object.defineProperty(n,o,{enumerable:!0,get:r[o]});let a=e.r(90809)._(e.r(98183)),s=/https?|ftp|gopher|file/;function i(e){let{auth:t,hostname:n}=e,r=e.protocol||"",o=e.pathname||"",i=e.hash||"",l=e.query||"",u=!1;t=t?encodeURIComponent(t).replace(/%3A/i,":")+"@":"",e.host?u=t+e.host:n&&(u=t+(~n.indexOf(":")?`[${n}]`:n),e.port&&(u+=":"+e.port)),l&&"object"==typeof l&&(l=String(a.urlQueryToSearchParams(l)));let c=e.search||l&&`?${l}`||"";return r&&!r.endsWith(":")&&(r+=":"),e.slashes||(!r||s.test(r))&&!1!==u?(u="//"+(u||""),o&&"/"!==o[0]&&(o="/"+o)):u||(u=""),i&&"#"!==i[0]&&(i="#"+i),c&&"?"!==c[0]&&(c="?"+c),o=o.replace(/[?#]/g,encodeURIComponent),c=c.replace("#","%23"),`${r}${u}${o}${c}${i}`}let l=["auth","hash","host","hostname","href","path","pathname","port","protocol","query","search","slashes"];function u(e){return i(e)}},18566,(e,t,n)=>{t.exports=e.r(76562)}]);
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
/package/.next/static/{ZVpLBK-2vpllv2HxOFs2d → 3NCyJyAPDCEYsYTwF1Ieu}/_clientMiddlewareManifest.js
RENAMED
|
File without changes
|
|
File without changes
|