six-degrees 0.6.0 → 0.7.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.
Files changed (557) hide show
  1. package/.next/standalone/.next/BUILD_ID +1 -1
  2. package/.next/standalone/.next/app-path-routes-manifest.json +3 -0
  3. package/.next/standalone/.next/build-manifest.json +3 -3
  4. package/.next/standalone/.next/prerender-manifest.json +14 -14
  5. package/.next/standalone/.next/routes-manifest.json +18 -0
  6. package/.next/standalone/.next/server/app/_global-error.html +1 -1
  7. package/.next/standalone/.next/server/app/_global-error.rsc +1 -1
  8. package/.next/standalone/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  9. package/.next/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  10. package/.next/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  11. package/.next/standalone/.next/server/app/_not-found/page.js +1 -1
  12. package/.next/standalone/.next/server/app/_not-found/page.js.nft.json +1 -1
  13. package/.next/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  14. package/.next/standalone/.next/server/app/_not-found.html +1 -1
  15. package/.next/standalone/.next/server/app/_not-found.rsc +26 -18
  16. package/.next/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +26 -18
  17. package/.next/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +25 -16
  18. package/.next/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  19. package/.next/standalone/.next/server/app/api/admin-delete/route.js +2 -2
  20. package/.next/standalone/.next/server/app/api/admin-delete/route.js.nft.json +1 -1
  21. package/.next/standalone/.next/server/app/api/admin-update/route.js +2 -2
  22. package/.next/standalone/.next/server/app/api/admin-update/route.js.nft.json +1 -1
  23. package/.next/standalone/.next/server/app/api/bridges/route.js +2 -2
  24. package/.next/standalone/.next/server/app/api/bridges/route.js.nft.json +1 -1
  25. package/.next/standalone/.next/server/app/api/bulk-import/route.js +2 -2
  26. package/.next/standalone/.next/server/app/api/bulk-import/route.js.nft.json +1 -1
  27. package/.next/standalone/.next/server/app/api/company-scores/legacy/route.js +3 -3
  28. package/.next/standalone/.next/server/app/api/company-scores/legacy/route.js.nft.json +1 -1
  29. package/.next/standalone/.next/server/app/api/company-scores/route.js +3 -3
  30. package/.next/standalone/.next/server/app/api/company-scores/route.js.nft.json +1 -1
  31. package/.next/standalone/.next/server/app/api/connections/route.js +2 -2
  32. package/.next/standalone/.next/server/app/api/connections/route.js.nft.json +1 -1
  33. package/.next/standalone/.next/server/app/api/data/backup/route/app-paths-manifest.json +3 -0
  34. package/.next/standalone/.next/server/app/api/data/backup/route/build-manifest.json +12 -0
  35. package/.next/standalone/.next/server/app/api/data/backup/route/server-reference-manifest.json +4 -0
  36. package/.next/standalone/.next/server/app/api/data/backup/route.js +7 -0
  37. package/.next/standalone/.next/server/app/api/data/backup/route.js.map +5 -0
  38. package/.next/standalone/.next/server/app/api/data/backup/route.js.nft.json +1 -0
  39. package/.next/standalone/.next/server/app/api/data/backup/route_client-reference-manifest.js +3 -0
  40. package/.next/standalone/.next/server/app/api/data/csv/route/app-paths-manifest.json +3 -0
  41. package/.next/standalone/.next/server/app/api/data/csv/route/build-manifest.json +12 -0
  42. package/.next/standalone/.next/server/app/api/data/csv/route/server-reference-manifest.json +4 -0
  43. package/.next/standalone/.next/server/app/api/data/csv/route.js +8 -0
  44. package/.next/standalone/.next/server/app/api/data/csv/route.js.map +5 -0
  45. package/.next/standalone/.next/server/app/api/data/csv/route.js.nft.json +1 -0
  46. package/.next/standalone/.next/server/app/api/data/csv/route_client-reference-manifest.js +3 -0
  47. package/.next/standalone/.next/server/app/api/data/export/route.js +1 -1
  48. package/.next/standalone/.next/server/app/api/data/export/route.js.nft.json +1 -1
  49. package/.next/standalone/.next/server/app/api/data/import/route.js +1 -1
  50. package/.next/standalone/.next/server/app/api/data/import/route.js.nft.json +1 -1
  51. package/.next/standalone/.next/server/app/api/data/restart/route.js +1 -1
  52. package/.next/standalone/.next/server/app/api/data/restart/route.js.nft.json +1 -1
  53. package/.next/standalone/.next/server/app/api/data/restore/route/app-paths-manifest.json +3 -0
  54. package/.next/standalone/.next/server/app/api/data/restore/route/build-manifest.json +12 -0
  55. package/.next/standalone/.next/server/app/api/data/restore/route/server-reference-manifest.json +4 -0
  56. package/.next/standalone/.next/server/app/api/data/restore/route.js +7 -0
  57. package/.next/standalone/.next/server/app/api/data/restore/route.js.map +5 -0
  58. package/.next/standalone/.next/server/app/api/data/restore/route.js.nft.json +1 -0
  59. package/.next/standalone/.next/server/app/api/data/restore/route_client-reference-manifest.js +3 -0
  60. package/.next/standalone/.next/server/app/api/data/reveal/route.js +1 -1
  61. package/.next/standalone/.next/server/app/api/data/reveal/route.js.nft.json +1 -1
  62. package/.next/standalone/.next/server/app/api/data/route.js +1 -1
  63. package/.next/standalone/.next/server/app/api/data/route.js.nft.json +1 -1
  64. package/.next/standalone/.next/server/app/api/delete-cluster/route.js +2 -2
  65. package/.next/standalone/.next/server/app/api/delete-cluster/route.js.nft.json +1 -1
  66. package/.next/standalone/.next/server/app/api/ingest/route.js +2 -2
  67. package/.next/standalone/.next/server/app/api/ingest/route.js.nft.json +1 -1
  68. package/.next/standalone/.next/server/app/api/network/route.js +2 -2
  69. package/.next/standalone/.next/server/app/api/network/route.js.nft.json +1 -1
  70. package/.next/standalone/.next/server/app/api/notifications/route.js +2 -2
  71. package/.next/standalone/.next/server/app/api/notifications/route.js.nft.json +1 -1
  72. package/.next/standalone/.next/server/app/api/outreach/route.js +2 -2
  73. package/.next/standalone/.next/server/app/api/outreach/route.js.nft.json +1 -1
  74. package/.next/standalone/.next/server/app/api/queue/route.js +2 -2
  75. package/.next/standalone/.next/server/app/api/queue/route.js.nft.json +1 -1
  76. package/.next/standalone/.next/server/app/api/scraper/route.js +4 -2
  77. package/.next/standalone/.next/server/app/api/scraper/route.js.nft.json +1 -1
  78. package/.next/standalone/.next/server/app/api/settings/route.js +3 -3
  79. package/.next/standalone/.next/server/app/api/settings/route.js.nft.json +1 -1
  80. package/.next/standalone/.next/server/app/api/settings/sector-preview/route.js +3 -3
  81. package/.next/standalone/.next/server/app/api/settings/sector-preview/route.js.nft.json +1 -1
  82. package/.next/standalone/.next/server/app/api/settings/sector-suggestions/route.js +3 -3
  83. package/.next/standalone/.next/server/app/api/settings/sector-suggestions/route.js.nft.json +1 -1
  84. package/.next/standalone/.next/server/app/api/setup-profile/route.js +2 -2
  85. package/.next/standalone/.next/server/app/api/setup-profile/route.js.nft.json +1 -1
  86. package/.next/standalone/.next/server/app/api/social/crm/route.js +1 -1
  87. package/.next/standalone/.next/server/app/api/social/crm/route.js.nft.json +1 -1
  88. package/.next/standalone/.next/server/app/api/social/messages/route.js +1 -1
  89. package/.next/standalone/.next/server/app/api/social/messages/route.js.nft.json +1 -1
  90. package/.next/standalone/.next/server/app/api/social/route.js +2 -2
  91. package/.next/standalone/.next/server/app/api/social/route.js.nft.json +1 -1
  92. package/.next/standalone/.next/server/app/api/unlock/route.js +2 -2
  93. package/.next/standalone/.next/server/app/api/unlock/route.js.nft.json +1 -1
  94. package/.next/standalone/.next/server/app/api/update/route.js.nft.json +1 -1
  95. package/.next/standalone/.next/server/app/api/update-images/route.js +2 -2
  96. package/.next/standalone/.next/server/app/api/update-images/route.js.nft.json +1 -1
  97. package/.next/standalone/.next/server/app/api/users/route.js +2 -2
  98. package/.next/standalone/.next/server/app/api/users/route.js.nft.json +1 -1
  99. package/.next/standalone/.next/server/app/avatars/[file]/route.js +1 -1
  100. package/.next/standalone/.next/server/app/avatars/[file]/route.js.nft.json +1 -1
  101. package/.next/standalone/.next/server/app/import/page.js +1 -1
  102. package/.next/standalone/.next/server/app/import/page.js.nft.json +1 -1
  103. package/.next/standalone/.next/server/app/import/page_client-reference-manifest.js +1 -1
  104. package/.next/standalone/.next/server/app/import.html +1 -1
  105. package/.next/standalone/.next/server/app/import.rsc +32 -24
  106. package/.next/standalone/.next/server/app/import.segments/_full.segment.rsc +32 -24
  107. package/.next/standalone/.next/server/app/import.segments/_tree.segment.rsc +2 -2
  108. package/.next/standalone/.next/server/app/import.segments/import/__PAGE__.segment.rsc +23 -18
  109. package/.next/standalone/.next/server/app/index.html +1 -1
  110. package/.next/standalone/.next/server/app/index.rsc +29 -22
  111. package/.next/standalone/.next/server/app/index.segments/__PAGE__.segment.rsc +20 -15
  112. package/.next/standalone/.next/server/app/index.segments/_full.segment.rsc +29 -22
  113. package/.next/standalone/.next/server/app/index.segments/_tree.segment.rsc +2 -2
  114. package/.next/standalone/.next/server/app/launch/page.js +1 -1
  115. package/.next/standalone/.next/server/app/launch/page.js.nft.json +1 -1
  116. package/.next/standalone/.next/server/app/launch/page_client-reference-manifest.js +1 -1
  117. package/.next/standalone/.next/server/app/launch.html +2 -2
  118. package/.next/standalone/.next/server/app/launch.rsc +32 -24
  119. package/.next/standalone/.next/server/app/launch.segments/_full.segment.rsc +32 -24
  120. package/.next/standalone/.next/server/app/launch.segments/_tree.segment.rsc +2 -2
  121. package/.next/standalone/.next/server/app/launch.segments/launch/__PAGE__.segment.rsc +23 -18
  122. package/.next/standalone/.next/server/app/page.js +1 -1
  123. package/.next/standalone/.next/server/app/page.js.nft.json +1 -1
  124. package/.next/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
  125. package/.next/standalone/.next/server/app/paths/page.js +1 -1
  126. package/.next/standalone/.next/server/app/paths/page.js.nft.json +1 -1
  127. package/.next/standalone/.next/server/app/paths/page_client-reference-manifest.js +1 -1
  128. package/.next/standalone/.next/server/app/paths.html +1 -1
  129. package/.next/standalone/.next/server/app/paths.rsc +32 -24
  130. package/.next/standalone/.next/server/app/paths.segments/_full.segment.rsc +32 -24
  131. package/.next/standalone/.next/server/app/paths.segments/_tree.segment.rsc +2 -2
  132. package/.next/standalone/.next/server/app/paths.segments/paths/__PAGE__.segment.rsc +21 -18
  133. package/.next/standalone/.next/server/app/profile/page.js +1 -1
  134. package/.next/standalone/.next/server/app/profile/page.js.nft.json +1 -1
  135. package/.next/standalone/.next/server/app/profile/page_client-reference-manifest.js +1 -1
  136. package/.next/standalone/.next/server/app/profile.html +1 -1
  137. package/.next/standalone/.next/server/app/profile.rsc +32 -24
  138. package/.next/standalone/.next/server/app/profile.segments/_full.segment.rsc +32 -24
  139. package/.next/standalone/.next/server/app/profile.segments/_tree.segment.rsc +2 -2
  140. package/.next/standalone/.next/server/app/profile.segments/profile/__PAGE__.segment.rsc +23 -18
  141. package/.next/standalone/.next/server/app/queue/page.js +1 -1
  142. package/.next/standalone/.next/server/app/queue/page.js.nft.json +1 -1
  143. package/.next/standalone/.next/server/app/queue/page_client-reference-manifest.js +1 -1
  144. package/.next/standalone/.next/server/app/queue.html +1 -1
  145. package/.next/standalone/.next/server/app/queue.rsc +32 -24
  146. package/.next/standalone/.next/server/app/queue.segments/_full.segment.rsc +32 -24
  147. package/.next/standalone/.next/server/app/queue.segments/_tree.segment.rsc +2 -2
  148. package/.next/standalone/.next/server/app/queue.segments/queue/__PAGE__.segment.rsc +20 -18
  149. package/.next/standalone/.next/server/app/scores/page.js +1 -1
  150. package/.next/standalone/.next/server/app/scores/page.js.nft.json +1 -1
  151. package/.next/standalone/.next/server/app/scores/page_client-reference-manifest.js +1 -1
  152. package/.next/standalone/.next/server/app/scores.html +1 -1
  153. package/.next/standalone/.next/server/app/scores.rsc +32 -24
  154. package/.next/standalone/.next/server/app/scores.segments/_full.segment.rsc +32 -24
  155. package/.next/standalone/.next/server/app/scores.segments/_tree.segment.rsc +2 -2
  156. package/.next/standalone/.next/server/app/scores.segments/scores/__PAGE__.segment.rsc +23 -18
  157. package/.next/standalone/.next/server/app/settings/page.js +1 -1
  158. package/.next/standalone/.next/server/app/settings/page.js.nft.json +1 -1
  159. package/.next/standalone/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  160. package/.next/standalone/.next/server/app/settings.html +1 -1
  161. package/.next/standalone/.next/server/app/settings.rsc +32 -24
  162. package/.next/standalone/.next/server/app/settings.segments/_full.segment.rsc +32 -24
  163. package/.next/standalone/.next/server/app/settings.segments/_tree.segment.rsc +2 -2
  164. package/.next/standalone/.next/server/app/settings.segments/settings/__PAGE__.segment.rsc +20 -18
  165. package/.next/standalone/.next/server/app/setup/page.js +1 -1
  166. package/.next/standalone/.next/server/app/setup/page.js.nft.json +1 -1
  167. package/.next/standalone/.next/server/app/setup/page_client-reference-manifest.js +1 -1
  168. package/.next/standalone/.next/server/app/setup.html +1 -1
  169. package/.next/standalone/.next/server/app/setup.rsc +32 -24
  170. package/.next/standalone/.next/server/app/setup.segments/_full.segment.rsc +32 -24
  171. package/.next/standalone/.next/server/app/setup.segments/_tree.segment.rsc +2 -2
  172. package/.next/standalone/.next/server/app/setup.segments/setup/__PAGE__.segment.rsc +21 -18
  173. package/.next/standalone/.next/server/app/social/page.js +1 -1
  174. package/.next/standalone/.next/server/app/social/page.js.nft.json +1 -1
  175. package/.next/standalone/.next/server/app/social/page_client-reference-manifest.js +1 -1
  176. package/.next/standalone/.next/server/app/social.html +1 -1
  177. package/.next/standalone/.next/server/app/social.rsc +32 -24
  178. package/.next/standalone/.next/server/app/social.segments/_full.segment.rsc +32 -24
  179. package/.next/standalone/.next/server/app/social.segments/_tree.segment.rsc +2 -2
  180. package/.next/standalone/.next/server/app/social.segments/social/__PAGE__.segment.rsc +23 -18
  181. package/.next/standalone/.next/server/app-paths-manifest.json +3 -0
  182. package/.next/standalone/.next/server/chunks/[root-of-the-server]__00la_y0._.js +1 -1
  183. package/.next/standalone/.next/server/chunks/[root-of-the-server]__05_3-22._.js +1 -1
  184. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__15wc9e-._.js → [root-of-the-server]__063s0x7._.js} +2 -2
  185. package/.next/standalone/.next/server/chunks/[root-of-the-server]__066rab1._.js +7 -0
  186. package/.next/standalone/.next/server/chunks/[root-of-the-server]__07t47cm._.js +1 -1
  187. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__13dx4sd._.js → [root-of-the-server]__0_4y8z7._.js} +3 -3
  188. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0cj5jqc._.js +1 -1
  189. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0e0fei3._.js +1 -1
  190. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0fooke1._.js +7 -0
  191. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0ljnyho._.js +1 -1
  192. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0o5-tcg._.js +1 -1
  193. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0qrnous._.js +1 -1
  194. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0t3v1a1._.js +1 -1
  195. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0t6y79e._.js +7 -0
  196. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0wmexuc._.js +1 -1
  197. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0x29muh._.js +7 -0
  198. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0xu34sz._.js +1 -1
  199. package/.next/standalone/.next/server/chunks/[root-of-the-server]__133knx1._.js +1 -1
  200. package/.next/standalone/.next/server/chunks/[root-of-the-server]__15-17hl._.js +1 -1
  201. package/.next/standalone/.next/server/chunks/[root-of-the-server]__19b7mig._.js +1 -1
  202. package/.next/standalone/.next/server/chunks/[root-of-the-server]__1a_6x37._.js +8 -0
  203. package/.next/standalone/.next/server/chunks/[root-of-the-server]__1an_8pa._.js +7 -0
  204. package/.next/standalone/.next/server/chunks/[root-of-the-server]__1bbcwub._.js +1 -1
  205. package/.next/standalone/.next/server/chunks/[root-of-the-server]__1ducpz2._.js +3 -0
  206. package/.next/standalone/.next/server/chunks/[root-of-the-server]__1eris29._.js +1 -1
  207. package/.next/standalone/.next/server/chunks/[root-of-the-server]__1gjo_cq._.js +1 -1
  208. package/.next/standalone/.next/server/chunks/[root-of-the-server]__1qcm08_._.js +1 -1
  209. package/.next/standalone/.next/server/chunks/[root-of-the-server]__1tir0vc._.js +1 -1
  210. package/.next/standalone/.next/server/chunks/[root-of-the-server]__1w25q0m._.js +1 -1
  211. package/.next/standalone/.next/server/chunks/[root-of-the-server]__1xhyinn._.js +3 -0
  212. package/.next/standalone/.next/server/chunks/[root-of-the-server]__20rwfdw._.js +1 -1
  213. package/.next/standalone/.next/server/chunks/_02twlca._.js +1 -1
  214. package/.next/standalone/.next/server/chunks/_072jl0y._.js +1 -1
  215. package/.next/standalone/.next/server/chunks/_0lw8_i0._.js +1 -1
  216. package/.next/standalone/.next/server/chunks/_0sqqpzb._.js +3 -0
  217. package/.next/standalone/.next/server/chunks/_1_fynia._.js +7 -7
  218. package/.next/standalone/.next/server/chunks/_1fn30_l._.js +1 -1
  219. package/.next/standalone/.next/server/chunks/_1itd1o_._.js +1 -1
  220. package/.next/standalone/.next/server/chunks/_1iwkh8t._.js +1 -1
  221. package/.next/standalone/.next/server/chunks/_next-internal_server_app_api_data_backup_route_actions_0zoj04p.js +3 -0
  222. package/.next/standalone/.next/server/chunks/_next-internal_server_app_api_data_csv_route_actions_0l6m7lg.js +3 -0
  223. package/.next/standalone/.next/server/chunks/_next-internal_server_app_api_data_restore_route_actions_0-b05bv.js +3 -0
  224. package/.next/standalone/.next/server/chunks/lib_02iz_9q._.js +4 -0
  225. package/.next/standalone/.next/server/chunks/lib_05agvk3._.js +4 -0
  226. package/.next/standalone/.next/server/chunks/lib_0v84u66._.js +4 -0
  227. package/.next/standalone/.next/server/chunks/lib_db-client_0_dch35.js +174 -0
  228. package/.next/standalone/.next/server/chunks/lib_linkedin-export_12imqxg.js +1 -1
  229. package/.next/standalone/.next/server/chunks/lib_rpc_005abye.js +3 -0
  230. package/.next/standalone/.next/server/chunks/lib_rpc_0b17r6v.js +3 -0
  231. package/.next/standalone/.next/server/chunks/lib_rpc_0c9d9ti.js +7 -0
  232. package/.next/standalone/.next/server/chunks/lib_rpc_0doq0t-.js +3 -0
  233. package/.next/standalone/.next/server/chunks/lib_rpc_0fd2rlw.js +3 -0
  234. package/.next/standalone/.next/server/chunks/lib_rpc_0is4qoc.js +3 -0
  235. package/.next/standalone/.next/server/chunks/lib_rpc_0jnfp2e.js +3 -0
  236. package/.next/standalone/.next/server/chunks/lib_rpc_0nef_n7.js +3 -0
  237. package/.next/standalone/.next/server/chunks/lib_rpc_0plrzra.js +3 -0
  238. package/.next/standalone/.next/server/chunks/lib_rpc_13a4m0c.js +3 -0
  239. package/.next/standalone/.next/server/chunks/lib_rpc_1if17c-.js +3 -0
  240. package/.next/standalone/.next/server/chunks/lib_rpc_1j-zw7v.js +3 -0
  241. package/.next/standalone/.next/server/chunks/lib_rpc_1sngt-q.js +3 -0
  242. package/.next/standalone/.next/server/chunks/lib_rpc_1v2sgme.js +3 -0
  243. package/.next/standalone/.next/server/chunks/lib_rpc_1vh-tgx.js +3 -0
  244. package/.next/standalone/.next/server/chunks/lib_rpc_1zaubz7.js +3 -0
  245. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0qd8pzm._.js +3 -0
  246. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0qdeuyo._.js → [root-of-the-server]__1-012q1._.js} +2 -2
  247. package/.next/standalone/.next/server/chunks/ssr/_01o3i5y._.js +7 -0
  248. package/.next/standalone/.next/server/chunks/ssr/_02sband._.js +7 -0
  249. package/.next/standalone/.next/server/chunks/ssr/_06rgzfh._.js +3 -0
  250. package/.next/standalone/.next/server/chunks/ssr/_07zb7lu._.js +3 -0
  251. package/.next/standalone/.next/server/chunks/ssr/_0_79idq._.js +3 -0
  252. package/.next/standalone/.next/server/chunks/ssr/_0gy11ar._.js +3 -0
  253. package/.next/standalone/.next/server/chunks/ssr/_0hb-dhy._.js +3 -0
  254. package/.next/standalone/.next/server/chunks/ssr/_14nxd3q._.js +3 -0
  255. package/.next/standalone/.next/server/chunks/ssr/_189g8lg._.js +3 -0
  256. package/.next/standalone/.next/server/chunks/ssr/_1f_n00p._.js +1 -1
  257. package/.next/standalone/.next/server/chunks/ssr/_1fm1ih_._.js +2 -2
  258. package/.next/standalone/.next/server/chunks/ssr/_1k2nmbw._.js +2 -2
  259. package/.next/standalone/.next/server/chunks/ssr/_1k9qfsk._.js +3 -0
  260. package/.next/standalone/.next/server/chunks/ssr/app_141w189._.js +1 -1
  261. package/.next/standalone/.next/server/chunks/ssr/app_components_0t908t-._.js +1 -1
  262. package/.next/standalone/.next/server/chunks/ssr/app_components_0uuff77._.js +25 -2
  263. package/.next/standalone/.next/server/chunks/ssr/app_components_1j3q-h5._.js +25 -2
  264. package/.next/standalone/.next/server/chunks/ssr/app_components_CompanyScores_1g0mytz.js +1 -1
  265. package/.next/standalone/.next/server/chunks/ssr/app_import_page_1fmu6_l.js +1 -1
  266. package/.next/standalone/.next/server/chunks/ssr/app_launch_page_19t0dyd.js +1 -1
  267. package/.next/standalone/.next/server/chunks/ssr/app_page_1fazqbf.js +25 -13
  268. package/.next/standalone/.next/server/chunks/ssr/app_paths_page_1ol90m7.js +2 -2
  269. package/.next/standalone/.next/server/chunks/ssr/app_profile_page_0u3-l5y.js +1 -1
  270. package/.next/standalone/.next/server/chunks/ssr/app_queue_page_0c6znd6.js +11 -11
  271. package/.next/standalone/.next/server/chunks/ssr/app_settings_page_1f8mjj_.js +1 -1
  272. package/.next/standalone/.next/server/chunks/ssr/app_setup_page_1-282zx.js +12 -13
  273. package/.next/standalone/.next/server/chunks/ssr/app_social_page_0h7zxda.js +1 -1
  274. package/.next/standalone/.next/server/chunks/ssr/{lib_1c4ieuw._.js → lib_csv_1ttiu_h.js} +2 -2
  275. package/.next/standalone/.next/server/chunks/ssr/lib_galaxy-lab_108_lu-.js +1 -1
  276. package/.next/standalone/.next/server/chunks/ssr/lib_separation_1305zsx.js +3 -0
  277. package/.next/standalone/.next/server/edge/chunks/[root-of-the-server]__0pco7a6._.js +1 -1
  278. package/.next/standalone/.next/server/middleware-build-manifest.js +3 -3
  279. package/.next/standalone/.next/server/middleware-manifest.json +5 -5
  280. package/.next/standalone/.next/server/pages/404.html +1 -1
  281. package/.next/standalone/.next/server/pages/500.html +1 -1
  282. package/.next/standalone/.next/server/server-reference-manifest.js +1 -1
  283. package/.next/standalone/.next/server/server-reference-manifest.json +1 -1
  284. package/.next/standalone/.next/static/chunks/03-_esd2x_yk6.js +1 -0
  285. package/.next/standalone/.next/static/chunks/03-demj2iy-0p.js +44 -0
  286. package/.next/standalone/.next/static/chunks/0_1r-3csplxnj.js +1 -0
  287. package/.next/standalone/.next/static/chunks/0an_b6zi1r_qq.js +5 -0
  288. package/.next/standalone/.next/static/chunks/0e3g0sil79cus.js +21 -0
  289. package/.next/standalone/.next/static/chunks/0kscsqnvfq3-r.js +1 -0
  290. package/.next/standalone/.next/static/chunks/0p3g5tfostsep.js +7 -0
  291. package/.next/standalone/.next/static/chunks/0zd0t7e60bn4z.js +1 -0
  292. package/.next/standalone/.next/static/chunks/163b-20vwa06i.js +34 -0
  293. package/.next/standalone/.next/static/chunks/{0ws7zy0w57ufi.js → 1eyajb9ntzlrl.js} +1 -1
  294. package/.next/standalone/.next/static/chunks/1pa-2v1ajvrko.js +1 -0
  295. package/.next/standalone/.next/static/chunks/1qbjermbf68xj.js +1 -0
  296. package/.next/standalone/.next/static/chunks/1z9lb-dbcg4aa.js +1 -0
  297. package/.next/standalone/.next/static/chunks/23_1z47al92nz.js +57 -0
  298. package/.next/standalone/.next/static/chunks/260bomtr214m8.js +34 -0
  299. package/.next/standalone/.next/static/chunks/2eo9pqq9gay3r.js +34 -0
  300. package/.next/standalone/.next/static/chunks/2xk2ra4piiuod.js +34 -0
  301. package/.next/standalone/.next/static/chunks/2z1-q0_vunbql.js +2 -0
  302. package/.next/standalone/.next/static/chunks/2zf4jmz9l3li2.js +1 -0
  303. package/.next/standalone/.next/static/chunks/34g73qhayuevu.js +1 -0
  304. package/.next/standalone/.next/static/chunks/3b0-14cxqsprt.js +1 -0
  305. package/.next/standalone/.next/static/chunks/3jarus1_38s2z.js +1 -0
  306. package/.next/standalone/.next/static/chunks/3ssu341hav_sq.css +3 -0
  307. package/.next/standalone/.next/static/chunks/3v1qd3sqhqn0d.js +1 -0
  308. package/.next/standalone/.next/static/chunks/43pg2sursiypz.js +1 -0
  309. package/.next/standalone/.next/static/chunks/44yn0tcd9dfk3.js +1 -0
  310. package/.next/standalone/CHANGELOG.md +143 -0
  311. package/.next/standalone/README.md +71 -49
  312. package/.next/standalone/SECURITY.md +17 -11
  313. package/.next/standalone/app/api/data/backup/route.js +25 -0
  314. package/.next/standalone/app/api/data/csv/route.js +74 -0
  315. package/.next/standalone/app/api/data/export/route.js +1 -1
  316. package/.next/standalone/app/api/data/restore/route.js +48 -0
  317. package/.next/standalone/app/api/data/reveal/route.js +19 -6
  318. package/.next/standalone/app/api/data/route.js +15 -4
  319. package/.next/standalone/app/api/ingest/route.js +1 -1
  320. package/.next/standalone/app/api/queue/route.js +1 -1
  321. package/.next/standalone/app/api/scraper/route.js +120 -32
  322. package/.next/standalone/app/api/social/crm/route.js +2 -1
  323. package/.next/standalone/app/components/AppHeader.js +20 -16
  324. package/.next/standalone/app/components/AppTabs.js +8 -8
  325. package/.next/standalone/app/components/AutoScanButton.js +2 -2
  326. package/.next/standalone/app/components/Avatar.js +1 -1
  327. package/.next/standalone/app/components/ChainView.js +184 -112
  328. package/.next/standalone/app/components/CirclePanel.js +16 -16
  329. package/.next/standalone/app/components/ClusterSpinner.js +64 -0
  330. package/.next/standalone/app/components/CompanyScores.js +20 -20
  331. package/.next/standalone/app/components/EmptyState.js +39 -18
  332. package/.next/standalone/app/components/FieldStep.js +15 -13
  333. package/.next/standalone/app/components/FilterPanel.js +17 -17
  334. package/.next/standalone/app/components/ForceGraph.js +49 -14
  335. package/.next/standalone/app/components/GalaxyLab.js +33 -33
  336. package/.next/standalone/app/components/GridView.js +18 -18
  337. package/.next/standalone/app/components/LegacyScoresCard.js +10 -11
  338. package/.next/standalone/app/components/LinkedInLimits.js +24 -19
  339. package/.next/standalone/app/components/LiquidGlass.js +99 -0
  340. package/.next/standalone/app/components/ListView.js +20 -20
  341. package/.next/standalone/app/components/MapControls.js +5 -5
  342. package/.next/standalone/app/components/MappingProgress.js +16 -16
  343. package/.next/standalone/app/components/NoteDetail.js +13 -13
  344. package/.next/standalone/app/components/OnboardingGate.js +4 -4
  345. package/.next/standalone/app/components/OutlinkQuest.js +25 -25
  346. package/.next/standalone/app/components/PathsAnalyzer.js +37 -36
  347. package/.next/standalone/app/components/PeopleMap.js +21 -21
  348. package/.next/standalone/app/components/RingsView.js +11 -11
  349. package/.next/standalone/app/components/ScanRadar.js +84 -39
  350. package/.next/standalone/app/components/ScanStatusBar.js +22 -18
  351. package/.next/standalone/app/components/ScanTrail.js +8 -5
  352. package/.next/standalone/app/components/SeparationView.js +168 -104
  353. package/.next/standalone/app/components/Sidebar.js +161 -161
  354. package/.next/standalone/app/components/StaleServerBanner.js +4 -4
  355. package/.next/standalone/app/components/TheirCircle.js +26 -26
  356. package/.next/standalone/app/components/ThemeDefs.js +42 -0
  357. package/.next/standalone/app/components/ThemeLoader.js +20 -1
  358. package/.next/standalone/app/components/UpdatePanel.js +22 -22
  359. package/.next/standalone/app/components/UserProvider.js +22 -15
  360. package/.next/standalone/app/components/settings/AppearanceSection.js +47 -24
  361. package/.next/standalone/app/components/settings/DataSection.js +276 -109
  362. package/.next/standalone/app/components/settings/NetworkHealthSection.js +13 -13
  363. package/.next/standalone/app/components/settings/SectorPicker.js +12 -12
  364. package/.next/standalone/app/components/settings/SectorSection.js +13 -14
  365. package/.next/standalone/app/components/settings/TierSection.js +9 -9
  366. package/.next/standalone/app/components/settings/TitleSection.js +11 -11
  367. package/.next/standalone/app/components/settings/UsageSection.js +313 -0
  368. package/.next/standalone/app/components/ui.js +8 -8
  369. package/.next/standalone/app/globals.css +159 -2
  370. package/.next/standalone/app/import/page.js +94 -38
  371. package/.next/standalone/app/launch/page.js +5 -5
  372. package/.next/standalone/app/layout.js +6 -2
  373. package/.next/standalone/app/page.js +53 -37
  374. package/.next/standalone/app/paths/page.js +63 -63
  375. package/.next/standalone/app/profile/page.js +58 -58
  376. package/.next/standalone/app/queue/page.js +54 -54
  377. package/.next/standalone/app/scores/page.js +2 -2
  378. package/.next/standalone/app/settings/page.js +16 -13
  379. package/.next/standalone/app/setup/page.js +221 -125
  380. package/.next/standalone/app/social/Crm.js +63 -62
  381. package/.next/standalone/app/social/SocialHub.js +22 -22
  382. package/.next/standalone/app/social/Thread.js +7 -7
  383. package/.next/standalone/app/social/page.js +2 -2
  384. package/.next/standalone/lib/backups.js +458 -0
  385. package/.next/standalone/lib/chain-layout.js +32 -0
  386. package/.next/standalone/lib/csv-store.js +131 -0
  387. package/.next/standalone/lib/csv.js +137 -39
  388. package/.next/standalone/lib/data-folder.js +19 -3
  389. package/.next/standalone/lib/data-import.js +5 -2
  390. package/.next/standalone/lib/db-client.js +78 -20
  391. package/.next/standalone/lib/demo.js +5 -4
  392. package/.next/standalone/lib/galaxy-export.js +9 -2
  393. package/.next/standalone/lib/galaxy-lab.js +19 -5
  394. package/.next/standalone/lib/galaxy-layouts.js +43 -0
  395. package/.next/standalone/lib/gate.js +10 -4
  396. package/.next/standalone/lib/ingest.js +1 -1
  397. package/.next/standalone/lib/linkedin-limits.js +212 -11
  398. package/.next/standalone/lib/liquid-glass.js +59 -0
  399. package/.next/standalone/lib/notifications.js +13 -0
  400. package/.next/standalone/lib/scan-pace.js +11 -0
  401. package/.next/standalone/lib/scan-progress.js +20 -0
  402. package/.next/standalone/lib/scan-risk.js +44 -0
  403. package/.next/standalone/lib/scanner-setup.js +97 -15
  404. package/.next/standalone/lib/scraper-client.js +17 -3
  405. package/.next/standalone/lib/search-risk.js +7 -3
  406. package/.next/standalone/lib/settings-client.js +5 -3
  407. package/.next/standalone/lib/settings.js +10 -0
  408. package/.next/standalone/lib/social-store.js +3 -2
  409. package/.next/standalone/lib/synced-setting.js +46 -0
  410. package/.next/standalone/lib/theme-store.js +42 -10
  411. package/.next/standalone/lib/themes.js +111 -21
  412. package/.next/standalone/lib/usage.js +195 -0
  413. package/.next/standalone/package-lock.json +2 -2
  414. package/.next/standalone/package.json +1 -1
  415. package/.next/standalone/scripts/scrape.py +26 -2
  416. package/.next/static/chunks/03-_esd2x_yk6.js +1 -0
  417. package/.next/static/chunks/03-demj2iy-0p.js +44 -0
  418. package/.next/static/chunks/0_1r-3csplxnj.js +1 -0
  419. package/.next/static/chunks/0an_b6zi1r_qq.js +5 -0
  420. package/.next/static/chunks/0e3g0sil79cus.js +21 -0
  421. package/.next/static/chunks/0kscsqnvfq3-r.js +1 -0
  422. package/.next/static/chunks/0p3g5tfostsep.js +7 -0
  423. package/.next/static/chunks/0zd0t7e60bn4z.js +1 -0
  424. package/.next/static/chunks/163b-20vwa06i.js +34 -0
  425. package/.next/static/chunks/{0ws7zy0w57ufi.js → 1eyajb9ntzlrl.js} +1 -1
  426. package/.next/static/chunks/1pa-2v1ajvrko.js +1 -0
  427. package/.next/static/chunks/1qbjermbf68xj.js +1 -0
  428. package/.next/static/chunks/1z9lb-dbcg4aa.js +1 -0
  429. package/.next/static/chunks/23_1z47al92nz.js +57 -0
  430. package/.next/static/chunks/260bomtr214m8.js +34 -0
  431. package/.next/static/chunks/2eo9pqq9gay3r.js +34 -0
  432. package/.next/static/chunks/2xk2ra4piiuod.js +34 -0
  433. package/.next/static/chunks/2z1-q0_vunbql.js +2 -0
  434. package/.next/static/chunks/2zf4jmz9l3li2.js +1 -0
  435. package/.next/static/chunks/34g73qhayuevu.js +1 -0
  436. package/.next/static/chunks/3b0-14cxqsprt.js +1 -0
  437. package/.next/static/chunks/3jarus1_38s2z.js +1 -0
  438. package/.next/static/chunks/3ssu341hav_sq.css +3 -0
  439. package/.next/static/chunks/3v1qd3sqhqn0d.js +1 -0
  440. package/.next/static/chunks/43pg2sursiypz.js +1 -0
  441. package/.next/static/chunks/44yn0tcd9dfk3.js +1 -0
  442. package/CHANGELOG.md +143 -0
  443. package/README.md +71 -49
  444. package/SECURITY.md +17 -11
  445. package/lib/backups.js +458 -0
  446. package/lib/chain-layout.js +32 -0
  447. package/lib/csv-store.js +131 -0
  448. package/lib/csv.js +137 -39
  449. package/lib/data-folder.js +19 -3
  450. package/lib/data-import.js +5 -2
  451. package/lib/db-client.js +78 -20
  452. package/lib/demo.js +5 -4
  453. package/lib/galaxy-export.js +9 -2
  454. package/lib/galaxy-lab.js +19 -5
  455. package/lib/galaxy-layouts.js +43 -0
  456. package/lib/gate.js +10 -4
  457. package/lib/ingest.js +1 -1
  458. package/lib/linkedin-limits.js +212 -11
  459. package/lib/liquid-glass.js +59 -0
  460. package/lib/notifications.js +13 -0
  461. package/lib/scan-pace.js +11 -0
  462. package/lib/scan-progress.js +20 -0
  463. package/lib/scan-risk.js +44 -0
  464. package/lib/scanner-setup.js +97 -15
  465. package/lib/scraper-client.js +17 -3
  466. package/lib/search-risk.js +7 -3
  467. package/lib/settings-client.js +5 -3
  468. package/lib/settings.js +10 -0
  469. package/lib/social-store.js +3 -2
  470. package/lib/synced-setting.js +46 -0
  471. package/lib/theme-store.js +42 -10
  472. package/lib/themes.js +111 -21
  473. package/lib/usage.js +195 -0
  474. package/package.json +1 -1
  475. package/scripts/scrape.py +26 -2
  476. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0-rnla2._.js +0 -3
  477. package/.next/standalone/.next/server/chunks/[root-of-the-server]__14ou7j5._.js +0 -3
  478. package/.next/standalone/.next/server/chunks/[root-of-the-server]__16iu0hv._.js +0 -3
  479. package/.next/standalone/.next/server/chunks/[root-of-the-server]__1kbl21f._.js +0 -3
  480. package/.next/standalone/.next/server/chunks/[root-of-the-server]__1rphsdk._.js +0 -3
  481. package/.next/standalone/.next/server/chunks/lib_0851sk0._.js +0 -8
  482. package/.next/standalone/.next/server/chunks/lib_1q7p2ro._.js +0 -8
  483. package/.next/standalone/.next/server/chunks/lib_1r6l86l._.js +0 -8
  484. package/.next/standalone/.next/server/chunks/lib_db-client_15le7cw.js +0 -174
  485. package/.next/standalone/.next/server/chunks/lib_rpc_04s8mzr.js +0 -3
  486. package/.next/standalone/.next/server/chunks/lib_rpc_053z7as.js +0 -3
  487. package/.next/standalone/.next/server/chunks/lib_rpc_0b_-2te.js +0 -3
  488. package/.next/standalone/.next/server/chunks/lib_rpc_0dhbxdm.js +0 -3
  489. package/.next/standalone/.next/server/chunks/lib_rpc_0dxlk31.js +0 -3
  490. package/.next/standalone/.next/server/chunks/lib_rpc_0f8b-qc.js +0 -3
  491. package/.next/standalone/.next/server/chunks/lib_rpc_0pzie7_.js +0 -3
  492. package/.next/standalone/.next/server/chunks/lib_rpc_0r76fq_.js +0 -3
  493. package/.next/standalone/.next/server/chunks/lib_rpc_0ut7pjp.js +0 -3
  494. package/.next/standalone/.next/server/chunks/lib_rpc_15zyqaz.js +0 -3
  495. package/.next/standalone/.next/server/chunks/lib_rpc_18zpjtq.js +0 -3
  496. package/.next/standalone/.next/server/chunks/lib_rpc_1a8xkiz.js +0 -3
  497. package/.next/standalone/.next/server/chunks/lib_rpc_1e_55xo.js +0 -3
  498. package/.next/standalone/.next/server/chunks/lib_rpc_1oxfd1_.js +0 -3
  499. package/.next/standalone/.next/server/chunks/lib_rpc_1s0lod0.js +0 -3
  500. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__08oxiqh._.js +0 -3
  501. package/.next/standalone/.next/server/chunks/ssr/_03l7vge._.js +0 -3
  502. package/.next/standalone/.next/server/chunks/ssr/_08g31gm._.js +0 -3
  503. package/.next/standalone/.next/server/chunks/ssr/_0gk_ofx._.js +0 -3
  504. package/.next/standalone/.next/server/chunks/ssr/_0nwsf93._.js +0 -3
  505. package/.next/standalone/.next/server/chunks/ssr/_0vho1lb._.js +0 -3
  506. package/.next/standalone/.next/server/chunks/ssr/_1-658fq._.js +0 -3
  507. package/.next/standalone/.next/server/chunks/ssr/_1bc46kz._.js +0 -3
  508. package/.next/standalone/.next/server/chunks/ssr/_2105jz8._.js +0 -3
  509. package/.next/standalone/.next/server/chunks/ssr/app_components_settings_SectorPicker_1c-29qw.js +0 -3
  510. package/.next/standalone/.next/static/chunks/02pq76u7y4v9-.js +0 -22
  511. package/.next/standalone/.next/static/chunks/0cmq0exd4d0h9.js +0 -1
  512. package/.next/standalone/.next/static/chunks/0i02yxppzds1o.js +0 -1
  513. package/.next/standalone/.next/static/chunks/0m_p4k-q2qh--.js +0 -1
  514. package/.next/standalone/.next/static/chunks/0oyslj62jkubd.js +0 -1
  515. package/.next/standalone/.next/static/chunks/0vo-l8hxneba6.css +0 -3
  516. package/.next/standalone/.next/static/chunks/0yh8z2tbrc5i_.js +0 -1
  517. package/.next/standalone/.next/static/chunks/17-rhp8sg4m1b.js +0 -44
  518. package/.next/standalone/.next/static/chunks/172e10mi-tpo_.js +0 -34
  519. package/.next/standalone/.next/static/chunks/1ei5vbe2uw6fl.js +0 -1
  520. package/.next/standalone/.next/static/chunks/1f7_pl_wq7lh3.js +0 -11
  521. package/.next/standalone/.next/static/chunks/1jzbe7zdx9vbj.js +0 -2
  522. package/.next/standalone/.next/static/chunks/1m3017gp790pw.js +0 -45
  523. package/.next/standalone/.next/static/chunks/1t20e8u0st7ep.js +0 -1
  524. package/.next/standalone/.next/static/chunks/2-ch9rm27eril.js +0 -11
  525. package/.next/standalone/.next/static/chunks/2ldv-v3s9yaif.js +0 -1
  526. package/.next/standalone/.next/static/chunks/3bp284gjf7dyq.js +0 -1
  527. package/.next/standalone/.next/static/chunks/3k1f6clbn3gj3.js +0 -7
  528. package/.next/standalone/.next/static/chunks/3l4t8je6iguzc.js +0 -1
  529. package/.next/standalone/.next/static/chunks/3tplzuc9jk-tl.js +0 -1
  530. package/.next/standalone/.next/static/chunks/42m0bqr8pbovz.js +0 -11
  531. package/.next/static/chunks/02pq76u7y4v9-.js +0 -22
  532. package/.next/static/chunks/0cmq0exd4d0h9.js +0 -1
  533. package/.next/static/chunks/0i02yxppzds1o.js +0 -1
  534. package/.next/static/chunks/0m_p4k-q2qh--.js +0 -1
  535. package/.next/static/chunks/0oyslj62jkubd.js +0 -1
  536. package/.next/static/chunks/0vo-l8hxneba6.css +0 -3
  537. package/.next/static/chunks/0yh8z2tbrc5i_.js +0 -1
  538. package/.next/static/chunks/17-rhp8sg4m1b.js +0 -44
  539. package/.next/static/chunks/172e10mi-tpo_.js +0 -34
  540. package/.next/static/chunks/1ei5vbe2uw6fl.js +0 -1
  541. package/.next/static/chunks/1f7_pl_wq7lh3.js +0 -11
  542. package/.next/static/chunks/1jzbe7zdx9vbj.js +0 -2
  543. package/.next/static/chunks/1m3017gp790pw.js +0 -45
  544. package/.next/static/chunks/1t20e8u0st7ep.js +0 -1
  545. package/.next/static/chunks/2-ch9rm27eril.js +0 -11
  546. package/.next/static/chunks/2ldv-v3s9yaif.js +0 -1
  547. package/.next/static/chunks/3bp284gjf7dyq.js +0 -1
  548. package/.next/static/chunks/3k1f6clbn3gj3.js +0 -7
  549. package/.next/static/chunks/3l4t8je6iguzc.js +0 -1
  550. package/.next/static/chunks/3tplzuc9jk-tl.js +0 -1
  551. package/.next/static/chunks/42m0bqr8pbovz.js +0 -11
  552. /package/.next/standalone/.next/static/{dQUvvVSXqbkEFC3-CNcwT → ZVpLBK-2vpllv2HxOFs2d}/_buildManifest.js +0 -0
  553. /package/.next/standalone/.next/static/{dQUvvVSXqbkEFC3-CNcwT → ZVpLBK-2vpllv2HxOFs2d}/_clientMiddlewareManifest.js +0 -0
  554. /package/.next/standalone/.next/static/{dQUvvVSXqbkEFC3-CNcwT → ZVpLBK-2vpllv2HxOFs2d}/_ssgManifest.js +0 -0
  555. /package/.next/static/{dQUvvVSXqbkEFC3-CNcwT → ZVpLBK-2vpllv2HxOFs2d}/_buildManifest.js +0 -0
  556. /package/.next/static/{dQUvvVSXqbkEFC3-CNcwT → ZVpLBK-2vpllv2HxOFs2d}/_clientMiddlewareManifest.js +0 -0
  557. /package/.next/static/{dQUvvVSXqbkEFC3-CNcwT → ZVpLBK-2vpllv2HxOFs2d}/_ssgManifest.js +0 -0
@@ -1,3 +0,0 @@
1
- module.exports=[803,59534,79663,31483,a=>{"use strict";var b=a.i(87924),c=a.i(72131),d=a.i(16874),e=a.i(9282),f=a.i(30889),g=a.i(54919);let h=["fan(s)","enthusiast(s)","lover(s)","junkie(s)","nerd(s)","buff(s)","addict(s)","hobbyist(s)","geek(s)","aficionado(s)"],i=[{key:"software",label:"Software & SaaS",group:"tech",kind:"function",words:["saas","b2b saas","paas","iaas","software as a service","software company","software companies","software startup(s)","software firm(s)","software vendor(s)","dev shop(s)"],roles:["software engineer(s)","software developer(s)","software engineering","swe","sde","full stack","fullstack","front end developer(s)","frontend developer(s)","front end engineer(s)","frontend engineer(s)","back end developer(s)","backend developer(s)","back end engineer(s)","backend engineer(s)","web developer(s)","mobile developer(s)","ios developer(s)","ios engineer(s)","android developer(s)","android engineer(s)","app developer(s)","devops","site reliability","sre","platform engineering","cloud engineer(s)","cloud architect(s)","solutions architect(s)","developer relations","devrel","developer advocate(s)","qa engineer(s)","sdet","test automation","javascript","typescript","kubernetes","open source"],names:["software"],companies:["microsoft","google","meta$","apple$","linkedin","salesforce","oracle$","adobe$","sap$","servicenow","workday","atlassian","hubspot","zoom$","zoom video","slack$","dropbox","box$","twilio","datadog","mongodb","github","gitlab","autodesk","intuit","docusign","zendesk","asana$","notion$","notion labs","figma","canva","airtable","monday com","squarespace","wix$","wix com","webflow","vercel","netlify","red hat","vmware","citrix","jetbrains","postman$","confluent","hashicorp","new relic","pagerduty","freshworks","zoho","calendly","clickup","smartsheet","retool","supabase","replit","procore","veeva","epic systems","klaviyo","rippling","gusto$","deel$","discord"]},{key:"ai-data",label:"AI & Data",group:"tech",kind:"function",words:["ai lab(s)","ai research lab(s)","ai startup(s)","ai company","ai companies"],roles:["artificial intelligence","machine learning","deep learning","reinforcement learning","generative ai","gen ai","genai","llm(s)","large language model(s)","nlp","natural language processing","computer vision","applied ai","head of ai","ai engineer(s)","ai engineering","ai researcher(s)","ai research","ai scientist(s)","ml engineer(s)","ml engineering","ml researcher(s)","ml scientist(s)","ml infrastructure","ml platform","mlops","machine learning engineer(s)","data science","data scientist(s)","data engineer(s)","data engineering","data analytics","data analyst(s)","analytics engineer(s)","big data","business intelligence","data warehouse","data warehousing","data governance","data platform(s)"],names:["ai"],companies:["openai","open ai","anthropic","cohere$","mistral$","hugging face","huggingface","databricks","snowflake$","palantir","nvidia","perplexity$","xai$","midjourney","runway ml","runwayml","datarobot","dataiku","alteryx","tableau","fivetran","dbt labs","weights & biases","labelbox","groq$","cerebras"],not:["neuro linguistic programming","nlp practitioner(s)","nlp coach","nlp coaches","llm in tax","llm in taxation","llm taxation"]},{key:"cybersecurity",label:"Cybersecurity",group:"tech",kind:"function",words:["cybersecurity company","cybersecurity companies","cybersecurity firm(s)","cybersecurity startup(s)","cybersecurity vendor(s)","cyber security firm(s)","managed security","mssp(s)"],roles:["cybersecurity","cyber security","cyber","infosec","information security","security engineer(s)","security analyst(s)","security architect(s)","security researcher(s)","security operations","soc analyst(s)","penetration tester(s)","penetration testing","pentester(s)","pen tester(s)","red team","blue team","appsec","application security","cloud security","network security","threat intelligence","threat hunter(s)","incident response","vulnerability management","vulnerability research","vulnerability researcher(s)","malware","ciso","zero trust","osint","dfir","cissp","oscp","ceh","comptia security","bug bounty","ethical hacker(s)","ethical hacking","devsecops","secops"],companies:["crowdstrike","palo alto networks","fortinet","okta","zscaler","sentinelone","cloudflare","proofpoint","rapid7","tenable","qualys","splunk","mandiant","cyberark","check point software","sophos","darktrace","wiz$","snyk","vanta$","drata","1password","lastpass","arctic wolf","huntress","mcafee","gen digital","trend micro","kaspersky","abnormal security","knowbe4","secureworks","recorded future","bishop fox","trail of bits","hackerone","bugcrowd","cisa$"],not:["cyber monday"]},{key:"telecom",label:"Telecom",group:"tech",kind:"industry",words:["telecom","telecoms","telecommunication(s)","telco(s)","wireless carrier(s)","mobile network(s)","5g","broadband","fiber optic(s)","fiber network(s)","rf engineer(s)","cell tower(s)","voip","unified communications","satellite communications"],companies:["at&t","verizon","t mobile","tmobile","sprint$","comcast","xfinity","charter communications","spectrum$","cox communications","lumen$","lumen technologies","centurylink","frontier communications","dish network","ericsson","nokia","cisco","juniper networks","qualcomm","american tower","crown castle","vodafone","telefonica","bt group","deutsche telekom","rogers communications","bell canada","telus","starlink","viasat","iridium"]},{key:"fintech",label:"Fintech & Payments",group:"finance",kind:"industry",words:["fintech","fin tech","payments","payment processing","merchant services","digital banking","neobank(s)","embedded finance","insurtech","regtech","wealthtech","buy now pay later","bnpl","card issuing","open banking","digital wallet(s)","mobile payments"],names:["pay"],companies:["stripe","paypal","venmo","square$","block$","cash app","plaid$","brex","ramp$","mercury$","chime$","affirm$","klarna","afterpay","marqeta","adyen","checkout com","sofi$","wise$","revolut","n26","nubank","monzo","bill com","expensify","carta$","fiserv","fis$","global payments","worldpay","visa$","mastercard","american express","amex$","discover financial","green dot","melio","payoneer","remitly","western union","moneygram","zelle","shift4","nuvei","paysafe","lithic","synctera","modern treasury","rapyd","dwolla","credit karma","nerdwallet","kalshi"],not:["pay per click","pay it forward"]},{key:"banking",label:"Banking & Lending",group:"finance",kind:"industry",words:["bank","banking","banker(s)","investment banking","investment banker(s)","commercial banking","commercial banker(s)","retail banking","community bank(s)","credit union(s)","bank teller(s)","loan officer(s)","mortgage(s)","mortgage lender(s)","mortgage lending","mortgage broker(s)","mortgage advisor(s)","mortgage underwriter(s)","lending","lender(s)","loan processor(s)","loan originator(s)","credit analyst(s)","nmls"],companies:["jpmorgan","jp morgan","j p morgan","chase$","chase bank","bank of america","wells fargo","citi$","citibank","citigroup","goldman sachs","morgan stanley","us bancorp","pnc","truist","capital one","td bank","td securities","hsbc","barclays","santander","bny","state street","fifth third","keybank","ally$","ally financial","navy federal","rocket mortgage","rocket companies","quicken loans","united wholesale mortgage","lendingtree","lendingclub","upstart$","lazard","evercore","jefferies","moelis","houlihan lokey","piper sandler","rbc","royal bank of canada","bmo","scotiabank","ubs$","credit suisse","deutsche bank","bnp paribas","mufg","societe generale","nomura","federal reserve","fdic$","freddie mac","fannie mae"],not:["coldwell banker","bankers life","food bank(s)","blood bank(s)","data bank(s)","sperm bank(s)","seed bank(s)","memory bank(s)","piggy bank(s)","question bank(s)","image bank(s)","time bank(s)","west bank","left bank","river bank(s)"]},{key:"vc-pe",label:"Venture Capital & Private Equity",group:"finance",kind:"industry",words:["venture capital","venture capitalist(s)","vc","vcs","vc fund(s)","venture fund(s)","venture partner(s)","private equity","growth equity","pe fund(s)","buyout(s)","leveraged buyout(s)","lbo","fund of funds","search fund(s)","venture studio(s)"],companies:["sequoia$","sequoia capital","andreessen horowitz","a16z","accel$","accel partners","kleiner perkins","greylock","lightspeed venture","general catalyst","founders fund","y combinator","yc$","techstars","500 startups","first round capital","insight partners","tiger global","thrive capital","khosla ventures","bessemer venture","ggv capital","nea$","new enterprise associates","battery ventures","union square ventures","softbank vision fund","blackstone$","kkr$","kohlberg kravis roberts","carlyle group","apollo global","tpg$","tpg capital","bain capital","warburg pincus","vista equity","thoma bravo","silver lake","advent international","hellman & friedman","general atlantic","ares management","blue owl","cvc capital","permira","l catterton","leonard green","clayton dubilier"],not:["vc backed","venture backed","pe backed","backed by"]},{key:"wealth",label:"Wealth & Asset Management",group:"finance",kind:"industry",words:["wealth management","wealth manager(s)","wealth advisor(s)","private wealth","private banking","financial advisor(s)","financial adviser(s)","financial planner(s)","financial planning","certified financial planner(s)","cfp","chfc","registered investment advisor(s)","investment advisor(s)","asset management","investment management","portfolio manager(s)","portfolio management","hedge fund(s)","family office(s)","retirement planning","cfa","cfa charterholder(s)","equity research","investment research","trader(s)","quantitative trader(s)","quant trader(s)","trading desk","prop trading","proprietary trading","equities","fixed income","derivatives","securities","finra","series 7","series 65","series 66"],companies:["blackrock","vanguard$","vanguard group","fidelity$","fidelity investments","charles schwab","schwab$","edward jones","ameriprise","raymond james","lpl financial","northwestern mutual","pimco","t rowe price","franklin templeton","invesco","capital group","wellington management","nuveen","bridgewater$","bridgewater associates","citadel$","citadel securities","two sigma","de shaw","d e shaw","renaissance technologies","millennium management","point72","jane street","hudson river trading","jump trading","optiver","susquehanna international","virtu financial","drw$","aqr","man group","elliott management","pershing square","robinhood","wealthfront","betterment","stifel"],not:["trader joe(s)","securities law","securities litigation","securities attorney(s)","securities lawyer(s)","social security"]},{key:"insurance",label:"Insurance",group:"finance",kind:"industry",words:["insurance","insurer(s)","insurtech","reinsurance","insurance underwriter(s)","claims adjuster(s)","insurance adjuster(s)","public adjuster(s)","actuary","actuaries","actuarial","p&c","property and casualty","annuity","annuities","cpcu","title insurance"],companies:["state farm","allstate","geico","progressive$","liberty mutual","nationwide$","usaa","farmers insurance","travelers$","hartford$","chubb","aig$","american international group","metlife","prudential","new york life","northwestern mutual","massmutual","mass mutual","aflac","oscar health","root insurance","humana","unitedhealth","aetna","cigna","anthem$","anthem blue cross","elevance","centene","molina healthcare","blue cross","bcbs","marsh$","marsh mclennan","aon$","willis towers watson","wtw$","gallagher$","arthur j gallagher","brown & brown","lockton","hub international","swiss re","munich re","assurant","erie insurance","american family insurance","primerica","globe life","mutual of omaha","guardian life","lincoln financial","transamerica","john hancock","pacific life","protective life","unum"]},{key:"accounting",label:"Accounting & Tax",group:"finance",kind:"function",words:["accounting firm(s)","cpa firm(s)","public accounting","tax preparation","external audit","audit & assurance","big four","big 4"],roles:["accounting","accountant(s)","cpa","cpas","certified public accountant(s)","chartered accountant(s)","acca","tax","tax preparer(s)","tax advisor(s)","enrolled agent(s)","bookkeeper(s)","bookkeeping","auditor(s)","internal audit","accounts payable","accounts receivable","financial controller(s)","corporate controller(s)","fractional cfo(s)","forensic accounting","forensic accountant(s)","quickbooks"],companies:["deloitte","pwc$","pricewaterhousecoopers","ey$","ernst & young","kpmg","grant thornton","bdo$","bdo usa","rsm$","rsm us","crowe$","baker tilly","cliftonlarsonallen","moss adams","cbiz","marcum$","eisneramper","cherry bekaert","plante moran","h&r block","jackson hewitt","liberty tax"]},{key:"crypto",label:"Crypto & Web3",group:"finance",kind:"industry",words:["crypto","cryptocurrency","cryptocurrencies","blockchain","web3","web 3","defi","nft(s)","bitcoin","ethereum","solana","stablecoin(s)","digital asset(s)","smart contract(s)","dapp(s)","on chain","onchain","crypto exchange(s)"],companies:["coinbase","binance","kraken$","ripple$","chainalysis","consensys","opensea","uniswap","polygon labs","fireblocks","anchorage digital","paxos","bitgo","crypto com","ledger$","metamask","polymarket","tether$","galaxy digital","grayscale investments","blockchain com","bitpay","moonpay","dydx","aave","chainlink labs","mysten labs"],not:["digital asset management"]},{key:"hospitals",label:"Hospitals & Clinics",group:"health",kind:"industry",words:["hospital(s)","clinic(s)","medical center(s)","health system(s)","healthcare system(s)","urgent care","emergency room","emergency department","emergency medicine","physician(s)","doctor(s)","surgeon(s)","surgery","nurse(s)","nursing","registered nurse(s)","rn","bsn","lpn","certified nursing assistant(s)","nurse practitioner(s)","physician assistant(s)","pa c","medical assistant(s)","patient care","hospitalist(s)","pediatrician(s)","cardiologist(s)","oncologist(s)","radiologist(s)","anesthesiologist(s)","dermatologist(s)","neurologist(s)","obgyn","ob gyn","family medicine","internal medicine","primary care","pediatrics","oncology","cardiology","radiology","paramedic(s)","emt(s)","respiratory therapist(s)","physical therapist(s)","physical therapy","occupational therapist(s)","occupational therapy","speech language pathologist(s)","radiologic technologist(s)","sonographer(s)","phlebotomist(s)","pharmacist(s)","pharmacy","home health","hospice","nursing home(s)","assisted living","senior living","skilled nursing","healthcare administration","hospital administrator(s)","medical practice(s)","medical group(s)","telehealth","telemedicine","concierge medicine","chiropractor(s)","chiropractic","optometrist(s)","optometry","ophthalmologist(s)","podiatrist(s)","medical billing","medical coding","medical coder(s)","revenue cycle"],companies:["kaiser permanente","hca$","hca healthcare","tenet healthcare","commonspirit","ascension$","ascension health","providence health","trinity health","mass general","massachusetts general","mount sinai","nyu langone","johns hopkins medicine","ucla health","stanford health","memorial sloan kettering","md anderson","dana farber","cedars sinai","city of hope","one medical","oak street health","carbon health","teladoc","amwell","davita","fresenius","lifepoint health","universal health services"],not:["animal hospital(s)","animal clinic(s)","pet hospital(s)","veterinary","veterinarian(s)","legal clinic(s)","law clinic(s)","doctor of philosophy","computer doctor(s)","script doctor(s)","tree surgery"]},{key:"dental",label:"Dental",group:"health",kind:"industry",words:["dental","dentist(s)","dentistry","dds","dmd","orthodontist(s)","orthodontic(s)","orthodontia","periodontist(s)","periodontics","periodontal","endodontist(s)","endodontics","prosthodontist(s)","prosthodontics","pedodontist(s)","pediatric dentist(s)","oral surgeon(s)","oral surgery","oral and maxillofacial","maxillofacial","dental hygienist(s)","rdh","dental assistant(s)","dso","dsos","dental support organization(s)","invisalign"],companies:["align technology","henry schein","dentsply","smile direct club","smiledirectclub","clearchoice","sonrava","envista$","envista holdings","straumann","ivoclar","nobel biocare","great expressions","smile brands","bright now","affordable dentures"]},{key:"pharma-biotech",label:"Pharma & Biotech",group:"health",kind:"industry",words:["pharma","pharmaceutical(s)","biotech","biotechnology","biopharma","biopharmaceutical(s)","therapeutics","bioscience(s)","biologics","drug discovery","drug development","clinical trial(s)","clinical research","clinical research associate(s)","medical science liaison(s)","pharmaceutical sales","pharma sales","regulatory affairs","pharmacovigilance","drug safety","gene therapy","cell therapy","genomics","bioinformatics","molecular biology","immunology","vaccine(s)","life sciences","antibody","antibodies","crispr","mrna","biostatistics","biostatistician(s)","medicinal chemistry"],companies:["pfizer","moderna","johnson & johnson","j&j$","janssen","merck","msd$","abbvie","bristol myers squibb","eli lilly","lilly$","novartis","roche$","roche diagnostics","genentech","astrazeneca","gsk$","glaxosmithkline","sanofi","novo nordisk","bayer","amgen","gilead","regeneron","vertex pharmaceuticals","biogen","takeda","boehringer ingelheim","viatris","mylan","biontech","illumina","thermo fisher","iqvia","syneos","parexel","charles river laboratories","catalent","lonza","danaher","alnylam","incyte","seagen","bluebird bio","intellia","editas","insitro","23andme","ginkgo bioworks","zoetis"]},{key:"medical-devices",label:"Medical Devices",group:"health",kind:"industry",words:["medical device(s)","medical technology","medtech","med tech","medical equipment","durable medical equipment","surgical robotics","surgical device(s)","orthopedic implant(s)","medical diagnostics","in vitro diagnostics","medical imaging","biomedical engineer(s)","biomedical engineering","regulatory affairs","medical device sales","510 k"],companies:["medtronic","stryker","boston scientific","abbott$","abbott laboratories","abbott diagnostics","becton dickinson","baxter international","baxter healthcare","zimmer biomet","smith & nephew","edwards lifesciences","intuitive surgical","ge healthcare","philips healthcare","siemens healthineers","hologic","dexcom","insulet","resmed","masimo","teleflex","hillrom","hill rom","steris","conmed","globus medical","nuvasive","integra lifesciences","penumbra$","abiomed","karl storz","arthrex","exactech","butterfly network","outset medical","shockwave medical","inari medical","axonics","tandem diabetes","varian"]},{key:"mental-health",label:"Mental Health",group:"health",kind:"industry",words:["mental health","behavioral health","psychologist(s)","psychiatrist(s)","psychiatry","psychiatric","psychotherapist(s)","psychotherapy","therapist(s)","lmft","lcsw","lpc","lmhc","lcpc","lpcc","psyd","licensed clinical social worker(s)","clinical social worker(s)","licensed professional counselor(s)","marriage and family therapist(s)","mental health counselor(s)","addiction counselor(s)","addiction treatment","addiction medicine","substance abuse","behavioral therapist(s)","aba therapist(s)","applied behavior analysis","bcba","eating disorder(s)","emdr","cognitive behavioral therapy","teletherapy","online therapy"],companies:["betterhelp","talkspace","headspace","lyra health","spring health","modern health","acadia healthcare","nami$","national alliance on mental illness","the jed foundation","crisis text line"],not:["physical therapist(s)","physical therapy","occupational therapist(s)","occupational therapy","respiratory therapist(s)","respiratory therapy","massage therapist(s)","massage therapy","speech therapist(s)","speech therapy","radiation therapist(s)","radiation therapy","infusion therapy"]},{key:"fitness-wellness",label:"Fitness & Wellness",group:"health",kind:"industry",words:["fitness","gym(s)","personal trainer(s)","personal training","fitness coach","fitness coaches","strength and conditioning","crossfit","pilates","yoga","yoga teacher(s)","yoga instructor(s)","wellness","massage therapist(s)","massage therapy","nutritionist(s)","dietitian(s)","registered dietitian(s)","health coach","health coaches","wellness coach","wellness coaches","meditation","mindfulness","group fitness","fitness instructor(s)","bodybuilding","athletic trainer(s)"],companies:["planet fitness","la fitness","equinox$","equinox fitness","orangetheory","orange theory","f45","crunch fitness","anytime fitness","golds gym","24 hour fitness","life time fitness","soulcycle","peloton","barrys bootcamp","corepower yoga","club pilates","xponential fitness","whoop$","oura$","strava","myfitnesspal","noom$","weightwatchers","ww international","beachbody","hydrow","tonal$","classpass","mindbody","ymca"],not:["corporate wellness","employee wellness","financial wellness",...h]},{key:"veterinary",label:"Veterinary & Animal Care",group:"health",kind:"industry",words:["veterinary","veterinarian(s)","veterinary medicine","veterinary technician(s)","veterinary assistant(s)","vet tech(s)","vet assistant(s)","vet clinic(s)","vet hospital(s)","emergency vet","dvm","animal hospital(s)","animal clinic(s)","pet hospital(s)","animal care","animal shelter(s)","animal rescue","animal welfare","animal control","pet care","pet grooming","pet groomer(s)","dog groomer(s)","groomer(s)","dog trainer(s)","dog training","pet sitter(s)","pet sitting","dog walker(s)","kennel(s)","doggy daycare","zookeeper(s)","zoo(s)","aquarium(s)","equine","farrier(s)","animal behaviorist(s)"],companies:["banfield","vca$","vca animal hospitals","bluepearl","mars veterinary health","national veterinary associates","thrive pet healthcare","heartland veterinary partners","petvet care centers","idexx","elanco","aspca","humane society","best friends animal society","rover$","trupanion","american veterinary medical association"],not:[...h]},{key:"k12",label:"K-12 Education",group:"education",kind:"industry",words:["k 12","k12","elementary school(s)","middle school(s)","high school(s)","junior high","primary school(s)","secondary school(s)","public school(s)","charter school(s)","private school(s)","school district(s)","independent school district","isd","montessori","preschool(s)","pre k","prek","kindergarten","early childhood","teacher(s)","substitute teacher(s)","assistant principal(s)","vice principal(s)","school principal(s)","head of school","headmaster","superintendent of schools","school superintendent(s)","school board","guidance counselor(s)","school counselor(s)","school psychologist(s)","school nurse(s)","special education","special ed","ese teacher(s)","sped","paraprofessional(s)","homeschool","tutor(s)","tutoring","intermediate school(s)","preparatory school(s)","prep school(s)"],names:["elementary"],companies:["teach for america","kipp","success academy","idea public schools","khan academy","kumon","sylvan learning","mathnasium","huntington learning","varsity tutors","connections academy","kindercare","bright horizons","learning care group"],not:["yoga teacher(s)","dance teacher(s)","piano teacher(s)"]},{key:"higher-ed",label:"Higher Education",group:"education",kind:"industry",words:["university","universities","universidad","college","colleges","community college(s)","higher education","higher ed","academia","professor(s)","assistant professor(s)","associate professor(s)","adjunct professor(s)","adjunct faculty","adjunct instructor(s)","lecturer(s)","senior lecturer(s)","faculty member(s)","postdoc(s)","postdoctoral","post doctoral","phd candidate(s)","phd student(s)","doctoral candidate(s)","doctoral student(s)","graduate student(s)","grad student(s)","graduate assistant(s)","graduate research assistant(s)","research assistant(s)","graduate teaching assistant(s)","provost","dean of","associate dean(s)","assistant dean(s)","registrar","bursar","financial aid","admissions counselor(s)","college admissions","university admissions","student affairs","residence life","academic advisor(s)","academic advising","career services","alumni relations","tenure track","tenured","chancellor","vice chancellor","undergraduate","undergrad","mba candidate(s)","mba student(s)","business school(s)","school of business","law school(s)","school of law","medical school(s)","school of medicine","graduate school(s)","school of management"],companies:["mit$","massachusetts institute of technology","caltech","california institute of technology","georgia tech","georgia institute of technology","virginia tech","texas a&m","ucla$","uc berkeley","uc davis","uc san diego","uc irvine","purdue$","purdue global","rutgers","cornell$","yale$","princeton$","harvard$","harvard business school","harvard law school","harvard medical school","harvard kennedy school","stanford$","stanford gsb","penn state","ohio state$","arizona state$","georgetown$","vanderbilt$","emory$","tulane$","wharton$","wharton school","kellogg school of management","insead","london business school","columbia business school","mit sloan","duke$","coursera","edx$"],not:["college park","college hunks","credit union(s)","university health","health system(s)","hospital(s)","medical center(s)"]},{key:"marketing-advertising",label:"Marketing & Advertising",group:"media",kind:"function",words:["ad agency","ad agencies","advertising agency","advertising agencies","digital agency","digital agencies","creative agency","creative agencies","marketing agency","marketing agencies","marketing firm(s)","media agency","media agencies","martech","adtech","ad tech"],roles:["marketing","marketer(s)","advertising","branding","brand strategy","brand strategist(s)","brand manager(s)","brand marketing","copywriter(s)","copywriting","seo","sem","ppc","search engine optimization","paid media","paid social","paid search","performance marketing","growth marketing","digital marketing","content marketing","email marketing","social media marketing","social media manager(s)","influencer marketing","affiliate marketing","demand generation","demand gen","lifecycle marketing","product marketing","marketing operations","marketing ops","media buyer(s)","media buying","media planner(s)","media planning","programmatic","ad operations","ad ops","market research"],companies:["wpp$","omnicom","publicis","interpublic","ipg$","ipg mediabrands","dentsu","havas","ogilvy","bbdo","tbwa","mccann$","mccann worldgroup","leo burnett","saatchi","grey group","droga5","wieden & kennedy","r ga","vaynermedia","vayner media","vaynerx","the trade desk","mediamonks","media monks","monks$","razorfish","digitas","wunderman thompson","vml","vmly&r","groupm","group m","mindshare$","mindshare worldwide","wavemaker","horizon media","starcom","spark foundry","kantar","nielsen$","nielsen holdings","nielseniq","ipsos","semrush","criteo","taboola","outbrain","applovin","integral ad science","doubleverify","magnite","pubmatic","72andsunny","crispin porter","goodby silverstein","isobar","iprospect","merkle$","acxiom"]},{key:"pr-comms",label:"PR & Communications",group:"media",kind:"function",words:["pr agency","pr agencies","pr firm(s)","public relations agency","public relations agencies","public relations firm(s)","communications agency","communications agencies","communications firm(s)"],roles:["public relations","pr manager(s)","pr director(s)","pr specialist(s)","pr lead","pr strategist(s)","pr professional(s)","pr executive(s)","pr comms","pr communications","comms","corporate communications","strategic communications","internal communications","external communications","crisis communications","marketing communications","communications manager(s)","communications director(s)","director of communications","head of communications","communications specialist(s)","communications coordinator(s)","communications lead","communications strategist(s)","vp communications","vp of communications","media relations","press secretary","spokesperson","spokeswoman","spokesman","publicist(s)"],names:["pr"],companies:["edelman$","weber shandwick","fleishmanhillard","fleishman hillard","ketchum$","burson","bcw$","hill & knowlton","brunswick group","finsbury","teneo$","golin$","porter novelli","ruder finn","apco worldwide","sard verbinnen","kekst","mww$","praytell","prosek","zeno group","allison worldwide","cision","meltwater","muck rack","pr newswire","business wire"]},{key:"media-publishing",label:"Media & Publishing",group:"media",kind:"industry",words:["journalist(s)","journalism","reporter(s)","editor(s)","editor in chief","managing editor(s)","copy editor(s)","news","newsroom(s)","newspaper(s)","magazine(s)","publishing","publisher(s)","book publishing","broadcast journalist(s)","news anchor(s)","correspondent(s)","columnist(s)","staff writer(s)","freelance writer(s)","podcast(s)"],companies:["new york times","nyt$","washington post","wall street journal","wsj$","dow jones","news corp","gannett","usa today","tribune","hearst","conde nast","axel springer","politico","axios","the atlantic$","vox media","buzzfeed","vice media","bustle","the athletic$","bloomberg$","reuters","thomson reuters","associated press","cnn$","msnbc","cbs news","abc news","npr$","national public radio","bbc","the guardian$","the economist","financial times","forbes$","forbes media","fortune$","business insider","insider$","techcrunch","the verge$","wired$","penguin random house","harpercollins","simon & schuster","hachette","macmillan publishers","macmillan learning","scholastic","mcgraw hill","pearson$","wiley$","john wiley","elsevier","springer nature","sinclair broadcast","nexstar","tegna","iheartmedia","audacy"],not:["video editor(s)","photo editor(s)","film editor(s)","newport news","good news"]},{key:"creator-economy",label:"Creator Economy",group:"media",kind:"industry",words:["content creator(s)","creator economy","digital creator(s)","ugc","ugc creator(s)","influencer(s)","youtuber(s)","tiktoker(s)","streamer(s)","podcast(s)","podcaster(s)","podcast host(s)","podcasting","blogger(s)","vlogger(s)","creator partnership(s)","influencer marketing","content creation"],companies:["youtube","tiktok","bytedance","snap$","patreon","substack","twitch$","linktree","kajabi","teachable","cameo$","whop$","beehiiv","convertkit","jellysmack","dude perfect","mrbeast","beast industries","fourthwall","captiv8","creatoriq","ltk$","rewardstyle"]},{key:"film-tv-music",label:"Film, TV & Music",group:"entertainment",kind:"industry",words:["film","films","filmmaker(s)","filmmaking","film production","movie(s)","motion picture(s)","cinematographer(s)","cinematography","screenwriter(s)","screenwriting","showrunner(s)","tv","television","broadcasting","post production","vfx","visual effects","animator(s)","animation studio(s)","music","musician(s)","songwriter(s)","record label(s)","recording artist(s)","recording studio(s)","music producer(s)","audio engineer(s)","sound engineer(s)","dj","djs","actor(s)","actress","actresses","casting director(s)","talent agency","hollywood","production company","production companies","theatre","theater","broadway","performing arts","live music","music festival(s)","orchestra","symphony","opera","video editor(s)","film editor(s)"],names:["records","pictures"],companies:["netflix","disney","walt disney","pixar","lucasfilm","marvel","warner bros","warner music","wbd$","hbo","paramount$","paramount global","paramount pictures","paramount skydance","nbcuniversal","nbc universal","universal music","umg$","sony$","lionsgate","mgm$","metro goldwyn mayer","a24","blumhouse","legendary entertainment","dreamworks","fox$","fox corporation","fox entertainment","20th century","amc networks","regal cinemas","cinemark","imax","roku","hulu","peacock$","spotify","soundcloud","siriusxm","sirius xm","live nation","ticketmaster","aeg$","aeg presents","caa$","creative artists agency","wme$","william morris endeavor","united talent agency","def jam","interscope","bmg$","ascap","recording academy","viacom","cbs$","cbs studios","showtime","starz","a&e networks","univision","telemundo","tubi$","crunchyroll","illumination entertainment","skydance"],not:["home theater","home theatre","operating theatre","medical records","window film","window tint","plastic film","threat actor(s)","bad actor(s)",...h]},{key:"gaming-esports",label:"Gaming & Esports",group:"entertainment",kind:"industry",words:["gaming","video game(s)","videogame(s)","game developer(s)","game development","game designer(s)","game design","game studio(s)","game artist(s)","game producer(s)","gameplay","esports","e sports","esport","unreal engine","unity developer(s)","level designer(s)","game engine(s)","indie game(s)","mobile games","mobile gaming","pro gamer(s)","professional gamer(s)","twitch streamer(s)"],companies:["electronic arts","ea$","ea sports","activision","blizzard entertainment","riot games","epic games","valve$","valve corporation","ubisoft","nintendo","playstation","xbox","take two","rockstar games","2k$","2k games","bungie","bethesda softworks","bethesda game studios","zynga","roblox","unity$","unity technologies","supercell","king digital","niantic","square enix","bandai namco","sega","capcom","konami","nexon","netease games","tencent games","scopely","playtika","jam city","moon active","twitch$","faze clan","team liquid","100 thieves","cloud9","optic gaming","dreamhack","gamestop","mojang","insomniac games","naughty dog","respawn entertainment"],not:["casino(s)","sportsbook(s)","sports betting","igaming","gaming commission","gaming control","slot machine(s)",...h]},{key:"sports",label:"Sports",group:"entertainment",kind:"industry",words:["sports","athlete(s)","athletics","athletic director(s)","athletic trainer(s)","professional athlete(s)","pro athlete(s)","nfl","nba","mlb","nhl","wnba","ncaa","nwsl","pga","lpga","nascar","ufc","wwe","fifa","olympic(s)","olympian(s)","football","basketball","baseball","soccer","hockey","golf","tennis","volleyball","lacrosse","softball","wrestling","rugby","boxing","mma","track and field","head coach","head coaches","assistant coach","assistant coaches","sports marketing","sports medicine","sports management","sports business","sports betting","sportsbook(s)","fantasy sports","stadium(s)","sports broadcaster(s)","sportscaster(s)"],companies:["national football league","national basketball association","major league baseball","national hockey league","major league soccer","espn","cbs sports","turner sports","dazn","the athletic$","bleacher report","barstool sports","draftkings","fanduel","fanatics","img academy","wasserman$","wasserman media","excel sports","klutch sports","genius sports","sportradar","hudl","special olympics","arizona cardinals","atlanta falcons","baltimore ravens","buffalo bills","carolina panthers","chicago bears","cincinnati bengals","cleveland browns","dallas cowboys","denver broncos","detroit lions","green bay packers","houston texans","indianapolis colts","jacksonville jaguars","kansas city chiefs","las vegas raiders","los angeles chargers","los angeles rams","miami dolphins","minnesota vikings","new england patriots","new orleans saints","new york giants","new york jets","philadelphia eagles","pittsburgh steelers","san francisco 49ers","seattle seahawks","tampa bay buccaneers","tennessee titans","washington commanders","atlanta hawks","boston celtics","brooklyn nets","charlotte hornets","chicago bulls","cleveland cavaliers","dallas mavericks","denver nuggets","detroit pistons","golden state warriors","houston rockets","indiana pacers","la clippers","los angeles clippers","los angeles lakers","memphis grizzlies","miami heat","milwaukee bucks","minnesota timberwolves","new orleans pelicans","new york knicks","oklahoma city thunder","orlando magic","philadelphia 76ers","phoenix suns","portland trail blazers","sacramento kings","san antonio spurs","toronto raptors","utah jazz","washington wizards","arizona diamondbacks","atlanta braves","baltimore orioles","boston red sox","chicago cubs","chicago white sox","cincinnati reds","cleveland guardians","colorado rockies","detroit tigers","houston astros","kansas city royals","los angeles angels","los angeles dodgers","miami marlins","milwaukee brewers","minnesota twins","new york mets","new york yankees","oakland athletics","philadelphia phillies","pittsburgh pirates","san diego padres","san francisco giants","seattle mariners","st louis cardinals","tampa bay rays","texas rangers baseball","toronto blue jays","washington nationals","anaheim ducks","boston bruins","buffalo sabres","calgary flames","carolina hurricanes","chicago blackhawks","colorado avalanche","columbus blue jackets","dallas stars","detroit red wings","edmonton oilers","florida panthers","los angeles kings","minnesota wild","montreal canadiens","nashville predators","new jersey devils","new york islanders","new york rangers","ottawa senators","philadelphia flyers","pittsburgh penguins","san jose sharks","seattle kraken","st louis blues","tampa bay lightning","toronto maple leafs","utah mammoth","utah hockey club","vancouver canucks","vegas golden knights","washington capitals","winnipeg jets","atlanta united fc","austin fc","charlotte fc","chicago fire fc","fc cincinnati","colorado rapids","columbus crew","dc united","d c united","fc dallas","houston dynamo","inter miami","la galaxy","lafc","los angeles fc","minnesota united fc","cf montreal","nashville sc","new england revolution","new york city fc","new york red bulls","orlando city sc","orlando city soccer","philadelphia union$","portland timbers","real salt lake","san diego fc","san jose earthquakes","seattle sounders","sporting kansas city","st louis city sc","toronto fc","vancouver whitecaps"],not:["cricket wireless","alumni","alum","veteran(s)","soccer mom(s)","hockey mom(s)","baseball mom(s)","football mom(s)","sports mom(s)","soccer dad(s)","hockey dad(s)","sports dad(s)",...h]},{key:"ecommerce-retail",label:"E-commerce & Retail",group:"consumer",kind:"industry",words:["e commerce","ecommerce","ecom","online store(s)","online retail","online retailer(s)","retail","retailer(s)","amazon seller(s)","amazon fba","fba","dtc","d2c","direct to consumer","marketplace seller(s)","store manager(s)","retail associate(s)","merchandising","merchandiser(s)","visual merchandiser(s)","retail buyer(s)","category manager(s)","omnichannel","loss prevention","cashier(s)","grocery","supermarket(s)","convenience store(s)","department store(s)"],companies:["amazon$","amazon com","walmart","target$","target corporation","costco","home depot","lowes$","best buy","kroger","albertsons","safeway","whole foods","trader joes","aldi$","walgreens","cvs health","macys","nordstrom","kohls","tj maxx","tjx","ross stores","dollar general","dollar tree","family dollar","ikea","wayfair","etsy","ebay","shopify","chewy","instacart","temu$","shein","alibaba","zappos","sephora","ulta","bath & body works","victorias secret","gap$","gap inc","old navy","banana republic","h&m","zara$","inditex","uniqlo","petsmart","petco","dicks sporting goods","academy sports","sams club","7 eleven","circle k","office depot","whatnot","poshmark","depop","stockx","bigcommerce","woocommerce"],not:["retail banking","retail bank(s)","retail investor(s)","retail real estate"]},{key:"consumer-goods",label:"Consumer Goods",group:"consumer",kind:"industry",words:["cpg","consumer goods","consumer packaged goods","consumer products","fmcg","packaged food(s)","beverage brand(s)","beverage company","brewery","breweries","winery","wineries","distillery","distilleries","craft beer","cosmetics","skincare","skin care","beauty brand(s)","fragrance(s)","apparel","fashion","fashion brand(s)","fashion designer(s)","footwear","jewelry","jewellery","consumer electronics","toy company","toys","home goods","household products","personal care","pet food","confectionery","dtc brand(s)"],companies:["procter & gamble","p&g","unilever","nestle","pepsico","pepsi","coca cola","kraft heinz","general mills","kelloggs","kellanova","mondelez","mars$","mars wrigley","hershey$","hershey company","colgate palmolive","kimberly clark","clorox","church & dwight","estee lauder","loreal","lvmh","kering","nike","adidas","puma$","under armour","lululemon","new balance","levi strauss","levis$","ralph lauren","tapestry$","michael kors","pvh$","tommy hilfiger","calvin klein","hanesbrands","vf$","the north face","patagonia","yeti$","kenvue","haleon","reckitt","henkel","beiersdorf","shiseido","coty$","revlon","elf beauty","glossier","fenty","rare beauty","olaplex","anheuser busch","ab inbev","molson coors","constellation brands","diageo","pernod ricard","bacardi","brown forman","boston beer","heineken","red bull","monster beverage","celsius holdings","keurig dr pepper","tyson foods","conagra","campbell$","hormel","smucker","j m smucker","post holdings","danone","chobani","hasbro","mattel","lego","spin master","funko","dyson$","whirlpool","sharkninja","newell brands","energizer","duracell","gillette","dollar shave club","warby parker","allbirds"],not:["personal care aide(s)","personal care assistant(s)"]},{key:"restaurants",label:"Restaurants & Food Service",group:"consumer",kind:"industry",words:["restaurant(s)","restaurateur(s)","chef(s)","sous chef(s)","executive chef(s)","head chef(s)","pastry chef(s)","line cook(s)","culinary","catering","caterer(s)","food service","foodservice","food truck(s)","bakery","bakeries","pastry","cafe(s)","coffee shop(s)","barista(s)","bartender(s)","bartending","mixologist(s)","sommelier(s)","waiter(s)","waitress","waitresses","front of house","back of house","qsr","quick service restaurant(s)","fast casual","fast food","pizzeria","diner","bistro","brewpub","taproom","grill","steakhouse","tavern","eatery","bbq","sushi","taqueria"],companies:["mcdonalds","starbucks","chick fil a","chipotle","taco bell","yum brands","kfc$","pizza hut","dominos","papa johns","subway$","wendys","burger king","restaurant brands international","popeyes","tim hortons","dunkin","panera","darden","olive garden","bloomin brands","outback steakhouse","texas roadhouse","cheesecake factory","chilis","brinker","applebees","dine brands","ihop$","dennys","cracker barrel","red lobster","shake shack","sweetgreen","cava group","wingstop","raising canes","five guys","in n out","jersey mikes","jimmy johns","firehouse subs","zaxbys","sysco","us foods","aramark","compass group","sodexo","gordon food service","doordash","grubhub","opentable","first watch","buffalo wild wings","dave & busters"]},{key:"hospitality-travel",label:"Hospitality & Travel",group:"consumer",kind:"industry",words:["hospitality","hotel(s)","hotelier(s)","resort(s)","motel(s)","inn","lodging","vacation rental(s)","short term rental(s)","airbnb host(s)","travel","travel agent(s)","travel agency","travel agencies","travel advisor(s)","tourism","tour operator(s)","tour guide(s)","cruises","cruise line(s)","cruise ship(s)","cruise director(s)","airline(s)","flight attendant(s)","airline pilot(s)","commercial pilot(s)","concierge","guest services","guest experience","event planner(s)","event planning","wedding planner(s)","venue(s)","theme park(s)","amusement park(s)","casino(s)","bed and breakfast","b&b","hostel(s)","timeshare(s)"],companies:["marriott","hilton$","hilton hotels","hilton worldwide","hilton grand vacations","hyatt","ihg$","intercontinental hotels","wyndham","choice hotels","best western","accor$","four seasons","ritz carlton","mgm resorts","caesars","wynn","las vegas sands","hard rock","airbnb","vrbo","expedia","booking com","booking holdings","priceline","kayak$","tripadvisor","navan$","delta air lines","delta airlines","american airlines","united airlines","southwest airlines","jetblue","alaska airlines","spirit airlines","frontier airlines","allegiant","hawaiian airlines","lufthansa","british airways","emirates$","qatar airways","air canada","carnival$","carnival cruise","carnival corporation","royal caribbean","norwegian cruise line","universal destinations","universal parks","seaworld","united parks","six flags","cedar fair","legoland","great wolf lodge","omni hotels","loews hotels","kimpton","vacasa","evolve vacation","hertz","enterprise rent a car","enterprise mobility","avis","aimbridge","highgate hotels","sabre$"],not:["travel nurse(s)","travel nursing","travel therapist(s)","travel rn","travel healthcare","concierge medicine","concierge doctor(s)",...h]},{key:"beauty-personal-care",label:"Beauty & Personal Care",group:"consumer",kind:"industry",words:["salon(s)","hair salon(s)","nail salon(s)","beauty salon(s)","salon owner(s)","hair stylist(s)","hairstylist(s)","hairdresser(s)","barber(s)","barbershop(s)","barber shop(s)","master barber(s)","esthetician(s)","aesthetician(s)","cosmetologist(s)","cosmetology","nail technician(s)","nail tech(s)","manicurist(s)","lash artist(s)","lash technician(s)","lash extensions","brow artist(s)","microblading","makeup artist(s)","med spa(s)","medspa(s)","medical spa(s)","day spa(s)","beauty school(s)","skin care specialist(s)","skincare specialist(s)","hair removal","tanning salon(s)","spray tan"],companies:["great clips","supercuts","sport clips","fantastic sams","regis$","drybar","european wax center","sola salon studios","sola salons","ideal image","hand & stone","massage envy","the lash lounge"],not:["salon com","salon media","barber foods","barber motorsports","barber nichols",...h]},{key:"logistics",label:"Logistics & Supply Chain",group:"industry",kind:"industry",words:["logistics","supply chain","freight","freight broker(s)","freight brokerage","trucking","truck driver(s)","cdl","truck dispatcher(s)","freight dispatcher(s)","fleet manager(s)","shipping","warehouse","warehouses","warehousing","distribution center(s)","fulfillment","fulfillment center(s)","order fulfillment","last mile","3pl","third party logistics","transportation management","freight forwarding","freight forwarder(s)","customs broker(s)","customs brokerage","import export","maritime","rail freight","railroad(s)","courier(s)","delivery driver(s)","forklift","material handler(s)","logistician(s)"],companies:["fedex","ups$","united parcel service","usps$","united states postal service","dhl","xpo","ch robinson","c h robinson","j b hunt","jb hunt","schneider national","werner enterprises","knight swift","old dominion freight","ryder","penske logistics","penske truck","maersk","flexport","uber freight","project44","fourkites","samsara$","manhattan associates","blue yonder","kinaxis","expeditors","kuehne nagel","db schenker","geodis","ceva logistics","gxo","union pacific","bnsf","csx$","norfolk southern","landstar","echo global logistics","coyote logistics","tql$","total quality logistics","estes express","saia$","shipbob","shipmonk","ontrac","lasership"],not:["data warehouse(s)","data warehousing"]},{key:"manufacturing",label:"Manufacturing",group:"industry",kind:"industry",words:["manufacturing","manufacturer(s)","factory worker(s)","factory manager(s)","factory floor","plant manager(s)","production supervisor(s)","machinist(s)","cnc","cnc machinist(s)","cnc programmer(s)","welder(s)","welding","fabrication","fabricator(s)","metal fabrication","assembly line","industrial engineer(s)","manufacturing engineer(s)","process engineer(s)","lean manufacturing","injection molding","plastics","machining","industrial automation","tool and die","chemical company","chemical manufacturing","specialty chemicals","industrial manufacturing","steel","aluminum","semiconductor manufacturing"],companies:["general electric","ge$","honeywell","3m$","3m company","siemens$","caterpillar","john deere","deere & company","emerson electric","emerson$","rockwell automation","parker hannifin","eaton$","eaton corporation","illinois tool works","itw$","dover$","cummins$","cummins inc","paccar","dow$","dow chemical","dupont$","dupont de nemours","basf","lyondellbasell","eastman chemical","celanese","nucor","us steel","united states steel","alcoa","jabil","flex$","foxconn","hon hai","tsmc$","taiwan semiconductor","applied materials","lam research","asml","corning","owens corning","ppg","sherwin williams","kohler$","stanley black & decker","milwaukee tool","bosch","abb$","schneider electric","mitsubishi$","hitachi","komatsu","trane","carrier global","lennox$","lennox international","johnson controls","westinghouse"]},{key:"energy",label:"Energy & Utilities",group:"industry",kind:"industry",words:["energy","utilities","utility company","utility companies","electric utility","power plant(s)","power generation","power grid","transmission and distribution","oil and gas","oil","petroleum","natural gas","lng","drilling","refinery","refineries","oil pipeline(s)","gas pipeline(s)","renewable energy","renewables","solar","solar panel(s)","photovoltaic","wind energy","wind power","wind farm(s)","offshore wind","hydroelectric","hydrogen","nuclear energy","nuclear power","nuclear plant(s)","geothermal","battery storage","energy storage","ev charging","lineman","linemen","lineworker(s)","energy efficiency","cleantech","clean energy","carbon capture","petroleum engineer(s)","reservoir engineer(s)","landman","roughneck(s)"],companies:["exxonmobil","exxon","chevron","shell$","shell plc","shell oil","bp$","conocophillips","occidental petroleum","marathon petroleum","valero","phillips 66","halliburton","schlumberger","slb$","baker hughes","kinder morgan","enterprise products","southern company","edison international","entergy","aep$","american electric power","exelon","sunrun","sunpower","sunnova","enphase","orsted","ørsted","vestas","siemens gamesa","ge vernova","brookfield renewable","invenergy","avangrid","plug power"],not:["energy drink(s)","monster energy","energy healer(s)","energy healing","energy work","positive energy","high energy","olive oil","essential oil(s)","oil painting(s)","oil painter(s)","offensive lineman","defensive lineman"]},{key:"automotive",label:"Automotive",group:"industry",kind:"industry",words:["automotive","dealership(s)","car dealership(s)","auto dealership(s)","auto dealer(s)","car dealer(s)","car sales","auto sales","automobile(s)","auto parts","auto repair","auto body","collision repair","automotive technician(s)","auto mechanic(s)","car mechanic(s)","diesel mechanic(s)","service advisor(s)","f&i","electric vehicle(s)","autonomous vehicle(s)","autonomous driving","self driving","adas","motorsport(s)","car wash","car washes","tire","tires","ev charging"],companies:["tesla","ford$","ford motor","general motors","stellantis","chrysler","jeep$","toyota","honda","nissan","hyundai","kia$","kia motors","bmw","mercedes benz","volkswagen","audi$","porsche","volvo","subaru","mazda","rivian","lucid motors","lucid group","polestar","waymo","cruise automation","zoox","aurora innovation","carvana","carmax","autonation","penske automotive","lithia","autozone","pep boys","goodyear","bridgestone","michelin","firestone$","firestone complete auto care","magna international","aptiv","borgwarner","lear$","denso","harley davidson","polaris industries","cars com","autotrader","truecar","copart","manheim"],not:["customer service advisor(s)","client service advisor(s)","financial service advisor(s)","member service advisor(s)","guest service advisor(s)"]},{key:"agriculture",label:"Agriculture & Farming",group:"industry",kind:"industry",words:["agriculture","agricultural","agribusiness","agtech","ag tech","agronomy","agronomist(s)","farming","farmer(s)","farm(s)","farmland","farm manager(s)","farmworker(s)","farm worker(s)","ranching","rancher(s)","cattle","livestock","poultry","dairy farm(s)","dairy farmer(s)","aquaculture","fishery","fisheries","horticulture","horticulturist(s)","viticulture","grower(s)","crop science","crop production","crop protection","crop consultant(s)","precision agriculture","irrigation","hydroponics","vertical farming","agricultural engineer(s)","farm equipment","grain elevator(s)","fertilizer(s)","feed mill(s)","forestry","forester(s)"],companies:["cargill","archer daniels midland","bunge$","corteva","syngenta","nutrien","cf industries","agco$","land o lakes","farm credit","indigo ag","john deere","driscolls","dole food","fresh del monte","simplot","j r simplot","the mosaic company"],not:["state farm","farm bureau","farmers insurance","farmers mutual","farmers bank","farmers state bank","farmers national bank","farmers savings bank","farmers trust","farmers merchants","farmer mac","farmer bros","farmer brothers","farmers dog","server farm(s)","wind farm(s)","solar farm(s)","content farm(s)","link farm(s)","click farm(s)","troll farm(s)","bot farm(s)","farm to table","farm team(s)",...h]},{key:"aerospace-defense",label:"Aerospace & Defense",group:"defense",kind:"industry",words:["aerospace","aerospace engineer(s)","aerospace engineering","defense","defence","defense contractor(s)","defense industry","department of defense","dod","avionics","aviation","aircraft","aircraft mechanic(s)","a&p mechanic(s)","airframe","propulsion","rocketry","spacecraft","satellite(s)","space industry","space systems","launch vehicle(s)","missile(s)","munitions","weapons systems","uav","uavs","unmanned aircraft","unmanned aerial","counter uas","security clearance","top secret","ts sci","secret clearance","itar","flight test","flight software","astronaut(s)"],companies:["lockheed","northrop grumman","boeing","raytheon","rtx$","general dynamics","l3harris","l3 harris","bae systems","leidos","saic$","science applications international","booz allen","caci","mantech","parsons$","huntington ingalls","textron","bell textron","sikorsky","pratt & whitney","spacex","blue origin","rocket lab","relativity space","sierra space","axiom space","anduril","shield ai","palantir","kratos","aerovironment","elbit","thales","airbus","embraer","bombardier","gulfstream","cessna","spirit aerosystems","nasa$","national aeronautics and space administration","jpl$","jet propulsion laboratory","sandia","los alamos","lawrence livermore","mitre$","darpa","navair","navsea","united launch alliance","maxar","planet labs","curtiss wright","heico","transdigm","hexcel"],not:["defense attorney(s)","defense lawyer(s)","criminal defense","defense counsel","self defense","insurance defense","dui defense","legal defense","defense litigation","public defender(s)","satellite office(s)","satellite campus","satellite location(s)"]},{key:"military",label:"Military",group:"defense",kind:"industry",words:["military","army","navy","air force","marine corps","usmc","marines","coast guard","uscg","national guard","army national guard","air national guard","space force","armed forces","active duty","soldier(s)","airman","airmen","infantry","infantryman","paratrooper(s)","special forces","green beret(s)","navy seal(s)","army ranger(s)","commissioned officer(s)","noncommissioned officer(s)","nco","army officer(s)","naval officer(s)","navy officer(s)","air force officer(s)","marine officer(s)","drill sergeant(s)","sergeant major","platoon","battalion","squadron","reservist(s)","army reserve","navy reserve","air force reserve","rotc","cadet(s)","west point","naval academy","air force academy","military intelligence"],companies:["us army","u s army","united states army","us navy","u s navy","united states navy","us air force","u s air force","united states air force","usaf$","us marine corps","united states marine corps","us coast guard","united states coast guard","us space force","u s space force","united states space force","british army","royal navy","royal air force","raf$","royal marines","canadian armed forces","nato$"],not:["veteran(s)","military spouse(s)","salvation army","old navy","navy federal","navy blue","navy pier","army of","swiss army","battalion chief(s)"]},{key:"government",label:"Government & Public Sector",group:"defense",kind:"industry",words:["government","federal government","state government","local government","public sector","public servant(s)","civil servant(s)","civil service","municipal","municipality","municipalities","city council","council member(s)","councilmember(s)","councilwoman","councilman","city manager(s)","county manager(s)","county commissioner(s)","county commission","board of county commissioners","mayor","mayors office","legislator(s)","legislature","legislative","state senator(s)","state representative(s)","congressman","congresswoman","congressional","member of congress","house of representatives","white house","governors office","office of the governor","lieutenant governor","federal agency","state agency","government agency","government agencies","police","police officer(s)","police department(s)","sheriff","sheriffs office","deputy sheriff(s)","law enforcement","state trooper(s)","highway patrol","firefighter(s)","fire department(s)","fire rescue","fire chief(s)","battalion chief(s)","public safety","911 dispatcher(s)","emergency management","corrections officer(s)","correctional officer(s)","department of corrections","probation officer(s)","parole officer(s)","postal service","veterans affairs","foreign service","foreign service officer(s)","diplomat(s)","embassy","consulate","city planner(s)","urban planning","public administration","federal employee(s)","state employee(s)","public works","parks and recreation"],companies:["city of","county of","town of","township of","village of","borough of","commonwealth of","government of","usps$","united states postal service","internal revenue service","irs$","fbi$","federal bureau of investigation","cia$","central intelligence agency","nsa$","national security agency","department of homeland security","dhs$","fema$","tsa$","transportation security administration","us department of","u s department of","united states department of","department of veterans affairs","social security administration","us census bureau","census bureau","gao$","government accountability office","us senate","u s senate","united states senate","gsa$","general services administration","epa$","environmental protection agency","fda$","food and drug administration","cdc$","centers for disease control","nih$","national institutes of health","securities and exchange commission","ftc$","federal trade commission","fcc$","federal communications commission","state department","department of state","united nations","european commission","state of alabama","state of alaska","state of arizona","state of arkansas","state of california","state of colorado","state of connecticut","state of delaware","state of florida","state of georgia","state of hawaii","state of idaho","state of illinois","state of indiana","state of iowa","state of kansas","state of kentucky","state of louisiana","state of maine","state of maryland","state of massachusetts","state of michigan","state of minnesota","state of mississippi","state of missouri","state of montana","state of nebraska","state of nevada","state of new hampshire","state of new jersey","state of new mexico","state of new york","state of north carolina","state of north dakota","state of ohio","state of oklahoma","state of oregon","state of pennsylvania","state of rhode island","state of south carolina","state of south dakota","state of tennessee","state of texas","state of utah","state of vermont","state of virginia","state of washington","state of west virginia","state of wisconsin","state of wyoming"],not:["student government","city of hope","government affairs","government relations","government sales"]},{key:"legal",label:"Legal",group:"consulting",kind:"function",words:["law firm(s)","law office(s)","law group","legal services","attorney at law","attorneys at law","legaltech","legal tech","bar association"],roles:["law","lawyer(s)","attorney(s)","legal","esq","esquire","paralegal(s)","legal assistant(s)","legal secretary","litigator(s)","litigation","counsel","of counsel","legal counsel","associate attorney(s)","juris doctor","jd candidate(s)","law student(s)","law clerk(s)","judicial clerk(s)","circuit judge(s)","district judge(s)","federal judge(s)","magistrate(s)","district attorney(s)","public defender(s)","prosecutor(s)","e discovery","ediscovery","intellectual property","patent attorney(s)","patent agent(s)","notary public","mediator(s)","arbitrator(s)","arbitration"],companies:["kirkland & ellis","latham & watkins","skadden","baker mckenzie","dla piper","sidley austin","white & case","jones day","sullivan & cromwell","cravath","wachtell","davis polk","gibson dunn","paul weiss","simpson thacher","cooley$","cooley llp","wilson sonsini","goodwin procter","ropes & gray","morgan lewis","morgan & morgan","greenberg traurig","holland & knight","hogan lovells","norton rose fulbright","clifford chance","freshfields","linklaters","allen & overy","a&o shearman","mayer brown","king & spalding","orrick","perkins coie","fenwick & west","quinn emanuel","williams & connolly","weil gotshal","proskauer","debevoise","milbank","covington & burling","arnold & porter","mcdermott will","fish & richardson","foley & lardner","bryan cave","littler","jackson lewis","ogletree","fisher phillips","legalzoom","rocket lawyer","clio$","lexisnexis","westlaw"],not:["law enforcement","general counsel","in house counsel","corporate counsel","chief legal officer(s)","legal sea foods","legal & general"]},{key:"management-consulting",label:"Management Consulting",group:"consulting",kind:"function",words:["management consulting","strategy consulting","business consulting","operations consulting","mbb","big four","big 4"],roles:["management consultant(s)","strategy consultant(s)"],companies:["mckinsey","boston consulting group","bcg$","bcg x","bain$","bain & company","deloitte","accenture","pwc$","pricewaterhousecoopers","ey$","ey parthenon","ernst & young","kpmg","oliver wyman","kearney$","a t kearney","roland berger","l e k consulting","lek consulting","booz allen hamilton","capgemini","huron consulting","alvarez & marsal","fti consulting","guidehouse","protiviti","west monroe partners","slalom","zs associates","gartner","simon kucher","putnam associates","charles river associates","cornerstone research","analysis group","navigant","ankura","the bridgespan group","dalberg"]},{key:"hr-recruiting",label:"HR & Recruiting",group:"consulting",kind:"function",words:["staffing agency","staffing agencies","staffing firm(s)","staffing company","staffing companies","recruitment agency","recruitment agencies","recruiting agency","recruiting agencies","recruiting firm(s)","executive search","peo","professional employer organization","rpo","recruitment process outsourcing","workforce solutions","hr tech","hrtech","hr consulting"],roles:["human resources","human resource","hr","hris","hrbp","hr business partner(s)","people operations","people ops","people & culture","talent acquisition","talent management","recruiter(s)","recruiting","recruitment","technical recruiter(s)","headhunter(s)","staffing","talent sourcing","sourcer(s)","employer branding","compensation and benefits","total rewards","benefits administration","payroll","hr consultant(s)","shrm","shrm cp","shrm scp","sphr","phr","learning and development","l&d","organizational development","dei","diversity equity and inclusion","employee relations","labor relations"],companies:["robert half","randstad","adecco","manpowergroup","manpower$","kelly services","kforce","insight global","teksystems","aerotek","allegis","korn ferry","spencer stuart","heidrick","egon zehnder","russell reynolds","michael page","pagegroup","express employment","aya healthcare","amn healthcare","cross country healthcare","indeed$","glassdoor","ziprecruiter","adp$","automatic data processing","paychex","paylocity","paycom","paycor","ukg$","justworks","trinet","insperity","bamboohr","greenhouse software","culture amp","hirevue","cielo talent","alexander mann","hudson rpo","workday"],not:["24 hr"]},{key:"security-services",label:"Security Services",group:"consulting",kind:"function",words:["security company","security companies","security firm(s)","security services","private security","security guard company","guard services","security patrol","executive protection","close protection","alarm company","alarm monitoring"],roles:["security guard(s)","security officer(s)","armed security","unarmed security","armed guard(s)","unarmed guard(s)","bodyguard(s)","event security","campus security","site security","security supervisor(s)","personal protection","protection agent(s)","loss prevention officer(s)"],companies:["allied universal","securitas","gardaworld","garda world","g4s","adt$","adt security","brinks","brinks home","pinkerton","prosegur","vivint","simplisafe","us security associates","guardsmark"],not:["information security","cyber security","it security","data security","network security","cloud security","application security","managed security","national security","homeland security","social security","food security","job security","financial security","security clearance","security operations center","chief security officer(s)","security token(s)","security analyst(s)","security engineer(s)","security architect(s)","security researcher(s)"]},{key:"real-estate",label:"Real Estate",group:"realestate",kind:"industry",words:["real estate","realtor(s)","realty","real estate agent(s)","property management","property manager(s)","commercial real estate","cre","residential real estate","real estate investor(s)","real estate investing","real estate investment(s)","reit(s)","leasing agent(s)","leasing consultant(s)","leasing specialist(s)","apartment leasing","listing agent(s)","buyers agent(s)","title company","title insurance","escrow","land acquisition","real estate developer(s)","real estate development","property development","property developer(s)","multifamily","multi family","investment property","rental property","rental properties","home inspector(s)"],names:["properties"],companies:["keller williams","coldwell banker","re max","remax","century 21","compass$","redfin","zillow","opendoor","offerpad","berkshire hathaway homeservices","howard hanna","douglas elliman","corcoran$","corcoran group","cbre","jll$","jones lang lasalle","cushman & wakefield","colliers","newmark","marcus & millichap","eastdil","prologis","simon property group","greystar","equity residential","avalonbay","camden property","invitation homes","american homes 4 rent","costar","loopnet","apartments com","realpage","yardi","appfolio","wework","regus","iwg$","first american","fidelity national financial","fidelity national title","old republic title","stewart title"]},{key:"construction-trades",label:"Construction & Trades",group:"realestate",kind:"industry",words:["construction","general contractor(s)","roofing contractor(s)","building contractor(s)","licensed contractor(s)","electrical contractor(s)","plumbing contractor(s)","hvac contractor(s)","home builder(s)","homebuilder(s)","custom home builder(s)","construction superintendent(s)","site superintendent(s)","project superintendent(s)","general superintendent(s)","foreman","foremen","carpenter(s)","carpentry","electrician(s)","plumber(s)","plumbing","hvac","roofer(s)","roofing","masonry","drywall","concrete","excavation","paving","landscaping","landscaper(s)","landscape architect(s)","painting contractor(s)","handyman","remodeling","renovation(s)","home improvement","cabinetry","flooring","estimator(s)","preconstruction","civil engineer(s)","civil engineering","structural engineer(s)","structural engineering","architecture firm(s)","architectural","licensed architect(s)","registered architect(s)","bim","journeyman","journeymen","ironworker(s)","welder(s)","heavy equipment operator(s)","crane operator(s)","building inspector(s)"],names:["builders","contractors","contracting"],companies:["bechtel","fluor","kiewit","skanska","whiting turner","gilbane","mortenson","mccarthy building","hensel phelps","aecom","jacobs$","jacobs engineering","stantec","wsp$","wsp global","kimley horn","gensler","hok$","perkins&will","perkins and will","skidmore owings","lennar","dr horton","d r horton","pulte","pultegroup","toll brothers","nvr$","kb home","taylor morrison","meritage homes","david weekley homes","m i homes","ashton woods","vulcan materials","martin marietta","cemex","summit materials","quikrete","united rentals","sunbelt rentals","herc rentals","angi$","homeadvisor","thumbtack","emcor","quanta services","mastec","dycom","comfort systems","roto rooter","mr rooter"],not:["concrete results","under construction","brand builder(s)","team builder(s)","community builder(s)","government contractor(s)","defense contractor(s)","independent contractor(s)","government contracting","damage estimator(s)","collision estimator(s)","auto estimator(s)"]},{key:"charities",label:"Nonprofits & Charities",group:"nonprofit",kind:"industry",words:["nonprofit(s)","non profit(s)","not for profit","not for profits","501 c 3","501c3","ngo","ngos","charity","charities","charitable","philanthropy","philanthropies","philanthropic","humanitarian","grant writer(s)","grant writing","grants manager(s)","major gifts","annual giving","planned giving","donor relations","volunteer coordinator(s)","volunteer management","food bank(s)","food pantry","homeless shelter(s)","community organizer(s)","community foundation(s)","social services"],names:["foundation"],companies:["american red cross","red cross","united way","habitat for humanity","salvation army","goodwill$","goodwill industries","ymca","ywca","boys & girls club","big brothers big sisters","make a wish","feeding america","meals on wheels","unicef","save the children","world vision","doctors without borders","medecins sans frontieres","oxfam","world wildlife fund","the nature conservancy","sierra club","american cancer society","american heart association","alzheimers association","march of dimes","susan g komen","teach for america","americorps","peace corps","kiva$","givedirectly","wikimedia","aclu$","american civil liberties union","amnesty international","human rights watch","special olympics","national urban league","naacp","junior achievement","city year"],not:["foundation medicine","foundation capital","foundation building","foundation financial","foundation repair","foundation model(s)"]},{key:"social-work",label:"Social Work & Human Services",group:"nonprofit",kind:"industry",words:["social work","social worker(s)","msw","bsw","lmsw","human services","social services","child welfare","child protective services","foster care","adoption agency","adoption agencies","family services","youth services","community services","case worker(s)","caseworker(s)","family support","homeless services","housing assistance","refugee resettlement","domestic violence","victim advocate(s)","victim services","youth worker(s)","residential counselor(s)","direct support professional(s)","group home(s)","developmental disabilities","intellectual disabilities","reentry services","reentry specialist(s)"],companies:["catholic charities","volunteers of america","boys town","national association of social workers","nasw$","childrens home society"],not:[...h]},{key:"faith",label:"Faith & Ministry",group:"nonprofit",kind:"industry",words:["church","churches","ministry","ministries","pastor(s)","senior pastor(s)","associate pastor(s)","youth pastor(s)","worship leader(s)","worship pastor(s)","chaplain(s)","missionary","missionaries","ordained minister(s)","youth minister(s)","priest(s)","deacon(s)","diocese","archdiocese","parish","parishes","synagogue(s)","rabbi(s)","mosque(s)","imam(s)","seminary","seminarian(s)","theology","faith based","christian ministry"],companies:["the church of jesus christ","hillsong","cru$","campus crusade","young life","fellowship of christian athletes","intervarsity","samaritans purse","compassion international","focus on the family","world relief","catholic relief services","lutheran services"],not:["ministry of","ministries of"]}],j=new Set(["for","helping","helps","serving","serves","supporting","empowering"]),k=new Set(["school","college","university","universidad"]),l=/['‘’ʼ]/g,m=/^[\x00-\x7f]*$/,n=/[a-z0-9]+(?:&[a-z0-9]+)*/g,o=/[\p{L}\p{N}]+(?:&[\p{L}\p{N}]+)*/gu,p=/\p{M}+/gu;function q(a){let b=String(a??"").toLowerCase().replace(l,""),c=n;m.test(b)||(b=b.normalize("NFKD").replace(p,""),c=o);let d=[];for(let a of b.match(c)||[])"and"!==a&&d.push(a);return d}let r=a=>a.endsWith("(s)")?[a.slice(0,-3),`${a.slice(0,-3)}s`]:[a];i.length,i.map(a=>a.key).map((a,b)=>[a,b]),i.map(a=>"education"===a.group),i.map(a=>"function"===a.kind);let s=new Map,t=new Map,u=new Map,v=new Map,w=new Set,x=new Map,y=1;function z(a,b,c){for(let d of b||[])for(let b of r(d)){let d=q(b);if(!d.length)continue;let e=d.join(" "),f=a.get(e)||[];f.includes(c)||f.push(c),a.set(e,f);for(let a=1;a<d.length;a++)w.add(d.slice(0,a).join(" "));y=Math.max(y,d.length)}}i.forEach((a,b)=>{for(let c of(z(s,a.words,b),z(t,a.names,b),z("function"===a.kind?t:s,a.roles,b),"function"===a.kind&&z(v,a.roles,b),z(u,a.not,b),a.companies||[])){let a=c.endsWith("$"),d=q(a?c.slice(0,-1):c);if("the"===d[0]&&(d=d.slice(1)),!d.length)continue;let e=x.get(d[0])||[];e.push({words:d,exact:a,sector:b}),x.set(d[0],e)}}),Object.freeze([]);let A=new Set(["arena","stadium","center","centre","field","park","ballpark","dome","amphitheater","amphitheatre","theater","theatre","pavilion","forum","coliseum","speedway","performing"]),B=Object.freeze(e.INDUSTRIES.flatMap(a=>[a.key,...i.filter(b=>b.group===a.key).map(a=>a.key)])),C=function(a){let b=0x811c9dc5;for(let c=0;c<a.length;c++)b^=a.charCodeAt(c),b=Math.imul(b,0x1000193);return(b>>>0).toString(16).padStart(8,"0")}(JSON.stringify([3,[...j],[...k],[...A],i]));for(let a of i){for(let b of[a.words,a.roles,a.names,a.companies,a.not])b&&Object.freeze(b);Object.freeze(a)}Object.freeze(i),a.s(["DIRECTORY",0,i,"DIRECTORY_VERSION",0,C,"SECTOR_KEYS",0,B],59534);var D=a.i(59943);let E=Object.keys(f.SECTOR_BONUS);function F(a,{version:b=C}={}){let c;try{c=function(a){if(null==a)return{sectors:[],strength:"lean"};if("object"!=typeof a||Array.isArray(a))throw Error("Your sector must be a choice of sectors and a strength.");let b=a.sectors??[];if(!Array.isArray(b))throw Error("Sectors must be a list.");for(let a of b)if(!B.includes(a))throw Error(`There is no sector called '${String(a).slice(0,40)}'.`);let c=B.filter(a=>b.includes(a));if(c.length>3)throw Error("Pick up to 3 sectors.");let d=a.strength??"lean";if(!E.includes(d))throw Error("Strength is lean or strong.");return{sectors:c,strength:d}}(a)}catch{return"none"}return c.sectors.length?`${c.strength}:${c.sectors.join(",")}@${b}`:"none"}Object.freeze({sectors:Object.freeze([]),strength:"lean"}),Object.fromEntries(D.TIER_ORDER.map((a,b)=>[a,D.TIER_ORDER.length-b])),a.s(["MAX_SECTORS",0,3,"focusFingerprint",0,F,"sameFocus",0,(a,b)=>F(a)===F(b)],79663);let G=(a,b,c=`${b}s`)=>`${a.toLocaleString()} ${1===a?b:c}`,H=new Map(e.INDUSTRIES.map(a=>[a.key,i.filter(b=>b.group===a.key)])),I=new Map(i.map(a=>[a.key,a.group])),J=i.map(a=>({sector:a,label:a.label.toLowerCase(),words:[...a.words,...a.roles||[],...a.names||[],...a.companies].map(a=>` ${a.replace(/\(s\)$|\$$/,"").toLowerCase()}`)})),K="Counts firms in this line of work, not every company with someone in the job";function L({color:a,on:c,blocked:e,disabled:f,title:g,onClick:h,children:i}){return(0,b.jsxs)("button",{type:"button","aria-pressed":c,disabled:e||f,onClick:h,title:e?"Up to 3 sectors. Turn one off first.":g,style:{display:"flex",alignItems:"center",gap:7,padding:"6px 12px",borderRadius:999,maxWidth:"100%",fontSize:12.5,fontWeight:600,textAlign:"left",cursor:e?"not-allowed":"pointer",color:c?"#fff":e?"#556":"#b8c4c4",background:c?`${a}33`:"rgba(255,255,255,0.04)",border:c?`1px solid ${a}`:d.LINE},children:[(0,b.jsx)("span",{style:{width:8,height:8,borderRadius:"50%",background:a,opacity:e?.4:1,flexShrink:0}}),(0,b.jsx)("span",{children:i})]})}function M({state:a,chip:c}){let e={fontSize:12.5,marginTop:10};return a.loading?(0,b.jsx)(d.Body,{style:e,children:"Looking through your network for suggestions…"}):a.error?(0,b.jsxs)(d.Body,{style:e,children:["Couldn’t load suggestions (",a.error,"). You can still pick below."]}):a.scored?a.list.length?(0,b.jsxs)("div",{style:{marginTop:14},children:[(0,b.jsx)("div",{style:{fontSize:13,color:"#8b9a9a",marginBottom:6},children:"Suggested from your network"}),(0,b.jsx)("div",{role:"group","aria-label":"Suggested from your network",style:{display:"flex",flexWrap:"wrap",gap:8},children:a.list.map(a=>c(a.key,a.label,{note:`: ${G(a.people,"person","people")} at ${G(a.companies,"company","companies")}`,title:`In ${(0,g.sectorByKey)(a.group).label}`}))})]}):(0,b.jsx)(d.Body,{style:e,children:"None of the list’s sectors stands out among the people you’ve scanned yet."}):(0,b.jsx)(d.Body,{style:e,children:"Suggestions appear here once you’ve scanned your network."})}async function N(a){try{let b=await fetch("/api/settings",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({settings:a})}),c=await b.json();return{settings:c.settings||null,effects:c.effects||null,error:b.ok?null:c.error||"Could not save."}}catch{return{settings:null,effects:null,error:"Could not reach the app. Reload this page to see what is saved."}}}a.s(["default",0,function({sectors:a,onChange:f,disabled:h,suggest:i}){let[j,k]=(0,c.useState)(""),[l,m]=(0,c.useState)(()=>new Set(a.map(a=>I.get(a)||a))),n=(0,c.useMemo)(()=>{let a;return(a=j.trim().toLowerCase().replace(/\s+/g," "))?{industries:e.INDUSTRIES.filter(b=>b.label.toLowerCase().includes(a)),sectors:J.filter(b=>b.label.includes(a)||b.words.some(b=>b.includes(` ${a}`))).map(a=>a.sector)}:null},[j]);function o(b){let c=a.includes(b);if(!c&&a.length>=3)return;let d=c?a.filter(a=>a!==b):B.filter(c=>c===b||a.includes(c));!c&&I.has(b)&&m(a=>new Set(a).add(I.get(b))),f(d)}let p=a.length>=3,q=(c,d,{note:e,title:f}={})=>{let i=a.includes(c);return(0,b.jsxs)(L,{color:(0,g.sectorByKey)(c).color,on:i,blocked:!i&&p,disabled:h,title:f,onClick:()=>o(c),children:[d,e&&(0,b.jsx)("span",{style:{fontWeight:400,color:i?"#dfe7e7":"#8b9a9a"},children:e})]},c)};return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("div",{style:{display:"flex",alignItems:"center",flexWrap:"wrap",gap:6},children:[(0,b.jsxs)("span",{style:{fontSize:13,color:"#8b9a9a"},children:["Your picks (",a.length," of ",3,"):"]}),!a.length&&(0,b.jsx)("span",{style:{fontSize:13,color:"#667"},children:"none yet"}),a.map(a=>{let c=(0,g.sectorByKey)(a);return(0,b.jsxs)("button",{type:"button",disabled:h,onClick:()=>o(a),"aria-label":`Remove ${c.label}`,style:{display:"flex",alignItems:"center",gap:6,padding:"4px 10px",borderRadius:999,fontSize:12.5,fontWeight:600,color:"#fff",background:`${c.color}33`,border:`1px solid ${c.color}`,cursor:"pointer"},children:[c.label," ",(0,b.jsx)("span",{"aria-hidden":"true",style:{color:"#cfd8d8"},children:"×"})]},a)})]}),i&&(0,b.jsx)(M,{state:i,chip:q}),(0,b.jsx)("label",{htmlFor:"sector-search",style:{display:"block",fontSize:13,color:"#8b9a9a",margin:"16px 0 6px"},children:"Find a sector"}),(0,b.jsxs)("div",{style:{display:"flex",gap:8},children:[(0,b.jsx)("input",{id:"sector-search",type:"search",value:j,onChange:a=>k(a.target.value),placeholder:"Try dentist, bakery or Stripe",autoComplete:"off",spellCheck:!1,style:{flex:1,minWidth:0,padding:"8px 12px",borderRadius:7,fontSize:14,color:"#fff",background:"rgba(255,255,255,0.05)",border:d.LINE,outline:"none"}}),j&&(0,b.jsx)(d.Btn,{onClick:()=>k(""),children:"Clear"})]}),n?(0,b.jsx)("div",{style:{marginTop:10},"aria-live":"polite",children:n.industries.length+n.sectors.length===0?(0,b.jsxs)(d.Body,{style:{fontSize:12.5},children:["Nothing in the list matches “",j.trim(),"”. Try a job title, a kind of business or a company, or clear the search and pick one of the twelve broad industries."]}):(0,b.jsxs)("div",{role:"group","aria-label":"Sectors that match your search",style:{display:"flex",flexWrap:"wrap",gap:8},children:[n.industries.map(a=>q(a.key,a.label,{note:" · the whole industry"})),n.sectors.map(a=>q(a.key,a.label,{title:"function"===a.kind?K:`In ${(0,g.sectorByKey)(a.group).label}`}))]})}):(0,b.jsx)("div",{style:{marginTop:10},children:e.INDUSTRIES.map(c=>{let e=H.get(c.key),f=l.has(c.key),g=e.filter(b=>a.includes(b.key)).length;return(0,b.jsxs)("div",{style:{borderTop:d.LINE,padding:"8px 0"},children:[(0,b.jsxs)("div",{style:{display:"flex",alignItems:"center",flexWrap:"wrap",gap:8},children:[q(c.key,c.label,{title:"The whole industry: companies its sectors place, or whose name or the well-known list says so"}),(0,b.jsxs)("button",{type:"button","aria-expanded":f,"aria-controls":`sectors-${c.key}`,onClick:()=>{var a;return a=c.key,void m(b=>{let c=new Set(b);return c.has(a)?c.delete(a):c.add(a),c})},style:{padding:"4px 6px",fontSize:12.5,color:g?"#9fd3ff":"#8b9a9a",background:"none",border:"none",cursor:"pointer"},children:[f?"▾":"▸"," ",G(e.length,"sector"),g?` \xb7 ${g} picked`:""]})]}),f&&(0,b.jsx)("div",{id:`sectors-${c.key}`,role:"group","aria-label":`Sectors in ${c.label}`,style:{display:"flex",flexWrap:"wrap",gap:8,margin:"8px 0 2px 14px"},children:e.map(a=>q(a.key,a.label,"function"===a.kind?{title:K}:void 0))})]},c.key)})})]})}],803),a.s(["saveSettings",0,N],31483)}];
2
-
3
- //# sourceMappingURL=app_components_settings_SectorPicker_1c-29qw.js.map
@@ -1,22 +0,0 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,68863,e=>{"use strict";var n=e.i(43476),t=e.i(71645),i=e.i(18566),o=e.i(2776),s=e.i(22016),a=e.i(40996);let r={install:"Install",setup:"Set up the scanner"};var l=e.i(64745),d=e.i(48235),c=e.i(51798);let h=`
2
- @keyframes radarSweep { to { transform: rotate(360deg); } }
3
- @keyframes radarPing { 0% { opacity: .9; r: 3; } 100% { opacity: 0; r: 11; } }
4
- .radar-sweep { transform-origin: 118px 118px; animation: radarSweep 2.6s linear infinite; }
5
- .radar-ping { animation: radarPing 2.6s ease-out infinite; }
6
- .radar-go { transition: transform .15s ease, box-shadow .2s ease; }
7
- .radar-go:not(:disabled):hover { transform: scale(1.04); box-shadow: 0 0 34px rgba(0,255,136,.45); }
8
- .radar-go:not(:disabled):active { transform: scale(.97); }
9
- @media (prefers-reduced-motion: reduce) { .radar-sweep, .radar-ping { animation: none; } }
10
- `,p=[[.62,.7],[.38,2.1],[.8,3.3],[.5,4.4],[.72,5.6]];function g(e,n,t){let i=n=>`${(118+e*Math.cos(n)).toFixed(2)} ${(118+e*Math.sin(n)).toFixed(2)}`,o=+(t-n>Math.PI);return`M${i(n)} A${e} ${e} 0 ${o} 1 ${i(t)}`}function u({li:e,running:t,scanning:i,disabled:o,label:s,sublabel:a,onScan:r,onPace:l}){let d=e?.limits?.pace||"fast",f=e?.limits?.daily||0,x=e?.unreadable?f:e?.searchesToday||0,y=f?Math.max(0,f-x):null,b=f?Math.min(1,x/f):0,m=b>=.9?"#ff6b6b":b>=.6?"#FFD700":"#00ff88",j=-Math.PI/2,w=108;return(0,n.jsxs)("div",{style:{display:"flex",gap:22,alignItems:"center",flexWrap:"wrap",padding:"14px 16px",borderRadius:14,border:"1px solid rgba(0,255,136,0.18)",background:"radial-gradient(circle at 20% 50%, rgba(0,255,136,0.06), rgba(255,255,255,0.02) 60%)"},children:[(0,n.jsx)("style",{children:h}),(0,n.jsxs)("div",{style:{position:"relative",width:236,height:236,flexShrink:0},children:[(0,n.jsxs)("svg",{width:236,height:236,"aria-hidden":"true",style:{position:"absolute",inset:0},children:[(0,n.jsxs)("defs",{children:[(0,n.jsxs)("radialGradient",{id:"radarBg",children:[(0,n.jsx)("stop",{offset:"0",stopColor:"#0f2a22"}),(0,n.jsx)("stop",{offset:"1",stopColor:"#0a0a1a"})]}),(0,n.jsxs)("linearGradient",{id:"radarBeam",x1:"0",y1:"0",x2:"1",y2:"0",children:[(0,n.jsx)("stop",{offset:"0",stopColor:"#00ff88",stopOpacity:"0"}),(0,n.jsx)("stop",{offset:"1",stopColor:"#00ff88",stopOpacity:"0.45"})]})]}),(0,n.jsx)("circle",{cx:118,cy:118,r:w,fill:"url(#radarBg)",stroke:"rgba(0,255,136,0.25)"}),[.33,.66].map(e=>(0,n.jsx)("circle",{cx:118,cy:118,r:w*e,fill:"none",stroke:"rgba(0,255,136,0.14)",strokeDasharray:"2 5"},e)),(0,n.jsx)("line",{x1:118-w,y1:118,x2:118+w,y2:118,stroke:"rgba(0,255,136,0.1)"}),(0,n.jsx)("line",{x1:118,y1:118-w,x2:118,y2:118+w,stroke:"rgba(0,255,136,0.1)"}),(0,n.jsxs)("g",{className:t?"radar-sweep":void 0,opacity:t?1:.35,children:[(0,n.jsx)("path",{d:`M118 118 L${118+w} 118 A${w} ${w} 0 0 0 ${118+.8525245220595057*w} ${118+-.5226872289306592*w} Z`,fill:"url(#radarBeam)"}),(0,n.jsx)("line",{x1:118,y1:118,x2:118+w,y2:118,stroke:"#00ff88",strokeOpacity:.8,strokeWidth:1.5})]}),p.map(([e,i],o)=>(0,n.jsxs)("g",{children:[(0,n.jsx)("circle",{cx:118+w*e*Math.cos(i),cy:118+w*e*Math.sin(i),r:2.4,fill:"#00ff88",opacity:t?.9:.35}),t&&(0,n.jsx)("circle",{className:"radar-ping",style:{animationDelay:`${i/(2*Math.PI)*2.6}s`},cx:118+w*e*Math.cos(i),cy:118+w*e*Math.sin(i),r:3,fill:"none",stroke:"#00ff88"})]},o)),(0,n.jsx)("path",{d:g(w+5,j,j+2*Math.PI-.001),fill:"none",stroke:"rgba(255,255,255,0.08)",strokeWidth:5}),b>0&&(0,n.jsx)("path",{d:g(w+5,j,j+2*Math.PI*b-.001),fill:"none",stroke:m,strokeWidth:5,strokeLinecap:"round"})]}),(0,n.jsxs)("button",{type:"button",className:"radar-go",onClick:r,disabled:o,style:{position:"absolute",left:56,top:56,width:124,height:124,borderRadius:"50%",cursor:o?"not-allowed":"pointer",border:`2px solid ${o?"rgba(255,255,255,0.12)":"#00ff88"}`,background:o?"rgba(20,24,40,0.92)":"radial-gradient(circle at 50% 35%, #134d3a, #0b2a22 70%)",color:o?"#667":"#eafff5",boxShadow:o?"none":"0 0 22px rgba(0,255,136,0.25)",display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",gap:2,padding:8},children:[(0,n.jsx)("span",{style:{fontSize:22,fontWeight:900,letterSpacing:2},children:i?"•••":"SCAN"}),(0,n.jsx)("span",{style:{fontSize:11,fontWeight:700,opacity:.85,lineHeight:1.25,textAlign:"center"},children:s}),a&&(0,n.jsx)("span",{style:{fontSize:10,opacity:.6,textAlign:"center"},children:a})]})]}),(0,n.jsxs)("div",{style:{flex:1,minWidth:260},children:[(0,n.jsx)("div",{style:{fontSize:10,fontWeight:800,letterSpacing:1,color:"#6b7090",textTransform:"uppercase",marginBottom:8},children:"Speed"}),(0,n.jsx)("div",{role:"radiogroup","aria-label":"Scan speed",style:{display:"grid",gridTemplateColumns:"repeat(3, 1fr)",gap:6},children:c.PACE_NAMES.map(e=>{let i=c.PACES[e],o=d===e,s="slow"===e?"#00E5FF":"medium"===e?"#FFD700":"#FF7043";return(0,n.jsxs)("button",{type:"button",role:"radio","aria-checked":o,disabled:t||!l,onClick:()=>l?.(e),title:`${i.pagePause} s before each page, ${i.chunkCooldown/60} min more after every 10, profiles ${i.profileGap} s apart`,style:{padding:"10px 8px",borderRadius:10,cursor:t?"not-allowed":"pointer",textAlign:"left",border:`1.5px solid ${o?s:"rgba(255,255,255,0.1)"}`,background:o?`${s}1a`:"rgba(255,255,255,0.03)",color:"#ddd"},children:[(0,n.jsx)("div",{style:{fontSize:14,fontWeight:800,color:o?s:"#ccd"},children:i.label}),(0,n.jsxs)("div",{style:{fontSize:11,color:"#8a8fa8",marginTop:2},children:["~",(0,c.searchesPerHour)(e)," searches an hour"]}),(0,n.jsxs)("div",{style:{fontSize:10.5,color:"#6b7090",marginTop:1},children:[i.pagePause," s between pages"]})]},e)})}),(0,n.jsx)("div",{style:{marginTop:10,fontSize:12.5,color:"#b8c4c4",lineHeight:1.6},children:e?null==y?(0,n.jsx)(n.Fragment,{children:"No daily cap is set."}):(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("b",{style:{color:m},children:y})," of ",f," searches left today",y>0&&(0,n.jsxs)(n.Fragment,{children:[" · at ",(0,c.paceOf)(d).label,", ",(0,c.durationText)((0,c.paceSeconds)(d,y))," to use them"]}),"."]}):(0,n.jsx)(n.Fragment,{children:"Today’s searches show here once the scanner can read them."})}),(0,n.jsx)("div",{style:{marginTop:4,fontSize:11.5,color:"#778",lineHeight:1.55},children:"Fast is how the scanner has always run; Medium and Slow only add waiting, so fewer searches an hour reach LinkedIn. Your daily budget stays the cap at every speed: slower spreads it out, it doesn’t shrink it. Slower lowers the odds of a check from LinkedIn; it can’t promise there won’t be one."})]})]})}var f=e.i(33821);let x={daily:50,monthly:250};var y=e.i(54322);let b="1px solid rgba(255,255,255,0.1)",m=y.TIER_COLORS,j=[25,50,100,200,500],w=[100,250,500,1e3,0],v=[10,25,50,100],k=e=>new Date(e).toLocaleDateString(void 0,{month:"short",day:"numeric"});function S({cooldown:e,onLift:i,disabled:o}){let[s,a]=(0,t.useState)(!1);return e?(0,n.jsxs)("div",{role:"status",style:{padding:"12px 14px",borderRadius:8,fontSize:13,lineHeight:1.6,background:"rgba(255,80,80,0.08)",border:"1px solid rgba(255,80,80,0.35)",color:"#f3c9c9"},children:[(0,n.jsxs)("b",{style:{color:"#ff8080"},children:["Scanning is paused until ",new Date(e.until).toLocaleString(void 0,{weekday:"short",month:"short",day:"numeric",hour:"numeric",minute:"2-digit"}),"."]})," ",e.reason,". Nothing that searches LinkedIn will run until then, so the account can recover.",(0,n.jsx)("div",{style:{marginTop:8,display:"flex",gap:8,alignItems:"center",flexWrap:"wrap"},children:s?(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("span",{style:{fontSize:12.5},children:"Only if people search works normally for you on linkedin.com right now."}),(0,n.jsx)("button",{onClick:()=>{a(!1),i()},style:{...W,color:"#ff8080"},children:"Yes, lift it"}),(0,n.jsx)("button",{onClick:()=>a(!1),style:W,children:"Keep it"})]}):(0,n.jsx)("button",{onClick:()=>a(!0),disabled:o,style:W,children:"Lift it early…"})})]}):null}function I({used:e,cap:t}){let i=t?Math.min(100,Math.round(e/t*100)):0;return(0,n.jsx)("div",{style:{height:5,borderRadius:3,background:"rgba(255,255,255,0.07)",overflow:"hidden",marginTop:4},children:(0,n.jsx)("div",{style:{height:"100%",width:`${i}%`,background:i>=100?"#ff6b6b":i>=75?"#FFD700":"#3498DB"}})})}function T({li:e,onSetLimits:t,disabled:i}){if(!e)return null;let{limits:o}=e,s=e.unreadable?"?":e.searchesToday,a=e.unreadable?"?":e.profilesToday,r=e=>t({...o,...e}),l=e=>{let n=function(e={},n={}){return Number(n.daily)>100&&Number(n.daily)>Number(e.daily)?`${n.daily} searches a day is more than LinkedIn has put up with. A real account was restricted after 373 searches in 24 hours, run back to back. The default is ${x.daily} a day.
11
-
12
- Set ${n.daily} a day anyway?`:0===n.monthly&&0!==e.monthly?`With no monthly cap, only the daily budget stops a scan. A real account was restricted after 373 searches in 24 hours with no monthly cap set.
13
-
14
- Turn the monthly cap off anyway?`:null}(o,{...o,...e});(!n||window.confirm(n))&&r(e)},d=function({daily:e,monthly:n}={}){if(!(({daily:e,monthly:n}={})=>Number(e)>100||0===n)({daily:e,monthly:n}))return null;let t=["A real account was restricted after 373 searches in 24 hours."];return Number(e)>100&&t.push(`${e} a day can use up a free account's month in a day or two.`),0===n&&t.push("With no monthly cap, nothing but the daily budget stops a long run."),t.join(" ")}(o);return(0,n.jsxs)("div",{style:{padding:"12px 14px",borderRadius:8,border:b,background:"rgba(255,255,255,0.03)",fontSize:12.5,color:"#b8c4c4"},children:[(0,n.jsxs)("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(210px, 1fr))",gap:14},children:[(0,n.jsxs)("div",{children:[(0,n.jsxs)("div",{children:[(0,n.jsx)("b",{style:{color:"#fff"},children:s})," of ",o.daily||"no limit"," searches in the last 24 hours"]}),(0,n.jsx)(I,{used:e.searchesToday||0,cap:o.daily})]}),(0,n.jsxs)("div",{children:[(0,n.jsxs)("div",{children:[(0,n.jsx)("b",{style:{color:"#fff"},children:e.searchesMonth})," of ",o.monthly||"no limit"," this month · resets ",k(e.monthResets)]}),(0,n.jsx)(I,{used:e.searchesMonth,cap:o.monthly})]}),(0,n.jsxs)("div",{children:[(0,n.jsxs)("div",{children:[(0,n.jsx)("b",{style:{color:"#fff"},children:a})," of ",o.profiles," profile views today"]}),(0,n.jsx)(I,{used:e.unreadable?o.profiles:e.profilesToday,cap:o.profiles})]})]}),(0,n.jsxs)("div",{style:{display:"flex",gap:8,alignItems:"center",flexWrap:"wrap",marginTop:10},children:[(0,n.jsx)("span",{children:"Budget:"}),(0,n.jsx)("select",{value:o.daily,disabled:i,onChange:e=>l({daily:Number(e.target.value)}),style:R,children:j.map(e=>(0,n.jsxs)("option",{value:e,children:[e," a day"]},e))}),(0,n.jsx)("select",{value:o.monthly,disabled:i,onChange:e=>l({monthly:Number(e.target.value)}),style:R,children:w.map(e=>(0,n.jsx)("option",{value:e,children:e?`${e} a month`:"no monthly cap (Premium)"},e))}),(0,n.jsx)("select",{value:o.profiles,disabled:i,onChange:e=>r({profiles:Number(e.target.value)}),style:R,children:v.map(e=>(0,n.jsxs)("option",{value:e,children:[e," profile views a day"]},e))})]}),(0,n.jsx)("div",{style:{marginTop:8,color:"#778",lineHeight:1.6},children:"Every page of someone’s connections is one search. LinkedIn limits a free account’s people searches by the month (it doesn’t say how many; reports put it around 250–350), resetting on the 1st. When a budget is used, a scan saves what it read and stops; the next one carries on from the same page."}),d&&(0,n.jsxs)("div",{style:{marginTop:8,display:"flex",gap:10,alignItems:"center",flexWrap:"wrap",color:"#FFD700",lineHeight:1.6},children:[(0,n.jsx)("b",{style:{flex:1,minWidth:200},children:d}),(0,n.jsxs)("button",{onClick:()=>r(x),disabled:i,style:{...R,cursor:i?"not-allowed":"pointer",color:"#FFD700",borderColor:"rgba(255,215,0,0.4)"},children:["Back to ",x.daily," a day, ",x.monthly," a month"]})]}),(0,n.jsx)("div",{style:{marginTop:6,color:"#778",lineHeight:1.6},children:"Each circle scan opens the person’s profile once, which is one profile view. Profile views are what LinkedIn restricted an account for, after about 20 in an hour. The scanner opens at most one a minute, and once today’s are used, a scan stops before the next profile and tries that person next time."})]})}function C({paused:e=[],onResume:i,onResumeAll:o,disabled:s}){let[a,r]=(0,t.useState)(!1);if(!e.length)return null;let l=e.filter(e=>e.legacy).length,d=a?e:e.slice(0,8);return(0,n.jsxs)("div",{style:{borderRadius:8,border:b,background:"rgba(255,255,255,0.03)"},children:[(0,n.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:10,padding:"10px 14px",borderBottom:b,flexWrap:"wrap"},children:[(0,n.jsxs)("div",{style:{flex:1,minWidth:200},children:[(0,n.jsxs)("b",{style:{fontSize:13.5},children:["Paused — ",e.length," ",1===e.length?"list":"lists"," with more to read"]}),(0,n.jsxs)("div",{style:{fontSize:12,color:"#8b9a9a",marginTop:2},children:["Each carries on from the page it stopped at",l?`; ${l} were read to page 10 before whole lists were read`:"","."]})]}),(0,n.jsx)("button",{onClick:o,disabled:s,style:{...z,opacity:s?.4:1,cursor:s?"not-allowed":"pointer",background:s?"rgba(255,255,255,0.06)":"linear-gradient(135deg, #3498DB, #9B59B6)"},children:"Resume all"})]}),(0,n.jsx)("div",{children:d.map(e=>(0,n.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:10,padding:"8px 14px",borderBottom:"1px solid rgba(255,255,255,0.04)"},children:[(0,n.jsx)("span",{style:{width:8,height:8,borderRadius:"50%",background:m[e.tier]||"#667",flexShrink:0}}),(0,n.jsxs)("div",{style:{flex:1,minWidth:0},children:[(0,n.jsx)("div",{style:{fontSize:13,fontWeight:600,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:e.name}),(0,n.jsxs)("div",{style:{fontSize:11.5,color:"#8b9a9a"},children:["Read to page ",e.pagesRead," · carries on at ",e.nextPage,e.at?` \xb7 ${k(e.at)}`:"",e.unclear>=2?" · came back unclear twice, so it waits at the back of Resume all":""]})]}),(0,n.jsx)("button",{onClick:()=>i(e),disabled:s,style:{...z,padding:"6px 12px",fontSize:12,opacity:s?.4:1,cursor:s?"not-allowed":"pointer"},children:"Resume"})]},e.id))}),e.length>8&&(0,n.jsx)("button",{onClick:()=>r(!a),style:{...W,padding:"10px 14px"},children:a?"Show fewer":`Show all ${e.length}`})]})}let z={padding:"8px 14px",borderRadius:7,fontSize:13,fontWeight:700,cursor:"pointer",border:b,background:"rgba(255,255,255,0.08)",color:"#fff"},W={background:"none",border:"none",color:"#8fb8d6",cursor:"pointer",fontSize:12.5,fontWeight:600,padding:0},R={padding:"6px 8px",borderRadius:6,fontSize:12.5,fontWeight:600,background:"rgba(255,255,255,0.08)",color:"#fff",border:b};var $=e.i(8819),P=e.i(98197);e.i(77170);var F=e.i(69083),L=e.i(56899);let B={color:"#3498DB"};function M({onDone:e}){let[i,o]=(0,t.useState)([]),[s,a]=(0,t.useState)(null),[r,l]=(0,t.useState)(null);async function d(){a("pick"),l(null);let n=await (0,L.saveSettings)({sectorFocus:{sectors:i,strength:"lean"},fieldAsked:!0});n.settings?e(n.settings.sectorFocus.sectors):(l(n.error),a(null))}async function c(){a("skip"),l(null),await (0,L.saveSettings)({fieldAsked:!0}),e([])}return(0,n.jsxs)("section",{"aria-labelledby":"field-question","data-field-question":!0,style:{margin:"8px 0 0",padding:"20px 22px 0",borderRadius:12,border:$.LINE,background:"rgba(255,255,255,0.03)"},children:[(0,n.jsx)("div",{style:{fontSize:12,color:"#788",textTransform:"uppercase",letterSpacing:.6},children:"Before you scan · optional"}),(0,n.jsx)("h2",{id:"field-question",style:{fontSize:18,fontWeight:700,margin:"6px 0 4px"},children:"What field are you in?"}),(0,n.jsx)($.Body,{style:{marginTop:0,marginBottom:14},children:"Pick up to three. Companies in your field count for more when your network is scored, so the people there rank higher. You can change it anytime in Settings."}),(0,n.jsx)(P.default,{sectors:i,onChange:o,disabled:!!s}),(0,n.jsxs)("div",{style:{position:"sticky",bottom:0,margin:"16px -22px 0",padding:"12px 22px 16px",borderTop:$.LINE,borderRadius:"0 0 11px 11px",background:"#111121"},children:[(0,n.jsxs)("div",{style:{display:"flex",gap:8,flexWrap:"wrap"},children:[(0,n.jsx)($.Btn,{primary:!0,onClick:d,disabled:!i.length||!!s,children:"pick"===s?"Saving…":"Continue"}),(0,n.jsx)($.Btn,{onClick:c,disabled:!!s,children:"Skip for now"})]}),r&&(0,n.jsx)($.Status,{tone:"bad",children:r})]})]})}function D({sectors:e}){return e.length?(0,n.jsxs)($.Status,{tone:"ok",children:["Your field: ",e.map(e=>(0,F.sectorByKey)(e).label).join(" · "),". Your first scan is scored with it. Change it anytime in ",(0,n.jsx)(s.default,{href:"/settings#sector",style:B,children:"Settings"}),"."]}):(0,n.jsxs)($.Status,{children:["No field for now. You can pick one anytime in ",(0,n.jsx)(s.default,{href:"/settings#sector",style:B,children:"Settings"}),"."]})}let N="1px solid rgba(255,255,255,0.1)",E={photos:"Saving profile photos to this computer",install:"Installing the scanner",setup:"Setting up the scanner",login:"Waiting for you to sign in",full:"Scanning your whole network",refresh:"Checking for new connections","auto-bridge":"Mapping 2nd-degree connections","auto-bridge-retry":"Mapping 2nd degree, hidden ones included",resume:"Carrying on with one paused list","resume-all":"Carrying on with every paused list"};function O(){let e;(0,t.useEffect)(()=>{"updates"===new URLSearchParams(window.location.search).get("check")&&window.location.replace("/settings?check=updates")},[]);let[o,h]=(0,t.useState)(null),[p,g]=(0,t.useState)(!1),[x,y]=(0,t.useState)(10),[b,m]=(0,t.useState)(["S","A"]),[j,w]=Y("six-degrees-bridge-order","newest"),[v,k]=Y("six-degrees-bridge-pages-v2",100),[I,z]=Y("six-degrees-bridge-finish",!0),[W,R]=Y("six-degrees-experimental-auto",!1),[$,P]=Y(a.HIDE_CHROME_KEY,!1),[F,L]=(0,t.useState)(null),B=(0,t.useRef)(null),[O,H]=(0,t.useState)(void 0),[en,et]=(0,t.useState)(null),ei=(0,i.useSearchParams)().get("scan"),[eo,es]=(0,t.useState)(null);(0,t.useEffect)(()=>{if(!ei)return;let e=!0;return(0,a.pickedPerson)(ei).then(n=>{e&&es(n?.person?n:null)},()=>{}),()=>{e=!1}},[ei]);let ea=(0,t.useCallback)(async()=>{try{let e=await fetch("/api/scraper");h(await e.json())}catch{h(e=>e||{ready:!1,checks:{},log:[]})}},[]);async function er(){L(null),await (0,a.stopScrape)().catch(e=>L(e.message)),ea()}async function el(e,n={}){L(null),g(!0);try{let t=await fetch("/api/scraper",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify((0,a.scanRequest)(e,n,$))}),i=await t.json();t.ok||L(i.error||"Could not start.")}catch(e){L(e.message)}finally{g(!1),ea()}}(0,t.useEffect)(()=>{ea();let e=setInterval(ea,1500);return()=>clearInterval(e)},[ea]),(0,t.useEffect)(()=>{if(l.IS_DEMO)return;let e=!1;return fetch("/api/settings").then(e=>e.ok?e.json():null).then(n=>{e||H(n?.settings||null)}).catch(()=>{e||H(null)}),()=>{e=!0}},[]),(0,t.useEffect)(()=>{B.current&&(B.current.scrollTop=B.current.scrollHeight)},[o?.log?.length]);let ed=o?.checks||{},ec=o?.running,eh={...e=function(e){let n=e?.checks||{},t=(n,t,i)=>e?.running&&e.action===n?i:t;if(n.dependencies)return"bundled"===n.pythonSource?{done:!0,text:"Ready. The scanner and its Python come with the app, so there is nothing to install.",button:null}:"custom"===n.pythonSource?{done:!0,text:`Ready, on the Python named in SIX_DEGREES_PYTHON (${n.pythonPath}).`,button:null}:{done:!0,text:"Installed.",button:null};let i=n.ownPython&&"bundled"!==n.ownPython.source?`The Python named in SIX_DEGREES_PYTHON didn't work (${n.ownPython.problem}), so the scanner needs setting up another way. `:"";if(n.installFrom)return{done:!1,text:i+("downloaded"===n.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:t("install","Install","Installing…")}};if(n.download){let e=Math.round(n.download.size/1048576);return{done:!1,text:`${i}${function(e){if(!e?.version)return"This computer has no Python the scanner can use.";let[n,t]=String(e.version).split(".").map(Number);return 3===n&&t>=10&&t<=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.`}(n.systemPython)} Set up the scanner downloads its own Python ${n.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:t("setup","Set up the scanner","Setting up…")}}}return{done:!1,text:`${i}No Python 3.10 to 3.14 was found on this machine. Install one from python.org, then reload.`,button:null}}(o),note:function(e,{done:n,button:t}){if(e?.source!=="bundled")return null;let i=/SIGKILL|code signature|not valid for use in process|quarantine|not permitted/i.test(e.problem||""),o=[`The Python that comes with the app didn't work (${e.problem}).`];return i&&o.push("macOS may have blocked it."),!1===e.retry&&o.push("Six Degrees won't try it again until you restart it."),n?o.push("The scanner uses another Python on this computer instead."):t?o.push(`To scan now, use ${r[t.action]} below: it gives the scanner a Python of its own in your data folder.`):o.push("To scan now, install Python 3.10 to 3.14 from python.org, then reload."),o.join(" ")}(o?.checks?.ownPython,e)};o&&ed.dependencies;let ep=o&&!ed.chrome,eg=o&&!ed.scriptsFound,eu=o?.ready&&!ec,ef=o?.linkedin,ex=!!ef?.cooldown,ey=eu&&!ex,eb=o?.network||{first:0,second:0,third:0},em=eb.first,ej=o&&eh.done?ed.signedIn?0===em?3:4:2:1,ew=(e,n)=>n&&e!==ej?"done":e===ej?"now":e<ej?"done":"next",ev=!l.IS_DEMO&&!en&&function(e,n){if(!e)return null;let t=e.network;return!!t&&!t.first&&!t.second&&!t.third&&!e.running&&(void 0===n?null:!!(n&&!n.fieldAsked&&!n.sectorFocus?.sectors?.length))}(o,O),ek=o&&!ec&&null!=o.exitCode&&0!==o.exitCode,eS=ek?o.failure?.length?o.failure.join("\n"):[...o.log||[]].reverse().find(e=>!/^Stopped \(exit/.test(e)&&!/Warning|warnings\.warn/.test(e)):null;return(0,n.jsxs)("div",{style:{minHeight:"100vh",background:"var(--sd-page)",color:"#fff",fontFamily:"var(--sd-font)"},children:[(0,n.jsx)(f.default,{active:"scan",brand:"span"}),(0,n.jsxs)("div",{style:{maxWidth:720,margin:"0 auto",padding:"32px 24px 64px"},children:[(0,n.jsxs)("div",{style:{padding:"26px 26px 22px",borderRadius:16,marginBottom:22,position:"relative",overflow:"hidden",background:"radial-gradient(120% 140% at 0% 0%, rgba(0,255,136,0.10), rgba(52,152,219,0.06) 45%, rgba(255,255,255,0.02) 75%)",border:"1px solid rgba(0,255,136,0.22)"},children:[(0,n.jsx)("div",{style:{fontSize:11,fontWeight:800,letterSpacing:1.6,color:"#00ff88"},children:"YOUR SCANNER"}),(0,n.jsx)("h1",{style:{fontSize:27,fontWeight:800,margin:"6px 0 8px",lineHeight:1.2},children:em>0?"Your network is mapped. Send the scanner further.":"Map your network in four steps."}),(0,n.jsx)("div",{style:{fontSize:14.5,color:"#aab7c4",lineHeight:1.6,maxWidth:560},children:"It works in your own Chrome on this Mac, slowly and in the open, and keeps everything here. You launch it; it does the reading; you watch it go."}),(0,n.jsx)("div",{style:{display:"flex",gap:"8px 18px",flexWrap:"wrap",marginTop:16},children:["Never posts or messages anyone","Never sees your password","Nothing leaves this Mac","Stops the moment you say"].map(e=>(0,n.jsxs)("span",{style:{fontSize:12.5,color:"#cfe8dc",display:"flex",alignItems:"center",gap:6},children:[(0,n.jsx)("span",{style:{color:"#00ff88",fontWeight:900},children:"✓"}),e]},e))})]}),null===ev&&(0,n.jsx)("p",{style:{color:"#778",fontSize:13},children:"Checking your setup…"}),ev&&(0,n.jsx)(M,{onDone:function(e){et({sectors:e}),window.scrollTo(0,0)}}),en&&(0,n.jsx)(D,{sectors:en.sectors}),!1===ev&&(0,n.jsxs)(n.Fragment,{children:[eo?.person.id===ei&&(0,n.jsx)(A,{pick:eo,pages:v,setPages:k,li:ef,running:ec,s:o,canSearch:ey,busy:p,onUnpick:function(){es(null);try{window.history.replaceState(null,"",window.location.pathname)}catch{}},onStart:()=>el("bridge",{id:eo.person.id,maxPages:v})}),em>0&&!ec&&(0,n.jsx)(Z,{children:(0,n.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:14,flexWrap:"wrap"},children:[(0,n.jsxs)("div",{style:{flex:1,minWidth:200},children:[(0,n.jsxs)("b",{children:[em.toLocaleString()," connections"]}),eb.second>0&&(0,n.jsxs)(n.Fragment,{children:[", plus ",eb.second.toLocaleString()," people in their circles"]}),eb.third>0&&(0,n.jsxs)(n.Fragment,{children:[" and ",eb.third.toLocaleString()," from company scans"]}),"."," ",(0,n.jsx)("span",{style:{color:"#9aa"},children:"Your galaxy is ready."})]}),(0,n.jsx)(s.default,{href:"/",style:{padding:"9px 18px",borderRadius:7,fontSize:13.5,fontWeight:700,color:"#0a0a1a",textDecoration:"none",background:"linear-gradient(135deg, #FFD700, #FF6B35)"},children:"See your network →"})]})}),o?.photosWaiting>0&&!ec&&(0,n.jsx)(Z,{children:(0,n.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:14,flexWrap:"wrap"},children:[(0,n.jsxs)("div",{style:{flex:1,minWidth:200},children:[(0,n.jsxs)("b",{children:[o.photosWaiting.toLocaleString()," ",1===o.photosWaiting?"photo isn’t":"photos aren’t"," saved on this computer yet."]})," ",(0,n.jsx)("span",{style:{color:"#9aa"},children:"An older version kept them as links to LinkedIn. The app doesn’t load photos from LinkedIn while you browse, so those people show initials until the photos are saved here: now, or at the end of your next scan. An expired link can’t be saved; that person’s photo comes back when they’re next scanned."}),o&&!ed.dependencies&&(0,n.jsx)("div",{style:{color:"#8b9a9a",fontSize:12.5,marginTop:6},children:"Set up the scanner first (step 1 below): it saves them."})]}),(0,n.jsx)(V,{onClick:()=>el("photos"),disabled:p||!ed.dependencies,children:"Save photos"})]})}),ek&&(0,n.jsxs)(Z,{tone:"bad",children:[(0,n.jsx)("b",{children:"The last run stopped before it finished."}),eS&&(0,n.jsx)("div",{style:{marginTop:6,color:"#e8c4c4",whiteSpace:"pre-wrap",fontFamily:"ui-monospace, SFMono-Regular, Menlo, monospace",fontSize:12.5},children:eS}),(0,n.jsx)("div",{style:{color:"#9aa",marginTop:6},children:"The full log is below."})]}),eg&&(0,n.jsxs)(Z,{tone:"bad",children:[(0,n.jsx)("b",{children:"Can’t find the scanner files."}),(0,n.jsx)("br",{}),(0,n.jsxs)("span",{style:{color:"#9aa"},children:["Expected ",(0,n.jsx)("code",{style:_,children:"scripts/scrape.py"})," next to the app. If you downloaded a zip, run the app from inside the project folder."]})]}),ep&&(0,n.jsxs)(Z,{tone:"bad",children:[(0,n.jsx)("b",{children:"Google Chrome isn’t installed."}),(0,n.jsx)("br",{}),(0,n.jsxs)("span",{style:{color:"#9aa"},children:["The scanner drives your real Chrome. Install it from"," ",(0,n.jsx)("a",{href:"https://www.google.com/chrome/",target:"_blank",rel:"noreferrer",style:{color:"#3498DB"},children:"google.com/chrome"}),", then reload this page."]})]}),o&&eh.note&&(0,n.jsx)(Z,{tone:eh.done?void 0:"bad",children:eh.note}),(0,n.jsxs)("div",{role:"list","aria-label":"Scanning, step by step",style:{margin:"4px 0 8px"},children:[(0,n.jsx)("style",{children:U}),(0,n.jsx)(K,{n:1,label:"Get ready",state:ew(1,eh.done),children:(0,n.jsx)(q,{title:"Get your scanner ready",time:"A minute or two, once",done:eh.done,body:o?eh.text:"Checking…",launch:o&&eh.button&&(0,n.jsx)(X,{onClick:()=>el(eh.button.action),disabled:p||ec,children:eh.button.label})})}),(0,n.jsx)(K,{n:2,label:"Sign in",state:ew(2,!!ed.signedIn),children:(0,n.jsx)(q,{title:"Sign in to LinkedIn, once",time:"You do this part",done:!!ed.signedIn,body:ed.signedIn?"Signed in on this Mac. If LinkedIn ever asks for a security check, or a scan says you were signed out, open LinkedIn here and finish it by hand.":"A Chrome window opens. Sign in with your email and password there: the scanner never sees them. (“Continue with Google” can’t work in it, because Google blocks its sign-in in automated browsers.)",launch:ed.dependencies&&(0,n.jsx)(X,{onClick:()=>el("login"),disabled:p||ec||ej<2,quiet:!!ed.signedIn,children:ec&&"login"===o.action?"Waiting for you…":ed.signedIn?"Open LinkedIn again":"Open LinkedIn"})})}),(0,n.jsx)(K,{n:3,label:"Who you know",state:ew(3,em>0),children:(0,n.jsx)(q,{title:"Map the people you know",time:"About a minute and a half for 750 people",done:em>0,body:em>0?`${em.toLocaleString()} connections saved. Check for new picks up anyone you've added since; Scan it all again reads the whole list.`:"It reads your connections list and saves everyone here. After the first time, Check for new only looks at who you've added since.",launch:(0,n.jsx)(X,{onClick:()=>el("full"),disabled:!ey||ej<3,quiet:em>0,children:ec&&"full"===o.action?"Scanning…":em>0?"Scan it all again":"Scan my network"}),more:em>0&&(0,n.jsx)(V,{onClick:()=>el("refresh"),disabled:!ey||ej<3,primary:!0,children:ec&&"refresh"===o.action?"Checking…":"↻ Check for new"})})}),(0,n.jsx)(K,{n:4,label:"Who they know",state:ew(4,!1),last:!0,children:(0,n.jsxs)(q,{title:"Map who they know",time:"A small batch a day, slowly",body:(0,n.jsxs)(n.Fragment,{children:["It opens your connections one at a time and reads who ",(0,n.jsx)("i",{children:"they"})," know: that fills Degrees, Separation and Outlink. Every round picks up where the last one stopped."]}),children:[(0,n.jsx)(S,{cooldown:ef?.cooldown,disabled:p,onLift:()=>el("lift-cooldown")}),(0,n.jsxs)("div",{style:{display:"flex",gap:24,flexWrap:"wrap",alignItems:"center",marginTop:4},children:[(0,n.jsx)(u,{li:ef,running:!!ec,scanning:!!(ec&&o?.action?.startsWith("auto-bridge")),disabled:!ey||"score"===j&&!b.length,label:ec&&o?.action==="auto-bridge"?"Mapping…":"Map 2nd degree",sublabel:x?`${x} people`:"everyone",onScan:()=>el("auto-bridge",{maxBridges:x,tiers:"score"===j?b:[],order:j,maxPages:v,deeper:I,experimental:W}),onPace:p?void 0:e=>el("set-limits",{...ef?.limits||{},pace:e})}),(0,n.jsxs)("div",{style:{flex:"1 1 230px",display:"flex",flexDirection:"column",gap:12},children:[(0,n.jsxs)("label",{style:{display:"flex",gap:10,alignItems:"center",fontSize:13,color:"#cfd8d8"},children:["This round",(0,n.jsxs)("select",{value:x,onChange:e=>y(Number(e.target.value)),disabled:ec,style:G,children:[(0,n.jsx)("option",{value:5,children:"5 people"}),(0,n.jsx)("option",{value:10,children:"10 people"}),(0,n.jsx)("option",{value:25,children:"25 people"}),(0,n.jsx)("option",{value:0,children:"everyone — not advised"})]})]}),(0,n.jsxs)("label",{style:{display:"flex",gap:10,alignItems:"center",fontSize:13,color:"#cfd8d8"},children:["Start with",(0,n.jsxs)("select",{value:j,onChange:e=>w(e.target.value),disabled:ec,style:G,children:[(0,n.jsx)("option",{value:"newest",children:"Newest connections"}),(0,n.jsx)("option",{value:"score",children:"Highest tier"})]})]}),"score"===j&&(0,n.jsxs)("div",{style:{display:"flex",gap:8,alignItems:"center",flexWrap:"wrap"},children:[(0,n.jsx)("span",{style:{fontSize:12,color:"#8b9a9a"},children:"Work through"}),["S","A","B","C","D"].map(e=>{let t=b.includes(e);return(0,n.jsx)("button",{onClick:()=>m(n=>n.includes(e)?n.filter(n=>n!==e):[...n,e]),disabled:ec,style:{width:30,height:28,borderRadius:7,fontSize:12,fontWeight:700,cursor:ec?"not-allowed":"pointer",border:N,background:t?"rgba(52,152,219,0.22)":"rgba(255,255,255,0.05)",color:t?"#cfe6f7":"#667"},children:e},e)}),(0,n.jsx)("span",{style:{fontSize:11.5,color:"#667"},children:b.length?"":"pick at least one"})]}),"newest"===j&&(0,n.jsxs)("div",{style:{fontSize:12,color:"#8b9a9a",lineHeight:1.6},children:["Goes by the date you connected, newest first, across every tier. Run"," ",(0,n.jsx)("b",{children:"Check for new"})," first so your latest connections are in the list."]}),(0,n.jsx)(J,{})]})]})]})})]}),ec&&(0,n.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:12,marginTop:20,padding:"14px 16px",borderRadius:8,background:"rgba(0,255,136,0.06)",border:"1px solid rgba(0,255,136,0.3)"},children:[(0,n.jsx)(ee,{}),(0,n.jsxs)("div",{style:{flex:1,fontSize:13.5},children:[(0,n.jsx)("div",{style:{fontSize:11,fontWeight:800,letterSpacing:1.2,color:"#00ff88",marginBottom:2},children:"YOUR SCANNER IS WORKING"}),(0,n.jsx)("b",{children:E[o.action]||"Working"}),o.progress&&(0,n.jsx)(Q,{p:o.progress,action:o.action}),(0,n.jsx)("div",{style:{color:"#8b9a9a",fontSize:12.5,marginTop:2},children:"Stopping closes the browser cleanly and keeps everything found so far."})]}),(0,n.jsx)(V,{onClick:er,tone:"bad",children:"Stop"})]}),(0,n.jsxs)("details",{style:{margin:"18px 0 4px",borderRadius:10,border:N,background:"rgba(255,255,255,0.02)"},children:[(0,n.jsxs)("summary",{style:{padding:"12px 16px",cursor:"pointer",fontSize:13.5,fontWeight:650,color:"#cfd8d8"},children:["Fine-tune the scanner",(0,n.jsx)("span",{style:{fontWeight:500,color:"#778",marginLeft:8},children:"daily budget, how much of each list, the hidden window, paused lists"})]}),(0,n.jsxs)("div",{style:{padding:"4px 16px 16px",display:"flex",flexDirection:"column",gap:12},children:[(0,n.jsx)(T,{li:ef,disabled:p,onSetLimits:e=>el("set-limits",e)}),(0,n.jsxs)("label",{style:{display:"flex",gap:10,alignItems:"center",fontSize:12.5,color:"#cfd8d8"},children:["Read up to",(0,n.jsxs)("select",{value:v,onChange:e=>k(Number(e.target.value)),disabled:ec,style:G,children:[(0,n.jsx)("option",{value:100,children:"every page, to the end of their list"}),(0,n.jsx)("option",{value:50,children:"50 pages each"}),(0,n.jsx)("option",{value:25,children:"25 pages each"}),(0,n.jsx)("option",{value:10,children:"10 pages (~100 people) each"})]})]}),(0,n.jsxs)("label",{style:{display:"flex",gap:8,alignItems:"center",fontSize:12.5,color:"#cfd8d8",cursor:ec?"not-allowed":"pointer"},children:[(0,n.jsx)("input",{type:"checkbox",checked:I,onChange:e=>z(e.target.checked),disabled:ec}),"Also finish people already mapped, from the page each one stopped at"]}),(0,n.jsxs)("label",{style:{display:"flex",gap:8,alignItems:"flex-start",fontSize:12.5,color:"#b8c4c4",cursor:ec?"default":"pointer"},children:[(0,n.jsx)("input",{type:"checkbox",checked:W,disabled:ec,style:{marginTop:3},onChange:e=>{R(e.target.checked),window.dispatchEvent(new Event("six-degrees:experimental"))}}),(0,n.jsxs)("span",{children:[(0,n.jsx)("b",{style:{color:"#FFD700"},children:"Experimental:"})," all-day pacing. Up to 8 pages in a sitting, then an hour’s rest; searches only from 9:00 to 18:00; never more than 40 searches in a day or 200 in a week, however high your budget; two days’ rest after any check from LinkedIn; at the budget it waits instead of stopping; and it saves every page. It also reads LinkedIn’s own data beside the page text, to fill gaps and measure how the two compare. It keeps running while the app is open."]})]}),(0,n.jsxs)("label",{style:{display:"flex",gap:8,alignItems:"flex-start",fontSize:12.5,color:"#b8c4c4",cursor:ec?"default":"pointer"},children:[(0,n.jsx)("input",{type:"checkbox",checked:$,disabled:ec,style:{marginTop:3},onChange:e=>P(e.target.checked)}),(0,n.jsxs)("span",{children:[(0,n.jsx)("b",{style:{color:"#FFD700"},children:"Hide the Chrome window while scanning."})," Every scan runs with no window popping up; the status bar still shows what it’s doing, and Stop still works. Signing in always opens the window.",(0,n.jsx)("span",{style:{display:"block",marginTop:4,color:"#e0a080"},children:"The risks: a hidden Chrome is easier for LinkedIn to tell apart from a person, so it may make a warning or restriction more likely. If LinkedIn asks you to check it’s you (a code, a puzzle, signing in again) you won’t see it, and the scan will stop instead of waiting for you. Untick this and scan again to see what LinkedIn wants. It changes nothing about pacing or your daily budget."})]})]}),(0,n.jsxs)("div",{style:{fontSize:12,color:"#FFD700",lineHeight:1.6},children:["Every page is a LinkedIn search, so at ",(0,c.paceOf)(ef?.limits?.pace).label," it rests"," ",(0,c.paceOf)(ef?.limits?.pace).pagePause," seconds before each one and"," ",(0,c.paceOf)(ef?.limits?.pace).chunkCooldown/60==1?"a minute":`${(0,c.paceOf)(ef?.limits?.pace).chunkCooldown/60} minutes`," after every 10, and a long list can take"," ","about ",(0,d.circleScanCost)(v,ef?.limits?.pace).minutes," minutes a person. LinkedIn shows 100 pages of anyone’s connections at most. Free accounts have a monthly search limit: if LinkedIn says it has been reached, the scan saves what it read and stops, and carries on from that page next time. Keep batches small."]}),(0,n.jsxs)("div",{children:[(0,n.jsx)(V,{onClick:()=>el("auto-bridge-retry",{maxBridges:x,tiers:"score"===j?b:[],order:j,maxPages:v,deeper:I}),disabled:!ey||"score"===j&&!b.length,children:"Retry hidden ones"}),(0,n.jsx)("span",{style:{fontSize:12,color:"#8b9a9a",marginLeft:10},children:"People whose list was hidden last time, in case they’ve opened it."})]}),(0,n.jsx)(C,{paused:o?.paused||[],disabled:!ey,onResume:e=>el("resume",{id:e.id}),onResumeAll:()=>el("resume-all",{maxBridges:x})})]})]}),F&&(0,n.jsx)(Z,{tone:"bad",children:F}),o?.log?.length>0&&(0,n.jsxs)("details",{open:ek,style:{marginTop:20},children:[(0,n.jsxs)("summary",{style:{display:"flex",alignItems:"center",gap:10,cursor:"pointer",margin:"8px 0",fontSize:12,color:"#788",textTransform:"uppercase",letterSpacing:.6},children:[ec&&(0,n.jsx)(ee,{}),ec?"What it’s doing (the log)":"The last run’s log"]}),(0,n.jsx)("pre",{ref:B,style:{background:"rgba(0,0,0,0.45)",border:N,borderRadius:8,padding:14,maxHeight:280,overflow:"auto",margin:0,fontSize:12.5,lineHeight:1.7,color:"#b9c6c6",fontFamily:"ui-monospace, SFMono-Regular, Menlo, monospace",whiteSpace:"pre-wrap",wordBreak:"break-word"},children:o.log.join("\n")})]})]}),(0,n.jsxs)("div",{style:{marginTop:32,paddingTop:20,borderTop:N,fontSize:13.5,color:"#8b9a9a"},children:["Checking for updates has moved to"," ",(0,n.jsx)(s.default,{href:"/settings#updates",style:{color:"#3498DB"},children:"Settings →"})]}),(0,n.jsxs)("p",{style:{color:"#667",fontSize:12.5,lineHeight:1.7,marginTop:32},children:["Automating LinkedIn may go against its User Agreement, and accounts have been restricted for it. This runs locally against your own account, at your own risk. LinkedIn’s own CSV export is the supported route and needs none of this —"," ",(0,n.jsx)(s.default,{href:"/import",style:{color:"#3498DB"},children:"import a CSV instead"}),"."]})]}),(0,n.jsx)("style",{children:`@keyframes spin { to { transform: rotate(360deg) } }
15
- @keyframes slide { 0% { transform: translateX(-100%) } 100% { transform: translateX(300%) } }`})]})}function A({pick:e,pages:t,setPages:i,li:o,running:a,s:r,canSearch:l,busy:c,onStart:h,onUnpick:p}){let{person:g,circle:u}=e,f=String(g.name||"").trim().split(/\s+/)[0]||"them",x=(0,d.circleScanCost)(t,o?.limits?.pace),y=a&&r?.target?.id===g.id,b=o?.leftToday!=null&&o.leftToday<x.searches;return(0,n.jsxs)("div",{style:{margin:"16px 0",padding:"16px 18px",borderRadius:10,fontSize:13.5,lineHeight:1.6,background:"rgba(0,255,136,0.05)",border:"1px solid rgba(0,255,136,0.3)"},children:[(0,n.jsx)("div",{style:{fontSize:11,fontWeight:700,color:"#00ff88",letterSpacing:.6,textTransform:"uppercase",marginBottom:4},children:"Scan one circle"}),(0,n.jsxs)("div",{style:{fontSize:16,fontWeight:700},children:[g.name," ",(0,n.jsxs)("span",{style:{fontSize:12,color:H[g.tier]||"#888"},children:[g.tier,"-tier"]})]}),g.unlocked_from_name&&(0,n.jsxs)("div",{style:{fontSize:12.5,color:"#9aa"},children:["Was in ",g.unlocked_from_name,"’s circle"]}),y?(0,n.jsxs)("div",{style:{marginTop:10},children:[(0,n.jsxs)("b",{children:["Scanning ",f,"’s circle."]})," It saves every 10 pages, and"," ",(0,n.jsx)(s.default,{href:`/?chain=${encodeURIComponent(g.id)}`,style:{color:"#00ff88"},children:"Bridge Chains shows it filling in →"})]}):(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)("div",{style:{color:"#b8c4c4",marginTop:10},children:["It costs ",(0,n.jsxs)("b",{children:[x.profileViews," profile view"]})," to find their list, then ",(0,n.jsx)("b",{children:"one LinkedIn search for every page"})," of it: up to ",x.searches," ",1===x.searches?"page":"pages",", about ",x.minutes," minutes.",o?.leftToday!=null&&(0,n.jsxs)(n.Fragment,{children:[" ",(0,n.jsx)("b",{children:o.leftToday})," of your ",o.limits?.daily," searches a day are left",b?"; the scan stops when they run out, and can carry on from that page later":"","."]})]}),"scanned"===u&&(0,n.jsx)("div",{style:{color:"#FFD700",fontSize:12.5,marginTop:6},children:"Their circle is already scanned. This reads their whole list again from page 1; to carry on from where a read stopped, use Resume on their card or in the Paused list below."}),"hidden"===u&&(0,n.jsx)("div",{style:{color:"#FFD700",fontSize:12.5,marginTop:6},children:"Their list was hidden last time it was tried. Trying again costs a profile view."}),(0,n.jsxs)("div",{style:{display:"flex",gap:10,alignItems:"center",flexWrap:"wrap",marginTop:12},children:[(0,n.jsxs)(V,{onClick:h,disabled:!l||c,primary:!0,children:["Scan ",f,"’s circle"]}),(0,n.jsxs)("select",{value:t,onChange:e=>i(Number(e.target.value)),disabled:a,style:G,"aria-label":"How many pages of their list to read",children:[(0,n.jsx)("option",{value:100,children:"every page, to the end of their list"}),(0,n.jsx)("option",{value:50,children:"up to 50 pages"}),(0,n.jsx)("option",{value:25,children:"up to 25 pages"}),(0,n.jsx)("option",{value:10,children:"up to 10 pages (~100 people)"})]}),(0,n.jsx)(V,{onClick:p,children:"Not now"})]}),!l&&(0,n.jsx)("div",{style:{fontSize:12.5,color:"#8b9a9a",marginTop:8},children:a?"Something else is running. One scan at a time: this one can start when it finishes.":o?.cooldown?"Scanning is paused for now (see below).":"The scanner isn’t ready yet: finish the steps below first."})]})]})}let H=y.TIER_COLORS;function Y(e,n){let[i,o]=(0,t.useState)(n);return(0,t.useEffect)(()=>{try{let n=localStorage.getItem(e);null!==n&&o(JSON.parse(n))}catch{}},[e]),[i,n=>{o(n);try{localStorage.setItem(e,JSON.stringify(n))}catch{}}]}let _={background:"rgba(255,255,255,0.08)",padding:"1px 5px",borderRadius:4},G={padding:"9px 10px",borderRadius:7,fontSize:13.5,fontWeight:600,background:"rgba(255,255,255,0.08)",color:"#fff",border:N},U=`
16
- @keyframes stepPulse { 0%, 100% { box-shadow: 0 0 0 0 rgba(0,255,136,.45); } 50% { box-shadow: 0 0 0 7px rgba(0,255,136,0); } }
17
- .journey-now { animation: stepPulse 2.2s ease-in-out infinite; }
18
- .launch-go { transition: transform .15s ease, box-shadow .2s ease, filter .2s ease; }
19
- .launch-go:not(:disabled):hover { transform: translateY(-1px); box-shadow: 0 8px 30px rgba(0,255,136,.35); filter: brightness(1.08); }
20
- .launch-go:not(:disabled):active { transform: translateY(0) scale(.98); }
21
- @media (prefers-reduced-motion: reduce) { .journey-now { animation: none; } }
22
- `;function K({n:e,label:t,state:i,last:o=!1,children:s}){let a="done"===i,r="now"===i;return(0,n.jsxs)("div",{role:"listitem","aria-label":`Step ${e}, ${t}: ${a?"done":r?"the one to do now":"still to come"}`,style:{display:"grid",gridTemplateColumns:"40px 1fr",columnGap:14},children:[(0,n.jsxs)("div",{style:{position:"relative",display:"flex",justifyContent:"center"},children:[(0,n.jsx)("span",{className:r?"journey-now":void 0,"aria-hidden":"true",style:{position:"relative",zIndex:1,width:38,height:38,borderRadius:"50%",display:"grid",placeItems:"center",fontSize:15,fontWeight:800,background:a?"rgba(0,255,136,0.16)":r?"linear-gradient(135deg, #00ff88, #1abc9c)":"#12142a",color:a?"#00ff88":r?"#04140c":"#778",border:`2px solid ${a?"rgba(0,255,136,0.55)":r?"transparent":"rgba(255,255,255,0.14)"}`},children:a?"✓":e}),!o&&(0,n.jsx)("span",{"aria-hidden":"true",style:{position:"absolute",top:40,bottom:0,left:"50%",width:2,marginLeft:-1,borderRadius:1,background:a?"linear-gradient(rgba(0,255,136,0.75), rgba(0,255,136,0.3))":"rgba(255,255,255,0.1)"}})]}),(0,n.jsxs)("div",{style:{minWidth:0,paddingBottom:16*!o,opacity:"next"===i?.75:1},children:[(0,n.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:10,minHeight:38,marginBottom:6},children:[(0,n.jsxs)("span",{style:{fontSize:12,fontWeight:800,letterSpacing:1.2,textTransform:"uppercase",color:a?"#00ff88":r?"#fff":"#889"},children:["Step ",e," · ",t]}),(0,n.jsx)("span",{style:{fontSize:10.5,fontWeight:800,padding:"2px 8px",borderRadius:10,color:a?"#00ff88":r?"#04140c":"#889",background:a?"rgba(0,255,136,0.12)":r?"#00ff88":"rgba(255,255,255,0.06)"},children:a?"Done":r?"Now":"Next"})]}),s]})]})}function q({title:e,time:t,body:i,launch:o,more:s,done:a=!1,children:r}){return(0,n.jsxs)("div",{style:{padding:a?"14px 18px":"18px 20px",borderRadius:14,background:a?"rgba(0,255,136,0.03)":"rgba(255,255,255,0.035)",border:`1px solid ${a?"rgba(0,255,136,0.18)":"rgba(255,255,255,0.1)"}`},children:[(0,n.jsxs)("div",{style:{display:"flex",alignItems:"baseline",gap:10,flexWrap:"wrap"},children:[(0,n.jsx)("span",{style:{fontSize:a?16:19,fontWeight:800},children:e}),t&&!a&&(0,n.jsxs)("span",{style:{fontSize:12,color:"#8fd9b6",marginLeft:"auto"},children:["⏱ ",t]})]}),(0,n.jsx)("div",{style:{fontSize:a?13:14,color:"#9fb0bb",lineHeight:1.6,margin:a?"6px 0 10px":"8px 0 14px",maxWidth:600},children:i}),r,(o||s)&&(0,n.jsxs)("div",{style:{display:"flex",gap:10,alignItems:"center",flexWrap:"wrap"},children:[o,s]})]})}function X({children:e,onClick:t,disabled:i,quiet:o=!1}){return(0,n.jsxs)("button",{type:"button",className:"launch-go",onClick:t,disabled:i,style:{display:"inline-flex",alignItems:"center",gap:10,padding:o?"10px 18px":"13px 26px",borderRadius:12,fontSize:o?14:16,fontWeight:800,cursor:i?"not-allowed":"pointer",color:i?"#667":o?"#cfe8dc":"#04140c",border:o?"1px solid rgba(0,255,136,0.35)":"none",background:i?"rgba(255,255,255,0.06)":o?"rgba(0,255,136,0.08)":"linear-gradient(135deg, #00ff88, #1abc9c)",boxShadow:i||o?"none":"0 4px 22px rgba(0,255,136,0.25)"},children:[(0,n.jsx)("span",{"aria-hidden":"true",style:{fontSize:o?11:13},children:"▶"}),e]})}function J(){return(0,n.jsxs)("details",{style:{fontSize:12.5,color:"#8b9a9a",lineHeight:1.6},children:[(0,n.jsx)("summary",{style:{cursor:"pointer",color:"#aab7c4",fontWeight:600},children:"Why so slow?"}),(0,n.jsxs)("div",{style:{marginTop:6},children:["This is the part LinkedIn notices. While this app was being built, a real account was restricted for a while after roughly ",(0,n.jsx)("b",{children:"19 people in one sitting"}),". So: a small batch, a day’s rest, another batch, and stop the moment LinkedIn mentions unusual activity. Most people hide their connections; those are noted and never tried again. A list is read to the end, saving every 10 pages, and a stopped read carries on from the same page."]})]})}function V({children:e,onClick:t,disabled:i,primary:o,tone:s}){return(0,n.jsx)("button",{onClick:t,disabled:i,style:{padding:"9px 18px",borderRadius:7,fontSize:13.5,fontWeight:650,color:i?"#667":"#fff",background:i?"rgba(255,255,255,0.05)":"bad"===s?"rgba(255,80,80,0.15)":o?"linear-gradient(135deg, #9B59B6, #3498DB)":"rgba(255,255,255,0.08)",border:N,cursor:i?"not-allowed":"pointer"},children:e})}function Z({children:e,tone:t}){return(0,n.jsx)("div",{style:{margin:"16px 0",padding:"14px 16px",borderRadius:8,fontSize:13.5,lineHeight:1.6,background:"bad"===t?"rgba(255,80,80,0.08)":"rgba(255,255,255,0.05)",border:`1px solid ${"bad"===t?"rgba(255,80,80,0.3)":"rgba(255,255,255,0.12)"}`},children:e})}function Q({p:e,action:t}){let i;if("saving"===e.kind)return(0,n.jsxs)("div",{style:{margin:"8px 0 6px"},children:[(0,n.jsx)("div",{role:"progressbar","aria-label":"Saving",style:{height:8,borderRadius:4,overflow:"hidden",background:"rgba(255,255,255,0.08)",marginBottom:6},children:(0,n.jsx)("div",{style:{width:"35%",height:"100%",borderRadius:4,background:"linear-gradient(90deg, #9B59B6, #3498DB)",animation:"slide 1.2s ease-in-out infinite"}})}),(0,n.jsx)("div",{style:{fontSize:12.5,color:"#cfe6f7"},children:"Saving to your network and fetching photos — this can take a minute or two."})]});let o=Math.max(0,Math.min(100,Math.round(e.done/e.total*100)));return i="download"===e.kind?`Downloading Python: ${e.done.toFixed(1)} of ${e.total.toFixed(1)} MB \xb7 ${o}%`:"batch"===e.kind?`Person ${e.current} of ${e.total}`:"refresh"===t?`Looked at ${e.done.toLocaleString()} so far — stops once it reaches people already saved`:`${e.done.toLocaleString()} of ${e.total.toLocaleString()} connections \xb7 ${o}%`,(0,n.jsxs)("div",{style:{margin:"8px 0 6px"},children:["refresh"!==t&&(0,n.jsx)("div",{role:"progressbar","aria-valuemin":0,"aria-valuemax":e.total,"aria-valuenow":e.done,"aria-label":i,style:{height:8,borderRadius:4,overflow:"hidden",background:"rgba(255,255,255,0.08)",marginBottom:6},children:(0,n.jsx)("div",{style:{width:`${o}%`,height:"100%",borderRadius:4,background:"linear-gradient(90deg, #9B59B6, #3498DB)",transition:"width 0.6s ease"}})}),(0,n.jsx)("div",{style:{fontSize:12.5,color:"#cfe6f7"},children:i})]})}function ee(){return(0,n.jsx)("span",{style:{width:11,height:11,borderRadius:"50%",display:"inline-block",border:"2px solid rgba(255,255,255,0.2)",borderTopColor:"#3498DB",animation:"spin 0.8s linear infinite"}})}e.s(["default",0,function(){return(0,n.jsx)(o.default,{children:(0,n.jsx)(t.Suspense,{children:(0,n.jsx)(O,{})})})}],68863)}]);
@@ -1 +0,0 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,68074,e=>{"use strict";var t=e.i(43476),n=e.i(71645),i=e.i(7837),o=e.i(65084),r=e.i(22016),s=e.i(54322);let l={background:"rgba(255,255,255,0.03)",border:"1px solid rgba(255,255,255,0.08)",borderRadius:16,padding:24},a={minHeight:"100vh",background:"var(--sd-page)",color:"#fff",padding:"56px 24px",fontFamily:"var(--sd-font)",display:"flex",justifyContent:"center"},d={background:"rgba(255,255,255,0.07)",padding:"2px 6px",borderRadius:5,fontSize:13,fontFamily:"ui-monospace, SFMono-Regular, Menlo, monospace"},c={display:"block",textAlign:"center",padding:"15px 20px",borderRadius:12,background:"linear-gradient(135deg,#FFD700,#9B59B6)",color:"#0a0a1a",fontWeight:800,fontSize:15,textDecoration:"none"};e.s(["default",0,function(){let[e,h]=(0,n.useState)(!1),[g,p]=(0,n.useState)(""),[f,u]=(0,n.useState)(null),[x,y]=(0,n.useState)(!1),m=(0,n.useRef)(null);function b(e){if(!e)return;let t=new FileReader;t.onload=e=>(function(e){y(!0),p("");try{let{connections:t,skipped:n}=(0,i.parseConnectionsCsv)(e);if(!(0,i.saveCsvNetwork)(t)){p("That network is too large to hold in this window. LinkedIn allows up to 30,000 connections and this app holds that many, so please report it with your connection count: github.com/blakeb056/six-degrees/issues"),y(!1);return}(0,o.setUser)(i.CSV_USER.id,i.CSV_USER.name);let r={};t.forEach(e=>{r[e.tier]=(r[e.tier]||0)+1}),u({count:t.length,skipped:n,tiers:r})}catch(e){p(e instanceof i.ConnectionsCsvError?e.message:"Could not read that file. Make sure it is Connections.csv from your LinkedIn export.")}y(!1)})(String(e.target.result||"")),t.onerror=()=>p("Could not read that file."),t.readAsText(e)}return f?(0,t.jsx)("div",{style:a,children:(0,t.jsxs)("div",{style:{maxWidth:560,width:"100%"},children:[(0,t.jsx)("div",{style:{fontSize:13,color:"#2ecc71",fontWeight:700,letterSpacing:2,marginBottom:10},children:"IMPORTED"}),(0,t.jsxs)("h1",{style:{fontSize:38,fontWeight:800,margin:"0 0 8px"},children:[f.count.toLocaleString()," connections mapped"]}),(0,t.jsxs)("p",{style:{color:"rgba(255,255,255,0.45)",margin:"0 0 28px",lineHeight:1.6},children:["Scored on seniority and company, sorted into tiers.",f.skipped>0&&` ${f.skipped} row${1===f.skipped?"":"s"} skipped (blank or duplicate).`]}),(0,t.jsxs)("div",{style:{...l,marginBottom:20},children:[(0,t.jsx)("div",{style:{fontSize:11,fontWeight:700,color:"#666",letterSpacing:2,marginBottom:14},children:"YOUR TIERS"}),["S","A","B","C","D"].map(e=>{let n=f.tiers[e]||0,i=f.count?n/f.count*100:0;return(0,t.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:12,marginBottom:8},children:[(0,t.jsx)("span",{style:{width:16,color:s.TIER_COLORS[e],fontWeight:800},children:e}),(0,t.jsx)("div",{style:{flex:1,height:8,borderRadius:4,background:"rgba(255,255,255,0.05)",overflow:"hidden"},children:(0,t.jsx)("div",{style:{width:`${i}%`,height:"100%",background:s.TIER_COLORS[e],borderRadius:4}})}),(0,t.jsx)("span",{style:{width:46,textAlign:"right",color:"rgba(255,255,255,0.6)",fontSize:13},children:n})]},e)})]}),(0,t.jsx)(r.default,{href:"/",style:c,children:"See your galaxy →"}),(0,t.jsx)("p",{style:{color:"#555",fontSize:12,marginTop:18,lineHeight:1.6},children:"Nothing was uploaded or saved: this lives only in this window (or browser tab), and closing it clears it."})]})}):(0,t.jsx)("div",{style:a,children:(0,t.jsxs)("div",{style:{maxWidth:620,width:"100%"},children:[(0,t.jsxs)("h1",{style:{fontSize:40,fontWeight:800,margin:"0 0 10px",letterSpacing:-1},children:["Map ",(0,t.jsx)("span",{style:{background:"linear-gradient(135deg,#FFD700,#9B59B6,#3498DB)",WebkitBackgroundClip:"text",WebkitTextFillColor:"transparent"},children:"your"})," network"]}),(0,t.jsxs)("p",{style:{color:"rgba(255,255,255,0.45)",margin:"0 0 30px",lineHeight:1.6,fontSize:16},children:["Drop LinkedIn’s official ",(0,t.jsx)("code",{style:d,children:"Connections.csv"})," below. It is read in your browser, scored, and drawn as a galaxy — no account, no upload, nothing stored."]}),(0,t.jsxs)("div",{onDragOver:e=>{e.preventDefault(),h(!0)},onDragLeave:()=>h(!1),onDrop:e=>{e.preventDefault(),h(!1),b(e.dataTransfer.files?.[0])},onClick:()=>m.current?.click(),style:{...l,padding:"48px 24px",textAlign:"center",cursor:"pointer",marginBottom:16,borderStyle:"dashed",borderColor:e?"#FFD700":"rgba(255,255,255,0.12)",background:e?"rgba(255,215,0,0.05)":l.background,transition:"all 0.15s ease"},children:[(0,t.jsx)("div",{style:{fontSize:32,marginBottom:10},children:"📄"}),(0,t.jsx)("div",{style:{fontWeight:700,fontSize:17,marginBottom:6},children:x?"Reading…":"Drop Connections.csv here"}),(0,t.jsx)("div",{style:{color:"#666",fontSize:13},children:"or click to choose the file"}),(0,t.jsx)("input",{ref:m,type:"file",accept:".csv,text/csv",style:{display:"none"},onChange:e=>b(e.target.files?.[0])})]}),g&&(0,t.jsx)("div",{style:{background:"rgba(255,59,59,0.08)",border:"1px solid rgba(255,59,59,0.25)",borderRadius:12,padding:16,color:"#ff8080",fontSize:14,lineHeight:1.6,marginBottom:16},children:g}),(0,t.jsxs)("div",{style:{...l,marginBottom:16},children:[(0,t.jsx)("div",{style:{fontSize:11,fontWeight:700,color:"#666",letterSpacing:2,marginBottom:14},children:"HOW TO GET THE FILE"}),(0,t.jsxs)("ol",{style:{margin:0,paddingLeft:20,color:"rgba(255,255,255,0.6)",fontSize:14,lineHeight:2},children:[(0,t.jsxs)("li",{children:["LinkedIn → ",(0,t.jsx)("strong",{style:{color:"#fff"},children:"Settings & Privacy → Data privacy → Get a copy of your data"})]}),(0,t.jsxs)("li",{children:["Pick ",(0,t.jsx)("strong",{style:{color:"#fff"},children:"Connections"})," and request the archive"]}),(0,t.jsx)("li",{children:"LinkedIn emails a download link, usually within ~10 minutes"}),(0,t.jsxs)("li",{children:["Unzip it and drop ",(0,t.jsx)("code",{style:d,children:"Connections.csv"})," above"]})]})]}),(0,t.jsxs)("div",{style:{...l,marginBottom:16},children:[(0,t.jsx)("div",{style:{fontSize:11,fontWeight:700,color:"#2ecc71",letterSpacing:2,marginBottom:10},children:"PRIVATE BY DESIGN"}),(0,t.jsxs)("p",{style:{margin:0,color:"rgba(255,255,255,0.55)",fontSize:14,lineHeight:1.7},children:["Your file never leaves this browser. It is parsed locally, held for this tab only, and never written to any database. The ",(0,t.jsx)("strong",{style:{color:"#fff"},children:"Email Address column is ignored entirely"}),"."]})]}),(0,t.jsxs)("div",{style:{...l,borderColor:"rgba(255,215,0,0.15)"},children:[(0,t.jsx)("div",{style:{fontSize:11,fontWeight:700,color:"#FFD700",letterSpacing:2,marginBottom:10},children:"HONEST CAVEAT"}),(0,t.jsxs)("p",{style:{margin:"0 0 12px",color:"rgba(255,255,255,0.55)",fontSize:14,lineHeight:1.7},children:["LinkedIn’s export contains no profile photos, so everyone renders as initials on a tier-colored circle. It also only covers people you are ",(0,t.jsx)("em",{children:"already"})," connected to — so ",(0,t.jsx)("strong",{style:{color:"#fff"},children:"Degrees"})," and the ",(0,t.jsx)("strong",{style:{color:"#fff"},children:"Outlink queue"})," stay empty, because those map the people you haven’t met yet."]}),(0,t.jsxs)("p",{style:{margin:0,color:"#666",fontSize:13,lineHeight:1.7},children:["Want those? Run the local scanner — it captures 2nd-degree circles and real photos."," ",(0,t.jsx)(r.default,{href:"/setup",style:{color:"#3498DB",textDecoration:"none"},children:"See setup →"})]})]}),(0,t.jsx)("div",{style:{textAlign:"center",marginTop:26},children:(0,t.jsx)(r.default,{href:"/",style:{color:"#555",fontSize:13,textDecoration:"none"},children:"← Back"})})]})})}])}]);
@@ -1 +0,0 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,94657,e=>{"use strict";var t=e.i(43476),n=e.i(71645),r=e.i(7837);let o=e=>`${e.name} ${e.was} → ${e.estimated?"estimated":e.now}`,i=e=>({padding:"6px 12px",borderRadius:7,cursor:"pointer",fontSize:12,fontWeight:700,border:e?"none":"1px solid rgba(255,255,255,0.15)",background:e?"linear-gradient(135deg, #00ff88, #3498DB)":"transparent",color:e?"#000":"#cfd8d8"});function a({onAnswered:e}){var s;let l,c,[d,u]=(0,n.useState)(null),[p,g]=(0,n.useState)(!1),[h,y]=(0,n.useState)(()=>new Set),[f,m]=(0,n.useState)(!1),[b,x]=(0,n.useState)(null);if((0,n.useEffect)(()=>{if((0,r.csvNetworkSource)())return;let e=!1;return fetch("/api/company-scores/legacy").then(e=>e.json()).then(t=>{!e&&t.offer?.companies?.length&&(u(t.offer),y(new Set(t.offer.companies.map(e=>e.name))))}).catch(()=>{}),()=>{e=!0}},[]),!d)return null;let w=async t=>{m(!0),x(null);try{let n=await fetch("/api/company-scores/legacy",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({keep:t})}),r=await n.json();if(!n.ok&&!r.kept)throw Error(r.error||"Could not save your answer.");u(null),e?.({kept:r.kept||[],scored:r.scored||0,error:n.ok?null:r.error})}catch(e){x(e.message)}finally{m(!1)}};return(0,t.jsxs)("section",{"aria-label":"Built-in scores changed",style:{marginBottom:14,padding:14,borderRadius:10,border:"1px solid rgba(255,215,0,0.35)",background:"rgba(255,215,0,0.06)",fontSize:12.5,color:"#cfd8d8",lineHeight:1.6},children:[(0,t.jsx)("b",{style:{color:"#fff"},children:"Built-in scores changed in this version:"})," ",(l=(s=d.companies).slice(0,3).map(o).join(", "),(c=s.length-3)>0?`${l} and ${c} more`:l),"."," ","Keep any of the old ones as your own?",(0,t.jsx)("div",{style:{marginTop:4,color:"#8b9a9a"},children:"The built-in list now holds only companies most professionals would recognise, scored the same for everyone; anything else is estimated from your network. A score you keep is yours, like one you set below, and Auto hands it back."}),p&&(0,t.jsx)("ul",{style:{listStyle:"none",padding:0,margin:"10px 0 0",display:"grid",gap:4},children:d.companies.map(e=>(0,t.jsx)("li",{children:(0,t.jsxs)("label",{style:{display:"flex",gap:8,alignItems:"baseline",cursor:"pointer"},children:[(0,t.jsx)("input",{type:"checkbox",checked:h.has(e.name),disabled:f,onChange:()=>{let t;return t=e.name,y(e=>{let n=new Set(e);return n.has(t)?n.delete(t):n.add(t),n})}}),(0,t.jsxs)("span",{children:[(0,t.jsx)("b",{style:{color:"#fff"},children:e.name})," ",e.was," → ",e.estimated?`estimated (${e.now})`:e.now,(0,t.jsxs)("span",{style:{color:"#778"},children:[` \xb7 ${e.people} ${1===e.people?"person":"people"} there now`,e.names.length>1&&` \xb7 for ${e.names.join(", ")}`]})]})]})},e.name))}),(0,t.jsxs)("div",{style:{display:"flex",gap:8,marginTop:10,flexWrap:"wrap"},children:[p?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("button",{disabled:f||!h.size,onClick:()=>w([...h]),style:{...i(!0),opacity:f||!h.size?.5:1},children:["Keep ",h.size," ",1===h.size?"score":"scores"]}),(0,t.jsx)("button",{disabled:f,onClick:()=>g(!1),style:i(!1),children:"Back"})]}):(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("button",{disabled:f,onClick:()=>w(d.companies.map(e=>e.name)),style:i(!0),children:"Keep all"}),(0,t.jsx)("button",{disabled:f,onClick:()=>g(!0),style:i(!1),children:"Choose…"})]}),(0,t.jsx)("button",{disabled:f,onClick:()=>w([]),style:i(!1),children:"No thanks"})]}),b&&(0,t.jsx)("div",{role:"alert",style:{marginTop:8,color:"#e74c3c"},children:b})]})}let s="1px solid rgba(255,255,255,0.1)",l={yours:{label:"your score",color:"#00ff88"},known:{label:"known list",color:"#3498DB"},data:{label:"public data",color:"#1abc9c"},network:{label:"estimated: many of your people",color:"#FF6B35"},default:{label:"unknown company",color:"#778"}};async function c(){let e=await fetch("/api/company-scores"),t=await e.json();if(!e.ok)throw Error(t.error||"Could not load company scores");return t.companies}function d(){let[e,t]=(0,n.useState)(null),[r,o]=(0,n.useState)(null);return(0,n.useEffect)(()=>{let e=!1;return c().then(n=>{e||t(n)}).catch(t=>{e||o(t.message)}),()=>{e=!0}},[]),{companies:e,error:r,setScore:(0,n.useCallback)(async(e,n)=>{let r=await fetch("/api/company-scores",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:e,score:n})}),o=await r.json();if(!r.ok)throw Error(o.error||"Could not save");return t(await c()),o},[]),reload:(0,n.useCallback)(async()=>t(await c()),[])}}function u({company:e,onSet:r,compact:o}){let[i,a]=(0,n.useState)(!1),l=async t=>{a(!0);try{await r(e.name,"auto"===t?null:Number(t))}finally{a(!1)}};return(0,t.jsxs)("select",{disabled:i,value:"yours"===e.source?String(e.score):"auto",onChange:e=>l(e.target.value),title:"Set this company's score. Auto uses the known list or an estimate.",style:{padding:o?"2px 4px":"4px 6px",borderRadius:6,border:s,background:"#11131c",color:"#dfe6e9",fontSize:12},children:[(0,t.jsxs)("option",{value:"auto",children:["Auto (","yours"===e.source?e.suggested??"est.":e.score,")"]}),[10,9,8,7,6,5,4,3,2,1].map(e=>(0,t.jsx)("option",{value:e,children:e},e))]})}e.s(["ScorePicker",0,u,"default",0,function({onRescored:e,version:r=0}){let{companies:o,error:i,setScore:c,reload:p}=d();(0,n.useEffect)(()=>{r&&p().catch(()=>{})},[r,p]);let[g,h]=(0,n.useState)(""),[y,f]=(0,n.useState)("all"),[m,b]=(0,n.useState)(150),[x,w]=(0,n.useState)(null),k=e=>{w(e),setTimeout(()=>w(null),3500)},v=async(t,n)=>{let r=await c(t,n);k(`${t}: ${null==n?"back to auto":`set to ${n}`} \xb7 rescored ${r.scored} people`),e?.()},S=async({kept:t,scored:n,error:r})=>{if(!t.length)return k("Keeping the new built-in scores.");k(r||`Kept ${t.length} old ${1===t.length?"score":"scores"} as your own \xb7 rescored ${n} people`),await p().catch(()=>{}),e?.()},j=(0,n.useMemo)(()=>{if(!o)return[];let e=g.trim().toLowerCase();return o.filter(t=>(!e||t.name.toLowerCase().includes(e))&&("all"===y||t.source===y))},[o,g,y]);if(i)return(0,t.jsx)("div",{style:{padding:24,color:"#e74c3c"},children:i});if(!o)return(0,t.jsx)("div",{style:{padding:24,color:"#778"},children:"Loading companies…"});let C=e=>o.filter(t=>t.source===e).length;return(0,t.jsxs)("div",{style:{flex:1,overflow:"auto",padding:16},children:[(0,t.jsxs)("div",{style:{maxWidth:980,margin:"0 auto"},children:[(0,t.jsx)(a,{onAnswered:S}),(0,t.jsxs)("div",{style:{padding:14,borderRadius:10,border:s,background:"rgba(255,255,255,0.03)",fontSize:12.5,color:"#cfd8d8",lineHeight:1.6},children:[(0,t.jsx)("b",{style:{color:"#fff"},children:"How a power score works."})," power = ",(0,t.jsx)("b",{children:"title"})," × ",(0,t.jsx)("b",{children:"company weight"})," + bonus. The title (student 1 … founder or C-suite 10) comes from someone’s roles, with former roles at 70%; an audience of their own counts like a title (1M+ followers like a director). The company weight runs from 0.725 for a company we don’t know (or none found), the middle of the scale, to 1.0 (a company scored 10), so seniority counts for more at a bigger company. The bonus is at most +1.5, for investor, YC, an audience in the millions or the top award of any field, and counts half at an unknown company. A 1st-degree person whose circle is unusually strong gets up to +2 more: up to +1 for a high share of it at A or S, or +1 for every 25 people there. Tiers are graded on your network’s curve unless you choose the fixed scale (",(0,t.jsx)("a",{href:"#tiers",style:{color:"#3498DB"},children:"Tiers"}),", above): your top 3% are S, the next 12% A, the next 25% B (it only lifts, and never lifts anyone under 4 into S or A). On the fixed scale, S ≥ 7.5 · A ≥ 5.5 · B ≥ 4 · C ≥ 2.5.",(0,t.jsxs)("div",{style:{marginTop:6,color:"#8b9a9a"},children:["So a VP at a 10 scores 9.0, a founder at an unknown company 7.3, a director at an unknown company 5.4, and an intern at a 10 scores 2.0. Set a company’s score below and everyone there is rescored. Companies in the sectors you pick (",(0,t.jsx)("a",{href:"#sector",style:{color:"#3498DB"},children:"Your sector"}),", above) get +1 or +2; a score you set is never changed."]})]}),(0,t.jsxs)("div",{style:{display:"flex",gap:8,alignItems:"center",flexWrap:"wrap",margin:"14px 0 10px"},children:[(0,t.jsx)("input",{value:g,onChange:e=>h(e.target.value),placeholder:"Find a company",style:{padding:"6px 10px",borderRadius:7,border:s,background:"rgba(255,255,255,0.05)",color:"#fff",fontSize:13,minWidth:180}}),[["all",`All ${o.length}`],["known",`Known list ${C("known")}`],["data",`Public data ${C("data")}`],["yours",`Yours ${C("yours")}`],["network",`Estimated ${C("network")}`],["default",`Unknown ${C("default")}`]].map(([e,n])=>(0,t.jsx)("button",{onClick:()=>f(e),style:{padding:"5px 10px",borderRadius:7,border:s,cursor:"pointer",fontSize:11.5,fontWeight:600,background:y===e?"rgba(52,152,219,0.25)":"transparent",color:y===e?"#cfe6f7":"#8b9a9a"},children:n},e))]}),(0,t.jsxs)("div",{style:{borderRadius:10,border:s,overflow:"hidden"},children:[(0,t.jsxs)("div",{style:{display:"grid",gridTemplateColumns:"1fr 70px 70px 70px 60px 180px 110px",gap:8,padding:"8px 12px",fontSize:10.5,letterSpacing:.6,color:"#8b9a9a",background:"rgba(255,255,255,0.04)"},children:[(0,t.jsx)("span",{children:"COMPANY"}),(0,t.jsx)("span",{style:{textAlign:"right"},children:"PEOPLE"}),(0,t.jsx)("span",{style:{textAlign:"right"},children:"YOU KNOW"}),(0,t.jsx)("span",{style:{textAlign:"right"},children:"DIRECTOR+"}),(0,t.jsx)("span",{style:{textAlign:"right"},children:"SCORE"}),(0,t.jsx)("span",{children:"SOURCE"}),(0,t.jsx)("span",{children:"SET"})]}),j.slice(0,m).map(e=>(0,t.jsxs)("div",{style:{display:"grid",gridTemplateColumns:"1fr 70px 70px 70px 60px 180px 110px",gap:8,padding:"7px 12px",alignItems:"center",borderTop:"1px solid rgba(255,255,255,0.05)",fontSize:12.5},children:[(0,t.jsxs)("span",{style:{display:"flex",alignItems:"center",gap:8,minWidth:0},children:[(0,t.jsx)("span",{title:`${e.industry.label} (inferred)`,style:{width:8,height:8,borderRadius:"50%",background:e.industry.color,flexShrink:0}}),(0,t.jsx)("span",{style:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:e.name})]}),(0,t.jsx)("span",{style:{textAlign:"right"},children:e.people}),(0,t.jsx)("span",{style:{textAlign:"right",color:e.d1?"#00ff88":"#556"},children:e.d1}),(0,t.jsx)("span",{style:{textAlign:"right",color:e.senior?"#FFD700":"#556"},children:e.senior}),(0,t.jsx)("b",{style:{textAlign:"right",fontSize:15},children:e.score}),(0,t.jsxs)("span",{style:{fontSize:11,color:l[e.source]?.color},children:[l[e.source]?.label,e.sectorBonus>0&&(0,t.jsxs)("span",{style:{color:"#00ff88"},children:[" + ",e.sectorBonus," your sector"]})]}),(0,t.jsx)(u,{company:e,onSet:v,compact:!0})]},e.name))]}),j.length>m&&(0,t.jsxs)("button",{onClick:()=>b(e=>e+300),style:{marginTop:10,padding:"7px 14px",borderRadius:8,border:s,background:"rgba(255,255,255,0.05)",color:"#dfe6e9",cursor:"pointer",fontSize:12},children:["Show more (",j.length-m," left)"]})]}),x&&(0,t.jsx)("div",{role:"status",style:{position:"fixed",bottom:24,left:"50%",transform:"translateX(-50%)",padding:"10px 18px",borderRadius:24,background:"linear-gradient(135deg, #00ff88, #3498DB)",color:"#000",fontWeight:800,fontSize:13,zIndex:50},children:x})]})},"useCompanyScores",0,d],94657)},2776,e=>{"use strict";var t=e.i(43476),n=e.i(15812);e.s(["default",0,function({children:e}){let{userId:r,ready:o}=(0,n.useUser)();return o&&r?e:(0,t.jsx)("div",{style:{minHeight:"100vh",display:"flex",alignItems:"center",justifyContent:"center",background:"var(--sd-page)",color:"#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:"#888",fontSize:14,lineHeight:1.6},children:"The page loaded but the app behind it is not answering. If you started it from a terminal, check that window for an error, then reload this page."})]}):(0,t.jsx)("div",{style:{fontSize:18,fontWeight:600},children:"Loading…"})})}])},8819,e=>{"use strict";var t=e.i(43476);let n="1px solid rgba(255,255,255,0.1)";function r({children:e,style:n}){return(0,t.jsx)("div",{style:{fontSize:13.5,color:"#8b9a9a",lineHeight:1.6,marginTop:4,...n},children:e})}e.s(["Body",0,r,"Btn",0,function({children:e,onClick:r,disabled:o,primary:i,tone:a,type:s="button"}){return(0,t.jsx)("button",{type:s,onClick:r,disabled:o,style:{padding:"9px 18px",borderRadius:7,fontSize:13.5,fontWeight:650,color:o?"#667":"#fff",border:n,background:o?"rgba(255,255,255,0.05)":"bad"===a?"rgba(255,80,80,0.15)":i?"linear-gradient(135deg, #9B59B6, #3498DB)":"rgba(255,255,255,0.08)",cursor:o?"not-allowed":"pointer"},children:e})},"FONT",0,"var(--sd-font)","LINE",0,n,"Mono",0,function({children:e}){return(0,t.jsx)("code",{style:{background:"rgba(255,255,255,0.08)",padding:"1px 5px",borderRadius:4,wordBreak:"break-all"},children:e})},"Section",0,function({id:e,title:o,intro:i,children:a}){return(0,t.jsxs)("section",{id:e,style:{padding:"24px 0",borderBottom:n,scrollMarginTop:16},children:[(0,t.jsx)("h2",{style:{fontSize:16,fontWeight:650,margin:"0 0 6px"},children:o}),i&&(0,t.jsx)(r,{style:{marginTop:0,marginBottom:12},children:i}),a]})},"Status",0,function({children:e,tone:n}){return(0,t.jsxs)("div",{role:"status",style:{marginTop:10,padding:"10px 14px",borderRadius:8,fontSize:13.5,lineHeight:1.6,color:"ok"===n?"#00ff88":"bad"===n?"#ff7676":"#e8e8ee",background:"ok"===n?"rgba(0,255,136,0.08)":"bad"===n?"rgba(255,80,80,0.08)":"rgba(255,255,255,0.05)",border:`1px solid ${"ok"===n?"rgba(0,255,136,0.3)":"bad"===n?"rgba(255,80,80,0.3)":"rgba(255,255,255,0.12)"}`},children:["ok"===n&&"✓ ",e]})}])},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])),s=e=>a[e]||i;function l(e,t){for(let n of[e,t]){if(!n)continue;let e=o.find(e=>e.words.test(n));if(e)return e}return i}let c=(e,t)=>l(e,t).key,d=e=>n(e).level>=4;e.s(["INDUSTRIES",0,o,"UNKNOWN_INDUSTRY",0,i,"buildCompanyIndex",0,function(e=[]){let n=new Map,r=e=>(n.has(e)||n.set(e,(0,t.rolesWithCompanies)(e)),n.get(e)),{industries:o}=(0,t.networkCompanies)(e,{industryOf:c,rolesOf:r}),i=new Map;for(let t of e){let e=t.profile_url||`id:${t.id}`,n=i.get(e);(!n||(t.degree||9)<(n.degree||9))&&i.set(e,t)}let 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++,d(e.headline)&&n.senior++}for(let e of a.values())e.industry=s(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,s]=t<i?[t,i]:[i,t],l=`${a}\u0000${s}`,c=o.get(l);c||(c={a:a,b:s,weight:0,via:new Set},o.set(l,c)),c.weight++,c.via.add(e.source_connection_id)}return[...o.values()]},"companyOf",0,r,"getSeniority",0,n,"industryByKey",0,s,"industryOf",0,l,"isSenior",0,d,"waysInto",0,function(e,t=[],n=[]){let o=t.filter(t=>r(t)===e),i=new Map;for(let t of n)r(t)===e&&i.set(t.source_connection_id,(i.get(t.source_connection_id)||0)+1);let 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))}}])},69083,e=>{"use strict";var t=e.i(89154);let n=new Map(t.INDUSTRIES.map(e=>[e.key,e.color])),r=new Map([...t.INDUSTRIES.map(e=>[e.key,Object.freeze({key:e.key,label:e.label,color:e.color,group:e.key,kind:"industry"})]),...Object.entries({software:["Software & SaaS","tech","function"],"ai-data":["AI & Data","tech","function"],cybersecurity:["Cybersecurity","tech","function"],telecom:["Telecom","tech","industry"],fintech:["Fintech & Payments","finance","industry"],banking:["Banking & Lending","finance","industry"],"vc-pe":["Venture Capital & Private Equity","finance","industry"],wealth:["Wealth & Asset Management","finance","industry"],insurance:["Insurance","finance","industry"],accounting:["Accounting & Tax","finance","function"],crypto:["Crypto & Web3","finance","industry"],hospitals:["Hospitals & Clinics","health","industry"],dental:["Dental","health","industry"],"pharma-biotech":["Pharma & Biotech","health","industry"],"medical-devices":["Medical Devices","health","industry"],"mental-health":["Mental Health","health","industry"],"fitness-wellness":["Fitness & Wellness","health","industry"],veterinary:["Veterinary & Animal Care","health","industry"],k12:["K-12 Education","education","industry"],"higher-ed":["Higher Education","education","industry"],"marketing-advertising":["Marketing & Advertising","media","function"],"pr-comms":["PR & Communications","media","function"],"media-publishing":["Media & Publishing","media","industry"],"creator-economy":["Creator Economy","media","industry"],"film-tv-music":["Film, TV & Music","entertainment","industry"],"gaming-esports":["Gaming & Esports","entertainment","industry"],sports:["Sports","entertainment","industry"],"ecommerce-retail":["E-commerce & Retail","consumer","industry"],"consumer-goods":["Consumer Goods","consumer","industry"],restaurants:["Restaurants & Food Service","consumer","industry"],"hospitality-travel":["Hospitality & Travel","consumer","industry"],"beauty-personal-care":["Beauty & Personal Care","consumer","industry"],logistics:["Logistics & Supply Chain","industry","industry"],manufacturing:["Manufacturing","industry","industry"],energy:["Energy & Utilities","industry","industry"],automotive:["Automotive","industry","industry"],agriculture:["Agriculture & Farming","industry","industry"],"aerospace-defense":["Aerospace & Defense","defense","industry"],military:["Military","defense","industry"],government:["Government & Public Sector","defense","industry"],legal:["Legal","consulting","function"],"management-consulting":["Management Consulting","consulting","function"],"hr-recruiting":["HR & Recruiting","consulting","function"],"security-services":["Security Services","consulting","function"],"real-estate":["Real Estate","realestate","industry"],"construction-trades":["Construction & Trades","realestate","industry"],charities:["Nonprofits & Charities","nonprofit","industry"],"social-work":["Social Work & Human Services","nonprofit","industry"],faith:["Faith & Ministry","nonprofit","industry"]}).map(([e,[r,o,i]])=>[e,Object.freeze({key:e,label:r,color:n.get(o)||t.UNKNOWN_INDUSTRY.color,group:o,kind:i})])]);e.s(["sectorByKey",0,function(e){return r.get(e)||{key:e,label:t.UNKNOWN_INDUSTRY.label,color:t.UNKNOWN_INDUSTRY.color,group:null,kind:null}}])},828,e=>{"use strict";var t=e.i(54322);e.s(["TIER_COLORS_CLASSIC",()=>t.TIER_COLORS])},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()}])}]);