1import{i as e}from"./rolldown-runtime.js";import{A as t,M as n,S as r,c as i,h as a,m as o,n as s}from"./useI18n.js";import{i as c,t as l}from"./vendor.js";import{n as u,t as d}from"./objectSpread2.js";import{u as f}from"./chunk-OE4NN4TA.js";import{t as p}from"./useGoogleRecaptcha.js";var m={looking_for_person_new:{required:`ffn-errors_reg_error_field_empty`},bday_day:{required:`ffn-errors_reg_error_birthdate_empty`,invalid:`ffn-errors_reg_error_birthdate`},bday_day2:{required:`ffn-errors_reg_error_birthdate_empty`,invalid:`ffn-errors_reg_error_birthdate`},zip:{required:`ffn-errors_reg_error_zip_code_empty`,miniLength:`ffn-errors_reg_error_zip_minlength`,checkError:`ffn-errors_reg_error_zip_code`},email:{email_wrong_domain:`ffn-errors_reg_wrong_domain`,required:`ffn-errors_reg_error_email_empty`,invalid:`ffn-errors_reg_error_email`},REG_handle:{required:`ffn-errors_reg_error_username_empty`,invalid:`ffn-errors_reg_error_username`,miniLength:`ffn-errors_reg_error_username_too_short`,checkError:`ffn-errors_reg_not_ok_username`,specialChars:`ffn-errors_reg_error_username_alphanum`},password:{required:`ffn-errors_reg_error_password_empty`,miniLength:`ffn-errors_reg_error_password_minlength_case`},state:{required:`ffn-errors_reg_error_state_select_error`},title:{required:`ffn-errors_reg_error_intro`},trans_profile:{required:`ffn-errors_reg_error_field_empty`},city:{required:`ffn-errors_reg_error_city`}},ee={0:`ffn-forget-login_errmsg_try_again`,1:`ffn-forget-login_text_interest_error_invalid_handle`,2:`ffn-forget-login_invalid_email_capitalize`,3:`ffn-forget-login_invalid_email_capitalize`,4:`ffn-forget-login_errmsg_invalid_account`,5:`ffn-forget-login_errmsg_try_again`,6:`ffn-forget-login_errmsg_try_again`},h=`bg-transparent py-1 w-full border-b-2 focus-within:border-indigo-500 focus-within:outline-hidden cursor-pointer`,g=(()=>{let e=`transform-gpu transition-all absolute left-0 text-indigo-500 pointer-events-none`,t=`px-6 py-2 font-medium text-gray-900`,n=`relative bg-white text-base text-gray-700`,r=`${n} px-5 py-6`,i=`${t} rounded-sm bg-gray-200 border shadow-sm`;return{backdrop:`w-full h-full bg-black/60 flex justify-center items-center`,container_free_width_free_padding:n,container_free_width:r,container:`${r} w-4/5 sm:w-96`,exitIcon:`w-6 fill-current absolute top-2 right-2 text-gray-400 cursor-pointer`,headline:`font-medium`,pts:`text-green-700 font-medium`,buyMore:`text-blue-500 cursor-pointer`,selectContainer:`relative mt-8`,selector:h,selectorLabel:`${e} top-1`,selectorLabel_selected:`${e} -top-4 text-xs`,buttons:`flex justify-around cursor-pointer`,confirm:i,confirm_disabled:`${i} opacity-30 cursor-not-allowed`,cancel:t,gridContaniner:`grid grid-cols-3 gap-3 py-2.5`}})(),_=e(c(),1);u();var v=`csp_block`,y=`invalid_endpoint`,b=`handle_agent_data`,x=`script_load_fail`,S=`api_key_missing`,C=`api_key_invalid`,w=`endpoints_misconfigured`,T=`bundle_not_defined`,E={client_timeout:`Client timeout`,network_connection:`Network connection error`,network_abort:`Network request aborted`,[v]:`Blocked by CSP`,[y]:`The provided endpoint in "endpoints" parameter is not a valid URL`,[b]:`Handle on demand agent data error`,[x]:`Failed to load the JS script of the agent`,[T]:`9319`,bad_response_format:`Can't parse the backend response. Make sure the proper endpoints are used.`,[S]:"The `apiKey` option is not provided",[C]:"The `apiKey` option is not a string",cache_misconfigured:"The `cache` option is misconfigured",[w]:"The `endpoints` option is misconfigured",wrong_worker_option:"Wrong `worker` option, it should be a Worker instance",worker_initialization_failed:`Web Worker initialization failed`,sandboxed_iframe:`Running inside sandboxed iframes is not supported`},D=class extends Error{constructor(e,t){super(e),this.name=`FingerprintError`,this.event_id=null,this.co
1de=t}};function O(e,t,n,r){let i=document,a=`securitypolicyviolation`,o,s=t=>{let n=new URL(e,location.href),{blockedURI:r}=t;r!==n.href&&r!==n.protocol.slice(0,-1)&&r!==n.origin||(o=t,c())};i.addEventListener(a,s);let c=()=>i.removeEventListener(a,s);return r==null||r.then(c,c),Promise.resolve().then(t).then((e=>(c(),e)),(e=>new Promise((e=>{let t=new MessageChannel;t.port1.onmessage=()=>e(),t.port2.postMessage(null)})).then((()=>{if(c(),o)return n(o);throw e}))))}function k(e){return e instanceof ArrayBuffer?new Uint8Array(e):new Uint8Array(e.buffer,e.byteOffset,e.byteLength)}function A(e){return`${e.origin}${e.pathname.endsWith(`/`)?e.pathname:`${e.pathname}/`}web/`}var j;function M(e){return P(e)?e:[e]}function N(e){let t=new Uint8Array(e.length);for(let n=0;n<e.length;n++){let r=e.charCodeAt(n);if(r>127)return new TextEncoder().encode(e);t[n]=r}return t}var P=Array.isArray;function F(e,t){try{return new window.URL(e,window.location.href)}catch(n){if(H(n))return console.warn(`Ignoring an invalid '${t}' value: "${e}"`),null;throw n}}function I(e,t){return e===void 0?[t]:q(e)?function(e,t){let n,r=!1;B(e)?(r=!0,n=M(e.value)):n=M(e);let i=[];for(let e of n){let t=F(e,`endpoints`);t&&i.push(A(t))}return r||i.push(t),i}(e,t):function(e){if(!e||typeof e!=`object`)return!1;let t=e;if(typeof t.__type__!=`string`||(n=t.__type__,function(e){let t=k(e);j=j||function(){let e,t=new Uint32Array(256);for(let n=0;n<256;n++){e=n;for(let t=0;t<8;t++)e=1&e?3988292384^e>>>1:e>>>1;t[n]=e}return t}();let n=-1;for(let e=0;e<t.length;e++)n=n>>>8^j[255&(n^t[e])];return(-1^n)>>>0}(N(n)))!==694409711)return!1;var n;return(t.script===void 0||q(t.script))&&(t.helper===void 0||q(t.helper))&&(t.ingress===void 0||q(t.ingress))}(e)?function(e,t,n){if(e===void 0)return[t];let r,i=!1;B(e)?(i=!0,r=M(e.value)):r=M(e);let a=[];for(let e of r){let t=F(e,n);t&&a.push(t.href)}return i||a.push(t),a}(e.script,t,`script`):null}var L=`withoutDefault`;function R(e,t,n,r,i,a,o){return z.apply(this,arguments)}function z(){return z=n(function*(e,t,n,r,i,a,o){if(e===void 0)return;let s=e;for(let e=0;e<t;++e){let t=new Date,c,l;try{c=yield K((()=>n(s,e,o)),o)}catch(e){l=e,a.failedAttempts.push({level:0,endpoint:s,error:e})}if(c){let e=r(c);if(`result`in e){a.result=e.result;break}if(a.failedAttempts.push({level:1,endpoint:s,error:e.error}),e.stop)break}let u=i(t,c,l);if(!u)break;yield K(U(u[1]),o),s=u[0]}}),z.apply(this,arguments)}function B(e){return!!e&&e.__type__===L}function V(e){let t,r,{picked:i,rest:a}=function(e,t){let n={},r={};for(let[i,a]of Object.entries(e))t.includes(i)?n[i]=a:r[i]=a;return{picked:n,rest:r}}(e,[`apiKey`]),{apiKey:o}=i;if(!o)throw new D(E[S],S);if(typeof o!=`string`)throw new D(E[C],C);var s,c;let l=function(e,t){let n=I(e,`https://fpnpmcdn.net/`);if(n===null)throw new D(E[w],w);return n.map((e=>function(e,t){let n=new URL(e,window.location.href),r=n.pathname;return n.pathname=`${r}${r.endsWith(`/`)?``:`/`}v4/${encodeURIComponent(t)}`,n.search=`?ci=jsl/${encodeURIComponent(W)}`,n.href}(e,t)))}(function(e,t){return Object.prototype.hasOwnProperty.call(e,t)}(s=e,c=`endpoints`)?s[c]:void 0,o),[u,f]=function(){let e=[],t=()=>{e.push({time:new Date,state:document.visibilityState})},n=(r=document,i=`visibilitychange`,a=t,r.addEventListener(i,a,o),()=>r.removeEventListener(i,a,o));var r,i,a,o;return t(),[e,n]}(),p=n(function*(){try{let[e,r]=yield function(e,t){if(e.length===0)return Promise.reject(TypeError(`The list of script URL patterns is empty`));let r=[],i=function(e,t,n,r,i={}){let{maxAttemptCount:a=5,backoffBase:o=200,backoffCap:s=1e4,abort:c}=i,l={failedAttempts:[]},[u,d]=function(e,t,n,r){let i=function(e){let t=[...e];return{current:()=>t[0],postpone(){let e=t.shift();e!==void 0&&t.push(e)},exclude(){t.shift()}}}(e),a=function(e,t){let n=0;return()=>Math.random()*Math.min(t,e*Math.pow(2,n++))}(n,r),o=new Set;return[i.current(),(e,n,r)=>{let s=t(e,n,r);s.action===`exclude`?i.exclude():i.postpone();let c=()=>Math.max(0,e.getTime()+a()-Date.now()),l;l=typeof s.delay==`number`?s.delay:c();let u=i.current();return l===0&&u&&Date.now()-e.getTime()<50&&(o.has(u)?l=c():o.add(u)),u===void 0?void 0:[u,l]}]}(e,r,o,s),f=(p=[c==null?void 0:c.then((e=>l.aborted={resolve:!0,value:e}),(e=>l.aborted={resolve:!1,error:e})),R(u,a,t,n,d,l,c)],Promise.race(p.filter((e=>!!e)))).then((()=>l));var p;return{then:f.then.bind(f),current:l}}(e,function(){var e=n(function*(e){let n=new Date;try{let i=yield t(e);return r.push({url:e,startedAt:n,finishedAt:new Date,error:void 0}),i}catch(t){throw r.push({url:e,startedAt:n,finishedAt:new Date,error:t}),t}});return function(t){return e.apply(this,arguments)}}(),(e=>({result:e})),Y,{maxAttemptCount:5,backoffBase:100,backoffCap:3e3});return new Promise(((e,t)=>{Promise.resolve(i).then((n=>{if(n.result!==void 0)e([n.result,r]);else{let e=n.failedAttempts[0];t(e?e.error:Error(`No attempts were made`))}})).catch(t)}))}(l,G),i=yield e.start(d(d({},a),{},{ldi:{attempts:r,visibilityStates:u}}));return t=i,i}catch(e){throw r=function(e){return e instanceof D&&e.code===T?new D(E[x],x):e}(e),r}finally{f()}})();return{get(e){return n(function*(){if(t)return t.get(e);if(r)throw r;return(yield p).get(e)})()},collect(e){return n(function*(){if(t)return t.collect(e);
1if(r)throw r;return(yield p).collect(e)})()}}}function H(e){return e instanceof Error&&e.name===`TypeError`}function U(e,t){return new Promise((n=>function(e,t,...n){let r=Date.now()+t,i=0,a=()=>{i=setTimeout((()=>{Date.now()<r?a():e(...n)}),r-Date.now())};return a(),()=>clearTimeout(i)}(n,e,t)))}var W=`4.0.3`;function G(e){return O(e,n(function*(){if(function(e){if(URL.prototype)try{return new URL(e,location.href),!1}catch(e){if(H(e))return!0;throw e}}(e))throw new D(E[y],y);try{return yield f(()=>import(e),[])}catch(e){throw new D(E[x],x)}}),(()=>{throw new D(E[v],v)})).then((e=>{if(typeof(e==null?void 0:e.start)!=`function`)throw new D(E[T],T);return e}))}function K(e,t){return new Promise(((n,r)=>{let i=!1;t==null||t.then((()=>i=!0),(()=>i=!0)),(typeof e==`function`?K(Promise.resolve(),t).then(e):e).then((e=>{i||n(e)}),(e=>{i||r(e)}))}))}function q(e){return B(e)?J(e.value):J(e)}function J(e){return typeof e==`string`||Array.isArray(e)&&e.every((e=>typeof e==`string`))}function Y(e,t,n){let r=n instanceof D?n.code:null;return r===v||r===y?{action:`exclude`,delay:0}:r===T?{action:`exclude`,delay:`backoff`}:r===x?{action:`postpone`,delay:Date.now()-e.getTime()<50?0:`backoff`}:{action:`postpone`,delay:`backoff`}}var X=(e,n,i,a)=>{if(e===`skipped`)return;let o=i instanceof Error?i:void 0,s=a||(i instanceof Error?i.message:String(i||``))||``,c=(o==null?void 0:o.name)||``;console.error(`FingerPrint Error:`,{stage:e,type:n,message:s,name:c,error:o}),r.post(`/api2/v1/fingerprint_log/log_error`,{stage:e,type:n||``,message:s||`n/a`,error_name:c||`n/a`},{headers:t}).catch(()=>{})},Z=()=>({getFingerPrint:e=>{var t;let n=(t=o.site)==null?void 0:t.fingerprintid,r=(n==null?void 0:n.use_fingerprintid_login)||!1,i=(n==null?void 0:n.use_fingerprintid_reg)||!1,a=(n==null?void 0:n.api_key)||``;if(!a)return X(`config`,e,void 0,`API key is missing`),Promise.resolve(null);if(e===`login`&&!r||e===`reg`&&!i)return X(`skipped`,e,void 0,`${e} is disabled`),Promise.resolve(null);try{return V({apiKey:a,endpoints:n!=null&&n.base_url?`https://${n.base_url}`:void 0}).get({tag:{type:e}}).catch(t=>(X(`get`,e,t),null))}catch(t){return X(`start`,e,t),Promise.resolve(null)}}}),Q=`/api2/v2/login`,te=()=>{let[e,t]=(0,_.useState)(``),n=(0,_.useRef)(window),c=(0,_.useCallback)(e=>new Promise((t,r)=>{if(i(o.site.CDN)){r(`CDN is not defined`);return}ne(o.site.CDN).then(()=>{console.log(`React loaded successfully`),n.current.setReactLang(a.currentLanguageFullName),n.current.handleOpenSecurityCheckDialog(e).then(e=>{console.log(`handleOpenSecurityCheckDialog return:`,e),e==`success`&&t()})}).catch(function(e){console.error(e),r(e)})}),[o.site.CDN]);return{onLogin:(0,_.useCallback)((e,n,i,a)=>new Promise((o,l)=>{if(!e||!n||n.length<5)return t(`ffn-errors_handle_or_psw_incorrect`),l(`invalid handle or password`);s(),r.post(Q,{g_recaptcha_response:i,handle:e,password:n,fingerprint:a}).then(e=>{let{messages:n,extra_messages:r}=e.data.payload;switch(Number(n)){case 1:case-10:case-13:case-17:o();break;case 0:case-2:case-3:t(`ffn-errors_handle_or_psw_incorrect`),l(`Error code: ${n}, msg: invalid handle or password`);break;case-4:case-9:case-11:case-12:t(`ffn-errors_cover_login_noinfo`),l(`Error code: ${n}, msg: record not found`);break;case-14:t(`ffn-errors_cover_contact_cs`),l(`Error code: ${n}, msg: contact customer service`);break;case-19:c(r).then(()=>o()).catch(e=>l(e));break;default:console.log(`wrong code`,n),l(`wrong code: ${n}`);break}})}),[c]),errorText:e,clearError:(0,_.useCallback)(()=>t(``),[])}};function ne(e){return new Promise((t,n)=>{if(document.getElementById(`react_script`))return t();try{let r=document.createElement(`link`);r.rel=`stylesheet`,r.href=`${e}/images/common/css/react/main.css`,document.head.appendChild(r);let i=document.createElement(`script`);i.src=`${e}/images/common/js/react/main.js`,i.id=`react_script`,i.addEventListener(`load`,()=>t()),i.addEventListener(`error`,()=>n(`Failed to load react script`)),document.body.appendChild(i)}catch(e){n(e)}})}function re(){let e={redirect_uri:`${window.location.origin}/oauth/google`,client_id:window.location.hostname.search(`passion.com`)<0?`399296376369-l0qqg03ibqsaueqofm0ld150en066irt.apps.googleusercontent.com`:`641498277347-sq68uat0dhr8e1mh49n22tdo45frr98o.apps.googleusercontent.com`,access_type:`offline`,response_type:`code`,prompt:`consent`,scope:[`https://www.googleapis.com/auth/userinfo.profile`,`https://www.googleapis.com/auth/userinfo.email`].join(` `)};return`https://accounts.google.com/o/oauth2/v2/auth?${new URLSearchParams(e).toString()}`}var $=l(),ie=({children:e})=>{let{errorText:t,onLogin:n,clearError:r}=te(),i=(0,_.useRef)(null),{getFingerPrint:a}=Z(),s=(0,_.useMemo)(re,[]);return(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(`form`,{className:`hidden`,ref:i,action:`/p/login2.cgi`,method:`post`,autoComplete:`off`,target:`_top`,children:[(0,$.jsx)(`input`,{type:`hidden`,defaultValue:o.flt,name:`flt`}
1,o.flt),(0,$.jsx)(`input`,{type:`hidden`,name:`g-recaptcha-response`}),(0,$.jsx)(`input`,{name:`handle`,type:`text`}),(0,$.jsx)(`input`,{name:`password`,type:`password`})]}),e({errorText:t,clearError:r,googleLoginUrl:s,submit:(e,t)=>{Promise.all([p(),a(`login`)]).then(([r,i])=>n(e,t,r,JSON.stringify(i)).then(()=>[r,i])).then(([n,r])=>{let a=i.current;if(!a)return;a.handle.value=e,a.password.value=t;let o=a.querySelector(`input[name="g-recaptcha-response"]`);o&&(o.value=n);let s=a.querySelector(`input[name="fingerprint"]`);if(r)if(s)s.value=JSON.stringify(r);else{let e=document.createElement(`input`);e.setAttribute(`type`,`hidden`),e.setAttribute(`name`,`fingerprint`),e.setAttribute(`value`,JSON.stringify(r)),a.appendChild(e)}a.submit()}).catch(e=>console.error(e))}})]})};export{ee as a,m as i,Z as n,g as r,ie as t};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.