@cavuno/board 4.62.0 → 4.64.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +26 -0
- package/dist/{_spec-BCwCDDX2.d.mts → _spec-D1Qg_Twd.d.mts} +44 -3
- package/dist/{_spec-BCwCDDX2.d.ts → _spec-D1Qg_Twd.d.ts} +44 -3
- package/dist/{blog-BQ869KiE.d.ts → blog-Dp2jAVVM.d.ts} +1 -1
- package/dist/{blog-C0wl_hx8.d.mts → blog-e0YbZBjg.d.mts} +1 -1
- package/dist/{board-D5x6dfUk.d.ts → board-BeNZLOYC.d.ts} +2 -2
- package/dist/{board-D2ImSfzo.d.mts → board-Cc3wbTKI.d.mts} +2 -2
- package/dist/{breadcrumbs-CkIH_iCI.d.ts → breadcrumbs-BOFeIYEX.d.ts} +2 -2
- package/dist/{breadcrumbs-DqkhouJc.d.mts → breadcrumbs-C5WjB8jm.d.mts} +2 -2
- package/dist/browser/cavuno-board.global.min.js +1 -1
- package/dist/{chunk-GRQRZRLO.mjs → chunk-H3YIWHXR.mjs} +3 -2
- package/dist/filters.d.mts +2 -2
- package/dist/filters.d.ts +2 -2
- package/dist/format.d.mts +4 -4
- package/dist/format.d.ts +4 -4
- package/dist/index.d.mts +64 -15
- package/dist/index.d.ts +64 -15
- package/dist/index.js +26 -7
- package/dist/index.mjs +24 -6
- package/dist/{jobs-B86GBnD5.d.mts → jobs-CClqlUld.d.mts} +1 -1
- package/dist/{jobs-Bjb0KdER.d.ts → jobs-D04ngjCP.d.ts} +1 -1
- package/dist/{search-PLWHFWyZ.d.mts → search-BtrwcLkc.d.mts} +1 -1
- package/dist/{search-CQHlSXMC.d.ts → search-DZeNdYN6.d.ts} +1 -1
- package/dist/{seo-C8JYKw0_.d.ts → seo-DLoyZRTo.d.ts} +1 -1
- package/dist/{seo-cXaJTDHD.d.mts → seo-LfpgbdnO.d.mts} +1 -1
- package/dist/seo-files.d.mts +2 -2
- package/dist/seo-files.d.ts +2 -2
- package/dist/seo.d.mts +6 -6
- package/dist/seo.d.ts +6 -6
- package/dist/server.d.mts +6 -6
- package/dist/server.d.ts +6 -6
- package/dist/server.mjs +1 -1
- package/dist/sitemap.d.mts +6 -6
- package/dist/sitemap.d.ts +6 -6
- package/dist/sitemap.mjs +1 -1
- package/dist/suggest.d.mts +2 -2
- package/dist/suggest.d.ts +2 -2
- package/package.json +1 -1
- package/skills/cavuno-board-products/SKILL.md +4 -1
- package/skills/manifest.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var CavunoBoard=(()=>{var J=Object.defineProperty;var Eo=Object.getOwnPropertyDescriptor;var Bo=Object.getOwnPropertyNames;var Ao=Object.prototype.hasOwnProperty;var To=(e,t,o)=>t in e?J(e,t,{enumerable:!0,configurable:!0,writable:!0,value:o}):e[t]=o;var A=(e,t)=>{for(var o in t)J(e,o,{get:t[o],enumerable:!0})},Lo=(e,t,o,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of Bo(t))!Ao.call(e,r)&&r!==o&&J(e,r,{get:()=>t[r],enumerable:!(n=Eo(t,r))||n.enumerable});return e};var Io=e=>Lo(J({},"__esModule",{value:!0}),e);var _=(e,t,o)=>To(e,typeof t!="symbol"?t+"":t,o);var Nn={};A(Nn,{ACCESS_TOKEN_KEY:()=>T,BOARD_ACCESS_GRANT_KEY:()=>I,BOARD_API_ERROR_CODES:()=>ve,BoardApiError:()=>E,BoardClient:()=>F,PURCHASE_CONFIRMATION_HEADER:()=>ae,REFRESH_TOKEN_KEY:()=>L,SDK_VERSION:()=>$,SIGN_IN_REDIRECT_ERROR_CODES:()=>$e,SSO_LINK_PROOF_BINDING_TTL_MS:()=>se,createBoardClient:()=>Vo,filters:()=>pe,format:()=>Pe,isBoardApiError:()=>C,isBoardPasswordRequired:()=>Ae,isColdRule:()=>gt,isConflict:()=>Fe,isForbidden:()=>Te,isFreeEmailWebsiteError:()=>ke,isNotFound:()=>Ee,isOwnMessage:()=>ft,isRateLimited:()=>Ie,isSafeApplicationUrl:()=>le,isSignInMethodUnavailable:()=>ie,isSsoBrowserMismatch:()=>Ue,isSsoRequired:()=>xe,isUnauthorized:()=>Be,isValidationError:()=>Le,lastOwnMessageId:()=>ht,paginate:()=>yt,parseJobAlertClickParams:()=>Pt,parseJobAlertUnsubscribeParams:()=>_t,parseOAuthCompletion:()=>je,paths:()=>be,resolveApplyAction:()=>bt,resolveApplyDecision:()=>ce,seo:()=>_e,ssoLinkProofBindingStore:()=>j,suggest:()=>Re});var ve=["internal_error","validation_bad_request","validation_payload_too_large","rate_limited","rate_limit_unavailable","search_unavailable","search_filter_unavailable","too_many_filter_values","pagination_invalid_cursor","pagination_offset_too_large","auth_unauthenticated","auth_forbidden","plan_upgrade_required","unknown_error","boards_not_found","board_page_not_found","board_auth_account_not_found","board_auth_email_taken","board_auth_invalid_credentials","board_auth_invalid_token","board_auth_registration_disabled","board_auth_token_expired","board_development_origin_not_allowed_for_email","board_development_origin_not_registered","board_development_origin_requires_publishable_key","sso_required","board_auth_method_unavailable","board_auth_sso_connection_not_found","board_auth_sso_role_unavailable","board_auth_sso_provider_unavailable","board_auth_sso_browser_mismatch","board_auth_sso_not_provisioned","board_auth_sso_identity_linked_elsewhere","invalid_current_password","no_password","same_email","email_taken","invalid_token","board_password_required","board_password_invalid","jobs_not_found","jobs_invalid_filter","categories_not_found","skills_not_found","places_not_found","locations_invalid_id","locations_unavailable","companies_not_found","company_markets_not_found","company_salary_not_found","company_category_salary_not_found","salaries_title_not_found","salaries_skill_not_found","salaries_location_not_found","salaries_title_location_not_found","salaries_skill_location_not_found","blog_post_not_found","blog_author_not_found","blog_tag_not_found","feeds_not_found","feed_not_ready","talent_not_found","talent_directory_not_found","talent_directory_restricted","job_recommendations_not_found","recommended_talent_not_found","job_alert_not_found","job_alerts_disabled","candidate_alert_limit_reached","candidate_alert_not_found","candidate_entry_not_found","candidate_handle_taken","candidate_job_not_found","candidate_notification_preference_paused","candidate_profile_required","resume_invalid_file","resume_upload_forbidden","applications_external_apply_only","applications_country_not_allowed","applications_guest_not_allowed","applications_job_not_found","applications_not_found","applications_resume_invalid_file","applications_unprocessable","messaging_application_not_found","messaging_application_not_linked","messaging_blocked","messaging_cannot_block_self","messaging_cold_rule","messaging_conversation_not_found","messaging_disabled","messaging_edit_window_expired","messaging_message_deleted","messaging_message_not_found","messaging_not_author","messaging_not_participant","messaging_not_permitted","messaging_not_recipient","messaging_rate_limited","messaging_recipient_not_found","messaging_recipient_not_open","messaging_unsend_window_expired","employer_applicant_not_found","employer_ats_unprocessable","employer_checkout_failed","employer_company_exists","employer_free_email_website","employer_company_name_taken","employer_company_not_found","employer_job_not_found","employer_job_slug_taken","employer_jobs_quota_exceeded","membership_required","employer_not_member","employer_payment_required","employer_pipeline_stage_not_found","employer_member_not_found","employer_invite_not_found","not_company_admin","not_company_member","company_deletion_disabled","last_admin","already_member","already_invited","invalid_email","invite_email_mismatch","candidate_role","job_not_published","talent_list_not_found","sourced_candidate_not_found","sourced_convert_unavailable","talent_list_full","candidate_paywall_access_required","paywall_already_active","paywall_disabled","paywall_invalid_checkout_session","paywall_no_candidate_profile","paywall_no_recurring_subscription","paywall_offer_not_found","talent_access_unavailable","company_required","already_on_plan","talent_access_required","messaging_talent_access_required","stripe_not_connected","membership_plan_not_found","membership_seat_taken","job_posting_logo_lookup_unavailable","job_posting_logo_not_found","job_posting_rejected","products_not_found","product_checkout_not_found","product_reviews_disabled","product_sold_out","product_email_invalid","product_email_blocked","product_amount_below_minimum","product_amount_invalid","product_answers_invalid","purchases_not_found","purchase_file_not_found","purchase_unavailable","purchase_access_removed","purchase_awaiting_payment","purchase_refunded","purchase_email_confirmation_required","purchase_email_mismatch","purchase_file_preparing","purchase_download_limit_reached","purchase_review_invalid","purchase_download_all_unavailable","tip_jar_not_found","tip_checkout_not_found","tip_amount_below_minimum","tip_amount_invalid","tip_note_not_allowed","tip_note_too_long"],E=class extends Error{constructor(o){super(o.message);_(this,"status");_(this,"code");_(this,"details");_(this,"requestId");_(this,"raw");this.name="BoardApiError",this.status=o.status,this.code=o.code,this.details=o.details,this.requestId=o.requestId,this.raw=o.raw}};function C(e){return e instanceof Error&&e.name==="BoardApiError"&&typeof e.status=="number"&&typeof e.code=="string"}function Ee(e){return C(e)&&e.status===404}function Be(e){return C(e)&&e.status===401}function Ae(e){return C(e)&&e.status===401&&e.code==="board_password_required"}function Te(e){return C(e)&&e.status===403}function Le(e){return C(e)&&e.status===400&&e.code==="validation_bad_request"}function Ie(e){return C(e)&&e.status===429}function Fe(e){return C(e)&&e.status===409}function ke(e){return C(e)&&e.status===422&&e.code==="employer_free_email_website"}function xe(e){if(!C(e)||e.status!==403)return!1;let t=e.details?.connectionIds;return Array.isArray(t)&&t.every(o=>typeof o=="string")&&(e.code==="sso_required"||ie(e)&&e.details.availableMethods.methods.length===0)}function ie(e){if(!C(e)||e.status!==403||e.code!=="board_auth_method_unavailable")return!1;let t=e.details?.availableMethods;if(!t||typeof t!="object")return!1;let{methods:o,ssoConnectionIds:n}=t;return Array.isArray(o)&&o.every(r=>typeof r=="string")&&Array.isArray(n)&&n.every(r=>typeof r=="string")}function Ue(e){return C(e)&&e.status===403&&e.code==="board_auth_sso_browser_mismatch"}function Me(e){let t=new URLSearchParams;if(!e)return t;for(let[o,n]of Object.entries(e))if(n!=null)if(Array.isArray(n))for(let r of n)r!=null&&t.append(o,String(r));else t.append(o,String(n));return t}function N(e){let t=5381;for(let n=0;n<e.length;n++)t=(t<<5)+t+e.charCodeAt(n)>>>0;return`${e.replace(/[^a-zA-Z0-9_-]/g,"_")}-${t.toString(36)}`}var T="cavuno_board_access_token",L="cavuno_board_refresh_token",I="cavuno_board_access_grant";function we(){return typeof globalThis.document<"u"}function Fo(){let e=new Map;return{getItem:t=>e.get(t)??null,setItem:(t,o)=>{e.set(t,o)},removeItem:t=>{e.delete(t)}}}function ko(e,t){if(!we())throw new Error(`storage mode '${e}' is browser-only \u2014 use 'nostore' + per-call headers on the server`);let o;try{if(o=e==="local"?globalThis.localStorage:globalThis.sessionStorage,!o)throw new Error("unavailable")}catch{throw new Error(`storage mode '${e}' is unavailable in this browsing context (storage access is blocked \u2014 e.g. a sandboxed or third-party iframe). Use 'memory', or 'nostore' + per-call headers.`)}let n=t?`:${N(t)}`:"";return{getItem:r=>o.getItem(`${r}${n}`),setItem:(r,i)=>{o.setItem(`${r}${n}`,i)},removeItem:r=>{o.removeItem(`${r}${n}`)}}}var xo=Symbol.for("@cavuno/board:nostore");var Uo={[xo]:!0,getItem:()=>null,setItem:()=>{},removeItem:()=>{}};function Je(e,t){let o=e??(we()?"memory":"nostore");if(typeof o=="object")return o;switch(o){case"memory":return Fo();case"nostore":return Uo;case"local":case"session":return ko(o,t);default:throw new Error(`Unknown storage mode '${String(o)}'`)}}async function D(e,t){await e.setItem(T,t.accessToken),await e.setItem(L,t.refreshToken)}async function Ne(e){await e.removeItem(T),await e.removeItem(L)}var $="4.62.0";function Mo(e){return typeof e=="string"||e instanceof URLSearchParams||typeof FormData<"u"&&e instanceof FormData||typeof Blob<"u"&&e instanceof Blob||e instanceof ArrayBuffer||typeof ReadableStream<"u"&&e instanceof ReadableStream}function wo(e){try{let t=new URL(e);for(let o of new Set(t.searchParams.keys()))t.searchParams.delete(o),t.searchParams.set(o,"[REDACTED]");return t.toString()}catch{return e.replace(/([?&][^=&#]+)=([^&#]*)/g,"$1=[REDACTED]")}}var F=class{constructor(t){_(this,"storage");_(this,"basePath");_(this,"options");this.options=t,this.storage=t.storage;let o=t.baseUrl.replace(/\/+$/,"");this.basePath=`${o}/v1/boards/${encodeURIComponent(t.board)}`}async fetch(t,o={}){let{body:n,query:r,headers:i,...s}=o,a=(o.method??"GET").toUpperCase(),l=`${this.basePath}${t}`,p=Me(r).toString();p&&(l+=`?${p}`);let u=n!==void 0&&!Mo(n),m=n===void 0?void 0:u?JSON.stringify(n):n,f=new Headers({accept:"application/json"});u&&f.set("content-type","application/json");for(let[v,re]of Object.entries(this.options.globalHeaders??{}))f.set(v,re);let g=await this.storage.getItem(T);g!==null&&f.set("authorization",`Bearer ${g}`);let O=await this.storage.getItem(I);O!==null&&f.set("x-board-access",O),i&&new Headers(i).forEach((v,re)=>{f.set(re,v)}),(a!=="GET"||f.has("authorization")||f.has("x-board-access"))&&!f.has("x-cavuno-sdk")&&f.set("x-cavuno-sdk",`board@${$}`);let h={url:l,init:{...s,method:a,headers:f,body:m}};this.options.onRequest&&(h=await this.options.onRequest(h));let R=wo(h.url);this.options.logger?.debug(`${a} ${R}`);let d=await globalThis.fetch(h.url,h.init);if(this.options.logger?.debug(`${d.status} ${a} ${R}`),this.options.onResponse&&await this.options.onResponse(d.clone(),h),d.status===204)return;if(d.ok)return await d.json();let b;try{b=await d.json()}catch{b=void 0}let P=b?.error,B=P&&typeof P.code=="string"&&typeof P.message=="string"?new E({status:d.status,code:P.code,message:P.message,details:P.details,requestId:P.requestId,raw:b}):new E({status:d.status,code:"unknown_error",message:d.statusText||"Request failed",raw:b});throw this.options.logger?.error(`${B.status} ${B.code} ${a} ${R}`),B}};var De="https://api.cavuno.com";var $e=["oauth_cancelled","oauth_failed","oauth_email_unverified","role_disabled","method_unavailable","sso_required","sso_state_invalid","sso_cancelled","sso_failed","sso_connection_unavailable","sso_not_provisioned","sso_email_required","sso_account_disabled","sso_identity_linked_elsewhere","sso_link_proof_rate_limited","sso_development_origin_not_allowed_for_email"];function Jo(e){if(e instanceof URLSearchParams)return e;if(typeof e=="string"){let o=e.includes("?")?e.slice(e.indexOf("?")):e;return new URLSearchParams(o)}let t=new URLSearchParams;for(let[o,n]of Object.entries(e))n!==void 0&&t.set(o,n);return t}function No(e){return!e||!e.startsWith("/")||e.startsWith("//")||e.startsWith("/\\")||e.includes("://")||/[\u0000-\u001F\u007F]/.test(e)?"/":e}function Do(e){return e==="candidate"||e==="employer"?e:null}function je(e){let t=Jo(e),o=c=>{let p=t.get(c);return p&&p.length>0?p:null},n=No(o("returnTo")),r=Do(o("role")),i=o("error");if(i)return{kind:"error",error:i,returnTo:n};let s=o("linkProof");if(s)return{kind:"link_proof",linkProof:s,role:r,returnTo:n};let a=o("linkProofBinding");if(o("status")==="sso_link_proof_sent"&&a)return{kind:"link_proof_sent",linkProofBinding:a,role:r,returnTo:n};let l=o("token");return l?{kind:"token",token:l,method:o("method"),role:r,returnTo:n,isNewUser:o("isNew")==="1"}:{kind:"invalid",returnTo:n}}var se=1500*1e3,$o="cavuno_board_sso_link_proof_binding";function jo(){try{return globalThis.localStorage??null}catch{return null}}function j(e,t={}){let o=`${$o}:${N(e)}`,n=t.now??Date.now,r=()=>t.storage??jo(),i=()=>{try{r()?.removeItem(o)}catch{}};return{begin(){let s=globalThis.crypto.getRandomValues(new Uint8Array(32)),a=Array.from(s,c=>c.toString(16).padStart(2,"0")).join(""),l=r();if(!l)throw new Error("SSO requires browser storage or an explicit browser proof");return l.setItem(o,JSON.stringify({binding:a,expiresAt:n()+se})),a},save(s){},read(){let s=null;try{s=r()?.getItem(o)??null}catch{return null}if(!s)return null;try{let a=JSON.parse(s);if(typeof a.binding=="string"&&typeof a.expiresAt=="number"&&a.expiresAt>n())return a.binding}catch{}return i(),null},clear:i}}function Qe(e,t=""){let o=()=>j(t);async function n(i){return await D(e.storage,i),i}async function r(i){if(i?.refreshToken)return i.refreshToken;let s=await e.storage.getItem(L);if(s===null)throw new Error("No refresh token available \u2014 pass { refreshToken } or configure auth.storage");return s}return{async register(i,s){let a=await e.fetch("/auth/register",{...s,method:"POST",body:i});return n(a)},async login(i,s){let a=await e.fetch("/auth/login",{...s,method:"POST",body:i});return n(a)},async refresh(i,s){let a=await r(i),l=await e.fetch("/auth/refresh",{...s,method:"POST",body:{refreshToken:a}});return n(l)},async logout(i,s){let a=await r(i);await e.fetch("/auth/logout",{...s,method:"POST",body:{refreshToken:a}}),await Ne(e.storage)},verifyEmail(i,s){return e.fetch("/auth/verify-email",{...s,method:"POST",body:i})},verifyWorkEmail(i,s){return e.fetch("/auth/verify-work-email",{...s,method:"POST",body:i})},verifyItemEmail(i,s){return e.fetch("/auth/verify-item-email",{...s,method:"POST",body:i})},verifyEmailWithCode(i,s){return e.fetch("/auth/verify-email/otp",{...s,method:"POST",body:i})},resendVerification(i){return e.fetch("/auth/verify-email/resend",{...i,method:"POST"})},forgotPassword(i,s){return e.fetch("/auth/forgot-password",{...s,method:"POST",body:i})},resetPassword(i,s){return e.fetch("/auth/reset-password",{...s,method:"POST",body:i})},requestMagicLink(i,s){return e.fetch("/auth/magic-link",{...s,method:"POST",body:i})},async consumeMagicLink(i,s){let a=await e.fetch("/auth/magic-link/consume",{...s,method:"POST",body:i});return n(a)},async getOAuthAuthorizationUrl(i,s,a){let l=s?.browserBindingHash,c;if(!l&&globalThis.crypto?.subtle)try{c=o().begin()}catch{}let p=c!==void 0;try{if(c!==void 0){let u=await globalThis.crypto.subtle.digest("SHA-256",new TextEncoder().encode(c));l=Array.from(new Uint8Array(u),m=>m.toString(16).padStart(2,"0")).join("")}return await e.fetch(`/auth/oauth/${i}`,{...a,method:"GET",query:l?{...s,browserBindingHash:l}:s})}catch(u){throw p&&o().clear(),u}},async exchangeOAuth(i,s){let a=await e.fetch("/auth/oauth/exchange",{...s,method:"POST",body:{...i,browserBinding:i.browserBinding??o().read()??void 0}}),l=await n(a);return o().clear(),l},async getSsoAuthorizationUrl(i,s,a){let l=s?.browserBindingHash;if(!l){let c=o().begin(),p=await globalThis.crypto.subtle.digest("SHA-256",new TextEncoder().encode(c));l=Array.from(new Uint8Array(p),u=>u.toString(16).padStart(2,"0")).join("")}return e.fetch(`/auth/sso/${encodeURIComponent(i)}`,{...a,method:"GET",query:{...s,browserBindingHash:l}})},async consumeSsoLinkProof(i,s){let a=await e.fetch("/auth/sso/link-proof",{...s,method:"POST",body:{...i,browserBinding:i.browserBinding??o().read()??void 0}});return n(a)}}}function qe(e){return{posts:{list(t,o){return e.fetch("/blog/posts",{...o,query:t})},retrieve(t,o,n){return e.fetch(`/blog/posts/${encodeURIComponent(t)}`,{...n,query:o})},adjacent(t,o){return e.fetch(`/blog/posts/${encodeURIComponent(t)}/adjacent`,o)},similar(t,o,n){return e.fetch(`/blog/posts/${encodeURIComponent(t)}/similar`,{...n,query:o})}},tags:{list(t,o){return e.fetch("/blog/tags",{...o,query:t})},retrieve(t,o,n){return e.fetch(`/blog/tags/${encodeURIComponent(t)}`,{...n,query:o})}},authors:{list(t,o){return e.fetch("/blog/authors",{...o,query:t})},retrieve(t,o,n){return e.fetch(`/blog/authors/${encodeURIComponent(t)}`,{...n,query:o})}},search(t,o,n){return e.fetch("/blog/search",{...n,method:"POST",body:t,query:o})}}}function Ve(e){let t=Object.assign((r,i)=>e.fetch("/companies/markets",{...i,query:r}),{resolve(r,i){return e.fetch(`/companies/markets/${encodeURIComponent(r)}`,i)}});function o(r,i,s){let{locale:a,...l}=i??{},c=a===void 0?void 0:{locale:a},p=Object.keys(l).length>0?{...l,...s}:s;return e.fetch(`/companies/${encodeURIComponent(r)}/salaries`,c?{...p,query:c}:p)}let n=Object.assign(o,{summary(r,i){return e.fetch(`/companies/${encodeURIComponent(r)}/salaries/summary`,i)},category(r,i,s,a){return e.fetch(`/companies/${encodeURIComponent(r)}/salaries/${encodeURIComponent(i)}`,{...a,query:s})}});return{list(r,i){return e.fetch("/companies",{...i,query:r})},retrieve(r,i,s){return e.fetch(`/companies/${encodeURIComponent(r)}`,{...s,query:i})},search(r,i,s){return e.fetch("/companies/search",{...s,method:"POST",body:r,query:i})},listJobs(r,i,s){return e.fetch(`/companies/${encodeURIComponent(r)}/jobs`,{...s,query:i})},similar(r,i,s){return e.fetch(`/companies/${encodeURIComponent(r)}/similar`,{...s,query:i})},markets:t,salaries:n}}function Ge(e){return{jobs(t,o){return e.fetch("/embed/jobs",{...o,query:t})}}}function He(e){return{preview(t,o){return e.fetch("/invites/preview",{...o,method:"POST",body:t})}}}function Ke(e){return{subscribe(t,o){return e.fetch("/job-alerts",{...o,method:"POST",body:t})},confirm(t,o){return e.fetch("/job-alerts/confirm",{...o,method:"POST",body:t})},resendConfirmation(t,o){return e.fetch("/job-alerts/resend-confirmation",{...o,method:"POST",body:t})},manage(t,o){return e.fetch("/job-alerts/manage",{...o,query:t})},unsubscribe(t,o){return e.fetch("/job-alerts/unsubscribe",{...o,method:"POST",body:t})},recordClick(t,o){return e.fetch("/job-alerts/clicks",{...o,method:"POST",body:t})},resubscribe(t,o){return e.fetch("/job-alerts/resubscribe",{...o,method:"POST",body:t})},updatePreference(t,o){return e.fetch("/job-alerts/preferences",{...o,method:"POST",body:t})},deletePreference(t,o){return e.fetch("/job-alerts/preferences",{...o,method:"DELETE",body:t})}}}function Ye(e){return{plans(t,o){return e.fetch("/job-postings/plans",{...o,query:t})},create(t,o){return e.fetch("/job-postings",{...o,method:"POST",body:t})},uploadLogo(t,o){let n=new FormData;return n.append("file",t),e.fetch("/job-postings/logo",{...o,method:"POST",body:n})},fetchLogoByDomain(t,o){return e.fetch("/job-postings/logo/fetch",{...o,query:{domain:t}})},sendBillingVerification(t,o){return e.fetch("/job-postings/send-verification",{...o,method:"POST",body:t})},getBillingOptions(t,o){return e.fetch("/job-postings/billing-options",{...o,method:"POST",body:t})}}}function ze(e){return{collectionChoices(t,o,n){return e.fetch(`/job-fields/${encodeURIComponent(t)}/choices`,{...n,query:o})},list(t,o){return e.fetch("/jobs",{...o,query:t})},retrieve(t,o,n){return e.fetch(`/jobs/${encodeURIComponent(t)}`,{...n,query:o})},search(t,o,n){return e.fetch("/jobs/search",{...n,method:"POST",body:t,query:o})},similar(t,o,n){return e.fetch(`/jobs/${encodeURIComponent(t)}/similar`,{...n,query:o})},apply(t,o,n){return e.fetch(`/jobs/${encodeURIComponent(t)}/apply`,{...n,method:"POST",body:o??{}})},createApplyIntent(t,o,n){return e.fetch(`/jobs/${encodeURIComponent(t)}/apply-intents`,{...n,method:"POST",body:o})},prepareApplyApproval(t,o,n){return e.fetch(`/jobs/${encodeURIComponent(t)}/apply-approvals`,{...n,method:"POST",body:o})},uploadApplicationResume(t,o,n,r){let i=new FormData;return i.append("file",o),n?.applicationId&&i.append("applicationId",n.applicationId),e.fetch(`/jobs/${encodeURIComponent(t)}/apply/resume`,{...r,method:"POST",body:i})},myApplication(t,o){return e.fetch(`/jobs/${encodeURIComponent(t)}/application`,o)}}}function We(e){return{search(t,o){return e.fetch("/locations/search",{...o,query:t})},resolve(t,o){return e.fetch("/locations/resolve",{...o,method:"POST",body:t})}}}function Ze(e){return{retrieve(t,o){return e.fetch("/me",{...o,query:t})},delete(t){return e.fetch("/me",{...t,method:"DELETE"})},async updatePassword(t,o){let n=await e.fetch("/me/password",{...o,method:"POST",body:t});return await D(e.storage,n),n},requestEmailChange(t,o){return e.fetch("/me/email",{...o,method:"POST",body:t})},confirmEmailChange(t,o){return e.fetch("/me/email/confirm",{...o,method:"POST",body:t})},acceptInvite(t,o){return e.fetch("/me/invites/accept",{...o,method:"POST",body:t})},profile:{listObjectReferenceChoices(t,o,n){return e.fetch("/me/profile/object-references/choices",{...n,query:{...o,fieldKey:t}})},retrieve(t,o){return e.fetch("/me/profile",{...o,query:t})},update(t,o,n){return e.fetch("/me/profile",{...n,method:"PATCH",body:t,query:o})},retrieveCustomFields(t){return e.fetch("/me/profile/custom-fields",{...t})},updateCustomFields(t,o){return e.fetch("/me/profile/custom-fields",{...o,method:"PATCH",body:t})},retrieveObjectReferences(t){return e.fetch("/me/profile/object-references",t)},updateObjectReferences(t,o){return e.fetch("/me/profile/object-references",{...o,method:"PUT",body:t})},listVerifications(t){return e.fetch("/me/profile/verifications",t)},submitVerification(t,o){return e.fetch("/me/profile/verifications",{...o,method:"POST",body:t})},submitEmailDomainVerification(t,o){return e.fetch("/me/profile/verifications/email-domain",{...o,method:"POST",body:t})},confirmEmailDomainVerification(t,o){return e.fetch("/me/profile/verifications/email-domain/confirm",{...o,method:"POST",body:t})},handleAvailable(t,o){return e.fetch("/me/profile/handle-available",{...o,query:{handle:t}})},listExperience(t){return e.fetch("/me/profile/experience",t)},createExperience(t,o){return e.fetch("/me/profile/experience",{...o,method:"POST",body:t})},updateExperience(t,o,n){return e.fetch(`/me/profile/experience/${encodeURIComponent(t)}`,{...n,method:"PATCH",body:o})},deleteExperience(t,o){return e.fetch(`/me/profile/experience/${encodeURIComponent(t)}`,{...o,method:"DELETE"})},listEducation(t){return e.fetch("/me/profile/education",t)},createEducation(t,o){return e.fetch("/me/profile/education",{...o,method:"POST",body:t})},updateEducation(t,o,n){return e.fetch(`/me/profile/education/${encodeURIComponent(t)}`,{...n,method:"PATCH",body:o})},deleteEducation(t,o){return e.fetch(`/me/profile/education/${encodeURIComponent(t)}`,{...o,method:"DELETE"})},listSkills(t){return e.fetch("/me/profile/skills",t)},updateSkills(t,o){return e.fetch("/me/profile/skills",{...o,method:"PUT",body:t})},listLanguages(t){return e.fetch("/me/profile/languages",t)},updateLanguages(t,o){return e.fetch("/me/profile/languages",{...o,method:"PUT",body:t})},uploadAvatar(t,o){let n=new FormData;return n.append("file",t),e.fetch("/me/profile/avatar",{...o,method:"POST",body:n})}},notificationPreferences:{retrieve(t){return e.fetch("/me/notification-preferences",t)},update(t,o){return e.fetch("/me/notification-preferences",{...o,method:"PUT",body:t})},unsubscribeWithToken(t,o){return e.fetch("/me/notification-preferences/unsubscribe",{...o,method:"POST",body:t})}},companies:{listObjectReferenceChoices(t,o,n,r){return e.fetch(`/me/companies/${encodeURIComponent(t)}/object-references/choices`,{...r,query:{...n,fieldKey:o}})},retrieveObjectReferences(t,o){return e.fetch(`/me/companies/${encodeURIComponent(t)}/object-references`,o)},updateObjectReferences(t,o,n){return e.fetch(`/me/companies/${encodeURIComponent(t)}/object-references`,{...n,method:"PUT",body:o})},listVerifications(t,o){return e.fetch(`/me/companies/${encodeURIComponent(t)}/verifications`,o)},submitVerification(t,o,n){return e.fetch(`/me/companies/${encodeURIComponent(t)}/verifications`,{...n,method:"POST",body:o})},search(t,o){return e.fetch("/me/companies/search",{...o,query:t})},list(t){return e.fetch("/me/companies",t)},create(t,o){return e.fetch("/me/companies",{...o,method:"POST",body:t})},claim(t,o){return e.fetch(`/me/companies/${encodeURIComponent(t)}/claim`,{...o,method:"POST"})},cancelClaim(t,o){return e.fetch(`/me/companies/${encodeURIComponent(t)}/claim`,{...o,method:"DELETE"})},retrieve(t,o){return e.fetch(`/me/companies/${encodeURIComponent(t)}`,o)},update(t,o,n){return e.fetch(`/me/companies/${encodeURIComponent(t)}`,{...n,method:"PATCH",body:o})},retrieveCustomFields(t,o){return e.fetch(`/me/companies/${encodeURIComponent(t)}/custom-fields`,o)},updateCustomFields(t,o,n){return e.fetch(`/me/companies/${encodeURIComponent(t)}/custom-fields`,{...n,method:"PATCH",body:o})},delete(t,o){return e.fetch(`/me/companies/${encodeURIComponent(t)}`,{...o,method:"DELETE"})},listMembers(t,o){return e.fetch(`/me/companies/${encodeURIComponent(t)}/members`,o)},updateMemberRole(t,o,n,r){return e.fetch(`/me/companies/${encodeURIComponent(t)}/members/${encodeURIComponent(o)}`,{...r,method:"PATCH",body:n})},removeMember(t,o,n){return e.fetch(`/me/companies/${encodeURIComponent(t)}/members/${encodeURIComponent(o)}`,{...n,method:"DELETE"})},leave(t,o){return e.fetch(`/me/companies/${encodeURIComponent(t)}/membership`,{...o,method:"DELETE"})},startMembershipCheckout(t,o,n){return e.fetch(`/me/companies/${encodeURIComponent(t)}/membership/checkout`,{...n,method:"POST",body:o})},retrieveMembershipCheckout(t,o,n){return e.fetch(`/me/companies/${encodeURIComponent(t)}/membership/checkout/${encodeURIComponent(o)}`,n)},listInvites(t,o){return e.fetch(`/me/companies/${encodeURIComponent(t)}/invites`,o)},createInvite(t,o,n){return e.fetch(`/me/companies/${encodeURIComponent(t)}/invites`,{...n,method:"POST",body:o})},revokeInvite(t,o,n){return e.fetch(`/me/companies/${encodeURIComponent(t)}/invites/${encodeURIComponent(o)}`,{...n,method:"DELETE"})},uploadLogo(t,o,n){let r=new FormData;return r.append("file",o),e.fetch(`/me/companies/${encodeURIComponent(t)}/logo`,{...n,method:"POST",body:r})},workEmail:{verify(t,o,n){return e.fetch(`/me/companies/${encodeURIComponent(t)}/work-email/verify`,{...n,method:"POST",body:o})},confirm(t,o,n){return e.fetch(`/me/companies/${encodeURIComponent(t)}/work-email/confirm`,{...n,method:"POST",body:o})}},jobs:{list(t,o,n){return e.fetch(`/me/companies/${encodeURIComponent(t)}/jobs`,{...n,query:o})},retrieve(t,o,n){return e.fetch(`/me/companies/${encodeURIComponent(t)}/jobs/${encodeURIComponent(o)}`,n)},create(t,o,n){return e.fetch(`/me/companies/${encodeURIComponent(t)}/jobs`,{...n,method:"POST",body:o})},update(t,o,n,r){return e.fetch(`/me/companies/${encodeURIComponent(t)}/jobs/${encodeURIComponent(o)}`,{...r,method:"PATCH",body:n})},delete(t,o,n){return e.fetch(`/me/companies/${encodeURIComponent(t)}/jobs/${encodeURIComponent(o)}`,{...n,method:"DELETE"})},publish(t,o,n){return e.fetch(`/me/companies/${encodeURIComponent(t)}/jobs/${encodeURIComponent(o)}/publish`,{...n,method:"POST"})},unpublish(t,o,n){return e.fetch(`/me/companies/${encodeURIComponent(t)}/jobs/${encodeURIComponent(o)}/unpublish`,{...n,method:"POST"})},checkout(t,o,n,r){return e.fetch(`/me/companies/${encodeURIComponent(t)}/jobs/${encodeURIComponent(o)}/checkout`,{...r,method:"POST",body:n})}},billingOptions:{list(t,o){return e.fetch(`/me/companies/${encodeURIComponent(t)}/billing-options`,o)}},billingPortal:{create(t,o,n){return e.fetch(`/me/companies/${encodeURIComponent(t)}/billing-portal`,{...n,method:"POST",body:o})}},jobStats:{retrieve(t,o){return e.fetch(`/me/companies/${encodeURIComponent(t)}/job-stats`,o)},timeseries(t,o,n){return e.fetch(`/me/companies/${encodeURIComponent(t)}/job-stats/timeseries`,{...n,query:o})}},profileStats:{retrieve(t,o){return e.fetch(`/me/companies/${encodeURIComponent(t)}/profile-stats`,o)},timeseries(t,o,n){return e.fetch(`/me/companies/${encodeURIComponent(t)}/profile-stats/timeseries`,{...n,query:o})}},recommendedTalent:{list(t,o,n){return e.fetch(`/me/companies/${encodeURIComponent(t)}/recommended-talent`,{...n,query:o})}},talentLists:{list(t,o){return e.fetch(`/me/companies/${encodeURIComponent(t)}/talent-lists`,o)},create(t,o,n){return e.fetch(`/me/companies/${encodeURIComponent(t)}/talent-lists`,{...n,method:"POST",body:o})},update(t,o,n,r){return e.fetch(`/me/companies/${encodeURIComponent(t)}/talent-lists/${encodeURIComponent(o)}`,{...r,method:"PATCH",body:n})},remove(t,o,n){return e.fetch(`/me/companies/${encodeURIComponent(t)}/talent-lists/${encodeURIComponent(o)}`,{...n,method:"DELETE"})},memberships(t,o,n){return e.fetch(`/me/companies/${encodeURIComponent(t)}/talent-list-memberships`,{...n,query:o})},members:{list(t,o,n,r){return e.fetch(`/me/companies/${encodeURIComponent(t)}/talent-lists/${encodeURIComponent(o)}/members`,{...r,query:n})},add(t,o,n,r){return e.fetch(`/me/companies/${encodeURIComponent(t)}/talent-lists/${encodeURIComponent(o)}/members`,{...r,method:"POST",body:n})},remove(t,o,n,r){return e.fetch(`/me/companies/${encodeURIComponent(t)}/talent-lists/${encodeURIComponent(o)}/members/${encodeURIComponent(n)}`,{...r,method:"DELETE"})}}},sourcedCandidates:{list(t,o,n){return e.fetch(`/me/companies/${encodeURIComponent(t)}/sourced-candidates`,{...n,query:o})},add(t,o,n){return e.fetch(`/me/companies/${encodeURIComponent(t)}/sourced-candidates`,{...n,method:"POST",body:o})},remove(t,o,n){return e.fetch(`/me/companies/${encodeURIComponent(t)}/sourced-candidates/${encodeURIComponent(o)}`,{...n,method:"DELETE"})},convert(t,o,n,r){return e.fetch(`/me/companies/${encodeURIComponent(t)}/sourced-candidates/${encodeURIComponent(o)}/convert`,{...r,method:"POST",body:n})}},applicants:{list(t,o,n){return e.fetch(`/me/companies/${encodeURIComponent(t)}/applicants`,{...n,query:o})},move(t,o,n,r){return e.fetch(`/me/companies/${encodeURIComponent(t)}/applicants/${encodeURIComponent(o)}/stage`,{...r,method:"PATCH",body:n})},bulkMove(t,o,n){return e.fetch(`/me/companies/${encodeURIComponent(t)}/applicants/bulk/move`,{...n,method:"POST",body:o})},bulkReject(t,o,n){return e.fetch(`/me/companies/${encodeURIComponent(t)}/applicants/bulk/reject`,{...n,method:"POST",body:o})},addNote(t,o,n,r){return e.fetch(`/me/companies/${encodeURIComponent(t)}/applicants/${encodeURIComponent(o)}/notes`,{...r,method:"POST",body:n})}},pipelineStages:{create(t,o,n){return e.fetch(`/me/companies/${encodeURIComponent(t)}/pipeline-stages`,{...n,method:"POST",body:o})},update(t,o,n,r){return e.fetch(`/me/companies/${encodeURIComponent(t)}/pipeline-stages/${encodeURIComponent(o)}`,{...r,method:"PATCH",body:n})},remove(t,o,n){return e.fetch(`/me/companies/${encodeURIComponent(t)}/pipeline-stages/${encodeURIComponent(o)}`,{...n,method:"DELETE"})},reorder(t,o,n){return e.fetch(`/me/companies/${encodeURIComponent(t)}/pipeline-stages/reorder`,{...n,method:"PUT",body:o})}}},talentAccess:{retrieve(t){return e.fetch("/me/talent-access",t)},retrieveCandidate(t,o){return e.fetch(`/me/talent-access/candidates/${encodeURIComponent(t)}`,o)},checkout(t,o){return e.fetch("/me/talent-access/checkout",{...o,method:"POST",body:t})},claim(t,o){return e.fetch("/me/talent-access/claim",{...o,method:"POST",body:t})},retrieveCheckout(t,o){return e.fetch(`/me/talent-access/checkout/${encodeURIComponent(t)}`,o)},unlock(t,o){return e.fetch("/me/talent-access/unlocks",{...o,method:"POST",body:t})},upgrade(t,o){return e.fetch("/me/talent-access/upgrade",{...o,method:"POST",body:t})}},alerts:{list(t){return e.fetch("/me/alerts",t)},create(t,o){return e.fetch("/me/alerts",{...o,method:"POST",body:t})},retrieve(t,o){return e.fetch(`/me/alerts/${encodeURIComponent(t)}`,o)},update(t,o,n){return e.fetch(`/me/alerts/${encodeURIComponent(t)}`,{...n,method:"PUT",body:o})},remove(t,o){return e.fetch(`/me/alerts/${encodeURIComponent(t)}`,{...o,method:"DELETE"})}},applications:{list(t,o){return e.fetch("/me/applications",{...o,query:t})},retrieve(t,o){return e.fetch(`/me/applications/${encodeURIComponent(t)}`,o)},updateFacts(t,o,n){return e.fetch(`/me/applications/${encodeURIComponent(t)}`,{...n,method:"PATCH",body:o})},withdraw(t,o){return e.fetch(`/me/applications/${encodeURIComponent(t)}/withdraw`,{...o,method:"POST"})}},resume:{upload(t,o,n){let r=new FormData;return r.append("resume",t),o?.keepResumeOnFile&&r.append("keepResumeOnFile","true"),o?.shareWithEmployers&&r.append("shareWithEmployers","true"),o?.importMode&&r.append("importMode",o.importMode),o?.confirmReplaceAll&&r.append("confirmReplaceAll","true"),e.fetch("/me/resume",{...n,method:"POST",body:r})},retrieve(t){return e.fetch("/me/resume",t)},update(t,o){return e.fetch("/me/resume",{...o,method:"PATCH",body:t})},delete(t){return e.fetch("/me/resume",{...t,method:"DELETE"})}},recommendedJobs:{list(t,o){return e.fetch("/me/recommended-jobs",{...o,query:t})}},savedJobs:{list(t,o){return e.fetch("/me/saved-jobs",{...o,query:t})},save(t,o,n){return e.fetch("/me/saved-jobs",{...n,method:"POST",body:t,query:o})},unsave(t,o,n){return e.fetch(`/me/saved-jobs/${encodeURIComponent(t)}`,{...n,method:"DELETE",query:o})}},conversations:{list(t,o){return e.fetch("/me/conversations",{...o,query:t})},unreadCount(t){return e.fetch("/me/conversations/unread-count",t)},retrieve(t,o){return e.fetch(`/me/conversations/${encodeURIComponent(t)}`,o)},listMessages(t,o,n){return e.fetch(`/me/conversations/${encodeURIComponent(t)}/messages`,{...n,query:o})},start(t,o){return e.fetch("/me/conversations",{...o,method:"POST",body:t})},startAboutApplication(t,o){return e.fetch("/me/conversations/about-application",{...o,method:"POST",body:t})},reply(t,o,n){return e.fetch(`/me/conversations/${encodeURIComponent(t)}/reply`,{...n,method:"POST",body:o})},markRead(t,o){return e.fetch(`/me/conversations/${encodeURIComponent(t)}/read`,{...o,method:"POST"})},archive(t,o){return e.fetch(`/me/conversations/${encodeURIComponent(t)}/archive`,{...o,method:"POST"})},unarchive(t,o){return e.fetch(`/me/conversations/${encodeURIComponent(t)}/unarchive`,{...o,method:"POST"})},findExisting(t,o){return e.fetch("/me/conversations/find-existing",{...o,query:t})}},blocks:{list(t){return e.fetch("/me/blocks",t)},create(t,o){return e.fetch("/me/blocks",{...o,method:"POST",body:t})},remove(t,o){return e.fetch(`/me/blocks/${encodeURIComponent(t)}`,{...o,method:"DELETE"})},status(t,o){return e.fetch(`/me/blocks/${encodeURIComponent(t)}`,o)}},messages:{edit(t,o,n){return e.fetch(`/me/messages/${encodeURIComponent(t)}`,{...n,method:"PATCH",body:o})},unsend(t,o){return e.fetch(`/me/messages/${encodeURIComponent(t)}`,{...o,method:"DELETE"})},report(t,o,n){return e.fetch(`/me/messages/${encodeURIComponent(t)}/report`,{...n,method:"POST",body:o})}},marketingConsent:{retrieve(t){return e.fetch("/me/marketing-consent",t)},grant(t){return e.fetch("/me/marketing-consent/grant",{...t,method:"POST"})},withdraw(t){return e.fetch("/me/marketing-consent/withdraw",{...t,method:"POST"})}},access:{checkout(t,o){return e.fetch("/me/access/checkout",{...o,method:"POST",body:t})},retrieveCheckout(t,o){return e.fetch(`/me/access/checkout/${encodeURIComponent(t)}`,o)},grant(t){return e.fetch("/me/access/grant",t)},portal(t,o){return e.fetch("/me/access/portal",{...o,method:"POST",body:t})}}}}function Xe(e){return{async verify(t,o){let n=await e.fetch("/password/verify",{...o,method:"POST",body:{password:t}});return await e.storage.setItem(I,n.token),n}}}function et(e){return{offers(t){return e.fetch("/paywall/offers/enabled",t)}}}function tt(e){return{list(t,o){return e.fetch("/plans",{...o,query:t})},salesLed(t){return e.fetch("/sales-led-plans",t)}}}var Q=e=>`/products/${encodeURIComponent(e)}`;function ot(e){return{list(t,o){return e.fetch("/products",{...o,query:t})},get(t,o){return e.fetch(Q(t),o)},reviews(t,o,n){return e.fetch(`${Q(t)}/reviews`,{...n,query:o})},checkout(t,o,n){return e.fetch(`${Q(t)}/checkout`,{...n,method:"POST",body:o})},getCheckout(t,o,n){return e.fetch(`${Q(t)}/checkout/${encodeURIComponent(o)}`,n)}}}function nt(e){return{retrieve(t,o){return e.fetch(`/profile-fields/${encodeURIComponent(t)}`,o)},choices(t,o,n,r){return e.fetch(`/profile-fields/${encodeURIComponent(t)}/${encodeURIComponent(o)}/choices`,{...r,query:n})}}}var ae="x-cavuno-purchase-confirmation",k=e=>`/purchases/${encodeURIComponent(e)}`;function q(e){if(!e)return{};let{confirmationToken:t,...o}=e;if(!t)return o;let n=new Headers(o.headers);return n.set(ae,t),{...o,headers:n}}function rt(e){return{get(t,o){return e.fetch(k(t),q(o))},confirmEmail(t,o,n){return e.fetch(`${k(t)}/confirm`,{...n,method:"POST",body:o})},download(t,o,n){return e.fetch(`${k(t)}/files/${encodeURIComponent(o)}/download`,{...q(n),method:"POST"})},downloadAll(t,o){return e.fetch(`${k(t)}/download-all`,{...q(o),method:"POST"})},review(t,o,n){return e.fetch(`${k(t)}/review`,{...q(n),method:"PUT",body:o})},resend(t,o){return e.fetch("/purchases/resend",{...o,method:"POST",body:t})},mine(t){return e.fetch("/me/purchases",t)}}}function it(e){return{resolve(t,o){return e.fetch("/redirects/resolve",{...o,query:{path:t}})}}}function st(e){return{companies:{list(t){return e.fetch("/salaries/companies",t)}},titles:{list(t,o){return e.fetch("/salaries/titles",{...o,query:t})},retrieve(t,o,n){return e.fetch(`/salaries/titles/${encodeURIComponent(t)}`,{...n,query:o})},locations(t,o,n){return e.fetch(`/salaries/titles/${encodeURIComponent(t)}/locations`,{...n,query:o})},location(t,o,n,r){return e.fetch(`/salaries/titles/${encodeURIComponent(t)}/${encodeURIComponent(o)}`,{...r,query:n})}},skills:{list(t,o){return e.fetch("/salaries/skills",{...o,query:t})},retrieve(t,o,n){return e.fetch(`/salaries/skills/${encodeURIComponent(t)}`,{...n,query:o})},locations(t,o,n){return e.fetch(`/salaries/skills/${encodeURIComponent(t)}/locations`,{...n,query:o})},location(t,o,n,r){return e.fetch(`/salaries/skills/${encodeURIComponent(t)}/${encodeURIComponent(o)}`,{...r,query:n})}},locations:{list(t,o){return e.fetch("/salaries/locations",{...o,query:t})},retrieve(t,o,n){return e.fetch(`/salaries/locations/${encodeURIComponent(t)}`,{...n,query:o})},titles(t,o,n){return e.fetch(`/salaries/locations/${encodeURIComponent(t)}/titles`,{...n,query:o})},skills(t,o,n){return e.fetch(`/salaries/locations/${encodeURIComponent(t)}/skills`,{...n,query:o})}}}}function at(e){return{suggest(t,o){return e.fetch("/search/suggest",{...o,query:t})}}}function lt(e){return Object.assign(t=>e.fetch("/sitemap",t),{entries(t,o,n){return e.fetch(`/sitemap/${encodeURIComponent(t)}`,{...n,query:o})}})}function ct(e){return{list(t,o){let n=t?{...t,customFields:t.customFields?JSON.stringify(t.customFields):void 0,objectReferences:t.objectReferences?JSON.stringify(t.objectReferences):void 0}:void 0;return e.fetch("/talent",{...o,query:n})},retrieve(t,o){return e.fetch(`/talent/${encodeURIComponent(t)}`,o)},places:{list(t,o){return e.fetch("/talent/places",{...o,query:t})}}}}function ut(e,t){return{resolve(o,n){return e.fetch(`/${t}/${encodeURIComponent(o)}`,n)}}}function pt(e,t){return{...ut(e,t),list(o,n){return e.fetch(`/${t}`,{...n,query:o})}}}function mt(e){return{categories:pt(e,"categories"),skills:pt(e,"skills"),remotePermits:{list(t){return e.fetch("/remote-permits",t)}},places:{...ut(e,"places"),list(t,o){return e.fetch("/places",{...o,query:t})},suggest(t,o){let{near:n,...r}=t;return e.fetch("/places/suggest",{...o,query:{...r,near:n?`${n.lat},${n.lng}`:void 0}})}}}}function dt(e){return{get(t){return e.fetch("/tip-jar",t)},checkout(t,o){return e.fetch("/tip-jar/checkout",{...o,method:"POST",body:t})},getCheckout(t,o){return e.fetch(`/tip-jar/checkout/${encodeURIComponent(t)}`,o)}}}function yt(e,t,o){async function*n(){let r=t;for(;;){let i=await e(r,o);if(yield i,!i.hasMore||i.nextCursor===null)return;let{offset:s,...a}=r??{};r={...a,cursor:i.nextCursor}}}return{pages:n,async*[Symbol.asyncIterator](){for await(let r of n())yield*r.data},async toArray({limit:r}){let i=[];for await(let s of n())if(i.push(...s.data),i.length>=r)break;return i.slice(0,r)}}}function ft(e,t){return e.authorBoardUserId!==t}function gt(e,t){let o=e.some(r=>r.authorBoardUserId===t);return e.some(r=>r.authorBoardUserId!==t)&&!o}function ht(e,t){for(let o=e.length-1;o>=0;o--){let n=e[o];if(n.authorBoardUserId!==t)return n.id}return null}function le(e){let t=e.replace(/^[\u0000-\u0020]+|[\u0000-\u0020]+$/g,"").replace(/[\t\n\r]/g,""),o=/^([a-z][a-z0-9+.-]*):/i.exec(t)?.[1]?.toLowerCase();return o===void 0?!0:o==="http"||o==="https"||o==="mailto"}function ce(e){let t=e.applicationUrl&&le(e.applicationUrl)?e.applicationUrl:null;return!t&&!e.jobSlug?{kind:"none"}:e.registrationWall&&!e.viewer?{kind:"sign-in",reason:"registration-wall"}:t?{kind:"external",url:t}:e.jobSlug?e.viewer?e.viewer.emailVerified?e.applied?{kind:"applied"}:{kind:"native",jobSlug:e.jobSlug}:{kind:"verify-email"}:e.allowGuestApply?{kind:"guest",jobSlug:e.jobSlug}:{kind:"sign-in",reason:"native-apply"}:{kind:"none"}}function bt(e){let t=ce({...e,registrationWall:!1,allowGuestApply:!1});return t.kind==="sign-in"?{kind:"sign-in"}:t}var Ct=/^[0-9A-Za-z]{16,64}$/,St=/^[0-9a-f]{16}$/,Qo=/^[a-z0-9-]{1,64}$/,qo=/^[1-9][0-9]{0,2}$/;function Ot(e){if(e instanceof URLSearchParams)return e;if(e instanceof URL)return e.searchParams;if(e.startsWith("?")||!e.includes("/")&&e.includes("="))return new URLSearchParams(e);try{return new URL(e,"https://board.invalid").searchParams}catch{return new URLSearchParams}}function Pt(e){let t=Ot(e),o=t.get("ja_alert")??"",n=t.get("ja_email")??"",r=t.get("ja_pos")??"",i=t.get("ja_mv")??"",s=qo.test(r)?Number(r):NaN;return!Ct.test(o)||!St.test(n)||!Qo.test(i)||!(s>=1&&s<=100)?null:{alertId:o,emailId:n,position:s,matcherVersion:i}}function _t(e){let t=Ot(e),o=t.get("ja_alert")??"",n=t.get("ja_email")??"";return!Ct.test(o)||!St.test(n)?null:{alertId:o,emailId:n}}function Vo(e){let t=new F({baseUrl:e.baseUrl??De,board:e.board,storage:Je(e.auth?.storage,e.board),globalHeaders:e.globalHeaders,onRequest:e.onRequest,onResponse:e.onResponse,logger:e.logger});return{client:t,context(o){return t.fetch("",o)},seo(o){return t.fetch("/seo",o)},jobs:ze(t),embed:Ge(t),companies:Ve(t),blog:qe(t),auth:Qe(t,e.board),me:Ze(t),invites:He(t),password:Xe(t),taxonomy:mt(t),search:at(t),locations:We(t),redirects:it(t),jobAlerts:Ke(t),jobPosting:Ye(t),salaries:st(t),talent:ct(t),profileFields:nt(t),plans:tt(t),paywall:et(t),products:ot(t),purchases:rt(t),tipJar:dt(t),sitemap:lt(t)}}var pe={};A(pe,{DEFAULT_SORT:()=>Go,EMPLOYMENT_TYPES:()=>vt,JOB_SORTS:()=>Bt,REMOTE_OPTIONS:()=>Rt,SENIORITIES:()=>Et,parseCategory:()=>Lt,parseCompany:()=>Tt,parseListingFilters:()=>Ko,parseSeniority:()=>At});var Rt=["on_site","hybrid","remote"],vt=["full_time","part_time","contract","internship","temporary"],Et=["entry_level","associate","mid_level","senior","lead","principal","director","executive"],Bt=["relevance","newest","salary_high","distance"],Go="relevance";var Ho=new Set(Et);function At(e){let t=Array.isArray(e)?e:typeof e=="string"&&e?e.split(","):[],o=[],n=new Set;for(let r of t){if(typeof r!="string")continue;let i=r.trim().toLowerCase().normalize("NFC");!i||n.has(i)||Ho.has(i)&&(n.add(i),o.push(i))}return o.length>0?o:void 0}function Tt(e){return It(e,10)}function Lt(e){return It(e,10)}function It(e,t){let o=Array.isArray(e)?e:typeof e=="string"&&e?e.split(","):[],n=[],r=new Set;for(let i of o){if(typeof i!="string")continue;let s=i.trim().toLowerCase().normalize("NFC");if(!(!s||r.has(s))&&(r.add(s),n.push(s),n.length>=t))break}return n.length>0?n:void 0}function Ko(e){return{q:typeof e.q=="string"&&e.q?e.q:void 0,remoteOption:Rt.includes(e.remoteOption)?e.remoteOption:void 0,employmentType:vt.includes(e.employmentType)?e.employmentType:void 0,seniority:At(e.seniority),company:Tt(e.company),category:Lt(e.category),sort:Bt.includes(e.sort)?e.sort:void 0}}var Pe={};A(Pe,{COMMUTE_RADIUS_MAX_KM:()=>mo,COMMUTE_RADIUS_MIN_KM:()=>uo,COUNTRY_CODES:()=>te,MILES_COUNTRIES:()=>Ce,buildJobBreadcrumbs:()=>ee,countryOptions:()=>co,defaultCommuteRadiusKm:()=>go,defaultSearchRadius:()=>Co,distanceUnitForCountry:()=>fo,distanceUnitToKm:()=>oe,formatDate:()=>Mt,formatDistance:()=>So,formatMonthYear:()=>Jt,formatPublishedRelativeDate:()=>wt,formatSalaryRange:()=>Nt,formatSalaryStat:()=>H,formatSalaryStatRange:()=>x,kmToDistanceUnit:()=>ho,kmToMiles:()=>Oe,milesToKm:()=>Se,normalizeWebsiteUrl:()=>M,resolveCustomFieldDisplay:()=>po,searchRadiusOptions:()=>bo});function S(e){let t=e.trim();if(!t)return null;try{let o=t.replace(/_/g,"-"),[n]=Intl.getCanonicalLocales(o);if(!n)return null;let[r]=Intl.NumberFormat.supportedLocalesOf([n]);return r??null}catch{return null}}var Ft=new Map,kt=new Map,xt=new Map,Ut=new Map;function Yo(e){let t=Ft.get(e);return t||(t=new Intl.RelativeTimeFormat(e,{numeric:"always",style:"short"}),Ft.set(e,t)),t}function zo(e){let t=kt.get(e);return t||(t=new Intl.RelativeTimeFormat(e,{numeric:"auto",style:"short"}),kt.set(e,t)),t}function Wo(e){let t=xt.get(e);return t||(t=new Intl.DateTimeFormat(e,{dateStyle:"medium",timeZone:"UTC"}),xt.set(e,t)),t}function Zo(e){let t=Ut.get(e);return t||(t=new Intl.DateTimeFormat(e,{month:"short",year:"numeric",timeZone:"UTC"}),Ut.set(e,t)),t}function ue(e,t,o){try{return Yo(o).format(e,t)}catch{return null}}function Mt(e,t){if(!t)return null;let o=new Date(t);if(Number.isNaN(o.getTime()))return null;let n=S(e);if(!n)return null;try{return Wo(n).format(o)}catch{return o.toISOString().split("T")[0]}}function wt(e,t,o=Date.now()){if(!t)return null;let n=new Date(t);if(Number.isNaN(n.getTime()))return null;let r=S(e);if(!r)return null;let i=o-n.getTime(),s=Math.abs(i),a=60*1e3,l=60*a,c=24*l,p=7*c,u=30*c,m=365*c;if(s<a)try{return zo(r).format(0,"second")}catch{return ue(0,"second",r)}let f=[{unit:"year",ms:m},{unit:"month",ms:u},{unit:"week",ms:p},{unit:"day",ms:c},{unit:"hour",ms:l},{unit:"minute",ms:a}];for(let h of f)if(s>=h.ms){let R=Math.round(s/h.ms),d=i>=0?-R:R;return ue(d,h.unit,r)}let g=Math.round(s/1e3),O=i>=0?-g:g;return ue(O,"second",r)}function Jt(e,t){if(!t)return null;let n=/^\d{4}-\d{2}(-\d{2})?$/.test(t)?new Date(t.length===7?`${t}-01T00:00:00.000Z`:`${t}T00:00:00.000Z`):new Date(t);if(Number.isNaN(n.getTime()))return null;let r=S(e);if(!r)return null;try{return Zo(r).format(n)}catch{return null}}var V=new Map;function me(e,t,o,n="symbol",r="compact"){let i=`${t}:${o}:${n}:${r}`,s=V.get(i);if(s===void 0){try{let a={style:"currency",currency:o,currencyDisplay:n,notation:r};r==="compact"&&(a.compactDisplay="short",a.maximumFractionDigits=1,a.minimumFractionDigits=0),s=new Intl.NumberFormat(t,a)}catch{s=null}V.set(i,s)}return s?s.format(e):null}function de(e,t,o){if(typeof e.formatRange=="function")try{return e.formatRange(t,o)}catch{}try{return`${e.format(t)}\u2013${e.format(o)}`}catch{return null}}function Xo(e,t,o,n,r="symbol",i="compact"){let s=`${o}:${n}:${r}:${i}:range`,a=V.get(s);if(a===void 0){try{let l={style:"currency",currency:n,currencyDisplay:r,notation:i};i==="compact"&&(l.compactDisplay="short",l.maximumFractionDigits=1,l.minimumFractionDigits=0),a=new Intl.NumberFormat(o,l)}catch{a=null}V.set(s,a)}return a?de(a,e,t):null}var en=new Set(["per_year","per_month","per_week","per_day","per_hour"]);function tn(...e){let t=!1;for(let o of e)if(!(o==null||!Number.isFinite(o))&&(t=!0,Math.abs(o)>=1e3))return"compact";return t?"standard":"compact"}function Nt(e,t,o,n,r=null,i="symbol",s){let a=t==null||Number.isFinite(t),l=o==null||Number.isFinite(o);if(!a||!l||t==null&&o==null)return null;let c=r?.trim().toUpperCase()||null;if(!c)return null;let p=S(e);if(!p)return null;let u=s??tn(t,o),m=typeof n=="string"&&en.has(n)?n:null;if(t!=null&&o!=null){let g=t<=o?t:o,O=t<=o?o:t,h=g===O?me(g,p,c,i,u):Xo(g,O,p,c,i,u);return h?{text:h,timeframe:m,bound:"range"}:null}if(t!=null){let g=me(t,p,c,i,u);return g?{text:g,timeframe:m,bound:"from"}:null}let f=me(o,p,c,i,u);return f?{text:f,timeframe:m,bound:"upTo"}:null}var Dt=new Map;function $t(...e){let t=!1;for(let o of e)if(!(o==null||!Number.isFinite(o))&&(t=!0,Math.abs(o)>=1e3))return"compact";return t?"standard":"compact"}function jt(e,t,o){let n=`${e}:${t}:${o}`,r=Dt.get(n);if(r!==void 0)return r;let i;try{let s={style:"currency",currency:t,notation:o};o==="compact"&&(s.compactDisplay="short",s.minimumFractionDigits=0,s.maximumFractionDigits=1),i=new Intl.NumberFormat(e,s)}catch{i=null}return Dt.set(n,i),i}function H(e,t,o,n){if(!Number.isFinite(t))return null;let r=o?.trim().toUpperCase()||null;if(!r)return null;let i=S(e);if(!i)return null;let s=n??$t(t),a=jt(i,r,s);return a?a.format(t):null}function x(e,t,o,n,r){if(!Number.isFinite(t)||!Number.isFinite(o))return null;let i=n?.trim().toUpperCase()||null;if(!i)return null;let s=S(e);if(!s)return null;let a=r??$t(t,o),l=jt(s,i,a);if(!l)return null;let c=Math.min(t,o),p=Math.max(t,o);return c===p?l.format(c):de(l,c,p)}var G=["entry_level","associate","mid_level","senior","lead","principal","director","executive"];function Qt(e){return[...e].sort((t,o)=>{let n=G.indexOf(t.seniority),r=G.indexOf(o.seniority);return(n===-1?999:n)-(r===-1?999:r)})}var on={unitText:"YEAR",duration:"P1Y"};function U(e,t,o,n,r={}){return{"@type":"MonetaryAmountDistribution",...e!==void 0?{name:e}:{},currency:t,minValue:o,maxValue:n,...r,...on}}function ye(e,t,o,n){return e.map(r=>{let i=n?.seniorityName?.({seniority:r.seniority,entity:o});return U(i,t,r.avgSalaryMin,r.avgSalaryMax)})}function K(e,t,o,n){return{"@context":"https://schema.org","@type":e,name:t,...o,estimatedSalary:n}}function qt(e,t,o,n){if(!o)return[];let r=x(e,o.avgMin,o.avgMax,n);return[{kind:"average",label:t,range:r,avgMin:o.avgMin,avgMax:o.avgMax,currency:n,jobCount:o.jobCount},{kind:"methodology",label:t}]}function Y(e){return e.length===0?null:{"@context":"https://schema.org","@type":"ItemList",numberOfItems:e.length,itemListElement:e.map((t,o)=>({"@type":"ListItem",position:o+1,name:t.name,url:t.url}))}}function Vt(e){return e.length===0?null:{"@context":"https://schema.org","@type":"FAQPage",mainEntity:e.map(t=>({"@type":"Question",name:t.q,acceptedAnswer:{"@type":"Answer",text:t.a}}))}}function Gt(e,t){return e.overallSalary?K("Occupation",e.categoryName,{},[U(e.categoryName,e.currency,e.overallSalary.avgMin,e.overallSalary.avgMax,{...e.boardP25Min?{percentile25:e.boardP25Min}:{},...e.boardP75Max?{percentile75:e.boardP75Max}:{}}),...ye(e.bySeniority,e.currency,e.categoryName,t)]):null}function Ht(e){return e.overallSalary?K("Occupation",e.skillName,{},[U(e.skillName,e.currency,e.overallSalary.avgMin,e.overallSalary.avgMax,{median:Math.round((e.overallSalary.medianMin+e.overallSalary.medianMax)/2)})]):null}function Kt(e,t){return!t?.occupationUrl||!(e.adminLevel==="city"||e.adminLevel==="locality")?null:Y(e.topCategories.map(n=>({name:n.categoryName,url:t.occupationUrl(n)})))}function Yt(e,t){return e.overall?K("Occupation",e.name,{occupationLocation:{"@type":"AdministrativeArea",name:e.placeName,address:{"@type":"PostalAddress",addressCountry:e.countryCode}}},[U(e.name,e.currency,e.overall.avgMin,e.overall.avgMax,{...e.overall.p25Min?{percentile25:e.overall.p25Min}:{},...e.overall.p75Max?{percentile75:e.overall.p75Max}:{}}),...ye(e.bySeniority,e.currency,e.name,t)]):null}function zt(e,t){return t?.occupationUrl?Y(e.byCategory.map(o=>({name:o.categoryName,url:t.occupationUrl(o)}))):null}function Wt(e,t){return e.overallSalary?K("Occupation",e.categoryName,{occupationalCategory:e.categoryName,hiringOrganization:{"@type":"Organization",name:e.companyName}},[U(e.categoryName,e.currency,e.overallSalary.avgMin,e.overallSalary.avgMax,{...e.boardCategoryP25Min?{percentile25:e.boardCategoryP25Min}:{},...e.boardCategoryP75Max?{percentile75:e.boardCategoryP75Max}:{}}),...ye(e.bySeniority,e.currency,e.categoryName,t)]):null}function eo(e,t){return e.company?.name??t.legalName??t.contact?.legalName??t.name??null}var Zt={high_school:"high school",associate_degree:"associate degree",bachelor_degree:"bachelor degree",professional_certificate:"professional certificate",postgraduate_degree:"postgraduate degree"},nn={full_time:"FULL_TIME",part_time:"PART_TIME",contract:"CONTRACTOR",internship:"INTERN",temporary:"TEMPORARY",volunteer:"VOLUNTEER",other:"OTHER"},rn={per_year:"YEAR",per_month:"MONTH",per_week:"WEEK",per_day:"DAY",per_hour:"HOUR"},ge=["AF","AX","AL","DZ","AS","AD","AO","AI","AQ","AG","AR","AM","AW","AU","AT","AZ","BS","BH","BD","BB","BY","BE","BZ","BJ","BM","BT","BO","BA","BW","BV","BR","IO","VG","BN","BG","BF","BI","KH","CM","CA","CV","BQ","KY","CF","TD","CL","CN","CX","CC","CO","KM","CK","CR","HR","CU","CW","CY","CZ","DK","DJ","DM","DO","CD","EC","EG","SV","GQ","ER","EE","SZ","ET","FK","FO","FJ","FI","FR","GF","PF","TF","GA","GM","GE","DE","GH","GI","GR","GL","GD","GP","GU","GT","GG","GN","GW","GY","HT","HM","HN","HK","HU","IS","IN","ID","IR","IQ","IE","IM","IL","IT","CI","JM","JP","JE","JO","KZ","KE","KI","XK","KW","KG","LA","LV","LB","LS","LR","LY","LI","LT","LU","MO","MG","MW","MY","MV","ML","MT","MH","MQ","MR","MU","YT","MX","FM","MD","MC","MN","ME","MS","MA","MZ","MM","NA","NR","NP","NL","NC","NZ","NI","NE","NG","NU","NF","MK","MP","NO","OM","PK","PW","PS","PA","PG","PY","PE","PH","PN","PL","PT","PR","QA","CG","RE","RO","RU","RW","BL","SH","KN","LC","MF","PM","VC","WS","SM","ST","SA","SN","RS","SC","SL","SG","SX","SK","SI","SB","SO","ZA","GS","KR","SS","ES","LK","SD","SR","SJ","SE","CH","SY","TW","TJ","TZ","TH","TL","TG","TK","TO","TT","TN","TR","TM","TC","TV","UG","UA","AE","GB","US","UM","VI","UY","UZ","VU","VA","VE","VN","WF","EH","YE","ZM","ZW"];function to({job:e,board:t,shareUrl:o}){let n=mn(e),r=dn(e),i=fe({"@context":"https://schema.org/","@type":"JobPosting",title:e.title,description:e.description??"",identifier:sn(e,t),datePosted:Xt(e.publishedAt),validThrough:Xt(e.expiresAt),employmentType:e.employmentType?nn[e.employmentType]??"OTHER":"OTHER",hiringOrganization:an(e,t),jobLocation:cn(e),jobLocationType:e.remoteOption==="remote"?"TELECOMMUTE":void 0,applicantLocationRequirements:e.remoteOption==="remote"?un(e):null,baseSalary:ln(e),educationRequirements:n,experienceRequirements:r,experienceInPlaceOfEducation:e.experienceInPlaceOfEducation===!0&&n&&r?!0:void 0,url:o});return!i||Array.isArray(i)||Object.keys(i).length===0?null:i}function sn(e,t){let o=eo(e,t),n={"@type":"PropertyValue",value:e.id};return o&&(n.name=o),n}function an(e,t){let o=eo(e,t);if(!o)return null;let n={"@type":"Organization",name:o},r=e.company?.website??null,i=r?M(r):null;i&&(n.sameAs=i);let s=e.company?.logoUrl??t.logoUrl??null;return s&&(n.logo=s),n}function M(e){let t=e.trim();return t?/^https?:\/\//i.test(t)?t:`https://${t}`:null}function ln(e){let t=e.salaryCurrency?.trim(),o=typeof e.salaryMin=="number",n=typeof e.salaryMax=="number";if(!t||!o&&!n)return null;let r={"@type":"QuantitativeValue"};o&&(r.minValue=e.salaryMin),n&&(r.maxValue=e.salaryMax);let i=e.salaryTimeframe?rn[e.salaryTimeframe]:void 0;return i&&(r.unitText=i),!o&&n&&typeof e.salaryMax=="number"?(r.value=e.salaryMax,r.minValue=e.salaryMax):!n&&o&&typeof e.salaryMin=="number"&&(r.value=e.salaryMin,r.maxValue=e.salaryMin),{"@type":"MonetaryAmount",currency:t.toUpperCase(),value:r}}function cn(e){let t=e.officeLocations.map(o=>pn({countryCode:o.countryCode,region:o.region,locality:o.city??o.locality,postalCode:o.postalCode,name:o.displayName})).filter(o=>o!==null);return t.length===0?null:t.length===1?t[0]:t}function pn({countryCode:e,region:t,locality:o,postalCode:n,name:r}){let i={"@type":"PostalAddress"},s=e?.trim(),a=t?.trim(),l=o?.trim(),c=n?.trim(),p=r?.trim();s&&(i.addressCountry=s.toUpperCase()),a&&(i.addressRegion=a),l&&(i.addressLocality=l),c&&(i.postalCode=c);let u=Object.keys(i).length>1;if(!u&&!p)return null;let m={"@type":"Place"};return p&&(m.name=p),u&&(m.address=i),m}function un(e){if(e.remoteWorldwide)return ge.map(n=>({"@type":"Country",name:n}));let t=[],o=new Set;for(let n of e.remoteWorkPermitCountryCodes??[]){let r=n?.trim().toUpperCase();!r||o.has(r)||(o.add(r),t.push({"@type":"Country",name:r}))}for(let n of e.remoteWorkPermitSubdivisionCodes??[]){let r=n?.split("-")[0]?.trim().toUpperCase();!r||o.has(r)||(o.add(r),t.push({"@type":"Country",name:r}))}return t.length===0?null:t.length===1?t[0]:t}function mn(e){let t=e.educationRequirements;if(!t||t.length===0)return null;if(t.includes("no_requirements"))return"no requirements";let o=t.filter(n=>n in Zt).map(n=>({"@type":"EducationalOccupationalCredential",credentialCategory:Zt[n]}));return o.length>0?o:null}function dn(e){let t=e.experienceMonths;return typeof t!="number"?null:t===0?"no requirements":{"@type":"OccupationalExperienceRequirements",monthsOfExperience:t}}function Xt(e){if(!e)return null;let t=new Date(e);return Number.isNaN(t.getTime())?null:t.toISOString()}function fe(e){let t=o=>o==null?!1:Array.isArray(o)?o.length>0:typeof o=="object"?Object.keys(o).length>0:!0;if(Array.isArray(e))return e.map(o=>fe(o)).filter(t);if(e&&typeof e=="object"){let o=Object.entries(e).map(([n,r])=>[n,fe(r)]).filter(([,n])=>t(n));return Object.fromEntries(o)}return e}var be={};A(be,{BOARD_PATHS:()=>Z,blogAuthorPath:()=>Cn,blogPostPath:()=>so,blogTagPath:()=>ao,boardUrl:()=>X,companyMarketPath:()=>io,companyPath:()=>ro,companySalaryPath:()=>fn,encodePathSegment:()=>y,goAlertsConfirmPath:()=>En,goAlertsManagePath:()=>vn,goJobPath:()=>Rn,jobDetailPath:()=>he,jobsCategoryPath:()=>z,jobsLocationCategoryPath:()=>W,jobsLocationPath:()=>w,jobsLocationSkillPath:()=>no,jobsSkillPath:()=>oo,productPath:()=>Pn,purchasePath:()=>_n,salaryLocationPath:()=>bn,salarySkillPath:()=>hn,salaryTitlePath:()=>gn,suggestionPath:()=>yn,talentLocationPath:()=>On,talentProfilePath:()=>Sn});function y(e){try{return encodeURIComponent(decodeURIComponent(e)).replace(/%3A/gi,":")}catch{return encodeURIComponent(e).replace(/%3A/gi,":")}}function he(e,t){return`/companies/${y(e)}/jobs/${y(t)}`}function z(e){return`/jobs/${y(e)}`}function oo(e){return`/jobs/skills/${y(e)}`}function w(e){return`/jobs/locations/${y(e)}`}function W(e,t){return`${w(e)}/${y(t)}`}function no(e,t){return`${w(e)}/skills/${y(t)}`}function ro(e){return`/companies/${y(e)}`}function io(e){return`/companies/markets/${y(e)}`}function yn(e,t){let o=t.location?.trim()||void 0;return t.scope==="blog"?e.type==="post"?so(e.slug):e.type==="tag"?ao(e.slug):null:t.scope==="jobs"?e.type==="company"||e.type==="market"||e.type==="post"||e.type==="tag"?null:e.termType==="skill"?o?no(o,e.canonicalSlug):oo(e.canonicalSlug):o?W(o,e.canonicalSlug):z(e.canonicalSlug):e.type==="company"?ro(e.slug):e.type==="market"?io(e.canonicalSlug??e.slug):null}function fn(e){return`/companies/${y(e)}/salaries`}function gn(e){return`/salaries/titles/${y(e)}`}function hn(e){return`/salaries/skills/${y(e)}`}function bn(e){return`/salaries/locations/${y(e)}`}function so(e){return`/blog/${y(e)}`}function ao(e){return`/blog/tag/${y(e)}`}function Cn(e){return`/blog/author/${y(e)}`}function Sn(e){return`/p/${y(e)}`}function On(e){return`/talent/locations/${y(e)}`}function Pn(e){return`/products/${y(e)}`}function _n(e){return`/purchases/${y(e)}`}var Z={home:"/",jobs:"/jobs",companies:"/companies",salaries:"/salaries",salaryCompanies:"/salaries/companies",salaryTitles:"/salaries/titles",salarySkills:"/salaries/skills",salaryLocations:"/salaries/locations",blog:"/blog",about:"/about",privacyPolicy:"/privacy-policy",termsOfService:"/terms-of-service",cookiePolicy:"/cookie-policy",impressum:"/impressum",talent:"/talent",talentLocations:"/talent/locations",employers:"/employers",alertsManage:"/alerts/manage",alertsConfirm:"/alerts/confirm",products:"/products",mePurchases:"/me/purchases",tip:"/tip"};function Rn(e){return`/go/job/${e}`}function vn(){return"/go/alerts-manage"}function En(){return"/go/alerts-confirm"}function X(e,t){return`${e.replace(/\/+$/,"")}${t}`}function lo(e,t={}){let o=e.map(r=>{let i=r.label?.trim();return i?{name:i,href:r.href?.trim()??null}:null}).filter(r=>!!r).filter((r,i,s)=>!!r.href||i===s.length-1);return o.length<2?null:{"@context":"https://schema.org","@type":"BreadcrumbList",itemListElement:o.map((r,i)=>{let s=r.href?Bn(r.href,t.origin??null):null,a={"@type":"ListItem",position:i+1,name:r.name};return s&&(a.item=s),a})}}function Bn(e,t){if(An(e))return e;if(!t)return null;let o=e.startsWith("/")?e:`/${e}`;return`${t}${o}`}function An(e){return/^https?:\/\//i.test(e)}function ee(e){let t=[{kind:"home",path:Z.home},{kind:"jobs",path:Z.jobs}],o=null;for(let r of e.placeHierarchy)o=r.canonicalSlug,t.push({kind:"place",name:r.name,path:w(r.canonicalSlug)});let n=e.categories[0];return n&&t.push({kind:"category",name:n.name,path:o?W(o,n.slug):z(n.slug)}),t.push({kind:"job",name:e.title}),t}var te=["AD","AE","AF","AG","AI","AL","AM","AO","AQ","AR","AS","AT","AU","AW","AX","AZ","BA","BB","BD","BE","BF","BG","BH","BI","BJ","BL","BM","BN","BO","BQ","BR","BS","BT","BV","BW","BY","BZ","CA","CC","CD","CF","CG","CH","CI","CK","CL","CM","CN","CO","CR","CU","CV","CW","CX","CY","CZ","DE","DJ","DK","DM","DO","DZ","EC","EE","EG","EH","ER","ES","ET","FI","FJ","FK","FM","FO","FR","GA","GB","GD","GE","GF","GG","GH","GI","GL","GM","GN","GP","GQ","GR","GS","GT","GU","GW","GY","HK","HM","HN","HR","HT","HU","ID","IE","IL","IM","IN","IO","IQ","IR","IS","IT","JE","JM","JO","JP","KE","KG","KH","KI","KM","KN","KR","KW","KY","KZ","LA","LB","LC","LI","LK","LR","LS","LT","LU","LV","LY","MA","MC","MD","ME","MF","MG","MH","MK","ML","MM","MN","MO","MP","MQ","MR","MS","MT","MU","MV","MW","MX","MY","MZ","NA","NC","NE","NF","NG","NI","NL","NO","NP","NR","NU","NZ","OM","PA","PE","PF","PG","PH","PK","PL","PM","PN","PR","PS","PT","PW","PY","QA","RE","RO","RS","RU","RW","SA","SB","SC","SD","SE","SG","SH","SI","SJ","SK","SL","SM","SN","SO","SR","SS","ST","SV","SX","SY","SZ","TC","TD","TF","TG","TH","TJ","TK","TL","TM","TN","TO","TR","TT","TV","TW","TZ","UA","UG","UM","US","UY","UZ","VA","VC","VE","VG","VI","VN","VU","WF","WS","XK","YE","YT","ZA","ZM","ZW"];function Tn(e){try{return new Intl.DisplayNames([e],{type:"region"})}catch{return null}}function Ln(e){try{return new Intl.Collator(e)}catch{return new Intl.Collator}}function co(e){let t=S(e);if(!t)return te.map(r=>({code:r,name:r})).sort((r,i)=>r.code<i.code?-1:r.code>i.code?1:0);let o=Tn(t),n=Ln(t).compare;return te.map(r=>({code:r,name:o?.of(r)??r})).sort((r,i)=>n(r.name,i.name))}function In(e,t){if(!Array.isArray(t)||t.length===0)return null;let o=t.map(n=>e.options?.find(r=>r.key===n)?.label).filter(n=>!!n);return o.length>0?o:null}function Fn(e,t){switch(e.type){case"number":return null;case"multi_select":return null;case"single_select":return typeof t!="string"?null:e.options?.find(o=>o.key===t)?.label??null;default:return typeof t=="string"&&t.trim()!==""?t:null}}function po(e,t,o){let n=[];for(let r of t??[]){let i=o?.[r.key];if(r.type==="boolean"){typeof i=="boolean"&&n.push({key:r.key,label:r.label,kind:"boolean",value:i});continue}if(r.type==="number"){typeof i=="number"&&Number.isFinite(i)&&n.push({key:r.key,label:r.label,kind:"number",value:i});continue}if(r.type==="multi_select"){let a=In(r,i);a&&n.push({key:r.key,label:r.label,kind:"multi_select",values:a});continue}let s=Fn(r,i);s!==null&&n.push({key:r.key,label:r.label,kind:r.type==="rich_text"?"rich_text":"text",value:s})}return n}var Ce=["US","GB","LR","MM"],uo=1,mo=250;var kn=new Set(Ce);function yo(e){return typeof e=="string"&&kn.has(e.trim().toUpperCase())}function fo(e){return yo(e)?"mi":"km"}function go(e){return yo(e)?40:50}function Se(e){return e*1.609344}function Oe(e){return e/1.609344}function ho(e,t){return t==="mi"?Oe(e):e}function oe(e,t){return t==="mi"?Se(e):e}var xn=[5,10,25,50,100];function bo(e){return xn.map(t=>({value:t,unit:e,km:oe(t,e)}))}function Co(e){let t=e==="mi"?25:50;return{value:t,unit:e,km:oe(t,e)}}function So(e,t,o){return new Intl.NumberFormat(o,{style:"unit",unit:t==="mi"?"mile":"kilometer",unitDisplay:"short",maximumFractionDigits:1}).format(e)}var _e={};A(_e,{ALL_COUNTRY_CODES:()=>ge,SENIORITY_ORDER:()=>G,buildJobBreadcrumbs:()=>ee,buildSalaryFaq:()=>qt,companyCategorySalaryJsonLd:()=>Wt,companySalaryJsonLd:()=>zt,createAuthorProfileJsonLd:()=>Po,createBlogArticleJsonLd:()=>Oo,createBreadcrumbJsonLd:()=>lo,createJobPostingJsonLd:()=>to,crossAxisSalaryJsonLd:()=>Yt,faqJsonLd:()=>Vt,formatSalaryStat:()=>H,formatSalaryStatRange:()=>x,itemListJsonLd:()=>Y,listingHead:()=>_o,listingJsonLd:()=>Ro,locationSalaryJsonLd:()=>Kt,normalizeWebsiteUrl:()=>M,skillSalaryJsonLd:()=>Ht,sortBySeniority:()=>Qt,titleSalaryJsonLd:()=>Gt});function Oo({post:e,boardName:t,permalink:o,ogImageUrl:n}){let r={"@context":"https://schema.org","@type":"Article",headline:e.title,url:o,mainEntityOfPage:{"@type":"WebPage","@id":o},publisher:{"@type":"Organization",name:t}};e.customExcerpt&&(r.description=e.customExcerpt),e.publishedAt&&(r.datePublished=e.publishedAt);let i=e.coverUrl??n;i&&(r.image=i);let s=e.authors[0];return s&&(r.author={"@type":"Person",name:s.name,...s.websiteUrl?{url:s.websiteUrl}:{}}),r}function Po({author:e,canonical:t,description:o,origin:n,posts:r,totalPosts:i}){if(!e.name)return null;let s=o.trim(),a=[ne(e.websiteUrl),ne(e.twitterUrl),ne(e.linkedinUrl),ne(e.githubUrl)].filter(m=>!!m),l=`${t}#profile`,c=r.slice(0,5).map(m=>{let f=Un(n,`/blog/${m.slug}`);return f?{"@type":"Article",headline:m.title,url:f,datePublished:m.publishedAt,author:{"@id":l}}:null}).filter(m=>m!==null),p=i>0?{"@type":"InteractionCounter",interactionType:"https://schema.org/WriteAction",userInteractionCount:i}:void 0,u={"@context":"https://schema.org","@type":"ProfilePage",url:t,mainEntity:{"@type":"Person","@id":l,name:e.name,alternateName:e.slug??void 0,identifier:e.id??void 0,description:s||void 0,image:e.avatarUrl??void 0,sameAs:a.length>0?a:void 0,url:t,mainEntityOfPage:t,agentInteractionStatistic:p}};return c.length>0&&(u.hasPart=c),u}function ne(e){if(!e)return null;let t=e.trim();if(!t)return null;try{let o=t.startsWith("http://")||t.startsWith("https://")?t:`https://${t}`;return new URL(o).toString()}catch{return null}}function Un(e,t){if(!e||!t)return null;try{return new URL(t,e).toString()}catch{return null}}function _o(e){let t=e.title,o=e.description,n=`${e.origin}${e.path}`;return{meta:[{title:t},{name:"description",content:o},{property:"og:title",content:t},{property:"og:description",content:o},{property:"og:type",content:"website"},{property:"og:url",content:n}],links:[{rel:"canonical",href:n}]}}function Ro(e){let t=[];e.breadcrumbs.length>=2&&t.push({"@context":"https://schema.org","@type":"BreadcrumbList",itemListElement:e.breadcrumbs.map((n,r)=>({"@type":"ListItem",position:r+1,name:n.name,...n.path?{item:X(e.origin,n.path)}:{}}))});let o=(e.jobs??[]).filter(n=>n.company!=null&&!!n.company.slug);return o.length>0&&t.push({"@context":"https://schema.org","@type":"ItemList",itemListElement:o.map((n,r)=>({"@type":"ListItem",position:r+1,url:n.links?.public||X(e.origin,he(n.company.slug,n.slug))}))}),t}var Re={};A(Re,{createSuggestController:()=>Jn});function Mn(e){return typeof DOMException<"u"&&e instanceof DOMException&&e.name==="AbortError"||e instanceof Error&&e.name==="AbortError"}function wn(e){try{let t=0;for(let o of new Intl.Segmenter(void 0,{granularity:"grapheme"}).segment(e))t+=1;return t}catch{return[...e].length}}function vo(e,t){return t.size===0?e.slice():e.filter(o=>!(o.type==="company"&&t.has(o.slug.toLowerCase().normalize("NFC"))))}function Jn(e,t){let o=t?.minChars??2,n=t?.debounceMs??250,r=t?.limit,i=!1,s={query:"",items:[],status:"idle",error:null},a=[],l=new Set,c=0,p=null,u=null,m=new Set;function f(){for(let d of m)d()}function g(d){s=d,f()}function O(){p!==null&&(globalThis.clearTimeout(p),p=null)}function h(){u&&(u.abort(),u=null)}function R(d){let b=++c;h();let P=new AbortController;u=P;let B={q:d};r!==void 0&&(B.limit=r),e.search.suggest(B,{signal:P.signal}).then(v=>{i||b!==c||(u=null,a=v.items,g({query:s.query,items:vo(a,l),status:"ready",error:null}))}).catch(v=>{i||b!==c||Mn(v)||(u=null,g({query:s.query,items:s.items,status:"error",error:v}))})}return{setQuery(d){if(i)return;let b=d.trim();if(O(),wn(b)<o){c+=1,h(),a=[],g({query:d,items:[],status:"idle",error:null});return}c+=1,h(),g({query:d,items:s.items,status:"loading",error:null}),p=globalThis.setTimeout(()=>{p=null,!i&&R(b)},n)},setExcludedCompanySlugs(d){i||(l=new Set(d.map(b=>b.trim().toLowerCase().normalize("NFC")).filter(Boolean)),g({query:s.query,items:vo(a,l),status:s.status,error:s.error}))},getState(){return s},subscribe(d){return i?()=>{}:(m.add(d),()=>{m.delete(d)})},dispose(){i||(i=!0,O(),h(),c+=1,m.clear())}}}return Io(Nn);})();
|
|
1
|
+
"use strict";var CavunoBoard=(()=>{var J=Object.defineProperty;var Eo=Object.getOwnPropertyDescriptor;var Ao=Object.getOwnPropertyNames;var To=Object.prototype.hasOwnProperty;var Lo=(e,t,o)=>t in e?J(e,t,{enumerable:!0,configurable:!0,writable:!0,value:o}):e[t]=o;var A=(e,t)=>{for(var o in t)J(e,o,{get:t[o],enumerable:!0})},Io=(e,t,o,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of Ao(t))!To.call(e,r)&&r!==o&&J(e,r,{get:()=>t[r],enumerable:!(n=Eo(t,r))||n.enumerable});return e};var Fo=e=>Io(J({},"__esModule",{value:!0}),e);var _=(e,t,o)=>Lo(e,typeof t!="symbol"?t+"":t,o);var Dn={};A(Dn,{ACCESS_TOKEN_KEY:()=>T,BOARD_ACCESS_GRANT_KEY:()=>I,BOARD_API_ERROR_CODES:()=>ve,BoardApiError:()=>B,BoardClient:()=>F,PURCHASE_CONFIRMATION_HEADER:()=>ae,REFRESH_TOKEN_KEY:()=>L,SDK_VERSION:()=>$,SIGN_IN_REDIRECT_ERROR_CODES:()=>$e,SSO_LINK_PROOF_BINDING_TTL_MS:()=>se,createBoardClient:()=>Go,filters:()=>pe,format:()=>Pe,isBoardApiError:()=>C,isBoardPasswordRequired:()=>Ae,isColdRule:()=>gt,isConflict:()=>Fe,isForbidden:()=>Te,isFreeEmailWebsiteError:()=>ke,isNotFound:()=>Be,isOwnMessage:()=>ft,isRateLimited:()=>Ie,isSafeApplicationUrl:()=>le,isSignInMethodUnavailable:()=>ie,isSsoBrowserMismatch:()=>Ue,isSsoRequired:()=>xe,isUnauthorized:()=>Ee,isValidationError:()=>Le,lastOwnMessageId:()=>ht,paginate:()=>yt,parseJobAlertClickParams:()=>Pt,parseJobAlertUnsubscribeParams:()=>_t,parseOAuthCompletion:()=>je,paths:()=>be,resolveApplyAction:()=>bt,resolveApplyDecision:()=>ce,seo:()=>_e,ssoLinkProofBindingStore:()=>j,suggest:()=>Re,tipCoverFeeCents:()=>Rt});var ve=["internal_error","validation_bad_request","validation_payload_too_large","rate_limited","rate_limit_unavailable","search_unavailable","search_filter_unavailable","too_many_filter_values","pagination_invalid_cursor","pagination_offset_too_large","auth_unauthenticated","auth_forbidden","plan_upgrade_required","unknown_error","boards_not_found","board_page_not_found","board_auth_account_not_found","board_auth_email_taken","board_auth_invalid_credentials","board_auth_invalid_token","board_auth_registration_disabled","board_auth_token_expired","board_development_origin_not_allowed_for_email","board_development_origin_not_registered","board_development_origin_requires_publishable_key","sso_required","board_auth_method_unavailable","board_auth_sso_connection_not_found","board_auth_sso_role_unavailable","board_auth_sso_provider_unavailable","board_auth_sso_browser_mismatch","board_auth_sso_not_provisioned","board_auth_sso_identity_linked_elsewhere","invalid_current_password","no_password","same_email","email_taken","invalid_token","board_password_required","board_password_invalid","jobs_not_found","jobs_invalid_filter","categories_not_found","skills_not_found","places_not_found","locations_invalid_id","locations_unavailable","companies_not_found","company_markets_not_found","company_salary_not_found","company_category_salary_not_found","salaries_title_not_found","salaries_skill_not_found","salaries_location_not_found","salaries_title_location_not_found","salaries_skill_location_not_found","blog_post_not_found","blog_author_not_found","blog_tag_not_found","feeds_not_found","feed_not_ready","talent_not_found","talent_directory_not_found","talent_directory_restricted","job_recommendations_not_found","recommended_talent_not_found","job_alert_not_found","job_alerts_disabled","candidate_alert_limit_reached","candidate_alert_not_found","candidate_entry_not_found","candidate_handle_taken","candidate_job_not_found","candidate_notification_preference_paused","candidate_profile_required","resume_invalid_file","resume_upload_forbidden","applications_external_apply_only","applications_country_not_allowed","applications_guest_not_allowed","applications_job_not_found","applications_not_found","applications_resume_invalid_file","applications_unprocessable","messaging_application_not_found","messaging_application_not_linked","messaging_blocked","messaging_cannot_block_self","messaging_cold_rule","messaging_conversation_not_found","messaging_disabled","messaging_edit_window_expired","messaging_message_deleted","messaging_message_not_found","messaging_not_author","messaging_not_participant","messaging_not_permitted","messaging_not_recipient","messaging_rate_limited","messaging_recipient_not_found","messaging_recipient_not_open","messaging_unsend_window_expired","employer_applicant_not_found","employer_ats_unprocessable","employer_checkout_failed","employer_company_exists","employer_free_email_website","employer_company_name_taken","employer_company_not_found","employer_job_not_found","employer_job_slug_taken","employer_jobs_quota_exceeded","membership_required","employer_not_member","employer_payment_required","employer_pipeline_stage_not_found","employer_member_not_found","employer_invite_not_found","not_company_admin","not_company_member","company_deletion_disabled","last_admin","already_member","already_invited","invalid_email","invite_email_mismatch","candidate_role","job_not_published","talent_list_not_found","sourced_candidate_not_found","sourced_convert_unavailable","talent_list_full","candidate_paywall_access_required","paywall_already_active","paywall_disabled","paywall_invalid_checkout_session","paywall_no_candidate_profile","paywall_no_recurring_subscription","paywall_offer_not_found","talent_access_unavailable","company_required","already_on_plan","talent_access_required","messaging_talent_access_required","stripe_not_connected","membership_plan_not_found","membership_seat_taken","job_posting_logo_lookup_unavailable","job_posting_logo_not_found","job_posting_rejected","products_not_found","product_checkout_not_found","product_reviews_disabled","product_sold_out","product_email_invalid","product_email_blocked","product_amount_below_minimum","product_amount_invalid","product_answers_invalid","purchases_not_found","purchase_file_not_found","purchase_unavailable","purchase_access_removed","purchase_awaiting_payment","purchase_refunded","purchase_email_confirmation_required","purchase_email_mismatch","purchase_file_preparing","purchase_download_limit_reached","purchase_review_invalid","purchase_download_all_unavailable","tip_jar_not_found","tip_checkout_not_found","tip_amount_below_minimum","tip_amount_invalid","tip_note_not_allowed","tip_note_too_long","tip_fee_cover_not_allowed"],B=class extends Error{constructor(o){super(o.message);_(this,"status");_(this,"code");_(this,"details");_(this,"requestId");_(this,"raw");this.name="BoardApiError",this.status=o.status,this.code=o.code,this.details=o.details,this.requestId=o.requestId,this.raw=o.raw}};function C(e){return e instanceof Error&&e.name==="BoardApiError"&&typeof e.status=="number"&&typeof e.code=="string"}function Be(e){return C(e)&&e.status===404}function Ee(e){return C(e)&&e.status===401}function Ae(e){return C(e)&&e.status===401&&e.code==="board_password_required"}function Te(e){return C(e)&&e.status===403}function Le(e){return C(e)&&e.status===400&&e.code==="validation_bad_request"}function Ie(e){return C(e)&&e.status===429}function Fe(e){return C(e)&&e.status===409}function ke(e){return C(e)&&e.status===422&&e.code==="employer_free_email_website"}function xe(e){if(!C(e)||e.status!==403)return!1;let t=e.details?.connectionIds;return Array.isArray(t)&&t.every(o=>typeof o=="string")&&(e.code==="sso_required"||ie(e)&&e.details.availableMethods.methods.length===0)}function ie(e){if(!C(e)||e.status!==403||e.code!=="board_auth_method_unavailable")return!1;let t=e.details?.availableMethods;if(!t||typeof t!="object")return!1;let{methods:o,ssoConnectionIds:n}=t;return Array.isArray(o)&&o.every(r=>typeof r=="string")&&Array.isArray(n)&&n.every(r=>typeof r=="string")}function Ue(e){return C(e)&&e.status===403&&e.code==="board_auth_sso_browser_mismatch"}function Me(e){let t=new URLSearchParams;if(!e)return t;for(let[o,n]of Object.entries(e))if(n!=null)if(Array.isArray(n))for(let r of n)r!=null&&t.append(o,String(r));else t.append(o,String(n));return t}function N(e){let t=5381;for(let n=0;n<e.length;n++)t=(t<<5)+t+e.charCodeAt(n)>>>0;return`${e.replace(/[^a-zA-Z0-9_-]/g,"_")}-${t.toString(36)}`}var T="cavuno_board_access_token",L="cavuno_board_refresh_token",I="cavuno_board_access_grant";function we(){return typeof globalThis.document<"u"}function ko(){let e=new Map;return{getItem:t=>e.get(t)??null,setItem:(t,o)=>{e.set(t,o)},removeItem:t=>{e.delete(t)}}}function xo(e,t){if(!we())throw new Error(`storage mode '${e}' is browser-only \u2014 use 'nostore' + per-call headers on the server`);let o;try{if(o=e==="local"?globalThis.localStorage:globalThis.sessionStorage,!o)throw new Error("unavailable")}catch{throw new Error(`storage mode '${e}' is unavailable in this browsing context (storage access is blocked \u2014 e.g. a sandboxed or third-party iframe). Use 'memory', or 'nostore' + per-call headers.`)}let n=t?`:${N(t)}`:"";return{getItem:r=>o.getItem(`${r}${n}`),setItem:(r,i)=>{o.setItem(`${r}${n}`,i)},removeItem:r=>{o.removeItem(`${r}${n}`)}}}var Uo=Symbol.for("@cavuno/board:nostore");var Mo={[Uo]:!0,getItem:()=>null,setItem:()=>{},removeItem:()=>{}};function Je(e,t){let o=e??(we()?"memory":"nostore");if(typeof o=="object")return o;switch(o){case"memory":return ko();case"nostore":return Mo;case"local":case"session":return xo(o,t);default:throw new Error(`Unknown storage mode '${String(o)}'`)}}async function D(e,t){await e.setItem(T,t.accessToken),await e.setItem(L,t.refreshToken)}async function Ne(e){await e.removeItem(T),await e.removeItem(L)}var $="4.64.0";function wo(e){return typeof e=="string"||e instanceof URLSearchParams||typeof FormData<"u"&&e instanceof FormData||typeof Blob<"u"&&e instanceof Blob||e instanceof ArrayBuffer||typeof ReadableStream<"u"&&e instanceof ReadableStream}function Jo(e){try{let t=new URL(e);for(let o of new Set(t.searchParams.keys()))t.searchParams.delete(o),t.searchParams.set(o,"[REDACTED]");return t.toString()}catch{return e.replace(/([?&][^=&#]+)=([^&#]*)/g,"$1=[REDACTED]")}}var F=class{constructor(t){_(this,"storage");_(this,"basePath");_(this,"options");this.options=t,this.storage=t.storage;let o=t.baseUrl.replace(/\/+$/,"");this.basePath=`${o}/v1/boards/${encodeURIComponent(t.board)}`}async fetch(t,o={}){let{body:n,query:r,headers:i,...s}=o,a=(o.method??"GET").toUpperCase(),l=`${this.basePath}${t}`,p=Me(r).toString();p&&(l+=`?${p}`);let u=n!==void 0&&!wo(n),m=n===void 0?void 0:u?JSON.stringify(n):n,f=new Headers({accept:"application/json"});u&&f.set("content-type","application/json");for(let[v,re]of Object.entries(this.options.globalHeaders??{}))f.set(v,re);let g=await this.storage.getItem(T);g!==null&&f.set("authorization",`Bearer ${g}`);let O=await this.storage.getItem(I);O!==null&&f.set("x-board-access",O),i&&new Headers(i).forEach((v,re)=>{f.set(re,v)}),(a!=="GET"||f.has("authorization")||f.has("x-board-access"))&&!f.has("x-cavuno-sdk")&&f.set("x-cavuno-sdk",`board@${$}`);let h={url:l,init:{...s,method:a,headers:f,body:m}};this.options.onRequest&&(h=await this.options.onRequest(h));let R=Jo(h.url);this.options.logger?.debug(`${a} ${R}`);let d=await globalThis.fetch(h.url,h.init);if(this.options.logger?.debug(`${d.status} ${a} ${R}`),this.options.onResponse&&await this.options.onResponse(d.clone(),h),d.status===204)return;if(d.ok)return await d.json();let b;try{b=await d.json()}catch{b=void 0}let P=b?.error,E=P&&typeof P.code=="string"&&typeof P.message=="string"?new B({status:d.status,code:P.code,message:P.message,details:P.details,requestId:P.requestId,raw:b}):new B({status:d.status,code:"unknown_error",message:d.statusText||"Request failed",raw:b});throw this.options.logger?.error(`${E.status} ${E.code} ${a} ${R}`),E}};var De="https://api.cavuno.com";var $e=["oauth_cancelled","oauth_failed","oauth_email_unverified","role_disabled","method_unavailable","sso_required","sso_state_invalid","sso_cancelled","sso_failed","sso_connection_unavailable","sso_not_provisioned","sso_email_required","sso_account_disabled","sso_identity_linked_elsewhere","sso_link_proof_rate_limited","sso_development_origin_not_allowed_for_email"];function No(e){if(e instanceof URLSearchParams)return e;if(typeof e=="string"){let o=e.includes("?")?e.slice(e.indexOf("?")):e;return new URLSearchParams(o)}let t=new URLSearchParams;for(let[o,n]of Object.entries(e))n!==void 0&&t.set(o,n);return t}function Do(e){return!e||!e.startsWith("/")||e.startsWith("//")||e.startsWith("/\\")||e.includes("://")||/[\u0000-\u001F\u007F]/.test(e)?"/":e}function $o(e){return e==="candidate"||e==="employer"?e:null}function je(e){let t=No(e),o=c=>{let p=t.get(c);return p&&p.length>0?p:null},n=Do(o("returnTo")),r=$o(o("role")),i=o("error");if(i)return{kind:"error",error:i,returnTo:n};let s=o("linkProof");if(s)return{kind:"link_proof",linkProof:s,role:r,returnTo:n};let a=o("linkProofBinding");if(o("status")==="sso_link_proof_sent"&&a)return{kind:"link_proof_sent",linkProofBinding:a,role:r,returnTo:n};let l=o("token");return l?{kind:"token",token:l,method:o("method"),role:r,returnTo:n,isNewUser:o("isNew")==="1"}:{kind:"invalid",returnTo:n}}var se=1500*1e3,jo="cavuno_board_sso_link_proof_binding";function Qo(){try{return globalThis.localStorage??null}catch{return null}}function j(e,t={}){let o=`${jo}:${N(e)}`,n=t.now??Date.now,r=()=>t.storage??Qo(),i=()=>{try{r()?.removeItem(o)}catch{}};return{begin(){let s=globalThis.crypto.getRandomValues(new Uint8Array(32)),a=Array.from(s,c=>c.toString(16).padStart(2,"0")).join(""),l=r();if(!l)throw new Error("SSO requires browser storage or an explicit browser proof");return l.setItem(o,JSON.stringify({binding:a,expiresAt:n()+se})),a},save(s){},read(){let s=null;try{s=r()?.getItem(o)??null}catch{return null}if(!s)return null;try{let a=JSON.parse(s);if(typeof a.binding=="string"&&typeof a.expiresAt=="number"&&a.expiresAt>n())return a.binding}catch{}return i(),null},clear:i}}function Qe(e,t=""){let o=()=>j(t);async function n(i){return await D(e.storage,i),i}async function r(i){if(i?.refreshToken)return i.refreshToken;let s=await e.storage.getItem(L);if(s===null)throw new Error("No refresh token available \u2014 pass { refreshToken } or configure auth.storage");return s}return{async register(i,s){let a=await e.fetch("/auth/register",{...s,method:"POST",body:i});return n(a)},async login(i,s){let a=await e.fetch("/auth/login",{...s,method:"POST",body:i});return n(a)},async refresh(i,s){let a=await r(i),l=await e.fetch("/auth/refresh",{...s,method:"POST",body:{refreshToken:a}});return n(l)},async logout(i,s){let a=await r(i);await e.fetch("/auth/logout",{...s,method:"POST",body:{refreshToken:a}}),await Ne(e.storage)},verifyEmail(i,s){return e.fetch("/auth/verify-email",{...s,method:"POST",body:i})},verifyWorkEmail(i,s){return e.fetch("/auth/verify-work-email",{...s,method:"POST",body:i})},verifyItemEmail(i,s){return e.fetch("/auth/verify-item-email",{...s,method:"POST",body:i})},verifyEmailWithCode(i,s){return e.fetch("/auth/verify-email/otp",{...s,method:"POST",body:i})},resendVerification(i){return e.fetch("/auth/verify-email/resend",{...i,method:"POST"})},forgotPassword(i,s){return e.fetch("/auth/forgot-password",{...s,method:"POST",body:i})},resetPassword(i,s){return e.fetch("/auth/reset-password",{...s,method:"POST",body:i})},requestMagicLink(i,s){return e.fetch("/auth/magic-link",{...s,method:"POST",body:i})},async consumeMagicLink(i,s){let a=await e.fetch("/auth/magic-link/consume",{...s,method:"POST",body:i});return n(a)},async getOAuthAuthorizationUrl(i,s,a){let l=s?.browserBindingHash,c;if(!l&&globalThis.crypto?.subtle)try{c=o().begin()}catch{}let p=c!==void 0;try{if(c!==void 0){let u=await globalThis.crypto.subtle.digest("SHA-256",new TextEncoder().encode(c));l=Array.from(new Uint8Array(u),m=>m.toString(16).padStart(2,"0")).join("")}return await e.fetch(`/auth/oauth/${i}`,{...a,method:"GET",query:l?{...s,browserBindingHash:l}:s})}catch(u){throw p&&o().clear(),u}},async exchangeOAuth(i,s){let a=await e.fetch("/auth/oauth/exchange",{...s,method:"POST",body:{...i,browserBinding:i.browserBinding??o().read()??void 0}}),l=await n(a);return o().clear(),l},async getSsoAuthorizationUrl(i,s,a){let l=s?.browserBindingHash;if(!l){let c=o().begin(),p=await globalThis.crypto.subtle.digest("SHA-256",new TextEncoder().encode(c));l=Array.from(new Uint8Array(p),u=>u.toString(16).padStart(2,"0")).join("")}return e.fetch(`/auth/sso/${encodeURIComponent(i)}`,{...a,method:"GET",query:{...s,browserBindingHash:l}})},async consumeSsoLinkProof(i,s){let a=await e.fetch("/auth/sso/link-proof",{...s,method:"POST",body:{...i,browserBinding:i.browserBinding??o().read()??void 0}});return n(a)}}}function Ve(e){return{posts:{list(t,o){return e.fetch("/blog/posts",{...o,query:t})},retrieve(t,o,n){return e.fetch(`/blog/posts/${encodeURIComponent(t)}`,{...n,query:o})},adjacent(t,o){return e.fetch(`/blog/posts/${encodeURIComponent(t)}/adjacent`,o)},similar(t,o,n){return e.fetch(`/blog/posts/${encodeURIComponent(t)}/similar`,{...n,query:o})}},tags:{list(t,o){return e.fetch("/blog/tags",{...o,query:t})},retrieve(t,o,n){return e.fetch(`/blog/tags/${encodeURIComponent(t)}`,{...n,query:o})}},authors:{list(t,o){return e.fetch("/blog/authors",{...o,query:t})},retrieve(t,o,n){return e.fetch(`/blog/authors/${encodeURIComponent(t)}`,{...n,query:o})}},search(t,o,n){return e.fetch("/blog/search",{...n,method:"POST",body:t,query:o})}}}function qe(e){let t=Object.assign((r,i)=>e.fetch("/companies/markets",{...i,query:r}),{resolve(r,i){return e.fetch(`/companies/markets/${encodeURIComponent(r)}`,i)}});function o(r,i,s){let{locale:a,...l}=i??{},c=a===void 0?void 0:{locale:a},p=Object.keys(l).length>0?{...l,...s}:s;return e.fetch(`/companies/${encodeURIComponent(r)}/salaries`,c?{...p,query:c}:p)}let n=Object.assign(o,{summary(r,i){return e.fetch(`/companies/${encodeURIComponent(r)}/salaries/summary`,i)},category(r,i,s,a){return e.fetch(`/companies/${encodeURIComponent(r)}/salaries/${encodeURIComponent(i)}`,{...a,query:s})}});return{list(r,i){return e.fetch("/companies",{...i,query:r})},retrieve(r,i,s){return e.fetch(`/companies/${encodeURIComponent(r)}`,{...s,query:i})},search(r,i,s){return e.fetch("/companies/search",{...s,method:"POST",body:r,query:i})},listJobs(r,i,s){return e.fetch(`/companies/${encodeURIComponent(r)}/jobs`,{...s,query:i})},similar(r,i,s){return e.fetch(`/companies/${encodeURIComponent(r)}/similar`,{...s,query:i})},markets:t,salaries:n}}function Ge(e){return{jobs(t,o){return e.fetch("/embed/jobs",{...o,query:t})}}}function He(e){return{preview(t,o){return e.fetch("/invites/preview",{...o,method:"POST",body:t})}}}function Ke(e){return{subscribe(t,o){return e.fetch("/job-alerts",{...o,method:"POST",body:t})},confirm(t,o){return e.fetch("/job-alerts/confirm",{...o,method:"POST",body:t})},resendConfirmation(t,o){return e.fetch("/job-alerts/resend-confirmation",{...o,method:"POST",body:t})},manage(t,o){return e.fetch("/job-alerts/manage",{...o,query:t})},unsubscribe(t,o){return e.fetch("/job-alerts/unsubscribe",{...o,method:"POST",body:t})},recordClick(t,o){return e.fetch("/job-alerts/clicks",{...o,method:"POST",body:t})},resubscribe(t,o){return e.fetch("/job-alerts/resubscribe",{...o,method:"POST",body:t})},updatePreference(t,o){return e.fetch("/job-alerts/preferences",{...o,method:"POST",body:t})},deletePreference(t,o){return e.fetch("/job-alerts/preferences",{...o,method:"DELETE",body:t})}}}function Ye(e){return{plans(t,o){return e.fetch("/job-postings/plans",{...o,query:t})},create(t,o){return e.fetch("/job-postings",{...o,method:"POST",body:t})},uploadLogo(t,o){let n=new FormData;return n.append("file",t),e.fetch("/job-postings/logo",{...o,method:"POST",body:n})},fetchLogoByDomain(t,o){return e.fetch("/job-postings/logo/fetch",{...o,query:{domain:t}})},sendBillingVerification(t,o){return e.fetch("/job-postings/send-verification",{...o,method:"POST",body:t})},getBillingOptions(t,o){return e.fetch("/job-postings/billing-options",{...o,method:"POST",body:t})}}}function ze(e){return{collectionChoices(t,o,n){return e.fetch(`/job-fields/${encodeURIComponent(t)}/choices`,{...n,query:o})},list(t,o){return e.fetch("/jobs",{...o,query:t})},retrieve(t,o,n){return e.fetch(`/jobs/${encodeURIComponent(t)}`,{...n,query:o})},search(t,o,n){return e.fetch("/jobs/search",{...n,method:"POST",body:t,query:o})},similar(t,o,n){return e.fetch(`/jobs/${encodeURIComponent(t)}/similar`,{...n,query:o})},apply(t,o,n){return e.fetch(`/jobs/${encodeURIComponent(t)}/apply`,{...n,method:"POST",body:o??{}})},createApplyIntent(t,o,n){return e.fetch(`/jobs/${encodeURIComponent(t)}/apply-intents`,{...n,method:"POST",body:o})},prepareApplyApproval(t,o,n){return e.fetch(`/jobs/${encodeURIComponent(t)}/apply-approvals`,{...n,method:"POST",body:o})},uploadApplicationResume(t,o,n,r){let i=new FormData;return i.append("file",o),n?.applicationId&&i.append("applicationId",n.applicationId),e.fetch(`/jobs/${encodeURIComponent(t)}/apply/resume`,{...r,method:"POST",body:i})},myApplication(t,o){return e.fetch(`/jobs/${encodeURIComponent(t)}/application`,o)}}}function We(e){return{search(t,o){return e.fetch("/locations/search",{...o,query:t})},resolve(t,o){return e.fetch("/locations/resolve",{...o,method:"POST",body:t})}}}function Ze(e){return{retrieve(t,o){return e.fetch("/me",{...o,query:t})},delete(t){return e.fetch("/me",{...t,method:"DELETE"})},async updatePassword(t,o){let n=await e.fetch("/me/password",{...o,method:"POST",body:t});return await D(e.storage,n),n},requestEmailChange(t,o){return e.fetch("/me/email",{...o,method:"POST",body:t})},confirmEmailChange(t,o){return e.fetch("/me/email/confirm",{...o,method:"POST",body:t})},acceptInvite(t,o){return e.fetch("/me/invites/accept",{...o,method:"POST",body:t})},profile:{listObjectReferenceChoices(t,o,n){return e.fetch("/me/profile/object-references/choices",{...n,query:{...o,fieldKey:t}})},retrieve(t,o){return e.fetch("/me/profile",{...o,query:t})},update(t,o,n){return e.fetch("/me/profile",{...n,method:"PATCH",body:t,query:o})},retrieveCustomFields(t){return e.fetch("/me/profile/custom-fields",{...t})},updateCustomFields(t,o){return e.fetch("/me/profile/custom-fields",{...o,method:"PATCH",body:t})},retrieveObjectReferences(t){return e.fetch("/me/profile/object-references",t)},updateObjectReferences(t,o){return e.fetch("/me/profile/object-references",{...o,method:"PUT",body:t})},listVerifications(t){return e.fetch("/me/profile/verifications",t)},submitVerification(t,o){return e.fetch("/me/profile/verifications",{...o,method:"POST",body:t})},submitEmailDomainVerification(t,o){return e.fetch("/me/profile/verifications/email-domain",{...o,method:"POST",body:t})},confirmEmailDomainVerification(t,o){return e.fetch("/me/profile/verifications/email-domain/confirm",{...o,method:"POST",body:t})},handleAvailable(t,o){return e.fetch("/me/profile/handle-available",{...o,query:{handle:t}})},listExperience(t){return e.fetch("/me/profile/experience",t)},createExperience(t,o){return e.fetch("/me/profile/experience",{...o,method:"POST",body:t})},updateExperience(t,o,n){return e.fetch(`/me/profile/experience/${encodeURIComponent(t)}`,{...n,method:"PATCH",body:o})},deleteExperience(t,o){return e.fetch(`/me/profile/experience/${encodeURIComponent(t)}`,{...o,method:"DELETE"})},listEducation(t){return e.fetch("/me/profile/education",t)},createEducation(t,o){return e.fetch("/me/profile/education",{...o,method:"POST",body:t})},updateEducation(t,o,n){return e.fetch(`/me/profile/education/${encodeURIComponent(t)}`,{...n,method:"PATCH",body:o})},deleteEducation(t,o){return e.fetch(`/me/profile/education/${encodeURIComponent(t)}`,{...o,method:"DELETE"})},listSkills(t){return e.fetch("/me/profile/skills",t)},updateSkills(t,o){return e.fetch("/me/profile/skills",{...o,method:"PUT",body:t})},listLanguages(t){return e.fetch("/me/profile/languages",t)},updateLanguages(t,o){return e.fetch("/me/profile/languages",{...o,method:"PUT",body:t})},uploadAvatar(t,o){let n=new FormData;return n.append("file",t),e.fetch("/me/profile/avatar",{...o,method:"POST",body:n})}},notificationPreferences:{retrieve(t){return e.fetch("/me/notification-preferences",t)},update(t,o){return e.fetch("/me/notification-preferences",{...o,method:"PUT",body:t})},unsubscribeWithToken(t,o){return e.fetch("/me/notification-preferences/unsubscribe",{...o,method:"POST",body:t})}},companies:{listObjectReferenceChoices(t,o,n,r){return e.fetch(`/me/companies/${encodeURIComponent(t)}/object-references/choices`,{...r,query:{...n,fieldKey:o}})},retrieveObjectReferences(t,o){return e.fetch(`/me/companies/${encodeURIComponent(t)}/object-references`,o)},updateObjectReferences(t,o,n){return e.fetch(`/me/companies/${encodeURIComponent(t)}/object-references`,{...n,method:"PUT",body:o})},listVerifications(t,o){return e.fetch(`/me/companies/${encodeURIComponent(t)}/verifications`,o)},submitVerification(t,o,n){return e.fetch(`/me/companies/${encodeURIComponent(t)}/verifications`,{...n,method:"POST",body:o})},search(t,o){return e.fetch("/me/companies/search",{...o,query:t})},list(t){return e.fetch("/me/companies",t)},create(t,o){return e.fetch("/me/companies",{...o,method:"POST",body:t})},claim(t,o){return e.fetch(`/me/companies/${encodeURIComponent(t)}/claim`,{...o,method:"POST"})},cancelClaim(t,o){return e.fetch(`/me/companies/${encodeURIComponent(t)}/claim`,{...o,method:"DELETE"})},retrieve(t,o){return e.fetch(`/me/companies/${encodeURIComponent(t)}`,o)},update(t,o,n){return e.fetch(`/me/companies/${encodeURIComponent(t)}`,{...n,method:"PATCH",body:o})},retrieveCustomFields(t,o){return e.fetch(`/me/companies/${encodeURIComponent(t)}/custom-fields`,o)},updateCustomFields(t,o,n){return e.fetch(`/me/companies/${encodeURIComponent(t)}/custom-fields`,{...n,method:"PATCH",body:o})},delete(t,o){return e.fetch(`/me/companies/${encodeURIComponent(t)}`,{...o,method:"DELETE"})},listMembers(t,o){return e.fetch(`/me/companies/${encodeURIComponent(t)}/members`,o)},updateMemberRole(t,o,n,r){return e.fetch(`/me/companies/${encodeURIComponent(t)}/members/${encodeURIComponent(o)}`,{...r,method:"PATCH",body:n})},removeMember(t,o,n){return e.fetch(`/me/companies/${encodeURIComponent(t)}/members/${encodeURIComponent(o)}`,{...n,method:"DELETE"})},leave(t,o){return e.fetch(`/me/companies/${encodeURIComponent(t)}/membership`,{...o,method:"DELETE"})},startMembershipCheckout(t,o,n){return e.fetch(`/me/companies/${encodeURIComponent(t)}/membership/checkout`,{...n,method:"POST",body:o})},retrieveMembershipCheckout(t,o,n){return e.fetch(`/me/companies/${encodeURIComponent(t)}/membership/checkout/${encodeURIComponent(o)}`,n)},listInvites(t,o){return e.fetch(`/me/companies/${encodeURIComponent(t)}/invites`,o)},createInvite(t,o,n){return e.fetch(`/me/companies/${encodeURIComponent(t)}/invites`,{...n,method:"POST",body:o})},revokeInvite(t,o,n){return e.fetch(`/me/companies/${encodeURIComponent(t)}/invites/${encodeURIComponent(o)}`,{...n,method:"DELETE"})},uploadLogo(t,o,n){let r=new FormData;return r.append("file",o),e.fetch(`/me/companies/${encodeURIComponent(t)}/logo`,{...n,method:"POST",body:r})},workEmail:{verify(t,o,n){return e.fetch(`/me/companies/${encodeURIComponent(t)}/work-email/verify`,{...n,method:"POST",body:o})},confirm(t,o,n){return e.fetch(`/me/companies/${encodeURIComponent(t)}/work-email/confirm`,{...n,method:"POST",body:o})}},jobs:{list(t,o,n){return e.fetch(`/me/companies/${encodeURIComponent(t)}/jobs`,{...n,query:o})},retrieve(t,o,n){return e.fetch(`/me/companies/${encodeURIComponent(t)}/jobs/${encodeURIComponent(o)}`,n)},create(t,o,n){return e.fetch(`/me/companies/${encodeURIComponent(t)}/jobs`,{...n,method:"POST",body:o})},update(t,o,n,r){return e.fetch(`/me/companies/${encodeURIComponent(t)}/jobs/${encodeURIComponent(o)}`,{...r,method:"PATCH",body:n})},delete(t,o,n){return e.fetch(`/me/companies/${encodeURIComponent(t)}/jobs/${encodeURIComponent(o)}`,{...n,method:"DELETE"})},publish(t,o,n){return e.fetch(`/me/companies/${encodeURIComponent(t)}/jobs/${encodeURIComponent(o)}/publish`,{...n,method:"POST"})},unpublish(t,o,n){return e.fetch(`/me/companies/${encodeURIComponent(t)}/jobs/${encodeURIComponent(o)}/unpublish`,{...n,method:"POST"})},checkout(t,o,n,r){return e.fetch(`/me/companies/${encodeURIComponent(t)}/jobs/${encodeURIComponent(o)}/checkout`,{...r,method:"POST",body:n})}},billingOptions:{list(t,o){return e.fetch(`/me/companies/${encodeURIComponent(t)}/billing-options`,o)}},billingPortal:{create(t,o,n){return e.fetch(`/me/companies/${encodeURIComponent(t)}/billing-portal`,{...n,method:"POST",body:o})}},jobStats:{retrieve(t,o){return e.fetch(`/me/companies/${encodeURIComponent(t)}/job-stats`,o)},timeseries(t,o,n){return e.fetch(`/me/companies/${encodeURIComponent(t)}/job-stats/timeseries`,{...n,query:o})}},profileStats:{retrieve(t,o){return e.fetch(`/me/companies/${encodeURIComponent(t)}/profile-stats`,o)},timeseries(t,o,n){return e.fetch(`/me/companies/${encodeURIComponent(t)}/profile-stats/timeseries`,{...n,query:o})}},recommendedTalent:{list(t,o,n){return e.fetch(`/me/companies/${encodeURIComponent(t)}/recommended-talent`,{...n,query:o})}},talentLists:{list(t,o){return e.fetch(`/me/companies/${encodeURIComponent(t)}/talent-lists`,o)},create(t,o,n){return e.fetch(`/me/companies/${encodeURIComponent(t)}/talent-lists`,{...n,method:"POST",body:o})},update(t,o,n,r){return e.fetch(`/me/companies/${encodeURIComponent(t)}/talent-lists/${encodeURIComponent(o)}`,{...r,method:"PATCH",body:n})},remove(t,o,n){return e.fetch(`/me/companies/${encodeURIComponent(t)}/talent-lists/${encodeURIComponent(o)}`,{...n,method:"DELETE"})},memberships(t,o,n){return e.fetch(`/me/companies/${encodeURIComponent(t)}/talent-list-memberships`,{...n,query:o})},members:{list(t,o,n,r){return e.fetch(`/me/companies/${encodeURIComponent(t)}/talent-lists/${encodeURIComponent(o)}/members`,{...r,query:n})},add(t,o,n,r){return e.fetch(`/me/companies/${encodeURIComponent(t)}/talent-lists/${encodeURIComponent(o)}/members`,{...r,method:"POST",body:n})},remove(t,o,n,r){return e.fetch(`/me/companies/${encodeURIComponent(t)}/talent-lists/${encodeURIComponent(o)}/members/${encodeURIComponent(n)}`,{...r,method:"DELETE"})}}},sourcedCandidates:{list(t,o,n){return e.fetch(`/me/companies/${encodeURIComponent(t)}/sourced-candidates`,{...n,query:o})},add(t,o,n){return e.fetch(`/me/companies/${encodeURIComponent(t)}/sourced-candidates`,{...n,method:"POST",body:o})},remove(t,o,n){return e.fetch(`/me/companies/${encodeURIComponent(t)}/sourced-candidates/${encodeURIComponent(o)}`,{...n,method:"DELETE"})},convert(t,o,n,r){return e.fetch(`/me/companies/${encodeURIComponent(t)}/sourced-candidates/${encodeURIComponent(o)}/convert`,{...r,method:"POST",body:n})}},applicants:{list(t,o,n){return e.fetch(`/me/companies/${encodeURIComponent(t)}/applicants`,{...n,query:o})},move(t,o,n,r){return e.fetch(`/me/companies/${encodeURIComponent(t)}/applicants/${encodeURIComponent(o)}/stage`,{...r,method:"PATCH",body:n})},bulkMove(t,o,n){return e.fetch(`/me/companies/${encodeURIComponent(t)}/applicants/bulk/move`,{...n,method:"POST",body:o})},bulkReject(t,o,n){return e.fetch(`/me/companies/${encodeURIComponent(t)}/applicants/bulk/reject`,{...n,method:"POST",body:o})},addNote(t,o,n,r){return e.fetch(`/me/companies/${encodeURIComponent(t)}/applicants/${encodeURIComponent(o)}/notes`,{...r,method:"POST",body:n})}},pipelineStages:{create(t,o,n){return e.fetch(`/me/companies/${encodeURIComponent(t)}/pipeline-stages`,{...n,method:"POST",body:o})},update(t,o,n,r){return e.fetch(`/me/companies/${encodeURIComponent(t)}/pipeline-stages/${encodeURIComponent(o)}`,{...r,method:"PATCH",body:n})},remove(t,o,n){return e.fetch(`/me/companies/${encodeURIComponent(t)}/pipeline-stages/${encodeURIComponent(o)}`,{...n,method:"DELETE"})},reorder(t,o,n){return e.fetch(`/me/companies/${encodeURIComponent(t)}/pipeline-stages/reorder`,{...n,method:"PUT",body:o})}}},talentAccess:{retrieve(t){return e.fetch("/me/talent-access",t)},retrieveCandidate(t,o){return e.fetch(`/me/talent-access/candidates/${encodeURIComponent(t)}`,o)},checkout(t,o){return e.fetch("/me/talent-access/checkout",{...o,method:"POST",body:t})},claim(t,o){return e.fetch("/me/talent-access/claim",{...o,method:"POST",body:t})},retrieveCheckout(t,o){return e.fetch(`/me/talent-access/checkout/${encodeURIComponent(t)}`,o)},unlock(t,o){return e.fetch("/me/talent-access/unlocks",{...o,method:"POST",body:t})},upgrade(t,o){return e.fetch("/me/talent-access/upgrade",{...o,method:"POST",body:t})}},alerts:{list(t){return e.fetch("/me/alerts",t)},create(t,o){return e.fetch("/me/alerts",{...o,method:"POST",body:t})},retrieve(t,o){return e.fetch(`/me/alerts/${encodeURIComponent(t)}`,o)},update(t,o,n){return e.fetch(`/me/alerts/${encodeURIComponent(t)}`,{...n,method:"PUT",body:o})},remove(t,o){return e.fetch(`/me/alerts/${encodeURIComponent(t)}`,{...o,method:"DELETE"})}},applications:{list(t,o){return e.fetch("/me/applications",{...o,query:t})},retrieve(t,o){return e.fetch(`/me/applications/${encodeURIComponent(t)}`,o)},updateFacts(t,o,n){return e.fetch(`/me/applications/${encodeURIComponent(t)}`,{...n,method:"PATCH",body:o})},withdraw(t,o){return e.fetch(`/me/applications/${encodeURIComponent(t)}/withdraw`,{...o,method:"POST"})}},resume:{upload(t,o,n){let r=new FormData;return r.append("resume",t),o?.keepResumeOnFile&&r.append("keepResumeOnFile","true"),o?.shareWithEmployers&&r.append("shareWithEmployers","true"),o?.importMode&&r.append("importMode",o.importMode),o?.confirmReplaceAll&&r.append("confirmReplaceAll","true"),e.fetch("/me/resume",{...n,method:"POST",body:r})},retrieve(t){return e.fetch("/me/resume",t)},update(t,o){return e.fetch("/me/resume",{...o,method:"PATCH",body:t})},delete(t){return e.fetch("/me/resume",{...t,method:"DELETE"})}},recommendedJobs:{list(t,o){return e.fetch("/me/recommended-jobs",{...o,query:t})}},savedJobs:{list(t,o){return e.fetch("/me/saved-jobs",{...o,query:t})},save(t,o,n){return e.fetch("/me/saved-jobs",{...n,method:"POST",body:t,query:o})},unsave(t,o,n){return e.fetch(`/me/saved-jobs/${encodeURIComponent(t)}`,{...n,method:"DELETE",query:o})}},conversations:{list(t,o){return e.fetch("/me/conversations",{...o,query:t})},unreadCount(t){return e.fetch("/me/conversations/unread-count",t)},retrieve(t,o){return e.fetch(`/me/conversations/${encodeURIComponent(t)}`,o)},listMessages(t,o,n){return e.fetch(`/me/conversations/${encodeURIComponent(t)}/messages`,{...n,query:o})},start(t,o){return e.fetch("/me/conversations",{...o,method:"POST",body:t})},startAboutApplication(t,o){return e.fetch("/me/conversations/about-application",{...o,method:"POST",body:t})},reply(t,o,n){return e.fetch(`/me/conversations/${encodeURIComponent(t)}/reply`,{...n,method:"POST",body:o})},markRead(t,o){return e.fetch(`/me/conversations/${encodeURIComponent(t)}/read`,{...o,method:"POST"})},archive(t,o){return e.fetch(`/me/conversations/${encodeURIComponent(t)}/archive`,{...o,method:"POST"})},unarchive(t,o){return e.fetch(`/me/conversations/${encodeURIComponent(t)}/unarchive`,{...o,method:"POST"})},findExisting(t,o){return e.fetch("/me/conversations/find-existing",{...o,query:t})}},blocks:{list(t){return e.fetch("/me/blocks",t)},create(t,o){return e.fetch("/me/blocks",{...o,method:"POST",body:t})},remove(t,o){return e.fetch(`/me/blocks/${encodeURIComponent(t)}`,{...o,method:"DELETE"})},status(t,o){return e.fetch(`/me/blocks/${encodeURIComponent(t)}`,o)}},messages:{edit(t,o,n){return e.fetch(`/me/messages/${encodeURIComponent(t)}`,{...n,method:"PATCH",body:o})},unsend(t,o){return e.fetch(`/me/messages/${encodeURIComponent(t)}`,{...o,method:"DELETE"})},report(t,o,n){return e.fetch(`/me/messages/${encodeURIComponent(t)}/report`,{...n,method:"POST",body:o})}},marketingConsent:{retrieve(t){return e.fetch("/me/marketing-consent",t)},grant(t){return e.fetch("/me/marketing-consent/grant",{...t,method:"POST"})},withdraw(t){return e.fetch("/me/marketing-consent/withdraw",{...t,method:"POST"})}},access:{checkout(t,o){return e.fetch("/me/access/checkout",{...o,method:"POST",body:t})},retrieveCheckout(t,o){return e.fetch(`/me/access/checkout/${encodeURIComponent(t)}`,o)},grant(t){return e.fetch("/me/access/grant",t)},portal(t,o){return e.fetch("/me/access/portal",{...o,method:"POST",body:t})}}}}function Xe(e){return{async verify(t,o){let n=await e.fetch("/password/verify",{...o,method:"POST",body:{password:t}});return await e.storage.setItem(I,n.token),n}}}function et(e){return{offers(t){return e.fetch("/paywall/offers/enabled",t)}}}function tt(e){return{list(t,o){return e.fetch("/plans",{...o,query:t})},salesLed(t){return e.fetch("/sales-led-plans",t)}}}var Q=e=>`/products/${encodeURIComponent(e)}`;function ot(e){return{list(t,o){return e.fetch("/products",{...o,query:t})},get(t,o){return e.fetch(Q(t),o)},reviews(t,o,n){return e.fetch(`${Q(t)}/reviews`,{...n,query:o})},checkout(t,o,n){return e.fetch(`${Q(t)}/checkout`,{...n,method:"POST",body:o})},getCheckout(t,o,n){return e.fetch(`${Q(t)}/checkout/${encodeURIComponent(o)}`,n)}}}function nt(e){return{retrieve(t,o){return e.fetch(`/profile-fields/${encodeURIComponent(t)}`,o)},choices(t,o,n,r){return e.fetch(`/profile-fields/${encodeURIComponent(t)}/${encodeURIComponent(o)}/choices`,{...r,query:n})}}}var ae="x-cavuno-purchase-confirmation",k=e=>`/purchases/${encodeURIComponent(e)}`;function V(e){if(!e)return{};let{confirmationToken:t,...o}=e;if(!t)return o;let n=new Headers(o.headers);return n.set(ae,t),{...o,headers:n}}function rt(e){return{get(t,o){return e.fetch(k(t),V(o))},confirmEmail(t,o,n){return e.fetch(`${k(t)}/confirm`,{...n,method:"POST",body:o})},download(t,o,n){return e.fetch(`${k(t)}/files/${encodeURIComponent(o)}/download`,{...V(n),method:"POST"})},downloadAll(t,o){return e.fetch(`${k(t)}/download-all`,{...V(o),method:"POST"})},review(t,o,n){return e.fetch(`${k(t)}/review`,{...V(n),method:"PUT",body:o})},resend(t,o){return e.fetch("/purchases/resend",{...o,method:"POST",body:t})},mine(t){return e.fetch("/me/purchases",t)}}}function it(e){return{resolve(t,o){return e.fetch("/redirects/resolve",{...o,query:{path:t}})}}}function st(e){return{companies:{list(t){return e.fetch("/salaries/companies",t)}},titles:{list(t,o){return e.fetch("/salaries/titles",{...o,query:t})},retrieve(t,o,n){return e.fetch(`/salaries/titles/${encodeURIComponent(t)}`,{...n,query:o})},locations(t,o,n){return e.fetch(`/salaries/titles/${encodeURIComponent(t)}/locations`,{...n,query:o})},location(t,o,n,r){return e.fetch(`/salaries/titles/${encodeURIComponent(t)}/${encodeURIComponent(o)}`,{...r,query:n})}},skills:{list(t,o){return e.fetch("/salaries/skills",{...o,query:t})},retrieve(t,o,n){return e.fetch(`/salaries/skills/${encodeURIComponent(t)}`,{...n,query:o})},locations(t,o,n){return e.fetch(`/salaries/skills/${encodeURIComponent(t)}/locations`,{...n,query:o})},location(t,o,n,r){return e.fetch(`/salaries/skills/${encodeURIComponent(t)}/${encodeURIComponent(o)}`,{...r,query:n})}},locations:{list(t,o){return e.fetch("/salaries/locations",{...o,query:t})},retrieve(t,o,n){return e.fetch(`/salaries/locations/${encodeURIComponent(t)}`,{...n,query:o})},titles(t,o,n){return e.fetch(`/salaries/locations/${encodeURIComponent(t)}/titles`,{...n,query:o})},skills(t,o,n){return e.fetch(`/salaries/locations/${encodeURIComponent(t)}/skills`,{...n,query:o})}}}}function at(e){return{suggest(t,o){return e.fetch("/search/suggest",{...o,query:t})}}}function lt(e){return Object.assign(t=>e.fetch("/sitemap",t),{entries(t,o,n){return e.fetch(`/sitemap/${encodeURIComponent(t)}`,{...n,query:o})}})}function ct(e){return{list(t,o){let n=t?{...t,customFields:t.customFields?JSON.stringify(t.customFields):void 0,objectReferences:t.objectReferences?JSON.stringify(t.objectReferences):void 0}:void 0;return e.fetch("/talent",{...o,query:n})},retrieve(t,o){return e.fetch(`/talent/${encodeURIComponent(t)}`,o)},places:{list(t,o){return e.fetch("/talent/places",{...o,query:t})}}}}function ut(e,t){return{resolve(o,n){return e.fetch(`/${t}/${encodeURIComponent(o)}`,n)}}}function pt(e,t){return{...ut(e,t),list(o,n){return e.fetch(`/${t}`,{...n,query:o})}}}function mt(e){return{categories:pt(e,"categories"),skills:pt(e,"skills"),remotePermits:{list(t){return e.fetch("/remote-permits",t)}},places:{...ut(e,"places"),list(t,o){return e.fetch("/places",{...o,query:t})},suggest(t,o){let{near:n,...r}=t;return e.fetch("/places/suggest",{...o,query:{...r,near:n?`${n.lat},${n.lng}`:void 0}})}}}}function dt(e){return{get(t){return e.fetch("/tip-jar",t)},checkout(t,o){return e.fetch("/tip-jar/checkout",{...o,method:"POST",body:t})},getCheckout(t,o){return e.fetch(`/tip-jar/checkout/${encodeURIComponent(t)}`,o)}}}function yt(e,t,o){async function*n(){let r=t;for(;;){let i=await e(r,o);if(yield i,!i.hasMore||i.nextCursor===null)return;let{offset:s,...a}=r??{};r={...a,cursor:i.nextCursor}}}return{pages:n,async*[Symbol.asyncIterator](){for await(let r of n())yield*r.data},async toArray({limit:r}){let i=[];for await(let s of n())if(i.push(...s.data),i.length>=r)break;return i.slice(0,r)}}}function ft(e,t){return e.authorBoardUserId!==t}function gt(e,t){let o=e.some(r=>r.authorBoardUserId===t);return e.some(r=>r.authorBoardUserId!==t)&&!o}function ht(e,t){for(let o=e.length-1;o>=0;o--){let n=e[o];if(n.authorBoardUserId!==t)return n.id}return null}function le(e){let t=e.replace(/^[\u0000-\u0020]+|[\u0000-\u0020]+$/g,"").replace(/[\t\n\r]/g,""),o=/^([a-z][a-z0-9+.-]*):/i.exec(t)?.[1]?.toLowerCase();return o===void 0?!0:o==="http"||o==="https"||o==="mailto"}function ce(e){let t=e.applicationUrl&&le(e.applicationUrl)?e.applicationUrl:null;return!t&&!e.jobSlug?{kind:"none"}:e.registrationWall&&!e.viewer?{kind:"sign-in",reason:"registration-wall"}:t?{kind:"external",url:t}:e.jobSlug?e.viewer?e.viewer.emailVerified?e.applied?{kind:"applied"}:{kind:"native",jobSlug:e.jobSlug}:{kind:"verify-email"}:e.allowGuestApply?{kind:"guest",jobSlug:e.jobSlug}:{kind:"sign-in",reason:"native-apply"}:{kind:"none"}}function bt(e){let t=ce({...e,registrationWall:!1,allowGuestApply:!1});return t.kind==="sign-in"?{kind:"sign-in"}:t}var Ct=/^[0-9A-Za-z]{16,64}$/,St=/^[0-9a-f]{16}$/,Vo=/^[a-z0-9-]{1,64}$/,qo=/^[1-9][0-9]{0,2}$/;function Ot(e){if(e instanceof URLSearchParams)return e;if(e instanceof URL)return e.searchParams;if(e.startsWith("?")||!e.includes("/")&&e.includes("="))return new URLSearchParams(e);try{return new URL(e,"https://board.invalid").searchParams}catch{return new URLSearchParams}}function Pt(e){let t=Ot(e),o=t.get("ja_alert")??"",n=t.get("ja_email")??"",r=t.get("ja_pos")??"",i=t.get("ja_mv")??"",s=qo.test(r)?Number(r):NaN;return!Ct.test(o)||!St.test(n)||!Vo.test(i)||!(s>=1&&s<=100)?null:{alertId:o,emailId:n,position:s,matcherVersion:i}}function _t(e){let t=Ot(e),o=t.get("ja_alert")??"",n=t.get("ja_email")??"";return!Ct.test(o)||!St.test(n)?null:{alertId:o,emailId:n}}function Rt(e,t){if(!t||!Number.isInteger(e)||e<=0)return 0;let o=1e4-t.percentBps,n=(e+t.fixedMinor)*1e4;return Math.floor((n+o-1)/o)-e}function Go(e){let t=new F({baseUrl:e.baseUrl??De,board:e.board,storage:Je(e.auth?.storage,e.board),globalHeaders:e.globalHeaders,onRequest:e.onRequest,onResponse:e.onResponse,logger:e.logger});return{client:t,context(o){return t.fetch("",o)},seo(o){return t.fetch("/seo",o)},jobs:ze(t),embed:Ge(t),companies:qe(t),blog:Ve(t),auth:Qe(t,e.board),me:Ze(t),invites:He(t),password:Xe(t),taxonomy:mt(t),search:at(t),locations:We(t),redirects:it(t),jobAlerts:Ke(t),jobPosting:Ye(t),salaries:st(t),talent:ct(t),profileFields:nt(t),plans:tt(t),paywall:et(t),products:ot(t),purchases:rt(t),tipJar:dt(t),sitemap:lt(t)}}var pe={};A(pe,{DEFAULT_SORT:()=>Ho,EMPLOYMENT_TYPES:()=>Bt,JOB_SORTS:()=>At,REMOTE_OPTIONS:()=>vt,SENIORITIES:()=>Et,parseCategory:()=>It,parseCompany:()=>Lt,parseListingFilters:()=>Yo,parseSeniority:()=>Tt});var vt=["on_site","hybrid","remote"],Bt=["full_time","part_time","contract","internship","temporary"],Et=["entry_level","associate","mid_level","senior","lead","principal","director","executive"],At=["relevance","newest","salary_high","distance"],Ho="relevance";var Ko=new Set(Et);function Tt(e){let t=Array.isArray(e)?e:typeof e=="string"&&e?e.split(","):[],o=[],n=new Set;for(let r of t){if(typeof r!="string")continue;let i=r.trim().toLowerCase().normalize("NFC");!i||n.has(i)||Ko.has(i)&&(n.add(i),o.push(i))}return o.length>0?o:void 0}function Lt(e){return Ft(e,10)}function It(e){return Ft(e,10)}function Ft(e,t){let o=Array.isArray(e)?e:typeof e=="string"&&e?e.split(","):[],n=[],r=new Set;for(let i of o){if(typeof i!="string")continue;let s=i.trim().toLowerCase().normalize("NFC");if(!(!s||r.has(s))&&(r.add(s),n.push(s),n.length>=t))break}return n.length>0?n:void 0}function Yo(e){return{q:typeof e.q=="string"&&e.q?e.q:void 0,remoteOption:vt.includes(e.remoteOption)?e.remoteOption:void 0,employmentType:Bt.includes(e.employmentType)?e.employmentType:void 0,seniority:Tt(e.seniority),company:Lt(e.company),category:It(e.category),sort:At.includes(e.sort)?e.sort:void 0}}var Pe={};A(Pe,{COMMUTE_RADIUS_MAX_KM:()=>yo,COMMUTE_RADIUS_MIN_KM:()=>mo,COUNTRY_CODES:()=>te,MILES_COUNTRIES:()=>Ce,buildJobBreadcrumbs:()=>ee,countryOptions:()=>po,defaultCommuteRadiusKm:()=>ho,defaultSearchRadius:()=>So,distanceUnitForCountry:()=>go,distanceUnitToKm:()=>oe,formatDate:()=>wt,formatDistance:()=>Oo,formatMonthYear:()=>Nt,formatPublishedRelativeDate:()=>Jt,formatSalaryRange:()=>Dt,formatSalaryStat:()=>H,formatSalaryStatRange:()=>x,kmToDistanceUnit:()=>bo,kmToMiles:()=>Oe,milesToKm:()=>Se,normalizeWebsiteUrl:()=>M,resolveCustomFieldDisplay:()=>uo,searchRadiusOptions:()=>Co});function S(e){let t=e.trim();if(!t)return null;try{let o=t.replace(/_/g,"-"),[n]=Intl.getCanonicalLocales(o);if(!n)return null;let[r]=Intl.NumberFormat.supportedLocalesOf([n]);return r??null}catch{return null}}var kt=new Map,xt=new Map,Ut=new Map,Mt=new Map;function zo(e){let t=kt.get(e);return t||(t=new Intl.RelativeTimeFormat(e,{numeric:"always",style:"short"}),kt.set(e,t)),t}function Wo(e){let t=xt.get(e);return t||(t=new Intl.RelativeTimeFormat(e,{numeric:"auto",style:"short"}),xt.set(e,t)),t}function Zo(e){let t=Ut.get(e);return t||(t=new Intl.DateTimeFormat(e,{dateStyle:"medium",timeZone:"UTC"}),Ut.set(e,t)),t}function Xo(e){let t=Mt.get(e);return t||(t=new Intl.DateTimeFormat(e,{month:"short",year:"numeric",timeZone:"UTC"}),Mt.set(e,t)),t}function ue(e,t,o){try{return zo(o).format(e,t)}catch{return null}}function wt(e,t){if(!t)return null;let o=new Date(t);if(Number.isNaN(o.getTime()))return null;let n=S(e);if(!n)return null;try{return Zo(n).format(o)}catch{return o.toISOString().split("T")[0]}}function Jt(e,t,o=Date.now()){if(!t)return null;let n=new Date(t);if(Number.isNaN(n.getTime()))return null;let r=S(e);if(!r)return null;let i=o-n.getTime(),s=Math.abs(i),a=60*1e3,l=60*a,c=24*l,p=7*c,u=30*c,m=365*c;if(s<a)try{return Wo(r).format(0,"second")}catch{return ue(0,"second",r)}let f=[{unit:"year",ms:m},{unit:"month",ms:u},{unit:"week",ms:p},{unit:"day",ms:c},{unit:"hour",ms:l},{unit:"minute",ms:a}];for(let h of f)if(s>=h.ms){let R=Math.round(s/h.ms),d=i>=0?-R:R;return ue(d,h.unit,r)}let g=Math.round(s/1e3),O=i>=0?-g:g;return ue(O,"second",r)}function Nt(e,t){if(!t)return null;let n=/^\d{4}-\d{2}(-\d{2})?$/.test(t)?new Date(t.length===7?`${t}-01T00:00:00.000Z`:`${t}T00:00:00.000Z`):new Date(t);if(Number.isNaN(n.getTime()))return null;let r=S(e);if(!r)return null;try{return Xo(r).format(n)}catch{return null}}var q=new Map;function me(e,t,o,n="symbol",r="compact"){let i=`${t}:${o}:${n}:${r}`,s=q.get(i);if(s===void 0){try{let a={style:"currency",currency:o,currencyDisplay:n,notation:r};r==="compact"&&(a.compactDisplay="short",a.maximumFractionDigits=1,a.minimumFractionDigits=0),s=new Intl.NumberFormat(t,a)}catch{s=null}q.set(i,s)}return s?s.format(e):null}function de(e,t,o){if(typeof e.formatRange=="function")try{return e.formatRange(t,o)}catch{}try{return`${e.format(t)}\u2013${e.format(o)}`}catch{return null}}function en(e,t,o,n,r="symbol",i="compact"){let s=`${o}:${n}:${r}:${i}:range`,a=q.get(s);if(a===void 0){try{let l={style:"currency",currency:n,currencyDisplay:r,notation:i};i==="compact"&&(l.compactDisplay="short",l.maximumFractionDigits=1,l.minimumFractionDigits=0),a=new Intl.NumberFormat(o,l)}catch{a=null}q.set(s,a)}return a?de(a,e,t):null}var tn=new Set(["per_year","per_month","per_week","per_day","per_hour"]);function on(...e){let t=!1;for(let o of e)if(!(o==null||!Number.isFinite(o))&&(t=!0,Math.abs(o)>=1e3))return"compact";return t?"standard":"compact"}function Dt(e,t,o,n,r=null,i="symbol",s){let a=t==null||Number.isFinite(t),l=o==null||Number.isFinite(o);if(!a||!l||t==null&&o==null)return null;let c=r?.trim().toUpperCase()||null;if(!c)return null;let p=S(e);if(!p)return null;let u=s??on(t,o),m=typeof n=="string"&&tn.has(n)?n:null;if(t!=null&&o!=null){let g=t<=o?t:o,O=t<=o?o:t,h=g===O?me(g,p,c,i,u):en(g,O,p,c,i,u);return h?{text:h,timeframe:m,bound:"range"}:null}if(t!=null){let g=me(t,p,c,i,u);return g?{text:g,timeframe:m,bound:"from"}:null}let f=me(o,p,c,i,u);return f?{text:f,timeframe:m,bound:"upTo"}:null}var $t=new Map;function jt(...e){let t=!1;for(let o of e)if(!(o==null||!Number.isFinite(o))&&(t=!0,Math.abs(o)>=1e3))return"compact";return t?"standard":"compact"}function Qt(e,t,o){let n=`${e}:${t}:${o}`,r=$t.get(n);if(r!==void 0)return r;let i;try{let s={style:"currency",currency:t,notation:o};o==="compact"&&(s.compactDisplay="short",s.minimumFractionDigits=0,s.maximumFractionDigits=1),i=new Intl.NumberFormat(e,s)}catch{i=null}return $t.set(n,i),i}function H(e,t,o,n){if(!Number.isFinite(t))return null;let r=o?.trim().toUpperCase()||null;if(!r)return null;let i=S(e);if(!i)return null;let s=n??jt(t),a=Qt(i,r,s);return a?a.format(t):null}function x(e,t,o,n,r){if(!Number.isFinite(t)||!Number.isFinite(o))return null;let i=n?.trim().toUpperCase()||null;if(!i)return null;let s=S(e);if(!s)return null;let a=r??jt(t,o),l=Qt(s,i,a);if(!l)return null;let c=Math.min(t,o),p=Math.max(t,o);return c===p?l.format(c):de(l,c,p)}var G=["entry_level","associate","mid_level","senior","lead","principal","director","executive"];function Vt(e){return[...e].sort((t,o)=>{let n=G.indexOf(t.seniority),r=G.indexOf(o.seniority);return(n===-1?999:n)-(r===-1?999:r)})}var nn={unitText:"YEAR",duration:"P1Y"};function U(e,t,o,n,r={}){return{"@type":"MonetaryAmountDistribution",...e!==void 0?{name:e}:{},currency:t,minValue:o,maxValue:n,...r,...nn}}function ye(e,t,o,n){return e.map(r=>{let i=n?.seniorityName?.({seniority:r.seniority,entity:o});return U(i,t,r.avgSalaryMin,r.avgSalaryMax)})}function K(e,t,o,n){return{"@context":"https://schema.org","@type":e,name:t,...o,estimatedSalary:n}}function qt(e,t,o,n){if(!o)return[];let r=x(e,o.avgMin,o.avgMax,n);return[{kind:"average",label:t,range:r,avgMin:o.avgMin,avgMax:o.avgMax,currency:n,jobCount:o.jobCount},{kind:"methodology",label:t}]}function Y(e){return e.length===0?null:{"@context":"https://schema.org","@type":"ItemList",numberOfItems:e.length,itemListElement:e.map((t,o)=>({"@type":"ListItem",position:o+1,name:t.name,url:t.url}))}}function Gt(e){return e.length===0?null:{"@context":"https://schema.org","@type":"FAQPage",mainEntity:e.map(t=>({"@type":"Question",name:t.q,acceptedAnswer:{"@type":"Answer",text:t.a}}))}}function Ht(e,t){return e.overallSalary?K("Occupation",e.categoryName,{},[U(e.categoryName,e.currency,e.overallSalary.avgMin,e.overallSalary.avgMax,{...e.boardP25Min?{percentile25:e.boardP25Min}:{},...e.boardP75Max?{percentile75:e.boardP75Max}:{}}),...ye(e.bySeniority,e.currency,e.categoryName,t)]):null}function Kt(e){return e.overallSalary?K("Occupation",e.skillName,{},[U(e.skillName,e.currency,e.overallSalary.avgMin,e.overallSalary.avgMax,{median:Math.round((e.overallSalary.medianMin+e.overallSalary.medianMax)/2)})]):null}function Yt(e,t){return!t?.occupationUrl||!(e.adminLevel==="city"||e.adminLevel==="locality")?null:Y(e.topCategories.map(n=>({name:n.categoryName,url:t.occupationUrl(n)})))}function zt(e,t){return e.overall?K("Occupation",e.name,{occupationLocation:{"@type":"AdministrativeArea",name:e.placeName,address:{"@type":"PostalAddress",addressCountry:e.countryCode}}},[U(e.name,e.currency,e.overall.avgMin,e.overall.avgMax,{...e.overall.p25Min?{percentile25:e.overall.p25Min}:{},...e.overall.p75Max?{percentile75:e.overall.p75Max}:{}}),...ye(e.bySeniority,e.currency,e.name,t)]):null}function Wt(e,t){return t?.occupationUrl?Y(e.byCategory.map(o=>({name:o.categoryName,url:t.occupationUrl(o)}))):null}function Zt(e,t){return e.overallSalary?K("Occupation",e.categoryName,{occupationalCategory:e.categoryName,hiringOrganization:{"@type":"Organization",name:e.companyName}},[U(e.categoryName,e.currency,e.overallSalary.avgMin,e.overallSalary.avgMax,{...e.boardCategoryP25Min?{percentile25:e.boardCategoryP25Min}:{},...e.boardCategoryP75Max?{percentile75:e.boardCategoryP75Max}:{}}),...ye(e.bySeniority,e.currency,e.categoryName,t)]):null}function to(e,t){return e.company?.name??t.legalName??t.contact?.legalName??t.name??null}var Xt={high_school:"high school",associate_degree:"associate degree",bachelor_degree:"bachelor degree",professional_certificate:"professional certificate",postgraduate_degree:"postgraduate degree"},rn={full_time:"FULL_TIME",part_time:"PART_TIME",contract:"CONTRACTOR",internship:"INTERN",temporary:"TEMPORARY",volunteer:"VOLUNTEER",other:"OTHER"},sn={per_year:"YEAR",per_month:"MONTH",per_week:"WEEK",per_day:"DAY",per_hour:"HOUR"},ge=["AF","AX","AL","DZ","AS","AD","AO","AI","AQ","AG","AR","AM","AW","AU","AT","AZ","BS","BH","BD","BB","BY","BE","BZ","BJ","BM","BT","BO","BA","BW","BV","BR","IO","VG","BN","BG","BF","BI","KH","CM","CA","CV","BQ","KY","CF","TD","CL","CN","CX","CC","CO","KM","CK","CR","HR","CU","CW","CY","CZ","DK","DJ","DM","DO","CD","EC","EG","SV","GQ","ER","EE","SZ","ET","FK","FO","FJ","FI","FR","GF","PF","TF","GA","GM","GE","DE","GH","GI","GR","GL","GD","GP","GU","GT","GG","GN","GW","GY","HT","HM","HN","HK","HU","IS","IN","ID","IR","IQ","IE","IM","IL","IT","CI","JM","JP","JE","JO","KZ","KE","KI","XK","KW","KG","LA","LV","LB","LS","LR","LY","LI","LT","LU","MO","MG","MW","MY","MV","ML","MT","MH","MQ","MR","MU","YT","MX","FM","MD","MC","MN","ME","MS","MA","MZ","MM","NA","NR","NP","NL","NC","NZ","NI","NE","NG","NU","NF","MK","MP","NO","OM","PK","PW","PS","PA","PG","PY","PE","PH","PN","PL","PT","PR","QA","CG","RE","RO","RU","RW","BL","SH","KN","LC","MF","PM","VC","WS","SM","ST","SA","SN","RS","SC","SL","SG","SX","SK","SI","SB","SO","ZA","GS","KR","SS","ES","LK","SD","SR","SJ","SE","CH","SY","TW","TJ","TZ","TH","TL","TG","TK","TO","TT","TN","TR","TM","TC","TV","UG","UA","AE","GB","US","UM","VI","UY","UZ","VU","VA","VE","VN","WF","EH","YE","ZM","ZW"];function oo({job:e,board:t,shareUrl:o}){let n=dn(e),r=yn(e),i=fe({"@context":"https://schema.org/","@type":"JobPosting",title:e.title,description:e.description??"",identifier:an(e,t),datePosted:eo(e.publishedAt),validThrough:eo(e.expiresAt),employmentType:e.employmentType?rn[e.employmentType]??"OTHER":"OTHER",hiringOrganization:ln(e,t),jobLocation:pn(e),jobLocationType:e.remoteOption==="remote"?"TELECOMMUTE":void 0,applicantLocationRequirements:e.remoteOption==="remote"?mn(e):null,baseSalary:cn(e),educationRequirements:n,experienceRequirements:r,experienceInPlaceOfEducation:e.experienceInPlaceOfEducation===!0&&n&&r?!0:void 0,url:o});return!i||Array.isArray(i)||Object.keys(i).length===0?null:i}function an(e,t){let o=to(e,t),n={"@type":"PropertyValue",value:e.id};return o&&(n.name=o),n}function ln(e,t){let o=to(e,t);if(!o)return null;let n={"@type":"Organization",name:o},r=e.company?.website??null,i=r?M(r):null;i&&(n.sameAs=i);let s=e.company?.logoUrl??t.logoUrl??null;return s&&(n.logo=s),n}function M(e){let t=e.trim();return t?/^https?:\/\//i.test(t)?t:`https://${t}`:null}function cn(e){let t=e.salaryCurrency?.trim(),o=typeof e.salaryMin=="number",n=typeof e.salaryMax=="number";if(!t||!o&&!n)return null;let r={"@type":"QuantitativeValue"};o&&(r.minValue=e.salaryMin),n&&(r.maxValue=e.salaryMax);let i=e.salaryTimeframe?sn[e.salaryTimeframe]:void 0;return i&&(r.unitText=i),!o&&n&&typeof e.salaryMax=="number"?(r.value=e.salaryMax,r.minValue=e.salaryMax):!n&&o&&typeof e.salaryMin=="number"&&(r.value=e.salaryMin,r.maxValue=e.salaryMin),{"@type":"MonetaryAmount",currency:t.toUpperCase(),value:r}}function pn(e){let t=e.officeLocations.map(o=>un({countryCode:o.countryCode,region:o.region,locality:o.city??o.locality,postalCode:o.postalCode,name:o.displayName})).filter(o=>o!==null);return t.length===0?null:t.length===1?t[0]:t}function un({countryCode:e,region:t,locality:o,postalCode:n,name:r}){let i={"@type":"PostalAddress"},s=e?.trim(),a=t?.trim(),l=o?.trim(),c=n?.trim(),p=r?.trim();s&&(i.addressCountry=s.toUpperCase()),a&&(i.addressRegion=a),l&&(i.addressLocality=l),c&&(i.postalCode=c);let u=Object.keys(i).length>1;if(!u&&!p)return null;let m={"@type":"Place"};return p&&(m.name=p),u&&(m.address=i),m}function mn(e){if(e.remoteWorldwide)return ge.map(n=>({"@type":"Country",name:n}));let t=[],o=new Set;for(let n of e.remoteWorkPermitCountryCodes??[]){let r=n?.trim().toUpperCase();!r||o.has(r)||(o.add(r),t.push({"@type":"Country",name:r}))}for(let n of e.remoteWorkPermitSubdivisionCodes??[]){let r=n?.split("-")[0]?.trim().toUpperCase();!r||o.has(r)||(o.add(r),t.push({"@type":"Country",name:r}))}return t.length===0?null:t.length===1?t[0]:t}function dn(e){let t=e.educationRequirements;if(!t||t.length===0)return null;if(t.includes("no_requirements"))return"no requirements";let o=t.filter(n=>n in Xt).map(n=>({"@type":"EducationalOccupationalCredential",credentialCategory:Xt[n]}));return o.length>0?o:null}function yn(e){let t=e.experienceMonths;return typeof t!="number"?null:t===0?"no requirements":{"@type":"OccupationalExperienceRequirements",monthsOfExperience:t}}function eo(e){if(!e)return null;let t=new Date(e);return Number.isNaN(t.getTime())?null:t.toISOString()}function fe(e){let t=o=>o==null?!1:Array.isArray(o)?o.length>0:typeof o=="object"?Object.keys(o).length>0:!0;if(Array.isArray(e))return e.map(o=>fe(o)).filter(t);if(e&&typeof e=="object"){let o=Object.entries(e).map(([n,r])=>[n,fe(r)]).filter(([,n])=>t(n));return Object.fromEntries(o)}return e}var be={};A(be,{BOARD_PATHS:()=>Z,blogAuthorPath:()=>Sn,blogPostPath:()=>ao,blogTagPath:()=>lo,boardUrl:()=>X,companyMarketPath:()=>so,companyPath:()=>io,companySalaryPath:()=>gn,encodePathSegment:()=>y,goAlertsConfirmPath:()=>En,goAlertsManagePath:()=>Bn,goJobPath:()=>vn,jobDetailPath:()=>he,jobsCategoryPath:()=>z,jobsLocationCategoryPath:()=>W,jobsLocationPath:()=>w,jobsLocationSkillPath:()=>ro,jobsSkillPath:()=>no,productPath:()=>_n,purchasePath:()=>Rn,salaryLocationPath:()=>Cn,salarySkillPath:()=>bn,salaryTitlePath:()=>hn,suggestionPath:()=>fn,talentLocationPath:()=>Pn,talentProfilePath:()=>On});function y(e){try{return encodeURIComponent(decodeURIComponent(e)).replace(/%3A/gi,":")}catch{return encodeURIComponent(e).replace(/%3A/gi,":")}}function he(e,t){return`/companies/${y(e)}/jobs/${y(t)}`}function z(e){return`/jobs/${y(e)}`}function no(e){return`/jobs/skills/${y(e)}`}function w(e){return`/jobs/locations/${y(e)}`}function W(e,t){return`${w(e)}/${y(t)}`}function ro(e,t){return`${w(e)}/skills/${y(t)}`}function io(e){return`/companies/${y(e)}`}function so(e){return`/companies/markets/${y(e)}`}function fn(e,t){let o=t.location?.trim()||void 0;return t.scope==="blog"?e.type==="post"?ao(e.slug):e.type==="tag"?lo(e.slug):null:t.scope==="jobs"?e.type==="company"||e.type==="market"||e.type==="post"||e.type==="tag"?null:e.termType==="skill"?o?ro(o,e.canonicalSlug):no(e.canonicalSlug):o?W(o,e.canonicalSlug):z(e.canonicalSlug):e.type==="company"?io(e.slug):e.type==="market"?so(e.canonicalSlug??e.slug):null}function gn(e){return`/companies/${y(e)}/salaries`}function hn(e){return`/salaries/titles/${y(e)}`}function bn(e){return`/salaries/skills/${y(e)}`}function Cn(e){return`/salaries/locations/${y(e)}`}function ao(e){return`/blog/${y(e)}`}function lo(e){return`/blog/tag/${y(e)}`}function Sn(e){return`/blog/author/${y(e)}`}function On(e){return`/p/${y(e)}`}function Pn(e){return`/talent/locations/${y(e)}`}function _n(e){return`/products/${y(e)}`}function Rn(e){return`/purchases/${y(e)}`}var Z={home:"/",jobs:"/jobs",companies:"/companies",salaries:"/salaries",salaryCompanies:"/salaries/companies",salaryTitles:"/salaries/titles",salarySkills:"/salaries/skills",salaryLocations:"/salaries/locations",blog:"/blog",about:"/about",privacyPolicy:"/privacy-policy",termsOfService:"/terms-of-service",cookiePolicy:"/cookie-policy",impressum:"/impressum",talent:"/talent",talentLocations:"/talent/locations",employers:"/employers",alertsManage:"/alerts/manage",alertsConfirm:"/alerts/confirm",products:"/products",mePurchases:"/me/purchases",tip:"/tip"};function vn(e){return`/go/job/${e}`}function Bn(){return"/go/alerts-manage"}function En(){return"/go/alerts-confirm"}function X(e,t){return`${e.replace(/\/+$/,"")}${t}`}function co(e,t={}){let o=e.map(r=>{let i=r.label?.trim();return i?{name:i,href:r.href?.trim()??null}:null}).filter(r=>!!r).filter((r,i,s)=>!!r.href||i===s.length-1);return o.length<2?null:{"@context":"https://schema.org","@type":"BreadcrumbList",itemListElement:o.map((r,i)=>{let s=r.href?An(r.href,t.origin??null):null,a={"@type":"ListItem",position:i+1,name:r.name};return s&&(a.item=s),a})}}function An(e,t){if(Tn(e))return e;if(!t)return null;let o=e.startsWith("/")?e:`/${e}`;return`${t}${o}`}function Tn(e){return/^https?:\/\//i.test(e)}function ee(e){let t=[{kind:"home",path:Z.home},{kind:"jobs",path:Z.jobs}],o=null;for(let r of e.placeHierarchy)o=r.canonicalSlug,t.push({kind:"place",name:r.name,path:w(r.canonicalSlug)});let n=e.categories[0];return n&&t.push({kind:"category",name:n.name,path:o?W(o,n.slug):z(n.slug)}),t.push({kind:"job",name:e.title}),t}var te=["AD","AE","AF","AG","AI","AL","AM","AO","AQ","AR","AS","AT","AU","AW","AX","AZ","BA","BB","BD","BE","BF","BG","BH","BI","BJ","BL","BM","BN","BO","BQ","BR","BS","BT","BV","BW","BY","BZ","CA","CC","CD","CF","CG","CH","CI","CK","CL","CM","CN","CO","CR","CU","CV","CW","CX","CY","CZ","DE","DJ","DK","DM","DO","DZ","EC","EE","EG","EH","ER","ES","ET","FI","FJ","FK","FM","FO","FR","GA","GB","GD","GE","GF","GG","GH","GI","GL","GM","GN","GP","GQ","GR","GS","GT","GU","GW","GY","HK","HM","HN","HR","HT","HU","ID","IE","IL","IM","IN","IO","IQ","IR","IS","IT","JE","JM","JO","JP","KE","KG","KH","KI","KM","KN","KR","KW","KY","KZ","LA","LB","LC","LI","LK","LR","LS","LT","LU","LV","LY","MA","MC","MD","ME","MF","MG","MH","MK","ML","MM","MN","MO","MP","MQ","MR","MS","MT","MU","MV","MW","MX","MY","MZ","NA","NC","NE","NF","NG","NI","NL","NO","NP","NR","NU","NZ","OM","PA","PE","PF","PG","PH","PK","PL","PM","PN","PR","PS","PT","PW","PY","QA","RE","RO","RS","RU","RW","SA","SB","SC","SD","SE","SG","SH","SI","SJ","SK","SL","SM","SN","SO","SR","SS","ST","SV","SX","SY","SZ","TC","TD","TF","TG","TH","TJ","TK","TL","TM","TN","TO","TR","TT","TV","TW","TZ","UA","UG","UM","US","UY","UZ","VA","VC","VE","VG","VI","VN","VU","WF","WS","XK","YE","YT","ZA","ZM","ZW"];function Ln(e){try{return new Intl.DisplayNames([e],{type:"region"})}catch{return null}}function In(e){try{return new Intl.Collator(e)}catch{return new Intl.Collator}}function po(e){let t=S(e);if(!t)return te.map(r=>({code:r,name:r})).sort((r,i)=>r.code<i.code?-1:r.code>i.code?1:0);let o=Ln(t),n=In(t).compare;return te.map(r=>({code:r,name:o?.of(r)??r})).sort((r,i)=>n(r.name,i.name))}function Fn(e,t){if(!Array.isArray(t)||t.length===0)return null;let o=t.map(n=>e.options?.find(r=>r.key===n)?.label).filter(n=>!!n);return o.length>0?o:null}function kn(e,t){switch(e.type){case"number":return null;case"multi_select":return null;case"single_select":return typeof t!="string"?null:e.options?.find(o=>o.key===t)?.label??null;default:return typeof t=="string"&&t.trim()!==""?t:null}}function uo(e,t,o){let n=[];for(let r of t??[]){let i=o?.[r.key];if(r.type==="boolean"){typeof i=="boolean"&&n.push({key:r.key,label:r.label,kind:"boolean",value:i});continue}if(r.type==="number"){typeof i=="number"&&Number.isFinite(i)&&n.push({key:r.key,label:r.label,kind:"number",value:i});continue}if(r.type==="multi_select"){let a=Fn(r,i);a&&n.push({key:r.key,label:r.label,kind:"multi_select",values:a});continue}let s=kn(r,i);s!==null&&n.push({key:r.key,label:r.label,kind:r.type==="rich_text"?"rich_text":"text",value:s})}return n}var Ce=["US","GB","LR","MM"],mo=1,yo=250;var xn=new Set(Ce);function fo(e){return typeof e=="string"&&xn.has(e.trim().toUpperCase())}function go(e){return fo(e)?"mi":"km"}function ho(e){return fo(e)?40:50}function Se(e){return e*1.609344}function Oe(e){return e/1.609344}function bo(e,t){return t==="mi"?Oe(e):e}function oe(e,t){return t==="mi"?Se(e):e}var Un=[5,10,25,50,100];function Co(e){return Un.map(t=>({value:t,unit:e,km:oe(t,e)}))}function So(e){let t=e==="mi"?25:50;return{value:t,unit:e,km:oe(t,e)}}function Oo(e,t,o){return new Intl.NumberFormat(o,{style:"unit",unit:t==="mi"?"mile":"kilometer",unitDisplay:"short",maximumFractionDigits:1}).format(e)}var _e={};A(_e,{ALL_COUNTRY_CODES:()=>ge,SENIORITY_ORDER:()=>G,buildJobBreadcrumbs:()=>ee,buildSalaryFaq:()=>qt,companyCategorySalaryJsonLd:()=>Zt,companySalaryJsonLd:()=>Wt,createAuthorProfileJsonLd:()=>_o,createBlogArticleJsonLd:()=>Po,createBreadcrumbJsonLd:()=>co,createJobPostingJsonLd:()=>oo,crossAxisSalaryJsonLd:()=>zt,faqJsonLd:()=>Gt,formatSalaryStat:()=>H,formatSalaryStatRange:()=>x,itemListJsonLd:()=>Y,listingHead:()=>Ro,listingJsonLd:()=>vo,locationSalaryJsonLd:()=>Yt,normalizeWebsiteUrl:()=>M,skillSalaryJsonLd:()=>Kt,sortBySeniority:()=>Vt,titleSalaryJsonLd:()=>Ht});function Po({post:e,boardName:t,permalink:o,ogImageUrl:n}){let r={"@context":"https://schema.org","@type":"Article",headline:e.title,url:o,mainEntityOfPage:{"@type":"WebPage","@id":o},publisher:{"@type":"Organization",name:t}};e.customExcerpt&&(r.description=e.customExcerpt),e.publishedAt&&(r.datePublished=e.publishedAt);let i=e.coverUrl??n;i&&(r.image=i);let s=e.authors[0];return s&&(r.author={"@type":"Person",name:s.name,...s.websiteUrl?{url:s.websiteUrl}:{}}),r}function _o({author:e,canonical:t,description:o,origin:n,posts:r,totalPosts:i}){if(!e.name)return null;let s=o.trim(),a=[ne(e.websiteUrl),ne(e.twitterUrl),ne(e.linkedinUrl),ne(e.githubUrl)].filter(m=>!!m),l=`${t}#profile`,c=r.slice(0,5).map(m=>{let f=Mn(n,`/blog/${m.slug}`);return f?{"@type":"Article",headline:m.title,url:f,datePublished:m.publishedAt,author:{"@id":l}}:null}).filter(m=>m!==null),p=i>0?{"@type":"InteractionCounter",interactionType:"https://schema.org/WriteAction",userInteractionCount:i}:void 0,u={"@context":"https://schema.org","@type":"ProfilePage",url:t,mainEntity:{"@type":"Person","@id":l,name:e.name,alternateName:e.slug??void 0,identifier:e.id??void 0,description:s||void 0,image:e.avatarUrl??void 0,sameAs:a.length>0?a:void 0,url:t,mainEntityOfPage:t,agentInteractionStatistic:p}};return c.length>0&&(u.hasPart=c),u}function ne(e){if(!e)return null;let t=e.trim();if(!t)return null;try{let o=t.startsWith("http://")||t.startsWith("https://")?t:`https://${t}`;return new URL(o).toString()}catch{return null}}function Mn(e,t){if(!e||!t)return null;try{return new URL(t,e).toString()}catch{return null}}function Ro(e){let t=e.title,o=e.description,n=`${e.origin}${e.path}`;return{meta:[{title:t},{name:"description",content:o},{property:"og:title",content:t},{property:"og:description",content:o},{property:"og:type",content:"website"},{property:"og:url",content:n}],links:[{rel:"canonical",href:n}]}}function vo(e){let t=[];e.breadcrumbs.length>=2&&t.push({"@context":"https://schema.org","@type":"BreadcrumbList",itemListElement:e.breadcrumbs.map((n,r)=>({"@type":"ListItem",position:r+1,name:n.name,...n.path?{item:X(e.origin,n.path)}:{}}))});let o=(e.jobs??[]).filter(n=>n.company!=null&&!!n.company.slug);return o.length>0&&t.push({"@context":"https://schema.org","@type":"ItemList",itemListElement:o.map((n,r)=>({"@type":"ListItem",position:r+1,url:n.links?.public||X(e.origin,he(n.company.slug,n.slug))}))}),t}var Re={};A(Re,{createSuggestController:()=>Nn});function wn(e){return typeof DOMException<"u"&&e instanceof DOMException&&e.name==="AbortError"||e instanceof Error&&e.name==="AbortError"}function Jn(e){try{let t=0;for(let o of new Intl.Segmenter(void 0,{granularity:"grapheme"}).segment(e))t+=1;return t}catch{return[...e].length}}function Bo(e,t){return t.size===0?e.slice():e.filter(o=>!(o.type==="company"&&t.has(o.slug.toLowerCase().normalize("NFC"))))}function Nn(e,t){let o=t?.minChars??2,n=t?.debounceMs??250,r=t?.limit,i=!1,s={query:"",items:[],status:"idle",error:null},a=[],l=new Set,c=0,p=null,u=null,m=new Set;function f(){for(let d of m)d()}function g(d){s=d,f()}function O(){p!==null&&(globalThis.clearTimeout(p),p=null)}function h(){u&&(u.abort(),u=null)}function R(d){let b=++c;h();let P=new AbortController;u=P;let E={q:d};r!==void 0&&(E.limit=r),e.search.suggest(E,{signal:P.signal}).then(v=>{i||b!==c||(u=null,a=v.items,g({query:s.query,items:Bo(a,l),status:"ready",error:null}))}).catch(v=>{i||b!==c||wn(v)||(u=null,g({query:s.query,items:s.items,status:"error",error:v}))})}return{setQuery(d){if(i)return;let b=d.trim();if(O(),Jn(b)<o){c+=1,h(),a=[],g({query:d,items:[],status:"idle",error:null});return}c+=1,h(),g({query:d,items:s.items,status:"loading",error:null}),p=globalThis.setTimeout(()=>{p=null,!i&&R(b)},n)},setExcludedCompanySlugs(d){i||(l=new Set(d.map(b=>b.trim().toLowerCase().normalize("NFC")).filter(Boolean)),g({query:s.query,items:Bo(a,l),status:s.status,error:s.error}))},getState(){return s},subscribe(d){return i?()=>{}:(m.add(d),()=>{m.delete(d)})},dispose(){i||(i=!0,O(),h(),c+=1,m.clear())}}}return Fo(Dn);})();
|
|
@@ -153,7 +153,7 @@ var BOARD_API_ERROR_CODES = [
|
|
|
153
153
|
"talent_list_not_found",
|
|
154
154
|
"sourced_candidate_not_found",
|
|
155
155
|
"sourced_convert_unavailable",
|
|
156
|
-
//
|
|
156
|
+
// Deprecated and never returned: a talent list has no size limit.
|
|
157
157
|
"talent_list_full",
|
|
158
158
|
// Candidate job-access paywall
|
|
159
159
|
"candidate_paywall_access_required",
|
|
@@ -207,7 +207,8 @@ var BOARD_API_ERROR_CODES = [
|
|
|
207
207
|
"tip_amount_below_minimum",
|
|
208
208
|
"tip_amount_invalid",
|
|
209
209
|
"tip_note_not_allowed",
|
|
210
|
-
"tip_note_too_long"
|
|
210
|
+
"tip_note_too_long",
|
|
211
|
+
"tip_fee_cover_not_allowed"
|
|
211
212
|
];
|
|
212
213
|
var BoardApiError = class extends Error {
|
|
213
214
|
status;
|
package/dist/filters.d.mts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { J as JobSort, E as EmploymentType, R as RemoteOption, S as Seniority } from './jobs-
|
|
2
|
-
import './_spec-
|
|
1
|
+
import { J as JobSort, E as EmploymentType, R as RemoteOption, S as Seniority } from './jobs-CClqlUld.mjs';
|
|
2
|
+
import './_spec-D1Qg_Twd.mjs';
|
|
3
3
|
|
|
4
4
|
/**
|
|
5
5
|
* `@cavuno/board/filters` — the canonical listing-filter vocabulary and URL
|
package/dist/filters.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { J as JobSort, E as EmploymentType, R as RemoteOption, S as Seniority } from './jobs-
|
|
2
|
-
import './_spec-
|
|
1
|
+
import { J as JobSort, E as EmploymentType, R as RemoteOption, S as Seniority } from './jobs-D04ngjCP.js';
|
|
2
|
+
import './_spec-D1Qg_Twd.js';
|
|
3
3
|
|
|
4
4
|
/**
|
|
5
5
|
* `@cavuno/board/filters` — the canonical listing-filter vocabulary and URL
|
package/dist/format.d.mts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
export { C as CurrencyDisplay, F as FormattedSalaryRange, J as JobBreadcrumb, N as NumberNotation, S as SalaryTimeframeInput, a as SalaryTimeframeValue, b as buildJobBreadcrumbs, f as formatSalaryRange, c as formatSalaryStat, d as formatSalaryStatRange, n as normalizeWebsiteUrl } from './breadcrumbs-
|
|
2
|
-
import { C as CustomFieldDefinition } from './board-
|
|
3
|
-
import { C as CustomFieldValues } from './jobs-
|
|
4
|
-
import './_spec-
|
|
1
|
+
export { C as CurrencyDisplay, F as FormattedSalaryRange, J as JobBreadcrumb, N as NumberNotation, S as SalaryTimeframeInput, a as SalaryTimeframeValue, b as buildJobBreadcrumbs, f as formatSalaryRange, c as formatSalaryStat, d as formatSalaryStatRange, n as normalizeWebsiteUrl } from './breadcrumbs-C5WjB8jm.mjs';
|
|
2
|
+
import { C as CustomFieldDefinition } from './board-Cc3wbTKI.mjs';
|
|
3
|
+
import { C as CustomFieldValues } from './jobs-CClqlUld.mjs';
|
|
4
|
+
import './_spec-D1Qg_Twd.mjs';
|
|
5
5
|
|
|
6
6
|
/**
|
|
7
7
|
* Date display helpers in the board language (required leading parameter,
|
package/dist/format.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
export { C as CurrencyDisplay, F as FormattedSalaryRange, J as JobBreadcrumb, N as NumberNotation, S as SalaryTimeframeInput, a as SalaryTimeframeValue, b as buildJobBreadcrumbs, f as formatSalaryRange, c as formatSalaryStat, d as formatSalaryStatRange, n as normalizeWebsiteUrl } from './breadcrumbs-
|
|
2
|
-
import { C as CustomFieldDefinition } from './board-
|
|
3
|
-
import { C as CustomFieldValues } from './jobs-
|
|
4
|
-
import './_spec-
|
|
1
|
+
export { C as CurrencyDisplay, F as FormattedSalaryRange, J as JobBreadcrumb, N as NumberNotation, S as SalaryTimeframeInput, a as SalaryTimeframeValue, b as buildJobBreadcrumbs, f as formatSalaryRange, c as formatSalaryStat, d as formatSalaryStatRange, n as normalizeWebsiteUrl } from './breadcrumbs-BOFeIYEX.js';
|
|
2
|
+
import { C as CustomFieldDefinition } from './board-BeNZLOYC.js';
|
|
3
|
+
import { C as CustomFieldValues } from './jobs-D04ngjCP.js';
|
|
4
|
+
import './_spec-D1Qg_Twd.js';
|
|
5
5
|
|
|
6
6
|
/**
|
|
7
7
|
* Date display helpers in the board language (required leading parameter,
|