@canonry/canonry 7.14.0 → 7.15.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/assets/agent-workspace/skills/canonry/references/canonry-cli.md +5 -2
- package/assets/assets/{AuditHistoryPanel-gAkqWz9z.js → AuditHistoryPanel-Cl9tUvSZ.js} +1 -1
- package/assets/assets/{BacklinksPage-C67DtHo8.js → BacklinksPage-CTeTJ9dh.js} +1 -1
- package/assets/assets/{HistoryPage-BQuW6Z6m.js → HistoryPage-DpOoXr2P.js} +1 -1
- package/assets/assets/{MeasurementPropertyPage-B1XS6DR0.js → MeasurementPropertyPage-DxXsgM25.js} +1 -1
- package/assets/assets/{ProjectPage-CV_7bOA7.js → ProjectPage-By9arjLJ.js} +1 -1
- package/assets/assets/{RunsPage-CJYihZYC.js → RunsPage-CfDi7I1z.js} +1 -1
- package/assets/assets/{SettingsPage-Dd3J2DQE.js → SettingsPage-BHDb1apK.js} +1 -1
- package/assets/assets/{SiteHealthSection-iktyuzt2.js → SiteHealthSection-DQZyy4P_.js} +3 -3
- package/assets/assets/{TrafficPage-CWjK7F3j.js → TrafficPage-DX_vN2RL.js} +1 -1
- package/assets/assets/{TrafficSourceDetailPage-D4_AXQNE.js → TrafficSourceDetailPage-Cg92zrtZ.js} +1 -1
- package/assets/assets/{extract-error-message-Cxefvthz.js → extract-error-message-BKxVCbov.js} +1 -1
- package/assets/assets/index-DoQJETc6.js +86 -0
- package/assets/assets/{react-sigma_core.esm.min-DDEPa7AV.js → react-sigma_core.esm.min-BhqZcSgh.js} +1 -1
- package/assets/assets/{v2-overview-adapter-CLxlMdb2.js → v2-overview-adapter-DZ5YsE_G.js} +1 -1
- package/assets/index.html +1 -1
- package/dist/{chunk-EZRBFH77.js → chunk-7HJYGDRW.js} +152 -4
- package/dist/{chunk-A25FO3Z5.js → chunk-KOBK4I5N.js} +5613 -5399
- package/dist/{chunk-4LQ4HKVK.js → chunk-LC7GMHOL.js} +2 -2
- package/dist/{chunk-KXHPQMBP.js → chunk-N2MRW2DH.js} +6 -6
- package/dist/{chunk-WHVEDCHY.js → chunk-SG6T3DEP.js} +2 -2
- package/dist/{chunk-ZHXOR2LJ.js → chunk-SGQBPTWQ.js} +2 -2
- package/dist/{chunk-LUQ5G5OO.js → chunk-YFCKHEKM.js} +3 -3
- package/dist/cli.js +52 -9
- package/dist/{demo-server-SIATTXXS.js → demo-server-YWGUGZMI.js} +4 -4
- package/dist/index.js +6 -6
- package/dist/{intelligence-service-UEEVETII.js → intelligence-service-7RKUUR7O.js} +2 -2
- package/dist/mcp.js +4 -4
- package/package.json +10 -10
- package/assets/assets/index-BbmiGIM_.js +0 -86
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./SiteHealthSection-DQZyy4P_.js","./vendor-tanstack-ZXXkndVj.js","./vendor-lucide-N6vOpZmh.js","./ChartPrimitives-CYlrwLJs.js","./vendor-recharts-D-cUuLZo.js","./ProjectPage-By9arjLJ.js","./v2-overview-adapter-DZ5YsE_G.js","./vendor-markdown-B4giJcws.js","./extract-error-message-BKxVCbov.js","./AuditHistoryPanel-Cl9tUvSZ.js","./vendor-radix-twS1M3FF.js","./vendor-yaml-GWJz5H2G.js","./RunsPage-CfDi7I1z.js","./HistoryPage-DpOoXr2P.js","./SettingsPage-BHDb1apK.js","./BacklinksPage-CTeTJ9dh.js","./TrafficPage-DX_vN2RL.js","./TrafficSourceDetailPage-Cg92zrtZ.js","./MeasurementPropertyPage-DxXsgM25.js"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{c as P5,d as q5,r as C,j as l,Q as M5,M as B5,q as be,e as qc,L as tt,a as L5,t as jr,u as yt,f as U5,h as Ds,k as zs,l as pS,m as V5,n as hS,O as Qf,o as oi,p as $5,s as Bt,v as Lg,x as Is,y as K5,z as G5,A as H5}from"./vendor-tanstack-ZXXkndVj.js";import{S as F5,O as Ug,P as fS,C as Vg,a as gS,T as $g,D as yS,R as bS}from"./vendor-radix-twS1M3FF.js";import{c as vS}from"./vendor-recharts-D-cUuLZo.js";import{A as _c,X as $r,S as Kg,a as xS,G as wS,C as Mc,L as Ts,R as md,M as Q5,b as Z5,P as Zf,H as kS,c as SS,d as Y5,e as Bc,f as Gg,T as fm,g as Lc,W as jS,h as X5,i as J5,j as W5,k as e6,l as t6,m as n6,n as a6,B as i6,F as s6,o as o6,p as r6,q as l6,r as c6,s as AS,t as NS,u as Yf,v as CS,w as u6,x as _S,E as d6}from"./vendor-lucide-N6vOpZmh.js";import{M as m6,r as p6}from"./vendor-markdown-B4giJcws.js";import{p as h6}from"./vendor-yaml-GWJz5H2G.js";(function(){const n=document.createElement("link").relList;if(n&&n.supports&&n.supports("modulepreload"))return;for(const u of document.querySelectorAll('link[rel="modulepreload"]'))r(u);new MutationObserver(u=>{for(const h of u)if(h.type==="childList")for(const f of h.addedNodes)f.tagName==="LINK"&&f.rel==="modulepreload"&&r(f)}).observe(document,{childList:!0,subtree:!0});function i(u){const h={};return u.integrity&&(h.integrity=u.integrity),u.referrerPolicy&&(h.referrerPolicy=u.referrerPolicy),u.crossOrigin==="use-credentials"?h.credentials="include":u.crossOrigin==="anonymous"?h.credentials="omit":h.credentials="same-origin",h}function r(u){if(u.ep)return;u.ep=!0;const h=i(u);fetch(u.href,h)}})();var sf={exports:{}},lc={},of={exports:{}},rf={};var fx;function f6(){return fx||(fx=1,(function(e){function n(B,ee){var ve=B.length;B.push(ee);e:for(;0<ve;){var je=ve-1>>>1,oe=B[je];if(0<u(oe,ee))B[je]=ee,B[ve]=oe,ve=je;else break e}}function i(B){return B.length===0?null:B[0]}function r(B){if(B.length===0)return null;var ee=B[0],ve=B.pop();if(ve!==ee){B[0]=ve;e:for(var je=0,oe=B.length,ke=oe>>>1;je<ke;){var Ie=2*(je+1)-1,xe=B[Ie],de=Ie+1,ce=B[de];if(0>u(xe,ve))de<oe&&0>u(ce,xe)?(B[je]=ce,B[de]=ve,je=de):(B[je]=xe,B[Ie]=ve,je=Ie);else if(de<oe&&0>u(ce,ve))B[je]=ce,B[de]=ve,je=de;else break e}}return ee}function u(B,ee){var ve=B.sortIndex-ee.sortIndex;return ve!==0?ve:B.id-ee.id}if(e.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var h=performance;e.unstable_now=function(){return h.now()}}else{var f=Date,b=f.now();e.unstable_now=function(){return f.now()-b}}var v=[],x=[],k=1,S=null,N=3,_=!1,z=!1,q=!1,E=!1,P=typeof setTimeout=="function"?setTimeout:null,M=typeof clearTimeout=="function"?clearTimeout:null,L=typeof setImmediate<"u"?setImmediate:null;function $(B){for(var ee=i(x);ee!==null;){if(ee.callback===null)r(x);else if(ee.startTime<=B)r(x),ee.sortIndex=ee.expirationTime,n(v,ee);else break;ee=i(x)}}function H(B){if(q=!1,$(B),!z)if(i(v)!==null)z=!0,J||(J=!0,Ve());else{var ee=i(x);ee!==null&&Le(H,ee.startTime-B)}}var J=!1,V=-1,Q=5,ae=-1;function Fe(){return E?!0:!(e.unstable_now()-ae<Q)}function We(){if(E=!1,J){var B=e.unstable_now();ae=B;var ee=!0;try{e:{z=!1,q&&(q=!1,M(V),V=-1),_=!0;var ve=N;try{t:{for($(B),S=i(v);S!==null&&!(S.expirationTime>B&&Fe());){var je=S.callback;if(typeof je=="function"){S.callback=null,N=S.priorityLevel;var oe=je(S.expirationTime<=B);if(B=e.unstable_now(),typeof oe=="function"){S.callback=oe,$(B),ee=!0;break t}S===i(v)&&r(v),$(B)}else r(v);S=i(v)}if(S!==null)ee=!0;else{var ke=i(x);ke!==null&&Le(H,ke.startTime-B),ee=!1}}break e}finally{S=null,N=ve,_=!1}ee=void 0}}finally{ee?Ve():J=!1}}}var Ve;if(typeof L=="function")Ve=function(){L(We)};else if(typeof MessageChannel<"u"){var qe=new MessageChannel,Ae=qe.port2;qe.port1.onmessage=We,Ve=function(){Ae.postMessage(null)}}else Ve=function(){P(We,0)};function Le(B,ee){V=P(function(){B(e.unstable_now())},ee)}e.unstable_IdlePriority=5,e.unstable_ImmediatePriority=1,e.unstable_LowPriority=4,e.unstable_NormalPriority=3,e.unstable_Profiling=null,e.unstable_UserBlockingPriority=2,e.unstable_cancelCallback=function(B){B.callback=null},e.unstable_forceFrameRate=function(B){0>B||125<B?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):Q=0<B?Math.floor(1e3/B):5},e.unstable_getCurrentPriorityLevel=function(){return N},e.unstable_next=function(B){switch(N){case 1:case 2:case 3:var ee=3;break;default:ee=N}var ve=N;N=ee;try{return B()}finally{N=ve}},e.unstable_requestPaint=function(){E=!0},e.unstable_runWithPriority=function(B,ee){switch(B){case 1:case 2:case 3:case 4:case 5:break;default:B=3}var ve=N;N=B;try{return ee()}finally{N=ve}},e.unstable_scheduleCallback=function(B,ee,ve){var je=e.unstable_now();switch(typeof ve=="object"&&ve!==null?(ve=ve.delay,ve=typeof ve=="number"&&0<ve?je+ve:je):ve=je,B){case 1:var oe=-1;break;case 2:oe=250;break;case 5:oe=1073741823;break;case 4:oe=1e4;break;default:oe=5e3}return oe=ve+oe,B={id:k++,callback:ee,priorityLevel:B,startTime:ve,expirationTime:oe,sortIndex:-1},ve>je?(B.sortIndex=ve,n(x,B),i(v)===null&&B===i(x)&&(q?(M(V),V=-1):q=!0,Le(H,ve-je))):(B.sortIndex=oe,n(v,B),z||_||(z=!0,J||(J=!0,Ve()))),B},e.unstable_shouldYield=Fe,e.unstable_wrapCallback=function(B){var ee=N;return function(){var ve=N;N=ee;try{return B.apply(this,arguments)}finally{N=ve}}}})(rf)),rf}var gx;function g6(){return gx||(gx=1,of.exports=f6()),of.exports}var yx;function y6(){if(yx)return lc;yx=1;var e=g6(),n=P5(),i=q5();function r(t){var a="https://react.dev/errors/"+t;if(1<arguments.length){a+="?args[]="+encodeURIComponent(arguments[1]);for(var s=2;s<arguments.length;s++)a+="&args[]="+encodeURIComponent(arguments[s])}return"Minified React error #"+t+"; visit "+a+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function u(t){return!(!t||t.nodeType!==1&&t.nodeType!==9&&t.nodeType!==11)}function h(t){var a=t,s=t;if(t.alternate)for(;a.return;)a=a.return;else{t=a;do a=t,(a.flags&4098)!==0&&(s=a.return),t=a.return;while(t)}return a.tag===3?s:null}function f(t){if(t.tag===13){var a=t.memoizedState;if(a===null&&(t=t.alternate,t!==null&&(a=t.memoizedState)),a!==null)return a.dehydrated}return null}function b(t){if(t.tag===31){var a=t.memoizedState;if(a===null&&(t=t.alternate,t!==null&&(a=t.memoizedState)),a!==null)return a.dehydrated}return null}function v(t){if(h(t)!==t)throw Error(r(188))}function x(t){var a=t.alternate;if(!a){if(a=h(t),a===null)throw Error(r(188));return a!==t?null:t}for(var s=t,c=a;;){var p=s.return;if(p===null)break;var g=p.alternate;if(g===null){if(c=p.return,c!==null){s=c;continue}break}if(p.child===g.child){for(g=p.child;g;){if(g===s)return v(p),t;if(g===c)return v(p),a;g=g.sibling}throw Error(r(188))}if(s.return!==c.return)s=p,c=g;else{for(var w=!1,A=p.child;A;){if(A===s){w=!0,s=p,c=g;break}if(A===c){w=!0,c=p,s=g;break}A=A.sibling}if(!w){for(A=g.child;A;){if(A===s){w=!0,s=g,c=p;break}if(A===c){w=!0,c=g,s=p;break}A=A.sibling}if(!w)throw Error(r(189))}}if(s.alternate!==c)throw Error(r(190))}if(s.tag!==3)throw Error(r(188));return s.stateNode.current===s?t:a}function k(t){var a=t.tag;if(a===5||a===26||a===27||a===6)return t;for(t=t.child;t!==null;){if(a=k(t),a!==null)return a;t=t.sibling}return null}var S=Object.assign,N=Symbol.for("react.element"),_=Symbol.for("react.transitional.element"),z=Symbol.for("react.portal"),q=Symbol.for("react.fragment"),E=Symbol.for("react.strict_mode"),P=Symbol.for("react.profiler"),M=Symbol.for("react.consumer"),L=Symbol.for("react.context"),$=Symbol.for("react.forward_ref"),H=Symbol.for("react.suspense"),J=Symbol.for("react.suspense_list"),V=Symbol.for("react.memo"),Q=Symbol.for("react.lazy"),ae=Symbol.for("react.activity"),Fe=Symbol.for("react.memo_cache_sentinel"),We=Symbol.iterator;function Ve(t){return t===null||typeof t!="object"?null:(t=We&&t[We]||t["@@iterator"],typeof t=="function"?t:null)}var qe=Symbol.for("react.client.reference");function Ae(t){if(t==null)return null;if(typeof t=="function")return t.$$typeof===qe?null:t.displayName||t.name||null;if(typeof t=="string")return t;switch(t){case q:return"Fragment";case P:return"Profiler";case E:return"StrictMode";case H:return"Suspense";case J:return"SuspenseList";case ae:return"Activity"}if(typeof t=="object")switch(t.$$typeof){case z:return"Portal";case L:return t.displayName||"Context";case M:return(t._context.displayName||"Context")+".Consumer";case $:var a=t.render;return t=t.displayName,t||(t=a.displayName||a.name||"",t=t!==""?"ForwardRef("+t+")":"ForwardRef"),t;case V:return a=t.displayName||null,a!==null?a:Ae(t.type)||"Memo";case Q:a=t._payload,t=t._init;try{return Ae(t(a))}catch{}}return null}var Le=Array.isArray,B=n.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,ee=i.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,ve={pending:!1,data:null,method:null,action:null},je=[],oe=-1;function ke(t){return{current:t}}function Ie(t){0>oe||(t.current=je[oe],je[oe]=null,oe--)}function xe(t,a){oe++,je[oe]=t.current,t.current=a}var de=ke(null),ce=ke(null),Y=ke(null),me=ke(null);function Pe(t,a){switch(xe(Y,a),xe(ce,t),xe(de,null),a.nodeType){case 9:case 11:t=(t=a.documentElement)&&(t=t.namespaceURI)?Mv(t):0;break;default:if(t=a.tagName,a=a.namespaceURI)a=Mv(a),t=Bv(a,t);else switch(t){case"svg":t=1;break;case"math":t=2;break;default:t=0}}Ie(de),xe(de,t)}function Ne(){Ie(de),Ie(ce),Ie(Y)}function st(t){t.memoizedState!==null&&xe(me,t);var a=de.current,s=Bv(a,t.type);a!==s&&(xe(ce,t),xe(de,s))}function $e(t){ce.current===t&&(Ie(de),Ie(ce)),me.current===t&&(Ie(me),ic._currentValue=ve)}var Nt,He;function pe(t){if(Nt===void 0)try{throw Error()}catch(s){var a=s.stack.trim().match(/\n( *(at )?)/);Nt=a&&a[1]||"",He=-1<s.stack.indexOf(`
|
|
3
|
+
at`)?" (<anonymous>)":-1<s.stack.indexOf("@")?"@unknown:0:0":""}return`
|
|
4
|
+
`+Nt+t+He}var at=!1;function It(t,a){if(!t||at)return"";at=!0;var s=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{var c={DetermineComponentFrameRoot:function(){try{if(a){var se=function(){throw Error()};if(Object.defineProperty(se.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(se,[])}catch(X){var Z=X}Reflect.construct(t,[],se)}else{try{se.call()}catch(X){Z=X}t.call(se.prototype)}}else{try{throw Error()}catch(X){Z=X}(se=t())&&typeof se.catch=="function"&&se.catch(function(){})}}catch(X){if(X&&Z&&typeof X.stack=="string")return[X.stack,Z.stack]}return[null,null]}};c.DetermineComponentFrameRoot.displayName="DetermineComponentFrameRoot";var p=Object.getOwnPropertyDescriptor(c.DetermineComponentFrameRoot,"name");p&&p.configurable&&Object.defineProperty(c.DetermineComponentFrameRoot,"name",{value:"DetermineComponentFrameRoot"});var g=c.DetermineComponentFrameRoot(),w=g[0],A=g[1];if(w&&A){var D=w.split(`
|
|
5
|
+
`),G=A.split(`
|
|
6
|
+
`);for(p=c=0;c<D.length&&!D[c].includes("DetermineComponentFrameRoot");)c++;for(;p<G.length&&!G[p].includes("DetermineComponentFrameRoot");)p++;if(c===D.length||p===G.length)for(c=D.length-1,p=G.length-1;1<=c&&0<=p&&D[c]!==G[p];)p--;for(;1<=c&&0<=p;c--,p--)if(D[c]!==G[p]){if(c!==1||p!==1)do if(c--,p--,0>p||D[c]!==G[p]){var te=`
|
|
7
|
+
`+D[c].replace(" at new "," at ");return t.displayName&&te.includes("<anonymous>")&&(te=te.replace("<anonymous>",t.displayName)),te}while(1<=c&&0<=p);break}}}finally{at=!1,Error.prepareStackTrace=s}return(s=t?t.displayName||t.name:"")?pe(s):""}function qn(t,a){switch(t.tag){case 26:case 27:case 5:return pe(t.type);case 16:return pe("Lazy");case 13:return t.child!==a&&a!==null?pe("Suspense Fallback"):pe("Suspense");case 19:return pe("SuspenseList");case 0:case 15:return It(t.type,!1);case 11:return It(t.type.render,!1);case 1:return It(t.type,!0);case 31:return pe("Activity");default:return""}}function Ht(t){try{var a="",s=null;do a+=qn(t,s),s=t,t=t.return;while(t);return a}catch(c){return`
|
|
8
|
+
Error generating stack: `+c.message+`
|
|
9
|
+
`+c.stack}}var Me=Object.prototype.hasOwnProperty,ct=e.unstable_scheduleCallback,Ft=e.unstable_cancelCallback,Qt=e.unstable_shouldYield,En=e.unstable_requestPaint,Vt=e.unstable_now,di=e.unstable_getCurrentPriorityLevel,Vs=e.unstable_ImmediatePriority,mi=e.unstable_UserBlockingPriority,Rn=e.unstable_NormalPriority,Bo=e.unstable_LowPriority,$s=e.unstable_IdlePriority,Ks=e.log,pi=e.unstable_setDisableYieldValue,bn=null,Tt=null;function $n(t){if(typeof Ks=="function"&&pi(t),Tt&&typeof Tt.setStrictMode=="function")try{Tt.setStrictMode(bn,t)}catch{}}var Zt=Math.clz32?Math.clz32:Wn,Gs=Math.log,Ia=Math.LN2;function Wn(t){return t>>>=0,t===0?32:31-(Gs(t)/Ia|0)|0}var re=256,Ee=262144,Ye=4194304;function Ot(t){var a=t&42;if(a!==0)return a;switch(t&-t){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:return t&261888;case 262144:case 524288:case 1048576:case 2097152:return t&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return t&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return t}}function Je(t,a,s){var c=t.pendingLanes;if(c===0)return 0;var p=0,g=t.suspendedLanes,w=t.pingedLanes;t=t.warmLanes;var A=c&134217727;return A!==0?(c=A&~g,c!==0?p=Ot(c):(w&=A,w!==0?p=Ot(w):s||(s=A&~t,s!==0&&(p=Ot(s))))):(A=c&~g,A!==0?p=Ot(A):w!==0?p=Ot(w):s||(s=c&~t,s!==0&&(p=Ot(s)))),p===0?0:a!==0&&a!==p&&(a&g)===0&&(g=p&-p,s=a&-a,g>=s||g===32&&(s&4194048)!==0)?a:p}function xt(t,a){return(t.pendingLanes&~(t.suspendedLanes&~t.pingedLanes)&a)===0}function sn(t,a){switch(t){case 1:case 2:case 4:case 8:case 64:return a+250;case 16:case 32:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return a+5e3;case 4194304:case 8388608:case 16777216:case 33554432:return-1;case 67108864:case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function hi(){var t=Ye;return Ye<<=1,(Ye&62914560)===0&&(Ye=4194304),t}function Lo(t){for(var a=[],s=0;31>s;s++)a.push(t);return a}function Hs(t,a){t.pendingLanes|=a,a!==268435456&&(t.suspendedLanes=0,t.pingedLanes=0,t.warmLanes=0)}function iu(t,a,s,c,p,g){var w=t.pendingLanes;t.pendingLanes=s,t.suspendedLanes=0,t.pingedLanes=0,t.warmLanes=0,t.expiredLanes&=s,t.entangledLanes&=s,t.errorRecoveryDisabledLanes&=s,t.shellSuspendCounter=0;var A=t.entanglements,D=t.expirationTimes,G=t.hiddenUpdates;for(s=w&~s;0<s;){var te=31-Zt(s),se=1<<te;A[te]=0,D[te]=-1;var Z=G[te];if(Z!==null)for(G[te]=null,te=0;te<Z.length;te++){var X=Z[te];X!==null&&(X.lane&=-536870913)}s&=~se}c!==0&&sl(t,c,0),g!==0&&p===0&&t.tag!==0&&(t.suspendedLanes|=g&~(w&~a))}function sl(t,a,s){t.pendingLanes|=a,t.suspendedLanes&=~a;var c=31-Zt(a);t.entangledLanes|=a,t.entanglements[c]=t.entanglements[c]|1073741824|s&261930}function ol(t,a){var s=t.entangledLanes|=a;for(t=t.entanglements;s;){var c=31-Zt(s),p=1<<c;p&a|t[c]&a&&(t[c]|=a),s&=~p}}function rl(t,a){var s=a&-a;return s=(s&42)!==0?1:ll(s),(s&(t.suspendedLanes|a))!==0?0:s}function ll(t){switch(t){case 2:t=1;break;case 8:t=4;break;case 32:t=16;break;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:t=128;break;case 268435456:t=134217728;break;default:t=0}return t}function cl(t){return t&=-t,2<t?8<t?(t&134217727)!==0?32:268435456:8:2}function Uo(){var t=ee.p;return t!==0?t:(t=window.event,t===void 0?32:lx(t.type))}function su(t,a){var s=ee.p;try{return ee.p=t,a()}finally{ee.p=s}}var ga=Math.random().toString(36).slice(2),on="__reactFiber$"+ga,Dn="__reactProps$"+ga,Qi="__reactContainer$"+ga,Vo="__reactEvents$"+ga,ou="__reactListeners$"+ga,$o="__reactHandles$"+ga,ea="__reactResources$"+ga,Zi="__reactMarker$"+ga;function ul(t){delete t[on],delete t[Dn],delete t[Vo],delete t[ou],delete t[$o]}function fi(t){var a=t[on];if(a)return a;for(var s=t.parentNode;s;){if(a=s[Qi]||s[on]){if(s=a.alternate,a.child!==null||s!==null&&s.child!==null)for(t=Hv(t);t!==null;){if(s=t[on])return s;t=Hv(t)}return a}t=s,s=t.parentNode}return null}function Yi(t){if(t=t[on]||t[Qi]){var a=t.tag;if(a===5||a===6||a===13||a===31||a===26||a===27||a===3)return t}return null}function Xi(t){var a=t.tag;if(a===5||a===26||a===27||a===6)return t.stateNode;throw Error(r(33))}function Ji(t){var a=t[ea];return a||(a=t[ea]={hoistableStyles:new Map,hoistableScripts:new Map}),a}function en(t){t[Zi]=!0}var dl=new Set,ml={};function Qa(t,a){Fs(t,a),Fs(t+"Capture",a)}function Fs(t,a){for(ml[t]=a,t=0;t<a.length;t++)dl.add(a[t])}var pl=RegExp("^[:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD][:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$"),hl={},Za={};function np(t){return Me.call(Za,t)?!0:Me.call(hl,t)?!1:pl.test(t)?Za[t]=!0:(hl[t]=!0,!1)}function gi(t,a,s){if(np(a))if(s===null)t.removeAttribute(a);else{switch(typeof s){case"undefined":case"function":case"symbol":t.removeAttribute(a);return;case"boolean":var c=a.toLowerCase().slice(0,5);if(c!=="data-"&&c!=="aria-"){t.removeAttribute(a);return}}t.setAttribute(a,""+s)}}function Qs(t,a,s){if(s===null)t.removeAttribute(a);else{switch(typeof s){case"undefined":case"function":case"symbol":case"boolean":t.removeAttribute(a);return}t.setAttribute(a,""+s)}}function jn(t,a,s,c){if(c===null)t.removeAttribute(s);else{switch(typeof c){case"undefined":case"function":case"symbol":case"boolean":t.removeAttribute(s);return}t.setAttributeNS(a,s,""+c)}}function zn(t){switch(typeof t){case"bigint":case"boolean":case"number":case"string":case"undefined":return t;case"object":return t;default:return""}}function Wi(t){var a=t.type;return(t=t.nodeName)&&t.toLowerCase()==="input"&&(a==="checkbox"||a==="radio")}function ap(t,a,s){var c=Object.getOwnPropertyDescriptor(t.constructor.prototype,a);if(!t.hasOwnProperty(a)&&typeof c<"u"&&typeof c.get=="function"&&typeof c.set=="function"){var p=c.get,g=c.set;return Object.defineProperty(t,a,{configurable:!0,get:function(){return p.call(this)},set:function(w){s=""+w,g.call(this,w)}}),Object.defineProperty(t,a,{enumerable:c.enumerable}),{getValue:function(){return s},setValue:function(w){s=""+w},stopTracking:function(){t._valueTracker=null,delete t[a]}}}}function fl(t){if(!t._valueTracker){var a=Wi(t)?"checked":"value";t._valueTracker=ap(t,a,""+t[a])}}function Ya(t){if(!t)return!1;var a=t._valueTracker;if(!a)return!0;var s=a.getValue(),c="";return t&&(c=Wi(t)?t.checked?"true":"false":t.value),t=c,t!==s?(a.setValue(t),!0):!1}function es(t){if(t=t||(typeof document<"u"?document:void 0),typeof t>"u")return null;try{return t.activeElement||t.body}catch{return t.body}}var ru=/[\n"\\]/g;function In(t){return t.replace(ru,function(a){return"\\"+a.charCodeAt(0).toString(16)+" "})}function Ko(t,a,s,c,p,g,w,A){t.name="",w!=null&&typeof w!="function"&&typeof w!="symbol"&&typeof w!="boolean"?t.type=w:t.removeAttribute("type"),a!=null?w==="number"?(a===0&&t.value===""||t.value!=a)&&(t.value=""+zn(a)):t.value!==""+zn(a)&&(t.value=""+zn(a)):w!=="submit"&&w!=="reset"||t.removeAttribute("value"),a!=null?Go(t,w,zn(a)):s!=null?Go(t,w,zn(s)):c!=null&&t.removeAttribute("value"),p==null&&g!=null&&(t.defaultChecked=!!g),p!=null&&(t.checked=p&&typeof p!="function"&&typeof p!="symbol"),A!=null&&typeof A!="function"&&typeof A!="symbol"&&typeof A!="boolean"?t.name=""+zn(A):t.removeAttribute("name")}function gl(t,a,s,c,p,g,w,A){if(g!=null&&typeof g!="function"&&typeof g!="symbol"&&typeof g!="boolean"&&(t.type=g),a!=null||s!=null){if(!(g!=="submit"&&g!=="reset"||a!=null)){fl(t);return}s=s!=null?""+zn(s):"",a=a!=null?""+zn(a):s,A||a===t.value||(t.value=a),t.defaultValue=a}c=c??p,c=typeof c!="function"&&typeof c!="symbol"&&!!c,t.checked=A?t.checked:!!c,t.defaultChecked=!!c,w!=null&&typeof w!="function"&&typeof w!="symbol"&&typeof w!="boolean"&&(t.name=w),fl(t)}function Go(t,a,s){a==="number"&&es(t.ownerDocument)===t||t.defaultValue===""+s||(t.defaultValue=""+s)}function Kn(t,a,s,c){if(t=t.options,a){a={};for(var p=0;p<s.length;p++)a["$"+s[p]]=!0;for(s=0;s<t.length;s++)p=a.hasOwnProperty("$"+t[s].value),t[s].selected!==p&&(t[s].selected=p),p&&c&&(t[s].defaultSelected=!0)}else{for(s=""+zn(s),a=null,p=0;p<t.length;p++){if(t[p].value===s){t[p].selected=!0,c&&(t[p].defaultSelected=!0);return}a!==null||t[p].disabled||(a=t[p])}a!==null&&(a.selected=!0)}}function ta(t,a,s){if(a!=null&&(a=""+zn(a),a!==t.value&&(t.value=a),s==null)){t.defaultValue!==a&&(t.defaultValue=a);return}t.defaultValue=s!=null?""+zn(s):""}function yi(t,a,s,c){if(a==null){if(c!=null){if(s!=null)throw Error(r(92));if(Le(c)){if(1<c.length)throw Error(r(93));c=c[0]}s=c}s==null&&(s=""),a=s}s=zn(a),t.defaultValue=s,c=t.textContent,c===s&&c!==""&&c!==null&&(t.value=c),fl(t)}function ya(t,a){if(a){var s=t.firstChild;if(s&&s===t.lastChild&&s.nodeType===3){s.nodeValue=a;return}}t.textContent=a}var ba=new Set("animationIterationCount aspectRatio borderImageOutset borderImageSlice borderImageWidth boxFlex boxFlexGroup boxOrdinalGroup columnCount columns flex flexGrow flexPositive flexShrink flexNegative flexOrder gridArea gridRow gridRowEnd gridRowSpan gridRowStart gridColumn gridColumnEnd gridColumnSpan gridColumnStart fontWeight lineClamp lineHeight opacity order orphans scale tabSize widows zIndex zoom fillOpacity floodOpacity stopOpacity strokeDasharray strokeDashoffset strokeMiterlimit strokeOpacity strokeWidth MozAnimationIterationCount MozBoxFlex MozBoxFlexGroup MozLineClamp msAnimationIterationCount msFlex msZoom msFlexGrow msFlexNegative msFlexOrder msFlexPositive msFlexShrink msGridColumn msGridColumnSpan msGridRow msGridRowSpan WebkitAnimationIterationCount WebkitBoxFlex WebKitBoxFlexGroup WebkitBoxOrdinalGroup WebkitColumnCount WebkitColumns WebkitFlex WebkitFlexGrow WebkitFlexPositive WebkitFlexShrink WebkitLineClamp".split(" "));function ip(t,a,s){var c=a.indexOf("--")===0;s==null||typeof s=="boolean"||s===""?c?t.setProperty(a,""):a==="float"?t.cssFloat="":t[a]="":c?t.setProperty(a,s):typeof s!="number"||s===0||ba.has(a)?a==="float"?t.cssFloat=s:t[a]=(""+s).trim():t[a]=s+"px"}function Xa(t,a,s){if(a!=null&&typeof a!="object")throw Error(r(62));if(t=t.style,s!=null){for(var c in s)!s.hasOwnProperty(c)||a!=null&&a.hasOwnProperty(c)||(c.indexOf("--")===0?t.setProperty(c,""):c==="float"?t.cssFloat="":t[c]="");for(var p in a)c=a[p],a.hasOwnProperty(p)&&s[p]!==c&&ip(t,p,c)}else for(var g in a)a.hasOwnProperty(g)&&ip(t,g,a[g])}function Oa(t){if(t.indexOf("-")===-1)return!1;switch(t){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var Ho=new Map([["acceptCharset","accept-charset"],["htmlFor","for"],["httpEquiv","http-equiv"],["crossOrigin","crossorigin"],["accentHeight","accent-height"],["alignmentBaseline","alignment-baseline"],["arabicForm","arabic-form"],["baselineShift","baseline-shift"],["capHeight","cap-height"],["clipPath","clip-path"],["clipRule","clip-rule"],["colorInterpolation","color-interpolation"],["colorInterpolationFilters","color-interpolation-filters"],["colorProfile","color-profile"],["colorRendering","color-rendering"],["dominantBaseline","dominant-baseline"],["enableBackground","enable-background"],["fillOpacity","fill-opacity"],["fillRule","fill-rule"],["floodColor","flood-color"],["floodOpacity","flood-opacity"],["fontFamily","font-family"],["fontSize","font-size"],["fontSizeAdjust","font-size-adjust"],["fontStretch","font-stretch"],["fontStyle","font-style"],["fontVariant","font-variant"],["fontWeight","font-weight"],["glyphName","glyph-name"],["glyphOrientationHorizontal","glyph-orientation-horizontal"],["glyphOrientationVertical","glyph-orientation-vertical"],["horizAdvX","horiz-adv-x"],["horizOriginX","horiz-origin-x"],["imageRendering","image-rendering"],["letterSpacing","letter-spacing"],["lightingColor","lighting-color"],["markerEnd","marker-end"],["markerMid","marker-mid"],["markerStart","marker-start"],["overlinePosition","overline-position"],["overlineThickness","overline-thickness"],["paintOrder","paint-order"],["panose-1","panose-1"],["pointerEvents","pointer-events"],["renderingIntent","rendering-intent"],["shapeRendering","shape-rendering"],["stopColor","stop-color"],["stopOpacity","stop-opacity"],["strikethroughPosition","strikethrough-position"],["strikethroughThickness","strikethrough-thickness"],["strokeDasharray","stroke-dasharray"],["strokeDashoffset","stroke-dashoffset"],["strokeLinecap","stroke-linecap"],["strokeLinejoin","stroke-linejoin"],["strokeMiterlimit","stroke-miterlimit"],["strokeOpacity","stroke-opacity"],["strokeWidth","stroke-width"],["textAnchor","text-anchor"],["textDecoration","text-decoration"],["textRendering","text-rendering"],["transformOrigin","transform-origin"],["underlinePosition","underline-position"],["underlineThickness","underline-thickness"],["unicodeBidi","unicode-bidi"],["unicodeRange","unicode-range"],["unitsPerEm","units-per-em"],["vAlphabetic","v-alphabetic"],["vHanging","v-hanging"],["vIdeographic","v-ideographic"],["vMathematical","v-mathematical"],["vectorEffect","vector-effect"],["vertAdvY","vert-adv-y"],["vertOriginX","vert-origin-x"],["vertOriginY","vert-origin-y"],["wordSpacing","word-spacing"],["writingMode","writing-mode"],["xmlnsXlink","xmlns:xlink"],["xHeight","x-height"]]),sp=/^[\u0000-\u001F ]*j[\r\n\t]*a[\r\n\t]*v[\r\n\t]*a[\r\n\t]*s[\r\n\t]*c[\r\n\t]*r[\r\n\t]*i[\r\n\t]*p[\r\n\t]*t[\r\n\t]*:/i;function Fo(t){return sp.test(""+t)?"javascript:throw new Error('React has blocked a javascript: URL as a security precaution.')":t}function Pa(){}var yl=null;function bl(t){return t=t.target||t.srcElement||window,t.correspondingUseElement&&(t=t.correspondingUseElement),t.nodeType===3?t.parentNode:t}var bi=null,Mn=null;function Qo(t){var a=Yi(t);if(a&&(t=a.stateNode)){var s=t[Dn]||null;e:switch(t=a.stateNode,a.type){case"input":if(Ko(t,s.value,s.defaultValue,s.defaultValue,s.checked,s.defaultChecked,s.type,s.name),a=s.name,s.type==="radio"&&a!=null){for(s=t;s.parentNode;)s=s.parentNode;for(s=s.querySelectorAll('input[name="'+In(""+a)+'"][type="radio"]'),a=0;a<s.length;a++){var c=s[a];if(c!==t&&c.form===t.form){var p=c[Dn]||null;if(!p)throw Error(r(90));Ko(c,p.value,p.defaultValue,p.defaultValue,p.checked,p.defaultChecked,p.type,p.name)}}for(a=0;a<s.length;a++)c=s[a],c.form===t.form&&Ya(c)}break e;case"textarea":ta(t,s.value,s.defaultValue);break e;case"select":a=s.value,a!=null&&Kn(t,!!s.multiple,a,!1)}}}var vl=!1;function xl(t,a,s){if(vl)return t(a,s);vl=!0;try{var c=t(a);return c}finally{if(vl=!1,(bi!==null||Mn!==null)&&(Ku(),bi&&(a=bi,t=Mn,Mn=bi=null,Qo(a),t)))for(a=0;a<t.length;a++)Qo(t[a])}}function Zs(t,a){var s=t.stateNode;if(s===null)return null;var c=s[Dn]||null;if(c===null)return null;s=c[a];e:switch(a){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":case"onMouseEnter":(c=!c.disabled)||(t=t.type,c=!(t==="button"||t==="input"||t==="select"||t==="textarea")),t=!c;break e;default:t=!1}if(t)return null;if(s&&typeof s!="function")throw Error(r(231,a,typeof s));return s}var va=!(typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),wl=!1;if(va)try{var Ys={};Object.defineProperty(Ys,"passive",{get:function(){wl=!0}}),window.addEventListener("test",Ys,Ys),window.removeEventListener("test",Ys,Ys)}catch{wl=!1}var Ja=null,F=null,Qe=null;function vi(){if(Qe)return Qe;var t,a=F,s=a.length,c,p="value"in Ja?Ja.value:Ja.textContent,g=p.length;for(t=0;t<s&&a[t]===p[t];t++);var w=s-t;for(c=1;c<=w&&a[s-c]===p[g-c];c++);return Qe=p.slice(t,1<c?1-c:void 0)}function ts(t){var a=t.keyCode;return"charCode"in t?(t=t.charCode,t===0&&a===13&&(t=13)):t=a,t===10&&(t=13),32<=t||t===13?t:0}function qa(){return!0}function kl(){return!1}function An(t){function a(s,c,p,g,w){this._reactName=s,this._targetInst=p,this.type=c,this.nativeEvent=g,this.target=w,this.currentTarget=null;for(var A in t)t.hasOwnProperty(A)&&(s=t[A],this[A]=s?s(g):g[A]);return this.isDefaultPrevented=(g.defaultPrevented!=null?g.defaultPrevented:g.returnValue===!1)?qa:kl,this.isPropagationStopped=kl,this}return S(a.prototype,{preventDefault:function(){this.defaultPrevented=!0;var s=this.nativeEvent;s&&(s.preventDefault?s.preventDefault():typeof s.returnValue!="unknown"&&(s.returnValue=!1),this.isDefaultPrevented=qa)},stopPropagation:function(){var s=this.nativeEvent;s&&(s.stopPropagation?s.stopPropagation():typeof s.cancelBubble!="unknown"&&(s.cancelBubble=!0),this.isPropagationStopped=qa)},persist:function(){},isPersistent:qa}),a}var xi={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(t){return t.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},Wa=An(xi),Sl=S({},xi,{view:0,detail:0}),IC=An(Sl),op,rp,jl,lu=S({},Sl,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:cp,button:0,buttons:0,relatedTarget:function(t){return t.relatedTarget===void 0?t.fromElement===t.srcElement?t.toElement:t.fromElement:t.relatedTarget},movementX:function(t){return"movementX"in t?t.movementX:(t!==jl&&(jl&&t.type==="mousemove"?(op=t.screenX-jl.screenX,rp=t.screenY-jl.screenY):rp=op=0,jl=t),op)},movementY:function(t){return"movementY"in t?t.movementY:rp}}),U1=An(lu),OC=S({},lu,{dataTransfer:0}),PC=An(OC),qC=S({},Sl,{relatedTarget:0}),lp=An(qC),MC=S({},xi,{animationName:0,elapsedTime:0,pseudoElement:0}),BC=An(MC),LC=S({},xi,{clipboardData:function(t){return"clipboardData"in t?t.clipboardData:window.clipboardData}}),UC=An(LC),VC=S({},xi,{data:0}),V1=An(VC),$C={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},KC={8:"Backspace",9:"Tab",12:"Clear",13:"Enter",16:"Shift",17:"Control",18:"Alt",19:"Pause",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",45:"Insert",46:"Delete",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"NumLock",145:"ScrollLock",224:"Meta"},GC={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function HC(t){var a=this.nativeEvent;return a.getModifierState?a.getModifierState(t):(t=GC[t])?!!a[t]:!1}function cp(){return HC}var FC=S({},Sl,{key:function(t){if(t.key){var a=$C[t.key]||t.key;if(a!=="Unidentified")return a}return t.type==="keypress"?(t=ts(t),t===13?"Enter":String.fromCharCode(t)):t.type==="keydown"||t.type==="keyup"?KC[t.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:cp,charCode:function(t){return t.type==="keypress"?ts(t):0},keyCode:function(t){return t.type==="keydown"||t.type==="keyup"?t.keyCode:0},which:function(t){return t.type==="keypress"?ts(t):t.type==="keydown"||t.type==="keyup"?t.keyCode:0}}),QC=An(FC),ZC=S({},lu,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),$1=An(ZC),YC=S({},Sl,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:cp}),XC=An(YC),JC=S({},xi,{propertyName:0,elapsedTime:0,pseudoElement:0}),WC=An(JC),e4=S({},lu,{deltaX:function(t){return"deltaX"in t?t.deltaX:"wheelDeltaX"in t?-t.wheelDeltaX:0},deltaY:function(t){return"deltaY"in t?t.deltaY:"wheelDeltaY"in t?-t.wheelDeltaY:"wheelDelta"in t?-t.wheelDelta:0},deltaZ:0,deltaMode:0}),t4=An(e4),n4=S({},xi,{newState:0,oldState:0}),a4=An(n4),i4=[9,13,27,32],up=va&&"CompositionEvent"in window,Al=null;va&&"documentMode"in document&&(Al=document.documentMode);var s4=va&&"TextEvent"in window&&!Al,K1=va&&(!up||Al&&8<Al&&11>=Al),G1=" ",H1=!1;function F1(t,a){switch(t){case"keyup":return i4.indexOf(a.keyCode)!==-1;case"keydown":return a.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Q1(t){return t=t.detail,typeof t=="object"&&"data"in t?t.data:null}var Zo=!1;function o4(t,a){switch(t){case"compositionend":return Q1(a);case"keypress":return a.which!==32?null:(H1=!0,G1);case"textInput":return t=a.data,t===G1&&H1?null:t;default:return null}}function r4(t,a){if(Zo)return t==="compositionend"||!up&&F1(t,a)?(t=vi(),Qe=F=Ja=null,Zo=!1,t):null;switch(t){case"paste":return null;case"keypress":if(!(a.ctrlKey||a.altKey||a.metaKey)||a.ctrlKey&&a.altKey){if(a.char&&1<a.char.length)return a.char;if(a.which)return String.fromCharCode(a.which)}return null;case"compositionend":return K1&&a.locale!=="ko"?null:a.data;default:return null}}var l4={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function Z1(t){var a=t&&t.nodeName&&t.nodeName.toLowerCase();return a==="input"?!!l4[t.type]:a==="textarea"}function Y1(t,a,s,c){bi?Mn?Mn.push(c):Mn=[c]:bi=c,a=Xu(a,"onChange"),0<a.length&&(s=new Wa("onChange","change",null,s,c),t.push({event:s,listeners:a}))}var Nl=null,Cl=null;function c4(t){Dv(t,0)}function cu(t){var a=Xi(t);if(Ya(a))return t}function X1(t,a){if(t==="change")return a}var J1=!1;if(va){var dp;if(va){var mp="oninput"in document;if(!mp){var W1=document.createElement("div");W1.setAttribute("oninput","return;"),mp=typeof W1.oninput=="function"}dp=mp}else dp=!1;J1=dp&&(!document.documentMode||9<document.documentMode)}function ey(){Nl&&(Nl.detachEvent("onpropertychange",ty),Cl=Nl=null)}function ty(t){if(t.propertyName==="value"&&cu(Cl)){var a=[];Y1(a,Cl,t,bl(t)),xl(c4,a)}}function u4(t,a,s){t==="focusin"?(ey(),Nl=a,Cl=s,Nl.attachEvent("onpropertychange",ty)):t==="focusout"&&ey()}function d4(t){if(t==="selectionchange"||t==="keyup"||t==="keydown")return cu(Cl)}function m4(t,a){if(t==="click")return cu(a)}function p4(t,a){if(t==="input"||t==="change")return cu(a)}function h4(t,a){return t===a&&(t!==0||1/t===1/a)||t!==t&&a!==a}var na=typeof Object.is=="function"?Object.is:h4;function _l(t,a){if(na(t,a))return!0;if(typeof t!="object"||t===null||typeof a!="object"||a===null)return!1;var s=Object.keys(t),c=Object.keys(a);if(s.length!==c.length)return!1;for(c=0;c<s.length;c++){var p=s[c];if(!Me.call(a,p)||!na(t[p],a[p]))return!1}return!0}function ny(t){for(;t&&t.firstChild;)t=t.firstChild;return t}function ay(t,a){var s=ny(t);t=0;for(var c;s;){if(s.nodeType===3){if(c=t+s.textContent.length,t<=a&&c>=a)return{node:s,offset:a-t};t=c}e:{for(;s;){if(s.nextSibling){s=s.nextSibling;break e}s=s.parentNode}s=void 0}s=ny(s)}}function iy(t,a){return t&&a?t===a?!0:t&&t.nodeType===3?!1:a&&a.nodeType===3?iy(t,a.parentNode):"contains"in t?t.contains(a):t.compareDocumentPosition?!!(t.compareDocumentPosition(a)&16):!1:!1}function sy(t){t=t!=null&&t.ownerDocument!=null&&t.ownerDocument.defaultView!=null?t.ownerDocument.defaultView:window;for(var a=es(t.document);a instanceof t.HTMLIFrameElement;){try{var s=typeof a.contentWindow.location.href=="string"}catch{s=!1}if(s)t=a.contentWindow;else break;a=es(t.document)}return a}function pp(t){var a=t&&t.nodeName&&t.nodeName.toLowerCase();return a&&(a==="input"&&(t.type==="text"||t.type==="search"||t.type==="tel"||t.type==="url"||t.type==="password")||a==="textarea"||t.contentEditable==="true")}var f4=va&&"documentMode"in document&&11>=document.documentMode,Yo=null,hp=null,Tl=null,fp=!1;function oy(t,a,s){var c=s.window===s?s.document:s.nodeType===9?s:s.ownerDocument;fp||Yo==null||Yo!==es(c)||(c=Yo,"selectionStart"in c&&pp(c)?c={start:c.selectionStart,end:c.selectionEnd}:(c=(c.ownerDocument&&c.ownerDocument.defaultView||window).getSelection(),c={anchorNode:c.anchorNode,anchorOffset:c.anchorOffset,focusNode:c.focusNode,focusOffset:c.focusOffset}),Tl&&_l(Tl,c)||(Tl=c,c=Xu(hp,"onSelect"),0<c.length&&(a=new Wa("onSelect","select",null,a,s),t.push({event:a,listeners:c}),a.target=Yo)))}function Xs(t,a){var s={};return s[t.toLowerCase()]=a.toLowerCase(),s["Webkit"+t]="webkit"+a,s["Moz"+t]="moz"+a,s}var Xo={animationend:Xs("Animation","AnimationEnd"),animationiteration:Xs("Animation","AnimationIteration"),animationstart:Xs("Animation","AnimationStart"),transitionrun:Xs("Transition","TransitionRun"),transitionstart:Xs("Transition","TransitionStart"),transitioncancel:Xs("Transition","TransitionCancel"),transitionend:Xs("Transition","TransitionEnd")},gp={},ry={};va&&(ry=document.createElement("div").style,"AnimationEvent"in window||(delete Xo.animationend.animation,delete Xo.animationiteration.animation,delete Xo.animationstart.animation),"TransitionEvent"in window||delete Xo.transitionend.transition);function Js(t){if(gp[t])return gp[t];if(!Xo[t])return t;var a=Xo[t],s;for(s in a)if(a.hasOwnProperty(s)&&s in ry)return gp[t]=a[s];return t}var ly=Js("animationend"),cy=Js("animationiteration"),uy=Js("animationstart"),g4=Js("transitionrun"),y4=Js("transitionstart"),b4=Js("transitioncancel"),dy=Js("transitionend"),my=new Map,yp="abort auxClick beforeToggle cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel".split(" ");yp.push("scrollEnd");function Ma(t,a){my.set(t,a),Qa(a,[t])}var uu=typeof reportError=="function"?reportError:function(t){if(typeof window=="object"&&typeof window.ErrorEvent=="function"){var a=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:typeof t=="object"&&t!==null&&typeof t.message=="string"?String(t.message):String(t),error:t});if(!window.dispatchEvent(a))return}else if(typeof process=="object"&&typeof process.emit=="function"){process.emit("uncaughtException",t);return}console.error(t)},xa=[],Jo=0,bp=0;function du(){for(var t=Jo,a=bp=Jo=0;a<t;){var s=xa[a];xa[a++]=null;var c=xa[a];xa[a++]=null;var p=xa[a];xa[a++]=null;var g=xa[a];if(xa[a++]=null,c!==null&&p!==null){var w=c.pending;w===null?p.next=p:(p.next=w.next,w.next=p),c.pending=p}g!==0&&py(s,p,g)}}function mu(t,a,s,c){xa[Jo++]=t,xa[Jo++]=a,xa[Jo++]=s,xa[Jo++]=c,bp|=c,t.lanes|=c,t=t.alternate,t!==null&&(t.lanes|=c)}function vp(t,a,s,c){return mu(t,a,s,c),pu(t)}function Ws(t,a){return mu(t,null,null,a),pu(t)}function py(t,a,s){t.lanes|=s;var c=t.alternate;c!==null&&(c.lanes|=s);for(var p=!1,g=t.return;g!==null;)g.childLanes|=s,c=g.alternate,c!==null&&(c.childLanes|=s),g.tag===22&&(t=g.stateNode,t===null||t._visibility&1||(p=!0)),t=g,g=g.return;return t.tag===3?(g=t.stateNode,p&&a!==null&&(p=31-Zt(s),t=g.hiddenUpdates,c=t[p],c===null?t[p]=[a]:c.push(a),a.lane=s|536870912),g):null}function pu(t){if(50<Xl)throw Xl=0,_h=null,Error(r(185));for(var a=t.return;a!==null;)t=a,a=t.return;return t.tag===3?t.stateNode:null}var Wo={};function v4(t,a,s,c){this.tag=t,this.key=s,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.refCleanup=this.ref=null,this.pendingProps=a,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=c,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function aa(t,a,s,c){return new v4(t,a,s,c)}function xp(t){return t=t.prototype,!(!t||!t.isReactComponent)}function wi(t,a){var s=t.alternate;return s===null?(s=aa(t.tag,a,t.key,t.mode),s.elementType=t.elementType,s.type=t.type,s.stateNode=t.stateNode,s.alternate=t,t.alternate=s):(s.pendingProps=a,s.type=t.type,s.flags=0,s.subtreeFlags=0,s.deletions=null),s.flags=t.flags&65011712,s.childLanes=t.childLanes,s.lanes=t.lanes,s.child=t.child,s.memoizedProps=t.memoizedProps,s.memoizedState=t.memoizedState,s.updateQueue=t.updateQueue,a=t.dependencies,s.dependencies=a===null?null:{lanes:a.lanes,firstContext:a.firstContext},s.sibling=t.sibling,s.index=t.index,s.ref=t.ref,s.refCleanup=t.refCleanup,s}function hy(t,a){t.flags&=65011714;var s=t.alternate;return s===null?(t.childLanes=0,t.lanes=a,t.child=null,t.subtreeFlags=0,t.memoizedProps=null,t.memoizedState=null,t.updateQueue=null,t.dependencies=null,t.stateNode=null):(t.childLanes=s.childLanes,t.lanes=s.lanes,t.child=s.child,t.subtreeFlags=0,t.deletions=null,t.memoizedProps=s.memoizedProps,t.memoizedState=s.memoizedState,t.updateQueue=s.updateQueue,t.type=s.type,a=s.dependencies,t.dependencies=a===null?null:{lanes:a.lanes,firstContext:a.firstContext}),t}function hu(t,a,s,c,p,g){var w=0;if(c=t,typeof t=="function")xp(t)&&(w=1);else if(typeof t=="string")w=j5(t,s,de.current)?26:t==="html"||t==="head"||t==="body"?27:5;else e:switch(t){case ae:return t=aa(31,s,a,p),t.elementType=ae,t.lanes=g,t;case q:return eo(s.children,p,g,a);case E:w=8,p|=24;break;case P:return t=aa(12,s,a,p|2),t.elementType=P,t.lanes=g,t;case H:return t=aa(13,s,a,p),t.elementType=H,t.lanes=g,t;case J:return t=aa(19,s,a,p),t.elementType=J,t.lanes=g,t;default:if(typeof t=="object"&&t!==null)switch(t.$$typeof){case L:w=10;break e;case M:w=9;break e;case $:w=11;break e;case V:w=14;break e;case Q:w=16,c=null;break e}w=29,s=Error(r(130,t===null?"null":typeof t,"")),c=null}return a=aa(w,s,a,p),a.elementType=t,a.type=c,a.lanes=g,a}function eo(t,a,s,c){return t=aa(7,t,c,a),t.lanes=s,t}function wp(t,a,s){return t=aa(6,t,null,a),t.lanes=s,t}function fy(t){var a=aa(18,null,null,0);return a.stateNode=t,a}function kp(t,a,s){return a=aa(4,t.children!==null?t.children:[],t.key,a),a.lanes=s,a.stateNode={containerInfo:t.containerInfo,pendingChildren:null,implementation:t.implementation},a}var gy=new WeakMap;function wa(t,a){if(typeof t=="object"&&t!==null){var s=gy.get(t);return s!==void 0?s:(a={value:t,source:a,stack:Ht(a)},gy.set(t,a),a)}return{value:t,source:a,stack:Ht(a)}}var er=[],tr=0,fu=null,El=0,ka=[],Sa=0,ns=null,ei=1,ti="";function ki(t,a){er[tr++]=El,er[tr++]=fu,fu=t,El=a}function yy(t,a,s){ka[Sa++]=ei,ka[Sa++]=ti,ka[Sa++]=ns,ns=t;var c=ei;t=ti;var p=32-Zt(c)-1;c&=~(1<<p),s+=1;var g=32-Zt(a)+p;if(30<g){var w=p-p%5;g=(c&(1<<w)-1).toString(32),c>>=w,p-=w,ei=1<<32-Zt(a)+p|s<<p|c,ti=g+t}else ei=1<<g|s<<p|c,ti=t}function Sp(t){t.return!==null&&(ki(t,1),yy(t,1,0))}function jp(t){for(;t===fu;)fu=er[--tr],er[tr]=null,El=er[--tr],er[tr]=null;for(;t===ns;)ns=ka[--Sa],ka[Sa]=null,ti=ka[--Sa],ka[Sa]=null,ei=ka[--Sa],ka[Sa]=null}function by(t,a){ka[Sa++]=ei,ka[Sa++]=ti,ka[Sa++]=ns,ei=a.id,ti=a.overflow,ns=t}var Nn=null,qt=null,ht=!1,as=null,ja=!1,Ap=Error(r(519));function is(t){var a=Error(r(418,1<arguments.length&&arguments[1]!==void 0&&arguments[1]?"text":"HTML",""));throw Rl(wa(a,t)),Ap}function vy(t){var a=t.stateNode,s=t.type,c=t.memoizedProps;switch(a[on]=t,a[Dn]=c,s){case"dialog":lt("cancel",a),lt("close",a);break;case"iframe":case"object":case"embed":lt("load",a);break;case"video":case"audio":for(s=0;s<Wl.length;s++)lt(Wl[s],a);break;case"source":lt("error",a);break;case"img":case"image":case"link":lt("error",a),lt("load",a);break;case"details":lt("toggle",a);break;case"input":lt("invalid",a),gl(a,c.value,c.defaultValue,c.checked,c.defaultChecked,c.type,c.name,!0);break;case"select":lt("invalid",a);break;case"textarea":lt("invalid",a),yi(a,c.value,c.defaultValue,c.children)}s=c.children,typeof s!="string"&&typeof s!="number"&&typeof s!="bigint"||a.textContent===""+s||c.suppressHydrationWarning===!0||Pv(a.textContent,s)?(c.popover!=null&&(lt("beforetoggle",a),lt("toggle",a)),c.onScroll!=null&<("scroll",a),c.onScrollEnd!=null&<("scrollend",a),c.onClick!=null&&(a.onclick=Pa),a=!0):a=!1,a||is(t,!0)}function xy(t){for(Nn=t.return;Nn;)switch(Nn.tag){case 5:case 31:case 13:ja=!1;return;case 27:case 3:ja=!0;return;default:Nn=Nn.return}}function nr(t){if(t!==Nn)return!1;if(!ht)return xy(t),ht=!0,!1;var a=t.tag,s;if((s=a!==3&&a!==27)&&((s=a===5)&&(s=t.type,s=!(s!=="form"&&s!=="button")||$h(t.type,t.memoizedProps)),s=!s),s&&qt&&is(t),xy(t),a===13){if(t=t.memoizedState,t=t!==null?t.dehydrated:null,!t)throw Error(r(317));qt=Gv(t)}else if(a===31){if(t=t.memoizedState,t=t!==null?t.dehydrated:null,!t)throw Error(r(317));qt=Gv(t)}else a===27?(a=qt,bs(t.type)?(t=Qh,Qh=null,qt=t):qt=a):qt=Nn?Na(t.stateNode.nextSibling):null;return!0}function to(){qt=Nn=null,ht=!1}function Np(){var t=as;return t!==null&&(Qn===null?Qn=t:Qn.push.apply(Qn,t),as=null),t}function Rl(t){as===null?as=[t]:as.push(t)}var Cp=ke(null),no=null,Si=null;function ss(t,a,s){xe(Cp,a._currentValue),a._currentValue=s}function ji(t){t._currentValue=Cp.current,Ie(Cp)}function _p(t,a,s){for(;t!==null;){var c=t.alternate;if((t.childLanes&a)!==a?(t.childLanes|=a,c!==null&&(c.childLanes|=a)):c!==null&&(c.childLanes&a)!==a&&(c.childLanes|=a),t===s)break;t=t.return}}function Tp(t,a,s,c){var p=t.child;for(p!==null&&(p.return=t);p!==null;){var g=p.dependencies;if(g!==null){var w=p.child;g=g.firstContext;e:for(;g!==null;){var A=g;g=p;for(var D=0;D<a.length;D++)if(A.context===a[D]){g.lanes|=s,A=g.alternate,A!==null&&(A.lanes|=s),_p(g.return,s,t),c||(w=null);break e}g=A.next}}else if(p.tag===18){if(w=p.return,w===null)throw Error(r(341));w.lanes|=s,g=w.alternate,g!==null&&(g.lanes|=s),_p(w,s,t),w=null}else w=p.child;if(w!==null)w.return=p;else for(w=p;w!==null;){if(w===t){w=null;break}if(p=w.sibling,p!==null){p.return=w.return,w=p;break}w=w.return}p=w}}function ar(t,a,s,c){t=null;for(var p=a,g=!1;p!==null;){if(!g){if((p.flags&524288)!==0)g=!0;else if((p.flags&262144)!==0)break}if(p.tag===10){var w=p.alternate;if(w===null)throw Error(r(387));if(w=w.memoizedProps,w!==null){var A=p.type;na(p.pendingProps.value,w.value)||(t!==null?t.push(A):t=[A])}}else if(p===me.current){if(w=p.alternate,w===null)throw Error(r(387));w.memoizedState.memoizedState!==p.memoizedState.memoizedState&&(t!==null?t.push(ic):t=[ic])}p=p.return}t!==null&&Tp(a,t,s,c),a.flags|=262144}function gu(t){for(t=t.firstContext;t!==null;){if(!na(t.context._currentValue,t.memoizedValue))return!0;t=t.next}return!1}function ao(t){no=t,Si=null,t=t.dependencies,t!==null&&(t.firstContext=null)}function Cn(t){return wy(no,t)}function yu(t,a){return no===null&&ao(t),wy(t,a)}function wy(t,a){var s=a._currentValue;if(a={context:a,memoizedValue:s,next:null},Si===null){if(t===null)throw Error(r(308));Si=a,t.dependencies={lanes:0,firstContext:a},t.flags|=524288}else Si=Si.next=a;return s}var x4=typeof AbortController<"u"?AbortController:function(){var t=[],a=this.signal={aborted:!1,addEventListener:function(s,c){t.push(c)}};this.abort=function(){a.aborted=!0,t.forEach(function(s){return s()})}},w4=e.unstable_scheduleCallback,k4=e.unstable_NormalPriority,rn={$$typeof:L,Consumer:null,Provider:null,_currentValue:null,_currentValue2:null,_threadCount:0};function Ep(){return{controller:new x4,data:new Map,refCount:0}}function Dl(t){t.refCount--,t.refCount===0&&w4(k4,function(){t.controller.abort()})}var zl=null,Rp=0,ir=0,sr=null;function S4(t,a){if(zl===null){var s=zl=[];Rp=0,ir=Ih(),sr={status:"pending",value:void 0,then:function(c){s.push(c)}}}return Rp++,a.then(ky,ky),a}function ky(){if(--Rp===0&&zl!==null){sr!==null&&(sr.status="fulfilled");var t=zl;zl=null,ir=0,sr=null;for(var a=0;a<t.length;a++)(0,t[a])()}}function j4(t,a){var s=[],c={status:"pending",value:null,reason:null,then:function(p){s.push(p)}};return t.then(function(){c.status="fulfilled",c.value=a;for(var p=0;p<s.length;p++)(0,s[p])(a)},function(p){for(c.status="rejected",c.reason=p,p=0;p<s.length;p++)(0,s[p])(void 0)}),c}var Sy=B.S;B.S=function(t,a){ov=Vt(),typeof a=="object"&&a!==null&&typeof a.then=="function"&&S4(t,a),Sy!==null&&Sy(t,a)};var io=ke(null);function Dp(){var t=io.current;return t!==null?t:zt.pooledCache}function bu(t,a){a===null?xe(io,io.current):xe(io,a.pool)}function jy(){var t=Dp();return t===null?null:{parent:rn._currentValue,pool:t}}var or=Error(r(460)),zp=Error(r(474)),vu=Error(r(542)),xu={then:function(){}};function Ay(t){return t=t.status,t==="fulfilled"||t==="rejected"}function Ny(t,a,s){switch(s=t[s],s===void 0?t.push(a):s!==a&&(a.then(Pa,Pa),a=s),a.status){case"fulfilled":return a.value;case"rejected":throw t=a.reason,_y(t),t;default:if(typeof a.status=="string")a.then(Pa,Pa);else{if(t=zt,t!==null&&100<t.shellSuspendCounter)throw Error(r(482));t=a,t.status="pending",t.then(function(c){if(a.status==="pending"){var p=a;p.status="fulfilled",p.value=c}},function(c){if(a.status==="pending"){var p=a;p.status="rejected",p.reason=c}})}switch(a.status){case"fulfilled":return a.value;case"rejected":throw t=a.reason,_y(t),t}throw oo=a,or}}function so(t){try{var a=t._init;return a(t._payload)}catch(s){throw s!==null&&typeof s=="object"&&typeof s.then=="function"?(oo=s,or):s}}var oo=null;function Cy(){if(oo===null)throw Error(r(459));var t=oo;return oo=null,t}function _y(t){if(t===or||t===vu)throw Error(r(483))}var rr=null,Il=0;function wu(t){var a=Il;return Il+=1,rr===null&&(rr=[]),Ny(rr,t,a)}function Ol(t,a){a=a.props.ref,t.ref=a!==void 0?a:null}function ku(t,a){throw a.$$typeof===N?Error(r(525)):(t=Object.prototype.toString.call(a),Error(r(31,t==="[object Object]"?"object with keys {"+Object.keys(a).join(", ")+"}":t)))}function Ty(t){function a(U,O){if(t){var K=U.deletions;K===null?(U.deletions=[O],U.flags|=16):K.push(O)}}function s(U,O){if(!t)return null;for(;O!==null;)a(U,O),O=O.sibling;return null}function c(U){for(var O=new Map;U!==null;)U.key!==null?O.set(U.key,U):O.set(U.index,U),U=U.sibling;return O}function p(U,O){return U=wi(U,O),U.index=0,U.sibling=null,U}function g(U,O,K){return U.index=K,t?(K=U.alternate,K!==null?(K=K.index,K<O?(U.flags|=67108866,O):K):(U.flags|=67108866,O)):(U.flags|=1048576,O)}function w(U){return t&&U.alternate===null&&(U.flags|=67108866),U}function A(U,O,K,ie){return O===null||O.tag!==6?(O=wp(K,U.mode,ie),O.return=U,O):(O=p(O,K),O.return=U,O)}function D(U,O,K,ie){var Ue=K.type;return Ue===q?te(U,O,K.props.children,ie,K.key):O!==null&&(O.elementType===Ue||typeof Ue=="object"&&Ue!==null&&Ue.$$typeof===Q&&so(Ue)===O.type)?(O=p(O,K.props),Ol(O,K),O.return=U,O):(O=hu(K.type,K.key,K.props,null,U.mode,ie),Ol(O,K),O.return=U,O)}function G(U,O,K,ie){return O===null||O.tag!==4||O.stateNode.containerInfo!==K.containerInfo||O.stateNode.implementation!==K.implementation?(O=kp(K,U.mode,ie),O.return=U,O):(O=p(O,K.children||[]),O.return=U,O)}function te(U,O,K,ie,Ue){return O===null||O.tag!==7?(O=eo(K,U.mode,ie,Ue),O.return=U,O):(O=p(O,K),O.return=U,O)}function se(U,O,K){if(typeof O=="string"&&O!==""||typeof O=="number"||typeof O=="bigint")return O=wp(""+O,U.mode,K),O.return=U,O;if(typeof O=="object"&&O!==null){switch(O.$$typeof){case _:return K=hu(O.type,O.key,O.props,null,U.mode,K),Ol(K,O),K.return=U,K;case z:return O=kp(O,U.mode,K),O.return=U,O;case Q:return O=so(O),se(U,O,K)}if(Le(O)||Ve(O))return O=eo(O,U.mode,K,null),O.return=U,O;if(typeof O.then=="function")return se(U,wu(O),K);if(O.$$typeof===L)return se(U,yu(U,O),K);ku(U,O)}return null}function Z(U,O,K,ie){var Ue=O!==null?O.key:null;if(typeof K=="string"&&K!==""||typeof K=="number"||typeof K=="bigint")return Ue!==null?null:A(U,O,""+K,ie);if(typeof K=="object"&&K!==null){switch(K.$$typeof){case _:return K.key===Ue?D(U,O,K,ie):null;case z:return K.key===Ue?G(U,O,K,ie):null;case Q:return K=so(K),Z(U,O,K,ie)}if(Le(K)||Ve(K))return Ue!==null?null:te(U,O,K,ie,null);if(typeof K.then=="function")return Z(U,O,wu(K),ie);if(K.$$typeof===L)return Z(U,O,yu(U,K),ie);ku(U,K)}return null}function X(U,O,K,ie,Ue){if(typeof ie=="string"&&ie!==""||typeof ie=="number"||typeof ie=="bigint")return U=U.get(K)||null,A(O,U,""+ie,Ue);if(typeof ie=="object"&&ie!==null){switch(ie.$$typeof){case _:return U=U.get(ie.key===null?K:ie.key)||null,D(O,U,ie,Ue);case z:return U=U.get(ie.key===null?K:ie.key)||null,G(O,U,ie,Ue);case Q:return ie=so(ie),X(U,O,K,ie,Ue)}if(Le(ie)||Ve(ie))return U=U.get(K)||null,te(O,U,ie,Ue,null);if(typeof ie.then=="function")return X(U,O,K,wu(ie),Ue);if(ie.$$typeof===L)return X(U,O,K,yu(O,ie),Ue);ku(O,ie)}return null}function Ce(U,O,K,ie){for(var Ue=null,bt=null,Re=O,nt=O=0,dt=null;Re!==null&&nt<K.length;nt++){Re.index>nt?(dt=Re,Re=null):dt=Re.sibling;var vt=Z(U,Re,K[nt],ie);if(vt===null){Re===null&&(Re=dt);break}t&&Re&&vt.alternate===null&&a(U,Re),O=g(vt,O,nt),bt===null?Ue=vt:bt.sibling=vt,bt=vt,Re=dt}if(nt===K.length)return s(U,Re),ht&&ki(U,nt),Ue;if(Re===null){for(;nt<K.length;nt++)Re=se(U,K[nt],ie),Re!==null&&(O=g(Re,O,nt),bt===null?Ue=Re:bt.sibling=Re,bt=Re);return ht&&ki(U,nt),Ue}for(Re=c(Re);nt<K.length;nt++)dt=X(Re,U,nt,K[nt],ie),dt!==null&&(t&&dt.alternate!==null&&Re.delete(dt.key===null?nt:dt.key),O=g(dt,O,nt),bt===null?Ue=dt:bt.sibling=dt,bt=dt);return t&&Re.forEach(function(Ss){return a(U,Ss)}),ht&&ki(U,nt),Ue}function Ke(U,O,K,ie){if(K==null)throw Error(r(151));for(var Ue=null,bt=null,Re=O,nt=O=0,dt=null,vt=K.next();Re!==null&&!vt.done;nt++,vt=K.next()){Re.index>nt?(dt=Re,Re=null):dt=Re.sibling;var Ss=Z(U,Re,vt.value,ie);if(Ss===null){Re===null&&(Re=dt);break}t&&Re&&Ss.alternate===null&&a(U,Re),O=g(Ss,O,nt),bt===null?Ue=Ss:bt.sibling=Ss,bt=Ss,Re=dt}if(vt.done)return s(U,Re),ht&&ki(U,nt),Ue;if(Re===null){for(;!vt.done;nt++,vt=K.next())vt=se(U,vt.value,ie),vt!==null&&(O=g(vt,O,nt),bt===null?Ue=vt:bt.sibling=vt,bt=vt);return ht&&ki(U,nt),Ue}for(Re=c(Re);!vt.done;nt++,vt=K.next())vt=X(Re,U,nt,vt.value,ie),vt!==null&&(t&&vt.alternate!==null&&Re.delete(vt.key===null?nt:vt.key),O=g(vt,O,nt),bt===null?Ue=vt:bt.sibling=vt,bt=vt);return t&&Re.forEach(function(O5){return a(U,O5)}),ht&&ki(U,nt),Ue}function Dt(U,O,K,ie){if(typeof K=="object"&&K!==null&&K.type===q&&K.key===null&&(K=K.props.children),typeof K=="object"&&K!==null){switch(K.$$typeof){case _:e:{for(var Ue=K.key;O!==null;){if(O.key===Ue){if(Ue=K.type,Ue===q){if(O.tag===7){s(U,O.sibling),ie=p(O,K.props.children),ie.return=U,U=ie;break e}}else if(O.elementType===Ue||typeof Ue=="object"&&Ue!==null&&Ue.$$typeof===Q&&so(Ue)===O.type){s(U,O.sibling),ie=p(O,K.props),Ol(ie,K),ie.return=U,U=ie;break e}s(U,O);break}else a(U,O);O=O.sibling}K.type===q?(ie=eo(K.props.children,U.mode,ie,K.key),ie.return=U,U=ie):(ie=hu(K.type,K.key,K.props,null,U.mode,ie),Ol(ie,K),ie.return=U,U=ie)}return w(U);case z:e:{for(Ue=K.key;O!==null;){if(O.key===Ue)if(O.tag===4&&O.stateNode.containerInfo===K.containerInfo&&O.stateNode.implementation===K.implementation){s(U,O.sibling),ie=p(O,K.children||[]),ie.return=U,U=ie;break e}else{s(U,O);break}else a(U,O);O=O.sibling}ie=kp(K,U.mode,ie),ie.return=U,U=ie}return w(U);case Q:return K=so(K),Dt(U,O,K,ie)}if(Le(K))return Ce(U,O,K,ie);if(Ve(K)){if(Ue=Ve(K),typeof Ue!="function")throw Error(r(150));return K=Ue.call(K),Ke(U,O,K,ie)}if(typeof K.then=="function")return Dt(U,O,wu(K),ie);if(K.$$typeof===L)return Dt(U,O,yu(U,K),ie);ku(U,K)}return typeof K=="string"&&K!==""||typeof K=="number"||typeof K=="bigint"?(K=""+K,O!==null&&O.tag===6?(s(U,O.sibling),ie=p(O,K),ie.return=U,U=ie):(s(U,O),ie=wp(K,U.mode,ie),ie.return=U,U=ie),w(U)):s(U,O)}return function(U,O,K,ie){try{Il=0;var Ue=Dt(U,O,K,ie);return rr=null,Ue}catch(Re){if(Re===or||Re===vu)throw Re;var bt=aa(29,Re,null,U.mode);return bt.lanes=ie,bt.return=U,bt}}}var ro=Ty(!0),Ey=Ty(!1),os=!1;function Ip(t){t.updateQueue={baseState:t.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function Op(t,a){t=t.updateQueue,a.updateQueue===t&&(a.updateQueue={baseState:t.baseState,firstBaseUpdate:t.firstBaseUpdate,lastBaseUpdate:t.lastBaseUpdate,shared:t.shared,callbacks:null})}function rs(t){return{lane:t,tag:0,payload:null,callback:null,next:null}}function ls(t,a,s){var c=t.updateQueue;if(c===null)return null;if(c=c.shared,(wt&2)!==0){var p=c.pending;return p===null?a.next=a:(a.next=p.next,p.next=a),c.pending=a,a=pu(t),py(t,null,s),a}return mu(t,c,a,s),pu(t)}function Pl(t,a,s){if(a=a.updateQueue,a!==null&&(a=a.shared,(s&4194048)!==0)){var c=a.lanes;c&=t.pendingLanes,s|=c,a.lanes=s,ol(t,s)}}function Pp(t,a){var s=t.updateQueue,c=t.alternate;if(c!==null&&(c=c.updateQueue,s===c)){var p=null,g=null;if(s=s.firstBaseUpdate,s!==null){do{var w={lane:s.lane,tag:s.tag,payload:s.payload,callback:null,next:null};g===null?p=g=w:g=g.next=w,s=s.next}while(s!==null);g===null?p=g=a:g=g.next=a}else p=g=a;s={baseState:c.baseState,firstBaseUpdate:p,lastBaseUpdate:g,shared:c.shared,callbacks:c.callbacks},t.updateQueue=s;return}t=s.lastBaseUpdate,t===null?s.firstBaseUpdate=a:t.next=a,s.lastBaseUpdate=a}var qp=!1;function ql(){if(qp){var t=sr;if(t!==null)throw t}}function Ml(t,a,s,c){qp=!1;var p=t.updateQueue;os=!1;var g=p.firstBaseUpdate,w=p.lastBaseUpdate,A=p.shared.pending;if(A!==null){p.shared.pending=null;var D=A,G=D.next;D.next=null,w===null?g=G:w.next=G,w=D;var te=t.alternate;te!==null&&(te=te.updateQueue,A=te.lastBaseUpdate,A!==w&&(A===null?te.firstBaseUpdate=G:A.next=G,te.lastBaseUpdate=D))}if(g!==null){var se=p.baseState;w=0,te=G=D=null,A=g;do{var Z=A.lane&-536870913,X=Z!==A.lane;if(X?(ut&Z)===Z:(c&Z)===Z){Z!==0&&Z===ir&&(qp=!0),te!==null&&(te=te.next={lane:0,tag:A.tag,payload:A.payload,callback:null,next:null});e:{var Ce=t,Ke=A;Z=a;var Dt=s;switch(Ke.tag){case 1:if(Ce=Ke.payload,typeof Ce=="function"){se=Ce.call(Dt,se,Z);break e}se=Ce;break e;case 3:Ce.flags=Ce.flags&-65537|128;case 0:if(Ce=Ke.payload,Z=typeof Ce=="function"?Ce.call(Dt,se,Z):Ce,Z==null)break e;se=S({},se,Z);break e;case 2:os=!0}}Z=A.callback,Z!==null&&(t.flags|=64,X&&(t.flags|=8192),X=p.callbacks,X===null?p.callbacks=[Z]:X.push(Z))}else X={lane:Z,tag:A.tag,payload:A.payload,callback:A.callback,next:null},te===null?(G=te=X,D=se):te=te.next=X,w|=Z;if(A=A.next,A===null){if(A=p.shared.pending,A===null)break;X=A,A=X.next,X.next=null,p.lastBaseUpdate=X,p.shared.pending=null}}while(!0);te===null&&(D=se),p.baseState=D,p.firstBaseUpdate=G,p.lastBaseUpdate=te,g===null&&(p.shared.lanes=0),ps|=w,t.lanes=w,t.memoizedState=se}}function Ry(t,a){if(typeof t!="function")throw Error(r(191,t));t.call(a)}function Dy(t,a){var s=t.callbacks;if(s!==null)for(t.callbacks=null,t=0;t<s.length;t++)Ry(s[t],a)}var lr=ke(null),Su=ke(0);function zy(t,a){t=zi,xe(Su,t),xe(lr,a),zi=t|a.baseLanes}function Mp(){xe(Su,zi),xe(lr,lr.current)}function Bp(){zi=Su.current,Ie(lr),Ie(Su)}var ia=ke(null),Aa=null;function cs(t){var a=t.alternate;xe(tn,tn.current&1),xe(ia,t),Aa===null&&(a===null||lr.current!==null||a.memoizedState!==null)&&(Aa=t)}function Lp(t){xe(tn,tn.current),xe(ia,t),Aa===null&&(Aa=t)}function Iy(t){t.tag===22?(xe(tn,tn.current),xe(ia,t),Aa===null&&(Aa=t)):us()}function us(){xe(tn,tn.current),xe(ia,ia.current)}function sa(t){Ie(ia),Aa===t&&(Aa=null),Ie(tn)}var tn=ke(0);function ju(t){for(var a=t;a!==null;){if(a.tag===13){var s=a.memoizedState;if(s!==null&&(s=s.dehydrated,s===null||Hh(s)||Fh(s)))return a}else if(a.tag===19&&(a.memoizedProps.revealOrder==="forwards"||a.memoizedProps.revealOrder==="backwards"||a.memoizedProps.revealOrder==="unstable_legacy-backwards"||a.memoizedProps.revealOrder==="together")){if((a.flags&128)!==0)return a}else if(a.child!==null){a.child.return=a,a=a.child;continue}if(a===t)break;for(;a.sibling===null;){if(a.return===null||a.return===t)return null;a=a.return}a.sibling.return=a.return,a=a.sibling}return null}var Ai=0,et=null,Et=null,ln=null,Au=!1,cr=!1,lo=!1,Nu=0,Bl=0,ur=null,A4=0;function Jt(){throw Error(r(321))}function Up(t,a){if(a===null)return!1;for(var s=0;s<a.length&&s<t.length;s++)if(!na(t[s],a[s]))return!1;return!0}function Vp(t,a,s,c,p,g){return Ai=g,et=a,a.memoizedState=null,a.updateQueue=null,a.lanes=0,B.H=t===null||t.memoizedState===null?yb:ah,lo=!1,g=s(c,p),lo=!1,cr&&(g=Py(a,s,c,p)),Oy(t),g}function Oy(t){B.H=Vl;var a=Et!==null&&Et.next!==null;if(Ai=0,ln=Et=et=null,Au=!1,Bl=0,ur=null,a)throw Error(r(300));t===null||cn||(t=t.dependencies,t!==null&&gu(t)&&(cn=!0))}function Py(t,a,s,c){et=t;var p=0;do{if(cr&&(ur=null),Bl=0,cr=!1,25<=p)throw Error(r(301));if(p+=1,ln=Et=null,t.updateQueue!=null){var g=t.updateQueue;g.lastEffect=null,g.events=null,g.stores=null,g.memoCache!=null&&(g.memoCache.index=0)}B.H=bb,g=a(s,c)}while(cr);return g}function N4(){var t=B.H,a=t.useState()[0];return a=typeof a.then=="function"?Ll(a):a,t=t.useState()[0],(Et!==null?Et.memoizedState:null)!==t&&(et.flags|=1024),a}function $p(){var t=Nu!==0;return Nu=0,t}function Kp(t,a,s){a.updateQueue=t.updateQueue,a.flags&=-2053,t.lanes&=~s}function Gp(t){if(Au){for(t=t.memoizedState;t!==null;){var a=t.queue;a!==null&&(a.pending=null),t=t.next}Au=!1}Ai=0,ln=Et=et=null,cr=!1,Bl=Nu=0,ur=null}function Bn(){var t={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return ln===null?et.memoizedState=ln=t:ln=ln.next=t,ln}function nn(){if(Et===null){var t=et.alternate;t=t!==null?t.memoizedState:null}else t=Et.next;var a=ln===null?et.memoizedState:ln.next;if(a!==null)ln=a,Et=t;else{if(t===null)throw et.alternate===null?Error(r(467)):Error(r(310));Et=t,t={memoizedState:Et.memoizedState,baseState:Et.baseState,baseQueue:Et.baseQueue,queue:Et.queue,next:null},ln===null?et.memoizedState=ln=t:ln=ln.next=t}return ln}function Cu(){return{lastEffect:null,events:null,stores:null,memoCache:null}}function Ll(t){var a=Bl;return Bl+=1,ur===null&&(ur=[]),t=Ny(ur,t,a),a=et,(ln===null?a.memoizedState:ln.next)===null&&(a=a.alternate,B.H=a===null||a.memoizedState===null?yb:ah),t}function _u(t){if(t!==null&&typeof t=="object"){if(typeof t.then=="function")return Ll(t);if(t.$$typeof===L)return Cn(t)}throw Error(r(438,String(t)))}function Hp(t){var a=null,s=et.updateQueue;if(s!==null&&(a=s.memoCache),a==null){var c=et.alternate;c!==null&&(c=c.updateQueue,c!==null&&(c=c.memoCache,c!=null&&(a={data:c.data.map(function(p){return p.slice()}),index:0})))}if(a==null&&(a={data:[],index:0}),s===null&&(s=Cu(),et.updateQueue=s),s.memoCache=a,s=a.data[a.index],s===void 0)for(s=a.data[a.index]=Array(t),c=0;c<t;c++)s[c]=Fe;return a.index++,s}function Ni(t,a){return typeof a=="function"?a(t):a}function Tu(t){var a=nn();return Fp(a,Et,t)}function Fp(t,a,s){var c=t.queue;if(c===null)throw Error(r(311));c.lastRenderedReducer=s;var p=t.baseQueue,g=c.pending;if(g!==null){if(p!==null){var w=p.next;p.next=g.next,g.next=w}a.baseQueue=p=g,c.pending=null}if(g=t.baseState,p===null)t.memoizedState=g;else{a=p.next;var A=w=null,D=null,G=a,te=!1;do{var se=G.lane&-536870913;if(se!==G.lane?(ut&se)===se:(Ai&se)===se){var Z=G.revertLane;if(Z===0)D!==null&&(D=D.next={lane:0,revertLane:0,gesture:null,action:G.action,hasEagerState:G.hasEagerState,eagerState:G.eagerState,next:null}),se===ir&&(te=!0);else if((Ai&Z)===Z){G=G.next,Z===ir&&(te=!0);continue}else se={lane:0,revertLane:G.revertLane,gesture:null,action:G.action,hasEagerState:G.hasEagerState,eagerState:G.eagerState,next:null},D===null?(A=D=se,w=g):D=D.next=se,et.lanes|=Z,ps|=Z;se=G.action,lo&&s(g,se),g=G.hasEagerState?G.eagerState:s(g,se)}else Z={lane:se,revertLane:G.revertLane,gesture:G.gesture,action:G.action,hasEagerState:G.hasEagerState,eagerState:G.eagerState,next:null},D===null?(A=D=Z,w=g):D=D.next=Z,et.lanes|=se,ps|=se;G=G.next}while(G!==null&&G!==a);if(D===null?w=g:D.next=A,!na(g,t.memoizedState)&&(cn=!0,te&&(s=sr,s!==null)))throw s;t.memoizedState=g,t.baseState=w,t.baseQueue=D,c.lastRenderedState=g}return p===null&&(c.lanes=0),[t.memoizedState,c.dispatch]}function Qp(t){var a=nn(),s=a.queue;if(s===null)throw Error(r(311));s.lastRenderedReducer=t;var c=s.dispatch,p=s.pending,g=a.memoizedState;if(p!==null){s.pending=null;var w=p=p.next;do g=t(g,w.action),w=w.next;while(w!==p);na(g,a.memoizedState)||(cn=!0),a.memoizedState=g,a.baseQueue===null&&(a.baseState=g),s.lastRenderedState=g}return[g,c]}function qy(t,a,s){var c=et,p=nn(),g=ht;if(g){if(s===void 0)throw Error(r(407));s=s()}else s=a();var w=!na((Et||p).memoizedState,s);if(w&&(p.memoizedState=s,cn=!0),p=p.queue,Xp(Ly.bind(null,c,p,t),[t]),p.getSnapshot!==a||w||ln!==null&&ln.memoizedState.tag&1){if(c.flags|=2048,dr(9,{destroy:void 0},By.bind(null,c,p,s,a),null),zt===null)throw Error(r(349));g||(Ai&127)!==0||My(c,a,s)}return s}function My(t,a,s){t.flags|=16384,t={getSnapshot:a,value:s},a=et.updateQueue,a===null?(a=Cu(),et.updateQueue=a,a.stores=[t]):(s=a.stores,s===null?a.stores=[t]:s.push(t))}function By(t,a,s,c){a.value=s,a.getSnapshot=c,Uy(a)&&Vy(t)}function Ly(t,a,s){return s(function(){Uy(a)&&Vy(t)})}function Uy(t){var a=t.getSnapshot;t=t.value;try{var s=a();return!na(t,s)}catch{return!0}}function Vy(t){var a=Ws(t,2);a!==null&&Zn(a,t,2)}function Zp(t){var a=Bn();if(typeof t=="function"){var s=t;if(t=s(),lo){$n(!0);try{s()}finally{$n(!1)}}}return a.memoizedState=a.baseState=t,a.queue={pending:null,lanes:0,dispatch:null,lastRenderedReducer:Ni,lastRenderedState:t},a}function $y(t,a,s,c){return t.baseState=s,Fp(t,Et,typeof c=="function"?c:Ni)}function C4(t,a,s,c,p){if(Du(t))throw Error(r(485));if(t=a.action,t!==null){var g={payload:p,action:t,next:null,isTransition:!0,status:"pending",value:null,reason:null,listeners:[],then:function(w){g.listeners.push(w)}};B.T!==null?s(!0):g.isTransition=!1,c(g),s=a.pending,s===null?(g.next=a.pending=g,Ky(a,g)):(g.next=s.next,a.pending=s.next=g)}}function Ky(t,a){var s=a.action,c=a.payload,p=t.state;if(a.isTransition){var g=B.T,w={};B.T=w;try{var A=s(p,c),D=B.S;D!==null&&D(w,A),Gy(t,a,A)}catch(G){Yp(t,a,G)}finally{g!==null&&w.types!==null&&(g.types=w.types),B.T=g}}else try{g=s(p,c),Gy(t,a,g)}catch(G){Yp(t,a,G)}}function Gy(t,a,s){s!==null&&typeof s=="object"&&typeof s.then=="function"?s.then(function(c){Hy(t,a,c)},function(c){return Yp(t,a,c)}):Hy(t,a,s)}function Hy(t,a,s){a.status="fulfilled",a.value=s,Fy(a),t.state=s,a=t.pending,a!==null&&(s=a.next,s===a?t.pending=null:(s=s.next,a.next=s,Ky(t,s)))}function Yp(t,a,s){var c=t.pending;if(t.pending=null,c!==null){c=c.next;do a.status="rejected",a.reason=s,Fy(a),a=a.next;while(a!==c)}t.action=null}function Fy(t){t=t.listeners;for(var a=0;a<t.length;a++)(0,t[a])()}function Qy(t,a){return a}function Zy(t,a){if(ht){var s=zt.formState;if(s!==null){e:{var c=et;if(ht){if(qt){t:{for(var p=qt,g=ja;p.nodeType!==8;){if(!g){p=null;break t}if(p=Na(p.nextSibling),p===null){p=null;break t}}g=p.data,p=g==="F!"||g==="F"?p:null}if(p){qt=Na(p.nextSibling),c=p.data==="F!";break e}}is(c)}c=!1}c&&(a=s[0])}}return s=Bn(),s.memoizedState=s.baseState=a,c={pending:null,lanes:0,dispatch:null,lastRenderedReducer:Qy,lastRenderedState:a},s.queue=c,s=hb.bind(null,et,c),c.dispatch=s,c=Zp(!1),g=nh.bind(null,et,!1,c.queue),c=Bn(),p={state:a,dispatch:null,action:t,pending:null},c.queue=p,s=C4.bind(null,et,p,g,s),p.dispatch=s,c.memoizedState=t,[a,s,!1]}function Yy(t){var a=nn();return Xy(a,Et,t)}function Xy(t,a,s){if(a=Fp(t,a,Qy)[0],t=Tu(Ni)[0],typeof a=="object"&&a!==null&&typeof a.then=="function")try{var c=Ll(a)}catch(w){throw w===or?vu:w}else c=a;a=nn();var p=a.queue,g=p.dispatch;return s!==a.memoizedState&&(et.flags|=2048,dr(9,{destroy:void 0},_4.bind(null,p,s),null)),[c,g,t]}function _4(t,a){t.action=a}function Jy(t){var a=nn(),s=Et;if(s!==null)return Xy(a,s,t);nn(),a=a.memoizedState,s=nn();var c=s.queue.dispatch;return s.memoizedState=t,[a,c,!1]}function dr(t,a,s,c){return t={tag:t,create:s,deps:c,inst:a,next:null},a=et.updateQueue,a===null&&(a=Cu(),et.updateQueue=a),s=a.lastEffect,s===null?a.lastEffect=t.next=t:(c=s.next,s.next=t,t.next=c,a.lastEffect=t),t}function Wy(){return nn().memoizedState}function Eu(t,a,s,c){var p=Bn();et.flags|=t,p.memoizedState=dr(1|a,{destroy:void 0},s,c===void 0?null:c)}function Ru(t,a,s,c){var p=nn();c=c===void 0?null:c;var g=p.memoizedState.inst;Et!==null&&c!==null&&Up(c,Et.memoizedState.deps)?p.memoizedState=dr(a,g,s,c):(et.flags|=t,p.memoizedState=dr(1|a,g,s,c))}function eb(t,a){Eu(8390656,8,t,a)}function Xp(t,a){Ru(2048,8,t,a)}function T4(t){et.flags|=4;var a=et.updateQueue;if(a===null)a=Cu(),et.updateQueue=a,a.events=[t];else{var s=a.events;s===null?a.events=[t]:s.push(t)}}function tb(t){var a=nn().memoizedState;return T4({ref:a,nextImpl:t}),function(){if((wt&2)!==0)throw Error(r(440));return a.impl.apply(void 0,arguments)}}function nb(t,a){return Ru(4,2,t,a)}function ab(t,a){return Ru(4,4,t,a)}function ib(t,a){if(typeof a=="function"){t=t();var s=a(t);return function(){typeof s=="function"?s():a(null)}}if(a!=null)return t=t(),a.current=t,function(){a.current=null}}function sb(t,a,s){s=s!=null?s.concat([t]):null,Ru(4,4,ib.bind(null,a,t),s)}function Jp(){}function ob(t,a){var s=nn();a=a===void 0?null:a;var c=s.memoizedState;return a!==null&&Up(a,c[1])?c[0]:(s.memoizedState=[t,a],t)}function rb(t,a){var s=nn();a=a===void 0?null:a;var c=s.memoizedState;if(a!==null&&Up(a,c[1]))return c[0];if(c=t(),lo){$n(!0);try{t()}finally{$n(!1)}}return s.memoizedState=[c,a],c}function Wp(t,a,s){return s===void 0||(Ai&1073741824)!==0&&(ut&261930)===0?t.memoizedState=a:(t.memoizedState=s,t=lv(),et.lanes|=t,ps|=t,s)}function lb(t,a,s,c){return na(s,a)?s:lr.current!==null?(t=Wp(t,s,c),na(t,a)||(cn=!0),t):(Ai&42)===0||(Ai&1073741824)!==0&&(ut&261930)===0?(cn=!0,t.memoizedState=s):(t=lv(),et.lanes|=t,ps|=t,a)}function cb(t,a,s,c,p){var g=ee.p;ee.p=g!==0&&8>g?g:8;var w=B.T,A={};B.T=A,nh(t,!1,a,s);try{var D=p(),G=B.S;if(G!==null&&G(A,D),D!==null&&typeof D=="object"&&typeof D.then=="function"){var te=j4(D,c);Ul(t,a,te,la(t))}else Ul(t,a,c,la(t))}catch(se){Ul(t,a,{then:function(){},status:"rejected",reason:se},la())}finally{ee.p=g,w!==null&&A.types!==null&&(w.types=A.types),B.T=w}}function E4(){}function eh(t,a,s,c){if(t.tag!==5)throw Error(r(476));var p=ub(t).queue;cb(t,p,a,ve,s===null?E4:function(){return db(t),s(c)})}function ub(t){var a=t.memoizedState;if(a!==null)return a;a={memoizedState:ve,baseState:ve,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Ni,lastRenderedState:ve},next:null};var s={};return a.next={memoizedState:s,baseState:s,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Ni,lastRenderedState:s},next:null},t.memoizedState=a,t=t.alternate,t!==null&&(t.memoizedState=a),a}function db(t){var a=ub(t);a.next===null&&(a=t.alternate.memoizedState),Ul(t,a.next.queue,{},la())}function th(){return Cn(ic)}function mb(){return nn().memoizedState}function pb(){return nn().memoizedState}function R4(t){for(var a=t.return;a!==null;){switch(a.tag){case 24:case 3:var s=la();t=rs(s);var c=ls(a,t,s);c!==null&&(Zn(c,a,s),Pl(c,a,s)),a={cache:Ep()},t.payload=a;return}a=a.return}}function D4(t,a,s){var c=la();s={lane:c,revertLane:0,gesture:null,action:s,hasEagerState:!1,eagerState:null,next:null},Du(t)?fb(a,s):(s=vp(t,a,s,c),s!==null&&(Zn(s,t,c),gb(s,a,c)))}function hb(t,a,s){var c=la();Ul(t,a,s,c)}function Ul(t,a,s,c){var p={lane:c,revertLane:0,gesture:null,action:s,hasEagerState:!1,eagerState:null,next:null};if(Du(t))fb(a,p);else{var g=t.alternate;if(t.lanes===0&&(g===null||g.lanes===0)&&(g=a.lastRenderedReducer,g!==null))try{var w=a.lastRenderedState,A=g(w,s);if(p.hasEagerState=!0,p.eagerState=A,na(A,w))return mu(t,a,p,0),zt===null&&du(),!1}catch{}if(s=vp(t,a,p,c),s!==null)return Zn(s,t,c),gb(s,a,c),!0}return!1}function nh(t,a,s,c){if(c={lane:2,revertLane:Ih(),gesture:null,action:c,hasEagerState:!1,eagerState:null,next:null},Du(t)){if(a)throw Error(r(479))}else a=vp(t,s,c,2),a!==null&&Zn(a,t,2)}function Du(t){var a=t.alternate;return t===et||a!==null&&a===et}function fb(t,a){cr=Au=!0;var s=t.pending;s===null?a.next=a:(a.next=s.next,s.next=a),t.pending=a}function gb(t,a,s){if((s&4194048)!==0){var c=a.lanes;c&=t.pendingLanes,s|=c,a.lanes=s,ol(t,s)}}var Vl={readContext:Cn,use:_u,useCallback:Jt,useContext:Jt,useEffect:Jt,useImperativeHandle:Jt,useLayoutEffect:Jt,useInsertionEffect:Jt,useMemo:Jt,useReducer:Jt,useRef:Jt,useState:Jt,useDebugValue:Jt,useDeferredValue:Jt,useTransition:Jt,useSyncExternalStore:Jt,useId:Jt,useHostTransitionStatus:Jt,useFormState:Jt,useActionState:Jt,useOptimistic:Jt,useMemoCache:Jt,useCacheRefresh:Jt};Vl.useEffectEvent=Jt;var yb={readContext:Cn,use:_u,useCallback:function(t,a){return Bn().memoizedState=[t,a===void 0?null:a],t},useContext:Cn,useEffect:eb,useImperativeHandle:function(t,a,s){s=s!=null?s.concat([t]):null,Eu(4194308,4,ib.bind(null,a,t),s)},useLayoutEffect:function(t,a){return Eu(4194308,4,t,a)},useInsertionEffect:function(t,a){Eu(4,2,t,a)},useMemo:function(t,a){var s=Bn();a=a===void 0?null:a;var c=t();if(lo){$n(!0);try{t()}finally{$n(!1)}}return s.memoizedState=[c,a],c},useReducer:function(t,a,s){var c=Bn();if(s!==void 0){var p=s(a);if(lo){$n(!0);try{s(a)}finally{$n(!1)}}}else p=a;return c.memoizedState=c.baseState=p,t={pending:null,lanes:0,dispatch:null,lastRenderedReducer:t,lastRenderedState:p},c.queue=t,t=t.dispatch=D4.bind(null,et,t),[c.memoizedState,t]},useRef:function(t){var a=Bn();return t={current:t},a.memoizedState=t},useState:function(t){t=Zp(t);var a=t.queue,s=hb.bind(null,et,a);return a.dispatch=s,[t.memoizedState,s]},useDebugValue:Jp,useDeferredValue:function(t,a){var s=Bn();return Wp(s,t,a)},useTransition:function(){var t=Zp(!1);return t=cb.bind(null,et,t.queue,!0,!1),Bn().memoizedState=t,[!1,t]},useSyncExternalStore:function(t,a,s){var c=et,p=Bn();if(ht){if(s===void 0)throw Error(r(407));s=s()}else{if(s=a(),zt===null)throw Error(r(349));(ut&127)!==0||My(c,a,s)}p.memoizedState=s;var g={value:s,getSnapshot:a};return p.queue=g,eb(Ly.bind(null,c,g,t),[t]),c.flags|=2048,dr(9,{destroy:void 0},By.bind(null,c,g,s,a),null),s},useId:function(){var t=Bn(),a=zt.identifierPrefix;if(ht){var s=ti,c=ei;s=(c&~(1<<32-Zt(c)-1)).toString(32)+s,a="_"+a+"R_"+s,s=Nu++,0<s&&(a+="H"+s.toString(32)),a+="_"}else s=A4++,a="_"+a+"r_"+s.toString(32)+"_";return t.memoizedState=a},useHostTransitionStatus:th,useFormState:Zy,useActionState:Zy,useOptimistic:function(t){var a=Bn();a.memoizedState=a.baseState=t;var s={pending:null,lanes:0,dispatch:null,lastRenderedReducer:null,lastRenderedState:null};return a.queue=s,a=nh.bind(null,et,!0,s),s.dispatch=a,[t,a]},useMemoCache:Hp,useCacheRefresh:function(){return Bn().memoizedState=R4.bind(null,et)},useEffectEvent:function(t){var a=Bn(),s={impl:t};return a.memoizedState=s,function(){if((wt&2)!==0)throw Error(r(440));return s.impl.apply(void 0,arguments)}}},ah={readContext:Cn,use:_u,useCallback:ob,useContext:Cn,useEffect:Xp,useImperativeHandle:sb,useInsertionEffect:nb,useLayoutEffect:ab,useMemo:rb,useReducer:Tu,useRef:Wy,useState:function(){return Tu(Ni)},useDebugValue:Jp,useDeferredValue:function(t,a){var s=nn();return lb(s,Et.memoizedState,t,a)},useTransition:function(){var t=Tu(Ni)[0],a=nn().memoizedState;return[typeof t=="boolean"?t:Ll(t),a]},useSyncExternalStore:qy,useId:mb,useHostTransitionStatus:th,useFormState:Yy,useActionState:Yy,useOptimistic:function(t,a){var s=nn();return $y(s,Et,t,a)},useMemoCache:Hp,useCacheRefresh:pb};ah.useEffectEvent=tb;var bb={readContext:Cn,use:_u,useCallback:ob,useContext:Cn,useEffect:Xp,useImperativeHandle:sb,useInsertionEffect:nb,useLayoutEffect:ab,useMemo:rb,useReducer:Qp,useRef:Wy,useState:function(){return Qp(Ni)},useDebugValue:Jp,useDeferredValue:function(t,a){var s=nn();return Et===null?Wp(s,t,a):lb(s,Et.memoizedState,t,a)},useTransition:function(){var t=Qp(Ni)[0],a=nn().memoizedState;return[typeof t=="boolean"?t:Ll(t),a]},useSyncExternalStore:qy,useId:mb,useHostTransitionStatus:th,useFormState:Jy,useActionState:Jy,useOptimistic:function(t,a){var s=nn();return Et!==null?$y(s,Et,t,a):(s.baseState=t,[t,s.queue.dispatch])},useMemoCache:Hp,useCacheRefresh:pb};bb.useEffectEvent=tb;function ih(t,a,s,c){a=t.memoizedState,s=s(c,a),s=s==null?a:S({},a,s),t.memoizedState=s,t.lanes===0&&(t.updateQueue.baseState=s)}var sh={enqueueSetState:function(t,a,s){t=t._reactInternals;var c=la(),p=rs(c);p.payload=a,s!=null&&(p.callback=s),a=ls(t,p,c),a!==null&&(Zn(a,t,c),Pl(a,t,c))},enqueueReplaceState:function(t,a,s){t=t._reactInternals;var c=la(),p=rs(c);p.tag=1,p.payload=a,s!=null&&(p.callback=s),a=ls(t,p,c),a!==null&&(Zn(a,t,c),Pl(a,t,c))},enqueueForceUpdate:function(t,a){t=t._reactInternals;var s=la(),c=rs(s);c.tag=2,a!=null&&(c.callback=a),a=ls(t,c,s),a!==null&&(Zn(a,t,s),Pl(a,t,s))}};function vb(t,a,s,c,p,g,w){return t=t.stateNode,typeof t.shouldComponentUpdate=="function"?t.shouldComponentUpdate(c,g,w):a.prototype&&a.prototype.isPureReactComponent?!_l(s,c)||!_l(p,g):!0}function xb(t,a,s,c){t=a.state,typeof a.componentWillReceiveProps=="function"&&a.componentWillReceiveProps(s,c),typeof a.UNSAFE_componentWillReceiveProps=="function"&&a.UNSAFE_componentWillReceiveProps(s,c),a.state!==t&&sh.enqueueReplaceState(a,a.state,null)}function co(t,a){var s=a;if("ref"in a){s={};for(var c in a)c!=="ref"&&(s[c]=a[c])}if(t=t.defaultProps){s===a&&(s=S({},s));for(var p in t)s[p]===void 0&&(s[p]=t[p])}return s}function wb(t){uu(t)}function kb(t){console.error(t)}function Sb(t){uu(t)}function zu(t,a){try{var s=t.onUncaughtError;s(a.value,{componentStack:a.stack})}catch(c){setTimeout(function(){throw c})}}function jb(t,a,s){try{var c=t.onCaughtError;c(s.value,{componentStack:s.stack,errorBoundary:a.tag===1?a.stateNode:null})}catch(p){setTimeout(function(){throw p})}}function oh(t,a,s){return s=rs(s),s.tag=3,s.payload={element:null},s.callback=function(){zu(t,a)},s}function Ab(t){return t=rs(t),t.tag=3,t}function Nb(t,a,s,c){var p=s.type.getDerivedStateFromError;if(typeof p=="function"){var g=c.value;t.payload=function(){return p(g)},t.callback=function(){jb(a,s,c)}}var w=s.stateNode;w!==null&&typeof w.componentDidCatch=="function"&&(t.callback=function(){jb(a,s,c),typeof p!="function"&&(hs===null?hs=new Set([this]):hs.add(this));var A=c.stack;this.componentDidCatch(c.value,{componentStack:A!==null?A:""})})}function z4(t,a,s,c,p){if(s.flags|=32768,c!==null&&typeof c=="object"&&typeof c.then=="function"){if(a=s.alternate,a!==null&&ar(a,s,p,!0),s=ia.current,s!==null){switch(s.tag){case 31:case 13:return Aa===null?Gu():s.alternate===null&&Wt===0&&(Wt=3),s.flags&=-257,s.flags|=65536,s.lanes=p,c===xu?s.flags|=16384:(a=s.updateQueue,a===null?s.updateQueue=new Set([c]):a.add(c),Rh(t,c,p)),!1;case 22:return s.flags|=65536,c===xu?s.flags|=16384:(a=s.updateQueue,a===null?(a={transitions:null,markerInstances:null,retryQueue:new Set([c])},s.updateQueue=a):(s=a.retryQueue,s===null?a.retryQueue=new Set([c]):s.add(c)),Rh(t,c,p)),!1}throw Error(r(435,s.tag))}return Rh(t,c,p),Gu(),!1}if(ht)return a=ia.current,a!==null?((a.flags&65536)===0&&(a.flags|=256),a.flags|=65536,a.lanes=p,c!==Ap&&(t=Error(r(422),{cause:c}),Rl(wa(t,s)))):(c!==Ap&&(a=Error(r(423),{cause:c}),Rl(wa(a,s))),t=t.current.alternate,t.flags|=65536,p&=-p,t.lanes|=p,c=wa(c,s),p=oh(t.stateNode,c,p),Pp(t,p),Wt!==4&&(Wt=2)),!1;var g=Error(r(520),{cause:c});if(g=wa(g,s),Yl===null?Yl=[g]:Yl.push(g),Wt!==4&&(Wt=2),a===null)return!0;c=wa(c,s),s=a;do{switch(s.tag){case 3:return s.flags|=65536,t=p&-p,s.lanes|=t,t=oh(s.stateNode,c,t),Pp(s,t),!1;case 1:if(a=s.type,g=s.stateNode,(s.flags&128)===0&&(typeof a.getDerivedStateFromError=="function"||g!==null&&typeof g.componentDidCatch=="function"&&(hs===null||!hs.has(g))))return s.flags|=65536,p&=-p,s.lanes|=p,p=Ab(p),Nb(p,t,s,c),Pp(s,p),!1}s=s.return}while(s!==null);return!1}var rh=Error(r(461)),cn=!1;function _n(t,a,s,c){a.child=t===null?Ey(a,null,s,c):ro(a,t.child,s,c)}function Cb(t,a,s,c,p){s=s.render;var g=a.ref;if("ref"in c){var w={};for(var A in c)A!=="ref"&&(w[A]=c[A])}else w=c;return ao(a),c=Vp(t,a,s,w,g,p),A=$p(),t!==null&&!cn?(Kp(t,a,p),Ci(t,a,p)):(ht&&A&&Sp(a),a.flags|=1,_n(t,a,c,p),a.child)}function _b(t,a,s,c,p){if(t===null){var g=s.type;return typeof g=="function"&&!xp(g)&&g.defaultProps===void 0&&s.compare===null?(a.tag=15,a.type=g,Tb(t,a,g,c,p)):(t=hu(s.type,null,c,a,a.mode,p),t.ref=a.ref,t.return=a,a.child=t)}if(g=t.child,!fh(t,p)){var w=g.memoizedProps;if(s=s.compare,s=s!==null?s:_l,s(w,c)&&t.ref===a.ref)return Ci(t,a,p)}return a.flags|=1,t=wi(g,c),t.ref=a.ref,t.return=a,a.child=t}function Tb(t,a,s,c,p){if(t!==null){var g=t.memoizedProps;if(_l(g,c)&&t.ref===a.ref)if(cn=!1,a.pendingProps=c=g,fh(t,p))(t.flags&131072)!==0&&(cn=!0);else return a.lanes=t.lanes,Ci(t,a,p)}return lh(t,a,s,c,p)}function Eb(t,a,s,c){var p=c.children,g=t!==null?t.memoizedState:null;if(t===null&&a.stateNode===null&&(a.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),c.mode==="hidden"){if((a.flags&128)!==0){if(g=g!==null?g.baseLanes|s:s,t!==null){for(c=a.child=t.child,p=0;c!==null;)p=p|c.lanes|c.childLanes,c=c.sibling;c=p&~g}else c=0,a.child=null;return Rb(t,a,g,s,c)}if((s&536870912)!==0)a.memoizedState={baseLanes:0,cachePool:null},t!==null&&bu(a,g!==null?g.cachePool:null),g!==null?zy(a,g):Mp(),Iy(a);else return c=a.lanes=536870912,Rb(t,a,g!==null?g.baseLanes|s:s,s,c)}else g!==null?(bu(a,g.cachePool),zy(a,g),us(),a.memoizedState=null):(t!==null&&bu(a,null),Mp(),us());return _n(t,a,p,s),a.child}function $l(t,a){return t!==null&&t.tag===22||a.stateNode!==null||(a.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),a.sibling}function Rb(t,a,s,c,p){var g=Dp();return g=g===null?null:{parent:rn._currentValue,pool:g},a.memoizedState={baseLanes:s,cachePool:g},t!==null&&bu(a,null),Mp(),Iy(a),t!==null&&ar(t,a,c,!0),a.childLanes=p,null}function Iu(t,a){return a=Pu({mode:a.mode,children:a.children},t.mode),a.ref=t.ref,t.child=a,a.return=t,a}function Db(t,a,s){return ro(a,t.child,null,s),t=Iu(a,a.pendingProps),t.flags|=2,sa(a),a.memoizedState=null,t}function I4(t,a,s){var c=a.pendingProps,p=(a.flags&128)!==0;if(a.flags&=-129,t===null){if(ht){if(c.mode==="hidden")return t=Iu(a,c),a.lanes=536870912,$l(null,t);if(Lp(a),(t=qt)?(t=Kv(t,ja),t=t!==null&&t.data==="&"?t:null,t!==null&&(a.memoizedState={dehydrated:t,treeContext:ns!==null?{id:ei,overflow:ti}:null,retryLane:536870912,hydrationErrors:null},s=fy(t),s.return=a,a.child=s,Nn=a,qt=null)):t=null,t===null)throw is(a);return a.lanes=536870912,null}return Iu(a,c)}var g=t.memoizedState;if(g!==null){var w=g.dehydrated;if(Lp(a),p)if(a.flags&256)a.flags&=-257,a=Db(t,a,s);else if(a.memoizedState!==null)a.child=t.child,a.flags|=128,a=null;else throw Error(r(558));else if(cn||ar(t,a,s,!1),p=(s&t.childLanes)!==0,cn||p){if(c=zt,c!==null&&(w=rl(c,s),w!==0&&w!==g.retryLane))throw g.retryLane=w,Ws(t,w),Zn(c,t,w),rh;Gu(),a=Db(t,a,s)}else t=g.treeContext,qt=Na(w.nextSibling),Nn=a,ht=!0,as=null,ja=!1,t!==null&&by(a,t),a=Iu(a,c),a.flags|=4096;return a}return t=wi(t.child,{mode:c.mode,children:c.children}),t.ref=a.ref,a.child=t,t.return=a,t}function Ou(t,a){var s=a.ref;if(s===null)t!==null&&t.ref!==null&&(a.flags|=4194816);else{if(typeof s!="function"&&typeof s!="object")throw Error(r(284));(t===null||t.ref!==s)&&(a.flags|=4194816)}}function lh(t,a,s,c,p){return ao(a),s=Vp(t,a,s,c,void 0,p),c=$p(),t!==null&&!cn?(Kp(t,a,p),Ci(t,a,p)):(ht&&c&&Sp(a),a.flags|=1,_n(t,a,s,p),a.child)}function zb(t,a,s,c,p,g){return ao(a),a.updateQueue=null,s=Py(a,c,s,p),Oy(t),c=$p(),t!==null&&!cn?(Kp(t,a,g),Ci(t,a,g)):(ht&&c&&Sp(a),a.flags|=1,_n(t,a,s,g),a.child)}function Ib(t,a,s,c,p){if(ao(a),a.stateNode===null){var g=Wo,w=s.contextType;typeof w=="object"&&w!==null&&(g=Cn(w)),g=new s(c,g),a.memoizedState=g.state!==null&&g.state!==void 0?g.state:null,g.updater=sh,a.stateNode=g,g._reactInternals=a,g=a.stateNode,g.props=c,g.state=a.memoizedState,g.refs={},Ip(a),w=s.contextType,g.context=typeof w=="object"&&w!==null?Cn(w):Wo,g.state=a.memoizedState,w=s.getDerivedStateFromProps,typeof w=="function"&&(ih(a,s,w,c),g.state=a.memoizedState),typeof s.getDerivedStateFromProps=="function"||typeof g.getSnapshotBeforeUpdate=="function"||typeof g.UNSAFE_componentWillMount!="function"&&typeof g.componentWillMount!="function"||(w=g.state,typeof g.componentWillMount=="function"&&g.componentWillMount(),typeof g.UNSAFE_componentWillMount=="function"&&g.UNSAFE_componentWillMount(),w!==g.state&&sh.enqueueReplaceState(g,g.state,null),Ml(a,c,g,p),ql(),g.state=a.memoizedState),typeof g.componentDidMount=="function"&&(a.flags|=4194308),c=!0}else if(t===null){g=a.stateNode;var A=a.memoizedProps,D=co(s,A);g.props=D;var G=g.context,te=s.contextType;w=Wo,typeof te=="object"&&te!==null&&(w=Cn(te));var se=s.getDerivedStateFromProps;te=typeof se=="function"||typeof g.getSnapshotBeforeUpdate=="function",A=a.pendingProps!==A,te||typeof g.UNSAFE_componentWillReceiveProps!="function"&&typeof g.componentWillReceiveProps!="function"||(A||G!==w)&&xb(a,g,c,w),os=!1;var Z=a.memoizedState;g.state=Z,Ml(a,c,g,p),ql(),G=a.memoizedState,A||Z!==G||os?(typeof se=="function"&&(ih(a,s,se,c),G=a.memoizedState),(D=os||vb(a,s,D,c,Z,G,w))?(te||typeof g.UNSAFE_componentWillMount!="function"&&typeof g.componentWillMount!="function"||(typeof g.componentWillMount=="function"&&g.componentWillMount(),typeof g.UNSAFE_componentWillMount=="function"&&g.UNSAFE_componentWillMount()),typeof g.componentDidMount=="function"&&(a.flags|=4194308)):(typeof g.componentDidMount=="function"&&(a.flags|=4194308),a.memoizedProps=c,a.memoizedState=G),g.props=c,g.state=G,g.context=w,c=D):(typeof g.componentDidMount=="function"&&(a.flags|=4194308),c=!1)}else{g=a.stateNode,Op(t,a),w=a.memoizedProps,te=co(s,w),g.props=te,se=a.pendingProps,Z=g.context,G=s.contextType,D=Wo,typeof G=="object"&&G!==null&&(D=Cn(G)),A=s.getDerivedStateFromProps,(G=typeof A=="function"||typeof g.getSnapshotBeforeUpdate=="function")||typeof g.UNSAFE_componentWillReceiveProps!="function"&&typeof g.componentWillReceiveProps!="function"||(w!==se||Z!==D)&&xb(a,g,c,D),os=!1,Z=a.memoizedState,g.state=Z,Ml(a,c,g,p),ql();var X=a.memoizedState;w!==se||Z!==X||os||t!==null&&t.dependencies!==null&&gu(t.dependencies)?(typeof A=="function"&&(ih(a,s,A,c),X=a.memoizedState),(te=os||vb(a,s,te,c,Z,X,D)||t!==null&&t.dependencies!==null&&gu(t.dependencies))?(G||typeof g.UNSAFE_componentWillUpdate!="function"&&typeof g.componentWillUpdate!="function"||(typeof g.componentWillUpdate=="function"&&g.componentWillUpdate(c,X,D),typeof g.UNSAFE_componentWillUpdate=="function"&&g.UNSAFE_componentWillUpdate(c,X,D)),typeof g.componentDidUpdate=="function"&&(a.flags|=4),typeof g.getSnapshotBeforeUpdate=="function"&&(a.flags|=1024)):(typeof g.componentDidUpdate!="function"||w===t.memoizedProps&&Z===t.memoizedState||(a.flags|=4),typeof g.getSnapshotBeforeUpdate!="function"||w===t.memoizedProps&&Z===t.memoizedState||(a.flags|=1024),a.memoizedProps=c,a.memoizedState=X),g.props=c,g.state=X,g.context=D,c=te):(typeof g.componentDidUpdate!="function"||w===t.memoizedProps&&Z===t.memoizedState||(a.flags|=4),typeof g.getSnapshotBeforeUpdate!="function"||w===t.memoizedProps&&Z===t.memoizedState||(a.flags|=1024),c=!1)}return g=c,Ou(t,a),c=(a.flags&128)!==0,g||c?(g=a.stateNode,s=c&&typeof s.getDerivedStateFromError!="function"?null:g.render(),a.flags|=1,t!==null&&c?(a.child=ro(a,t.child,null,p),a.child=ro(a,null,s,p)):_n(t,a,s,p),a.memoizedState=g.state,t=a.child):t=Ci(t,a,p),t}function Ob(t,a,s,c){return to(),a.flags|=256,_n(t,a,s,c),a.child}var ch={dehydrated:null,treeContext:null,retryLane:0,hydrationErrors:null};function uh(t){return{baseLanes:t,cachePool:jy()}}function dh(t,a,s){return t=t!==null?t.childLanes&~s:0,a&&(t|=ra),t}function Pb(t,a,s){var c=a.pendingProps,p=!1,g=(a.flags&128)!==0,w;if((w=g)||(w=t!==null&&t.memoizedState===null?!1:(tn.current&2)!==0),w&&(p=!0,a.flags&=-129),w=(a.flags&32)!==0,a.flags&=-33,t===null){if(ht){if(p?cs(a):us(),(t=qt)?(t=Kv(t,ja),t=t!==null&&t.data!=="&"?t:null,t!==null&&(a.memoizedState={dehydrated:t,treeContext:ns!==null?{id:ei,overflow:ti}:null,retryLane:536870912,hydrationErrors:null},s=fy(t),s.return=a,a.child=s,Nn=a,qt=null)):t=null,t===null)throw is(a);return Fh(t)?a.lanes=32:a.lanes=536870912,null}var A=c.children;return c=c.fallback,p?(us(),p=a.mode,A=Pu({mode:"hidden",children:A},p),c=eo(c,p,s,null),A.return=a,c.return=a,A.sibling=c,a.child=A,c=a.child,c.memoizedState=uh(s),c.childLanes=dh(t,w,s),a.memoizedState=ch,$l(null,c)):(cs(a),mh(a,A))}var D=t.memoizedState;if(D!==null&&(A=D.dehydrated,A!==null)){if(g)a.flags&256?(cs(a),a.flags&=-257,a=ph(t,a,s)):a.memoizedState!==null?(us(),a.child=t.child,a.flags|=128,a=null):(us(),A=c.fallback,p=a.mode,c=Pu({mode:"visible",children:c.children},p),A=eo(A,p,s,null),A.flags|=2,c.return=a,A.return=a,c.sibling=A,a.child=c,ro(a,t.child,null,s),c=a.child,c.memoizedState=uh(s),c.childLanes=dh(t,w,s),a.memoizedState=ch,a=$l(null,c));else if(cs(a),Fh(A)){if(w=A.nextSibling&&A.nextSibling.dataset,w)var G=w.dgst;w=G,c=Error(r(419)),c.stack="",c.digest=w,Rl({value:c,source:null,stack:null}),a=ph(t,a,s)}else if(cn||ar(t,a,s,!1),w=(s&t.childLanes)!==0,cn||w){if(w=zt,w!==null&&(c=rl(w,s),c!==0&&c!==D.retryLane))throw D.retryLane=c,Ws(t,c),Zn(w,t,c),rh;Hh(A)||Gu(),a=ph(t,a,s)}else Hh(A)?(a.flags|=192,a.child=t.child,a=null):(t=D.treeContext,qt=Na(A.nextSibling),Nn=a,ht=!0,as=null,ja=!1,t!==null&&by(a,t),a=mh(a,c.children),a.flags|=4096);return a}return p?(us(),A=c.fallback,p=a.mode,D=t.child,G=D.sibling,c=wi(D,{mode:"hidden",children:c.children}),c.subtreeFlags=D.subtreeFlags&65011712,G!==null?A=wi(G,A):(A=eo(A,p,s,null),A.flags|=2),A.return=a,c.return=a,c.sibling=A,a.child=c,$l(null,c),c=a.child,A=t.child.memoizedState,A===null?A=uh(s):(p=A.cachePool,p!==null?(D=rn._currentValue,p=p.parent!==D?{parent:D,pool:D}:p):p=jy(),A={baseLanes:A.baseLanes|s,cachePool:p}),c.memoizedState=A,c.childLanes=dh(t,w,s),a.memoizedState=ch,$l(t.child,c)):(cs(a),s=t.child,t=s.sibling,s=wi(s,{mode:"visible",children:c.children}),s.return=a,s.sibling=null,t!==null&&(w=a.deletions,w===null?(a.deletions=[t],a.flags|=16):w.push(t)),a.child=s,a.memoizedState=null,s)}function mh(t,a){return a=Pu({mode:"visible",children:a},t.mode),a.return=t,t.child=a}function Pu(t,a){return t=aa(22,t,null,a),t.lanes=0,t}function ph(t,a,s){return ro(a,t.child,null,s),t=mh(a,a.pendingProps.children),t.flags|=2,a.memoizedState=null,t}function qb(t,a,s){t.lanes|=a;var c=t.alternate;c!==null&&(c.lanes|=a),_p(t.return,a,s)}function hh(t,a,s,c,p,g){var w=t.memoizedState;w===null?t.memoizedState={isBackwards:a,rendering:null,renderingStartTime:0,last:c,tail:s,tailMode:p,treeForkCount:g}:(w.isBackwards=a,w.rendering=null,w.renderingStartTime=0,w.last=c,w.tail=s,w.tailMode=p,w.treeForkCount=g)}function Mb(t,a,s){var c=a.pendingProps,p=c.revealOrder,g=c.tail;c=c.children;var w=tn.current,A=(w&2)!==0;if(A?(w=w&1|2,a.flags|=128):w&=1,xe(tn,w),_n(t,a,c,s),c=ht?El:0,!A&&t!==null&&(t.flags&128)!==0)e:for(t=a.child;t!==null;){if(t.tag===13)t.memoizedState!==null&&qb(t,s,a);else if(t.tag===19)qb(t,s,a);else if(t.child!==null){t.child.return=t,t=t.child;continue}if(t===a)break e;for(;t.sibling===null;){if(t.return===null||t.return===a)break e;t=t.return}t.sibling.return=t.return,t=t.sibling}switch(p){case"forwards":for(s=a.child,p=null;s!==null;)t=s.alternate,t!==null&&ju(t)===null&&(p=s),s=s.sibling;s=p,s===null?(p=a.child,a.child=null):(p=s.sibling,s.sibling=null),hh(a,!1,p,s,g,c);break;case"backwards":case"unstable_legacy-backwards":for(s=null,p=a.child,a.child=null;p!==null;){if(t=p.alternate,t!==null&&ju(t)===null){a.child=p;break}t=p.sibling,p.sibling=s,s=p,p=t}hh(a,!0,s,null,g,c);break;case"together":hh(a,!1,null,null,void 0,c);break;default:a.memoizedState=null}return a.child}function Ci(t,a,s){if(t!==null&&(a.dependencies=t.dependencies),ps|=a.lanes,(s&a.childLanes)===0)if(t!==null){if(ar(t,a,s,!1),(s&a.childLanes)===0)return null}else return null;if(t!==null&&a.child!==t.child)throw Error(r(153));if(a.child!==null){for(t=a.child,s=wi(t,t.pendingProps),a.child=s,s.return=a;t.sibling!==null;)t=t.sibling,s=s.sibling=wi(t,t.pendingProps),s.return=a;s.sibling=null}return a.child}function fh(t,a){return(t.lanes&a)!==0?!0:(t=t.dependencies,!!(t!==null&&gu(t)))}function O4(t,a,s){switch(a.tag){case 3:Pe(a,a.stateNode.containerInfo),ss(a,rn,t.memoizedState.cache),to();break;case 27:case 5:st(a);break;case 4:Pe(a,a.stateNode.containerInfo);break;case 10:ss(a,a.type,a.memoizedProps.value);break;case 31:if(a.memoizedState!==null)return a.flags|=128,Lp(a),null;break;case 13:var c=a.memoizedState;if(c!==null)return c.dehydrated!==null?(cs(a),a.flags|=128,null):(s&a.child.childLanes)!==0?Pb(t,a,s):(cs(a),t=Ci(t,a,s),t!==null?t.sibling:null);cs(a);break;case 19:var p=(t.flags&128)!==0;if(c=(s&a.childLanes)!==0,c||(ar(t,a,s,!1),c=(s&a.childLanes)!==0),p){if(c)return Mb(t,a,s);a.flags|=128}if(p=a.memoizedState,p!==null&&(p.rendering=null,p.tail=null,p.lastEffect=null),xe(tn,tn.current),c)break;return null;case 22:return a.lanes=0,Eb(t,a,s,a.pendingProps);case 24:ss(a,rn,t.memoizedState.cache)}return Ci(t,a,s)}function Bb(t,a,s){if(t!==null)if(t.memoizedProps!==a.pendingProps)cn=!0;else{if(!fh(t,s)&&(a.flags&128)===0)return cn=!1,O4(t,a,s);cn=(t.flags&131072)!==0}else cn=!1,ht&&(a.flags&1048576)!==0&&yy(a,El,a.index);switch(a.lanes=0,a.tag){case 16:e:{var c=a.pendingProps;if(t=so(a.elementType),a.type=t,typeof t=="function")xp(t)?(c=co(t,c),a.tag=1,a=Ib(null,a,t,c,s)):(a.tag=0,a=lh(null,a,t,c,s));else{if(t!=null){var p=t.$$typeof;if(p===$){a.tag=11,a=Cb(null,a,t,c,s);break e}else if(p===V){a.tag=14,a=_b(null,a,t,c,s);break e}}throw a=Ae(t)||t,Error(r(306,a,""))}}return a;case 0:return lh(t,a,a.type,a.pendingProps,s);case 1:return c=a.type,p=co(c,a.pendingProps),Ib(t,a,c,p,s);case 3:e:{if(Pe(a,a.stateNode.containerInfo),t===null)throw Error(r(387));c=a.pendingProps;var g=a.memoizedState;p=g.element,Op(t,a),Ml(a,c,null,s);var w=a.memoizedState;if(c=w.cache,ss(a,rn,c),c!==g.cache&&Tp(a,[rn],s,!0),ql(),c=w.element,g.isDehydrated)if(g={element:c,isDehydrated:!1,cache:w.cache},a.updateQueue.baseState=g,a.memoizedState=g,a.flags&256){a=Ob(t,a,c,s);break e}else if(c!==p){p=wa(Error(r(424)),a),Rl(p),a=Ob(t,a,c,s);break e}else for(t=a.stateNode.containerInfo,t.nodeType===9?t=t.body:t=t.nodeName==="HTML"?t.ownerDocument.body:t,qt=Na(t.firstChild),Nn=a,ht=!0,as=null,ja=!0,s=Ey(a,null,c,s),a.child=s;s;)s.flags=s.flags&-3|4096,s=s.sibling;else{if(to(),c===p){a=Ci(t,a,s);break e}_n(t,a,c,s)}a=a.child}return a;case 26:return Ou(t,a),t===null?(s=Yv(a.type,null,a.pendingProps,null))?a.memoizedState=s:ht||(s=a.type,t=a.pendingProps,c=Ju(Y.current).createElement(s),c[on]=a,c[Dn]=t,Tn(c,s,t),en(c),a.stateNode=c):a.memoizedState=Yv(a.type,t.memoizedProps,a.pendingProps,t.memoizedState),null;case 27:return st(a),t===null&&ht&&(c=a.stateNode=Fv(a.type,a.pendingProps,Y.current),Nn=a,ja=!0,p=qt,bs(a.type)?(Qh=p,qt=Na(c.firstChild)):qt=p),_n(t,a,a.pendingProps.children,s),Ou(t,a),t===null&&(a.flags|=4194304),a.child;case 5:return t===null&&ht&&((p=c=qt)&&(c=d5(c,a.type,a.pendingProps,ja),c!==null?(a.stateNode=c,Nn=a,qt=Na(c.firstChild),ja=!1,p=!0):p=!1),p||is(a)),st(a),p=a.type,g=a.pendingProps,w=t!==null?t.memoizedProps:null,c=g.children,$h(p,g)?c=null:w!==null&&$h(p,w)&&(a.flags|=32),a.memoizedState!==null&&(p=Vp(t,a,N4,null,null,s),ic._currentValue=p),Ou(t,a),_n(t,a,c,s),a.child;case 6:return t===null&&ht&&((t=s=qt)&&(s=m5(s,a.pendingProps,ja),s!==null?(a.stateNode=s,Nn=a,qt=null,t=!0):t=!1),t||is(a)),null;case 13:return Pb(t,a,s);case 4:return Pe(a,a.stateNode.containerInfo),c=a.pendingProps,t===null?a.child=ro(a,null,c,s):_n(t,a,c,s),a.child;case 11:return Cb(t,a,a.type,a.pendingProps,s);case 7:return _n(t,a,a.pendingProps,s),a.child;case 8:return _n(t,a,a.pendingProps.children,s),a.child;case 12:return _n(t,a,a.pendingProps.children,s),a.child;case 10:return c=a.pendingProps,ss(a,a.type,c.value),_n(t,a,c.children,s),a.child;case 9:return p=a.type._context,c=a.pendingProps.children,ao(a),p=Cn(p),c=c(p),a.flags|=1,_n(t,a,c,s),a.child;case 14:return _b(t,a,a.type,a.pendingProps,s);case 15:return Tb(t,a,a.type,a.pendingProps,s);case 19:return Mb(t,a,s);case 31:return I4(t,a,s);case 22:return Eb(t,a,s,a.pendingProps);case 24:return ao(a),c=Cn(rn),t===null?(p=Dp(),p===null&&(p=zt,g=Ep(),p.pooledCache=g,g.refCount++,g!==null&&(p.pooledCacheLanes|=s),p=g),a.memoizedState={parent:c,cache:p},Ip(a),ss(a,rn,p)):((t.lanes&s)!==0&&(Op(t,a),Ml(a,null,null,s),ql()),p=t.memoizedState,g=a.memoizedState,p.parent!==c?(p={parent:c,cache:c},a.memoizedState=p,a.lanes===0&&(a.memoizedState=a.updateQueue.baseState=p),ss(a,rn,c)):(c=g.cache,ss(a,rn,c),c!==p.cache&&Tp(a,[rn],s,!0))),_n(t,a,a.pendingProps.children,s),a.child;case 29:throw a.pendingProps}throw Error(r(156,a.tag))}function _i(t){t.flags|=4}function gh(t,a,s,c,p){if((a=(t.mode&32)!==0)&&(a=!1),a){if(t.flags|=16777216,(p&335544128)===p)if(t.stateNode.complete)t.flags|=8192;else if(mv())t.flags|=8192;else throw oo=xu,zp}else t.flags&=-16777217}function Lb(t,a){if(a.type!=="stylesheet"||(a.state.loading&4)!==0)t.flags&=-16777217;else if(t.flags|=16777216,!tx(a))if(mv())t.flags|=8192;else throw oo=xu,zp}function qu(t,a){a!==null&&(t.flags|=4),t.flags&16384&&(a=t.tag!==22?hi():536870912,t.lanes|=a,fr|=a)}function Kl(t,a){if(!ht)switch(t.tailMode){case"hidden":a=t.tail;for(var s=null;a!==null;)a.alternate!==null&&(s=a),a=a.sibling;s===null?t.tail=null:s.sibling=null;break;case"collapsed":s=t.tail;for(var c=null;s!==null;)s.alternate!==null&&(c=s),s=s.sibling;c===null?a||t.tail===null?t.tail=null:t.tail.sibling=null:c.sibling=null}}function Mt(t){var a=t.alternate!==null&&t.alternate.child===t.child,s=0,c=0;if(a)for(var p=t.child;p!==null;)s|=p.lanes|p.childLanes,c|=p.subtreeFlags&65011712,c|=p.flags&65011712,p.return=t,p=p.sibling;else for(p=t.child;p!==null;)s|=p.lanes|p.childLanes,c|=p.subtreeFlags,c|=p.flags,p.return=t,p=p.sibling;return t.subtreeFlags|=c,t.childLanes=s,a}function P4(t,a,s){var c=a.pendingProps;switch(jp(a),a.tag){case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return Mt(a),null;case 1:return Mt(a),null;case 3:return s=a.stateNode,c=null,t!==null&&(c=t.memoizedState.cache),a.memoizedState.cache!==c&&(a.flags|=2048),ji(rn),Ne(),s.pendingContext&&(s.context=s.pendingContext,s.pendingContext=null),(t===null||t.child===null)&&(nr(a)?_i(a):t===null||t.memoizedState.isDehydrated&&(a.flags&256)===0||(a.flags|=1024,Np())),Mt(a),null;case 26:var p=a.type,g=a.memoizedState;return t===null?(_i(a),g!==null?(Mt(a),Lb(a,g)):(Mt(a),gh(a,p,null,c,s))):g?g!==t.memoizedState?(_i(a),Mt(a),Lb(a,g)):(Mt(a),a.flags&=-16777217):(t=t.memoizedProps,t!==c&&_i(a),Mt(a),gh(a,p,t,c,s)),null;case 27:if($e(a),s=Y.current,p=a.type,t!==null&&a.stateNode!=null)t.memoizedProps!==c&&_i(a);else{if(!c){if(a.stateNode===null)throw Error(r(166));return Mt(a),null}t=de.current,nr(a)?vy(a):(t=Fv(p,c,s),a.stateNode=t,_i(a))}return Mt(a),null;case 5:if($e(a),p=a.type,t!==null&&a.stateNode!=null)t.memoizedProps!==c&&_i(a);else{if(!c){if(a.stateNode===null)throw Error(r(166));return Mt(a),null}if(g=de.current,nr(a))vy(a);else{var w=Ju(Y.current);switch(g){case 1:g=w.createElementNS("http://www.w3.org/2000/svg",p);break;case 2:g=w.createElementNS("http://www.w3.org/1998/Math/MathML",p);break;default:switch(p){case"svg":g=w.createElementNS("http://www.w3.org/2000/svg",p);break;case"math":g=w.createElementNS("http://www.w3.org/1998/Math/MathML",p);break;case"script":g=w.createElement("div"),g.innerHTML="<script><\/script>",g=g.removeChild(g.firstChild);break;case"select":g=typeof c.is=="string"?w.createElement("select",{is:c.is}):w.createElement("select"),c.multiple?g.multiple=!0:c.size&&(g.size=c.size);break;default:g=typeof c.is=="string"?w.createElement(p,{is:c.is}):w.createElement(p)}}g[on]=a,g[Dn]=c;e:for(w=a.child;w!==null;){if(w.tag===5||w.tag===6)g.appendChild(w.stateNode);else if(w.tag!==4&&w.tag!==27&&w.child!==null){w.child.return=w,w=w.child;continue}if(w===a)break e;for(;w.sibling===null;){if(w.return===null||w.return===a)break e;w=w.return}w.sibling.return=w.return,w=w.sibling}a.stateNode=g;e:switch(Tn(g,p,c),p){case"button":case"input":case"select":case"textarea":c=!!c.autoFocus;break e;case"img":c=!0;break e;default:c=!1}c&&_i(a)}}return Mt(a),gh(a,a.type,t===null?null:t.memoizedProps,a.pendingProps,s),null;case 6:if(t&&a.stateNode!=null)t.memoizedProps!==c&&_i(a);else{if(typeof c!="string"&&a.stateNode===null)throw Error(r(166));if(t=Y.current,nr(a)){if(t=a.stateNode,s=a.memoizedProps,c=null,p=Nn,p!==null)switch(p.tag){case 27:case 5:c=p.memoizedProps}t[on]=a,t=!!(t.nodeValue===s||c!==null&&c.suppressHydrationWarning===!0||Pv(t.nodeValue,s)),t||is(a,!0)}else t=Ju(t).createTextNode(c),t[on]=a,a.stateNode=t}return Mt(a),null;case 31:if(s=a.memoizedState,t===null||t.memoizedState!==null){if(c=nr(a),s!==null){if(t===null){if(!c)throw Error(r(318));if(t=a.memoizedState,t=t!==null?t.dehydrated:null,!t)throw Error(r(557));t[on]=a}else to(),(a.flags&128)===0&&(a.memoizedState=null),a.flags|=4;Mt(a),t=!1}else s=Np(),t!==null&&t.memoizedState!==null&&(t.memoizedState.hydrationErrors=s),t=!0;if(!t)return a.flags&256?(sa(a),a):(sa(a),null);if((a.flags&128)!==0)throw Error(r(558))}return Mt(a),null;case 13:if(c=a.memoizedState,t===null||t.memoizedState!==null&&t.memoizedState.dehydrated!==null){if(p=nr(a),c!==null&&c.dehydrated!==null){if(t===null){if(!p)throw Error(r(318));if(p=a.memoizedState,p=p!==null?p.dehydrated:null,!p)throw Error(r(317));p[on]=a}else to(),(a.flags&128)===0&&(a.memoizedState=null),a.flags|=4;Mt(a),p=!1}else p=Np(),t!==null&&t.memoizedState!==null&&(t.memoizedState.hydrationErrors=p),p=!0;if(!p)return a.flags&256?(sa(a),a):(sa(a),null)}return sa(a),(a.flags&128)!==0?(a.lanes=s,a):(s=c!==null,t=t!==null&&t.memoizedState!==null,s&&(c=a.child,p=null,c.alternate!==null&&c.alternate.memoizedState!==null&&c.alternate.memoizedState.cachePool!==null&&(p=c.alternate.memoizedState.cachePool.pool),g=null,c.memoizedState!==null&&c.memoizedState.cachePool!==null&&(g=c.memoizedState.cachePool.pool),g!==p&&(c.flags|=2048)),s!==t&&s&&(a.child.flags|=8192),qu(a,a.updateQueue),Mt(a),null);case 4:return Ne(),t===null&&Mh(a.stateNode.containerInfo),Mt(a),null;case 10:return ji(a.type),Mt(a),null;case 19:if(Ie(tn),c=a.memoizedState,c===null)return Mt(a),null;if(p=(a.flags&128)!==0,g=c.rendering,g===null)if(p)Kl(c,!1);else{if(Wt!==0||t!==null&&(t.flags&128)!==0)for(t=a.child;t!==null;){if(g=ju(t),g!==null){for(a.flags|=128,Kl(c,!1),t=g.updateQueue,a.updateQueue=t,qu(a,t),a.subtreeFlags=0,t=s,s=a.child;s!==null;)hy(s,t),s=s.sibling;return xe(tn,tn.current&1|2),ht&&ki(a,c.treeForkCount),a.child}t=t.sibling}c.tail!==null&&Vt()>Vu&&(a.flags|=128,p=!0,Kl(c,!1),a.lanes=4194304)}else{if(!p)if(t=ju(g),t!==null){if(a.flags|=128,p=!0,t=t.updateQueue,a.updateQueue=t,qu(a,t),Kl(c,!0),c.tail===null&&c.tailMode==="hidden"&&!g.alternate&&!ht)return Mt(a),null}else 2*Vt()-c.renderingStartTime>Vu&&s!==536870912&&(a.flags|=128,p=!0,Kl(c,!1),a.lanes=4194304);c.isBackwards?(g.sibling=a.child,a.child=g):(t=c.last,t!==null?t.sibling=g:a.child=g,c.last=g)}return c.tail!==null?(t=c.tail,c.rendering=t,c.tail=t.sibling,c.renderingStartTime=Vt(),t.sibling=null,s=tn.current,xe(tn,p?s&1|2:s&1),ht&&ki(a,c.treeForkCount),t):(Mt(a),null);case 22:case 23:return sa(a),Bp(),c=a.memoizedState!==null,t!==null?t.memoizedState!==null!==c&&(a.flags|=8192):c&&(a.flags|=8192),c?(s&536870912)!==0&&(a.flags&128)===0&&(Mt(a),a.subtreeFlags&6&&(a.flags|=8192)):Mt(a),s=a.updateQueue,s!==null&&qu(a,s.retryQueue),s=null,t!==null&&t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(s=t.memoizedState.cachePool.pool),c=null,a.memoizedState!==null&&a.memoizedState.cachePool!==null&&(c=a.memoizedState.cachePool.pool),c!==s&&(a.flags|=2048),t!==null&&Ie(io),null;case 24:return s=null,t!==null&&(s=t.memoizedState.cache),a.memoizedState.cache!==s&&(a.flags|=2048),ji(rn),Mt(a),null;case 25:return null;case 30:return null}throw Error(r(156,a.tag))}function q4(t,a){switch(jp(a),a.tag){case 1:return t=a.flags,t&65536?(a.flags=t&-65537|128,a):null;case 3:return ji(rn),Ne(),t=a.flags,(t&65536)!==0&&(t&128)===0?(a.flags=t&-65537|128,a):null;case 26:case 27:case 5:return $e(a),null;case 31:if(a.memoizedState!==null){if(sa(a),a.alternate===null)throw Error(r(340));to()}return t=a.flags,t&65536?(a.flags=t&-65537|128,a):null;case 13:if(sa(a),t=a.memoizedState,t!==null&&t.dehydrated!==null){if(a.alternate===null)throw Error(r(340));to()}return t=a.flags,t&65536?(a.flags=t&-65537|128,a):null;case 19:return Ie(tn),null;case 4:return Ne(),null;case 10:return ji(a.type),null;case 22:case 23:return sa(a),Bp(),t!==null&&Ie(io),t=a.flags,t&65536?(a.flags=t&-65537|128,a):null;case 24:return ji(rn),null;case 25:return null;default:return null}}function Ub(t,a){switch(jp(a),a.tag){case 3:ji(rn),Ne();break;case 26:case 27:case 5:$e(a);break;case 4:Ne();break;case 31:a.memoizedState!==null&&sa(a);break;case 13:sa(a);break;case 19:Ie(tn);break;case 10:ji(a.type);break;case 22:case 23:sa(a),Bp(),t!==null&&Ie(io);break;case 24:ji(rn)}}function Gl(t,a){try{var s=a.updateQueue,c=s!==null?s.lastEffect:null;if(c!==null){var p=c.next;s=p;do{if((s.tag&t)===t){c=void 0;var g=s.create,w=s.inst;c=g(),w.destroy=c}s=s.next}while(s!==p)}}catch(A){_t(a,a.return,A)}}function ds(t,a,s){try{var c=a.updateQueue,p=c!==null?c.lastEffect:null;if(p!==null){var g=p.next;c=g;do{if((c.tag&t)===t){var w=c.inst,A=w.destroy;if(A!==void 0){w.destroy=void 0,p=a;var D=s,G=A;try{G()}catch(te){_t(p,D,te)}}}c=c.next}while(c!==g)}}catch(te){_t(a,a.return,te)}}function Vb(t){var a=t.updateQueue;if(a!==null){var s=t.stateNode;try{Dy(a,s)}catch(c){_t(t,t.return,c)}}}function $b(t,a,s){s.props=co(t.type,t.memoizedProps),s.state=t.memoizedState;try{s.componentWillUnmount()}catch(c){_t(t,a,c)}}function Hl(t,a){try{var s=t.ref;if(s!==null){switch(t.tag){case 26:case 27:case 5:var c=t.stateNode;break;case 30:c=t.stateNode;break;default:c=t.stateNode}typeof s=="function"?t.refCleanup=s(c):s.current=c}}catch(p){_t(t,a,p)}}function ni(t,a){var s=t.ref,c=t.refCleanup;if(s!==null)if(typeof c=="function")try{c()}catch(p){_t(t,a,p)}finally{t.refCleanup=null,t=t.alternate,t!=null&&(t.refCleanup=null)}else if(typeof s=="function")try{s(null)}catch(p){_t(t,a,p)}else s.current=null}function Kb(t){var a=t.type,s=t.memoizedProps,c=t.stateNode;try{e:switch(a){case"button":case"input":case"select":case"textarea":s.autoFocus&&c.focus();break e;case"img":s.src?c.src=s.src:s.srcSet&&(c.srcset=s.srcSet)}}catch(p){_t(t,t.return,p)}}function yh(t,a,s){try{var c=t.stateNode;s5(c,t.type,s,a),c[Dn]=a}catch(p){_t(t,t.return,p)}}function Gb(t){return t.tag===5||t.tag===3||t.tag===26||t.tag===27&&bs(t.type)||t.tag===4}function bh(t){e:for(;;){for(;t.sibling===null;){if(t.return===null||Gb(t.return))return null;t=t.return}for(t.sibling.return=t.return,t=t.sibling;t.tag!==5&&t.tag!==6&&t.tag!==18;){if(t.tag===27&&bs(t.type)||t.flags&2||t.child===null||t.tag===4)continue e;t.child.return=t,t=t.child}if(!(t.flags&2))return t.stateNode}}function vh(t,a,s){var c=t.tag;if(c===5||c===6)t=t.stateNode,a?(s.nodeType===9?s.body:s.nodeName==="HTML"?s.ownerDocument.body:s).insertBefore(t,a):(a=s.nodeType===9?s.body:s.nodeName==="HTML"?s.ownerDocument.body:s,a.appendChild(t),s=s._reactRootContainer,s!=null||a.onclick!==null||(a.onclick=Pa));else if(c!==4&&(c===27&&bs(t.type)&&(s=t.stateNode,a=null),t=t.child,t!==null))for(vh(t,a,s),t=t.sibling;t!==null;)vh(t,a,s),t=t.sibling}function Mu(t,a,s){var c=t.tag;if(c===5||c===6)t=t.stateNode,a?s.insertBefore(t,a):s.appendChild(t);else if(c!==4&&(c===27&&bs(t.type)&&(s=t.stateNode),t=t.child,t!==null))for(Mu(t,a,s),t=t.sibling;t!==null;)Mu(t,a,s),t=t.sibling}function Hb(t){var a=t.stateNode,s=t.memoizedProps;try{for(var c=t.type,p=a.attributes;p.length;)a.removeAttributeNode(p[0]);Tn(a,c,s),a[on]=t,a[Dn]=s}catch(g){_t(t,t.return,g)}}var Ti=!1,un=!1,xh=!1,Fb=typeof WeakSet=="function"?WeakSet:Set,vn=null;function M4(t,a){if(t=t.containerInfo,Uh=sd,t=sy(t),pp(t)){if("selectionStart"in t)var s={start:t.selectionStart,end:t.selectionEnd};else e:{s=(s=t.ownerDocument)&&s.defaultView||window;var c=s.getSelection&&s.getSelection();if(c&&c.rangeCount!==0){s=c.anchorNode;var p=c.anchorOffset,g=c.focusNode;c=c.focusOffset;try{s.nodeType,g.nodeType}catch{s=null;break e}var w=0,A=-1,D=-1,G=0,te=0,se=t,Z=null;t:for(;;){for(var X;se!==s||p!==0&&se.nodeType!==3||(A=w+p),se!==g||c!==0&&se.nodeType!==3||(D=w+c),se.nodeType===3&&(w+=se.nodeValue.length),(X=se.firstChild)!==null;)Z=se,se=X;for(;;){if(se===t)break t;if(Z===s&&++G===p&&(A=w),Z===g&&++te===c&&(D=w),(X=se.nextSibling)!==null)break;se=Z,Z=se.parentNode}se=X}s=A===-1||D===-1?null:{start:A,end:D}}else s=null}s=s||{start:0,end:0}}else s=null;for(Vh={focusedElem:t,selectionRange:s},sd=!1,vn=a;vn!==null;)if(a=vn,t=a.child,(a.subtreeFlags&1028)!==0&&t!==null)t.return=a,vn=t;else for(;vn!==null;){switch(a=vn,g=a.alternate,t=a.flags,a.tag){case 0:if((t&4)!==0&&(t=a.updateQueue,t=t!==null?t.events:null,t!==null))for(s=0;s<t.length;s++)p=t[s],p.ref.impl=p.nextImpl;break;case 11:case 15:break;case 1:if((t&1024)!==0&&g!==null){t=void 0,s=a,p=g.memoizedProps,g=g.memoizedState,c=s.stateNode;try{var Ce=co(s.type,p);t=c.getSnapshotBeforeUpdate(Ce,g),c.__reactInternalSnapshotBeforeUpdate=t}catch(Ke){_t(s,s.return,Ke)}}break;case 3:if((t&1024)!==0){if(t=a.stateNode.containerInfo,s=t.nodeType,s===9)Gh(t);else if(s===1)switch(t.nodeName){case"HEAD":case"HTML":case"BODY":Gh(t);break;default:t.textContent=""}}break;case 5:case 26:case 27:case 6:case 4:case 17:break;default:if((t&1024)!==0)throw Error(r(163))}if(t=a.sibling,t!==null){t.return=a.return,vn=t;break}vn=a.return}}function Qb(t,a,s){var c=s.flags;switch(s.tag){case 0:case 11:case 15:Ri(t,s),c&4&&Gl(5,s);break;case 1:if(Ri(t,s),c&4)if(t=s.stateNode,a===null)try{t.componentDidMount()}catch(w){_t(s,s.return,w)}else{var p=co(s.type,a.memoizedProps);a=a.memoizedState;try{t.componentDidUpdate(p,a,t.__reactInternalSnapshotBeforeUpdate)}catch(w){_t(s,s.return,w)}}c&64&&Vb(s),c&512&&Hl(s,s.return);break;case 3:if(Ri(t,s),c&64&&(t=s.updateQueue,t!==null)){if(a=null,s.child!==null)switch(s.child.tag){case 27:case 5:a=s.child.stateNode;break;case 1:a=s.child.stateNode}try{Dy(t,a)}catch(w){_t(s,s.return,w)}}break;case 27:a===null&&c&4&&Hb(s);case 26:case 5:Ri(t,s),a===null&&c&4&&Kb(s),c&512&&Hl(s,s.return);break;case 12:Ri(t,s);break;case 31:Ri(t,s),c&4&&Xb(t,s);break;case 13:Ri(t,s),c&4&&Jb(t,s),c&64&&(t=s.memoizedState,t!==null&&(t=t.dehydrated,t!==null&&(s=F4.bind(null,s),p5(t,s))));break;case 22:if(c=s.memoizedState!==null||Ti,!c){a=a!==null&&a.memoizedState!==null||un,p=Ti;var g=un;Ti=c,(un=a)&&!g?Di(t,s,(s.subtreeFlags&8772)!==0):Ri(t,s),Ti=p,un=g}break;case 30:break;default:Ri(t,s)}}function Zb(t){var a=t.alternate;a!==null&&(t.alternate=null,Zb(a)),t.child=null,t.deletions=null,t.sibling=null,t.tag===5&&(a=t.stateNode,a!==null&&ul(a)),t.stateNode=null,t.return=null,t.dependencies=null,t.memoizedProps=null,t.memoizedState=null,t.pendingProps=null,t.stateNode=null,t.updateQueue=null}var $t=null,Gn=!1;function Ei(t,a,s){for(s=s.child;s!==null;)Yb(t,a,s),s=s.sibling}function Yb(t,a,s){if(Tt&&typeof Tt.onCommitFiberUnmount=="function")try{Tt.onCommitFiberUnmount(bn,s)}catch{}switch(s.tag){case 26:un||ni(s,a),Ei(t,a,s),s.memoizedState?s.memoizedState.count--:s.stateNode&&(s=s.stateNode,s.parentNode.removeChild(s));break;case 27:un||ni(s,a);var c=$t,p=Gn;bs(s.type)&&($t=s.stateNode,Gn=!1),Ei(t,a,s),tc(s.stateNode),$t=c,Gn=p;break;case 5:un||ni(s,a);case 6:if(c=$t,p=Gn,$t=null,Ei(t,a,s),$t=c,Gn=p,$t!==null)if(Gn)try{($t.nodeType===9?$t.body:$t.nodeName==="HTML"?$t.ownerDocument.body:$t).removeChild(s.stateNode)}catch(g){_t(s,a,g)}else try{$t.removeChild(s.stateNode)}catch(g){_t(s,a,g)}break;case 18:$t!==null&&(Gn?(t=$t,Vv(t.nodeType===9?t.body:t.nodeName==="HTML"?t.ownerDocument.body:t,s.stateNode),Sr(t)):Vv($t,s.stateNode));break;case 4:c=$t,p=Gn,$t=s.stateNode.containerInfo,Gn=!0,Ei(t,a,s),$t=c,Gn=p;break;case 0:case 11:case 14:case 15:ds(2,s,a),un||ds(4,s,a),Ei(t,a,s);break;case 1:un||(ni(s,a),c=s.stateNode,typeof c.componentWillUnmount=="function"&&$b(s,a,c)),Ei(t,a,s);break;case 21:Ei(t,a,s);break;case 22:un=(c=un)||s.memoizedState!==null,Ei(t,a,s),un=c;break;default:Ei(t,a,s)}}function Xb(t,a){if(a.memoizedState===null&&(t=a.alternate,t!==null&&(t=t.memoizedState,t!==null))){t=t.dehydrated;try{Sr(t)}catch(s){_t(a,a.return,s)}}}function Jb(t,a){if(a.memoizedState===null&&(t=a.alternate,t!==null&&(t=t.memoizedState,t!==null&&(t=t.dehydrated,t!==null))))try{Sr(t)}catch(s){_t(a,a.return,s)}}function B4(t){switch(t.tag){case 31:case 13:case 19:var a=t.stateNode;return a===null&&(a=t.stateNode=new Fb),a;case 22:return t=t.stateNode,a=t._retryCache,a===null&&(a=t._retryCache=new Fb),a;default:throw Error(r(435,t.tag))}}function Bu(t,a){var s=B4(t);a.forEach(function(c){if(!s.has(c)){s.add(c);var p=Q4.bind(null,t,c);c.then(p,p)}})}function Hn(t,a){var s=a.deletions;if(s!==null)for(var c=0;c<s.length;c++){var p=s[c],g=t,w=a,A=w;e:for(;A!==null;){switch(A.tag){case 27:if(bs(A.type)){$t=A.stateNode,Gn=!1;break e}break;case 5:$t=A.stateNode,Gn=!1;break e;case 3:case 4:$t=A.stateNode.containerInfo,Gn=!0;break e}A=A.return}if($t===null)throw Error(r(160));Yb(g,w,p),$t=null,Gn=!1,g=p.alternate,g!==null&&(g.return=null),p.return=null}if(a.subtreeFlags&13886)for(a=a.child;a!==null;)Wb(a,t),a=a.sibling}var Ba=null;function Wb(t,a){var s=t.alternate,c=t.flags;switch(t.tag){case 0:case 11:case 14:case 15:Hn(a,t),Fn(t),c&4&&(ds(3,t,t.return),Gl(3,t),ds(5,t,t.return));break;case 1:Hn(a,t),Fn(t),c&512&&(un||s===null||ni(s,s.return)),c&64&&Ti&&(t=t.updateQueue,t!==null&&(c=t.callbacks,c!==null&&(s=t.shared.hiddenCallbacks,t.shared.hiddenCallbacks=s===null?c:s.concat(c))));break;case 26:var p=Ba;if(Hn(a,t),Fn(t),c&512&&(un||s===null||ni(s,s.return)),c&4){var g=s!==null?s.memoizedState:null;if(c=t.memoizedState,s===null)if(c===null)if(t.stateNode===null){e:{c=t.type,s=t.memoizedProps,p=p.ownerDocument||p;t:switch(c){case"title":g=p.getElementsByTagName("title")[0],(!g||g[Zi]||g[on]||g.namespaceURI==="http://www.w3.org/2000/svg"||g.hasAttribute("itemprop"))&&(g=p.createElement(c),p.head.insertBefore(g,p.querySelector("head > title"))),Tn(g,c,s),g[on]=t,en(g),c=g;break e;case"link":var w=Wv("link","href",p).get(c+(s.href||""));if(w){for(var A=0;A<w.length;A++)if(g=w[A],g.getAttribute("href")===(s.href==null||s.href===""?null:s.href)&&g.getAttribute("rel")===(s.rel==null?null:s.rel)&&g.getAttribute("title")===(s.title==null?null:s.title)&&g.getAttribute("crossorigin")===(s.crossOrigin==null?null:s.crossOrigin)){w.splice(A,1);break t}}g=p.createElement(c),Tn(g,c,s),p.head.appendChild(g);break;case"meta":if(w=Wv("meta","content",p).get(c+(s.content||""))){for(A=0;A<w.length;A++)if(g=w[A],g.getAttribute("content")===(s.content==null?null:""+s.content)&&g.getAttribute("name")===(s.name==null?null:s.name)&&g.getAttribute("property")===(s.property==null?null:s.property)&&g.getAttribute("http-equiv")===(s.httpEquiv==null?null:s.httpEquiv)&&g.getAttribute("charset")===(s.charSet==null?null:s.charSet)){w.splice(A,1);break t}}g=p.createElement(c),Tn(g,c,s),p.head.appendChild(g);break;default:throw Error(r(468,c))}g[on]=t,en(g),c=g}t.stateNode=c}else ex(p,t.type,t.stateNode);else t.stateNode=Jv(p,c,t.memoizedProps);else g!==c?(g===null?s.stateNode!==null&&(s=s.stateNode,s.parentNode.removeChild(s)):g.count--,c===null?ex(p,t.type,t.stateNode):Jv(p,c,t.memoizedProps)):c===null&&t.stateNode!==null&&yh(t,t.memoizedProps,s.memoizedProps)}break;case 27:Hn(a,t),Fn(t),c&512&&(un||s===null||ni(s,s.return)),s!==null&&c&4&&yh(t,t.memoizedProps,s.memoizedProps);break;case 5:if(Hn(a,t),Fn(t),c&512&&(un||s===null||ni(s,s.return)),t.flags&32){p=t.stateNode;try{ya(p,"")}catch(Ce){_t(t,t.return,Ce)}}c&4&&t.stateNode!=null&&(p=t.memoizedProps,yh(t,p,s!==null?s.memoizedProps:p)),c&1024&&(xh=!0);break;case 6:if(Hn(a,t),Fn(t),c&4){if(t.stateNode===null)throw Error(r(162));c=t.memoizedProps,s=t.stateNode;try{s.nodeValue=c}catch(Ce){_t(t,t.return,Ce)}}break;case 3:if(td=null,p=Ba,Ba=Wu(a.containerInfo),Hn(a,t),Ba=p,Fn(t),c&4&&s!==null&&s.memoizedState.isDehydrated)try{Sr(a.containerInfo)}catch(Ce){_t(t,t.return,Ce)}xh&&(xh=!1,ev(t));break;case 4:c=Ba,Ba=Wu(t.stateNode.containerInfo),Hn(a,t),Fn(t),Ba=c;break;case 12:Hn(a,t),Fn(t);break;case 31:Hn(a,t),Fn(t),c&4&&(c=t.updateQueue,c!==null&&(t.updateQueue=null,Bu(t,c)));break;case 13:Hn(a,t),Fn(t),t.child.flags&8192&&t.memoizedState!==null!=(s!==null&&s.memoizedState!==null)&&(Uu=Vt()),c&4&&(c=t.updateQueue,c!==null&&(t.updateQueue=null,Bu(t,c)));break;case 22:p=t.memoizedState!==null;var D=s!==null&&s.memoizedState!==null,G=Ti,te=un;if(Ti=G||p,un=te||D,Hn(a,t),un=te,Ti=G,Fn(t),c&8192)e:for(a=t.stateNode,a._visibility=p?a._visibility&-2:a._visibility|1,p&&(s===null||D||Ti||un||uo(t)),s=null,a=t;;){if(a.tag===5||a.tag===26){if(s===null){D=s=a;try{if(g=D.stateNode,p)w=g.style,typeof w.setProperty=="function"?w.setProperty("display","none","important"):w.display="none";else{A=D.stateNode;var se=D.memoizedProps.style,Z=se!=null&&se.hasOwnProperty("display")?se.display:null;A.style.display=Z==null||typeof Z=="boolean"?"":(""+Z).trim()}}catch(Ce){_t(D,D.return,Ce)}}}else if(a.tag===6){if(s===null){D=a;try{D.stateNode.nodeValue=p?"":D.memoizedProps}catch(Ce){_t(D,D.return,Ce)}}}else if(a.tag===18){if(s===null){D=a;try{var X=D.stateNode;p?$v(X,!0):$v(D.stateNode,!1)}catch(Ce){_t(D,D.return,Ce)}}}else if((a.tag!==22&&a.tag!==23||a.memoizedState===null||a===t)&&a.child!==null){a.child.return=a,a=a.child;continue}if(a===t)break e;for(;a.sibling===null;){if(a.return===null||a.return===t)break e;s===a&&(s=null),a=a.return}s===a&&(s=null),a.sibling.return=a.return,a=a.sibling}c&4&&(c=t.updateQueue,c!==null&&(s=c.retryQueue,s!==null&&(c.retryQueue=null,Bu(t,s))));break;case 19:Hn(a,t),Fn(t),c&4&&(c=t.updateQueue,c!==null&&(t.updateQueue=null,Bu(t,c)));break;case 30:break;case 21:break;default:Hn(a,t),Fn(t)}}function Fn(t){var a=t.flags;if(a&2){try{for(var s,c=t.return;c!==null;){if(Gb(c)){s=c;break}c=c.return}if(s==null)throw Error(r(160));switch(s.tag){case 27:var p=s.stateNode,g=bh(t);Mu(t,g,p);break;case 5:var w=s.stateNode;s.flags&32&&(ya(w,""),s.flags&=-33);var A=bh(t);Mu(t,A,w);break;case 3:case 4:var D=s.stateNode.containerInfo,G=bh(t);vh(t,G,D);break;default:throw Error(r(161))}}catch(te){_t(t,t.return,te)}t.flags&=-3}a&4096&&(t.flags&=-4097)}function ev(t){if(t.subtreeFlags&1024)for(t=t.child;t!==null;){var a=t;ev(a),a.tag===5&&a.flags&1024&&a.stateNode.reset(),t=t.sibling}}function Ri(t,a){if(a.subtreeFlags&8772)for(a=a.child;a!==null;)Qb(t,a.alternate,a),a=a.sibling}function uo(t){for(t=t.child;t!==null;){var a=t;switch(a.tag){case 0:case 11:case 14:case 15:ds(4,a,a.return),uo(a);break;case 1:ni(a,a.return);var s=a.stateNode;typeof s.componentWillUnmount=="function"&&$b(a,a.return,s),uo(a);break;case 27:tc(a.stateNode);case 26:case 5:ni(a,a.return),uo(a);break;case 22:a.memoizedState===null&&uo(a);break;case 30:uo(a);break;default:uo(a)}t=t.sibling}}function Di(t,a,s){for(s=s&&(a.subtreeFlags&8772)!==0,a=a.child;a!==null;){var c=a.alternate,p=t,g=a,w=g.flags;switch(g.tag){case 0:case 11:case 15:Di(p,g,s),Gl(4,g);break;case 1:if(Di(p,g,s),c=g,p=c.stateNode,typeof p.componentDidMount=="function")try{p.componentDidMount()}catch(G){_t(c,c.return,G)}if(c=g,p=c.updateQueue,p!==null){var A=c.stateNode;try{var D=p.shared.hiddenCallbacks;if(D!==null)for(p.shared.hiddenCallbacks=null,p=0;p<D.length;p++)Ry(D[p],A)}catch(G){_t(c,c.return,G)}}s&&w&64&&Vb(g),Hl(g,g.return);break;case 27:Hb(g);case 26:case 5:Di(p,g,s),s&&c===null&&w&4&&Kb(g),Hl(g,g.return);break;case 12:Di(p,g,s);break;case 31:Di(p,g,s),s&&w&4&&Xb(p,g);break;case 13:Di(p,g,s),s&&w&4&&Jb(p,g);break;case 22:g.memoizedState===null&&Di(p,g,s),Hl(g,g.return);break;case 30:break;default:Di(p,g,s)}a=a.sibling}}function wh(t,a){var s=null;t!==null&&t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(s=t.memoizedState.cachePool.pool),t=null,a.memoizedState!==null&&a.memoizedState.cachePool!==null&&(t=a.memoizedState.cachePool.pool),t!==s&&(t!=null&&t.refCount++,s!=null&&Dl(s))}function kh(t,a){t=null,a.alternate!==null&&(t=a.alternate.memoizedState.cache),a=a.memoizedState.cache,a!==t&&(a.refCount++,t!=null&&Dl(t))}function La(t,a,s,c){if(a.subtreeFlags&10256)for(a=a.child;a!==null;)tv(t,a,s,c),a=a.sibling}function tv(t,a,s,c){var p=a.flags;switch(a.tag){case 0:case 11:case 15:La(t,a,s,c),p&2048&&Gl(9,a);break;case 1:La(t,a,s,c);break;case 3:La(t,a,s,c),p&2048&&(t=null,a.alternate!==null&&(t=a.alternate.memoizedState.cache),a=a.memoizedState.cache,a!==t&&(a.refCount++,t!=null&&Dl(t)));break;case 12:if(p&2048){La(t,a,s,c),t=a.stateNode;try{var g=a.memoizedProps,w=g.id,A=g.onPostCommit;typeof A=="function"&&A(w,a.alternate===null?"mount":"update",t.passiveEffectDuration,-0)}catch(D){_t(a,a.return,D)}}else La(t,a,s,c);break;case 31:La(t,a,s,c);break;case 13:La(t,a,s,c);break;case 23:break;case 22:g=a.stateNode,w=a.alternate,a.memoizedState!==null?g._visibility&2?La(t,a,s,c):Fl(t,a):g._visibility&2?La(t,a,s,c):(g._visibility|=2,mr(t,a,s,c,(a.subtreeFlags&10256)!==0||!1)),p&2048&&wh(w,a);break;case 24:La(t,a,s,c),p&2048&&kh(a.alternate,a);break;default:La(t,a,s,c)}}function mr(t,a,s,c,p){for(p=p&&((a.subtreeFlags&10256)!==0||!1),a=a.child;a!==null;){var g=t,w=a,A=s,D=c,G=w.flags;switch(w.tag){case 0:case 11:case 15:mr(g,w,A,D,p),Gl(8,w);break;case 23:break;case 22:var te=w.stateNode;w.memoizedState!==null?te._visibility&2?mr(g,w,A,D,p):Fl(g,w):(te._visibility|=2,mr(g,w,A,D,p)),p&&G&2048&&wh(w.alternate,w);break;case 24:mr(g,w,A,D,p),p&&G&2048&&kh(w.alternate,w);break;default:mr(g,w,A,D,p)}a=a.sibling}}function Fl(t,a){if(a.subtreeFlags&10256)for(a=a.child;a!==null;){var s=t,c=a,p=c.flags;switch(c.tag){case 22:Fl(s,c),p&2048&&wh(c.alternate,c);break;case 24:Fl(s,c),p&2048&&kh(c.alternate,c);break;default:Fl(s,c)}a=a.sibling}}var Ql=8192;function pr(t,a,s){if(t.subtreeFlags&Ql)for(t=t.child;t!==null;)nv(t,a,s),t=t.sibling}function nv(t,a,s){switch(t.tag){case 26:pr(t,a,s),t.flags&Ql&&t.memoizedState!==null&&A5(s,Ba,t.memoizedState,t.memoizedProps);break;case 5:pr(t,a,s);break;case 3:case 4:var c=Ba;Ba=Wu(t.stateNode.containerInfo),pr(t,a,s),Ba=c;break;case 22:t.memoizedState===null&&(c=t.alternate,c!==null&&c.memoizedState!==null?(c=Ql,Ql=16777216,pr(t,a,s),Ql=c):pr(t,a,s));break;default:pr(t,a,s)}}function av(t){var a=t.alternate;if(a!==null&&(t=a.child,t!==null)){a.child=null;do a=t.sibling,t.sibling=null,t=a;while(t!==null)}}function Zl(t){var a=t.deletions;if((t.flags&16)!==0){if(a!==null)for(var s=0;s<a.length;s++){var c=a[s];vn=c,sv(c,t)}av(t)}if(t.subtreeFlags&10256)for(t=t.child;t!==null;)iv(t),t=t.sibling}function iv(t){switch(t.tag){case 0:case 11:case 15:Zl(t),t.flags&2048&&ds(9,t,t.return);break;case 3:Zl(t);break;case 12:Zl(t);break;case 22:var a=t.stateNode;t.memoizedState!==null&&a._visibility&2&&(t.return===null||t.return.tag!==13)?(a._visibility&=-3,Lu(t)):Zl(t);break;default:Zl(t)}}function Lu(t){var a=t.deletions;if((t.flags&16)!==0){if(a!==null)for(var s=0;s<a.length;s++){var c=a[s];vn=c,sv(c,t)}av(t)}for(t=t.child;t!==null;){switch(a=t,a.tag){case 0:case 11:case 15:ds(8,a,a.return),Lu(a);break;case 22:s=a.stateNode,s._visibility&2&&(s._visibility&=-3,Lu(a));break;default:Lu(a)}t=t.sibling}}function sv(t,a){for(;vn!==null;){var s=vn;switch(s.tag){case 0:case 11:case 15:ds(8,s,a);break;case 23:case 22:if(s.memoizedState!==null&&s.memoizedState.cachePool!==null){var c=s.memoizedState.cachePool.pool;c!=null&&c.refCount++}break;case 24:Dl(s.memoizedState.cache)}if(c=s.child,c!==null)c.return=s,vn=c;else e:for(s=t;vn!==null;){c=vn;var p=c.sibling,g=c.return;if(Zb(c),c===s){vn=null;break e}if(p!==null){p.return=g,vn=p;break e}vn=g}}}var L4={getCacheForType:function(t){var a=Cn(rn),s=a.data.get(t);return s===void 0&&(s=t(),a.data.set(t,s)),s},cacheSignal:function(){return Cn(rn).controller.signal}},U4=typeof WeakMap=="function"?WeakMap:Map,wt=0,zt=null,rt=null,ut=0,Ct=0,oa=null,ms=!1,hr=!1,Sh=!1,zi=0,Wt=0,ps=0,mo=0,jh=0,ra=0,fr=0,Yl=null,Qn=null,Ah=!1,Uu=0,ov=0,Vu=1/0,$u=null,hs=null,pn=0,fs=null,gr=null,Ii=0,Nh=0,Ch=null,rv=null,Xl=0,_h=null;function la(){return(wt&2)!==0&&ut!==0?ut&-ut:B.T!==null?Ih():Uo()}function lv(){if(ra===0)if((ut&536870912)===0||ht){var t=Ee;Ee<<=1,(Ee&3932160)===0&&(Ee=262144),ra=t}else ra=536870912;return t=ia.current,t!==null&&(t.flags|=32),ra}function Zn(t,a,s){(t===zt&&(Ct===2||Ct===9)||t.cancelPendingCommit!==null)&&(yr(t,0),gs(t,ut,ra,!1)),Hs(t,s),((wt&2)===0||t!==zt)&&(t===zt&&((wt&2)===0&&(mo|=s),Wt===4&&gs(t,ut,ra,!1)),ai(t))}function cv(t,a,s){if((wt&6)!==0)throw Error(r(327));var c=!s&&(a&127)===0&&(a&t.expiredLanes)===0||xt(t,a),p=c?K4(t,a):Eh(t,a,!0),g=c;do{if(p===0){hr&&!c&&gs(t,a,0,!1);break}else{if(s=t.current.alternate,g&&!V4(s)){p=Eh(t,a,!1),g=!1;continue}if(p===2){if(g=a,t.errorRecoveryDisabledLanes&g)var w=0;else w=t.pendingLanes&-536870913,w=w!==0?w:w&536870912?536870912:0;if(w!==0){a=w;e:{var A=t;p=Yl;var D=A.current.memoizedState.isDehydrated;if(D&&(yr(A,w).flags|=256),w=Eh(A,w,!1),w!==2){if(Sh&&!D){A.errorRecoveryDisabledLanes|=g,mo|=g,p=4;break e}g=Qn,Qn=p,g!==null&&(Qn===null?Qn=g:Qn.push.apply(Qn,g))}p=w}if(g=!1,p!==2)continue}}if(p===1){yr(t,0),gs(t,a,0,!0);break}e:{switch(c=t,g=p,g){case 0:case 1:throw Error(r(345));case 4:if((a&4194048)!==a)break;case 6:gs(c,a,ra,!ms);break e;case 2:Qn=null;break;case 3:case 5:break;default:throw Error(r(329))}if((a&62914560)===a&&(p=Uu+300-Vt(),10<p)){if(gs(c,a,ra,!ms),Je(c,0,!0)!==0)break e;Ii=a,c.timeoutHandle=Lv(uv.bind(null,c,s,Qn,$u,Ah,a,ra,mo,fr,ms,g,"Throttled",-0,0),p);break e}uv(c,s,Qn,$u,Ah,a,ra,mo,fr,ms,g,null,-0,0)}}break}while(!0);ai(t)}function uv(t,a,s,c,p,g,w,A,D,G,te,se,Z,X){if(t.timeoutHandle=-1,se=a.subtreeFlags,se&8192||(se&16785408)===16785408){se={stylesheets:null,count:0,imgCount:0,imgBytes:0,suspenseyImages:[],waitingForImages:!0,waitingForViewTransition:!1,unsuspend:Pa},nv(a,g,se);var Ce=(g&62914560)===g?Uu-Vt():(g&4194048)===g?ov-Vt():0;if(Ce=N5(se,Ce),Ce!==null){Ii=g,t.cancelPendingCommit=Ce(bv.bind(null,t,a,g,s,c,p,w,A,D,te,se,null,Z,X)),gs(t,g,w,!G);return}}bv(t,a,g,s,c,p,w,A,D)}function V4(t){for(var a=t;;){var s=a.tag;if((s===0||s===11||s===15)&&a.flags&16384&&(s=a.updateQueue,s!==null&&(s=s.stores,s!==null)))for(var c=0;c<s.length;c++){var p=s[c],g=p.getSnapshot;p=p.value;try{if(!na(g(),p))return!1}catch{return!1}}if(s=a.child,a.subtreeFlags&16384&&s!==null)s.return=a,a=s;else{if(a===t)break;for(;a.sibling===null;){if(a.return===null||a.return===t)return!0;a=a.return}a.sibling.return=a.return,a=a.sibling}}return!0}function gs(t,a,s,c){a&=~jh,a&=~mo,t.suspendedLanes|=a,t.pingedLanes&=~a,c&&(t.warmLanes|=a),c=t.expirationTimes;for(var p=a;0<p;){var g=31-Zt(p),w=1<<g;c[g]=-1,p&=~w}s!==0&&sl(t,s,a)}function Ku(){return(wt&6)===0?(Jl(0),!1):!0}function Th(){if(rt!==null){if(Ct===0)var t=rt.return;else t=rt,Si=no=null,Gp(t),rr=null,Il=0,t=rt;for(;t!==null;)Ub(t.alternate,t),t=t.return;rt=null}}function yr(t,a){var s=t.timeoutHandle;s!==-1&&(t.timeoutHandle=-1,l5(s)),s=t.cancelPendingCommit,s!==null&&(t.cancelPendingCommit=null,s()),Ii=0,Th(),zt=t,rt=s=wi(t.current,null),ut=a,Ct=0,oa=null,ms=!1,hr=xt(t,a),Sh=!1,fr=ra=jh=mo=ps=Wt=0,Qn=Yl=null,Ah=!1,(a&8)!==0&&(a|=a&32);var c=t.entangledLanes;if(c!==0)for(t=t.entanglements,c&=a;0<c;){var p=31-Zt(c),g=1<<p;a|=t[p],c&=~g}return zi=a,du(),s}function dv(t,a){et=null,B.H=Vl,a===or||a===vu?(a=Cy(),Ct=3):a===zp?(a=Cy(),Ct=4):Ct=a===rh?8:a!==null&&typeof a=="object"&&typeof a.then=="function"?6:1,oa=a,rt===null&&(Wt=1,zu(t,wa(a,t.current)))}function mv(){var t=ia.current;return t===null?!0:(ut&4194048)===ut?Aa===null:(ut&62914560)===ut||(ut&536870912)!==0?t===Aa:!1}function pv(){var t=B.H;return B.H=Vl,t===null?Vl:t}function hv(){var t=B.A;return B.A=L4,t}function Gu(){Wt=4,ms||(ut&4194048)!==ut&&ia.current!==null||(hr=!0),(ps&134217727)===0&&(mo&134217727)===0||zt===null||gs(zt,ut,ra,!1)}function Eh(t,a,s){var c=wt;wt|=2;var p=pv(),g=hv();(zt!==t||ut!==a)&&($u=null,yr(t,a)),a=!1;var w=Wt;e:do try{if(Ct!==0&&rt!==null){var A=rt,D=oa;switch(Ct){case 8:Th(),w=6;break e;case 3:case 2:case 9:case 6:ia.current===null&&(a=!0);var G=Ct;if(Ct=0,oa=null,br(t,A,D,G),s&&hr){w=0;break e}break;default:G=Ct,Ct=0,oa=null,br(t,A,D,G)}}$4(),w=Wt;break}catch(te){dv(t,te)}while(!0);return a&&t.shellSuspendCounter++,Si=no=null,wt=c,B.H=p,B.A=g,rt===null&&(zt=null,ut=0,du()),w}function $4(){for(;rt!==null;)fv(rt)}function K4(t,a){var s=wt;wt|=2;var c=pv(),p=hv();zt!==t||ut!==a?($u=null,Vu=Vt()+500,yr(t,a)):hr=xt(t,a);e:do try{if(Ct!==0&&rt!==null){a=rt;var g=oa;t:switch(Ct){case 1:Ct=0,oa=null,br(t,a,g,1);break;case 2:case 9:if(Ay(g)){Ct=0,oa=null,gv(a);break}a=function(){Ct!==2&&Ct!==9||zt!==t||(Ct=7),ai(t)},g.then(a,a);break e;case 3:Ct=7;break e;case 4:Ct=5;break e;case 7:Ay(g)?(Ct=0,oa=null,gv(a)):(Ct=0,oa=null,br(t,a,g,7));break;case 5:var w=null;switch(rt.tag){case 26:w=rt.memoizedState;case 5:case 27:var A=rt;if(w?tx(w):A.stateNode.complete){Ct=0,oa=null;var D=A.sibling;if(D!==null)rt=D;else{var G=A.return;G!==null?(rt=G,Hu(G)):rt=null}break t}}Ct=0,oa=null,br(t,a,g,5);break;case 6:Ct=0,oa=null,br(t,a,g,6);break;case 8:Th(),Wt=6;break e;default:throw Error(r(462))}}G4();break}catch(te){dv(t,te)}while(!0);return Si=no=null,B.H=c,B.A=p,wt=s,rt!==null?0:(zt=null,ut=0,du(),Wt)}function G4(){for(;rt!==null&&!Qt();)fv(rt)}function fv(t){var a=Bb(t.alternate,t,zi);t.memoizedProps=t.pendingProps,a===null?Hu(t):rt=a}function gv(t){var a=t,s=a.alternate;switch(a.tag){case 15:case 0:a=zb(s,a,a.pendingProps,a.type,void 0,ut);break;case 11:a=zb(s,a,a.pendingProps,a.type.render,a.ref,ut);break;case 5:Gp(a);default:Ub(s,a),a=rt=hy(a,zi),a=Bb(s,a,zi)}t.memoizedProps=t.pendingProps,a===null?Hu(t):rt=a}function br(t,a,s,c){Si=no=null,Gp(a),rr=null,Il=0;var p=a.return;try{if(z4(t,p,a,s,ut)){Wt=1,zu(t,wa(s,t.current)),rt=null;return}}catch(g){if(p!==null)throw rt=p,g;Wt=1,zu(t,wa(s,t.current)),rt=null;return}a.flags&32768?(ht||c===1?t=!0:hr||(ut&536870912)!==0?t=!1:(ms=t=!0,(c===2||c===9||c===3||c===6)&&(c=ia.current,c!==null&&c.tag===13&&(c.flags|=16384))),yv(a,t)):Hu(a)}function Hu(t){var a=t;do{if((a.flags&32768)!==0){yv(a,ms);return}t=a.return;var s=P4(a.alternate,a,zi);if(s!==null){rt=s;return}if(a=a.sibling,a!==null){rt=a;return}rt=a=t}while(a!==null);Wt===0&&(Wt=5)}function yv(t,a){do{var s=q4(t.alternate,t);if(s!==null){s.flags&=32767,rt=s;return}if(s=t.return,s!==null&&(s.flags|=32768,s.subtreeFlags=0,s.deletions=null),!a&&(t=t.sibling,t!==null)){rt=t;return}rt=t=s}while(t!==null);Wt=6,rt=null}function bv(t,a,s,c,p,g,w,A,D){t.cancelPendingCommit=null;do Fu();while(pn!==0);if((wt&6)!==0)throw Error(r(327));if(a!==null){if(a===t.current)throw Error(r(177));if(g=a.lanes|a.childLanes,g|=bp,iu(t,s,g,w,A,D),t===zt&&(rt=zt=null,ut=0),gr=a,fs=t,Ii=s,Nh=g,Ch=p,rv=c,(a.subtreeFlags&10256)!==0||(a.flags&10256)!==0?(t.callbackNode=null,t.callbackPriority=0,Z4(Rn,function(){return Sv(),null})):(t.callbackNode=null,t.callbackPriority=0),c=(a.flags&13878)!==0,(a.subtreeFlags&13878)!==0||c){c=B.T,B.T=null,p=ee.p,ee.p=2,w=wt,wt|=4;try{M4(t,a,s)}finally{wt=w,ee.p=p,B.T=c}}pn=1,vv(),xv(),wv()}}function vv(){if(pn===1){pn=0;var t=fs,a=gr,s=(a.flags&13878)!==0;if((a.subtreeFlags&13878)!==0||s){s=B.T,B.T=null;var c=ee.p;ee.p=2;var p=wt;wt|=4;try{Wb(a,t);var g=Vh,w=sy(t.containerInfo),A=g.focusedElem,D=g.selectionRange;if(w!==A&&A&&A.ownerDocument&&iy(A.ownerDocument.documentElement,A)){if(D!==null&&pp(A)){var G=D.start,te=D.end;if(te===void 0&&(te=G),"selectionStart"in A)A.selectionStart=G,A.selectionEnd=Math.min(te,A.value.length);else{var se=A.ownerDocument||document,Z=se&&se.defaultView||window;if(Z.getSelection){var X=Z.getSelection(),Ce=A.textContent.length,Ke=Math.min(D.start,Ce),Dt=D.end===void 0?Ke:Math.min(D.end,Ce);!X.extend&&Ke>Dt&&(w=Dt,Dt=Ke,Ke=w);var U=ay(A,Ke),O=ay(A,Dt);if(U&&O&&(X.rangeCount!==1||X.anchorNode!==U.node||X.anchorOffset!==U.offset||X.focusNode!==O.node||X.focusOffset!==O.offset)){var K=se.createRange();K.setStart(U.node,U.offset),X.removeAllRanges(),Ke>Dt?(X.addRange(K),X.extend(O.node,O.offset)):(K.setEnd(O.node,O.offset),X.addRange(K))}}}}for(se=[],X=A;X=X.parentNode;)X.nodeType===1&&se.push({element:X,left:X.scrollLeft,top:X.scrollTop});for(typeof A.focus=="function"&&A.focus(),A=0;A<se.length;A++){var ie=se[A];ie.element.scrollLeft=ie.left,ie.element.scrollTop=ie.top}}sd=!!Uh,Vh=Uh=null}finally{wt=p,ee.p=c,B.T=s}}t.current=a,pn=2}}function xv(){if(pn===2){pn=0;var t=fs,a=gr,s=(a.flags&8772)!==0;if((a.subtreeFlags&8772)!==0||s){s=B.T,B.T=null;var c=ee.p;ee.p=2;var p=wt;wt|=4;try{Qb(t,a.alternate,a)}finally{wt=p,ee.p=c,B.T=s}}pn=3}}function wv(){if(pn===4||pn===3){pn=0,En();var t=fs,a=gr,s=Ii,c=rv;(a.subtreeFlags&10256)!==0||(a.flags&10256)!==0?pn=5:(pn=0,gr=fs=null,kv(t,t.pendingLanes));var p=t.pendingLanes;if(p===0&&(hs=null),cl(s),a=a.stateNode,Tt&&typeof Tt.onCommitFiberRoot=="function")try{Tt.onCommitFiberRoot(bn,a,void 0,(a.current.flags&128)===128)}catch{}if(c!==null){a=B.T,p=ee.p,ee.p=2,B.T=null;try{for(var g=t.onRecoverableError,w=0;w<c.length;w++){var A=c[w];g(A.value,{componentStack:A.stack})}}finally{B.T=a,ee.p=p}}(Ii&3)!==0&&Fu(),ai(t),p=t.pendingLanes,(s&261930)!==0&&(p&42)!==0?t===_h?Xl++:(Xl=0,_h=t):Xl=0,Jl(0)}}function kv(t,a){(t.pooledCacheLanes&=a)===0&&(a=t.pooledCache,a!=null&&(t.pooledCache=null,Dl(a)))}function Fu(){return vv(),xv(),wv(),Sv()}function Sv(){if(pn!==5)return!1;var t=fs,a=Nh;Nh=0;var s=cl(Ii),c=B.T,p=ee.p;try{ee.p=32>s?32:s,B.T=null,s=Ch,Ch=null;var g=fs,w=Ii;if(pn=0,gr=fs=null,Ii=0,(wt&6)!==0)throw Error(r(331));var A=wt;if(wt|=4,iv(g.current),tv(g,g.current,w,s),wt=A,Jl(0,!1),Tt&&typeof Tt.onPostCommitFiberRoot=="function")try{Tt.onPostCommitFiberRoot(bn,g)}catch{}return!0}finally{ee.p=p,B.T=c,kv(t,a)}}function jv(t,a,s){a=wa(s,a),a=oh(t.stateNode,a,2),t=ls(t,a,2),t!==null&&(Hs(t,2),ai(t))}function _t(t,a,s){if(t.tag===3)jv(t,t,s);else for(;a!==null;){if(a.tag===3){jv(a,t,s);break}else if(a.tag===1){var c=a.stateNode;if(typeof a.type.getDerivedStateFromError=="function"||typeof c.componentDidCatch=="function"&&(hs===null||!hs.has(c))){t=wa(s,t),s=Ab(2),c=ls(a,s,2),c!==null&&(Nb(s,c,a,t),Hs(c,2),ai(c));break}}a=a.return}}function Rh(t,a,s){var c=t.pingCache;if(c===null){c=t.pingCache=new U4;var p=new Set;c.set(a,p)}else p=c.get(a),p===void 0&&(p=new Set,c.set(a,p));p.has(s)||(Sh=!0,p.add(s),t=H4.bind(null,t,a,s),a.then(t,t))}function H4(t,a,s){var c=t.pingCache;c!==null&&c.delete(a),t.pingedLanes|=t.suspendedLanes&s,t.warmLanes&=~s,zt===t&&(ut&s)===s&&(Wt===4||Wt===3&&(ut&62914560)===ut&&300>Vt()-Uu?(wt&2)===0&&yr(t,0):jh|=s,fr===ut&&(fr=0)),ai(t)}function Av(t,a){a===0&&(a=hi()),t=Ws(t,a),t!==null&&(Hs(t,a),ai(t))}function F4(t){var a=t.memoizedState,s=0;a!==null&&(s=a.retryLane),Av(t,s)}function Q4(t,a){var s=0;switch(t.tag){case 31:case 13:var c=t.stateNode,p=t.memoizedState;p!==null&&(s=p.retryLane);break;case 19:c=t.stateNode;break;case 22:c=t.stateNode._retryCache;break;default:throw Error(r(314))}c!==null&&c.delete(a),Av(t,s)}function Z4(t,a){return ct(t,a)}var Qu=null,vr=null,Dh=!1,Zu=!1,zh=!1,ys=0;function ai(t){t!==vr&&t.next===null&&(vr===null?Qu=vr=t:vr=vr.next=t),Zu=!0,Dh||(Dh=!0,X4())}function Jl(t,a){if(!zh&&Zu){zh=!0;do for(var s=!1,c=Qu;c!==null;){if(t!==0){var p=c.pendingLanes;if(p===0)var g=0;else{var w=c.suspendedLanes,A=c.pingedLanes;g=(1<<31-Zt(42|t)+1)-1,g&=p&~(w&~A),g=g&201326741?g&201326741|1:g?g|2:0}g!==0&&(s=!0,Tv(c,g))}else g=ut,g=Je(c,c===zt?g:0,c.cancelPendingCommit!==null||c.timeoutHandle!==-1),(g&3)===0||xt(c,g)||(s=!0,Tv(c,g));c=c.next}while(s);zh=!1}}function Y4(){Nv()}function Nv(){Zu=Dh=!1;var t=0;ys!==0&&r5()&&(t=ys);for(var a=Vt(),s=null,c=Qu;c!==null;){var p=c.next,g=Cv(c,a);g===0?(c.next=null,s===null?Qu=p:s.next=p,p===null&&(vr=s)):(s=c,(t!==0||(g&3)!==0)&&(Zu=!0)),c=p}pn!==0&&pn!==5||Jl(t),ys!==0&&(ys=0)}function Cv(t,a){for(var s=t.suspendedLanes,c=t.pingedLanes,p=t.expirationTimes,g=t.pendingLanes&-62914561;0<g;){var w=31-Zt(g),A=1<<w,D=p[w];D===-1?((A&s)===0||(A&c)!==0)&&(p[w]=sn(A,a)):D<=a&&(t.expiredLanes|=A),g&=~A}if(a=zt,s=ut,s=Je(t,t===a?s:0,t.cancelPendingCommit!==null||t.timeoutHandle!==-1),c=t.callbackNode,s===0||t===a&&(Ct===2||Ct===9)||t.cancelPendingCommit!==null)return c!==null&&c!==null&&Ft(c),t.callbackNode=null,t.callbackPriority=0;if((s&3)===0||xt(t,s)){if(a=s&-s,a===t.callbackPriority)return a;switch(c!==null&&Ft(c),cl(s)){case 2:case 8:s=mi;break;case 32:s=Rn;break;case 268435456:s=$s;break;default:s=Rn}return c=_v.bind(null,t),s=ct(s,c),t.callbackPriority=a,t.callbackNode=s,a}return c!==null&&c!==null&&Ft(c),t.callbackPriority=2,t.callbackNode=null,2}function _v(t,a){if(pn!==0&&pn!==5)return t.callbackNode=null,t.callbackPriority=0,null;var s=t.callbackNode;if(Fu()&&t.callbackNode!==s)return null;var c=ut;return c=Je(t,t===zt?c:0,t.cancelPendingCommit!==null||t.timeoutHandle!==-1),c===0?null:(cv(t,c,a),Cv(t,Vt()),t.callbackNode!=null&&t.callbackNode===s?_v.bind(null,t):null)}function Tv(t,a){if(Fu())return null;cv(t,a,!0)}function X4(){c5(function(){(wt&6)!==0?ct(Vs,Y4):Nv()})}function Ih(){if(ys===0){var t=ir;t===0&&(t=re,re<<=1,(re&261888)===0&&(re=256)),ys=t}return ys}function Ev(t){return t==null||typeof t=="symbol"||typeof t=="boolean"?null:typeof t=="function"?t:Fo(""+t)}function Rv(t,a){var s=a.ownerDocument.createElement("input");return s.name=a.name,s.value=a.value,t.id&&s.setAttribute("form",t.id),a.parentNode.insertBefore(s,a),t=new FormData(t),s.parentNode.removeChild(s),t}function J4(t,a,s,c,p){if(a==="submit"&&s&&s.stateNode===p){var g=Ev((p[Dn]||null).action),w=c.submitter;w&&(a=(a=w[Dn]||null)?Ev(a.formAction):w.getAttribute("formAction"),a!==null&&(g=a,w=null));var A=new Wa("action","action",null,c,p);t.push({event:A,listeners:[{instance:null,listener:function(){if(c.defaultPrevented){if(ys!==0){var D=w?Rv(p,w):new FormData(p);eh(s,{pending:!0,data:D,method:p.method,action:g},null,D)}}else typeof g=="function"&&(A.preventDefault(),D=w?Rv(p,w):new FormData(p),eh(s,{pending:!0,data:D,method:p.method,action:g},g,D))},currentTarget:p}]})}}for(var Oh=0;Oh<yp.length;Oh++){var Ph=yp[Oh],W4=Ph.toLowerCase(),e5=Ph[0].toUpperCase()+Ph.slice(1);Ma(W4,"on"+e5)}Ma(ly,"onAnimationEnd"),Ma(cy,"onAnimationIteration"),Ma(uy,"onAnimationStart"),Ma("dblclick","onDoubleClick"),Ma("focusin","onFocus"),Ma("focusout","onBlur"),Ma(g4,"onTransitionRun"),Ma(y4,"onTransitionStart"),Ma(b4,"onTransitionCancel"),Ma(dy,"onTransitionEnd"),Fs("onMouseEnter",["mouseout","mouseover"]),Fs("onMouseLeave",["mouseout","mouseover"]),Fs("onPointerEnter",["pointerout","pointerover"]),Fs("onPointerLeave",["pointerout","pointerover"]),Qa("onChange","change click focusin focusout input keydown keyup selectionchange".split(" ")),Qa("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" ")),Qa("onBeforeInput",["compositionend","keypress","textInput","paste"]),Qa("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" ")),Qa("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" ")),Qa("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var Wl="abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting".split(" "),t5=new Set("beforetoggle cancel close invalid load scroll scrollend toggle".split(" ").concat(Wl));function Dv(t,a){a=(a&4)!==0;for(var s=0;s<t.length;s++){var c=t[s],p=c.event;c=c.listeners;e:{var g=void 0;if(a)for(var w=c.length-1;0<=w;w--){var A=c[w],D=A.instance,G=A.currentTarget;if(A=A.listener,D!==g&&p.isPropagationStopped())break e;g=A,p.currentTarget=G;try{g(p)}catch(te){uu(te)}p.currentTarget=null,g=D}else for(w=0;w<c.length;w++){if(A=c[w],D=A.instance,G=A.currentTarget,A=A.listener,D!==g&&p.isPropagationStopped())break e;g=A,p.currentTarget=G;try{g(p)}catch(te){uu(te)}p.currentTarget=null,g=D}}}}function lt(t,a){var s=a[Vo];s===void 0&&(s=a[Vo]=new Set);var c=t+"__bubble";s.has(c)||(zv(a,t,2,!1),s.add(c))}function qh(t,a,s){var c=0;a&&(c|=4),zv(s,t,c,a)}var Yu="_reactListening"+Math.random().toString(36).slice(2);function Mh(t){if(!t[Yu]){t[Yu]=!0,dl.forEach(function(s){s!=="selectionchange"&&(t5.has(s)||qh(s,!1,t),qh(s,!0,t))});var a=t.nodeType===9?t:t.ownerDocument;a===null||a[Yu]||(a[Yu]=!0,qh("selectionchange",!1,a))}}function zv(t,a,s,c){switch(lx(a)){case 2:var p=T5;break;case 8:p=E5;break;default:p=Wh}s=p.bind(null,a,s,t),p=void 0,!wl||a!=="touchstart"&&a!=="touchmove"&&a!=="wheel"||(p=!0),c?p!==void 0?t.addEventListener(a,s,{capture:!0,passive:p}):t.addEventListener(a,s,!0):p!==void 0?t.addEventListener(a,s,{passive:p}):t.addEventListener(a,s,!1)}function Bh(t,a,s,c,p){var g=c;if((a&1)===0&&(a&2)===0&&c!==null)e:for(;;){if(c===null)return;var w=c.tag;if(w===3||w===4){var A=c.stateNode.containerInfo;if(A===p)break;if(w===4)for(w=c.return;w!==null;){var D=w.tag;if((D===3||D===4)&&w.stateNode.containerInfo===p)return;w=w.return}for(;A!==null;){if(w=fi(A),w===null)return;if(D=w.tag,D===5||D===6||D===26||D===27){c=g=w;continue e}A=A.parentNode}}c=c.return}xl(function(){var G=g,te=bl(s),se=[];e:{var Z=my.get(t);if(Z!==void 0){var X=Wa,Ce=t;switch(t){case"keypress":if(ts(s)===0)break e;case"keydown":case"keyup":X=QC;break;case"focusin":Ce="focus",X=lp;break;case"focusout":Ce="blur",X=lp;break;case"beforeblur":case"afterblur":X=lp;break;case"click":if(s.button===2)break e;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":X=U1;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":X=PC;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":X=XC;break;case ly:case cy:case uy:X=BC;break;case dy:X=WC;break;case"scroll":case"scrollend":X=IC;break;case"wheel":X=t4;break;case"copy":case"cut":case"paste":X=UC;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":X=$1;break;case"toggle":case"beforetoggle":X=a4}var Ke=(a&4)!==0,Dt=!Ke&&(t==="scroll"||t==="scrollend"),U=Ke?Z!==null?Z+"Capture":null:Z;Ke=[];for(var O=G,K;O!==null;){var ie=O;if(K=ie.stateNode,ie=ie.tag,ie!==5&&ie!==26&&ie!==27||K===null||U===null||(ie=Zs(O,U),ie!=null&&Ke.push(ec(O,ie,K))),Dt)break;O=O.return}0<Ke.length&&(Z=new X(Z,Ce,null,s,te),se.push({event:Z,listeners:Ke}))}}if((a&7)===0){e:{if(Z=t==="mouseover"||t==="pointerover",X=t==="mouseout"||t==="pointerout",Z&&s!==yl&&(Ce=s.relatedTarget||s.fromElement)&&(fi(Ce)||Ce[Qi]))break e;if((X||Z)&&(Z=te.window===te?te:(Z=te.ownerDocument)?Z.defaultView||Z.parentWindow:window,X?(Ce=s.relatedTarget||s.toElement,X=G,Ce=Ce?fi(Ce):null,Ce!==null&&(Dt=h(Ce),Ke=Ce.tag,Ce!==Dt||Ke!==5&&Ke!==27&&Ke!==6)&&(Ce=null)):(X=null,Ce=G),X!==Ce)){if(Ke=U1,ie="onMouseLeave",U="onMouseEnter",O="mouse",(t==="pointerout"||t==="pointerover")&&(Ke=$1,ie="onPointerLeave",U="onPointerEnter",O="pointer"),Dt=X==null?Z:Xi(X),K=Ce==null?Z:Xi(Ce),Z=new Ke(ie,O+"leave",X,s,te),Z.target=Dt,Z.relatedTarget=K,ie=null,fi(te)===G&&(Ke=new Ke(U,O+"enter",Ce,s,te),Ke.target=K,Ke.relatedTarget=Dt,ie=Ke),Dt=ie,X&&Ce)t:{for(Ke=n5,U=X,O=Ce,K=0,ie=U;ie;ie=Ke(ie))K++;ie=0;for(var Ue=O;Ue;Ue=Ke(Ue))ie++;for(;0<K-ie;)U=Ke(U),K--;for(;0<ie-K;)O=Ke(O),ie--;for(;K--;){if(U===O||O!==null&&U===O.alternate){Ke=U;break t}U=Ke(U),O=Ke(O)}Ke=null}else Ke=null;X!==null&&Iv(se,Z,X,Ke,!1),Ce!==null&&Dt!==null&&Iv(se,Dt,Ce,Ke,!0)}}e:{if(Z=G?Xi(G):window,X=Z.nodeName&&Z.nodeName.toLowerCase(),X==="select"||X==="input"&&Z.type==="file")var bt=X1;else if(Z1(Z))if(J1)bt=p4;else{bt=d4;var Re=u4}else X=Z.nodeName,!X||X.toLowerCase()!=="input"||Z.type!=="checkbox"&&Z.type!=="radio"?G&&Oa(G.elementType)&&(bt=X1):bt=m4;if(bt&&(bt=bt(t,G))){Y1(se,bt,s,te);break e}Re&&Re(t,Z,G),t==="focusout"&&G&&Z.type==="number"&&G.memoizedProps.value!=null&&Go(Z,"number",Z.value)}switch(Re=G?Xi(G):window,t){case"focusin":(Z1(Re)||Re.contentEditable==="true")&&(Yo=Re,hp=G,Tl=null);break;case"focusout":Tl=hp=Yo=null;break;case"mousedown":fp=!0;break;case"contextmenu":case"mouseup":case"dragend":fp=!1,oy(se,s,te);break;case"selectionchange":if(f4)break;case"keydown":case"keyup":oy(se,s,te)}var nt;if(up)e:{switch(t){case"compositionstart":var dt="onCompositionStart";break e;case"compositionend":dt="onCompositionEnd";break e;case"compositionupdate":dt="onCompositionUpdate";break e}dt=void 0}else Zo?F1(t,s)&&(dt="onCompositionEnd"):t==="keydown"&&s.keyCode===229&&(dt="onCompositionStart");dt&&(K1&&s.locale!=="ko"&&(Zo||dt!=="onCompositionStart"?dt==="onCompositionEnd"&&Zo&&(nt=vi()):(Ja=te,F="value"in Ja?Ja.value:Ja.textContent,Zo=!0)),Re=Xu(G,dt),0<Re.length&&(dt=new V1(dt,t,null,s,te),se.push({event:dt,listeners:Re}),nt?dt.data=nt:(nt=Q1(s),nt!==null&&(dt.data=nt)))),(nt=s4?o4(t,s):r4(t,s))&&(dt=Xu(G,"onBeforeInput"),0<dt.length&&(Re=new V1("onBeforeInput","beforeinput",null,s,te),se.push({event:Re,listeners:dt}),Re.data=nt)),J4(se,t,G,s,te)}Dv(se,a)})}function ec(t,a,s){return{instance:t,listener:a,currentTarget:s}}function Xu(t,a){for(var s=a+"Capture",c=[];t!==null;){var p=t,g=p.stateNode;if(p=p.tag,p!==5&&p!==26&&p!==27||g===null||(p=Zs(t,s),p!=null&&c.unshift(ec(t,p,g)),p=Zs(t,a),p!=null&&c.push(ec(t,p,g))),t.tag===3)return c;t=t.return}return[]}function n5(t){if(t===null)return null;do t=t.return;while(t&&t.tag!==5&&t.tag!==27);return t||null}function Iv(t,a,s,c,p){for(var g=a._reactName,w=[];s!==null&&s!==c;){var A=s,D=A.alternate,G=A.stateNode;if(A=A.tag,D!==null&&D===c)break;A!==5&&A!==26&&A!==27||G===null||(D=G,p?(G=Zs(s,g),G!=null&&w.unshift(ec(s,G,D))):p||(G=Zs(s,g),G!=null&&w.push(ec(s,G,D)))),s=s.return}w.length!==0&&t.push({event:a,listeners:w})}var a5=/\r\n?/g,i5=/\u0000|\uFFFD/g;function Ov(t){return(typeof t=="string"?t:""+t).replace(a5,`
|
|
10
|
+
`).replace(i5,"")}function Pv(t,a){return a=Ov(a),Ov(t)===a}function Rt(t,a,s,c,p,g){switch(s){case"children":typeof c=="string"?a==="body"||a==="textarea"&&c===""||ya(t,c):(typeof c=="number"||typeof c=="bigint")&&a!=="body"&&ya(t,""+c);break;case"className":Qs(t,"class",c);break;case"tabIndex":Qs(t,"tabindex",c);break;case"dir":case"role":case"viewBox":case"width":case"height":Qs(t,s,c);break;case"style":Xa(t,c,g);break;case"data":if(a!=="object"){Qs(t,"data",c);break}case"src":case"href":if(c===""&&(a!=="a"||s!=="href")){t.removeAttribute(s);break}if(c==null||typeof c=="function"||typeof c=="symbol"||typeof c=="boolean"){t.removeAttribute(s);break}c=Fo(""+c),t.setAttribute(s,c);break;case"action":case"formAction":if(typeof c=="function"){t.setAttribute(s,"javascript:throw new Error('A React form was unexpectedly submitted. If you called form.submit() manually, consider using form.requestSubmit() instead. If you\\'re trying to use event.stopPropagation() in a submit event handler, consider also calling event.preventDefault().')");break}else typeof g=="function"&&(s==="formAction"?(a!=="input"&&Rt(t,a,"name",p.name,p,null),Rt(t,a,"formEncType",p.formEncType,p,null),Rt(t,a,"formMethod",p.formMethod,p,null),Rt(t,a,"formTarget",p.formTarget,p,null)):(Rt(t,a,"encType",p.encType,p,null),Rt(t,a,"method",p.method,p,null),Rt(t,a,"target",p.target,p,null)));if(c==null||typeof c=="symbol"||typeof c=="boolean"){t.removeAttribute(s);break}c=Fo(""+c),t.setAttribute(s,c);break;case"onClick":c!=null&&(t.onclick=Pa);break;case"onScroll":c!=null&<("scroll",t);break;case"onScrollEnd":c!=null&<("scrollend",t);break;case"dangerouslySetInnerHTML":if(c!=null){if(typeof c!="object"||!("__html"in c))throw Error(r(61));if(s=c.__html,s!=null){if(p.children!=null)throw Error(r(60));t.innerHTML=s}}break;case"multiple":t.multiple=c&&typeof c!="function"&&typeof c!="symbol";break;case"muted":t.muted=c&&typeof c!="function"&&typeof c!="symbol";break;case"suppressContentEditableWarning":case"suppressHydrationWarning":case"defaultValue":case"defaultChecked":case"innerHTML":case"ref":break;case"autoFocus":break;case"xlinkHref":if(c==null||typeof c=="function"||typeof c=="boolean"||typeof c=="symbol"){t.removeAttribute("xlink:href");break}s=Fo(""+c),t.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",s);break;case"contentEditable":case"spellCheck":case"draggable":case"value":case"autoReverse":case"externalResourcesRequired":case"focusable":case"preserveAlpha":c!=null&&typeof c!="function"&&typeof c!="symbol"?t.setAttribute(s,""+c):t.removeAttribute(s);break;case"inert":case"allowFullScreen":case"async":case"autoPlay":case"controls":case"default":case"defer":case"disabled":case"disablePictureInPicture":case"disableRemotePlayback":case"formNoValidate":case"hidden":case"loop":case"noModule":case"noValidate":case"open":case"playsInline":case"readOnly":case"required":case"reversed":case"scoped":case"seamless":case"itemScope":c&&typeof c!="function"&&typeof c!="symbol"?t.setAttribute(s,""):t.removeAttribute(s);break;case"capture":case"download":c===!0?t.setAttribute(s,""):c!==!1&&c!=null&&typeof c!="function"&&typeof c!="symbol"?t.setAttribute(s,c):t.removeAttribute(s);break;case"cols":case"rows":case"size":case"span":c!=null&&typeof c!="function"&&typeof c!="symbol"&&!isNaN(c)&&1<=c?t.setAttribute(s,c):t.removeAttribute(s);break;case"rowSpan":case"start":c==null||typeof c=="function"||typeof c=="symbol"||isNaN(c)?t.removeAttribute(s):t.setAttribute(s,c);break;case"popover":lt("beforetoggle",t),lt("toggle",t),gi(t,"popover",c);break;case"xlinkActuate":jn(t,"http://www.w3.org/1999/xlink","xlink:actuate",c);break;case"xlinkArcrole":jn(t,"http://www.w3.org/1999/xlink","xlink:arcrole",c);break;case"xlinkRole":jn(t,"http://www.w3.org/1999/xlink","xlink:role",c);break;case"xlinkShow":jn(t,"http://www.w3.org/1999/xlink","xlink:show",c);break;case"xlinkTitle":jn(t,"http://www.w3.org/1999/xlink","xlink:title",c);break;case"xlinkType":jn(t,"http://www.w3.org/1999/xlink","xlink:type",c);break;case"xmlBase":jn(t,"http://www.w3.org/XML/1998/namespace","xml:base",c);break;case"xmlLang":jn(t,"http://www.w3.org/XML/1998/namespace","xml:lang",c);break;case"xmlSpace":jn(t,"http://www.w3.org/XML/1998/namespace","xml:space",c);break;case"is":gi(t,"is",c);break;case"innerText":case"textContent":break;default:(!(2<s.length)||s[0]!=="o"&&s[0]!=="O"||s[1]!=="n"&&s[1]!=="N")&&(s=Ho.get(s)||s,gi(t,s,c))}}function Lh(t,a,s,c,p,g){switch(s){case"style":Xa(t,c,g);break;case"dangerouslySetInnerHTML":if(c!=null){if(typeof c!="object"||!("__html"in c))throw Error(r(61));if(s=c.__html,s!=null){if(p.children!=null)throw Error(r(60));t.innerHTML=s}}break;case"children":typeof c=="string"?ya(t,c):(typeof c=="number"||typeof c=="bigint")&&ya(t,""+c);break;case"onScroll":c!=null&<("scroll",t);break;case"onScrollEnd":c!=null&<("scrollend",t);break;case"onClick":c!=null&&(t.onclick=Pa);break;case"suppressContentEditableWarning":case"suppressHydrationWarning":case"innerHTML":case"ref":break;case"innerText":case"textContent":break;default:if(!ml.hasOwnProperty(s))e:{if(s[0]==="o"&&s[1]==="n"&&(p=s.endsWith("Capture"),a=s.slice(2,p?s.length-7:void 0),g=t[Dn]||null,g=g!=null?g[s]:null,typeof g=="function"&&t.removeEventListener(a,g,p),typeof c=="function")){typeof g!="function"&&g!==null&&(s in t?t[s]=null:t.hasAttribute(s)&&t.removeAttribute(s)),t.addEventListener(a,c,p);break e}s in t?t[s]=c:c===!0?t.setAttribute(s,""):gi(t,s,c)}}}function Tn(t,a,s){switch(a){case"div":case"span":case"svg":case"path":case"a":case"g":case"p":case"li":break;case"img":lt("error",t),lt("load",t);var c=!1,p=!1,g;for(g in s)if(s.hasOwnProperty(g)){var w=s[g];if(w!=null)switch(g){case"src":c=!0;break;case"srcSet":p=!0;break;case"children":case"dangerouslySetInnerHTML":throw Error(r(137,a));default:Rt(t,a,g,w,s,null)}}p&&Rt(t,a,"srcSet",s.srcSet,s,null),c&&Rt(t,a,"src",s.src,s,null);return;case"input":lt("invalid",t);var A=g=w=p=null,D=null,G=null;for(c in s)if(s.hasOwnProperty(c)){var te=s[c];if(te!=null)switch(c){case"name":p=te;break;case"type":w=te;break;case"checked":D=te;break;case"defaultChecked":G=te;break;case"value":g=te;break;case"defaultValue":A=te;break;case"children":case"dangerouslySetInnerHTML":if(te!=null)throw Error(r(137,a));break;default:Rt(t,a,c,te,s,null)}}gl(t,g,A,D,G,w,p,!1);return;case"select":lt("invalid",t),c=w=g=null;for(p in s)if(s.hasOwnProperty(p)&&(A=s[p],A!=null))switch(p){case"value":g=A;break;case"defaultValue":w=A;break;case"multiple":c=A;default:Rt(t,a,p,A,s,null)}a=g,s=w,t.multiple=!!c,a!=null?Kn(t,!!c,a,!1):s!=null&&Kn(t,!!c,s,!0);return;case"textarea":lt("invalid",t),g=p=c=null;for(w in s)if(s.hasOwnProperty(w)&&(A=s[w],A!=null))switch(w){case"value":c=A;break;case"defaultValue":p=A;break;case"children":g=A;break;case"dangerouslySetInnerHTML":if(A!=null)throw Error(r(91));break;default:Rt(t,a,w,A,s,null)}yi(t,c,p,g);return;case"option":for(D in s)s.hasOwnProperty(D)&&(c=s[D],c!=null)&&(D==="selected"?t.selected=c&&typeof c!="function"&&typeof c!="symbol":Rt(t,a,D,c,s,null));return;case"dialog":lt("beforetoggle",t),lt("toggle",t),lt("cancel",t),lt("close",t);break;case"iframe":case"object":lt("load",t);break;case"video":case"audio":for(c=0;c<Wl.length;c++)lt(Wl[c],t);break;case"image":lt("error",t),lt("load",t);break;case"details":lt("toggle",t);break;case"embed":case"source":case"link":lt("error",t),lt("load",t);case"area":case"base":case"br":case"col":case"hr":case"keygen":case"meta":case"param":case"track":case"wbr":case"menuitem":for(G in s)if(s.hasOwnProperty(G)&&(c=s[G],c!=null))switch(G){case"children":case"dangerouslySetInnerHTML":throw Error(r(137,a));default:Rt(t,a,G,c,s,null)}return;default:if(Oa(a)){for(te in s)s.hasOwnProperty(te)&&(c=s[te],c!==void 0&&Lh(t,a,te,c,s,void 0));return}}for(A in s)s.hasOwnProperty(A)&&(c=s[A],c!=null&&Rt(t,a,A,c,s,null))}function s5(t,a,s,c){switch(a){case"div":case"span":case"svg":case"path":case"a":case"g":case"p":case"li":break;case"input":var p=null,g=null,w=null,A=null,D=null,G=null,te=null;for(X in s){var se=s[X];if(s.hasOwnProperty(X)&&se!=null)switch(X){case"checked":break;case"value":break;case"defaultValue":D=se;default:c.hasOwnProperty(X)||Rt(t,a,X,null,c,se)}}for(var Z in c){var X=c[Z];if(se=s[Z],c.hasOwnProperty(Z)&&(X!=null||se!=null))switch(Z){case"type":g=X;break;case"name":p=X;break;case"checked":G=X;break;case"defaultChecked":te=X;break;case"value":w=X;break;case"defaultValue":A=X;break;case"children":case"dangerouslySetInnerHTML":if(X!=null)throw Error(r(137,a));break;default:X!==se&&Rt(t,a,Z,X,c,se)}}Ko(t,w,A,D,G,te,g,p);return;case"select":X=w=A=Z=null;for(g in s)if(D=s[g],s.hasOwnProperty(g)&&D!=null)switch(g){case"value":break;case"multiple":X=D;default:c.hasOwnProperty(g)||Rt(t,a,g,null,c,D)}for(p in c)if(g=c[p],D=s[p],c.hasOwnProperty(p)&&(g!=null||D!=null))switch(p){case"value":Z=g;break;case"defaultValue":A=g;break;case"multiple":w=g;default:g!==D&&Rt(t,a,p,g,c,D)}a=A,s=w,c=X,Z!=null?Kn(t,!!s,Z,!1):!!c!=!!s&&(a!=null?Kn(t,!!s,a,!0):Kn(t,!!s,s?[]:"",!1));return;case"textarea":X=Z=null;for(A in s)if(p=s[A],s.hasOwnProperty(A)&&p!=null&&!c.hasOwnProperty(A))switch(A){case"value":break;case"children":break;default:Rt(t,a,A,null,c,p)}for(w in c)if(p=c[w],g=s[w],c.hasOwnProperty(w)&&(p!=null||g!=null))switch(w){case"value":Z=p;break;case"defaultValue":X=p;break;case"children":break;case"dangerouslySetInnerHTML":if(p!=null)throw Error(r(91));break;default:p!==g&&Rt(t,a,w,p,c,g)}ta(t,Z,X);return;case"option":for(var Ce in s)Z=s[Ce],s.hasOwnProperty(Ce)&&Z!=null&&!c.hasOwnProperty(Ce)&&(Ce==="selected"?t.selected=!1:Rt(t,a,Ce,null,c,Z));for(D in c)Z=c[D],X=s[D],c.hasOwnProperty(D)&&Z!==X&&(Z!=null||X!=null)&&(D==="selected"?t.selected=Z&&typeof Z!="function"&&typeof Z!="symbol":Rt(t,a,D,Z,c,X));return;case"img":case"link":case"area":case"base":case"br":case"col":case"embed":case"hr":case"keygen":case"meta":case"param":case"source":case"track":case"wbr":case"menuitem":for(var Ke in s)Z=s[Ke],s.hasOwnProperty(Ke)&&Z!=null&&!c.hasOwnProperty(Ke)&&Rt(t,a,Ke,null,c,Z);for(G in c)if(Z=c[G],X=s[G],c.hasOwnProperty(G)&&Z!==X&&(Z!=null||X!=null))switch(G){case"children":case"dangerouslySetInnerHTML":if(Z!=null)throw Error(r(137,a));break;default:Rt(t,a,G,Z,c,X)}return;default:if(Oa(a)){for(var Dt in s)Z=s[Dt],s.hasOwnProperty(Dt)&&Z!==void 0&&!c.hasOwnProperty(Dt)&&Lh(t,a,Dt,void 0,c,Z);for(te in c)Z=c[te],X=s[te],!c.hasOwnProperty(te)||Z===X||Z===void 0&&X===void 0||Lh(t,a,te,Z,c,X);return}}for(var U in s)Z=s[U],s.hasOwnProperty(U)&&Z!=null&&!c.hasOwnProperty(U)&&Rt(t,a,U,null,c,Z);for(se in c)Z=c[se],X=s[se],!c.hasOwnProperty(se)||Z===X||Z==null&&X==null||Rt(t,a,se,Z,c,X)}function qv(t){switch(t){case"css":case"script":case"font":case"img":case"image":case"input":case"link":return!0;default:return!1}}function o5(){if(typeof performance.getEntriesByType=="function"){for(var t=0,a=0,s=performance.getEntriesByType("resource"),c=0;c<s.length;c++){var p=s[c],g=p.transferSize,w=p.initiatorType,A=p.duration;if(g&&A&&qv(w)){for(w=0,A=p.responseEnd,c+=1;c<s.length;c++){var D=s[c],G=D.startTime;if(G>A)break;var te=D.transferSize,se=D.initiatorType;te&&qv(se)&&(D=D.responseEnd,w+=te*(D<A?1:(A-G)/(D-G)))}if(--c,a+=8*(g+w)/(p.duration/1e3),t++,10<t)break}}if(0<t)return a/t/1e6}return navigator.connection&&(t=navigator.connection.downlink,typeof t=="number")?t:5}var Uh=null,Vh=null;function Ju(t){return t.nodeType===9?t:t.ownerDocument}function Mv(t){switch(t){case"http://www.w3.org/2000/svg":return 1;case"http://www.w3.org/1998/Math/MathML":return 2;default:return 0}}function Bv(t,a){if(t===0)switch(a){case"svg":return 1;case"math":return 2;default:return 0}return t===1&&a==="foreignObject"?0:t}function $h(t,a){return t==="textarea"||t==="noscript"||typeof a.children=="string"||typeof a.children=="number"||typeof a.children=="bigint"||typeof a.dangerouslySetInnerHTML=="object"&&a.dangerouslySetInnerHTML!==null&&a.dangerouslySetInnerHTML.__html!=null}var Kh=null;function r5(){var t=window.event;return t&&t.type==="popstate"?t===Kh?!1:(Kh=t,!0):(Kh=null,!1)}var Lv=typeof setTimeout=="function"?setTimeout:void 0,l5=typeof clearTimeout=="function"?clearTimeout:void 0,Uv=typeof Promise=="function"?Promise:void 0,c5=typeof queueMicrotask=="function"?queueMicrotask:typeof Uv<"u"?function(t){return Uv.resolve(null).then(t).catch(u5)}:Lv;function u5(t){setTimeout(function(){throw t})}function bs(t){return t==="head"}function Vv(t,a){var s=a,c=0;do{var p=s.nextSibling;if(t.removeChild(s),p&&p.nodeType===8)if(s=p.data,s==="/$"||s==="/&"){if(c===0){t.removeChild(p),Sr(a);return}c--}else if(s==="$"||s==="$?"||s==="$~"||s==="$!"||s==="&")c++;else if(s==="html")tc(t.ownerDocument.documentElement);else if(s==="head"){s=t.ownerDocument.head,tc(s);for(var g=s.firstChild;g;){var w=g.nextSibling,A=g.nodeName;g[Zi]||A==="SCRIPT"||A==="STYLE"||A==="LINK"&&g.rel.toLowerCase()==="stylesheet"||s.removeChild(g),g=w}}else s==="body"&&tc(t.ownerDocument.body);s=p}while(s);Sr(a)}function $v(t,a){var s=t;t=0;do{var c=s.nextSibling;if(s.nodeType===1?a?(s._stashedDisplay=s.style.display,s.style.display="none"):(s.style.display=s._stashedDisplay||"",s.getAttribute("style")===""&&s.removeAttribute("style")):s.nodeType===3&&(a?(s._stashedText=s.nodeValue,s.nodeValue=""):s.nodeValue=s._stashedText||""),c&&c.nodeType===8)if(s=c.data,s==="/$"){if(t===0)break;t--}else s!=="$"&&s!=="$?"&&s!=="$~"&&s!=="$!"||t++;s=c}while(s)}function Gh(t){var a=t.firstChild;for(a&&a.nodeType===10&&(a=a.nextSibling);a;){var s=a;switch(a=a.nextSibling,s.nodeName){case"HTML":case"HEAD":case"BODY":Gh(s),ul(s);continue;case"SCRIPT":case"STYLE":continue;case"LINK":if(s.rel.toLowerCase()==="stylesheet")continue}t.removeChild(s)}}function d5(t,a,s,c){for(;t.nodeType===1;){var p=s;if(t.nodeName.toLowerCase()!==a.toLowerCase()){if(!c&&(t.nodeName!=="INPUT"||t.type!=="hidden"))break}else if(c){if(!t[Zi])switch(a){case"meta":if(!t.hasAttribute("itemprop"))break;return t;case"link":if(g=t.getAttribute("rel"),g==="stylesheet"&&t.hasAttribute("data-precedence"))break;if(g!==p.rel||t.getAttribute("href")!==(p.href==null||p.href===""?null:p.href)||t.getAttribute("crossorigin")!==(p.crossOrigin==null?null:p.crossOrigin)||t.getAttribute("title")!==(p.title==null?null:p.title))break;return t;case"style":if(t.hasAttribute("data-precedence"))break;return t;case"script":if(g=t.getAttribute("src"),(g!==(p.src==null?null:p.src)||t.getAttribute("type")!==(p.type==null?null:p.type)||t.getAttribute("crossorigin")!==(p.crossOrigin==null?null:p.crossOrigin))&&g&&t.hasAttribute("async")&&!t.hasAttribute("itemprop"))break;return t;default:return t}}else if(a==="input"&&t.type==="hidden"){var g=p.name==null?null:""+p.name;if(p.type==="hidden"&&t.getAttribute("name")===g)return t}else return t;if(t=Na(t.nextSibling),t===null)break}return null}function m5(t,a,s){if(a==="")return null;for(;t.nodeType!==3;)if((t.nodeType!==1||t.nodeName!=="INPUT"||t.type!=="hidden")&&!s||(t=Na(t.nextSibling),t===null))return null;return t}function Kv(t,a){for(;t.nodeType!==8;)if((t.nodeType!==1||t.nodeName!=="INPUT"||t.type!=="hidden")&&!a||(t=Na(t.nextSibling),t===null))return null;return t}function Hh(t){return t.data==="$?"||t.data==="$~"}function Fh(t){return t.data==="$!"||t.data==="$?"&&t.ownerDocument.readyState!=="loading"}function p5(t,a){var s=t.ownerDocument;if(t.data==="$~")t._reactRetry=a;else if(t.data!=="$?"||s.readyState!=="loading")a();else{var c=function(){a(),s.removeEventListener("DOMContentLoaded",c)};s.addEventListener("DOMContentLoaded",c),t._reactRetry=c}}function Na(t){for(;t!=null;t=t.nextSibling){var a=t.nodeType;if(a===1||a===3)break;if(a===8){if(a=t.data,a==="$"||a==="$!"||a==="$?"||a==="$~"||a==="&"||a==="F!"||a==="F")break;if(a==="/$"||a==="/&")return null}}return t}var Qh=null;function Gv(t){t=t.nextSibling;for(var a=0;t;){if(t.nodeType===8){var s=t.data;if(s==="/$"||s==="/&"){if(a===0)return Na(t.nextSibling);a--}else s!=="$"&&s!=="$!"&&s!=="$?"&&s!=="$~"&&s!=="&"||a++}t=t.nextSibling}return null}function Hv(t){t=t.previousSibling;for(var a=0;t;){if(t.nodeType===8){var s=t.data;if(s==="$"||s==="$!"||s==="$?"||s==="$~"||s==="&"){if(a===0)return t;a--}else s!=="/$"&&s!=="/&"||a++}t=t.previousSibling}return null}function Fv(t,a,s){switch(a=Ju(s),t){case"html":if(t=a.documentElement,!t)throw Error(r(452));return t;case"head":if(t=a.head,!t)throw Error(r(453));return t;case"body":if(t=a.body,!t)throw Error(r(454));return t;default:throw Error(r(451))}}function tc(t){for(var a=t.attributes;a.length;)t.removeAttributeNode(a[0]);ul(t)}var Ca=new Map,Qv=new Set;function Wu(t){return typeof t.getRootNode=="function"?t.getRootNode():t.nodeType===9?t:t.ownerDocument}var Oi=ee.d;ee.d={f:h5,r:f5,D:g5,C:y5,L:b5,m:v5,X:w5,S:x5,M:k5};function h5(){var t=Oi.f(),a=Ku();return t||a}function f5(t){var a=Yi(t);a!==null&&a.tag===5&&a.type==="form"?db(a):Oi.r(t)}var xr=typeof document>"u"?null:document;function Zv(t,a,s){var c=xr;if(c&&typeof a=="string"&&a){var p=In(a);p='link[rel="'+t+'"][href="'+p+'"]',typeof s=="string"&&(p+='[crossorigin="'+s+'"]'),Qv.has(p)||(Qv.add(p),t={rel:t,crossOrigin:s,href:a},c.querySelector(p)===null&&(a=c.createElement("link"),Tn(a,"link",t),en(a),c.head.appendChild(a)))}}function g5(t){Oi.D(t),Zv("dns-prefetch",t,null)}function y5(t,a){Oi.C(t,a),Zv("preconnect",t,a)}function b5(t,a,s){Oi.L(t,a,s);var c=xr;if(c&&t&&a){var p='link[rel="preload"][as="'+In(a)+'"]';a==="image"&&s&&s.imageSrcSet?(p+='[imagesrcset="'+In(s.imageSrcSet)+'"]',typeof s.imageSizes=="string"&&(p+='[imagesizes="'+In(s.imageSizes)+'"]')):p+='[href="'+In(t)+'"]';var g=p;switch(a){case"style":g=wr(t);break;case"script":g=kr(t)}Ca.has(g)||(t=S({rel:"preload",href:a==="image"&&s&&s.imageSrcSet?void 0:t,as:a},s),Ca.set(g,t),c.querySelector(p)!==null||a==="style"&&c.querySelector(nc(g))||a==="script"&&c.querySelector(ac(g))||(a=c.createElement("link"),Tn(a,"link",t),en(a),c.head.appendChild(a)))}}function v5(t,a){Oi.m(t,a);var s=xr;if(s&&t){var c=a&&typeof a.as=="string"?a.as:"script",p='link[rel="modulepreload"][as="'+In(c)+'"][href="'+In(t)+'"]',g=p;switch(c){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":g=kr(t)}if(!Ca.has(g)&&(t=S({rel:"modulepreload",href:t},a),Ca.set(g,t),s.querySelector(p)===null)){switch(c){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(s.querySelector(ac(g)))return}c=s.createElement("link"),Tn(c,"link",t),en(c),s.head.appendChild(c)}}}function x5(t,a,s){Oi.S(t,a,s);var c=xr;if(c&&t){var p=Ji(c).hoistableStyles,g=wr(t);a=a||"default";var w=p.get(g);if(!w){var A={loading:0,preload:null};if(w=c.querySelector(nc(g)))A.loading=5;else{t=S({rel:"stylesheet",href:t,"data-precedence":a},s),(s=Ca.get(g))&&Zh(t,s);var D=w=c.createElement("link");en(D),Tn(D,"link",t),D._p=new Promise(function(G,te){D.onload=G,D.onerror=te}),D.addEventListener("load",function(){A.loading|=1}),D.addEventListener("error",function(){A.loading|=2}),A.loading|=4,ed(w,a,c)}w={type:"stylesheet",instance:w,count:1,state:A},p.set(g,w)}}}function w5(t,a){Oi.X(t,a);var s=xr;if(s&&t){var c=Ji(s).hoistableScripts,p=kr(t),g=c.get(p);g||(g=s.querySelector(ac(p)),g||(t=S({src:t,async:!0},a),(a=Ca.get(p))&&Yh(t,a),g=s.createElement("script"),en(g),Tn(g,"link",t),s.head.appendChild(g)),g={type:"script",instance:g,count:1,state:null},c.set(p,g))}}function k5(t,a){Oi.M(t,a);var s=xr;if(s&&t){var c=Ji(s).hoistableScripts,p=kr(t),g=c.get(p);g||(g=s.querySelector(ac(p)),g||(t=S({src:t,async:!0,type:"module"},a),(a=Ca.get(p))&&Yh(t,a),g=s.createElement("script"),en(g),Tn(g,"link",t),s.head.appendChild(g)),g={type:"script",instance:g,count:1,state:null},c.set(p,g))}}function Yv(t,a,s,c){var p=(p=Y.current)?Wu(p):null;if(!p)throw Error(r(446));switch(t){case"meta":case"title":return null;case"style":return typeof s.precedence=="string"&&typeof s.href=="string"?(a=wr(s.href),s=Ji(p).hoistableStyles,c=s.get(a),c||(c={type:"style",instance:null,count:0,state:null},s.set(a,c)),c):{type:"void",instance:null,count:0,state:null};case"link":if(s.rel==="stylesheet"&&typeof s.href=="string"&&typeof s.precedence=="string"){t=wr(s.href);var g=Ji(p).hoistableStyles,w=g.get(t);if(w||(p=p.ownerDocument||p,w={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},g.set(t,w),(g=p.querySelector(nc(t)))&&!g._p&&(w.instance=g,w.state.loading=5),Ca.has(t)||(s={rel:"preload",as:"style",href:s.href,crossOrigin:s.crossOrigin,integrity:s.integrity,media:s.media,hrefLang:s.hrefLang,referrerPolicy:s.referrerPolicy},Ca.set(t,s),g||S5(p,t,s,w.state))),a&&c===null)throw Error(r(528,""));return w}if(a&&c!==null)throw Error(r(529,""));return null;case"script":return a=s.async,s=s.src,typeof s=="string"&&a&&typeof a!="function"&&typeof a!="symbol"?(a=kr(s),s=Ji(p).hoistableScripts,c=s.get(a),c||(c={type:"script",instance:null,count:0,state:null},s.set(a,c)),c):{type:"void",instance:null,count:0,state:null};default:throw Error(r(444,t))}}function wr(t){return'href="'+In(t)+'"'}function nc(t){return'link[rel="stylesheet"]['+t+"]"}function Xv(t){return S({},t,{"data-precedence":t.precedence,precedence:null})}function S5(t,a,s,c){t.querySelector('link[rel="preload"][as="style"]['+a+"]")?c.loading=1:(a=t.createElement("link"),c.preload=a,a.addEventListener("load",function(){return c.loading|=1}),a.addEventListener("error",function(){return c.loading|=2}),Tn(a,"link",s),en(a),t.head.appendChild(a))}function kr(t){return'[src="'+In(t)+'"]'}function ac(t){return"script[async]"+t}function Jv(t,a,s){if(a.count++,a.instance===null)switch(a.type){case"style":var c=t.querySelector('style[data-href~="'+In(s.href)+'"]');if(c)return a.instance=c,en(c),c;var p=S({},s,{"data-href":s.href,"data-precedence":s.precedence,href:null,precedence:null});return c=(t.ownerDocument||t).createElement("style"),en(c),Tn(c,"style",p),ed(c,s.precedence,t),a.instance=c;case"stylesheet":p=wr(s.href);var g=t.querySelector(nc(p));if(g)return a.state.loading|=4,a.instance=g,en(g),g;c=Xv(s),(p=Ca.get(p))&&Zh(c,p),g=(t.ownerDocument||t).createElement("link"),en(g);var w=g;return w._p=new Promise(function(A,D){w.onload=A,w.onerror=D}),Tn(g,"link",c),a.state.loading|=4,ed(g,s.precedence,t),a.instance=g;case"script":return g=kr(s.src),(p=t.querySelector(ac(g)))?(a.instance=p,en(p),p):(c=s,(p=Ca.get(g))&&(c=S({},s),Yh(c,p)),t=t.ownerDocument||t,p=t.createElement("script"),en(p),Tn(p,"link",c),t.head.appendChild(p),a.instance=p);case"void":return null;default:throw Error(r(443,a.type))}else a.type==="stylesheet"&&(a.state.loading&4)===0&&(c=a.instance,a.state.loading|=4,ed(c,s.precedence,t));return a.instance}function ed(t,a,s){for(var c=s.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),p=c.length?c[c.length-1]:null,g=p,w=0;w<c.length;w++){var A=c[w];if(A.dataset.precedence===a)g=A;else if(g!==p)break}g?g.parentNode.insertBefore(t,g.nextSibling):(a=s.nodeType===9?s.head:s,a.insertBefore(t,a.firstChild))}function Zh(t,a){t.crossOrigin==null&&(t.crossOrigin=a.crossOrigin),t.referrerPolicy==null&&(t.referrerPolicy=a.referrerPolicy),t.title==null&&(t.title=a.title)}function Yh(t,a){t.crossOrigin==null&&(t.crossOrigin=a.crossOrigin),t.referrerPolicy==null&&(t.referrerPolicy=a.referrerPolicy),t.integrity==null&&(t.integrity=a.integrity)}var td=null;function Wv(t,a,s){if(td===null){var c=new Map,p=td=new Map;p.set(s,c)}else p=td,c=p.get(s),c||(c=new Map,p.set(s,c));if(c.has(t))return c;for(c.set(t,null),s=s.getElementsByTagName(t),p=0;p<s.length;p++){var g=s[p];if(!(g[Zi]||g[on]||t==="link"&&g.getAttribute("rel")==="stylesheet")&&g.namespaceURI!=="http://www.w3.org/2000/svg"){var w=g.getAttribute(a)||"";w=t+w;var A=c.get(w);A?A.push(g):c.set(w,[g])}}return c}function ex(t,a,s){t=t.ownerDocument||t,t.head.insertBefore(s,a==="title"?t.querySelector("head > title"):null)}function j5(t,a,s){if(s===1||a.itemProp!=null)return!1;switch(t){case"meta":case"title":return!0;case"style":if(typeof a.precedence!="string"||typeof a.href!="string"||a.href==="")break;return!0;case"link":if(typeof a.rel!="string"||typeof a.href!="string"||a.href===""||a.onLoad||a.onError)break;return a.rel==="stylesheet"?(t=a.disabled,typeof a.precedence=="string"&&t==null):!0;case"script":if(a.async&&typeof a.async!="function"&&typeof a.async!="symbol"&&!a.onLoad&&!a.onError&&a.src&&typeof a.src=="string")return!0}return!1}function tx(t){return!(t.type==="stylesheet"&&(t.state.loading&3)===0)}function A5(t,a,s,c){if(s.type==="stylesheet"&&(typeof c.media!="string"||matchMedia(c.media).matches!==!1)&&(s.state.loading&4)===0){if(s.instance===null){var p=wr(c.href),g=a.querySelector(nc(p));if(g){a=g._p,a!==null&&typeof a=="object"&&typeof a.then=="function"&&(t.count++,t=nd.bind(t),a.then(t,t)),s.state.loading|=4,s.instance=g,en(g);return}g=a.ownerDocument||a,c=Xv(c),(p=Ca.get(p))&&Zh(c,p),g=g.createElement("link"),en(g);var w=g;w._p=new Promise(function(A,D){w.onload=A,w.onerror=D}),Tn(g,"link",c),s.instance=g}t.stylesheets===null&&(t.stylesheets=new Map),t.stylesheets.set(s,a),(a=s.state.preload)&&(s.state.loading&3)===0&&(t.count++,s=nd.bind(t),a.addEventListener("load",s),a.addEventListener("error",s))}}var Xh=0;function N5(t,a){return t.stylesheets&&t.count===0&&id(t,t.stylesheets),0<t.count||0<t.imgCount?function(s){var c=setTimeout(function(){if(t.stylesheets&&id(t,t.stylesheets),t.unsuspend){var g=t.unsuspend;t.unsuspend=null,g()}},6e4+a);0<t.imgBytes&&Xh===0&&(Xh=62500*o5());var p=setTimeout(function(){if(t.waitingForImages=!1,t.count===0&&(t.stylesheets&&id(t,t.stylesheets),t.unsuspend)){var g=t.unsuspend;t.unsuspend=null,g()}},(t.imgBytes>Xh?50:800)+a);return t.unsuspend=s,function(){t.unsuspend=null,clearTimeout(c),clearTimeout(p)}}:null}function nd(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)id(this,this.stylesheets);else if(this.unsuspend){var t=this.unsuspend;this.unsuspend=null,t()}}}var ad=null;function id(t,a){t.stylesheets=null,t.unsuspend!==null&&(t.count++,ad=new Map,a.forEach(C5,t),ad=null,nd.call(t))}function C5(t,a){if(!(a.state.loading&4)){var s=ad.get(t);if(s)var c=s.get(null);else{s=new Map,ad.set(t,s);for(var p=t.querySelectorAll("link[data-precedence],style[data-precedence]"),g=0;g<p.length;g++){var w=p[g];(w.nodeName==="LINK"||w.getAttribute("media")!=="not all")&&(s.set(w.dataset.precedence,w),c=w)}c&&s.set(null,c)}p=a.instance,w=p.getAttribute("data-precedence"),g=s.get(w)||c,g===c&&s.set(null,p),s.set(w,p),this.count++,c=nd.bind(this),p.addEventListener("load",c),p.addEventListener("error",c),g?g.parentNode.insertBefore(p,g.nextSibling):(t=t.nodeType===9?t.head:t,t.insertBefore(p,t.firstChild)),a.state.loading|=4}}var ic={$$typeof:L,Provider:null,Consumer:null,_currentValue:ve,_currentValue2:ve,_threadCount:0};function _5(t,a,s,c,p,g,w,A,D){this.tag=1,this.containerInfo=t,this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.next=this.pendingContext=this.context=this.cancelPendingCommit=null,this.callbackPriority=0,this.expirationTimes=Lo(-1),this.entangledLanes=this.shellSuspendCounter=this.errorRecoveryDisabledLanes=this.expiredLanes=this.warmLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Lo(0),this.hiddenUpdates=Lo(null),this.identifierPrefix=c,this.onUncaughtError=p,this.onCaughtError=g,this.onRecoverableError=w,this.pooledCache=null,this.pooledCacheLanes=0,this.formState=D,this.incompleteTransitions=new Map}function nx(t,a,s,c,p,g,w,A,D,G,te,se){return t=new _5(t,a,s,w,D,G,te,se,A),a=1,g===!0&&(a|=24),g=aa(3,null,null,a),t.current=g,g.stateNode=t,a=Ep(),a.refCount++,t.pooledCache=a,a.refCount++,g.memoizedState={element:c,isDehydrated:s,cache:a},Ip(g),t}function ax(t){return t?(t=Wo,t):Wo}function ix(t,a,s,c,p,g){p=ax(p),c.context===null?c.context=p:c.pendingContext=p,c=rs(a),c.payload={element:s},g=g===void 0?null:g,g!==null&&(c.callback=g),s=ls(t,c,a),s!==null&&(Zn(s,t,a),Pl(s,t,a))}function sx(t,a){if(t=t.memoizedState,t!==null&&t.dehydrated!==null){var s=t.retryLane;t.retryLane=s!==0&&s<a?s:a}}function Jh(t,a){sx(t,a),(t=t.alternate)&&sx(t,a)}function ox(t){if(t.tag===13||t.tag===31){var a=Ws(t,67108864);a!==null&&Zn(a,t,67108864),Jh(t,67108864)}}function rx(t){if(t.tag===13||t.tag===31){var a=la();a=ll(a);var s=Ws(t,a);s!==null&&Zn(s,t,a),Jh(t,a)}}var sd=!0;function T5(t,a,s,c){var p=B.T;B.T=null;var g=ee.p;try{ee.p=2,Wh(t,a,s,c)}finally{ee.p=g,B.T=p}}function E5(t,a,s,c){var p=B.T;B.T=null;var g=ee.p;try{ee.p=8,Wh(t,a,s,c)}finally{ee.p=g,B.T=p}}function Wh(t,a,s,c){if(sd){var p=ef(c);if(p===null)Bh(t,a,c,od,s),cx(t,c);else if(D5(p,t,a,s,c))c.stopPropagation();else if(cx(t,c),a&4&&-1<R5.indexOf(t)){for(;p!==null;){var g=Yi(p);if(g!==null)switch(g.tag){case 3:if(g=g.stateNode,g.current.memoizedState.isDehydrated){var w=Ot(g.pendingLanes);if(w!==0){var A=g;for(A.pendingLanes|=2,A.entangledLanes|=2;w;){var D=1<<31-Zt(w);A.entanglements[1]|=D,w&=~D}ai(g),(wt&6)===0&&(Vu=Vt()+500,Jl(0))}}break;case 31:case 13:A=Ws(g,2),A!==null&&Zn(A,g,2),Ku(),Jh(g,2)}if(g=ef(c),g===null&&Bh(t,a,c,od,s),g===p)break;p=g}p!==null&&c.stopPropagation()}else Bh(t,a,c,null,s)}}function ef(t){return t=bl(t),tf(t)}var od=null;function tf(t){if(od=null,t=fi(t),t!==null){var a=h(t);if(a===null)t=null;else{var s=a.tag;if(s===13){if(t=f(a),t!==null)return t;t=null}else if(s===31){if(t=b(a),t!==null)return t;t=null}else if(s===3){if(a.stateNode.current.memoizedState.isDehydrated)return a.tag===3?a.stateNode.containerInfo:null;t=null}else a!==t&&(t=null)}}return od=t,null}function lx(t){switch(t){case"beforetoggle":case"cancel":case"click":case"close":case"contextmenu":case"copy":case"cut":case"auxclick":case"dblclick":case"dragend":case"dragstart":case"drop":case"focusin":case"focusout":case"input":case"invalid":case"keydown":case"keypress":case"keyup":case"mousedown":case"mouseup":case"paste":case"pause":case"play":case"pointercancel":case"pointerdown":case"pointerup":case"ratechange":case"reset":case"resize":case"seeked":case"submit":case"toggle":case"touchcancel":case"touchend":case"touchstart":case"volumechange":case"change":case"selectionchange":case"textInput":case"compositionstart":case"compositionend":case"compositionupdate":case"beforeblur":case"afterblur":case"beforeinput":case"blur":case"fullscreenchange":case"focus":case"hashchange":case"popstate":case"select":case"selectstart":return 2;case"drag":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"mousemove":case"mouseout":case"mouseover":case"pointermove":case"pointerout":case"pointerover":case"scroll":case"touchmove":case"wheel":case"mouseenter":case"mouseleave":case"pointerenter":case"pointerleave":return 8;case"message":switch(di()){case Vs:return 2;case mi:return 8;case Rn:case Bo:return 32;case $s:return 268435456;default:return 32}default:return 32}}var nf=!1,vs=null,xs=null,ws=null,sc=new Map,oc=new Map,ks=[],R5="mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset".split(" ");function cx(t,a){switch(t){case"focusin":case"focusout":vs=null;break;case"dragenter":case"dragleave":xs=null;break;case"mouseover":case"mouseout":ws=null;break;case"pointerover":case"pointerout":sc.delete(a.pointerId);break;case"gotpointercapture":case"lostpointercapture":oc.delete(a.pointerId)}}function rc(t,a,s,c,p,g){return t===null||t.nativeEvent!==g?(t={blockedOn:a,domEventName:s,eventSystemFlags:c,nativeEvent:g,targetContainers:[p]},a!==null&&(a=Yi(a),a!==null&&ox(a)),t):(t.eventSystemFlags|=c,a=t.targetContainers,p!==null&&a.indexOf(p)===-1&&a.push(p),t)}function D5(t,a,s,c,p){switch(a){case"focusin":return vs=rc(vs,t,a,s,c,p),!0;case"dragenter":return xs=rc(xs,t,a,s,c,p),!0;case"mouseover":return ws=rc(ws,t,a,s,c,p),!0;case"pointerover":var g=p.pointerId;return sc.set(g,rc(sc.get(g)||null,t,a,s,c,p)),!0;case"gotpointercapture":return g=p.pointerId,oc.set(g,rc(oc.get(g)||null,t,a,s,c,p)),!0}return!1}function ux(t){var a=fi(t.target);if(a!==null){var s=h(a);if(s!==null){if(a=s.tag,a===13){if(a=f(s),a!==null){t.blockedOn=a,su(t.priority,function(){rx(s)});return}}else if(a===31){if(a=b(s),a!==null){t.blockedOn=a,su(t.priority,function(){rx(s)});return}}else if(a===3&&s.stateNode.current.memoizedState.isDehydrated){t.blockedOn=s.tag===3?s.stateNode.containerInfo:null;return}}}t.blockedOn=null}function rd(t){if(t.blockedOn!==null)return!1;for(var a=t.targetContainers;0<a.length;){var s=ef(t.nativeEvent);if(s===null){s=t.nativeEvent;var c=new s.constructor(s.type,s);yl=c,s.target.dispatchEvent(c),yl=null}else return a=Yi(s),a!==null&&ox(a),t.blockedOn=s,!1;a.shift()}return!0}function dx(t,a,s){rd(t)&&s.delete(a)}function z5(){nf=!1,vs!==null&&rd(vs)&&(vs=null),xs!==null&&rd(xs)&&(xs=null),ws!==null&&rd(ws)&&(ws=null),sc.forEach(dx),oc.forEach(dx)}function ld(t,a){t.blockedOn===a&&(t.blockedOn=null,nf||(nf=!0,e.unstable_scheduleCallback(e.unstable_NormalPriority,z5)))}var cd=null;function mx(t){cd!==t&&(cd=t,e.unstable_scheduleCallback(e.unstable_NormalPriority,function(){cd===t&&(cd=null);for(var a=0;a<t.length;a+=3){var s=t[a],c=t[a+1],p=t[a+2];if(typeof c!="function"){if(tf(c||s)===null)continue;break}var g=Yi(s);g!==null&&(t.splice(a,3),a-=3,eh(g,{pending:!0,data:p,method:s.method,action:c},c,p))}}))}function Sr(t){function a(D){return ld(D,t)}vs!==null&&ld(vs,t),xs!==null&&ld(xs,t),ws!==null&&ld(ws,t),sc.forEach(a),oc.forEach(a);for(var s=0;s<ks.length;s++){var c=ks[s];c.blockedOn===t&&(c.blockedOn=null)}for(;0<ks.length&&(s=ks[0],s.blockedOn===null);)ux(s),s.blockedOn===null&&ks.shift();if(s=(t.ownerDocument||t).$$reactFormReplay,s!=null)for(c=0;c<s.length;c+=3){var p=s[c],g=s[c+1],w=p[Dn]||null;if(typeof g=="function")w||mx(s);else if(w){var A=null;if(g&&g.hasAttribute("formAction")){if(p=g,w=g[Dn]||null)A=w.formAction;else if(tf(p)!==null)continue}else A=w.action;typeof A=="function"?s[c+1]=A:(s.splice(c,3),c-=3),mx(s)}}}function px(){function t(g){g.canIntercept&&g.info==="react-transition"&&g.intercept({handler:function(){return new Promise(function(w){return p=w})},focusReset:"manual",scroll:"manual"})}function a(){p!==null&&(p(),p=null),c||setTimeout(s,20)}function s(){if(!c&&!navigation.transition){var g=navigation.currentEntry;g&&g.url!=null&&navigation.navigate(g.url,{state:g.getState(),info:"react-transition",history:"replace"})}}if(typeof navigation=="object"){var c=!1,p=null;return navigation.addEventListener("navigate",t),navigation.addEventListener("navigatesuccess",a),navigation.addEventListener("navigateerror",a),setTimeout(s,100),function(){c=!0,navigation.removeEventListener("navigate",t),navigation.removeEventListener("navigatesuccess",a),navigation.removeEventListener("navigateerror",a),p!==null&&(p(),p=null)}}}function af(t){this._internalRoot=t}ud.prototype.render=af.prototype.render=function(t){var a=this._internalRoot;if(a===null)throw Error(r(409));var s=a.current,c=la();ix(s,c,t,a,null,null)},ud.prototype.unmount=af.prototype.unmount=function(){var t=this._internalRoot;if(t!==null){this._internalRoot=null;var a=t.containerInfo;ix(t.current,2,null,t,null,null),Ku(),a[Qi]=null}};function ud(t){this._internalRoot=t}ud.prototype.unstable_scheduleHydration=function(t){if(t){var a=Uo();t={blockedOn:null,target:t,priority:a};for(var s=0;s<ks.length&&a!==0&&a<ks[s].priority;s++);ks.splice(s,0,t),s===0&&ux(t)}};var hx=n.version;if(hx!=="19.2.4")throw Error(r(527,hx,"19.2.4"));ee.findDOMNode=function(t){var a=t._reactInternals;if(a===void 0)throw typeof t.render=="function"?Error(r(188)):(t=Object.keys(t).join(","),Error(r(268,t)));return t=x(a),t=t!==null?k(t):null,t=t===null?null:t.stateNode,t};var I5={bundleType:0,version:"19.2.4",rendererPackageName:"react-dom",currentDispatcherRef:B,reconcilerVersion:"19.2.4"};if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"){var dd=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!dd.isDisabled&&dd.supportsFiber)try{bn=dd.inject(I5),Tt=dd}catch{}}return lc.createRoot=function(t,a){if(!u(t))throw Error(r(299));var s=!1,c="",p=wb,g=kb,w=Sb;return a!=null&&(a.unstable_strictMode===!0&&(s=!0),a.identifierPrefix!==void 0&&(c=a.identifierPrefix),a.onUncaughtError!==void 0&&(p=a.onUncaughtError),a.onCaughtError!==void 0&&(g=a.onCaughtError),a.onRecoverableError!==void 0&&(w=a.onRecoverableError)),a=nx(t,1,!1,null,null,s,c,null,p,g,w,px),t[Qi]=a.current,Mh(t),new af(a)},lc.hydrateRoot=function(t,a,s){if(!u(t))throw Error(r(299));var c=!1,p="",g=wb,w=kb,A=Sb,D=null;return s!=null&&(s.unstable_strictMode===!0&&(c=!0),s.identifierPrefix!==void 0&&(p=s.identifierPrefix),s.onUncaughtError!==void 0&&(g=s.onUncaughtError),s.onCaughtError!==void 0&&(w=s.onCaughtError),s.onRecoverableError!==void 0&&(A=s.onRecoverableError),s.formState!==void 0&&(D=s.formState)),a=nx(t,1,!0,a,s??null,c,p,D,g,w,A,px),a.context=ax(null),s=a.current,c=la(),c=ll(c),p=rs(c),p.callback=null,ls(s,p,c),s=c,a.current.lanes=s,Hs(a,s),ai(a),t[Qi]=a.current,Mh(t),new ud(a)},lc.version="19.2.4",lc}var bx;function b6(){if(bx)return sf.exports;bx=1;function e(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(n){console.error(n)}}return e(),sf.exports=y6(),sf.exports}var v6=b6();const x6={bodySerializer:e=>JSON.stringify(e,(n,i)=>typeof i=="bigint"?i.toString():i)},w6=({onRequest:e,onSseError:n,onSseEvent:i,responseTransformer:r,responseValidator:u,sseDefaultRetryDelay:h,sseMaxRetryAttempts:f,sseMaxRetryDelay:b,sseSleepFn:v,url:x,...k})=>{let S;const N=v??(q=>new Promise(E=>setTimeout(E,q)));return{stream:async function*(){let q=h??3e3,E=0;const P=k.signal??new AbortController().signal;for(;!P.aborted;){E++;const M=k.headers instanceof Headers?k.headers:new Headers(k.headers);S!==void 0&&M.set("Last-Event-ID",S);try{const L={redirect:"follow",...k,body:k.serializedBody,headers:M,signal:P};let $=new Request(x,L);e&&($=await e(x,L));const J=await(k.fetch??globalThis.fetch)($);if(!J.ok)throw new Error(`SSE failed: ${J.status} ${J.statusText}`);if(!J.body)throw new Error("No body in SSE response");const V=J.body.pipeThrough(new TextDecoderStream).getReader();let Q="";const ae=()=>{try{V.cancel()}catch{}};P.addEventListener("abort",ae);try{for(;;){const{done:Fe,value:We}=await V.read();if(Fe)break;Q+=We;const Ve=Q.split(`
|
|
11
|
+
|
|
12
|
+
`);Q=Ve.pop()??"";for(const qe of Ve){const Ae=qe.split(`
|
|
13
|
+
`),Le=[];let B;for(const je of Ae)if(je.startsWith("data:"))Le.push(je.replace(/^data:\s*/,""));else if(je.startsWith("event:"))B=je.replace(/^event:\s*/,"");else if(je.startsWith("id:"))S=je.replace(/^id:\s*/,"");else if(je.startsWith("retry:")){const oe=Number.parseInt(je.replace(/^retry:\s*/,""),10);Number.isNaN(oe)||(q=oe)}let ee,ve=!1;if(Le.length){const je=Le.join(`
|
|
14
|
+
`);try{ee=JSON.parse(je),ve=!0}catch{ee=je}}ve&&(u&&await u(ee),r&&(ee=await r(ee))),i?.({data:ee,event:B,id:S,retry:q}),Le.length&&(yield ee)}}}finally{P.removeEventListener("abort",ae),V.releaseLock()}break}catch(L){if(n?.(L),f!==void 0&&E>=f)break;const $=Math.min(q*2**(E-1),b??3e4);await N($)}}}()}},k6=e=>{switch(e){case"label":return".";case"matrix":return";";case"simple":return",";default:return"&"}},S6=e=>{switch(e){case"form":return",";case"pipeDelimited":return"|";case"spaceDelimited":return"%20";default:return","}},j6=e=>{switch(e){case"label":return".";case"matrix":return";";case"simple":return",";default:return"&"}},TS=({allowReserved:e,explode:n,name:i,style:r,value:u})=>{if(!n){const b=(e?u:u.map(v=>encodeURIComponent(v))).join(S6(r));switch(r){case"label":return`.${b}`;case"matrix":return`;${i}=${b}`;case"simple":return b;default:return`${i}=${b}`}}const h=k6(r),f=u.map(b=>r==="label"||r==="simple"?e?b:encodeURIComponent(b):gm({allowReserved:e,name:i,value:b})).join(h);return r==="label"||r==="matrix"?h+f:f},gm=({allowReserved:e,name:n,value:i})=>{if(i==null)return"";if(typeof i=="object")throw new Error("Deeply-nested arrays/objects aren’t supported. Provide your own `querySerializer()` to handle these.");return`${n}=${e?i:encodeURIComponent(i)}`},ES=({allowReserved:e,explode:n,name:i,style:r,value:u,valueOnly:h})=>{if(u instanceof Date)return h?u.toISOString():`${i}=${u.toISOString()}`;if(r!=="deepObject"&&!n){let v=[];Object.entries(u).forEach(([k,S])=>{v=[...v,k,e?S:encodeURIComponent(S)]});const x=v.join(",");switch(r){case"form":return`${i}=${x}`;case"label":return`.${x}`;case"matrix":return`;${i}=${x}`;default:return x}}const f=j6(r),b=Object.entries(u).map(([v,x])=>gm({allowReserved:e,name:r==="deepObject"?`${i}[${v}]`:v,value:x})).join(f);return r==="label"||r==="matrix"?f+b:b},A6=/\{[^{}]+\}/g,N6=({path:e,url:n})=>{let i=n;const r=n.match(A6);if(r)for(const u of r){let h=!1,f=u.substring(1,u.length-1),b="simple";f.endsWith("*")&&(h=!0,f=f.substring(0,f.length-1)),f.startsWith(".")?(f=f.substring(1),b="label"):f.startsWith(";")&&(f=f.substring(1),b="matrix");const v=e[f];if(v==null)continue;if(Array.isArray(v)){i=i.replace(u,TS({explode:h,name:f,style:b,value:v}));continue}if(typeof v=="object"){i=i.replace(u,ES({explode:h,name:f,style:b,value:v,valueOnly:!0}));continue}if(b==="matrix"){i=i.replace(u,`;${gm({name:f,value:v})}`);continue}const x=encodeURIComponent(b==="label"?`.${v}`:v);i=i.replace(u,x)}return i},C6=({baseUrl:e,path:n,query:i,querySerializer:r,url:u})=>{const h=u.startsWith("/")?u:`/${u}`;let f=(e??"")+h;n&&(f=N6({path:n,url:f}));let b=i?r(i):"";return b.startsWith("?")&&(b=b.substring(1)),b&&(f+=`?${b}`),f};function _6(e){const n=e.body!==void 0;if(n&&e.bodySerializer)return"serializedBody"in e?e.serializedBody!==void 0&&e.serializedBody!==""?e.serializedBody:null:e.body!==""?e.body:null;if(n)return e.body}const T6=async(e,n)=>{const i=typeof n=="function"?await n(e):n;if(i)return e.scheme==="bearer"?`Bearer ${i}`:e.scheme==="basic"?`Basic ${btoa(i)}`:i},RS=({allowReserved:e,array:n,object:i}={})=>u=>{const h=[];if(u&&typeof u=="object")for(const f in u){const b=u[f];if(b!=null)if(Array.isArray(b)){const v=TS({allowReserved:e,explode:!0,name:f,style:"form",value:b,...n});v&&h.push(v)}else if(typeof b=="object"){const v=ES({allowReserved:e,explode:!0,name:f,style:"deepObject",value:b,...i});v&&h.push(v)}else{const v=gm({allowReserved:e,name:f,value:b});v&&h.push(v)}}return h.join("&")},E6=e=>{if(!e)return"stream";const n=e.split(";")[0]?.trim();if(n){if(n.startsWith("application/json")||n.endsWith("+json"))return"json";if(n==="multipart/form-data")return"formData";if(["application/","audio/","image/","video/"].some(i=>n.startsWith(i)))return"blob";if(n.startsWith("text/"))return"text"}},R6=(e,n)=>n?!!(e.headers.has(n)||e.query?.[n]||e.headers.get("Cookie")?.includes(`${n}=`)):!1,D6=async({security:e,...n})=>{for(const i of e){if(R6(n,i.name))continue;const r=await T6(i,n.auth);if(!r)continue;const u=i.name??"Authorization";switch(i.in){case"query":n.query||(n.query={}),n.query[u]=r;break;case"cookie":n.headers.append("Cookie",`${u}=${r}`);break;default:n.headers.set(u,r);break}}},vx=e=>C6({baseUrl:e.baseUrl,path:e.path,query:e.query,querySerializer:typeof e.querySerializer=="function"?e.querySerializer:RS(e.querySerializer),url:e.url}),xx=(e,n)=>{const i={...e,...n};return i.baseUrl?.endsWith("/")&&(i.baseUrl=i.baseUrl.substring(0,i.baseUrl.length-1)),i.headers=DS(e.headers,n.headers),i},z6=e=>{const n=[];return e.forEach((i,r)=>{n.push([r,i])}),n},DS=(...e)=>{const n=new Headers;for(const i of e){if(!i)continue;const r=i instanceof Headers?z6(i):Object.entries(i);for(const[u,h]of r)if(h===null)n.delete(u);else if(Array.isArray(h))for(const f of h)n.append(u,f);else h!==void 0&&n.set(u,typeof h=="object"?JSON.stringify(h):h)}return n};class lf{fns=[];clear(){this.fns=[]}eject(n){const i=this.getInterceptorIndex(n);this.fns[i]&&(this.fns[i]=null)}exists(n){const i=this.getInterceptorIndex(n);return!!this.fns[i]}getInterceptorIndex(n){return typeof n=="number"?this.fns[n]?n:-1:this.fns.indexOf(n)}update(n,i){const r=this.getInterceptorIndex(n);return this.fns[r]?(this.fns[r]=i,n):!1}use(n){return this.fns.push(n),this.fns.length-1}}const I6=()=>({error:new lf,request:new lf,response:new lf}),O6=RS({allowReserved:!1,array:{explode:!0,style:"form"},object:{explode:!0,style:"deepObject"}}),P6={"Content-Type":"application/json"},zS=(e={})=>({...x6,headers:P6,parseAs:"auto",querySerializer:O6,...e}),IS=(e={})=>{let n=xx(zS(),e);const i=()=>({...n}),r=x=>(n=xx(n,x),i()),u=I6(),h=async x=>{const k={...n,...x,fetch:x.fetch??n.fetch??globalThis.fetch,headers:DS(n.headers,x.headers),serializedBody:void 0};k.security&&await D6({...k,security:k.security}),k.requestValidator&&await k.requestValidator(k),k.body!==void 0&&k.bodySerializer&&(k.serializedBody=k.bodySerializer(k.body)),(k.body===void 0||k.serializedBody==="")&&k.headers.delete("Content-Type");const S=vx(k);return{opts:k,url:S}},f=async x=>{const{opts:k,url:S}=await h(x),N={redirect:"follow",...k,body:_6(k)};let _=new Request(S,N);for(const H of u.request.fns)H&&(_=await H(_,k));const z=k.fetch;let q=await z(_);for(const H of u.response.fns)H&&(q=await H(q,_,k));const E={request:_,response:q};if(q.ok){const H=(k.parseAs==="auto"?E6(q.headers.get("Content-Type")):k.parseAs)??"json";if(q.status===204||q.headers.get("Content-Length")==="0"){let V;switch(H){case"arrayBuffer":case"blob":case"text":V=await q[H]();break;case"formData":V=new FormData;break;case"stream":V=q.body;break;default:V={};break}return k.responseStyle==="data"?V:{data:V,...E}}let J;switch(H){case"arrayBuffer":case"blob":case"formData":case"json":case"text":J=await q[H]();break;case"stream":return k.responseStyle==="data"?q.body:{data:q.body,...E}}return H==="json"&&(k.responseValidator&&await k.responseValidator(J),k.responseTransformer&&(J=await k.responseTransformer(J))),k.responseStyle==="data"?J:{data:J,...E}}const P=await q.text();let M;try{M=JSON.parse(P)}catch{}const L=M??P;let $=L;for(const H of u.error.fns)H&&($=await H(L,q,_,k));if($=$||{},k.throwOnError)throw $;return k.responseStyle==="data"?void 0:{error:$,...E}},b=x=>k=>f({...k,method:x}),v=x=>async k=>{const{opts:S,url:N}=await h(k);return w6({...S,body:S.body,headers:S.headers,method:x,onRequest:async(_,z)=>{let q=new Request(_,z);for(const E of u.request.fns)E&&(q=await E(q,S));return q},url:N})};return{buildUrl:vx,connect:b("CONNECT"),delete:b("DELETE"),get:b("GET"),getConfig:i,head:b("HEAD"),interceptors:u,options:b("OPTIONS"),patch:b("PATCH"),post:b("POST"),put:b("PUT"),request:f,setConfig:r,sse:{connect:v("CONNECT"),delete:v("DELETE"),get:v("GET"),head:v("HEAD"),options:v("OPTIONS"),patch:v("PATCH"),post:v("POST"),put:v("PUT"),trace:v("TRACE")},trace:b("TRACE")}},I=IS(zS()),q6=e=>(e.client??I).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/google/gsc/sitemaps/submit",...e,headers:{"Content-Type":"application/json",...e.headers}}),M6=e=>(e?.client??I).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects",...e}),B6=e=>(e.client??I).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects",...e,headers:{"Content-Type":"application/json",...e.headers}}),L6=e=>(e.client??I).delete({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}",...e}),OS=e=>(e.client??I).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}",...e}),U6=e=>(e.client??I).put({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}",...e,headers:{"Content-Type":"application/json",...e.headers}}),V6=e=>(e.client??I).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/measurement-plan",...e}),$6=e=>(e.client??I).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/measurement-report",...e}),K6=e=>(e.client??I).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/measurement-setup",...e}),Uee=e=>(e.client??I).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/measurement-plan/draft",...e}),Vee=e=>(e.client??I).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/measurement-plan/draft/actions/create",...e,headers:{"Content-Type":"application/json",...e.headers}}),$ee=e=>(e.client??I).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/measurement-plan/draft/actions/import-sitemap",...e,headers:{"Content-Type":"application/json",...e.headers}}),Kee=e=>(e.client??I).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/measurement-plan/draft/actions/apply-sitemap-selection",...e,headers:{"Content-Type":"application/json",...e.headers}}),Gee=e=>(e.client??I).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/measurement-plan/draft/actions/upsert-target",...e,headers:{"Content-Type":"application/json",...e.headers}}),Hee=e=>(e.client??I).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/measurement-plan/draft/actions/exclude-target",...e,headers:{"Content-Type":"application/json",...e.headers}}),Fee=e=>(e.client??I).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/measurement-plan/draft/actions/apply-assignments",...e,headers:{"Content-Type":"application/json",...e.headers}}),Qee=e=>(e.client??I).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/measurement-plan/draft/actions/preview-assignments",...e,headers:{"Content-Type":"application/json",...e.headers}}),Zee=e=>(e.client??I).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/measurement-plan/draft/actions/replace-assignments",...e,headers:{"Content-Type":"application/json",...e.headers}}),Yee=e=>(e.client??I).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/measurement-plan/draft/actions/apply-paired-assignments",...e,headers:{"Content-Type":"application/json",...e.headers}}),Xee=e=>(e.client??I).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/measurement-plan/draft/actions/remove-assignment",...e,headers:{"Content-Type":"application/json",...e.headers}}),Jee=e=>(e.client??I).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/measurement-plan/draft/actions/upsert-group",...e,headers:{"Content-Type":"application/json",...e.headers}}),Wee=e=>(e.client??I).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/measurement-plan/draft/actions/remove-group",...e,headers:{"Content-Type":"application/json",...e.headers}}),ete=e=>(e.client??I).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/measurement-plan/draft/actions/preview-group-membership",...e,headers:{"Content-Type":"application/json",...e.headers}}),tte=e=>(e.client??I).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/measurement-plan/draft/actions/apply-group-membership",...e,headers:{"Content-Type":"application/json",...e.headers}}),nte=e=>(e.client??I).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/measurement-plan/draft/actions/upsert-competitor",...e,headers:{"Content-Type":"application/json",...e.headers}}),G6=e=>(e.client??I).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/measurement-plan/draft/actions/pin-competitor",...e,headers:{"Content-Type":"application/json",...e.headers}}),ate=e=>(e.client??I).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/measurement-plan/draft/actions/remove-competitor",...e,headers:{"Content-Type":"application/json",...e.headers}}),ite=e=>(e.client??I).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/measurement-plan/draft/actions/compile-preview",...e}),ste=e=>(e.client??I).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/measurement-plan/draft/actions/diff-preview",...e}),ote=e=>(e.client??I).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/measurement-plan/draft/actions/publish",...e,headers:{"Content-Type":"application/json",...e.headers}}),rte=e=>(e.client??I).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/measurement-plan/draft/actions/discard",...e}),PS=e=>(e.client??I).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/measurement-overview",...e}),H6=e=>(e.client??I).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/sentiment/settings",...e}),F6=e=>(e.client??I).put({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/sentiment/settings",...e,headers:{"Content-Type":"application/json",...e.headers}}),Q6=e=>(e.client??I).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/sentiment",...e}),Z6=e=>(e.client??I).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/sentiment/evidence",...e}),Y6=e=>(e.client??I).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/sentiment/backfill-preview",...e}),X6=e=>(e.client??I).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/sentiment/backfills",...e,headers:{"Content-Type":"application/json",...e.headers}}),J6=e=>(e.client??I).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/sentiment/jobs",...e}),W6=e=>(e.client??I).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/sentiment/jobs/{jobId}",...e}),e_=e=>(e.client??I).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/visibility-report",...e}),t_=e=>(e.client??I).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/measurement-property-evidence",...e}),n_=e=>(e.client??I).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/measurement-question-result",...e}),a_=e=>(e.client??I).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/measurement-property-competitors",...e}),i_=e=>(e.client??I).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/measurement-query-templates",...e}),s_=e=>(e.client??I).put({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/measurement-query-templates/{templateId}",...e,headers:{"Content-Type":"application/json",...e.headers}}),o_=e=>(e.client??I).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/research/runs",...e}),r_=e=>(e.client??I).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/research/batches",...e,headers:{"Content-Type":"application/json",...e.headers}}),l_=e=>(e.client??I).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/query-tracking",...e}),c_=e=>(e.client??I).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/query-tracking/preview",...e,headers:{"Content-Type":"application/json",...e.headers}}),u_=e=>(e.client??I).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/query-tracking/commit",...e,headers:{"Content-Type":"application/json",...e.headers}}),d_=e=>(e.client??I).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/research/runs/{runId}",...e}),m_=e=>(e.client??I).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/locations",...e,headers:{"Content-Type":"application/json",...e.headers}}),p_=e=>(e.client??I).delete({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/locations/{label}",...e}),h_=e=>(e.client??I).put({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/locations/default",...e,headers:{"Content-Type":"application/json",...e.headers}}),f_=e=>(e.client??I).delete({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/queries",...e,headers:{"Content-Type":"application/json",...e.headers}}),qS=e=>(e.client??I).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/queries",...e}),g_=e=>(e.client??I).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/queries",...e,headers:{"Content-Type":"application/json",...e.headers}}),y_=e=>(e.client??I).put({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/queries",...e,headers:{"Content-Type":"application/json",...e.headers}}),b_=e=>(e.client??I).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/queries/generate",...e,headers:{"Content-Type":"application/json",...e.headers}}),v_=e=>(e.client??I).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/competitors",...e,headers:{"Content-Type":"application/json",...e.headers}}),x_=e=>(e.client??I).put({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/competitors",...e,headers:{"Content-Type":"application/json",...e.headers}}),w_=e=>(e.client??I).delete({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/competitors/{id}",...e}),k_=e=>(e.client??I).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/analytics/competitors",...e}),MS=e=>(e.client??I).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/runs",...e}),S_=e=>(e.client??I).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/runs",...e,headers:{"Content-Type":"application/json",...e.headers}}),j_=e=>(e.client??I).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/run-admission",...e}),A_=e=>(e?.client??I).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/runs",...e}),N_=e=>(e?.client??I).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/runs",...e,headers:{"Content-Type":"application/json",...e?.headers}}),BS=e=>(e.client??I).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/runs/{id}",...e}),C_=e=>(e.client??I).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/apply",...e,headers:{"Content-Type":"application/json",...e.headers}}),__=e=>(e.client??I).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/history",...e}),T_=e=>(e?.client??I).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/history",...e}),E_=e=>(e.client??I).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/timeline",...e}),R_=e=>(e.client??I).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/analytics/metrics",...e}),D_=e=>(e.client??I).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/snapshots/diff",...e}),LS=e=>(e?.client??I).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/settings",...e}),z_=e=>(e.client??I).put({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/settings/providers/{name}",...e,headers:{"Content-Type":"application/json",...e.headers}}),I_=e=>(e.client??I).put({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/settings/google",...e,headers:{"Content-Type":"application/json",...e.headers}}),O_=e=>(e?.client??I).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/keys/self",...e}),P_=e=>(e.client??I).put({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/settings/bing",...e,headers:{"Content-Type":"application/json",...e.headers}}),q_=e=>(e.client??I).put({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/settings/cdp",...e,headers:{"Content-Type":"application/json",...e.headers}}),M_=e=>(e.client??I).delete({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/schedule",...e}),B_=e=>(e.client??I).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/schedule",...e}),L_=e=>(e.client??I).put({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/schedule",...e,headers:{"Content-Type":"application/json",...e.headers}}),U_=e=>(e.client??I).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/schedules",...e}),V_=e=>(e.client??I).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/notifications",...e}),$_=e=>(e.client??I).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/notifications",...e,headers:{"Content-Type":"application/json",...e.headers}}),K_=e=>(e.client??I).delete({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/notifications/{id}",...e}),G_=e=>(e.client??I).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/notifications/{id}/test",...e}),H_=e=>(e?.client??I).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/telemetry",...e}),F_=e=>(e.client??I).put({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/telemetry",...e,headers:{"Content-Type":"application/json",...e.headers}}),Q_=e=>(e.client??I).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/telemetry/onboarding",...e,headers:{"Content-Type":"application/json",...e.headers}}),Z_=e=>(e.client??I).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/telemetry/ui",...e,headers:{"Content-Type":"application/json",...e.headers}}),US=e=>(e?.client??I).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/cdp/status",...e}),Y_=e=>(e.client??I).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/google-ads/status",...e}),X_=e=>(e.client??I).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/google-ads/oauth/connect",...e,headers:{"Content-Type":"application/json",...e.headers}}),J_=e=>(e.client??I).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/google-ads/customers",...e}),W_=e=>(e.client??I).put({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/google-ads/selection",...e,headers:{"Content-Type":"application/json",...e.headers}}),eT=e=>(e.client??I).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/google-ads/sync",...e}),tT=e=>(e.client??I).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/google-ads/performance",...e}),nT=e=>(e.client??I).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/google-ads/snapshots",...e}),aT=e=>(e.client??I).delete({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/google-ads/connection",...e}),iT=e=>(e.client??I).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/gtm/status",...e}),sT=e=>(e.client??I).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/gtm/oauth/connect",...e,headers:{"Content-Type":"application/json",...e.headers}}),oT=e=>(e.client??I).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/gtm/accounts",...e}),rT=e=>(e.client??I).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/gtm/accounts/{accountId}/containers",...e}),lT=e=>(e.client??I).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/gtm/accounts/{accountId}/containers/{containerId}/workspaces",...e}),cT=e=>(e.client??I).put({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/gtm/selection",...e,headers:{"Content-Type":"application/json",...e.headers}}),uT=e=>(e.client??I).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/gtm/sync",...e}),dT=e=>(e.client??I).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/gtm/snapshots",...e}),mT=e=>(e.client??I).delete({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/gtm/connection",...e}),pT=e=>(e.client??I).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/conversion-tracking/options",...e}),hT=e=>(e.client??I).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/conversion-tracking/contracts",...e}),fT=e=>(e.client??I).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/conversion-tracking/contracts",...e,headers:{"Content-Type":"application/json",...e.headers}}),gT=e=>(e.client??I).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/conversion-tracking/contracts/{contractId}/integrity",...e}),yT=e=>(e.client??I).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/google/connections",...e}),bT=e=>(e.client??I).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/google/connect",...e,headers:{"Content-Type":"application/json",...e.headers}}),vT=e=>(e.client??I).delete({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/google/connections/{type}",...e}),xT=e=>(e.client??I).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/google/properties",...e}),wT=e=>(e.client??I).put({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/google/connections/{type}/property",...e,headers:{"Content-Type":"application/json",...e.headers}}),kT=e=>(e.client??I).put({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/google/connections/{type}/sitemap",...e,headers:{"Content-Type":"application/json",...e.headers}}),ST=e=>(e.client??I).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/google/gsc/sync",...e,headers:{"Content-Type":"application/json",...e.headers}}),jT=e=>(e.client??I).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/google/gsc/performance",...e}),AT=e=>(e.client??I).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/google/gsc/performance/daily",...e}),NT=e=>(e.client??I).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/google/gsc/inspect",...e,headers:{"Content-Type":"application/json",...e.headers}}),CT=e=>(e.client??I).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/google/gsc/inspections",...e}),_T=e=>(e.client??I).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/google/gsc/deindexed",...e}),TT=e=>(e.client??I).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/google/gsc/coverage",...e}),ET=e=>(e.client??I).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/google/gsc/coverage/history",...e}),RT=e=>(e.client??I).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/google/gsc/sitemaps",...e}),DT=e=>(e.client??I).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/google/gsc/inspect-sitemap",...e,headers:{"Content-Type":"application/json",...e.headers}}),zT=e=>(e.client??I).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/google/indexing/request",...e,headers:{"Content-Type":"application/json",...e.headers}}),IT=e=>(e.client??I).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/gbp/locations",...e}),OT=e=>(e.client??I).put({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/gbp/locations/{locationName}/selection",...e,headers:{"Content-Type":"application/json",...e.headers}}),PT=e=>(e.client??I).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/gbp/sync",...e,headers:{"Content-Type":"application/json",...e.headers}}),qT=e=>(e.client??I).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/gbp/keywords",...e}),MT=e=>(e.client??I).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/gbp/place-actions",...e}),BT=e=>(e.client??I).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/gbp/lodging",...e}),LT=e=>(e.client??I).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/gbp/places",...e}),UT=e=>(e.client??I).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/gbp/summary",...e}),VT=e=>(e.client??I).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/bing/connect",...e,headers:{"Content-Type":"application/json",...e.headers}}),$T=e=>(e.client??I).delete({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/bing/disconnect",...e}),KT=e=>(e.client??I).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/bing/status",...e}),GT=e=>(e.client??I).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/bing/sites",...e}),HT=e=>(e.client??I).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/bing/set-site",...e,headers:{"Content-Type":"application/json",...e.headers}}),FT=e=>(e.client??I).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/bing/coverage",...e}),QT=e=>(e.client??I).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/bing/inspections",...e}),ZT=e=>(e.client??I).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/bing/inspect-url",...e,headers:{"Content-Type":"application/json",...e.headers}}),YT=e=>(e.client??I).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/bing/inspect-sitemap",...e,headers:{"Content-Type":"application/json",...e.headers}}),XT=e=>(e.client??I).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/bing/request-indexing",...e,headers:{"Content-Type":"application/json",...e.headers}}),JT=e=>(e.client??I).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/bing/performance",...e}),WT=e=>(e.client??I).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/ga/connect",...e,headers:{"Content-Type":"application/json",...e.headers}}),eE=e=>(e.client??I).delete({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/ga/disconnect",...e}),tE=e=>(e.client??I).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/ga/status",...e}),nE=e=>(e.client??I).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/ga/sync",...e,headers:{"Content-Type":"application/json",...e.headers}}),aE=e=>(e.client??I).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/ga/traffic",...e}),iE=e=>(e.client??I).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/ga/ai-referral-daily",...e}),sE=e=>(e.client??I).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/ga/social-referral-history",...e}),oE=e=>(e.client??I).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/ga/session-history",...e}),rE=e=>(e.client??I).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/insights",...e}),lE=e=>(e.client??I).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/health/history",...e}),cE=e=>(e.client??I).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/citations/visibility",...e}),uE=e=>(e.client??I).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/overview",...e}),dE=e=>(e?.client??I).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/backlinks/status",...e}),mE=e=>(e?.client??I).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/backlinks/install",...e}),pE=e=>(e?.client??I).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/backlinks/syncs",...e}),hE=e=>(e?.client??I).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/backlinks/syncs",...e,headers:{"Content-Type":"application/json",...e?.headers}}),fE=e=>(e?.client??I).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/backlinks/syncs/latest",...e}),gE=e=>(e?.client??I).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/backlinks/releases",...e}),yE=e=>(e?.client??I).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/backlinks/latest-release",...e}),bE=e=>(e.client??I).delete({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/backlinks/cache/{release}",...e}),vE=e=>(e.client??I).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/backlinks/extract",...e,headers:{"Content-Type":"application/json",...e.headers}}),xE=e=>(e.client??I).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/backlinks/summary",...e}),wE=e=>(e.client??I).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/backlinks/domains",...e}),kE=e=>(e.client??I).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/backlinks/history",...e}),SE=e=>(e.client??I).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/traffic/connect/cloud-run",...e,headers:{"Content-Type":"application/json",...e.headers}}),jE=e=>(e.client??I).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/traffic/connect/wordpress",...e,headers:{"Content-Type":"application/json",...e.headers}}),AE=e=>(e.client??I).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/traffic/connect/vercel",...e,headers:{"Content-Type":"application/json",...e.headers}}),NE=e=>(e.client??I).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/traffic/sources/{id}/sync",...e,headers:{"Content-Type":"application/json",...e.headers}}),CE=e=>(e.client??I).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/traffic/sources/{id}/backfill",...e,headers:{"Content-Type":"application/json",...e.headers}}),_E=e=>(e.client??I).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/traffic/sources",...e}),TE=e=>(e.client??I).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/traffic/status",...e}),EE=e=>(e.client??I).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/traffic/sources/{id}",...e}),RE=e=>(e.client??I).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/traffic/events",...e}),DE=e=>(e.client??I).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/discover/run",...e,headers:{"Content-Type":"application/json",...e.headers}}),zE=e=>(e.client??I).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/discover/sessions",...e}),IE=e=>(e.client??I).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/discover/sessions/{id}",...e}),OE=e=>(e.client??I).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/technical-aeo",...e}),PE=e=>(e.client??I).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/technical-aeo/pages",...e}),qE=e=>(e.client??I).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/technical-aeo/trend",...e}),ME=e=>(e.client??I).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/technical-aeo/crawl",...e}),BE=e=>(e.client??I).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/technical-aeo/graph",...e}),LE=e=>(e.client??I).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/technical-aeo/crawl/pages/audit",...e}),VS=e=>(e.client??I).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/technical-aeo/crawl/pages",...e}),UE=e=>(e.client??I).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/technical-aeo/structure",...e}),VE=e=>(e.client??I).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/technical-aeo/internal-links/neighbors",...e}),$E=e=>(e.client??I).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/technical-aeo/dead-links",...e}),KE=e=>(e.client??I).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/technical-aeo/runs",...e}),GE=e=>(e.client??I).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/technical-aeo/runs",...e,headers:{"Content-Type":"application/json",...e.headers}}),HE=e=>(e.client??I).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/technical-aeo/runs/{runId}/progress",...e}),FE=e=>(e.client??I).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/technical-aeo/runs/{runId}/page-health-preview",...e}),QE=e=>(e.client??I).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/agent/conversations",...e}),ZE=e=>(e.client??I).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/agent/conversations",...e,headers:{"Content-Type":"application/json",...e.headers}}),YE=e=>(e.client??I).delete({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/agent/conversations/{id}",...e}),XE=e=>(e.client??I).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/agent/conversations/{id}/resume",...e}),JE=e=>(e.client??I).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/agent/providers",...e});function WE(e){const n={baseUrl:e.baseUrl,fetch:e.fetch,headers:{...e.headers??{}}};return IS(n)}function ne(e,n,i){function r(b,v){if(b._zod||Object.defineProperty(b,"_zod",{value:{def:v,constr:f,traits:new Set},enumerable:!1}),b._zod.traits.has(e))return;b._zod.traits.add(e),n(b,v);const x=f.prototype,k=Object.keys(x);for(let S=0;S<k.length;S++){const N=k[S];N in b||(b[N]=x[N].bind(b))}}const u=i?.Parent??Object;class h extends u{}Object.defineProperty(h,"name",{value:e});function f(b){var v;const x=i?.Parent?new h:this;r(x,b),(v=x._zod).deferred??(v.deferred=[]);for(const k of x._zod.deferred)k();return x}return Object.defineProperty(f,"init",{value:r}),Object.defineProperty(f,Symbol.hasInstance,{value:b=>i?.Parent&&b instanceof i.Parent?!0:b?._zod?.traits?.has(e)}),Object.defineProperty(f,"name",{value:e}),f}class Rr extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}}class $S extends Error{constructor(n){super(`Encountered unidirectional transform during encode: ${n}`),this.name="ZodEncodeError"}}const KS={};function Es(e){return KS}function GS(e){const n=Object.values(e).filter(r=>typeof r=="number");return Object.entries(e).filter(([r,u])=>n.indexOf(+r)===-1).map(([r,u])=>u)}function Xf(e,n){return typeof n=="bigint"?n.toString():n}function ym(e){return{get value(){{const n=e();return Object.defineProperty(this,"value",{value:n}),n}}}}function Hg(e){return e==null}function Fg(e){const n=e.startsWith("^")?1:0,i=e.endsWith("$")?e.length-1:e.length;return e.slice(n,i)}function e8(e,n){const i=(e.toString().split(".")[1]||"").length,r=n.toString();let u=(r.split(".")[1]||"").length;if(u===0&&/\d?e-\d?/.test(r)){const v=r.match(/\d?e-(\d?)/);v?.[1]&&(u=Number.parseInt(v[1]))}const h=i>u?i:u,f=Number.parseInt(e.toFixed(h).replace(".","")),b=Number.parseInt(n.toFixed(h).replace(".",""));return f%b/10**h}const wx=Symbol("evaluating");function gt(e,n,i){let r;Object.defineProperty(e,n,{get(){if(r!==wx)return r===void 0&&(r=wx,r=i()),r},set(u){Object.defineProperty(e,n,{value:u})},configurable:!0})}function Ro(e,n,i){Object.defineProperty(e,n,{value:i,writable:!0,enumerable:!0,configurable:!0})}function Os(...e){const n={};for(const i of e){const r=Object.getOwnPropertyDescriptors(i);Object.assign(n,r)}return Object.defineProperties({},n)}function kx(e){return JSON.stringify(e)}function t8(e){return e.toLowerCase().trim().replace(/[^\w\s-]/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}const HS="captureStackTrace"in Error?Error.captureStackTrace:(...e)=>{};function Tc(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}const n8=ym(()=>{if(typeof navigator<"u"&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{const e=Function;return new e(""),!0}catch{return!1}});function Ir(e){if(Tc(e)===!1)return!1;const n=e.constructor;if(n===void 0||typeof n!="function")return!0;const i=n.prototype;return!(Tc(i)===!1||Object.prototype.hasOwnProperty.call(i,"isPrototypeOf")===!1)}function FS(e){return Ir(e)?{...e}:Array.isArray(e)?[...e]:e}const a8=new Set(["string","number","symbol"]);function Or(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function Ps(e,n,i){const r=new e._zod.constr(n??e._zod.def);return(!n||i?.parent)&&(r._zod.parent=e),r}function Oe(e){const n=e;if(!n)return{};if(typeof n=="string")return{error:()=>n};if(n?.message!==void 0){if(n?.error!==void 0)throw new Error("Cannot specify both `message` and `error` params");n.error=n.message}return delete n.message,typeof n.error=="string"?{...n,error:()=>n.error}:n}function i8(e){return Object.keys(e).filter(n=>e[n]._zod.optin==="optional"&&e[n]._zod.optout==="optional")}const s8={safeint:[Number.MIN_SAFE_INTEGER,Number.MAX_SAFE_INTEGER],int32:[-2147483648,2147483647],uint32:[0,4294967295],float32:[-34028234663852886e22,34028234663852886e22],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]};function o8(e,n){const i=e._zod.def,r=i.checks;if(r&&r.length>0)throw new Error(".pick() cannot be used on object schemas containing refinements");const h=Os(e._zod.def,{get shape(){const f={};for(const b in n){if(!(b in i.shape))throw new Error(`Unrecognized key: "${b}"`);n[b]&&(f[b]=i.shape[b])}return Ro(this,"shape",f),f},checks:[]});return Ps(e,h)}function r8(e,n){const i=e._zod.def,r=i.checks;if(r&&r.length>0)throw new Error(".omit() cannot be used on object schemas containing refinements");const h=Os(e._zod.def,{get shape(){const f={...e._zod.def.shape};for(const b in n){if(!(b in i.shape))throw new Error(`Unrecognized key: "${b}"`);n[b]&&delete f[b]}return Ro(this,"shape",f),f},checks:[]});return Ps(e,h)}function l8(e,n){if(!Ir(n))throw new Error("Invalid input to extend: expected a plain object");const i=e._zod.def.checks;if(i&&i.length>0){const h=e._zod.def.shape;for(const f in n)if(Object.getOwnPropertyDescriptor(h,f)!==void 0)throw new Error("Cannot overwrite keys on object schemas containing refinements. Use `.safeExtend()` instead.")}const u=Os(e._zod.def,{get shape(){const h={...e._zod.def.shape,...n};return Ro(this,"shape",h),h}});return Ps(e,u)}function c8(e,n){if(!Ir(n))throw new Error("Invalid input to safeExtend: expected a plain object");const i=Os(e._zod.def,{get shape(){const r={...e._zod.def.shape,...n};return Ro(this,"shape",r),r}});return Ps(e,i)}function u8(e,n){const i=Os(e._zod.def,{get shape(){const r={...e._zod.def.shape,...n._zod.def.shape};return Ro(this,"shape",r),r},get catchall(){return n._zod.def.catchall},checks:[]});return Ps(e,i)}function d8(e,n,i){const u=n._zod.def.checks;if(u&&u.length>0)throw new Error(".partial() cannot be used on object schemas containing refinements");const f=Os(n._zod.def,{get shape(){const b=n._zod.def.shape,v={...b};if(i)for(const x in i){if(!(x in b))throw new Error(`Unrecognized key: "${x}"`);i[x]&&(v[x]=e?new e({type:"optional",innerType:b[x]}):b[x])}else for(const x in b)v[x]=e?new e({type:"optional",innerType:b[x]}):b[x];return Ro(this,"shape",v),v},checks:[]});return Ps(n,f)}function m8(e,n,i){const r=Os(n._zod.def,{get shape(){const u=n._zod.def.shape,h={...u};if(i)for(const f in i){if(!(f in h))throw new Error(`Unrecognized key: "${f}"`);i[f]&&(h[f]=new e({type:"nonoptional",innerType:u[f]}))}else for(const f in u)h[f]=new e({type:"nonoptional",innerType:u[f]});return Ro(this,"shape",h),h}});return Ps(n,r)}function Cr(e,n=0){if(e.aborted===!0)return!0;for(let i=n;i<e.issues.length;i++)if(e.issues[i]?.continue!==!0)return!0;return!1}function _r(e,n){return n.map(i=>{var r;return(r=i).path??(r.path=[]),i.path.unshift(e),i})}function pd(e){return typeof e=="string"?e:e?.message}function Rs(e,n,i){const r={...e,path:e.path??[]};if(!e.message){const u=pd(e.inst?._zod.def?.error?.(e))??pd(n?.error?.(e))??pd(i.customError?.(e))??pd(i.localeError?.(e))??"Invalid input";r.message=u}return delete r.inst,delete r.continue,n?.reportInput||delete r.input,r}function Qg(e){return Array.isArray(e)?"array":typeof e=="string"?"string":"unknown"}function Ec(...e){const[n,i,r]=e;return typeof n=="string"?{message:n,code:"custom",input:i,inst:r}:{...n}}const QS=(e,n)=>{e.name="$ZodError",Object.defineProperty(e,"_zod",{value:e._zod,enumerable:!1}),Object.defineProperty(e,"issues",{value:n,enumerable:!1}),e.message=JSON.stringify(n,Xf,2),Object.defineProperty(e,"toString",{value:()=>e.message,enumerable:!1})},ZS=ne("$ZodError",QS),YS=ne("$ZodError",QS,{Parent:Error});function p8(e,n=i=>i.message){const i={},r=[];for(const u of e.issues)u.path.length>0?(i[u.path[0]]=i[u.path[0]]||[],i[u.path[0]].push(n(u))):r.push(n(u));return{formErrors:r,fieldErrors:i}}function h8(e,n=i=>i.message){const i={_errors:[]},r=u=>{for(const h of u.issues)if(h.code==="invalid_union"&&h.errors.length)h.errors.map(f=>r({issues:f}));else if(h.code==="invalid_key")r({issues:h.issues});else if(h.code==="invalid_element")r({issues:h.issues});else if(h.path.length===0)i._errors.push(n(h));else{let f=i,b=0;for(;b<h.path.length;){const v=h.path[b];b===h.path.length-1?(f[v]=f[v]||{_errors:[]},f[v]._errors.push(n(h))):f[v]=f[v]||{_errors:[]},f=f[v],b++}}};return r(e),i}const Zg=e=>(n,i,r,u)=>{const h=r?Object.assign(r,{async:!1}):{async:!1},f=n._zod.run({value:i,issues:[]},h);if(f instanceof Promise)throw new Rr;if(f.issues.length){const b=new(u?.Err??e)(f.issues.map(v=>Rs(v,h,Es())));throw HS(b,u?.callee),b}return f.value},Yg=e=>async(n,i,r,u)=>{const h=r?Object.assign(r,{async:!0}):{async:!0};let f=n._zod.run({value:i,issues:[]},h);if(f instanceof Promise&&(f=await f),f.issues.length){const b=new(u?.Err??e)(f.issues.map(v=>Rs(v,h,Es())));throw HS(b,u?.callee),b}return f.value},bm=e=>(n,i,r)=>{const u=r?{...r,async:!1}:{async:!1},h=n._zod.run({value:i,issues:[]},u);if(h instanceof Promise)throw new Rr;return h.issues.length?{success:!1,error:new(e??ZS)(h.issues.map(f=>Rs(f,u,Es())))}:{success:!0,data:h.value}},f8=bm(YS),vm=e=>async(n,i,r)=>{const u=r?Object.assign(r,{async:!0}):{async:!0};let h=n._zod.run({value:i,issues:[]},u);return h instanceof Promise&&(h=await h),h.issues.length?{success:!1,error:new e(h.issues.map(f=>Rs(f,u,Es())))}:{success:!0,data:h.value}},g8=vm(YS),y8=e=>(n,i,r)=>{const u=r?Object.assign(r,{direction:"backward"}):{direction:"backward"};return Zg(e)(n,i,u)},b8=e=>(n,i,r)=>Zg(e)(n,i,r),v8=e=>async(n,i,r)=>{const u=r?Object.assign(r,{direction:"backward"}):{direction:"backward"};return Yg(e)(n,i,u)},x8=e=>async(n,i,r)=>Yg(e)(n,i,r),w8=e=>(n,i,r)=>{const u=r?Object.assign(r,{direction:"backward"}):{direction:"backward"};return bm(e)(n,i,u)},k8=e=>(n,i,r)=>bm(e)(n,i,r),S8=e=>async(n,i,r)=>{const u=r?Object.assign(r,{direction:"backward"}):{direction:"backward"};return vm(e)(n,i,u)},j8=e=>async(n,i,r)=>vm(e)(n,i,r),A8=/^[cC][^\s-]{8,}$/,N8=/^[0-9a-z]+$/,C8=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,_8=/^[0-9a-vA-V]{20}$/,T8=/^[A-Za-z0-9]{27}$/,E8=/^[a-zA-Z0-9_-]{21}$/,R8=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,D8=/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$/,Sx=e=>e?new RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${e}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`):/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/,z8=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/,I8="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";function O8(){return new RegExp(I8,"u")}const P8=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,q8=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$/,M8=/^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/([0-9]|[1-2][0-9]|3[0-2])$/,B8=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,L8=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,XS=/^[A-Za-z0-9_-]*$/,U8=/^\+[1-9]\d{6,14}$/,JS="(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))",V8=new RegExp(`^${JS}$`);function WS(e){const n="(?:[01]\\d|2[0-3]):[0-5]\\d";return typeof e.precision=="number"?e.precision===-1?`${n}`:e.precision===0?`${n}:[0-5]\\d`:`${n}:[0-5]\\d\\.\\d{${e.precision}}`:`${n}(?::[0-5]\\d(?:\\.\\d+)?)?`}function $8(e){return new RegExp(`^${WS(e)}$`)}function K8(e){const n=WS({precision:e.precision}),i=["Z"];e.local&&i.push(""),e.offset&&i.push("([+-](?:[01]\\d|2[0-3]):[0-5]\\d)");const r=`${n}(?:${i.join("|")})`;return new RegExp(`^${JS}T(?:${r})$`)}const G8=e=>{const n=e?`[\\s\\S]{${e?.minimum??0},${e?.maximum??""}}`:"[\\s\\S]*";return new RegExp(`^${n}$`)},H8=/^-?\d+$/,ej=/^-?\d+(?:\.\d+)?$/,F8=/^(?:true|false)$/i,Q8=/^null$/i,Z8=/^[^A-Z]*$/,Y8=/^[^a-z]*$/,Jn=ne("$ZodCheck",(e,n)=>{var i;e._zod??(e._zod={}),e._zod.def=n,(i=e._zod).onattach??(i.onattach=[])}),tj={number:"number",bigint:"bigint",object:"date"},nj=ne("$ZodCheckLessThan",(e,n)=>{Jn.init(e,n);const i=tj[typeof n.value];e._zod.onattach.push(r=>{const u=r._zod.bag,h=(n.inclusive?u.maximum:u.exclusiveMaximum)??Number.POSITIVE_INFINITY;n.value<h&&(n.inclusive?u.maximum=n.value:u.exclusiveMaximum=n.value)}),e._zod.check=r=>{(n.inclusive?r.value<=n.value:r.value<n.value)||r.issues.push({origin:i,code:"too_big",maximum:typeof n.value=="object"?n.value.getTime():n.value,input:r.value,inclusive:n.inclusive,inst:e,continue:!n.abort})}}),aj=ne("$ZodCheckGreaterThan",(e,n)=>{Jn.init(e,n);const i=tj[typeof n.value];e._zod.onattach.push(r=>{const u=r._zod.bag,h=(n.inclusive?u.minimum:u.exclusiveMinimum)??Number.NEGATIVE_INFINITY;n.value>h&&(n.inclusive?u.minimum=n.value:u.exclusiveMinimum=n.value)}),e._zod.check=r=>{(n.inclusive?r.value>=n.value:r.value>n.value)||r.issues.push({origin:i,code:"too_small",minimum:typeof n.value=="object"?n.value.getTime():n.value,input:r.value,inclusive:n.inclusive,inst:e,continue:!n.abort})}}),X8=ne("$ZodCheckMultipleOf",(e,n)=>{Jn.init(e,n),e._zod.onattach.push(i=>{var r;(r=i._zod.bag).multipleOf??(r.multipleOf=n.value)}),e._zod.check=i=>{if(typeof i.value!=typeof n.value)throw new Error("Cannot mix number and bigint in multiple_of check.");(typeof i.value=="bigint"?i.value%n.value===BigInt(0):e8(i.value,n.value)===0)||i.issues.push({origin:typeof i.value,code:"not_multiple_of",divisor:n.value,input:i.value,inst:e,continue:!n.abort})}}),J8=ne("$ZodCheckNumberFormat",(e,n)=>{Jn.init(e,n),n.format=n.format||"float64";const i=n.format?.includes("int"),r=i?"int":"number",[u,h]=s8[n.format];e._zod.onattach.push(f=>{const b=f._zod.bag;b.format=n.format,b.minimum=u,b.maximum=h,i&&(b.pattern=H8)}),e._zod.check=f=>{const b=f.value;if(i){if(!Number.isInteger(b)){f.issues.push({expected:r,format:n.format,code:"invalid_type",continue:!1,input:b,inst:e});return}if(!Number.isSafeInteger(b)){b>0?f.issues.push({input:b,code:"too_big",maximum:Number.MAX_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:e,origin:r,inclusive:!0,continue:!n.abort}):f.issues.push({input:b,code:"too_small",minimum:Number.MIN_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:e,origin:r,inclusive:!0,continue:!n.abort});return}}b<u&&f.issues.push({origin:"number",input:b,code:"too_small",minimum:u,inclusive:!0,inst:e,continue:!n.abort}),b>h&&f.issues.push({origin:"number",input:b,code:"too_big",maximum:h,inclusive:!0,inst:e,continue:!n.abort})}}),W8=ne("$ZodCheckMaxLength",(e,n)=>{var i;Jn.init(e,n),(i=e._zod.def).when??(i.when=r=>{const u=r.value;return!Hg(u)&&u.length!==void 0}),e._zod.onattach.push(r=>{const u=r._zod.bag.maximum??Number.POSITIVE_INFINITY;n.maximum<u&&(r._zod.bag.maximum=n.maximum)}),e._zod.check=r=>{const u=r.value;if(u.length<=n.maximum)return;const f=Qg(u);r.issues.push({origin:f,code:"too_big",maximum:n.maximum,inclusive:!0,input:u,inst:e,continue:!n.abort})}}),e7=ne("$ZodCheckMinLength",(e,n)=>{var i;Jn.init(e,n),(i=e._zod.def).when??(i.when=r=>{const u=r.value;return!Hg(u)&&u.length!==void 0}),e._zod.onattach.push(r=>{const u=r._zod.bag.minimum??Number.NEGATIVE_INFINITY;n.minimum>u&&(r._zod.bag.minimum=n.minimum)}),e._zod.check=r=>{const u=r.value;if(u.length>=n.minimum)return;const f=Qg(u);r.issues.push({origin:f,code:"too_small",minimum:n.minimum,inclusive:!0,input:u,inst:e,continue:!n.abort})}}),t7=ne("$ZodCheckLengthEquals",(e,n)=>{var i;Jn.init(e,n),(i=e._zod.def).when??(i.when=r=>{const u=r.value;return!Hg(u)&&u.length!==void 0}),e._zod.onattach.push(r=>{const u=r._zod.bag;u.minimum=n.length,u.maximum=n.length,u.length=n.length}),e._zod.check=r=>{const u=r.value,h=u.length;if(h===n.length)return;const f=Qg(u),b=h>n.length;r.issues.push({origin:f,...b?{code:"too_big",maximum:n.length}:{code:"too_small",minimum:n.length},inclusive:!0,exact:!0,input:r.value,inst:e,continue:!n.abort})}}),xm=ne("$ZodCheckStringFormat",(e,n)=>{var i,r;Jn.init(e,n),e._zod.onattach.push(u=>{const h=u._zod.bag;h.format=n.format,n.pattern&&(h.patterns??(h.patterns=new Set),h.patterns.add(n.pattern))}),n.pattern?(i=e._zod).check??(i.check=u=>{n.pattern.lastIndex=0,!n.pattern.test(u.value)&&u.issues.push({origin:"string",code:"invalid_format",format:n.format,input:u.value,...n.pattern?{pattern:n.pattern.toString()}:{},inst:e,continue:!n.abort})}):(r=e._zod).check??(r.check=()=>{})}),n7=ne("$ZodCheckRegex",(e,n)=>{xm.init(e,n),e._zod.check=i=>{n.pattern.lastIndex=0,!n.pattern.test(i.value)&&i.issues.push({origin:"string",code:"invalid_format",format:"regex",input:i.value,pattern:n.pattern.toString(),inst:e,continue:!n.abort})}}),a7=ne("$ZodCheckLowerCase",(e,n)=>{n.pattern??(n.pattern=Z8),xm.init(e,n)}),i7=ne("$ZodCheckUpperCase",(e,n)=>{n.pattern??(n.pattern=Y8),xm.init(e,n)}),s7=ne("$ZodCheckIncludes",(e,n)=>{Jn.init(e,n);const i=Or(n.includes),r=new RegExp(typeof n.position=="number"?`^.{${n.position}}${i}`:i);n.pattern=r,e._zod.onattach.push(u=>{const h=u._zod.bag;h.patterns??(h.patterns=new Set),h.patterns.add(r)}),e._zod.check=u=>{u.value.includes(n.includes,n.position)||u.issues.push({origin:"string",code:"invalid_format",format:"includes",includes:n.includes,input:u.value,inst:e,continue:!n.abort})}}),o7=ne("$ZodCheckStartsWith",(e,n)=>{Jn.init(e,n);const i=new RegExp(`^${Or(n.prefix)}.*`);n.pattern??(n.pattern=i),e._zod.onattach.push(r=>{const u=r._zod.bag;u.patterns??(u.patterns=new Set),u.patterns.add(i)}),e._zod.check=r=>{r.value.startsWith(n.prefix)||r.issues.push({origin:"string",code:"invalid_format",format:"starts_with",prefix:n.prefix,input:r.value,inst:e,continue:!n.abort})}}),r7=ne("$ZodCheckEndsWith",(e,n)=>{Jn.init(e,n);const i=new RegExp(`.*${Or(n.suffix)}$`);n.pattern??(n.pattern=i),e._zod.onattach.push(r=>{const u=r._zod.bag;u.patterns??(u.patterns=new Set),u.patterns.add(i)}),e._zod.check=r=>{r.value.endsWith(n.suffix)||r.issues.push({origin:"string",code:"invalid_format",format:"ends_with",suffix:n.suffix,input:r.value,inst:e,continue:!n.abort})}}),l7=ne("$ZodCheckOverwrite",(e,n)=>{Jn.init(e,n),e._zod.check=i=>{i.value=n.tx(i.value)}});class c7{constructor(n=[]){this.content=[],this.indent=0,this&&(this.args=n)}indented(n){this.indent+=1,n(this),this.indent-=1}write(n){if(typeof n=="function"){n(this,{execution:"sync"}),n(this,{execution:"async"});return}const r=n.split(`
|
|
15
|
+
`).filter(f=>f),u=Math.min(...r.map(f=>f.length-f.trimStart().length)),h=r.map(f=>f.slice(u)).map(f=>" ".repeat(this.indent*2)+f);for(const f of h)this.content.push(f)}compile(){const n=Function,i=this?.args,u=[...(this?.content??[""]).map(h=>` ${h}`)];return new n(...i,u.join(`
|
|
16
|
+
`))}}const u7={major:4,minor:3,patch:6},Lt=ne("$ZodType",(e,n)=>{var i;e??(e={}),e._zod.def=n,e._zod.bag=e._zod.bag||{},e._zod.version=u7;const r=[...e._zod.def.checks??[]];e._zod.traits.has("$ZodCheck")&&r.unshift(e);for(const u of r)for(const h of u._zod.onattach)h(e);if(r.length===0)(i=e._zod).deferred??(i.deferred=[]),e._zod.deferred?.push(()=>{e._zod.run=e._zod.parse});else{const u=(f,b,v)=>{let x=Cr(f),k;for(const S of b){if(S._zod.def.when){if(!S._zod.def.when(f))continue}else if(x)continue;const N=f.issues.length,_=S._zod.check(f);if(_ instanceof Promise&&v?.async===!1)throw new Rr;if(k||_ instanceof Promise)k=(k??Promise.resolve()).then(async()=>{await _,f.issues.length!==N&&(x||(x=Cr(f,N)))});else{if(f.issues.length===N)continue;x||(x=Cr(f,N))}}return k?k.then(()=>f):f},h=(f,b,v)=>{if(Cr(f))return f.aborted=!0,f;const x=u(b,r,v);if(x instanceof Promise){if(v.async===!1)throw new Rr;return x.then(k=>e._zod.parse(k,v))}return e._zod.parse(x,v)};e._zod.run=(f,b)=>{if(b.skipChecks)return e._zod.parse(f,b);if(b.direction==="backward"){const x=e._zod.parse({value:f.value,issues:[]},{...b,skipChecks:!0});return x instanceof Promise?x.then(k=>h(k,f,b)):h(x,f,b)}const v=e._zod.parse(f,b);if(v instanceof Promise){if(b.async===!1)throw new Rr;return v.then(x=>u(x,r,b))}return u(v,r,b)}}gt(e,"~standard",()=>({validate:u=>{try{const h=f8(e,u);return h.success?{value:h.data}:{issues:h.error?.issues}}catch{return g8(e,u).then(f=>f.success?{value:f.data}:{issues:f.error?.issues})}},vendor:"zod",version:1}))}),Xg=ne("$ZodString",(e,n)=>{Lt.init(e,n),e._zod.pattern=[...e?._zod.bag?.patterns??[]].pop()??G8(e._zod.bag),e._zod.parse=(i,r)=>{if(n.coerce)try{i.value=String(i.value)}catch{}return typeof i.value=="string"||i.issues.push({expected:"string",code:"invalid_type",input:i.value,inst:e}),i}}),Gt=ne("$ZodStringFormat",(e,n)=>{xm.init(e,n),Xg.init(e,n)}),d7=ne("$ZodGUID",(e,n)=>{n.pattern??(n.pattern=D8),Gt.init(e,n)}),m7=ne("$ZodUUID",(e,n)=>{if(n.version){const r={v1:1,v2:2,v3:3,v4:4,v5:5,v6:6,v7:7,v8:8}[n.version];if(r===void 0)throw new Error(`Invalid UUID version: "${n.version}"`);n.pattern??(n.pattern=Sx(r))}else n.pattern??(n.pattern=Sx());Gt.init(e,n)}),p7=ne("$ZodEmail",(e,n)=>{n.pattern??(n.pattern=z8),Gt.init(e,n)}),h7=ne("$ZodURL",(e,n)=>{Gt.init(e,n),e._zod.check=i=>{try{const r=i.value.trim(),u=new URL(r);n.hostname&&(n.hostname.lastIndex=0,n.hostname.test(u.hostname)||i.issues.push({code:"invalid_format",format:"url",note:"Invalid hostname",pattern:n.hostname.source,input:i.value,inst:e,continue:!n.abort})),n.protocol&&(n.protocol.lastIndex=0,n.protocol.test(u.protocol.endsWith(":")?u.protocol.slice(0,-1):u.protocol)||i.issues.push({code:"invalid_format",format:"url",note:"Invalid protocol",pattern:n.protocol.source,input:i.value,inst:e,continue:!n.abort})),n.normalize?i.value=u.href:i.value=r;return}catch{i.issues.push({code:"invalid_format",format:"url",input:i.value,inst:e,continue:!n.abort})}}}),f7=ne("$ZodEmoji",(e,n)=>{n.pattern??(n.pattern=O8()),Gt.init(e,n)}),g7=ne("$ZodNanoID",(e,n)=>{n.pattern??(n.pattern=E8),Gt.init(e,n)}),y7=ne("$ZodCUID",(e,n)=>{n.pattern??(n.pattern=A8),Gt.init(e,n)}),b7=ne("$ZodCUID2",(e,n)=>{n.pattern??(n.pattern=N8),Gt.init(e,n)}),v7=ne("$ZodULID",(e,n)=>{n.pattern??(n.pattern=C8),Gt.init(e,n)}),x7=ne("$ZodXID",(e,n)=>{n.pattern??(n.pattern=_8),Gt.init(e,n)}),w7=ne("$ZodKSUID",(e,n)=>{n.pattern??(n.pattern=T8),Gt.init(e,n)}),k7=ne("$ZodISODateTime",(e,n)=>{n.pattern??(n.pattern=K8(n)),Gt.init(e,n)}),S7=ne("$ZodISODate",(e,n)=>{n.pattern??(n.pattern=V8),Gt.init(e,n)}),j7=ne("$ZodISOTime",(e,n)=>{n.pattern??(n.pattern=$8(n)),Gt.init(e,n)}),A7=ne("$ZodISODuration",(e,n)=>{n.pattern??(n.pattern=R8),Gt.init(e,n)}),N7=ne("$ZodIPv4",(e,n)=>{n.pattern??(n.pattern=P8),Gt.init(e,n),e._zod.bag.format="ipv4"}),C7=ne("$ZodIPv6",(e,n)=>{n.pattern??(n.pattern=q8),Gt.init(e,n),e._zod.bag.format="ipv6",e._zod.check=i=>{try{new URL(`http://[${i.value}]`)}catch{i.issues.push({code:"invalid_format",format:"ipv6",input:i.value,inst:e,continue:!n.abort})}}}),_7=ne("$ZodCIDRv4",(e,n)=>{n.pattern??(n.pattern=M8),Gt.init(e,n)}),T7=ne("$ZodCIDRv6",(e,n)=>{n.pattern??(n.pattern=B8),Gt.init(e,n),e._zod.check=i=>{const r=i.value.split("/");try{if(r.length!==2)throw new Error;const[u,h]=r;if(!h)throw new Error;const f=Number(h);if(`${f}`!==h)throw new Error;if(f<0||f>128)throw new Error;new URL(`http://[${u}]`)}catch{i.issues.push({code:"invalid_format",format:"cidrv6",input:i.value,inst:e,continue:!n.abort})}}});function ij(e){if(e==="")return!0;if(e.length%4!==0)return!1;try{return atob(e),!0}catch{return!1}}const E7=ne("$ZodBase64",(e,n)=>{n.pattern??(n.pattern=L8),Gt.init(e,n),e._zod.bag.contentEncoding="base64",e._zod.check=i=>{ij(i.value)||i.issues.push({code:"invalid_format",format:"base64",input:i.value,inst:e,continue:!n.abort})}});function R7(e){if(!XS.test(e))return!1;const n=e.replace(/[-_]/g,r=>r==="-"?"+":"/"),i=n.padEnd(Math.ceil(n.length/4)*4,"=");return ij(i)}const D7=ne("$ZodBase64URL",(e,n)=>{n.pattern??(n.pattern=XS),Gt.init(e,n),e._zod.bag.contentEncoding="base64url",e._zod.check=i=>{R7(i.value)||i.issues.push({code:"invalid_format",format:"base64url",input:i.value,inst:e,continue:!n.abort})}}),z7=ne("$ZodE164",(e,n)=>{n.pattern??(n.pattern=U8),Gt.init(e,n)});function I7(e,n=null){try{const i=e.split(".");if(i.length!==3)return!1;const[r]=i;if(!r)return!1;const u=JSON.parse(atob(r));return!("typ"in u&&u?.typ!=="JWT"||!u.alg||n&&(!("alg"in u)||u.alg!==n))}catch{return!1}}const O7=ne("$ZodJWT",(e,n)=>{Gt.init(e,n),e._zod.check=i=>{I7(i.value,n.alg)||i.issues.push({code:"invalid_format",format:"jwt",input:i.value,inst:e,continue:!n.abort})}}),sj=ne("$ZodNumber",(e,n)=>{Lt.init(e,n),e._zod.pattern=e._zod.bag.pattern??ej,e._zod.parse=(i,r)=>{if(n.coerce)try{i.value=Number(i.value)}catch{}const u=i.value;if(typeof u=="number"&&!Number.isNaN(u)&&Number.isFinite(u))return i;const h=typeof u=="number"?Number.isNaN(u)?"NaN":Number.isFinite(u)?void 0:"Infinity":void 0;return i.issues.push({expected:"number",code:"invalid_type",input:u,inst:e,...h?{received:h}:{}}),i}}),P7=ne("$ZodNumberFormat",(e,n)=>{J8.init(e,n),sj.init(e,n)}),q7=ne("$ZodBoolean",(e,n)=>{Lt.init(e,n),e._zod.pattern=F8,e._zod.parse=(i,r)=>{if(n.coerce)try{i.value=!!i.value}catch{}const u=i.value;return typeof u=="boolean"||i.issues.push({expected:"boolean",code:"invalid_type",input:u,inst:e}),i}}),M7=ne("$ZodNull",(e,n)=>{Lt.init(e,n),e._zod.pattern=Q8,e._zod.values=new Set([null]),e._zod.parse=(i,r)=>{const u=i.value;return u===null||i.issues.push({expected:"null",code:"invalid_type",input:u,inst:e}),i}}),B7=ne("$ZodUnknown",(e,n)=>{Lt.init(e,n),e._zod.parse=i=>i}),L7=ne("$ZodNever",(e,n)=>{Lt.init(e,n),e._zod.parse=(i,r)=>(i.issues.push({expected:"never",code:"invalid_type",input:i.value,inst:e}),i)});function jx(e,n,i){e.issues.length&&n.issues.push(..._r(i,e.issues)),n.value[i]=e.value}const U7=ne("$ZodArray",(e,n)=>{Lt.init(e,n),e._zod.parse=(i,r)=>{const u=i.value;if(!Array.isArray(u))return i.issues.push({expected:"array",code:"invalid_type",input:u,inst:e}),i;i.value=Array(u.length);const h=[];for(let f=0;f<u.length;f++){const b=u[f],v=n.element._zod.run({value:b,issues:[]},r);v instanceof Promise?h.push(v.then(x=>jx(x,i,f))):jx(v,i,f)}return h.length?Promise.all(h).then(()=>i):i}});function Ld(e,n,i,r,u){if(e.issues.length){if(u&&!(i in r))return;n.issues.push(..._r(i,e.issues))}e.value===void 0?i in r&&(n.value[i]=void 0):n.value[i]=e.value}function oj(e){const n=Object.keys(e.shape);for(const r of n)if(!e.shape?.[r]?._zod?.traits?.has("$ZodType"))throw new Error(`Invalid element at key "${r}": expected a Zod schema`);const i=i8(e.shape);return{...e,keys:n,keySet:new Set(n),numKeys:n.length,optionalKeys:new Set(i)}}function rj(e,n,i,r,u,h){const f=[],b=u.keySet,v=u.catchall._zod,x=v.def.type,k=v.optout==="optional";for(const S in n){if(b.has(S))continue;if(x==="never"){f.push(S);continue}const N=v.run({value:n[S],issues:[]},r);N instanceof Promise?e.push(N.then(_=>Ld(_,i,S,n,k))):Ld(N,i,S,n,k)}return f.length&&i.issues.push({code:"unrecognized_keys",keys:f,input:n,inst:h}),e.length?Promise.all(e).then(()=>i):i}const V7=ne("$ZodObject",(e,n)=>{if(Lt.init(e,n),!Object.getOwnPropertyDescriptor(n,"shape")?.get){const b=n.shape;Object.defineProperty(n,"shape",{get:()=>{const v={...b};return Object.defineProperty(n,"shape",{value:v}),v}})}const r=ym(()=>oj(n));gt(e._zod,"propValues",()=>{const b=n.shape,v={};for(const x in b){const k=b[x]._zod;if(k.values){v[x]??(v[x]=new Set);for(const S of k.values)v[x].add(S)}}return v});const u=Tc,h=n.catchall;let f;e._zod.parse=(b,v)=>{f??(f=r.value);const x=b.value;if(!u(x))return b.issues.push({expected:"object",code:"invalid_type",input:x,inst:e}),b;b.value={};const k=[],S=f.shape;for(const N of f.keys){const _=S[N],z=_._zod.optout==="optional",q=_._zod.run({value:x[N],issues:[]},v);q instanceof Promise?k.push(q.then(E=>Ld(E,b,N,x,z))):Ld(q,b,N,x,z)}return h?rj(k,x,b,v,r.value,e):k.length?Promise.all(k).then(()=>b):b}}),$7=ne("$ZodObjectJIT",(e,n)=>{V7.init(e,n);const i=e._zod.parse,r=ym(()=>oj(n)),u=N=>{const _=new c7(["shape","payload","ctx"]),z=r.value,q=L=>{const $=kx(L);return`shape[${$}]._zod.run({ value: input[${$}], issues: [] }, ctx)`};_.write("const input = payload.value;");const E=Object.create(null);let P=0;for(const L of z.keys)E[L]=`key_${P++}`;_.write("const newResult = {};");for(const L of z.keys){const $=E[L],H=kx(L),V=N[L]?._zod?.optout==="optional";_.write(`const ${$} = ${q(L)};`),V?_.write(`
|
|
17
|
+
if (${$}.issues.length) {
|
|
18
|
+
if (${H} in input) {
|
|
19
|
+
payload.issues = payload.issues.concat(${$}.issues.map(iss => ({
|
|
20
|
+
...iss,
|
|
21
|
+
path: iss.path ? [${H}, ...iss.path] : [${H}]
|
|
22
|
+
})));
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
if (${$}.value === undefined) {
|
|
27
|
+
if (${H} in input) {
|
|
28
|
+
newResult[${H}] = undefined;
|
|
29
|
+
}
|
|
30
|
+
} else {
|
|
31
|
+
newResult[${H}] = ${$}.value;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
`):_.write(`
|
|
35
|
+
if (${$}.issues.length) {
|
|
36
|
+
payload.issues = payload.issues.concat(${$}.issues.map(iss => ({
|
|
37
|
+
...iss,
|
|
38
|
+
path: iss.path ? [${H}, ...iss.path] : [${H}]
|
|
39
|
+
})));
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
if (${$}.value === undefined) {
|
|
43
|
+
if (${H} in input) {
|
|
44
|
+
newResult[${H}] = undefined;
|
|
45
|
+
}
|
|
46
|
+
} else {
|
|
47
|
+
newResult[${H}] = ${$}.value;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
`)}_.write("payload.value = newResult;"),_.write("return payload;");const M=_.compile();return(L,$)=>M(N,L,$)};let h;const f=Tc,b=!KS.jitless,x=b&&n8.value,k=n.catchall;let S;e._zod.parse=(N,_)=>{S??(S=r.value);const z=N.value;return f(z)?b&&x&&_?.async===!1&&_.jitless!==!0?(h||(h=u(n.shape)),N=h(N,_),k?rj([],z,N,_,S,e):N):i(N,_):(N.issues.push({expected:"object",code:"invalid_type",input:z,inst:e}),N)}});function Ax(e,n,i,r){for(const h of e)if(h.issues.length===0)return n.value=h.value,n;const u=e.filter(h=>!Cr(h));return u.length===1?(n.value=u[0].value,u[0]):(n.issues.push({code:"invalid_union",input:n.value,inst:i,errors:e.map(h=>h.issues.map(f=>Rs(f,r,Es())))}),n)}const lj=ne("$ZodUnion",(e,n)=>{Lt.init(e,n),gt(e._zod,"optin",()=>n.options.some(u=>u._zod.optin==="optional")?"optional":void 0),gt(e._zod,"optout",()=>n.options.some(u=>u._zod.optout==="optional")?"optional":void 0),gt(e._zod,"values",()=>{if(n.options.every(u=>u._zod.values))return new Set(n.options.flatMap(u=>Array.from(u._zod.values)))}),gt(e._zod,"pattern",()=>{if(n.options.every(u=>u._zod.pattern)){const u=n.options.map(h=>h._zod.pattern);return new RegExp(`^(${u.map(h=>Fg(h.source)).join("|")})$`)}});const i=n.options.length===1,r=n.options[0]._zod.run;e._zod.parse=(u,h)=>{if(i)return r(u,h);let f=!1;const b=[];for(const v of n.options){const x=v._zod.run({value:u.value,issues:[]},h);if(x instanceof Promise)b.push(x),f=!0;else{if(x.issues.length===0)return x;b.push(x)}}return f?Promise.all(b).then(v=>Ax(v,u,e,h)):Ax(b,u,e,h)}}),K7=ne("$ZodDiscriminatedUnion",(e,n)=>{n.inclusive=!1,lj.init(e,n);const i=e._zod.parse;gt(e._zod,"propValues",()=>{const u={};for(const h of n.options){const f=h._zod.propValues;if(!f||Object.keys(f).length===0)throw new Error(`Invalid discriminated union option at index "${n.options.indexOf(h)}"`);for(const[b,v]of Object.entries(f)){u[b]||(u[b]=new Set);for(const x of v)u[b].add(x)}}return u});const r=ym(()=>{const u=n.options,h=new Map;for(const f of u){const b=f._zod.propValues?.[n.discriminator];if(!b||b.size===0)throw new Error(`Invalid discriminated union option at index "${n.options.indexOf(f)}"`);for(const v of b){if(h.has(v))throw new Error(`Duplicate discriminator value "${String(v)}"`);h.set(v,f)}}return h});e._zod.parse=(u,h)=>{const f=u.value;if(!Tc(f))return u.issues.push({code:"invalid_type",expected:"object",input:f,inst:e}),u;const b=r.value.get(f?.[n.discriminator]);return b?b._zod.run(u,h):n.unionFallback?i(u,h):(u.issues.push({code:"invalid_union",errors:[],note:"No matching discriminator",discriminator:n.discriminator,input:f,path:[n.discriminator],inst:e}),u)}}),G7=ne("$ZodIntersection",(e,n)=>{Lt.init(e,n),e._zod.parse=(i,r)=>{const u=i.value,h=n.left._zod.run({value:u,issues:[]},r),f=n.right._zod.run({value:u,issues:[]},r);return h instanceof Promise||f instanceof Promise?Promise.all([h,f]).then(([v,x])=>Nx(i,v,x)):Nx(i,h,f)}});function Jf(e,n){if(e===n)return{valid:!0,data:e};if(e instanceof Date&&n instanceof Date&&+e==+n)return{valid:!0,data:e};if(Ir(e)&&Ir(n)){const i=Object.keys(n),r=Object.keys(e).filter(h=>i.indexOf(h)!==-1),u={...e,...n};for(const h of r){const f=Jf(e[h],n[h]);if(!f.valid)return{valid:!1,mergeErrorPath:[h,...f.mergeErrorPath]};u[h]=f.data}return{valid:!0,data:u}}if(Array.isArray(e)&&Array.isArray(n)){if(e.length!==n.length)return{valid:!1,mergeErrorPath:[]};const i=[];for(let r=0;r<e.length;r++){const u=e[r],h=n[r],f=Jf(u,h);if(!f.valid)return{valid:!1,mergeErrorPath:[r,...f.mergeErrorPath]};i.push(f.data)}return{valid:!0,data:i}}return{valid:!1,mergeErrorPath:[]}}function Nx(e,n,i){const r=new Map;let u;for(const b of n.issues)if(b.code==="unrecognized_keys"){u??(u=b);for(const v of b.keys)r.has(v)||r.set(v,{}),r.get(v).l=!0}else e.issues.push(b);for(const b of i.issues)if(b.code==="unrecognized_keys")for(const v of b.keys)r.has(v)||r.set(v,{}),r.get(v).r=!0;else e.issues.push(b);const h=[...r].filter(([,b])=>b.l&&b.r).map(([b])=>b);if(h.length&&u&&e.issues.push({...u,keys:h}),Cr(e))return e;const f=Jf(n.value,i.value);if(!f.valid)throw new Error(`Unmergable intersection. Error path: ${JSON.stringify(f.mergeErrorPath)}`);return e.value=f.data,e}const H7=ne("$ZodRecord",(e,n)=>{Lt.init(e,n),e._zod.parse=(i,r)=>{const u=i.value;if(!Ir(u))return i.issues.push({expected:"record",code:"invalid_type",input:u,inst:e}),i;const h=[],f=n.keyType._zod.values;if(f){i.value={};const b=new Set;for(const x of f)if(typeof x=="string"||typeof x=="number"||typeof x=="symbol"){b.add(typeof x=="number"?x.toString():x);const k=n.valueType._zod.run({value:u[x],issues:[]},r);k instanceof Promise?h.push(k.then(S=>{S.issues.length&&i.issues.push(..._r(x,S.issues)),i.value[x]=S.value})):(k.issues.length&&i.issues.push(..._r(x,k.issues)),i.value[x]=k.value)}let v;for(const x in u)b.has(x)||(v=v??[],v.push(x));v&&v.length>0&&i.issues.push({code:"unrecognized_keys",input:u,inst:e,keys:v})}else{i.value={};for(const b of Reflect.ownKeys(u)){if(b==="__proto__")continue;let v=n.keyType._zod.run({value:b,issues:[]},r);if(v instanceof Promise)throw new Error("Async schemas not supported in object keys currently");if(typeof b=="string"&&ej.test(b)&&v.issues.length){const S=n.keyType._zod.run({value:Number(b),issues:[]},r);if(S instanceof Promise)throw new Error("Async schemas not supported in object keys currently");S.issues.length===0&&(v=S)}if(v.issues.length){n.mode==="loose"?i.value[b]=u[b]:i.issues.push({code:"invalid_key",origin:"record",issues:v.issues.map(S=>Rs(S,r,Es())),input:b,path:[b],inst:e});continue}const k=n.valueType._zod.run({value:u[b],issues:[]},r);k instanceof Promise?h.push(k.then(S=>{S.issues.length&&i.issues.push(..._r(b,S.issues)),i.value[v.value]=S.value})):(k.issues.length&&i.issues.push(..._r(b,k.issues)),i.value[v.value]=k.value)}}return h.length?Promise.all(h).then(()=>i):i}}),F7=ne("$ZodEnum",(e,n)=>{Lt.init(e,n);const i=GS(n.entries),r=new Set(i);e._zod.values=r,e._zod.pattern=new RegExp(`^(${i.filter(u=>a8.has(typeof u)).map(u=>typeof u=="string"?Or(u):u.toString()).join("|")})$`),e._zod.parse=(u,h)=>{const f=u.value;return r.has(f)||u.issues.push({code:"invalid_value",values:i,input:f,inst:e}),u}}),Q7=ne("$ZodLiteral",(e,n)=>{if(Lt.init(e,n),n.values.length===0)throw new Error("Cannot create literal schema with no valid values");const i=new Set(n.values);e._zod.values=i,e._zod.pattern=new RegExp(`^(${n.values.map(r=>typeof r=="string"?Or(r):r?Or(r.toString()):String(r)).join("|")})$`),e._zod.parse=(r,u)=>{const h=r.value;return i.has(h)||r.issues.push({code:"invalid_value",values:n.values,input:h,inst:e}),r}}),Z7=ne("$ZodTransform",(e,n)=>{Lt.init(e,n),e._zod.parse=(i,r)=>{if(r.direction==="backward")throw new $S(e.constructor.name);const u=n.transform(i.value,i);if(r.async)return(u instanceof Promise?u:Promise.resolve(u)).then(f=>(i.value=f,i));if(u instanceof Promise)throw new Rr;return i.value=u,i}});function Cx(e,n){return e.issues.length&&n===void 0?{issues:[],value:void 0}:e}const cj=ne("$ZodOptional",(e,n)=>{Lt.init(e,n),e._zod.optin="optional",e._zod.optout="optional",gt(e._zod,"values",()=>n.innerType._zod.values?new Set([...n.innerType._zod.values,void 0]):void 0),gt(e._zod,"pattern",()=>{const i=n.innerType._zod.pattern;return i?new RegExp(`^(${Fg(i.source)})?$`):void 0}),e._zod.parse=(i,r)=>{if(n.innerType._zod.optin==="optional"){const u=n.innerType._zod.run(i,r);return u instanceof Promise?u.then(h=>Cx(h,i.value)):Cx(u,i.value)}return i.value===void 0?i:n.innerType._zod.run(i,r)}}),Y7=ne("$ZodExactOptional",(e,n)=>{cj.init(e,n),gt(e._zod,"values",()=>n.innerType._zod.values),gt(e._zod,"pattern",()=>n.innerType._zod.pattern),e._zod.parse=(i,r)=>n.innerType._zod.run(i,r)}),X7=ne("$ZodNullable",(e,n)=>{Lt.init(e,n),gt(e._zod,"optin",()=>n.innerType._zod.optin),gt(e._zod,"optout",()=>n.innerType._zod.optout),gt(e._zod,"pattern",()=>{const i=n.innerType._zod.pattern;return i?new RegExp(`^(${Fg(i.source)}|null)$`):void 0}),gt(e._zod,"values",()=>n.innerType._zod.values?new Set([...n.innerType._zod.values,null]):void 0),e._zod.parse=(i,r)=>i.value===null?i:n.innerType._zod.run(i,r)}),J7=ne("$ZodDefault",(e,n)=>{Lt.init(e,n),e._zod.optin="optional",gt(e._zod,"values",()=>n.innerType._zod.values),e._zod.parse=(i,r)=>{if(r.direction==="backward")return n.innerType._zod.run(i,r);if(i.value===void 0)return i.value=n.defaultValue,i;const u=n.innerType._zod.run(i,r);return u instanceof Promise?u.then(h=>_x(h,n)):_x(u,n)}});function _x(e,n){return e.value===void 0&&(e.value=n.defaultValue),e}const W7=ne("$ZodPrefault",(e,n)=>{Lt.init(e,n),e._zod.optin="optional",gt(e._zod,"values",()=>n.innerType._zod.values),e._zod.parse=(i,r)=>(r.direction==="backward"||i.value===void 0&&(i.value=n.defaultValue),n.innerType._zod.run(i,r))}),eR=ne("$ZodNonOptional",(e,n)=>{Lt.init(e,n),gt(e._zod,"values",()=>{const i=n.innerType._zod.values;return i?new Set([...i].filter(r=>r!==void 0)):void 0}),e._zod.parse=(i,r)=>{const u=n.innerType._zod.run(i,r);return u instanceof Promise?u.then(h=>Tx(h,e)):Tx(u,e)}});function Tx(e,n){return!e.issues.length&&e.value===void 0&&e.issues.push({code:"invalid_type",expected:"nonoptional",input:e.value,inst:n}),e}const tR=ne("$ZodCatch",(e,n)=>{Lt.init(e,n),gt(e._zod,"optin",()=>n.innerType._zod.optin),gt(e._zod,"optout",()=>n.innerType._zod.optout),gt(e._zod,"values",()=>n.innerType._zod.values),e._zod.parse=(i,r)=>{if(r.direction==="backward")return n.innerType._zod.run(i,r);const u=n.innerType._zod.run(i,r);return u instanceof Promise?u.then(h=>(i.value=h.value,h.issues.length&&(i.value=n.catchValue({...i,error:{issues:h.issues.map(f=>Rs(f,r,Es()))},input:i.value}),i.issues=[]),i)):(i.value=u.value,u.issues.length&&(i.value=n.catchValue({...i,error:{issues:u.issues.map(h=>Rs(h,r,Es()))},input:i.value}),i.issues=[]),i)}}),nR=ne("$ZodPipe",(e,n)=>{Lt.init(e,n),gt(e._zod,"values",()=>n.in._zod.values),gt(e._zod,"optin",()=>n.in._zod.optin),gt(e._zod,"optout",()=>n.out._zod.optout),gt(e._zod,"propValues",()=>n.in._zod.propValues),e._zod.parse=(i,r)=>{if(r.direction==="backward"){const h=n.out._zod.run(i,r);return h instanceof Promise?h.then(f=>hd(f,n.in,r)):hd(h,n.in,r)}const u=n.in._zod.run(i,r);return u instanceof Promise?u.then(h=>hd(h,n.out,r)):hd(u,n.out,r)}});function hd(e,n,i){return e.issues.length?(e.aborted=!0,e):n._zod.run({value:e.value,issues:e.issues},i)}const aR=ne("$ZodReadonly",(e,n)=>{Lt.init(e,n),gt(e._zod,"propValues",()=>n.innerType._zod.propValues),gt(e._zod,"values",()=>n.innerType._zod.values),gt(e._zod,"optin",()=>n.innerType?._zod?.optin),gt(e._zod,"optout",()=>n.innerType?._zod?.optout),e._zod.parse=(i,r)=>{if(r.direction==="backward")return n.innerType._zod.run(i,r);const u=n.innerType._zod.run(i,r);return u instanceof Promise?u.then(Ex):Ex(u)}});function Ex(e){return e.value=Object.freeze(e.value),e}const iR=ne("$ZodLazy",(e,n)=>{Lt.init(e,n),gt(e._zod,"innerType",()=>n.getter()),gt(e._zod,"pattern",()=>e._zod.innerType?._zod?.pattern),gt(e._zod,"propValues",()=>e._zod.innerType?._zod?.propValues),gt(e._zod,"optin",()=>e._zod.innerType?._zod?.optin??void 0),gt(e._zod,"optout",()=>e._zod.innerType?._zod?.optout??void 0),e._zod.parse=(i,r)=>e._zod.innerType._zod.run(i,r)}),sR=ne("$ZodCustom",(e,n)=>{Jn.init(e,n),Lt.init(e,n),e._zod.parse=(i,r)=>i,e._zod.check=i=>{const r=i.value,u=n.fn(r);if(u instanceof Promise)return u.then(h=>Rx(h,i,r,e));Rx(u,i,r,e)}});function Rx(e,n,i,r){if(!e){const u={code:"custom",input:i,inst:r,path:[...r._zod.def.path??[]],continue:!r._zod.def.abort};r._zod.def.params&&(u.params=r._zod.def.params),n.issues.push(Ec(u))}}var Dx;class oR{constructor(){this._map=new WeakMap,this._idmap=new Map}add(n,...i){const r=i[0];return this._map.set(n,r),r&&typeof r=="object"&&"id"in r&&this._idmap.set(r.id,n),this}clear(){return this._map=new WeakMap,this._idmap=new Map,this}remove(n){const i=this._map.get(n);return i&&typeof i=="object"&&"id"in i&&this._idmap.delete(i.id),this._map.delete(n),this}get(n){const i=n._zod.parent;if(i){const r={...this.get(i)??{}};delete r.id;const u={...r,...this._map.get(n)};return Object.keys(u).length?u:void 0}return this._map.get(n)}has(n){return this._map.has(n)}}function rR(){return new oR}(Dx=globalThis).__zod_globalRegistry??(Dx.__zod_globalRegistry=rR());const yc=globalThis.__zod_globalRegistry;function lR(e,n){return new e({type:"string",...Oe(n)})}function cR(e,n){return new e({type:"string",format:"email",check:"string_format",abort:!1,...Oe(n)})}function zx(e,n){return new e({type:"string",format:"guid",check:"string_format",abort:!1,...Oe(n)})}function uj(e,n){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,...Oe(n)})}function uR(e,n){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",...Oe(n)})}function dR(e,n){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",...Oe(n)})}function mR(e,n){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",...Oe(n)})}function pR(e,n){return new e({type:"string",format:"url",check:"string_format",abort:!1,...Oe(n)})}function hR(e,n){return new e({type:"string",format:"emoji",check:"string_format",abort:!1,...Oe(n)})}function fR(e,n){return new e({type:"string",format:"nanoid",check:"string_format",abort:!1,...Oe(n)})}function gR(e,n){return new e({type:"string",format:"cuid",check:"string_format",abort:!1,...Oe(n)})}function yR(e,n){return new e({type:"string",format:"cuid2",check:"string_format",abort:!1,...Oe(n)})}function bR(e,n){return new e({type:"string",format:"ulid",check:"string_format",abort:!1,...Oe(n)})}function vR(e,n){return new e({type:"string",format:"xid",check:"string_format",abort:!1,...Oe(n)})}function xR(e,n){return new e({type:"string",format:"ksuid",check:"string_format",abort:!1,...Oe(n)})}function wR(e,n){return new e({type:"string",format:"ipv4",check:"string_format",abort:!1,...Oe(n)})}function kR(e,n){return new e({type:"string",format:"ipv6",check:"string_format",abort:!1,...Oe(n)})}function SR(e,n){return new e({type:"string",format:"cidrv4",check:"string_format",abort:!1,...Oe(n)})}function jR(e,n){return new e({type:"string",format:"cidrv6",check:"string_format",abort:!1,...Oe(n)})}function AR(e,n){return new e({type:"string",format:"base64",check:"string_format",abort:!1,...Oe(n)})}function NR(e,n){return new e({type:"string",format:"base64url",check:"string_format",abort:!1,...Oe(n)})}function CR(e,n){return new e({type:"string",format:"e164",check:"string_format",abort:!1,...Oe(n)})}function _R(e,n){return new e({type:"string",format:"jwt",check:"string_format",abort:!1,...Oe(n)})}function TR(e,n){return new e({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,...Oe(n)})}function ER(e,n){return new e({type:"string",format:"date",check:"string_format",...Oe(n)})}function RR(e,n){return new e({type:"string",format:"time",check:"string_format",precision:null,...Oe(n)})}function DR(e,n){return new e({type:"string",format:"duration",check:"string_format",...Oe(n)})}function zR(e,n){return new e({type:"number",checks:[],...Oe(n)})}function IR(e,n){return new e({type:"number",coerce:!0,checks:[],...Oe(n)})}function OR(e,n){return new e({type:"number",check:"number_format",abort:!1,format:"safeint",...Oe(n)})}function PR(e,n){return new e({type:"boolean",...Oe(n)})}function qR(e,n){return new e({type:"null",...Oe(n)})}function MR(e){return new e({type:"unknown"})}function BR(e,n){return new e({type:"never",...Oe(n)})}function Ix(e,n){return new nj({check:"less_than",...Oe(n),value:e,inclusive:!1})}function cf(e,n){return new nj({check:"less_than",...Oe(n),value:e,inclusive:!0})}function Ox(e,n){return new aj({check:"greater_than",...Oe(n),value:e,inclusive:!1})}function uf(e,n){return new aj({check:"greater_than",...Oe(n),value:e,inclusive:!0})}function Px(e,n){return new X8({check:"multiple_of",...Oe(n),value:e})}function dj(e,n){return new W8({check:"max_length",...Oe(n),maximum:e})}function Ud(e,n){return new e7({check:"min_length",...Oe(n),minimum:e})}function mj(e,n){return new t7({check:"length_equals",...Oe(n),length:e})}function LR(e,n){return new n7({check:"string_format",format:"regex",...Oe(n),pattern:e})}function UR(e){return new a7({check:"string_format",format:"lowercase",...Oe(e)})}function VR(e){return new i7({check:"string_format",format:"uppercase",...Oe(e)})}function $R(e,n){return new s7({check:"string_format",format:"includes",...Oe(n),includes:e})}function KR(e,n){return new o7({check:"string_format",format:"starts_with",...Oe(n),prefix:e})}function GR(e,n){return new r7({check:"string_format",format:"ends_with",...Oe(n),suffix:e})}function Kr(e){return new l7({check:"overwrite",tx:e})}function HR(e){return Kr(n=>n.normalize(e))}function FR(){return Kr(e=>e.trim())}function QR(){return Kr(e=>e.toLowerCase())}function ZR(){return Kr(e=>e.toUpperCase())}function YR(){return Kr(e=>t8(e))}function XR(e,n,i){return new e({type:"array",element:n,...Oe(i)})}function JR(e,n,i){return new e({type:"custom",check:"custom",fn:n,...Oe(i)})}function WR(e){const n=eD(i=>(i.addIssue=r=>{if(typeof r=="string")i.issues.push(Ec(r,i.value,n._zod.def));else{const u=r;u.fatal&&(u.continue=!1),u.code??(u.code="custom"),u.input??(u.input=i.value),u.inst??(u.inst=n),u.continue??(u.continue=!n._zod.def.abort),i.issues.push(Ec(u))}},e(i.value,i)));return n}function eD(e,n){const i=new Jn({check:"custom",...Oe(n)});return i._zod.check=e,i}function pj(e){let n=e?.target??"draft-2020-12";return n==="draft-4"&&(n="draft-04"),n==="draft-7"&&(n="draft-07"),{processors:e.processors??{},metadataRegistry:e?.metadata??yc,target:n,unrepresentable:e?.unrepresentable??"throw",override:e?.override??(()=>{}),io:e?.io??"output",counter:0,seen:new Map,cycles:e?.cycles??"ref",reused:e?.reused??"inline",external:e?.external??void 0}}function an(e,n,i={path:[],schemaPath:[]}){var r;const u=e._zod.def,h=n.seen.get(e);if(h)return h.count++,i.schemaPath.includes(e)&&(h.cycle=i.path),h.schema;const f={schema:{},count:1,cycle:void 0,path:i.path};n.seen.set(e,f);const b=e._zod.toJSONSchema?.();if(b)f.schema=b;else{const k={...i,schemaPath:[...i.schemaPath,e],path:i.path};if(e._zod.processJSONSchema)e._zod.processJSONSchema(n,f.schema,k);else{const N=f.schema,_=n.processors[u.type];if(!_)throw new Error(`[toJSONSchema]: Non-representable type encountered: ${u.type}`);_(e,n,N,k)}const S=e._zod.parent;S&&(f.ref||(f.ref=S),an(S,n,k),n.seen.get(S).isParent=!0)}const v=n.metadataRegistry.get(e);return v&&Object.assign(f.schema,v),n.io==="input"&&Ln(e)&&(delete f.schema.examples,delete f.schema.default),n.io==="input"&&f.schema._prefault&&((r=f.schema).default??(r.default=f.schema._prefault)),delete f.schema._prefault,n.seen.get(e).schema}function hj(e,n){const i=e.seen.get(n);if(!i)throw new Error("Unprocessed schema. This is a bug in Zod.");const r=new Map;for(const f of e.seen.entries()){const b=e.metadataRegistry.get(f[0])?.id;if(b){const v=r.get(b);if(v&&v!==f[0])throw new Error(`Duplicate schema id "${b}" detected during JSON Schema conversion. Two different schemas cannot share the same id when converted together.`);r.set(b,f[0])}}const u=f=>{const b=e.target==="draft-2020-12"?"$defs":"definitions";if(e.external){const S=e.external.registry.get(f[0])?.id,N=e.external.uri??(z=>z);if(S)return{ref:N(S)};const _=f[1].defId??f[1].schema.id??`schema${e.counter++}`;return f[1].defId=_,{defId:_,ref:`${N("__shared")}#/${b}/${_}`}}if(f[1]===i)return{ref:"#"};const x=`#/${b}/`,k=f[1].schema.id??`__schema${e.counter++}`;return{defId:k,ref:x+k}},h=f=>{if(f[1].schema.$ref)return;const b=f[1],{ref:v,defId:x}=u(f);b.def={...b.schema},x&&(b.defId=x);const k=b.schema;for(const S in k)delete k[S];k.$ref=v};if(e.cycles==="throw")for(const f of e.seen.entries()){const b=f[1];if(b.cycle)throw new Error(`Cycle detected: #/${b.cycle?.join("/")}/<root>
|
|
51
|
+
|
|
52
|
+
Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.`)}for(const f of e.seen.entries()){const b=f[1];if(n===f[0]){h(f);continue}if(e.external){const x=e.external.registry.get(f[0])?.id;if(n!==f[0]&&x){h(f);continue}}if(e.metadataRegistry.get(f[0])?.id){h(f);continue}if(b.cycle){h(f);continue}if(b.count>1&&e.reused==="ref"){h(f);continue}}}function fj(e,n){const i=e.seen.get(n);if(!i)throw new Error("Unprocessed schema. This is a bug in Zod.");const r=f=>{const b=e.seen.get(f);if(b.ref===null)return;const v=b.def??b.schema,x={...v},k=b.ref;if(b.ref=null,k){r(k);const N=e.seen.get(k),_=N.schema;if(_.$ref&&(e.target==="draft-07"||e.target==="draft-04"||e.target==="openapi-3.0")?(v.allOf=v.allOf??[],v.allOf.push(_)):Object.assign(v,_),Object.assign(v,x),f._zod.parent===k)for(const q in v)q==="$ref"||q==="allOf"||q in x||delete v[q];if(_.$ref&&N.def)for(const q in v)q==="$ref"||q==="allOf"||q in N.def&&JSON.stringify(v[q])===JSON.stringify(N.def[q])&&delete v[q]}const S=f._zod.parent;if(S&&S!==k){r(S);const N=e.seen.get(S);if(N?.schema.$ref&&(v.$ref=N.schema.$ref,N.def))for(const _ in v)_==="$ref"||_==="allOf"||_ in N.def&&JSON.stringify(v[_])===JSON.stringify(N.def[_])&&delete v[_]}e.override({zodSchema:f,jsonSchema:v,path:b.path??[]})};for(const f of[...e.seen.entries()].reverse())r(f[0]);const u={};if(e.target==="draft-2020-12"?u.$schema="https://json-schema.org/draft/2020-12/schema":e.target==="draft-07"?u.$schema="http://json-schema.org/draft-07/schema#":e.target==="draft-04"?u.$schema="http://json-schema.org/draft-04/schema#":e.target,e.external?.uri){const f=e.external.registry.get(n)?.id;if(!f)throw new Error("Schema is missing an `id` property");u.$id=e.external.uri(f)}Object.assign(u,i.def??i.schema);const h=e.external?.defs??{};for(const f of e.seen.entries()){const b=f[1];b.def&&b.defId&&(h[b.defId]=b.def)}e.external||Object.keys(h).length>0&&(e.target==="draft-2020-12"?u.$defs=h:u.definitions=h);try{const f=JSON.parse(JSON.stringify(u));return Object.defineProperty(f,"~standard",{value:{...n["~standard"],jsonSchema:{input:Vd(n,"input",e.processors),output:Vd(n,"output",e.processors)}},enumerable:!1,writable:!1}),f}catch{throw new Error("Error converting schema to JSON.")}}function Ln(e,n){const i=n??{seen:new Set};if(i.seen.has(e))return!1;i.seen.add(e);const r=e._zod.def;if(r.type==="transform")return!0;if(r.type==="array")return Ln(r.element,i);if(r.type==="set")return Ln(r.valueType,i);if(r.type==="lazy")return Ln(r.getter(),i);if(r.type==="promise"||r.type==="optional"||r.type==="nonoptional"||r.type==="nullable"||r.type==="readonly"||r.type==="default"||r.type==="prefault")return Ln(r.innerType,i);if(r.type==="intersection")return Ln(r.left,i)||Ln(r.right,i);if(r.type==="record"||r.type==="map")return Ln(r.keyType,i)||Ln(r.valueType,i);if(r.type==="pipe")return Ln(r.in,i)||Ln(r.out,i);if(r.type==="object"){for(const u in r.shape)if(Ln(r.shape[u],i))return!0;return!1}if(r.type==="union"){for(const u of r.options)if(Ln(u,i))return!0;return!1}if(r.type==="tuple"){for(const u of r.items)if(Ln(u,i))return!0;return!!(r.rest&&Ln(r.rest,i))}return!1}const tD=(e,n={})=>i=>{const r=pj({...i,processors:n});return an(e,r),hj(r,e),fj(r,e)},Vd=(e,n,i={})=>r=>{const{libraryOptions:u,target:h}=r??{},f=pj({...u??{},target:h,io:n,processors:i});return an(e,f),hj(f,e),fj(f,e)},nD={guid:"uuid",url:"uri",datetime:"date-time",json_string:"json-string",regex:""},aD=(e,n,i,r)=>{const u=i;u.type="string";const{minimum:h,maximum:f,format:b,patterns:v,contentEncoding:x}=e._zod.bag;if(typeof h=="number"&&(u.minLength=h),typeof f=="number"&&(u.maxLength=f),b&&(u.format=nD[b]??b,u.format===""&&delete u.format,b==="time"&&delete u.format),x&&(u.contentEncoding=x),v&&v.size>0){const k=[...v];k.length===1?u.pattern=k[0].source:k.length>1&&(u.allOf=[...k.map(S=>({...n.target==="draft-07"||n.target==="draft-04"||n.target==="openapi-3.0"?{type:"string"}:{},pattern:S.source}))])}},iD=(e,n,i,r)=>{const u=i,{minimum:h,maximum:f,format:b,multipleOf:v,exclusiveMaximum:x,exclusiveMinimum:k}=e._zod.bag;typeof b=="string"&&b.includes("int")?u.type="integer":u.type="number",typeof k=="number"&&(n.target==="draft-04"||n.target==="openapi-3.0"?(u.minimum=k,u.exclusiveMinimum=!0):u.exclusiveMinimum=k),typeof h=="number"&&(u.minimum=h,typeof k=="number"&&n.target!=="draft-04"&&(k>=h?delete u.minimum:delete u.exclusiveMinimum)),typeof x=="number"&&(n.target==="draft-04"||n.target==="openapi-3.0"?(u.maximum=x,u.exclusiveMaximum=!0):u.exclusiveMaximum=x),typeof f=="number"&&(u.maximum=f,typeof x=="number"&&n.target!=="draft-04"&&(x<=f?delete u.maximum:delete u.exclusiveMaximum)),typeof v=="number"&&(u.multipleOf=v)},sD=(e,n,i,r)=>{i.type="boolean"},oD=(e,n,i,r)=>{n.target==="openapi-3.0"?(i.type="string",i.nullable=!0,i.enum=[null]):i.type="null"},rD=(e,n,i,r)=>{i.not={}},lD=(e,n,i,r)=>{},cD=(e,n,i,r)=>{const u=e._zod.def,h=GS(u.entries);h.every(f=>typeof f=="number")&&(i.type="number"),h.every(f=>typeof f=="string")&&(i.type="string"),i.enum=h},uD=(e,n,i,r)=>{const u=e._zod.def,h=[];for(const f of u.values)if(f===void 0){if(n.unrepresentable==="throw")throw new Error("Literal `undefined` cannot be represented in JSON Schema")}else if(typeof f=="bigint"){if(n.unrepresentable==="throw")throw new Error("BigInt literals cannot be represented in JSON Schema");h.push(Number(f))}else h.push(f);if(h.length!==0)if(h.length===1){const f=h[0];i.type=f===null?"null":typeof f,n.target==="draft-04"||n.target==="openapi-3.0"?i.enum=[f]:i.const=f}else h.every(f=>typeof f=="number")&&(i.type="number"),h.every(f=>typeof f=="string")&&(i.type="string"),h.every(f=>typeof f=="boolean")&&(i.type="boolean"),h.every(f=>f===null)&&(i.type="null"),i.enum=h},dD=(e,n,i,r)=>{if(n.unrepresentable==="throw")throw new Error("Custom types cannot be represented in JSON Schema")},mD=(e,n,i,r)=>{if(n.unrepresentable==="throw")throw new Error("Transforms cannot be represented in JSON Schema")},pD=(e,n,i,r)=>{const u=i,h=e._zod.def,{minimum:f,maximum:b}=e._zod.bag;typeof f=="number"&&(u.minItems=f),typeof b=="number"&&(u.maxItems=b),u.type="array",u.items=an(h.element,n,{...r,path:[...r.path,"items"]})},hD=(e,n,i,r)=>{const u=i,h=e._zod.def;u.type="object",u.properties={};const f=h.shape;for(const x in f)u.properties[x]=an(f[x],n,{...r,path:[...r.path,"properties",x]});const b=new Set(Object.keys(f)),v=new Set([...b].filter(x=>{const k=h.shape[x]._zod;return n.io==="input"?k.optin===void 0:k.optout===void 0}));v.size>0&&(u.required=Array.from(v)),h.catchall?._zod.def.type==="never"?u.additionalProperties=!1:h.catchall?h.catchall&&(u.additionalProperties=an(h.catchall,n,{...r,path:[...r.path,"additionalProperties"]})):n.io==="output"&&(u.additionalProperties=!1)},fD=(e,n,i,r)=>{const u=e._zod.def,h=u.inclusive===!1,f=u.options.map((b,v)=>an(b,n,{...r,path:[...r.path,h?"oneOf":"anyOf",v]}));h?i.oneOf=f:i.anyOf=f},gD=(e,n,i,r)=>{const u=e._zod.def,h=an(u.left,n,{...r,path:[...r.path,"allOf",0]}),f=an(u.right,n,{...r,path:[...r.path,"allOf",1]}),b=x=>"allOf"in x&&Object.keys(x).length===1,v=[...b(h)?h.allOf:[h],...b(f)?f.allOf:[f]];i.allOf=v},yD=(e,n,i,r)=>{const u=i,h=e._zod.def;u.type="object";const f=h.keyType,v=f._zod.bag?.patterns;if(h.mode==="loose"&&v&&v.size>0){const k=an(h.valueType,n,{...r,path:[...r.path,"patternProperties","*"]});u.patternProperties={};for(const S of v)u.patternProperties[S.source]=k}else(n.target==="draft-07"||n.target==="draft-2020-12")&&(u.propertyNames=an(h.keyType,n,{...r,path:[...r.path,"propertyNames"]})),u.additionalProperties=an(h.valueType,n,{...r,path:[...r.path,"additionalProperties"]});const x=f._zod.values;if(x){const k=[...x].filter(S=>typeof S=="string"||typeof S=="number");k.length>0&&(u.required=k)}},bD=(e,n,i,r)=>{const u=e._zod.def,h=an(u.innerType,n,r),f=n.seen.get(e);n.target==="openapi-3.0"?(f.ref=u.innerType,i.nullable=!0):i.anyOf=[h,{type:"null"}]},vD=(e,n,i,r)=>{const u=e._zod.def;an(u.innerType,n,r);const h=n.seen.get(e);h.ref=u.innerType},xD=(e,n,i,r)=>{const u=e._zod.def;an(u.innerType,n,r);const h=n.seen.get(e);h.ref=u.innerType,i.default=JSON.parse(JSON.stringify(u.defaultValue))},wD=(e,n,i,r)=>{const u=e._zod.def;an(u.innerType,n,r);const h=n.seen.get(e);h.ref=u.innerType,n.io==="input"&&(i._prefault=JSON.parse(JSON.stringify(u.defaultValue)))},kD=(e,n,i,r)=>{const u=e._zod.def;an(u.innerType,n,r);const h=n.seen.get(e);h.ref=u.innerType;let f;try{f=u.catchValue(void 0)}catch{throw new Error("Dynamic catch values are not supported in JSON Schema")}i.default=f},SD=(e,n,i,r)=>{const u=e._zod.def,h=n.io==="input"?u.in._zod.def.type==="transform"?u.out:u.in:u.out;an(h,n,r);const f=n.seen.get(e);f.ref=h},jD=(e,n,i,r)=>{const u=e._zod.def;an(u.innerType,n,r);const h=n.seen.get(e);h.ref=u.innerType,i.readOnly=!0},gj=(e,n,i,r)=>{const u=e._zod.def;an(u.innerType,n,r);const h=n.seen.get(e);h.ref=u.innerType},AD=(e,n,i,r)=>{const u=e._zod.innerType;an(u,n,r);const h=n.seen.get(e);h.ref=u},ND=ne("ZodISODateTime",(e,n)=>{k7.init(e,n),Xt.init(e,n)});function yj(e){return TR(ND,e)}const CD=ne("ZodISODate",(e,n)=>{S7.init(e,n),Xt.init(e,n)});function bj(e){return ER(CD,e)}const _D=ne("ZodISOTime",(e,n)=>{j7.init(e,n),Xt.init(e,n)});function TD(e){return RR(_D,e)}const ED=ne("ZodISODuration",(e,n)=>{A7.init(e,n),Xt.init(e,n)});function RD(e){return DR(ED,e)}const DD=(e,n)=>{ZS.init(e,n),e.name="ZodError",Object.defineProperties(e,{format:{value:i=>h8(e,i)},flatten:{value:i=>p8(e,i)},addIssue:{value:i=>{e.issues.push(i),e.message=JSON.stringify(e.issues,Xf,2)}},addIssues:{value:i=>{e.issues.push(...i),e.message=JSON.stringify(e.issues,Xf,2)}},isEmpty:{get(){return e.issues.length===0}}})},Ra=ne("ZodError",DD,{Parent:Error}),zD=Zg(Ra),ID=Yg(Ra),OD=bm(Ra),PD=vm(Ra),qD=y8(Ra),MD=b8(Ra),BD=v8(Ra),LD=x8(Ra),UD=w8(Ra),VD=k8(Ra),$D=S8(Ra),KD=j8(Ra),Ut=ne("ZodType",(e,n)=>(Lt.init(e,n),Object.assign(e["~standard"],{jsonSchema:{input:Vd(e,"input"),output:Vd(e,"output")}}),e.toJSONSchema=tD(e,{}),e.def=n,e.type=n.type,Object.defineProperty(e,"_def",{value:n}),e.check=(...i)=>e.clone(Os(n,{checks:[...n.checks??[],...i.map(r=>typeof r=="function"?{_zod:{check:r,def:{check:"custom"},onattach:[]}}:r)]}),{parent:!0}),e.with=e.check,e.clone=(i,r)=>Ps(e,i,r),e.brand=()=>e,e.register=((i,r)=>(i.add(e,r),e)),e.parse=(i,r)=>zD(e,i,r,{callee:e.parse}),e.safeParse=(i,r)=>OD(e,i,r),e.parseAsync=async(i,r)=>ID(e,i,r,{callee:e.parseAsync}),e.safeParseAsync=async(i,r)=>PD(e,i,r),e.spa=e.safeParseAsync,e.encode=(i,r)=>qD(e,i,r),e.decode=(i,r)=>MD(e,i,r),e.encodeAsync=async(i,r)=>BD(e,i,r),e.decodeAsync=async(i,r)=>LD(e,i,r),e.safeEncode=(i,r)=>UD(e,i,r),e.safeDecode=(i,r)=>VD(e,i,r),e.safeEncodeAsync=async(i,r)=>$D(e,i,r),e.safeDecodeAsync=async(i,r)=>KD(e,i,r),e.refine=(i,r)=>e.check(Lz(i,r)),e.superRefine=i=>e.check(Uz(i)),e.overwrite=i=>e.check(Kr(i)),e.optional=()=>Bx(e),e.exactOptional=()=>Az(e),e.nullable=()=>Lx(e),e.nullish=()=>Bx(Lx(e)),e.nonoptional=i=>Rz(e,i),e.array=()=>y(e),e.or=i=>Ze([e,i]),e.and=i=>xz(e,i),e.transform=i=>eg(e,kj(i)),e.default=i=>_z(e,i),e.prefault=i=>Ez(e,i),e.catch=i=>zz(e,i),e.pipe=i=>eg(e,i),e.readonly=()=>Pz(e),e.describe=i=>{const r=e.clone();return yc.add(r,{description:i}),r},Object.defineProperty(e,"description",{get(){return yc.get(e)?.description},configurable:!0}),e.meta=(...i)=>{if(i.length===0)return yc.get(e);const r=e.clone();return yc.add(r,i[0]),r},e.isOptional=()=>e.safeParse(void 0).success,e.isNullable=()=>e.safeParse(null).success,e.apply=i=>i(e),e)),vj=ne("_ZodString",(e,n)=>{Xg.init(e,n),Ut.init(e,n),e._zod.processJSONSchema=(r,u,h)=>aD(e,r,u);const i=e._zod.bag;e.format=i.format??null,e.minLength=i.minimum??null,e.maxLength=i.maximum??null,e.regex=(...r)=>e.check(LR(...r)),e.includes=(...r)=>e.check($R(...r)),e.startsWith=(...r)=>e.check(KR(...r)),e.endsWith=(...r)=>e.check(GR(...r)),e.min=(...r)=>e.check(Ud(...r)),e.max=(...r)=>e.check(dj(...r)),e.length=(...r)=>e.check(mj(...r)),e.nonempty=(...r)=>e.check(Ud(1,...r)),e.lowercase=r=>e.check(UR(r)),e.uppercase=r=>e.check(VR(r)),e.trim=()=>e.check(FR()),e.normalize=(...r)=>e.check(HR(...r)),e.toLowerCase=()=>e.check(QR()),e.toUpperCase=()=>e.check(ZR()),e.slugify=()=>e.check(YR())}),GD=ne("ZodString",(e,n)=>{Xg.init(e,n),vj.init(e,n),e.email=i=>e.check(cR(HD,i)),e.url=i=>e.check(pR(QD,i)),e.jwt=i=>e.check(_R(cz,i)),e.emoji=i=>e.check(hR(ZD,i)),e.guid=i=>e.check(zx(qx,i)),e.uuid=i=>e.check(uj(bc,i)),e.uuidv4=i=>e.check(uR(bc,i)),e.uuidv6=i=>e.check(dR(bc,i)),e.uuidv7=i=>e.check(mR(bc,i)),e.nanoid=i=>e.check(fR(YD,i)),e.guid=i=>e.check(zx(qx,i)),e.cuid=i=>e.check(gR(XD,i)),e.cuid2=i=>e.check(yR(JD,i)),e.ulid=i=>e.check(bR(WD,i)),e.base64=i=>e.check(AR(oz,i)),e.base64url=i=>e.check(NR(rz,i)),e.xid=i=>e.check(vR(ez,i)),e.ksuid=i=>e.check(xR(tz,i)),e.ipv4=i=>e.check(wR(nz,i)),e.ipv6=i=>e.check(kR(az,i)),e.cidrv4=i=>e.check(SR(iz,i)),e.cidrv6=i=>e.check(jR(sz,i)),e.e164=i=>e.check(CR(lz,i)),e.datetime=i=>e.check(yj(i)),e.date=i=>e.check(bj(i)),e.time=i=>e.check(TD(i)),e.duration=i=>e.check(RD(i))});function o(e){return lR(GD,e)}const Xt=ne("ZodStringFormat",(e,n)=>{Gt.init(e,n),vj.init(e,n)}),HD=ne("ZodEmail",(e,n)=>{p7.init(e,n),Xt.init(e,n)}),qx=ne("ZodGUID",(e,n)=>{d7.init(e,n),Xt.init(e,n)}),bc=ne("ZodUUID",(e,n)=>{m7.init(e,n),Xt.init(e,n)});function FD(e){return uj(bc,e)}const QD=ne("ZodURL",(e,n)=>{h7.init(e,n),Xt.init(e,n)}),ZD=ne("ZodEmoji",(e,n)=>{f7.init(e,n),Xt.init(e,n)}),YD=ne("ZodNanoID",(e,n)=>{g7.init(e,n),Xt.init(e,n)}),XD=ne("ZodCUID",(e,n)=>{y7.init(e,n),Xt.init(e,n)}),JD=ne("ZodCUID2",(e,n)=>{b7.init(e,n),Xt.init(e,n)}),WD=ne("ZodULID",(e,n)=>{v7.init(e,n),Xt.init(e,n)}),ez=ne("ZodXID",(e,n)=>{x7.init(e,n),Xt.init(e,n)}),tz=ne("ZodKSUID",(e,n)=>{w7.init(e,n),Xt.init(e,n)}),nz=ne("ZodIPv4",(e,n)=>{N7.init(e,n),Xt.init(e,n)}),az=ne("ZodIPv6",(e,n)=>{C7.init(e,n),Xt.init(e,n)}),iz=ne("ZodCIDRv4",(e,n)=>{_7.init(e,n),Xt.init(e,n)}),sz=ne("ZodCIDRv6",(e,n)=>{T7.init(e,n),Xt.init(e,n)}),oz=ne("ZodBase64",(e,n)=>{E7.init(e,n),Xt.init(e,n)}),rz=ne("ZodBase64URL",(e,n)=>{D7.init(e,n),Xt.init(e,n)}),lz=ne("ZodE164",(e,n)=>{z7.init(e,n),Xt.init(e,n)}),cz=ne("ZodJWT",(e,n)=>{O7.init(e,n),Xt.init(e,n)}),Jg=ne("ZodNumber",(e,n)=>{sj.init(e,n),Ut.init(e,n),e._zod.processJSONSchema=(r,u,h)=>iD(e,r,u),e.gt=(r,u)=>e.check(Ox(r,u)),e.gte=(r,u)=>e.check(uf(r,u)),e.min=(r,u)=>e.check(uf(r,u)),e.lt=(r,u)=>e.check(Ix(r,u)),e.lte=(r,u)=>e.check(cf(r,u)),e.max=(r,u)=>e.check(cf(r,u)),e.int=r=>e.check(Mx(r)),e.safe=r=>e.check(Mx(r)),e.positive=r=>e.check(Ox(0,r)),e.nonnegative=r=>e.check(uf(0,r)),e.negative=r=>e.check(Ix(0,r)),e.nonpositive=r=>e.check(cf(0,r)),e.multipleOf=(r,u)=>e.check(Px(r,u)),e.step=(r,u)=>e.check(Px(r,u)),e.finite=()=>e;const i=e._zod.bag;e.minValue=Math.max(i.minimum??Number.NEGATIVE_INFINITY,i.exclusiveMinimum??Number.NEGATIVE_INFINITY)??null,e.maxValue=Math.min(i.maximum??Number.POSITIVE_INFINITY,i.exclusiveMaximum??Number.POSITIVE_INFINITY)??null,e.isInt=(i.format??"").includes("int")||Number.isSafeInteger(i.multipleOf??.5),e.isFinite=!0,e.format=i.format??null});function m(e){return zR(Jg,e)}const uz=ne("ZodNumberFormat",(e,n)=>{P7.init(e,n),Jg.init(e,n)});function Mx(e){return OR(uz,e)}const dz=ne("ZodBoolean",(e,n)=>{q7.init(e,n),Ut.init(e,n),e._zod.processJSONSchema=(i,r,u)=>sD(e,i,r)});function T(e){return PR(dz,e)}const mz=ne("ZodNull",(e,n)=>{M7.init(e,n),Ut.init(e,n),e._zod.processJSONSchema=(i,r,u)=>oD(e,i,r)});function ue(e){return qR(mz,e)}const pz=ne("ZodUnknown",(e,n)=>{B7.init(e,n),Ut.init(e,n),e._zod.processJSONSchema=(i,r,u)=>lD()});function kn(){return MR(pz)}const hz=ne("ZodNever",(e,n)=>{L7.init(e,n),Ut.init(e,n),e._zod.processJSONSchema=(i,r,u)=>rD(e,i,r)});function fz(e){return BR(hz,e)}const gz=ne("ZodArray",(e,n)=>{U7.init(e,n),Ut.init(e,n),e._zod.processJSONSchema=(i,r,u)=>pD(e,i,r,u),e.element=n.element,e.min=(i,r)=>e.check(Ud(i,r)),e.nonempty=i=>e.check(Ud(1,i)),e.max=(i,r)=>e.check(dj(i,r)),e.length=(i,r)=>e.check(mj(i,r)),e.unwrap=()=>e.element});function y(e,n){return XR(gz,e,n)}const xj=ne("ZodObject",(e,n)=>{$7.init(e,n),Ut.init(e,n),e._zod.processJSONSchema=(i,r,u)=>hD(e,i,r,u),gt(e,"shape",()=>n.shape),e.keyof=()=>j(Object.keys(e._zod.def.shape)),e.catchall=i=>e.clone({...e._zod.def,catchall:i}),e.passthrough=()=>e.clone({...e._zod.def,catchall:kn()}),e.loose=()=>e.clone({...e._zod.def,catchall:kn()}),e.strict=()=>e.clone({...e._zod.def,catchall:fz()}),e.strip=()=>e.clone({...e._zod.def,catchall:void 0}),e.extend=i=>l8(e,i),e.safeExtend=i=>c8(e,i),e.merge=i=>u8(e,i),e.pick=i=>o8(e,i),e.omit=i=>r8(e,i),e.partial=(...i)=>d8(Sj,e,i[0]),e.required=(...i)=>m8(jj,e,i[0])});function d(e,n){const i={type:"object",shape:e??{},...Oe(n)};return new xj(i)}function yz(e,n){return new xj({type:"object",shape:e,catchall:kn(),...Oe(n)})}const wj=ne("ZodUnion",(e,n)=>{lj.init(e,n),Ut.init(e,n),e._zod.processJSONSchema=(i,r,u)=>fD(e,i,r,u),e.options=n.options});function Ze(e,n){return new wj({type:"union",options:e,...Oe(n)})}const bz=ne("ZodDiscriminatedUnion",(e,n)=>{wj.init(e,n),K7.init(e,n)});function Be(e,n,i){return new bz({type:"union",options:n,discriminator:e,...Oe(i)})}const vz=ne("ZodIntersection",(e,n)=>{G7.init(e,n),Ut.init(e,n),e._zod.processJSONSchema=(i,r,u)=>gD(e,i,r,u)});function xz(e,n){return new vz({type:"intersection",left:e,right:n})}const wz=ne("ZodRecord",(e,n)=>{H7.init(e,n),Ut.init(e,n),e._zod.processJSONSchema=(i,r,u)=>yD(e,i,r,u),e.keyType=n.keyType,e.valueType=n.valueType});function Ge(e,n,i){return new wz({type:"record",keyType:e,valueType:n,...Oe(i)})}const Wf=ne("ZodEnum",(e,n)=>{F7.init(e,n),Ut.init(e,n),e._zod.processJSONSchema=(r,u,h)=>cD(e,r,u),e.enum=n.entries,e.options=Object.values(n.entries);const i=new Set(Object.keys(n.entries));e.extract=(r,u)=>{const h={};for(const f of r)if(i.has(f))h[f]=n.entries[f];else throw new Error(`Key ${f} not found in enum`);return new Wf({...n,checks:[],...Oe(u),entries:h})},e.exclude=(r,u)=>{const h={...n.entries};for(const f of r)if(i.has(f))delete h[f];else throw new Error(`Key ${f} not found in enum`);return new Wf({...n,checks:[],...Oe(u),entries:h})}});function j(e,n){const i=Array.isArray(e)?Object.fromEntries(e.map(r=>[r,r])):e;return new Wf({type:"enum",entries:i,...Oe(n)})}const kz=ne("ZodLiteral",(e,n)=>{Q7.init(e,n),Ut.init(e,n),e._zod.processJSONSchema=(i,r,u)=>uD(e,i,r),e.values=new Set(n.values),Object.defineProperty(e,"value",{get(){if(n.values.length>1)throw new Error("This schema contains multiple valid literal values. Use `.values` instead.");return n.values[0]}})});function R(e,n){return new kz({type:"literal",values:Array.isArray(e)?e:[e],...Oe(n)})}const Sz=ne("ZodTransform",(e,n)=>{Z7.init(e,n),Ut.init(e,n),e._zod.processJSONSchema=(i,r,u)=>mD(e,i),e._zod.parse=(i,r)=>{if(r.direction==="backward")throw new $S(e.constructor.name);i.addIssue=h=>{if(typeof h=="string")i.issues.push(Ec(h,i.value,n));else{const f=h;f.fatal&&(f.continue=!1),f.code??(f.code="custom"),f.input??(f.input=i.value),f.inst??(f.inst=e),i.issues.push(Ec(f))}};const u=n.transform(i.value,i);return u instanceof Promise?u.then(h=>(i.value=h,i)):(i.value=u,i)}});function kj(e){return new Sz({type:"transform",transform:e})}const Sj=ne("ZodOptional",(e,n)=>{cj.init(e,n),Ut.init(e,n),e._zod.processJSONSchema=(i,r,u)=>gj(e,i,r,u),e.unwrap=()=>e._zod.def.innerType});function Bx(e){return new Sj({type:"optional",innerType:e})}const jz=ne("ZodExactOptional",(e,n)=>{Y7.init(e,n),Ut.init(e,n),e._zod.processJSONSchema=(i,r,u)=>gj(e,i,r,u),e.unwrap=()=>e._zod.def.innerType});function Az(e){return new jz({type:"optional",innerType:e})}const Nz=ne("ZodNullable",(e,n)=>{X7.init(e,n),Ut.init(e,n),e._zod.processJSONSchema=(i,r,u)=>bD(e,i,r,u),e.unwrap=()=>e._zod.def.innerType});function Lx(e){return new Nz({type:"nullable",innerType:e})}const Cz=ne("ZodDefault",(e,n)=>{J7.init(e,n),Ut.init(e,n),e._zod.processJSONSchema=(i,r,u)=>xD(e,i,r,u),e.unwrap=()=>e._zod.def.innerType,e.removeDefault=e.unwrap});function _z(e,n){return new Cz({type:"default",innerType:e,get defaultValue(){return typeof n=="function"?n():FS(n)}})}const Tz=ne("ZodPrefault",(e,n)=>{W7.init(e,n),Ut.init(e,n),e._zod.processJSONSchema=(i,r,u)=>wD(e,i,r,u),e.unwrap=()=>e._zod.def.innerType});function Ez(e,n){return new Tz({type:"prefault",innerType:e,get defaultValue(){return typeof n=="function"?n():FS(n)}})}const jj=ne("ZodNonOptional",(e,n)=>{eR.init(e,n),Ut.init(e,n),e._zod.processJSONSchema=(i,r,u)=>vD(e,i,r,u),e.unwrap=()=>e._zod.def.innerType});function Rz(e,n){return new jj({type:"nonoptional",innerType:e,...Oe(n)})}const Dz=ne("ZodCatch",(e,n)=>{tR.init(e,n),Ut.init(e,n),e._zod.processJSONSchema=(i,r,u)=>kD(e,i,r,u),e.unwrap=()=>e._zod.def.innerType,e.removeCatch=e.unwrap});function zz(e,n){return new Dz({type:"catch",innerType:e,catchValue:typeof n=="function"?n:()=>n})}const Iz=ne("ZodPipe",(e,n)=>{nR.init(e,n),Ut.init(e,n),e._zod.processJSONSchema=(i,r,u)=>SD(e,i,r,u),e.in=n.in,e.out=n.out});function eg(e,n){return new Iz({type:"pipe",in:e,out:n})}const Oz=ne("ZodReadonly",(e,n)=>{aR.init(e,n),Ut.init(e,n),e._zod.processJSONSchema=(i,r,u)=>jD(e,i,r,u),e.unwrap=()=>e._zod.def.innerType});function Pz(e){return new Oz({type:"readonly",innerType:e})}const qz=ne("ZodLazy",(e,n)=>{iR.init(e,n),Ut.init(e,n),e._zod.processJSONSchema=(i,r,u)=>AD(e,i,r,u),e.unwrap=()=>e._zod.def.getter()});function Mz(e){return new qz({type:"lazy",getter:e})}const Bz=ne("ZodCustom",(e,n)=>{sR.init(e,n),Ut.init(e,n),e._zod.processJSONSchema=(i,r,u)=>dD(e,i)});function Lz(e,n={}){return JR(Bz,e,n)}function Uz(e){return WR(e)}function ri(e,n){return eg(kj(e),n)}const ye={custom:"custom"};function Ui(e){return IR(Jg,e)}const Aj=d({id:o(),name:o(),keyPrefix:o(),scopes:y(o()),projectId:o().nullable(),projectName:o().nullable(),readOnly:T(),operator:T().optional(),createdAt:o(),lastUsedAt:o().nullable(),revokedAt:o().nullable()});d({keys:y(Aj)});d({name:o().min(1).max(100),scopes:y(o()).min(1).optional(),projectId:o().optional()});Aj.extend({key:o()});const Wg=j(["used","not-used","unknown","not-applicable"]);Wg.enum;const e0=j(["native-auto-v1","search-required-v1"]);e0.enum;const Vz=d({maxConcurrency:m().int().positive(),maxRequestsPerMinute:m().int().positive(),maxRequestsPerDay:m().int().positive()}),At=o().min(1),t0=Ge(o(),o().trim().min(1));o().min(1);const mn=d({label:o().min(1),city:o().min(1),region:o().min(1),country:o().length(2),timezone:o().optional()}),n0=j(["answer-visibility","traffic-sync","gbp-sync","data-refresh","backlinks-sync","site-audit","ads-sync","doctor"]);n0.enum;const a0=d({everyDays:m().int().min(1).max(3650),startDate:o().date(),time:o().regex(/^([01]\d|2[0-3]):[0-5]\d$/,"Time must be HH:mm")}).strict();d({id:o(),projectId:o(),kind:n0,cronExpr:o(),recurrence:a0.nullable().optional(),preset:o().nullable().optional(),timezone:o().default("UTC"),enabled:T().default(!0),providers:y(At).default([]),sourceId:o().nullable().optional(),lastRunAt:o().nullable().optional(),nextRunAt:o().nullable().optional(),createdAt:o(),updatedAt:o()});const $z=o().datetime();d({kind:n0.optional(),preset:o().min(1).optional(),cron:o().min(1).optional(),recurrence:a0.optional(),timezone:o().optional().default("UTC"),enabled:T().optional().default(!0),providers:y(At).optional().default([]),sourceId:o().optional(),expectedUpdatedAt:$z.nullable().optional()}).refine(e=>[e.preset,e.cron,e.recurrence].filter(n=>n!==void 0).length===1,{message:'Exactly one of "preset", "cron", or "recurrence" must be provided'});const i0=j(["citation.lost","citation.gained","run.completed","run.failed","insight.critical","insight.high","health.degraded","health.recovered","review.negative","review.rating-dropped"]);d({id:o(),projectId:o(),channel:R("webhook"),url:o().url(),urlDisplay:o(),urlHost:o(),events:y(i0),enabled:T().default(!0),source:o().optional(),webhookSecret:o().optional(),createdAt:o(),updatedAt:o()});d({channel:R("webhook"),url:o().url(),events:y(i0).min(1),source:o().optional()});class Kz extends Error{code;statusCode;details;constructor(n,i,r,u){super(i),this.name="AppError",this.code=n,this.statusCode=r,this.details=u}toJSON(){return{error:{code:this.code,message:this.message,...this.details?{details:this.details}:{}}}}}function Ux(e,n){return new Kz("VALIDATION_ERROR",e,400,n)}function qi(e){if(e instanceof Error)return e.message;if(typeof e=="string")return e;if(e==null)return"unknown error";try{const n=JSON.stringify(e);if(n!==void 0)return n}catch{}try{return String(e)}catch{return"unknown error"}}const Yn={openai:"openai.com",chatgpt:"chatgpt.com",chatgptLegacy:"chat.openai.com",claude:"claude.ai",perplexity:"perplexity.ai",gemini:"gemini.google.com",bard:"bard.google.com",copilotMicrosoft:"copilot.microsoft.com",copilot:"copilot.com",deepseek:"deepseek.com",metaAi:"meta.ai",grok:"grok.com",you:"you.com",phind:"phind.com"},Gz="anthropic.com",Hz=/[\0-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,Fz=/[\0-\x1F\x7F-\x9F]/,Qz=/[!-#%-\*,-\/:;\?@\[-\]_\{\}\xA1\xA7\xAB\xB6\xB7\xBB\xBF\u037E\u0387\u055A-\u055F\u0589\u058A\u05BE\u05C0\u05C3\u05C6\u05F3\u05F4\u0609\u060A\u060C\u060D\u061B\u061D-\u061F\u066A-\u066D\u06D4\u0700-\u070D\u07F7-\u07F9\u0830-\u083E\u085E\u0964\u0965\u0970\u09FD\u0A76\u0AF0\u0C77\u0C84\u0DF4\u0E4F\u0E5A\u0E5B\u0F04-\u0F12\u0F14\u0F3A-\u0F3D\u0F85\u0FD0-\u0FD4\u0FD9\u0FDA\u104A-\u104F\u10FB\u1360-\u1368\u1400\u166E\u169B\u169C\u16EB-\u16ED\u1735\u1736\u17D4-\u17D6\u17D8-\u17DA\u1800-\u180A\u1944\u1945\u1A1E\u1A1F\u1AA0-\u1AA6\u1AA8-\u1AAD\u1B4E\u1B4F\u1B5A-\u1B60\u1B7D-\u1B7F\u1BFC-\u1BFF\u1C3B-\u1C3F\u1C7E\u1C7F\u1CC0-\u1CC7\u1CD3\u2010-\u2027\u2030-\u2043\u2045-\u2051\u2053-\u205E\u207D\u207E\u208D\u208E\u2308-\u230B\u2329\u232A\u2768-\u2775\u27C5\u27C6\u27E6-\u27EF\u2983-\u2998\u29D8-\u29DB\u29FC\u29FD\u2CF9-\u2CFC\u2CFE\u2CFF\u2D70\u2E00-\u2E2E\u2E30-\u2E4F\u2E52-\u2E5D\u3001-\u3003\u3008-\u3011\u3014-\u301F\u3030\u303D\u30A0\u30FB\uA4FE\uA4FF\uA60D-\uA60F\uA673\uA67E\uA6F2-\uA6F7\uA874-\uA877\uA8CE\uA8CF\uA8F8-\uA8FA\uA8FC\uA92E\uA92F\uA95F\uA9C1-\uA9CD\uA9DE\uA9DF\uAA5C-\uAA5F\uAADE\uAADF\uAAF0\uAAF1\uABEB\uFD3E\uFD3F\uFE10-\uFE19\uFE30-\uFE52\uFE54-\uFE61\uFE63\uFE68\uFE6A\uFE6B\uFF01-\uFF03\uFF05-\uFF0A\uFF0C-\uFF0F\uFF1A\uFF1B\uFF1F\uFF20\uFF3B-\uFF3D\uFF3F\uFF5B\uFF5D\uFF5F-\uFF65]|\uD800[\uDD00-\uDD02\uDF9F\uDFD0]|\uD801\uDD6F|\uD802[\uDC57\uDD1F\uDD3F\uDE50-\uDE58\uDE7F\uDEF0-\uDEF6\uDF39-\uDF3F\uDF99-\uDF9C]|\uD803[\uDD6E\uDEAD\uDED0\uDF55-\uDF59\uDF86-\uDF89]|\uD804[\uDC47-\uDC4D\uDCBB\uDCBC\uDCBE-\uDCC1\uDD40-\uDD43\uDD74\uDD75\uDDC5-\uDDC8\uDDCD\uDDDB\uDDDD-\uDDDF\uDE38-\uDE3D\uDEA9\uDFD4\uDFD5\uDFD7\uDFD8]|\uD805[\uDC4B-\uDC4F\uDC5A\uDC5B\uDC5D\uDCC6\uDDC1-\uDDD7\uDE41-\uDE43\uDE60-\uDE6C\uDEB9\uDF3C-\uDF3E]|\uD806[\uDC3B\uDD44-\uDD46\uDDE2\uDE3F-\uDE46\uDE9A-\uDE9C\uDE9E-\uDEA2\uDF00-\uDF09\uDFE1]|\uD807[\uDC41-\uDC45\uDC70\uDC71\uDEF7\uDEF8\uDF43-\uDF4F\uDFFF]|\uD809[\uDC70-\uDC74]|\uD80B[\uDFF1\uDFF2]|\uD81A[\uDE6E\uDE6F\uDEF5\uDF37-\uDF3B\uDF44]|\uD81B[\uDD6D-\uDD6F\uDE97-\uDE9A\uDFE2]|\uD82F\uDC9F|\uD836[\uDE87-\uDE8B]|\uD839\uDDFF|\uD83A[\uDD5E\uDD5F]/,Zz=/[ \xA0\u1680\u2000-\u200A\u2028\u2029\u202F\u205F\u3000]/;var Yz=class{src_Any=Hz.source;src_Cc=Fz.source;src_Z=Zz.source;src_P=Qz.source;src_ZPCc=[this.src_Z,this.src_P,this.src_Cc].join("|");src_ZCc=[this.src_Z,this.src_Cc].join("|");cache={};opts={maxLength:1e4,urlAuth:!1,schema_names:[]};constructor(e={}){this.opts={...this.opts,...e}}set(e={}){return this.opts={...this.opts,...e},this.cache={},this}escapeRE(e){return e.replace(/[.?*+^$[\]\\(){}|-]/g,"\\$&")}nestedPairRE(e,n,i=4){const r=this.escapeRE(e),u=this.escapeRE(n),h=`(?:(?!${this.src_ZCc}|${r}|${u}).)`;let f=`${r}${h}{0,1000}${u}`;for(let b=2;b<=i;b++)f=`${r}(?:${h}|${f}){0,1000}${u}`;return f}get_text_separators(){return this.cache.text_separators??=/[><\uff5c]/}get_pseudo_letter(){return this.cache.src_pseudo_letter??=new RegExp(`(?:(?!${this.get_text_separators().source}|${this.src_ZPCc})${this.src_Any})`)}get_ipv4_addr(){return this.cache.src_ip4??=new RegExp("(?:(?:25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])[.]){3}(?:25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])")}get_ipv6_addr(){const e="[0-9A-Fa-f]{1,4}",n=`(?:(?:${e}:${e})|${this.get_ipv4_addr().source})`;return this.cache.src_ip6_addr??=new RegExp(`(?:(?:${e}:){6}${n}|::(?:${e}:){5}${n}|(?:${e})?::(?:${e}:){4}${n}|(?:(?:${e}:){0,1}${e})?::(?:${e}:){3}${n}|(?:(?:${e}:){0,2}${e})?::(?:${e}:){2}${n}|(?:(?:${e}:){0,3}${e})?::${e}:${n}|(?:(?:${e}:){0,4}${e})?::${n}|(?:(?:${e}:){0,5}${e})?::${e}|(?:(?:${e}:){0,6}${e})?::)`)}get_ipv6_url_host(){return this.cache.src_ip6_host??=new RegExp(`\\[${this.get_ipv6_addr().source}\\]`)}get_ipv6_mail_host(){return this.cache.src_ipv6_mail_host??=new RegExp(`\\[IPv6:${this.get_ipv6_addr().source}\\]`)}get_auth(){return this.cache.src_auth??=new RegExp(`(?:(?:(?!${this.src_ZCc}|[@/\\[\\]()]).){1,50}@)?`)}get_port(){return this.cache.src_port??=new RegExp("(?::(?:6(?:[0-4]\\d{3}|5(?:[0-4]\\d{2}|5(?:[0-2]\\d|3[0-5])))|[1-5]?\\d{1,4}))?")}get_host_terminator(){return this.cache.src_host_terminator??=new RegExp(`(?=$|${this.get_text_separators().source}|${this.src_ZPCc})(?!${this.opts["---"]?"-(?!--)|":"-|"}_|:\\d|\\.-|\\.(?!$|${this.src_ZPCc}))`)}get_path_terminator(){return this.cache.src_path_terminator??=new RegExp(`${this.src_ZPCc}|${this.get_text_separators().source}`)}get_path(){return this.cache.src_path??=new RegExp(`(?:[/?#](?:${this.nestedPairRE("[","]")}|${this.nestedPairRE("(",")")}|${this.nestedPairRE("{","}")}|\\"(?:(?!${this.src_ZCc}|["]).){1,100}\\"|\\'(?:(?!${this.src_ZCc}|[']).){1,100}\\'|\\'(?=${this.get_pseudo_letter().source}|[-])|\\.{2,20}[:]?[a-zA-Z0-9%/&]|\\.(?!${this.src_ZCc}|[.]|$)|`+(this.opts["---"]?"\\-(?!--(?:[^-]|$))(?:-{0,19})|":"\\-{1,20}|")+`,(?!${this.src_ZCc}|$)|;(?!${this.src_ZCc}|$)|\\!{1,20}(?!${this.src_ZCc}|[!]|$)|\\?(?!${this.src_ZCc}|[?]|$)|`+this.get_path_extra().source+`[\\\\/:%@#&=_~*]|(?!${this.get_path_terminator().source}).){1,${this.opts.maxLength}}|\\/)?`)}get_mail_name(){return this.cache.src_mail_name??=new RegExp("[-!#$%&'*+/=?^_`{|}~a-zA-Z0-9](?:[-!#$%&'*+/=?^_`{|}~a-zA-Z0-9]|[.](?=[-!#$%&'*+/=?^_`{|}~a-zA-Z0-9])){0,63}")}get_xn(){return this.cache.src_xn??=new RegExp("xn--[a-z0-9\\-]{1,59}")}get_tld(){if(this.cache.tld)return this.cache.tld;const e=[...new Set(this.opts.tlds||[])].sort().reverse().join("|");return this.cache.tld=new RegExp(`${e||"$#none#$"}|${this.get_xn().source}`),this.cache.tld}get_domain_root(){return this.cache.src_domain_root??=new RegExp("(?:"+this.get_xn().source+`|${this.get_pseudo_letter().source}{1,63})`)}get_domain(){return this.cache.src_domain??=new RegExp("(?:"+this.get_xn().source+`|(?:${this.get_pseudo_letter().source})|(?:${this.get_pseudo_letter().source}(?:-|${this.get_pseudo_letter().source}){0,61}${this.get_pseudo_letter().source}))`)}get_url_host_port(){return this.cache.url_host_port??=new RegExp("(?:"+this.get_ipv6_url_host().source+`|(?:(?:(?:${this.get_domain().source})\\.){0,10}${this.get_domain().source}))`+this.get_port().source+this.get_host_terminator().source)}get_fuzzy_url_host_port(){return this.cache.fuzzy_url_host_port??=new RegExp("(?:"+(this.opts.fuzzyIP?this.get_ipv4_addr().source+"|":"")+`(?:(?:(?:${this.get_domain().source})\\.){1,10}(?:${this.get_tld().source})))`+this.get_host_terminator().source)}get_mail_host(){return this.cache.src_mail_host??=new RegExp("(?:"+this.get_ipv6_mail_host().source+`|(?:(?:(?:${this.get_domain().source})\\.){0,4}${this.get_domain().source}))`+this.get_host_terminator().source)}get_fuzzy_mail_host(){return this.cache.src_fuzzy_mail_host??=new RegExp("(?:"+this.get_ipv6_mail_host().source+`|(?:(?:(?:${this.get_domain().source})[.]){1,4}${this.get_domain_root().source}))`+this.get_host_terminator().source)}get_path_extra(){return this.cache.src_path_extra??=new RegExp("")}get_fuzzy_mail_host_search(){return this.cache.mail_fuzzy_host_search??=new RegExp(`@${this.get_fuzzy_mail_host().source}`,"ig")}get_fuzzy_link_search(){return this.cache.link_fuzzy_search??=new RegExp(`(^|(?![.:/\\-_@])(?:[$+<=>^\`||]|${this.src_ZPCc}))(?:(?![$+<=>^\`||])${this.get_fuzzy_url_host_port().source}${this.get_path().source})`,"ig")}get_http_validator(){return this.cache.http_validator??=new RegExp("\\/\\/"+(this.opts.urlAuth?this.get_auth().source:"")+this.get_url_host_port().source+this.get_path().source,"iy")}get_relative_proto_validator(){return this.cache.relative_proto_validator??=new RegExp((this.opts.urlAuth?this.get_auth().source:"")+`(?:localhost|${this.get_ipv6_url_host().source}|(?:(?:${this.get_domain().source})[.]){1,10}${this.get_domain_root().source})`+this.get_port().source+this.get_host_terminator().source+this.get_path().source,"iy")}get_mail_name_validator(){return this.cache.mail_name_validator??=new RegExp(`(?:^|${this.get_text_separators().source}|"|\\(|${this.src_ZCc})(${this.get_mail_name().source})$`)}get_mailto_validator(){return this.cache.mailto_validator??=new RegExp(`${this.get_mail_name().source}@${this.get_mail_host().source}`,"iy")}get_schema_names(){return this.cache.schema_names??=new RegExp((this.opts.schema_names||[]).map(e=>this.escapeRE(e)).join("|"))}get_schema_search(){return this.cache.schema_search??=new RegExp(`(^|(?!_)(?:[><|]|${this.src_ZPCc}))(${this.get_schema_names().source})`,"ig")}get_schema_at_start(){return this.cache.schema_at_start??=new RegExp(`^${this.get_schema_search().source}`,"i")}},df={validate:(e,n,i)=>{const r=i.re.get_http_validator();r.lastIndex=n;const u=r.exec(e);return u?u[0].length:0},normalize:(e,n)=>n.normalize(e)},Xz={"http:":df,"https:":df,"ftp:":df,"//":{validate:function(e,n,i){const r=i.re.get_relative_proto_validator();r.lastIndex=n;const u=r.exec(e);return u?n>=3&&e[n-3]===":"||n>=3&&e[n-3]==="/"?0:u[0].length:0},normalize:(e,n)=>n.normalize(e)},"mailto:":{validate:function(e,n,i){const r=i.re.get_mailto_validator();r.lastIndex=n;const u=r.exec(e);return u?u[0].length:0},normalize:(e,n)=>n.normalize(e)}},Jz="a:cdefgilmnoqrstuwxz|b:abdefghijmnorstvwyz|c:acdfghiklmnoruvwxyz|d:ejkmoz|e:cegrstu|f:ijkmor|g:abdefghilmnpqrstuwy|h:kmnrtu|i:delmnoqrst|j:emop|k:eghimnprwyz|l:abcikrstuvy|m:acdeghklmnopqrstuvwxyz|n:acefgilopruz|o:m|p:aefghklmnrstwy|q:a|r:eosuw|s:abcdeghijklmnortuvxyz|t:cdfghjklmnortvwz|u:agksyz|v:aceginu|w:fs|y:et|z:amw",Wz="biz|com|edu|gov|net|org|pro|web|xxx|aero|asia|coop|info|museum|name|shop|рф";function eI(){const e=Wz.split("|");return Jz.split("|").forEach(n=>{const i=n.indexOf(":"),r=n.slice(0,i);for(const u of n.slice(i+1))e.push(r+u)}),e}var tI={fuzzyLink:!1,fuzzyEmail:!0,fuzzyIP:!1,"---":!1,tlds:eI(),urlAuth:!1,maxLength:1e4},Vx=class{schema;index;lastIndex;raw;text;url;constructor(e,n,i,r){const u=e.slice(i,r);this.schema=n.toLowerCase(),this.index=i,this.lastIndex=r,this.raw=u,this.text=u,this.url=u}},nI=class{__opts__;__schemas__;re;constructor(e={}){const{rebuilder:n,...i}=e;this.__opts__={...tI,...i},this.__schemas__={...Xz},this.re=n||new Yz,this.re.set({...this.__opts__,schema_names:Object.keys(this.__schemas__)})}add(e,n=null){if(!n)delete this.__schemas__[e];else{const i={normalize:(r,u)=>u.normalize(r),...n};this.__schemas__[e]=i}return this.re.set({...this.__opts__,schema_names:Object.keys(this.__schemas__)}),this}set(e={}){return this.__opts__={...this.__opts__,...e},this.re.set({...this.__opts__,schema_names:Object.keys(this.__schemas__)}),this}test(e){if(!e.length)return!1;let n,i;for(i=this.re.get_schema_search(),i.lastIndex=0;(n=i.exec(e))!==null;)if(this.testSchemaAt(e,n[2],i.lastIndex))return!0;if(this.__opts__.fuzzyLink&&this.__schemas__["http:"]&&(i=this.re.get_fuzzy_link_search(),i.lastIndex=0,i.exec(e)!==null))return!0;if(this.__opts__.fuzzyEmail&&this.__schemas__["mailto:"]&&e.indexOf("@")>=0){const r=this.re.get_fuzzy_mail_host_search(),u=this.re.get_mail_name_validator();for(r.lastIndex=0;(n=r.exec(e))!==null;){const h=e.slice(Math.max(0,n.index-65),n.index);if(u.test(h))return!0}}return!1}testSchemaAt(e,n,i){return this.__schemas__[n.toLowerCase()]?this.__schemas__[n.toLowerCase()].validate(e.slice(0,i+this.__opts__.maxLength),i,this):0}match(e){const n=[],i=this.re.get_schema_search();let r,u,h,f,b,v,x=!1,k=!1,S=!1,N=0;if(!e.length)return null;for(i.lastIndex=0,this.__opts__.fuzzyLink&&this.__schemas__["http:"]&&(r=this.re.get_fuzzy_link_search(),r.lastIndex=0),this.__opts__.fuzzyEmail&&this.__schemas__["mailto:"]&&(u=this.re.get_fuzzy_mail_host_search(),u.lastIndex=0,h=this.re.get_mail_name_validator());;){const _=Math.max(N-1,0);if(u&&h&&!S&&(!b||b.index<N))for(u.lastIndex<_&&(u.lastIndex=_);;){const M=u.exec(e);if(!M){S=!0,b=void 0;break}const L=h.exec(e.slice(Math.max(0,M.index-65),M.index));if(L){if(b={schema:"mailto:",index:M.index-L[1].length,lastIndex:M.index+M[0].length},b.index>=N)break;u.lastIndex<_&&(u.lastIndex=_)}}if(r&&!k&&(!f||f.index<N))for(r.lastIndex<_&&(r.lastIndex=_);;){const M=r.exec(e);if(!M){k=!0,f=void 0;break}if(f={schema:"",index:M.index+M[1].length,lastIndex:M.index+M[0].length},f.index>=N)break;r.lastIndex<_&&(r.lastIndex=_)}let z=b;(!z||f&&(f.index<z.index||f.index===z.index&&f.lastIndex>z.lastIndex))&&(z=f);let q;if(!x)for(;;){if(!v){i.lastIndex<_&&(i.lastIndex=_);const $=i.exec(e);if(!$){x=!0;break}v={schema:$[2],index:$.index+$[1].length,lastIndex:$.index+$[0].length}}if(v.index<N){v=void 0;continue}if(z&&v.index>z.index)break;const M=v;v=void 0;const L=this.testSchemaAt(e,M.schema,M.lastIndex);if(L){q={schema:M.schema,index:M.index,lastIndex:M.lastIndex+L};break}}let E=q;if((!E||b&&(b.index<E.index||b.index===E.index&&b.lastIndex>E.lastIndex))&&(E=b),(!E||f&&(f.index<E.index||f.index===E.index&&f.lastIndex>E.lastIndex))&&(E=f),!E)break;E===b?b=void 0:E===f&&(f=void 0);const P=new Vx(e,E.schema,E.index,E.lastIndex);P.schema?this.__schemas__[P.schema].normalize(P,this):this.normalize(P),n.push(P),N=E.lastIndex}return n.length?n:null}matchAtStart(e){if(!e.length)return null;const n=this.re.get_schema_at_start().exec(e);if(!n)return null;const i=this.testSchemaAt(e,n[2],n[0].length);if(!i)return null;const r=new Vx(e,n[2],n.index+n[1].length,n.index+n[0].length+i);return this.__schemas__[r.schema].normalize(r,this),r}tlds(e,n=!1){return e=Array.isArray(e)?e:[e],n?this.__opts__.tlds=this.__opts__.tlds.concat(e):this.__opts__.tlds=e,this.re.set({...this.__opts__,schema_names:Object.keys(this.__schemas__)}),this}normalize(e){e.schema||(e.url=`http://${e.url}`),e.schema==="mailto:"&&!/^mailto:/i.test(e.url)&&(e.url=`mailto:${e.url}`)}};const Nj=JSON.parse('["aaa","aarp","abb","abbott","abbvie","abc","able","abogado","abudhabi","ac","academy","accenture","accountant","accountants","aco","actor","ad","ads","adult","ae","aeg","aero","aetna","af","afl","africa","ag","agakhan","agency","ai","aig","airbus","airforce","airtel","akdn","al","alibaba","alipay","allfinanz","allstate","ally","alsace","alstom","am","amazon","americanexpress","americanfamily","amex","amfam","amica","amsterdam","analytics","android","anquan","anz","ao","aol","apartments","app","apple","aq","aquarelle","ar","arab","aramco","archi","army","arpa","art","arte","as","asda","asia","associates","at","athleta","attorney","au","auction","audi","audible","audio","auspost","author","auto","autos","aw","aws","ax","axa","az","azure","ba","baby","baidu","banamex","band","bank","bar","barcelona","barclaycard","barclays","barefoot","bargains","baseball","basketball","bauhaus","bayern","bb","bbc","bbt","bbva","bcg","bcn","bd","be","beats","beauty","beer","berlin","best","bestbuy","bet","bf","bg","bh","bharti","bi","bible","bid","bike","bing","bingo","bio","biz","bj","black","blackfriday","blockbuster","blog","bloomberg","blue","bm","bms","bmw","bn","bnpparibas","bo","boats","boehringer","bofa","bom","bond","boo","book","booking","bosch","bostik","boston","bot","boutique","box","br","bradesco","bridgestone","broadway","broker","brother","brussels","bs","bt","build","builders","business","buy","buzz","bv","bw","by","bz","bzh","ca","cab","cafe","cal","call","calvinklein","cam","camera","camp","canon","capetown","capital","capitalone","car","caravan","cards","care","career","careers","cars","casa","case","cash","casino","cat","catering","catholic","cba","cbn","cbre","cc","cd","center","ceo","cern","cf","cfa","cfd","cg","ch","chanel","channel","charity","chase","chat","cheap","chintai","christmas","chrome","church","ci","cipriani","circle","cisco","citadel","citi","citic","city","ck","cl","claims","cleaning","click","clinic","clinique","clothing","cloud","club","clubmed","cm","cn","co","coach","codes","coffee","college","cologne","com","commbank","community","company","compare","computer","comsec","condos","construction","consulting","contact","contractors","cooking","cool","coop","corsica","country","coupon","coupons","courses","cpa","cr","credit","creditcard","creditunion","cricket","crown","crs","cruise","cruises","cu","cuisinella","cv","cw","cx","cy","cymru","cyou","cz","dad","dance","data","date","dating","datsun","day","dclk","dds","de","deal","dealer","deals","degree","delivery","dell","deloitte","delta","democrat","dental","dentist","desi","design","dev","dhl","diamonds","diet","digital","direct","directory","discount","discover","dish","diy","dj","dk","dm","dnp","do","docs","doctor","dog","domains","dot","download","drive","dtv","dubai","dupont","durban","dvag","dvr","dz","earth","eat","ec","eco","edeka","edu","education","ee","eg","email","emerck","energy","engineer","engineering","enterprises","epson","equipment","er","ericsson","erni","es","esq","estate","et","eu","eurovision","eus","events","exchange","expert","exposed","express","extraspace","fage","fail","fairwinds","faith","family","fan","fans","farm","farmers","fashion","fast","fedex","feedback","ferrari","ferrero","fi","fidelity","fido","film","final","finance","financial","fire","firestone","firmdale","fish","fishing","fit","fitness","fj","fk","flickr","flights","flir","florist","flowers","fly","fm","fo","foo","food","football","ford","forex","forsale","forum","foundation","fox","fr","free","fresenius","frl","frogans","frontier","ftr","fujitsu","fun","fund","furniture","futbol","fyi","ga","gal","gallery","gallo","gallup","game","games","gap","garden","gay","gb","gbiz","gd","gdn","ge","gea","gent","genting","george","gf","gg","ggee","gh","gi","gift","gifts","gives","giving","gl","glass","gle","global","globo","gm","gmail","gmbh","gmo","gmx","gn","godaddy","gold","goldpoint","golf","goo","goodyear","goog","google","gop","got","gov","gp","gq","gr","grainger","graphics","gratis","green","gripe","grocery","group","gs","gt","gu","gucci","guge","guide","guitars","guru","gw","gy","hair","hamburg","hangout","haus","hbo","hdfc","hdfcbank","health","healthcare","help","helsinki","here","hermes","hiphop","hisamitsu","hitachi","hiv","hk","hkt","hm","hn","hockey","holdings","holiday","homedepot","homegoods","homes","homesense","honda","horse","hospital","host","hosting","hot","hotels","hotmail","house","how","hr","hsbc","ht","hu","hughes","hyatt","hyundai","ibm","icbc","ice","icu","id","ie","ieee","ifm","ikano","il","im","imamat","imdb","immo","immobilien","in","inc","industries","infiniti","info","ing","ink","institute","insurance","insure","int","international","intuit","investments","io","ipiranga","iq","ir","irish","is","ismaili","ist","istanbul","it","itau","itv","jaguar","java","jcb","je","jeep","jetzt","jewelry","jio","jll","jm","jmp","jnj","jo","jobs","joburg","jot","joy","jp","jpmorgan","jprs","juegos","juniper","kaufen","kddi","ke","kerryhotels","kerryproperties","kfh","kg","kh","ki","kia","kids","kim","kindle","kitchen","kiwi","km","kn","koeln","komatsu","kosher","kp","kpmg","kpn","kr","krd","kred","kuokgroup","kw","ky","kyoto","kz","la","lacaixa","lamborghini","lamer","land","landrover","lanxess","lasalle","lat","latino","latrobe","law","lawyer","lb","lc","lds","lease","leclerc","lefrak","legal","lego","lexus","lgbt","li","lidl","life","lifeinsurance","lifestyle","lighting","like","lilly","limited","limo","lincoln","link","live","living","lk","llc","llp","loan","loans","locker","locus","lol","london","lotte","lotto","love","lpl","lplfinancial","lr","ls","lt","ltd","ltda","lu","lundbeck","luxe","luxury","lv","ly","ma","madrid","maif","maison","makeup","man","management","mango","map","market","marketing","markets","marriott","marshalls","mattel","mba","mc","mckinsey","md","me","med","media","meet","melbourne","meme","memorial","men","menu","merckmsd","mg","mh","miami","microsoft","mil","mini","mint","mit","mitsubishi","mk","ml","mlb","mls","mm","mma","mn","mo","mobi","mobile","moda","moe","moi","mom","monash","money","monster","mormon","mortgage","moscow","moto","motorcycles","mov","movie","mp","mq","mr","ms","msd","mt","mtn","mtr","mu","museum","music","mv","mw","mx","my","mz","na","nab","nagoya","name","navy","nba","nc","ne","nec","net","netbank","netflix","network","neustar","new","news","next","nextdirect","nexus","nf","nfl","ng","ngo","nhk","ni","nico","nike","nikon","ninja","nissan","nissay","nl","no","nokia","norton","now","nowruz","nowtv","np","nr","nra","nrw","ntt","nu","nyc","nz","obi","observer","office","okinawa","olayan","olayangroup","ollo","om","omega","one","ong","onl","online","ooo","open","oracle","orange","org","organic","origins","osaka","otsuka","ott","ovh","pa","page","panasonic","paris","pars","partners","parts","party","pay","pccw","pe","pet","pf","pfizer","pg","ph","pharmacy","phd","philips","phone","photo","photography","photos","physio","pics","pictet","pictures","pid","pin","ping","pink","pioneer","pizza","pk","pl","place","play","playstation","plumbing","plus","pm","pn","pnc","pohl","poker","politie","porn","post","pr","praxi","press","prime","pro","prod","productions","prof","progressive","promo","properties","property","protection","pru","prudential","ps","pt","pub","pw","pwc","py","qa","qpon","quebec","quest","racing","radio","re","read","realestate","realtor","realty","recipes","red","redumbrella","rehab","reise","reisen","reit","reliance","ren","rent","rentals","repair","report","republican","rest","restaurant","review","reviews","rexroth","rich","richardli","ricoh","ril","rio","rip","ro","rocks","rodeo","rogers","room","rs","rsvp","ru","rugby","ruhr","run","rw","rwe","ryukyu","sa","saarland","safe","safety","sakura","sale","salon","samsclub","samsung","sandvik","sandvikcoromant","sanofi","sap","sarl","sas","save","saxo","sb","sbi","sbs","sc","scb","schaeffler","schmidt","scholarships","school","schule","schwarz","science","scot","sd","se","search","seat","secure","security","seek","select","sener","services","seven","sew","sex","sexy","sfr","sg","sh","shangrila","sharp","shell","shia","shiksha","shoes","shop","shopping","shouji","show","si","silk","sina","singles","site","sj","sk","ski","skin","sky","skype","sl","sling","sm","smart","smile","sn","sncf","so","soccer","social","softbank","software","sohu","solar","solutions","song","sony","soy","spa","space","sport","spot","sr","srl","ss","st","stada","staples","star","statebank","statefarm","stc","stcgroup","stockholm","storage","store","stream","studio","study","style","su","sucks","supplies","supply","support","surf","surgery","suzuki","sv","swatch","swiss","sx","sy","sydney","systems","sz","tab","taipei","talk","taobao","target","tatamotors","tatar","tattoo","tax","taxi","tc","tci","td","tdk","team","tech","technology","tel","temasek","tennis","teva","tf","tg","th","thd","theater","theatre","tiaa","tickets","tienda","tips","tires","tirol","tj","tjmaxx","tjx","tk","tkmaxx","tl","tm","tmall","tn","to","today","tokyo","tools","top","toray","toshiba","total","tours","town","toyota","toys","tr","trade","trading","training","travel","travelers","travelersinsurance","trust","trv","tt","tube","tui","tunes","tushu","tv","tvs","tw","tz","ua","ubank","ubs","ug","uk","unicom","university","uno","uol","ups","us","uy","uz","va","vacations","vana","vanguard","vc","ve","vegas","ventures","verisign","vermögensberater","vermögensberatung","versicherung","vet","vg","vi","viajes","video","vig","viking","villas","vin","vip","virgin","visa","vision","viva","vivo","vlaanderen","vn","vodka","volvo","vote","voting","voto","voyage","vu","wales","walmart","walter","wang","wanggou","watch","watches","weather","weatherchannel","webcam","weber","website","wed","wedding","weibo","weir","wf","whoswho","wien","wiki","williamhill","win","windows","wine","winners","wme","wolterskluwer","woodside","work","works","world","wow","ws","wtc","wtf","xbox","xerox","xihuan","xin","xxx","xyz","yachts","yahoo","yamaxun","yandex","ye","yodobashi","yoga","yokohama","you","youtube","yt","yun","za","zappos","zara","zero","zip","zm","zone","zuerich","zw","ελ","ευ","бг","бел","дети","ею","католик","ком","мкд","мон","москва","онлайн","орг","рус","рф","сайт","срб","укр","қаз","հայ","ישראל","קום","ابوظبي","ارامكو","الاردن","البحرين","الجزائر","السعودية","العليان","المغرب","امارات","ایران","بارت","بازار","بيتك","بھارت","تونس","سودان","سورية","شبكة","عراق","عرب","عمان","فلسطين","قطر","كاثوليك","كوم","مصر","مليسيا","موريتانيا","موقع","همراه","پاکستان","ڀارت","कॉम","नेट","भारत","भारतम्","भारोत","संगठन","বাংলা","ভারত","ভাৰত","ਭਾਰਤ","ભારત","ଭାରତ","இந்தியா","இலங்கை","சிங்கப்பூர்","భారత్","ಭಾರತ","ഭാരതം","ලංකා","คอม","ไทย","ລາວ","გე","みんな","アマゾン","クラウド","グーグル","コム","ストア","セール","ファッション","ポイント","世界","中信","中国","中國","中文网","亚马逊","企业","佛山","信息","健康","八卦","公司","公益","台湾","台灣","商城","商店","商标","嘉里","嘉里大酒店","在线","大拿","天主教","娱乐","家電","广东","微博","慈善","我爱你","手机","招聘","政务","政府","新加坡","新闻","时尚","書籍","机构","淡马锡","游戏","澳門","点看","移动","组织机构","网址","网店","网站","网络","联通","谷歌","购物","通販","集团","電訊盈科","飞利浦","食品","餐厅","香格里拉","香港","닷넷","닷컴","삼성","한국"]');function aI(e,n){return e.endsWith(n)?e.length===n.length||e[e.length-n.length-1]===".":!1}function iI(e,n){const i=e.length-n.length-2,r=e.lastIndexOf(".",i);return r===-1?e:e.slice(r+1)}function sI(e,n,i){if(i.validHosts!==null){const u=i.validHosts;for(const h of u)if(aI(n,h))return h}let r=0;if(n.startsWith("."))for(;r<n.length&&n[r]===".";)r+=1;return e.length===n.length-r?null:iI(n,e)}function oI(e,n){return e.slice(0,-n.length-1)}const mf=/[\t\n\r]/g;let tg=!1;function $x(e){return e>=97&&e<=122||e>=48&&e<=57||e>127||e>=65&&e<=90||e===45||e===95}function Kx(e,n,i){const r=i-n,u=e.charCodeAt(n)|32;if(r===2)return u===119&&(e.charCodeAt(n+1)|32)===115?1:0;if(r===3){const h=e.charCodeAt(n+1)|32,f=e.charCodeAt(n+2)|32;return u===119&&h===115&&f===115||u===102&&h===116&&f===112?1:0}else if(r===4){const h=e.charCodeAt(n+1)|32,f=e.charCodeAt(n+2)|32,b=e.charCodeAt(n+3)|32;return u===104&&h===116&&f===116&&b===112?1:u===102&&h===105&&f===108&&b===101?2:0}else if(r===5)return u===104&&(e.charCodeAt(n+1)|32)===116&&(e.charCodeAt(n+2)|32)===116&&(e.charCodeAt(n+3)|32)===112&&(e.charCodeAt(n+4)|32)===115?1:0;return 0}function vc(e,n,i=!1){let r=0,u=e.length,h=!1,f=!1;if(tg=!1,!n){if(e.startsWith("data:"))return null;for(;r<e.length&&e.charCodeAt(r)<=32;)r+=1;for(;u>r+1&&e.charCodeAt(u-1)<=32;)u-=1;if(e.charCodeAt(r)===47&&e.charCodeAt(r+1)===47)r+=2;else{const E=e.indexOf(":/",r);if(E!==-1){const P=Kx(e,r,E);if(P===1)for(f=!0,r=E+2;e.charCodeAt(r)===47||e.charCodeAt(r)===92;)r+=1;else if(P===2){f=!0,r=E+1;let M=0;for(;(e.charCodeAt(r)===47||e.charCodeAt(r)===92)&&M<2;)r+=1,M+=1;if(M<2)return null}else{for(let M=r;M<E;M+=1){const L=e.charCodeAt(M)|32;if(!(L>=97&&L<=122||L>=48&&L<=57||L===46||L===45||L===43)){const $=e.charCodeAt(M);return $===9||$===10||$===13?vc(e.replace(mf,""),n,i):null}}if(e.charCodeAt(E+2)===47)r=E+3;else return null}}else if(e.charCodeAt(r)!==91){let P=-1;for(let M=r;M<u;M+=1){const L=e.charCodeAt(M);if(L===9||L===10||L===13)return vc(e.replace(mf,""),n,i);if(L===58){P=M;break}if(L===47||L===92||L===63||L===35)break}if(P!==-1){let M=!1;for(let L=P+1;L<u;L+=1){const $=e.charCodeAt(L);if($===47||$===92||$===63||$===35)break;if($===64){M=!0;break}}if(!M){let L=!0,$=P+1;for(;$<u;$+=1){const H=e.charCodeAt($);if(H===47||H===92||H===63||H===35)break;if(H<48||H>57){L=!1;break}}if($===P+1&&(L=!1),!L){const H=Kx(e,r,P);if(H===0){let J=!1;for(let V=P+1;V<u;V+=1){const Q=e.charCodeAt(V);if(Q===47||Q===92||Q===63||Q===35)break;if(Q===58){J=!0;break}}if(!J)return null}else if(f=!0,r=P+1,H===2){let J=0;for(;(e.charCodeAt(r)===47||e.charCodeAt(r)===92)&&J<2;)r+=1,J+=1;if(J<2)return null}else for(;e.charCodeAt(r)===47||e.charCodeAt(r)===92;)r+=1}}}}}let v=-1,x=-1,k=-1,S=-1,N=!1,_=i,z=r-1,q=-1;if(i&&r<u){const E=e.charCodeAt(r);(!($x(E)||E===46||E===95)||E===45)&&(_=!1)}for(let E=r;E<u;E+=1){const P=e.charCodeAt(E);if(P<64)if(P===47||P===35||P===63){u=E;break}else P===58?(S===-1&&(S=E),k=E):P===9||P===10||P===13?N=!0:i&&(P===46?((E-z>64||q===46||q===45)&&(_=!1),z=E):(P<48||P>57)&&(P!==45||q===46)&&(_=!1));else if(f&&P===92){u=E;break}else P===64?(v=E,S=-1):P===93?x=E:P>=65&&P<=90?h=!0:i&&!$x(P)&&(_=!1);i&&(q=P)}if(N)return vc(e.replace(mf,""),n,i);if(v!==-1&&v>=r&&v<u&&(r=v+1),e.charCodeAt(r)===91)return x!==-1?e.slice(r+1,x).toLowerCase():null;if(k!==-1&&k>r&&k<u&&S===k&&(u=k),r>=u)return null;i&&_&&v===-1&&k===-1&&x===-1&&e.charCodeAt(u-1)!==46&&u-r<=255&&u-z-1<=63&&q!==45&&(tg=!0)}for(;u>r+1&&e.charCodeAt(u-1)===46;)u-=1;const b=r!==0||u!==e.length?e.slice(r,u):e;return h?b.toLowerCase():b}function rI(e){if(e.length<7||e.length>15)return!1;let n=0;for(let i=0;i<e.length;i+=1){const r=e.charCodeAt(i);if(r===46)n+=1;else if(r<48||r>57)return!1}return n===3&&e.charCodeAt(0)!==46&&e.charCodeAt(e.length-1)!==46}function lI(e){if(e.length<3)return!1;let n=e.startsWith("[")?1:0,i=e.length;if(e[i-1]==="]"&&(i-=1),i-n>39)return!1;let r=!1;for(;n<i;n+=1){const u=e.charCodeAt(n);if(u===58)r=!0;else if(!(u>=48&&u<=57||u>=97&&u<=102||u>=65&&u<=70))return!1}return r}function cI(e){return lI(e)||rI(e)}const uI=["test","localhost","invalid","example","example.com","example.net","example.org","local","onion","alt","home.arpa","ipv4only.arpa","resolver.arpa","service.arpa","6tisch.arpa","eap.arpa"];function dI(e){for(const n of uI)if(e.endsWith(n)&&(e.length===n.length||e.charCodeAt(e.length-n.length-1)===46))return!0;return!1}function Gx(e){return e>=97&&e<=122||e>=48&&e<=57||e>127}function Hx(e){if(e.length>255||e.length===0||!Gx(e.charCodeAt(0))&&e.charCodeAt(0)!==46&&e.charCodeAt(0)!==95)return!1;let n=-1,i=-1;const r=e.length;for(let u=0;u<r;u+=1){const h=e.charCodeAt(u);if(h===46){if(u-n>64||i===46||i===45)return!1;n=u}else if(!(Gx(h)||h===45||h===95)||h===45&&i===46)return!1;i=h}return r-n-1<=63&&i!==45}function Cj({allowIcannDomains:e=!0,allowPrivateDomains:n=!1,detectIp:i=!0,detectSpecialUse:r=!1,extractHostname:u=!0,mixedInputs:h=!0,validHosts:f=null,validateHostname:b=!0}){return{allowIcannDomains:e,allowPrivateDomains:n,detectIp:i,detectSpecialUse:r,extractHostname:u,mixedInputs:h,validHosts:f,validateHostname:b}}const mI=Cj({});function pI(e){return e===void 0?mI:Cj(e)}function hI(e,n){return n.length===e.length?"":e.slice(0,-n.length-1)}function fI(){return{domain:null,domainWithoutSuffix:null,hostname:null,isIcann:null,isIp:null,isPrivate:null,isSpecialUse:null,publicSuffix:null,subdomain:null}}function _j(e){e.domain=null,e.domainWithoutSuffix=null,e.hostname=null,e.isIcann=null,e.isIp=null,e.isPrivate=null,e.isSpecialUse=null,e.publicSuffix=null,e.subdomain=null}function Tj(e,n,i,r,u){const h=pI(r);if(typeof e!="string")return u;let f=!1;return h.extractHostname?h.mixedInputs?(f=Hx(e),u.hostname=vc(e,f,h.validateHostname)):u.hostname=vc(e,!1,h.validateHostname):u.hostname=e,h.detectIp&&u.hostname!==null&&(u.isIp=cI(u.hostname),u.isIp)?u:h.validateHostname&&h.extractHostname&&u.hostname!==null&&!(f&&u.hostname===e)&&!tg&&!Hx(u.hostname)?(u.hostname=null,u):(n===0||u.hostname===null||(n===5&&h.detectSpecialUse&&(u.isSpecialUse=dI(u.hostname)),i(u.hostname,h,u),n===2||u.publicSuffix===null)||(u.domain=sI(u.publicSuffix,u.hostname,h),n===3||u.domain===null)||(u.subdomain=hI(u.hostname,u.domain),n===4)||(u.domainWithoutSuffix=oI(u.domain,u.publicSuffix)),u)}function gI(e,n,i){if(!n.allowPrivateDomains&&e.length>3){const r=e.length-1,u=e.charCodeAt(r),h=e.charCodeAt(r-1),f=e.charCodeAt(r-2),b=e.charCodeAt(r-3);if(u===109&&h===111&&f===99&&b===46)return i.isIcann=!0,i.isPrivate=!1,i.publicSuffix="com",!0;if(u===103&&h===114&&f===111&&b===46)return i.isIcann=!0,i.isPrivate=!1,i.publicSuffix="org",!0;if(u===117&&h===100&&f===101&&b===46)return i.isIcann=!0,i.isPrivate=!1,i.publicSuffix="edu",!0;if(u===118&&h===111&&f===103&&b===46)return i.isIcann=!0,i.isPrivate=!1,i.publicSuffix="gov",!0;if(u===116&&h===101&&f===110&&b===46)return i.isIcann=!0,i.isPrivate=!1,i.publicSuffix="net",!0;if(u===101&&h===100&&f===46)return i.isIcann=!0,i.isPrivate=!1,i.publicSuffix="de",!0}return!1}const wo=new Uint8Array([1,2,1,1,1,1,1,1,1,1,1,1,0,2,2,2,0,2,2,0,2,0,0,1,0,0,2,1,1,1,1,1,1,0,0,0,1,0,1,1,1,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,1,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,0,1,0,1,1,0,1,1,0,0,0,0,0,0,1,1,1,0,2,0,0,0,0,0,0,0,2,0,2,2,0,0,2,2,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,0,1,1,0,2,1,1,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,2,0,0,0,0,2,0,0,0,0,0,0,0,0,0,2,0,2,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,2,2,1,1,1,1,1,1,1,1,1,0,1,1,0,0,0,0,1,0,2,2,0,0,0,2,0,1,1,0,2,0,2,2,0,1,1,1,1,1,1,1,1,0,1,1,1,0,1,1,1,1,0,0,0,0,1,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,2,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,2,2,0,2,2,0,0,0,0,0,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,0,2,0,2,2,2,2,0,0,0,0,2,0,0,0,0,0,0,2,2,0,0,0,2,2,1,1,1,1,2,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,2,2,0,0,2,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,2,2,1,2,1,1,1,2,1,1,1,1,1,0,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,0,1,1,1,1,1,2,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,0,0,0,0,0]),$d=new Uint16Array([0,0,0,10,11,18,106,111,117,124,130,136,145,146,147,148,149,150,151,153,154,155,157,159,226,239,241,242,243,258,265,266,269,270,271,274,276,295,296,298,307,312,313,331,332,335,337,338,340,374,375,377,380,381,385,387,391,394,426,429,442,443,451,452,454,464,478,479,480,489,490,527,532,548,568,574,615,616,643,670,671,819,825,828,829,830,835,840,849,871,872,873,874,875,876,877,895,897,898,901,903,904,906,908,923,938,943,944,946,947,948,949,950,952,955,960,961,962,964,965,968,971,972,973,986,988,1e3,1011,1019,1021,1061,1064,1068,1069,1071,1074,1085,1087,1097,1099,1105,1107,1108,1110,1113,1114,1115,1167,1169,1171,1191,1192,1193,1194,1196,1207,1238,1249,1261,1270,1277,1282,1295,1306,1319,1320,1331,1365,1366,1367,1382,1397,1469,1470,1472,1473,1507,1508,1509,1512,1516,1518,1547,1548,1556,1557,1558,1560,1562,1563,1565,1566,1567,1578,1579,1580,1581,1582,1583,1584,1585,1586,1587,1588,1589,1590,1591,1592,1594,1595,1596,1598,2053,2056,2057,2059,2066,2073,2083,2087,2098,2099,2100,2112,2113,2115,2117,2118,2125,2126,2128,2129,2131,2132,2133,2134,2135,2209,2211,2232,2233,2234,2236,2262,2263,2314,2315,2317,2324,2330,2340,2350,2403,2404,2405,2415,2429,2430,2433,2440,2441,2449,2450,2451,2452,2453,2464,2465,2466,2468,2469,2470,2471,2473,2483,2495,2501,2533,2537,2539,2540,2542,2543,2554,2555,2557,2565,2572,2578,2583,2584,2590,2593,2599,2606,2607,2614,2622,2623,2624,2662,2668,2683,2684,2689,2707,2738,2756,2758,2761,2769,2771,2778,2830,2854,2855,2856,2857,2858,2859,2860,2861,2868,2869,2870,2871,2872,2873,2875,2876,2880,2964,2977,2978,3414,3418,3432,3484,3512,3534,3592,3614,3629,3692,3743,3781,3817,3842,3984,4030,4081,4100,4134,4149,4169,4199,4230,4253,4284,4314,4346,4373,4448,4470,4508,4518,4552,4571,4597,4639,4689,4715,4784,4785,4787,4810,4833,4869,4900,4917,4974,4987,5011,5040,5042,5076,5092,5120,5425,5434,5443,5450,5467,5471,5477,5516,5518,5525,5532,5541,5548,5549,5560,5563,5578,5579,5588,5589,5598,5607,5613,5615,5616,5617,5653,5654,5656,5664,5671,5684,5688,5690,5691,5697,5704,5718,5728,5733,5741,5749,5755,5756,5760,5762,5763,5775,5776,5777,5778,5780,5781,5784,5786,5789,5793,5794,5800,5801,5802,5804,5806,5808,5809,5810,5813,5815,5818,5819,5821,6019,6026,6027,6037,6042,6059,6073,6082,6083,6084,6088,6089,6091,6093,6099,6100,6103,6104,6106,6107,6108,7008,7009,7013,7031,7040,7043,7050,7051,7053,7054,7055,7057,7109,7110,7113,7114,7231,7232,7243,7254,7261,7264,7273,7274,7275,7290,7345,7536,7538,7539,7541,7546,7559,7574,7581,7590,7593,7596,7603,7611,7615,7616,7617,7631,7635,7644,7645,7646,7650,7685,7686,7703,7710,7718,7719,7724,7732,7776,7777,7783,7786,7797,7802,7803,7806,7839,7840,7846,7853,7854,7863,7872,7887,7891,7943,7944,7949,7951,7954,7956,7957,7958,7967,7981,7989,8003,8015,8016,8018,8020,8042,8053,8059,8060,8072,8084,8171,8183,8185,8194,8197,8203,8228,8231,8232,8233,8235,8238,8241,8252,8254,8256,8284,8358,8365,8369,8370,8379,8401,8402,8407,8408,8487,8489,8491,8500,8504,8510,8516,8522,8532,8537,8538,8556,8567,8572,8577,8587,8593,8597,8603,8609,10217,10218,10219,10226,10228]),Kd=new Uint8Array([3,3,3,3,3,3,3,3,5,8,8,2,2,3,3,3,3,3,8,5,5,5,5,5,3,3,5,5,9,12,19,8,19,8,11,9,9,8,7,7,6,8,9,16,10,7,7,11,8,6,6,9,7,11,7,14,4,4,4,4,4,4,10,7,6,6,6,6,10,10,6,10,10,22,11,9,10,10,10,9,10,8,7,7,7,8,21,13,11,11,9,10,9,13,10,8,8,9,12,9,7,10,7,7,13,7,3,3,3,3,3,2,3,3,3,3,3,3,3,3,3,3,8,6,3,3,3,3,3,3,2,5,3,3,3,7,2,2,2,2,2,2,3,3,3,1,1,7,8,5,2,2,7,2,2,1,4,1,11,9,9,5,5,8,5,5,5,5,5,5,5,3,3,3,3,3,5,11,9,9,13,7,14,7,6,6,6,7,6,6,6,6,6,10,7,11,9,4,4,4,4,4,4,6,6,6,6,6,8,7,10,9,9,9,8,9,8,10,6,9,9,8,10,10,7,8,1,9,10,12,12,12,10,9,9,10,10,9,9,1,1,5,3,3,3,3,3,3,3,3,3,3,3,3,6,6,6,4,3,3,3,7,4,4,4,3,3,6,7,3,4,1,2,2,2,6,1,2,2,2,2,2,12,5,3,8,9,13,4,4,13,9,9,11,7,3,12,9,2,2,2,3,3,3,3,3,8,2,2,3,3,3,3,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,3,4,4,3,7,10,15,7,15,15,20,15,9,10,10,12,14,14,14,12,12,12,12,12,14,14,10,10,10,10,14,9,9,9,10,14,14,14,13,13,9,9,9,9,9,9,7,8,6,8,8,6,8,13,8,8,6,13,8,11,13,8,6,13,8,6,9,10,10,12,14,14,14,12,12,12,12,14,14,10,10,10,10,9,9,9,10,14,14,11,13,13,9,9,9,9,9,9,2,6,9,2,2,3,3,3,3,3,3,3,3,3,4,4,4,2,3,3,3,3,3,3,7,7,2,3,2,2,5,3,3,3,3,3,3,4,2,2,2,2,2,2,3,3,3,3,3,3,3,4,5,7,2,2,12,8,10,8,10,7,18,4,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,2,2,3,3,3,5,5,3,8,8,6,8,6,6,4,6,7,7,7,10,11,2,5,5,3,3,3,3,3,3,5,5,6,11,10,7,7,7,4,4,4,2,3,3,3,3,3,2,7,5,5,3,3,3,3,3,3,3,3,7,7,7,11,7,6,9,6,6,8,10,8,6,8,13,4,4,4,4,4,10,8,11,8,8,8,10,10,7,10,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,2,2,2,2,2,2,5,5,5,5,5,5,5,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,7,10,13,7,8,7,11,8,8,6,9,8,8,6,6,6,8,8,6,6,6,6,6,9,7,6,4,4,4,4,4,4,4,6,6,6,9,7,8,10,8,8,2,3,3,3,3,3,2,8,9,9,2,2,2,3,3,3,2,3,3,3,9,2,2,3,3,3,3,3,3,5,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,12,5,5,3,5,4,2,3,2,4,3,9,2,2,2,2,2,5,5,3,8,8,13,6,10,9,4,7,9,11,2,3,7,3,3,4,1,3,4,2,9,3,3,12,5,3,7,10,10,7,4,4,6,14,7,9,7,13,2,2,2,2,2,2,3,3,3,3,3,8,15,4,4,2,3,3,3,7,4,9,9,2,3,3,3,5,3,2,2,7,2,7,6,6,7,2,4,2,2,2,2,2,2,8,8,8,9,5,2,3,3,3,3,3,3,10,7,4,4,4,4,3,4,2,3,3,3,3,3,10,7,4,4,4,4,2,3,3,3,3,10,7,4,4,4,4,3,9,6,6,6,9,13,9,2,2,2,8,7,9,5,3,3,3,5,5,12,9,10,7,8,7,6,8,6,11,12,7,9,10,4,4,7,8,11,6,7,9,8,7,10,8,9,15,7,8,5,4,7,2,3,3,3,2,14,10,2,14,10,2,14,3,9,13,13,10,14,16,17,11,2,14,2,14,3,9,13,10,14,16,17,11,14,10,14,2,7,3,10,7,14,10,2,14,10,9,9,17,6,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,3,3,3,10,10,10,12,9,4,10,11,8,8,8,7,9,5,3,3,3,3,3,3,3,3,5,8,4,4,4,4,4,4,6,16,3,3,14,3,14,2,14,9,13,10,10,14,16,17,11,6,9,10,10,12,14,14,14,12,12,12,12,14,14,10,10,10,10,14,9,9,9,10,14,14,14,9,9,9,9,9,9,2,14,9,13,10,10,14,16,17,11,6,2,14,9,17,13,10,10,14,16,17,11,6,2,14,9,13,10,14,16,17,11,2,14,9,13,10,16,11,2,14,10,19,7,2,14,9,13,10,19,10,7,14,16,17,11,6,2,14,9,13,10,19,7,14,16,17,11,2,14,9,13,17,13,10,10,14,16,17,11,6,3,2,14,9,13,10,10,14,16,17,11,6,9,10,12,14,14,14,12,12,12,12,12,14,14,14,10,10,10,14,9,9,9,9,14,14,14,13,13,14,9,9,9,9,9,9,4,11,2,14,9,13,17,13,10,19,10,7,14,16,17,11,6,2,14,9,13,17,13,10,19,10,7,14,16,17,11,6,2,9,10,10,7,17,3,3,12,12,16,15,15,12,14,14,14,20,20,13,12,12,12,12,12,12,20,25,14,14,12,12,10,10,10,10,9,9,9,25,4,9,17,10,7,14,16,21,13,13,14,20,14,13,17,24,9,12,13,25,13,21,20,17,9,9,9,9,9,9,12,17,4,4,9,9,9,10,10,12,14,14,14,12,12,12,12,12,14,14,10,10,10,10,14,9,9,9,10,14,14,14,13,13,9,9,9,9,9,9,1,8,7,11,11,1,3,3,3,4,8,9,10,14,14,12,12,12,12,14,14,10,10,10,10,14,9,9,9,10,14,14,14,13,13,9,9,9,9,9,7,4,4,4,4,4,4,4,4,4,4,9,12,6,14,4,12,7,2,2,1,2,7,6,4,4,4,6,8,8,7,4,5,6,3,3,3,3,4,16,8,3,5,4,3,3,3,5,2,2,8,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,11,12,7,7,13,9,10,12,8,9,7,8,5,12,10,13,14,5,5,5,13,5,5,5,3,3,3,5,16,5,5,5,5,5,7,12,14,8,12,8,10,12,9,11,7,9,7,10,7,13,9,7,12,8,17,7,7,16,10,13,13,8,10,10,14,17,7,16,16,15,8,10,10,12,17,7,17,14,7,10,17,8,7,7,7,8,15,15,7,14,10,10,10,11,11,7,7,13,8,10,7,16,7,8,7,14,17,12,10,11,21,8,9,7,13,9,8,13,6,12,7,6,13,10,10,10,8,18,9,17,13,10,12,6,13,6,11,8,13,10,13,18,13,11,13,8,16,7,10,8,16,12,10,8,8,6,14,11,8,15,8,8,7,7,12,7,8,9,14,15,8,9,10,9,15,7,8,8,12,13,9,10,15,15,13,7,10,10,20,7,6,9,6,6,14,11,14,11,12,9,10,16,16,12,7,11,28,8,11,10,7,21,8,7,9,4,4,4,17,7,8,6,9,6,6,13,6,6,6,6,18,20,14,8,11,12,9,10,13,15,19,8,9,12,7,10,16,12,9,9,9,14,12,11,9,12,11,18,9,9,9,10,7,7,16,8,9,7,13,12,10,18,7,8,11,7,7,8,8,13,7,7,7,11,15,13,11,7,8,15,11,7,8,18,14,13,18,15,10,12,12,9,7,11,11,8,7,10,8,14,12,10,18,7,10,9,7,8,13,10,14,9,10,8,8,23,7,7,11,12,12,17,7,7,11,11,17,16,16,7,8,11,14,14,8,10,7,7,16,16,13,9,11,9,15,15,11,11,7,7,14,7,9,7,7,16,10,13,10,11,14,7,11,10,11,7,11,10,11,15,11,15,10,12,17,10,14,13,11,11,12,13,10,7,13,10,16,12,21,9,10,10,7,11,14,17,7,7,8,11,12,8,15,14,14,8,17,12,10,10,7,9,11,7,10,7,11,18,7,11,7,12,11,8,8,14,12,7,8,15,3,7,7,5,2,9,2,2,2,2,2,2,2,3,3,3,3,3,3,3,2,5,3,3,3,3,3,3,4,4,3,3,3,3,3,3,5,11,6,4,7,10,7,7,11,1,10,2,2,3,3,3,3,3,3,3,3,5,7,3,5,6,3,3,5,2,2,5,3,4,13,11,3,3,6,3,5,14,2,2,3,8,2,2,12,5,18,5,3,3,3,16,5,5,5,10,7,13,12,13,9,12,14,19,9,9,21,9,9,10,6,9,6,15,10,6,12,8,6,10,15,4,4,6,6,9,9,12,16,14,23,7,7,7,14,9,7,7,11,14,10,7,10,10,10,12,6,11,10,13,11,15,11,7,12,10,3,7,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,4,3,7,2,5,5,3,3,5,5,5,5,7,6,6,6,4,4,4,4,4,4,6,6,6,6,6,7,10,2,2,2,5,5,5,5,3,3,3,3,3,5,5,10,9,11,8,7,12,8,9,7,6,13,11,6,13,7,9,9,4,4,4,4,4,4,6,10,7,8,13,8,8,9,14,8,10,7,7,7,9,6,9,7,2,12,5,3,3,13,4,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,3,3,3,3,3,3,3,3,4,5,5,5,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,8,4,4,4,4,4,4,4,4,4,4,4,4,9,3,3,3,3,3,3,3,3,3,3,4,2,2,2,5,3,3,3,3,3,3,3,3,4,4,1,7,6,4,12,3,3,3,3,3,8,7,3,3,3,3,3,3,4,4,11,14,2,8,3,5,5,8,10,8,6,4,7,17,7,4,5,2,6,3,5,2,4,4,2,12,5,5,3,15,13,10,8,11,2,2,3,3,3,3,3,3,3,3,4,4,5,3,3,3,3,4,18,2,12,5,3,3,3,3,3,5,16,8,8,9,6,6,4,4,4,4,31,6,6,10,11,21,10,9,7,10,7,7,2,4,4,4,4,6,5,3,3,4,3,3,3,3,3,3,3,3,3,6,6,6,2,2,2,5,3,3,3,7,7,4,3,3,3,3,3,3,3,3,3,3,3,3,3,2,3,3,3,3,8,2,3,3,3,3,3,5,9,11,3,3,3,3,4,4,3,3,3,3,3,5,10,9,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,2,3,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,11,10,10,10,10,10,11,10,11,10,11,10,9,9,11,3,3,3,3,3,3,5,3,7,8,8,7,6,6,11,4,4,4,7,8,9,9,2,3,7,4,4,2,5,5,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,2,2,5,5,5,5,5,3,3,5,5,5,7,7,6,6,6,4,4,4,4,4,4,4,4,4,4,6,6,8,8,1,2,2,2,2,2,2,3,3,3,3,3,3,3,4,4,6,9,12,3,7,10,7,2,2,3,3,3,3,3,4,3,3,2,2,2,2,3,3,3,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,5,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,5,5,8,8,6,6,8,6,7,4,4,4,4,4,4,6,7,5,5,20,19,8,10,9,7,10,6,8,11,6,6,6,6,13,12,8,6,7,14,11,9,2,5,3,3,6,2,3,2,2,2,2,2,2,2,5,4,3,7,6,4,7,4,3,6,4,7,2,7,7,7,5,5,5,5,3,3,3,3,3,3,3,3,3,3,5,9,10,10,8,11,7,8,20,7,8,9,8,12,6,6,6,8,9,8,12,6,6,8,13,10,12,6,6,7,7,8,9,6,4,4,4,4,4,4,4,10,6,6,6,7,14,11,10,7,8,10,8,11,14,11,11,9,7,9,8,11,9,17,10,9,2,2,2,9,3,3,3,3,15,14,9,5,5,2,8,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,15,12,22,19,17,18,18,19,21,7,16,16,5,5,5,5,5,5,5,5,5,5,5,7,5,5,5,5,5,5,5,5,5,5,5,9,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,5,7,16,11,11,7,7,7,7,17,7,8,12,15,9,19,7,19,8,16,21,11,12,19,14,22,7,7,7,7,7,7,7,7,7,7,7,16,16,19,24,12,7,14,7,12,7,8,10,10,13,7,12,12,7,7,10,18,15,12,16,7,14,12,17,10,16,17,12,17,25,7,7,7,13,6,9,6,9,18,6,6,11,20,10,6,6,6,6,6,6,6,17,6,6,6,15,6,6,6,6,6,8,14,11,12,15,13,19,17,21,7,18,8,13,13,8,12,8,6,6,13,6,15,15,16,6,6,16,6,6,6,14,6,18,6,6,6,17,18,9,13,15,8,19,8,15,15,18,14,16,4,4,4,4,4,4,4,4,4,4,4,4,6,11,10,11,6,21,23,12,17,12,11,14,13,22,15,15,11,12,14,12,7,12,8,14,12,18,10,8,16,19,17,12,14,15,8,9,19,17,12,13,13,15,18,13,23,24,23,21,17,24,8,21,8,14,14,16,14,8,8,15,20,8,19,21,9,8,13,12,13,15,11,8,11,9,9,8,11,8,21,14,21,15,15,13,7,19,7,7,7,7,7,7,16,12,17,18,7,7,11,11,7,9,9,2,2,3,3,2,2,2,3,3,3,3,3,3,3,3,3,3,4,5,5,5,5,5,5,5,5,3,3,10,10,7,9,7,7,7,6,8,6,6,6,6,6,6,6,7,6,8,6,6,9,7,7,7,4,4,4,4,4,4,4,4,8,9,8,7,8,7,8,10,7,5,5,5,5,5,5,3,9,7,7,8,6,6,6,6,6,6,6,6,9,6,6,9,11,13,7,8,9,9,5,5,5,7,8,6,6,6,6,6,6,6,7,8,9,7,10,9,10,7,8,5,5,5,5,5,5,7,7,9,8,7,7,6,6,6,6,6,6,10,6,6,6,6,6,6,6,6,6,6,6,9,10,4,4,4,4,8,7,7,10,10,9,8,8,15,9,8,8,8,8,8,9,10,9,10,7,8,13,5,5,5,5,5,3,3,7,7,8,6,6,6,4,4,11,9,7,8,9,10,7,5,5,5,5,5,3,3,7,6,6,13,7,9,8,7,5,5,5,5,5,5,5,5,3,3,3,3,7,8,7,8,13,6,6,6,6,6,6,6,6,6,6,6,6,6,6,8,8,6,6,6,6,7,6,7,6,6,9,7,4,4,4,4,4,4,4,7,8,7,8,9,8,8,8,7,10,7,8,5,5,5,5,5,5,5,5,3,7,7,7,7,9,7,10,9,6,6,6,6,6,8,8,6,6,6,7,6,6,6,9,9,4,4,13,7,10,9,9,12,7,8,8,10,8,8,8,8,8,8,5,5,5,5,3,7,7,11,7,9,8,8,6,6,10,6,8,8,8,6,7,6,6,12,4,4,4,4,4,4,4,4,4,9,8,8,16,8,9,8,7,5,5,5,5,5,3,3,7,7,7,10,15,8,9,8,9,9,6,6,6,6,6,6,7,4,8,7,8,8,7,8,11,8,5,5,5,5,5,3,7,7,6,11,16,7,6,4,4,4,4,9,9,8,8,8,13,12,8,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,11,7,8,8,9,13,7,7,7,9,8,8,9,12,7,12,7,12,8,7,10,12,9,9,6,6,8,8,6,6,6,6,6,6,6,9,8,9,11,8,6,6,6,6,6,12,7,6,6,6,9,7,7,6,6,6,6,6,11,9,6,6,6,6,6,7,9,4,4,4,4,4,4,4,4,9,9,9,9,7,7,7,7,7,11,7,7,8,8,8,8,8,8,9,8,9,9,7,7,11,11,7,12,8,8,8,8,8,7,8,8,8,8,8,13,12,8,8,8,8,7,7,7,9,5,5,5,5,5,5,5,3,3,7,7,11,7,8,8,8,6,6,6,6,6,6,6,6,6,6,6,10,11,6,7,9,4,4,4,4,4,4,9,9,8,9,8,8,8,7,7,5,5,5,5,5,5,5,5,5,5,3,3,11,7,7,7,9,6,6,11,8,10,6,6,6,12,8,8,7,6,6,8,7,4,4,4,4,4,4,4,4,9,10,9,9,8,10,9,11,8,5,5,5,7,6,6,8,7,4,4,4,4,8,7,7,8,7,8,8,5,5,5,5,7,7,8,8,8,6,6,6,6,6,10,8,9,13,6,7,6,6,8,7,8,4,4,4,4,11,8,8,8,10,5,5,8,7,8,13,8,7,6,8,6,9,7,8,7,5,5,5,5,5,5,3,3,7,8,9,6,4,8,10,10,8,12,9,13,2,7,5,5,5,5,5,7,7,10,6,6,6,6,6,6,6,8,4,4,9,8,8,8,14,8,8,8,9,8,5,5,5,5,5,3,3,9,6,6,6,6,10,12,6,6,6,6,6,6,6,4,4,4,4,11,8,7,8,8,8,5,5,3,3,3,3,7,7,6,8,6,8,11,7,6,6,6,7,4,8,11,9,10,5,5,5,3,3,3,7,7,8,9,8,15,9,6,6,6,6,6,6,11,11,4,4,4,4,4,7,9,9,10,8,7,5,5,5,5,5,5,3,3,8,6,6,6,6,6,6,6,6,6,9,7,4,4,4,4,4,9,9,8,8,10,13,5,5,5,3,17,7,7,7,7,7,8,6,8,13,6,6,6,6,6,6,6,6,4,4,4,9,10,8,8,8,5,5,5,5,3,7,7,7,8,8,6,6,6,8,8,8,9,10,8,4,8,10,9,8,8,8,9,13,10,5,5,5,5,5,5,5,5,5,5,3,3,7,8,9,9,7,7,7,10,9,9,8,9,8,8,8,6,6,6,6,6,6,6,6,6,6,6,6,6,8,12,6,6,6,6,6,6,6,6,6,12,4,4,4,4,4,4,4,4,4,4,4,11,8,8,9,9,10,8,9,7,7,5,5,5,5,5,5,3,7,8,7,6,6,8,6,6,10,4,7,8,9,12,8,7,7,5,5,5,5,5,5,3,3,7,14,7,9,8,8,6,6,8,12,12,6,6,7,7,10,4,4,4,4,4,9,9,14,9,13,8,7,5,5,5,6,6,6,7,4,8,7,5,5,5,5,5,5,5,5,3,3,7,7,7,8,6,6,6,6,6,6,12,6,6,6,6,4,4,9,9,8,8,11,7,7,7,5,5,5,3,9,8,6,6,7,4,4,4,4,4,4,8,8,11,5,5,5,7,7,7,9,6,6,6,6,6,6,9,8,4,4,4,4,7,12,9,8,8,8,7,10,10,5,5,5,5,5,5,5,3,11,14,8,7,8,8,6,6,6,6,6,8,7,6,6,6,7,6,8,9,4,4,4,7,8,9,7,9,7,7,9,8,5,5,5,5,5,5,5,5,5,11,3,9,7,7,12,14,8,6,6,12,11,8,6,6,6,6,6,6,6,6,6,15,7,4,4,4,16,9,9,9,8,9,9,9,9,9,8,8,8,13,11,8,5,5,5,5,3,7,6,6,8,8,8,6,6,7,10,7,4,4,4,4,9,7,8,7,7,7,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,3,7,7,7,9,6,6,6,6,6,8,8,7,7,9,6,6,6,7,6,6,6,6,6,15,4,4,4,4,4,8,8,7,8,12,9,8,8,8,8,8,9,8,8,10,8,8,8,8,16,9,10,2,5,5,5,5,5,5,5,9,7,6,8,9,4,4,4,4,4,7,8,8,8,9,8,11,10,5,5,5,5,3,7,8,6,6,6,6,6,8,6,6,6,6,4,12,10,12,7,7,7,7,7,7,7,5,5,5,5,3,3,7,7,10,8,9,7,6,10,7,6,6,4,4,8,9,7,9,9,9,9,8,8,8,8,10,5,5,5,5,5,5,8,7,6,6,6,10,6,7,10,7,4,4,4,4,4,4,4,12,9,10,7,7,10,8,10,5,12,9,6,6,6,6,6,7,6,4,4,4,10,9,9,8,7,7,5,5,5,5,5,5,3,3,13,7,7,9,7,7,7,8,9,9,7,8,6,6,6,6,6,6,6,6,6,6,6,6,6,7,13,9,15,15,4,4,4,4,4,10,10,9,8,9,8,8,9,7,8,7,8,5,5,7,6,6,6,4,4,4,7,8,11,8,5,5,5,5,5,5,5,7,6,6,6,6,6,6,9,11,10,7,4,4,4,9,8,8,5,5,5,5,5,9,9,6,6,6,6,6,6,6,9,9,4,4,4,4,8,8,8,9,9,8,8,8,13,2,4,2,7,5,5,5,5,5,5,9,9,6,6,6,6,10,8,8,8,6,6,6,4,4,9,8,10,8,9,8,8,8,9,8,8,5,3,3,3,11,6,6,6,7,6,6,6,4,4,9,8,5,5,5,5,5,3,11,8,6,6,6,6,6,9,7,4,4,14,10,9,8,12,8,8,8,11,15,8,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,11,11,11,10,10,7,7,3,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,5,5,5,5,5,5,5,5,5,5,3,3,3,7,11,7,7,11,11,7,8,9,10,7,7,9,9,9,9,7,7,10,8,13,8,8,8,8,11,10,6,6,8,10,11,14,14,6,6,6,6,6,6,9,11,7,7,6,8,12,11,11,6,6,10,6,6,6,6,6,10,7,7,6,6,11,6,6,6,11,8,9,7,6,10,11,9,10,11,7,11,8,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,8,6,6,8,9,10,9,6,6,6,10,6,6,6,6,11,10,11,10,9,8,7,7,7,7,11,14,8,10,9,9,8,8,7,11,8,8,8,11,11,10,10,9,10,8,11,10,8,11,9,12,8,10,8,11,8,9,9,11,11,10,11,13,8,7,8,8,9,7,8,8,8,8,7,8,2,2,2,2,2,2,2,4,4,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,4,2,3,3,3,3,3,3,3,3,8,6,4,4,4,11,7,11,3,3,3,3,3,3,3,3,3,3,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,5,5,5,5,3,3,3,3,8,7,7,8,8,4,8,7,7,7,9,7,8,9,8,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,6,3,3,3,3,3,3,3,3,4,2,2,3,3,3,3,3,4,5,5,3,8,8,6,9,4,4,10,7,3,3,3,2,5,3,3,3,3,3,3,3,3,3,3,3,3,4,3,2,2,2,3,3,3,3,3,4,10,2,3,3,3,3,3,3,3,4,2,3,3,3,3,3,3,3,3,2,2,3,3,3,5,2,4,2,6,2,2,9,5,5,3,3,3,3,3,3,3,5,5,5,9,8,7,6,6,11,4,4,4,4,4,4,4,4,6,6,7,7,11,8,8,6,5,11,2,3,3,3,3,3,3,3,3,3,3,3,3,3,4,2,2,3,3,3,3,3,3,6,4,4,4,4,3,3,3,3,5,7,2,3,3,3,3,3,8,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,6,4,4,4,4,2,2,3,3,3,3,3,3,3,4,3,3,3,3,3,3,3,3,3,3,3,3,4,2,2,3,3,3,3,3,3,2,3,3,3,3,3,6,3,3,8,10,3,4,4,1,1,1,1,1,1,1,8,9,10,7,7,1,1,3,8,7,7,8,8,8,1,6,1,1,6,3,3,4,7,3,5,5,4,4,4,4,4,2,7,7,8,12,3,4,5,1,3,4,4,10,4,3,3,3,8,7,7,2,2,2,2,2,2,2,2,2,12,9,20,7,5,5,5,9,13,5,5,5,5,5,3,3,3,16,5,5,5,13,7,8,8,11,8,7,9,7,11,12,9,9,8,8,11,10,14,7,12,10,11,13,7,9,11,17,17,14,13,7,8,7,10,10,7,16,13,7,8,17,12,9,8,6,7,10,6,6,12,6,8,10,8,8,8,6,8,6,14,6,6,6,13,6,10,6,6,7,14,8,6,6,10,11,10,9,9,7,7,6,6,6,9,9,7,9,10,9,13,12,4,4,4,4,4,4,4,4,4,6,6,6,8,8,6,8,9,10,9,7,10,10,8,7,8,7,10,12,9,8,15,8,7,8,8,7,7,15,13,7,10,9,14,18,16,7,24,7,8,10,11,16,8,14,7,9,9,9,11,13,19,14,15,14,11,7,13,9,10,7,13,9,10,11,12,8,9,2,3,5,8,7,4,4,10,5,3,3,3,3,3,5,4,4,4,2,2,2,2,2,1,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,2,2,2,3,3,3,3,3,3,3,3,3,3,4,2,12,5,3,8,10,15,6,7,2,3,2,5,5,12,2,5,5,5,5,2,2,5,5,12,9,5,2,2,9,5,5,12,12,5,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,9,12,5,8,8,9,5,5,5,8,19,7,16,15,14,9,9,9,9,7,11,11,11,7,14,10,10,5,5,5,5,5,5,5,5,5,15,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,9,9,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,14,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,15,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,5,5,5,5,5,5,5,12,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,9,9,12,9,9,12,12,12,15,7,11,7,14,11,18,13,8,18,15,18,12,14,12,8,8,8,8,9,9,9,12,7,10,10,8,8,12,12,12,7,12,12,9,7,7,7,7,7,8,15,12,9,10,10,7,10,10,13,11,10,9,22,11,9,8,8,8,8,8,13,18,13,9,15,19,9,7,7,10,7,7,7,11,8,13,17,7,7,10,10,10,7,20,16,7,7,7,7,7,7,11,21,12,12,13,11,14,16,8,8,13,11,7,7,13,7,7,14,15,15,6,6,6,6,6,6,6,6,6,6,13,10,18,6,6,6,6,6,6,6,6,6,11,8,8,12,12,11,11,8,12,9,9,9,13,13,9,9,9,9,9,9,6,10,12,6,6,6,6,17,11,7,7,7,7,14,14,12,6,7,7,6,6,15,10,13,10,6,8,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,7,13,9,9,15,13,6,12,12,6,19,11,10,7,7,16,8,19,17,9,9,9,9,9,6,6,6,10,8,16,8,6,6,9,6,6,6,6,6,6,6,6,8,8,8,6,7,6,6,6,6,6,6,6,6,6,6,6,14,6,6,6,6,20,6,9,6,14,9,9,9,6,9,8,8,12,9,8,8,8,8,7,8,12,7,8,8,8,6,8,6,6,6,6,6,6,6,9,8,8,6,6,13,9,12,13,12,14,13,12,11,11,6,8,8,8,6,13,12,11,11,12,6,11,12,11,13,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,15,6,6,6,6,6,6,6,13,6,6,6,6,6,6,6,6,6,6,6,6,6,8,8,8,8,6,18,6,12,13,13,13,9,10,15,9,12,6,6,6,6,6,6,6,6,9,15,10,9,10,13,9,19,8,18,17,10,10,8,8,6,6,6,6,6,6,10,14,8,16,16,9,8,15,8,8,10,12,14,7,7,8,8,7,7,7,7,8,13,13,11,9,9,9,12,10,17,8,11,9,7,7,14,8,14,14,7,7,7,7,7,7,14,7,7,7,7,7,10,10,8,14,7,7,7,7,8,8,8,8,8,17,9,7,15,7,8,12,7,9,14,7,7,7,9,13,8,14,7,16,18,13,15,14,12,13,10,15,9,7,7,7,10,13,15,15,9,9,9,9,19,11,7,11,11,13,8,8,8,8,7,12,19,17,9,9,13,7,7,7,9,7,7,7,12,13,15,10,8,8,14,15,12,13,13,8,12,14,7,11,7,14,15,13,12,8,8,8,8,11,13,15,15,8,13,12,8,8,8,13,10,16,14,11,8,8,12,12,9,15,15,12,12,13,8,8,9,12,13,9,8,8,8,8,8,8,8,8,8,8,8,11,12,11,7,14,7,13,13,13,12,18,16,7,12,11,10,10,15,9,9,9,21,7,7,7,11,16,8,8,11,11,7,7,7,7,7,19,7,7,7,7,7,7,7,7,7,12,8,9,12,14,11,9,9,9,22,12,3,8,8,15,4,2,2,5,5,3,3,3,3,3,3,6,6,4,4,4,12,7,10,2,3,3,3,3,3,3,3,6,7,3,7,5,14,4,4,7,8,10,4,1,3,3,6,2,4,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,4,2,2,5,3,4,2,2,2,2,2,2,11,5,5,5,11,5,5,3,5,5,5,5,11,14,13,9,11,9,12,8,11,11,8,11,16,9,9,7,10,9,12,8,15,6,7,6,6,13,10,8,11,8,6,6,6,12,16,6,11,7,8,9,18,6,6,9,4,4,6,13,6,6,6,6,8,8,9,16,7,7,14,7,8,8,8,7,7,7,7,7,7,15,13,7,10,7,7,10,12,16,15,7,9,9,14,11,11,10,9,10,8,12,7,8,7,7,10,12,7,12,8,7,2,3,3,3,3,3,3,3,3,3,3,5,3,3,5,5,5,10,4,8,7,10,3,3,3,3,3,3,3,3,3,3,1,3,3,3,3,3,3,3,7,4,5,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,5,5,5,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,5,6,6,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,9,8,2,2,2,8,12,7,7,5,5,5,5,5,5,5,5,5,5,5,5,8,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,5,5,5,7,11,9,8,8,8,7,8,9,7,7,9,7,7,7,10,7,7,10,9,10,6,6,6,6,6,6,15,7,8,9,9,8,6,6,10,9,6,8,13,9,7,6,6,6,6,6,6,12,6,6,7,6,7,6,6,6,10,10,7,6,6,6,4,4,4,4,4,4,4,4,4,4,4,4,4,4,6,14,6,6,7,7,9,6,6,6,6,9,9,8,9,10,9,8,9,12,7,7,7,8,7,10,12,11,9,10,7,7,7,9,10,10,8,12,9,7,7,9,8,8,8,10,7,7,8,9,9,7,7,7,8,2,4,6,3,4,2,3,3,3,3,2,3,3,3,3,3,3,3,3,4,4,4,4,5,5,3,3,3,3,3,3,3,3,5,8,6,4,7,3,3,3,3,3,3,3,12,3,3,3,3,3,3,4,4,2,3,5,3,4,7,3,3,3,3,3,3,4,3,3,3,3,3,3,3,4,3,3,6,4,3,4,2,2,2,5,3,3,3,3,3,5,4,4,4,4,7,6,8,9,2,2,2,2,3,3,3,5,7,2,3,3,8,7,7,2,2,8,5,3,3,3,3,3,3,3,3,3,3,3,3,3,5,5,8,8,7,7,6,10,6,9,7,11,4,6,8,8,7,8,4,5,5,5,3,3,11,8,9,6,6,8,7,4,4,7,8,7,2,2,3,3,3,3,4,3,3,3,3,3,3,3,3,7,2,2,5,3,3,2,3,3,3,3,3,3,4,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,12,5,5,3,3,3,5,10,12,6,15,4,6,6,7,14,9,3,3,3,3,3,8,2,2,3,5,3,3,3,3,3,3,8,8,8,7,5,8,4,6,11,2,2,6,7,2,9,8,5,5,3,3,5,5,7,7,6,6,10,6,6,8,9,7,4,4,4,4,7,6,6,7,7,10,9,8,11,8,3,3,3,3,3,4,4,2,3,3,3,3,3,7,6,2,5,6,7,6,4,8,9,11,2,2,3,3,3,3,3,3,3,2,2,5,3,3,3,3,3,9,9,6,4,8,7,7,5,9,8,6,8,7,8,5,5,5,5,5,3,3,3,16,8,7,7,7,8,7,7,7,7,9,6,9,6,10,7,7,7,6,10,8,9,11,11,8,4,4,10,8,8,6,9,6,11,8,8,8,15,7,8,9,5,3,3,3,3,3,5,11,2,2,3,8,9,10,3,2,2,2,2,2,2,3,6,4,2,2,3,3,3,3,3,3,3,3,3,3,4,4,2,3,3,3,3,3,3,3,11,5,3,3,3,3,3,3,3,3,6,7,4,4,2,3,3,3,3,3,3,3,3,12,7,4,12,4,6,5,4,2,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,2,3,3,3,3,3,3,3,3,4,4,11,10,6,4,6,10,8,3,3,3,3,3,3,3,3,5,4,4,4,2,2,2,2,2,2,2,2,5,3,4,4,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,10,5,5,5,5,5,5,3,3,3,3,3,3,3,3,7,8,8,7,13,12,10,10,8,8,7,7,9,12,11,6,6,8,8,9,7,7,7,10,15,10,4,4,4,4,4,11,8,8,9,7,9,14,14,12,2,2,2,2,2,2,2,3,3,3,3,3,2,2,12,5,5,5,8,11,10,7,9,3,8,7,3,15,13,11,4,4,2,2,2,19,7,5,5,3,3,3,3,3,3,3,5,22,18,6,14,17,4,4,19,16,18,2,3,3,2,3,2,3,3,6,4,2,3,3,2,5,3,3,3,3,3,3,3,9,9,2,3,2,2,2,3,3,3,5,7,14,7,7,12,9,13,6,11,6,10,9,7,7,8,12,12,8,8,8,10,7,7,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,3,3,5,8,10,7,8,11,8,12,9,4,7,7,9,13,2,3,3,3,3,3,3,2,3,3,3,1,2,2,3,3,3,3,3,3,5,2,2,5,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,8,4,4,4,3,2,3,3,3,3,5,2,2,2,2,5,5,5,5,3,3,3,3,3,3,3,3,3,7,7,7,7,7,8,8,8,8,8,12,9,8,8,9,8,6,17,6,6,6,8,8,6,6,6,6,6,6,6,6,6,6,6,7,4,4,8,8,9,9,9,7,7,7,7,7,7,7,9,9,9,7,8,8,8,10,7,13,10,8,9,3,3,5,13,3,3,3,3,3,7,7,6,6,10,13,11,11,8,8,9,8,9,9,10,10,10,11,10,10,13,13,16,15,11,12,9,9,10,9,11,10,9,9,14,7,8,3,10,7,7,3,2,2,2,5,3,3,3,3,3,3,3,3,3,3,3,3,6,7,2,2,3,3,3,3,3,3,3,3,4,11,6,7,4,6,2,2,3,3,3,1,3,3,3,3,3,3,6,4,4,2,2,2,3,3,3,3,4,4,6,6,6,6,5,4,4,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,9,11,6,10,9,12,7,7,11,14,9,7,12,3,3,7,12,11,12,7,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,9,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,3,3,3,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,11,5,5,5,5,5,5,5,5,11,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,5,5,5,5,5,5,5,3,3,3,5,5,5,5,5,5,5,5,5,5,5,3,3,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,6,5,5,5,5,5,5,5,5,5,5,5,5,5,3,10,3,3,3,11,3,5,9,11,8,12,14,9,7,8,7,7,11,11,7,7,10,9,8,10,9,7,7,7,7,7,7,8,8,7,11,8,8,8,7,7,10,8,7,13,12,7,17,10,8,8,11,7,11,11,14,7,11,7,8,6,9,20,8,7,9,16,7,10,6,11,10,8,9,7,16,11,11,9,8,9,8,8,8,11,8,15,8,8,9,7,8,8,11,10,7,5,7,10,10,15,7,7,7,8,7,8,8,10,11,10,10,10,11,11,7,8,6,8,8,8,10,6,8,6,6,7,8,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,16,6,15,6,7,11,11,7,9,10,11,13,10,6,16,8,10,12,11,6,6,6,6,6,6,6,10,6,10,7,7,7,7,11,7,11,6,6,6,6,6,6,17,7,7,6,6,12,22,6,6,6,6,6,8,6,6,6,6,7,6,6,5,6,6,8,11,6,9,14,11,9,11,7,7,8,6,6,6,8,10,9,6,6,6,6,9,7,6,6,6,6,6,15,6,4,4,4,6,4,17,8,11,6,6,9,6,6,6,6,6,6,6,6,6,6,6,6,6,6,7,6,6,6,6,10,6,10,6,6,6,6,12,8,6,6,6,6,6,6,6,6,6,9,6,6,6,6,18,6,6,6,8,9,10,7,8,9,10,11,7,13,6,8,8,6,6,14,7,7,7,7,10,7,14,9,6,6,9,15,9,7,14,6,11,14,13,7,12,8,7,7,7,7,7,12,7,10,9,16,6,8,6,5,17,6,8,10,4,6,4,10,15,17,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,8,4,4,11,7,4,4,7,7,7,6,6,6,6,6,6,6,6,6,6,6,6,19,17,6,10,11,6,6,6,6,18,6,6,11,4,4,4,5,6,6,6,9,5,6,4,6,6,4,6,6,6,6,10,6,6,4,6,6,10,6,10,6,6,6,6,11,6,6,10,6,6,8,6,6,6,8,6,11,4,11,9,10,9,11,4,8,4,11,12,7,9,8,6,7,7,8,12,12,11,13,10,11,7,7,7,9,7,11,10,7,7,7,16,11,10,11,17,9,9,8,8,7,7,7,9,7,7,7,14,7,13,9,11,10,14,10,10,12,11,10,7,10,5,14,8,8,8,9,7,8,7,7,9,8,7,8,7,7,7,7,7,7,7,11,8,10,8,7,8,14,11,8,9,9,9,8,24,10,10,12,7,7,15,11,8,8,12,11,8,9,9,7,8,9,10,11,10,11,7,12,7,7,11,9,8,14,13,12,8,11,10,8,8,7,7,14,9,10,8,9,11,7,14,8,8,13,8,8,12,7,10,14,14,11,9,10,9,9,7,7,11,11,13,9,13,5,5,5,7,9,5,11,12,14,8,7,7,11,10,9,7,8,8,7,10,11,11,5,5,7,5,5,5,7,7,15,7,7,8,7,15,12,12,10,7,8,7,11,7,7,7,23,11,8,8,11,10,7,8,11,7,19,7,7,6,9,9,9,11,3,4,7,8,6,6,4,10,8,2,2]),Fx=new Uint16Array([0,0,0,1,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,1,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,12,1,1,1,1,1,17,1,1,1,12,1,12,1,12,13,1,1,1,1,12,1,12,1,1,1,1,1,14,21,1,1,1,1,1,1,1,19,12,1,1,1,1,1,1,1,20,1,1,1,16,1,18,1,1,15,1,1,1,1,12,1,1,1,1,1,1,22,1,1,1,12,1,1,1,1,1,1,1,1,1,12,12,12,12,12,12,12,12,12,12,12,12,1,24,25,26,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,1,1,12,12,12,12,1,32,0,0,0,1,1,1,1,35,34,1,1,1,1,1,33,1,1,1,1,37,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,38,0,0,0,0,39,40,0,0,0,41,0,12,1,1,12,1,1,1,1,44,45,45,45,44,45,44,44,46,45,44,45,44,44,44,44,44,44,46,44,44,44,44,44,44,45,47,47,45,44,44,44,44,44,12,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,50,52,50,50,50,52,50,51,50,53,50,51,51,50,50,50,51,53,51,53,50,51,51,12,55,55,54,56,51,53,50,50,48,49,57,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,60,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,1,1,67,1,12,1,1,66,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,78,0,0,0,0,0,0,0,0,0,0,0,0,0,76,79,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,77,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,1,12,1,1,1,1,89,1,91,1,1,1,1,1,1,1,1,94,1,1,1,1,1,1,1,1,1,1,1,1,0,1,97,97,1,1,12,1,100,1,1,1,1,1,1,1,98,1,99,1,101,1,1,1,1,1,102,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,110,111,1,1,1,1,1,1,113,113,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,121,122,1,1,1,1,1,1,1,1,1,1,1,1,1,122,1,1,1,1,1,1,1,1,1,1,122,1,1,1,1,1,1,1,1,1,126,123,125,120,1,124,1,1,114,1,1,1,1,117,1,127,1,1,1,1,1,119,1,108,1,109,1,12,128,106,1,112,1,1,1,1,1,107,115,1,12,12,12,118,116,1,1,1,1,1,1,0,0,0,0,1,12,12,1,1,1,1,1,12,134,1,1,1,1,1,1,1,1,1,1,1,12,136,1,1,1,1,1,1,1,1,137,138,12,12,135,133,45,45,140,50,50,139,142,141,1,1,0,0,0,0,0,0,0,0,0,0,0,0,145,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,143,0,0,0,0,1,0,144,132,1,0,1,12,12,1,1,1,1,1,0,0,0,0,0,0,0,1,148,147,20,1,1,12,12,1,20,12,12,1,1,1,1,1,134,1,1,152,1,1,1,1,153,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,1,1,136,1,1,152,1,1,1,1,153,1,1,134,1,1,1,152,1,1,1,1,153,1,1,134,1,1,1,1,1,1,1,1,134,1,1,1,1,1,1,1,1,1,1,1,160,1,1,1,152,1,1,1,1,1,153,1,1,160,1,1,1,1,1,1,1,1,1,1,134,1,1,1,1,152,1,1,1,1,153,1,1,1,134,1,1,152,1,1,1,1,164,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,1,167,1,1,160,1,1,1,1,1,152,1,1,1,1,1,153,1,1,160,1,1,1,1,1,152,1,1,1,1,1,153,1,154,158,158,12,1,12,166,1,1,1,1,1,158,158,158,154,1,1,1,157,158,161,165,1,1,1,1,157,157,1,1,156,154,154,157,170,156,170,1,1,168,1,156,155,157,1,1,1,1,157,1,159,1,1,1,12,1,162,1,162,1,1,1,162,161,163,169,156,154,1,1,1,1,1,1,172,172,172,172,172,172,172,172,172,172,172,172,172,172,172,172,172,172,172,173,172,173,172,172,172,172,174,174,172,173,172,173,172,172,12,12,12,12,12,1,12,12,12,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,12,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,193,1,1,1,1,12,199,200,201,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,151,1,1,1,1,1,1,1,1,1,1,1,196,1,1,1,184,1,210,1,1,1,208,1,1,205,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,12,1,1,1,1,1,12,1,1,1,1,1,1,1,1,190,1,1,1,186,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,182,1,1,1,1,1,1,1,191,1,1,1,1,195,1,1,1,1,171,1,1,189,1,1,1,192,1,1,1,12,1,1,1,1,1,1,1,1,1,1,1,1,180,1,12,1,1,12,1,1,1,1,183,1,1,1,188,1,203,12,1,1,1,1,1,1,1,1,1,1,1,1,1,1,12,1,1,209,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,194,1,1,1,1,1,12,1,1,1,1,1,1,1,1,176,12,1,1,1,178,12,1,1,1,1,1,1,1,198,1,1,1,1,1,1,1,1,1,1,177,1,1,1,1,1,1,204,1,1,1,181,1,1,1,187,1,12,1,1,12,1,1,1,1,1,1,1,1,1,1,191,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,175,1,1,1,1,1,1,1,1,1,1,185,1,1,1,1,1,1,1,1,1,1,1,206,1,1,1,1,1,1,1,1,1,1,1,1,1,207,1,1,12,1,1,1,1,179,1,1,1,185,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,12,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,12,1,1,1,197,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,12,12,1,1,1,1,1,1,1,1,1,202,1,1,12,1,1,1,12,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,1,0,1,1,1,1,1,1,1,1,1,1,220,0,0,0,0,0,221,0,0,0,0,0,0,1,12,1,1,1,225,1,1,1,0,226,223,224,1,1,1,1,1,1,231,1,233,1,1,1,1,1,1,1,1,1,1,1,229,1,1,1,1,1,235,1,1,12,1,12,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,234,1,1,1,12,1,1,1,1,230,1,1,1,228,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,232,1,1,1,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,1,12,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,241,13,1,1,1,12,12,238,239,1,1,1,1,240,1,1,12,1,1,1,1,1,1,1,242,1,1,12,16,1,1,1,1,1,1,1,243,1,1,1,12,12,1,1,1,1,1,243,12,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,1,252,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,256,256,1,0,0,0,0,0,1,12,0,0,0,0,0,0,0,0,172,261,262,1,12,1,1,1,1,12,264,1,1,263,1,1,266,1,1,1,1,1,1,1,1,1,0,1,1,1,271,272,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,12,1,0,1,0,0,0,0,1,0,1,0,1,1,1,1,1,0,1,0,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,1,12,0,283,0,0,284,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,1,12,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,60,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,1,1,1,0,308,0,0,0,0,0,0,0,0,0,310,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,12,1,1,1,1,1,1,1,1,1,12,1,1,1,1,1,327,327,328,327,0,185,1,1,13,323,1,321,0,0,0,0,1,0,0,0,324,1,1,329,1,205,1,1,1,1,1,322,1,319,1,325,1,317,1,326,1,318,1,1,1,1,1,1,1,12,1,1,1,12,1,12,320,320,1,1,1,316,184,1,1,12,1,1,1,1,1,1,1,1,1,1,12,1,1,1,1,12,1,1,1,1,315,1,0,0,0,1,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,332,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,266,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,372,372,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,364,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,1,1,1,0,1,340,351,1,1,339,374,1,345,1,1,337,369,1,1,355,336,341,1,1,1,348,379,357,1,1,1,1,1,1,358,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,0,367,371,0,0,79,1,1,0,365,342,378,343,346,353,1,368,0,1,0,79,362,360,1,0,0,1,1,1,0,0,0,0,381,1,1,352,1,79,1,0,1,1,1,384,1,0,0,79,359,0,1,338,1,1,1,0,1,1,361,1,0,1,1,1,0,1,386,349,1,1,0,1,0,0,377,0,1,1,1,79,370,1,1,366,363,1,1,1,1,1,1,1,1,1,1,1,344,1,1,1,1,1,1,1,1,1,1,1,376,0,79,1,1,1,1,0,1,1,1,1,1,1,0,0,1,1,380,1,1,1,0,0,383,0,0,0,1,356,1,0,79,382,1,0,0,0,0,385,1,1,0,0,1,0,1,0,354,0,350,0,1,1,1,0,1,1,0,373,347,375,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,1,0,0,0,1,0,0,1,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,1,1,1,400,400,1,1,12,12,1,400,1,1,12,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,412,1,1,0,1,1,1,1,205,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,430,430,1,1,0,0,317,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,442,1,441,1,1,1,1,1,1,1,1,445,1,12,12,1,1,1,1,1,12,1,1,1,1,453,1,1,1,455,1,1,1,1,1,1,1,1,1,1,452,1,447,1,1,1,1,435,1,1,1,1,1,1,1,1,448,12,1,1,1,1,454,1,1,1,449,444,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,317,1,433,1,1,12,451,1,1,317,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,437,1,1,1,1,1,1,1,1,1,1,1,454,1,1,1,1,317,1,450,1,1,1,439,1,1,1,1,1,440,1,456,443,1,1,1,1,1,438,1,1,1,1,1,1,1,1,1,434,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,446,1,1,1,1,1,1,1,12,1,1,1,1,1,436,1,1,1,1,1,1,1,220,457,1,1,1,1,1,12,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,1,0,0,1,0,1,0,1,1,0,0,0,462,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,12,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,466,0,466,466,466,466,466,466,466,0,466,466,466,466,466,1,466,466,466,0,466,466,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,471,470,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,475,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,468,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,469,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,477,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,466,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,474,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,467,0,0,478,473,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,472,0,0,0,0,0,0,0,0,0,0,0,0,0,466,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,467,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,466,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,476,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,12,1,1,1,1,1,1,1,1,1,1,1,1,488,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,198,198,1,492,1,1,1,491,1,1,1,1,487,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,489,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,493,1,1,490,1,1,1,1,1,1,1,1,372,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,494,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,0,1,0,0,0,0,1,0,1,0,0,0,0,0,0,0,1,0,0,0,505,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,1,1,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0,1,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,1,0,1,0,0,0,1,0,0,0,1,0,0,0,0,1,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,1,0,0,0,0,0,0,1,0,1,0,0,12,1,507,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,1,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,12,12,1,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,1,1,0,1,0,0,0,0,0,0,0,1,0,0,1,0,1,1,1,1,0,0,0,1,0,0,0,1,60,1,1,12,12,12,12,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,526,1,1,1,1,1,1,1,527,1,1,1,1,1,1,1,525,1,1,12,1,529,239,1,1,12,12,1,1,12,1,12,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,533,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,1,1,0,0,0,1,0,0,0,1,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,1,1,1,539,1,1,1,1,1,1,1,1,1,1,1,1,1,1,132,1,12,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,107,1,1,12,1,1,1,12,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,548,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,1,1,0,0,0,1,1,1,1,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,144,1,1,1,228,1,1,12,30,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,0,0,1,572,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,577,1,220,1,328,1,1,1,1,1,1,1,1,1,0,0,578,1,1,1,1,0,580,0,79,0,579,0,1,1,1,0,1,1,1,1,1,1,12,0,0,0,0,1,0,0,0,0,0,0,586,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,582,582,0,585,583,582,582,582,582,582,587,582,582,591,582,582,582,582,582,582,582,582,582,582,588,585,582,582,585,582,582,582,582,582,582,582,582,582,582,582,582,582,583,582,582,582,582,582,589,582,582,582,582,582,582,0,0,0,1,590,1,1,1,1,584,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,1,12,595,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,1,12,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,12,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,12,1,1,12,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,96,65,280,306,411,535,0,4,68,236,254,282,307,334,388,413,0,499,519,536,597,9,0,61,88,398,409,429,575,0,497,518,532,612,0,30,6,0,461,500,602,560,70,0,7,285,255,389,463,416,538,79,598,0,576,309,418,465,9,105,288,506,6,30,0,311,79,391,79,483,10,6,131,248,275,0,613,509,0,563,0,64,6,6,251,95,2,432,399,410,596,0,6,0,6,286,103,6,561,501,540,0,464,390,273,287,8,71,104,599,543,392,312,300,419,146,74,290,546,510,601,564,335,330,479,6,75,149,11,0,249,522,547,565,514,551,570,611,36,6,260,295,333,304,218,30,528,553,218,42,216,265,296,305,406,423,481,274,0,73,562,0,403,417,299,79,247,79,0,581,545,504,292,421,79,393,387,0,0,0,9,555,571,217,0,424,407,531,516,573,615,85,218,43,297,396,425,569,0,511,293,276,79,215,80,28,390,30,6,394,331,303,604,592,524,550,513,0,258,81,30,405,422,0,30,426,0,219,593,517,9,408,427,218,248,86,222,594,574,557,482,428,397,250,227,87,59,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,620,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,414,0,0,0,0,0,0,0,0,82,0,129,0,0,84,549,0,0,0,0,0,0,0,27,0,552,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,414,0,0,0,0,503,0,257,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,294,0,0,0,0,0,0,0,617,0,0,0,0,0,616,0,0,0,0,0,0,0,0,0,0,0,0,0,0,395,0,0,0,484,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,69,0,0,0,0,0,0,495,0,0,0,0,0,0,404,0,0,0,0,0,0,0,0,0,0,0,0,0,211,0,0,0,0,0,0,0,0,0,0,515,0,0,0,0,0,0,0,0,0,0,0,0,496,0,0,0,0,0,0,0,0,0,0,0,0,0,0,269,281,0,0,0,0,0,530,277,0,0,0,0,0,0,0,0,0,0,0,0,0,512,0,0,0,0,0,0,0,0,0,0,0,458,0,0,0,314,0,0,0,0,0,0,253,0,0,0,0,0,0,23,0,0,0,0,568,0,0,0,0,600,521,0,0,0,0,244,0,0,0,0,0,0,0,0,0,480,0,0,0,0,0,62,0,0,0,267,58,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,246,0,0,0,0,0,279,610,0,72,0,0,0,0,0,0,0,0,0,619,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,150,0,278,0,0,0,0,0,0,567,0,0,0,0,0,0,523,0,0,0,0,0,0,0,0,0,566,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,213,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,84,0,502,0,0,0,0,0,554,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,84,83,0,0,0,0,0,0,0,0,0,0,0,0,486,0,485,0,0,0,0,0,0,0,0,0,0,259,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,459,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,289,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,537,0,0,0,0,0,0,0,0,298,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,69,237,0,0,0,0,0,0,0,0,0,0,84,0,606,0,0,0,0,0,0,0,0,0,0,0,0,245,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,609,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,520,0,0,0,84,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,498,0,614,0,0,431,0,0,0,0,0,0,0,0,0,0,0,0,402,0,0,0,544,0,93,0,0,0,0,0,0,0,0,0,0,31,0,0,0,0,0,0,29,92,0,0,0,0,0,0,0,0,0,0,0,0,291,0,0,0,214,0,0,0,0,0,0,558,0,270,0,0,130,0,0,0,0,0,559,0,0,0,0,0,0,0,414,420,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,313,0,0,0,0,0,5,0,0,0,0,0,0,0,301,0,0,0,0,0,0,0,0,0,0,0,0,0,534,0,0,0,415,0,0,401,0,0,0,0,0,0,603,0,0,0,541,0,0,90,0,542,0,0,0,0,0,0,0,0,0,0,508,460,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,268,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,414,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,608,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,607,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,618,0,0,0,0,0,556,0,0,0,0,0,0,0,0,0,0,302,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,605,0,0,212,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,623,623,623,623,623,623,623,622,624]),ng="orgmilcomschnetedugovdrrformsfeedbackofficialaccoorgmilschnetgovmagazinemediaunioncargopilotgroupcaarespressworksaerodromeworkinggroupair-traffic-controlaircraftaccident-preventioneducatormarketplaceambulanceinsurancecateringairportrepbodyenginesoftwaremodellingair-surveillanceconsultingchartertrainermaintenanceservicesdesignflightskydivingfreightassociationstudentgroundhandlingdgcafuelclubtaxicrewshowballooningexpresstraderbrokerauthoragentsairtrafficjournalistsafetyconsultantmicrolightaccident-investigationparachutingequipmentproductionfederationrecreationscientistnavigationengineertradingglidingleasingresearchpassenger-associationentertainmentparaglidinghangglidingaerobaticrotorcraftemergencycertificationgovernmentaeroclubexchangelogisticschampionshiphomebuiltcouncilconferencecontrolairlinecivilaviationjournalorgcomnetedugovcoorgcomnomnetobjofforgcomnetuwukiloappsframerorgmilcomnetedugovcoradioorgcomnetcommuneedogpbcoitgvorgedugov*spreviewfrontendrelayononstagingupid*mtls*privatelinktypedreamdeveloperbravemochawindsurfaivenmirenupsunwnextbegetngrokclerkwale2bwebcsbrunputerflutterflowspawnbaseshiptodaymagicpatternsnetlifyondigitaloceanrailwayhostedclaudehasurabotdashvercelgithubluyanigadgetreplitcloudflaretelebitedgecomputeevervaultdetaexponyatnoopencrpplxzeaburwasmerframerzeropsconvexmedusajsspritesonherculeseasypanelstreamlitsnowflakemesserliloginlinehackclubnorthflankbase44corespeedadaptableleapcellngrok-freeclerkstagelovableon-fleek*us-west-3ap-south-2us-central-2us-central-1eu-central-1ap-south-1us-west-2us-east-2eu-north-1ap-north-1us-west-1us-east-1*rcloudintsegorgmilcomgobbetnetintedugovturmusicasenasamutualcoopip6uriurnin-addre164homeirisgovdixdaemoncloudnssthwien*inexexkunden4accogvormymyspreadshop4lima2ixortsinfofuturecmsfuturehosting12hpprivfuturemailinglima-cityfunkfeuer123webseitednshomemelmyspreadshopcloudletswasantqldvicactnswtascatholicwasaqldvictasvpsidwasantozqldorgcomvicasnactnetedugovnswtasconfhrsncomairflowlambda-urltransfer-webappairflowtransfer-webapptransfer-webapptransfer-webapp-fipstransfer-webappeu-west-3ap-south-2eu-south-2eu-central-2ap-southeast-3ap-southeast-4ap-northeast-3eu-central-1mx-central-1me-central-1ca-central-1il-central-1ap-northeast-1ap-southeast-1me-south-1af-south-1eu-south-1ap-south-1ap-southeast-7us-west-2eu-west-2us-east-2eu-north-1ap-southeast-2ap-northeast-2ap-southeast-5us-gov-west-1us-gov-east-1ca-west-1us-west-1eu-west-1us-east-1ap-east-1sa-east-1privatenotebookstudiolabelingnotebookstudionotebooknotebook-fipslabelingnotebookstudionotebook-fipsnotebookstudio-fipsnotebook-fipsnotebookstudionotebook-fipsnotebookstudioeu-west-3ap-south-2eu-south-2eu-central-2ap-southeast-3ap-southeast-4ap-northeast-3eu-central-1me-central-1ca-central-1il-central-1ap-northeast-1ap-southeast-1me-south-1af-south-1eu-south-1ap-south-1us-west-2eu-west-2us-east-2eu-north-1ap-southeast-2ap-northeast-2experimentsus-gov-west-1us-gov-east-1ca-west-1us-west-1eu-west-1us-east-1ap-east-1sa-east-1onrepostsagemakercopporgmilcompronetintedugovbiznameinfoshoprsorgmilcomnetedugovbrendlyresolvenzauscotvstoreorgcomnetedugovbizinfoidacaicoittvorgmilcomschnetedugovinfocloudezproxyacmymyspreadshopkuleuvenwebhostingtransurl123websitecloudnsinterhostsolutionsddns5476103298edgfacbmlonihkjutwvqpsryxzbarsycoororgcomedumyftpno-iporxcloud-ipfor-somemmafanfor-morewebhopselfipjozidyndnscloudnsdscloudfor-thefor-betteractivetrailcoeconorestooteorgcomeconeteduassurmoneyafricaarchitectesrestaurantloisirstourismavocatsinfoagrounivcoorgcomnetedugovtvdeportesaludtksatorgmilcomwebgobnetinteducienciaboliviarevistacooperativaempresanombreindustriamusicapatriamedicinademocraciapoliticapuebloindigenaplurinacionalarteblogwikiinfoagrotransportenoticiasprofesionalacademiaeconomiaecologiamovimientotecnologianaturalsimplesitecepesebamapadfmgalampbacscpirngorotomtrjspaprrprrsesmscepesebamapadfmgalampbacscpirngorotomtrjspaprrprrsesms*biaamfmtcmptvfeirasampajampanatalbelemananiradiog12medindfndbmdtrdthepoaggfjdfdefinfenflegsegongengcngorgzlgslglogppgmillelqslcimcomnomadmjabimbbibbsbabcrectecsjcetcpscpvhudieticriapipsiecnbiorioecogeoteoodoproatoartfstmatvetdetbetnetcntnotfotgrueduajuespappreptmpemparqsrvadvdevgovntrturagrjorfarjusmusdesvixxyzcozfozslzbhzmaringasantamariacampinagrandegoianiasorocabafloripasaobernardocuritibaboavistarecifeaparecidasaogoncasalvadorcuiabamorenamacapalondrinacontagemsocialfortalmaceioleilaoosascoriobranconiteroi9guacutcheblogflogvlogwikitaxicoopmanauspalmascaxiasjoinvillebaruericampinassantoandreribeiraoriopretoweorgcomnetedugovv0windsurfshiptodaycloudsitecoaccoorgnetgovofmilcomgovmediatechzacoorgcomnetedugsjgovmydnspenfnlabnbmbgcbcqconcontnuyksknsmyspreadshopno-ipawdevboxbarsyonidatemfuinabusavinstanceseceuguukussryzespawncsxcloud-ipmyphotosfantasyleaguetwmailcleverappsscrappingccwucloudnsftpaccessgame-serverccgovobjectsrmalpgcust*svcalp1aeappenginermalpgmyspreadshop4lima2ixsquare7cloudscale123websitefirenet12hpflowgotdnslinkyard-cloudcloudnslima-citydnskingobjectstorageedaccogoorusorgcomnetinteduaéroportxn--aroport-byaassogouvcomilgobgovcloudnses-1eu-west-1us-east-1euvipit1eurarubait1s3lbwebsites3websiteru-spbru-mskelasticcsrunstnukukcaukusnl-ams-1fr-par-1fr-par-2functionsnodess3ddlwhmrdbfnck8sifrs3-websitecockpitscblmgdbdtwhkafkpubprivs3ddlwhmrdbk8sifrs3-websitecockpitscblmgdbdtwhkafks3ddlrdbk8sifrs3-websitecockpitscblmgdbdtwhkafkk8sscalebookpl-wawfr-parnl-amsbaremetalsmartlabelinginstancesdechk2kuleuvenlaravelvoorloperurownoxazapscwhstgrvaporobservablehqelementorantagonistreclaimjoteluluencowaydiademjelasticmatlabmagentositetrendhostingaxarnetperspectajenv-arubajelejoteravendbemergenttrafficplexconvexkeliwebserveboltbegetcdnstaticson-rancherprimetelonstackitunison-servicesdnshomelinkyardbarsyjelecloudnscocomnetgovmycn-northwest-1cn-north-1s3s3-accesspoints3-websites3s3-accesspointrdsdualstacks3-deprecatedemrappui-prods3-websiteemrstudio-prods3-object-lambdaemrnotebooks-prodexecute-apis3s3-accesspoints3s3-accesspointrdsdualstackemrappui-prods3-websiteemrstudio-prods3-object-lambdaemrnotebooks-prodexecute-apicn-northwest-1cn-north-1cn-northwest-1ebcomputeelbcn-north-1airflowcn-northwest-1cn-north-1oncn-northwest-1cn-north-1amazonawssagemakeramazonwebservicesdirectasgdsdhehahljlnmhbacscahqhshhihnlnynsnmofjbjzjxjtjhkcqtwgsjssxnxjxgxxzgz網絡网络公司orgmilcomnetedugovxn--55qx5dcanva-appsxn--io0a7iquickconnectcanvasitekhsjxn--od0algmyqnapcloudsrvrlessclustersrealtimestorageleadpagescarrdcrdorgmilcomnomnetedugovhidnssupabaserdpareplmypiumsoxmitotaplpagesfirewalledreplitowodevwebview-assetsvfswebview-assetss3s3-accesspointdualstackemrappui-prods3-websiteaws-cloud9emrstudio-prods3-object-lambdaemrnotebooks-prodexecute-apicloud9eu-west-3ap-south-2eu-south-2eu-central-2ap-southeast-3ap-southeast-4ap-northeast-3eu-central-1me-central-1ca-central-1il-central-1ap-northeast-1ap-southeast-1me-south-1af-south-1eu-south-1ap-south-1ap-southeast-7us-west-2eu-west-2us-east-2eu-north-1ap-southeast-2ap-northeast-2ap-southeast-5ca-west-1us-west-1eu-west-1us-east-1ap-east-1sa-east-1s3s3-accesspointdualstackemrappui-prods3-websiteaws-cloud9emrstudio-prods3-object-lambdaemrnotebooks-prodexecute-apicloud9s3s3-accesspointdualstackanalytics-gatewayemrappui-prods3-websiteaws-cloud9emrstudio-prods3-object-lambdaemrnotebooks-prodexecute-apicloud9s3s3-accesspointdualstackemrappui-prods3-websiteemrstudio-prods3-object-lambdaemrnotebooks-prodexecute-apis3s3-accesspointdualstacks3-deprecateds3-websites3-object-lambdaexecute-apis3s3-accesspoints3-websites3-accesspoint-fipss3-fipss3s3-accesspointdualstackemrappui-prods3-websites3-accesspoint-fipsaws-cloud9s3-fipsemrstudio-prods3-object-lambdaemrnotebooks-prodexecute-apicloud9s3s3-accesspointdualstackemrappui-prods3-websites3-accesspoint-fipss3-fipsemrstudio-prods3-object-lambdaemrnotebooks-prodexecute-apis3s3-accesspointdualstacks3-deprecatedanalytics-gatewayemrappui-prods3-websiteaws-cloud9emrstudio-prods3-object-lambdaemrnotebooks-prodexecute-apicloud9vfss3s3-accesspointdualstackemrappui-prods3-websiteaws-cloud9emrstudio-prods3-object-lambdaemrnotebooks-prodexecute-apicloud9eu-west-3ap-south-2eu-central-2ap-southeast-3ap-southeast-4ap-northeast-3eu-central-1mx-central-1me-central-1ca-central-1il-central-1ap-northeast-1us-northeast-1ap-southeast-1me-south-1af-south-1ap-south-1ap-southeast-7us-west-2eu-west-2ap-east-2us-east-2ap-southeast-2ap-northeast-2ap-southeast-5us-gov-west-1us-gov-east-1ap-southeast-6ca-west-1us-west-1eu-west-1us-east-1ap-east-1sa-east-1mrapaccesspoints3s3-accesspointdualstacks3-deprecatedanalytics-gatewayemrappui-prods3-websites3-accesspoint-fipsaws-cloud9s3-fipsemrstudio-prods3-object-lambdaemrnotebooks-prodexecute-apicloud9s3s3-accesspointdualstacks3-deprecatedanalytics-gatewayemrappui-prods3-websites3-accesspoint-fipsaws-cloud9s3-fipsemrstudio-prods3-object-lambdaemrnotebooks-prodexecute-apicloud9s3eu-west-3ap-south-2eu-south-2computes3-ap-northeast-2elbrdss3-ap-east-1s3-sa-east-1s3-us-gov-west-1s3-eu-central-1s3-ca-central-1eu-central-2ap-southeast-3ap-southeast-4ap-northeast-3s3-website-us-west-2s3-website-eu-west-1s3-external-1eu-central-1me-central-1ca-central-1il-central-1s3-us-west-1s3-eu-west-1s3-website-sa-east-1s3-website-ap-southeast-2ap-northeast-1ap-southeast-1s3-us-west-2s3-eu-west-2me-south-1af-south-1eu-south-1ap-south-1us-west-2eu-west-2us-east-2s3-website-ap-southeast-1s3-1s3-globals3-ap-northeast-3eu-north-1airflowap-southeast-2s3-us-gov-east-1s3-fips-us-gov-east-1s3-me-south-1s3-ap-south-1ap-northeast-2s3-website-us-west-1ap-southeast-5s3-eu-north-1s3-ap-southeast-1s3-website-us-gov-west-1compute-1s3-eu-west-3us-gov-west-1s3-website-ap-northeast-1us-gov-east-1s3-fips-us-gov-west-1s3-website-us-east-1s3-ap-southeast-2ca-west-1us-west-1eu-west-1us-east-1ap-east-1sa-east-1s3-us-east-2s3-ap-northeast-1authauthauth-fipsauth-fipseu-west-3ap-south-2eu-south-2eu-central-2ap-southeast-3ap-southeast-4ap-northeast-3eu-central-1mx-central-1me-central-1ca-central-1il-central-1ap-northeast-1ap-southeast-1me-south-1af-south-1eu-south-1ap-south-1ap-southeast-7us-west-2eu-west-2us-east-2eu-north-1ap-southeast-2ap-northeast-2ap-southeast-5us-gov-west-1us-gov-east-1ca-west-1us-west-1eu-west-1us-east-1ap-east-1sa-east-1rservicesbuilderstg-builderdev-builder*ociocpocsdemoinstanceeu-west-3eu-south-2ap-southeast-3ap-northeast-3eu-central-1me-central-1ca-central-1il-central-1ap-northeast-1ap-southeast-1me-south-1af-south-1eu-south-1ap-south-1ap-southeast-7us-west-2eu-west-2us-east-2eu-north-1ap-southeast-2ap-northeast-2ap-southeast-5us-gov-west-1us-gov-east-1us-west-1eu-west-1us-east-1ap-east-1sa-east-1previeweu-4us-4us-1eu-1us-2eu-2us-3eu-3appspaasrag-cloudrag-cloud-chjcloudjcloud-ver-jpcdemonodebalancermembersipeuxvsoncillaocelotonzayalilynxsphinxfentigercustomercaracalo365cloudstaticxendevapp001testcode-builder-stgplatformapimediasiteprojedrydpagesjsu2u2-localx0desazacncoitrueu4uhkukgrbrushatenadiarymyspreadshopfrom-flfrom-wvwebspace-hosttheworkpchatenablogservesarcasmapplinzisakuratanwixsiteappchizigiizeis-into-carsdnsiskinkyadobeaemcloudis-a-therapistpgfogmyvncdojinis-an-actress1kappfldrvkozowqa2jpnmexprgmrfirewall-gatewaydynnscafjsfbsbxooguyxnbayfrom-gawoltlab-demois-a-anarchistwiardwebteaches-yogadattowebtb-hostinglive-websiteservegamegotpantheonfrom-nhsubsc-payfrom-ohvipsinaappfrom-cadyndns-officehomelinuxfrom-mahercules-appservebbsstreakusercontentfrom-okfrom-wyfastly-terrariumis-a-llamaqualyhqportalserveexchangeon-vaporvivenushopciscofreakgrayjayleaguesmetaaiusercontentfrom-iais-a-libertariansaves-the-whalestaveusercontentyolasiteoperaunitepoint2thisis-a-catererlinodeusercontentfrom-vagithubusercontentsells-for-lesshosteurcanva-appsplaystation-cloudddnsfreefrom-pafrom-prfrom-waddnskingoutsystemscloudhotelwithflightmydattois-a-nascarfanmydbserverminiserverdamnserverservehumouris-a-playerfrom-nvfrom-nmemergentagentgentappsamplifyappfrom-kyis-an-accountantnfshostserveircfrom-akpythonanywherestackhero-networkpostman-echolikescandydyndns-mailobservableusercontentserveftpfreeboxosfrom-utcdn77-storageamazonawsneat-urldyndns-serverlinodeis-a-teacherfrom-vtgleezemythic-beastsus1-pleniteu1-plenitla1-plenitpaywhirlservecounterstrikejdevcloudhealth-carereformis-into-animegoogleapisis-a-painterafricaisa-hockeynutatmetais-an-actora2hostedis-a-democratdatadetectest-le-patrondigitaloceanspacesis-a-designeris-a-hunterlinodeobjectstemp-dnsissmarterthanyoufrom-arsimplesiteevennodetownnews-stagingis-a-liberalgooglecodejelasticservemp3stdlibqualyhqpartnerdyndns-free1cooldnsest-a-la-masiondrayddnsdynuddnsfrom-orfrom-miis-a-bloggerfrom-himydobisscanvacodeis-an-engineerest-a-la-maisonupsunappdevinappswafflecellmyasustorwpenginepoweredfrom-ctservep2psame-appmyshopblocksthingdustdatalikes-piediscordsezis-with-thebanddev-myqnapcloudlpusercontentis-leetshopitsite3utilitiesis-a-personaltrainersinaappladeskis-a-cheflogoipselfipbase44-sandboxnospamproxyalibabacloudcsmesswithdnsauthgearappsiamallamawithgooglelutrausercontentmochausercontentframercanvasmytabitdyndns-homew-credentialless-staticblitzcpserverdiscordsaysis-a-nurseappspotatlassian-isolated-3premotewdfrom-mtwixstudiocode0emm180rmyactivedirectoryawsappsmytuleapdnsabrpolyspaceqbuserrenderbuiltwithdarkboutirgotdnsabrdnsdopaascanva-hosted-embedawsglobalacceleratorhomesecuritypcmyiphostditchyouripclever-clouddyndns-ipon-aptibleis-a-musiciansecuritytacticsappspaceusercontenthomeunixstrapiappsame-previewcf-ipfsmycloudnaselasticbeanstalkis-certifieddontexistkasserverik-serverdrive-platformatlassian-3pfirebaseappherokuappawsapprunnerbarsycenteris-a-cubicle-slaveservehttpmyshopifyis-a-guruquicksytessiiitesorsitesmagicpatternsappis-a-cpameteorappfrom-wiis-a-rockstarbumbleshrimpdattolocalreadthedocs-hostedfrom-rifamilydsdyndns-picsplesknsbplaceddnsaliasdynaliasdyndns-remotedoomdnsip-ddnsblogdnsis-a-doctorroutingthecloudamazoncognitobarsyonlinedsmynasddnsgurucloudflare-ipfsdeus-canvasfrom-idsmushcdnpagespeedmobilizerdyndns-at-homeunusualpersonhosted-by-previderis-a-republicandyn-o-saurstreamlitappworkisboringonthewificprapidqualifioappis-uberleetis-slickgetmyipwpdevcloudtypeformdyndns-at-workgentlentapismynascloudw-corp-staticblitzfrom-ingeekgalaxyservebeerfrom-mdonrenderspace-to-rentaivencloudappspacehostedonfabricawafaicloudcodespotblogspotatlassian-3p-us-gov-modfrom-ndfrom-msis-a-techieis-a-studentcustomer-ociis-a-photographerdurumisfrom-ksmassivegriddyndns-wikiis-an-entertaineris-a-hard-workermysecuritycamerafrom-mnrackmazedyndns-blogis-a-bulls-fanwritesthisblogfreemyipsimple-urlfrom-sdreservdauthgear-stagingest-mon-blogueuris-into-gamesrice-labsxtooldevicesakurawebis-an-anarchistoraclecloudappsdyndns-worksells-for-urhcloudfrom-dcfastvps-serverwpmucdnis-a-geekscrysecfrom-txis-into-cartoonsmodelscapetrycloudflarelocaltonetstreak-linkbalena-devicesfrom-njforgeblocksfreebox-oswebadorsitefrom-ncdoesntexisthobby-sitestreaklinkshomesecuritymacownprovidertuleap-partnersdattorelaywphostedmailalpha-myqnapcloudservequakeis-a-socialistservehalflifepivohostingdynuhostingquipelementsw-staticblitzdyndns-webfrom-deproject-studyaliases121is-not-certifiedhercules-devis-a-financialadvisorservepicsis-a-greenloseyouripfrom-ilwithyoutubemwcloudnonprodwiredbladehostingdnsdojofrom-tnpixolinomyqnapcloudis-an-artisthostedpiis-a-landscaperauiusercontentoaiusercontenton-forgeis-a-conservativedreamhostersnet-freaksapps-1and1is-goneencoreapifastly-edgefrom-nesalesforcefrom-scdeployagentoraclegovcloudappsfrom-alis-a-lawyercechirevultrobjectsstufftoreadisa-geekddnsgeeklovableprojecttry-snowplowfrom-moblogsyteis-a-bookkeepernogmyforumravendbmyboxdeelementoredsaacficogoorinforgcomgobnatneteduidstoreorgcomnetintedudevnomepublorgcomneteduathgovtestscalculatorspaynowinfoquizzesresearchedcloudnsfunnelsassessmentsjscaleforcetmacltdorgmilcompronetgovbizpresseklogesrsccloudcustomfltusrcloude4corealmgovmunicontentproxy9metacentrumdyndyndyndnsdynpagespages-researchitionoccustomercomymyspreadshopipv64diskussionsbereich4limacomrub2ixfirewall-gatewayddnssspdnsbarsykeymachinesquare7myhome-serverspeedpartnercommunity-proschuldockxenonconnectgünstigliefernbwcloud-os-instancedyndnssecmy-routerxn--gnstigliefern-wobin-butterl-o-g-i-nisteingeekin-dslin-berlinin-brbfuettertdasnetzleitungsenin-vpnlcube-serverdyn-ip24logoipdyn-berlinruhr-uni-bochum12hpgoipsrvdnsfruskygit-repossvn-reposinternet-dnsgünstigbestellenhome-webserverxn--gnstigbestellen-zvbbplacedheimdnscosidnswebspaceconfiglima-citydyndns1istmeinvirtualuserschulplattformmy-gatewayddnsseclebtimnetztest-iservmein-iservvirtual-userhome64iservschuletaifun-dnstraeumtgeradeschulserverdynamisches-dns123webseitednshomehs-heilbronndnsupdaterbssgraphicdwadpdwdaepeweaawapaafpfwfabwbpbacwcpcciwebuserapiobjectsidsiskospockkimodorikerbonesteamsparisjanewaypicardglobaltarpitreedpikekiraworfsulukirkarchertuckerhackercanarywesleystagingprereleaset3r2lpbravepanelngrokiservstglclcrmerpflypagesbarsyvivenushoplocalcertlocalplayerbearbloggatewaydeno-stagingis-not-ais-a-goodbotdashvercelmocha-sandboxplatter-appreplitgithubpreviewworkersinbrowserevervaultdetais-ahrsndenoxmitmodxmyaddrstorageapipayloadgrebedocruncontainersstgstagelclstageloginlineis-a-fullstackleapcellngrok-freeis-coolstoragewebharemediatechlibp2pdiscourseimaginecomyspreadshopstoreregbiz123hjemmesidefirmcoorgcomnetedugovsldorgmilcomwebgobartnetedugovtmorgpolcomsocartnetedugovassoagrondiscoodontk12medcuegyecpaabgengorgmilgalsaltulcomadmesmgobpubdocmonfindgnriouioproartlatvetnetfotedulojgovntrturibrbarxxxofficialbasechefprofmktgpsictechinfoarqtcontdentrrpppsiqgit-pagesritmedfieorgcomlibprieduaipgovriikmeactvsportorgmilcomscieunnetedugovnameinfopintouchtawktotawkmyspreadshoporgcomnomgobedu123miwebcomputeorgcomnetedugovbiznameinfocognito-idpeusc-de-east-1onjelasticnxaspdnsbarsydirectwpdeuxfleurstransurldogadoprvwcloudnsamazonwebservicesdnshomeuserpartycokoobinmkmstorjfidemopaasdymyspreadshopalandkapsiikixn--hkkinen-5wacloudplatformdatacenterhäkkinen123kotisivuidacorgmilcompronetedugovbiznameinforadioorgcomneteduuserexperts-comptablestmmyspreadshopgretaprdcomnomynhccifbxoshuissier-justicenotairesaeroportfreeboxoson-webavocatassoportgouvkdnschirurgiens-dentistes-en-franceavouesfbx-os123sitewebveterinairechirurgiens-dentistespharmacienchambagrimedecinfreebox-osdediboxgoupilemszicpyicpvicppleysheezypagesedugovcnpyorgcomcybllcpvtnetedugovtnxonlineschooldaemond6atcopanelorgnetplybotdashstackitkaasorgmilcomnetedugovbizmodltdorgcomedugovcoorgcomneteduappwriteacorgcomnetedugovcloudtranslateusercontentorgcomnetedumobiassoorgcomnetedugovbarsysimplesitediscourseindorgmilcomgobneteduorgcomwebnetedugovguaminfonxhra教育敎育網絡网絡组織組織网络網络组织組织公司政府個人个人箇人ltdorgcomincneteduidvgovxn--uc0ay4axn--55qx5dxn--mk0axixn--io0a7ixn--uc0atvxn--zf0avxxn--lcvr32dxn--od0algxn--wcvs22dxn--gmqw5axn--od0aq3bxn--mxtq1mxn--ciqpnxn--tn0agxn--gmq050iorgmilcomgobneteduiservwp2tempurlmircloudfreesitewpmudevmyfastgadgetcloudaccessjelehalfboltfastvpsemergenteasypanelopencraftizcombrendlynamefromrtpersoadultmedorgpolrelcomproartnetedufirminfoassoshopcoopgouvtmcomediahotelforumvideosportorgsexagrargameslakaseroticaerotikatozsdereklamcasino2000filmsuliinfoboltshopprivnewsszexcityutazasjogaszkonyveloingatlaneacaicogoormyᬩᬮᬶmilwebschnetkopbizzonedesaponpesxn--9tfkymyspreadshopgovmytabittabitorderravpageaccok12idforgnetgovmuniltdplcaccotttvorgcomnetmeca6g5gpgamubacaicniocoukuptverdruscsdelhiindorgmilcomwebnicfingenpronetintedugovresbizbiharbarsyinternetbusinessschooltravelsupabasealumnigujaratfirminfoaeropostbankcoopindevscloudnsno-ipbarsybarrell-of-knowledgebarrel-of-knowledgensupdategroks-thisdnsupdatefor-ourknowsitalldvrcammittwalddynamic-dnsv-infowebhopselfipdyndnshere-for-moreilovecollegemayfirstforumzcloudnsmittwaldservertypo3servergroks-theeusekd1uk0cdndyndnsidrawsainaueuapjpusstagemocksysdevicesclientcustreservdcustdevdisrecprodtestingcobeebyteutwenteboxfusebravepstmndedynngrokorgmilcomnomhzcnetedugovqcxqzzbarsythingdustmo-siemensrb-hostingprotonetfh-muenstergitbookbluebitecloudbeesusercontentnodeartkiloappsforgerockdarklangresinstagingapigeebubbleb-datascryptedhypernodedappnodepantheonsitegitlabgithubkeeneticvirtualservercleverappshostyhostingon-rioedugitticketstelebiton-acornwixstudioon-k3sicp0icp12038jeleqotobigvlairbubbleappsmyaddrstolosmyrdbxwebflowdrive-platformbeagleboardhasura-applolipopdefinimavaporcloudmusicianwebflowtestazurecontainerresindevicereadthedocsloginlineeditorxmoonscalesandcatsbasicserverwebthingsbrowsersafetymarkbeebyteappbitbucketidaccovistablogorgschnetgovxn--mgba3a4f16axn--mgba3a4fraarvanedgeايرانایرانjclaspeziapdudcefegelemeperetevebacanatavaparasabgagfgogrgpgalclblimfmrmcbmbvbfclcmcvcrcpcchlimifibicivipirisimncnbnanenrnpntnnolomobocoaogorosopotoptvtatctbtmtltotpulunutpspapaqsvpvvvtvavvrtrsrprgrfrcrbrarorkrvstsssbscsmsispzczbzbozen-suedtirolmyspreadshopxn--bulsan-sdtirol-nsbxn--valledaoste-ebbtrentinoaltoadigetrentin-sued-tirolxn--forlcesena-c8axn--forl-cesena-fcbxn--bozen-sdtirol-2obtriestetrentinsuedtiroltrentino-s-tirollecceudineaostesienaparmaluccapaviagenoapaduaaostamonzaabruzzoternirietiturinmilanbozenlaziofermoleccocuneonuoropratola-speziavdataaligfvgpugmolcalcamlomumbsicpmnvenvaoedugovabrsarmaremrbastoslazibxosfirenzetrentinosüdtirolval-d-aostavalle-aostamessinacremonaravennatoscanatrentin-suedtirolbolognacalabriaurbinopesarofriuli-v-giuliaogliastraxn--valle-aoste-ebblaquilaandriatranibarlettasyncloudtrentinosudtirolxn--valle-d-aoste-ehbaostavalleyvalled-aostatrentino-alto-adigevallee-d-aostexn--balsan-sdtirol-nsbpistoiasicilialucaniacataniaiserniaperugiabresciaveneziagorizialiguriaimperiabulsan-suedtirolbalsan-suedtirolbarlettatraniandriaxn--trentino-sdtirol-szbforlì-cesenatuscanyvallée-d-aostemantovavallée-aostecasertapiemontevalleaostaval-daostafriulivgiuliatrevisoforli-cesenavalléedaosteferrarapescaravald-aostatrentino-altoadigefriuli-vegiuliavallee-aostecarboniaiglesiastarantomediocampidanovalleedaostetrentinosud-tirolcampobassotrentinsüd-tiroltrentinosüd-tirolmonzabrianzatrentino-südtirolxn--trentino-sd-tirol-c3bpotenzacosenzavicenzaemiliaromagnavenicefrosinonemarchepordenonetrentinosued-tirolvaresemolisevalléeaostefriuli-veneziagiuliabasilicatalatinaanconasavonaveronamodenaaquilabiellabolzano-altoadigepugliafoggiaumbriatrentino-stirolgenovapadovamateranovararagusapiacenzatrentinostirolvalleeaostetempio-olbiatrentinsudtirolmassa-carrarafriuliveneziagiuliatrentinosuedtirolandria-barletta-tranitrapanixn--cesenaforl-i8amaceratacaltanissettaascoli-picenobrindisicarraramassacagliaririmininapolivibo-valentiachietibulsan-sudtirolbalsan-sudtiroltrentino-a-adigebulsanbalsaniglesiascarboniamilanotorinoteramodell-ogliastraarezzotrentinoalto-adigerovigotrentovenetoiglesias-carboniatrentino-sud-tirolaltoadigereggio-emiliareggio-calabriasardegnatranibarlettaandriapiedmontxn--sdtirol-n2amedio-campidanotrentino-süd-tirolfriuli-vgiuliafriuli-ve-giuliaromeennaromapisa32-b16-b64-blodiastibarineencomonaplesforlicesenailiadboxosalessandriasicilytrani-barletta-andriaxn--trentin-sdtirol-7vbpesarourbinotrentinsued-tirolcesena-forliforlìcesenaemilia-romagnamonzaebrianzaxn--trentinsdtirol-nsbtrentinos-tiroltrentinsüdtirolvalledaostaolbia-tempiocampidanomediovibovalentiasassarivalle-daostalombardyfriulivegiuliareggioemiliamonzaedellabrianzaalto-adigevercellitrentin-sudtiroltraniandriabarlettatrentino-sudtirolascolipicenobozen-südtirolfriulive-giuliaflorencevaldaostaxn--cesena-forl-mcbcarbonia-iglesiasaosta-valleycarrara-massadellogliastratrentinoa-adigexn--valleaoste-e7apesaro-urbinoxn--trentinosdtirol-7vbxn--trentin-sd-tirol-rzbxn--trentinsd-tirol-6vbtrani-andria-barlettatrentin-süd-tirolxn--trentinosd-tirol-rzbgrossetomonza-e-della-brianzasüdtirolreggiocalabriatrentinoaadigetrentin-südtirolfriuliv-giuliaverbaniacampaniatrentino-aadigefriulivenezia-giuliasardiniaandriabarlettatranibarletta-trani-andriacatanzarooristanourbino-pesarocesena-forlìvalle-d-aostacampidano-medio123homepagesiracusatempioolbiasuedtirollombardiaavellinocesenaforlìtrentinofriuli-venezia-giuliabozen-sudtirolandria-trani-barlettabulsan-südtirolbalsan-südtirolmonza-brianzabolzanotrentino-sued-tirolbellunosalernolivornocrotonesondriodnshometrentinsud-tirolmassacarraratrentin-sud-tiroltrentino-suedtirolviterbobergamocesenaforliolbiatempiopalermobeneventoagrigentoofcoorgnetfmaitvphdengorgmilcomschnetedugovperagrikanieasukehandachitatokaiaisaikonanoharuamaobuhigashiuraowariasahiinuyamatobishimaiwakurashitarainazawatoyonegamagorimihamatoyotataharakariyayatomioguchikomakimiyoshinishiotokonamekiyosuchiryutoyohashiokazakiisshikikasugaikotakiratoeianjotogofusosetohazutsushimashinshirotakahamanisshinshikatsuhekinantoyokawaichinomiyatoyoakeodateogataakitaikawakyowahonjoogayurihonjonoshirokamiokakatagamimitanegojomeyokotekosakadaisenkazunonikahohonjyomoriyoshimisatohappoukamikoanihachirogatahigashinarusesembokufujisatokitaakitaitayanagiowanitakkomutsutsurutahirosakigonoheoirasetowadamisawanohejiaomorishingohiranairokunohehashikamitsugarushichinohehachinohenakadomarisannohekuroishisakaeisumiasahiotakiinzaiabikomatsudoyachiyomutsuzawakujukuriomigawakashiwatoganemihamanaritasakuranagaramobarahanamigawachoshishiroichoseikozakishisuikatorimidorichonankyonanfuttsuonjukufunabashinagareyamanodasosatakochuotohnoshourayasukimitsuyokaichibayotsukaidosodegauratateyamakamagayayokoshibahikariyachimatakatsuuratomisatokisarazukamogawaichikawanarashinoichinomiyashimofusaminamibososhirakoichiharaoamishirasatoikatahonaiainansaijoseiyoiyoozuuwajimaniihamanamikatamasakiuchikokihokutobetoonshikokuchuomatsuyamaimabarikamijimakumakogenyawatahamamatsunosabaeikedaobamasakaifukuiohionotsurugamihamawakasaminamiechizeneiheijikatsuyamatakahamaechizensoedaukihaomutaokawanishiogoribuzenonojosueumiokiotochikugosasagurisaigawamizumakishinyoshitomikurumekurateyamadakasuganakamamiyamanogatatakatahakataiizukakawaratagawakasuyaashiyainatsukimunakataminamitsuikishonaikurogifukuchikeisenhigashimiyakoshinguyukuhashiokagakiyamekogaongausuikahotohochuotoyotsumiyawakadazaifuhisayamatachiaraiyanagawanakagawahirokawachikujochikushinochikuhochikuzennamieotamaokumashowateneiiwakikoorinangoononishigoshimogoomotegomishimafukushimaasakawakagamiishishirakawaiitatefutabahiratayugawahanawakitakatakawamatakunimiyabukibandaihigashihironoyamatomiharuyamatsuriaizubangedatesomaaizuwakamatsuyanaizuaizumisatonishiaizuizumizakikitashiobarataishinkaneyamakoriyamainawashirotanagurafurudonosamegawasukagawaishikawatamakawaikedaogakitaruiginanenahashimahichisonakatsugawaibigawashirakawamizunamiminokamomitakekawauesekigaharatomikasakahogikitagatayamagatatajimianpachimotosuyaotsukakamigaharahidakanisekitokigujominogodoyorogifukasamatsutakayamawanouchihigashishirakawakasaharashimonitatsumagoichiyodakannakanrashowameiwakiryuotaoratomiokafujiokaitakuranaganoharahigashiagatsumatakasakishibukawaminakamikatashinatsukiyonokawabanumataannakaoizumimidorishintoisesakiuenoyoshiokakusatsutakayamanakanojonanmokutamamuratatebayashimaebashiotakekaitadaiwahongofuchukuietajimashobaramiharahatsukaichihigashihiroshimamiyoshikumanokurenakasakaseraseranishiasaminamifukuyamashinichionomichiosakikamijimajinsekikogentakeharaotobenanaeikedatohmaozoraobiraabirakyowaeniwataikibibaisharirebunerimohiroooketootarupippunishiokoppechitosefurubirahakodateshiranukakitahiroshimakushiroobihironanporoiwamizawaniikappukunneppufukushimanakasatsunaitoyourakuromatsunaiakabirakamisunagawashibechaurakawakamifuranonakatombetsuasahikawashimokawakayabeokoppebiratoriabashirisaromaatsumanumatahidakabifukamukawamikasahorokanaitoyotomisarufutsuhigashikawaishikarikitamiyoichiesashiiwanaitomariminamifuranoakkeshifuranotoyakoyakumootoineppushikaoishiraoinemuronayorohaboroashorobihororishirifujiutashinaihokutotakasuebetsuurausuassabukikonaishimamakinaiedatetoyabieinikiesanuryuoumuteshikagarikubetsuashibetsukimobetsuaibetsutobetsusobetsuembetsushimizuchippubetsurishirihokuryuhoronobeshintokutsubetsushibetsuhonbetsumombetsutsukigatakuriyamakoshimizushiriuchikutchanmurorannoboribetsukamishihorowassamushinshinotsukembuchiwakkanaikamoenaikiyosatotakinoueshikabesunagawafukagawanakagawatakikawakamikawahigashikagurahamatonbetsumatsumaemoseushirankoshishakotanimakanemashikeotofuketomakomaisandatambaitamiawajikasaiasagoshisoonoakoyashirotoyookaminamiawajiinagawafukusakitakasagokamigorikasugaharimayokawaashiyahimejiakashitaishiaogakisannantakinosumototakarazukanishinomiyashingugoshikinishiwakiyokatakaaioimikisayoyabukawanishiamagasakisasayamashinonsenkakogawaichikawakamikawatatsunotsukubaiwamaogawaasahisakaitokaioaraiitakobandodaigosuifuinaamikasumigaurakashimaomitamayachiyoshimodatetomobetoridehitachinakainashikisakuragawakasamayawaramoriyahitachiomiyanamegatayamagatahitachikamisuushikutakahagiibarakitonekoganakasowayukimihojosomitoryugasakishimotsumafujishirotsuchiurachikuseihitachiotashirosatotamatsukuriuchiharashikahakuinanaotsubatawajimakahokukawakitatsurugikaganominotosuzuuchinadakomatsuanamizunakanotohakusannonoichikanazawaiwateshiwafudaikawaimoriokaofunatohanamakikuzumakikitakamininohekunoheyamadayahabasumitaichinosekitanohatahiraizumirikuzentakatajobojiotsuchihironomiyakoiwaizumikarumaiichinohenodakujitonooshushizukuishifujisawamizusawakamaishikanegasakimannoutazukotohiraayagawazentsujihigashikagawauchinomikanonjisanukimarugamemitoyotakamatsutadotsunaoshimatonoshoakuneamamiizumihiokiyusuikinkoisasookouyamanakatanekagoshimakanoyaisenkawanabeminamitanemakurazakitarumizunishinoomotematsumotosatsumasendaioimatsudaayaseebinamiurazushinakaiodawaraiseharasagamiharahakoneaikawakaiseiatsugitsukuihadanoyamatoyamakitazamaoisochigasakininomiyayokosukakamakuraminamiashigarafujisawasamukawakiyokawahiratsukayugawaraokawaumajikochitsunootoyoakiinonishitosayasudahidakamiharasakawaniyodogawahigashitsunokagamigeiseisusakiotsukinaharisukumomurototosakamiochitoyotosashimizumotoyamanankokunakamurakitagawayusuharaogunichoyoukiasoutoozugyokutoamakusamifunetakamoriyamagaminamataminamiogunikikuchisumotoyamatonagasumashikiaraokumamotokamiamakusanishiharayatsushiroayabeseikasakyoideineujinakagyokameokakyotangokyotanabekyotambaminamiyamashiroyamashinatanabeyawatawazukaminaminantanmiyazuhigashiyamafukuchiyamakitamukokamojoyokizumaizuruujitawaraoyamazakinagaokakyokumiyamakawagoeinabeshimameiwaasahitaikiudonoisetsukisosakikuwanamihamamiyamasuzukatamakimisuginabarikumanokomonominamiisewataraitobakiwatakikihotadomatsusakayokkaichikameyamaureshinoishinomakishichikashukuohirataiwaosakizaohigashimatsushimashikamaiwanumashibataogawaraonagawakawasakiseminemarumoriminamisanrikukakudamuratawakuyatomiyanatoriwataritagajomisatotomekamirifushiroishimatsushimayamamotoshiogamafurukawahyugaebinotsunosaitoayakushimanobeokakitauramiyazakitakazakigokaseshiibamimatashintomikunitomikitakatakobayashikawaminamitakaharukijotakanabemiyakonojonishimeranichinankitagawakadogawamorotsukakisofukushimaminamimakisakaeobuseikedaogawamiasaokayaasahiotakiotarichinoinaomichikumakomaganechikuhokukaruizawayasuokaooshikaikusakaminamiaikitogakushimatsukawakawakamitateshinatakamorikitaaikishiojirimiyadahakubaiizunaiijimaiiyamamiyotasuzakayasakatoguraookuwanagawaminowahirayayamagataminamiminowafujimiomachisakakitakaginaganonakanosakuhokomoronagisoshinanomachiwadauedaiidaharasuwatomiachiaokianankisosakunozawaonsenagematsutakayamashimosuwamatsumotoyamanouchinakagawamochizukiazuminotatsunoobamaomuraseihiunzenosetofutsuikichijiwanagasakiisahayahasamisaikaikawatanasasebohiradokuchinotsugototogitsutsushimashimabarashinkamigotomatsuurayamazoekashibaikomakawaitenrioyodosangokoryoudaojiikarugayamatokoriyamatenkawakatsuragikurotakikawakamimiyakemitsuetakatorikamikitayamayamatotakadahegurishinjokanmakisakuraitawaramotogoseoudanarasoniandokawanishishimoichihigashiyoshinokashiharashimokitayamanosegawayoshinomintsivorytopazsakuragehirnsumomoaseinetopalmail-boxmokurenyoitamuikaojiyagosensanjoaganomyokoseiroagaomishibataniigatanagaokamurakamiuonumayuzawakariwatagamitainaitsunanminamiuonumatochioyahikojoetsuseiroukamosadoizumozakitokamachiitoigawasekikawakashiwazakitsubamemitsukekokonoesaikiusukibeppuusahimeshimakunisakihasamataketatsukumihitaoitahijikusuyufukujukamitsuebungoonobungotakadaibaraniimibizentsuyamaokayamakasaokahayashimayakagemaniwaakaiwamisakishinjotamanotakahashikibichuowakesojanagishookumenannishiawakurakurashikiasakuchisetouchikagaminosatoshotomigusukunakagusukuyaeseizenaurumaiheyaaguniogiminanjokinminamidaitokitanakagusukuyonaguniokinawaishigakikunigamiurasoekadenataramahiraraginozataketomishimojizamamitonakiitomanhigashimotobuyonabarugushikamionnanahanagohaebarukumejimakitadaitonakijinnishiharayomitanginowantokashikiishikawaikedasuitaminohizuminishisakaikananabenodaitoosakasayamayaokishiwadatadaokakaizukatondabayashichihayaakasakakumatorikadomasayamahigashiosakashijonawatehirakatataishimisakitajirihannansennankatanotoyonominatosettsuhigashiyodogawaibarakinosekitachuohigashisumiyoshifujiiderakashiwaraizumiotsutoyonakamatsubaramoriguchiizumisanoshimamototakatsukineyagawahabikinotakaishikawachinaganoyoshinogarikamiminearitaouchiimarihizenogikashimaariakekiyamafukudomikitagatakitahataomachigenkaikanzakinishiaritakyuragisagataratosutakushiroishikaratsuhamatamakouhokukawagoeyoshidasatteogoseirumaasakaurawaogawaniizaomiyayoriiotakishikihonjooganohannohanyuinasaitamaokegawaarakawayoshikawayokozehasudasayamahidakafukayachichibuiwatsukiryokamiyoshimikamiizumifujimiwarabiranzanmiyoshiminanoyashiosakadosugitomisatohigashichichibutodasokakukiyonokazoshiraokakasukabekounosukawajimatsurugashimamiyashirokitamotohatoyamamoroyamahatogayakumagayakawaguchinagatorokamisatomatsubushinamegawatokigawakamikawafujiminohigashimatsuyamakoshigayatokorozawas3isk01isk02ryuohkoseikonanaishorittotakashimamaibarahikonetorahimenishiazaikokagamokotoyasuotsukusatsunagahamamoriyamatoyosatotakatsukinotogawaomihachimanhigashiomiakagiunnanizumogotsuamayatsukakakinokimatsuehamadamasudahikawahikimiokuizumoyasugiyakumomisatotamayuohdahigashiizumookinoshimanishinoshimatsuwanoshimaneshimadafujiedayoshidashimodagotembaiwataatamikosaiyaizuitoizumishimahaibaramakinoharaomaezakikawanehonkannamisusonohigashiizufukuroinumazukawazufujiaraishizuokahamamatsushimizuizunokunimatsuzakimorimachiminamiizunishiizukikugawakakegawafujikawafujinomiyaujiietsugaoyamayaitaohiranikkoashikagakuroisokanumasakurashioyakarasuyamamotegiichikaikaminokawatochigihagamokanogisanobatonasumibunasushiobaranishikatautsunomiyaiwafunemashikoshimotsukeohtawaratakanezawaitanokomatsushimatokushimaichibaminamiaizumiwajikikainanmiyoshinarutomimamugiananmatsushigesanagochishishikuinakagawamachidachiyodakomaefussainagitaitochofufuchuomeotahigashiyamatotoshimaokutamaaogashimakodairaedogawaarakawahachiojishinagawatachikawashibuyasuginamihinodekiyosesumidaoshimanerimamitakahamuraadachinakanomizuhobunkyomegurominatokoganeihigashikurumekokubunjihigashimurayamamusashimurayamatamakitahinochuokotokatsushikakouzushimaogasawaraakishimakunitachishinjukusetagayamusashinohachijoitabashiakirunohinoharachizunanbukotouramisasawakasayonagokogehinoyazutottorinichinansakaiminatokawaharaoyabetairainamiasahinantoimizufuchutakaokakurobeyamadajohanatoyamatonaminyuzenfunahashinakaniikawanamerikawaunazukitogahimiuozufukumitsutateyamakamiichiiwadearidayuasainamitaijikatsuragiaridagawatanabemihamahidakakainankiminomisatoshingushirahamakamitondayurakozakoyagobokitayamawakayamakudoyamahashimotokushimotokozagawahirogawakinokawanachikatsuurarsuseroeoishidasagaeoguniasahinagaitendonanyoobanazawanishikawasakataohkuratozawamikawamamurogawayamagatafunagatatakahatashonaishinjokahokuiideyuzakawanishitsuruokakaminoyamayamanobeshiratakamurayamanakayamakaneyamahigashineyonezawasakegawamitouubeyuuabushimonosekitabuseoshimatoyotaiwakunihikarishunannagatohagihofukudamatsutokuyamashowadoshitsurunanbukoshukaiminami-alpsnirasakikosugeotsukioshinohokutominobuyamanashifuefukichuokofuichikawamisatoyamanakakonakamichitabayamanishikatsuranarusawafujikawahayakawafujiyoshidafujikawaguchikouenohara長野京都岐阜大阪三重群馬千葉滋賀佐賀奈良adednelgaccogogror秋田愛知高知埼玉沖縄栃木熊本岩手青森山梨新潟島根鳥取長崎香川宮城石川大分宮崎茨城山口兵庫山形徳島広島福島福岡岡山富山静岡愛媛福井東京xn--4it168dhatenadiaryxn--vgu402ckawaiishophatenablogcocottenamaste北海道penneehimeiwateversestabachibashigagonnagunmapermahaccaakitaosakauh-ohblushkochiaichifukuikuroncapooitigohyogotokyokyotopunyuthickcheap0t00g00j0mie2-ddaapyawjg0amfemsubxiiboomoobutchueekpgwrgrherskrboyrdyupperunderflierchipsmydnsheavyangryhippygirlyrulez神奈川鹿児島和歌山bambinaxn--nit225kokayamasaitamaxn--k7yn95exn--1lqs03nsapporoparasitelolipopmcxn--efvn9sniigatafukuokatokushimafukushimahiroshimakagoshimafakefurokinawaxn--8pvr4ucoolblogxn--0trq7p7nnkawasakinagasakimiyazakichilloutxn--8ltr62kxn--klty5xpeeweezombiecutegirlxn--rny31hxn--uuwu58axn--ntso0iqx3axn--djrs72d6uytoyamanikitanyantakagawamimozanagoyaboyfriendxn--2m4a15egreaterchowderegoismyamagatafashionstorexn--elqq16hxn--pssu33lsendaimiyagixn--rht27zpecoriaomorisaloonwatsonvivianxn--djty4knobushipigboatnaganopinokoxn--f6qx53asadistvelvetsecretxn--5js045dchicappayamanashiibarakidigickgirlfriendxn--1lqs71dmongolianxn--c3s14mxn--qqqt11mtochigixn--5rtq34kparallelo0o0mondkobesagabonadecaoitanarafoolkilldecimainhiholomosblokilociaoundopupugifutankcrapflopnooroopsmodsholyjeezstripperpepperbittershizuokaxn--rht3dkitakyushureadymadeicurusversusmatrixxn--rht61ehungryfloppygloomycrankyhandcraftedlittlestarxn--klt787dxn--kltx9awhitesnowsunnydaytottorilovepoptheshopbuyshopxn--5rtp49cxn--d5qv7z876cwebaccelxn--kbrq7oxn--4pvxsxn--1ctwolovesickkumamotocatfoodxn--tor131oyokohamawakayamatonkotsuxn--ehqz56nxn--uist22hxn--6btw5axn--kltp7dyamaguchifrenchkisspussycatxn--4it797kxn--uisz3gbabybluexn--zbx025dnetgamersxn--7t0a264ckanagawaxn--6orx2rishikawaxn--ntsq17ghalfmoonschoolbusjellybeanxn--mkru45iusercontentlolitapunkxn--32vp30hsakurastoragehokkaidoshimanecandypopbabymilksupersaleweblikeraindropbackdropwebsozaikikirarahateblodaynightmeneacsccogoormobiinfoaeusxxorgmilcomnetedugovorgcomnetedugovbizinfotmprdorgmilcomnomedugovassnotairespresseassocoopgouvveterinairemedecinpharmaciensorgnetedugovtraorgcomedurepgovmeneperekgacscaiiocogoitoresmshsseoulbusanulsandaeguc01milvkimmvchungnamjeonnamjeonbukeliv-dnsgyeonggijejueliv-cdnincheondaejeongangwongyeongbukgwangjuchungbukgyeongnameliv-apicoeduindorgcomembnetedugovorgmilcomnetedugovjcloudorgcomnetintedugovperbnrinfocooyorgcomnetedugovipfscanvamypepw3sstorachakeeneticjoinmcinbrowserdwebcyonnftstoragemyfritzaemewphlxachotelltdorgcomwebsocschngonetintedugrpgovassnomgacsccoorgnetedugovbizinfo123websiteidorgmilcomasnnetedugovconfidmedorgcomplcschnetedugovaccoorgnetgovpresstmassoirseproxaccosoundcasthoptocraftvp4c66orgnetedugovitsmcdirmyboxbarsyedgestacksynologylogintonohostwebhopdiskstationi234tcp4hoocgroknoipprivmydsddnsdnsforlohmustransipdscloudfilegear-sgbrasiliafilegearframerbarsybarsyonlinecoprdorgmilcomnomedugovinforgcomnetedugovnameacprorgcomartnetedugovpresseinfoassoinstgouvorgnycedugovbarsydscloudjuorgcomnetedugovminisiteaccoororgcomnetgovorgmilcompronetintedugovbizmuseumnameinfoaerocoopaccoorgcomnetintedugovbizcooporgcomgobneteduorgmilcomnetedugovbiznameaccoorgmilneteduadvgovcoorgcomnetaltgovforgotherhiskeeneticispmanagernomassoprod5476132eastasiacentraluswesteuropewestus2eastus2rucdnwest1-usfra1-desandboxjls-sto1jls-sto3jls-sto2aglobalabglobalsslmapprodfreetlsmaplon-1lon-2ny-1fr-1sg-1ny-2paassnwebpaashostingjelasticnordeste-idcsocuserpagescwebfileblobservicebuscoreatlricnjsjelasticwebsitestoragesezagbinruhuukjptsmyspreadshopmynetnameakamaiorigin-stagingfrom-coipv64dynv6cdn77serveblogadobeaemcloudhicamsprytdnsupno-ipownipde5ovhicpfirewall-gatewaysytesmypsxbarsyusgovcloudapimyamazemyradwebakamaihdsaveincloudfastlylbfrom-lasubsc-paysquare7in-the-bandblackbaudcdnhomelinuxoninfernoctfcloudservebbsdns-dynamiccloudfrontakamai-stagingipifonyham-radio-opsenseeringclickrisingcommunity-profrom-nylocalcertgrafana-devedgesuite-stagingcloudflareanycasteating-organicatlassian-devmydattofeste-iplocaltotorprojectknx-serveredgekeycloudflareglobalcloudyclustercasacamserveftpakamaized-stagingakamaiorigindns-cloudmyeffectboomlabotdashbuyshousestwmailhetemlazure-mobilein-dslthruhereredirectmedynuddnsbouncemesupabaseluyanicloudappakamaicloudfunctionsdebiannhlfanpgafanstatic-accessin-vpnmysynologymafeloappudohomeftptrafficmanagersiteleafseidatmemsetcloudflarecloudaccesskeyword-onazure-apiis-a-chefdoes-itgets-itwebhopselfiphomeipkicks-assedgesuitewindowsserver-ontunnelmolemydissentscrapper-sitecloudflarecnuni5srcfggffiobbzabcdenodynuopikddnsvpndnsakadnselastxkinghostvps-hostfastlyhomeunixazureedgeshopselectdontexistmyfritzcloudjiffyalwaysdatasells-itsquaresbroke-itazurefddattolocalat-band-campmeinforumfamilydsazurestaticappsdefinimabplaceddnsaliasdynaliasnow-dnsblogdnsroutingthecloudendofinternetdsmynasakamaiedgemymediapcadobeio-staticakamaiedge-stagingakamaihd-stagingddns-ipprivatizehealthinsurancelive-onkrellianschokokeksmassivegridmysecuritycamerarackmazeserveminecraftfrom-azis-a-geekakamaizedmoonscalecryptonomicoffice-on-theusgovtrafficmanageradobeioruntimeedgekey-stagingreserve-onlinechannelsdvrdnsdojousgovcloudappcdn77-sslapps-1and1podzoneazurewebsitesdynathomescaleforceyandexcloudvusercontentisa-geekcdn-edgescoaemalcesappwriteazimuthtlonarvonoticeablestorecomwebrecnetperotherfirminfoartslgdloncogoiltdorgmilcolcomplcschgenngonetedugovbiznamefirmmobiacincoorgmilcomnomwebgobnetintedubizinfocomyspreadshopdemongovtransurl123websitehosting-clusterkhplaycistrongsnesosvalervålerxn--vler-qoaossandeheroysandeherøybøboheroyherøyxn--hery-iraxn--b-5gavalerbøboxn--b-5gasandesandexn--hery-iraxn--vler-qoavålerhåreålaahavaofsfvfhlolnlalrlhmfmtmahcostntbuåstrmreigersundmyspreadshopgálsáeidsvolltingvollgildeskalflorøvadsøvardøvanylvenxn--bhccavuotna-k7astrandaxn--kvnangen-k0axn--sknland-fxaxn--mosjen-eyarakkestadhyllestadnannestadvevelstadvaapstenordre-landsondre-landsøndre-landtjieltexn--vrggt-xqadsør-aurdalsor-aurdalheradstordmoldefordeførdeseljefedjeryggehemnexn--krehamn-dxasognegranesøgnebrynetjomevallebykletokkegiskedovretjømehobølvoldasaudatolgasømnaviknadønnasomnadonnatranafrananesnaraumasmolatrænafrænalesjasmølaørstaorstahitrafloraaukraloppafrøyarissasnasahalsagalsaromsaraisaráisafroyasnåsagronghobolfjelltydalårdalardalaskimharamkraanghkekråanghkesorumbarumhurumbærumsørummodumsálátbálátfrognbjugnvåganvagangulenskienløtenlotenstrynvefsnxn--merker-kuaskaunsveiobømlobomloskjåkvardoflorovadsosalatbalatsálatklæbuklabuselbubarduulvikskjakklepprisørxn--nttery-byaeflåeidflahofmilgolholsellomskifetvikdepvgsfhsaskerrisorhamarasnesåsnesrørosrorosxn--slat-5namasoynaroyvaroyluroydyroyaskoyradoyandoyrodoymeloyradøyandøyrødøymeløyaskøylurøydyrøymåsøyværøynærøyhoylandethøylandetdivtasvuodnalørenskoglorenskognesoddtangenxn--tjme-hraxn--smla-hraxn--stjrdal-s1aunjargalillehammerunjárgaxn--hamary-fyadavvenjargaxn--bearalvhki-y4a123hjemmesidegjerdrumxn--brnnysund-m8acxn--tnsberg-q1axn--mlatvuopmi-s4axn--snsa-roaxn--skierv-utaxn--brum-voatysfjordkvafjordeidfjordkvæfjordsongdalenmjondalenmjøndalenxn--gls-elackragerogáŋgaviikagangaviikasørreisasorreisasør-varangersor-varangerxn--risr-iraskiervaxn--frna-woaxn--trna-woakvinesdalleksvikleirvikrøyrvikroyrviksvelvikvenneslaevje-og-hornnessandnessjøenmarnardalvindafjordsandefjordenebakksnillfjordullensvangxn--trany-yuabrønnøysundnamsskoganaustevollxn--stjrdalshalsen-sqbnord-aurdalnord-frontrøgstadtrogstadgrimstadflakstadgjerstadxn--sandy-yuaxn--leagaviika-52bnore-og-uvdalvegarsheixn--rlingen-mxaxn--ggaviika-8ya47hvegårsheikarlsoykvitsoymasfjordenhamaroyinderoyosteroydavvenjárgasauheradguovdageaidnuxn--vre-eiker-k8abronnoysiellakkrødsheradkrodsheradkvinnheradbrønnøyxn--mtta-vrjjat-k7afxn--lrenskog-54akvitsøyvárggátkarlsøyosterøyinderøyhamarøybronnoysundxn--aurskog-hland-jnbbahccavuotnabáhccavuotnagiehtavuoatnastor-elvdalmidtre-gauldalxn--gildeskl-g0akarasjokevenassixn--bievt-0qaxn--yer-znalebesbynessebyxn--hbmer-xqamalselvmålselvxn--unjrga-rtamøre-og-romsdalmore-og-romsdalhareidmelandørlandorlandstrandålgårdsolundalgardafjordåfjorddielddanuorrikautokeinoxn--stre-toten-zcbskodjeaejriestangeliernebamblestokkefauskesnåasesnaasekongsvingerlangevagberlevagxn--flor-jrahattfjelldalostre-totenøstre-totenvestfoldxn--mely-iraálaheadjualaheadjunordreisaxn--troms-zuaxn--lgrd-poacporsangerflatangerstavangerleikangerbremangersamnangergieldakarasjohkaxn--rdy-0nabfrostautsirasnoasatromsaxn--sr-aurdal-l8aflekkefjordjølsterjolsteraremarkhedmarknååmesjevuemienaamesjevuemiexn--vard-jrarollagmeråkermerakerorskogørskogxn--bdddj-mrabdákŋoluoktaxn--osyro-wuaaknoluoktatrysilskjervøymandaljondalbindalrindalmeldalsuldalorkdalsigdalalvdallærdalhurdalsirdalverdallerdallardaloppdalåseralaseralhadselkragerødivttasvuotnaoverhallasteinkjerxn--hnefoss-q1askedsmokorsettromsøxn--dyry-iravestre-totenmuseumxn--sandnessjen-ogbrahkkeravjufylkesbiblbájddarbajddarxn--laheadju-7yarennesøyxn--koluokta-7ya57hxn--hgebostad-g3aleirfjordstorfjordbalsfjordbåtsfjordbatsfjordmuosátbievátloabátkárášjohkanøtterøyxn--mjndalen-64anordkappláhppilahppialstahaugsiljanverranrøykenroykenhaldenlyngenbergenhortenhønefosshonefosstroandinbeiarnvarggatosoyroosøyrotromsoidrettmuosatbievatruovatloabatvoagattynsetnessetxn--indery-fyaskánitskanitraholtråholtxn--ystre-slidre-ujbandebusarpsborgbearduxn--karlsy-fyahordalandjorpelandjørpelanddeatnuringsakersør-odalsor-odalxn--slt-elabringerikeaudnedalnittedalnissedalhemsedalslattumsurnadalxn--blt-elabelverumstjørdalnaustdalhjartdalgjøvikfyresdalhasviknarviklarvikgjovikmalvikgamviklenvikporsgrunnstjordalengerdaldrobakdrøbakxn--msy-ula0hvestvagoyxn--vgan-qoaxn--ryken-vuaxn--lten-graxn--stfold-9xaxn--hpmir-xqaxn--lury-iramálatvuopmimalatvuopmitysværkirkenesbirkenesmoskenesbáidárxn--fjord-lraxn--rdal-poabahcavuotnabáhcavuotnaxn--frde-gralindåsbearalvahkixn--hobl-iraráhkkerávjuxn--loabt-0qavågåáltábodøsundlundraderådeetnetimeholeauregrueoddavagavegaranatanaarnasolasulaaltalekafusavangbergkvamåmliamlibokntinnroangranosenoslobodorøstroststatåmotamotivguprivøyeroyerliermossvossxn--nvuotna-hwalusterlunnermarkerhábmerhabmerhvalerfjalerxn--rholt-mratysvarbaidarfitjargaularhápmirhapmirmelhusfosnesøksnesoksnestysneshemnesevenesflesbergeidsbergtonsbergtønsberglindasxn--sndre-land-0cbnamsosxn--srum-graøystre-slidreoystre-slidrevestre-slidretrondheimbalestrandxn--langevg-jxaaustrheimxn--skjk-soavagsoyaveroysandoykarmoyfinnoytranoyvestbytranbysykkylvenxn--hyanger-q1aspjelkavikandasuoloxn--fl-ziaxn--drbak-wuastathellexn--sr-varanger-ggbtelemarkxn--bhcavuotna-s4axn--porsgu-sta26fčáhcesuolocahcesuoloakrehamnåkrehamnsandøykarmøyfinnøytranøyvågsøyaverøynamdalseidxn--lesund-huabadaddjaxn--vegrshei-c0axn--btsfjord-9zagildeskålporsanguxn--trgstad-r1anávuotnanavuotnahammerfestxn--sgne-graxn--brnny-wuacibestadharstadnarviikaevenáššivestnesgjemnessandnesagdenesrennesoyxn--avery-yuaxn--tysvr-vrabearalváhkikongsbergspydebergrandabergxn--andy-iradavvesiidaxn--krdsherad-m8aporsáŋgufredrikstadbjerkreimringeburennebuaurskog-holandnotteroyxn--vgsy-qoa0jxn--rmskog-byaskierváivelandbyglandfrolandaurlandforsandxn--bjddar-ptamidsundålesundalesundfetsundfarsundovre-eikerøvre-eikerakershusxn--moreke-juasørfoldøstfoldostfoldsorfoldhøyangerhoyangerlevangerorkangertanangerxn--vestvgy-ixa6olillesandulsteinxn--rennesy-v1agranvinskjervoyxn--klbu-woalavagisxn--h-2faxn--ryrvik-byakafjordkåfjordseljordfolkebiblxn--gjvik-wuajevnakerxn--kfjord-iuabudejjuxn--kranghke-b0axn--davvenjrga-y4axn--rland-uuaxn--ldingen-q1axn--mlselv-iuaxn--rady-iraxn--linds-prabrumunddalxn--ygarden-p1amo-i-ranaeidskogrømskogromskoghjelmelandxn--finny-yuaxn--sr-odal-q1axn--skjervy-v1aballangenkvanangenkvænangengratangenxn--hmmrfeasta-s4acvossevangensuohkanxn--rde-ulaxn--mli-tlaxn--ksnes-uuanordlandskanlandskånlandsortlandfuoiskuxn--rros-graxn--hcesuolo-7ya35bxn--eveni-0qa01gagaivuotnagáivuotnaxn--seral-lradrammenmodalenmosjoenjan-mayentorskensteigengloppenxn--snes-poamatta-varjjatxn--sr-fron-q1aomasvuotnajessheimbådåddjåxn--krager-gyaxn--kvfjord-nxaxn--asky-iraxn--snase-nraxn--bidr-5nacholtålenxn--vads-jraxn--jlster-byamosjøenxn--rst-0nastavernxn--ostery-fyaxn--oppegrd-ixaxn--sknit-yqaxn--risa-5naoppegårdskiptvetrendalenholtalenxn--mot-tlaxn--lhppi-xqaxn--holtlen-hxaxn--srreisa-q1akopervikxn--muost-0qaxn--bmlo-grahokksundkvalsundegersundxn--karmy-yuaullensakerxn--hylandet-54axn--kvitsy-fyaxn--bod-2nalangevågberlevågkristiansandxn--rsta-frahornindalstjørdalshalsenstjordalshalsensandnessjoenhámmárfeastaxn--lrdal-srasør-fronsor-fronnord-odalkristiansundmátta-várjjatvestvågøynesoddennotoddenbuskerudøygardenoygardensalangenlavangenralingenrælingenlodingenlødingenleaŋgaviikalaakesvuemieleangaviikauenorgexn--srfold-byaaskvollxn--rskog-uuaxn--nry-yla5gxn--vry-yla5ghammarfeastaxn--rhkkervju-01afxn--givuotna-8yakommunekrokstadelvanedre-eikerhagebostadhægebostadxn--berlevg-jxakviteseidxn--s-1faxn--l-1faxn--nmesjevuemie-tcbafuosskomoårekemoarekexn--lt-liacxn--jrpeland-54asvalbardoppegardholmestrandtvedestrandsogndalsokndalarendalsunndalfolldalxn--krjohka-hwab49jlyngdaletnedalnorddalsaltdalgausdalskedsmovaksdalgjesdalstordalxn--frya-hraaarbortedrangedalxn--smna-graaurskog-hølandxn--vg-yiabtjeldsundhaugesundlindesnesxn--mre-og-romsdal-qqbxn--dnna-gradynmerseineshacknetenterprisecloudmineaccomaorimāoriorgmilcriiwigennetschoolhealthkiwigovtgeekxn--mori-qsacloudnsparliamentcomedorgcompronetedugovmuseumwebsitekinservicebarsywebsitebuildereerobookheimdnsleapcelleero-stagetechcrscsslorigingohomecdbedeeeiemesecabgngilnlalplchfisiincnnoroptatitmtltruauhulumkdkukskjplvtrgrfrkrhrusesismycynzcznetinteduassoososcloudstgbetaaezaeuhkusjshatenadiarycdn77hoptozaptois-a-knightmyftpno-ipjpnddnssdpdnsspdnsbarsysweetpepperis-a-bruinsfanis-very-sweetservegameis-a-soxfanhomelinuxcdn77-secureservebbsmisconfusedwebredirectblogsitefreedesktopcouchpotatofriestoolforgeaccesscamis-lostreadmyblogsmall-webfedorapeopleserveftpis-a-celticsfanmywirepotagertwmailin-dslsellsyourhomeread-booksfreeddnscable-modemis-savednflfanufcfanmlbfanstuff-4-saleendoftheinternetin-vpnmy-firewallhomeftpis-localis-a-chefboldlygoingnowherewebhopselfipkicks-assroxatunkcamdvrfedoraprojectgotdnsdvrdnsdyndnspubtlspimientahomeunixdontexistfedorainfracloudwmflabsfspagesbmoattachmentsteckidsfamilydsdnsaliasdynaliasnow-dnscloudnsdoomdnsduckdnsblogdnshomednsroutingthecloudendofinternetdsmynasip-dynamicpoivronhttpbinmyfirewallis-very-evilmysecuritycamerais-a-linux-userwmcloudis-a-geektuxfamilyis-a-candidatedoesntexistis-very-badhobby-sitegame-hostaltervistais-foundis-a-patsfandnsdojohepforgepodzonedynservcollegefanis-very-goodfrom-meis-very-niceisa-geeknerdpolacmedsldingorgcomnomgobabonetedupleskaemhlxmyboxrockyprvcydeuxfleurspdnscodebergheyflowstatichostorgmilcomnomgobneteduorgcomeduiorgmilcomngonetedugovcloudns1337ngrokacorggogfamcomwebgobnetedugokgopgkpgovgosbizpasaugumicsopozpapuwmwsrprusiskwpspkppspkmpspokeoiawsawifoumsdnskokwpmuppuppsppiwwiwoowuzswkzoschrzpisdnwzmiuwwitdpssewsseumigugimoirmpinbwinbwiihupporzgwgriwupowwskrwioswuozstarostwokonsulattmpccopruszkowmyspreadshopostrodakartuzyopolegminamediaustkazgorajgoraolawailawalomzawloclradombytomjaworznotargilubinkoninzagantorunkutnokepnonakloczestsopotsanokturekplockslasksklepzarowlukowmedaidgdaorgmilrelcomnomatmgsmartneteduelkgovwawsossexbiztgorysejnytychypomorzeboleslawiechomesklepsdscloudunicloudzakopanelegnicarawa-mazbydgoszczswidnikkrasnikwloclawekbielawamragowograjeworealestatebeskidykaszubymalopolskaprzeworskswiebodzinlecznadfirmaszkolawarmiagdyniamiastakazimierz-dolnymalborkswidnicadlugolekaostrolekapodlasieelblagtravelsimplesitezachpomormielecszczecinnieruchomosciwalbrzychlezajsklublinbedzinpoznanwielunmielnooleckostarachowicedkontopowiatwroclawrybniksuwalkileborkslupskgdanskostrowwlkptarnobrzegtourismwegrowkrakowglogowyou2pilanysamailwrocinfoagroautobeepshopprivlapypiszlodzcfolksecommerce-shopmazurypulawyskoczowrzeszowpomorskiezgierzkaliszolkuszlowiczostrowiecsosnowiecmazowszewodzislawbialowiezazgorzeleckatowicepabianicejelenia-gorawolominkarpaczsieradznowarudaczeladzkonskowolaskierniewiceswinoujscieturystykabieszczadycieszynketrzynolsztynbialystokbabia-goraprochowicewarszawastalowa-wolapolkowicegorlicegliwiceponiatowalimanowalubartowaugustowkobierzyceopocznognieznoszczytnokolobrzegshoparenapodhalebielskoklodzkostargardatwithplayitownnamecoorgnetedugovacorgcomproestnetedugovbiznameislaprofinforechtngrokmedaaaacacpaenglawjurbarbarsykeeneticavocatacctcloudnsorgcomsecplonetedugov123paginaweborgcomnetintedugovnomepublidkinbarsygovx443cloudnsorgmilcomnetedugovcooporgmilcomschnetedugovnamecomcannetlibassoaemclantmcontstoreorgcomnomrecwwwbarsyfirminfoshopartsstackitmyddnswebspacelima-cityacincooxorgedugovbarsybrendlyhbvpsvpsspectrumlandinghostingacppmordoviamcprecbgorgmilcomspbnetintedumsknovgovbirrasmcdirmytismircloudvladimirnalchikadygeyamarinepyatigorskmyjinobashkiriaeurodirvladikavkazna4ugroznykustanaikalmykiacldmaildagestaniranbuildcanvaliaravalwixdevelopmentappwritemigrationneedleverceldatabasestackitcodereplravendbonporterlovableaccoorgmilnetgovcoopmedorgcompubschnetedugovservicemecomygovorggovtvmedorgcomnetedugovinfoedgfacbmlonihkutwpsryxzbdtmacfhppmyspreadshopbrandpartiorgcomfhvpress123minsidaitcouldbeworlanbibkommunalforbundfhskiopsyskomvuxkomforbnaturbruksgymnloginlineorgcomnetedugovenscaledeuusentbotdaorgmilcomnetgovnowteleporthashbangplatformlovablebarsyshopwarebasehoplixbarsyonlinemsf5gitappgitpagecofigma-govcaffeinefigmacanvasoltstputerbarsysupportchatgptsquareomniweopensocialcpanelnotionnovecorewpsquaredpreviewjelecyonbyensrhtfastvpspieboxconvexjouwwebheyflowplatformshloginlinemadethissourcecraftclouderaorgorgcomartedugouvunivmeorgcomnetedugovsurveysstatichfheiyuxs4allprojectmyfastubervibehostapp-ionosdeployagentmecoorgcomschnetedugovbizcncostoreorgmilcomneteduembaixadaconsuladokiraranohoprincipesaotomeheliohobarsystorebaseshopwaresellfyabkhaziavologdamordoviapenzalenugsochinavoiexnetspbmsknovnorth-kazakhstanashgabadkareliaarmeniageorgiavladimirnalchikivanovobukharaadygeyakhakassiakalugakrasnodarjambylaktyubinsktroitskbryanskobninskkurganazerbaijanpokrovskbashkiriatselinogradvladikavkazmurmansktulatuvamangyshlaktashkentchimkentgroznykaragandatermezarkhangelskkustanaikalmykiabalashoveast-kazakhstankaracoldagestantogliattibarsyredorgcomgobedumirenknightpointaccoorgjelasticdiscoursecleverappsschacmiincogoornetonlineshopcogoorgmilcomwebnicnetintedugovbiznametestcoorgmilcomnomnetedugovorangecloudpersoindorgcomfinnatnetgovensmincomtourismintlinfox0611oyaorgmilcomnetedugovquickconnectvpnplusnettprequalifymeaddrmyaddrntdllwadlnctvavdrk12orgmilpolbeltelcomwebgennetedutskkepgovbbsbiznameinfocoorgmilcompronetedugovbiznameinfobetter-thanworse-thansakurafromdyndnson-the-webmymailerorgmilurlcomneteduidvgovmydnsgameclubebizmeneacsccogotvorhotelmilmobiinfovodteiflgplkmsmsbcckhincndnvncoztltmkckppzpdprvcvkvlvcrkrkscxuzchernovtsyrivneyaltaodesavolynrovnolutskltdinforgcomnetedugovbizvinnicazhitomirternopilpoltavakropyvnytskyizaporizhzhiasevastopolsebastopoluzhgoroduzhhorodkharkovkharkivvinnytsiakhmelnytskyizaporizhzhecrimeaodessazhytomyrnikolaevcherkassydonetskluganskluhanskkirovogradivano-frankivskchernivtsikrymkievkyivlvivsumyzakarpattiamykolaivcherkasychernigovkhersonchernihivdnipropetrovskdnepropetrovskkhmelnitskiyneacsccogoorusorgmilcomedugovvmdhmyspreadshopadimono-ipbarsybytemarkbarsyonlinelayershiftnh-servretrosnubapicampaignservicelugaffinitylotteryweeklylotteryraffleentrygluglugsmeaccoindependent-inquestnimsitecopropymntltdorgplcschnetgovnhsbarsyindependent-commissionindependent-reviewpolicepublic-inquiryindependent-panelconnhospindependent-inquiryroyal-commissionoraclegovcloudappscck12libccphxcclibpvtparochchtrcck12libcceatonk12coglibtecgendstmusann-arborwashtenawcck12glghcck12sealibforksolympiabainbridge-islkeyporthoquiamyarrow-pointcentraliaport-townsendsequimport-ludlowrentonsilverdalebremertonredmondsheltonbellevueport-orchardport-angeleskingstonchehalisaberdeengig-harborseattlepoulsboidmdndsddemenegacalamaiavawapailalflnmdcncscohnhmihiviwiriinmntnmocoutvtctmtgunjokakwvnvprarorasmskstxwynykyazisadninsnngosrvis-bymircloudservernamepointtoenscaledland-4-salefreeddnsstuff-4-saleazure-apinoipcloudnsgolffanheliohostazurewebsitesgvorgmilcomgubneteducoorgcomnetd0egvorgmilcomnetedugovmydnsiacostoree12orgmilcomnomwebgobbibrectecnetintedugovraremprendefirminfoartseducok12orgcomnethidnsidacaiiosonlahanamhanoicamauhueorgcompronetintedugovbizbacninhtayninhhoabinhnamdinhtravinhhaiphongvinhlonghaiduongquangnamquangtrithuathienhuequangninhbacgianghaugiangquangbinhsoctrangbentrethanhphohochiminhdanangkontumhatinhkhanhhoathanhhoahealthgialailaocaiyenbaibackanngheanlonganphuyenphuthocanthodaklakdongnainameinfovinhphucdongthapkiengiangtiengiangquangngailaichaulangsonlamdongdaknonghagiangangiangcaobangbinhduongninhthuanbinhthuanbaclieuthaibinhninhbinhbinhdinhtuyenquanghungyenbaria-vungtauthainguyendienbienbinhphuocschbizputerimagine-proxyorgcomnetedugovcloud66advisormypetsdyndnsxn--8dbq2axn--4dbgdty6cxn--5dbhl8dxn--hebda8bxn--80auxn--d1atxn--c1avgxn--o1acxn--o1achxn--90azhxn--55qx5dxn--uc0atvxn--od0algxn--wcvs22dxn--gmqw5axn--mxtq1mxn--12c1fe0brxn--h3cuzk1dixn--12co0c3b4evaxn--12cfi8ixb8lxn--o3cyx2axn--m3ch0j3axn--j1adpxn--90amcxn--90a1afxn--h1ahnxn--j1ael8bxn--h1alizxn--c1avgxn--j1aefxn--80aaa0cvacxn--41acaffeineexeopentunnelbotdashtelebitorgtmaccoagricorgmilnomwebnicngonetaltedugovlawnisschoolgrondaraccoorgmilcomschnetedugovbizinfoprg1-zeropstritonstackitlimazeropsaccoorgmilgovяспборгкоммскбизмирсамаракрымсочиакодпроргобрупрצהלממשלישובאקדמיהองค์กรธุรกิจรัฐบาลศึกษาทหารเน็ต教育網絡組織公司政府個人닷넷한국澳门新闻澳門联通家電嘉里招聘通販닷컴삼성コムგეбгрфеюadcdbdgdidmdsdtdaebedeeegeiejekemenepereseveyegabacalamanauavapaqasazacfbfafgfnfpfwftfbgcgagggegkgngmgsgpgvgtgugilmlnlalclglplsltlhmimjmkmmmomambmcmdmfmgmzmpmsmtmgbbblbsbecccacnclcmcvctcscmhkhghchbhthphshlinikifigiaibicivisikninhnmncnbngnsnpnvntnjoionomobocoaofodorosotoptstttytatbtetgtithtmtltrusuvuaucueuguhulumunufjdjbjtjsjlkmkhkfkdkcktkukskpkgpmpnpkpjpgqaqmqiqsvtvcvbvmvlvrwpwtwzwbwcwawgwkwmwtrsrprgrfrercrbrarnrmrlrkrirhrwsusrssspsgsesbsaslsmsissxmxaxcxuypysylymykygybycyuztzsznzmzkzdzczbzazελευ世界台灣购物公益点看臺灣网络書籍在线网站手机机构大拿游戏信息台湾谷歌慈善商标香港中国餐厅网址中國商城食品微博政务移动集团公司八卦商店健康网店政府时尚佛山中信娱乐广东企业homedepotengineeringاماراتrepublicankuokgroupversicherungchannelcitadelxn--pgbs0dhxn--b4w605ferdstatebankwebsitexn--mgb9awbf亚马逊淡马锡alibabaxn--ngbc5azdxn--mgbbh1axn--45br5cyltoshibabuildworldcloudtradeguideplacespacedancemoviephoneprimesmilebiblestyleappleazurestoreskypegripexn--l1accdrivelottehorsehouseleasechasereisestadahondaomegaaetnaamicaninjanokiamediadeltavodkaedekaosakapizzaslingemailgmailtirolshelltmallfinallegaltotalhotelamfamforumrehabmusicciticricohcoachwatchboschearthfaithirishmiamiarchidubaiguccipraxiみんなストアセールcanonsalononionnikonepsonkoelngreensevencrownikanoradioaudioweiboglobopromogalloyahoociscorodeovideomangobingotokyovolvolottokyotophotosmartsportquesttrusthyattjetztadultcymrubaidutushuxn--kprw13dubankclickblackmerckgroupsharpcheapnowtvxn--h2brj9cקוםհայоргсрбмонкомбелмкдқазрусукрمصرقطرعربكومdadcfdmedwedredphdthdbidpidkrdmsdltdiceonewmeglemoerwecfageacbanbambaaaammakianraspacpaaxawtfbcgaegongingaigvigorgdogdhlmilrilonlaolloluoljllcalgalnflafltelsrlfrllplkimibmcamcombommomifmabbjcbscbcabnabtabmlbpubabcbbcnecincpncllcstcwtcpwcnyckfhbzhovhmoiskiobisbitcifyituipinvinwinxincbnbcnmanfangdnmenrenkpnmtnyunrunfununobiojioriohbogmofooboooooacoecoceongoproartistottnttbbtcateatlatvetpetbetnethktmitfitintjothotgotdotbotprueduicujnjyouinknhktdkappsapgapmapdnptopgopllpjmpzipvipripesqtrvdtvitvdevmovgovhivnrwlawsewnewbmwwownowhowdvrftrmtrsfrbarcartvscrseusawsupsubssbsadsddsldssasbmsmlsxxxboxfoxgmxtjxsextaxbuyflydiysoyjoyskypaydaygayxyzanzbizwebersenerpokerlameractortatarsolarລາວคอมไทยtourslocusnexuslexusgiftsbeatsboatspartspressglassswissकॉमनेटtiresgivescodeshomesgamestunesshoescardswalesloansvegastoolsdealsautosparisファッションworkssucksrocksxeroxforexfedexpartylillymoneystudyrugbytoraytoday中文网xn--unup4y天主教飞利浦新加坡enterprises我爱你嘉里大酒店christmasxn--fct429kholdingsxn--8y0a063axn--mgbx4cd0ablifestyleabogadoallstatenetbankكاثوليكxn--s9brj9cxn--gk3at1ebestbuycharityxn--55qx5dmicrosoftpropertybasketballhomegoodscorsicajewelrygallerygrocerysurgerycountrybrusselsverisignferreroxn--czr694bhdfcbankcommbanksoftbankپاكستانپاکستانnextdirectالسعوديهالعليانxn--h2brj9c8cxn--80adxhksshikshaxn--mgbai9azgqp6jcuisinellabarclayscatholicxn--kpry57dcompanyxn--xhq521bblackfridayxn--mgba3a3ejtsandvikxn--d1acj3bacademydownloadمليسياxn--j1amhxn--w4r85el8fhu5dnraipirangaathletaxn--fhbeixn--mgbqly7cvafrzuerichxn--c2br7gஇலங்கைcontractorsxn--io0a7igraphicsinsurancetemasekxn--xkc2al3hye2amotorcyclesphotographydirectoryplumbingxn--vhquvclothingtrainingcleaningwilliamhilllightingxn--mgba3a4f16ashoppingcateringeducationokinawapicturesventuresproductionsxn--9et52uwalmartഭാരതംsupportrealestatecapitalonexn--nqv7fs00emaauspostfloristdentistxn--qxamgodaddybradescobargainsmitsubishikerryhotelsxn--9dbq2axn--3pxu8kimmobilienxn--fjq720axn--mgbtx2bholidaymckinseymadridbusinessbuildershelsinkixn--4gbrimмоскваالسعودیةcoffeedegreelacaixapartnersalsaceofficeabbvievoyageorangegeorgeonlinechromemobilekindlegoogleoraclecircleschulesecureinsurexn--mgba7c0bbn0aestatexn--mgbc0a9azcgcruisehangoutxn--vuq861bxn--42c2d9arexrothfirestoneuniversityxn--nnx388alifeinsuranceextraspaceонлайнvermögensberatersoftwarexn--fiqs8sxn--mgbab2bdxn--w4rs40ltiendaभारतम्africatoyotaotsukasakuracameracreditcardnagoyaconsultingnetworkjunipertheatermonsterprogressivepioneerxn--55qw42gracingdatingvotingvikinglivinggivingxn--bck1b9a5dre4cbrotherweatherjoburgفلسطينlplfinancialxn--clchc0ea0b2g2a9gcdfutbolschoolsocialglobaldentalwoodsidechanelairtelmatteltravelrealtorwebcamstreamభారత్unicomalstomxn--nodexn--6frz82gmuseumfurniturexn--rvc1e0am3exn--mix891faccenturexn--11b4c3dismailineustardiscountquebeccomsecclinicservicesxn--y9a3aqxn--c1avgswatchchurchsearchالاردنmarketingcontacthealthmonashshoujisanofitaipeiamericanexpresssuzukiアマゾンクラウドポイントbhartiグーグルxn--mgberp4a5d4armemorialxn--1qqw23alondonmormoninstitutevisionbostonnortoncouponmaisonamazonvirginberlindesigndurbanolayannissananquanxihuanhitachikaufengardenreisenbayerntechnologydatsunxn--90a3aclatinocasinostudiophysioxn--ngbe9e0apharmacytattootaobaoaramcoexpertreportabbottdirectselectimamatfairwindspictettargetmarketintuittravelersinsurancecreditdupontryukyusuppliesxn--tckwebnpparibasschmidtmerckmsdyodobashirestaurantbridgestonecricketxn--fpcrj9c3dbostikbroadwayattorneylefrakemerckxn--fiq228c5hscareersfarmerswinnersflowersxn--wgbh1cguitarsxn--54b7fta0ccxn--p1acfmakeupgalluplandroverxn--kcrx77d1x4agoldpointbauhausxn--mgbayh7gpahiphopplaystationxn--mgba3a4fraxn--eckvdtc9dhyundaixn--gckr3f0fistanbulticketsmarketsflightschintaireviewsxn--3e0b707ewindowsxn--fiqz9sfinancialxn--fzys8d69uvgmابوظبيdiscoverreviewবাংলাxn--5su34j936bgsgmoscowobserverapartmentsдетиارامكوсайтeurovisionxn--i1b6b1a6a2exn--xkc2dl3a5ee0hتونسموقعبارتڀارتشبكةعمانبيتكعراقreadkredbondlandbandfundfoodprodgoldfordtubecafesafelifeggeeieeefreefagepagegugezonewinememenamegamesaleablebikenikelikecarecbreherefiresaveloveliveblueartedatesitevotecaseluxebofamodaltdaasdatiaayogasinavanashiaasiajavabbvatevavivadatazaraarpacasavisasncfprofmaifsurfgolfdvagsongbingpingwangkpmggoogblogpohlfailcooldellcalldeallidlsarlfilmteamroomfarmimdbarabclubhdfcicbchsbcgmbhrichtechfishdishcashminiernikddiaudiwikimobitaxicitikiwidesiqponskinloanakdnwienopenporncerntownimmolimoolloinfonicofidolegosaxozeroaerovivoautovotomotofastbestresthostpostnextlgbtchatseatgiftmeetdietreitmintrentgentspotscotguruitausohumenucyoubanklinkpinkdclktalksilkbookseekworkrsvpaarpjeepshopcoophelpcamppccwshowbeerstarruhrflirweirhaircarsparsjprshausplusnewstipstoysjobskidsfanspicsdocsxboxamexsexynavycitysonyarmyallybabyplaydeliverybuzzgbizlamborghiniphilipsලංකාಭಾರತfitnessexpresslanxesspfizercenterwalterlawyersoccercareerkosherbrokerlockerdealerdoctorauthorxn--mgbqly7c0a67fbcvermögensberatungjaguarxn--pssy2uxn--hxt814eflickrrepairrogersairbusxn--mgbai9a5eva00beventsyachtsxn--t60b56aভাৰতভারতभारतभारोतviajeshermeshughesxn--j1aefसंगठनvillasଭାରତclaimshotelsભારતzapposphotosjuegoscondostatamotorsgratistennisਭਾਰਤtkmaxxtjmaxxschaeffleryandexxn--80aswgrealtysafetybeautyluxuryxn--3ds443gsupplyfamilyxn--o3cw4hhockeysydneyxn--90aenissayalipayenergycomputeragencyxn--rovu88b電訊盈科xn--gecrj9cstatefarmaccountantaquarelleolayangroup香格里拉xn--p1ai组织机构xn--1ck2e1bxn--mgbt3dhdschwarzموريتانياabudhabinowruzkomatsufujitsuhospitalxn--80asehdbxn--mgbtf8flxn--j6w193gxn--yfro4i67oprudentialxn--flw351ecruisescoursesrecipesxn--e1a4cferrarixn--ses554gxn--wgbl6awatchesstaplessinglesxn--mgbcpq6gpa1axn--otu796dpropertiescreditunionxn--mgbah1a3hjkrdstockholmhisamitsuالسعوديةstcgroupdomainsoriginscouponsbloombergclubmedfroganslimitedxn--80aqecdr1aexposedinternationalequipmentbarclaycardxn--q7ce6axn--mgbi4ecexpprotectionassociatesconstructionxn--cck2b3bxn--45q11candroidfoundationישראלxn--mgbca7dzdocliniqueboutiqueengineerxn--qxa6asystemsfirmdalefashionauctionxn--nqv7finfinitirentalsreliancetradingweddingfishinghostinggentingbookingcookingxn--3hcrj9cgraingerxn--czrs0tdemocratsamsungyokohamaxn--h2breg3evexn--nyqy26alundbeckmelbournevacationssolutionsfrontierxn--vermgensberatung-pwbmanagementxn--cg4bkixn--mgb2ddeslincolnhamburgsandvikcoromantblockbusterairforcebarefootxn--4dbrk0ceinvestmentsfeedbackcommunityxn--ngbrxالبحرينdiamondsamsterdamhealthcareredumbrellaxn--mxtq1mxn--2scrj9cagakhanxn--mgbpl2fhкатоликcaravanசிங்கப்பூர்richardlimortgageamericanfamilyxn--fzc2c9e2cscholarshipssaarlandxn--imr513nvlaanderensamsclubgoodyearkitchenஇந்தியாweatherchannelallfinanzxn--kput3iالسعودیۃxn--90aisxn--efvy88hالجزائرxn--mgbaam7a8hexchangejpmorganxn--tiq49xqyjfidelitysecurityxn--mk1bu44cwanggouxn--fiq64bxn--6qq986b3xlxn--mgbbh1a71exn--80ao21amarshallsxn--5tzm5gtravelerspanasoniclatrobeyoutubeaccountantsxn--rhqv96gxn--cckwcxetdanalyticsxn--ygbi2ammxبازاربھارتسوريةorganicfreseniusسورياxn--9krt00axn--qcka1pmcxn--jlq480n2rgdeloittesciencefinancexn--jvr189mxn--30rr7yhomesensehotmailbaseballfootballleclercboehringerxn--q9jyb4cxn--mix082fاليمنهمراهpolitieسودانايرانایرانnetflixyamaxunxn--lgbbat1ad8jcollegestoragecapetowncolognekerrypropertiesxn--mgbgu82axn--ogbpf8flxn--czru2dwhoswhociprianilasallexn--g2xx48cforsalebanamexaudiblexn--vermgensberater-ctbxn--zfr164bericssonvanguardxn--45brj9cindustriestheatremarriottxn--3bst00mcomparexn--mgberp4a5d4a87gcapitaldigitalالمغربbarcelonashangrilaxn--d1alfcalvinkleinwwwcitysapporokawasakinagoyasendaikobekitakyushuyokohamackjp",yI=621,bI=625,Ej=wo.length,Rj=Kd.length,Dj=new Uint32Array(Rj),Rd=new Uint32Array(Rj),ag=new Int32Array(Ej).fill(-1);for(let e=0,n=0;e<Ej;e+=1)for(let i=$d[e];i<$d[e+1];i+=1){Dj[i]=n;const r=n+Kd[i];let u=5381;for(let h=r-1;h>=n;h-=1)u=u*33^ng.charCodeAt(h);Rd[i]=u>>>0,Kd[i]===1&&ng.charCodeAt(n)===42&&(ag[e]=i),n=r}let Mi=-1,ig=0,sg=0;function Qx(e,n,i,r){if(Kd[e]!==r)return!1;const u=Dj[e];for(let h=0;h<r;h+=1)if(ng.charCodeAt(u+h)!==n.charCodeAt(i+h))return!1;return!0}function Zx(e,n,i,r,u){let h=$d[e],f=$d[e+1];for(;h<f;){const b=h+f>>>1,v=Rd[b];if(v<n)h=b+1;else if(v>n)f=b;else{for(let x=b;x>=h&&Rd[x]===n;x-=1)if(Qx(x,i,r,u))return x;for(let x=b+1;x<f&&Rd[x]===n;x+=1)if(Qx(x,i,r,u))return x;return-1}}return-1}function Yx(e,n,i){let r=n,u=e.length,h=5381;Mi=-1;for(let b=e.length-1;b>=0;b-=1){const v=e.charCodeAt(b);if(v===46){const x=b+1;let k=Zx(r,h>>>0,e,x,u-x);if(k===-1&&(k=ag[r]),k===-1)return Mi!==-1;r=Fx[k],(wo[r]&i)!==0&&(Mi=r,ig=x,sg=u),u=b,h=5381}else h=h*33^v}let f=Zx(r,h>>>0,e,0,u);return f===-1&&(f=ag[r]),f!==-1&&(r=Fx[f],(wo[r]&i)!==0&&(Mi=r,ig=0,sg=u)),Mi!==-1}function zj(e,n,i){if(gI(e,n,i))return;const r=(n.allowPrivateDomains?2:0)|(n.allowIcannDomains?1:0);if(Yx(e,bI,r)){i.isIcann=(wo[Mi]&1)!==0,i.isPrivate=(wo[Mi]&2)!==0,i.publicSuffix=e.slice(sg+1);return}if(Yx(e,yI,r)){i.isIcann=(wo[Mi]&1)!==0,i.isPrivate=(wo[Mi]&2)!==0,i.publicSuffix=e.slice(ig);return}i.isIcann=!1,i.isPrivate=!1;const u=e.lastIndexOf(".");i.publicSuffix=u===-1?e:e.slice(u+1)}const Gd=fI();function vI(e,n){return _j(Gd),Tj(e,0,zj,n,Gd).hostname}function xI(e,n){return _j(Gd),Tj(e,5,zj,n,Gd).domainWithoutSuffix}const wI={allowPrivateDomains:!0};new nI({fuzzyLink:!0,fuzzyEmail:!1}).tlds(Nj);function Uc(e){if(e==null)return null;const n=e.trim();if(!n)return null;const i=vI(n);return i?i.replace(/^www\./i,"").toLowerCase():null}function Hd(e){return Uc(e)??e.trim().toLowerCase().replace(/^www\./,"")}function s0(e){return e==null||e.trim()===""?"":xI(e,wI)?.toLowerCase()??""}function lte(e){return s0(e)||e}const Ij=j(["chatgpt","perplexity","gemini","claude","copilot","grok","deepseek","meta-ai","phind","you-com"]),ii=Ij.enum,o0=[{engine:ii.chatgpt,label:"ChatGPT",domains:[Yn.chatgpt,Yn.chatgptLegacy,Yn.openai],tokens:["chatgpt","openai"],labels:["chatgpt","openai"]},{engine:ii.perplexity,label:"Perplexity",domains:[Yn.perplexity],tokens:["perplexity"],labels:["perplexity"]},{engine:ii.gemini,label:"Gemini",domains:[Yn.gemini,Yn.bard],tokens:["gemini","bard"],labels:[]},{engine:ii.claude,label:"Claude",domains:[Yn.claude,Gz],tokens:["claude","anthropic"],labels:["claude","anthropic"]},{engine:ii.copilot,label:"Copilot",domains:[Yn.copilotMicrosoft,Yn.copilot],tokens:["copilot"],labels:[]},{engine:ii.grok,label:"Grok",domains:[Yn.grok],tokens:["grok"],labels:[]},{engine:ii.deepseek,label:"DeepSeek",domains:[Yn.deepseek],tokens:["deepseek"],labels:["deepseek"]},{engine:ii["meta-ai"],label:"Meta AI",domains:[Yn.metaAi],tokens:[],labels:[]},{engine:ii.phind,label:"Phind",domains:[Yn.phind],tokens:["phind"],labels:["phind"]},{engine:ii["you-com"],label:"You.com",domains:[Yn.you],tokens:[],labels:[]}];new Map(o0.flatMap(e=>e.tokens.map(n=>[n,e.engine])));new Map(o0.flatMap(e=>e.labels.map(n=>[n,e.engine])));new Map(o0.map(e=>[e.engine,e.label]));const kI=j(["fraction","percent"]),Ka=kI.enum,SI="x-unit";function Oj(e,n){return e.meta({[SI]:n})}function we(e=m()){return Oj(e,Ka.fraction)}function ot(e=m()){return Oj(e,Ka.percent)}Ka.fraction+"",Ka.percent+"";function pf(e,n=!1){const i=new Set,r=[];for(const u of e){const h=n?u.toLowerCase():u;i.has(h)||(i.add(h),r.push(u))}return r}function Xx(e){try{const n=e.includes("://"),i=new URL(n?e:`https://${e}`);if(!n&&(i.pathname!=="/"||i.search||i.hash)||i.username||i.password||i.port)return null;const r=i.hostname.trim().toLowerCase().replace(/^www\./,"");return!r||r.includes("/")||r.includes("?")||r.includes("#")?null:r}catch{return null}}const jI=o().trim().min(1).refine(e=>Xx(e)!==null,{message:"Marketing hosts must be valid hostnames without credentials or ports"}).overwrite(e=>Xx(e)??e),AI=o().trim().min(1),NI=o().trim().regex(/^[a-z]\w{0,39}$/i,{message:"GA4 event names must start with a letter and contain only letters, numbers, or underscores"}),r0=d({marketingHosts:y(jI).overwrite(e=>pf(e,!0)),brandTerms:y(AI).overwrite(e=>pf(e,!0)),leadEventNames:y(NI).overwrite(e=>pf(e))});function CI(){return{marketingHosts:[],brandTerms:[],leadEventNames:["generate_lead"]}}const hf=Object.freeze({marketingHosts:Object.freeze([]),brandTerms:Object.freeze([]),leadEventNames:Object.freeze(["generate_lead"])}),Pj=()=>CI(),Jx=j(["never-synced","ready","error"]),_I=j(["landing-page","channel"]),TI=j(["30d","60d","90d"]),EI=j(["marketing","all"]),xc=bj(),Gr=d({label:j(["earliest","middle","previous","latest"]),startDate:xc,endDate:xc}),ff=Gr.extend({sessions:m().int().nonnegative()}),Wx=Gr.extend({eventCount:m().int().nonnegative()}),ew=Gr.extend({clicks:m().int().nonnegative(),impressions:m().int().nonnegative()}),RI=Gr.extend({propertyClicks:m().int().nonnegative(),propertyImpressions:m().int().nonnegative(),reportedQueryClicks:m().int().nonnegative(),reportedQueryImpressions:m().int().nonnegative(),brandedClicks:m().int().nonnegative(),brandedImpressions:m().int().nonnegative(),nonBrandedClicks:m().int().nonnegative(),nonBrandedImpressions:m().int().nonnegative(),unreportedClicks:m().int().nonnegative(),unreportedImpressions:m().int().nonnegative()}),gf=Gr.extend({eventCount:m().int().nonnegative(),sessions:m().int().nonnegative(),leadRate:we(m().nonnegative()).nullable()}),qj=j(["no-data","sync-not-ready","channel-leads-unfiltered","paid-split-needs-landing-page","sessions-behind-leads","sessions-missing-on-lead-days"]);qj.enum;const tw=d({periods:y(gf),engines:y(d({engine:Ij,label:o(),sources:y(o()),periods:y(gf)})),unattributed:d({sources:y(o()),periods:y(gf)})}),DI=d({leadRateAvailable:T(),leadRateUnavailableReason:qj.nullable(),organic:tw,paid:tw}),zI=Gr.extend({sessions:m().int().nonnegative(),engagementRate:we(m().min(0).max(1)).nullable(),dailyTotalUsers:m().int().nonnegative().nullable(),dailyNewUsers:m().int().nonnegative().nullable(),metricsAvailable:T(),daysInPeriod:m().int().nonnegative(),daysWithEngagementRate:m().int().nonnegative(),daysWithUserSplit:m().int().nonnegative()}),II=d({window:TI,bucketDays:R(30),filters:d({hostScope:EI,marketingHosts:y(o()),pathPrefix:o().nullable(),brandTerms:y(o()),queryMixScope:R("property")}),acquisition:d({status:Jx,error:o().nullable(),syncedAt:o().datetime().nullable(),periods:y(ff),channels:y(d({channelGroup:o(),periods:y(ff)})),pages:y(d({hostName:o(),landingPage:o(),periods:y(ff)}))}),leads:d({status:Jx,error:o().nullable(),syncedAt:o().datetime().nullable(),attributionScope:_I.nullable(),hostAndPathFiltersApplied:T(),periods:y(Wx),channels:y(d({channelGroup:o(),periods:y(Wx)})),aiEngines:DI}),engagement:d({status:j(["ready","unavailable"]),availableFromDate:xc.nullable(),latestDate:xc.nullable(),periods:y(zI)}),searchDemand:d({status:j(["ready","unavailable"]),periods:y(RI),queries:y(d({query:o(),classification:j(["branded","non-branded"]),periods:y(ew)})),pages:y(d({hostName:o(),landingPage:o(),periods:y(ew)})),latestDate:xc.nullable()})}),Vc=j(["sync","batch"]);Vc.enum;const l0=Ge(o(),Vc),Mj=j(["submitting","submitted","ended","ingested","cancelled","failed","unknown"]),nw=Mj.enum;nw.submitted,nw.ended;const c0=j(["standard","batch"]),aw=c0.enum,OI=d({inputTokens:m().int().nonnegative(),cachedInputTokens:m().int().nonnegative(),cacheWriteTokens:m().int().nonnegative(),outputTokens:m().int().nonnegative(),searchCount:m().int().nonnegative()}),PI=OI.extend({pricingTier:c0,estimatedCostMicros:m().int().nonnegative().nullable(),priceSource:Ze([j(["default","override"]),ue()])}),Bj=d({inputPerMTok:m().nonnegative(),cachedInputPerMTok:m().nonnegative().optional(),cacheWritePerMTok:m().nonnegative().optional(),outputPerMTok:m().nonnegative(),searchPer1k:m().nonnegative().optional(),searchUnit:j(["query","prompt"]).optional(),batchTokenDiscount:m().min(0).max(1).optional()}).strict();d({models:Ge(o().min(1),Bj).default({})}).strict();d({enabled:T().default(!1),maxRequestsPerBatch:m().int().positive().optional(),deadlineHours:m().positive().optional()}).strict();const qI=new Intl.Segmenter("en",{granularity:"word"}),MI=/[^\p{L}\p{N}]+/gu,BI=/[\p{L}\p{N}]+/gu,LI=/[\p{Script=Latin}\p{Script=Greek}\p{Script=Cyrillic}]/u,UI=new RegExp("\\P{ASCII}","u");function VI(e){if(!UI.test(e))return e;let n="";for(const i of e){if(i.charCodeAt(0)<128){n+=i;continue}const r=i.normalize("NFD"),u=r[0];n+=r.length>1&&LI.test(u)?u:i}return n}function Lj(e){return VI(e.normalize("NFKC")).toLocaleLowerCase("en")}function Uj(e){const n=[];for(const i of qI.segment(e))if(i.isWordLike)for(const r of i.segment.match(BI)??[])n.push(r);return n}function $I(e){return Uj(Lj(e))}function Ga(e){return $I(e).join("")}const iw=new WeakMap;function KI(e){if(!e)return null;const n=Lj(e);return{normalized:n,stripped:n.replace(MI,"")}}function GI(e){const n=iw.get(e);if(n)return n;const i=Uj(e.normalized);return iw.set(e,i),i}function HI(e){const n=new Set;let i=0;for(const r of e){if(!r)continue;const u=Ga(r);u&&(n.add(u),u.length>i&&(i=u.length))}return{keys:n,longest:i}}function FI(e,n){if(!n||e.keys.size===0)return!1;const i=typeof n=="string"?KI(n):n;if(!i)return!1;let r=!1;for(const h of e.keys)if(i.stripped.includes(h)){r=!0;break}if(!r)return!1;const u=GI(i);for(let h=0;h<u.length;h++){let f="";for(let b=h;b<u.length;b++){if(f+=u[b],e.keys.has(f))return!0;if(f.length>=e.longest)break}}return!1}const QI=d({name:o(),accountName:o().nullable(),type:o().nullable(),role:o().nullable()});d({accounts:y(QI),total:m().int().nonnegative()});const ZI=d({id:o(),projectId:o(),accountName:o(),locationName:o(),displayName:o(),primaryCategoryDisplayName:o().nullable(),storefrontAddress:o().nullable(),websiteUri:o().nullable(),placeId:o().nullable(),mapsUri:o().nullable(),additionalCategories:y(o()),description:o().nullable(),serviceArea:Ge(o(),kn()).nullable(),regularHours:Ge(o(),kn()).nullable(),primaryPhone:o().nullable(),openStatus:o().nullable(),openingDate:o().nullable(),selected:T(),syncedAt:o().nullable(),createdAt:o(),updatedAt:o()});d({locations:y(ZI),totalDiscovered:m().int().nonnegative(),totalSelected:m().int().nonnegative()});d({selectAllNew:T().default(!0),accountName:o().optional(),switchAccount:T().default(!1)});d({selected:T()});d({locationNames:y(o()).optional(),daysOfMetrics:m().int().positive().max(540).optional(),monthsOfKeywords:m().int().positive().max(18).optional()});d({runId:o(),status:o()});const YI=d({locationName:o(),date:o(),metric:o(),value:m().int()});d({metrics:y(YI),total:m().int().nonnegative()});const XI=d({locationName:o(),periodStart:o(),periodEnd:o(),keyword:o(),valueCount:m().int().nullable(),valueThreshold:m().int().nullable()});d({keywords:y(XI),total:m().int().nonnegative(),thresholdedPct:ot(m().min(0).max(100))});const JI=d({locationName:o(),placeActionLinkName:o(),placeActionType:o(),uri:o().nullable(),isPreferred:T(),providerType:o().nullable()});d({placeActions:y(JI),total:m().int().nonnegative()});const WI=d({locationName:o(),populatedGroupCount:m().int().nonnegative(),syncedAt:o(),attributes:Ge(o(),kn())});d({lodging:y(WI),total:m().int().nonnegative()});const e9=d({name:o(),valueType:o(),values:y(Ze([T(),o()])),unsetValues:y(o()),uris:y(o())}),t9=d({locationName:o(),attributeCount:m().int().nonnegative(),syncedAt:o(),attributes:y(e9)});d({attributes:y(t9),total:m().int().nonnegative()});const n9=d({locationName:o(),placeId:o(),tier:o(),amenities:y(o()),syncedAt:o(),place:Ge(o(),kn())});d({places:y(n9),total:m().int().nonnegative()});const Vj=j(["gbp","places"]),u0=m().int().min(1).max(4),a9=j(["ok","unavailable","error"]),$j=j(["none","baseline","stale","pending","sent","skipped","suppressed"]);$j.enum;const i9=d({locationName:o(),origin:Vj,reviewName:o(),starRating:m().int().min(1).max(5).nullable(),negative:T(),comment:o().nullable(),reviewerName:o().nullable(),createTime:o().nullable(),updateTime:o(),replied:T().nullable(),replyComment:o().nullable(),replyUpdateTime:o().nullable(),reviewUri:o().nullable(),firstSeenAt:o(),lastSeenAt:o(),alertState:$j,alertStateAt:o().nullable()}),s9=d({locationName:o(),displayName:o(),reviewsAccess:a9.nullable(),reviewsAccessReason:o().nullable(),reviewsCheckedAt:o().nullable(),rating:m().nullable(),reviewCount:m().int().nonnegative().nullable(),ratingOrigin:Vj.nullable(),ratingObservedAt:o().nullable()});d({negativeMaxStars:m().int().min(1).max(4),locations:y(s9),reviews:y(i9),total:m().int().nonnegative()});d({scope:d({locationName:o().nullable(),locationCount:m().int().nonnegative()}),performance:d({totals:Ge(o(),m()),recent7d:Ge(o(),m()),prior7d:Ge(o(),m()),deltaPct:Ge(o(),ot().nullable())}),freshness:d({dataThroughDate:o().nullable(),latestStoredDate:o().nullable(),pendingDays:m().int().nonnegative()}),timeseries:y(d({date:o(),pending:T(),metrics:Ge(o(),m())})),keywords:d({total:m().int().nonnegative(),thresholdedCount:m().int().nonnegative(),thresholdedPct:ot(m().min(0).max(100))}),placeActions:d({total:m().int().nonnegative(),hasReservationCta:T(),hasBookingCta:T(),hasDirectMerchantCta:T()}),lodging:d({lodgingLocationCount:m().int().nonnegative(),populatedLodgingCount:m().int().nonnegative(),emptyLodgingCount:m().int().nonnegative()}),profileCompleteness:d({locationCount:m().int().nonnegative(),withSecondaryCategories:m().int().nonnegative(),secondaryCategoryTotal:m().int().nonnegative(),withDescription:m().int().nonnegative(),withServiceArea:m().int().nonnegative(),withHours:m().int().nonnegative(),withPrimaryPhone:m().int().nonnegative(),permanentlyClosed:m().int().nonnegative(),temporarilyClosed:m().int().nonnegative()})});const o9={BUSINESS_DIRECTION_REQUESTS:"Direction requests",WEBSITE_CLICKS:"Website clicks",CALL_CLICKS:"Call clicks",BUSINESS_BOOKINGS:"Bookings",BUSINESS_CONVERSATIONS:"Conversations",BUSINESS_FOOD_ORDERS:"Food orders",BUSINESS_FOOD_MENU_CLICKS:"Food menu clicks",BUSINESS_IMPRESSIONS_DESKTOP_SEARCH:"Search impressions (desktop)",BUSINESS_IMPRESSIONS_MOBILE_SEARCH:"Search impressions (mobile)",BUSINESS_IMPRESSIONS_DESKTOP_MAPS:"Maps impressions (desktop)",BUSINESS_IMPRESSIONS_MOBILE_MAPS:"Maps impressions (mobile)"};function r9(e){const n=e.replace(/^BUSINESS_/,"").split("_").filter(Boolean).map(r=>r.toLowerCase());if(n.length===0)return e;const i=n.join(" ");return i.charAt(0).toUpperCase()+i.slice(1)}function cte(e){return o9[e]??r9(e)}const l9=["BUSINESS_DIRECTION_REQUESTS","WEBSITE_CLICKS","CALL_CLICKS"],c9=["BUSINESS_IMPRESSIONS_DESKTOP_SEARCH","BUSINESS_IMPRESSIONS_MOBILE_SEARCH","BUSINESS_IMPRESSIONS_DESKTOP_MAPS","BUSINESS_IMPRESSIONS_MOBILE_MAPS"];function ute(e){return l9.includes(e)?"conversion":c9.includes(e)?"reach":"other"}const pt=o().trim().min(1),sw=o().regex(/^[a-f0-9]{64}$/i);function u9(e){if(!/^\d{4}-\d{2}-\d{2}$/.test(e))return!1;const n=new Date(`${e}T00:00:00.000Z`);return!Number.isNaN(n.getTime())&&n.toISOString().slice(0,10)===e}const Sn=o().refine(u9,{message:"Expected a calendar date as YYYY-MM-DD."});function d9(e,n){const i=Date.parse(`${e}T00:00:00.000Z`),r=Date.parse(`${n}T00:00:00.000Z`);return Math.floor((r-i)/864e5)+1}const m9=j(["not-connected","selection-required","connected","stale"]),fd=m9.enum,Kj=j(["enabled","suspended","closed","canceled","unspecified","unknown"]);Kj.enum;const d0=j(["enabled","paused","removed","unknown"]);d0.enum;const Gj=j(["enabled","hidden","removed","unknown"]);Gj.enum;const m0=j(["customer","campaign"]);m0.enum;const Hj=j(["customer-goal","campaign-goal","custom-goal"]);Hj.enum;const Fj=d({loginCustomerId:pt.nullable(),customerId:pt.nullable(),selectedAt:o().nullable()}).strict(),yf=d({id:pt,projectId:pt,scopes:y(o()).default([]),selection:Fj,lastValidatedAt:o().nullable(),lastInventorySnapshotAt:o().nullable(),lastMetricsSnapshotAt:o().nullable(),createdAt:o(),updatedAt:o()}).strict(),og=d({resourceName:pt,customerId:pt,parentCustomerId:pt.nullable(),descriptiveName:o().nullable(),currencyCode:o().nullable(),timeZone:o().nullable(),manager:T(),hidden:T(),testAccount:T(),level:m().int().nonnegative(),status:Kj}).strict(),p9=d({customers:y(og),totalAccessible:m().int().nonnegative(),truncated:T(),selection:Fj,fetchedAt:o()}).strict();Be("status",[d({connected:R(!1),status:R(fd["not-connected"]),connection:ue(),selectedCustomer:ue()}).strict(),d({connected:R(!0),status:R(fd["selection-required"]),connection:yf,selectedCustomer:ue()}).strict(),d({connected:R(!0),status:R(fd.connected),connection:yf,selectedCustomer:og}).strict(),d({connected:R(!0),status:R(fd.stale),connection:yf,selectedCustomer:og}).strict()]);const h9=d({id:pt,resourceName:pt,name:o(),status:d0,advertisingChannelType:o().nullable(),biddingStrategyType:o().nullable()}).strict(),f9=d({id:pt,resourceName:pt,name:o(),status:Gj,category:o(),origin:o(),primaryForGoal:T(),includeInConversionsMetric:T()}).strict(),g9=d({category:o(),origin:o(),biddable:T()}).strict(),y9=d({campaignId:pt,category:o(),origin:o(),biddable:T()}).strict(),b9=d({id:pt,name:o(),conversionActionIds:y(pt)}).strict(),v9=d({campaignId:pt,goalConfigLevel:m0,customGoalId:pt.nullable()}).strict(),x9=d({customerId:pt,fetchedAt:o(),campaigns:y(h9),conversionActions:y(f9),customerConversionGoals:y(g9),campaignConversionGoals:y(y9),campaignConversionGoalsComplete:T().optional(),customConversionGoals:y(b9),campaignGoalConfigurations:y(v9)}).strict(),w9=d({source:Hj,category:o().nullable(),origin:o().nullable(),customGoalId:pt.nullable(),biddable:T().nullable(),conversionActionIds:y(pt),primaryConversionActionIds:y(pt),secondaryConversionActionIds:y(pt),missingConversionActionIds:y(pt)}).strict(),k9=d({campaignId:pt,goalConfigLevel:m0,customGoalId:pt.nullable(),missingCustomGoalId:pt.nullable(),goals:y(w9)}).strict();d({customerId:pt,derivedAt:o(),campaigns:y(k9)}).strict();const Qj=50,rg=31,S9=Qj*rg,j9=d({campaignIds:y(pt).min(1).max(Qj),startDate:Sn,endDate:Sn}).strict().superRefine((e,n)=>{if(new Set(e.campaignIds).size!==e.campaignIds.length&&n.addIssue({code:ye.custom,path:["campaignIds"],message:"Campaign IDs must be unique."}),e.endDate<e.startDate){n.addIssue({code:ye.custom,path:["endDate"],message:"endDate must not precede startDate."});return}d9(e.startDate,e.endDate)>rg&&n.addIssue({code:ye.custom,path:["endDate"],message:`Campaign metrics may cover at most ${rg} calendar days.`})}),A9=d({campaignId:pt,date:Sn,impressions:m().int().nonnegative(),clicks:m().int().nonnegative(),costMicros:m().int().nonnegative(),conversions:m().nonnegative(),conversionValueMicros:m().int().nonnegative().nullable()}).strict(),N9=d({query:j9,rows:y(A9).max(S9),truncated:T(),fetchedAt:o()}).strict(),Zj=j(["accessible-customers","inventory","campaign-metrics"]),bf=Zj.enum,p0=d({id:pt,projectId:pt,connectionId:pt,runId:pt,kind:Zj,customerId:pt.nullable(),payloadChecksum:sw,rawPayloadSha256:sw.nullable(),rawPayloadBytes:m().int().nonnegative().nullable(),redactedFieldCount:m().int().nonnegative(),capturedAt:o(),createdAt:o()}).strict(),C9=Be("kind",[d({kind:R(bf["accessible-customers"]),data:p9}).strict(),d({kind:R(bf.inventory),data:x9}).strict(),d({kind:R(bf["campaign-metrics"]),data:N9}).strict()]),_9=d({metadata:p0,payload:C9}).strict().superRefine((e,n)=>{e.metadata.kind!==e.payload.kind&&n.addIssue({code:ye.custom,path:["payload","kind"],message:"Snapshot metadata and payload kinds must match."})}),T9=j(["7d","14d","30d"]),h0=d({impressions:m().int().nonnegative(),clicks:m().int().nonnegative(),costMicros:m().int().nonnegative(),conversions:m().nonnegative(),conversionValueMicros:m().int().nonnegative().nullable(),ctr:we().nullable(),cpcMicros:m().int().nonnegative().nullable(),conversionRate:we().nullable(),costPerConversionMicros:m().int().nonnegative().nullable()}),E9=d({date:Sn,origin:j(["provider","filled"]),impressions:m().int().nonnegative(),clicks:m().int().nonnegative(),costMicros:m().int().nonnegative(),conversions:m().nonnegative(),ctr:we().nullable()}),R9=d({campaignId:pt,name:o().nullable(),status:d0,totals:h0}),D9=d({snapshotId:pt,capturedAt:o(),customerId:pt,currencyCode:o().nullable(),timeZone:o().nullable(),asOfDate:Sn,openDate:Sn.nullable(),truncated:T(),campaignsQueried:m().int().nonnegative(),campaignsInInventory:m().int().nonnegative()}),z9=d({startDate:Sn,endDate:Sn,days:m().int().positive(),totals:h0}),I9=d({days:m().int().positive(),prior:z9,change:d({impressions:we().nullable(),clicks:we().nullable(),costMicros:we().nullable(),conversions:we().nullable(),ctr:we().nullable(),conversionRate:we().nullable()})});d({window:T9,startDate:Sn,endDate:Sn,days:m().int().positive(),totals:h0,daily:y(E9),campaigns:y(R9),comparison:I9.nullable(),comparisonUnavailableReason:j(["insufficient-history","no-snapshot"]).nullable(),source:D9.nullable()});const wm=j(["complete","partial","failed","unsupported"]);wm.enum;const O9=["branded","non-brand"],Hr=j(O9),f0=j(["all","branded","non-brand"]);function P9(e){const n=e.filter(r=>Ga(r).length>0);if(n.length===0)return null;const i=HI(n);return i.keys.size===0?null:{matcher:i,classify(r){return FI(i,r)?"branded":"non-brand"}}}const q9=2,M9=o().regex(/^[a-f0-9]{64}$/),km=o().trim().min(1).max(256),ow=j(["sensitive","insensitive"]),fe=o().trim().min(1).max(128).regex(/^[a-z0-9][\w.~-]*$/i,"Must be a URL-safe stable key"),B9=o().trim().min(1).refine(e=>Uc(e)!==null,"A competitor domain must be a valid hostname"),L9=Be("kind",[d({kind:R("exact"),url:o().min(1),pathCase:ow}).strict(),d({kind:R("prefix"),host:o().min(1),pathPrefix:o().min(1),pathCase:ow}).strict(),d({kind:R("host"),host:o().min(1)}).strict()]),U9=d({canonicalHost:o().min(1),ownedHosts:y(o().min(1)),names:y(o().min(1))}).strict(),V9=d({projectBrand:U9}).strict(),$9=d({stableKey:fe,label:o().trim().min(1),aliases:y(o().min(1)),identityAliases:y(o().trim().min(1)).optional(),urlMatchers:y(L9),mentionNotApplicable:T(),discoveryIdentity:o().min(1).nullable()}).strict(),Yj=d({stableKey:fe,label:o().trim().min(1),domain:B9,aliases:y(o().min(1))}).strict(),K9=d({stableKey:fe,label:o().trim().min(1),parentGroupKey:fe.optional(),targetKeys:y(fe),competitors:y(Yj)}).strict(),G9=j(["manual","query-set","template","discovery","research"]),H9=d({templateId:o().trim().min(1).max(256),templateVersion:o().trim().min(1).max(256),template:o().trim().min(1).max(4e3),bindings:Ge(o().trim().min(1).max(128),o().trim().min(1).max(128)),output:o().trim().min(1).max(4e3)}).strict(),Xj=d({source:G9,sourceId:o().min(1).nullable(),capturedAt:o().datetime(),template:H9.optional()}).strict(),F9=d({queryId:km,queryText:o().min(1),provenance:Xj}).strict(),Sm=d({providers:y(At).min(1),models:Ge(At,o().min(1)),location:mn.nullable()}).strict(),Q9=d({stableKey:o().min(1),queryId:km,queryText:o().min(1),context:Sm,expectedSnapshots:m().int().nonnegative()}).strict(),g0=Hr,Z9=d({targetKey:fe,queryId:km,queryClass:g0,classificationSource:j(["server","operator"]).optional(),executionNodeKey:o().min(1)}).strict(),y0=d({executionNodeKey:o().min(1),targetKey:fe,queryId:km}).strict(),Jj=d({stableKey:fe,label:o().trim().min(1),kind:R("market"),groupKey:fe.optional(),usageEdges:y(y0)}).strict();function rw(e){return[e.executionNodeKey,e.targetKey,e.queryId].join("\0")}const jm=d({schemaVersion:R(q9),identities:V9,targets:y($9),groups:y(K9),querySnapshots:y(F9),assignments:y(Z9),executionNodes:y(Q9),usageEdges:y(y0),reportingScopes:y(Jj).optional(),compiledChecksum:M9}).strict().superRefine((e,n)=>{const i=new Set;for(const b of e.executionNodes)i.has(b.stableKey)&&n.addIssue({code:ye.custom,path:["executionNodes"],message:`Duplicate execution node key "${b.stableKey}"`}),i.add(b.stableKey);const r=new Set(e.targets.map(b=>b.stableKey));e.usageEdges.forEach((b,v)=>{i.has(b.executionNodeKey)||n.addIssue({code:ye.custom,path:["usageEdges",v,"executionNodeKey"],message:`Usage edge references unknown execution node "${b.executionNodeKey}"`}),r.has(b.targetKey)||n.addIssue({code:ye.custom,path:["usageEdges",v,"targetKey"],message:`Usage edge references unknown Target "${b.targetKey}"`})});const u=new Set(e.usageEdges.map(rw)),h=new Set;e.reportingScopes?.forEach((b,v)=>{if(h.has(b.stableKey)&&n.addIssue({code:ye.custom,path:["reportingScopes",v,"stableKey"],message:`Duplicate reporting scope key "${b.stableKey}"`}),h.add(b.stableKey),b.groupKey!==void 0){const k=e.groups.find(S=>S.stableKey===b.groupKey);(!k||b.usageEdges.some(S=>!k.targetKeys.includes(S.targetKey)))&&n.addIssue({code:ye.custom,path:["reportingScopes",v,"groupKey"],message:"A market must link to an existing group containing all its assigned properties."})}const x=new Set;b.usageEdges.forEach((k,S)=>{const N=rw(k);u.has(N)||n.addIssue({code:ye.custom,path:["reportingScopes",v,"usageEdges",S],message:`Reporting scope "${b.stableKey}" references a usage edge that this revision does not contain.`}),x.has(N)&&n.addIssue({code:ye.custom,path:["reportingScopes",v,"usageEdges",S],message:`Reporting scope "${b.stableKey}" repeats a usage edge.`}),x.add(N)})}),e.assignments.forEach((b,v)=>{r.has(b.targetKey)||n.addIssue({code:ye.custom,path:["assignments",v,"targetKey"],message:`Assignment references unknown Target "${b.targetKey}"`})});const f=new Map;e.groups.forEach((b,v)=>{f.has(b.stableKey)&&n.addIssue({code:ye.custom,path:["groups",v,"stableKey"],message:"Duplicate group stable key "+b.stableKey}),f.set(b.stableKey,b)}),e.groups.forEach((b,v)=>{const x=b.parentGroupKey;if(x===void 0)return;if(x===b.stableKey){n.addIssue({code:ye.custom,path:["groups",v,"parentGroupKey"],message:"A group cannot be its own parent."});return}const k=f.get(x);if(!k){n.addIssue({code:ye.custom,path:["groups",v,"parentGroupKey"],message:"Group parent does not exist: "+x});return}const S=new Set(k.targetKeys);b.targetKeys.forEach((z,q)=>{S.has(z)||n.addIssue({code:ye.custom,path:["groups",v,"targetKeys",q],message:"Group target membership must be a subset of its parent."})});const N=new Set([b.stableKey]);let _=k;for(;_.parentGroupKey!==void 0;){if(N.has(_.stableKey)){n.addIssue({code:ye.custom,path:["groups",v,"parentGroupKey"],message:"Group parent relationships cannot contain a cycle."});break}N.add(_.stableKey);const z=f.get(_.parentGroupKey);if(!z)break;_=z}});for(const b of e.groups)for(const v of b.targetKeys)r.has(v)||n.addIssue({code:ye.custom,path:["groups"],message:`Group "${b.stableKey}" references unknown Target "${v}"`})}),b0=100;function Pr(e){return d({items:y(e),nextCursor:o().min(1).nullable(),totalEstimate:m().int().nonnegative().optional()}).strict()}const $c=j(["no_completed_run","plan_v1","no_population","evidence_incomplete","identity_ambiguous","not_applicable"]),dn=Be("state",[d({state:R("available"),value:we(),numerator:m().int().nonnegative().optional(),denominator:m().int().positive().optional(),unattributed:m().int().positive().optional(),unchecked:m().int().positive().optional()}).strict().superRefine((e,n)=>{e.unattributed!==void 0&&e.unchecked!==void 0&&n.addIssue({code:"custom",path:["unchecked"],message:"A metric reads one signal: unattributed (mention) and unchecked (citation) cannot share it"})}),d({state:R("unavailable"),reason:$c}).strict()]),jo=Be("state",[d({state:R("available"),value:m().int().nonnegative(),numerator:m().int().nonnegative().optional(),denominator:m().int().positive().optional()}).strict(),d({state:R("unavailable"),reason:$c}).strict()]),v0=j(["all","group","property"]),pa=f0,Y9=j(["label-asc","label-desc","citationCoverage-asc","citationCoverage-desc","mentionCoverage-asc","mentionCoverage-desc"]),x0=j(["not_measured","queued","running","complete","partial","failed"]),X9=j(["run_measurement","review_flags","complete_setup","republish_setup","none"]);d({scope:v0,groupKey:fe.optional(),targetKey:fe.optional(),queryClass:pa.optional(),provider:At.optional(),location:o().trim().min(1).optional(),from:o().trim().min(1).optional(),to:o().trim().min(1).optional(),runId:o().trim().min(1).optional(),search:o().optional(),sort:Y9.optional(),cursor:o().trim().min(1).optional(),limit:m().int().positive().max(b0).optional(),compact:T().optional()}).strict();const J9=d({provider:At,mentionCoverage:dn,citationCoverage:dn}).strict(),W9=d({bothSignals:m().int().nonnegative(),mentionedOnly:m().int().nonnegative(),citedOnly:m().int().nonnegative(),neither:m().int().nonnegative(),notMeasured:m().int().nonnegative(),total:m().int().nonnegative()}).strict(),lg=d({groupKey:fe,label:o().trim().min(1)}).strict(),eO=d({targetKey:fe,label:o().min(1),metro:lg.nullable().optional(),otherMetros:y(lg).min(1).optional(),mentionCoverage:dn,citationCoverage:dn,providers:y(J9),flags:m().int().nonnegative()}).strict(),tO=d({kind:j(["project","competitor"]),stableKey:o().min(1),label:o().min(1),domain:o().min(1),credits:m().int().nonnegative(),share:we(m().min(0).max(1))}).strict(),nO=d({groupKey:fe,queryClass:R("non-brand"),denominator:m().int().positive(),entries:y(tO)}).strict();d({mode:j(["active-v1","active-v2"]),scope:d({kind:v0,key:o().min(1).optional(),label:o().min(1)}).strict(),queryClass:pa,measurement:d({state:x0,currentRunId:o().min(1).optional(),displayedRunId:o().min(1).optional(),completed:m().int().nonnegative(),expected:m().int().nonnegative(),completedAt:o().datetime().optional(),includesHistoricalData:T().optional()}).strict(),nextAction:d({kind:X9,count:m().int().nonnegative().optional()}).strict(),metrics:d({propertiesMentioned:jo,mentionCoverage:dn,citationCoverage:dn,brandPresence:dn,sov:dn.describe("Deprecated alias of brandPresence carrying the identical value. Remove once the browser migrates.")}).strict(),properties:Pr(eO),outcomes:W9,flags:d({total:m().int().nonnegative()}).strict(),namedShareOfVoice:nO.optional(),detailsOmitted:y(o()).optional()}).strict();const Wj=j(["sources","answers"]),aO=Wj.enum;aO.sources;d({targetKey:fe,queryClass:pa.optional(),provider:At.optional(),location:o().trim().min(1).optional(),runId:o().trim().min(1).optional(),shape:Wj.optional(),cursor:o().trim().min(1).optional(),limit:m().int().positive().max(b0).optional()}).strict();const e2=1,Kc=m().int().positive(),gn=o().trim().min(1).max(128).regex(/^[a-z0-9][\w.~-]*$/i,"Must be a URL-safe stable key"),Gc=o().trim().min(1).max(256),lw=j(["sensitive","insensitive"]);function Fd(e){const n=Uc(e);if(!n)throw new Error(`Invalid measurement host: ${e}`);return n}function iO(e){const n=[];let i=!1;for(let r=0;r<e.length;r++){const u=e[r];u==="/"?(i||n.push(u),i=!0):(n.push(u),i=!1)}for(;n.length>1&&n.at(-1)==="/";)n.pop();return n.length?n.join(""):"/"}function cw(e){try{return decodeURI(e).normalize("NFC").toLowerCase()}catch{return e.normalize("NFC").toLowerCase()}}function t2(e){const n=new URL(`https://measurement.invalid${e}`).pathname;return iO(n.replace(/%[0-9a-f]{2}/gi,i=>i.toUpperCase()))}function cg(e){const n=e.trim();if(!n||n.includes("?")||n.includes("#")||n.includes("://")||n.includes("\\"))throw new Error(`Invalid measurement path prefix: ${e}`);const i=n.startsWith("/")?n:`/${n}`;for(const r of i.split("/")){let u;try{u=decodeURIComponent(r)}catch{throw new Error(`Invalid measurement path prefix: ${e}`)}if(u==="."||u==="..")throw new Error(`Invalid measurement path prefix: ${e}`)}try{return t2(i)}catch{throw new Error(`Invalid measurement path prefix: ${e}`)}}function sO(e){const n=/^[a-z][a-z0-9+.-]*:\/\/[^/?#]*/i.exec(e);if(!n)throw new Error(`Invalid exact measurement URL: ${e}`);return e.slice(n[0].length).split(/[?#]/,1)[0]||"/"}function uw(e){const n=e.trim();if(!n||n.includes("\\"))throw new Error(`Invalid exact measurement URL: ${e}`);let i;try{i=new URL(n)}catch{throw new Error(`Invalid exact measurement URL: ${e}`)}if(i.protocol!=="http:"&&i.protocol!=="https:"||i.username||i.password||i.port||i.search||i.hash)throw new Error(`Invalid exact measurement URL: ${e}`);const r=Fd(i.hostname),u=cg(sO(n));return`https://${r}${u}`}const Rc=o().trim().min(1).refine(e=>{try{return Fd(e),!0}catch{return!1}},"A target URL matcher host must be a valid hostname").overwrite(e=>Fd(e)),oO=o().trim().min(1).refine(e=>{try{return cg(e),!0}catch{return!1}},"A target URL matcher pathPrefix must be an absolute path without query or fragment").overwrite(e=>cg(e)),rO=o().trim().min(1).refine(e=>{try{return uw(e),!0}catch{return!1}},"A target exact matcher must be an HTTP(S) URL without credentials, port, query, or fragment").overwrite(e=>uw(e)),lO=Be("kind",[d({kind:R("exact"),url:rO,pathCase:lw}).strict(),d({kind:R("prefix"),host:Rc,pathPrefix:oO,pathCase:lw}).strict(),d({kind:R("host"),host:Rc}).strict()]),n2=o().trim().min(1).max(256).refine(e=>Ga(e).length>0,"A target alias must contain mention text"),cO=Ge(o().trim().min(1),o()),uO=Rc,a2=d({stableKey:gn,label:o().trim().min(1),urls:y(lO).min(1),aliases:y(n2),metadata:cO.optional()}).strict(),w0=d({stableKey:gn,label:o().trim().min(1),targetKeys:y(gn).min(1),competitors:y(uO).optional()}).strict(),i2=d({targetKey:gn,queryIds:y(Gc).min(1),context:mn.nullable().optional()}).strict();function dO(e,n){return e<n?-1:e>n?1:0}function mO(e,n=i=>i){const i=new Set,r=new Set;for(const u of e){const h=n(u);i.has(h)&&r.add(h),i.add(h)}return r}function vf(e,n,i,r,u){for(const h of mO(n,u))e.addIssue({code:"custom",path:[...i],message:`Duplicate ${r}: ${h}`})}function dw(e){if(e.kind==="host")return{host:e.host,pathname:null};if(e.kind==="prefix")return{host:e.host,pathname:e.pathPrefix};const n=new URL(e.url);return{host:Fd(n.hostname),pathname:t2(n.pathname||"/")}}function pO(e,n,i,r){return e===i||(n==="insensitive"||r==="insensitive")&&cw(e)===cw(i)}function hO(e,n){if(e.kind!==n.kind)return!1;const i=dw(e),r=dw(n);return i.host!==r.host?!1:e.kind==="host"||n.kind==="host"?!0:pO(i.pathname,e.pathCase,r.pathname,n.pathCase)}function fO(e){const n=new Set;return[...e].sort(dO).filter(i=>{const r=Ga(i);return n.has(r)?!1:(n.add(r),!0)})}const s2=d({schemaVersion:R(e2),targets:y(a2).min(1),groups:y(w0).optional(),targetQuerySelections:y(i2).optional()}).strict().superRefine((e,n)=>{const i=e.groups??[],r=e.targetQuerySelections??[];vf(n,e.targets.map(v=>v.stableKey),["targets"],"target stable key"),vf(n,i.map(v=>v.stableKey),["groups"],"group stable key");const u=new Set(e.targets.map(v=>v.stableKey)),h=new Set(i.map(v=>v.stableKey));for(const v of u)h.has(v)&&n.addIssue({code:"custom",path:["groups"],message:`Target and group stable keys must be globally unique: ${v}`});const f=new Map,b=[];e.targets.forEach((v,x)=>{for(const k of fO(v.aliases)){const S=Ga(k),N=f.get(S);N&&N!==v.stableKey&&n.addIssue({code:"custom",path:["targets",x,"aliases"],message:`Target alias is already assigned to target ${N}: ${k}`}),f.set(S,v.stableKey)}v.urls.forEach((k,S)=>{b.find(_=>_.targetKey!==v.stableKey&&hO(_.matcher,k))&&n.addIssue({code:"custom",path:["targets",x,"urls",S],message:"Target URL matcher has an equal-specificity cross-target tie"}),b.push({targetKey:v.stableKey,matcher:k})})}),i.forEach((v,x)=>{vf(n,v.targetKeys,["groups",x,"targetKeys"],"group target key");for(let k=0;k<v.targetKeys.length;k++){const S=v.targetKeys[k];u.has(S)||n.addIssue({code:"custom",path:["groups",x,"targetKeys",k],message:`Unknown target: ${S}`})}}),r.forEach((v,x)=>{u.has(v.targetKey)||n.addIssue({code:"custom",path:["targetQuerySelections",x,"targetKey"],message:`Unknown target: ${v.targetKey}`})})});s2.transform(e=>({...e,groups:e.groups??[],targetQuerySelections:e.targetQuerySelections??[]}));d({expectedActiveRevision:Kc.nullable(),plan:s2}).strict();const gO=d({queryId:Gc,queryText:o().min(1)}).strict(),k0=d({stableKey:o().min(1),queryText:o().min(1),context:mn.nullable(),expectedSnapshots:m().int().nonnegative()}).strict(),yO=d({kind:R("baseline"),executionNodeKey:o().min(1),queryId:Gc}).strict(),bO=d({kind:R("target"),executionNodeKey:o().min(1),queryId:Gc,targetKey:gn}).strict(),ug=Be("kind",[yO,bO]),o2=d({code:R("target-alias-prefix-overlap"),message:o().min(1),targetKeys:y(gn).min(1),aliases:y(o().min(1)).min(1)}).strict(),r2=a2.extend({mentionNotApplicable:T()}),l2=d({schemaVersion:R(e2),defaultContext:mn.nullable(),effectiveOwnedHosts:y(Rc),projectCanonicalHost:Rc,projectBrandNames:y(n2),targets:y(r2),groups:y(w0),targetQuerySelections:y(i2),querySnapshots:y(gO),executionNodes:y(k0),usageEdges:y(ug),warnings:y(o2)}).strict(),vO=l2,c2=Be("schemaVersion",[l2,jm]),S0=o().regex(/^[a-f0-9]{64}$/),j0=o().datetime(),u2=d({schemaVersion:R(1),language:o().min(1).optional(),providers:y(o().min(1)).min(1),models:Ge(o().min(1),o().min(1)),checksum:o().regex(/^[a-f0-9]{64}$/)}).strict(),xO=d({groups:y(gn).optional(),targets:y(gn).optional()}).strict(),wO=d({groups:y(gn),targets:y(gn),queries:y(o().min(1)),resolvedTargets:y(gn)}).strict().superRefine((e,n)=>{e.resolvedTargets.length===0&&e.queries.length===0&&n.addIssue({code:"custom",path:["resolvedTargets"],message:"A recorded scope must name something it measured"})});d({stableKey:gn,retiredAt:o().datetime()});d({active:d({revision:Kc,checksum:S0,createdAt:j0,plan:c2}).nullable()});d({versions:y(d({revision:Kc,checksum:S0,createdAt:j0,active:T()}))});d({version:d({revision:Kc,checksum:S0,createdAt:j0,active:T(),plan:c2})});const Dd=d({targets:m().int(),groups:m().int(),queries:m().int(),executionNodes:m().int(),usageEdges:m().int(),baselineEdges:m().int(),targetEdges:m().int(),dedupSavings:m().int()}).strict(),kO=j(["invalid-authoring","duplicate-identity","unknown-target","unknown-query","invalid-project-context","unowned-target-url","owned-competitor","target-query-context-conflict","target-url-ownership-tie","target-alias-cross-target-collision","target-alias-project-brand-collision","target-alias-prefix-overlap"]),d2=d({id:kO,severity:j(["fail","warn"]),message:o().min(1),path:y(Ze([o(),m().int()]))}).strict(),SO=d({baseline:m().int().nonnegative(),target:m().int().nonnegative()}).strict(),m2=d({ok:R(!0),checks:y(d2),executionNodes:y(k0),dedupSaved:m().int().nonnegative(),usageEdges:SO,estCostUsd:ue(),plan:vO,warnings:y(o2),counts:Dd}).strict(),p2=d({ok:R(!1),checks:y(d2).min(1),executionNodes:y(k0).length(0),dedupSaved:R(0),usageEdges:d({baseline:R(0),target:R(0)}).strict(),estCostUsd:ue()}).strict();Be("ok",[m2,p2]);const gd=d({targetKey:gn,context:mn.nullable(),queryIds:y(Gc)}).strict();function mw(e){return d({added:y(e),removed:y(e),changed:y(d({stableKey:gn,before:e,after:e}).strict()),unchanged:y(gn)}).strict()}const jO=m2.extend({diff:d({activeRevision:Kc.nullable(),targets:mw(r2),groups:mw(w0),querySelections:d({added:y(gd),removed:y(gd),changed:y(d({targetKey:gn,before:gd,after:gd}).strict()),unchanged:y(d({targetKey:gn,context:mn.nullable()}).strict())}).strict(),execution:d({addedNodeKeys:y(o().min(1)),removedNodeKeys:y(o().min(1)),addedUsageEdges:y(ug),removedUsageEdges:y(ug),counts:d({before:Dd.nullable(),after:Dd,delta:Dd.nullable()}).strict()}).strict()}).strict()}).strict(),AO=p2.extend({diff:ue()}).strict();Be("ok",[jO,AO]);const A0=j(["PROVIDER_AUTH","PROVIDER_BILLING","RATE_LIMITED","PROVIDER_UNAVAILABLE","NETWORK","TIMEOUT","PARSE_ERROR","UNKNOWN"]),dte=A0.enum,ha=j(["queued","running","completed","partial","failed","cancelled"]),jt=ha.enum,Tr=j(["answer-visibility","site-audit","gsc-sync","inspect-sitemap","ga-sync","bing-inspect","bing-inspect-sitemap","backlink-extract","traffic-sync","aeo-discover-seed","aeo-discover-probe","gbp-sync","ads-sync","google-ads-sync","gtm-sync"]),De=Tr.enum;d({kind:Tr.optional(),excludeKind:Tr.optional(),excludeKinds:ri(e=>{const n=typeof e=="string"?[e]:Array.isArray(e)?e:null;return n?[...new Set(n.flatMap(i=>typeof i=="string"?i.split(",").map(r=>r.trim()).filter(Boolean):[i]))]:e},y(Tr).max(Tr.options.length)).optional(),status:ha.optional()});const N0=j(["manual","scheduled","config-apply","backfill","probe"]),Va=N0.enum,Vi=j(["cited","not-cited"]),wc=Vi.enum,Qd=j(["visible","not-visible"]);Qd.enum;const Dc=j(["mentioned","not-mentioned"]);Dc.enum;const h2=j(["new","cited","lost","emerging","not-cited"]);h2.enum;const NO=j(["new","mentioned","lost","emerging","not-mentioned"]);NO.enum;const CO=j([Va.manual,Va.probe]);d({kind:R(De["answer-visibility"]).optional(),trigger:CO.optional(),providers:y(At).optional(),queries:y(o().min(1)).min(1).optional(),measurementScope:xO.optional(),location:o().min(1).optional(),allLocations:T().optional(),noLocation:T().optional(),dispatchMode:Vc.optional(),force:T().optional()}).refine(e=>+!!e.location+ +!!e.allLocations+ +!!e.noLocation<=1,{message:'Only one of "location", "allLocations", or "noLocation" may be provided'});const f2=d({code:A0,consecutiveRuns:m().int().positive(),since:o(),latestRunId:o(),retryAfter:o()}),_O=d({message:o(),raw:kn().optional(),code:A0.optional(),skipped:T().optional()}),TO=d({message:o().optional(),providers:Ge(o(),_O).optional()}),EO=Ge(o(),R(Vc.enum.batch)),RO=d({id:o(),provider:o(),model:o(),status:Mj,requestCount:m().int().nonnegative(),ingestedCount:m().int().nonnegative(),recordedCount:m().int().nonnegative(),submittedAt:o().nullable(),endedAt:o().nullable(),deadlineAt:o(),error:o().nullable()}),DO=d({provider:o(),pricingTier:c0,answers:m().int().nonnegative(),inputTokens:m().int().nonnegative(),cachedInputTokens:m().int().nonnegative(),cacheWriteTokens:m().int().nonnegative(),outputTokens:m().int().nonnegative(),searchCount:m().int().nonnegative(),estimatedCostMicros:m().int().nonnegative().nullable(),unpricedAnswers:m().int().nonnegative()}),zO=d({id:o(),projectId:o(),kind:Tr,status:ha,trigger:N0.default("manual"),measurementPlanVersionId:o().nullable().optional(),measurementManifest:Ge(o(),kn()).nullable().optional(),measurementScope:wO.nullable().optional(),measurementExecutionIdentity:u2.nullable().optional(),location:o().nullable().optional(),queries:y(o()).nullable().optional(),startedAt:o().nullable().optional(),finishedAt:o().nullable().optional(),error:TO.nullable().optional(),queryBasketRevision:m().int().nullable().optional(),dispatchModes:EO.optional(),skippedProviders:Ge(o(),f2).optional(),createdAt:o()}),pw=d({refused:T(),retryAfter:o().nullable(),providers:Ge(o(),f2)});function C0(e){if(e.providers){const n=Object.entries(e.providers);if(n.length===1){const[i,r]=n[0];return`${i}: ${r.message}`}if(n.length>1)return n.map(([i,r])=>`${i}: ${r.message}`).join(" • ")}return e.message??"Run failed."}const Am=d({uri:o(),title:o()}),IO=d({status:j(["applied","ignored","browser-implicit","unknown"]),resolved:mn.nullable().optional()}),g2=d({id:o(),runId:o(),queryId:o(),query:o().optional(),provider:At,citationState:Vi,answerMentioned:T().optional(),visibilityState:Qd.optional(),mentionState:Dc.optional(),transition:h2.optional(),answerText:o().nullable().optional(),citedDomains:y(o()).default([]),citedUrls:y(o()).nullable().default(null),captureStatus:Ze([wm,ue()]).default(null),sourceCount:m().int().nonnegative().nullable().default(null),resolvedCount:m().int().nonnegative().nullable().default(null),captureVersion:m().int().positive().nullable().default(null),retrievalStatus:Ze([Wg,ue()]).default(null),retrievalContract:Ze([e0,ue()]).default(null),competitorOverlap:y(o()).default([]),citedCompetitorDomains:y(o()).default([]),mentionedCompetitorDomains:y(o()).default([]),mentionedCompetitorTerms:y(o()).default([]),recommendedCompetitors:y(o()).default([]),matchedTerms:y(o()).default([]),groundingSources:y(Am).default([]),searchQueries:y(o()).default([]),model:o().nullable().optional(),servedModel:o().nullable().optional(),location:o().nullable().optional(),requestedContext:mn.nullable().optional(),supportedContext:IO.nullable().optional(),dispatchMode:Ze([Vc,ue()]).optional(),stopReason:o().nullable().optional(),usage:PI.nullable().optional(),createdAt:o()});d({snapshots:y(g2),total:m().int().nonnegative()});const OO=d({queryId:o().nullable(),query:o().nullable(),run1State:Vi.nullable(),run2State:Vi.nullable(),run1AnswerMentioned:T().nullable(),run2AnswerMentioned:T().nullable(),run1VisibilityState:Qd.nullable(),run2VisibilityState:Qd.nullable(),run1MentionState:Dc.nullable().optional(),run2MentionState:Dc.nullable().optional(),changed:T(),visibilityChanged:T()});d({run1:o(),run2:o(),diff:y(OO)});const PO=d({totalQueries:m().int().nonnegative(),citedQueries:m().int().nonnegative(),mentionedQueries:m().int().nonnegative()}),qO=zO.extend({snapshots:y(g2).optional(),queryCounts:PO.nullable().optional(),providerBatches:y(RO).optional(),usage:y(DO).optional()}),MO=d({totalRuns:m().int().nonnegative(),run:qO.nullable(),admission:pw.optional(),manualAdmission:pw.optional()});d({id:o(),projectId:o().nullable().optional(),actor:o(),action:o(),entityType:o(),entityId:o().nullable().optional(),diff:kn().optional(),userAgent:o().nullable().optional(),actorSession:o().nullable().optional(),requestId:o().nullable().optional(),credentialId:o().nullable().optional(),createdAt:o()});const y2=Ze([ha,ue()]),_0=j(["pass","partial","fail"]),mte=_0.enum,b2=j(["up","down","flat"]);b2.enum;const BO=d({id:o(),name:o(),weight:m(),sharePct:ot(m().min(0).max(100)).nullable().default(null),avgScore:m(),status:_0,pagesPassing:m().int().nonnegative(),pagesPartial:m().int().nonnegative(),pagesFailing:m().int().nonnegative()}),LO=d({factorId:o(),factorName:o(),avgScore:m(),affectedPages:m().int().nonnegative(),totalPages:m().int().nonnegative(),affectedPct:ot(m().nonnegative()),topRecommendations:y(o()).default([])}),$a=d({reason:j(["explicit-run","latest-date-complete","latest-date-most-pages","latest-scored-scan","requested-date-complete","requested-date-most-pages"]),date:o(),sameDateRunCount:m().int().nonnegative(),ambiguousDate:T(),candidates:y(d({runId:o(),createdAt:o(),complete:T(),pages:m().int().nonnegative()})).max(10),candidatesTruncated:T()});d({project:o(),hasData:T(),runId:o().nullable(),runStatus:y2,sitemapUrl:o().nullable(),auditedAt:o().nullable(),aggregateScore:m(),pagesDiscovered:m().int().nonnegative(),pagesAudited:m().int().nonnegative(),pagesSkipped:m().int().nonnegative(),pagesErrored:m().int().nonnegative(),deltaScore:m().nullable(),trend:Ze([b2,ue()]),previousScore:m().nullable(),previousAuditedAt:o().nullable(),runSelection:$a.optional(),factors:y(BO).default([]),affectedPageRanking:d({basis:R("pages-below-pass"),scope:R("audited-pages"),pagesAudited:m().int().nonnegative(),items:y(d({factorId:o(),pagesBelowPass:m().int().nonnegative(),pagesFailing:m().int().nonnegative(),pagesPartial:m().int().nonnegative()})),unavailableFactorIds:y(o())}).optional(),crossCuttingIssues:y(LO).default([]),prioritizedFixes:y(o()).default([])});const v2=d({id:o(),name:o(),weight:m(),score:m(),sharePct:ot(m().min(0).max(100)).nullable().default(null)}),UO=d({url:o(),overallScore:m(),status:j(["success","error"]),error:o().nullable().optional(),factors:y(v2).default([])});d({project:o(),runId:o().nullable(),auditedAt:o().nullable(),runSelection:$a.optional(),total:m().int().nonnegative(),pages:y(UO).default([])});const VO=d({runId:o(),auditedAt:o(),aggregateScore:m(),pagesAudited:m().int().nonnegative()});d({project:o(),points:y(VO).default([])});const $O=j(["disabled","complete","partial","unavailable"]);$O.enum;const Fr=j(["indexable","redirect-terminal","canonical-to-other","robots-disallow","noindex","non-html","fetch-error","not-fetched","unknown"]);Fr.enum;const x2=d({healthReason:Fr,pages:m().int().nonnegative(),exampleUrl:o()}),w2=d({scope:R("selected-snapshot"),total:m().int().nonnegative(),eligible:m().int().nonnegative(),excluded:m().int().nonnegative(),excludedReasons:y(x2).max(Fr.options.length)}),k2=d({recentDates:y(Sn).max(10),totalDates:m().int().nonnegative(),matchingMonthDayDates:y(Sn).max(10),matchingMonthDayTotal:m().int().nonnegative()}),KO=d({pagesDiscovered:m().int().nonnegative(),pagesFetched:m().int().nonnegative(),pagesEligible:m().int().nonnegative(),edges:m().int().nonnegative(),findings:m().int().nonnegative()}),GO=Be("state",[d({state:R("unavailable")}),d({state:R("disabled")}),d({state:R("complete"),checked:m().int().nonnegative(),found:m().int().nonnegative(),unverified:m().int().nonnegative()}),d({state:R("partial"),checked:m().int().nonnegative(),found:m().int().nonnegative(),unverified:m().int().nonnegative()})]);d({project:o(),hasCrawlData:T(),legacyAuditAvailable:T(),runId:o().nullable(),runSelection:$a.optional(),requestedDate:Sn.optional(),availableScanDates:k2.optional(),inventorySummary:w2.nullable().optional(),runStatus:y2,requestedRootUrl:o().nullable(),rootUrl:o().nullable(),crawlSchemaVersion:o().nullable().optional(),engineVersion:o().nullable().optional(),normalizationVersion:o().nullable().optional(),indexabilityVersion:o().nullable().optional(),linkScoreVersion:o().nullable().optional(),effectiveOptions:Ge(o(),kn()).default({}),complete:T(),termination:o().nullable(),detailsAvailable:T(),counts:KO,deadLinks:GO});j(["complete","unknown","max-pages","max-edges","max-fetches","max-duration","max-bytes","max-page-bytes","max-depth","max-links-per-page","max-query-variants","max-sitemap-fanout","max-sitemap-urls","root-host-redirect"]);const Nm=j(["eligible","hidden","resource","redirect","failed","unchecked"]),pte=Nm.enum,hte=Nm.options,Ar={discovered:"discovered",robotsBlocked:"robots-blocked",html:"html",redirect:"redirect",nonHtml:"non-html",fetchError:"fetch-error"},yd={indexable:"indexable",noindex:"noindex",blocked:"blocked",unknown:"unknown"},HO={robotsDisallow:"robots-disallow",redirectTerminal:"redirect-terminal",metaRobotsNoindex:"meta-robots-noindex",xRobotsNoindex:"x-robots-noindex",canonicalToOther:"canonical-to-other",notHtmlOrUnavailable:"not-html-or-unavailable"};function FO(e){return e.indexabilityReasons?.some(n=>n===HO.canonicalToOther)===!0||e.nodeKey!==void 0&&e.canonicalNodeKey!==null&&e.canonicalNodeKey!==void 0&&e.canonicalNodeKey!==e.nodeKey}function fte(e){switch(e.fetchState){case Ar.fetchError:return"failed";case Ar.discovered:return"unchecked";case Ar.nonHtml:return"resource";case Ar.redirect:return"redirect";case Ar.robotsBlocked:return"hidden";case Ar.html:break;default:return"unchecked"}if(FO(e))return"hidden";switch(e.indexabilityState){case yd.indexable:return"eligible";case yd.noindex:case yd.blocked:return"hidden";case yd.unknown:default:return"unchecked"}}const gte=15,QO=j(["navigation","content","unknown"]);QO.enum;const ZO=d({navigation:m().int().nonnegative(),content:m().int().nonnegative(),unknown:m().int().nonnegative()}),S2=j(["placement","ubiquity","unmeasured"]);S2.enum;const Cm=j(["applied","applied-placement","applied-placement-with-ubiquity","applied-placement-partial","unavailable-too-few-pages","unavailable-legacy-scan"]);Cm.enum;function yte(e){switch(e){case"applied":case"applied-placement":case"applied-placement-with-ubiquity":case"applied-placement-partial":return!0;case"unavailable-too-few-pages":case"unavailable-legacy-scan":return!1}}const _m=j(["all","content","template"]);_m.enum;const YO=j(["anchor","redirect","canonical","link"]);YO.enum;const zc=d({nodeKey:o(),url:o(),finalUrl:o().nullable(),path:o(),parentPath:o(),discoverySource:o(),fetchState:o(),httpStatus:m().int().nullable(),canonicalUrl:o().nullable(),indexabilityState:o(),indexabilityReasons:y(o()).default([]),auditState:o(),auditScore:m().nullable(),inventoryEligible:T(),depth:m().int().nullable(),inboundUniqueEdges:m().int().nonnegative(),outboundUniqueEdges:m().int().nonnegative(),inboundOccurrences:m().int().nonnegative(),outboundOccurrences:m().int().nonnegative(),linkScoreRaw:m().nullable(),linkScoreNormalized:ot().nullable(),healthState:Nm,healthReason:Fr.optional()}),XO=d({type:j(["found","missing","info","timeout","unreachable"]),code:o().min(1),message:o().min(1)}),hw=v2.extend({status:_0,applicable:T().nullable(),findings:y(XO).default([]),recommendations:y(o()).default([])}),fw=d({id:o().min(1),severity:j(["critical","warning"]),detail:o().min(1),recommendation:o().min(1)}),bd=d({project:o(),runId:o(),complete:T(),termination:o().nullable(),runSelection:$a.optional()}),gw=d({nodeKey:o(),url:o(),auditState:o()});Be("state",[d({state:R("no-crawl"),project:o(),runId:ue()}),bd.extend({state:R("details-unavailable")}),bd.extend({state:R("not-found")}),bd.merge(gw).extend({state:R("not-audited"),auditScore:ue(),factors:y(hw).length(0).default([]),criticalDefects:y(fw).length(0).default([])}),bd.merge(gw).extend({state:R("ready"),auditScore:m(),evidenceState:j(["complete","scores-only"]),factors:y(hw).default([]),criticalDefects:y(fw).default([])})]);const JO=j(["applied","unavailable-legacy-scan"]),Hc={complete:T(),termination:o().nullable(),runSelection:$a.optional()};d({project:o(),hasCrawlData:T(),runId:o().nullable(),...Hc,requestedDate:Sn.optional(),availableScanDates:k2.optional(),inventorySummary:w2.nullable().optional(),healthReasonCounts:y(x2).max(Fr.options.length).nullable().optional(),total:m().int().nonnegative(),nextCursor:o().nullable(),healthStateFilter:Ze([JO,ue()]).default(null),pages:y(zc).default([])});const WO=d({path:o(),url:o().nullable(),hasPage:T(),pageCount:m().int().positive(),inventoryEligibleCount:m().int().nonnegative(),fetchedCount:m().int().nonnegative()});d({project:o(),hasCrawlData:T(),runId:o().nullable(),...Hc,parentPath:o(),nextCursor:o().nullable(),children:y(WO).default([])});const Ao=d({edgeKey:o(),sourceNodeKey:o(),sourceUrl:o(),targetNodeKey:o().nullable(),targetUrl:o(),relation:o(),internal:T(),followable:T(),occurrences:m().int().positive(),followableOccurrences:m().int().nonnegative(),nofollowOccurrences:m().int().nonnegative(),anchors:y(o()).default([]),isTemplate:Ze([T(),ue()]),templateRatio:Ze([we(),ue()]),templateSource:S2,placementOccurrences:Ze([ZO,ue()])}),eP=d({nodeKey:o(),url:o(),path:o(),depth:m().int().nonnegative().nullable(),indexabilityState:o(),fetchState:o(),auditState:o(),auditScore:m().nullable(),inventoryEligible:T(),inboundUniqueEdges:m().int().nonnegative(),outboundUniqueEdges:m().int().nonnegative(),linkScoreNormalized:ot().nullable(),healthState:Nm,healthReason:Fr.optional(),x:m(),y:m()}),tP=d({edgeKey:o(),sourceNodeKey:o(),targetNodeKey:o(),followable:T(),occurrences:m().int().positive(),isTemplate:T()}),nP=j(["no-crawl","legacy-snapshot","details-unavailable","layout-failed","empty-crawl"]),aP=Be("state",[d({state:R("ready"),version:o().min(1),computedAt:o().min(1),templateLinksExcluded:T()}),d({state:R("unavailable"),version:ue(),reason:nP})]);d({project:o(),hasCrawlData:T(),runId:o().nullable(),rootNodeKey:o().nullable(),...Hc,layout:aP,templateDetection:Cm,linkKind:_m,totalNodes:m().int().nonnegative(),totalEdges:m().int().nonnegative(),totalTemplateEdges:m().int().nonnegative(),totalContentEdges:m().int().nonnegative(),nodes:y(eP).default([]),edges:y(tP).default([]),omittedNodes:m().int().nonnegative(),omittedEdges:m().int().nonnegative(),sampled:T()});const bte=2e4,vte=5e4,iP=j(["focus","inbound","outbound","both","transitive"]),sP=zc.extend({distance:m().int().nonnegative(),relationToFocus:iP});d({project:o(),hasCrawlData:T(),runId:o().nullable(),complete:T(),termination:o().nullable(),runSelection:$a.optional(),state:j(["no-crawl","details-unavailable","ready"]),focusNodeKey:o().nullable(),focusUrl:o().nullable(),hops:m().int().min(0).max(3),totalNodes:m().int().nonnegative(),totalEdges:m().int().nonnegative(),nodes:y(sP).default([]),edges:y(Ao).default([]),omittedNodes:m().int().nonnegative(),omittedEdges:m().int().nonnegative(),countAccuracy:j(["exact","lower-bound"]),truncated:T()});const yw=d({nodeKey:o(),url:o(),path:o()});d({project:o(),runId:o().nullable(),complete:T(),termination:o().nullable(),runSelection:$a.optional(),state:j(["no-crawl","details-unavailable","found","unreachable","truncated"]),from:yw.nullable(),to:yw.nullable(),maxDepth:m().int().positive(),visitedNodes:m().int().nonnegative(),nodes:y(zc).default([]),edges:y(Ao).default([])});const j2=j(["added","removed","changed"]),oP=d({entity:R("page"),change:j2,key:o(),changedFields:y(o()).default([]),before:zc.nullable(),after:zc.nullable()}),rP=d({entity:R("link"),change:j2,key:o(),changedFields:y(o()).default([]),before:Ao.nullable(),after:Ao.nullable()}),lP=Be("entity",[oP,rP]),bw=d({added:m().int().nonnegative(),removed:m().int().nonnegative(),changed:m().int().nonnegative()}),cP=d({scope:j(["all","pages","links"]),change:j(["all","added","removed","changed"])});Be("state",[d({project:o(),state:R("unavailable"),reason:j(["no-crawl","insufficient-history","details-unavailable","partial-not-comparable"]),fromRunId:o().nullable(),toRunId:o().nullable()}),d({project:o(),state:R("incompatible"),reason:R("incompatible-versions"),fromRunId:o(),toRunId:o(),mismatchedVersions:y(o()).min(1)}),d({project:o(),state:R("ready"),fromRunId:o(),toRunId:o(),versions:d({crawlSchema:o(),normalization:o(),indexability:o(),linkScore:o()}),filters:cP,summaryState:j(["exact","omitted-on-continuation"]),summary:d({pages:bw,links:bw}).nullable(),total:m().int().nonnegative().nullable(),nextCursor:o().nullable(),changes:y(lP).default([])})]);d({project:o(),hasCrawlData:T(),runId:o().nullable(),...Hc,total:m().int().nonnegative(),nextCursor:o().nullable(),templateDetection:Cm,linkKind:_m,edges:y(Ao).default([])});d({project:o(),hasCrawlData:T(),runId:o().nullable(),...Hc,nodeKey:o().nullable(),url:o().nullable(),templateDetection:Cm,linkKind:_m,inbound:y(Ao).default([]),outbound:y(Ao).default([]),inboundTruncated:T(),outboundTruncated:T()});const vw=d({findingKey:o(),severity:o(),sourceNodeKey:o().nullable(),sourceUrl:o().nullable(),targetNodeKey:o().nullable(),targetUrl:o().nullable(),evidence:Ge(o(),kn()).default({})});Be("state",[d({project:o(),runId:o().nullable(),state:R("unavailable"),legacyAuditAvailable:T(),runSelection:$a.optional()}),d({project:o(),runId:o(),state:R("disabled"),checkDeadLinks:R(!1),runSelection:$a.optional()}),d({project:o(),runId:o(),state:R("complete"),checkDeadLinks:R(!0),runSelection:$a.optional(),checked:m().int().nonnegative(),found:m().int().nonnegative(),unverified:m().int().nonnegative(),total:m().int().nonnegative(),nextCursor:o().nullable(),deadLinks:y(vw).default([])}),d({project:o(),runId:o(),state:R("partial"),checkDeadLinks:R(!0),runSelection:$a.optional(),checked:m().int().nonnegative(),found:m().int().nonnegative(),unverified:m().int().nonnegative(),total:m().int().nonnegative(),nextCursor:o().nullable(),deadLinks:y(vw).default([])})]);const A2=5e4,Tm=m().int().min(1).max(A2);function xw(e){return`${e.toLocaleString("en-US")} ${e===1?"page":"pages"}`}function xte(e){return e===null?`full site (up to ${xw(A2)})`:xw(e)}const wte=10,N2=100;d({sitemapUrl:o().url().optional(),limit:m().int().positive().max(2e3).optional(),maxPages:Tm.optional(),maxEdges:m().int().positive().max(1e6).optional(),maxDepth:m().int().min(0).max(100).optional(),checkDeadLinks:T().default(!1)});d({runId:o(),status:ha});const uP=d({runId:o(),status:ha,createdAt:o(),startedAt:o().nullable(),finishedAt:o().nullable(),hasCrawlData:T()});d({project:o(),preferredRunId:o().nullable().optional(),scans:y(uP).default([])});const dP=j(["queued","discovering","checking","arranging-map","completed","partial","failed","cancelled"]),mP=d({state:j(["pending","ready","unavailable"]),layoutVersion:o().nullable(),failureCode:o().nullable(),updatedAt:o().nullable()}),pP=d({id:o(),state:o(),pagesDiscovered:m().int().nonnegative(),pagesFetched:m().int().nonnegative(),pagesEligible:m().int().nonnegative(),pagesErrored:m().int().nonnegative(),edgesDiscovered:m().int().nonnegative(),lastUpdatedAt:o(),startedAt:o().nullable(),finishedAt:o().nullable(),error:o().nullable()});d({project:o(),runId:o(),status:ha,phase:dP,attempt:pP.nullable(),layout:mP,error:o().nullable()});const hP=j(["waiting","collecting","terminal"]),fP=d({nodeKey:o(),url:o(),auditScore:m(),checksNeedingAttention:m().int().nonnegative()});d({project:o(),runId:o(),status:ha,state:hP,attemptId:o().nullable(),pagesAudited:m().int().nonnegative(),updatedAt:o().nullable(),examples:y(fP).max(12).default([])});new Set(Nj.map(e=>e.toLowerCase()));const gP=4,yP=3,bP=10,vP=80,C2=y(o()).describe(`Operator-curated names this competitor goes by in answer text (at most ${bP}, each ${vP} characters or fewer, at least ${yP} letters or digits).`);d({aliases:C2});const xP=d({domain:o().trim().min(1),aliases:C2.optional()}),_2=Ze([o().trim().min(1),xP]),T2=j(["openai-annotation","claude-citation","gemini-support","perplexity-marker","answer-link","answer-host"]);T2.enum;const E2=d({name:o(),directPairs:m().int().nonnegative(),cooccurrences:m().int().nonnegative(),namingAnswers:m().int().nonnegative(),precision:we(m().min(0).max(1)),lift:m().nonnegative().nullable().optional(),nameCasedAnswers:m().int().nonnegative().optional(),runs:m().int().nonnegative(),firstSeen:o(),lastSeen:o(),addedAt:o()}),wP=j(["added","kept","removed","review","rejected"]),R2=j(["name-shape","too-few-pairs","too-few-runs","too-few-naming-answers","low-precision","low-lift","lowercase-usage","other-competitor-dominates","no-label-affinity","needs-approval","subsumed","too-long","too-short","blocked","already-matched","project-brand","other-competitor","over-limit"]),kP=d({name:o(),status:wP,reason:R2.optional(),conflictsWith:o().optional(),directPairs:m().int().nonnegative(),runs:m().int().nonnegative(),cooccurrences:m().int().nonnegative(),namingAnswers:m().int().nonnegative(),citingAnswers:m().int().nonnegative(),nameCasedAnswers:m().int().nonnegative(),precision:we(m().min(0).max(1)).nullable(),lift:m().nonnegative().nullable(),otherCompetitorPairs:m().int().nonnegative(),labelAffinity:T(),via:y(T2),firstSeen:o(),lastSeen:o()}),SP=d({domain:o(),marketKeys:y(o()).optional(),aliases:y(o()),autoAliases:y(E2),blockedAliases:y(o()),added:y(o()),removed:y(d({name:o(),reason:R2,conflictsWith:o().optional()})),candidates:y(kP)});d({project:o(),applied:T(),changed:T(),scan:d({runs:m().int().nonnegative(),snapshots:m().int().nonnegative(),answers:m().int().nonnegative(),maxRuns:m().int().positive(),maxSnapshots:m().int().positive(),providerCitations:T()}),thresholds:d({minDirectPairs:m().int().positive(),minRuns:m().int().positive(),minNamingAnswers:m().int().positive(),minPrecision:we(m().min(0).max(1)),minLift:m().positive(),minNameCasedShare:we(m().min(0).max(1)),minKeyLength:m().int().positive(),dominanceMultiple:m().positive(),removeBelowPrecision:we(m().min(0).max(1)),removeBelowLift:m().nonnegative(),removeBelowNameCasedShare:we(m().min(0).max(1))}),competitors:y(SP)});d({aliases:y(o().trim().min(1)).min(1).describe("Names to block from (or release back to) answer-derived auto-detection for this competitor. Compared by brand key, so case, spacing and punctuation variants are one name.")});const D2=j(["cli","api","config-file"]);function jP(e){const n=new Set,i=new Set;for(const r of e){if(n.has(r.label)){i.add(r.label);continue}n.add(r.label)}return[...i]}function AP(e,n){return n?e.some(i=>i.label===n):!0}const T0=j(["off","preview","apply"]);T0.options;const z2=T0.optional().describe("Answer-derived competitor alias detection mode for the unattended passes queued after a completed or partial sweep, a competitor add, an unblock or a market pin write that changes pins: `off` (no pass), `preview` (the pass logs what it would add or remove and stores nothing; a new project starts here) or `apply` (the pass stores detected names and removes stored ones it no longer keeps, which restates every period's competitor counts). Omit to keep the stored mode. An explicit apply (POST /projects/{name}/competitor-auto-aliases) stores in every mode."),I2=20,O2=200,NP=d({displayName:o().min(1),canonicalDomain:o().min(1),ownedDomains:y(o().min(1)).optional(),aliases:y(o()).optional(),country:o().length(2),language:o().min(2),tags:y(o()).optional(),labels:Ge(o(),o()).optional(),providers:y(At).optional(),providerModels:t0.optional(),providerDispatchModes:l0.optional(),locations:y(mn).optional(),defaultLocation:o().nullable().optional(),measurement:r0.optional(),autoExtractBacklinks:T().optional(),qualifiedAliases:y(o().trim().min(1).max(O2)).max(I2).optional(),negativeReviewMaxStars:u0.nullable().optional(),siteAuditMaxPages:Tm.nullable().optional(),competitorAutoAliases:z2,configSource:D2.optional()});NP.extend({name:o().trim().min(1).max(120)});const CP=d({id:o(),name:o(),displayName:o().optional(),canonicalDomain:o(),ownedDomains:y(o()).default([]),aliases:y(o()).default([]),qualifiedAliases:y(o()).default([]),country:o().length(2),language:o().min(2),tags:y(o()).default([]),labels:Ge(o(),o()).default({}),providers:y(o()).default([]),providerModels:t0.default({}),providerDispatchModes:l0.default({}),locations:y(mn).default([]),defaultLocation:o().nullable().optional(),measurement:r0.default(Pj),autoExtractBacklinks:T().default(!1),negativeReviewMaxStars:u0.nullable().optional(),siteAuditMaxPages:Tm.nullable().optional(),competitorAutoAliases:T0.optional().describe("Answer-derived competitor alias detection mode for the unattended passes queued after a completed or partial sweep, a competitor add, an unblock or a market pin write that changes pins. `preview` (every project's default): the pass scores the stored answers and logs what it would add or remove, storing nothing. `apply`: the pass stores the detected names and removes stored ones it no longer keeps; the read-time competitor matchers then use them, restating every period's competitor counts (see competitorIdentityChangedAt). `off`: no pass runs. An explicit apply (POST /projects/{name}/competitor-auto-aliases) stores in every mode; switching to preview or off keeps names already stored. Absent only from a server that predates the setting."),configSource:D2.default("cli"),configRevision:m().int().positive().default(1),createdAt:o().optional(),updatedAt:o().optional()});d({id:o(),query:o(),createdAt:o()});d({id:o(),keyword:o(),createdAt:o()});d({queries:y(o().trim().min(1)).min(1)});d({keywords:y(o().trim().min(1)).min(1)});d({provider:At,count:m().int().min(1).max(20).optional()});d({id:o(),domain:o(),aliases:y(o()),autoAliases:y(E2).optional(),blockedAliases:y(o()).optional(),marketKeys:y(o()).optional(),createdAt:o()});d({competitors:y(o().trim().min(1)).min(1)});d({competitors:y(_2).min(1)});function P2(e){const n=[e.canonicalDomain,...e.ownedDomains??[]],i=new Set,r=[];for(const u of n){const h=u.trim();if(!h)continue;const f=Hd(h);i.has(f)||(i.add(f),r.push(h))}return r}function _P(e,n){if(!n||n.length===0)return[];const i=e?.trim().toLowerCase()??"",r=new Set,u=[];for(const h of n){const f=h.trim();if(!f)continue;const b=f.toLowerCase();b!==i&&(r.has(b)||(r.add(b),u.push(f)))}return u}function TP(e){const n=[],i=new Set,r=h=>{const f=Ga(h);!f||i.has(f)||(i.add(f),n.push(h))},u=e.displayName?.trim()??"";u&&r(u);for(const h of _P(e.displayName,e.aliases))r(h);for(const h of P2({canonicalDomain:e.canonicalDomain??"",ownedDomains:e.ownedDomains??[]})){const f=s0(h);if(Ga(f).length>=gP)r(f);else{const b=Hd(h);b.includes(".")&&r(b)}}return n}const EP=d({name:o().min(1).max(63).regex(/^[a-z0-9]([a-z0-9-]*[a-z0-9])?$/,{message:"Name must be a lowercase slug (letters, numbers, hyphens)"}),labels:Ge(o(),o()).optional().default({})}),RP=d({preset:o().min(1).optional(),cron:o().min(1).optional(),recurrence:a0.optional(),timezone:o().optional().default("UTC"),providers:y(At).optional().default([]),enabled:T().optional()}).refine(e=>[e.preset,e.cron,e.recurrence].filter(n=>n!==void 0).length===1,{message:'Exactly one of "preset", "cron", or "recurrence" must be provided'}).optional(),DP=d({channel:R("webhook"),url:o().url(),events:y(i0).min(1)}),zP=d({gsc:d({propertyUrl:o()}).optional(),syncSchedule:d({preset:o().optional(),cron:o().optional()}).optional()}).optional(),ww=y(o().min(1)),IP=d({displayName:o().min(1),canonicalDomain:o().min(1),ownedDomains:y(o().min(1)).optional().default([]),aliases:y(o().min(1)).optional().default([]),qualifiedAliases:y(o().min(1).max(O2)).max(I2).optional(),country:o().length(2),language:o().min(2),queries:ww.optional(),keywords:ww.optional(),competitors:y(_2).optional().default([]),providers:y(At).optional().default([]),providerModels:t0.optional().default({}),providerDispatchModes:l0.optional(),locations:y(mn).optional().default([]),defaultLocation:o().optional(),measurement:r0.optional().default(Pj),schedule:RP,notifications:y(DP).optional().default([]),google:zP,autoExtractBacklinks:T().optional().default(!1),negativeReviewMaxStars:u0.optional(),siteAuditMaxPages:Tm.nullable().optional(),competitorAutoAliases:z2}).superRefine((e,n)=>{e.queries!==void 0&&e.keywords!==void 0&&n.addIssue({code:"custom",message:"Use spec.queries; spec.keywords is accepted only as a legacy alias when spec.queries is omitted",path:["keywords"]});const i=jP(e.locations);i.length>0&&n.addIssue({code:"custom",message:`Duplicate location labels are not allowed: ${i.join(", ")}`,path:["locations"]}),AP(e.locations,e.defaultLocation)||n.addIssue({code:"custom",message:`defaultLocation "${e.defaultLocation}" must match a configured location label`,path:["defaultLocation"]})});d({apiVersion:R("canonry/v1"),kind:R("Project"),metadata:EP,spec:IP});const OP=1,PP=o().refine(e=>e.trim().length>0,{message:"Must not be blank"}),q2=d({displayName:o(),aliases:y(o()),canonicalDomain:o(),ownedDomains:y(o()),qualifiedAliases:y(o()).optional()}).strict(),M2=d({provider:At.refine(e=>e.trim().length>0,{message:"Provider must not be blank"}),requestedModel:o().nullable()}).strict(),B2=d({domain:o(),label:o(),aliases:y(o())}).strict(),L2=d({queryId:PP,queryText:o(),provenance:o().nullable()}).strict(),qP=L2.extend({queryClass:Hr.nullable()}).strict();function U2(e,n){const i=new Set;e.engines.forEach((h,f)=>{const b=h.provider.trim().toLocaleLowerCase("en");i.has(b)&&n.addIssue({code:ye.custom,path:["engines",f,"provider"],message:`Duplicate engine provider "${h.provider}"`}),i.add(b)});const r=new Set;e.queries.forEach((h,f)=>{r.has(h.queryId)&&n.addIssue({code:ye.custom,path:["queries",f,"queryId"],message:`Duplicate query id "${h.queryId}"`}),r.add(h.queryId)});const u=new Set;e.competitors?.forEach((h,f)=>{const b=h.domain;u.has(b)&&n.addIssue({code:ye.custom,path:["competitors",f,"domain"],message:`Duplicate competitor domain "${h.domain}"`}),u.add(b)})}d({capturedAt:o().datetime(),identity:q2,country:o(),language:o(),location:mn.nullable(),engines:y(M2).min(1),competitors:y(B2).optional(),queries:y(L2)}).strict().superRefine(U2);d({schemaVersion:R(OP),capturedAt:o().datetime(),identity:q2,country:o(),language:o(),location:mn.nullable(),engines:y(M2).min(1),competitors:y(B2).optional(),queries:y(qP)}).strict().superRefine(U2);const MP=j(["auto","simple","advanced"]),BP=j(["simple","advanced"]),V2=j(["branded","non-brand","unknown","all"]),LP=j(["branded","non-brand","unknown"]),E0=j(["project","group","market","property"]),$2=Be("kind",[d({kind:R("all")}).strict(),d({kind:R("none")}).strict(),d({kind:R("exact"),value:o().trim().min(1)}).strict()]);function UP(e){if(e===void 0||e==="")return{kind:"all"};const n=e.normalize("NFKC").trim();return n===""?{kind:"all"}:n.toLocaleLowerCase("en")==="none"?{kind:"none"}:{kind:"exact",value:n}}const St=o().trim().min(1),$i=o().datetime(),VP={mode:MP.default("auto"),queryClass:V2.default("non-brand"),scope:E0.default("project"),scopeKey:St.optional(),marketKey:St.optional(),provider:St.optional(),model:St.optional(),location:o().trim().min(1).optional(),from:$i.optional(),to:$i.optional(),revision:m().int().positive().optional(),runId:St.optional(),queryKey:St.optional(),queryId:St.optional(),search:o().trim().min(1).optional(),cursor:St.optional(),limit:m().int().min(1).max(100).default(50)},Zd=d(VP).strict().superRefine((e,n)=>{e.scope!=="project"&&e.scopeKey===void 0&&n.addIssue({code:ye.custom,path:["scopeKey"],message:`scopeKey is required for ${e.scope} scope`}),e.scope==="project"&&e.scopeKey!==void 0&&n.addIssue({code:ye.custom,path:["scopeKey"],message:"scopeKey is not valid for project scope"}),e.scope==="market"&&e.marketKey!==void 0&&n.addIssue({code:ye.custom,path:["marketKey"],message:"marketKey is not valid for market scope"}),e.from!==void 0&&e.to!==void 0&&e.from>e.to&&n.addIssue({code:ye.custom,path:["to"],message:"to must be on or after from"}),e.queryKey!==void 0&&e.queryId!==void 0&&n.addIssue({code:ye.custom,path:["queryId"],message:"queryKey and queryId cannot both be supplied"})});Zd.transform(e=>({...e,location:UP(e.location)}));const Ea=d({numerator:m().int().nonnegative().nullable(),denominator:m().int().nonnegative().nullable(),rate:we(m().min(0).max(1)).nullable(),reason:j(["no-population","incomplete","evidence-incomplete","identity-ambiguous","not-applicable"]).optional(),unattributed:m().int().positive().optional(),unchecked:m().int().positive().optional()}).strict().superRefine((e,n)=>{if(e.numerator===null||e.denominator===null||e.rate===null){(e.numerator!==null||e.denominator!==null||e.rate!==null||e.reason===void 0)&&n.addIssue({code:ye.custom,message:"Unavailable rates require null values and a reason"}),e.unattributed!==void 0&&n.addIssue({code:ye.custom,path:["unattributed"],message:"Only an available rate can leave answers out"}),e.unchecked!==void 0&&n.addIssue({code:ye.custom,path:["unchecked"],message:"Only an available rate can leave answers out"});return}e.reason!==void 0&&n.addIssue({code:ye.custom,message:"Available rates cannot carry a reason"}),e.unattributed!==void 0&&e.unchecked!==void 0&&n.addIssue({code:ye.custom,path:["unchecked"],message:"A rate reads one signal: unattributed (mention) and unchecked (citation) cannot share it"});const{numerator:r,denominator:u}=e;u===null||r===null||(u===0&&n.addIssue({code:ye.custom,path:["denominator"],message:"Available rates require a positive denominator"}),r>u&&n.addIssue({code:ye.custom,path:["numerator"],message:"Numerator cannot exceed denominator"}))}),K2=Be("kind",[d({kind:R("frozen-simple"),definitionRevision:ue()}).strict(),d({kind:R("legacy-simple"),definitionRevision:ue()}).strict(),d({kind:R("frozen-advanced"),definitionRevision:m().int().positive()}).strict(),d({kind:R("unsupported-advanced-v1"),definitionRevision:m().int().positive()}).strict()]),Yd=d({id:St,label:o().trim().min(1),kind:E0,targetCount:m().int().nonnegative(),parentGroupIds:y(St).optional(),marketKeys:y(St).optional()}).strict(),$P=d({provider:St,model:St}).strict(),KP=d({providers:y(St),models:y($P),locations:y($2)}).strict(),GP=d({queryCount:m().int().nonnegative(),answerCount:m().int().nonnegative(),mentionCoverage:Ea,citationCoverage:Ea,propertyReach:Ea,outcomes:d({bothSignals:m().int().nonnegative(),mentionedOnly:m().int().nonnegative(),citedOnly:m().int().nonnegative(),neither:m().int().nonnegative(),notMeasured:m().int().nonnegative(),total:m().int().nonnegative()}).strict().superRefine((e,n)=>{e.bothSignals+e.mentionedOnly+e.citedOnly+e.neither+e.notMeasured!==e.total&&n.addIssue({code:ye.custom,message:"Outcome partition must sum to total"})})}).strict(),HP=d({runId:St,createdAt:$i,revision:m().int().positive().nullable(),provenance:K2,queryCount:m().int().nonnegative(),answerCount:m().int().nonnegative(),mentionCoverage:Ea,citationCoverage:Ea,continuity:d({state:j(["first","comparable","definition-changed","model-changed","legacy-unknown"]),comparedRunId:o().nullable()}).strict()}).strict(),FP=d({sourceSnapshotIds:y(St).default([]),queryKey:St,queryId:o().nullable(),query:o(),provider:St,model:o().nullable(),location:o().nullable(),targetKeys:y(St),marketKeys:y(St).optional(),answerCount:m().int().nonnegative(),mentionCoverage:Ea,citationCoverage:Ea}).strict(),QP=d({answerId:St,runId:St,queryKey:St,query:o(),provider:St,model:o().nullable(),location:o().nullable(),targetKeys:y(St),mentioned:T().nullable(),mentionUnavailableReason:R("identity-ambiguous").optional(),cited:T().nullable(),answerText:o().nullable(),createdAt:$i,sources:y(o()),observedCompetitors:y(St)}).strict(),ZP=d({domain:St,answerCount:m().int().nonnegative(),mentionCoverage:Ea,citationCoverage:Ea}).strict(),YP=d({name:St,answerCount:m().int().nonnegative()}).strict(),XP=Be("state",[d({state:R("available")}).strict(),d({state:R("unavailable"),reason:R("frozen-competitor-identity-missing")}).strict()]),kw=d({id:St,label:o().trim().min(1),queryCount:m().int().nonnegative(),mentionCoverage:Ea,citationCoverage:Ea}).strict();function Sw(e){return d({items:y(e),nextCursor:o().nullable(),total:m().int().nonnegative()}).strict()}const G2=j(["current-unavailable","previous-unavailable","not-applicable"]),kte=G2.enum,xf=Be("state",[d({state:R("available"),previous:Ea,delta:we(m().min(-1).max(1))}).strict(),d({state:R("unavailable"),reason:G2}).strict()]),jw=d({id:St,createdAt:$i,completedAt:$i.nullable()}).strict(),H2=j(["no-selected-run","no-previous-run","scoped-run","partial-run","definition-changed","model-changed","legacy-unknown"]),Ste=H2.enum,JP=Be("state",[d({state:R("available"),previousRun:jw,mentionCoverage:xf,citationCoverage:xf,propertyReach:xf}).strict(),d({state:R("unavailable"),reason:H2,previousRun:jw.nullable()}).strict()]),WP=d({queryClass:LP,summary:GP,trend:y(HP),comparison:JP.optional(),queries:Sw(FP),evidence:Sw(QP),competitorAvailability:XP,competitors:y(ZP),observedCompetitors:y(YP),breakdown:d({properties:y(kw),groups:y(kw)}).strict()}).strict(),eq=j(["measured","not-measured","partial"]),tq=d({state:eq,activeRevision:m().int().positive().nullable(),measuredRevision:m().int().positive().nullable(),awaitingSweep:T(),pendingAssignmentCount:m().int().nonnegative(),completedAt:$i.nullable()}).strict(),nq=d({mode:BP,queryClass:V2,scope:Yd,market:Yd.optional(),provider:o().nullable(),model:o().nullable(),location:$2,time:d({from:$i.nullable(),to:$i.nullable()}).strict(),revision:m().int().positive().nullable(),run:d({id:o().nullable(),explicit:T()}).strict(),provenance:K2,measurement:tq,availability:Be("state",[d({state:R("available")}).strict(),d({state:R("unsupported"),reason:R("advanced-v1")}).strict()])}).strict();d({selection:nq,scopeOptions:y(Yd),filterOptions:KP,populations:y(WP).min(1)}).strict().superRefine((e,n)=>{const i=e.selection.queryClass==="all"?["branded","non-brand","unknown"]:[e.selection.queryClass],r=e.populations.map(u=>u.queryClass);(r.length!==i.length||r.some((u,h)=>u!==i[h]))&&n.addIssue({code:ye.custom,path:["populations"],message:"Populations must exactly match the selected query class order"});for(const[u,h]of e.populations.entries()){const f=h.comparison;if(f?.state==="available")for(const b of["mentionCoverage","citationCoverage","propertyReach"]){const v=f[b];if(v.state!=="available")continue;const x=["populations",u,"comparison",b],k=h.summary[b].rate,S=v.previous.rate;k===null&&n.addIssue({code:ye.custom,path:x,message:"Available changes require a current rate"}),S===null&&n.addIssue({code:ye.custom,path:[...x,"previous","rate"],message:"Available changes require a previous rate"}),k!==null&&S!==null&&Math.abs(v.delta-(k-S))>Number.EPSILON&&n.addIssue({code:ye.custom,path:[...x,"delta"],message:"Delta must equal current minus previous"}),e.selection.run.id===null&&n.addIssue({code:ye.custom,path:x,message:"Available changes require a selected run"})}}});const F2=j(["retired-scope","retired-market"]),aq=F2.enum,iq=d({reason:F2,kind:E0.exclude(["project"]),key:St}).strict().superRefine((e,n)=>{e.reason===aq["retired-market"]&&e.kind!=="market"&&n.addIssue({code:ye.custom,path:["kind"],message:"retired-market details must name a market"})});function jte(e){const n=iq.safeParse(e);return n.success?n.data:void 0}function sq(e,n){let i=e;for(const[r,u]of Object.entries(n))i=i.split(`{${r}}`).join(u);return i.trim()}const R0=o().regex(/^[a-f0-9]{64}$/),ua=o().trim().min(1).max(256),Ha=o().trim().min(1).max(4e3),D0=o().datetime(),Em=o().regex(/^qtw_[a-f0-9]{64}$/),Q2=o().regex(/^qtp_[a-f0-9]{64}$/),z0=j(["simple","advanced"]),Z2=d({templateId:ua,templateVersion:o().trim().min(1).max(256),template:Ha,bindings:Ge(o().trim().min(1).max(128),o().trim().min(1).max(128)),output:Ha}).strict(),oq=d({source:j(["manual","query-set","template","research","discovery"]),sourceId:ua.nullable(),capturedAt:o().datetime(),template:Z2.optional()}).strict().superRefine((e,n)=>{e.source==="template"&&e.template===void 0&&n.addIssue({code:ye.custom,path:["template"],message:"Template provenance is required for a template query."}),e.source!=="template"&&e.template!==void 0&&n.addIssue({code:ye.custom,path:["template"],message:"Only a template query may carry template provenance."})}),rq=Be("source",[d({source:R("manual"),text:Ha}).strict(),d({source:R("template"),templateId:ua,templateVersion:o().trim().min(1).max(256),template:Ha}).strict(),d({source:R("research"),researchRunQueryId:ua}).strict(),d({source:R("discovery"),discoveryProbeId:ua}).strict()]),I0=d({targetKeys:y(fe).optional(),groupKeys:y(fe).optional(),marketKeys:y(fe).optional()}).strict(),lq=d({providers:y(At).min(1),models:Ge(At,o().trim().min(1)),location:o().trim().min(1).nullable()}).strict(),cq=d({input:rq,audience:I0.optional(),contexts:y(lq).min(1).optional(),queryClass:Hr.optional()}).strict(),uq=d({queryId:ua.optional(),queryText:Ha.optional(),audience:I0.optional()}).strict().superRefine((e,n)=>{e.queryId===void 0==(e.queryText===void 0)&&n.addIssue({code:ye.custom,message:"Provide exactly one of queryId or queryText."})}),dq=d({queryId:ua,audience:I0.optional(),text:Ha.optional(),queryClass:Ze([Hr,ue()]).optional()}).strict().superRefine((e,n)=>{e.text===void 0&&e.queryClass===void 0&&n.addIssue({code:ye.custom,message:"Provide query text or a classification change."})}),mq=d({additions:y(cq),removals:y(uq),edits:y(dq).optional()}).strict(),pq=mq.extend({expectedWorkspaceVersion:Em}).strict();pq.extend({previewToken:Q2,reviewedAt:D0}).strict();const hq=d({stableKey:fe,label:o().trim().min(1)}).strict(),fq=d({stableKey:fe,parentGroupKey:fe.optional(),label:o().trim().min(1),targetKeys:y(fe)}).strict(),gq=d({stableKey:fe,groupKey:fe.optional(),label:o().trim().min(1),usageEdges:y(y0)}).strict(),yq=d({targetKey:fe,groupKeys:y(fe),marketKeys:y(fe),queryClass:Hr.nullable(),classificationSource:j(["frozen","server","operator"]),contexts:y(Sm).min(1)}).strict(),Y2=d({queryId:ua,queryText:Ha,normalizedText:Ha,provenance:oq.nullable(),state:j(["tracked","awaiting-sweep"]),lastMeasuredAt:o().datetime().nullable(),assignments:y(yq)}).strict(),bq=d({researchRunId:ua,researchRunQueryId:ua,queryText:Ha,createdAt:o().datetime()}).strict(),vq=d({discoverySessionId:ua,discoveryProbeId:ua,queryText:Ha,createdAt:o().datetime()}).strict();d({mode:z0,workspaceVersion:Em,active:d({revision:m().int().positive(),compiledChecksum:R0}).strict().nullable(),defaultContexts:y(Sm),targets:y(hq),groups:y(fq),markets:y(gq),scopeOptions:y(Yd).optional(),tracked:y(Y2),savedSources:d({research:y(bq),discovery:y(vq)}).strict()}).strict();const vd=d({queryId:ua,queryText:Ha,assignmentCount:m().int().nonnegative()}).strict(),X2=d({added:y(vd),removed:y(vd),reused:y(vd),unchanged:y(vd),noOp:T()}).strict(),J2=d({existingNodes:m().int().nonnegative(),existingProviderCalls:m().int().nonnegative(),nextSweepNodes:m().int().nonnegative(),nextSweepProviderCalls:m().int().nonnegative(),addedNodes:m().int().nonnegative(),addedProviderCalls:m().int().nonnegative(),removedNodes:m().int().nonnegative(),removedProviderCalls:m().int().nonnegative()}).strict();d({mode:z0,workspaceVersion:Em,previewToken:Q2,reviewedAt:D0,active:d({revision:m().int().positive(),compiledChecksum:R0}).strict().nullable(),tracked:y(Y2),diff:X2,workload:J2}).strict();d({committed:T(),mode:z0,workspaceVersion:Em,reviewedAt:D0,active:d({revision:m().int().positive(),compiledChecksum:R0}).strict().nullable(),diff:X2,workload:J2}).strict();j(["proposed","alias","shared","unmatched","excluded"]);j(["primary-match","exact-slug-match","excluded-slug","shared-path","unmatched-path","alias-without-primary","unsupported-slug"]);const xq=j(["invalid-url","unowned-host","duplicate-url","url-cap-reached"]),wq=d({kind:j(["exact","prefix","suffix","contains"]),value:o().trim().min(1)}).strict(),Aw=d({host:o().trim().min(1),pathTemplate:o().trim().min(1)}).strict(),O0=d({primary:Aw,aliases:y(Aw).optional(),excludedSlugSuffixes:y(o().trim().min(1)).optional(),excludedSlugPatterns:y(wq).optional()}).strict();d({sitemapUrl:o().url().refine(e=>{try{const n=new URL(e).protocol;return n==="http:"||n==="https:"}catch{return!1}},"Sitemap URL must use http or https"),rule:O0,maxUrls:m().int().positive().max(1e4).optional()}).strict();const wf=d({url:o(),canonicalUrl:o().nullable(),classification:j(["shared","unmatched","excluded"]),reason:j(["excluded-slug","shared-path","unmatched-path","alias-without-primary","unsupported-slug"])}).strict().superRefine((e,n)=>{({shared:["shared-path"],unmatched:["unmatched-path","alias-without-primary","unsupported-slug"],excluded:["excluded-slug"]})[e.classification].includes(e.reason)||n.addIssue({code:"custom",message:"Discovery classification and reason do not match"})}),kq=d({classification:R("proposed"),reason:R("primary-match"),stableKey:gn,slug:o().trim().min(1),label:o().trim().min(1),primaryUrl:o().url(),aliasCoverageUrls:y(o().url())}).strict(),Sq=d({classification:R("alias"),reason:R("exact-slug-match"),slug:o().trim().min(1),url:o().url(),targetStableKey:gn}).strict(),jq=d({kind:xq,url:o(),canonicalUrl:o().nullable(),duplicateOf:o().optional()}).strict();d({proposed:y(kq),aliases:y(Sq),shared:y(wf),unmatched:y(wf),excluded:y(wf),diagnostics:y(jq)}).strict().superRefine((e,n)=>{const i=[["shared",["shared"]],["unmatched",["unmatched"]],["excluded",["excluded"]]];for(const[r,u]of i)for(const h of e[r])u.includes(h.classification)||n.addIssue({code:"custom",path:[r],message:"Discovery item is in the wrong result bucket"})});const P0=j(["assigned","sibling","ownedUnmapped","external","ambiguous","invalid"]),W2=j(["baseline","target"]),e3=j(["incomplete","evidence-incomplete","identity-ambiguous","no-population","aliasless","no-competitors","no-project-aliases"]),No=Ze([d({numerator:m().int().nonnegative(),denominator:m().int().positive(),rate:we(m().min(0).max(1)),unattributed:m().int().positive().optional(),unchecked:m().int().positive().optional()}).strict(),d({numerator:ue(),denominator:ue(),rate:ue(),reason:e3}).strict()]).superRefine((e,n)=>{e.numerator!==null&&e.numerator>e.denominator&&n.addIssue({code:"custom",path:["numerator"],message:"Rate numerator cannot exceed denominator"}),e.numerator!==null&&e.unattributed!==void 0&&e.unchecked!==void 0&&n.addIssue({code:"custom",path:["unchecked"],message:"A rate reads one signal: unattributed (mention) and unchecked (citation) cannot share it"})}),Aq=o().trim().min(1).overwrite(e=>e.toLocaleLowerCase("en")),Nq=d({executionId:o().trim().min(1),queryText:o().trim().min(1),provider:Aq,context:mn.nullable(),requestedModel:o().trim().min(1).optional()}).strict();d({schemaVersion:R(1),expectedSlots:y(Nq)}).strict().superRefine((e,n)=>{const i=new Set;for(const[r,u]of e.expectedSlots.entries()){const h=[u.executionId,u.provider].join("\0");i.has(h)&&n.addIssue({code:"custom",path:["expectedSlots",r],message:"Duplicate expected provider slot"}),i.add(h)}});const Rm=d({executed:m().int().nonnegative(),expected:m().int().nonnegative(),complete:T(),sourceComplete:T(),sourceCompleteObservations:m().int().nonnegative(),answerComplete:T()}).strict(),Nw=Ze([d({domain:o().trim().min(1),own:T(),presentIn:m().int().nonnegative(),of:m().int().positive()}).strict(),d({domain:o().trim().min(1),own:T(),presentIn:ue(),of:ue(),reason:e3}).strict()]),Cq=d({domains:y(Nw),providers:y(d({provider:At,domains:y(Nw)}).strict())}).strict(),_q=d({provider:At,completeness:Rm,answerCoverage:No}).strict(),Tq=d({id:o().trim().min(1),label:o().trim().min(1),targetIds:y(o().trim().min(1)),completeness:Rm,answerCoverage:No,targetCoverage:No,sov:Cq,providers:y(_q)}).strict(),Eq=d({provider:At,completeness:Rm,citationCoverage:No,mentionCoverage:No}).strict(),Rq=d({id:o().trim().min(1),label:o().trim().min(1),completeness:Rm,citationCoverage:No,mentionCoverage:No,providers:y(Eq)}).strict(),t3=d({observationId:o().trim().min(1),expectedSlotId:o().trim().min(1),executionId:o().trim().min(1),usageEdgeId:o().trim().min(1),usageEdgeType:W2,provider:At,queryText:o().trim().min(1),location:o().nullable(),sourceUrl:o(),bridged:T(),historical:T(),evidenceComplete:T(),classification:P0,normalizedUrl:o().nullable(),matchedTargetIds:y(o().trim().min(1)),matchedUrlIds:y(o().trim().min(1))}).strict(),Dq=d({sourceUrl:o(),normalizedUrl:o().nullable(),classification:P0,matchedTargetIds:y(o().trim().min(1)),matchedUrlIds:y(o().trim().min(1))}).strict(),zq=d({observationId:o().trim().min(1),expectedSlotId:o().trim().min(1),executionId:o().trim().min(1),usageEdgeId:o().trim().min(1),usageEdgeType:W2,provider:At,queryText:o().trim().min(1),location:o().nullable(),queryClass:Ze([j(["branded","non-brand"]),ue()]),mentioned:T().nullable(),cited:T().nullable(),sources:y(Dq),sourceCount:m().int().nonnegative(),sourcesTruncated:T(),bridged:T(),historical:T(),evidenceComplete:T()}).strict(),Iq=d({bridgedObservationIds:y(o()),historicalObservationIds:y(o()),evidenceIncompleteObservationIds:y(o()),ambiguousObservationIds:y(o()),unmatchedObservationIds:y(o())}).strict(),Oq=d({id:o().trim().min(1),status:j(["completed","partial"]),createdAt:o().datetime(),startedAt:o().datetime().nullable(),finishedAt:o().datetime().nullable()}).strict();d({revision:m().int().positive(),run:Oq.nullable(),groups:y(Tq),targets:y(Rq),evidence:y(t3),diagnostics:Iq}).strict();d({property:d({targetKey:fe,label:o().min(1)}).strict(),queryClass:pa,measurement:d({state:x0,displayedRunId:o().min(1).optional(),completedAt:o().datetime().optional()}).strict(),evidence:Pr(t3).optional(),answers:Pr(zq).optional()}).strict().refine(e=>e.evidence===void 0!=(e.answers===void 0),{message:"Exactly one of evidence or answers is present, naming the shape that was served."});const q0=j(["queued","running","completed","partial","failed"]);q0.enum;const n3=j(["not_answer_visibility","not_plan_run","scoped_or_probe","status_not_partial","plan_revision_changed","manifest_unreadable","model_not_frozen","model_retired","provider_not_in_plan","provider_nothing_missing","provider_not_configured","too_old","superseded","quota_insufficient"]);n3.enum;d({providers:y(At).min(1).optional(),dryRun:T().optional()}).strict();const a3=d({id:o(),runId:o(),projectId:o(),status:q0,providers:y(o()),expected:m().int().nonnegative(),filled:m().int().nonnegative(),error:o().nullable(),createdAt:o(),startedAt:o().nullable(),finishedAt:o().nullable()}),Pq=d({runId:o(),status:ha,planned:T(),readable:T(),expected:m().int().nonnegative(),executed:m().int().nonnegative(),missing:m().int().nonnegative(),missingByProvider:Ge(o(),m().int().nonnegative()),fillable:T(),refusal:d({code:n3,message:o()}).nullable(),latestFill:a3.nullable()}),qq=j(["queued","already-complete","dry-run"]);d({outcome:qq,completeness:Pq,fill:a3.nullable()});const ma=o().trim().min(1),qs=o().trim().min(1),Mq=o().trim().min(1),Se=m().int().nonnegative(),Fc=d({state:x0,displayedRunId:ma.nullable(),planRevision:m().int().positive(),completedAt:o().datetime().nullable()}).strict(),Do=d({targetKey:fe,label:qs}).strict(),da={runId:ma.optional(),provider:At.optional(),location:Mq.optional()},Co=o().trim().min(1),kf=5,Bq=10,Lq=5,Uq=10,Vq="tied Properties have both zero mentions and zero citations; ordered by name, not ranked",M0=j(["weakest-properties","strongest-mentions","weakest-mentions","excluded-mentions","markets","observed-names","cited-domains"]);M0.enum;d({runId:da.runId,groupKey:fe.optional(),queryClass:pa.default("non-brand"),provider:da.provider,location:da.location,limit:m().int().positive().max(50).optional(),includeNestedMarkets:T().optional(),compact:T().optional(),list:M0.optional(),cursor:ma.optional(),answers:j(["all","not-mentioned"]).optional()}).strict();const Cw=lg,i3={metro:Cw.nullable(),otherMetros:y(Cw).min(1).optional(),submarkets:y(qs),queries:Se},s3=d({name:Co,answers:Se}).strict(),$q=d({name:Co,occurrences:Se}).strict(),Dm=d({domain:o().trim().min(1),answers:Se}).strict(),Kq=Do.extend({...i3,mentionCoverage:dn,citationCoverage:dn,flags:Se,namedInsteadInAnswerText:y(s3).max(kf).optional(),namedInsteadInAnswerTextTotal:Se.optional(),citedDomains:y(Dm).max(kf).optional(),citedDomainsTotal:Se.optional(),recommendedInstead:y($q).max(kf).optional().meta({deprecated:!0,description:"Deprecated: read namedInsteadInAnswerText, which carries the same names in the same order. occurrences counts answers, exactly as answers does there."}),recommendedInsteadTotal:Se.optional().meta({deprecated:!0,description:"Deprecated: read namedInsteadInAnswerTextTotal, which it always equals."}),recommendedInsteadTruncated:T().optional().meta({deprecated:!0,description:"Deprecated: true when namedInsteadInAnswerTextTotal exceeds the names returned in namedInsteadInAnswerText."})}).strict().superRefine((e,n)=>{e.namedInsteadInAnswerText!==void 0&&(e.namedInsteadInAnswerTextTotal===void 0||e.namedInsteadInAnswerText.length>e.namedInsteadInAnswerTextTotal)&&n.addIssue({code:ye.custom,path:["namedInsteadInAnswerTextTotal"],message:"Total cannot be smaller than the returned names"}),e.citedDomains!==void 0&&(e.citedDomainsTotal===void 0||e.citedDomains.length>e.citedDomainsTotal)&&n.addIssue({code:ye.custom,path:["citedDomainsTotal"],message:"Total cannot be smaller than the returned domains"}),e.recommendedInsteadTotal!==e.namedInsteadInAnswerTextTotal&&n.addIssue({code:ye.custom,path:["recommendedInsteadTotal"],message:"The deprecated total must equal namedInsteadInAnswerTextTotal"}),e.recommendedInstead!==void 0&&(e.recommendedInsteadTotal===void 0||e.recommendedInstead.length>e.recommendedInsteadTotal)&&n.addIssue({code:ye.custom,path:["recommendedInsteadTotal"],message:"Total cannot be smaller than the returned replacements"}),e.recommendedInstead!==void 0&&e.recommendedInsteadTotal!==void 0&&e.recommendedInsteadTruncated!==e.recommendedInstead.length<e.recommendedInsteadTotal&&n.addIssue({code:ye.custom,path:["recommendedInsteadTruncated"],message:"Truncation must agree with the replacement total"})}),Gq=d({metro:qs.nullable(),count:m().int().positive()}).strict(),Hq=d({count:m().int().min(2),mentionRate:we(),citationRate:we(),note:j([Vq,"tied Properties are ordered by name, not ranked"]),byMetro:y(Gq).optional(),namedInstead:y(s3).max(Uq).optional(),namedInsteadTotal:Se.optional()}).strict().superRefine((e,n)=>{e.namedInstead!==void 0&&(e.namedInsteadTotal===void 0||e.namedInstead.length>e.namedInsteadTotal)&&n.addIssue({code:ye.custom,path:["namedInsteadTotal"],message:"Total cannot be smaller than the returned names"})}),Fq=d({basis:R("initial-weakest-selection-and-zero-signal-tie").optional(),properties:Se,answers:Se,domains:y(Dm).max(Bq),domainTotal:Se,ownDomainAnswers:Se.optional()}).strict().superRefine((e,n)=>{e.ownDomainAnswers!==void 0&&e.ownDomainAnswers>e.answers&&n.addIssue({code:ye.custom,path:["ownDomainAnswers"],message:"Own-domain answers cannot exceed the basis"}),e.domains.length>e.domainTotal&&n.addIssue({code:ye.custom,path:["domainTotal"],message:"Total cannot be smaller than the returned domains"}),e.domains.some(i=>i.answers>e.answers)&&n.addIssue({code:ye.custom,path:["domains"],message:"A domain cannot be cited by more answers than the basis holds"})}),Qq=d({groupKey:fe,label:qs,parentGroupKey:fe.nullable(),childMarketCount:Se,propertyCount:Se,propertiesMentioned:jo,propertiesNeverMentioned:jo.optional(),mentionCoverage:dn,citationCoverage:dn}).strict(),Zq=d({population:R("top-level-markets"),queryClass:pa,totalMarkets:Se,eligibleMarketCount:Se,excludedMarketCount:Se,items:y(d({groupKey:fe,label:qs,propertyCount:Se,mentionCoverage:dn.options[0],citationCoverage:dn.options[0]}).strict()).max(Lq)}).strict(),_w=Do.extend({...i3,mentionCoverage:dn.options[0],citationCoverage:dn}).strict(),Yq=d({eligiblePropertyCount:Se,strongest:y(_w).max(50),weakest:y(_w).max(50),excluded:y(Do.extend({reason:$c}).strict()),truncated:T(),excludedTotal:Se.optional()}).strict();d({portfolio:d({groupKey:fe.nullable(),label:qs.nullable(),measurementScope:Ze([j(["full","spot_check"]),ue()])}).strict(),measurement:Fc,queryClass:pa,engines:y(At),metrics:d({propertiesMentioned:jo,propertiesNeverMentioned:jo.optional(),mentionCoverage:dn,citationCoverage:dn}).strict(),weakestMarkets:Zq.optional().describe("Compact unscoped ranking from actual full top-level metro aggregates before pagination. Each rate uses the complete selected run/filter/class market population; tiedAtWeakest.byMetro counts only zero-signal Properties and never supplies these rates."),weakestProperties:y(Kq),tiedAtWeakest:Hq.nullable(),weakestAnswerSources:Fq.nullable().optional(),mentionRanking:Yq,markets:y(Qq),totalMarkets:Se,marketsTruncated:T(),totalProperties:Se,truncated:T(),pageList:M0.optional(),nextCursor:ma.nullable().optional(),detailsOmitted:y(o()).optional(),answerEvidence:d({answers:R("not-mentioned"),populationSize:Se,answerCount:Se,unknownMentionAnswers:Se,observedNames:y(d({name:Co,answerCount:Se}).strict()),observedNamesTotal:Se,citedDomains:y(Dm),citedDomainsTotal:Se}).strict().optional()}).strict().superRefine((e,n)=>{const i=e.detailsOmitted?.includes("weakestProperties.answerEvidence")??!1,r=["namedInsteadInAnswerText","namedInsteadInAnswerTextTotal","citedDomains","citedDomainsTotal","recommendedInstead","recommendedInsteadTotal","recommendedInsteadTruncated"];i||e.weakestProperties.forEach((u,h)=>{for(const f of r)u[f]===void 0&&n.addIssue({code:ye.custom,path:["weakestProperties",h,f],message:"Detailed evidence is required unless explicitly omitted by the compact projection"})}),e.weakestAnswerSources===void 0&&!e.detailsOmitted?.includes("weakestAnswerSources")&&n.addIssue({code:ye.custom,path:["weakestAnswerSources"],message:"Source evidence is required unless explicitly omitted by the compact projection"}),e.marketsTruncated!==e.markets.length<e.totalMarkets&&n.addIssue({code:ye.custom,path:["marketsTruncated"],message:"Market truncation must agree with the market total"})});d({targetKey:fe,runId:da.runId,provider:da.provider,location:da.location,queryClass:pa.optional(),offset:m().int().nonnegative().optional(),limit:m().int().positive().max(100).optional()}).strict();j(["answered","missing"]);const dg={queryId:ma,text:qs,class:g0,provider:At,requestedModel:o().nullable(),servedModel:o().nullable(),location:o().nullable()},Xq=Be("status",[d({resultId:ma,...dg,status:R("answered"),mentioned:T().nullable(),cited:T().nullable(),recommendedInstead:y(Co),answerExcerpt:o().nullable()}).strict(),d({resultId:ue(),...dg,status:R("missing"),mentioned:ue(),cited:ue(),recommendedInstead:y(Co).length(0),answerExcerpt:ue()}).strict()]);d({property:Do,measurement:Fc,queryClass:pa,questions:y(Xq),total:Se,truncated:T()}).strict();d({targetKey:fe,resultId:ma}).strict();const Jq=d({url:ma,classification:P0,matchedTargetKeys:y(fe),assigned:T(),historical:T(),evidenceComplete:T()}).strict().superRefine((e,n)=>{e.assigned!==(e.classification==="assigned")&&n.addIssue({code:ye.custom,path:["assigned"],message:"Assigned must agree with the source attribution classification"})});d({property:Do,measurement:Fc,question:d({resultId:ma,...dg,status:R("answered")}).strict(),mentioned:T().nullable(),cited:T().nullable(),recommendedInstead:y(Co),answer:o().nullable(),sources:y(Jq),captureStatus:Ze([wm,ue()]),retrievalStatus:Ze([Wg,ue()]),retrievalContract:Ze([e0,ue()])}).strict();d({targetKey:fe,runId:da.runId,provider:da.provider,location:da.location,queryClass:pa.optional(),limit:m().int().positive().max(50).optional()}).strict();const Wq=Be("state",[d({state:R("available"),answeredResults:Se,targetMissResults:Se,recommendationOccurrences:Se}).strict(),d({state:R("unavailable"),reason:$c}).strict()]),eM=d({name:Co,occurrences:Se,providers:y(At).max(5),providerTotal:Se,providersTruncated:T(),questions:y(qs).max(5),questionTotal:Se,questionsTruncated:T()}).strict().superRefine((e,n)=>{(e.providers.length>e.providerTotal||e.questions.length>e.questionTotal)&&n.addIssue({code:ye.custom,message:"Evidence totals cannot be smaller than returned evidence"}),e.providersTruncated!==e.providers.length<e.providerTotal&&n.addIssue({code:ye.custom,path:["providersTruncated"],message:"Provider truncation must agree with its total"}),e.questionsTruncated!==e.questions.length<e.questionTotal&&n.addIssue({code:ye.custom,path:["questionsTruncated"],message:"Question truncation must agree with its total"})}),tM=10;d({property:Do,measurement:Fc,queryClass:pa,basis:Wq,competitors:y(eM),total:Se,truncated:T(),citedDomains:y(Dm).max(tM).optional(),citedDomainsTotal:Se.optional(),citedDomainsAnswers:Se.optional()}).strict().superRefine((e,n)=>{const{citedDomains:i,citedDomainsTotal:r,citedDomainsAnswers:u}=e;if(i!==void 0){if(r===void 0||u===void 0){n.addIssue({code:ye.custom,path:["citedDomains"],message:"Cited domains require their total and answer basis"});return}i.length>r&&n.addIssue({code:ye.custom,path:["citedDomainsTotal"],message:"Total cannot be smaller than the returned domains"}),i.some(h=>h.answers>u)&&n.addIssue({code:ye.custom,path:["citedDomains"],message:"A domain cannot be cited by more answers than the basis holds"})}});const o3=j(["magnitude","label"]),nM=2;d({runId:da.runId,scope:v0.default("all"),groupKey:fe.optional(),targetKey:fe.optional(),queryClass:pa.default("all"),provider:da.provider,location:da.location,limit:m().int().positive().max(50).optional(),sort:o3.optional()}).strict().superRefine((e,n)=>{e.scope==="all"&&(e.groupKey!==void 0||e.targetKey!==void 0)&&n.addIssue({code:ye.custom,path:["scope"],message:"All scope cannot name a group or Property"}),e.scope==="group"&&(e.groupKey===void 0||e.targetKey!==void 0)&&n.addIssue({code:ye.custom,path:["groupKey"],message:"Group scope requires groupKey only"}),e.scope==="property"&&(e.targetKey===void 0||e.groupKey!==void 0)&&n.addIssue({code:ye.custom,path:["targetKey"],message:"Property scope requires targetKey only"})});const r3=j(["no_previous_run","execution_identity_changed","incomplete","not_comparable"]),l3=Fc.extend({executionIdentity:ma.nullable(),measurementScope:Ze([j(["full","spot_check"]),ue()])}).strict();function c3(e,n){if(e.previous.state!=="available"||e.current.state!=="available"){n.addIssue({code:ye.custom,message:"Available deltas require two available metrics"});return}Math.abs(e.delta-(e.current.value-e.previous.value))>Number.EPSILON&&n.addIssue({code:ye.custom,path:["delta"],message:"Delta must equal current minus previous"})}const u3=d({state:R("unavailable"),reason:$c}).strict(),Xd=Be("state",[d({state:R("available"),previous:dn,current:dn,delta:we()}).strict().superRefine(c3),u3]),aM=Be("state",[d({state:R("available"),previous:jo,current:jo,delta:m().int()}).strict().superRefine(c3),u3]),Sf=d({propertiesMentioned:aM,mentionCoverage:Xd,citationCoverage:Xd}).strict(),iM=d({improved:Se,declined:Se,mixed:Se,withinNoise:Se,unchanged:Se,notComparable:Se,total:Se,noiseAnswers:R(nM)}).strict().superRefine((e,n)=>{e.improved+e.declined+e.mixed+e.withinNoise+e.unchanged+e.notComparable!==e.total&&n.addIssue({code:ye.custom,path:["total"],message:"Move buckets must sum to total"})}),sM=Do.extend({mentionCoverage:Xd,citationCoverage:Xd,flags:Se,mentionAnswersDelta:m().int().nullable().optional(),citationAnswersDelta:m().int().nullable().optional(),denominatorChanged:T().optional(),withinNoise:T().optional(),mentionWithinNoise:T().nullable().optional(),citationWithinNoise:T().nullable().optional()}).strict();d({current:l3,queryClass:pa.optional(),comparison:Be("state",[d({state:R("available"),previous:d({displayedRunId:ma,planRevision:m().int().positive(),completedAt:o().datetime().nullable(),executionIdentity:ma,measurementScope:j(["full","spot_check"])}).strict(),metrics:Sf,metricsByClass:d({branded:Sf,nonBrand:Sf}).strict().optional(),sort:o3.optional(),distribution:iM.optional(),changedProperties:y(sM),totalProperties:Se,truncated:T()}).strict(),d({state:R("unavailable"),reason:r3}).strict()])}).strict().superRefine((e,n)=>{if(e.comparison.state!=="available")return;const{distribution:i}=e.comparison;if(i!==void 0&&i.total-i.unchanged!==e.comparison.totalProperties&&n.addIssue({code:ye.custom,path:["comparison","distribution"],message:"Changed Properties must equal the distribution total less unchanged"}),e.current.displayedRunId===null||e.current.executionIdentity===null){n.addIssue({code:ye.custom,path:["current"],message:"A comparison requires an identified current run"});return}e.comparison.previous.planRevision!==e.current.planRevision&&n.addIssue({code:ye.custom,path:["comparison","previous","planRevision"],message:"Comparisons cannot cross plan revisions"}),e.comparison.previous.executionIdentity!==e.current.executionIdentity&&n.addIssue({code:ye.custom,path:["comparison","previous","executionIdentity"],message:"Comparisons cannot cross execution identities"})});d({runId:da.runId}).strict();const oM=j(["no_completed_run","incomplete","evidence_incomplete","no_population","not_applicable"]),Qc=d({state:R("unavailable"),reason:oM}).strict(),rM=d({state:R("available"),expected:Se,executed:Se,answered:Se,missing:Se}).strict(),lM=Be("state",[rM,Qc]).superRefine((e,n)=>{e.state==="available"&&(e.executed+e.missing!==e.expected&&n.addIssue({code:ye.custom,message:"Expected must equal executed plus missing"}),e.answered>e.executed&&n.addIssue({code:ye.custom,path:["answered"],message:"Answered cannot exceed executed"}))}),cM=d({state:R("available"),complete:Se,partial:Se,failed:Se,unsupported:Se,notRecorded:Se}).strict(),uM=Be("state",[cM,Qc]),dM=d({state:R("available"),used:Se,notUsed:Se,unknown:Se,notApplicable:Se,notRecorded:Se}).strict(),mM=Be("state",[dM,Qc]),pM=d({state:R("available"),expectedQuestions:Se,answeredQuestions:Se,missingQuestions:Se}).strict(),hM=Be("state",[pM,Qc]).superRefine((e,n)=>{e.state==="available"&&e.answeredQuestions+e.missingQuestions!==e.expectedQuestions&&n.addIssue({code:ye.custom,message:"Expected questions must equal answered plus missing"})}),Tw=Be("state",[d({state:R("available"),answered:Se,unattributed:Se}).strict(),Qc]).superRefine((e,n)=>{e.state==="available"&&e.unattributed>e.answered&&n.addIssue({code:ye.custom,path:["unattributed"],message:"Unattributed answers cannot exceed answered"})}),fM=d({status:q0,providers:y(o()),expected:Se,filled:Se,createdAt:o(),finishedAt:o().nullable()}).strict();d({run:l3,completeness:lM,capture:uM,retrieval:mM,population:hM,comparison:Be("state",[d({state:R("available"),previousDisplayedRunId:ma}).strict(),d({state:R("unavailable"),reason:r3}).strict()]),unattributedByClass:d({branded:Tw,nonBrand:Tw}).strict().optional(),latestFill:fM.nullable().optional()}).strict().superRefine((e,n)=>{if(e.completeness.state!=="available")return;const i=e.completeness.executed;e.capture.state==="available"&&e.capture.complete+e.capture.partial+e.capture.failed+e.capture.unsupported+e.capture.notRecorded!==i&&n.addIssue({code:ye.custom,path:["capture"],message:"Capture counts must total executed snapshots"}),e.retrieval.state==="available"&&e.retrieval.used+e.retrieval.notUsed+e.retrieval.unknown+e.retrieval.notApplicable+e.retrieval.notRecorded!==i&&n.addIssue({code:ye.custom,path:["retrieval"],message:"Retrieval counts must total executed snapshots"})});const qr=o().regex(/^[a-f0-9]{64}$/),Fa=o().trim().min(1).max(256),li=m().int().positive(),Ew=d({kind:j(["user","api-key","system"]),id:o().trim().min(1),label:o().trim().min(1)}).strict(),gM=j(["proposed","included","excluded"]),yM=j(["manual","sitemap"]),B0=d({stableKey:fe,label:o().trim().min(1),status:gM,aliases:y(o().trim().min(1)),identityAliases:y(o().trim().min(1)).optional(),urlMatchers:y(o().trim().min(1)),source:yM,discoveredUrl:o().trim().min(1).optional(),discoveryIdentity:o().trim().min(1).optional()}).strict(),zm=d({providers:y(At).optional(),models:Ge(At,o().trim().min(1)).optional(),locations:y(o().trim().min(1)).optional()}).strict(),bM=j(["branded","non-brand","unclassified"]),vM=j(["rule","operator"]),d3=d({targetKey:fe,queryId:Fa,contextOverride:zm.optional(),executionContexts:y(Sm.extend({executionNodeKey:o().min(1).optional()})).min(1).optional(),queryProvenance:Xj.optional(),queryClass:bM,classificationSource:vM}).strict().superRefine((e,n)=>{e.contextOverride!==void 0&&e.executionContexts!==void 0&&n.addIssue({code:"custom",path:["executionContexts"],message:"Use either frozen execution contexts or a context override, not both."})}),Im=Yj,m3=d({stableKey:fe,label:o().trim().min(1),parentGroupKey:fe.optional(),targetKeys:y(fe),competitors:y(Im)}).strict(),xM=d({sitemapUrl:o().url(),rule:O0,exclusions:y(o().trim().min(1)),inputChecksum:qr,reviewedAt:o().datetime().optional()}).strict(),wM=d({providers:y(At),models:Ge(At,o().trim().min(1)).optional(),locations:y(o().trim().min(1))}).strict(),p3=Jj,kM=d({defaultContext:wM,targets:y(B0),assignments:y(d3),groups:y(m3),reportingScopes:y(p3).optional(),discovery:xM.optional()}).strict(),SM=d({id:o().trim().min(1),projectId:o().trim().min(1),schemaVersion:R(2),baseActiveVersionId:o().trim().min(1).nullable(),baseActiveRevision:li.nullable(),authoring:kM,createdBy:Ew,updatedBy:Ew,createdAt:o().datetime(),updatedAt:o().datetime()}).strict(),L0=d({targets:m().int().nonnegative(),includedTargets:m().int().nonnegative(),assignments:m().int().nonnegative(),unclassifiedAssignments:m().int().nonnegative(),groups:m().int().nonnegative(),competitors:m().int().nonnegative()}).strict(),jM=d({code:o().trim().min(1),message:o().trim().min(1),path:y(Ze([o(),m().int()]))}).strict(),h3=d({etag:o().trim().min(1),changed:T(),warnings:y(jM),counts:L0}).strict();d({draft:SM.nullable(),etag:o().trim().min(1).nullable()}).strict();Pr(B0);Pr(d3);Pr(m3);d({search:o().optional(),cursor:o().trim().min(1).optional(),limit:m().int().positive().max(b0).optional()}).strict();d({expectedActiveRevision:li.nullable()}).strict();d({sitemapUrl:o().url(),rule:O0,exclusions:y(o().trim().min(1)).optional()}).strict();const AM=d({discoveryIdentity:o().trim().min(1),action:j(["create","rebind","ignore"]),targetKey:fe.optional(),label:o().trim().min(1).optional()}).strict();d({selections:y(AM),selectedTargetKeys:y(fe).optional()}).strict().superRefine((e,n)=>{e.selections.length===0&&e.selectedTargetKeys===void 0&&n.addIssue({code:"custom",message:"A proposal or reviewed Property selection is required."}),e.selectedTargetKeys&&new Set(e.selectedTargetKeys).size!==e.selectedTargetKeys.length&&n.addIssue({code:"custom",path:["selectedTargetKeys"],message:"Property keys must be unique."})});d({target:B0}).strict();d({targetKey:fe,label:o().trim().min(1)}).strict();d({targetKey:fe,mergedKeys:y(fe).min(1)}).strict();d({targetKey:fe,cleanup:R("assignments-and-group-memberships").optional()}).strict();d({targetKey:fe,discoveryIdentity:o().trim().min(1),discoveredUrl:o().url()}).strict();const f3={targetKeys:y(fe).optional(),groupKeys:y(fe).optional()};function g3(e,n){(e.targetKeys?.length??0)===0&&(e.groupKeys?.length??0)===0&&n.addIssue({code:"custom",message:"At least one Target or group selector is required."})}d(f3).strict().superRefine(g3);const NM=d({...f3,queryIds:y(Fa).min(1),contextOverride:zm.optional()}).strict().superRefine(g3);Ze([d({targetKey:fe,queryIds:y(Fa).min(1),contextOverride:zm.optional()}).strict(),NM]);const CM=d({groupKey:fe,label:o().trim().min(1),memberCount:m().int().positive()}).strict();d({draftEtag:o().trim().min(1),groups:y(CM),resolvedTargetKeys:y(fe),overlapCount:m().int().nonnegative(),assignments:d({requested:m().int().nonnegative(),added:m().int().nonnegative(),alreadyPresent:m().int().nonnegative()}).strict(),execution:d({addedNodes:m().int().nonnegative(),addedProviderCalls:m().int().nonnegative(),fullRunNodes:m().int().nonnegative(),fullRunProviderCalls:m().int().nonnegative()}).strict()}).strict();d({pairs:y(d({targetKey:fe,queryId:Fa}).strict()).min(1),contextOverride:zm.optional()}).strict();Ze([d({targetKey:fe,queryId:Fa}).strict(),d({targetKeys:y(fe).min(1),queryId:Fa}).strict()]);d({targetKey:fe}).strict();d({queryClass:g0,assignments:y(d({targetKey:fe,queryId:Fa}).strict()).min(1)}).strict();d({group:d({stableKey:fe,label:o().trim().min(1),parentGroupKey:fe.nullable().optional(),targetKeys:y(fe),competitors:y(Im).optional()}).strict()}).strict();d({market:p3}).strict();d({groupKey:fe}).strict();d({groupKey:fe,competitor:Im}).strict();d({expectedActiveRevision:li,groupKey:fe,domain:o().trim().min(1).refine(e=>Uc(e)!==null,"A competitor domain must be a valid hostname"),label:o().trim().min(1).optional(),aliases:y(o().trim().min(1)).optional()}).strict();h3.extend({groupKey:fe,competitor:Im,draftCreated:T(),published:d({revision:li,competitorsChanged:R(!1)}).strict()}).strict();d({groupKey:fe,competitorKey:fe}).strict();const Jd=d({ruleId:o().trim().min(1),severity:j(["fail","warn"]),message:o().trim().min(1),path:y(Ze([o(),m().int()]))}).strict();Be("ok",[d({ok:R(!0),compiledChecksum:qr,checks:y(Jd),counts:L0,plan:jm}).strict(),d({ok:R(!1),compiledChecksum:ue(),checks:y(Jd).min(1)}).strict()]);const Rw=d({added:y(o().trim().min(1)),removed:y(o().trim().min(1)),changed:y(o().trim().min(1)),unchanged:y(o().trim().min(1))}).strict(),_M=d({activeRevision:li.nullable(),targets:Rw,groups:Rw,assignments:d({added:m().int().nonnegative(),removed:m().int().nonnegative(),reclassified:m().int().nonnegative()}).strict(),execution:d({addedNodeKeys:y(o().trim().min(1)),removedNodeKeys:y(o().trim().min(1))}).strict()}).strict();Be("ok",[d({ok:R(!0),compiledChecksum:qr,checks:y(Jd),counts:L0,plan:jm,diff:_M}).strict(),d({ok:R(!1),compiledChecksum:ue(),checks:y(Jd).min(1),diff:ue()}).strict()]);d({expectedActiveRevision:li.nullable(),expectedCompiledChecksum:qr}).strict();d({published:T(),active:d({revision:li,checksum:qr,compiledChecksum:qr,createdAt:o().datetime(),plan:jm}).strict()}).strict();d({discarded:T()}).strict();d({expectedActiveRevision:li}).strict();d({deactivated:T(),previousRevision:li.nullable()}).strict();const TM=j(["republish_required","setup_in_progress","awaiting_first_run","operational","simple"]),EM=j(["republish_setup","continue_setup","run_measurement","view_measurement","start_setup"]),RM=j(["simple","draft-only","active-v1","active-v2"]);d({state:TM,nextAction:EM,mode:RM,answerVisibilityProviderReady:T(),activeRevision:li.nullable(),activeSchemaVersion:Ze([R(1),R(2)]).nullable(),draft:d({etag:o().trim().min(1),updatedAt:o().datetime()}).strict().nullable()}).strict();const y3=d({id:o().trim().min(1),projectId:o().trim().min(1),name:o().trim().min(1),description:o().nullable(),itemCount:m().int().nonnegative(),createdAt:o().datetime(),updatedAt:o().datetime()}).strict(),DM=d({queryId:Fa,queryText:o().min(1),position:m().int().nonnegative()}).strict();y3.extend({items:y(DM)}).strict();d({querySets:y(y3)}).strict();d({name:o().trim().min(1),description:o().nullable().optional(),queryIds:y(Fa)}).strict();const zM=d({id:o().trim().min(1),projectId:o().trim().min(1),name:o().trim().min(1),description:o().nullable(),pattern:o().trim().min(1),variables:y(o().trim().min(1)),createdAt:o().datetime(),updatedAt:o().datetime()}).strict();d({templates:y(zM)}).strict();d({name:o().trim().min(1),description:o().nullable().optional(),pattern:o().trim().min(1),variables:y(o().trim().min(1))}).strict();d({bindings:y(Ge(o().trim().min(1),o().trim().min(1))).min(1),querySetId:o().trim().min(1).optional()}).strict();d({created:y(d({queryId:Fa,queryText:o().min(1)}).strict()),existing:y(d({queryId:Fa,queryText:o().min(1)}).strict())}).strict();const Wd=o().regex(/^[a-f0-9]{64}$/),Om=m().int().positive();d({stableKey:fe,kind:j(["target","group"]),retiredAt:o().datetime().nullable()}).strict();d({csv:o()}).strict();j(["matched","ambiguous","unmatched","invalid","duplicate","proposed","excluded"]);const IM=j(["column-count","missing-property","missing-group","invalid-url","property-not-found","property-label-ambiguous","url-not-exact-match","target-proposed","target-excluded","group-label-ambiguous","group-key-conflict"]),mg=d({dataRow:Om,property:o(),group:o(),url:o().nullable(),normalizedProperty:o(),normalizedGroupLabel:o()}).strict(),cc=mg.extend({reason:IM}),OM=d({source:j(["draft-target","draft-group","persisted-segment","retired-segment","proposed-group"]),stableKey:fe,kind:j(["target","group"]).optional(),retiredAt:o().datetime().nullable().optional(),normalizedGroupLabel:o().optional()}).strict(),PM=d({proposedGroupKey:fe,evidence:y(OM).min(1)}).strict(),qM=Be("status",[mg.extend({status:R("matched"),targetKey:fe,groupKey:fe}).strict(),cc.extend({status:R("ambiguous"),candidateTargetKeys:y(fe).min(1).optional(),candidateGroupKeys:y(fe).min(1).optional()}).strict(),cc.extend({status:R("unmatched")}).strict(),cc.extend({status:R("invalid"),groupKeyConflict:PM.optional()}).strict(),mg.extend({status:R("duplicate"),duplicateOfRow:Om,targetKey:fe,groupKey:fe}).strict(),cc.extend({status:R("proposed"),targetKey:fe}).strict(),cc.extend({status:R("excluded"),targetKey:fe}).strict()]),MM=d({normalizedGroupLabel:o(),groupKey:fe,label:o().trim().min(1),action:j(["create","extend"]),matchedRows:y(Om),targetKeys:y(fe),addedTargetKeys:y(fe),unchangedTargetKeys:y(fe)}).strict(),BM=d({dataRows:m().int().nonnegative(),matchedRows:m().int().nonnegative(),ambiguousRows:m().int().nonnegative(),unmatchedRows:m().int().nonnegative(),invalidRows:m().int().nonnegative(),duplicateRows:m().int().nonnegative(),proposedRows:m().int().nonnegative(),excludedRows:m().int().nonnegative(),needsAttention:m().int().nonnegative(),groupsReady:m().int().nonnegative(),groupsToCreate:m().int().nonnegative(),groupsToExtend:m().int().nonnegative(),membershipsReady:m().int().nonnegative(),addedMemberships:m().int().nonnegative(),unchangedMemberships:m().int().nonnegative()}).strict();d({draftEtag:o().trim().min(1),sourceChecksum:Wd,previewChecksum:Wd,rows:y(qM),groupChanges:y(MM),counts:BM}).strict();d({csv:o(),sourceChecksum:Wd,previewChecksum:Wd,acceptedRows:y(Om).min(1)}).strict().superRefine((e,n)=>{new Set(e.acceptedRows).size!==e.acceptedRows.length&&n.addIssue({code:"custom",path:["acceptedRows"],message:"Accepted CSV data rows must be unique."})});h3.extend({appliedRows:m().int().nonnegative(),addedMemberships:m().int().nonnegative(),unchangedMemberships:m().int().nonnegative()}).strict();function b3(e,n){return Number((n===Ka.percent?e:e*100).toFixed(6))}function v3(e){return Math.round(Number((e*10).toFixed(4)))/10}function em(e,n=Ka.fraction){if(e==null||!Number.isFinite(e))return"—";const i=b3(e,n);if(i===0)return"0%";const r=i<0?"-":"",u=Math.abs(i);if(u===100)return`${r}100%`;const h=v3(u);return h===0?`${r}<0.1%`:h===100&&u<100?`${r}>99.9%`:`${r}${h.toFixed(1)}%`}function Ate(e){return Number.isFinite(e)?Math.abs(e)>=1e6?`${(e/1e6).toFixed(1)}M`:Math.abs(e)>=1e3?`${(e/1e3).toFixed(1)}K`:e.toLocaleString("en-US"):"—"}const LM=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function kc(e,n=new Date){const i=/^(\d{4})-(\d{2})-(\d{2})$/.exec(e),r=i?LM[Number(i[2])-1]:void 0;if(!i||!r)return e;const u=`${r} ${Number(i[3])}`;return Number(i[1])===n.getFullYear()?u:`${u}, ${i[1]}`}function Nte(e,n,i=800){const r=[];if(!/^\d{4}-\d{2}-\d{2}$/.test(e)||!/^\d{4}-\d{2}-\d{2}$/.test(n))return r;for(let u=e;u<=n&&(r.push(u),!(r.length>=i));u=UM(u,1));return r}function UM(e,n){if(!Number.isFinite(n))return e;const i=/^(\d{4})-(\d{2})-(\d{2})$/.exec(e);if(!i?.[1]||!i[2]||!i[3])return e;const r=new Date(Date.UTC(Number(i[1]),Number(i[2])-1,Number(i[3])+Math.trunc(n)));if(Number.isNaN(r.getTime()))return e;const u=r.getUTCFullYear(),h=String(r.getUTCMonth()+1).padStart(2,"0"),f=String(r.getUTCDate()).padStart(2,"0");return`${u}-${h}-${f}`}function Cte(e,n=Ka.fraction){const i=b3(e,n);if(i===0)return{direction:"none",magnitude:"0"};const r=v3(Math.abs(i));return{direction:i>0?"up":"down",magnitude:r===0?"<0.1":r.toFixed(1)}}function _te(e,n="UTC"){const i=new Date(e);if(!Number.isFinite(i.getTime()))return null;const r={weekday:"short",year:"numeric",month:"short",day:"numeric",hour:"numeric",minute:"2-digit",timeZoneName:"short"};try{return i.toLocaleString("en-US",{...r,timeZone:n})}catch{return i.toLocaleString("en-US",{...r,timeZone:"UTC"})}}const x3=j(["introduced","repointed","retired"]),VM=x3.enum;d({modelId:o().trim().min(1),date:o().regex(/^\d{4}-\d{2}-\d{2}$/,"date must be YYYY-MM-DD"),kind:x3,confirmed:T(),sourceUrl:o().url(),note:o().min(1)});const $M=[{modelId:"chatgpt-4o-latest",date:"2024-08-15",kind:"introduced",confirmed:!0,sourceUrl:"https://developers.openai.com/api/docs/changelog",note:'Verbatim: "Released dynamic model for chatgpt-4o-latest—this model will point to the latest GPT-4o model used by ChatGPT." First moving id in the lineage.'},{modelId:"chatgpt-4o-latest",date:"2026-02-17",kind:"retired",confirmed:!0,sourceUrl:"https://developers.openai.com/api/docs/deprecations.md",note:'Shutdown 2026-02-17, replacement gpt-5.1-chat-latest. Announced under the heading "2025-11-18: chatgpt-4o-latest snapshot".'},{modelId:"gpt-5.1-chat-latest",date:"2025-11-13",kind:"introduced",confirmed:!0,sourceUrl:"https://developers.openai.com/api/docs/changelog",note:"Introduced inside the GPT-5.1 launch entry, not as a standalone entry."},{modelId:"gpt-5.2-chat-latest",date:"2025-12-11",kind:"introduced",confirmed:!0,sourceUrl:"https://developers.openai.com/api/docs/changelog",note:"Introduced inside the GPT-5.2 launch entry."},{modelId:"gpt-5.2-chat-latest",date:"2026-02-10",kind:"repointed",confirmed:!0,sourceUrl:"https://developers.openai.com/api/docs/changelog",note:'Verbatim: "Updated the gpt-5.2-chat-latest slug to point to the latest model currently used in ChatGPT." Target model NOT named.'},{modelId:"gpt-5.3-chat-latest",date:"2026-03-03",kind:"introduced",confirmed:!0,sourceUrl:"https://developers.openai.com/api/docs/changelog",note:'Verbatim: "Released gpt-5.3-chat-latest to the Chat Completions and Responses API. This model points to the GPT-5.3 Instant snapshot currently used in ChatGPT."'},{modelId:"gpt-5.3-chat-latest",date:"2026-03-16",kind:"repointed",confirmed:!0,sourceUrl:"https://developers.openai.com/api/docs/changelog",note:'Verbatim: "Updated the gpt-5.3-chat-latest slug to point to the latest model currently used in ChatGPT." Target model NOT named.'},{modelId:"chat-latest",date:"2026-05-05",kind:"introduced",confirmed:!0,sourceUrl:"https://developers.openai.com/api/docs/changelog",note:'Verbatim: "Released chat-latest snapshot which points to the latest Instant model currently used in ChatGPT... The underlying model snapshot will be regularly updated."'},{modelId:"chat-latest",date:"2026-05-28",kind:"repointed",confirmed:!1,sourceUrl:"https://developers.openai.com/api/docs/changelog",note:'UNCONFIRMED. The entry reads "Released chat-latest snapshot..." — the verb is "Released", the same boilerplate as the 2026-05-05 entry, not "Updated" as used on 2026-06-24. Only "the latest improvements" vs "our latest improvements" differs. Either a real change logged with copy-pasted text, or a duplicated entry; the record does not disambiguate.'},{modelId:"chat-latest",date:"2026-06-24",kind:"repointed",confirmed:!0,sourceUrl:"https://developers.openai.com/api/docs/changelog",note:'Verbatim (re-read at source 2026-07-20): "Updated the chat-latest snapshot, which points to the latest Instant model currently used in ChatGPT." The verb is "Updated", unlike the "Released" boilerplate of 2026-05-05 and 2026-05-28, which is the wording the changelog reserves for a real change. Target model NOT named. The only unambiguous chat-latest change on record.'}];VM.repointed;new Set($M.map(e=>e.modelId.toLowerCase()));const KM=j(["not-exposed","no-known-change","known-change"]);KM.enum;const GM=d({modelId:o().trim().min(1),date:o().regex(/^\d{4}-\d{2}-\d{2}$/),confirmed:T(),sourceUrl:o().url()}),HM=d({status:j(["no-known-change","known-change"]),modelIds:y(o().trim().min(1)).min(1),changes:y(GM),changeCount:m().int().nonnegative(),unverifiedChangeCount:m().int().nonnegative(),firstChangeDate:o().optional(),lastChangeDate:o().optional(),knownGoodAsOf:o(),checkedThroughPeriodEnd:T()}),FM={openai:"ChatGPT",chatgpt:"ChatGPT",anthropic:"Claude",claude:"Claude",google:"Gemini",gemini:"Gemini",perplexity:"Perplexity"};function QM(e){const n=e.trim().toLowerCase();return FM[n]??e.charAt(0).toUpperCase()+e.slice(1)}function jf(e){return typeof e=="number"&&Number.isFinite(e)&&e>0?Math.floor(e):0}function uc(e){return typeof e=="string"&&e.trim().length>=10?e.trim().slice(0,10):null}function Af(e){return[...new Set(e.filter(n=>n!==null))].sort()}function ZM(e,n,i){const r=i(e),u=Array.isArray(n.changes)?n.changes:[],h=jf(n.changeCount)||u.length,f=Math.min(h,jf(n.unverifiedChangeCount)||jf(n.unconfirmedChangeCount)||u.filter(S=>S.confirmed===!1).length),b=uc(n.knownGoodAsOf),v=n.checkedThroughPeriodEnd!==!1,x={engine:r,confirmedCount:h-f,unconfirmedCount:f,knownGoodAsOf:b,checkedThroughPeriodEnd:v};if(u.length>0)return{...x,confirmedDates:Af(u.filter(S=>S.confirmed!==!1).map(S=>uc(S.date))),unconfirmedDates:Af(u.filter(S=>S.confirmed===!1).map(S=>uc(S.date)))};const k=Af([uc(n.firstChangeDate),uc(n.lastChangeDate)]);return h===0?{...x,confirmedDates:[],unconfirmedDates:[]}:f===0?{...x,confirmedDates:k,unconfirmedDates:[]}:x.confirmedCount===0?{...x,confirmedDates:[],unconfirmedDates:k}:{...x,confirmedDates:[],unconfirmedDates:[]}}function YM(e){return e.length===1?e[0]:e.length===2?`${e[0]} and ${e[1]}`:`${e.slice(0,-1).join(", ")}, and ${e[e.length-1]}`}function Dw(e,n){return e.length===0?null:e.length===1&&n<=1?`on ${kc(e[0])}`:`more than once between ${kc(e[0])} and ${kc(e[e.length-1])}`}function XM(e){const n=Dw(e.confirmedDates,e.confirmedCount),i=Dw(e.unconfirmedDates,e.unconfirmedCount),r=`The model behind ${e.engine}`;if(e.confirmedCount>0&&e.unconfirmedCount===0)return n?`${r} was updated ${n}, inside this period.`:`${r} was updated inside this period.`;if(e.confirmedCount===0)return i?`${r} may have been updated ${i}, inside this period, though that is not confirmed.`:`${r} may have been updated inside this period, though that is not confirmed.`;if(n&&i)return`${r} was updated ${n}, inside this period, and may also have been updated ${i}.`;const u=e.unconfirmedCount>1?"more times":"once more";return`${r} was updated inside this period, and may have been updated ${u}, though that is not confirmed.`}function zw(e){const n=e.filter(r=>!r.checkedThroughPeriodEnd&&r.knownGoodAsOf!==null);if(n.length===0)return null;const i=n.map(r=>r.knownGoodAsOf).sort()[0];return`We last checked for model updates on ${kc(i)}, and this period runs past that date, so there may be later updates we do not know about.`}function Tte(e,n={}){const i=n.engineName??QM,r=Object.entries(e??{}).map(([k,S])=>ZM(k,S??{},i)).sort((k,S)=>k.engine.localeCompare(S.engine));if(r.length===0)return null;const u=r.filter(k=>k.confirmedCount+k.unconfirmedCount>0);if(u.length===0){const k=[...new Set(r.map(q=>q.engine))],S=k.length>1,N=zw(r),_=[...new Set(r.map(q=>q.knownGoodAsOf).filter(q=>q!==null))].sort(),z=N??(_.length>0?`We last checked for model updates on ${kc(_[0])}.`:null);return{kind:"no-known-change",text:`No model updates are on record for ${YM(k)} in this period.`,detail:`${S?"These engines":"This engine"} can be moved onto a different underlying model without the data ever showing a different model name, so we check each period against a record of known updates. Nothing is listed inside this one.${z?` ${z}`:""}`}}const h=u.reduce((k,S)=>k+S.confirmedCount+S.unconfirmedCount,0),f=u.some(k=>k.confirmedCount>0),b=h===1?"this update":"these updates",v=f?`Some of the movement in these numbers may come from ${b} rather than from a real change in how AI answers about you, so compare periods carefully.`:`If so, some of the movement in these numbers may come from ${b} rather than from a real change in how AI answers about you, so compare periods carefully.`,x=zw(r);return{kind:"change",text:`${u.map(XM).join(" ")} ${v}${x?` ${x}`:""}`}}const ko=d({slope:m(),intercept:m(),r2:m(),start:m(),end:m(),n:m(),startIndex:m(),endIndex:m()}),JM=j(["gsc","ga4","gbp"]);d({id:o(),domain:o(),connectionType:JM,propertyId:o().nullable().optional(),sitemapUrl:o().nullable().optional(),scopes:y(o()).default([]),createdAt:o(),updatedAt:o()});const WM=d({date:o(),query:o(),page:o(),country:o().nullable().optional(),device:o().nullable().optional(),clicks:m(),impressions:m(),ctr:we(),position:m()});j(["clicks","impressions","date"]);d({rows:y(WM),totalMatching:m(),truncated:T(),latestAvailableDate:o().nullable()});const eB=d({date:o(),clicks:m(),impressions:m(),ctr:we(),position:m().nullable()}),w3=d({startDate:o().nullable(),endDate:o().nullable(),latestDataDate:o().nullable(),daysSinceLatestData:m().nullable()}),tB=d({clicks:ko.nullable(),impressions:ko.nullable(),ctr:ko.nullable(),position:ko.nullable()}),Iw=d({startDate:o(),endDate:o(),clicks:m(),impressions:m(),ctr:we().nullable(),position:m().nullable(),source:j(["property-daily","dimensioned","mixed","empty"])}),nB=d({days:m(),basis:j(["prior-window","split-window"]).optional(),prior:Iw,trailing:Iw,comparable:T(),change:d({clicks:we().nullable(),impressions:we().nullable(),ctr:we().nullable(),position:we().nullable()})});d({totals:d({clicks:m(),impressions:m(),ctr:we(),position:m().nullable(),positionDays:m(),days:m()}),daily:y(eB),window:w3.optional(),trends:tB.optional(),periodComparison:nB.nullable().optional()});const aB=d({page:o(),clicks:m(),impressions:m(),ctr:we()});d({rows:y(aB),totals:d({clicks:m(),impressions:m(),ctr:we(),days:m(),coveredFrom:o().nullable(),coveredThrough:o().nullable(),complete:T()}).nullable(),totalsSource:R("property-daily"),rankedFrom:o().nullable(),rankedThrough:o().nullable()});const iB=j(["google","page-summed","mixed"]),sB=d({query:o(),clicks:m(),impressions:m(),ctr:we(),position:m(),days:m(),source:iB});d({rows:y(sB),totalMatching:m(),truncated:T(),window:w3.extend({earliestDataDate:o().nullable().optional()})});const pg=d({id:o(),url:o(),indexingState:o().nullable().optional(),verdict:o().nullable().optional(),coverageState:o().nullable().optional(),pageFetchState:o().nullable().optional(),robotsTxtState:o().nullable().optional(),crawlTime:o().nullable().optional(),lastCrawlResult:o().nullable().optional(),isMobileFriendly:T().nullable().optional(),richResults:y(o()).default([]),referringUrls:y(o()).default([]),inspectedAt:o()});j(["stable","reindexed","deindexed","still-missing","new"]);const oB=d({url:o(),previousState:o().nullable(),currentState:o().nullable(),transitionDate:o()}),rB=d({reason:o(),count:m(),urls:y(pg).default([])});d({summary:d({total:m(),indexed:m(),notIndexed:m(),deindexed:m(),percentage:ot(),indexedShare:we(m().min(0).max(1)).nullable(),notIndexedShare:we(m().min(0).max(1)).nullable()}),lastInspectedAt:o().nullable(),lastSyncedAt:o().nullable(),indexed:y(pg).default([]),notIndexed:y(pg).default([]),deindexed:y(oB).default([]),reasonGroups:y(rB).default([])});d({url:o(),type:j(["URL_UPDATED","URL_DELETED"]),notifiedAt:o()});const lB=d({url:o(),type:j(["URL_UPDATED","URL_DELETED"]),notifiedAt:o(),status:j(["success","error"]),error:o().optional()});d({summary:d({total:m().int().nonnegative(),succeeded:m().int().nonnegative(),failed:m().int().nonnegative()}),results:y(lB).default([])});d({date:o(),indexed:m(),notIndexed:m(),unknownPages:m().default(0),verifiedByInspection:m().default(0),derivedFromImpressions:m().default(0),reasonBreakdown:Ge(o(),m()).default({})});const cB=d({siteUrl:o(),permissionLevel:o()});d({sites:y(cB).default([])});const uB=d({type:o(),submitted:o(),indexed:o().optional().describe("Deprecated compatibility field.")}),k3=d({path:o(),parentSitemapUrl:o().optional(),lastSubmitted:o().optional(),isPending:T().optional(),isSitemapsIndex:T().optional(),type:o().optional(),lastDownloaded:o().optional(),warnings:o().optional(),errors:o().optional(),contents:y(uB).optional()});d({sitemaps:y(k3).default([]),summary:d({total:m().int().nonnegative(),indexes:m().int().nonnegative(),files:m().int().nonnegative()}),preferredSubmissionUrls:y(o()).default([])});d({sitemapUrls:y(o().url().refine(e=>{const n=new URL(e).protocol;return n==="http:"||n==="https:"},{message:"Sitemap URL must use http or https."})).min(1).max(50)});const dB=d({sitemapUrl:o(),status:j(["accepted","error"]),submittedAt:o().optional(),error:o().optional()});d({summary:d({total:m().int().nonnegative(),accepted:m().int().nonnegative(),failed:m().int().nonnegative()}),results:y(dB)});d({sitemaps:y(k3),primarySitemapUrl:o(),run:d({id:o(),projectId:o(),kind:o(),status:o(),trigger:o(),createdAt:o()}).nullable()});const mt=o().trim().min(1),Ow=o().regex(/^[a-f0-9]{64}$/i),mB=j(["not-connected","selection-required","connected","stale"]),xd=mB.enum,pB=j(["live","draft"]),S3=pB.enum,zd=d({accountId:mt.nullable(),containerId:mt.nullable(),workspaceId:mt.nullable(),selectedAt:o().nullable()}).strict(),Nf=d({id:mt,projectId:mt,scopes:y(o()).default([]),selection:zd,lastValidatedAt:o().nullable(),lastSnapshotAt:o().nullable(),createdAt:o(),updatedAt:o()}).strict(),j3=d({id:mt,path:o(),name:o(),shareData:T().nullable()}).strict(),A3=d({accountId:mt,id:mt,path:o(),name:o(),publicId:o().nullable(),domainName:o().nullable(),usageContexts:y(o())}).strict(),U0=d({accountId:mt,containerId:mt,id:mt,path:o(),name:o(),description:o().nullable(),fingerprint:o().nullable()}).strict(),hB=d({accounts:y(j3),totalAccessible:m().int().nonnegative(),truncated:T(),fetchedAt:o()}).strict();d({accountId:mt,containers:y(A3),totalAccessible:m().int().nonnegative(),truncated:T(),fetchedAt:o()}).strict();d({accountId:mt,containerId:mt,workspaces:y(U0),totalAccessible:m().int().nonnegative(),truncated:T(),fetchedAt:o()}).strict();const fB=d({id:mt,name:o(),type:o(),paused:T(),firingTriggerIds:y(mt),blockingTriggerIds:y(mt),referencedVariableIds:y(mt),parameterKeys:y(o()),fingerprint:o().nullable()}).strict(),gB=d({id:mt,name:o(),type:o(),customEventNames:y(o()),filterKeys:y(o()),autoEventFilterKeys:y(o()),fingerprint:o().nullable()}).strict(),yB=d({id:mt,name:o(),type:o(),dataLayerVariableName:o().nullable(),parameterKeys:y(o()),fingerprint:o().nullable()}).strict(),N3=j(["recognized","unknown"]),Pw=N3.enum,bB=j(["literal","variable-ref","absent","unknown"]),Pm=bB.enum,vB=o().trim().min(5).max(132).regex(/^\{\{\w[\w ./-]{0,127}\}\}$/),Qr=d({source:R(Pm.absent),literal:ue(),variableRef:ue()}).strict(),Zr=d({source:R(Pm.unknown),literal:ue(),variableRef:ue()}).strict(),Yr=d({source:R(Pm["variable-ref"]),literal:ue(),variableRef:vB}).strict();function Zc(e){return d({source:R(Pm.literal),literal:e,variableRef:ue()}).strict()}const xB=o().trim().max(23).regex(/^(?:AW-)?\d{1,20}$/i),wB=o().trim().min(1).max(128).regex(/^[\w-]+$/),kB=o().trim().min(1).max(20).regex(/^(?:0|[1-9]\d{0,11})(?:\.\d{1,6})?$/),SB=o().trim().length(3).regex(/^[a-z]{3}$/i);Be("source",[Zc(o().trim().min(1).max(256)),Yr,Qr,Zr]);const jB=Be("source",[Zc(xB),Yr,Qr,Zr]),AB=Be("source",[Zc(wB),Yr,Qr,Zr]),NB=Be("source",[Zc(kB),Yr,Qr,Zr]),CB=Be("source",[Yr,Qr,Zr]),_B=Be("source",[Zc(SB),Yr,Qr,Zr]),C3=j(["all-pages","custom-event","filtered","unknown"]);C3.enum;const qw=d({operator:o().trim().min(1).max(64),value:o().max(2048),negated:T(),ignoreCase:T()}).strict(),TB=d({triggerId:mt,triggerType:o(),eventPredicates:y(qw),hostnamePredicates:y(qw),unsupportedConditionCount:m().int().nonnegative()}).strict(),_3=j(["not-google-ads-tag","unsupported-tag-type","custom-html-opaque","conversion-id-unresolved","conversion-label-unresolved","value-mapping-missing","transaction-id-mapping-missing","currency-mapping-missing","trigger-unresolved","hostname-filter-unresolved"]);_3.enum;const EB=d({tagId:mt,tagType:o(),recognition:N3,recognitionReason:o().nullable(),conversionId:jB,conversionLabel:AB,value:NB,transactionId:CB,currency:_B,triggerStrategy:C3,triggerIds:y(mt),triggerPredicates:y(TB),reviewReasons:y(_3)}).strict().superRefine((e,n)=>{e.recognition===Pw.recognized&&e.recognitionReason!==null&&n.addIssue({code:ye.custom,path:["recognitionReason"],message:"Recognized assessments cannot carry an unknown-recognition reason."}),e.recognition===Pw.unknown&&!e.recognitionReason&&n.addIssue({code:ye.custom,path:["recognitionReason"],message:"Unknown assessments require a recognition reason."})}),T3=d({accountId:mt,containerId:mt,workspaceId:mt.nullable(),tags:y(fB),triggers:y(gB),variables:y(yB),googleAdsTagAssessments:y(EB).default([])}).strict(),RB=d({accountId:mt,containerId:mt,id:mt,path:o(),name:o(),description:o().nullable(),fingerprint:o().nullable(),deleted:T()}).strict(),E3=d({source:R(S3.live),version:RB,graph:T3,fetchedAt:o()}).strict(),R3=d({source:R(S3.draft),workspace:U0,graph:T3,conflictCount:m().int().nonnegative(),fetchedAt:o()}).strict(),DB=d({account:j3,container:A3,workspaces:y(U0),live:E3.nullable(),draft:R3.nullable(),fetchedAt:o()}).strict();Be("status",[d({connected:R(!1),status:R(xd["not-connected"]),connection:ue(),selection:ue()}).strict(),d({connected:R(!0),status:R(xd["selection-required"]),connection:Nf,selection:zd}).strict(),d({connected:R(!0),status:R(xd.connected),connection:Nf,selection:zd}).strict(),d({connected:R(!0),status:R(xd.stale),connection:Nf,selection:zd}).strict()]);const D3=j(["accounts","container","live","draft"]),wd=D3.enum,V0=d({id:mt,projectId:mt,connectionId:mt,runId:mt,kind:D3,accountId:mt.nullable(),containerId:mt.nullable(),workspaceId:mt.nullable(),payloadChecksum:Ow,rawPayloadSha256:Ow.nullable(),rawPayloadBytes:m().int().nonnegative().nullable(),redactedFieldCount:m().int().nonnegative(),capturedAt:o(),createdAt:o()}).strict(),zB=Be("kind",[d({kind:R(wd.accounts),data:hB}).strict(),d({kind:R(wd.container),data:DB}).strict(),d({kind:R(wd.live),data:E3}).strict(),d({kind:R(wd.draft),data:R3}).strict()]),IB=d({metadata:V0,payload:zB}).strict().superRefine((e,n)=>{e.metadata.kind!==e.payload.kind&&n.addIssue({code:ye.custom,path:["payload","kind"],message:"Snapshot metadata and payload kinds must match."})}),Xn=o().trim().min(1),OB=o().trim().min(1).refine(e=>Uc(e)!==null,"Expected a hostname or http(s) URL."),$0=j(["configured","statically-consistent","runtime-unverified","observed"]);$0.enum;const z3=j(["pass","fail","unknown"]);z3.enum;const I3=j(["ads-connection-missing","ads-conversion-action-missing","ads-goal-missing","ads-goal-not-biddable","ads-action-not-primary","gtm-connection-missing","gtm-live-graph-missing","gtm-tag-missing","gtm-tag-unrecognized","gtm-tag-paused","gtm-trigger-missing","gtm-variable-missing","gtm-event-mismatch","gtm-hostname-mismatch","gtm-value-mapping-missing","gtm-transaction-id-mapping-missing","gtm-currency-mapping-missing","gtm-conversion-id-mismatch","gtm-conversion-label-mismatch","runtime-event-not-observed","runtime-gtm-not-observed","runtime-ads-not-observed"]);I3.enum;const O3=d({id:Xn,projectId:Xn,name:o().trim().min(1),eventName:o().trim().min(1),googleAds:d({customerId:Xn,conversionActionId:Xn,conversionId:o().trim().min(1).optional(),conversionLabel:o().trim().min(1).optional(),campaignIds:y(Xn).max(50).default([]),requireBiddableGoal:T().default(!0),requirePrimaryAction:T().default(!0)}).strict(),gtm:d({accountId:Xn,containerId:Xn,tagId:Xn,triggerIds:y(Xn).default([]),variableIds:y(Xn).default([])}).strict(),runtime:d({verificationRequired:T().default(!0),requireTransactionId:T().default(!0),requireValue:T().default(!0),requireCurrency:T().default(!0),productionHosts:y(OB).default([])}).strict(),createdAt:o(),updatedAt:o()}).strict();O3.omit({id:!0,projectId:!0,createdAt:!0,updatedAt:!0});const P3=j(["not-run","consistent","inconsistent"]);P3.enum;const q3=j(["not-run","not-observed","observed"]);q3.enum;d({staticCheck:P3,runtimeVerificationRequired:T(),runtimeObservation:q3}).strict();const PB=d({code:I3,subject:o().trim().min(1),outcome:z3,status:$0,evidenceIds:y(Xn).default([])}).strict(),qB=d({contract:O3,status:$0,findings:y(PB),evaluatedAt:o()}).strict(),Mw=d({id:Xn,name:o(),detail:o(),active:T()});d({googleAds:d({customerId:Xn.nullable(),syncedAt:o().nullable(),conversionActions:y(Mw)}),gtm:d({containerId:Xn.nullable(),syncedAt:o().nullable(),tags:y(Mw)})});const Sc=o().trim().min(1);function Bw(e){const n=e.trim();return/^\d{10}$/.test(n)?n:/^\d{3}-\d{3}-\d{4}$/.test(n)?n.replaceAll("-",""):null}const MB=/^[\w-]+$/;function K0(e){const n=e.trim();return MB.test(n)?n:null}function BB(e){const n=e.trim();return/^accounts\/([\w-]+)$/.exec(n)?.[1]??K0(n)}function LB(e,n){const i=e.trim(),r=/^accounts\/([\w-]+)\/containers\/([\w-]+)$/.exec(i);return r?r[1]===n?r[2]:null:K0(i)}function UB(e,n,i){const r=e.trim(),u=/^accounts\/([\w-]+)\/containers\/([\w-]+)\/workspaces\/([\w-]+)$/.exec(r);return u?u[1]===n&&u[2]===i?u[3]:null:K0(r)}function VB(e){const n=Bw(e.customerId);if(!n)return null;if(e.loginCustomerId===null)return{loginCustomerId:null,customerId:n};if(e.loginCustomerId===void 0)return{customerId:n};const i=Bw(e.loginCustomerId);return i?{loginCustomerId:i,customerId:n}:null}function $B(e){const n=BB(e.accountId);if(!n)return null;const i=LB(e.containerId,n);if(!i)return null;if(e.workspaceId===void 0)return{accountId:n,containerId:i};const r=UB(e.workspaceId,n,i);return r?{accountId:n,containerId:i,workspaceId:r}:null}const qm=j(["google-ads","gtm"]);qm.enum;d({provider:qm,publicUrl:o().url().optional(),developerToken:o().trim().min(1).max(512).optional()}).strict();d({provider:qm,authorizationUrl:o().url(),redirectUri:o().url(),expiresAt:o().nullable()}).strict();d({loginCustomerId:Sc.nullable().optional(),customerId:Sc}).strict().superRefine((e,n)=>{VB(e)||n.addIssue({code:ye.custom,message:"Expected ten-digit Google Ads customer IDs, with optional 3-3-4 display hyphens."})});d({accountId:Sc,containerId:Sc,workspaceId:Sc.optional()}).strict().superRefine((e,n)=>{$B(e)||n.addIssue({code:ye.custom,message:"GTM resource paths must match the selected account and container."})});d({provider:qm,disconnected:T()}).strict();const M3=100;d({snapshots:y(p0).max(M3),nextCursor:o().nullable(),total:m().int().nonnegative()}).strict();d({snapshot:_9}).strict();d({snapshots:y(V0).max(M3),nextCursor:o().nullable(),total:m().int().nonnegative()}).strict();d({snapshot:IB}).strict();d({assessment:qB,googleAdsSnapshot:p0.nullable(),gtmSnapshot:V0.nullable()}).strict();d({id:o(),domain:o(),siteUrl:o().nullable().optional(),createdAt:o(),updatedAt:o()});const Cf=d({id:o(),url:o(),httpCode:m().nullable().optional(),inIndex:T().nullable().optional(),lastCrawledDate:o().nullable().optional(),inIndexDate:o().nullable().optional(),inspectedAt:o(),documentSize:m().nullable().optional(),anchorCount:m().nullable().optional(),discoveryDate:o().nullable().optional()});d({summary:d({total:m(),indexed:m(),notIndexed:m(),unknown:m().optional(),percentage:ot()}),lastInspectedAt:o().nullable(),indexed:y(Cf).default([]),notIndexed:y(Cf).default([]),unknown:y(Cf).default([]).optional()});d({query:o(),impressions:m(),clicks:m(),ctr:we(),averagePosition:m()});d({date:o(),indexed:m(),notIndexed:m(),unknown:m()});const KB=d({url:o(),status:j(["success","error"]),submittedAt:o(),error:o().optional()});d({summary:d({total:m().int().nonnegative(),succeeded:m().int().nonnegative(),failed:m().int().nonnegative()}),results:y(KB).default([])});const B3=d({url:o(),verified:T()});d({sites:y(B3).default([])});d({connected:T(),domain:o(),siteUrl:o().nullable(),createdAt:o().nullable(),updatedAt:o().nullable()});d({connected:T(),domain:o(),siteUrl:o().nullable(),availableSites:y(B3).default([])});d({siteUrl:o()});const GB=d({name:o(),alive:T(),lastUsed:o().nullable()});d({connected:T(),endpoint:o(),version:o().optional(),browserVersion:o().optional(),targets:y(GB).default([])});const Xr=j(["live","staging"]);d({projectName:o(),url:o(),stagingUrl:o().optional(),username:o(),defaultEnv:Xr,createdAt:o(),updatedAt:o()});const Lw=d({url:o(),reachable:T(),pageCount:m().nullable().optional(),version:o().nullable().optional(),error:o().nullable().optional(),plugins:y(o()).optional(),authenticatedUser:d({id:m(),slug:o()}).nullable().optional()});d({connected:T(),projectName:o(),defaultEnv:Xr,live:Lw.nullable(),staging:Lw.nullable(),adminUrl:o().nullable().optional()});const HB=d({id:m(),slug:o(),title:o(),status:o(),modifiedAt:o().nullable().optional(),link:o().nullable().optional()}),L3=d({title:o().nullable(),description:o().nullable(),noindex:T().nullable(),writable:T().default(!1),writeTargets:y(o()).default([])}),FB=d({type:o(),json:Ge(o(),kn())}),QB=HB.extend({env:Xr,content:o(),seo:L3,schemaBlocks:y(FB).default([])}),Uw=QB.extend({contentHash:o(),contentSnippet:o()}),U3=d({manualRequired:R(!0),targetUrl:o(),adminUrl:o().nullable().optional(),content:o(),nextSteps:y(o()).default([])}),ZB=d({slug:o(),severity:j(["high","medium","low"]),code:j(["noindex","missing-seo-title","missing-meta-description","missing-schema","thin-content"]),message:o()});d({slug:o(),title:o(),status:o(),wordCount:m(),seo:L3,schemaPresent:T(),issues:y(ZB).default([])});const YB=d({slug:o(),status:j(["applied","skipped","manual"]),error:o().optional(),manualAssist:U3.optional()});d({env:Xr,strategy:j(["plugin","manual"]),results:y(YB)});const XB=d({slug:o(),status:j(["deployed","stripped","skipped","failed"]),schemasInjected:y(o()).optional(),manualAssist:U3.optional(),error:o().optional()});d({env:Xr,results:y(XB)});const JB=d({slug:o(),title:o(),canonrySchemas:y(o()),thirdPartySchemas:y(o()),hasCanonrySchema:T()});d({env:Xr,pages:y(JB)});const WB=d({name:o(),status:j(["completed","skipped","failed"]),summary:o().optional(),error:o().optional()});d({projectName:o(),steps:y(WB)});d({slug:o(),live:Uw,staging:Uw,hasDifferences:T(),differences:d({title:T(),slug:T(),content:T(),seoTitle:T(),seoDescription:T(),noindex:T(),schema:T()})});const eL=Bj.shape.searchUnit.unwrap().enum;eL.query;const tL=d({name:o(),displayName:o().optional(),keyUrl:o().optional(),modelHint:o().optional(),model:o().optional(),defaultModel:o().optional(),configured:T(),quota:Vz.optional(),vertexConfigured:T().optional()}),nL=d({name:o(),displayName:o(),mode:j(["api","browser"]),modelConfigurable:T(),defaultModel:o(),knownModels:y(d({id:o(),displayName:o(),tier:j(["flagship","standard","fast","economy"])})).default([]),modelValidationPattern:d({source:o(),flags:o()}),modelValidationHint:o()}),Vw=d({configured:T()});d({providers:y(tL).default([]),providerCatalog:y(nL).default([]),google:Vw,bing:Vw});const aL=j(["recorded","errored","expired","canceled","parse_failed","duplicate"]);aL.enum;const iL=j(["not_plan_run","scoped_run","probe_run","batch_unavailable","model_not_frozen"]);iL.enum;aw.standard,aw.batch;const V3=j(["all","api","browser"]);V3.enum;const sL=j(["yes","no","unknown","not-mentioned"]),$w=y(o().min(1)),Kw=d({companyName:o().min(1),domain:o().min(1),queries:$w.optional(),phrases:$w.optional(),competitors:y(o().min(1)).optional(),providers:y(o().trim().min(1)).min(1).optional().describe("Configured provider names to use for both answers and analysis. Omit to use all providers matching providerMode."),providerMode:V3.optional().describe("Filter providers by transport; defaults to all. Browser-only selection requires manual queries and uses no API provider for analysis.")}).superRefine((e,n)=>{e.queries!==void 0&&e.phrases!==void 0&&n.addIssue({code:"custom",message:"Use queries; phrases is accepted only as a legacy alias when queries is omitted",path:["phrases"]})});Kw.safeExtend({competitors:Kw.shape.competitors.default([])});const oL=d({name:o(),count:m().int().nonnegative()}),rL=d({id:o(),name:o(),weight:m(),score:m(),findings:y(d({type:o(),message:o()})).default([]),recommendations:y(o()).default([])}),lL=d({url:o(),finalUrl:o(),auditedAt:o(),overallScore:m(),summary:o(),factors:y(rL).default([])}),cL=d({industry:o(),summary:o(),services:y(o()).default([]),categoryTerms:y(o()).default([])}),uL=d({provider:o(),displayName:o(),model:o().nullable().optional(),mentioned:T(),cited:T(),describedAccurately:sL,accuracyNotes:o().nullable().optional(),incorrectClaims:y(o()).default([]),recommendedCompetitors:y(o()).default([]),citedDomains:y(o()).default([]),groundingSources:y(Am).default([]),searchQueries:y(o()).default([]),answerText:o(),error:o().nullable().optional()}),dL=d({query:o(),providerResults:y(uL).default([])}),mL=d({totalQueries:m().int().nonnegative(),totalProviders:m().int().nonnegative(),totalComparisons:m().int().nonnegative(),mentionCount:m().int().nonnegative(),citationCount:m().int().nonnegative(),topCompetitors:y(oL).default([]),visibilityGap:o(),whatThisMeans:y(o()).default([]),recommendedActions:y(o()).default([])});d({companyName:o(),domain:o(),homepageUrl:o(),generatedAt:o(),queries:y(o()).default([]),competitors:y(o()).default([]),profile:cL,audit:lL,queryResults:y(dL).default([]),summary:mL});const pL=d({basis:j(["tracked","observed"]).nullable(),availability:j(["measured","not-measured","unavailable"]),reason:j(["select-query-class","answer-selection","no-competitors","insufficient-observed","no-answers","no-mentions","unavailable"]).nullable()}),G0=pL.partial().shape,H0=j(["competitor","directory","social","forum","news","reference","blog","ecommerce","video","academic","other"]);H0.enum;const F0=j(["cited","aspirational","wasted-surface"]),Gw=F0.enum;Gw.cited,Gw.aspirational;const Yc=j(["direct-competitor","ota-aggregator","editorial-media","other","unknown"]),hL=Yc.enum;hL["direct-competitor"];const Mm=j(["queued","seeding","probing","completed","failed"]);Mm.enum;const $3=d({domain:o().min(1),hits:m().int().positive(),competitorType:Yc.default("unknown")}),fL=d({id:o(),sessionId:o(),projectId:o(),query:o(),bucket:F0.nullable().default(null),citationState:Vi,citedDomains:y(o()).default([]),answerMentioned:T().nullable().default(null),createdAt:o()}),gL=d({id:o(),projectId:o(),status:Mm,icpDescription:o().nullable().optional(),seedProvider:o().nullable().optional(),seedCountRaw:m().int().nullable().optional(),seedCount:m().int().nullable().optional(),seedFromAnswerCount:m().int().nullable().optional(),seedFromGroundingCount:m().int().nullable().optional(),seedBrandFilteredCount:m().int().nullable().optional(),buyerDescription:o().nullable().optional(),locations:y(mn).nullable().optional(),seedRawCandidates:y(o()).nullable().optional(),dedupClusterMinSims:y(m()).nullable().optional(),dedupBandPairFraction:we().nullable().optional(),dedupPairsTotal:m().int().nullable().optional(),seedProviders:y(o()).nullable().optional(),seedProviderCounts:Ge(o(),m().int()).nullable().optional(),canonicalCount:m().int().nullable().optional(),dedupThreshold:m().nullable().optional(),probeCount:m().int().nullable().optional(),citedCount:m().int().nullable().default(null),aspirationalCount:m().int().nullable().default(null),wastedCount:m().int().nullable().default(null),competitorMap:y($3).default([]),warning:o().nullable().optional(),error:o().nullable().optional(),startedAt:o().nullable().optional(),finishedAt:o().nullable().optional(),createdAt:o()});gL.extend({probes:y(fL).default([])});const yL=500,bL=8,vL=["gemini","openai"],xL=j(vL);d({icpDescription:o().min(1).optional(),buyerDescription:o().min(1).optional(),seedProviders:y(xL).min(1).transform(e=>[...new Set(e)].sort()).optional(),dedupThreshold:m().min(0).max(1).optional(),maxProbes:m().int().positive().max(yL).optional(),probeConcurrency:m().int().min(1).max(bL).optional(),locations:y(o().min(1)).optional()});d({buckets:y(F0).min(1).optional(),includeCompetitors:T().optional(),competitorTypes:y(Yc).min(1).optional()});const Q0=d({domain:o().min(1),hits:m().int().positive(),competitorType:Yc,sources:y($3)}),K3=j(["already-tracked","project-domain","shared-host","claimed-by-alias"]);K3.enum;const G3=Q0.extend({reason:K3,message:o()});d({sessionId:o(),projectId:o(),status:Mm,queriesByBucket:d({cited:y(o()),aspirational:y(o()),"wasted-surface":y(o())}),suggestedCompetitors:y(Q0),skippedCompetitors:y(G3)});d({sessionId:o(),projectId:o(),promoted:d({queries:y(o()),competitors:y(o())}),skipped:d({queries:y(o()),competitors:y(o())}),competitorDetails:d({promoted:y(Q0),skipped:y(G3)})});Ze([R("cli"),o().regex(/^discovery:.+$/)]);const wL=d({query:o().min(1),probeHits:m().int().positive()}),kL=d({rawCandidates:m().int().nonnegative(),admitted:m().int().nonnegative(),rejected:d({belowFloor:m().int().nonnegative(),length:m().int().nonnegative(),navigational:m().int().nonnegative(),duplicate:m().int().nonnegative(),offAnchor:m().int().nonnegative(),semanticDuplicate:m().int().nonnegative()})});d({sessionId:o(),projectId:o(),provider:o(),status:Mm,minProbeHits:m().int().positive(),anchorApplied:T(),semanticNoveltyApplied:T(),candidates:y(wL),stats:kL});const Z0=j(["own","direct-competitor","ota-aggregator","editorial-media","other"]);Z0.enum;const Bm=j(["7d","30d","90d","all"]),Hw=j(["improving","declining","stable"]),SL=j(["mentioned","cited"]);SL.enum;const hg=d({citationRate:we(),cited:m().int(),total:m().int(),mentionRate:we(),mentionedCount:m().int()}),Jr=o().trim().min(1),jL=y(Jr).min(1).superRefine((e,n)=>{for(let i=1;i<e.length;i+=1)e[i-1]>=e[i]&&n.addIssue({code:"custom",message:"mixed model IDs must be sorted and unique",path:[i]})}),_o=Be("status",[d({status:R("known"),model:Jr}),d({status:R("unknown")}),d({status:R("mixed"),models:jL,includesUnknown:T()})]),AL=d({observedAt:o(),bucketStartDate:o(),from:_o,to:_o,fromPreWindowAnchor:T().optional(),anchorObservedAt:o().optional()}),H3=d({latestObservation:d({observedAt:o(),state:_o}),events:y(AL),eventTotal:m().int().nonnegative().optional(),anchorUnavailable:T().optional()}),NL=Ge(o(),H3),CL=H3.extend({latestServedModelIds:y(Jr).default([])}),_L=Ge(o(),CL),TL=d({observedAt:o(),configured:_o,served:_o}),EL=d({scope:j(["non-brand","pooled"]),rate:we().nullable(),projectMentionSnapshots:m().int().nonnegative(),competitorMentionSnapshots:m().int().nonnegative()}),RL=d({startDate:o(),endDate:o(),dataStartDate:o(),dataEndDate:o(),sweepCount:m().int().nonnegative(),citationRate:we(),cited:m().int(),total:m().int(),queryCount:m().int(),mentionRate:we(),mentionedCount:m().int(),mentionShare:EL,byProvider:Ge(o(),hg),modelEvidenceByProvider:Ge(o(),_o).default({}),basketRevision:m().int().nullable().default(null)}),_f=d({first:we(m().min(0).max(1)),latest:we(m().min(0).max(1)),delta:we(m().min(-1).max(1))}),DL=d({citationRate:_f.nullable(),mentionRate:_f.nullable(),mentionShare:_f.nullable()}),zL=d({revision:m().int(),at:o(),added:y(o()),removed:y(o())}),IL=d({date:o(),delta:m().int(),label:o()}),OL=d({at:o(),identity:u2}),Y0=o().nullable().describe("When the names the project's competitors are matched by last changed: a tracked competitor's curated or stored auto-detected names (a block counts only when it removes a stored name), a detection pass that stored or removed a market-only competitor's learned names, a write that claimed, released or dropped a market-only competitor's learned names, or a published revision that renamed a market pin; null if never. The competitor landscape reads every period with the current names, so a figure for any period quoted before this time was restated at this time. Analytics mention share and project-frame visibility-compare share of voice read only tracked competitors' names, so a market pin or learned-name change moves this time without changing them. Adding or removing a competitor or a pin is a names change only when it moves a stored or learned name.");d({window:Bm,mentionShareScope:j(["non-brand","pooled"]),buckets:y(RL),overall:hg,byProvider:Ge(o(),hg),trend:Hw,mentionTrend:Hw,windowChange:DL.default(()=>({citationRate:null,mentionRate:null,mentionShare:null})),queryChanges:y(IL),basketChanges:y(zL).default([]),executionIdentityChanges:y(OL).default([]),referenceBasketRevision:m().int().nullable().default(null),modelAttribution:NL.default({}),servedModelAttribution:_L.default({}),modelServiceMismatch:Ge(o(),TL).default({}),modelPointerChanges:Ge(o(),HM).default({}),competitorIdentityChangedAt:Y0.optional()});const Fw=d({category:H0,label:o(),count:m().int(),percentage:we(),topDomains:y(d({domain:o(),count:m().int()}))}),PL=d({domain:o(),rank:m().int().positive().optional(),count:m().int(),percentage:we(),answerShare:we().optional(),category:H0,label:o(),surfaceClass:Z0}),qL=d({surfaceClass:Z0,label:o(),count:m().int(),percentage:we(),domainCount:m().int()}),Qw=d({totalCitedSlots:m().int(),answerTotal:m().int().optional(),answersWithSources:m().int().optional(),domainTotal:m().int(),entries:y(PL),truncatedDomainCount:m().int(),truncatedCitedSlots:m().int(),bySurfaceClass:y(qL)}),ML=d({answers:y(o()),distinctDomains:y(o()),answerDomainPairs:y(o()),runs:y(o())}),BL=j(["measurement-plan","query-text"]);d({runId:o().trim().min(1).optional(),queryClass:f0.optional(),includeByQuery:j(["true","false","1","0"]).optional()});d({ranked:Qw,byProvider:Ge(o(),Qw),providersWithoutSources:y(o()).optional(),answerTotal:m().int().optional(),runCount:m().int().optional(),pooledAcrossRuns:T().optional(),unclassifiedAnswers:m().int().optional(),filters:d({runId:o().nullable(),queryClass:f0,queryClassBasis:Ze([BL,ue()]),includeByQuery:T()}).optional(),runId:o(),runIds:y(o()).optional(),countUnits:ML.optional(),window:Bm,limit:m().int().nullable(),overall:y(Fw),byQuery:Ge(o(),y(Fw)).optional()});const LL=j(["own","direct-competitor","ota-aggregator","editorial-media","other","unknown"]),UL=Be("kind",[d({kind:R("project")}).strict(),d({kind:R("group"),groupKey:o().trim().min(1)}).strict(),d({kind:R("all-markets")}).strict()]),F3=j(["all","branded","non-brand"]),Q3=j(["project","all-markets"]);d({window:Bm.optional(),groupKey:o().trim().min(1).optional(),scope:Q3.optional(),provider:o().trim().min(1).optional(),model:Jr.optional(),groupBy:R("model").optional(),queryClass:F3.optional(),location:o().trim().min(1).optional(),runId:o().trim().min(1).optional(),answers:j(["all","not-mentioned"]).optional()}).strict().superRefine((e,n)=>{e.scope==="all-markets"&&e.groupKey!==void 0&&n.addIssue({code:"custom",path:["groupKey"],message:"groupKey cannot be combined with scope=all-markets"}),e.model!==void 0&&e.provider===void 0&&n.addIssue({code:"custom",path:["provider"],message:"provider is required when filtering by model"})});const Cs=d({domain:o().trim().min(1),label:o().trim().min(1),surfaceClass:LL,pinned:T(),mentionCount:m().int().nonnegative(),shareOfVoice:ot(m().min(0).max(100)).nullable(),citationCount:m().int().nonnegative(),answeredResults:m().int().nonnegative(),firstSeenAt:o().datetime().nullable(),lastSeenAt:o().datetime().nullable(),sampleUrls:y(o().url()).max(3)}).strict(),Z3=d({answeredResults:m().int().nonnegative(),sourceResults:m().int().nonnegative(),missingAnswerTextResults:m().int().nonnegative(),mentionCredits:m().int().nonnegative(),incompleteSourceResults:m().int().nonnegative(),excludedProbeResults:m().int().nonnegative(),excludedNonCompletedResults:m().int().nonnegative()}).strict(),VL=d({answers:y(o()),distinctNames:y(o()),runs:y(o())}).strict(),$L=50,KL=d({...G0,comparison:y(d({domain:o(),mentions:m().int().nonnegative()})).optional(),observedNames:y(d({name:o(),answerCount:m().int().nonnegative()})).optional(),observedNamesTotal:m().int().nonnegative().optional(),provider:o().trim().min(1),model:Jr.nullable(),servedModels:_o,snapshotCount:m().int().positive(),project:Cs,pinned:y(Cs),observed:y(Cs),otherSources:y(Cs),evidence:Z3,truncated:T()}).strict(),GL=d({basis:R("requested-model"),groups:y(KL).max($L),totalGroups:m().int().nonnegative(),truncated:T()}).strict();d({...G0,comparison:y(d({domain:o(),mentions:m().int().nonnegative()})).optional(),observedNames:y(d({name:o(),answerCount:m().int().nonnegative()})).optional(),observedNamesTotal:m().int().nonnegative().optional(),answerSelection:d({answers:R("not-mentioned"),populationSize:m().int().nonnegative(),answerCount:m().int().nonnegative(),unknownMentionAnswers:m().int().nonnegative()}).strict().optional(),window:Bm,scope:UL,project:Cs,pinned:y(Cs),observed:y(Cs),otherSources:y(Cs),evidence:Z3,modelComparison:GL.optional(),marketState:d({activeRevision:m().int().positive(),draft:d({etag:o().trim().min(1),pendingCompetitorDomains:y(o().trim().min(1))}).strict().nullable()}).strict().nullable(),filters:d({scope:Q3,groupKey:o().nullable(),provider:o().nullable(),model:Jr.optional(),groupBy:R("model").optional(),queryClass:F3,location:o().nullable(),runId:o().nullable(),answers:j(["all","not-mentioned"]).optional()}).strict(),truncated:T(),runCount:m().int().nonnegative().optional(),runIds:y(o()).optional(),countUnits:VL.optional(),competitorIdentityChangedAt:Y0.optional()}).strict();const X0=d({total:m().int(),checked:m().int(),mentioned:m().int(),cited:m().int(),mentionRate:we().nullable(),citedRate:we().nullable()}),Y3=X0.extend({provider:o(),firstObserved:o(),lastObserved:o()}),HL=X0.extend({queryId:o().nullable(),query:o(),firstObserved:o(),lastObserved:o(),providers:y(Y3).optional()}),FL=d({since:o().nullable(),until:o().nullable(),lastRuns:m().int().nullable(),runCount:m().int()}),QL=j(["provider"]),fg=d({domain:o(),mentions:m().int()}),ZL=d({...G0,measurementScope:j(["project","all-markets"]).optional(),queryClass:j(["branded","non-brand","pooled"]),percent:ot().nullable(),competitorCount:m().int().nonnegative(),projectMentions:m().int(),competitorMentions:m().int(),snapshotsWithAnswerText:m().int(),perCompetitor:y(fg)});d({project:o(),groupBy:QL.optional(),window:FL,totals:X0,byProvider:y(Y3).optional(),queries:y(HL),shareOfVoice:ZL.optional()});const YL=j(["within-noise","moved","insufficient-data","model-discontinuous","model-unknown"]),XL=j(["up","down","flat"]),Zw=d({availability:j(["available","no-observations","no-competitive-frame","classification-unavailable"]),point:we().nullable(),ciLow:we().nullable(),ciHigh:we().nullable(),numerator:m().int(),denominator:m().int(),excludedUnknown:m().int().nonnegative().optional()}),JL=j(["mention-share-of-voice","cited-share-of-voice","mention-rate","cited-rate","mention-rate-branded","cited-rate-branded","mention-rate-non-brand","cited-rate-non-brand"]),WL=d({key:JL,label:o(),queryClass:j(["all","branded","non-brand","pooled"]),driftRobust:T(),from:Zw,to:Zw,rateRatio:m().nullable(),direction:Ze([XL,ue()]),verdict:YL}),tm=d({month:o(),since:o(),until:o(),runCount:m().int(),lowRunCount:T()}),X3=d({queryCount:m().int(),excludedFromOnly:m().int(),excludedToOnly:m().int(),providers:y(o()),excludedProviders:y(o())}),J3=d({provider:o(),fromModels:y(o()),toModels:y(o())}),eU=j(["included","model-discontinuous","model-unknown"]),tU=d({provider:o(),status:eU,fromModels:y(o()),toModels:y(o())}),nU=j(["comparable","model-discontinuous","model-unknown","insufficient-data"]),W3=d({status:nU,comparedProviders:y(o()),providers:y(tU)}),aU=d({provider:o(),from:d({checked:m().int(),mentioned:m().int(),cited:m().int()}),to:d({checked:m().int(),mentioned:m().int(),cited:m().int()})}),iU=d({from:d({count:m().int(),of:m().int()}),to:d({count:m().int(),of:m().int()})}),sU=d({scope:j(["project","group","market","property"]).optional(),scopeKey:o().min(1).optional(),marketKey:o().min(1).optional(),provider:o().min(1).optional(),location:o().min(1).optional()}),oU=d({from:tm,to:tm,basket:X3,continuity:W3,modelChanges:y(J3)});d({project:o(),selection:sU.optional(),classComparison:oU.optional(),from:tm,to:tm,basket:X3,metrics:y(WL),queriesMentioned:iU,byProvider:y(aU),modelChanges:y(J3),continuity:W3,competitors:d({from:y(fg),to:y(fg)}),competitorIdentityChangedAt:Y0.optional()});j(["json","csv"]);const rU=d({runId:o(),runKind:R("answer-visibility"),runStatus:ha,runTrigger:N0,runCreatedAt:o(),runStartedAt:o().nullable(),runFinishedAt:o().nullable(),snapshotId:o(),snapshotCreatedAt:o(),queryId:o().nullable(),query:o().nullable(),provider:o(),model:o().nullable(),location:o().nullable(),citationState:Vi,cited:T(),answerMentioned:T().nullable(),mentionState:Ze([Dc,ue()]),citedDomains:y(o()),citedUrls:y(o()).nullable(),captureStatus:Ze([wm,ue()]),sourceCount:m().int().nonnegative().nullable(),resolvedCount:m().int().nonnegative().nullable(),captureVersion:m().int().positive().nullable(),competitorOverlap:y(o()),recommendedCompetitors:y(o()),answerText:o().nullable(),groundingSources:y(Am),searchQueries:y(o())}),lU=d({since:o().nullable(),until:o().nullable(),includeProbes:T()});d({schemaVersion:R("canonry.results-export/v1"),generatedAt:o(),project:d({id:o(),name:o(),displayName:o(),canonicalDomain:o(),country:o(),language:o()}),filters:lU,recordCount:m().int().nonnegative(),records:y(rU)});d({runIds:y(o().trim().min(1)).max(100).default([]),researchRunIds:y(o().trim().min(1)).max(100).default([]),confirm:T().default(!1)}).strict().superRefine((e,n)=>{e.runIds.length+e.researchRunIds.length===0&&n.addIssue({code:"custom",message:"Select at least one saved run."}),(new Set(e.runIds).size!==e.runIds.length||new Set(e.researchRunIds).size!==e.researchRunIds.length)&&n.addIssue({code:"custom",message:"Run IDs must be unique."})});d({dryRun:T(),runIds:y(o()),researchRunIds:y(o()),querySnapshots:m().int().nonnegative(),researchQueries:m().int().nonnegative(),insights:m().int().nonnegative(),healthSnapshots:m().int().nonnegative()});const Lm=j(["organic","paid"]);Lm.enum;d({id:o(),projectId:o(),propertyId:o(),clientEmail:o(),connected:T(),createdAt:o(),updatedAt:o()});d({date:o(),landingPage:o(),sessions:m(),organicSessions:m(),users:m()});const J0=j(["session","first_user","manual_utm"]),cU=d({source:o(),medium:o(),trafficClass:Lm,sessions:m(),users:m().optional(),sourceDimension:J0,share:we()}),uU=d({source:o(),medium:o(),trafficClass:Lm,sourceDimension:J0,landingPage:o(),sessions:m(),users:m().optional()}),dU=d({source:o(),medium:o(),sessions:m(),users:m().optional(),channelGroup:o(),share:we()}),dc=d({sessions:m(),sharePct:ot(),sharePctDisplay:o()}),mU=d({organic:dc,social:dc,direct:dc,ai:dc,other:dc}),pU=d({totalSessions:m(),totalOrganicSessions:m(),totalDirectSessions:m(),totalUsers:m().nullable(),topPages:y(d({landingPage:o(),sessions:m(),organicSessions:m(),directSessions:m(),users:m(),organicShare:we().nullable()})),aiReferrals:y(cU),aiReferralLandingPages:y(uU),aiSessionsDeduped:m(),aiUsersDeduped:m().optional(),paidAiSessionsDeduped:m(),paidAiUsersDeduped:m().optional(),organicAiSessionsDeduped:m(),organicAiUsersDeduped:m().optional(),aiSessionsBySession:m(),aiUsersBySession:m().optional(),paidAiSessionsBySession:m(),paidAiUsersBySession:m().optional(),organicAiSessionsBySession:m(),organicAiUsersBySession:m().optional(),socialReferrals:y(dU),socialSessions:m(),socialUsers:m().optional(),channelBreakdown:mU,organicSharePct:ot(),aiSharePct:ot(),aiSharePctBySession:ot(),paidAiSharePct:ot(),paidAiSharePctBySession:ot(),organicAiSharePct:ot(),organicAiSharePctBySession:ot(),directSharePct:ot(),socialSharePct:ot(),organicSharePctDisplay:o(),aiSharePctDisplay:o(),aiSharePctBySessionDisplay:o(),paidAiSharePctDisplay:o(),paidAiSharePctBySessionDisplay:o(),organicAiSharePctDisplay:o(),organicAiSharePctBySessionDisplay:o(),directSharePctDisplay:o(),socialSharePctDisplay:o(),otherSessions:m(),otherSharePct:ot(),otherSharePctDisplay:o(),lastSyncedAt:o().nullable()});d({connected:T(),propertyId:o().nullable(),clientEmail:o().nullable(),authMethod:j(["service-account","oauth"]).nullable(),lastSyncedAt:o().nullable(),createdAt:o().nullable().optional(),updatedAt:o().nullable().optional()});const hU=d({propertyId:o(),displayName:o(),accountName:o()});d({properties:y(hU)});d({synced:T(),rowCount:m().int().nonnegative(),aiReferralCount:m().int().nonnegative(),socialReferralCount:m().int().nonnegative(),days:m().int().nonnegative(),requestedDays:m().int().nonnegative(),clamped:T(),syncedAt:o(),measurement:d({acquisition:d({days:m().int().nonnegative(),status:j(["ready","error"]),rowCount:m().int().nonnegative(),error:o().optional()}),leads:d({days:m().int().nonnegative(),status:j(["ready","error","not-configured"]),rowCount:m().int().nonnegative(),attributionScope:j(["landing-page","channel"]).optional(),error:o().optional()})}),syncedComponents:y(o()).optional()});const eA=j(["new","small-base","percent"]);eA.enum;const gg=d({source:o(),sessions7d:m(),sessionsPrev7d:m(),changeSessions:m(),changePct:ot().nullable(),changeBasis:eA});d({socialSessions7d:m(),socialSessionsPrev7d:m(),trend7dPct:ot().nullable(),socialSessions30d:m(),socialSessionsPrev30d:m(),trend30dPct:ot().nullable(),biggestMover:gg.nullable()});const mc=d({sessions7d:m(),sessionsPrev7d:m(),trend7dPct:ot().nullable(),sessions30d:m(),sessionsPrev30d:m(),trend30dPct:ot().nullable()});d({organic:mc,ai:mc,social:mc,direct:mc,total:mc,aiBiggestMover:gg.nullable(),socialBiggestMover:gg.nullable()});pU.extend({windowStart:o().nullable(),windowEnd:o().nullable(),windowDays:m().nullable(),periodStart:o().nullable(),periodEnd:o().nullable()});d({date:o(),source:o(),medium:o(),trafficClass:Lm,landingPage:o(),sessions:m(),users:m(),sourceDimension:J0});const fU=d({source:o(),sessions:m(),paidSessions:m(),organicSessions:m()}),gU=d({date:o(),sessions:m(),paidSessions:m(),organicSessions:m(),bySource:y(fU)});d({days:y(gU),sources:y(o()),totalSessions:m(),totalPaidSessions:m(),totalOrganicSessions:m()});d({date:o(),source:o(),medium:o(),sessions:m(),users:m(),channelGroup:o()});d({date:o(),sessions:m(),organicSessions:m(),users:m(),usersSource:j(["deduplicated","landing-page-sum"])});d({id:o(),projectId:o(),runId:o().nullable(),overallCitedRate:we(),overallMentionRate:we(),totalPairs:m().int().nonnegative(),citedPairs:m().int().nonnegative(),mentionedPairs:m().int().nonnegative(),providerBreakdown:Ge(o(),d({citedRate:we(),mentionRate:we(),cited:m().int().nonnegative(),mentioned:m().int().nonnegative(),total:m().int().nonnegative()})),createdAt:o(),status:j(["ready","no-data"]),reason:R("no-runs-yet").optional()});const yU=d({view:j(["project","visibility","property","queries","site-health"]),unavailableReason:o().trim().min(1).max(512).optional(),selection:Zd.optional(),page:d({runId:o().trim().min(1).max(256).optional(),nodeKey:o().trim().min(1).max(2048).optional()}).strict().optional()}).strict().superRefine((e,n)=>{e.page&&e.view!=="site-health"&&n.addIssue({code:"custom",message:"Page context requires Site Health."}),e.selection&&!["visibility","property","queries"].includes(e.view)&&n.addIssue({code:"custom",message:"Measurement selection requires a measurement view."})}),bU=d({maxToolCalls:m().int().min(1).max(100).default(30),timeoutMs:m().int().min(1e3).max(6e5).default(18e4)}).strict(),W0=j(["claude","openai","gemini","zai"]),vU=d({id:W0,label:o(),defaultModel:o(),configured:T(),keySource:j(["config","env"]).nullable()});d({providers:y(vU).default([]),defaultProvider:W0.nullable()});const xU=j(["aero","user","compaction"]);xU.enum;const tA=128;d({key:o().min(1).max(tA),value:o().min(1)});d({key:o().min(1).max(tA)});d({prompt:o().trim().min(1),conversationId:o().min(1).nullable().optional(),provider:W0.optional(),modelId:o().trim().min(1).optional(),scope:j(["all","read-only"]).optional(),profile:j(["default","ads-operator"]).optional(),context:yU.optional(),limits:bU.optional()});const wU=yz({role:o(),content:kn().optional()}),nA=d({id:o(),title:o(),active:T(),modelProvider:o(),modelId:o(),createdAt:o(),updatedAt:o()});nA.extend({messages:y(wU),isStreaming:T()});d({conversations:y(nA),currentConversationId:o().nullable(),nextOffset:m().int().nullable()});d({id:FD()}).strict();d({id:o(),status:R("deleted")});const kU=["status","changes","gaps","insights"],SU=j(kU),jU=d({text:o().optional(),tool:d({name:o(),label:o(),arguments:Ge(o(),kn()),result:kn(),durationMs:m().int().nonnegative()})}),AU=d({id:SU,steps:y(jU),answer:o()});d({project:o(),seededAt:o(),starters:y(AU)});d({offset:Ui().int().min(0).default(0),limit:Ui().int().min(1).max(100).default(50)}).strict();const Wr=j(["commoncrawl","bing-webmaster"]);Wr.enum;const e1=j(["queued","downloading","querying","ready","failed"]);e1.enum;d({id:o(),release:o(),status:e1,phaseDetail:o().nullable().optional(),vertexPath:o().nullable().optional(),edgesPath:o().nullable().optional(),vertexSha256:o().nullable().optional(),edgesSha256:o().nullable().optional(),vertexBytes:m().int().nullable().optional(),edgesBytes:m().int().nullable().optional(),projectsProcessed:m().int().nullable().optional(),domainsDiscovered:m().int().nullable().optional(),downloadStartedAt:o().nullable().optional(),downloadFinishedAt:o().nullable().optional(),queryStartedAt:o().nullable().optional(),queryFinishedAt:o().nullable().optional(),error:o().nullable().optional(),createdAt:o(),updatedAt:o()});const NU=d({linkingDomain:o(),numHosts:m().int(),source:Wr}),CU=d({projectId:o(),release:o(),targetDomain:o(),totalLinkingDomains:m().int(),totalHosts:m().int(),top10HostsShare:o(),queriedAt:o(),source:Wr,excludedLinkingDomains:m().int().optional(),excludedHosts:m().int().optional()});d({source:Wr,summary:CU.nullable(),total:m().int(),rows:y(NU)});d({release:o(),totalLinkingDomains:m().int(),totalHosts:m().int(),top10HostsShare:o(),queriedAt:o(),source:Wr});const _U=d({source:Wr,connected:T(),hasData:T(),latestRelease:o().nullable(),totalLinkingDomains:m().int(),lastSyncedAt:o().nullable()});d({projectId:o(),targetDomain:o(),sources:y(_U),anyConnected:T(),anyData:T()});d({duckdbInstalled:T(),duckdbVersion:o().nullable().optional(),duckdbSpec:o(),pluginDir:o()});d({installed:T(),version:o(),path:o(),alreadyPresent:T()});d({release:o(),vertexUrl:o(),edgesUrl:o(),vertexBytes:m().int().nullable(),edgesBytes:m().int().nullable(),lastModified:o().nullable()});d({release:o(),syncStatus:e1.nullable(),bytes:m().int(),lastUsedAt:o().nullable()});const TU="jev-1.13.0",ze=o().trim().min(1).max(256),kt=m().int().nonnegative(),aA=ri(e=>typeof e=="string"?[e]:e,y(ze).min(1).max(100)),Id=we(m().min(0).max(1)).nullable(),Ki=j(["favorable","mixed","unfavorable","factual","subject-not-mentioned","wrong-subject","ambiguous-subject","ambiguous-judgment","subject-not-applicable","unsupported-language","missing-source-text","input-too-large","invalid-conclusion-evidence","pending","running","waiting-to-retry","failed","canceled"]);Ki.enum;const t1=j(["disabled","not-measured","processing","partial","complete","failed","canceled","unsupported"]),n1=d({schemaVersion:Ze([R(1),R(2)]),requestedModel:R(TU),verdictVersion:ze,identityVersion:ze,evidenceVersion:ze,segmentationVersion:ze,preprocessingVersion:ze,languagePolicy:R("en-only"),comparisonMethodVersion:R("wilson-independent-v1"),confidenceThreshold:m().min(0).max(1).nullable(),questions:d({identity:o(),judgment:o(),stance:o(),conclusion:o(),complaint:o()}).strict()}).strict();function iA(e){if(typeof e!="object"||e===null||!("schemaVersion"in e)||e.schemaVersion!==1)return e;const n=Object.fromEntries(Object.entries(e).filter(([i])=>i!=="themes"));return typeof n.questions=="object"&&n.questions!==null&&(n.questions=Object.fromEntries(Object.entries(n.questions).filter(([i])=>i!=="theme"))),n}ri(iA,n1);const sA=d({id:ze,displayName:o(),aliases:y(o()),qualifiedAliases:y(o()).default([]),urls:y(o()),mentionNotApplicable:T()}).strict(),EU=d({queryId:ze,executionNodeKey:ze.nullable(),targetId:ze,propertyId:ze.nullable(),groupId:ze.nullable(),marketId:ze.nullable(),queryClass:j(["branded","non-brand"]),queryText:o().optional(),location:o().nullable()}).strict(),oA=d({queryId:ze,queryText:o(),queryClass:j(["branded","non-brand"]),provider:ze,requestedModel:o().nullable(),servedModel:o().nullable(),location:o().nullable(),revision:m().int().nullable(),usageEdges:y(EU),locationContext:mn.nullable().default(null)}).strict(),Ic=d({id:ze,text:o().min(1),start:kt,end:kt}).strict(),rA=d({kind:j(["reported","estimated","unknown"]),inputTokens:kt.nullable(),outputTokens:kt.nullable()}).strict(),RU=d({sourceSnapshotId:ze,sourceText:o(),sourceTextHash:ze,subject:sA,subjectHash:ze,context:oA,language:o(),definition:n1,sentences:y(Ic)}).strict();ri(e=>typeof e!="object"||e===null||!("definition"in e)?e:{...e,definition:iA(e.definition)},RU);const Tf={returnedModel:o().nullable(),usage:rA},DU=Be("kind",[d({kind:R("classified"),...Tf,returnedModel:o(),outcome:Ki,conclusion:y(Ic),complaint:y(Ic).nullable(),confidence:m().min(0).max(1).nullable()}).strict(),d({kind:R("abstained"),...Tf,outcome:Ki,reason:o()}).strict(),d({kind:R("failed"),...Tf,outcome:R("failed"),error:d({code:ze,message:o(),retryable:T(),retryAfterMs:m().nonnegative().nullable()}).strict()}).strict()]).superRefine((e,n)=>{e.kind==="classified"&&["favorable","mixed","unfavorable"].includes(e.outcome)&&e.conclusion.length===0&&n.addIssue({code:"custom",path:["conclusion"],message:"Judgments require conclusion evidence"})});ri(e=>typeof e=="object"&&e!==null?Object.fromEntries(Object.entries(e).filter(([n])=>n!=="themes")):e,DU);const el=d({runId:ze.optional(),runIds:aA.optional(),revision:Ui().int().positive().optional(),mode:j(["auto","simple","advanced"]).default("auto"),queryClass:j(["branded","non-brand"]).default("branded"),scope:j(["project","property","group","market"]).default("project"),queryId:ze.optional(),scopeKey:ze.optional(),marketKey:ze.optional(),provider:ze.optional(),model:ze.optional(),location:o().min(1).optional(),evaluationDefinitionId:ze.optional(),executionNodeKey:ze.optional()}).strict();function Xc(e,n){e.runId&&e.runIds&&n.addIssue({code:"custom",path:["runIds"],message:"Choose runId or runIds, not both."}),e.runIds&&new Set(e.runIds).size!==e.runIds.length&&n.addIssue({code:"custom",path:["runIds"],message:"Run IDs must be unique."})}el.superRefine(Xc);const zU=j(["assessments","locations"]),IU=25,lA=500;el.extend({include:ri(e=>typeof e=="string"?e.split(",").map(n=>n.trim()).filter(Boolean):e,y(zU).max(2)).optional(),queryLimit:Ui().int().min(1).max(lA).default(IU),queryCursor:o().min(1).max(16384).optional()}).superRefine(Xc);const OU=ri(e=>{const n=typeof e=="string"?[e]:Array.isArray(e)?e:null;return n?[...new Set(n.flatMap(i=>typeof i=="string"?i.split(",").map(r=>r.trim()).filter(Boolean):[i]))]:e},y(Ki).min(1).max(Ki.options.length));el.extend({assessmentId:ze.optional(),outcome:OU.optional(),cursor:o().min(1).max(16384).optional(),limit:Ui().int().min(1).max(100).default(50)}).superRefine(Xc);el.extend({fromRunId:ze.describe("Run ID or previous-rated to select the preceding run with stored ratings in this scope."),toRunId:ze}).superRefine((e,n)=>{Xc(e,n),e.runIds&&n.addIssue({code:"custom",path:["runIds"],message:"Comparison requires one explicit run per period."})});const a1=el.extend({runId:ze.nullable(),revision:m().int().nullable(),evaluationDefinitionId:ze.nullable(),mode:j(["simple","advanced"])}),i1=d(Object.fromEntries(Ki.options.map(e=>[e,kt]))).strict(),PU=d({selected:kt,eligibleAssessments:kt,unadmittedAssessments:kt,judged:kt,distinctSourceAnswers:kt,eligibleAnswers:kt.optional(),ratedAnswers:kt.optional(),ratedAnswerRate:Id.optional(),subjectNotMentioned:kt.nullable().optional().describe("Distinct admitted answers where every assessed subject in the selected scope is absent. Expected for non-brand queries; not missing classification. Null while disabled."),counts:i1,expectedProviderSlots:kt,completedProviderSlots:kt}).strict(),qU=d({favorableRate:Id,mixedRate:Id,unfavorableRate:Id,favorableDisplay:o(),mixedDisplay:o(),unfavorableDisplay:o(),interval:d({low:m(),high:m()}).strict().nullable(),method:R("wilson-independent-v1"),limitation:o()}).strict(),Mr={state:t1,reason:o().nullable(),provisional:T(),coverage:PU,score:qU},Yw=d({...Mr,selection:a1,runIds:y(ze)}).strict(),Xw=d({...Mr,queryClass:R("all"),pooled:R(!0).optional(),runIds:y(ze)}).strict(),MU=d({configured:T(),branded:Yw,nonBrand:Yw,headlineQueryClass:R("branded").optional(),pooledOverall:Xw.optional(),overall:Xw.optional().describe("Deprecated compatibility field. Pooled branded and non-brand assessments; never use as the sentiment headline.")}).strict(),BU=d({assessmentId:ze.nullable(),sourceSnapshotId:ze,runId:ze,subjectId:ze,subjectLabel:o(),executionNodeKey:ze.nullable(),provider:ze,requestedModel:o().nullable(),servedModel:o().nullable(),location:o().nullable(),evaluationDefinitionId:ze.nullable(),state:t1,outcome:Ze([Ki,ue()]),reason:o().nullable()}).strict(),LU=d({...Mr,queryId:ze,executionNodeKey:ze.nullable().optional(),queryText:o(),queryClass:j(["branded","non-brand"]),sourceSnapshotIds:y(ze),assessments:y(BU).default([]),locations:y(d({...Mr,location:o().nullable(),sourceSnapshotIds:y(ze)}).strict())}).strict(),UU=d({...Mr,dimension:j(["provider","property","market","query"]),key:o(),label:o(),queryClass:j(["branded","non-brand"])}).strict(),yg=d({...Mr,configured:T(),selection:a1,evaluationDefinition:n1.nullable(),breakdowns:y(UU),queries:y(LU),criticizedProperties:d({total:kt,keys:y(o())}).strict().optional(),queryPage:d({total:kt,limit:kt,nextCursor:o().nullable()}).strict().optional()}).strict();d({enabled:T().optional()}).strict();const VU=d({installEnabled:T(),enabled:T(),ready:T(),readinessReasons:y(o()),model:o(),enablementEpoch:kt,completionBoundary:kt,evaluationDefinitionId:ze.nullable(),actions:d({configure:T(),backfill:T()}).strict(),experimental:R(!0),disclosure:o()}).strict(),cA=el.extend({runIds:aA.optional(),from:o().datetime().optional(),to:o().datetime().optional()}).superRefine(Xc);d({previewToken:o().min(1).max(65536),idempotencyKey:o().trim().min(1).max(128)}).strict();const $U=d({previewToken:o().nullable(),expiresAt:o().nullable(),selection:cA,evaluationDefinitionId:ze.nullable(),eligibleAssessments:kt,alreadyClassified:kt,skipped:y(d({runId:ze,reason:o(),count:kt}).strict()),estimatedInputTokens:kt,estimatedCostUsd:m().nonnegative().nullable(),estimateMethod:o()}).strict(),KU=j(["pending","running","waiting-to-retry","complete","partial","failed","canceled"]),GU=d({id:ze,workItemId:ze,dispatchedAt:o(),completedAt:o().nullable(),returnedModel:o().nullable(),usage:rA,errorCode:o().nullable()}).strict(),uA=d({id:ze,projectId:ze,origin:j(["automatic","backfill"]),state:KU,enablementEpoch:kt,evaluationDefinitionId:ze,selection:cA,createdAt:o(),updatedAt:o(),counts:i1,selected:kt,cancellationReason:o().nullable(),attempts:y(GU),attemptCount:kt.optional(),nextAttemptCursor:o().nullable().optional()}).strict(),HU=uA.omit({attempts:!0,attemptCount:!0,nextAttemptCursor:!0}).extend({attemptCount:kt}).strict(),FU=d({jobs:y(HU)}).strict(),QU=50;d({attemptLimit:Ui().int().min(1).max(200).default(QU),attemptCursor:o().min(1).max(4096).optional()}).strict();const ZU=d({assessmentId:ze,runId:ze,sourceSnapshotId:ze,sourceText:o(),sourceTextHash:ze,subject:sA,subjectHash:ze,context:oA,evaluationDefinitionId:ze,outcome:Ki,conclusion:y(Ic),complaint:y(Ic).nullable(),returnedModel:o().nullable(),reason:o().nullable()}).strict(),YU=d({state:t1,selection:a1.extend({assessmentId:ze.optional(),outcome:y(Ki).optional()}),items:y(ZU),nextCursor:o().nullable()}).strict(),XU=d({from:yg,to:yg,verdict:j(["improved","declined","no-clear-change"]).nullable(),favorableRateDelta:m().nullable(),refusalReasons:y(o()),commonUnits:kt,excludedFrom:kt,excludedTo:kt,changedScope:T(),method:R("wilson-independent-v1"),limitation:o()}).strict(),s1=j(["positive","caution","negative","neutral"]),Ns=d({label:o(),value:o(),delta:o(),tone:s1,description:o(),tooltip:o().optional(),trend:y(ot()),progress:ot().optional(),providerCoverage:o().optional()}),Jw=d({projectMentionSnapshots:m().int().nonnegative(),competitorMentionSnapshots:m().int().nonnegative(),combinedMentionSnapshots:m().int().nonnegative(),perCompetitor:y(d({domain:o(),mentionSnapshots:m().int().nonnegative(),shareOfCompetitiveTotal:ot()})),ranking:y(d({kind:j(["project","competitor"]),domain:o().nullable(),mentionSnapshots:m().int().nonnegative(),share:we(m().min(0).max(1))})),snapshotsWithAnswerText:m().int().nonnegative(),snapshotsTotal:m().int().nonnegative(),score:ot(m().min(0).max(100)).nullable()}),JU=Ns.extend({breakdown:Jw,scope:j(["non-brand","pooled"]),branded:Jw}),Ef=d({gained:m().int().nonnegative(),lost:m().int().nonnegative(),tone:s1,hasPreviousRun:T(),gainedQueries:y(o()).optional(),lostQueries:y(o()).optional()}),WU=d({hasPreviousRun:T(),comparable:T(),querySetChanged:T(),previousRunAt:o().nullable(),currentQueryCount:m().int().nonnegative(),previousQueryCount:m().int().nonnegative(),comparableQueryCount:m().int().nonnegative(),addedQueryCount:m().int().nonnegative(),removedQueryCount:m().int().nonnegative(),addedQueries:y(o()),removedQueries:y(o())}),eV=d({id:o(),projectId:o(),runId:o().nullable(),type:j(["regression","gain","opportunity","first-citation","provider-pickup","persistent-gap","competitor-gained","competitor-lost","gbp-lodging-gap","gbp-listing-discrepancy","gbp-cta-gap","gbp-description-missing","gbp-metric-drop","gbp-keyword-drop"]),severity:j(["critical","high","medium","low"]),title:o(),query:o(),provider:o(),recommendation:d({action:o(),target:o().optional(),reason:o()}).optional(),cause:d({cause:o(),competitorDomain:o().optional(),details:o().optional()}).optional(),dismissed:T(),createdAt:o()}),tV=d({id:o(),projectId:o(),runId:o().nullable(),overallCitedRate:we(),overallMentionRate:we(),totalPairs:m().int().nonnegative(),citedPairs:m().int().nonnegative(),mentionedPairs:m().int().nonnegative(),providerBreakdown:Ge(o(),d({citedRate:we(),mentionRate:we(),cited:m().int().nonnegative(),mentioned:m().int().nonnegative(),total:m().int().nonnegative()})),createdAt:o(),status:j(["ready","no-data"]),reason:R("no-runs-yet").optional()});d({sentiment:MU.optional(),project:CP,latestRun:MO,health:tV.nullable(),topInsights:y(eV),queryClassScope:d({queryClass:R("all"),figures:y(o()),note:o()}).optional(),queryCounts:d({totalQueries:m().int().nonnegative(),citedQueries:m().int().nonnegative(),notCitedQueries:m().int().nonnegative(),citedRate:we(),mentionedQueries:m().int().nonnegative(),notMentionedQueries:m().int().nonnegative(),mentionRate:we()}),providers:y(d({provider:o(),citedRate:we(),cited:m().int().nonnegative(),total:m().int().nonnegative()})),transitions:d({since:o().nullable(),gained:m().int().nonnegative(),lost:m().int().nonnegative(),emerging:m().int().nonnegative()}),scores:d({mention:Ns,visibility:Ns,mentionShare:JU,gapQueries:Ns,mentionGaps:Ns,indexCoverage:Ns,competitorPressure:Ns,runStatus:Ns}),movementSummary:Ef,citationMovement:Ef,mentionMovement:Ef,movementComparison:WU,competitors:y(d({id:o(),domain:o(),aliases:y(o()).optional(),autoAliasNames:y(o()).optional(),citationCount:m().int().nonnegative(),totalQueries:m().int().nonnegative(),pressureLabel:j(["None","Low","Moderate","High"]),citedQueries:y(o())})),providerScores:y(d({provider:o(),model:o().nullable(),score:ot(),cited:m().int().nonnegative(),total:m().int().nonnegative(),trend:y(ot()).optional()})),attentionItems:y(d({id:o(),tone:s1,title:o(),detail:o(),actionLabel:o(),href:o()})),runHistory:y(d({runId:o(),createdAt:o(),citedCount:m().int().nonnegative(),totalCount:m().int().nonnegative(),citationRate:ot(),mentionedCount:m().int().nonnegative(),mentionRate:ot(),status:o()})),suggestedQueries:d({rows:y(d({query:o(),impressions:m(),clicks:m(),avgPosition:m(),reason:o()})),totalCandidates:m().int().nonnegative(),skippedAlreadyTracked:m().int().nonnegative()}),dateRangeLabel:o(),contextLabel:o()});j(["snapshot","insight"]);const nV=d({kind:R("snapshot"),id:o(),runId:o(),query:o(),provider:o(),model:o().nullable(),citationState:Vi,matchedField:j(["answerText","citedDomains","citedUrls","searchQueries","query"]),snippet:o(),createdAt:o()}),aV=d({kind:R("insight"),id:o(),runId:o().nullable(),type:j(["regression","gain","opportunity","first-citation","provider-pickup","persistent-gap","competitor-gained","competitor-lost","gbp-lodging-gap","gbp-listing-discrepancy","gbp-cta-gap","gbp-description-missing","gbp-metric-drop","gbp-keyword-drop"]),severity:j(["critical","high","medium","low"]),title:o(),query:o(),provider:o(),matchedField:j(["title","query","recommendation","cause"]),snippet:o(),dismissed:T(),createdAt:o()}),iV=Be("kind",[nV,aV]);d({query:o(),totalHits:m().int().nonnegative(),truncated:T(),hits:y(iV)});const dA=j(["create","expand","refresh","add-schema"]);dA.enum;const mA=j(["gsc","competitor-evidence","both"]);mA.enum;const pA=j(["high","medium","low"]);pA.enum;const sV=j(["blog-post","comparison","listicle","how-to","guide","glossary"]);sV.enum;const hA=j(["proposed","briefed","payload-generated","draft-created","published","validated","dismissed"]);hA.enum;const o1=j(["ownable","ceded"]);o1.enum;const oV=d({url:o(),gscImpressions:m().nonnegative(),gscClicks:m().nonnegative(),gscAvgPosition:m().nonnegative().nullable(),organicSessions:m().nonnegative()}),rV=d({domain:o(),url:o(),title:o(),citationCount:m().int().nonnegative()}),lV=d({demand:m(),competitor:m(),absence:m(),gapSeverity:m()}),cV=d({actionId:o(),state:hA,lastUpdated:o()}),uV=d({targetRef:o(),query:o(),action:dA,ourBestPage:oV.nullable(),winningCompetitor:rV.nullable(),score:m(),scoreBreakdown:lV,drivers:y(o()),demandSource:mA,actionConfidence:pA,existingAction:cV.nullable(),winnabilityClass:o1,winnability:we(m().min(0).max(1)).nullable()});d({targets:y(uV),contextMetrics:d({totalAiReferralSessions:m().int().nonnegative(),latestRunId:o(),runTimestamp:o()})});const dV=d({targetRef:o(),addressedUrl:o().nullable(),note:o().nullable(),dismissedAt:o()});d({dismissals:y(dV)});d({targetRef:o().min(1),addressedUrl:o().url().optional(),note:o().max(500).optional()});d({targetRef:o(),promptVersion:o(),provider:o(),model:o(),responseText:o(),costMillicents:m().int().nonnegative(),generatedAt:o()});d({provider:o().optional(),model:o().optional(),forceRefresh:T().optional()});const mV=d({targetQuery:o().trim().min(1),winnabilityClass:o1,angle:o().trim().min(1),whyWinnable:o().trim().min(1),schemaHookup:o().trim().min(1),controllableSurfaceRationale:o().trim().min(1)});d({targetRef:o(),promptVersion:o(),provider:o(),model:o(),brief:mV,costMillicents:m().int().nonnegative(),generatedAt:o()});const pV=d({domain:o(),competitorType:Yc,hits:m().int().nonnegative(),updatedAt:o()});d({classifications:y(pV)});const hV=d({uri:o(),title:o(),domain:o(),isOurDomain:T(),isCompetitor:T(),citationCount:m().int().nonnegative(),providers:y(At)}),fV=d({query:o(),groundingSources:y(hV)});d({sources:y(fV),latestRunId:o()});const gV=d({query:o(),competitorDomains:y(o()),competitorCount:m().int().nonnegative(),missRate:we(m().min(0).max(1)),lastSeenInRunId:o()});d({gaps:y(gV),latestRunId:o()});const fA=j(["ok","warn","fail","skipped"]);fA.enum;const r1=j(["global","project"]);r1.enum;const gA=j(["auth","config","providers","integrations","database","schedules","agent"]);gA.enum;const yA=j(["health","silent"]);yA.enum;const yV=o().regex(/^[1-9]\d{3}-(0[1-9]|1[0-2])$/,"Expected YYYY-MM"),bV=d({id:o(),category:gA,scope:r1,title:o(),status:fA,notificationPolicy:yA.optional().describe("Health checks page by default. Silent report advisories remain visible but never affect health alert state."),code:o().describe('Stable machine-readable code (e.g. "google.token.refresh-failed"). Use this for filtering and remediation logic.'),summary:o(),remediation:o().nullable().optional().describe('Operator-facing next step. Null when status is "ok" or no specific remediation applies.'),details:Ge(o(),kn()).optional().describe("Structured context — principal email, redirect URI, missing scopes, etc. Stable per check id."),durationMs:m().int().nonnegative().describe("How long the check took to execute.")});d({scope:r1,project:o().nullable().describe('Project name when scope is "project", null otherwise.'),reportMonths:y(yV).optional().describe("Calendar months evaluated by project report readiness checks."),generatedAt:o().describe("ISO-8601 timestamp when this doctor run started."),durationMs:m().int().nonnegative(),summary:d({total:m().int().nonnegative(),ok:m().int().nonnegative(),warn:m().int().nonnegative(),fail:m().int().nonnegative(),skipped:m().int().nonnegative()}),checks:y(bV)});function vV(e){return e.trim().toLowerCase()}const xV=d({provider:o(),citationState:Vi,cited:T(),mentioned:T(),runId:o(),runCreatedAt:o()}),wV=d({queryId:o(),query:o(),providers:y(xV),citedCount:m().int().nonnegative(),mentionedCount:m().int().nonnegative(),totalProviders:m().int().nonnegative()}),kV=d({queryId:o(),query:o(),provider:o(),citingCompetitors:y(o()),runId:o(),runCreatedAt:o()}),SV=d({providersConfigured:m().int().nonnegative(),providersCiting:m().int().nonnegative(),providersMentioning:m().int().nonnegative(),totalQueries:m().int().nonnegative(),queriesCitedAndMentioned:m().int().nonnegative(),queriesCitedOnly:m().int().nonnegative(),queriesMentionedOnly:m().int().nonnegative(),queriesInvisible:m().int().nonnegative(),latestRunId:o().nullable(),latestRunAt:o().nullable()});d({summary:SV,byQuery:y(wV),competitorGaps:y(kV),status:j(["ready","no-data"]),reason:j(["no-runs-yet","no-queries"]).optional()});const jV=Ze([R(60),R(90)]),AV=j(["earliest","middle","prior","latest"]),Nr=d({clicks:m().int().nonnegative(),impressions:m().int().nonnegative()}),bA=d({name:AV,startDate:o(),endDate:o()}),NV=bA.extend({totals:Nr}),CV=bA.extend({organicSessions:m().int().nonnegative()}),Rf=d({startDate:o(),endDate:o(),observedDays:m().int().nonnegative()}),kd=d({verified:m().int().nonnegative(),claimedUnverified:m().int().nonnegative(),unknownAiLike:m().int().nonnegative()}),Ww=d({total:m().int().nonnegative(),paid:m().int().nonnegative(),organic:m().int().nonnegative(),unknown:m().int().nonnegative()});d({contractVersion:R("organic-evidence/v1"),periodDays:jV,asOfDate:o().nullable(),coverage:d({gsc:T(),ga4:T(),server:T(),visibility:T()}),sourceCoverage:d({gsc:Rf.nullable(),ga4:Rf.nullable(),server:Rf.nullable(),visibility:d({completedAt:o(),ageDays:m().nonnegative()}).nullable()}),gsc:d({propertyTotals:Nr,namedBrand:Nr,namedNonBrand:Nr,suppressedOrUnreportedResidual:Nr,cohorts:y(NV)}).nullable(),ga4:d({organicSessions:m().int().nonnegative(),cohorts:y(CV)}).nullable(),gaAiReferrals:d({paidSessions:m().int().nonnegative(),organicSessions:m().int().nonnegative()}).nullable(),server:d({crawlerHits:kd,userFetchHits:kd,referralSessions:Ww}).nullable(),visibility:d({runId:o(),completedAt:o(),ageDays:m().nonnegative(),answerPairs:m().int().nonnegative(),mentionedPairs:m().int().nonnegative(),citedPairs:m().int().nonnegative()}).nullable(),measurement:II,pages:y(d({path:o(),gsc:Nr,ga4OrganicSessions:m().int().nonnegative(),server:d({crawlerHits:kd,userFetchHits:kd,referralSessions:Ww})})),findings:y(d({tone:j(["positive","caution","neutral"]),title:o(),detail:o()})),limitations:y(d({code:o(),detail:o()}))});const _V=j(["claude","codex"]);_V.enum;const TV=j(["claude","codex","all"]);TV.enum;const vA=d({content:m().int().nonnegative(),sitemap:m().int().nonnegative(),robots:m().int().nonnegative(),asset:m().int().nonnegative(),other:m().int().nonnegative()}),EV=j(["content","sitemap","robots","asset","other"]),l1=j(["cloud-run","wordpress","cloudflare","vercel","generic-log"]);l1.enum;const RV=j(["raw-request-events","aggregate-request-metrics","request-url","status-code","user-agent","remote-ip","referer","cursor-pull"]);RV.enum;const DV=j(["raw-request","aggregate-bucket"]),zV=DV.enum,IV=j(["observed","provider-aggregated","inferred"]),OV=IV.enum,PV=d({type:o().nullable(),labels:Ge(o(),o())}),qV=d({sourceType:l1,evidenceKind:R(zV["raw-request"]),confidence:R(OV.observed),eventId:o().min(1),observedAt:o().min(1),method:o().nullable(),requestUrl:o().nullable(),host:o().nullable(),path:o().min(1),queryString:o().nullable(),status:m().int().nullable(),userAgent:o().nullable(),remoteIp:o().nullable(),referer:o().nullable(),latencyMs:m().nullable(),requestSizeBytes:m().int().nullable(),responseSizeBytes:m().int().nullable(),providerResource:PV,providerLabels:Ge(o(),o())});d({events:y(qV),rawEntryCount:m().int().nonnegative(),skippedEntryCount:m().int().nonnegative(),nextPageToken:o().optional(),filter:o()});const xA=j(["connected","paused","error","archived"]),Ete=xA.enum,wA=j(["oauth","service-account"]);wA.enum;const MV=j(["verified","claimed_unverified","unknown_ai_like"]),Rte=MV.enum,BV=d({id:o().min(1),source:o().min(1),version:o().min(1)}),kA=d({manifestId:o().min(1),manifest:BV.nullable(),hits:m().int().nonnegative()});d({gcpProjectId:o().min(1),serviceName:o().nullable().optional(),location:o().nullable().optional(),authMode:wA});d({baseUrl:o().url(),username:o().min(1)});const c1=j(["production","preview"]);c1.enum;d({projectId:o().min(1),teamId:o().min(1),environment:c1});const SA=d({id:o(),projectId:o(),sourceType:l1,displayName:o(),status:xA,lastSyncedAt:o().nullable(),lastCursor:o().nullable(),lastError:o().nullable(),skippedThroughAt:o().nullable(),queueBacklogCount:m().int().nonnegative().nullable(),queueBacklogObservedAt:o().nullable(),archivedAt:o().nullable(),config:Ge(o(),kn()),createdAt:o(),updatedAt:o()});d({gcpProjectId:o().min(1),serviceName:o().min(1).optional(),location:o().min(1).optional(),displayName:o().min(1).optional(),keyJson:o().optional()});d({baseUrl:o().url(),username:o().min(1),applicationPassword:o().min(1),displayName:o().min(1).optional()});d({projectId:o().min(1),teamId:o().min(1),token:o().min(1),environment:c1.optional(),displayName:o().min(1).optional()});const LV=j(["direct-push","queue-pull"]),tl=LV.enum,u1=o().regex(/^(?=.{1,63}$)[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/i,"Cloudflare Queue name must be 1-63 characters, use only letters, numbers, or dashes, and start and end with a letter or number"),jA=d({schemaVersion:R(1),workerVersion:o().min(1),expectedBotListVersion:o().min(1),zoneId:o().nullable()}),UV=jA.extend({deliveryMode:R(tl["direct-push"]),accountId:o().nullable()}),VV=jA.extend({deliveryMode:R(tl["queue-pull"]),accountId:o().min(1),queueId:o().min(1),queueName:u1,retentionSeconds:m().int().min(60).max(1209600)});function AA(e){if(typeof e!="object"||e===null||Array.isArray(e))return e;const n=e;return"deliveryMode"in n?e:{...n,deliveryMode:"direct-push"}}ri(AA,Be("deliveryMode",[UV,VV]));const NA=d({displayName:o().min(1).optional(),zoneId:o().min(1).optional()}),$V=NA.extend({deliveryMode:R(tl["direct-push"]),accountId:o().min(1).optional()}),KV=NA.extend({deliveryMode:R(tl["queue-pull"]),accountId:o().min(1),queueId:o().min(1),queueName:u1,retentionSeconds:m().int().min(60).max(1209600),apiToken:o().min(1)});ri(AA,Be("deliveryMode",[$V,KV]));const CA=d({sourceId:o().min(1),workerScript:o().min(1),wranglerToml:o().min(1),workerVersion:o().min(1),instructions:o().min(1)}),GV=CA.extend({deliveryMode:R(tl["direct-push"]),activationRequired:T().default(!1)}),HV=CA.extend({deliveryMode:R(tl["queue-pull"]),activationRequired:T().default(!1),accountId:o().min(1),queueId:o().min(1),queueName:u1,retentionSeconds:m().int().min(60).max(1209600)});Be("deliveryMode",[GV,HV]);const FV=d({eventId:o().min(1),observedAt:o().datetime(),method:o().nullable(),host:o().nullable(),path:o().min(1),queryString:o().nullable(),status:m().int().nullable(),userAgent:o().nullable(),remoteIp:o().nullable(),referer:o().nullable(),cf:d({verifiedBot:T().nullable(),botScore:m().int().nullable(),country:o().nullable(),asn:m().int().nullable(),asOrganization:o().nullable()}).nullable()});d({schemaVersion:R(1),workerVersion:o().min(1),events:y(FV).min(1).max(100)});d({acceptedEvents:m().int(),droppedEvents:m().int(),workerVersionAck:o(),crawlerBucketRows:m().int(),aiUserFetchBucketRows:m().int(),aiReferralBucketRows:m().int(),sampleRows:m().int()});d({sourceId:o(),runId:o(),syncedAt:o(),pulledEvents:m().int().nonnegative(),selfTrafficExcluded:m().int().nonnegative(),crawlerHits:m().int().nonnegative(),aiUserFetchHits:m().int().nonnegative(),aiReferralHits:m().int().nonnegative(),unknownHits:m().int().nonnegative(),crawlerBucketRows:m().int().nonnegative(),aiUserFetchBucketRows:m().int().nonnegative(),aiReferralBucketRows:m().int().nonnegative(),sampleRows:m().int().nonnegative(),remainingBacklogCount:m().int().nonnegative().optional(),windowStart:o(),windowEnd:o()});d({days:m().int().positive().optional()});d({advanceToNow:R(!0)});d({sourceId:o(),runId:o(),status:ha,windowStart:o(),windowEnd:o(),daysRequested:m().int().positive(),daysApplied:m().int().positive()});const QV=d({crawlerHits:m().int().nonnegative(),crawlerContentHits:m().int().nonnegative(),crawlerInfraHits:m().int().nonnegative(),crawlerSegments:vA,aiUserFetchHits:m().int().nonnegative(),aiReferralHits:m().int().nonnegative(),aiReferralLandedHits:m().int().nonnegative(),aiReferralRedirectedHits:m().int().nonnegative(),sampleCount:m().int().nonnegative()});d({sources:y(SA)});const ZV=SA.extend({totals24h:QV,latestRun:d({runId:o(),status:ha,startedAt:o().nullable(),finishedAt:o().nullable(),error:o().nullable()}).nullable()});d({sources:y(ZV)});const YV=j(["crawler","ai-user-fetch","ai-referral"]),d1=YV.enum,_A=j(["hour","day"]);_A.enum;const XV=d({bucket:o(),crawlerHits:m().int().nonnegative(),aiUserFetchHits:m().int().nonnegative(),aiReferralHits:m().int().nonnegative(),aiReferralLandedHits:m().int().nonnegative(),crawlerContentHits:m().int().nonnegative(),measured:T()}),JV=d({kind:R(d1.crawler),sourceId:o(),tsHour:o(),botId:o(),operator:o(),verificationStatus:o(),verificationManifests:y(kA).optional(),verificationUnattributedHits:m().int().nonnegative().optional(),pathNormalized:o(),pathClass:EV,status:m().int(),hits:m().int().nonnegative()}),WV=d({kind:R(d1["ai-user-fetch"]),sourceId:o(),tsHour:o(),botId:o(),operator:o(),verificationStatus:o(),verificationManifests:y(kA).optional(),verificationUnattributedHits:m().int().nonnegative().optional(),pathNormalized:o(),status:m().int(),hits:m().int().nonnegative()}),e$=d({kind:R(d1["ai-referral"]),sourceId:o(),tsHour:o(),product:o(),operator:o(),sourceDomain:o(),evidenceType:o(),landingPathNormalized:o(),status:m().int(),hits:m().int().nonnegative(),paidHits:m().int().nonnegative(),organicHits:m().int().nonnegative(),unknownHits:m().int().nonnegative()}),t$=Be("kind",[JV,WV,e$]);d({windowStart:o(),windowEnd:o(),series:d({granularity:_A,points:y(XV),coverageStart:o().nullable(),trends:d({crawlerContentHits:ko.nullable(),aiUserFetchHits:ko.nullable(),aiReferralLandedHits:ko.nullable()})}),totals:d({crawlerHits:m().int().nonnegative(),crawlerContentHits:m().int().nonnegative(),crawlerInfraHits:m().int().nonnegative(),crawlerSegments:vA,aiUserFetchHits:m().int().nonnegative(),aiReferralHits:m().int().nonnegative(),aiReferralLandedHits:m().int().nonnegative(),aiReferralRedirectedHits:m().int().nonnegative(),aiReferralPaidHits:m().int().nonnegative(),aiReferralOrganicHits:m().int().nonnegative(),aiReferralUnknownHits:m().int().nonnegative()}),eventRows:d({total:m().int().nonnegative(),returned:m().int().nonnegative(),truncated:T()}),events:y(t$)});const m1=j(["admin","viewer"]),n$=/^[a-z\d][\w.-]{0,63}$/i,a$=o().regex(n$,"A name may use letters, digits, dots, dashes and underscores, and must start with a letter or digit."),ek=12,i$=o().min(ek,`A password must be at least ${ek} characters.`),TA=d({id:o(),name:o(),role:m1,createdAt:o(),lastLoginAt:o().nullable()});d({users:y(TA)});d({name:a$,password:i$,role:m1});d({name:o().min(1),password:o().min(1)});d({authRequired:T(),user:TA.pick({name:!0,role:!0}).nullable()});const EA=j(["queued","running","completed","partial","failed"]),Dte=EA.enum,RA=j(["queued","running","completed","failed"]),zte=RA.enum,s$=20,o$=20,bg=50,DA=d({kind:j(["market","property"]),key:fe,expectedPlanRevision:m().int().positive().optional()}).strict(),r$=d({kind:j(["market","property"]),key:fe,label:o().trim().min(1),planRevision:m().int().positive()}).strict(),zA=o().min(1).max(4e3).refine(e=>e.trim().length>0,"Research queries cannot be blank.");function Ite(e){const n=new Set;return e.filter(i=>{const r=vV(i);return!r||n.has(r)?!1:(n.add(r),!0)})}function l$(e,n){const i=e?e.kind==="market"?{market:e.label,submarket:e.label}:{property:e.label,propertyBrand:e.label}:{};return n?{...i,location:n.label}:i}function Ote(e,n,i){const r=new Set(e.variables),u=[...e.pattern.matchAll(/\{([^{}]+)\}/g)].map(x=>x[1]),h=[...new Set(u.filter(x=>!r.has(x)))];if(h.length)throw Ux("The selected research template contains undeclared placeholders: "+h.join(", "));const f=l$(n,i),b=e.variables.filter(x=>f[x]===void 0);if(b.length)throw Ux("The selected research template requires unavailable bindings: "+b.join(", "));const v=Object.fromEntries(e.variables.map(x=>[x,f[x]]));return{bindings:v,output:sq(e.pattern,v)}}const IA=d({templateId:o().trim().min(1).max(256),templateVersion:o().trim().min(1).max(256),bindingLocation:mn.nullable().optional()}).strict();d({queries:y(zA).min(1).max(50),provider:o().trim().min(1).optional(),model:o().trim().min(1).max(200).optional(),location:mn.nullable().optional(),scope:DA.optional(),template:IA.optional(),idempotencyKey:o().trim().min(1).max(128).optional()}).superRefine((e,n)=>{e.model&&!e.provider&&n.addIssue({code:ye.custom,path:["provider"],message:"provider is required when model is supplied"})});const c$=DA.extend({expectedPlanRevision:m().int().positive()}).strict(),u$=d({queries:y(zA).min(1).max(bg),provider:o().trim().min(1),model:o().trim().min(1).max(200),location:mn.nullable(),scope:c$.optional(),template:IA.optional()}).strict();d({idempotencyKey:o().trim().min(1).max(128),runs:y(u$).min(1).max(o$)}).strict().superRefine((e,n)=>{e.runs.reduce((r,u)=>r+u.queries.length,0)>bg&&n.addIssue({code:ye.custom,path:["runs"],message:`A research batch may contain at most ${bg} concrete queries across all destinations`})});const d$=d({kind:j(["api-key","user"]),id:o(),name:o(),role:m1.nullable(),limited:T().optional()}),OA=d({id:o(),projectId:o(),status:EA,provider:o(),requestedModel:o().nullable(),resolvedModel:o(),location:mn.nullable(),scope:r$.nullable().optional(),template:Z2.nullable().optional(),totalQueries:m().int(),completedQueries:m().int(),failedQueries:m().int(),error:o().nullable(),initiatedBy:d$.nullable(),startedAt:o().nullable(),finishedAt:o().nullable(),createdAt:o()}),m$=d({id:o(),position:m().int(),query:o(),queryClass:Hr.nullable().optional(),status:RA,requestedModel:o().nullable(),resolvedModel:o(),servedModel:o().nullable(),answerText:o().nullable(),groundingSources:y(Am),citedDomains:y(o()),searchQueries:y(o()),namedCompetitors:y(o()).default([]),citedCompetitorDomains:y(o()).default([]),answerMentioned:T().nullable(),citationState:Vi.nullable(),error:o().nullable(),startedAt:o().nullable(),finishedAt:o().nullable(),createdAt:o()}),p$=OA.extend({queries:y(m$)});d({runs:y(p$)});const h$=d({name:o(),displayName:o(),modelConfigurable:T(),defaultModel:o(),knownModels:y(d({id:o(),displayName:o()}))});d({runs:y(OA),nextCursor:o().nullable().optional(),providers:y(h$).optional(),access:d({canRun:T(),dailyRunLimit:m().int().positive().nullable()}).optional()});d({apiKey:o().min(1)});d({id:o(),name:o(),status:o(),currencyCode:o().nullable(),timezone:o().nullable(),url:o().nullable(),reviewStatus:o().nullable(),integrityReviewStatus:o().nullable(),integrityDecision:o().nullable()});d({q:o().trim().min(1).max(200),limit:m().int().min(1).max(100).default(20)});const f$=d({id:o(),type:o(),canonicalName:o(),countryCode:o(),name:o(),regionCode:o().nullable()});d({count:m().int().nonnegative(),query:o(),results:y(f$)});const g$=d({id:o(),clientType:o().optional(),name:o().optional(),pixelId:o().optional()});d({pixels:y(g$)});const y$=d({id:o(),name:o().optional()}),b$=d({id:o(),name:o().optional(),eventType:o().optional(),customEventName:o().nullable().optional(),attributionWindowDays:m().int().positive().optional(),adAccountId:o().optional(),sourceIds:y(o()).optional(),sources:y(y$).optional(),archived:T().optional(),version:m().int().nonnegative().optional()});d({eventSettings:y(b$)});d({connected:T(),adAccountId:o().nullable().optional(),displayName:o().nullable().optional(),currencyCode:o().nullable().optional(),timezone:o().nullable().optional(),status:o().nullable().optional(),reviewStatus:o().nullable().optional(),integrityReviewStatus:o().nullable().optional(),integrityDecision:o().nullable().optional(),lastSyncedAt:o().nullable().optional(),conversionTrackingConfigured:T().optional()});d({disconnected:T()});d({runId:o(),status:o()});const v$=["campaign_id","ad_group_id","ad_id","ad_account_id","oppref"],x$=/^[\w.-]+=[^&#\s]*$/,w$=/\{([^}]*)\}/g,zo=o().min(1).max(1e3).superRefine((e,n)=>{const i=u=>n.addIssue({code:"custom",message:u});if(e.startsWith("?")||e.startsWith("&")){i("Tracking template must not start with ? or &");return}const r=new Set;for(const u of e.split("&")){if(!x$.test(u)){i(`Tracking template pair '${u}' must be key=value without whitespace, # or &`);return}const h=u.slice(0,u.indexOf("="));if(r.has(h)){i(`Tracking template repeats the parameter '${h}'`);return}r.add(h)}for(const u of e.matchAll(w$)){const h=u[1];if(!v$.includes(h)){i(`Tracking template macro '{${h}}' is not supported`);return}}}),k$=d({type:o().nullable().optional(),title:o().nullable().optional(),body:o().nullable().optional(),targetUrl:o().nullable().optional(),fileId:o().nullable().optional()}),Jc=j(["impressions","clicks"]);Jc.enum;const Wc=j(["impression","click"]);Wc.enum;const S$=d({id:o(),adGroupId:o(),name:o(),status:o(),reviewStatus:o().nullable().optional(),creative:k$.nullable().optional(),landingPageQueryStringTemplate:o().nullable().optional(),upstreamUpdatedAt:m().int().nullable().optional(),syncedAt:o().optional()}),j$=d({id:o(),campaignId:o(),name:o(),description:o().nullable().optional(),status:o(),billingEventType:Ze([Wc,ue()]).optional(),maxBidMicros:m().int().nullable().optional(),contextHints:y(o()).default([]),ads:y(S$).default([]),landingPageQueryStringTemplate:o().nullable().optional(),upstreamUpdatedAt:m().int().nullable().optional(),syncedAt:o().optional()}),A$=d({id:o(),name:o(),description:o().nullable().optional(),status:o(),startTime:m().int().nullable().optional(),endTime:m().int().nullable().optional(),biddingType:Ze([Jc,ue()]).optional(),dailySpendLimitMicros:m().int().nullable().optional(),lifetimeSpendLimitMicros:m().int().nullable().optional(),conversionEventSettingIds:y(o()).default([]),locationIds:y(o()).optional(),adGroups:y(j$).default([]),landingPageQueryStringTemplate:o().nullable().optional(),upstreamUpdatedAt:m().int().nullable().optional(),syncedAt:o().optional()});d({campaigns:y(A$)});const PA=j(["campaign","ad_group"]);PA.enum;const N$=d({level:PA,entityId:o(),date:o(),impressions:m().int(),clicks:m().int(),spendMicros:m().int(),conversions:m().int(),ctr:we().nullable(),cpcMicros:m().int().nullable(),inProgress:T()});d({rows:y(N$),currencyCode:o().nullable().optional()});const qA=d({from:o().nullable(),to:o().nullable(),inProgressDate:o().nullable()}),MA=d({impressions:m().int(),clicks:m().int(),spendMicros:m().int(),conversions:m().int(),ctr:we().nullable(),cpcMicros:m().int().nullable()});d({connected:T(),displayName:o().nullable().optional(),currencyCode:o().nullable().optional(),lastSyncedAt:o().nullable().optional(),campaignCount:m().int(),adGroupCount:m().int(),adCount:m().int(),window:qA,totals:MA});const BA=j(["unavailable","partial","complete"]);BA.enum;const LA=j(["no_ads_connection","connection_not_synced","no_ads_sync","entity_rows_missing_sync_run_id","entity_rows_span_multiple_sync_runs","source_sync_missing","source_sync_not_ads_sync","source_sync_not_completed"]);LA.enum;const UA=j(["unavailable","reported"]);UA.enum;const C$={storedSnapshot:"stored_ads_snapshot"},VA=j(["unavailable","partial_snapshot","metrics_unavailable","observed_activity","no_observed_activity"]);VA.enum;const _$=d({id:o(),name:o(),status:o(),reviewStatus:o().nullable()}),T$=d({id:o(),name:o(),status:o(),billingEventType:Ze([Wc,ue()]),maxBidMicros:m().int().nullable(),contextHints:y(o()),ads:y(_$)}),E$=d({id:o(),name:o(),status:o(),biddingType:Ze([Jc,ue()]),dailySpendLimitMicros:m().int().nullable(),lifetimeSpendLimitMicros:m().int().nullable(),conversionEventSettingIds:y(o()),adGroups:y(T$)});d({snapshot:d({status:BA,issue:Ze([LA,ue()]),lastSyncedAt:o().nullable(),campaignCount:m().int().nonnegative(),adGroupCount:m().int().nonnegative(),adCount:m().int().nonnegative(),sourceSync:d({runId:o(),status:ha}).nullable()}),historicalCampaignRollups:d({status:UA,window:qA,totals:MA.nullable()}),storedConfiguration:d({basis:R(C$.storedSnapshot),connection:d({status:o().nullable(),reviewStatus:o().nullable(),integrityReviewStatus:o().nullable(),integrityDecision:o().nullable(),conversionTrackingConfigured:T()}).nullable(),campaigns:y(E$)}),assessment:d({state:VA})});const ci=o().min(8).max(128).regex(/^[\w.:-]+$/,"operationKey may contain letters, numbers, dot, underscore, colon, and hyphen"),Kt=o().min(1).max(200),Io=o().min(3).max(1e3).refine(e=>e.trim().length>0),Br=m().int().min(946684800).max(4102444800),Lr=m().int().positive().max(Number.MAX_SAFE_INTEGER),p1=o().regex(/^[a-f0-9]{64}$/),$A=y(Kt).max(100).refine(e=>new Set(e).size===e.length,"conversionEventSettingIds must be unique"),KA=o().url().refine(e=>new URL(e).protocol==="https:",{message:"URL must use https"}),GA=j(["image_upload","campaign_create","campaign_update","campaign_pause","campaign_archive","campaign_tree_activate","ad_group_create","ad_group_update","ad_group_pause","ad_group_archive","ad_create","ad_update","ad_pause","ad_archive"]);GA.enum;const HA=j(["pending","reconciling","succeeded","failed","unknown"]),Dr=HA.enum,FA=j(["known_entity","create_fingerprint","manual_only"]);FA.enum;const QA=j([Dr.pending,Dr.unknown,Dr.reconciling]);QA.enum;const ZA=j(["active","paused","archived"]);ZA.enum;const YA=j(["file","campaign","ad_group","ad"]);YA.enum;const XA=j(["campaign","ad_group","ad"]);XA.enum;const h1=d({id:Kt,expectedUpdatedAt:m().int().nonnegative()}).strict(),R$=h1,nm=1e3;function D$(e){return 1+e.campaign.adGroups.reduce((n,i)=>n+1+i.ads.length,0)}const z$=h1.extend({ads:y(R$).min(1).max(nm-1)}).strict(),I$=h1.extend({adGroups:y(z$).min(1).max(nm-1)}).strict();function O$(e,n){return e<n?-1:e>n?1:0}function tk(e,n,i){for(let r=1;r<e.length;r+=1)if(O$(e[r-1].id,e[r].id)>=0){i.addIssue({code:"custom",path:n,message:"Activation manifest entities must be uniquely sorted by id"});return}}const JA=d({campaign:I$}).strict().superRefine((e,n)=>{D$(e)>nm&&n.addIssue({code:"custom",path:["campaign"],message:`Activation manifests may contain at most ${nm} entities`}),tk(e.campaign.adGroups,["campaign","adGroups"],n);const r=new Set;for(let u=0;u<e.campaign.adGroups.length;u+=1){const h=e.campaign.adGroups[u];tk(h.ads,["campaign","adGroups",u,"ads"],n);for(let f=0;f<h.ads.length;f+=1){const b=h.ads[f];r.has(b.id)&&n.addIssue({code:"custom",path:["campaign","adGroups",u,"ads",f,"id"],message:"An ad may appear only once in an activation manifest"}),r.add(b.id)}}}),WA=p1,P$=j(["approved","executing","consumed","revoked","expired","unknown"]),Li=P$.enum,q$=j(["pending","executing","active","failed","rollback_executing","rolled_back","rollback_failed","unknown"]),Ms=q$.enum,M$=d({name:Io.optional(),description:o().max(4e3).nullable().optional(),status:ZA.optional(),startTime:Br.nullable().optional(),endTime:Br.nullable().optional(),lifetimeSpendLimitMicros:Lr.min(1e6).optional(),locationIds:y(Kt).max(100).optional(),biddingType:Jc.optional(),conversionEventSettingIds:$A.optional(),campaignId:Kt.optional(),contextHints:y(o().min(1).max(1e3)).max(100).optional(),maxBidMicros:Lr.max(1e8).optional(),billingEventType:Wc.optional(),adGroupId:Kt.optional(),creativeFingerprint:p1.optional(),landingPageQueryStringTemplate:zo.nullable().optional()}).strict();d({operationKey:ci,imageUrl:KA});d({operationKey:ci,name:Io,description:o().max(4e3).optional(),startTime:Br.optional(),endTime:Br.optional(),lifetimeSpendLimitMicros:Lr.min(1e6),locationIds:y(Kt).min(1).max(100),biddingType:Jc.optional(),conversionEventSettingIds:$A.optional(),landingPageQueryStringTemplate:zo.optional()}).superRefine((e,n)=>{e.startTime!==void 0&&e.endTime!==void 0&&e.endTime<=e.startTime&&n.addIssue({code:"custom",path:["endTime"],message:"endTime must be after startTime"})});d({operationKey:ci,campaignId:Kt,name:Io,description:o().max(4e3).optional(),contextHints:y(o().min(1).max(1e3)).min(1).max(100),maxBidMicros:Lr.max(1e8),billingEventType:Wc.optional(),landingPageQueryStringTemplate:zo.optional()});const eN=d({title:o().min(3).max(50),body:o().min(1).max(100),targetUrl:KA,fileId:Kt});d({operationKey:ci,adGroupId:Kt,name:Io,creative:eN,landingPageQueryStringTemplate:zo.optional()});function f1(e){return Object.keys(e).some(n=>n!=="operationKey"&&n!=="expectedUpdatedAt")}d({operationKey:ci,expectedUpdatedAt:m().int().nonnegative(),name:Io.optional(),description:o().max(4e3).nullable().optional(),startTime:Br.nullable().optional(),endTime:Br.nullable().optional(),lifetimeSpendLimitMicros:Lr.min(1e6).optional(),locationIds:y(Kt).min(1).max(100).optional(),landingPageQueryStringTemplate:zo.nullable().optional()}).refine(f1,{message:"At least one campaign field must be updated"});d({operationKey:ci,expectedUpdatedAt:m().int().nonnegative(),name:Io.optional(),description:o().max(4e3).nullable().optional(),contextHints:y(o().min(1).max(1e3)).min(1).max(100).optional(),maxBidMicros:Lr.max(1e8).optional(),landingPageQueryStringTemplate:zo.nullable().optional()}).refine(f1,{message:"At least one ad group field must be updated"});d({operationKey:ci,expectedUpdatedAt:m().int().nonnegative(),name:Io.optional(),creative:eN.optional(),landingPageQueryStringTemplate:zo.nullable().optional()}).refine(f1,{message:"At least one ad field must be updated"});d({operationKey:ci});d({operationKey:ci,expectedUpdatedAt:m().int().nonnegative()});const Um=d({id:o(),adAccountId:o().nullable(),operationKey:o(),kind:GA,state:HA,entityType:Ze([YA,ue()]),entityId:o().nullable(),upstreamUpdatedAt:m().int().nullable(),errorCode:o().nullable(),errorMessage:o().nullable(),reconcileStrategy:Ze([FA,ue()]),reconcileParentId:Kt.nullable(),reconcileFingerprint:p1.nullable(),reconcileFields:M$.nullable(),reconcileAttempts:m().int().nonnegative(),lastReconciledAt:o().nullable(),createdAt:o(),updatedAt:o()});d({operation:Um,replayed:T()});const Pt=yj({offset:!0}),nl={id:Kt,projectId:Kt,adAccountId:Kt,manifestHash:WA,manifest:JA,executorApiKeyId:Kt,approverApiKeyId:Kt,expiresAt:Pt,approvedAt:Pt,createdAt:Pt,updatedAt:Pt,revocationRequestedAt:Pt.nullable()},B$=d({...nl,state:R(Li.approved),operationId:ue(),executionStartedAt:ue(),consumedAt:ue(),revokedAt:ue(),expiredAt:ue()}).strict(),L$=d({...nl,state:R(Li.executing),operationId:Kt,executionStartedAt:Pt,consumedAt:ue(),revokedAt:ue(),expiredAt:ue()}).strict(),U$=d({...nl,state:R(Li.consumed),operationId:Kt,executionStartedAt:Pt,consumedAt:Pt,revokedAt:ue(),expiredAt:ue()}).strict(),V$=d({...nl,state:R(Li.revoked),operationId:ue(),executionStartedAt:ue(),consumedAt:ue(),revokedAt:Pt,expiredAt:ue()}).strict(),$$=d({...nl,state:R(Li.expired),operationId:ue(),executionStartedAt:ue(),consumedAt:ue(),revokedAt:ue(),expiredAt:Pt}).strict(),K$=d({...nl,state:R(Li.unknown),operationId:Kt,executionStartedAt:Pt,consumedAt:ue(),revokedAt:ue(),expiredAt:ue()}).strict(),tN=Be("state",[B$,L$,U$,V$,$$,K$]).superRefine((e,n)=>{e.executorApiKeyId===e.approverApiKeyId&&n.addIssue({code:"custom",path:["executorApiKeyId"],message:"The activation executor must use a different API key from the approver"}),e.revocationRequestedAt!==null&&e.state!==Li.executing&&e.state!==Li.unknown&&e.state!==Li.consumed&&n.addIssue({code:"custom",path:["revocationRequestedAt"],message:"Only an executing, cancelled, or unresolved activation can carry a cancellation request"})}),Bs={id:Kt,operationId:Kt,ordinal:m().int().nonnegative(),entityType:XA,entityId:Kt,expectedUpdatedAt:m().int().nonnegative(),createdAt:Pt,updatedAt:Pt},eu={errorCode:ue(),errorMessage:ue()},g1={errorCode:o().min(1).max(100),errorMessage:o().min(1).max(500),remediation:o().min(1).max(500)},G$=d({...Bs,...eu,state:R(Ms.pending),providerUpdatedAt:ue(),remediation:ue(),startedAt:ue(),finishedAt:ue()}).strict(),H$=d({...Bs,...eu,state:R(Ms.executing),providerUpdatedAt:ue(),remediation:ue(),startedAt:Pt,finishedAt:ue()}).strict(),F$=d({...Bs,...eu,state:R(Ms.active),providerUpdatedAt:m().int().nonnegative(),remediation:ue(),startedAt:Pt,finishedAt:Pt}).strict(),Q$=d({...Bs,...g1,state:R(Ms.failed),providerUpdatedAt:Ze([m().int().nonnegative(),ue()]),startedAt:Pt,finishedAt:Pt}).strict(),Z$=d({...Bs,...eu,state:R(Ms.rollback_executing),providerUpdatedAt:m().int().nonnegative(),remediation:o().min(1).max(500),startedAt:Pt,finishedAt:ue()}).strict(),Y$=d({...Bs,...eu,state:R(Ms.rolled_back),providerUpdatedAt:m().int().nonnegative(),remediation:o().min(1).max(500),startedAt:Pt,finishedAt:Pt}).strict(),X$=d({...Bs,...g1,state:R(Ms.rollback_failed),providerUpdatedAt:m().int().nonnegative(),startedAt:Pt,finishedAt:Pt}).strict(),J$=d({...Bs,...g1,state:R(Ms.unknown),providerUpdatedAt:Ze([m().int().nonnegative(),ue()]),startedAt:Pt,finishedAt:Pt}).strict(),W$=Be("state",[G$,H$,F$,Q$,Z$,Y$,X$,J$]),vg={exact:"exact",refreshSemanticallyUnchanged:"refresh_semantically_unchanged"},eK=j([vg.exact,vg.refreshSemanticallyUnchanged]);d({manifest:JA,executorApiKeyId:Kt,expiresAt:Pt,versionPolicy:eK.default(vg.exact)}).strict();d({grant:tN}).strict();d({}).strict();d({operationKey:ci,grantId:Kt,manifestHash:WA}).strict();d({grant:tN,operation:Um,steps:y(W$)}).strict();const tK=[Dr.pending,Dr.unknown,Dr.reconciling];function nK(e){if(e===void 0||e==="")return tK;if(Array.isArray(e)){const n=[];for(const i of e)typeof i=="string"?n.push(...i.split(",")):n.push(i);return n}return typeof e=="string"?e.split(",").filter(Boolean):e}d({state:ri(nK,y(QA).min(1).max(3).refine(e=>new Set(e).size===e.length,"state values must be unique")),limit:Ui().int().min(1).max(200).default(100),cursor:o().min(1).max(1e3).optional()});d({operations:y(Um),count:m().int().nonnegative(),nextCursor:o().nullable()});d({}).strict();d({operation:Um,resolved:T()});d({campaignId:o().min(1).max(200).optional(),lookbackDays:Ui().int().min(1).max(30).default(7)});const nN=j(["campaign","ad_group","ad"]);nN.enum;const aN=j(["both","live-only","stored-only"]);aN.enum;const aK=R("live-provider-read"),iK=d({date:o().nullable(),startTime:m().nullable(),endTime:m().nullable(),impressions:m().nullable(),clicks:m().nullable(),spend:m().nullable(),conversions:m().nullable(),ctr:we().nullable(),cpc:m().nullable(),cpm:m().nullable()}),nk=d({impressions:m().int(),clicks:m().int(),spendMicros:m().int(),conversions:m().int()}),sK=d({date:o(),live:nk.nullable(),stored:nk.nullable(),drifted:T()}),oK=d({field:o(),live:o().nullable(),stored:o().nullable()}),rK=d({name:o().nullable(),status:o(),reviewStatus:o().nullable(),mode:o().nullable(),updatedAt:m().nullable()}),lK=d({name:o(),status:o(),reviewStatus:o().nullable(),upstreamUpdatedAt:m().nullable(),syncedAt:o()}),cK=d({entityType:nN,id:o(),parentId:o().nullable(),presence:aN,live:rK.nullable(),stored:lK.nullable(),fieldDeltas:y(oK),liveMetrics:y(iK).nullable(),metricDeltas:y(sK).nullable(),drifted:T()}),uK=d({surface:o(),entityId:o().nullable(),upstreamStatus:m().int().nullable()});d({basis:aK,fetchedAt:o(),adAccountId:o(),storedSnapshotSyncedAt:o().nullable(),metricsWindow:d({lookbackDays:m().int().positive()}),bounds:d({maxCampaigns:m().int().positive(),maxAdGroupsPerCampaign:m().int().positive(),maxAdsPerAdGroup:m().int().positive(),maxReaderCalls:m().int().positive(),readerCalls:m().int().nonnegative(),maxPagesPerReaderCall:m().int().positive(),maxUpstreamHttpRequests:m().int().positive(),truncated:T()}),entities:y(cK),drift:d({entitiesCompared:m().int().nonnegative(),driftedEntities:m().int().nonnegative(),statusDrifted:m().int().nonnegative(),metricsDrifted:m().int().nonnegative()}),errors:y(uK)});const dK=d({status:j(["available","unavailable","not-supported"])}),ak="*";function iN(e){if(e?.some(n=>n.trim().toLowerCase()==="report"))return"The report embed tab has been retired. Remove report from the allowed tabs; explicitly configure overview to display AI Visibility."}const mK=j(["enabled","configured_disabled","CANONRY_TELEMETRY_DISABLED","DO_NOT_TRACK","CI","NO_CONFIG","CONFIG_UNAVAILABLE"]),pK=j(["server","local"]);d({enabled:T(),configuredEnabled:T(),reason:mK,anonymousId:o().regex(/^[0-9a-f]{8}\.\.\.$/i).optional(),target:pK.optional()}).strict();const ft=1,Df=j(["system","project","queries","competitors","run","finish"]),hK=j(["copy_agent_command","connect_server_traffic","connect_search_console","connect_analytics","connect_business_profile","set_schedule","add_notification","open_project","review_page_health"]),zf=j(["0","1","2-3","4-5","6-10","11+"]);function si(e){return!Number.isFinite(e)||e<=0?"0":e<2?"1":e<4?"2-3":e<6?"4-5":e<11?"6-10":"11+"}const ik=j(["api_unavailable","database_unavailable","worker_unavailable","no_provider","no_queries","provider_save_failed","project_create_failed","query_save_failed","run_rejected","run_failed","run_cancelled","rate_limited","provider_auth","network","unknown"]),fK=j(["wizard","platform","site_health"]),Sd=d({eventId:o().uuid(),flowVersion:R(ft),onboardingSessionId:o().uuid(),surface:fK.optional()});Be("event",[Sd.extend({event:R("onboarding.started"),step:Df,resumed:T()}).strict(),Sd.extend({event:R("onboarding.step_completed"),step:Df,method:j(["existing","inline","manual","generated","skipped","automatic"]),countBucket:zf.optional(),nextAction:hK.optional()}).strict(),Sd.extend({event:R("onboarding.blocked"),step:Df,action:j(["continue","configure_provider","generate_queries","save","launch_run","retry_run"]),reasonCode:ik}).strict(),Sd.extend({event:R("run.requested"),origin:R("dashboard_setup"),result:j(["queued","rejected"]),kind:j(["answer_visibility","site_health"]).optional(),providerCountBucket:zf,queryCountBucket:zf,reasonCode:ik.optional()}).strict()]);d({accepted:T()});j(["cli","mcp-stdio","mcp-http","aero","api","dashboard"]);const sN=["/","/projects","/projects/:projectName","/projects/:projectName/portfolio","/projects/:projectName/search-console","/projects/:projectName/conversions","/projects/:projectName/local","/projects/:projectName/discovery","/projects/:projectName/queries","/projects/:projectName/properties/:targetKey","/projects/:projectName/report","/projects/:projectName/activity","/projects/:projectName/backlinks","/projects/:projectName/technical-aeo","/projects/:projectName/history","/projects/:projectName/settings","/runs","/history","/settings","/setup","/backlinks","/traffic","/traffic/:projectName/:sourceId","not-found","other"],gK=j(sN),oN=["overview","portfolio","search-console","conversions","local","discovery","queries","properties","report","activity","backlinks","technical-aeo","history","settings","other"],If=j(oN),yK=["sweep.launch","sweep.cancel","site_audit.launch","project.create","project.update","project.delete","query.add","query.delete","query.generate","competitor.save","competitor.delete","schedule.save","schedule.delete","provider.save","settings.save","integration.connect_started","integration.connect","integration.disconnect","traffic.sync","notification.save","notification.test","measurement_plan.publish","discovery.run","api_key.create","api_key.revoke","export.download","report.download","aero.open","aero.send","filter.change","search.submit"],bK=j(yK),vK=["google","gsc","ga","bing","gbp","wordpress","openai_ads","google_ads","gtm","traffic_cloudflare","traffic_vercel","traffic_cloud_run","traffic_wordpress"],xK=j(vK),wK=["provider","model","location","window","query_class","other"],kK=j(wK),SK=["csv","json","html"],jK=["render","unhandled","api"],AK=["4xx","5xx","network"],NK=["LCP","INP","CLS","FCP","TTFB"],CK=["good","needs-improvement","poor"],rN=/^[a-z][a-z0-9-]{0,39}$/,lN=/^[a-z_$][\w$]{0,39}$/i,_K=/^\/api\/v1(?:\/(?:[a-z][a-z0-9-]*(?:\.[a-z]+)?|\{[A-Za-z]+\}))*$/,cN=160,TK=new Set(["accounts","activation-grants","ad-groups","ads","cache","campaigns","competitors","confirm","connections","containers","contracts","conversations","dismissals","insights","jobs","keys","locations","measurement-query-sets","measurement-query-templates","notifications","operations","projects","providers","queries","recommendations","runs","screenshots","segments","sessions","snapshots","sources","users","versions"]),EK=new Set(["ads/account","ads/activation-grants","ads/ad-groups","ads/ads","ads/campaigns","ads/connect","ads/connection","ads/conversions","ads/delivery-diagnostics","ads/files","ads/geo","ads/insights","ads/live-delivery","ads/operations","ads/status","ads/summary","ads/sync","keys/self","locations/default","locations/discover","notifications/events","operations/logs","queries/generate","queries/replace-preview","runs/latest","snapshots/diff"]),RK=/^\{[a-z]+\}$/i;function uN(e){if(e.length>cN||e.includes("://")||!_K.test(e))return!1;const n=e.split("/").slice(3);return n.every((i,r)=>{const u=n[r-1];return u===void 0||!TK.has(u)?!0:RK.test(i)||EK.has(`${u}/${i}`)})}const jd=d({eventId:o().uuid(),uiSessionId:o().uuid(),page:gK});Be("event",[jd.extend({event:R("ui.page_viewed"),tab:If.optional()}).strict(),jd.extend({event:R("ui.action"),action:bK,tab:If.optional(),integration:xK.optional(),format:j(SK).optional(),filter:kK.optional()}).strict(),jd.extend({event:R("ui.error"),kind:j(jK),tab:If.optional(),component:o().regex(rN).optional(),errorName:o().regex(lN).optional(),route:o().max(cN).refine(uN,"route must be a route template").optional(),method:j(["GET","POST","PUT","PATCH","DELETE"]).optional(),statusClass:j(AK).optional(),status:m().int().min(400).max(599).optional()}).strict(),jd.extend({event:R("ui.vitals"),metric:j(NK),rating:j(CK)}).strict()]);function DK(e){if(!e)return"other";if(e==="*"||e==="$"||e.endsWith("/*")||e.endsWith("/$"))return"not-found";const n=e.replace(/\$([a-z]\w*)/gi,":$1").replace(/(.)\/+$/,"$1");return sN.includes(n)?n:"other"}function dN(e){if(e==="/projects/:projectName")return"overview";const n=/^\/projects\/:projectName\/([a-z-]+)/.exec(e);if(!n)return;const i=n[1];return oN.includes(i)?i:"other"}const zK=["struggle","bug","improvement","other"],IK=j(zK),pc={summary:500,details:4e3,area:40,command:120,errorCode:40};d({kind:IK,summary:o().trim().min(1).max(pc.summary),details:o().trim().min(1).max(pc.details).optional(),area:o().trim().min(1).max(pc.area).optional(),command:o().trim().min(1).max(pc.command).optional(),errorCode:o().trim().min(1).max(pc.errorCode).optional()}).strict();d({accepted:T(),id:o()});const OK=4;function PK(e){return e.length<OK}const mN=j(["trace","debug","info","warn","error","fatal"]),pN=d({runId:o().min(1).max(256).optional(),projectId:o().min(1).max(256).optional(),requestId:o().min(1).max(256).optional(),actor:o().min(1).max(512).optional(),credentialId:o().min(1).max(512).optional(),userAgent:o().min(1).max(512).optional(),actorSession:o().min(1).max(512).optional(),method:o().min(1).max(16).optional(),route:o().min(1).max(256).optional(),operationId:o().min(1).max(256).optional(),jobId:o().min(1).max(256).optional(),taskId:o().min(1).max(256).optional(),traceId:o().min(1).max(256).optional(),provider:o().min(1).max(256).optional(),errorCode:o().min(1).max(128).optional(),attempt:m().finite().optional(),count:m().finite().optional(),total:m().finite().optional(),progress:m().finite().optional(),httpStatus:m().finite().optional(),statusCode:m().finite().optional(),durationMs:m().finite().optional(),bytes:m().finite().optional(),retryAfterMs:m().finite().optional(),retriable:T().optional(),retrying:T().optional(),cancelled:T().optional(),success:T().optional()}).strict(),hN=d({cursor:o().min(1).max(512),ts:o().datetime(),level:mN,module:o().min(1).max(256),action:o().min(1).max(256),message:o().max(4096).optional(),runId:o().min(1).max(256).optional(),projectId:o().min(1).max(256).optional(),context:pN}).strict();d({level:mN.optional(),module:o().trim().min(1).max(256).optional(),runId:o().trim().min(1).max(256).optional(),projectId:o().trim().min(1).max(256).optional(),actor:o().trim().min(1).max(512).optional(),requestId:o().trim().min(1).max(256).optional(),since:o().datetime().optional(),until:o().datetime().optional(),limit:Ui().int().min(1).max(200).default(100),cursor:o().trim().min(1).max(512).optional()}).strict().superRefine((e,n)=>{e.since&&e.until&&Date.parse(e.since)>Date.parse(e.until)&&n.addIssue({code:ye.custom,path:["until"],message:'"until" must be on or after "since".'})});const fN=d({maxEntries:m().int().positive(),maxAgeSeconds:m().int().positive()}).strict(),qK=d({entries:y(hN),nextCursor:o().min(1).max(512).nullable(),truncated:m().int().nonnegative(),dropped:m().int().nonnegative(),retention:j(["process","durable"]),retentionPolicy:fN.optional(),captureErrors:m().int().nonnegative().optional(),observedAt:o().datetime()}).strict(),MK=d(pN.shape),BK=d({...hN.shape,context:MK});d({...qK.shape,entries:y(BK),retentionPolicy:d(fN.shape).optional()});function Of(e){return e!==""&&/^[\w./:@%+=,-]+$/.test(e)?e:`'${e.replace(/'/g,"'\\''")}'`}d({startDate:Sn,endDate:Sn,sourceId:o().trim().min(1).optional(),burstThreshold:m().int().min(1).max(1e6).optional(),ratioThreshold:m().min(1).max(1e3).optional(),limit:m().int().min(1).max(500).optional()}).strict();const po=d({total:m().int().nonnegative(),paid:m().int().nonnegative(),organic:m().int().nonnegative(),unknown:m().int().nonnegative()});d({scope:d({project:o(),sourceId:o().nullable(),attribution:R("project-source-only"),unavailableDimensions:y(j(["property","target","market"]))}),window:d({startDate:Sn,endDate:Sn,timeZone:R("UTC")}),rule:d({version:R("hourly-normalized-path-v1"),burstThreshold:m().int().positive(),ratioThreshold:m().positive(),calibration:j(["uncalibrated-default","request-override"]),grouping:y(o()),confirmsAutomation:R(!1)}),totals:d({raw:po,redirects:po,subresources:po,countable:po,suspected:po,adjustedEstimate:po}),bursts:y(d({sourceId:o(),product:o(),landingPathNormalized:o(),tsHour:o(),counts:po})),evidence:d({total:m().int().nonnegative(),returned:m().int().nonnegative(),truncated:T()}),comparison:d({status:R("unavailable"),serverCountable:m().int().nonnegative(),serverObservation:j(["missing","observed-zero","observed-positive"]),gaSessions:m().int().nonnegative().nullable(),gaObservation:j(["missing","observed-zero","observed-positive"]),observedRatio:m().nonnegative().nullable(),observedRatioAboveThreshold:T().nullable(),ratio:ue(),reasons:y(o()),gaScope:R("project")}),caveats:y(o())});const LK=new Set(["optional","nullable","default","prefault","readonly","catch","nonoptional"]),sk=64;function Od(e){return e._zod.def}function ho(e,n){return e.clone({...Od(e),...n})}function ok(e){if(e.length!==0){if(e.every(n=>typeof n=="string"))return o();if(e.every(n=>typeof n=="number"))return m();if(e.every(n=>typeof n=="boolean"))return T()}}function gN(e,n,i,r){if(r>sk)throw new Error(`tolerantReadSchema: schema nesting exceeds ${sk} levels`);const u=i.get(e);if(u)return u;const h=v=>gN(v,n,i,r+1),f=Od(e);let b=e;if(f.type==="object"){const v=Object.fromEntries(Object.entries(e.shape).map(([S,N])=>[S,h(N)])),x=f.catchall,k=n.get(e)??(x&&Od(x).type!=="never"?h(x):void 0);b=k?d(v).catchall(k):d(v)}else if(LK.has(f.type)){const v=f.innerType,x=h(v);b=x===v?e:ho(e,{innerType:x})}else if(f.type==="array"){const v=f.element,x=h(v);b=x===v?e:ho(e,{element:x})}else if(f.type==="pipe"){const v=f.in,x=f.out,k=h(v),S=h(x);b=k===v&&S===x?e:ho(e,{in:k,out:S})}else if(f.type==="union"){const v=f.options,x=v.map(h);b=x.some((S,N)=>S!==v[N])?f.discriminator?Ze(x):ho(e,{options:x}):e}else if(f.type==="record"){const v=f.keyType,x=f.valueType,k=Od(v).type==="enum"?o():v,S=h(x);b=k===v&&S===x?e:ho(e,{keyType:k,valueType:S})}else if(f.type==="intersection"){const v=f.left,x=f.right,k=h(v),S=h(x);b=k===v&&S===x?e:ho(e,{left:k,right:S})}else if(f.type==="tuple"){const v=f.items,x=f.rest,k=v.map(h),S=x&&h(x);b=S!==x||k.some((_,z)=>_!==v[z])?ho(e,{items:k,rest:S}):e}else if(f.type==="lazy"){const v=f.getter;b=Mz(()=>h(v()))}else f.type==="enum"?b=ok(Object.values(f.entries))??e:f.type==="literal"&&(b=ok(f.values)??e);return i.set(e,b),b}function Oo(e,n={}){const i=new Map(n.openKeys??[]);return gN(e,i,new Map,0)}const Po={openKeys:[[i1,m().int().nonnegative()]]};Oo(VU,Po);Oo(yg,Po);Oo(YU,Po);Oo(XU,Po);Oo($U,Po);Oo(uA,Po);Oo(FU,Po);Ze([R(7),R(14),R(30),R(90)]).describe("Traffic activity window in days (7, 14, 30, or 90). Defaults to 30 when omitted.");const fo=d({current:m(),prior:m(),deltaPct:ot().nullable()}),UK=d({windowStart:o(),windowEnd:o(),coverageStart:o().nullable(),priorWindowComplete:T(),hasData:T().describe("True when the selected or prior window has stored crawler, user-fetch, countable referral or operator evidence, or the selected window has referral redirects. False means no qualifying stored evidence; it can occur with no, paused, errored or never-synced ingestion and out-of-window observations. It does not establish measured zero traffic or source health."),verifiedCrawlerHits:fo,unverifiedCrawlerHits:fo,aiUserFetchHits:fo,referralArrivals:fo,referralRedirects:m().int().nonnegative(),referralArrivalsByClass:d({paid:fo,organic:fo,unclassified:fo}),referralArrivalsClassSummary:o(),byOperator:y(d({operator:o(),verifiedHits:m(),unverifiedHits:m(),userFetchHits:m(),referralArrivals:m(),deltaPct:ot().nullable()})),topCrawledPaths:y(d({path:o(),verifiedHits:m(),unverifiedHits:m().default(0),distinctOperators:m()})),referralProducts:y(d({product:o(),arrivals:m(),distinctLandingPaths:m()})),dailyTrend:y(d({date:o(),verifiedCrawlerHits:m(),unverifiedCrawlerHits:m().default(0),userFetchHits:m(),referralArrivals:m()})),topReferralLandingPaths:y(d({path:o(),arrivals:m(),distinctProducts:m()}))});d({activity:UK.nullable()});const Pte={ambiguous:"Property identity unverified"},qte="No answer could be tied to one property";function VK(e){return e.denominator===null||e.denominator===void 0||e.unattributed===void 0||e.unattributed<=0?null:`${e.unattributed} of ${e.denominator+e.unattributed} answers could not be tied to one property`}function $K(e){if(e.denominator===null||e.denominator===void 0||e.unchecked===void 0||e.unchecked<=0)return null;const n=e.denominator+e.unchecked;return`${e.unchecked} of ${n} ${n===1?"answer":"answers"} had sources that could not be checked`}const KK="canonry.onboarding-session.v1",am="canonry.onboarding-launched-run.v1",y1="canonry.onboarding-handoff.v1",GK=/^[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i,HK=["system","project","queries","competitors","run"];function FK(e){return HK[e]??"system"}function QK(e){if(!e.apiReady)return"api_unavailable";if(e.databaseConfigured===!1)return"database_unavailable";if(!e.workerReady)return"worker_unavailable";if(!e.providerReady)return"no_provider"}function ZK(e){return e.apiStatus.state!=="checking"&&e.workerStatus.state!=="checking"}const YK={NO_PROVIDER:"no_provider",NO_QUERIES:"no_queries",RATE_LIMITED:"rate_limited",QUOTA_EXCEEDED:"rate_limited",PROVIDER_AUTH:"provider_auth",PROVIDERS_FAILING:"provider_auth",AUTH_INVALID:"provider_auth",FORBIDDEN:"provider_auth",NETWORK:"network",CONNECTION_ERROR:"network",RUN_IN_PROGRESS:"run_rejected",RUN_CANCELLED:"run_cancelled"};function jc(e,n){const i=e&&typeof e=="object"&&"code"in e?String(e.code):"";return YK[i]??n}function b1(){return yN(KK)}function yN(e){try{const n=typeof window<"u"?window.sessionStorage.getItem(e):null;if(n&&GK.test(n))return n;const i=sm();return typeof window<"u"&&window.sessionStorage.setItem(e,i),i}catch{return sm()}}function v1(){return sm()}function bN(e){if(!e||typeof e!="object")return!1;const n=e;return typeof n.projectName=="string"&&n.projectName.length>0&&typeof n.runId=="string"&&n.runId.length>0&&typeof n.handled=="boolean"}function vN(e,n){try{typeof window<"u"&&window.sessionStorage.setItem(am,JSON.stringify({projectName:e,runId:n,handled:!1}))}catch{}}function xN(e){if(!e)return null;try{if(typeof window>"u")return null;const n=window.sessionStorage.getItem(am);if(!n)return null;const i=JSON.parse(n);return!bN(i)||i.projectName!==e||i.handled?null:i}catch{return null}}function im(e){try{if(typeof window>"u")return;const n=window.sessionStorage.getItem(am);if(!n)return;const i=JSON.parse(n);if(!bN(i)||i.runId!==e)return;window.sessionStorage.setItem(am,JSON.stringify({...i,handled:!0}))}catch{}}function XK(e){try{typeof window<"u"&&window.sessionStorage.setItem(y1,e)}catch{}}function JK(e){if(!e)return!1;try{return typeof window<"u"&&window.sessionStorage.getItem(y1)===e}catch{return!1}}function WK(){try{typeof window<"u"&&window.sessionStorage.removeItem(y1)}catch{}}function sm(){const e=globalThis.crypto;if(e.randomUUID)return e.randomUUID();const n=new Uint8Array(16);if(e.getRandomValues)e.getRandomValues(n);else for(let r=0;r<n.length;r+=1)n[r]=Math.floor(Math.random()*256);n[6]=n[6]&15|64,n[8]=n[8]&63|128;const i=[...n].map(r=>r.toString(16).padStart(2,"0")).join("");return`${i.slice(0,8)}-${i.slice(8,12)}-${i.slice(12,16)}-${i.slice(16,20)}-${i.slice(20)}`}const eG="canonry.ui-session.v1",tG="canonry.ui-pages.v1",nG="canonry.ui-errors.v1",rk="canonry.ui-sent.v1",aG=30,iG=120,sG=200,Yt={sender:null,disabled:!1,page:"other",landingPage:null,pendingVitals:[],memory:new Map,sentAt:null,now:()=>Date.now()};function oG(e){Yt.sender=e.enabled===!1?null:e.send,Yt.disabled=!1,e.now&&(Yt.now=e.now)}function rG(e){const n=DK(e);if(Yt.page=n,Yt.landingPage===null){Yt.landingPage=n;const r=Yt.pendingVitals;Yt.pendingVitals=[];for(const[u,h]of r)wN(u,h)}const i=dN(n);kN(tG,`${n}|${i??""}`,{event:"ui.page_viewed"})}function al(e,n={}){x1({event:"ui.action",action:e,...n})}const lG=800,cG=1e3,Pf=new Map;let hc,qf="";function uG(e){if(!Yt.sender)return;const n=Pf.get(e);n&&clearTimeout(n),Pf.set(e,setTimeout(()=>{Pf.delete(e),al("filter.change",{filter:e})},lG))}function Mte(e,n=!1){if(!Yt.sender)return;hc&&clearTimeout(hc),hc=void 0;const i=e.trim();if(i.length===0){qf="";return}const r=()=>{hc=void 0,i!==qf&&(qf=i,al("search.submit"))};n?r():hc=setTimeout(r,cG)}const dG={measurementProvider:"provider",measurementModel:"model",measurementLocation:"location",measurementFrom:"window",measurementTo:"window",runWindow:"window",queryClass:"query_class",class:"query_class",measurementScope:"other",measurementScopeKey:"other",measurementMarketKey:"other",scope:"other",runStatus:"other",runKind:"other",runProject:"other"};function mG(e,n){const i=new Set;for(const[r,u]of Object.entries(dG))pG(e[r],n[r])||i.add(u);for(const r of i)uG(r)}function pG(e,n){const i=r=>r==null||r===""?"":JSON.stringify(r);return i(e)===i(n)}function om(e){const n=AG(e.error),i=e.route&&uN(e.route)?e.route:void 0;if(e.kind==="api"&&!i)return;const r=jN(e.method),u=typeof e.status=="number"&&e.status>=400&&e.status<=599?e.status:void 0,h=e.network?"network":u===void 0?void 0:u>=500?"5xx":"4xx",f=e.component&&rN.test(e.component)?e.component:void 0,b=[e.kind,Yt.page,f,n,r,i,u??h].join("|");kN(nG,b,{event:"ui.error",kind:e.kind,...f?{component:f}:{},...n?{errorName:n}:{},...i?{route:i}:{},...r?{method:r}:{},...h?{statusClass:h}:{},...u?{status:u}:{}})}function hG(e,n){if(Yt.landingPage===null){Yt.pendingVitals.push([e,n]);return}wN(e,n)}function wN(e,n){const i=Yt.landingPage??"other";x1({event:"ui.vitals",metric:e,rating:n},i)}const fG=[["POST","/api/v1/projects/{name}/runs","sweep.launch"],["POST","/api/v1/runs/{id}/cancel","sweep.cancel"],["POST","/api/v1/projects/{name}/technical-aeo/runs","site_audit.launch"],["POST","/api/v1/projects","project.create"],["PUT","/api/v1/projects/{name}","project.create",void 0,201],["PUT","/api/v1/projects/{name}","project.update",void 0,200],["DELETE","/api/v1/projects/{name}","project.delete"],["POST","/api/v1/projects/{name}/queries","query.add"],["PUT","/api/v1/projects/{name}/queries","query.add"],["DELETE","/api/v1/projects/{name}/queries","query.delete"],["DELETE","/api/v1/projects/{name}/queries/{id}","query.delete"],["POST","/api/v1/projects/{name}/queries/generate","query.generate"],["PUT","/api/v1/projects/{name}/competitors","competitor.save"],["POST","/api/v1/projects/{name}/competitors","competitor.save"],["DELETE","/api/v1/projects/{name}/competitors/{id}","competitor.delete"],["PUT","/api/v1/projects/{name}/schedule","schedule.save"],["DELETE","/api/v1/projects/{name}/schedule","schedule.delete"],["PUT","/api/v1/settings/providers/{name}","provider.save"],["PUT","/api/v1/settings/google","settings.save"],["PUT","/api/v1/settings/bing","settings.save"],["PUT","/api/v1/settings/cdp","settings.save"],["PUT","/api/v1/projects/{name}/sentiment/settings","settings.save"],["POST","/api/v1/projects/{name}/google/connect","integration.connect_started","google"],["POST","/api/v1/projects/{name}/ga/connect","integration.connect","ga"],["DELETE","/api/v1/projects/{name}/ga/disconnect","integration.disconnect","ga"],["POST","/api/v1/projects/{name}/bing/connect","integration.connect","bing"],["DELETE","/api/v1/projects/{name}/bing/disconnect","integration.disconnect","bing"],["PUT","/api/v1/projects/{name}/gbp/locations/{locationName}/selection","integration.connect","gbp"],["DELETE","/api/v1/projects/{name}/gbp/connection","integration.disconnect","gbp"],["POST","/api/v1/projects/{name}/wordpress/connect","integration.connect","wordpress"],["DELETE","/api/v1/projects/{name}/wordpress/disconnect","integration.disconnect","wordpress"],["POST","/api/v1/projects/{name}/ads/connect","integration.connect","openai_ads"],["DELETE","/api/v1/projects/{name}/ads/connection","integration.disconnect","openai_ads"],["POST","/api/v1/projects/{name}/google-ads/oauth/connect","integration.connect_started","google_ads"],["PUT","/api/v1/projects/{name}/google-ads/selection","integration.connect","google_ads"],["DELETE","/api/v1/projects/{name}/google-ads/connection","integration.disconnect","google_ads"],["POST","/api/v1/projects/{name}/gtm/oauth/connect","integration.connect_started","gtm"],["PUT","/api/v1/projects/{name}/gtm/selection","integration.connect","gtm"],["DELETE","/api/v1/projects/{name}/gtm/connection","integration.disconnect","gtm"],["POST","/api/v1/projects/{name}/traffic/connect/cloudflare","integration.connect","traffic_cloudflare"],["POST","/api/v1/projects/{name}/traffic/connect/vercel","integration.connect","traffic_vercel"],["POST","/api/v1/projects/{name}/traffic/connect/cloud-run","integration.connect","traffic_cloud_run"],["POST","/api/v1/projects/{name}/traffic/connect/wordpress","integration.connect","traffic_wordpress"],["POST","/api/v1/projects/{name}/traffic/sources/{id}/sync","traffic.sync"],["POST","/api/v1/projects/{name}/notifications","notification.save"],["POST","/api/v1/projects/{name}/notifications/{id}/test","notification.test"],["POST","/api/v1/projects/{name}/measurement-plan/draft/actions/publish","measurement_plan.publish"],["POST","/api/v1/projects/{name}/discover/run","discovery.run"],["POST","/api/v1/keys","api_key.create"],["POST","/api/v1/keys/{id}/revoke","api_key.revoke"]],lk="/api/v1/projects/{name}/google/connections/{type}",gG={gsc:"gsc",ga4:"ga",gbp:"gbp"};function yG(e,n,i){const r=e==="PUT"&&n===`${lk}/property`?"integration.connect":e==="DELETE"&&n===lk?"integration.disconnect":void 0;if(!r)return;const u=i?/\/google\/connections\/([^/?#]+)/.exec(i)?.[1]:void 0,h=u&&gG[decodeURIComponent(u)]||"google";return[e,n,r,h]}const bG=[["GET",/^\/api\/v1\/projects\/\{name\}\/schedule$/,[404]],["*",/^\/api\/v1\/projects\/\{name\}\/measurement-plan(?:\/draft(?:\/.*)?)?$/,[404,409,412]],["GET",/^\/api\/v1\/projects\/\{name\}\/technical-aeo\/runs\/\{runId\}\/progress$/,[404]],["GET",/^\/api\/v1\/projects\/\{name\}\/backlinks\/domains$/,[404]],["POST",/^\/api\/v1\/projects$/,[409]],["PUT",/^\/api\/v1\/projects\/\{name\}$/,[409]]];function vG(e,n,i){return bG.some(([r,u,h])=>(r==="*"||r===e)&&u.test(n)&&h.includes(i))}const xG=/^\/api\/v1\/(?:telemetry|feedback)(?:\/|$)/;function rm(e){if(!e.route||xG.test(e.route))return;const n=jN(e.method);if(e.network||typeof e.status=="number"&&e.status>=400){if(e.status===401||typeof e.status=="number"&&e.status<500&&vG(n,e.route,e.status))return;om({kind:"api",route:e.route,method:n,status:e.status,network:e.network});return}if(!n||n==="GET")return;const i=yG(n,e.route,e.path)??fG.find(([r,u,,,h])=>r===n&&u===e.route&&(h===void 0||h===e.status));i&&al(i[2],i[3]?{integration:i[3]}:{})}function kN(e,n,i){const r=kG(e);if(!r.has(n)&&x1(i)){r.add(n);try{window.sessionStorage.setItem(e,JSON.stringify([...r].slice(-sG)))}catch{}}}function x1(e,n){try{const i=Yt.sender;if(!i||Yt.disabled||!wG())return!1;const r=n??Yt.page,u=dN(r),h={...e,eventId:sm(),uiSessionId:yN(eG),page:r,...u?{tab:u}:{}};return i(h).then(f=>{f&&f.accepted===!1&&(Yt.disabled=!0)},()=>{}),!0}catch{return!1}}function wG(){const e=Yt.now(),n=(Yt.sentAt??=jG(rk)).filter(i=>e-i<36e5&&i<=e);if(Yt.sentAt=n,n.length>=iG||n.filter(i=>e-i<6e4).length>=aG)return!1;n.push(e);try{window.sessionStorage.setItem(rk,JSON.stringify(n))}catch{}return!0}function kG(e){let n=Yt.memory.get(e);return n||(n=new Set(SG(e)),Yt.memory.set(e,n)),n}function SN(e){try{const n=window.sessionStorage.getItem(e),i=n?JSON.parse(n):[];return Array.isArray(i)?i:[]}catch{return[]}}function SG(e){return SN(e).filter(n=>typeof n=="string")}function jG(e){return SN(e).filter(n=>typeof n=="number"&&Number.isFinite(n))}function AG(e){const n=e instanceof Error?e.name:e&&typeof e=="object"&&"name"in e?String(e.name):void 0;return n&&lN.test(n)?n:void 0}function jN(e){const n=e?.toUpperCase();return n==="GET"||n==="POST"||n==="PUT"||n==="PATCH"||n==="DELETE"?n:void 0}class wn extends Error{code;statusCode;details;constructor(n,i,r,u){super(n),this.name="ApiError",this.code=r??"UNKNOWN",this.statusCode=i,this.details=u}}function Bte(e){if(e instanceof wn)return e.details;if(typeof e!="object"||e===null)return;const n=e.error,i=typeof n=="object"&&n!==null?n.details:e.details;return typeof i=="object"&&i!==null&&!Array.isArray(i)?i:void 0}function So(){if(typeof window>"u")return!1;const e=window.__CANONRY_CONFIG__?.demo;return e?.enabled===!0&&e.readOnly===!0&&e.sampleData===!0}function NG(){if(typeof window>"u")return"legacy";const e=window.__CANONRY_CONFIG__?.dashboard?.onboardingMode??window.__CANONRY_CONFIG__?.onboardingMode;return e==="platform"||e==="auto"||e==="legacy"?e:"auto"}function CG(){if(typeof window>"u")return;const e=window.__CANONRY_CONFIG__?.embed?.renderToken;return typeof e=="string"&&e.length>0?e:void 0}function AN(e){const n=CG();if(!n)return e;let i;const r=typeof window<"u"&&window.location?window.location.href:"http://localhost/";try{i=new URL(e,r)}catch{return e}const u=new URL(r).origin;if(i.origin!==u)return e;const f=`${$m().replace(/\/$/,"")}/api/v1`;return i.pathname!==f&&!i.pathname.startsWith(`${f}/`)?e:(i.searchParams.set("token",n),/^[a-z][a-z\d+.-]*:/i.test(e)?i.toString():`${i.pathname}${i.search}${i.hash}`)}function _G(e,n){const i={method:e.method,headers:e.headers,cache:e.cache,credentials:e.credentials,integrity:e.integrity,keepalive:e.keepalive,mode:e.mode,redirect:e.redirect,referrer:e.referrer,referrerPolicy:e.referrerPolicy,signal:e.signal};return e.body&&(i.body=e.body,i.duplex="half"),new Request(n,i)}function NN(){if(typeof window>"u")return null;const e=window.__CANONRY_CONFIG__?.embed;return e?.enabled?e:null}function TG(){return typeof window>"u"?!0:window.__CANONRY_CONFIG__?.dashboard?.showResourceLinks!==!1}function EG(){return typeof window>"u"?!0:window.__CANONRY_CONFIG__?.dashboard?.showAgentBar!==!1}function RG(){return typeof window>"u"?!1:window.__CANONRY_CONFIG__?.agent?.allowViewers===!0}function w1(){return So()}function DG(){return typeof window>"u"?!0:window.__CANONRY_CONFIG__?.dashboard?.showUpdateNotification!==!1}function bo(){return zG(De["answer-visibility"])}function zG(e){if(typeof window>"u")return!1;const n=window.__CANONRY_CONFIG__?.dashboard;return n?.managedRunKinds!==void 0?n.managedRunKinds.includes(e):e===De["answer-visibility"]&&n?.managedSweeps===!0}function IG(){if(typeof window>"u")return null;const e=window.__CANONRY_CONFIG__?.research;if(e?.allowViewers!==!0)return null;const n=e.viewerDailyRunLimit;return{allowViewers:!0,viewerDailyRunLimit:Number.isInteger(n)&&(n??0)>0?n:s$}}function ck(){return IG()?"Analyst":"View only"}function Vm(){return NN()!==null}function OG(){return typeof window<"u"&&window.__CANONRY_CONFIG__?.basePath?window.__CANONRY_CONFIG__.basePath.replace(/\/$/,"")+"/api/v1":"/api/v1"}const CN=OG();function PG(){const e=typeof window<"u"&&window.location?window.location.origin:"";return typeof window<"u"&&window.__CANONRY_CONFIG__?.basePath?e+window.__CANONRY_CONFIG__.basePath.replace(/\/$/,""):e}function $m(){return typeof window<"u"&&window.__CANONRY_CONFIG__?.basePath?window.__CANONRY_CONFIG__.basePath.replace(/\/$/,""):""}function qG(e){const n=e.trim().toLowerCase().replace(/^\[|\]$/g,"");return n==="localhost"||n==="::1"?!0:/^127\.\d{1,3}\.\d{1,3}\.\d{1,3}$/.test(n)}function MG(e,n){if(e.protocol!=="http:"&&e.protocol!=="https:"||!qG(e.hostname))return;const i=e.port?`:${e.port}`:"",r=n?n.replace(/\/$/,""):"";return`${e.protocol}//localhost${i}${r}`}function Lte(e){return`${e.replace(/\/$/,"")}/api/v1/google/callback`}function Ute(e){return`${e.replace(/\/$/,"")}/api/v1/google-marketing/callback`}function BG(){if(!(typeof window>"u"))return MG(window.location,$m())}function LG(e){return`${$m()}${e}`}function UG(e,n){if(n===404)return"Health endpoint returned 404. Check basePath or reverse-proxy configuration and make sure the dashboard reaches /health instead of an API-prefixed route."}function VG(){return""}function $G(){return!!VG()}let _N=null;function uk(e){_N=e}function k1(){_N?.()}const W=WE({baseUrl:PG()});W.interceptors.response.use((e,n)=>(e.status===401&&!n.url.includes("/api/v1/session")&&k1(),e));W.interceptors.request.use(e=>{const n=AN(e.url);return n===e.url?e:_G(e,n)});async function ge(e){const n=await e();if(n.error!==void 0&&n.error!==null){const i=n.response.status;let r=`API ${i}: ${n.response.statusText}`,u,h;if(typeof n.error=="object"&&n.error!==null){const f=n.error.error;if(typeof f=="string")r=f;else if(f&&typeof f=="object"){const b=f;b.message&&(r=b.message),b.code&&(u=b.code),b.details&&(h=b.details)}else{const b=n.error;b.message&&(r=b.message),b.code&&(u=b.code),b.details&&(h=b.details)}}else typeof n.error=="string"&&(r=n.error);throw new wn(r,i,u,h)}if(n.response.status!==204)return n.data}async function Ls(e,n){const i=n?.body!=null,r=await fetch(AN(`${CN}${e}`),{...n,credentials:n?.credentials??"same-origin",headers:{...i?{"Content-Type":"application/json"}:{},...n?.headers}});if(!r.ok){const u=await r.text();let h=`API ${r.status}: ${r.statusText}`,f,b;if(u)try{const v=JSON.parse(u);typeof v.error=="string"?h=v.error:v.error?.message?(h=v.error.message,f=v.error.code,b=v.error.details):v.message&&(h=v.message)}catch{h=u}throw r.status===401&&!e.startsWith("/session")&&!e.startsWith("/auth/")&&k1(),new wn(h,r.status,f,b)}if(r.status!==204)return r.json()}function KG(e){return ge(()=>OS({client:W,path:{name:e}}))}function Vte(e){return ge(()=>MS({client:W,path:{name:e}}))}function xg(e){return ge(()=>BS({client:W,path:{id:e}}))}function TN(e){return ge(()=>qS({client:W,path:{name:e}}))}function GG(e,n,i){return ge(()=>E_({client:W,path:{name:e},query:{location:n,limit:i}}))}function EN(e,n){return ge(()=>uE({client:W,path:{name:e},query:{location:n?.location,since:n?.since}}))}function RN(e,n){return ge(()=>U6({client:W,path:{name:e},body:n}))}function HG(e){return ge(()=>B6({client:W,body:e}))}function FG(e,n){return ge(()=>y_({client:W,path:{name:e},body:{queries:n}}))}function QG(e,n){return ge(()=>g_({client:W,path:{name:e},body:{queries:n}}))}function $te(e,n){return ge(()=>f_({client:W,path:{name:e},body:{queries:n}}))}function ZG(e,n){return ge(()=>x_({client:W,path:{name:e},body:{competitors:n}}))}function Kte(e,n){return ge(()=>v_({client:W,path:{name:e},body:{competitors:n}}))}function Gte(e,n){return ge(()=>w_({client:W,path:{name:e,id:n}}))}async function Hte(e,n){const i=await KG(e);return RN(e,{displayName:n.displayName??i.displayName??i.name,canonicalDomain:n.canonicalDomain??i.canonicalDomain,ownedDomains:n.ownedDomains??i.ownedDomains,aliases:n.aliases??i.aliases,country:n.country??i.country,language:n.language??i.language,tags:i.tags,labels:i.labels,providers:n.providers??i.providers,providerModels:n.providerModels??i.providerModels??{},locations:n.locations??i.locations,defaultLocation:n.defaultLocation!==void 0?n.defaultLocation:i.defaultLocation,autoExtractBacklinks:i.autoExtractBacklinks,...n.siteAuditMaxPages!==void 0?{siteAuditMaxPages:n.siteAuditMaxPages}:{}})}function YG(e,n){const i={};return n?.location&&(i.location=n.location),n?.allLocations&&(i.allLocations=!0),n?.noLocation&&(i.noLocation=!0),ge(()=>S_({client:W,path:{name:e},body:i}))}function Fte(e,n){return ge(()=>m_({client:W,path:{name:e},body:n}))}async function Qte(e,n){await ge(()=>p_({client:W,path:{name:e,label:n}}))}function Zte(e,n){return ge(()=>h_({client:W,path:{name:e},body:{label:n}}))}async function Yte(e){await ge(()=>L6({client:W,path:{name:e}}))}function Xte(){return ge(()=>LS({client:W}))}function dk(){return Ls("/session")}function XG(e){return Ls("/session/setup",{method:"POST",body:JSON.stringify({password:e})})}function JG(e){return Ls("/session",{method:"POST",body:JSON.stringify({password:e})})}function WG(e){return Ls("/session",{method:"POST",body:JSON.stringify({apiKey:e})})}function eH(){return Ls("/session",{method:"DELETE"})}function Mf(){return ge(()=>O_({client:W}))}function mk(){return Ls("/auth/session")}function tH(e,n){return Ls("/auth/login",{method:"POST",body:JSON.stringify({name:e,password:n})})}function pk(){return Ls("/auth/logout",{method:"POST"})}function DN(e,n){return ge(()=>z_({client:W,path:{name:e},body:n}))}async function S1(e){for(let n=0;n<2;n+=1)try{await ge(()=>Q_({client:W,body:e}));return}catch(i){if(!(!(i instanceof wn)||i.statusCode>=500)||n===1)return}}function Jte(e){return ge(()=>I_({client:W,body:e}))}function Wte(e,n){return ge(()=>L_({client:W,path:{name:e},body:n}))}async function ene(e,n){await ge(()=>M_({client:W,path:{name:e},query:n===void 0?void 0:{expectedUpdatedAt:n}}))}function tne(e){return ge(()=>V_({client:W,path:{name:e}}))}function nne(e,n){return ge(()=>$_({client:W,path:{name:e},body:n}))}async function ane(e,n){await ge(()=>K_({client:W,path:{name:e,id:n}}))}function ine(e,n){return ge(()=>G_({client:W,path:{name:e,id:n}}))}function nH(e,n,i){return ge(()=>b_({client:W,path:{name:e},body:{provider:n,count:i}}))}function aH(e){return ge(()=>C_({client:W,body:e}))}function iH(e){return ge(()=>N_({client:W,body:e??{}}))}function sne(e,n){const i=BG();return ge(()=>bT({client:W,path:{name:e},body:{type:n,...i?{publicUrl:i}:{}}}))}function one(e,n){return ge(()=>vT({client:W,path:{name:e,type:n}}))}function rne(e,n,i){return ge(()=>wT({client:W,path:{name:e,type:n},body:{propertyId:i}}))}function lne(e,n,i){return ge(()=>kT({client:W,path:{name:e,type:n},body:{sitemapUrl:i}}))}function sH(e,n){return ge(()=>ST({client:W,path:{name:e},body:n??{}}))}function cne(e,n){const i={};return n&&n!=="all"&&(i.window=n),ge(()=>R_({client:W,path:{name:e},query:i}))}function une(e,n){return ge(()=>NT({client:W,path:{name:e},body:{url:n}}))}function oH(e,n){return ge(()=>DT({client:W,path:{name:e},body:n??{}}))}function dne(e,n){return ge(()=>RT({client:W,path:{name:e},query:n?{sitemapIndex:n}:void 0}))}function mne(e,n){return ge(()=>q6({client:W,path:{name:e},body:{sitemapUrls:n}}))}function rH(e,n){return ge(()=>GE({client:W,path:{name:e},body:n??{}}))}function pne(e,n){return ge(()=>DE({client:W,path:{name:e},body:n??{}}))}function hne(){return ge(()=>US({client:W}))}function fne(e,n){return ge(()=>q_({client:W,body:{host:e,port:n}}))}function gne(e,n){return ge(()=>zT({client:W,path:{name:e},body:n}))}function yne(e,n){return ge(()=>VT({client:W,path:{name:e},body:{apiKey:n}}))}function bne(e){return ge(()=>$T({client:W,path:{name:e}}))}function vne(e,n){return ge(()=>HT({client:W,path:{name:e},body:{siteUrl:n}}))}function xne(e,n){return ge(()=>ZT({client:W,path:{name:e},body:{url:n}}))}function wne(e,n){return ge(()=>YT({client:W,path:{name:e},body:{}}))}function kne(e,n){return ge(()=>XT({client:W,path:{name:e},body:n}))}function Sne(e){return ge(()=>P_({client:W,body:{apiKey:e}}))}function lH(e){return e?/filename\s*=\s*"?([^";]+)"?/i.exec(e)?.[1]??null:null}async function jne(e,n){const i=await fetch(`${CN}/projects/${encodeURIComponent(e)}/results/export?format=${n}`,{credentials:"same-origin",headers:{}});if(!i.ok)throw rm({method:"GET",route:"/api/v1/projects/{name}/results/export",status:i.status}),new wn(`Failed to download results: ${i.status}`,i.status);al("export.download",{format:n});const r=await i.blob(),u=URL.createObjectURL(r),h=lH(i.headers.get("Content-Disposition"))??`canonry-results-${e}.${n}`,f=document.createElement("a");f.href=u,f.download=h,document.body.appendChild(f),f.click(),document.body.removeChild(f),URL.revokeObjectURL(u)}function Ane(e,n){return ge(()=>nE({client:W,path:{name:e},body:{}}))}function Nne(e,n){return ge(()=>WT({client:W,path:{name:e},body:n}))}function Cne(e){return ge(()=>eE({client:W,path:{name:e}}))}function _ne(e,n){return ge(()=>SE({client:W,path:{name:e},body:n}))}function Tne(e,n){return ge(()=>jE({client:W,path:{name:e},body:n}))}function Ene(e,n){return ge(()=>AE({client:W,path:{name:e},body:n}))}function Rne(e,n,i){return ge(()=>NE({client:W,path:{name:e,id:n},body:i??{}}))}function Dne(e,n,i){return ge(()=>CE({client:W,path:{name:e,id:n},body:{}}))}function zne(e,n){return ge(()=>rE({client:W,path:{name:e},query:{runId:n}}))}function cH(e){if(!e||typeof e!="object")return;const n=e;if(!(typeof n.current!="string"||typeof n.latest!="string"||typeof n.url!="string"||typeof n.upgradeCommand!="string"))return{current:n.current,latest:n.latest,url:n.url,upgradeCommand:n.upgradeCommand}}async function uH(e,n){const i=LG(e);try{const r=await fetch(i,{credentials:"same-origin"});if(!r.ok)return{label:n,state:"error",detail:`${n} ${r.status}: ${r.statusText}`,statusCode:r.status,hint:UG(e,r.status)};const u=await r.json(),h=typeof u.version=="string"?u.version:"unknown",f=typeof u.databaseUrlConfigured=="boolean"?u.databaseUrlConfigured:void 0,b=typeof u.lastHeartbeatAt=="string"?u.lastHeartbeatAt:void 0,v=cH(u.updateAvailable),x=dK.safeParse(u.mcp),k=[h,f===!1?"database not configured":"database configured",b?`heartbeat ${b}`:void 0].filter(Boolean).join(" · ");return{label:n,state:"ok",detail:k,version:h,databaseConfigured:f,lastHeartbeatAt:b,...v?{updateAvailable:v}:{},...x.success?{mcp:x.data}:{}}}catch(r){return{label:n,state:"error",detail:r instanceof Error?r.message:"unreachable",hint:e==="/health"?`Request failed while checking ${i}. If this instance is served behind a sub-path, verify the dashboard basePath and reverse-proxy rewrites.`:void 0}}}function Ine(){return ge(()=>dE({client:W}))}function One(){return ge(()=>mE({client:W}))}function Pne(){return ge(()=>fE({client:W}))}function qne(){return ge(()=>pE({client:W}))}function Mne(e){return ge(()=>hE({client:W,body:e?{release:e}:{}}))}function Bne(){return ge(()=>gE({client:W}))}function Lne(){return ge(()=>yE({client:W}))}function Une(e){return ge(()=>bE({client:W,path:{release:e}}))}function Vne(e,n={}){return ge(()=>xE({client:W,path:{name:e},query:{release:n.release,excludeCrawlers:n.excludeCrawlers?"1":void 0,source:n.source}}))}function $ne(e,n={}){return ge(()=>wE({client:W,path:{name:e},query:{limit:n.limit!==void 0?String(n.limit):void 0,offset:n.offset!==void 0?String(n.offset):void 0,release:n.release,excludeCrawlers:n.excludeCrawlers?"1":void 0,source:n.source}}))}function Kne(e,n={}){return ge(()=>kE({client:W,path:{name:e},query:{source:n.source}}))}function Gne(e,n){return ge(()=>vE({client:W,path:{name:e},body:{release:void 0}}))}async function hk(e,n){return ge(()=>QE({client:W,path:{name:e},query:n}))}async function dH(e,n){return ge(()=>ZE({client:W,path:{name:e},body:{id:n}}))}async function mH(e,n){return ge(()=>XE({client:W,path:{name:e,id:n}}))}async function pH(e,n){return ge(()=>YE({client:W,path:{name:e,id:n}}))}async function hH(e,n){const i=f=>ge(()=>Q6({client:W,path:{name:e},query:{...n,include:["assessments","locations"],queryLimit:lA,queryCursor:f}})),r=await i(),u=[...r.queries];let h=r.queryPage?.nextCursor??null;for(;h;){const f=await i(h);u.push(...f.queries),h=f.queryPage?.nextCursor??null}return{...r,queries:u,...r.queryPage?{queryPage:{...r.queryPage,nextCursor:null}}:{}}}function Pd(e){return ge(()=>H6({client:W,path:{name:e}}))}function fH(e,n){return ge(()=>F6({client:W,path:{name:e},body:n}))}function gH(e,n,i){return ge(()=>Z6({client:W,path:{name:e},query:{...n,cursor:i,limit:50}}))}function yH(e,n){return ge(()=>Y6({client:W,path:{name:e},query:n}))}function bH(e,n,i){return ge(()=>X6({client:W,path:{name:e},body:{previewToken:n,idempotencyKey:i}}))}function vH(e){return ge(()=>J6({client:W,path:{name:e}}))}function xH(e,n,i){return ge(()=>W6({client:W,path:{name:e,jobId:n},query:{attemptCursor:i}}))}const zN={account:null,canWrite:!0,isAdmin:!0},wH={account:null,canWrite:!1,isAdmin:!1};function kH(e){const n=e.scopes.includes(ak);return{account:null,canWrite:!e.readOnly&&n,isAdmin:e.projectId===null&&e.scopes.includes(ak)}}const IN=C.createContext(zN);function SH({account:e,apiKey:n,apiKeyPending:i=!1,children:r}){const u=i?wH:n?kH(n):e?{account:e,canWrite:e.role==="admin",isAdmin:e.role==="admin"}:zN;return l.jsx(IN.Provider,{value:u,children:r})}function fa(){return C.useContext(IN)}const ON="View only — your account cannot change this.";function fn(e){return(...n)=>{e(...n)}}const jH=6e3,AH=5,NH=180;let Pn=[],CH=0;const wg=new Set,kg=new Map,Sg=new Map;function lm(){const e=[...Pn];for(const n of wg)n(e)}function j1(e){const n=kg.get(e);n&&(clearTimeout(n),kg.delete(e));const i=Sg.get(e);i&&(clearTimeout(i),Sg.delete(e))}function PN(e){j1(e);const n=Pn.length;Pn=Pn.filter(i=>i.id!==e),Pn.length!==n&&lm()}function fk(e){j1(e.id),kg.set(e.id,setTimeout(()=>{jg(e.id)},e.durationMs))}function _H(e,n,i){return typeof e=="string"?{title:e,tone:n,durationMs:i}:e}function yn(e,n="negative",i=jH){const r=_H(e,n,i),u={id:String(++CH),title:r.title,detail:r.detail,tone:r.tone??n,durationMs:r.durationMs??i,dedupeKey:r.dedupeKey,cta:r.cta,state:"open"};if(r.dedupeKey){const h=Pn.find(f=>f.dedupeKey===r.dedupeKey);if(h){if((r.dedupeMode??"drop")==="drop")return h.id;const f={...h,title:u.title,detail:u.detail,tone:u.tone,durationMs:u.durationMs,cta:u.cta,state:"open"};return Pn=Pn.map(b=>b.id===h.id?f:b),lm(),fk(f),h.id}}return Pn.length>=AH&&PN(Pn[0].id),Pn=[...Pn,u],lm(),fk(u),u.id}function jg(e){const n=Pn.find(i=>i.id===e);!n||n.state==="closing"||(j1(e),Pn=Pn.map(i=>i.id===e?{...i,state:"closing"}:i),lm(),Sg.set(e,setTimeout(()=>{PN(e)},NH)))}function TH(e){return wg.add(e),()=>{wg.delete(e)}}function gk(){return Pn}const Ag={project:"getApiV1ProjectsByName",google:"getApiV1ProjectsByNameGoogle",gsc:"getApiV1ProjectsByNameGoogleGsc",bing:"getApiV1ProjectsByNameBing",ga:"getApiV1ProjectsByNameGa",gbp:"getApiV1ProjectsByNameGbp",ads:"getApiV1ProjectsByNameAds",googleAds:"getApiV1ProjectsByNameGoogleAds",gtm:"getApiV1ProjectsByNameGtm",conversionTracking:"getApiV1ProjectsByNameConversionTracking",traffic:"getApiV1ProjectsByNameTraffic",discovery:"getApiV1ProjectsByNameDiscover",researchRuns:"getApiV1ProjectsByNameResearchRuns",visibilityReport:"getApiV1ProjectsByNameVisibilityReport",queryTracking:"getApiV1ProjectsByNameQueryTracking",technicalAeo:"getApiV1ProjectsByNameTechnicalAeo",runs:"getApiV1ProjectsByNameRuns",runAdmission:"getApiV1ProjectsByNameRunAdmission"};function On(e,n){const i=Ag[n];return e.invalidateQueries({predicate:r=>{const u=r.queryKey[0];return typeof u?._id=="string"&&u._id.startsWith(i)}})}function Hne(e,n){return e.invalidateQueries({predicate:i=>{const r=i.queryKey[0];return r?.path?.name!==n||typeof r._id!="string"?!1:r._id.startsWith("getApiV1ProjectsByNameMeasurement")||r._id===Ag.queryTracking||r._id===Ag.visibilityReport||r._id==="getApiV1ProjectsByNameQueries"||r._id==="getApiV1ProjectsByName"}})}const EH=new Set(["getApiV1Projects","getApiV1Runs","getApiV1History","getApiV1NotificationsEvents"]);function RH(e,n,i){if(!["POST","PUT","PATCH","DELETE"].includes(n.method))return;const u=new URL(n.url).pathname.match(/\/api\/v1\/(.*)$/)?.[1];if(!u||/^(?:telemetry|feedback|auth|session)(?:\/|$)/.test(u))return;const h=u.match(/^projects\/([^/]+)(?:\/(.*))?$/),f=h?h[2]??"":u;if(n.method==="POST"&&/(?:^|\/)(?:[^/]*-preview|preview(?:-[^/]+)?|test|generate)$/.test(f))return;const b=i&&typeof i=="object"?i:null;if(b?.dryRun===!0||u.endsWith("/results/clear")&&b?.confirm!==!0)return;const v=h?decodeURIComponent(h[1]):null,x=h?.[2]?.startsWith("agent/")??!1,k=new Set(v?[v]:[]),S=new Set;if(v)for(const P of e.getQueryCache().getAll()){const M=P.queryKey[0],L=P.state.data,$=M?._id==="getApiV1Projects"&&Array.isArray(L)?L:L&&typeof L=="object"&&"project"in L?[L.project]:M?._id==="getApiV1ProjectsByName"?[L]:[];for(const H of $)H&&(H.name===v||H.id===v)&&(k.add(H.name),k.add(H.id),S.add(H.id))}const N=P=>{const M=P.queryKey[0];if(x)return M?.path?.name===v&&M._id?.startsWith("getApiV1ProjectsByNameAgent")===!0||P.queryKey[0]==="aero-preview"&&P.queryKey[1]===v;if(M?._id?.startsWith("getApiV1ProjectsByName")&&M.path?.name&&k.has(M.path.name))return!0;const L=P.queryKey[0];if(["projects","project-dashboard-full","project-overview-slim"].includes(L))return S.has(P.queryKey[1]);if(["sentiment","gbp-section-insights","analytics-metrics","aero-preview"].includes(L))return L==="analytics-metrics"&&h?.[2]?.startsWith("competitors")?!1:k.has(P.queryKey[1]);if(L==="setup")return k.has(P.queryKey[2]);const $=P.state.data;return M?._id==="getApiV1RunsById"&&!!$?.projectId&&S.has($.projectId)},_=P=>EH.has(P.queryKey[0]?._id??""),z=n.method==="POST"&&/^(?:runs|technical-aeo\/runs|discover\/run|backlinks\/extract|google\/gsc\/(?:sync|inspect-sitemap)|bing\/inspect-sitemap|(?:gbp|ads|google-ads|gtm)\/sync)$/.test(f),q=P=>{const M=P.queryKey[0];return _(P)||["getApiV1ProjectsByName","getApiV1ProjectsByNameOverview","getApiV1ProjectsByNameRuns","getApiV1ProjectsByNameTechnicalAeoRuns","getApiV1ProjectsByNameTimeline"].includes(M?._id??"")||P.queryKey[0]==="project-dashboard-full"&&P.queryKey[3]==="overview"||P.queryKey[0]==="project-overview-slim"},E=v?P=>N(P)&&(!z||q(P))||!x&&_(P):P=>!z||q(P);if(e.cancelQueries({predicate:E,type:"active"}),h&&!h[2]&&n.method==="DELETE"){e.removeQueries({predicate:N}),e.setQueriesData({predicate:P=>P.queryKey[0]?._id==="getApiV1Projects"},P=>P?.filter(M=>!k.has(M.name)&&!k.has(M.id))),e.setQueriesData({predicate:P=>P.queryKey[0]?._id==="getApiV1Runs"},P=>P?.filter(M=>!S.has(M.projectId))),e.invalidateQueries({predicate:_});return}e.invalidateQueries({predicate:E})}const DH=5*6e4,qd=30*6e4,Fne=3e4,Qne=6e4,_s=3e4,zH=2e3,IH=3e4;let yk;function OH(){const e=new M5({defaultOptions:{queries:{staleTime:DH,retry:1,refetchOnWindowFocus:!1}},mutationCache:new B5({onError:(u,h,f,b)=>{b.meta?.skipGlobalErrorToast||yn({title:u instanceof Error?u.message:"An unexpected error occurred",tone:"negative"})}})});yk?.();const n=new WeakSet,i=W.interceptors.request.use(u=>(n.add(u),u)),r=W.interceptors.response.use((u,h,f)=>(u.ok&&n.has(h)&&RH(e,h,f.body),u));return yk=()=>{W.interceptors.request.eject(i),W.interceptors.response.eject(r)},e}const PH="modulepreload",qH=function(e,n){return new URL(e,n).href},bk={},Fi=function(n,i,r){let u=Promise.resolve();if(i&&i.length>0){let x=function(k){return Promise.all(k.map(S=>Promise.resolve(S).then(N=>({status:"fulfilled",value:N}),N=>({status:"rejected",reason:N}))))};const f=document.getElementsByTagName("link"),b=document.querySelector("meta[property=csp-nonce]"),v=b?.nonce||b?.getAttribute("nonce");u=x(i.map(k=>{if(k=qH(k,r),k in bk)return;bk[k]=!0;const S=k.endsWith(".css"),N=S?'[rel="stylesheet"]':"";if(r)for(let z=f.length-1;z>=0;z--){const q=f[z];if(q.href===k&&(!S||q.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${k}"]${N}`))return;const _=document.createElement("link");if(_.rel=S?"stylesheet":PH,S||(_.as="script"),_.crossOrigin="",_.href=k,v&&_.setAttribute("nonce",v),document.head.appendChild(_),S)return new Promise((z,q)=>{_.addEventListener("load",z),_.addEventListener("error",()=>q(new Error(`Unable to preload CSS for ${k}`)))})}))}function h(f){const b=new Event("vite:preloadError",{cancelable:!0});if(b.payload=f,window.dispatchEvent(b),!b.defaultPrevented)throw f}return u.then(f=>{for(const b of f||[])b.status==="rejected"&&h(b.reason);return n().catch(h)})},A1=C.createContext({view:null,publish:()=>()=>{}});function MH({children:e}){const[n,i]=C.useState(null),r=C.useCallback(u=>(i(u),()=>i(h=>h===u?null:h)),[]);return l.jsx(A1.Provider,{value:C.useMemo(()=>({view:n,publish:r}),[n,r]),children:e})}function Zne(e,n){const{publish:i}=C.useContext(A1),r=JSON.stringify(n);C.useEffect(()=>i({project:e,context:JSON.parse(r)}),[i,e,r])}function BH(e,n){const{view:i}=C.useContext(A1);return i?.project===e&&i.context.view===n.view?i.context:n}var LH=(e=>(e.Clicks="clicks",e.Impressions="impressions",e.CTR="ctr",e.Position="position",e))(LH||{});const Yne={clicks:"Clicks",impressions:"Impressions",ctr:"CTR",position:"Position"},Xne={clicks:"Clicks",impressions:"Impr",ctr:"CTR",position:"Pos"},UH=C0;function Jne(e){return e.endsWith("%")?{figure:e.slice(0,-1),sign:"%"}:{figure:e,sign:""}}function Wne(e,n){return n==="cited"?$K(e):VK(e)}function VH(e){const n=[];if(e.message&&n.push(e.message),e.providers)for(const[i,r]of Object.entries(e.providers)){const u=`[${i}] ${r.message}`;r.raw!==void 0?n.push(`${u}
|
|
53
|
+
|
|
54
|
+
${JSON.stringify(r.raw,null,2)}`):n.push(u)}return n.length>0?n.join(`
|
|
55
|
+
|
|
56
|
+
`):"Run failed."}function $H(e){return e.split("-").map(n=>n.charAt(0).toUpperCase()+n.slice(1)).join(" ")}function KH(e,n,i=new Date){const r=new Date(e);if(Number.isNaN(r.getTime()))return e;const u=r.toLocaleTimeString("en-US",{hour:"numeric",minute:"2-digit"});return n&&new Date(n).toDateString()===r.toDateString()?u:`${GH(e,i)}, ${u}`}function GH(e,n=new Date){const i=new Date(e);return Number.isNaN(i.getTime())?e:i.getFullYear()===n.getFullYear()?HH(e):i.toLocaleDateString("en-US",{month:"short",day:"numeric",year:"numeric"})}function HH(e){const n=new Date(e);return Number.isNaN(n.getTime())?e:n.toLocaleDateString("en-US",{month:"short",day:"numeric"})}function FH(e){if(!e)return"—";try{return new Date(e).toLocaleString()}catch{return e}}function eae(e){return e===null?"Unknown":e?"Pass":"Fail"}function vk(e){return e===0?"12:00 AM":e<12?`${e}:00 AM`:e===12?"12:00 PM":`${e-12}:00 PM`}function tae(e,n){return e==="twice-daily"?"twice-daily":e.startsWith("weekly@")?`${e}@${n}`:`daily@${n}`}function nae(e,n){if(!e)return{freq:"custom",hour:6,customCron:n};if(e==="twice-daily")return{freq:"twice-daily",hour:6,customCron:""};const i=e.match(/^daily(?:@(\d+))?$/);if(i)return{freq:"daily",hour:i[1]?parseInt(i[1]):6,customCron:""};const r=e.match(/^(weekly@(?:mon|tue|wed|thu|fri|sat|sun))(?:@(\d+))?$/);return r?{freq:r[1],hour:r[2]?parseInt(r[2]):6,customCron:""}:{freq:"custom",hour:6,customCron:n}}function aae(e,n,i){const r=i==="UTC"?"UTC":i.split("/").pop()?.replace(/_/g," ")??i;if(!e)return`Custom: ${n} · ${r}`;if(e==="twice-daily")return`Twice a day (6am & 6pm) · ${r}`;const u=e.match(/^daily(?:@(\d+))?$/);if(u){const f=u[1]?parseInt(u[1]):6;return`Every day at ${vk(f)} · ${r}`}const h=e.match(/^weekly@(mon|tue|wed|thu|fri|sat|sun)(?:@(\d+))?$/);if(h){const f={mon:"Monday",tue:"Tuesday",wed:"Wednesday",thu:"Thursday",fri:"Friday",sat:"Saturday",sun:"Sunday"},b=h[2]?parseInt(h[2]):6;return`Every ${f[h[1]]} at ${vk(b)} · ${r}`}return`${e} · ${r}`}function QH(e,n){return n&&n!==e?`${e} · ${n}`:e}function iae(){const e=Intl.DateTimeFormat().resolvedOptions().timeZone,n=new Intl.DateTimeFormat("en-US",{timeZoneName:"short"}).formatToParts().find(i=>i.type==="timeZoneName")?.value;return QH(e,n)}function ZH(e){const n=e.replace(/\/+$/,"")||"/";return n==="/"?"overview":n==="/projects"?"projects":n.startsWith("/projects/")?"project":n==="/runs"?"runs":n==="/traffic"||n.startsWith("/traffic/")?"traffic":n==="/backlinks"?"backlinks":n==="/settings"?"settings":n==="/setup"?"setup":"other"}function YH(e,n){return!n||n.includes(e)}const qN=["overview","search-console","local","activity","backlinks","technical-aeo","history","settings"],XH=new Set(qN);function JH(e){if(iN(e))return[];const n=e??qN,i=[...new Set(n.filter(r=>XH.has(r)))];return i.length>0?i:["overview"]}function sae(e){return e?JH(e.projectTabs):void 0}function oae(e,n){return YH(e,n)||!n?e:n.includes("overview")?"overview":n[0]??"overview"}const xk={bg:"--canonry-embed-bg",fg:"--canonry-embed-fg",accent:"--color-link"},WH=/^(?:#(?:[0-9a-f]{3,4}|[0-9a-f]{6}|[0-9a-f]{8})|rgba?\([0-9.,%\s/]+\)|hsla?\([0-9.,%\s/a-z]+\))$/i;function eF(e){const n=e?.mode?.trim();return n==="light"||n==="dark"?n:void 0}function tF(e){if(!e)return{};const n={};for(const[i,r]of Object.entries(e)){const u=Object.hasOwn(xk,i)?xk[i]:void 0;if(!u||typeof r!="string")continue;const h=r.trim();WH.test(h)&&(n[u]=h)}return n}const he=(e,n,i,r)=>{const u={_id:e,baseUrl:n?.baseUrl||(n?.client??I).getConfig().baseUrl};return i&&(u._infinite=i),n?.body&&(u.body=n.body),n?.headers&&(u.headers=n.headers),n?.path&&(u.path=n.path),n?.query&&(u.query=n.query),[u]},Ur=e=>he("getApiV1Projects",e),qo=e=>be({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await M6({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:Ur(e)}),nF=e=>he("getApiV1ProjectsByName",e),aF=e=>be({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await OS({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:nF(e)}),iF=e=>he("getApiV1ProjectsByNameMeasurementPlan",e),rae=e=>be({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await V6({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:iF(e)}),sF=e=>he("getApiV1ProjectsByNameMeasurementReport",e),lae=e=>be({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await $6({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:sF(e)}),oF=e=>he("getApiV1ProjectsByNameMeasurementSetup",e),rF=e=>be({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await K6({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:oF(e)}),tu=(e,n)=>{const i={...e[0]};return n.body&&(i.body={...e[0].body,...n.body}),n.headers&&(i.headers={...e[0].headers,...n.headers}),n.path&&(i.path={...e[0].path,...n.path}),n.query&&(i.query={...e[0].query,...n.query}),i},cae=e=>({mutationFn:async i=>{const{data:r}=await G6({...e,...i,throwOnError:!0});return r}}),lF=e=>he("getApiV1ProjectsByNameMeasurementOverview",e),uae=e=>be({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await PS({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:lF(e)}),cF=e=>he("getApiV1ProjectsByNameMeasurementOverview",e,!0),dae=e=>qc({queryFn:async({pageParam:n,queryKey:i,signal:r})=>{const h=tu(i,typeof n=="object"?n:{query:{cursor:n}}),{data:f}=await PS({...e,...h,signal:r,throwOnError:!0});return f},queryKey:cF(e)}),uF=e=>he("getApiV1ProjectsByNameVisibilityReport",e),mae=e=>be({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await e_({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:uF(e)}),dF=e=>he("getApiV1ProjectsByNameMeasurementPropertyEvidence",e,!0),pae=e=>qc({queryFn:async({pageParam:n,queryKey:i,signal:r})=>{const h=tu(i,typeof n=="object"?n:{query:{cursor:n}}),{data:f}=await t_({...e,...h,signal:r,throwOnError:!0});return f},queryKey:dF(e)}),mF=e=>he("getApiV1ProjectsByNameMeasurementQuestionResult",e),hae=e=>be({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await n_({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:mF(e)}),pF=e=>he("getApiV1ProjectsByNameMeasurementPropertyCompetitors",e),fae=e=>be({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await a_({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:pF(e)}),hF=e=>he("getApiV1ProjectsByNameMeasurementQueryTemplates",e),gae=e=>be({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await i_({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:hF(e)}),yae=e=>({mutationFn:async i=>{const{data:r}=await s_({...e,...i,throwOnError:!0});return r}}),fF=e=>he("getApiV1ProjectsByNameResearchRuns",e,!0),bae=e=>qc({queryFn:async({pageParam:n,queryKey:i,signal:r})=>{const h=tu(i,typeof n=="object"?n:{query:{cursor:n}}),{data:f}=await o_({...e,...h,signal:r,throwOnError:!0});return f},queryKey:fF(e)}),vae=e=>({mutationFn:async i=>{const{data:r}=await r_({...e,...i,throwOnError:!0});return r}}),gF=e=>he("getApiV1ProjectsByNameQueryTracking",e),xae=e=>be({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await l_({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:gF(e)}),wae=e=>({mutationFn:async i=>{const{data:r}=await c_({...e,...i,throwOnError:!0});return r}}),kae=e=>({mutationFn:async i=>{const{data:r}=await u_({...e,...i,throwOnError:!0});return r}}),yF=e=>he("getApiV1ProjectsByNameResearchRunsByRunId",e),Sae=e=>be({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await d_({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:yF(e)}),MN=e=>he("getApiV1ProjectsByNameQueries",e),jae=e=>be({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await qS({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:MN(e)}),bF=e=>he("getApiV1ProjectsByNameAnalyticsCompetitors",e),Aae=e=>be({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await k_({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:bF(e)}),vF=e=>he("getApiV1ProjectsByNameRuns",e),BN=e=>be({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await MS({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:vF(e)}),xF=e=>he("getApiV1ProjectsByNameRunAdmission",e),Nae=e=>be({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await j_({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:xF(e)}),LN=e=>he("getApiV1Runs",e),Oc=e=>be({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await A_({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:LN(e)}),wF=e=>he("getApiV1RunsById",e),N1=e=>be({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await BS({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:wF(e)}),kF=e=>he("getApiV1ProjectsByNameHistory",e),Cae=e=>be({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await __({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:kF(e)}),SF=e=>he("getApiV1History",e),_ae=e=>be({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await T_({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:SF(e)}),jF=e=>he("getApiV1ProjectsByNameSnapshotsDiff",e),Tae=e=>be({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await D_({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:jF(e)}),AF=e=>he("getApiV1Settings",e),NF=e=>be({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await LS({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:AF(e)}),CF=e=>he("getApiV1ProjectsByNameSchedule",e),_F=e=>be({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await B_({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:CF(e)}),TF=e=>he("getApiV1ProjectsByNameSchedules",e),Eae=e=>be({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await U_({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:TF(e)}),UN=e=>he("getApiV1Telemetry",e),EF=e=>be({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await H_({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:UN(e)}),RF=e=>({mutationFn:async i=>{const{data:r}=await F_({...e,...i,throwOnError:!0});return r}}),DF=e=>he("getApiV1CdpStatus",e),zF=e=>be({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await US({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:DF(e)}),IF=e=>he("getApiV1ProjectsByNameGoogleAdsStatus",e),Rae=e=>be({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await Y_({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:IF(e)}),Dae=e=>({mutationFn:async i=>{const{data:r}=await X_({...e,...i,throwOnError:!0});return r}}),OF=e=>he("getApiV1ProjectsByNameGoogleAdsCustomers",e),zae=e=>be({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await J_({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:OF(e)}),Iae=e=>({mutationFn:async i=>{const{data:r}=await W_({...e,...i,throwOnError:!0});return r}}),Oae=e=>({mutationFn:async i=>{const{data:r}=await eT({...e,...i,throwOnError:!0});return r}}),PF=e=>he("getApiV1ProjectsByNameGoogleAdsPerformance",e),Pae=e=>be({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await tT({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:PF(e)}),qF=e=>he("getApiV1ProjectsByNameGoogleAdsSnapshots",e),qae=e=>be({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await nT({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:qF(e)}),Mae=e=>({mutationFn:async i=>{const{data:r}=await aT({...e,...i,throwOnError:!0});return r}}),MF=e=>he("getApiV1ProjectsByNameGtmStatus",e),Bae=e=>be({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await iT({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:MF(e)}),Lae=e=>({mutationFn:async i=>{const{data:r}=await sT({...e,...i,throwOnError:!0});return r}}),BF=e=>he("getApiV1ProjectsByNameGtmAccounts",e),Uae=e=>be({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await oT({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:BF(e)}),LF=e=>he("getApiV1ProjectsByNameGtmAccountsByAccountIdContainers",e),Vae=e=>be({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await rT({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:LF(e)}),UF=e=>he("getApiV1ProjectsByNameGtmAccountsByAccountIdContainersByContainerIdWorkspaces",e),$ae=e=>be({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await lT({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:UF(e)}),Kae=e=>({mutationFn:async i=>{const{data:r}=await cT({...e,...i,throwOnError:!0});return r}}),Gae=e=>({mutationFn:async i=>{const{data:r}=await uT({...e,...i,throwOnError:!0});return r}}),VF=e=>he("getApiV1ProjectsByNameGtmSnapshots",e),Hae=e=>be({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await dT({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:VF(e)}),Fae=e=>({mutationFn:async i=>{const{data:r}=await mT({...e,...i,throwOnError:!0});return r}}),$F=e=>he("getApiV1ProjectsByNameConversionTrackingOptions",e),Qae=e=>be({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await pT({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:$F(e)}),KF=e=>he("getApiV1ProjectsByNameConversionTrackingContracts",e),Zae=e=>be({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await hT({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:KF(e)}),Yae=e=>({mutationFn:async i=>{const{data:r}=await fT({...e,...i,throwOnError:!0});return r}}),GF=e=>he("getApiV1ProjectsByNameConversionTrackingContractsByContractIdIntegrity",e),Xae=e=>be({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await gT({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:GF(e)}),HF=e=>he("getApiV1ProjectsByNameGoogleConnections",e),Jae=e=>be({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await yT({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:HF(e)}),FF=e=>he("getApiV1ProjectsByNameGoogleProperties",e),Wae=e=>be({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await xT({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:FF(e)}),QF=e=>he("getApiV1ProjectsByNameGoogleGscPerformance",e),eie=e=>be({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await jT({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:QF(e)}),ZF=e=>he("getApiV1ProjectsByNameGoogleGscPerformanceDaily",e),tie=e=>be({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await AT({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:ZF(e)}),YF=e=>he("getApiV1ProjectsByNameGoogleGscInspections",e),nie=e=>be({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await CT({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:YF(e)}),XF=e=>he("getApiV1ProjectsByNameGoogleGscDeindexed",e),aie=e=>be({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await _T({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:XF(e)}),JF=e=>he("getApiV1ProjectsByNameGoogleGscCoverage",e),iie=e=>be({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await TT({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:JF(e)}),WF=e=>he("getApiV1ProjectsByNameGoogleGscCoverageHistory",e),sie=e=>be({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await ET({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:WF(e)}),oie=e=>he("getApiV1ProjectsByNameGoogleGscSitemaps",e),eQ=e=>he("getApiV1ProjectsByNameGbpLocations",e),rie=e=>be({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await IT({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:eQ(e)}),lie=e=>({mutationFn:async i=>{const{data:r}=await OT({...e,...i,throwOnError:!0});return r}}),cie=e=>({mutationFn:async i=>{const{data:r}=await PT({...e,...i,throwOnError:!0});return r}}),tQ=e=>he("getApiV1ProjectsByNameGbpKeywords",e),uie=e=>be({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await qT({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:tQ(e)}),nQ=e=>he("getApiV1ProjectsByNameGbpPlaceActions",e),die=e=>be({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await MT({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:nQ(e)}),aQ=e=>he("getApiV1ProjectsByNameGbpLodging",e),mie=e=>be({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await BT({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:aQ(e)}),iQ=e=>he("getApiV1ProjectsByNameGbpPlaces",e),pie=e=>be({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await LT({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:iQ(e)}),sQ=e=>he("getApiV1ProjectsByNameGbpSummary",e),hie=e=>be({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await UT({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:sQ(e)}),oQ=e=>he("getApiV1ProjectsByNameBingStatus",e),fie=e=>be({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await KT({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:oQ(e)}),rQ=e=>he("getApiV1ProjectsByNameBingSites",e),gie=e=>be({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await GT({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:rQ(e)}),lQ=e=>he("getApiV1ProjectsByNameBingCoverage",e),yie=e=>be({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await FT({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:lQ(e)}),cQ=e=>he("getApiV1ProjectsByNameBingInspections",e),bie=e=>be({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await QT({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:cQ(e)}),uQ=e=>he("getApiV1ProjectsByNameBingPerformance",e),vie=e=>be({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await JT({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:uQ(e)}),dQ=e=>he("getApiV1ProjectsByNameGaStatus",e),xie=e=>be({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await tE({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:dQ(e)}),mQ=e=>he("getApiV1ProjectsByNameGaTraffic",e),wie=e=>be({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await aE({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:mQ(e)}),pQ=e=>he("getApiV1ProjectsByNameGaAiReferralDaily",e),kie=e=>be({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await iE({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:pQ(e)}),hQ=e=>he("getApiV1ProjectsByNameGaSocialReferralHistory",e),Sie=e=>be({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await sE({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:hQ(e)}),fQ=e=>he("getApiV1ProjectsByNameGaSessionHistory",e),jie=e=>be({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await oE({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:fQ(e)}),gQ=e=>he("getApiV1ProjectsByNameHealthHistory",e),Aie=e=>be({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await lE({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:gQ(e)}),yQ=e=>he("getApiV1ProjectsByNameCitationsVisibility",e),Nie=e=>be({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await cE({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:yQ(e)}),bQ=e=>he("getApiV1ProjectsByNameTrafficSources",e),Cie=e=>be({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await _E({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:bQ(e)}),vQ=e=>he("getApiV1ProjectsByNameTrafficStatus",e),_ie=e=>be({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await TE({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:vQ(e)}),xQ=e=>he("getApiV1ProjectsByNameTrafficSourcesById",e),Tie=e=>be({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await EE({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:xQ(e)}),wQ=e=>he("getApiV1ProjectsByNameTrafficEvents",e),Eie=e=>be({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await RE({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:wQ(e)}),kQ=e=>he("getApiV1ProjectsByNameDiscoverSessions",e),Rie=e=>be({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await zE({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:kQ(e)}),SQ=e=>he("getApiV1ProjectsByNameDiscoverSessionsById",e),Die=e=>be({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await IE({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:SQ(e)}),jQ=e=>he("getApiV1ProjectsByNameTechnicalAeo",e),AQ=e=>be({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await OE({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:jQ(e)}),NQ=e=>he("getApiV1ProjectsByNameTechnicalAeoPages",e),zie=e=>be({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await PE({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:NQ(e)}),CQ=e=>he("getApiV1ProjectsByNameTechnicalAeoTrend",e),Iie=e=>be({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await qE({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:CQ(e)}),_Q=e=>he("getApiV1ProjectsByNameTechnicalAeoCrawl",e),Oie=e=>be({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await ME({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:_Q(e)}),TQ=e=>he("getApiV1ProjectsByNameTechnicalAeoGraph",e),Pie=e=>be({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await BE({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:TQ(e)}),EQ=e=>he("getApiV1ProjectsByNameTechnicalAeoCrawlPagesAudit",e),qie=e=>be({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await LE({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:EQ(e)}),RQ=e=>he("getApiV1ProjectsByNameTechnicalAeoCrawlPages",e),Mie=e=>be({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await VS({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:RQ(e)}),DQ=e=>he("getApiV1ProjectsByNameTechnicalAeoCrawlPages",e,!0),Bie=e=>qc({queryFn:async({pageParam:n,queryKey:i,signal:r})=>{const h=tu(i,typeof n=="object"?n:{query:{cursor:n}}),{data:f}=await VS({...e,...h,signal:r,throwOnError:!0});return f},queryKey:DQ(e)}),zQ=e=>he("getApiV1ProjectsByNameTechnicalAeoStructure",e,!0),Lie=e=>qc({queryFn:async({pageParam:n,queryKey:i,signal:r})=>{const h=tu(i,typeof n=="object"?n:{query:{cursor:n}}),{data:f}=await UE({...e,...h,signal:r,throwOnError:!0});return f},queryKey:zQ(e)}),IQ=e=>he("getApiV1ProjectsByNameTechnicalAeoInternalLinksNeighbors",e),Uie=e=>be({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await VE({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:IQ(e)}),OQ=e=>he("getApiV1ProjectsByNameTechnicalAeoDeadLinks",e),Vie=e=>be({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await $E({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:OQ(e)}),PQ=e=>he("getApiV1ProjectsByNameTechnicalAeoRuns",e),$ie=e=>be({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await KE({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:PQ(e)}),qQ=e=>he("getApiV1ProjectsByNameTechnicalAeoRunsByRunIdProgress",e),Kie=e=>be({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await HE({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:qQ(e)}),MQ=e=>he("getApiV1ProjectsByNameTechnicalAeoRunsByRunIdPageHealthPreview",e),Gie=e=>be({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await FE({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:MQ(e)}),BQ=e=>he("getApiV1ProjectsByNameAgentProviders",e),LQ=e=>be({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await JE({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:BQ(e)});function wk(e){return e.state==="ok"?"positive":e.state==="checking"||e.state==="disabled"?"neutral":"negative"}function VN(e){switch(e){case"completed":return"positive";case"partial":return"caution";case"failed":return"negative";case"cancelled":return"caution";case"queued":case"running":return"neutral";default:return"neutral"}}function Hie(e){switch(e){case"cited":return"positive";case"emerging":return"caution";case"not-cited":return"caution";case"lost":return"negative";case"pending":return"neutral";default:return"neutral"}}const Fie={positive:"text-positive-400",caution:"text-caution-400",negative:"text-negative-400",neutral:"text-secondary"};function Qie(e){return e>=50?"positive":e>=25?"caution":"negative"}function UQ(e){return e.displayName??e.name.charAt(0).toUpperCase()+e.name.slice(1)}function Vr(e){const n=[e.detail,e.hint].filter(Boolean);return n.length>0?n.join(`
|
|
57
|
+
`):void 0}function VQ(e,n,i){const r=e.filter(f=>f.id!=="mcp").map(f=>{if(f.id==="api")return{...f,tone:wk(n.apiStatus),detail:n.apiStatus.state==="ok"?"Healthy":"Needs attention",meta:n.apiStatus.detail};if(f.id==="worker")return{...f,tone:wk(n.workerStatus),detail:n.workerStatus.state==="ok"?"Healthy":n.workerStatus.state==="disabled"?"Disabled":"Needs attention",meta:n.workerStatus.detail};const b=i.providerStatuses.filter(S=>S.state==="ready").length,v=i.providerStatuses.length,x=b>0,k=i.providerStatuses.filter(S=>S.state==="ready").map(S=>UQ(S)).join(" · ");return{...f,label:"Providers",tone:x?"positive":"caution",detail:`${b} of ${v} configured`,meta:k||"None configured"}}),u=n.apiStatus.mcp,h={id:"mcp",label:"MCP",tone:"neutral",detail:"Unknown",meta:"MCP status is not available from this server."};return n.apiStatus.state==="checking"?(h.detail="Checking",h.meta="Checking MCP availability."):n.apiStatus.state==="ok"&&u&&(u.status==="available"?(h.tone="positive",h.detail="Available",h.meta="MCP is available for agent connections. This checks the server transport, not an individual client connection."):u.status==="unavailable"?(h.tone="negative",h.detail="Unavailable",h.meta="The MCP transport is not fully available. Contact your Canonry team."):(h.detail="Not enabled",h.meta="This server does not provide an MCP endpoint.")),r.splice(Math.max(0,r.findIndex(f=>f.id==="api")+1),0,h),r}function $Q(e,n){if(e.apiStatus.state!=="ok")return"Launch is blocked until the API responds cleanly.";if(e.apiStatus.databaseConfigured===!1)return"Launch is blocked until the API has a database connection configured.";if(e.workerStatus.state!=="ok")return"Launch is blocked until the worker is healthy and heartbeats are current.";if(!n.providerStatuses.some(i=>i.state==="ready"))return"Launch is blocked until at least one provider is configured."}function KQ(e,n,i){const r=$Q(n,i),u=structuredClone(e);return u.healthChecks=u.healthChecks.map(h=>{if(h.id==="api")return{...h,detail:n.apiStatus.detail,state:n.apiStatus.state==="ok"?"ready":"attention"};if(h.id==="worker")return{...h,detail:n.workerStatus.detail,state:n.workerStatus.state==="ok"?"ready":"attention"};const f=i.providerStatuses.some(b=>b.state==="ready");return{...h,detail:f?"At least one provider configured.":"No providers configured.",state:f?"ready":"attention"}}),u.launchState.enabled=r===void 0,u.launchState.blockedReason=r,u.launchState.summary=r??"Queue a visibility sweep first, then follow with a site audit to explain movement.",u}const $N="canonry.run-tracker",Ng=new Set;let kk=!1,GQ=0,Km={runs:{},batches:{}};function HQ(){const e=Gi();for(const n of Ng)n(e)}function FQ(e){if(!e)return{runs:{},batches:{}};try{const n=JSON.parse(e);return{runs:n.runs??{},batches:n.batches??{}}}catch{return{runs:{},batches:{}}}}function QQ(){typeof window>"u"||window.sessionStorage.setItem($N,JSON.stringify(Km))}function KN(){kk||(kk=!0,!(typeof window>"u")&&(Km=FQ(window.sessionStorage.getItem($N))))}function Gm(e){Km=e,QQ(),HQ()}function Gi(){return KN(),Km}function GN(e){return KN(),Ng.add(e),()=>{Ng.delete(e)}}function C1(e){const n=Gi();Gm({...n,runs:{...n.runs,[e.id]:{runId:e.id,projectId:e.projectId,projectLabel:e.projectLabel,kind:e.kind,sourceAction:e.sourceAction,lastAnnouncedStatus:e.lastAnnouncedStatus??"queued",trackedAt:e.trackedAt??Date.now()}}})}function Bf(e){const n=Gi();if(!n.runs[e])return;const{[e]:i,...r}=n.runs;Gm({...n,runs:r})}function ZQ(e){const n=Gi(),i=`batch_${Date.now()}_${++GQ}`;return Gm({...n,batches:{...n.batches,[i]:{batchId:i,runIds:e.runIds,queuedCount:e.queuedCount,skippedCount:e.skippedCount}}}),i}function YQ(e){const n=Gi();if(!n.batches[e])return;const{[e]:i,...r}=n.batches;Gm({...n,batches:r})}function XQ(e){return e==="completed"||e==="partial"||e==="failed"||e==="cancelled"}const JQ=10*6e4;function WQ(e,n,i,r){return e.filter(u=>!n.has(u.runId)&&i-(u.trackedAt??0)>=r)}function eZ(e,n){let i=0,r=0,u=0,h=0,f=0;for(const b of e){const v=n[b]?.status;v==="completed"?i+=1:v==="partial"?r+=1:v==="failed"?u+=1:v==="cancelled"?h+=1:f+=1}return{completed:i,partial:r,failed:u,cancelled:h,pending:f,finished:f===0}}const Sk=e=>typeof e=="boolean"?`${e}`:e===0?"0":e,jk=vS,HN=(e,n)=>i=>{var r;if(n?.variants==null)return jk(e,i?.class,i?.className);const{variants:u,defaultVariants:h}=n,f=Object.keys(u).map(x=>{const k=i?.[x],S=h?.[x];if(k===null)return null;const N=Sk(k)||Sk(S);return u[x][N]}),b=i&&Object.entries(i).reduce((x,k)=>{let[S,N]=k;return N===void 0||(x[S]=N),x},{}),v=n==null||(r=n.compoundVariants)===null||r===void 0?void 0:r.reduce((x,k)=>{let{class:S,className:N,..._}=k;return Object.entries(_).every(z=>{let[q,E]=z;return Array.isArray(E)?E.includes({...h,...b}[q]):{...h,...b}[q]===E})?[...x,S,N]:x},[]);return jk(e,f,v,i?.class,i?.className)},tZ=(e,n)=>{const i=new Array(e.length+n.length);for(let r=0;r<e.length;r++)i[r]=e[r];for(let r=0;r<n.length;r++)i[e.length+r]=n[r];return i},nZ=(e,n)=>({classGroupId:e,validator:n}),FN=(e=new Map,n=null,i)=>({nextPart:e,validators:n,classGroupId:i}),cm="-",Ak=[],aZ="arbitrary..",iZ=e=>{const n=oZ(e),{conflictingClassGroups:i,conflictingClassGroupModifiers:r}=e;return{getClassGroupId:f=>{if(f.startsWith("[")&&f.endsWith("]"))return sZ(f);const b=f.split(cm),v=b[0]===""&&b.length>1?1:0;return QN(b,v,n)},getConflictingClassGroupIds:(f,b)=>{if(b){const v=r[f],x=i[f];return v?x?tZ(x,v):v:x||Ak}return i[f]||Ak}}},QN=(e,n,i)=>{if(e.length-n===0)return i.classGroupId;const u=e[n],h=i.nextPart.get(u);if(h){const x=QN(e,n+1,h);if(x)return x}const f=i.validators;if(f===null)return;const b=n===0?e.join(cm):e.slice(n).join(cm),v=f.length;for(let x=0;x<v;x++){const k=f[x];if(k.validator(b))return k.classGroupId}},sZ=e=>e.slice(1,-1).indexOf(":")===-1?void 0:(()=>{const n=e.slice(1,-1),i=n.indexOf(":"),r=n.slice(0,i);return r?aZ+r:void 0})(),oZ=e=>{const{theme:n,classGroups:i}=e;return rZ(i,n)},rZ=(e,n)=>{const i=FN();for(const r in e){const u=e[r];_1(u,i,r,n)}return i},_1=(e,n,i,r)=>{const u=e.length;for(let h=0;h<u;h++){const f=e[h];lZ(f,n,i,r)}},lZ=(e,n,i,r)=>{if(typeof e=="string"){cZ(e,n,i);return}if(typeof e=="function"){uZ(e,n,i,r);return}dZ(e,n,i,r)},cZ=(e,n,i)=>{const r=e===""?n:ZN(n,e);r.classGroupId=i},uZ=(e,n,i,r)=>{if(mZ(e)){_1(e(r),n,i,r);return}n.validators===null&&(n.validators=[]),n.validators.push(nZ(i,e))},dZ=(e,n,i,r)=>{const u=Object.entries(e),h=u.length;for(let f=0;f<h;f++){const[b,v]=u[f];_1(v,ZN(n,b),i,r)}},ZN=(e,n)=>{let i=e;const r=n.split(cm),u=r.length;for(let h=0;h<u;h++){const f=r[h];let b=i.nextPart.get(f);b||(b=FN(),i.nextPart.set(f,b)),i=b}return i},mZ=e=>"isThemeGetter"in e&&e.isThemeGetter===!0,pZ=e=>{if(e<1)return{get:()=>{},set:()=>{}};let n=0,i=Object.create(null),r=Object.create(null);const u=(h,f)=>{i[h]=f,n++,n>e&&(n=0,r=i,i=Object.create(null))};return{get(h){let f=i[h];if(f!==void 0)return f;if((f=r[h])!==void 0)return u(h,f),f},set(h,f){h in i?i[h]=f:u(h,f)}}},Cg="!",Nk=":",hZ=[],Ck=(e,n,i,r,u)=>({modifiers:e,hasImportantModifier:n,baseClassName:i,maybePostfixModifierPosition:r,isExternal:u}),fZ=e=>{const{prefix:n,experimentalParseClassName:i}=e;let r=u=>{const h=[];let f=0,b=0,v=0,x;const k=u.length;for(let q=0;q<k;q++){const E=u[q];if(f===0&&b===0){if(E===Nk){h.push(u.slice(v,q)),v=q+1;continue}if(E==="/"){x=q;continue}}E==="["?f++:E==="]"?f--:E==="("?b++:E===")"&&b--}const S=h.length===0?u:u.slice(v);let N=S,_=!1;S.endsWith(Cg)?(N=S.slice(0,-1),_=!0):S.startsWith(Cg)&&(N=S.slice(1),_=!0);const z=x&&x>v?x-v:void 0;return Ck(h,_,N,z)};if(n){const u=n+Nk,h=r;r=f=>f.startsWith(u)?h(f.slice(u.length)):Ck(hZ,!1,f,void 0,!0)}if(i){const u=r;r=h=>i({className:h,parseClassName:u})}return r},gZ=e=>{const n=new Map;return e.orderSensitiveModifiers.forEach((i,r)=>{n.set(i,1e6+r)}),i=>{const r=[];let u=[];for(let h=0;h<i.length;h++){const f=i[h],b=f[0]==="[",v=n.has(f);b||v?(u.length>0&&(u.sort(),r.push(...u),u=[]),r.push(f)):u.push(f)}return u.length>0&&(u.sort(),r.push(...u)),r}},yZ=e=>({cache:pZ(e.cacheSize),parseClassName:fZ(e),sortModifiers:gZ(e),...iZ(e)}),bZ=/\s+/,vZ=(e,n)=>{const{parseClassName:i,getClassGroupId:r,getConflictingClassGroupIds:u,sortModifiers:h}=n,f=[],b=e.trim().split(bZ);let v="";for(let x=b.length-1;x>=0;x-=1){const k=b[x],{isExternal:S,modifiers:N,hasImportantModifier:_,baseClassName:z,maybePostfixModifierPosition:q}=i(k);if(S){v=k+(v.length>0?" "+v:v);continue}let E=!!q,P=r(E?z.substring(0,q):z);if(!P){if(!E){v=k+(v.length>0?" "+v:v);continue}if(P=r(z),!P){v=k+(v.length>0?" "+v:v);continue}E=!1}const M=N.length===0?"":N.length===1?N[0]:h(N).join(":"),L=_?M+Cg:M,$=L+P;if(f.indexOf($)>-1)continue;f.push($);const H=u(P,E);for(let J=0;J<H.length;++J){const V=H[J];f.push(L+V)}v=k+(v.length>0?" "+v:v)}return v},xZ=(...e)=>{let n=0,i,r,u="";for(;n<e.length;)(i=e[n++])&&(r=YN(i))&&(u&&(u+=" "),u+=r);return u},YN=e=>{if(typeof e=="string")return e;let n,i="";for(let r=0;r<e.length;r++)e[r]&&(n=YN(e[r]))&&(i&&(i+=" "),i+=n);return i},wZ=(e,...n)=>{let i,r,u,h;const f=v=>{const x=n.reduce((k,S)=>S(k),e());return i=yZ(x),r=i.cache.get,u=i.cache.set,h=b,b(v)},b=v=>{const x=r(v);if(x)return x;const k=vZ(v,i);return u(v,k),k};return h=f,(...v)=>h(xZ(...v))},kZ=[],hn=e=>{const n=i=>i[e]||kZ;return n.isThemeGetter=!0,n},XN=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,JN=/^\((?:(\w[\w-]*):)?(.+)\)$/i,SZ=/^\d+(?:\.\d+)?\/\d+(?:\.\d+)?$/,jZ=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,AZ=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,NZ=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,CZ=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,_Z=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,js=e=>SZ.test(e),it=e=>!!e&&!Number.isNaN(Number(e)),As=e=>!!e&&Number.isInteger(Number(e)),Lf=e=>e.endsWith("%")&&it(e.slice(0,-1)),Pi=e=>jZ.test(e),WN=()=>!0,TZ=e=>AZ.test(e)&&!NZ.test(e),T1=()=>!1,EZ=e=>CZ.test(e),RZ=e=>_Z.test(e),DZ=e=>!_e(e)&&!Te(e),zZ=e=>Us(e,nC,T1),_e=e=>XN.test(e),go=e=>Us(e,aC,TZ),_k=e=>Us(e,UZ,it),IZ=e=>Us(e,sC,WN),OZ=e=>Us(e,iC,T1),Tk=e=>Us(e,eC,T1),PZ=e=>Us(e,tC,RZ),Ad=e=>Us(e,oC,EZ),Te=e=>JN.test(e),fc=e=>Mo(e,aC),qZ=e=>Mo(e,iC),Ek=e=>Mo(e,eC),MZ=e=>Mo(e,nC),BZ=e=>Mo(e,tC),Nd=e=>Mo(e,oC,!0),LZ=e=>Mo(e,sC,!0),Us=(e,n,i)=>{const r=XN.exec(e);return r?r[1]?n(r[1]):i(r[2]):!1},Mo=(e,n,i=!1)=>{const r=JN.exec(e);return r?r[1]?n(r[1]):i:!1},eC=e=>e==="position"||e==="percentage",tC=e=>e==="image"||e==="url",nC=e=>e==="length"||e==="size"||e==="bg-size",aC=e=>e==="length",UZ=e=>e==="number",iC=e=>e==="family-name",sC=e=>e==="number"||e==="weight",oC=e=>e==="shadow",VZ=()=>{const e=hn("color"),n=hn("font"),i=hn("text"),r=hn("font-weight"),u=hn("tracking"),h=hn("leading"),f=hn("breakpoint"),b=hn("container"),v=hn("spacing"),x=hn("radius"),k=hn("shadow"),S=hn("inset-shadow"),N=hn("text-shadow"),_=hn("drop-shadow"),z=hn("blur"),q=hn("perspective"),E=hn("aspect"),P=hn("ease"),M=hn("animate"),L=()=>["auto","avoid","all","avoid-page","page","left","right","column"],$=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom"],H=()=>[...$(),Te,_e],J=()=>["auto","hidden","clip","visible","scroll"],V=()=>["auto","contain","none"],Q=()=>[Te,_e,v],ae=()=>[js,"full","auto",...Q()],Fe=()=>[As,"none","subgrid",Te,_e],We=()=>["auto",{span:["full",As,Te,_e]},As,Te,_e],Ve=()=>[As,"auto",Te,_e],qe=()=>["auto","min","max","fr",Te,_e],Ae=()=>["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"],Le=()=>["start","end","center","stretch","center-safe","end-safe"],B=()=>["auto",...Q()],ee=()=>[js,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",...Q()],ve=()=>[js,"screen","full","dvw","lvw","svw","min","max","fit",...Q()],je=()=>[js,"screen","full","lh","dvh","lvh","svh","min","max","fit",...Q()],oe=()=>[e,Te,_e],ke=()=>[...$(),Ek,Tk,{position:[Te,_e]}],Ie=()=>["no-repeat",{repeat:["","x","y","space","round"]}],xe=()=>["auto","cover","contain",MZ,zZ,{size:[Te,_e]}],de=()=>[Lf,fc,go],ce=()=>["","none","full",x,Te,_e],Y=()=>["",it,fc,go],me=()=>["solid","dashed","dotted","double"],Pe=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],Ne=()=>[it,Lf,Ek,Tk],st=()=>["","none",z,Te,_e],$e=()=>["none",it,Te,_e],Nt=()=>["none",it,Te,_e],He=()=>[it,Te,_e],pe=()=>[js,"full",...Q()];return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[Pi],breakpoint:[Pi],color:[WN],container:[Pi],"drop-shadow":[Pi],ease:["in","out","in-out"],font:[DZ],"font-weight":["thin","extralight","light","normal","medium","semibold","bold","extrabold","black"],"inset-shadow":[Pi],leading:["none","tight","snug","normal","relaxed","loose"],perspective:["dramatic","near","normal","midrange","distant","none"],radius:[Pi],shadow:[Pi],spacing:["px",it],text:[Pi],"text-shadow":[Pi],tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{aspect:[{aspect:["auto","square",js,_e,Te,E]}],container:["container"],columns:[{columns:[it,_e,Te,b]}],"break-after":[{"break-after":L()}],"break-before":[{"break-before":L()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],sr:["sr-only","not-sr-only"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:H()}],overflow:[{overflow:J()}],"overflow-x":[{"overflow-x":J()}],"overflow-y":[{"overflow-y":J()}],overscroll:[{overscroll:V()}],"overscroll-x":[{"overscroll-x":V()}],"overscroll-y":[{"overscroll-y":V()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:ae()}],"inset-x":[{"inset-x":ae()}],"inset-y":[{"inset-y":ae()}],start:[{"inset-s":ae(),start:ae()}],end:[{"inset-e":ae(),end:ae()}],"inset-bs":[{"inset-bs":ae()}],"inset-be":[{"inset-be":ae()}],top:[{top:ae()}],right:[{right:ae()}],bottom:[{bottom:ae()}],left:[{left:ae()}],visibility:["visible","invisible","collapse"],z:[{z:[As,"auto",Te,_e]}],basis:[{basis:[js,"full","auto",b,...Q()]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[it,js,"auto","initial","none",_e]}],grow:[{grow:["",it,Te,_e]}],shrink:[{shrink:["",it,Te,_e]}],order:[{order:[As,"first","last","none",Te,_e]}],"grid-cols":[{"grid-cols":Fe()}],"col-start-end":[{col:We()}],"col-start":[{"col-start":Ve()}],"col-end":[{"col-end":Ve()}],"grid-rows":[{"grid-rows":Fe()}],"row-start-end":[{row:We()}],"row-start":[{"row-start":Ve()}],"row-end":[{"row-end":Ve()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":qe()}],"auto-rows":[{"auto-rows":qe()}],gap:[{gap:Q()}],"gap-x":[{"gap-x":Q()}],"gap-y":[{"gap-y":Q()}],"justify-content":[{justify:[...Ae(),"normal"]}],"justify-items":[{"justify-items":[...Le(),"normal"]}],"justify-self":[{"justify-self":["auto",...Le()]}],"align-content":[{content:["normal",...Ae()]}],"align-items":[{items:[...Le(),{baseline:["","last"]}]}],"align-self":[{self:["auto",...Le(),{baseline:["","last"]}]}],"place-content":[{"place-content":Ae()}],"place-items":[{"place-items":[...Le(),"baseline"]}],"place-self":[{"place-self":["auto",...Le()]}],p:[{p:Q()}],px:[{px:Q()}],py:[{py:Q()}],ps:[{ps:Q()}],pe:[{pe:Q()}],pbs:[{pbs:Q()}],pbe:[{pbe:Q()}],pt:[{pt:Q()}],pr:[{pr:Q()}],pb:[{pb:Q()}],pl:[{pl:Q()}],m:[{m:B()}],mx:[{mx:B()}],my:[{my:B()}],ms:[{ms:B()}],me:[{me:B()}],mbs:[{mbs:B()}],mbe:[{mbe:B()}],mt:[{mt:B()}],mr:[{mr:B()}],mb:[{mb:B()}],ml:[{ml:B()}],"space-x":[{"space-x":Q()}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":Q()}],"space-y-reverse":["space-y-reverse"],size:[{size:ee()}],"inline-size":[{inline:["auto",...ve()]}],"min-inline-size":[{"min-inline":["auto",...ve()]}],"max-inline-size":[{"max-inline":["none",...ve()]}],"block-size":[{block:["auto",...je()]}],"min-block-size":[{"min-block":["auto",...je()]}],"max-block-size":[{"max-block":["none",...je()]}],w:[{w:[b,"screen",...ee()]}],"min-w":[{"min-w":[b,"screen","none",...ee()]}],"max-w":[{"max-w":[b,"screen","none","prose",{screen:[f]},...ee()]}],h:[{h:["screen","lh",...ee()]}],"min-h":[{"min-h":["screen","lh","none",...ee()]}],"max-h":[{"max-h":["screen","lh",...ee()]}],"font-size":[{text:["base",i,fc,go]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[r,LZ,IZ]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",Lf,_e]}],"font-family":[{font:[qZ,OZ,n]}],"font-features":[{"font-features":[_e]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:[u,Te,_e]}],"line-clamp":[{"line-clamp":[it,"none",Te,_k]}],leading:[{leading:[h,...Q()]}],"list-image":[{"list-image":["none",Te,_e]}],"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{list:["disc","decimal","none",Te,_e]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"placeholder-color":[{placeholder:oe()}],"text-color":[{text:oe()}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...me(),"wavy"]}],"text-decoration-thickness":[{decoration:[it,"from-font","auto",Te,go]}],"text-decoration-color":[{decoration:oe()}],"underline-offset":[{"underline-offset":[it,"auto",Te,_e]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:Q()}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",Te,_e]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],wrap:[{wrap:["break-word","anywhere","normal"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",Te,_e]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:ke()}],"bg-repeat":[{bg:Ie()}],"bg-size":[{bg:xe()}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},As,Te,_e],radial:["",Te,_e],conic:[As,Te,_e]},BZ,PZ]}],"bg-color":[{bg:oe()}],"gradient-from-pos":[{from:de()}],"gradient-via-pos":[{via:de()}],"gradient-to-pos":[{to:de()}],"gradient-from":[{from:oe()}],"gradient-via":[{via:oe()}],"gradient-to":[{to:oe()}],rounded:[{rounded:ce()}],"rounded-s":[{"rounded-s":ce()}],"rounded-e":[{"rounded-e":ce()}],"rounded-t":[{"rounded-t":ce()}],"rounded-r":[{"rounded-r":ce()}],"rounded-b":[{"rounded-b":ce()}],"rounded-l":[{"rounded-l":ce()}],"rounded-ss":[{"rounded-ss":ce()}],"rounded-se":[{"rounded-se":ce()}],"rounded-ee":[{"rounded-ee":ce()}],"rounded-es":[{"rounded-es":ce()}],"rounded-tl":[{"rounded-tl":ce()}],"rounded-tr":[{"rounded-tr":ce()}],"rounded-br":[{"rounded-br":ce()}],"rounded-bl":[{"rounded-bl":ce()}],"border-w":[{border:Y()}],"border-w-x":[{"border-x":Y()}],"border-w-y":[{"border-y":Y()}],"border-w-s":[{"border-s":Y()}],"border-w-e":[{"border-e":Y()}],"border-w-bs":[{"border-bs":Y()}],"border-w-be":[{"border-be":Y()}],"border-w-t":[{"border-t":Y()}],"border-w-r":[{"border-r":Y()}],"border-w-b":[{"border-b":Y()}],"border-w-l":[{"border-l":Y()}],"divide-x":[{"divide-x":Y()}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":Y()}],"divide-y-reverse":["divide-y-reverse"],"border-style":[{border:[...me(),"hidden","none"]}],"divide-style":[{divide:[...me(),"hidden","none"]}],"border-color":[{border:oe()}],"border-color-x":[{"border-x":oe()}],"border-color-y":[{"border-y":oe()}],"border-color-s":[{"border-s":oe()}],"border-color-e":[{"border-e":oe()}],"border-color-bs":[{"border-bs":oe()}],"border-color-be":[{"border-be":oe()}],"border-color-t":[{"border-t":oe()}],"border-color-r":[{"border-r":oe()}],"border-color-b":[{"border-b":oe()}],"border-color-l":[{"border-l":oe()}],"divide-color":[{divide:oe()}],"outline-style":[{outline:[...me(),"none","hidden"]}],"outline-offset":[{"outline-offset":[it,Te,_e]}],"outline-w":[{outline:["",it,fc,go]}],"outline-color":[{outline:oe()}],shadow:[{shadow:["","none",k,Nd,Ad]}],"shadow-color":[{shadow:oe()}],"inset-shadow":[{"inset-shadow":["none",S,Nd,Ad]}],"inset-shadow-color":[{"inset-shadow":oe()}],"ring-w":[{ring:Y()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:oe()}],"ring-offset-w":[{"ring-offset":[it,go]}],"ring-offset-color":[{"ring-offset":oe()}],"inset-ring-w":[{"inset-ring":Y()}],"inset-ring-color":[{"inset-ring":oe()}],"text-shadow":[{"text-shadow":["none",N,Nd,Ad]}],"text-shadow-color":[{"text-shadow":oe()}],opacity:[{opacity:[it,Te,_e]}],"mix-blend":[{"mix-blend":[...Pe(),"plus-darker","plus-lighter"]}],"bg-blend":[{"bg-blend":Pe()}],"mask-clip":[{"mask-clip":["border","padding","content","fill","stroke","view"]},"mask-no-clip"],"mask-composite":[{mask:["add","subtract","intersect","exclude"]}],"mask-image-linear-pos":[{"mask-linear":[it]}],"mask-image-linear-from-pos":[{"mask-linear-from":Ne()}],"mask-image-linear-to-pos":[{"mask-linear-to":Ne()}],"mask-image-linear-from-color":[{"mask-linear-from":oe()}],"mask-image-linear-to-color":[{"mask-linear-to":oe()}],"mask-image-t-from-pos":[{"mask-t-from":Ne()}],"mask-image-t-to-pos":[{"mask-t-to":Ne()}],"mask-image-t-from-color":[{"mask-t-from":oe()}],"mask-image-t-to-color":[{"mask-t-to":oe()}],"mask-image-r-from-pos":[{"mask-r-from":Ne()}],"mask-image-r-to-pos":[{"mask-r-to":Ne()}],"mask-image-r-from-color":[{"mask-r-from":oe()}],"mask-image-r-to-color":[{"mask-r-to":oe()}],"mask-image-b-from-pos":[{"mask-b-from":Ne()}],"mask-image-b-to-pos":[{"mask-b-to":Ne()}],"mask-image-b-from-color":[{"mask-b-from":oe()}],"mask-image-b-to-color":[{"mask-b-to":oe()}],"mask-image-l-from-pos":[{"mask-l-from":Ne()}],"mask-image-l-to-pos":[{"mask-l-to":Ne()}],"mask-image-l-from-color":[{"mask-l-from":oe()}],"mask-image-l-to-color":[{"mask-l-to":oe()}],"mask-image-x-from-pos":[{"mask-x-from":Ne()}],"mask-image-x-to-pos":[{"mask-x-to":Ne()}],"mask-image-x-from-color":[{"mask-x-from":oe()}],"mask-image-x-to-color":[{"mask-x-to":oe()}],"mask-image-y-from-pos":[{"mask-y-from":Ne()}],"mask-image-y-to-pos":[{"mask-y-to":Ne()}],"mask-image-y-from-color":[{"mask-y-from":oe()}],"mask-image-y-to-color":[{"mask-y-to":oe()}],"mask-image-radial":[{"mask-radial":[Te,_e]}],"mask-image-radial-from-pos":[{"mask-radial-from":Ne()}],"mask-image-radial-to-pos":[{"mask-radial-to":Ne()}],"mask-image-radial-from-color":[{"mask-radial-from":oe()}],"mask-image-radial-to-color":[{"mask-radial-to":oe()}],"mask-image-radial-shape":[{"mask-radial":["circle","ellipse"]}],"mask-image-radial-size":[{"mask-radial":[{closest:["side","corner"],farthest:["side","corner"]}]}],"mask-image-radial-pos":[{"mask-radial-at":$()}],"mask-image-conic-pos":[{"mask-conic":[it]}],"mask-image-conic-from-pos":[{"mask-conic-from":Ne()}],"mask-image-conic-to-pos":[{"mask-conic-to":Ne()}],"mask-image-conic-from-color":[{"mask-conic-from":oe()}],"mask-image-conic-to-color":[{"mask-conic-to":oe()}],"mask-mode":[{mask:["alpha","luminance","match"]}],"mask-origin":[{"mask-origin":["border","padding","content","fill","stroke","view"]}],"mask-position":[{mask:ke()}],"mask-repeat":[{mask:Ie()}],"mask-size":[{mask:xe()}],"mask-type":[{"mask-type":["alpha","luminance"]}],"mask-image":[{mask:["none",Te,_e]}],filter:[{filter:["","none",Te,_e]}],blur:[{blur:st()}],brightness:[{brightness:[it,Te,_e]}],contrast:[{contrast:[it,Te,_e]}],"drop-shadow":[{"drop-shadow":["","none",_,Nd,Ad]}],"drop-shadow-color":[{"drop-shadow":oe()}],grayscale:[{grayscale:["",it,Te,_e]}],"hue-rotate":[{"hue-rotate":[it,Te,_e]}],invert:[{invert:["",it,Te,_e]}],saturate:[{saturate:[it,Te,_e]}],sepia:[{sepia:["",it,Te,_e]}],"backdrop-filter":[{"backdrop-filter":["","none",Te,_e]}],"backdrop-blur":[{"backdrop-blur":st()}],"backdrop-brightness":[{"backdrop-brightness":[it,Te,_e]}],"backdrop-contrast":[{"backdrop-contrast":[it,Te,_e]}],"backdrop-grayscale":[{"backdrop-grayscale":["",it,Te,_e]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[it,Te,_e]}],"backdrop-invert":[{"backdrop-invert":["",it,Te,_e]}],"backdrop-opacity":[{"backdrop-opacity":[it,Te,_e]}],"backdrop-saturate":[{"backdrop-saturate":[it,Te,_e]}],"backdrop-sepia":[{"backdrop-sepia":["",it,Te,_e]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":Q()}],"border-spacing-x":[{"border-spacing-x":Q()}],"border-spacing-y":[{"border-spacing-y":Q()}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["","all","colors","opacity","shadow","transform","none",Te,_e]}],"transition-behavior":[{transition:["normal","discrete"]}],duration:[{duration:[it,"initial",Te,_e]}],ease:[{ease:["linear","initial",P,Te,_e]}],delay:[{delay:[it,Te,_e]}],animate:[{animate:["none",M,Te,_e]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[q,Te,_e]}],"perspective-origin":[{"perspective-origin":H()}],rotate:[{rotate:$e()}],"rotate-x":[{"rotate-x":$e()}],"rotate-y":[{"rotate-y":$e()}],"rotate-z":[{"rotate-z":$e()}],scale:[{scale:Nt()}],"scale-x":[{"scale-x":Nt()}],"scale-y":[{"scale-y":Nt()}],"scale-z":[{"scale-z":Nt()}],"scale-3d":["scale-3d"],skew:[{skew:He()}],"skew-x":[{"skew-x":He()}],"skew-y":[{"skew-y":He()}],transform:[{transform:[Te,_e,"","none","gpu","cpu"]}],"transform-origin":[{origin:H()}],"transform-style":[{transform:["3d","flat"]}],translate:[{translate:pe()}],"translate-x":[{"translate-x":pe()}],"translate-y":[{"translate-y":pe()}],"translate-z":[{"translate-z":pe()}],"translate-none":["translate-none"],accent:[{accent:oe()}],appearance:[{appearance:["none","auto"]}],"caret-color":[{caret:oe()}],"color-scheme":[{scheme:["normal","dark","light","light-dark","only-dark","only-light"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",Te,_e]}],"field-sizing":[{"field-sizing":["fixed","content"]}],"pointer-events":[{"pointer-events":["auto","none"]}],resize:[{resize:["none","","y","x"]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scroll-m":[{"scroll-m":Q()}],"scroll-mx":[{"scroll-mx":Q()}],"scroll-my":[{"scroll-my":Q()}],"scroll-ms":[{"scroll-ms":Q()}],"scroll-me":[{"scroll-me":Q()}],"scroll-mbs":[{"scroll-mbs":Q()}],"scroll-mbe":[{"scroll-mbe":Q()}],"scroll-mt":[{"scroll-mt":Q()}],"scroll-mr":[{"scroll-mr":Q()}],"scroll-mb":[{"scroll-mb":Q()}],"scroll-ml":[{"scroll-ml":Q()}],"scroll-p":[{"scroll-p":Q()}],"scroll-px":[{"scroll-px":Q()}],"scroll-py":[{"scroll-py":Q()}],"scroll-ps":[{"scroll-ps":Q()}],"scroll-pe":[{"scroll-pe":Q()}],"scroll-pbs":[{"scroll-pbs":Q()}],"scroll-pbe":[{"scroll-pbe":Q()}],"scroll-pt":[{"scroll-pt":Q()}],"scroll-pr":[{"scroll-pr":Q()}],"scroll-pb":[{"scroll-pb":Q()}],"scroll-pl":[{"scroll-pl":Q()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",Te,_e]}],fill:[{fill:["none",...oe()]}],"stroke-w":[{stroke:[it,fc,go,_k]}],stroke:[{stroke:["none",...oe()]}],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","inset-bs","inset-be","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pbs","pbe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mbs","mbe","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-x","border-w-y","border-w-s","border-w-e","border-w-bs","border-w-be","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-x","border-color-y","border-color-s","border-color-e","border-color-bs","border-color-be","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],translate:["translate-x","translate-y","translate-none"],"translate-none":["translate","translate-x","translate-y","translate-z"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mbs","scroll-mbe","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pbs","scroll-pbe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]},orderSensitiveModifiers:["*","**","after","backdrop","before","details-content","file","first-letter","first-line","marker","placeholder","selection"]}},$Z=wZ(VZ);function Da(...e){return $Z(vS(e))}const KZ=HN("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-mono-400 focus-visible:ring-offset-2 focus-visible:ring-offset-overlay-scrim disabled:pointer-events-none disabled:opacity-50",{variants:{variant:{default:"bg-accent text-on-inverse hover:bg-mono-200",secondary:"border border-base bg-bg text-heading hover:bg-bg-elevated",ghost:"text-secondary hover:bg-bg-elevated hover:text-primary",outline:"border border-base bg-transparent text-heading hover:bg-bg-elevated",destructive:"bg-negative-600 text-on-emphasis hover:bg-negative-700"},size:{default:"h-10 px-4 md:h-9",sm:"h-9 px-3 text-xs md:h-8",icon:"size-10 md:size-9"}},defaultVariants:{variant:"default",size:"default"}}),le=C.forwardRef(({className:e,variant:n,size:i,asChild:r=!1,...u},h)=>{const f=r?F5:"button";return l.jsx(f,{ref:h,className:Da(KZ({variant:n,size:i,className:e})),...u})});le.displayName="Button";const GZ=HN("inline-flex items-center rounded-md border px-2 py-0.5 text-[11px] font-medium tracking-wide",{variants:{variant:{neutral:"border-base bg-bg text-neutral",success:"border-positive bg-positive-soft text-positive",warning:"border-caution-500/25 bg-caution-soft text-caution",destructive:"border-negative bg-negative-soft text-negative"}},defaultVariants:{variant:"neutral"}});function rC({className:e,variant:n,...i}){return l.jsx("div",{className:Da(GZ({variant:n}),e),...i})}const HZ=220;function Rk({compact:e=!1,version:n,updateAvailable:i,onDismissUpdate:r}){const u=!e&&n&&n!=="unknown",[h,f]=C.useState(!1),b=!e&&i&&r,v=()=>{f(!0),window.setTimeout(()=>{r?.(),f(!1)},HZ)};return e?l.jsxs(tt,{to:"/",className:"brand-lockup brand-lockup-compact","aria-label":"Canonry home",children:[l.jsx("img",{className:"brand-icon",src:"./favicon.svg",alt:"","aria-hidden":"true"}),l.jsx("span",{className:"brand-copy",children:l.jsx("span",{className:"brand-mark",children:"Canonry"})})]}):l.jsxs("div",{className:"brand-lockup brand-lockup-wrapper",children:[l.jsx(tt,{to:"/",className:"brand-icon-link","aria-label":"Canonry home",tabIndex:-1,children:l.jsx("img",{className:"brand-icon",src:"./favicon.svg",alt:"","aria-hidden":"true"})}),l.jsxs("div",{className:"brand-copy",children:[l.jsx(tt,{to:"/",className:"brand-mark",children:"Canonry"}),!b&&u?l.jsxs("span",{className:"brand-version",children:["v",n]}):null]}),b?l.jsxs("span",{className:`brand-update-bubble ${h?"brand-update-bubble-closing":""}`,role:"status","aria-live":"polite",children:[l.jsxs("a",{className:"brand-update-bubble-link",href:i.url,target:"_blank",rel:"noopener noreferrer",title:`Open release: ${i.upgradeCommand}`,"aria-label":`New version v${i.latest} available — open release page`,children:[l.jsxs("span",{className:"brand-update-bubble-from",children:["v",i.current]}),l.jsx(_c,{className:"brand-update-bubble-arrow size-3","aria-hidden":"true"}),l.jsxs("span",{className:"brand-update-bubble-to",children:["v",i.latest]})]}),l.jsx("button",{type:"button",className:"brand-update-bubble-dismiss",onClick:v,"aria-label":`Dismiss update notification for v${i.latest}`,children:l.jsx($r,{className:"size-3","aria-hidden":"true"})})]}):null]})}function FZ({provider:e}){const n={gemini:"border-blue-800/50 bg-blue-950/40 text-blue-300",openai:"border-green-800/50 bg-green-950/40 text-green-300",claude:"border-amber-800/50 bg-amber-950/40 text-amber-300",perplexity:"border-teal-800/50 bg-teal-950/40 text-teal-300",muse:"border-indigo-800/50 bg-indigo-950/40 text-indigo-300",local:"border-purple-800/50 bg-purple-950/40 text-purple-300"},r=Object.hasOwn(n,e)?`provider-badge--${e} ${n[e]}`:"border-zinc-700 bg-zinc-800 text-zinc-300";return l.jsx("span",{className:`inline-flex items-center rounded-full border px-2 py-0.5 text-[10px] font-medium uppercase tracking-wide ${r}`,children:e})}function xn({tone:e,children:n,...i}){const r=e==="positive"?"success":e==="caution"?"warning":e==="negative"?"destructive":"neutral";return l.jsx(rC,{variant:r,...i,children:n})}function E1({status:e}){return l.jsx(xn,{tone:VN(e),children:$H(e)})}const _g=bS,QZ=fS,lC=C.forwardRef(({className:e,...n},i)=>l.jsx(Ug,{ref:i,className:Da("fixed inset-0 z-50 bg-overlay-scrim/70 backdrop-blur-sm",e),...n}));lC.displayName=Ug.displayName;const ZZ=400,YZ=1200,XZ=720,um=C.forwardRef(({className:e,children:n,...i},r)=>{const[u,h]=C.useState(XZ),f=C.useRef(!1),b=C.useRef(0),v=C.useRef(0),x=C.useCallback(N=>{f.current=!0,b.current=N.clientX,v.current=u,N.target.setPointerCapture(N.pointerId),N.preventDefault()},[u]),k=C.useCallback(N=>{if(!f.current)return;const _=b.current-N.clientX,z=Math.min(YZ,Math.max(ZZ,v.current+_));h(z)},[]),S=C.useCallback(()=>{f.current=!1},[]);return l.jsxs(QZ,{children:[l.jsx(lC,{}),l.jsxs(Vg,{ref:r,className:Da("fixed z-50 flex flex-col bg-bg px-5 py-4 shadow-2xl overflow-hidden","max-md:inset-x-0 max-md:bottom-0 max-md:top-auto max-md:max-h-[88vh] max-md:rounded-t-2xl max-md:border-t","md:inset-y-0 md:right-0 md:h-full md:border-l","border-base",e),style:{width:`min(${u}px, 100vw)`},...i,children:[l.jsx("div",{className:"absolute inset-y-0 left-0 w-1.5 cursor-col-resize hover:bg-mono-700/50 active:bg-mono-600/50 transition-colors max-md:hidden",onPointerDown:x,onPointerMove:k,onPointerUp:S}),n,l.jsxs(gS,{className:"absolute right-4 top-4 inline-flex size-8 items-center justify-center rounded-md text-muted transition hover:bg-bg-elevated hover:text-heading focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-mono-400",children:[l.jsx($r,{className:"size-4"}),l.jsx("span",{className:"sr-only",children:"Close"})]})]})]})});um.displayName=Vg.displayName;const Tg=({className:e,...n})=>l.jsx("div",{className:Da("flex flex-col gap-1.5 pr-10",e),...n}),dm=C.forwardRef(({className:e,...n},i)=>l.jsx($g,{ref:i,className:Da("text-lg font-medium text-primary",e),...n}));dm.displayName=$g.displayName;const mm=C.forwardRef(({className:e,...n},i)=>l.jsx(yS,{ref:i,className:Da("text-sm text-muted",e),...n}));mm.displayName=yS.displayName;function Cd({title:e,subtitle:n,children:i,open:r,onClose:u}){return l.jsx(_g,{open:r,onOpenChange:h=>h?void 0:u(),children:l.jsxs(um,{children:[l.jsxs(Tg,{className:"drawer-head",children:[l.jsx("p",{className:"eyebrow eyebrow-soft",children:n}),l.jsx(dm,{id:"drawer-title",children:e}),l.jsx(mm,{className:"sr-only",children:n})]}),l.jsx("div",{className:"drawer-body",children:i})]})})}function ca({text:e,placement:n="top"}){const[i,r]=C.useState(null),u=C.useRef(null),h=C.useRef(null),f=C.useRef(!1),b=C.useCallback(()=>{if(!u.current)return;const k=u.current.getBoundingClientRect(),S=k.left+k.width/2,N=Math.min(224,window.innerWidth-16)/2;r({top:n==="bottom"?k.bottom:k.top,left:n==="bottom"?Math.max(N+8,Math.min(S,window.innerWidth-N-8)):S})},[n]);C.useLayoutEffect(()=>{if(n!=="bottom"||!i||!h.current)return;const k=h.current.getBoundingClientRect().bottom-window.innerHeight+8;if(k<=0)return;const S=Math.max(0,i.top-k);S!==i.top&&r({...i,top:S})},[n,i]);const v=C.useCallback(()=>r(null),[]),x=C.useCallback(()=>{i===null?b():v()},[i,b,v]);return l.jsxs("span",{className:"info-tooltip-wrapper",onMouseEnter:b,onMouseLeave:v,children:[l.jsx("button",{ref:u,type:"button",className:"info-tooltip-trigger","aria-label":e,"aria-expanded":i!==null,onFocus:b,onBlur:v,onPointerDown:()=>{f.current=i!==null&&u.current?.ownerDocument.activeElement===u.current},onClick:k=>{k.detail===0?x():f.current?v():b()},onKeyDown:k=>{k.key==="Escape"&&v()},children:l.jsxs("svg",{className:"info-tooltip-icon",viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",children:[l.jsx("circle",{cx:"8",cy:"8",r:"7",stroke:"currentColor",strokeWidth:"1.5"}),l.jsx("path",{d:"M8 7v4M8 5.5v0",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"})]})}),i!==null&&L5.createPortal(l.jsx("span",{ref:h,"aria-hidden":"true",style:{position:"fixed",top:i.top,left:i.left,transform:n==="bottom"?"translateX(-50%) translateY(8px)":"translateX(-50%) translateY(calc(-100% - 8px))",zIndex:9999,pointerEvents:"none",width:n==="bottom"?"min(14rem, calc(100vw - 1rem))":"14rem",padding:"0.5rem 0.75rem",fontSize:n==="bottom"?"13px":"11px",fontWeight:400,textTransform:"none",letterSpacing:"normal",lineHeight:n==="bottom"?"18px":"1rem",color:"var(--color-neutral-text)",backgroundColor:"var(--color-bg-elevated)",border:"1px solid color-mix(in oklab, var(--color-border-strong) 60%, transparent)",borderRadius:"0.5rem",boxShadow:"0 10px 15px -3px var(--color-shadow-tooltip), 0 4px 6px -4px var(--color-shadow-tooltip)"},children:e}),document.body)]})}function JZ(e){const n=(e??"").trim();return n&&(n.startsWith("/")||/^https?:\/\//i.test(n)||/^mailto:/i.test(n))?n:null}function Eg({url:e,title:n}){const i=JZ(e),r=i&&/^https?:\/\//i.test(i)?i:null;return l.jsxs("span",{className:"block min-w-0 text-sm leading-6 [overflow-wrap:anywhere]",children:[n&&n!==e?l.jsxs(l.Fragment,{children:[l.jsx("span",{className:"mb-1 block font-medium text-heading",children:n})," "]}):null,r?l.jsx("a",{href:r,target:"_blank",rel:"noopener noreferrer",className:"text-link underline underline-offset-2 hover:text-primary focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-mono-400",children:e}):l.jsx("span",{className:"text-secondary",children:e})]})}function WZ(e){return[...e.mentionedCompetitorTerms??(e.mentionedCompetitorDomains??[]).flatMap(i=>{const r=s0(i);return r.length>=4?[r]:[]}),...e.recommendedCompetitors??[]].filter(i=>i.trim().length>2)}const eY=/[\s\-_]+/;function tY(e){const n=e.split(eY).filter(Boolean);return n.length===0?null:n.map(i=>i.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")).join("[\\s\\-_]*")}function Dk(e,n){const i=nY(n),r=e.split(/(\*\*[^*]+\*\*)/).filter(Boolean).map(x=>x.startsWith("**")&&x.endsWith("**")?{type:"bold",value:x.slice(2,-2)}:{type:"text",value:x}),u=i.flatMap(x=>x.terms).filter(x=>x.trim().length>1);if(u.length===0)return r.map((x,k)=>x.type==="bold"?jr.createElement("strong",{key:`b-${k}`,className:"text-strong font-semibold"},x.value):x.value).filter(Boolean);const f=[...u].sort((x,k)=>k.length-x.length).map(tY).filter(x=>!!x);if(f.length===0)return r.map((x,k)=>x.type==="bold"?jr.createElement("strong",{key:`b-${k}`,className:"text-strong font-semibold"},x.value):x.value).filter(Boolean);const b=new RegExp(`(${f.join("|")})`,"gi"),v=new Map;for(const x of i)for(const k of x.terms){const S=Ga(k);S&&!v.has(S)&&v.set(S,x.className)}return r.flatMap((x,k)=>x.value.split(b).map((N,_)=>{if(!N)return null;if(_%2===1){const q=v.get(Ga(N))??"answer-highlight";return x.type==="bold"?jr.createElement("mark",{key:`hl-${k}-${_}`,className:q},jr.createElement("strong",{className:"text-strong font-semibold"},N)):jr.createElement("mark",{key:`hl-${k}-${_}`,className:q},N)}return x.type==="bold"?jr.createElement("strong",{key:`b-${k}-${_}`,className:"text-strong font-semibold"},N):N})).filter(Boolean)}function nY(e){return e.length===0?[]:typeof e[0]=="string"?[{terms:e,className:"answer-highlight"}]:e}function Uf(e,n){const i=e.mentionedCompetitorDomains!==void 0?e:n,r=i?.mentionedCompetitorTerms;return{citedCompetitorDomains:[...e.citedCompetitorDomains??n?.citedCompetitorDomains??[]],mentionedCompetitorDomains:[...i?.mentionedCompetitorDomains??[]],...r!==void 0?{mentionedCompetitorTerms:[...r]}:{}}}function Vf(e,n){switch(e){case"new":return"First observation";case"emerging":return"First mention";case"lost":return"Lost since last run";default:return n==="mentioned"||n==="visible"?"Mentioned in latest run":n==="pending"?"Awaiting first run":"Not mentioned in latest run"}}function aY({evidence:e,project:n,onClose:i}){const[r,u]=C.useState(!1),[h,f]=C.useState("mentions"),[b,v]=C.useState(-1),[x,k]=C.useState(null),[S,N]=C.useState(!1),[_,z]=C.useState({}),q=P2(n.project),E=new Set(q.map(Hd)),P=e.runHistory,M=P.length>1,[L,$]=C.useState(null),H=C.useRef(!1);C.useEffect(()=>{if(H.current||e.answerSnippet&&(e.visibilityState!=null||e.answerMentioned!=null))return;const de=P.at(-1);de&&(H.current=!0,xg(de.runId).then(ce=>{const Y=ce.snapshots?.find(me=>me.query===e.query&&me.provider===e.provider);Y&&$({citationState:Y.citationState,answerMentioned:Y.answerMentioned,visibilityState:Y.visibilityState,visibilityTransition:de.visibilityTransition,provider:Y.provider,model:Y.model??e.model,answerSnippet:Y.answerText??e.answerSnippet,citedDomains:Y.citedDomains??e.citedDomains,...Uf(Y,e),recommendedCompetitors:Y.recommendedCompetitors??e.recommendedCompetitors??[],matchedTerms:Y.matchedTerms??e.matchedTerms??[],groundingSources:Y.groundingSources??e.groundingSources,searchQueries:Y.searchQueries,evidenceUrls:Y.citedUrls??[],changeLabel:e.visibilityChangeLabel??e.changeLabel,summary:e.summary})}).catch(()=>{}))},[e,P]);const J=b>=0&&x!==null,V=J?x:L||{citationState:e.citationState,answerMentioned:e.answerMentioned,visibilityState:e.visibilityState,visibilityTransition:P.at(-1)?.visibilityTransition,provider:e.provider,model:e.model,answerSnippet:e.answerSnippet,citedDomains:e.citedDomains,...Uf(e),recommendedCompetitors:e.recommendedCompetitors??[],matchedTerms:e.matchedTerms??[],groundingSources:e.groundingSources,searchQueries:e.searchQueries??[],evidenceUrls:e.evidenceUrls,changeLabel:e.visibilityChangeLabel??e.changeLabel,summary:e.summary},Q=V.visibilityState==="pending"||V.citationState==="pending",ae=Q?!1:V.visibilityState!=null?V.visibilityState==="visible":V.answerMentioned!=null?V.answerMentioned:V.citationState===wc.cited||V.citationState==="emerging",Fe=V.answerMentioned!=null||V.visibilityState!=null||V.mentionedCompetitorDomains.length>0||V.recommendedCompetitors.length>0,We=V.citedDomains.length>0||V.citedCompetitorDomains.length>0||V.groundingSources.length>0||V.evidenceUrls.length>0,Ve=n.project.displayName||n.project.name,qe=[...q.map(Hd),Ve,Ve.split(" ").slice(0,2).join(" "),...V.matchedTerms].filter(de=>de.trim().length>2),Ae=WZ(V),Le=[{terms:qe,className:"answer-highlight-brand"},...Ae.length>0?[{terms:Ae,className:"answer-highlight-competitor"}]:[]],B=Q?"pending":V.visibilityTransition==="lost"?"lost":ae?"mentioned":"not-mentioned",ee=C.useRef(0),ve=C.useCallback(async de=>{const ce=++ee.current;if(de===-1||de===P.length-1){v(-1),k(null),u(!1);return}v(de),u(!1);const Y=P[de],me=`${Y.runId}::${e.query}::${e.provider}`;if(_[me]){k(_[me]);return}N(!0);try{const Pe=await xg(Y.runId);if(ce!==ee.current)return;const Ne=Pe.snapshots?.find($e=>$e.query===e.query&&$e.provider===e.provider)??Pe.snapshots?.find($e=>$e.query===e.query),st=Ne?{citationState:Ne.citationState,answerMentioned:Ne.answerMentioned,visibilityState:Ne.visibilityState,visibilityTransition:Y.visibilityTransition,provider:Ne.provider,model:Ne.model??null,answerSnippet:Ne.answerText??"",citedDomains:Ne.citedDomains,...Uf(Ne),recommendedCompetitors:Ne.recommendedCompetitors??[],matchedTerms:Ne.matchedTerms??[],groundingSources:Ne.groundingSources,searchQueries:Ne.searchQueries,evidenceUrls:Ne.citedUrls??[],changeLabel:Vf(Y.mentionTransition??Y.visibilityTransition,Y.mentionState??Y.visibilityState),summary:""}:{citationState:Y.citationState,answerMentioned:Y.answerMentioned,visibilityState:Y.visibilityState,visibilityTransition:Y.visibilityTransition,provider:e.provider,model:Y.model??null,answerSnippet:"",citedDomains:[],citedCompetitorDomains:[],mentionedCompetitorDomains:[],recommendedCompetitors:[],matchedTerms:[],groundingSources:[],searchQueries:[],evidenceUrls:[],changeLabel:Vf(Y.mentionTransition??Y.visibilityTransition,Y.mentionState??Y.visibilityState),summary:"Snapshot data not available for this run."};z($e=>({...$e,[me]:st})),k(st)}catch{if(ce!==ee.current)return;k({citationState:Y.citationState,answerMentioned:Y.answerMentioned,visibilityState:Y.visibilityState,visibilityTransition:Y.visibilityTransition,provider:e.provider,model:Y.model??null,answerSnippet:"",citedDomains:[],citedCompetitorDomains:[],mentionedCompetitorDomains:[],recommendedCompetitors:[],matchedTerms:[],groundingSources:[],searchQueries:[],evidenceUrls:[],changeLabel:Vf(Y.mentionTransition??Y.visibilityTransition,Y.mentionState??Y.visibilityState),summary:"Failed to load historical run data."})}finally{ce===ee.current&&N(!1)}},[P,e.query,e.provider,_]),oe=(J||e.historyScope!=="provider")&&V.model?`${V.provider} (${V.model}) · ${V.changeLabel.toLowerCase()}`:`${V.provider} · ${V.changeLabel.toLowerCase()}`,ke=!J&&e.historyScope==="provider"?[e.model?`Current model: ${e.model}`:null,e.modelsSeen&&e.modelsSeen.length>1?`History spans ${e.modelsSeen.length} models`:null].filter(Boolean).join(" · "):"",Ie=ae?{label:"Mentioned in answer",title:"Your brand or domain is mentioned in this answer",meta:oe}:V.visibilityTransition==="lost"?{label:"Mention lost",title:"Your brand no longer appears in this answer",meta:oe}:Q?{label:"Pending",title:"Awaiting first run",meta:"No provider data yet"}:{label:"Not mentioned in answer",title:"Your brand or domain was not mentioned in this answer",meta:oe},xe=()=>{if(!V.answerSnippet)return null;const de=V.answerSnippet.split(`
|
|
58
|
+
`),ce=[];let Y=[],me=0;const Pe=()=>{if(Y.length===0)return;const Ne=Y.join(" ").trim();Ne&&ce.push(l.jsx("p",{className:ce.length>0?"mt-2.5":"",children:Dk(Ne,Le)},me++)),Y=[]};for(const Ne of de){const st=Ne.trim();if(/^[-\u2013\u2014]{3,}$/.test(st)){Pe(),ce.push(l.jsx("hr",{className:"border-default my-3"},me++));continue}const $e=st.match(/^(#{1,3})\s+(\S.*)$/);if($e){Pe();const Nt=$e[1].length,He=$e[2].replace(/^[\p{Emoji}\p{Emoji_Component}\s]+/u,"").trim()||$e[2],pe=Nt===1?"text-[13px] font-semibold text-heading mt-4 mb-1":Nt===2?"text-xs font-semibold text-strong mt-3 mb-0.5":"text-xs font-medium text-neutral mt-2";ce.push(l.jsx("p",{className:pe,children:Dk(He,Le)},me++));continue}if(st===""){Pe();continue}Y.push(st)}return Pe(),ce};return l.jsx(bS,{open:!0,onOpenChange:de=>{de||i()},children:l.jsxs(fS,{children:[l.jsx(Ug,{className:"fixed inset-0 z-50 bg-overlay-scrim/80 backdrop-blur-sm"}),l.jsxs(Vg,{className:"evidence-modal","aria-describedby":void 0,children:[l.jsxs("div",{className:"evidence-modal-header",children:[l.jsxs("div",{className:"min-w-0 flex-1",children:[l.jsxs("p",{className:"eyebrow eyebrow-soft",children:[n.project.name," ","·"," ",V.provider||"All providers"]}),l.jsx($g,{className:"text-lg font-semibold text-primary truncate",children:e.query})]}),l.jsxs(gS,{className:"inline-flex size-8 items-center justify-center rounded-md text-muted transition hover:bg-mono-800 hover:text-heading focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-mono-400 shrink-0",children:[l.jsx($r,{className:"size-4"}),l.jsx("span",{className:"sr-only",children:"Close"})]})]}),M&&l.jsxs("div",{className:"evidence-modal-timeline",children:[l.jsx("p",{className:"drawer-section-label mb-1.5",children:"Run history"}),l.jsx("div",{className:"flex items-center gap-1 overflow-x-auto pb-1",children:P.map((de,ce)=>{const Y=b===-1&&ce===P.length-1||b===ce,me=de.visibilityState??(de.answerMentioned?"visible":"not-visible"),Pe=de.visibilityTransition??me,Ne=me==="visible"?"bg-positive-400":Pe==="emerging"?"bg-caution-400":Pe==="lost"?"bg-negative-400":"bg-mono-600",$e=new Date(de.createdAt).toLocaleDateString(void 0,{month:"short",day:"numeric"}),Nt=!!(de.model&&ce>0&&P[ce-1]?.model&&P[ce-1].model!==de.model);return l.jsxs("button",{type:"button",className:`evidence-run-dot ${Y?"evidence-run-dot--selected":""}`,onClick:()=>{ve(ce===P.length-1?-1:ce)},"aria-label":[`Run ${$e}: ${me}`,de.model?`model ${de.model}`:null,Nt?"model changed":null].filter(Boolean).join(" — "),"aria-pressed":Y,children:[l.jsx("span",{className:`size-2 rounded-full ${Ne} ${Nt?"ring-1 ring-caution-300/80 ring-offset-2 ring-offset-bg":""}`,"aria-hidden":"true"}),l.jsx("span",{className:"text-[10px] text-muted",children:$e})]},ce)})}),b>=0&&b<P.length&&l.jsxs("p",{className:"text-[11px] text-muted mt-1",children:["Viewing run from ",new Date(P[b].createdAt).toLocaleString()," ","—"," ",l.jsx("span",{className:"capitalize",children:P[b].visibilityState??(P[b].answerMentioned?"visible":"not-visible")}),l.jsxs("button",{type:"button",className:"text-secondary hover:text-strong ml-2",onClick:()=>{ve(-1)},children:["←"," Back to latest"]})]}),!J&&(e.modelTransitions?.length??0)>0&&l.jsx("div",{className:"mt-2 flex flex-wrap gap-2",children:e.modelTransitions.map(de=>l.jsx("span",{className:"inline-flex items-center rounded-full border border-caution-400/30 bg-caution-400/10 px-2 py-1 text-[10px] text-caution-100",children:`${de.fromModel??"unknown"} -> ${de.toModel??"unknown"} on ${new Date(de.createdAt).toLocaleDateString()}`},`${de.runId}:${de.toModel??"unknown"}`))})]}),l.jsxs("div",{className:"evidence-modal-body",children:[S&&l.jsxs("div",{className:"md:col-span-2 flex items-center justify-center py-12 text-muted text-sm",children:["Loading historical run data","…"]}),!S&&l.jsxs(l.Fragment,{children:[l.jsxs("div",{className:"evidence-modal-main",children:[l.jsxs("div",{className:`evidence-position-hero evidence-position-hero--${B}`,children:[l.jsx("p",{className:`evidence-position-label evidence-position-label--${B}`,children:Ie.label}),l.jsx("p",{className:`evidence-position-title evidence-position-title--${B}`,children:Ie.title}),l.jsx("p",{className:"evidence-position-meta",children:Ie.meta}),ke&&l.jsx("p",{className:"mt-1 text-[11px] text-muted",children:ke})]}),V.answerSnippet&&l.jsxs("div",{children:[l.jsx("p",{className:"drawer-section-label",children:"What the AI said"}),l.jsx("div",{className:`answer-snippet-block ${r?"evidence-answer-expanded":"evidence-answer-collapsed"}`,children:xe()}),V.answerSnippet.length>280&&l.jsx("button",{type:"button",className:"mt-1.5 text-xs text-muted hover:text-neutral transition-colors",onClick:()=>u(!r),children:r?"↑ Collapse":"↓ Show full answer"})]}),!V.answerSnippet&&!S&&l.jsx("div",{className:"rounded-lg border border-subtle bg-surface-subtle px-4 py-8 text-center text-faint text-sm",children:"No answer text recorded for this run"}),V.searchQueries.length>0&&l.jsxs("div",{children:[l.jsxs("div",{className:"drawer-section-label flex items-center",children:[l.jsx("span",{children:"Web searches the model ran"}),l.jsx(ca,{text:"The search queries this AI model issued while researching your prompt. They reveal how the model reformulated your query — the phrasings worth optimizing your content for. Distinct from grounding sources (what it found) and citations (what it linked)."})]}),l.jsx("ul",{className:"grid gap-1",children:V.searchQueries.map((de,ce)=>l.jsxs("li",{className:"flex items-start gap-2 text-sm text-neutral",children:[l.jsx(Kg,{className:"size-3.5 mt-0.5 shrink-0 text-faint","aria-hidden":"true"}),l.jsx("span",{className:"break-words",children:de})]},`${ce}-${de}`))})]}),!J&&e.relatedTechnicalSignals.length>0&&l.jsxs("div",{children:[l.jsx("p",{className:"drawer-section-label",children:ae?"Why you're visible":"What to fix"}),l.jsx("div",{className:"action-items-list",children:e.relatedTechnicalSignals.map((de,ce)=>l.jsxs("div",{className:"action-item",children:[l.jsx("svg",{className:`action-item-icon ${ae?"text-positive-400":"text-caution-400"}`,viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",children:ae?l.jsx("path",{d:"M3 8l3.5 3.5L13 4.5",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"}):l.jsxs(l.Fragment,{children:[l.jsx("circle",{cx:"8",cy:"8",r:"7",stroke:"currentColor",strokeWidth:"1.5"}),l.jsx("path",{d:"M8 5v3.5M8 10.5v0",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"})]})}),l.jsx("span",{className:"action-item-text",children:de})]},ce))})]}),V.summary&&l.jsx("p",{className:"text-xs text-faint border-t border-subtle pt-3 mt-1",children:V.summary})]}),l.jsxs("div",{className:"evidence-modal-sidebar",children:[(Fe||We)&&l.jsxs("div",{className:"sidebar-tabs",children:[l.jsx("button",{className:`sidebar-tab ${h==="mentions"?"sidebar-tab--active":""}`,onClick:()=>f("mentions"),type:"button",title:"Canonry's answer-level visibility assessment and any company names extracted from the answer text.",children:"Mentions"}),l.jsx("button",{className:`sidebar-tab ${h==="sources"?"sidebar-tab--active":""}`,onClick:()=>f("sources"),type:"button",title:"Grounding links the model used to build the answer. These are supporting sources, not the primary visibility signal.",children:"Sources"})]}),h==="mentions"&&l.jsxs(l.Fragment,{children:[l.jsxs("div",{children:[l.jsxs("div",{className:"drawer-section-label flex items-center",children:[l.jsx("span",{children:"Mention in answer"}),l.jsx(ca,{text:"Canonry scans the AI answer for your owned domains and project name. This is independent from grounding or citation sources."})]}),l.jsxs("div",{className:`mention-status mention-status--${ae?"mentioned":"not-mentioned"}`,children:[l.jsx("span",{className:"mention-status-icon",children:Q?"…":ae?"✓":"—"}),l.jsx("span",{className:"mention-status-label",children:Q?"Pending":ae?"Mentioned":"Not mentioned"})]}),V.matchedTerms.length>0&&l.jsxs("div",{className:"mt-2",children:[l.jsx("p",{className:"text-[10px] uppercase tracking-wide text-muted mb-1.5",children:"Matched in answer"}),l.jsx("div",{className:"flex flex-wrap gap-1.5",children:V.matchedTerms.map(de=>l.jsx("span",{className:"mention-chip mention-chip--brand",children:de},de))})]}),!Q&&!ae&&V.matchedTerms.length===0&&l.jsxs("div",{className:"mt-2",children:[l.jsx("p",{className:"text-[10px] uppercase tracking-wide text-muted mb-1.5",children:"Searched for"}),l.jsx("div",{className:"flex flex-wrap gap-1.5",children:qe.map(de=>l.jsx("span",{className:"mention-chip mention-chip--muted",children:de},de))}),l.jsx("p",{className:"text-[11px] text-faint mt-1.5",children:"None of these appear in the answer text."})]})]}),(V.recommendedCompetitors.length>0||V.mentionedCompetitorDomains.length>0)&&l.jsxs("div",{children:[l.jsxs("div",{className:"drawer-section-label flex items-center",children:[l.jsx("span",{children:"Competitors in answer"}),l.jsx(ca,{text:"Competitors detected in the answer text. Includes tracked competitor brands and names extracted by Canonry; source-link competitors stay in the Sources tab."})]}),l.jsx("div",{className:"flex flex-wrap gap-1.5",children:(()=>{const de=V.mentionedCompetitorDomains.map(me=>me.replace(/^www\./,"")),ce=new Set(de.map(me=>Ga(me.replace(/\.[^.]+$/,""))));return[...V.recommendedCompetitors.filter(me=>!ce.has(Ga(me))),...de].map(me=>l.jsx("span",{className:"mention-chip mention-chip--competitor",children:me},me))})()})]})]}),h==="sources"&&l.jsxs(l.Fragment,{children:[V.citedDomains.length>0&&l.jsxs("div",{children:[l.jsxs("div",{className:"drawer-section-label flex items-center",children:[l.jsx("span",{children:"Domains from source links"}),l.jsx(ca,{text:"These domains were extracted from grounding or citation URLs. They are supporting-source metadata, not proof that the answer text mentioned them."})]}),l.jsx("div",{className:"citation-leaderboard",children:V.citedDomains.map((de,ce)=>{const Y=de.toLowerCase().replace(/^www\./,""),me=E.has(Y),Pe=!me&&V.citedCompetitorDomains.some(st=>st.toLowerCase().replace(/^www\./,"")===Y),Ne=me?"you":Pe?"competitor":"other";return l.jsxs("div",{className:`citation-leaderboard-item citation-leaderboard-item--${Ne}`,children:[l.jsxs("span",{className:"citation-leaderboard-rank",children:["#",ce+1]}),l.jsx("span",{className:"citation-leaderboard-domain",children:de}),me&&l.jsx("span",{className:"citation-leaderboard-tag",children:"You"}),Pe&&l.jsx("span",{className:"citation-leaderboard-tag",children:"Competitor"})]},de)})})]}),V.groundingSources.length>0&&l.jsxs("div",{children:[l.jsxs("div",{className:"drawer-section-label flex items-center",children:[l.jsxs("span",{children:["Grounding source links (",V.groundingSources.length,")"]}),l.jsx(ca,{text:"Links the model used as grounding or supporting context while producing the answer. These are not the same thing as answer visibility."})]}),l.jsx("ul",{className:"grid min-w-0 gap-3",children:V.groundingSources.map((de,ce)=>l.jsx("li",{className:"min-w-0",children:l.jsx(Eg,{url:de.uri,title:de.title})},ce))})]}),V.evidenceUrls.length>0&&l.jsxs("div",{children:[l.jsx("p",{className:"drawer-section-label",children:"Evidence URLs"}),l.jsx("ul",{className:"grid min-w-0 gap-3",children:V.evidenceUrls.map(de=>l.jsx("li",{className:"min-w-0",children:l.jsx(Eg,{url:de})},de))})]}),V.citedDomains.length===0&&V.groundingSources.length===0&&V.evidenceUrls.length===0&&l.jsxs("div",{className:"flex items-center justify-center h-24 text-faint text-sm",children:["No source data ",J?"for this run":"yet"]})]}),!Fe&&!We&&l.jsxs("div",{className:"flex items-center justify-center h-24 text-faint text-sm",children:["No answer visibility data ",J?"for this run":"yet"]})]})]})]})]})]})})}function iY(e){const n=e.match(/^\/projects\/([^/]+)/);if(!n)return null;try{return decodeURIComponent(n[1])}catch{return n[1]}}function sY(e,n){return e?n?.projects.find(r=>r.project.name===e||r.project.id===e)?.project.name??e:null}function oY(e,n){return sY(iY(e),n)}function Ua(e){const n=new Date("2026-02-20");return e.map((i,r)=>({runId:`run_mock_${r+1}`,citationState:i,createdAt:new Date(n.getTime()+r*2*24*60*60*1e3).toISOString()}))}const $f=[{id:"project_citypoint",name:"Citypoint Dental NYC",canonicalDomain:"citypointdental.com",ownedDomains:[],aliases:[],qualifiedAliases:[],country:"US",language:"en",tags:["local intent","priority"],labels:{},providers:[],providerModels:{},providerDispatchModes:{},measurement:hf,locations:[],defaultLocation:null,autoExtractBacklinks:!1,siteAuditMaxPages:null,configSource:"cli",configRevision:1},{id:"project_harbor",name:"Harbor Legal Group",canonicalDomain:"harborlegal.com",ownedDomains:[],aliases:[],qualifiedAliases:[],country:"US",language:"en",tags:["lead gen"],labels:{},providers:[],providerModels:{},providerDispatchModes:{},measurement:hf,locations:[],defaultLocation:null,autoExtractBacklinks:!1,siteAuditMaxPages:null,configSource:"cli",configRevision:1},{id:"project_northstar",name:"Northstar Orthopedics",canonicalDomain:"northstarortho.com",ownedDomains:[],aliases:[],qualifiedAliases:[],country:"US",language:"en",tags:["multi-location"],labels:{},providers:[],providerModels:{},providerDispatchModes:{},measurement:hf,locations:[],defaultLocation:null,autoExtractBacklinks:!1,siteAuditMaxPages:null,configSource:"cli",configRevision:1}];function Hm(e){return{id:e.id,projectId:e.projectId,projectName:e.projectName,kind:e.kind,kindLabel:e.kindLabel,status:e.status,trigger:e.trigger??"manual",createdAt:e.createdAt,startedAt:e.startedAt,duration:e.duration,statusDetail:e.statusDetail,summary:e.summary,triggerLabel:e.triggerLabel}}const zk=Hm({id:"run_citypoint_visibility_20260308",projectId:"project_citypoint",projectName:"Citypoint Dental NYC",kind:"answer-visibility",kindLabel:"Answer visibility sweep",status:"completed",createdAt:"2026-03-08T12:15:00.000Z",startedAt:"Mar 8, 12:15 PM",duration:"6 minutes 12 seconds",statusDetail:"18 tracked queries checked; 3 citation losses detected on emergency-intent prompts.",summary:"Citation losses on emergency-intent prompts",triggerLabel:"Scheduled"}),rY=Hm({id:"run_citypoint_queued_20260309",projectId:"project_citypoint",projectName:"Citypoint Dental NYC",kind:"answer-visibility",kindLabel:"Answer visibility sweep",status:"queued",createdAt:"2026-03-09T08:05:00.000Z",startedAt:"Mar 9, 8:05 AM",duration:"Waiting",statusDetail:"Ready to enqueue after the next provider rate window clears.",summary:"Queued follow-up after local ranking movement",triggerLabel:"Manual"}),Ik=Hm({id:"run_harbor_visibility_20260308",projectId:"project_harbor",projectName:"Harbor Legal Group",kind:"answer-visibility",kindLabel:"Answer visibility sweep",status:"completed",createdAt:"2026-03-08T11:05:00.000Z",startedAt:"Mar 8, 11:05 AM",duration:"5 minutes 7 seconds",statusDetail:"12 tracked queries checked; local-intent visibility held steady across branded prompts.",summary:"Branded prompts remain stable",triggerLabel:"Scheduled"}),lY=Hm({id:"run_northstar_visibility_20260308",projectId:"project_northstar",projectName:"Northstar Orthopedics",kind:"answer-visibility",kindLabel:"Answer visibility sweep",status:"running",createdAt:"2026-03-08T13:40:00.000Z",startedAt:"Mar 8, 1:40 PM",duration:"Running",statusDetail:"Provider responses still in flight for 9 multi-location prompts.",summary:"Mid-run on treatment-location prompts",triggerLabel:"Manual"}),cY=[{id:"evidence_citypoint_emergency_gemini",query:"emergency dentist brooklyn",provider:"gemini",model:"gemini-2.5-flash",location:null,citationState:"lost",changeLabel:"Lost since Mar 5",answerSnippet:"For urgent dental care in Brooklyn, Downtown Smiles and Harbor Dental are now cited first for emergency availability and same-day booking.",citedDomains:["downtownsmiles.com","harbordental.com"],evidenceUrls:["https://downtownsmiles.com/emergency-dentist-brooklyn","https://harbordental.com/same-day-emergency-care"],competitorDomains:["downtownsmiles.com","harbordental.com"],groundingSources:[],relatedTechnicalSignals:["FAQ schema missing on the emergency service page","llms.txt not found during latest site audit","Location pages link weakly into the emergency care hub"],summary:"AI answers now cite two competitors while your emergency page is no longer grounded.",runHistory:Ua(["cited","cited","cited","cited","cited","cited","cited","not-cited","not-cited"])},{id:"evidence_citypoint_emergency_openai",query:"emergency dentist brooklyn",provider:"openai",model:"gpt-5.4",location:null,citationState:"cited",changeLabel:"Cited for 6 runs",answerSnippet:"Citypoint Dental is listed as a top emergency dentist in Brooklyn for same-day appointments and walk-in availability.",citedDomains:["citypointdental.com","downtownsmiles.com"],evidenceUrls:["https://citypointdental.com/emergency-dentist-brooklyn"],competitorDomains:["downtownsmiles.com"],groundingSources:[],relatedTechnicalSignals:["Emergency page indexed with structured data"],summary:"OpenAI cites your emergency page consistently alongside one competitor.",runHistory:Ua(["not-cited","cited","cited","cited","cited","cited","cited"])},{id:"evidence_citypoint_emergency_claude",query:"emergency dentist brooklyn",provider:"claude",model:"claude-sonnet-4-6",location:null,citationState:"not-cited",changeLabel:"No citation across 12 runs",answerSnippet:"Based on the search results, top-rated emergency dental practices in Brooklyn include Downtown Smiles and Harbor Dental.",citedDomains:["downtownsmiles.com","harbordental.com"],evidenceUrls:[],competitorDomains:["downtownsmiles.com","harbordental.com"],groundingSources:[],relatedTechnicalSignals:["FAQ schema missing","llms.txt not found"],summary:"Claude does not cite your domain for this emergency query.",runHistory:Ua(["not-cited","not-cited","not-cited","not-cited","not-cited","not-cited","not-cited","not-cited","not-cited","not-cited","not-cited","not-cited"])},{id:"evidence_citypoint_invisalign_openai",query:"best invisalign dentist downtown brooklyn",provider:"openai",model:"gpt-5.4",location:null,citationState:"emerging",changeLabel:"First citation in 7 days",answerSnippet:"Citypoint Dental appears as an emerging recommendation for Invisalign in Downtown Brooklyn, supported by recent before-and-after case pages.",citedDomains:["citypointdental.com","clearlineortho.com"],evidenceUrls:["https://citypointdental.com/invisalign-downtown-brooklyn","https://citypointdental.com/case-studies/invisalign-open-bite"],competitorDomains:["clearlineortho.com"],groundingSources:[],relatedTechnicalSignals:["Structured data now present on two case-study pages","Internal links from service pages to case studies improved crawl depth"],summary:"Fresh case-study content is starting to earn citations on Invisalign prompts.",runHistory:Ua(["not-cited","not-cited","not-cited","not-cited","not-cited","not-cited","cited"])},{id:"evidence_citypoint_invisalign_gemini",query:"best invisalign dentist downtown brooklyn",provider:"gemini",model:"gemini-2.5-flash",location:null,citationState:"cited",changeLabel:"Cited for 8 runs",answerSnippet:"Citypoint Dental in Downtown Brooklyn is highlighted for its Invisalign expertise and patient outcomes.",citedDomains:["citypointdental.com"],evidenceUrls:["https://citypointdental.com/invisalign-downtown-brooklyn"],competitorDomains:[],groundingSources:[],relatedTechnicalSignals:["Case study pages well-indexed"],summary:"Gemini consistently cites your Invisalign page with no competitor overlap.",runHistory:Ua(["cited","cited","cited","cited","cited","cited","cited","cited"])},{id:"evidence_citypoint_invisalign_claude",query:"best invisalign dentist downtown brooklyn",provider:"claude",model:"claude-sonnet-4-6",location:null,citationState:"not-cited",changeLabel:"No citation across 12 runs",answerSnippet:"For Invisalign in Downtown Brooklyn, Clear Line Ortho and Brooklyn Smiles are frequently recommended for their experienced orthodontists.",citedDomains:["clearlineortho.com","brooklynsmiles.com"],evidenceUrls:[],competitorDomains:["clearlineortho.com"],groundingSources:[],relatedTechnicalSignals:["No before/after schema on case study pages"],summary:"Claude does not surface your Invisalign content despite strong page quality.",runHistory:Ua(["not-cited","not-cited","not-cited","not-cited","not-cited","not-cited","not-cited","not-cited","not-cited","not-cited","not-cited","not-cited"])},{id:"evidence_citypoint_children_claude",query:"pediatric dentist brooklyn heights",provider:"claude",model:"claude-sonnet-4-6",location:null,citationState:"not-cited",changeLabel:"No citation across 4 runs",answerSnippet:"Answers cite neighborhood-specific pediatric practices with stronger family-focused FAQ content and clearer insurance details.",citedDomains:["brightkidsdental.com","parkpediatricdental.com"],evidenceUrls:["https://brightkidsdental.com/pediatric-dentist-brooklyn-heights","https://parkpediatricdental.com/insurance"],competitorDomains:["brightkidsdental.com","parkpediatricdental.com"],groundingSources:[],relatedTechnicalSignals:["No dedicated pediatric service page exists for Brooklyn Heights","Insurance content is buried three clicks deep"],summary:"Coverage gap is content-driven, not purely technical.",runHistory:Ua(["not-cited","not-cited","not-cited","not-cited"])},{id:"evidence_citypoint_children_gemini",query:"pediatric dentist brooklyn heights",provider:"gemini",model:"gemini-2.5-flash",location:null,citationState:"not-cited",changeLabel:"No citation across 12 runs",answerSnippet:"For pediatric dentistry in Brooklyn Heights, Bright Kids Dental and Park Pediatric Dental are cited for family-friendly care.",citedDomains:["brightkidsdental.com","parkpediatricdental.com"],evidenceUrls:[],competitorDomains:["brightkidsdental.com","parkpediatricdental.com"],groundingSources:[],relatedTechnicalSignals:["No dedicated pediatric page for Brooklyn Heights"],summary:"Gemini does not surface your domain for pediatric queries in this area.",runHistory:Ua(["not-cited","not-cited","not-cited","not-cited","not-cited","not-cited","not-cited","not-cited","not-cited","not-cited","not-cited","not-cited"])},{id:"evidence_citypoint_children_openai",query:"pediatric dentist brooklyn heights",provider:"openai",model:"gpt-5.4",location:null,citationState:"cited",changeLabel:"First citation this month",answerSnippet:"Citypoint Dental is mentioned as offering pediatric services in Brooklyn, though specialized pediatric-only practices are also highlighted.",citedDomains:["citypointdental.com","brightkidsdental.com"],evidenceUrls:["https://citypointdental.com/family-dentistry"],competitorDomains:["brightkidsdental.com"],groundingSources:[],relatedTechnicalSignals:["Family dentistry page recently updated"],summary:"OpenAI recently started citing your family dentistry page for this query.",runHistory:Ua(["not-cited","not-cited","not-cited","not-cited","not-cited","cited"])}];$f[0],9/21,8/21,4/21,$f[1],11/17,6/17,Ua(["cited","cited","cited","cited","cited"]),$f[2],15/19,4/19,Ua(["not-cited","not-cited","not-cited","cited"]);function uY(e,n){return e.runs.find(i=>i.id===n)}function dY(e,n){for(const i of e.projects){const r=i.visibilityEvidence.find(u=>u.id===n);if(r)return{project:i,evidence:r}}}function mY(e,n,i){if(e){const r=e.visibilityEvidence.find(u=>u.id===i);if(r)return{project:e,evidence:r}}if(n)return dY(n,i)}const pY={regression:"negative",gain:"positive",opportunity:"caution","first-citation":"positive","provider-pickup":"positive","persistent-gap":"caution","competitor-gained":"negative","competitor-lost":"neutral","gbp-lodging-gap":"negative","gbp-listing-discrepancy":"negative","gbp-cta-gap":"caution","gbp-description-missing":"caution","gbp-metric-drop":"negative","gbp-keyword-drop":"negative"},hY={opportunity:"write","persistent-gap":"write","competitor-gained":"write","competitor-lost":"write",regression:"investigate",gain:"monitor","first-citation":"monitor","provider-pickup":"monitor","gbp-lodging-gap":"write","gbp-listing-discrepancy":"write","gbp-cta-gap":"write","gbp-description-missing":"write","gbp-metric-drop":"investigate","gbp-keyword-drop":"investigate"},fY={regression:"lost",gain:"emerging",opportunity:"not-cited","first-citation":"emerging","provider-pickup":"emerging","persistent-gap":"not-cited","competitor-gained":"cited","competitor-lost":"not-cited","gbp-lodging-gap":"not-cited","gbp-listing-discrepancy":"not-cited","gbp-cta-gap":"not-cited","gbp-description-missing":"not-cited","gbp-metric-drop":"lost","gbp-keyword-drop":"lost"},gY={regression:"Regression",gain:"Gain",opportunity:"Opportunity","first-citation":"First citation","provider-pickup":"Pickup","persistent-gap":"Gap","competitor-gained":"Competitor","competitor-lost":"Competitor","gbp-lodging-gap":"Lodging gap","gbp-listing-discrepancy":"Listing gap","gbp-cta-gap":"Booking CTA","gbp-description-missing":"Description gap","gbp-metric-drop":"Metric drop","gbp-keyword-drop":"Keyword drop"};function yY(e){return{id:e.id,tone:pY[e.type],title:e.title,detail:e.cause?.details??e.cause?.cause??"",actionLabel:e.recommendation?.action??gY[e.type],actionGroup:hY[e.type],affectedPhrases:[{query:e.query,evidenceId:"",provider:e.provider,citationState:fY[e.type]}]}}function bY(e){return e.filter(n=>!n.dismissed).map(yY)}function cC(e){return{id:e.id,name:e.name,displayName:e.displayName,canonicalDomain:e.canonicalDomain,ownedDomains:e.ownedDomains??[],aliases:e.aliases??[],qualifiedAliases:e.qualifiedAliases,country:e.country,language:e.language,tags:e.tags,labels:e.labels,providers:e.providers??[],providerModels:e.providerModels??{},providerDispatchModes:e.providerDispatchModes??{},measurement:e.measurement,locations:e.locations??[],defaultLocation:e.defaultLocation??null,autoExtractBacklinks:e.autoExtractBacklinks??!1,siteAuditMaxPages:e.siteAuditMaxPages??null,configSource:e.configSource,configRevision:e.configRevision,createdAt:e.createdAt,updatedAt:e.updatedAt}}function yo(e,n){return`${e} ${n}${e===1?"":"s"}`}function vY(e,n){if(!e)return"Waiting";if(!n)return"Running";const i=new Date(n).getTime()-new Date(e).getTime();if(i<1e3)return"under 1 second";const r=Math.floor(i/1e3),u=Math.floor(r/3600),h=Math.floor(r%3600/60),f=r%60;return u>0?h>0?`${yo(u,"hour")} ${yo(h,"minute")}`:yo(u,"hour"):h>0?f>0?`${yo(h,"minute")} ${yo(f,"second")}`:yo(h,"minute"):yo(f,"second")}function uC(e){switch(e){case De["answer-visibility"]:return"Answer visibility sweep";case De["gsc-sync"]:return"GSC sync";case De["inspect-sitemap"]:return"Sitemap inspection";case De["ga-sync"]:return"GA sync";case De["traffic-sync"]:return"Traffic sync";case De["bing-inspect"]:return"Bing URL inspection";case De["bing-inspect-sitemap"]:return"Bing sitemap inspection";case De["site-audit"]:return"Site audit";case De["backlink-extract"]:return"Backlink extract";case De["aeo-discover-seed"]:return"Discovery (seed phase)";case De["aeo-discover-probe"]:return"Discovery (probe phase)";case De["gbp-sync"]:return"Business Profile sync";case De["ads-sync"]:return"ChatGPT ads sync";case De["google-ads-sync"]:return"Google Ads sync";case De["gtm-sync"]:return"Tag Manager sync"}}function xY(e){switch(e){case Va.manual:return"Manual";case Va.scheduled:return"Scheduled";case Va["config-apply"]:return"Config apply";case Va.probe:return"Spot check";default:return e}}function nu(e,n){return{id:e.id,projectId:e.projectId,projectName:n,kind:e.kind,kindLabel:uC(e.kind),status:e.status,trigger:e.trigger??"manual",location:e.location??null,createdAt:e.createdAt,startedAt:KH(e.startedAt||e.createdAt),duration:vY(e.startedAt??null,e.finishedAt??null),statusDetail:e.error?dC(e.error):wY(e),summary:kY(e),triggerLabel:xY(e.trigger)}}function dC(e){const n=C0(e);return n.length>200?n.slice(0,200)+"…":n}function wY(e){switch(e.status){case jt.queued:return"Waiting for execution slot.";case jt.running:return"Provider queries in progress.";case jt.completed:return"All queries checked.";case jt.partial:return"Run completed with some queries skipped.";case jt.failed:return e.error?dC(e.error):"Run failed.";case jt.cancelled:return"Run was cancelled.";default:return""}}function kY(e){const n=uC(e.kind);switch(e.status){case jt.queued:return`${n} queued`;case jt.running:return`${n} in progress`;case jt.completed:return`${n} completed`;case jt.partial:return`${n} partially completed`;case jt.failed:return`${n} failed`;case jt.cancelled:return`${n} cancelled`;default:return e.status}}function SY(e,n,i,r,u){const h=[];let f=0;const b=new Set;if(i.length>0){const v=i.flatMap(E=>E.snapshots??[]),x=new Map;for(const E of v)if(E.query){const P=`${E.query}::${E.provider}::${E.location??""}`;x.set(P,E)}const k=new Set(v.map(E=>E.location??null));k.size===0&&k.add(null);const S=new Set(v.map(E=>E.provider)),N=new Set(n.flatMap(E=>Object.keys(E.providerRuns??{}))),_=[...new Set([...S,...N])].sort(),z=_.length>0?_:["gemini"],q=new Set(v.flatMap(E=>E.query?[E.query]:[]));for(const E of n){if(E.runs.length===0&&!q.has(E.query))continue;b.add(E.query);const P=E.runs.at(-1),M=P?.transition??"not-cited";for(const L of z){const $=[...k].filter(V=>x.has(`${E.query}::${L}::${V??""}`)),H=(E.providerRuns?.[L]?.length??0)>0,J=$.length>0?$:H?[null]:[];for(const V of J){const Q=V??"",ae=x.get(`${E.query}::${L}::${Q}`),Fe=ae?.model??null,We=Fe?`${L}:${Fe}`:null,Ve=E.providerRuns?.[L],qe=We?E.modelRuns?.[We]:void 0,Ae=Ht=>Ht?.filter(Me=>(Me.location??null)===V),Le=$.length>0?Ae(Ve):Ve,B=$.length>0?Ae(qe):qe,ee=(Le?.length?Le:null)??(B?.length?B:null),ve=Le?.length?"provider":B?.length?"model":"query",je=ae&&ee?ee.findIndex(Ht=>Ht.runId===ae.runId):-1,oe=ae?je>=0?ee.slice(0,je+1):null:ee,ke=ae!==void 0&&oe===null,Ie=oe?oe.at(-1).transition:ke?ae.citationState===wc.cited?"cited":"not-cited":M,xe=oe?oe.at(-1).visibilityTransition??(oe.at(-1).visibilityState==="visible"?"visible":"not-visible"):ke?ae.visibilityState==="visible"?"visible":"not-visible":P?.visibilityTransition??(P?.visibilityState==="visible"?"visible":"not-visible"),de=ee?.at(-1)?.citationState,ce=ee?.at(-1)?.visibilityState,Y=ae?Ie==="lost"?"lost":Ie==="emerging"?"emerging":ae.citationState===wc.cited?"cited":"not-cited":de===wc.cited?"cited":"not-cited",me=ae?.visibilityState??(ce==="visible"?"visible":ce==="pending"?"pending":"not-visible"),Pe=oe?Ok(oe):ke?1:Ok(E.runs),Ne=oe?Pk(oe):ke?1:Pk(E.runs),st=jY(E,L),$e=(ee??E.runs).map(Ht=>({runId:Ht.runId,citationState:Ht.citationState,createdAt:Ht.createdAt,model:st.get(Ht.runId)??null,answerMentioned:Ht.answerMentioned,visibilityState:Ht.visibilityState,visibilityTransition:Ht.visibilityTransition,mentionState:Ht.mentionState,mentionTransition:Ht.mentionTransition})),Nt=AY($e),He=ve==="provider"&&Nt.length<=1?"model":ve,pe=NY($e),at=ae?.citedCompetitorDomains??[],It=ae?.mentionedCompetitorDomains??[],qn=[...new Set([...at,...It,...ae?.competitorOverlap??[]])];h.push({id:`evidence_${e}_${f++}`,query:E.query,queryId:ae?.queryId??null,sourceSnapshotId:ae?.id??null,sourceRunId:ae?.runId??null,queryClass:u?.classify(E.query)??null,provider:ae?.provider??L,model:ae?.model??null,location:ae?.location??V,citationState:Y,answerMentioned:ae?.answerMentioned,visibilityState:me,visibilityChangeLabel:qk(xe,Ne,{positive:"visible",negative:"not visible",first:"first visibility"}),changeLabel:qk(Ie,Pe),answerSnippet:ae?.answerText??"",citedDomains:ae?.citedDomains??[],evidenceUrls:ae?.citedUrls??[],citedCompetitorDomains:at,mentionedCompetitorDomains:It,mentionedCompetitorTerms:ae?.mentionedCompetitorTerms??[],competitorDomains:qn,recommendedCompetitors:ae?.recommendedCompetitors??[],matchedTerms:ae?.matchedTerms??[],relatedTechnicalSignals:[],groundingSources:ae?.groundingSources??[],searchQueries:ae?.searchQueries??[],summary:CY(me,xe,E.query),runHistory:$e,historyScope:He,modelsSeen:Nt,modelTransitions:pe})}}}}for(const v of r)b.has(v.query)||h.push({id:`evidence_${e}_${f++}`,query:v.query,queryId:v.id,sourceSnapshotId:null,sourceRunId:null,queryClass:u?.classify(v.query)??null,provider:"",model:null,location:null,citationState:"pending",visibilityState:"pending",visibilityChangeLabel:"Awaiting first run",changeLabel:"Awaiting first run",answerSnippet:"",citedDomains:[],evidenceUrls:[],citedCompetitorDomains:[],mentionedCompetitorDomains:[],mentionedCompetitorTerms:[],competitorDomains:[],recommendedCompetitors:[],matchedTerms:[],relatedTechnicalSignals:[],groundingSources:[],searchQueries:[],summary:`"${v.query}" has been added but no visibility run has been triggered yet.`,runHistory:[],historyScope:"query",modelsSeen:[],modelTransitions:[]});return h}function jY(e,n){const i=new Map,r=`${n}:`;for(const[u,h]of Object.entries(e.modelRuns??{})){if(!u.startsWith(r))continue;const f=u.slice(r.length),b=f==="unknown"?null:f;for(const v of h)i.set(v.runId,b)}return i}function AY(e){const n=new Set;for(const i of e)i.model&&n.add(i.model);return[...n]}function NY(e){const n=[];let i=null;for(const r of e){const u=r.model??null;u!==i&&i!==null&&n.push({runId:r.runId,createdAt:r.createdAt,fromModel:i,toModel:u}),i=u}return n}function Ok(e){if(e.length===0)return 0;const n=e[e.length-1].citationState;let i=0;for(let r=e.length-1;r>=0&&e[r].citationState===n;r--)i++;return i}function Pk(e){if(e.length===0)return 0;const n=e[e.length-1].visibilityState??"not-visible";let i=0;for(let r=e.length-1;r>=0&&(e[r].visibilityState??"not-visible")===n;r--)i++;return i}function qk(e,n,i){const r={positive:i?.positive??"cited",negative:i?.negative??"not cited",first:i?.first??"first citation"};switch(e){case"new":return"First observation";case"cited":case"visible":return n<=1?`${gc(r.positive)} in latest run`:`${gc(r.positive)} for ${n} runs`;case"lost":return"Lost since last run";case"emerging":return gc(r.first);case"not-cited":case"not-visible":return n<=1?`${gc(r.negative)} in latest run`:`${gc(r.negative)} across ${n} runs`;default:return e}}function gc(e){return e.charAt(0).toUpperCase()+e.slice(1)}function CY(e,n,i){switch(n){case"lost":return`Mention was lost for "${i}". Your brand no longer appeared in the latest answer.`;case"emerging":return`Your brand started appearing in AI answers for "${i}".`}switch(e){case"visible":return`Your brand or domain is mentioned in AI answers for "${i}".`;case"pending":return`"${i}" has been added but no run has been triggered yet.`;default:return`Your brand or domain was not mentioned in AI answers for "${i}".`}}function mC(e){const n=cC(e.project),i=P9(TP(e.project)),r=SY(n.name,e.timeline,e.latestRunDetails,e.queries,i),h=[...e.runs].sort((f,b)=>b.createdAt.localeCompare(f.createdAt)).map(f=>nu(f,e.project.displayName||e.project.name));return e.overview?_Y(n,e.overview,r,h):TY(n,r,h)}function pC(e){return e.filter(n=>n.kind===De["answer-visibility"]&&n.trigger!==Va.probe&&(n.status===jt.completed||n.status===jt.partial))}function _Y(e,n,i,r){const u=bY(n.topInsights);for(const h of n.attentionItems)h.id.startsWith("insight_")||u.push({id:h.id,tone:h.tone,title:h.title,detail:h.detail,actionLabel:h.actionLabel,actionGroup:"investigate",affectedPhrases:[]});return{project:e,contextLabel:n.contextLabel,mentionSummary:n.scores.mention,visibilitySummary:n.scores.visibility,mentionShareSummary:n.scores.mentionShare,queryCounts:{cited:n.queryCounts.citedQueries,total:n.queryCounts.totalQueries},gapQueries:n.scores.gapQueries,mentionGaps:n.scores.mentionGaps,indexCoverage:n.scores.indexCoverage,providerScores:n.providerScores,competitorPressure:n.scores.competitorPressure,runStatus:n.scores.runStatus,movementComparison:n.movementComparison,insights:u,visibilityEvidence:i,competitors:n.competitors.map(h=>({id:h.id,domain:h.domain,aliases:h.aliases??[],autoAliases:h.autoAliasNames??[],citationCount:h.citationCount,totalQueries:h.totalQueries,pressureLabel:h.pressureLabel,citedQueries:h.citedQueries,movement:"",notes:""})),recentRuns:r.slice(0,5),visibilitySweeps:pC(r),suggestedQueries:n.suggestedQueries}}function Mk(){return{projectMentionSnapshots:0,competitorMentionSnapshots:0,combinedMentionSnapshots:0,perCompetitor:[],ranking:[],snapshotsWithAnswerText:0,snapshotsTotal:0,score:null}}function TY(e,n,i){const r={label:"",value:"No data",delta:"Loading…",tone:"neutral",description:"",tooltip:"",trend:[]};return{project:e,contextLabel:`${e.country} / ${e.language.toUpperCase()}`,mentionSummary:{...r,label:"Mention Coverage"},visibilitySummary:{...r,label:"Citation Coverage"},mentionShareSummary:{...r,label:"Mention Share",scope:"non-brand",unavailable:!0,breakdown:Mk(),branded:Mk()},queryCounts:{cited:0,total:0},gapQueries:{...r,label:"Citation Gaps"},mentionGaps:{...r,label:"Mention Gaps"},indexCoverage:{...r,label:"Index Coverage"},providerScores:[],competitorPressure:{...r,label:"Competitor Pressure"},runStatus:{...r,label:"Run Status"},movementComparison:{hasPreviousRun:!1,comparable:!1,querySetChanged:!1,previousRunAt:null,currentQueryCount:0,previousQueryCount:0,comparableQueryCount:0,addedQueryCount:0,removedQueryCount:0,addedQueries:[],removedQueries:[]},insights:[],visibilityEvidence:n,competitors:[],recentRuns:i.slice(0,5),visibilitySweeps:pC(i),suggestedQueries:{rows:[],totalCandidates:0,skippedAlreadyTracked:0}}}function EY(e){const n=cC(e.project),i=[...e.runs].sort((N,_)=>_.createdAt.localeCompare(N.createdAt)),r=i.find(N=>N.kind===De["answer-visibility"])??i[0]??e.overview?.latestRun?.run??void 0,u=e.project.displayName||e.project.name,h=r?nu(r,u):RY(e.project.id,u),f=e.overview;if(!f)return{project:n,hasMeasurement:!1,mentionScore:0,mentionDelta:"No data",mentionTone:"neutral",lastRun:h,insight:"No runs completed yet.",trend:[],competitorPressureLabel:"None"};const b=f.scores.mention,v=b.progress??0,x=f.queryCounts.mentionedQueries,k=f.queryCounts.totalQueries,S=f.providers.length;return{project:n,hasMeasurement:k>0&&b.progress!=null,mentionScore:v,mentionDelta:k>0?`${x} of ${k} queries`:"No data",mentionTone:b.tone,providerCoverage:b.providerCoverage,lastRun:h,insight:k>0?`${x} of ${k} queries mentioned across ${S} provider${S===1?"":"s"}.`:"No runs completed yet.",trend:b.trend??[],competitorPressureLabel:f.scores.competitorPressure.value,sentiment:f.sentiment}}function RY(e,n){return{id:"none",projectId:e,projectName:n,kind:De["answer-visibility"],kindLabel:"No runs yet",status:jt.queued,trigger:Va.manual,createdAt:"",startedAt:"",duration:"",statusDetail:"",summary:"No runs yet",triggerLabel:""}}function DY(e,n){const i=[],r=[],u=[];for(const f of e){r.push(mC(f)),u.push(EY(f));const b=[...f.runs].sort((v,x)=>x.createdAt.localeCompare(v.createdAt));for(const v of b)i.push(nu(v,f.project.displayName||f.project.name))}i.sort((f,b)=>b.createdAt.localeCompare(f.createdAt));const h=e.length>0;return{portfolioOverview:{projects:u,attentionItems:h?zY(r):[{id:"attention_setup",tone:"neutral",title:"No projects yet",detail:"Create your first project using the setup wizard, CLI, or API.",actionLabel:"Open setup",href:"/setup"}],recentRuns:i.slice(0,5),systemHealth:[{id:"api",label:"API",tone:"positive",detail:"Connected",meta:"Real-time data"},{id:"provider",label:"Gemini",tone:"positive",detail:"Configured",meta:"Provider active"}],...h?{}:{emptyState:{title:"No projects yet",detail:"Canonry becomes useful after one project, a small query set, and one competitor list are in place.",ctaLabel:"Launch setup",ctaHref:"/setup"}}},projects:r,runs:i,setup:{healthChecks:[{id:"api",label:"API reachable",detail:"API is responding.",state:"ready",guidance:"Required for project creation and run history."},{id:"provider",label:"Provider configured",detail:"Gemini key is configured.",state:"ready",guidance:"Required for answer-visibility sweeps."}],projectDraft:{name:"",canonicalDomain:"",country:"US",language:"en"},queryImportState:{mode:"paste",queryCount:0,preview:[]},competitorDraft:{domains:[],notes:"Use the CLI to add competitors."},launchState:{enabled:h,ctaLabel:h?"Trigger run":"Create a project first",summary:h?"Ready to run.":"Create a project first to launch a run."}},settings:{providerStatuses:(n?.providers??[]).map(f=>({name:f.name,displayName:f.displayName,keyUrl:f.keyUrl,modelHint:f.modelHint,model:f.model,defaultModel:f.defaultModel,state:f.configured?"ready":"needs-config",detail:f.configured?"Provider is configured.":f.name.toLowerCase()==="local"?"Base URL is missing.":"API key is missing.",quota:f.quota})),google:{state:n?.google?.configured?"ready":"needs-config",detail:n?.google?.configured?"Google OAuth app credentials are configured. Project-level GSC connections can be created from the dashboard.":"Google OAuth client ID and client secret are not configured yet."},bing:{state:n?.bing?.configured?"ready":"needs-config",detail:n?.bing?.configured?"Bing Webmaster Tools API key is configured. Project-level Bing connections can be created from the dashboard.":"Bing Webmaster Tools API key is not configured yet."},selfHostNotes:["Configuration is stored in ~/.canonry/config.yaml.","The local config file is the source of truth for authentication credentials.","Google OAuth app credentials and per-domain Google tokens are stored in local config, not the database.","Database is SQLite at ~/.canonry/data.db.","API key was auto-generated during canonry init."],bootstrapNote:"Use the UI, CLI, or ~/.canonry/config.yaml to manage settings. Authentication credentials persist to local config."}}}function zY(e){const n=[];for(const i of e){const r=i.visibilityEvidence.filter(h=>h.citationState==="lost");r.length>0&&n.push({id:`attention_${i.project.id}_lost`,tone:"negative",title:`${i.project.displayName||i.project.name} lost citations`,detail:`${r.length} quer${r.length>1?"ies":"y"} lost citation.`,actionLabel:"Open project",href:`/projects/${encodeURIComponent(i.project.name)}`});const u=i.recentRuns.filter(h=>h.status===jt.running||h.status===jt.queued);u.length>0&&n.push({id:`attention_${i.project.id}_active`,tone:"neutral",title:`${i.project.displayName||i.project.name} has active runs`,detail:`${u.length} run${u.length>1?"s":""} in progress.`,actionLabel:"View runs",href:"/runs"})}return n.length===0&&n.push({id:"attention_stable",tone:"positive",title:"All projects stable",detail:"No citation losses or active runs to flag."}),n}const hC=C.createContext(null);hC.Provider;function au(){return C.useContext(hC)}function Fm(e,n={}){const r=au()?.dashboard??null,u=n.includeSettings??!0,h=n.includeOverviews??!0,f=n.pauseProjectPolling??!1,{isAdmin:b}=fa(),v=!r&&h&&!Vm(),x=yt({...Oc({client:W,query:{kind:"answer-visibility"}}),enabled:!r,staleTime:_s,refetchInterval:H=>H.state.data?.some(Q=>Q.status==="running"||Q.status==="queued")?3e3:_s}),k=yt({...Oc({client:W,query:{excludeKinds:[De["bing-inspect"],De["traffic-sync"]],limit:5}}),enabled:v,staleTime:_s,refetchInterval:H=>H.state.data?.some(J=>J.status===jt.running||J.status===jt.queued)?3e3:_s}),S=yt({...qo({client:W}),enabled:!r,refetchInterval:f?!1:H=>{const J=H.state.data,V=x.data?.some(ae=>ae.status==="running"||ae.status==="queued");return(J?.length??0)===0||!!V?zH:IH}}),N=yt({...NF({client:W}),enabled:!r&&u&&b}),_=S.data??[],z=x.data??[],q=U5({queries:_.map(H=>{const J=z.filter(ae=>ae.projectId===H.id),V=J.filter(ae=>(ae.status==="completed"||ae.status==="partial")&&ae.kind==="answer-visibility"&&ae.trigger!=="probe").sort((ae,Fe)=>Fe.createdAt.localeCompare(ae.createdAt)),Q=V.length>0?V[0].id:"no-run";return{queryKey:["project-overview-slim",H.id,Q],queryFn:async()=>{const ae=await EN(H.name).catch(()=>null);return{project:H,runs:J,queries:[],competitors:[],timeline:[],latestRunDetails:[],previousRunDetails:[],gscCoverage:null,bingCoverage:null,dbInsights:null,overview:ae}},enabled:!r&&h&&S.isSuccess&&x.isSuccess,staleTime:qd}})}),E=!h||q.every(H=>H.isSuccess),P=C.useMemo(()=>{if(r)return r;if(!S.data||!x.data||_.length>0&&!E)return null;const H=new Map(_.map(Q=>[Q.id,Q])),J=h?q.map(Q=>{if(!Q.data)return null;const ae=H.get(Q.data.project.id);return ae?{...Q.data,project:ae,runs:z.filter(Fe=>Fe.projectId===ae.id)}:null}).filter(Q=>Q!=null):_.map((Q,ae)=>{const Fe=q[ae]?.data;return{project:Q,runs:z.filter(We=>We.projectId===Q.id),queries:[],competitors:[],timeline:[],latestRunDetails:[],previousRunDetails:[],gscCoverage:null,bingCoverage:null,dbInsights:null,overview:Fe?.overview??null}}),V=DY(J,N.data??null);return v&&(V.portfolioOverview.recentRuns=(k.data??[]).filter(Q=>Q.trigger!==Va.probe&&H.has(Q.projectId)).map(Q=>{const ae=H.get(Q.projectId);return nu(Q,ae.displayName||ae.name)})),V},[r,S.data,x.data,N.data,h,E,q,_,z,v,k.data]),M=!r&&(S.isError||x.isError),L=!r&&!P&&!M,$=C.useCallback(async()=>{const H=[S.refetch(),x.refetch(),...v?[k.refetch()]:[],...h?q.map(J=>J.refetch()):[]];u&&b&&H.push(N.refetch()),await Promise.all(H)},[u,b,h,v,k.refetch,q,S.refetch,x.refetch,N.refetch]);return{dashboard:P,isLoading:L,isError:M,activityLoading:v&&k.isPending,activityError:v&&k.isError,refetch:$}}function IY(e){return JSON.stringify(e.filter(n=>n.kind==="answer-visibility"&&n.trigger!=="probe"&&(n.status==="completed"||n.status==="partial")).map(n=>[n.id,n.status]).sort(([n],[i])=>n.localeCompare(i)))}async function Rg(e,n,i="active"){const r=u=>{const h=u.queryKey[0];return h?._id==="getApiV1ProjectsByNameAnalyticsCompetitors"&&h.path?.name===n};return i==="active"&&await e.cancelQueries({predicate:r}),e.invalidateQueries({predicate:r,refetchType:i})}function Zie(e,n,i){const r=Ds(),u=C.useRef({projectName:e,revision:n,enabled:i});C.useEffect(()=>{const h=u.current;u.current={projectName:e,revision:n,enabled:i},!(!i||!h.enabled||h.projectName!==e||h.revision===n)&&Rg(r,e)},[i,e,r,n])}const OY=20;function PY(e,n={}){const i=Ds(),r=au(),u=C.useMemo(()=>!r||!e?null:r.dashboard.projects.find(H=>H.project.name===e)??null,[r,e]),h=yt({...aF({client:W,path:{name:e??""}}),enabled:!!e&&!u,staleTime:qd,refetchOnWindowFocus:"always"}),f=yt({...BN({client:W,path:{name:e??""},query:{kind:"answer-visibility"}}),enabled:!!e,staleTime:_s,refetchOnWindowFocus:"always",refetchInterval:H=>H.state.data?.some(Q=>Q.projectId===h.data?.id&&(Q.status==="running"||Q.status==="queued"))?3e3:_s}),b=h.data??null,v=C.useMemo(()=>b?(f.data??[]).filter(H=>H.projectId===b.id):[],[b,f.data]),{latestRunIds:x,latestRunIdsKey:k,latestVisibilityRevision:S}=C.useMemo(()=>{const H=v.filter(Q=>(Q.status==="completed"||Q.status==="partial")&&Q.kind==="answer-visibility"&&Q.trigger!=="probe").sort((Q,ae)=>ae.createdAt.localeCompare(Q.createdAt)),J=H[0]?.createdAt??null,V=J?H.filter(Q=>Q.createdAt===J).map(Q=>Q.id):[];return{latestRunIds:V,latestRunIdsKey:[...V].sort().join(","),latestVisibilityRevision:J?`${J}:${[...V].sort().join(",")}`:"none"}},[v]),N=!!b&&!!e&&f.isSuccess,_=yt({queryKey:["project-dashboard-full",b?.id??null,k||"none","overview"],queryFn:async()=>({project:b,overview:await EN(e)}),enabled:N&&n.overview===!0,staleTime:qd,refetchOnWindowFocus:"always"}),z=yt({queryKey:["project-dashboard-full",b?.id??null,k||"none","evidence"],queryFn:async()=>{const[H,J,V]=await Promise.all([TN(e),GG(e,void 0,OY),Promise.all(x.map(Q=>xg(Q)))]);return{project:b,queries:H,timeline:J,latestRunDetails:V}},enabled:N&&n.evidence===!0,staleTime:qd,refetchOnWindowFocus:"always"}),q=C.useMemo(()=>{if(!b||!f.data)return u;const H=n.evidence?z.data:void 0,J={project:b,runs:v,queries:H?.queries??[],timeline:H?.timeline??[],latestRunDetails:H?.latestRunDetails??[],overview:n.overview?_.data?.overview??null:null},V=mC(J);return u&&!(n.overview&&_.data)?{...u,project:V.project,recentRuns:V.recentRuns,visibilitySweeps:V.visibilitySweeps,visibilityEvidence:H?V.visibilityEvidence:u.visibilityEvidence}:V},[b,v,z.data,_.data,u,n.evidence,n.overview,f.data]),E=C.useCallback(async()=>{await Promise.all([h.refetch(),f.refetch(),i.invalidateQueries({queryKey:["project-dashboard-full",b?.id??null]})])},[h.refetch,f.refetch,i,b?.id]),P=h.isError||f.isError,M=!u&&(h.isLoading||f.isLoading),L=!!e&&n.overview===!0&&!u&&!P&&_.isPending,$=!!e&&n.evidence===!0&&!u&&!P&&z.isPending;return{commandCenter:q,project:b,isLoading:M,isError:P,overviewLoading:L,overviewError:n.overview===!0&&_.isError&&!_.data,evidenceLoading:$,evidenceError:n.evidence===!0&&z.isError&&!z.data,latestVisibilityRevision:S,competitorHistoryRevision:IY(v),refetch:E}}const qY=["health"];async function MY(){const e=await uH("/health","API"),n=So()&&e.state==="ok"?{label:"Worker",state:"disabled",detail:"Background execution is disabled in this public demo."}:e.state==="ok"?{label:"Worker",state:"ok",detail:"In-process job runner"}:{label:"Worker",state:e.state,detail:`Depends on API health check · ${e.detail}`,statusCode:e.statusCode,hint:e.hint?`Worker status is inferred from API health in this deployment mode. ${e.hint}`:"Worker status is inferred from API health in this deployment mode."};return{apiStatus:e,workerStatus:n}}function R1(e,n){return yt({queryKey:qY,queryFn:MY,enabled:e,refetchInterval:15e3,initialData:n})}function BY(e){return yt({...N1({client:W,path:{id:e??""}}),enabled:!!e,refetchInterval:n=>{const i=n.state.data?.status;return i==="running"||i==="queued"?3e3:!1}})}function D1(){const e=zs(),n=pS({strict:!1}),i=V5({select:v=>v.location.pathname}),r=n.runId??null,u=n.evidenceId??null;return{runId:r,evidenceId:u,openRun:v=>{e({to:i,from:Un.to,search:x=>({...x,runId:v,evidenceId:void 0})})},openEvidence:v=>{e({to:i,from:Un.to,search:x=>({...x,evidenceId:v,runId:void 0})})},closeDrawer:()=>{e({to:i,from:Un.to,search:v=>({...v,runId:void 0,evidenceId:void 0})})}}}const LY={negative:"toast-card-negative",caution:"toast-card-caution",positive:"toast-card-positive",neutral:"toast-card-neutral"};function UY(e){if(e.cta)return`${e.cta.label}: ${e.title}`}function VY(){const e=C.useSyncExternalStore(TH,gk,gk),n=zs(),{openRun:i}=D1(),r=C.useCallback(h=>{jg(h)},[]),u=C.useCallback(h=>{h.cta&&(h.cta.intent==="open-run-drawer"?i(h.cta.runId):n({to:"/runs"}),jg(h.id))},[n,i]);return e.length===0?null:l.jsx("div",{className:"toast-viewport","aria-label":"Notifications",children:e.map(h=>l.jsxs("section",{role:h.tone==="negative"?"alert":"status","aria-live":h.tone==="negative"?"assertive":"polite","data-state":h.state,className:`toast-card ${LY[h.tone]}`,children:[l.jsxs("div",{className:"toast-copy",children:[l.jsx("p",{className:"toast-title",children:h.title}),h.detail?l.jsx("p",{className:"toast-detail",children:h.detail}):null,h.cta?l.jsx("button",{type:"button",className:"toast-action",onClick:()=>u(h),"aria-label":UY(h),children:h.cta.label}):null]}),l.jsx("button",{type:"button",onClick:()=>r(h.id),className:"toast-dismiss","aria-label":"Dismiss",children:l.jsx($r,{className:"size-3.5"})})]},h.id))})}const $Y="https://github.com/Canonry/canonry",KY="https://canonry.ai",Bk="Run it from your agent with the MCP server, API, CLI, and plugins for Claude Code and Codex.",GY=[{title:"Visibility",links:[["AI visibility","/projects/summit-roofing"],["Search engines","/projects/summit-roofing/search-console"],["Traffic & conversions","/projects/summit-roofing/conversions"]]},{title:"Portfolio",links:[["Properties & markets","/projects/harbor-resorts"],["Queries & research","/projects/harbor-resorts/queries"],["Activity","/projects/harbor-resorts/activity"]]},{title:"Website",links:[["Site health","/projects/summit-roofing/technical-aeo"],["Local presence","/projects/summit-roofing/local"],["Backlinks","/projects/summit-roofing/backlinks"]]}];function HY(){const e=C.useId();if(!So())return null;const n=$m(),i=`${e}-new-tab`,r={target:"_blank",rel:"noopener noreferrer","aria-describedby":i};return l.jsxs("aside",{className:"demo-banner","aria-label":"Public demo",children:[l.jsx("p",{className:"demo-banner-name",children:"Canonry demo"}),l.jsx("p",{className:"demo-banner-facts",children:"View only. Fictional data."}),l.jsx("p",{className:"demo-banner-agent",children:Bk}),l.jsxs("div",{className:"demo-banner-actions",children:[l.jsxs("a",{className:"demo-banner-primary",href:KY,...r,children:["canonry.ai",l.jsx(xS,{"aria-hidden":"true",size:14})]}),l.jsxs("a",{className:"demo-banner-secondary",href:$Y,...r,children:[l.jsx(wS,{"aria-hidden":"true",size:15}),"GitHub"]}),l.jsxs("details",{onKeyDown:u=>{u.key==="Escape"&&(u.currentTarget.open=!1,u.currentTarget.querySelector("summary")?.focus())},children:[l.jsxs("summary",{children:["Explore ",l.jsx(Mc,{"aria-hidden":"true",size:14})]}),l.jsxs("div",{className:"demo-banner-panel",children:[l.jsx("p",{className:"demo-banner-panel-agent",children:Bk}),l.jsxs("nav",{className:"demo-banner-examples","aria-label":"Demo examples",children:[l.jsx("a",{href:`${n}/projects/summit-roofing`,children:"Standard business"}),l.jsx("a",{href:`${n}/projects/harbor-resorts`,children:"Property portfolio"})]}),l.jsx("nav",{className:"demo-banner-features","aria-label":"Demo feature directory",children:GY.map(({title:u,links:h})=>l.jsxs("section",{"aria-label":u,children:[l.jsx("h2",{children:u}),l.jsx("ul",{children:h.map(([f,b])=>l.jsx("li",{children:l.jsx("a",{href:`${n}${b}`,children:f})},b))})]},u))})]})]})]}),l.jsx("span",{id:i,hidden:!0,children:"Opens in a new tab"})]})}function Ac(e){switch(e){case De["answer-visibility"]:return"Visibility sweep";case De["gsc-sync"]:return"GSC sync";case De["inspect-sitemap"]:return"Sitemap inspection";case De["ga-sync"]:return"GA sync";case De["traffic-sync"]:return"Traffic sync";case De["bing-inspect"]:return"Bing URL inspection";case De["bing-inspect-sitemap"]:return"Bing sitemap inspection";case De["site-audit"]:return"Technical audit";case De["backlink-extract"]:return"Backlink extract";case De["aeo-discover-seed"]:return"Discovery (seed phase)";case De["aeo-discover-probe"]:return"Discovery (probe phase)";case De["gbp-sync"]:return"Business Profile sync";case De["ads-sync"]:return"ChatGPT ads sync";case De["google-ads-sync"]:return"Google Ads sync";case De["gtm-sync"]:return"Tag Manager sync"}}function Lk(e){return e==="running"?"Running":e==="queued"?"Queued":e==="partial"?"Partial":e==="completed"?"Completed":e==="failed"?"Failed":e==="cancelled"?"Cancelled":"Starting"}function FY(){const e=C.useSyncExternalStore(GN,Gi,Gi),n=C.useMemo(()=>Object.values(e.runs),[e.runs]),i=n.length>0,r=yt({...Oc({client:W}),enabled:i,staleTime:_s}),u=C.useMemo(()=>new Map((r.data??[]).map(b=>[b.id,b.status])),[r.data]);if(!i)return null;const h=n.map(b=>({...b,status:u.get(b.runId)??b.lastAnnouncedStatus})),f=h.length===1?Ac(h[0].kind):`${h.length} active tasks`;return l.jsxs("div",{className:"task-center",children:[l.jsxs("p",{className:"sr-only",role:"status","aria-live":"polite",children:[h.length," active ",h.length===1?"task":"tasks","."," ",h.map(b=>`${Ac(b.kind)} ${Lk(b.status)}`).join(". "),"."]}),l.jsxs("details",{className:"task-center-details",children:[l.jsxs("summary",{className:"task-center-trigger",children:[l.jsx(Ts,{className:"size-3.5 shrink-0 motion-safe:animate-spin","aria-hidden":"true"}),l.jsx("span",{className:"task-center-summary",children:f}),l.jsx("span",{className:"task-center-count","aria-hidden":"true",children:h.length}),l.jsx(Mc,{className:"task-center-chevron size-3.5 shrink-0","aria-hidden":"true"})]}),l.jsxs("div",{className:"task-center-panel",children:[l.jsxs("div",{className:"task-center-heading",children:[l.jsx("span",{children:"Active tasks"}),l.jsx("span",{className:"tabular-nums text-faint",children:h.length})]}),l.jsx("ul",{className:"task-center-list",children:h.map(b=>l.jsxs("li",{className:"task-center-item",children:[l.jsxs("div",{className:"min-w-0",children:[l.jsx("p",{className:"truncate text-[13px] font-medium text-strong",children:Ac(b.kind)}),l.jsx("p",{className:"mt-0.5 truncate text-xs text-muted",children:b.projectLabel??b.projectId})]}),l.jsx(xn,{tone:b.status==="failed"?"negative":b.status==="partial"?"caution":"neutral",children:Lk(b.status)})]},b.runId))}),l.jsx(tt,{to:"/runs",className:"task-center-footer-link",children:"View all runs"})]})]})]})}const z1={queryClass:"all"},QY=["all","non-brand","branded"];function fC(e){return typeof e=="string"&&QY.includes(e)}function ZY(e){const n=fC(e.class)?e.class:z1.queryClass,i=e.scope;if(typeof i!="string"||i==="all"||i.length===0)return{scope:"all",queryClass:n};const r=i.startsWith("group:")?i.slice(6):"";return r?{scope:"group",groupKey:r,queryClass:n}:{scope:"all",queryClass:n}}function Yie(e,n){return n===null||e===null?!1:e!==n}function Xie(e){return{scope:e.scope==="group"&&e.groupKey?`group:${e.groupKey}`:void 0,class:e.queryClass===z1.queryClass?void 0:e.queryClass}}function YY(e,n){if(!(typeof e!="string"||e.length>16384||!n))try{const i=JSON.parse(e);if(typeof i!="object"||i===null||Array.isArray(i))return;const r=i,u=f=>typeof f=="string"&&f.trim().length>0,h=f=>f===null||u(f);return r.queryKey!==n||!u(r.provider)||r.queryClass!=="branded"&&r.queryClass!=="non-brand"&&r.queryClass!=="unknown"||!h(r.model)||!h(r.location)||!h(r.runId)||r.revision!==null&&(typeof r.revision!="number"||!Number.isSafeInteger(r.revision)||r.revision<=0)?void 0:{queryKey:n,queryClass:r.queryClass,provider:r.provider,model:r.model,location:r.location,runId:r.runId,revision:r.revision}}catch{return}}function XY(e){const n=x=>typeof e[x]=="string"&&e[x]!==""?e[x]:void 0,i=ZY({scope:n("scope"),class:n("class")}),r=n("measurementScope")??(i.scope==="group"?"group":"project"),u=n("measurementScopeKey")??(n("measurementScope")?void 0:i.groupKey),h=n("queryClass")??n("class"),f={measurementScope:u&&(r==="group"||r==="market"||r==="property")?r:"project",queryClass:h==="unknown"||fC(h)?h:z1.queryClass};f.measurementScope!=="project"&&(f.measurementScopeKey=u);for(const[x,k]of[["measurementMarketKey","marketKey"],["measurementProvider","provider"],["measurementModel","model"],["measurementLocation","location"],["measurementFrom","from"],["measurementTo","to"],["measurementRunId","measurementRunId"],["measurementQueryKey","queryKey"]]){const S=n(x);S!==void 0&&(f[k]=S)}const b=Number(e.measurementRevision);Number.isSafeInteger(b)&&b>0&&(f.revision=b);const v=YY(e.measurementAnswer,f.queryKey);return v&&(f.answer=v),f}function JY(e){return{scope:e.measurementScope,scopeKey:e.measurementScopeKey,marketKey:e.marketKey,queryClass:e.queryClass,provider:e.provider,model:e.model,location:e.location,from:e.from,to:e.to,revision:e.revision,runId:e.measurementRunId,limit:25}}function Jie(e,n){const i={...e,...n};return["measurementScope","measurementScopeKey","measurementMarketKey","queryClass","measurementProvider","measurementModel","measurementLocation","measurementFrom","measurementTo","measurementRevision","measurementRunId"].some(r=>r in n)?(i.measurementQueryKey=n.measurementQueryKey,i.measurementAnswer=n.measurementAnswer):"measurementQueryKey"in n&&!("measurementAnswer"in n)&&(i.measurementAnswer=void 0),"measurementScope"in n&&(i.scope=void 0,"measurementMarketKey"in n||(i.measurementMarketKey=void 0),i.measurementQueryKey=void 0,n.measurementScope==="project"&&(i.measurementScopeKey=void 0)),"queryClass"in n&&(i.class=void 0),i}function Wie(e){return{...e,onboarding:void 0,manageQueries:void 0,siteHealthRunId:void 0,siteScan:void 0,setupProject:void 0}}function WY(e,n){const i=/\/properties\/([^/]+)/.exec(e),r=XY(n);if(i)return{view:"property",selection:Zd.parse({scope:"property",scopeKey:decodeURIComponent(i[1]),queryClass:r.queryClass,limit:10})};if(e.endsWith("/technical-aeo"))return{view:"site-health"};if(e.endsWith("/queries")&&n.queryWorkspace==="research")return{view:"project"};const u=/^\/projects\/[^/]+\/?$/.test(e);if(u||e.endsWith("/queries")){const h=Zd.safeParse(JY(e.endsWith("/queries")?{measurementScope:r.measurementScope,measurementScopeKey:r.measurementScopeKey,queryClass:r.queryClass}:r));return{view:u?"visibility":"queries",...h.success?{selection:h.data}:{unavailableReason:"The current measurement filters are invalid. Correct them before asking Aero about this view."}}}return{view:"project"}}function eX(e,n={}){const{threshold:i=80}=n,r=C.useRef(null),u=C.useRef({scrollHeight:0,wasAtEnd:!0});function h(v){return v.scrollHeight-v.scrollTop-v.clientHeight}function f(){const v=r.current;return v?h(v)<=i:!0}function b(){const v=r.current;v&&(v.scrollTop=v.scrollHeight,u.current.wasAtEnd=!0,u.current.scrollHeight=v.scrollHeight)}return C.useEffect(()=>{const v=r.current;if(!v)return;const x=()=>{u.current.wasAtEnd=h(v)<=i};return v.addEventListener("scroll",x,{passive:!0}),()=>v.removeEventListener("scroll",x)},[i]),C.useLayoutEffect(()=>{const v=r.current;if(!v)return;const x=v.scrollHeight;x>u.current.scrollHeight&&u.current.wasAtEnd&&(v.scrollTop=x),u.current.scrollHeight=x},e),C.useEffect(()=>{const v=r.current;if(!v||typeof ResizeObserver>"u")return;const x=new ResizeObserver(()=>{const k=v.scrollHeight;k>u.current.scrollHeight&&u.current.wasAtEnd&&(v.scrollTop=k),u.current.scrollHeight=k});return x.observe(v),v.firstElementChild&&x.observe(v.firstElementChild),()=>x.disconnect()},[]),{ref:r,scrollToEnd:b,isAtEnd:f}}const Dg="Sweeps are run by your Canonry team",tX="Scans are run by your Canonry team",Uk="Next sweep unavailable",nX="Sweep running…",aX="Next sweep:";function iX(e,n){try{return new Intl.DateTimeFormat("en-US",{month:"short",day:"numeric",timeZone:n??"UTC"}).format(new Date(e))}catch{return null}}function sX({projectName:e,kind:n=De["answer-visibility"],running:i=!1,loadSchedule:r=!0}){const u=n===De["site-audit"],h=yt({..._F({client:W,path:{name:e},query:{kind:n}}),enabled:r&&!!e,retry:!1,refetchInterval:6e4}),f=h.isError?void 0:h.data,b=f?.enabled&&f.nextRunAt?new Date(f.nextRunAt):null,v=b&&Number.isFinite(b.getTime())?u?b.toLocaleString("en-GB",{weekday:"long",day:"numeric",month:"short",hour:"2-digit",minute:"2-digit",timeZone:"UTC",hourCycle:"h23"}):iX(b.toISOString(),f?.timezone):null,k=(h.error instanceof wn?h.error.code:h.error?.error?.code)==="NOT_FOUND",S=!v||k||!f?.enabled;return l.jsx("p",{className:"text-sm text-secondary",role:"status",children:u?l.jsxs(l.Fragment,{children:[i&&l.jsx("span",{className:"text-neutral",children:"Scan running… · "}),v&&b?l.jsxs(l.Fragment,{children:["Next scan ",l.jsxs("time",{dateTime:b.toISOString(),children:[v," UTC"]})," · managed by your Canonry team"]}):tX]}):i?nX:S?Uk:v&&b?l.jsxs(l.Fragment,{children:[aX," ",l.jsx("time",{dateTime:b.toISOString(),children:v})]}):Uk})}const oX=300,rX=400,lX=900,cX=32,Vk=28;let uX=0;function dX(){return typeof window>"u"||typeof window.matchMedia!="function"?!1:window.matchMedia("(prefers-reduced-motion: reduce)").matches}function zg(){return new DOMException("Preview stopped","AbortError")}function mX(e,n){return n?.aborted?Promise.reject(zg()):new Promise((i,r)=>{const u=()=>{clearTimeout(h),r(zg())},h=setTimeout(()=>{n?.removeEventListener("abort",u),i()},e);n?.addEventListener("abort",u,{once:!0})})}function pX(e){const n=e.match(/\S+\s*|\s+/g)??[];if(n.length<2)return[];const i=Math.ceil(n.length/cX),r=[];for(let u=i;u<n.length;u+=i)r.push(n.slice(0,u).join(""));return r}function hX(e){return typeof e=="string"?e:JSON.stringify(e??null)}async function fX({starter:e,signal:n,onEvent:i,reducedMotion:r=!1}){const u=async b=>{if(n?.aborted)throw zg();r||await mX(b,n)},h=Date.now(),f=++uX;await u(oX);for(const[b,v]of e.steps.entries()){const{name:x,label:k,arguments:S,result:N,durationMs:_}=v.tool,z=`preview-${e.id}-${f}-${b}`,q={role:"assistant",timestamp:Date.now(),stopReason:"toolUse",content:[...v.text?[{type:"text",text:v.text}]:[],{type:"toolCall",id:z,name:x,arguments:S}]};i({type:"message_end",message:q}),i({type:"tool_execution_start",toolCallId:z,toolName:x,label:k,args:S}),await u(Math.min(lX,Math.max(rX,_))),i({type:"tool_execution_end",toolCallId:z,toolName:x,result:N,isError:!1});const E={role:"toolResult",toolCallId:z,timestamp:Date.now(),isError:!1,aeroToolLabel:k,aeroDurationMs:_,content:[{type:"text",text:hX(N)}]};i({type:"message_end",message:E})}if(!r){for(const b of pX(e.answer))await u(Vk),i({type:"message_update",message:{role:"assistant",content:[{type:"text",text:b}]},assistantMessageEvent:{}});await u(Vk)}i({type:"message_end",message:{role:"assistant",timestamp:Date.now(),stopReason:"stop",content:[{type:"text",text:e.answer}]}}),i({type:"aero_turn_status",status:{reason:"completed",toolCalls:e.steps.length,modelCalls:e.steps.length+1,durationMs:Date.now()-h}})}async function Qm(e){try{return await e.json()}catch{return{}}}function gX(){return typeof window<"u"&&window.__CANONRY_CONFIG__?.basePath?window.__CANONRY_CONFIG__.basePath.replace(/\/$/,"")+"/api/v1":"/api/v1"}const Zm=gX();function Ym(e){e===401&&k1()}async function Kf(e){const n=await fetch(`${Zm}/projects/${encodeURIComponent(e)}/agent/transcript`,{credentials:"include"});if(!n.ok){Ym(n.status);const i=await Qm(n);throw new wn(i.error?.message??`transcript fetch failed: ${n.status}`,n.status,i.error?.code)}return await n.json()}async function yX(e){const n=await fetch(`${Zm}/projects/${encodeURIComponent(e)}/agent/preview`,{credentials:"include"});if(!n.ok){Ym(n.status);const i=await Qm(n);throw new wn(i.error?.message??`preview fetch failed: ${n.status}`,n.status,i.error?.code)}return await n.json()}async function bX(e){const n=await fetch(`${Zm}/projects/${encodeURIComponent(e)}/agent/transcript`,{method:"DELETE",credentials:"include"});if(!n.ok){Ym(n.status);const i=await Qm(n);throw new wn(i.error?.message??`reset failed: ${n.status}`,n.status,i.error?.code)}}async function vX({project:e,prompt:n,conversationId:i,provider:r,modelId:u,scope:h,profile:f,context:b,limits:v,signal:x,onEvent:k}){const S={prompt:n};i!==void 0&&(S.conversationId=i),r&&(S.provider=r),u&&(S.modelId=u),h&&(S.scope=h),f&&(S.profile=f),b&&(S.context=b),v&&(S.limits=v);const N=await fetch(`${Zm}/projects/${encodeURIComponent(e)}/agent/prompt`,{method:"POST",credentials:"include",headers:{"Content-Type":"application/json"},body:JSON.stringify(S),signal:x});if(!N.ok||!N.body){Ym(N.status),rm({method:"POST",route:"/api/v1/projects/{name}/agent/prompt",status:N.status});const M=await Qm(N);throw new wn(M.error?.message??`prompt failed: ${N.status}`,N.status,M.error?.code)}al("aero.send");let _=!1;const z=N.body.getReader(),q=new TextDecoder;let E="";const P=()=>{z.cancel().catch(()=>{})};x?.addEventListener("abort",P,{once:!0}),x?.aborted&&P();try{for(;;){const{value:M,done:L}=await z.read();if(L)break;E+=q.decode(M,{stream:!0});let $=E.indexOf(`
|
|
59
|
+
|
|
60
|
+
`);for(;$!==-1;){const H=E.slice(0,$);E=E.slice($+2);for(const J of H.split(`
|
|
61
|
+
`)){if(!J.startsWith("data:"))continue;const V=J.slice(5).trim();if(!V)continue;let Q;try{Q=JSON.parse(V)}catch{continue}Q.type==="stream_close"&&(_=!0),k(Q)}$=E.indexOf(`
|
|
62
|
+
|
|
63
|
+
`)}}if(x?.aborted)throw new DOMException("Turn stopped","AbortError");if(!_)throw new Error("Connection ended before Aero finished. Review the partial answer before retrying.")}finally{x?.removeEventListener("abort",P);try{z.releaseLock()}catch{}}}function Md(e){return!e||e.role!=="assistant"?"":e.content.filter(n=>n.type==="text").map(n=>n.text).join("")}const Ig=[{id:"status",label:"Status",prompt:"Give me a quick status: the latest sweep, which engines answered, and anything that needs attention."},{id:"changes",label:"What changed",prompt:"Compare the latest complete sweep with the one before it. Lead with mentions, then citations. Keep branded and non-brand queries separate if the project splits them, and say which changes are bigger than normal run-to-run noise."},{id:"gaps",label:"Biggest gaps",prompt:"Which tracked queries does no engine mention us on, and who gets named instead? Group them by topic or market."},{id:"insights",label:"Top insights",prompt:"Walk me through the 3 most severe active insights and what to do about each."}],xX="https://canonry.ai",wX="This demo plays sample answers only. Pick a starting point, or type / to choose one.",kX="Stopped. The sample answer so far is kept.";function $k(e){return{queryKey:["aero-preview",e],queryFn:()=>yX(e),staleTime:1/0,gcTime:1/0}}const Kk=[{command:"/status",label:"Status",prompt:"Give me a quick status: the latest sweep, which engines answered, and anything that needs attention."},{command:"/changes",label:"What changed",prompt:"Compare the latest complete sweep with the one before it. Lead with mentions, then citations. Keep branded and non-brand queries separate if the project splits them, and say which changes are bigger than normal run-to-run noise."},{command:"/gaps",label:"Biggest gaps",prompt:"Which tracked queries does no engine mention us on, and who gets named instead? Group them by topic or market."},{command:"/insights",label:"Top insights",prompt:"Walk me through the 3 most severe active insights and what to do about each."},{command:"/last-run",label:"Last run",prompt:"Summarize the latest run for this project: which engines answered, what moved in mentions and citations, and anything that failed."},{command:"/run-sweep",label:"Run sweep now",prompt:"Run a new answer-visibility sweep for this project now and tell me when it lands."},{command:"/queries",label:"Queries",prompt:"List the tracked queries for this project and flag any that are obvious duplicates or underperformers."},{command:"/competitors",label:"Competitors",prompt:"Which competitors do engines name most often on queries where we are not named, and on which engines?"},{command:"/new",label:"New conversation (save current)",action:"new"}],_d=e=>`canonry:aero:provider:${e}`,SX=e=>`canonry:aero:scope:${e}`;function Gk(e){if(typeof window>"u")return null;try{return window.localStorage.getItem(e)}catch{return null}}function jX(e,n){if(!(typeof window>"u"))try{window.localStorage.setItem(e,n)}catch{}}function Hk(e){if(!(typeof window>"u"))try{window.localStorage.removeItem(e)}catch{}}function AX({projectName:e,context:n,preview:i=w1()}){const r=bo(),{canWrite:u,account:h}=fa(),f=Ds(),b=h?.role==="viewer",[v,x]=C.useState(!1),[k,S]=C.useState(!1),[N,_]=C.useState([]),[z,q]=C.useState(void 0),E=C.useRef(!1),[P,M]=C.useState(!1),[L,$]=C.useState(!1),[H,J]=C.useState(null),[V,Q]=C.useState(!1),[ae,Fe]=C.useState(!1),[We,Ve]=C.useState(null),qe=C.useRef(!1),[Ae,Le]=C.useState(""),[B,ee]=C.useState(!1),[ve,je]=C.useState([]),[oe,ke]=C.useState(""),[Ie,xe]=C.useState(null),[de,ce]=C.useState(null),[Y,me]=C.useState(null),Pe=C.useRef(!0),[Ne,st]=C.useState(()=>Gk(_d(e))??null),$e=r||b||i?null:Ne,[Nt]=C.useState(()=>Gk(SX(e))==="all"?"all":"read-only"),He=r||b||i?"read-only":Nt,pe=C.useRef(null),at=C.useRef(null),It=C.useRef(null),qn=C.useRef(null),{ref:Ht}=eX([N,oe,ve]),Me=C.useRef(null);C.useLayoutEffect(()=>{const re=Me.current;if(!re)return;re.style.height="auto";const Ee=k?_X:CX;re.scrollHeight>0&&(re.style.height=`${Math.min(re.scrollHeight,Ee)}px`)},[Ae,k,v]);const[ct,Ft]=C.useState(0),Qt=C.useMemo(()=>{const re=Ae.trimStart();if(!re.startsWith("/"))return[];if(/\s/.test(re))return[];const Ee=re.toLowerCase();return Kk.filter(Ye=>(!(r||b)||Ye.command!=="/run-sweep")&&(!b||Ye.action!=="new")&&(!i||Ig.some(Ot=>Ot.prompt===Ye.prompt))&&(Ye.command.startsWith(Ee)||Ye.label.toLowerCase().includes(Ee.slice(1))))},[Ae,r,b,i]);C.useEffect(()=>{Ft(re=>Qt.length===0?0:Math.min(re,Qt.length-1))},[Qt.length]);const En=yt({...LQ({client:W,path:{name:e}}),enabled:!b&&!i,staleTime:6e4}),Vt=C.useMemo(()=>{const re=En.data?.providers??[];if($e){const Ye=re.find(Ot=>Ot.id===$e&&Ot.configured);if(Ye)return Ye}const Ee=En.data?.defaultProvider;return Ee?re.find(Ye=>Ye.id===Ee)??null:null},[$e,En.data]),di=b||i||Vt!==null;yt({...$k(e),enabled:i&&v}),C.useEffect(()=>{if(!En.data||!$e)return;En.data.providers.find(Ee=>Ee.id===$e&&Ee.configured)||(st(null),Hk(_d(e)))},[En.data,$e,e]);const Vs=C.useCallback(re=>{st(re),re?jX(_d(e),re):Hk(_d(e))},[e]);C.useEffect(()=>{if(!v)return;const re=Ee=>{Ee.key==="Escape"&&(L?$(!1):k?S(!1):x(!1))};return window.addEventListener("keydown",re),()=>window.removeEventListener("keydown",re)},[v,k,L]);const mi=C.useRef(null);C.useEffect(()=>{v||(mi.current=null)},[v]),C.useEffect(()=>{if(!v||!di||i)return;let re=!1;mi.current!==e&&(mi.current=e,xe(null));const Ee=()=>{re||B||qe.current||Kf(e).then(Je=>{re||qe.current||(Fe(Je.isStreaming??!1),q(Je.conversationId??null),!re&&!Je.isStreaming&&(at.current===null||Je.updatedAt&&Je.updatedAt!==at.current.previous)&&(_(Je.messages),pe.current=Je.updatedAt,at.current=null))}).catch(Je=>{re||xe(qi(Je))})};Ee();const Ot=window.setInterval(Ee,15e3);return()=>{re=!0,window.clearInterval(Ot)}},[v,e,B,di,V,i]),C.useEffect(()=>(Pe.current=!0,()=>{Pe.current=!1,qn.current?.abort()}),[e]);async function Rn(re,Ee=n){const Ye=re.trim();if(!Ye||L||B||V||qe.current||ae||!di)return;if(i){await Bo(Ye);return}if(r&&/^\/run-sweep(?:\s|$)/i.test(Ye)){xe(Dg);return}xe(null),ce(null),me({prompt:Ye,context:Ee}),Le(""),ee(!0),ke(""),It.current=null,je([]),at.current={previous:pe.current};const Ot={role:"user",content:Ye,timestamp:Date.now(),aeroContext:Ee};_(xt=>[...xt,Ot]);const Je=new AbortController;qn.current=Je;try{await vX({project:e,prompt:Ye,conversationId:z,provider:$e??void 0,scope:He,context:Ee,signal:Je.signal,onEvent:$s});const xt=await Kf(e);Pe.current&&!xt.isStreaming&&(q(xt.conversationId??null),_(xt.messages),pe.current=xt.updatedAt,at.current=null)}catch(xt){if(!Pe.current)return;b&&(at.current=null);const sn=It.current;sn&&Md(sn).trim()&&_(hi=>[...hi,sn]),Je.signal.aborted?ce("Stopped. Partial response preserved. An action already dispatched may still finish."):xe(qi(xt))}finally{Pe.current&&(ee(!1),ke(""),je(xt=>xt.map(sn=>sn.endedAt===void 0?{...sn,interrupted:!0}:sn))),qn.current=null}}async function Bo(re){const Ee=Kk.find(Je=>Je.command===re.toLowerCase())?.prompt??re,Ye=Ig.find(Je=>Je.prompt===Ee)?.id;if(!Ye){xe(null),me(null),ce(wX);return}xe(null),ce(null),me({prompt:Ee}),Le(""),ee(!0),ke(""),It.current=null,je([]),_(Je=>[...Je,{role:"user",content:Ee,timestamp:Date.now()}]);const Ot=new AbortController;qn.current=Ot;try{const Je=await f.ensureQueryData($k(e));if(Ot.signal.aborted)throw new DOMException("Preview stopped","AbortError");const xt=Je.starters.find(sn=>sn.id===Ye);if(!xt)throw new Error("This demo has no sample answer for that starting point.");await fX({starter:xt,signal:Ot.signal,onEvent:$s,reducedMotion:dX()})}catch(Je){if(!Pe.current)return;const xt=It.current;xt&&Md(xt).trim()&&_(sn=>[...sn,xt]),Ot.signal.aborted?ce(kX):xe(qi(Je))}finally{Pe.current&&(ee(!1),ke(""),je(Je=>Je.map(xt=>xt.endedAt===void 0?{...xt,interrupted:!0}:xt))),qn.current=null}}function $s(re){if(Pe.current)switch(re.type){case"message_update":re.message.role==="assistant"&&(It.current=re.message),ke(Md(re.message));break;case"message_end":if(re.message.role!=="user"){const Ee=re.message;_(Ye=>[...Ye,Ee])}re.message.role==="assistant"&&(It.current=null,ke(""),re.message.errorMessage&&xe(re.message.errorMessage));break;case"aero_turn_status":re.status?.reason==="tool-limit"?ce("Tool-call limit reached. Partial response preserved."):re.status?.reason==="time-limit"?ce("Time limit reached. Partial response preserved."):re.status?.reason==="completed"?me(null):re.status?.reason==="error"&&xe(Ee=>Ee??"Aero could not finish this answer. Retry to ask again.");break;case"tool_execution_start":je(Ee=>[...Ee,{id:re.toolCallId,name:re.toolName,label:re.label,args:re.args,startedAt:Date.now()}]);break;case"tool_execution_end":je(Ee=>Ee.map(Ye=>Ye.id===re.toolCallId?{...Ye,endedAt:Date.now(),isError:re.isError,result:re.result}:Ye));break;case"error":xe(re.message);break}}async function Ks(re,Ee=!1){if(!(B||ae||qe.current)){qe.current=!0,Q(!0),xe(null);try{await re();const Ye=await Kf(e);if(!Pe.current)return;at.current=null,pe.current=Ye.updatedAt,q(Ye.conversationId??null),_(Ye.messages),je([]),ke(""),ce(null),me(null),Ve(null),$(Ee),J(Ee?await hk(e):null),Me.current?.focus()}catch(Ye){Pe.current&&xe(qi(Ye))}finally{qe.current=!1,Pe.current&&Q(!1)}}}async function pi(){if(i){if(B)return;_([]),je([]),ke(""),xe(null),ce(null),me(null),Me.current?.focus();return}await Ks(()=>b?bX(e):dH(e,crypto.randomUUID()))}async function bn(re=!1){if(!(qe.current||E.current)){E.current=!0,M(!0),$(!0),xe(null);try{const Ee=await hk(e,{offset:re?H?.nextOffset??0:0});Pe.current&&J(Ye=>re&&Ye?{...Ee,conversations:[...Ye.conversations,...Ee.conversations]}:Ee)}catch(Ee){Pe.current&&xe(qi(Ee))}finally{E.current=!1,Pe.current&&M(!1)}}}const Tt=N.length===0,$n=!(b||i);if($n&&En.isPending)return null;if($n&&En.isError)return l.jsx("div",{className:"pointer-events-none fixed inset-x-0 bottom-0 z-40 flex justify-center p-3",children:l.jsxs("div",{role:"status",className:"flex w-full max-w-3xl flex-wrap items-center gap-x-2 gap-y-1 rounded-lg border border-base bg-bg/95 px-4 py-2 text-sm shadow-lg",children:[l.jsx(md,{className:"h-4 w-4 text-muted","aria-hidden":"true"}),l.jsx("span",{className:"font-medium text-strong",children:"Aero could not check provider availability."}),l.jsx(le,{variant:"outline",size:"sm",className:"pointer-events-auto ml-auto",onClick:()=>{En.refetch()},children:"Try again"})]})});const Zt=Vt&&!Vt.configured?Vt:null;if($n&&(!Vt||Zt))return l.jsx("div",{className:"pointer-events-none fixed inset-x-0 bottom-0 z-40 flex justify-center p-3",children:l.jsxs("div",{role:"status",className:"flex w-full max-w-3xl flex-wrap items-center gap-x-2 gap-y-1 rounded-lg border border-base bg-bg/95 px-4 py-2 text-sm shadow-lg",children:[l.jsx(md,{className:"h-4 w-4 text-muted","aria-hidden":"true"}),l.jsxs("span",{className:"flex items-center gap-1.5 font-medium text-strong",children:[Zt?`Aero is set to ${Zt.label.replace(/\s+\(.+\)$/,"")}, which has no API key.`:"Aero needs an answer-engine provider.",l.jsx(ca,{text:Zt?`Set ${gC(Zt.id)} on the server, or providers.${Zt.id}.apiKey in its config.yaml.`:"Aero is the built-in AEO analyst. It reads your Canonry data with you once a provider is connected."})]}),Zt?null:u?l.jsx(le,{asChild:!0,variant:"outline",size:"sm",className:"pointer-events-auto ml-auto",children:l.jsx(tt,{to:"/settings",children:"Open Settings"})}):l.jsx("span",{className:"ml-auto text-secondary",children:"Ask an administrator to configure one."})]})});const Gs=v&&k?"pointer-events-auto fixed inset-0 z-40 flex items-stretch justify-center bg-bg/70 p-4 sm:p-8 backdrop-blur-sm":"pointer-events-none fixed inset-x-0 bottom-0 z-40 flex justify-center p-3",Ia=k?"pointer-events-auto flex h-full w-full max-w-5xl flex-col overflow-hidden rounded-2xl border border-mono-800/80 bg-bg/95 shadow-2xl":"pointer-events-auto w-full max-w-3xl",Wn=k?"flex-1 overflow-y-auto px-6 py-5 text-sm text-strong":"max-h-[40vh] min-h-[120px] overflow-y-auto px-4 py-3 text-sm text-strong";return l.jsx("div",{className:Gs,onClick:re=>{k&&re.target===re.currentTarget&&S(!1)},children:l.jsx("div",{className:Ia,children:v?l.jsxs("div",{"data-aero-panel":!0,className:k?"flex h-full flex-col":"flex flex-col overflow-hidden rounded-2xl border border-mono-800/80 bg-bg/95 shadow-xl backdrop-blur",children:[l.jsxs("div",{className:"flex items-center justify-between gap-2 border-b border-mono-800/70 px-4 py-2.5",children:[l.jsxs("div",{className:"flex items-center gap-2",children:[l.jsx(md,{className:"h-4 w-4 text-positive-400","aria-hidden":"true"}),l.jsx("span",{className:"text-sm font-medium text-heading",children:"Aero"}),l.jsx("span",{className:"text-[10px] uppercase tracking-wider text-muted",children:B||ae?"working…":e})]}),l.jsxs("div",{className:"flex items-center gap-1",children:[!r&&!b&&!i&&l.jsx(NX,{providers:En.data?.providers??[],active:Vt,override:$e,onPick:Vs,disabled:B}),l.jsx("button",{type:"button",onClick:()=>S(re=>!re),className:"rounded-md p-1.5 text-muted transition hover:bg-surface-inset hover:text-strong","aria-label":k?"Collapse":"Expand",title:k?"Collapse":"Expand",children:k?l.jsx(Q5,{className:"h-3.5 w-3.5","aria-hidden":"true"}):l.jsx(Z5,{className:"h-3.5 w-3.5","aria-hidden":"true"})}),l.jsx("button",{type:"button",onClick:()=>{S(!1),x(!1)},className:"rounded-md p-1.5 text-muted transition hover:bg-surface-inset hover:text-strong","aria-label":"Close Aero",children:l.jsx($r,{className:"h-4 w-4","aria-hidden":"true"})})]})]}),l.jsxs("div",{className:"flex flex-wrap items-center gap-2 border-b border-subtle px-4 py-2",children:[l.jsxs(le,{variant:"outline",size:"sm",disabled:B||ae||V,onClick:fn(pi),title:b||i?"Clear this conversation and start fresh.":"Save this conversation and start fresh. Shared project notes are kept.",children:[l.jsx(Zf,{className:"h-3.5 w-3.5","aria-hidden":"true"})," New conversation"]}),!b&&!i&&l.jsxs(le,{variant:"ghost",size:"sm","aria-expanded":L,"aria-controls":"aero-history",disabled:V,onClick:()=>{L?$(!1):bn()},children:[l.jsx(kS,{className:"h-3.5 w-3.5","aria-hidden":"true"})," History"]})]}),L?l.jsxs("div",{id:"aero-history",className:Wn,"aria-label":"Conversation history",children:[l.jsxs("h3",{className:"mb-2 text-sm font-medium text-heading",children:["Conversations in ",e]}),H?H.conversations.length===0?l.jsx("p",{className:"text-sm text-secondary",children:"No saved conversations yet. Your conversations will appear here."}):l.jsx("ul",{className:"divide-y divide-default",children:H.conversations.map(re=>l.jsxs("li",{className:"py-2",children:[l.jsxs("div",{className:"flex items-center gap-2",children:[l.jsxs("button",{className:"min-w-0 flex-1 rounded-md px-2 py-1 text-left hover:bg-surface-hover focus-visible:ring-2 focus-visible:ring-positive-500",disabled:B||ae||V,onClick:()=>{re.active?$(!1):Ks(()=>mH(e,re.id))},children:[l.jsx("span",{className:"block truncate text-sm text-heading",children:re.title}),l.jsxs("span",{className:"text-xs text-secondary",children:[re.active?"Current · ":"",new Date(re.updatedAt).toLocaleString()]})]}),l.jsx(le,{variant:"ghost",size:"sm",disabled:B||ae||V,"aria-label":`Delete conversation: ${re.title}`,onClick:()=>Ve(re.id),children:"Delete"})]}),We===re.id&&l.jsxs("div",{role:"group","aria-label":"Confirm conversation deletion",className:"mt-2 rounded-md border border-default p-3 text-sm text-secondary",children:[l.jsx("p",{children:"Delete this conversation permanently? Shared project notes will be kept."}),l.jsxs("div",{className:"mt-2 flex gap-2",children:[l.jsx(le,{variant:"destructive",size:"sm",disabled:V,onClick:()=>{Ks(async()=>{await pH(e,re.id)},!0)},children:"Delete conversation"}),l.jsx(le,{variant:"ghost",size:"sm",disabled:V,onClick:()=>Ve(null),children:"Cancel"})]})]})]},re.id))}):l.jsx("p",{className:"text-sm text-secondary",children:P?"Loading history…":"History could not be loaded. Close and reopen History to retry."}),H?.nextOffset!=null&&l.jsx(le,{variant:"ghost",size:"sm",disabled:P,onClick:()=>{bn(!0)},children:P?"Loading…":"Load more"})]}):l.jsxs("div",{ref:Ht,className:Wn,children:[Tt&&!B&&l.jsxs("div",{className:"flex flex-col gap-3 py-2",children:[l.jsx("p",{className:"text-sm text-secondary",children:i?l.jsxs(l.Fragment,{children:["See how Aero answers about ",l.jsx("span",{className:"text-strong",children:e}),". Choose a starting point."]}):l.jsxs(l.Fragment,{children:["Ask about ",l.jsx("span",{className:"text-strong",children:e})," or choose a starting point."]})}),l.jsx(Fk,{onPick:re=>{Rn(re)}})]}),DX(N,e,$e,He,ve,B,!!oe.trim(),!b&&!i),B&&oe&&l.jsxs("div",{className:"mt-3",children:[l.jsx("div",{className:"mb-0.5 text-[10px] uppercase tracking-wider text-positive-400",children:"Aero"}),l.jsx(vC,{content:oe})]}),B&&!oe&&ve.every(re=>re.endedAt!==void 0)&&l.jsx(VX,{}),i&&!Tt&&!B&&l.jsxs("div",{className:"mt-4 flex flex-col gap-2 border-t border-subtle pt-3",children:[l.jsx("p",{className:"text-xs text-secondary",children:"Try another starting point."}),l.jsx(Fk,{onPick:re=>{Rn(re)}})]})]}),(Ie||de)&&l.jsxs("div",{role:Ie?"alert":"status",className:"mx-3 my-2 flex flex-wrap items-center gap-2 rounded-md border border-base bg-surface px-3 py-2 text-sm text-secondary",children:[l.jsx("span",{className:"flex-1",children:Ie??de}),Y&&!B&&l.jsx(le,{variant:"outline",size:"sm",onClick:()=>{He==="all"?(Le(Y.prompt),Me.current?.focus()):Rn(Y.prompt,Y.context)},children:He==="all"?"Review prompt":"Retry"})]}),i&&l.jsxs("p",{className:"border-t border-subtle px-4 py-2 text-xs text-secondary",children:["Sample answers on demo data."," ",l.jsxs("a",{href:xX,target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center gap-0.5 text-positive-400 underline decoration-positive-700 hover:decoration-positive-400",children:["Aero answers from your own Canonry data.",l.jsx(xS,{className:"h-3 w-3","aria-hidden":"true"}),l.jsx("span",{className:"sr-only",children:" (opens in a new tab)"})]})]}),l.jsxs("div",{className:"relative",children:[!L&&Qt.length>0&&l.jsx(EX,{title:i?"Starting points":"Commands",matches:Qt,selectedIndex:ct,onHover:Ft,onPick:re=>{Le(""),Me.current?.focus(),re.action==="new"?pi():Rn(re.prompt)}}),l.jsxs("form",{className:"flex items-end gap-2 border-t border-mono-800/70 bg-bg/80 px-3 py-2.5",onSubmit:re=>{if(re.preventDefault(),Qt.length>0){const Ee=Qt[ct];Le(""),Ee.action==="new"?pi():Rn(Ee.prompt);return}Rn(Ae)},children:[l.jsx("textarea",{ref:Me,value:Ae,onChange:re=>Le(re.target.value),onKeyDown:re=>{if(Qt.length>0){if(re.key==="ArrowDown"){re.preventDefault(),Ft(Ee=>(Ee+1)%Qt.length);return}if(re.key==="ArrowUp"){re.preventDefault(),Ft(Ee=>(Ee-1+Qt.length)%Qt.length);return}if(re.key==="Tab"){re.preventDefault();const Ee=Qt[ct];Le(`${Ee.command} `);return}if(re.key==="Escape"){re.preventDefault(),Le("");return}}if(re.key==="Enter"&&!re.shiftKey)if(re.preventDefault(),Qt.length>0){const Ee=Qt[ct];Le(""),Ee.action==="new"?pi():Rn(Ee.prompt)}else Rn(Ae)},disabled:L||V,placeholder:L?"Open a conversation to continue…":i?"Type / for a starting point":"Ask Aero, or / for commands…","aria-label":"Message Aero",rows:k?3:1,className:"flex-1 resize-none overflow-y-auto bg-transparent text-sm text-heading placeholder:text-mono-600 focus:outline-none disabled:opacity-60"}),B?l.jsxs(le,{type:"button",variant:"outline",size:"sm",onClick:()=>qn.current?.abort(),"aria-label":"Stop Aero",children:[l.jsx(SS,{className:"h-3.5 w-3.5","aria-hidden":"true"})," Stop"]}):l.jsx(le,{type:"submit",size:"sm",disabled:!Ae.trim()||L||V||ae,"aria-label":"Send",children:l.jsx(Y5,{className:"h-4 w-4","aria-hidden":"true"})})]})]})]}):l.jsx("button",{type:"button",onClick:()=>{x(!0),al("aero.open")},className:"flex w-full items-center justify-between rounded-lg border border-mono-800/80 bg-bg/95 px-4 py-2 text-left text-sm text-secondary shadow-lg transition hover:border-strong hover:bg-bg-elevated/90 hover:text-strong",children:l.jsxs("span",{className:"flex items-center gap-2",children:[l.jsx(md,{className:"h-4 w-4 text-positive-400","aria-hidden":"true"}),"Ask Aero about ",e,"…"]})})})})}function NX({providers:e,active:n,override:i,onPick:r,disabled:u}){const[h,f]=C.useState(!1),b=C.useRef(null);if(C.useEffect(()=>{if(!h)return;const x=S=>{b.current?.contains(S.target)||f(!1)},k=S=>{S.key==="Escape"&&f(!1)};return window.addEventListener("mousedown",x),window.addEventListener("keydown",k),()=>{window.removeEventListener("mousedown",x),window.removeEventListener("keydown",k)}},[h]),e.length===0)return null;const v=n?.label.replace(/\s+\(.+\)$/,"")??"No provider";return l.jsxs("div",{ref:b,className:"relative",children:[l.jsxs("button",{type:"button",onClick:()=>f(x=>!x),disabled:u,className:"flex items-center gap-1 rounded-md px-2 py-1 text-sm text-secondary transition hover:bg-surface-inset hover:text-strong disabled:opacity-50","aria-label":"Switch agent model","aria-haspopup":"listbox","aria-expanded":h,title:n?`${n.label} · ${n.defaultModel}`:"Pick a provider",children:[l.jsx("span",{className:"font-medium text-strong",children:v}),l.jsx(Mc,{className:"h-3 w-3","aria-hidden":"true"})]}),h&&l.jsxs("div",{role:"listbox",className:"absolute right-0 top-full z-50 mt-1 w-64 overflow-hidden rounded-lg border border-base bg-bg shadow-xl",children:[l.jsx("div",{className:"border-b border-default px-3 py-2 text-sm font-medium text-secondary",children:"Answer engine"}),l.jsx("ul",{className:"max-h-72 overflow-y-auto py-1",children:e.map(x=>{const k=n?.id===x.id,S=i===x.id;return l.jsx("li",{children:l.jsxs("button",{type:"button",role:"option","aria-selected":k,disabled:!x.configured,onClick:()=>{x.configured&&(r(S?null:x.id),f(!1))},className:"flex w-full items-center gap-2 px-3 py-2.5 text-left text-sm transition enabled:hover:bg-bg-elevated disabled:cursor-not-allowed disabled:opacity-60",title:x.configured?x.defaultModel:`Add ${gC(x.id)} in Settings or your environment`,children:[l.jsx("span",{className:"flex h-4 w-4 shrink-0 items-center justify-center",children:k?l.jsx(Bc,{className:"h-3 w-3 text-positive-400","aria-hidden":"true"}):null}),l.jsx("span",{className:"min-w-0 flex-1 truncate font-medium text-heading",children:x.label.replace(/\s+\(.+\)$/,"")}),S&&l.jsx("span",{className:"rounded-md border border-positive-800/60 bg-positive-950/60 px-2 py-0.5 text-[11px] text-positive",children:"Selected"}),!x.configured&&l.jsx("span",{className:"rounded-md border border-base px-2 py-0.5 text-[11px] text-secondary",children:"Needs setup"})]})},x.id)})}),i&&l.jsx("button",{type:"button",onClick:()=>{r(null),f(!1)},className:"w-full border-t border-default px-3 py-2 text-left text-[11px] text-secondary transition hover:bg-bg-elevated hover:text-heading",children:"Reset to default"})]})]})}const CX=144,_X=288,Gf=288,TX=8;function EX({title:e,matches:n,selectedIndex:i,onHover:r,onPick:u}){const h=C.useRef(null),f=C.useRef(null),b=C.useRef(null),[v,x]=C.useState(Gf);return C.useLayoutEffect(()=>{const k=h.current,S=k?.closest("[data-aero-panel]"),N=k?.parentElement;if(!k||!S||!N)return;const _=N.getBoundingClientRect().top-S.getBoundingClientRect().top-TX*2-(f.current?.getBoundingClientRect().height??0);x(_>0?Math.min(Gf,Math.floor(_)):Gf)},[n.length]),C.useEffect(()=>{b.current?.querySelector('[aria-selected="true"]')?.scrollIntoView?.({block:"nearest"})},[i]),l.jsxs("div",{ref:h,className:"absolute inset-x-3 bottom-full mb-2 overflow-hidden rounded-lg border border-base bg-bg/98 shadow-2xl",children:[l.jsx("div",{ref:f,className:"border-b border-default px-3 py-1.5 text-[10px] uppercase tracking-wider text-muted",children:e}),l.jsx("ul",{ref:b,role:"listbox",className:"overflow-y-auto py-1",style:{maxHeight:v},children:n.map((k,S)=>{const N=S===i;return l.jsx("li",{children:l.jsxs("button",{type:"button",role:"option","aria-selected":N,onMouseEnter:()=>r(S),onClick:()=>u(k),className:`flex w-full items-center gap-3 px-3 py-2 text-left text-sm transition ${N?"bg-bg-elevated text-heading":"text-neutral hover:bg-bg-elevated/60"}`,children:[l.jsx("span",{className:"font-medium",children:k.label}),l.jsx("span",{className:"ml-auto font-mono text-[11px] text-secondary",children:k.command})]})},k.command)})})]})}function Fk({onPick:e}){return l.jsx("div",{className:"flex flex-wrap gap-1.5",children:Ig.map(n=>l.jsx("button",{type:"button",onClick:()=>e(n.prompt),className:"rounded-md border border-base bg-bg-elevated/70 px-3 py-1.5 text-sm text-neutral transition hover:border-strong hover:bg-mono-800/70 hover:text-heading",children:n.label},n.label))})}function gC(e){switch(e){case"claude":return"ANTHROPIC_API_KEY";case"openai":return"OPENAI_API_KEY";case"gemini":return"GEMINI_API_KEY";case"zai":return"ZAI_API_KEY"}}function RX(e,n){const i=e.timestamp??0;return`${e.role}:${i}:${n}`}function DX(e,n,i,r,u,h,f,b=!0){const v=[];let x=[],k=0;for(let N=e.length-1;N>=0;N--)if(e[N].role==="user"){k=N+1;break}const S=(N=!1)=>{x.length!==0&&(v.push(l.jsx(LX,{trails:x,betweenSteps:N&&h&&!f},`tools:${x[0].id}`)),x=[])};for(let N=0;N<e.length;N++){const _=e[N],z=RX(_,N);if(_.role==="user"){S();const q=typeof _.content=="string"?_.content:JSON.stringify(_.content);if(q.startsWith("[system]"))continue;v.push(l.jsx(zX,{text:q,projectName:n,providerOverride:i,scope:r,context:_.aeroContext,cliCopy:b},z));continue}if(_.role==="assistant"){const q=new Map;let E=N+1;for(;E<e.length&&e[E].role==="toolResult";){const $=e[E];q.set($.toolCallId,$),E++}const P=h&&N>=k,M=OX(_,q).map($=>{const H=u.find(V=>V.id===$.id),J={...$,...H,label:$.label??H?.label};return{...J,interrupted:J.endedAt===void 0&&(!P||J.interrupted)}}),L=Md(_);L.trim()&&(S(),v.push(l.jsxs("div",{className:"mt-3",children:[l.jsx("div",{className:"mb-0.5 text-[10px] uppercase tracking-wider text-positive-400",children:"Aero"}),l.jsx(vC,{content:L})]},z))),x.push(...M),N=E-1;continue}}return S(!0),v}function zX({text:e,projectName:n,providerOverride:i,scope:r,context:u,cliCopy:h=!0}){const[f,b]=C.useState(!1),v=C.useMemo(()=>IX(n,e,i,r,u),[n,e,i,r,u]);async function x(){try{await navigator.clipboard.writeText(v),b(!0),window.setTimeout(()=>b(!1),1500)}catch{}}return l.jsxs("div",{className:"group relative mt-3 rounded-md bg-bg-elevated/60 px-3 py-2 text-strong",children:[l.jsxs("div",{className:"flex items-center justify-between gap-2",children:[l.jsx("div",{className:"text-[10px] uppercase tracking-wider text-muted",children:"You"}),h&&l.jsx("button",{type:"button",onClick:fn(x),className:"inline-flex items-center gap-1 rounded border border-mono-800/70 bg-bg/60 px-1.5 py-0.5 text-[10px] text-secondary opacity-0 transition hover:border-strong hover:text-heading group-hover:opacity-100 focus:opacity-100","aria-label":"Copy as CLI command",title:v,children:f?l.jsxs(l.Fragment,{children:[l.jsx(Bc,{className:"h-2.5 w-2.5 text-positive-400","aria-hidden":"true"}),"Copied"]}):l.jsxs(l.Fragment,{children:[l.jsx(Gg,{className:"h-2.5 w-2.5","aria-hidden":"true"}),"Copy as CLI"]})})]}),l.jsx("div",{className:"whitespace-pre-wrap",children:e})]})}function IX(e,n,i,r,u){const h=["canonry","agent","ask",Of(e),Of(n)];return i&&h.push("--provider",i),r==="read-only"&&h.push("--scope","read-only"),u&&h.push("--context",Of(JSON.stringify(u))),h.join(" ")}function OX(e,n){const i=[];for(const r of e.content){if(r.type!=="toolCall")continue;const u=r,h=n.get(u.id);i.push({id:u.id,name:u.name,args:u.arguments,label:h?.aeroToolLabel,durationMs:h?.aeroDurationMs,endedAt:h?.timestamp,isError:h?.isError,result:h?.content})}return i}const Qk=new Set(["aero_list_toolkits","aero_load_toolkit"]),PX=new Map([["Read","Reading"],["List","Listing"],["Get","Getting"],["Load","Loading"],["Find","Finding"],["Check","Checking"],["Compare","Comparing"],["Inspect","Inspecting"],["Preview","Previewing"],["Search","Searching"],["Show","Showing"],["Run","Running"]]);function zr(e){return e.endedAt===void 0&&!e.interrupted}function Og(e){return e.label??e.name.replace(/^(?:canonry|aero)_/,"").replace(/_/g," ")}function yC(e){const n=e.durationMs??(e.endedAt!=null&&e.startedAt!=null?e.endedAt-e.startedAt:null);return n==null||n<0?null:n}function bC(e){let n=null;for(const i of e){const r=yC(i);r!=null&&(n=(n??0)+r)}return n}function I1(e){return e<1e3?`${e}ms`:`${(e/1e3).toFixed(1)}s`}function qX(e){const n=Math.floor(Math.max(0,e)/1e3);return n<60?`${n}s`:`${Math.floor(n/60)}m ${n%60}s`}function Hf(e,n,i){return`${e} ${e===1?n:i}`}function Zk(e=""){return PX.get(e.charAt(0).toUpperCase()+e.slice(1))}function MX(e){const[n,...i]=e.trim().split(/\s+/),r=Zk(n);if(!r)return"Working…";if(i[0]==="or"||i[0]==="and"){const u=Zk(i[1]);return u?`${[r,i[0],u.toLowerCase(),...i.slice(2)].join(" ")}…`:"Working…"}return`${[r,...i].join(" ")}…`}function BX(e){const[n,i]=C.useState(()=>Date.now());return C.useEffect(()=>{if(!e)return;const r=()=>i(Date.now()),u=window.setTimeout(r,0),h=window.setInterval(r,1e3);return()=>{window.clearTimeout(u),window.clearInterval(h)}},[e]),n}function LX({trails:e,betweenSteps:n}){const[i,r]=C.useState(!1),u=C.useId(),h=e.filter($=>!Qk.has($.name)),f=e.filter($=>Qk.has($.name)),b=h.filter(zr),v=b.length>0?b[b.length-1]:void 0,x=f.some(zr),k=v!==void 0||x||n,S=h.length>0?h:f,N=S.filter($=>!zr($)&&$.isError===!0).length,_=e.some($=>$.interrupted),z=e.flatMap($=>$.startedAt===void 0?[]:[$.startedAt]),q=z.length>0?Math.min(...z):void 0,E=BX(k),P=bC(S),M=k?v?MX(Og(v)):x?"Loading tools…":"Working…":h.length>0?Hf(h.length,"step","steps"):Hf(f.length,"setup step","setup steps"),L=new Map;for(const $ of h){const H=Og($),J=L.get(H);J?J.push($):L.set(H,[$])}return l.jsxs("div",{className:"mt-3 rounded-md border border-mono-800/70 bg-surface-hover",children:[l.jsxs("button",{type:"button",onClick:()=>r($=>!$),className:"flex w-full items-center gap-2 px-2.5 py-1.5 text-left","aria-expanded":i,"aria-controls":u,children:[l.jsx("span",{className:"flex h-3.5 w-3.5 shrink-0 items-center justify-center",children:k?l.jsx(Ts,{className:"h-3 w-3 animate-spin text-positive-400 motion-reduce:animate-none","aria-hidden":"true"}):N>0?l.jsx(fm,{className:"h-3 w-3 text-negative-400","aria-hidden":"true"}):_?l.jsx(SS,{className:"h-3 w-3 text-muted","aria-hidden":"true"}):l.jsx(Bc,{className:"h-3 w-3 text-muted","aria-hidden":"true"})}),l.jsx("span",{className:"min-w-0 truncate text-sm font-medium text-heading",children:M}),N>0&&l.jsxs("span",{className:"shrink-0 rounded-md border border-negative-800/50 bg-negative-950/20 px-1.5 py-0.5 text-[10px] text-negative-400",children:[N," failed"]}),_&&l.jsx("span",{className:"shrink-0 rounded-md border border-mono-800/70 px-1.5 py-0.5 text-[10px] text-muted",children:"interrupted"}),l.jsxs("span",{className:"ml-auto flex shrink-0 items-center gap-2 text-[10px] text-muted",children:[k?l.jsxs(l.Fragment,{children:[v&&l.jsxs("span",{children:["step ",h.indexOf(v)+1]}),q!==void 0&&l.jsx("span",{className:"tabular-nums","aria-hidden":"true",children:qX(E-q)})]}):P!=null&&l.jsx("span",{className:"tabular-nums",children:I1(P)}),l.jsx(Lc,{className:`h-3 w-3 transition-transform ${i?"rotate-90":""}`,"aria-hidden":"true"})]})]}),i&&l.jsxs("div",{id:u,className:"space-y-1.5 border-t border-default px-2.5 py-2",children:[[...L].map(([$,H])=>l.jsx(Yk,{trails:H,title:$},`label:${$}`)),f.length>0&&l.jsx(Yk,{trails:f,title:`+ ${Hf(f.length,"setup step","setup steps")}`,muted:!0},"setup")]})]})}function Yk({trails:e,title:n,muted:i=!1}){const[r,u]=C.useState(!1),h=C.useId(),f=!i&&e.length===1,b=e.some(zr),v=e.filter(N=>!zr(N)&&N.isError===!0).length,x=e.some(N=>N.interrupted),k=bC(e),S=f?()=>u(!0):void 0;return l.jsxs("div",{className:f?void 0:i?"rounded-md":"rounded-md border border-mono-800/70 bg-surface-hover",onFocus:S,onClick:S,children:[!f&&l.jsxs("button",{type:"button",onClick:()=>u(N=>!N),className:"flex w-full items-center gap-2 px-2.5 py-1.5 text-left","aria-expanded":r,"aria-controls":h,children:[!i&&l.jsx("span",{className:"flex h-3.5 w-3.5 shrink-0 items-center justify-center",children:b?l.jsx(Ts,{className:"h-3 w-3 animate-spin text-positive-400 motion-reduce:animate-none","aria-hidden":"true"}):v>0?l.jsx(fm,{className:"h-3 w-3 text-negative-400","aria-hidden":"true"}):l.jsx(jS,{className:"h-3 w-3 text-muted","aria-hidden":"true"})}),l.jsx("span",{className:i?"text-xs text-muted":"text-sm font-medium text-heading",children:n}),!i&&l.jsxs("span",{className:"text-[10px] text-muted",children:["×",e.length]}),l.jsxs("span",{className:"ml-auto flex items-center gap-2 text-[10px] text-muted",children:[b?l.jsx("span",{className:"text-positive-400",children:"running…"}):l.jsxs(l.Fragment,{children:[v>0?l.jsxs("span",{className:"text-negative-400",children:[v," failed"]}):l.jsx("span",{children:x?"interrupted":"done"}),k!=null&&l.jsx("span",{className:"tabular-nums",children:I1(k)})]}),l.jsx(Lc,{className:`h-3 w-3 transition-transform ${r?"rotate-90":""}`,"aria-hidden":"true"})]})]}),(f||r)&&l.jsx("div",{id:h,className:f?void 0:"space-y-1.5 px-2.5 pb-2",children:e.map(N=>l.jsx(UX,{trail:N},N.id))})]})}function UX({trail:e}){const[n,i]=C.useState(!1),r=zr(e),u=!r&&e.isError===!0,h=yC(e),f=h==null?null:I1(h),b=u?"border-negative-800/50":r?"border-positive-800/50":"border-mono-800/70",v=u?"bg-negative-950/20":r?"bg-positive-950/20":"bg-surface-hover";return l.jsxs("div",{className:`rounded-md border ${b} ${v}`,children:[l.jsxs("button",{type:"button",onClick:()=>i(x=>!x),className:"flex w-full items-center gap-2 px-2.5 py-1.5 text-left","aria-expanded":n,children:[l.jsx("span",{className:"flex h-3.5 w-3.5 shrink-0 items-center justify-center",children:r?l.jsx(Ts,{className:"h-3 w-3 animate-spin text-positive-400","aria-hidden":"true"}):u?l.jsx(fm,{className:"h-3 w-3 text-negative-400","aria-hidden":"true"}):l.jsx(jS,{className:"h-3 w-3 text-muted","aria-hidden":"true"})}),l.jsx("span",{className:"text-sm font-medium text-heading",children:Og(e)}),l.jsxs("span",{className:"ml-auto flex items-center gap-2 text-[10px] text-muted",children:[r?l.jsx("span",{className:"text-positive-400",children:"running…"}):l.jsxs(l.Fragment,{children:[l.jsx("span",{children:e.interrupted?"interrupted":u?"failed":"done"}),f&&l.jsx("span",{children:f})]}),l.jsx(Lc,{className:`h-3 w-3 transition-transform ${n?"rotate-90":""}`,"aria-hidden":"true"})]})]}),n&&l.jsxs("div",{className:"border-t border-default px-2.5 py-2 text-[11px] text-secondary",children:[l.jsx("div",{className:"mb-2 text-xs text-secondary",children:e.name}),l.jsx("div",{className:"mb-1 text-xs text-secondary",children:"Inputs"}),l.jsx("pre",{className:"mb-2 overflow-x-auto whitespace-pre-wrap break-all text-xs text-neutral",children:Xk(e.args)}),!r&&e.result!==void 0&&l.jsxs(l.Fragment,{children:[l.jsx("div",{className:"mb-1 text-[9px] uppercase tracking-wider text-faint",children:u?"Error":"Result"}),l.jsx("pre",{className:"overflow-x-auto whitespace-pre-wrap break-all text-xs text-neutral",children:Xk(e.result)})]})]})]})}function Xk(e){try{const n=typeof e=="string"?e:JSON.stringify(e,null,2);return n.length>2e3?`${n.slice(0,2e3)}
|
|
64
|
+
… (${n.length-2e3} more chars)`:n}catch{return String(e)}}function vC({content:e}){return l.jsx("div",{className:"text-heading",children:l.jsx(m6,{remarkPlugins:[p6],components:{h1:n=>l.jsx("h1",{...n,className:"mt-3 mb-2 text-base font-semibold text-primary"}),h2:n=>l.jsx("h2",{...n,className:"mt-3 mb-2 text-sm font-semibold text-primary"}),h3:n=>l.jsx("h3",{...n,className:"mt-3 mb-1.5 text-sm font-semibold text-heading"}),h4:n=>l.jsx("h4",{...n,className:"mt-2 mb-1 text-xs font-semibold uppercase tracking-wide text-neutral"}),p:n=>l.jsx("p",{...n,className:"mb-2 leading-relaxed"}),ul:n=>l.jsx("ul",{...n,className:"mb-2 ml-4 list-disc space-y-1"}),ol:n=>l.jsx("ol",{...n,className:"mb-2 ml-4 list-decimal space-y-1"}),li:n=>l.jsx("li",{...n,className:"marker:text-mono-600"}),strong:n=>l.jsx("strong",{...n,className:"font-semibold text-primary"}),em:n=>l.jsx("em",{...n,className:"text-strong"}),code:({children:n,...i})=>l.jsx("code",{...i,className:"rounded bg-mono-800/70 px-1 py-0.5 font-mono text-[12px] text-positive-200",children:n}),pre:n=>l.jsx("pre",{...n,className:"mb-2 overflow-x-auto rounded-md border border-base bg-bg-elevated/70 p-3 font-mono text-xs text-strong"}),a:n=>l.jsx("a",{...n,className:"text-positive-400 underline decoration-positive-700 hover:decoration-positive-400",target:"_blank",rel:"noopener noreferrer"}),table:n=>l.jsx("div",{className:"mb-2 overflow-x-auto",children:l.jsx("table",{...n,className:"w-full border-collapse text-xs"})}),thead:n=>l.jsx("thead",{...n,className:"border-b border-base"}),th:n=>l.jsx("th",{...n,className:"px-2 py-1 text-left font-semibold text-neutral"}),tr:n=>l.jsx("tr",{...n,className:"border-b border-mono-900"}),td:n=>l.jsx("td",{...n,className:"px-2 py-1 text-strong"}),blockquote:n=>l.jsx("blockquote",{...n,className:"mb-2 border-l-2 border-strong pl-3 italic text-secondary"}),hr:()=>l.jsx("hr",{className:"my-3 border-base"})},children:e})})}function VX(){return l.jsxs("div",{className:"mt-3 flex items-center gap-2",children:[l.jsx("div",{className:"text-[10px] uppercase tracking-wider text-positive-400",children:"Aero"}),l.jsxs("div",{className:"flex items-center gap-1","aria-label":"Aero is thinking",children:[l.jsx("span",{className:"aero-dot h-1.5 w-1.5 rounded-full bg-positive-400/80"}),l.jsx("span",{className:"aero-dot aero-dot-2 h-1.5 w-1.5 rounded-full bg-positive-400/60"}),l.jsx("span",{className:"aero-dot aero-dot-3 h-1.5 w-1.5 rounded-full bg-positive-400/40"})]})]})}function xC({isAdmin:e,account:n}){return e||n?.role==="viewer"&&RG()}function $X(){const{isAdmin:e,account:n}=fa(),i=hS(),r=/^\/projects\/([^/]+)/.exec(i.pathname),u=r?decodeURIComponent(r[1]):null,h=yt({...qo({client:W}),enabled:u!==null,staleTime:6e4}),f=WY(i.pathname,i.search),b=h.data??[],v=b.find(N=>N.id===u)??b.find(N=>N.name===u),x=BH(v?.name??u??"",f),k=w1(),S=k||xC({isAdmin:e,account:n});return!u||!S||!v?null:l.jsx(AX,{projectName:v.name,context:x,preview:k},v.name)}function Jk(e,n,i){switch(e.invalidateQueries({queryKey:LN({client:W})}),e.invalidateQueries({queryKey:Ur({client:W})}),On(e,"runs"),n){case De["answer-visibility"]:Rg(e,i,"none"),On(e,"visibilityReport"),On(e,"queryTracking");return;case De["backlink-extract"]:return;case De["site-audit"]:On(e,"technicalAeo");return;case De["gsc-sync"]:case De["inspect-sitemap"]:On(e,"gsc");return;case De["ga-sync"]:On(e,"ga");return;case De["traffic-sync"]:On(e,"ga"),On(e,"traffic");return;case De["bing-inspect"]:case De["bing-inspect-sitemap"]:On(e,"bing");return;case De["aeo-discover-seed"]:case De["aeo-discover-probe"]:Rg(e,i);return;case De["gbp-sync"]:On(e,"gbp");return;case De["ads-sync"]:On(e,"ads");return;case De["google-ads-sync"]:On(e,"googleAds"),On(e,"conversionTracking");return;case De["gtm-sync"]:On(e,"gtm"),On(e,"conversionTracking");return;default:return n}}const Wk=[{label:"GitHub",href:"https://github.com/Canonry/canonry",Icon:wS},{label:"Docs",href:"https://github.com/Canonry/canonry/tree/main/docs",Icon:i6},{label:"Changelog",href:"https://github.com/Canonry/canonry/releases",Icon:s6}],eS=e=>({label:e,state:"checking",detail:"Checking service health"}),KX={apiStatus:eS("API"),workerStatus:eS("Worker")};function GX(e){return e==="completed"?"positive":e==="partial"?"caution":"negative"}function HX(e){const n=Ac(e.kind);return e.status==="completed"?`${n} completed`:e.status==="partial"?`${n} completed with partial results`:e.status==="cancelled"?`${n} cancelled`:`${n} failed`}function FX(e,n){return e.error?`${n}: ${C0(e.error)}`:e.location?`${n} · ${e.location}`:n}function tS(e,n,i){if(n)return n;const r=i.find(u=>u.id===e);return r?.displayName||r?.name||e}function QX(e,n){return[e.completed>0?`${e.completed} completed`:null,e.partial>0?`${e.partial} partial`:null,e.failed>0?`${e.failed} failed`:null,e.cancelled>0?`${e.cancelled} cancelled`:null,n>0?`${n} skipped at queue time`:null].filter(Boolean).join(", ")}function ZX(e){return e.failed>0||e.cancelled>0?"negative":e.partial>0?"caution":"positive"}function YX(){const e=Ds(),n=C.useSyncExternalStore(GN,Gi,Gi),i=Object.keys(n.runs).length>0||Object.keys(n.batches).length>0,r=yt({...Oc({client:W}),enabled:i,staleTime:_s,refetchInterval:3e3}),u=yt({...qo({client:W}),enabled:i}),h=C.useRef({}),f=C.useCallback(()=>{r.refetch()},[r.refetch]);return C.useEffect(()=>{i&&f()},[i,f]),C.useEffect(()=>{if(!i||typeof window>"u")return;const b=()=>{document.visibilityState==="visible"&&f()};return window.addEventListener("focus",f),document.addEventListener("visibilitychange",b),()=>{window.removeEventListener("focus",f),document.removeEventListener("visibilitychange",b)}},[i,f]),C.useEffect(()=>{const b=r.data??[],v=u.data??[],x=Object.fromEntries(b.map(S=>[S.id,S])),k=Object.fromEntries(b.map(S=>[S.id,S.status]));for(const S of Object.values(n.runs)){const N=x[S.runId];if(!N||!XQ(N.status)||(h.current[N.id]??S.lastAnnouncedStatus)===N.status)continue;const z=v.find(E=>E.id===N.projectId);if(z&&Jk(e,N.kind,z.name),S.sourceAction==="run-all"){Bf(N.id);continue}const q=tS(N.projectId,S.projectLabel,v);yn({title:HX(N),detail:FX(N,q),tone:GX(N.status),dedupeKey:`run:${N.id}`,dedupeMode:"replace",cta:{label:"View run",intent:"open-run-drawer",runId:N.id}}),Bf(N.id)}if(r.data!==void 0){const S=new Set(b.map(_=>_.id)),N=WQ(Object.values(n.runs),S,Date.now(),JQ);for(const _ of N){const z=v.find(q=>q.id===_.projectId);z&&Jk(e,_.kind,z.name),_.sourceAction!=="run-all"&&yn({title:`${Ac(_.kind)} status unavailable`,detail:tS(_.projectId,_.projectLabel,v),tone:"neutral",dedupeKey:`run-stale:${_.runId}`,dedupeMode:"replace"}),Bf(_.runId)}}for(const S of Object.values(n.batches)){const N=eZ(S.runIds,x);N.finished&&(yn({title:"Run-all batch finished",detail:QX(N,S.skippedCount),tone:ZX(N),dedupeKey:`batch:${S.batchId}`,dedupeMode:"replace",cta:{label:"View runs",intent:"go-to-runs"}}),YQ(S.batchId))}h.current=k},[u.data,r.data,n,e]),null}function XX(){const{account:e,isAdmin:n}=fa(),i=au(),r=C.useMemo(()=>NN(),[]),u=C.useMemo(TG,[]),h=C.useMemo(EG,[]),f=w1()||h&&xC({isAdmin:n,account:e}),b=C.useMemo(DG,[]),v=hS(),{dashboard:x,isLoading:k,refetch:S}=Fm(void 0,{includeSettings:!r,includeOverviews:!1,pauseProjectPolling:v.pathname==="/setup"}),z=R1(!i,i?.health).data??i?.health??KX,{runId:q,evidenceId:E,closeDrawer:P}=D1(),[M,L]=C.useState(!1),[$,H]=C.useState(()=>{if(typeof window>"u")return!1;try{return window.localStorage.getItem("canonry:sidebarHidden")==="true"}catch{return!1}}),[J,V]=C.useState(()=>{if(typeof window>"u")return null;try{return window.localStorage.getItem("canonry:dismissedUpdateVersion")}catch{return null}}),[Q]=C.useState(()=>typeof window>"u"?null:new URLSearchParams(window.location.search).get("force-update")),ae=Q?{current:z.apiStatus.version??"0.0.0",latest:Q,url:"https://www.npmjs.com/package/@canonry/canonry",upgradeCommand:"npm install -g @canonry/canonry"}:z.apiStatus.updateAvailable,Fe=b&&ae&&ae.latest!==J,We=()=>{if(ae){try{window.localStorage.setItem("canonry:dismissedUpdateVersion",ae.latest)}catch{}V(ae.latest)}},Ve=()=>{const pe=!$;try{pe?window.localStorage.setItem("canonry:sidebarHidden","true"):window.localStorage.removeItem("canonry:sidebarHidden")}catch{}H(pe)},qe=BY(q),Ae=qe.data??null,Le=qe.isLoading;C.useEffect(()=>{Ae&&Ae.status!=="running"&&Ae.status!=="queued"&&S()},[Ae?.status,S]),C.useEffect(()=>{L(!1)},[v.pathname]),C.useEffect(()=>{if(typeof window>"u"||!q&&!E)return;const pe=at=>{at.key==="Escape"&&P()};return window.addEventListener("keydown",pe),()=>{window.removeEventListener("keydown",pe)}},[q,E,P]);const B=x??i?.dashboard??null,ee=v.pathname==="/setup",ve=ee&&B!==null&&B.portfolioOverview.projects.length===0,je=ee&&(v.search.onboarding==="site-health"||v.search.onboarding==="first-run"||v.search.onboarding==="complete"),[oe,ke]=C.useState(ve);C.useEffect(()=>{ee?ve&&ke(!0):ke(!1)},[ve,ee]);const xe=ee&&(je||ve||oe||ee&&B===null),de=xe?"app-shell-focus":$?"app-shell-sidebar-hidden":"",ce=q?(B?uY(B,q):void 0)??(Ae?nu(Ae,B?.projects.find(pe=>pe.project.id===Ae.projectId)?.project.displayName??B?.projects.find(pe=>pe.project.id===Ae.projectId)?.project.name??"Unknown project"):void 0):void 0,Y=C.useMemo(()=>oY(v.pathname,B),[v.pathname,B]),{commandCenter:me,evidenceLoading:Pe,evidenceError:Ne,isError:st,refetch:$e}=PY(E?Y:null,{evidence:!0}),Nt=C.useMemo(()=>{if(E)return mY(me,B,E)},[E,me,B]),He=(()=>{const pe=v.pathname;if(pe==="/")return"Portfolio";if(pe==="/projects")return"Projects";if(pe==="/runs")return"Runs";if(pe==="/history")return"History";if(pe==="/settings")return"Settings";if(pe==="/setup")return"Setup";if(pe==="/backlinks")return"Backlink data";if(pe==="/traffic"||pe.startsWith("/traffic/"))return"Traffic sources";if(pe.startsWith("/projects/")){const at=B?.projects.find(It=>It.project.name===Y);return at?.project.displayName||at?.project.name||Y||"Projects"}return"Not found"})();if(r){const pe=iN(r.projectTabs),at=!r.views||r.views.includes(ZH(v.pathname));return l.jsxs("div",{className:"app-shell app-shell-embed","data-theme":eF(r.theme),style:tF(r.theme),children:[l.jsx("a",{className:"skip-link",href:"#content",children:"Skip to content"}),l.jsx("main",{id:"content",className:"page-shell",children:pe?l.jsx("div",{className:"embed-view-unavailable",role:"status",children:"This embed uses the retired Report tab. Update its allowed tabs to show AI Visibility."}):at?l.jsx(Qf,{}):l.jsx("div",{className:"embed-view-unavailable",role:"status",children:"This view is not available in embed mode."})})]})}return l.jsxs(l.Fragment,{children:[l.jsx("a",{className:"skip-link",href:"#content",children:"Skip to content"}),l.jsx(HY,{}),l.jsxs("div",{className:`app-shell ${de}${So()?" app-shell-demo":""}`,children:[!xe&&!$&&l.jsxs("aside",{id:"desktop-sidebar",className:"sidebar","aria-label":"Primary navigation",children:[l.jsx("div",{className:"sidebar-brand",children:l.jsx(Rk,{version:z.apiStatus.version,updateAvailable:Fe?ae:null,onDismissUpdate:We})}),l.jsxs("nav",{className:"sidebar-nav",children:[l.jsxs(tt,{to:"/",className:"sidebar-link",activeProps:{className:"sidebar-link sidebar-link-active"},activeOptions:{exact:!0},children:[l.jsx(X5,{className:"sidebar-icon"}),l.jsx("span",{children:"Portfolio"})]}),l.jsxs(tt,{to:"/projects",className:"sidebar-link",activeProps:{className:"sidebar-link sidebar-link-active"},activeOptions:{exact:!1},children:[l.jsx(J5,{className:"sidebar-icon"}),l.jsx("span",{children:"Projects"})]}),l.jsxs(tt,{to:"/runs",className:"sidebar-link",activeProps:{className:"sidebar-link sidebar-link-active"},activeOptions:{exact:!0},children:[l.jsx(W5,{className:"sidebar-icon"}),l.jsx("span",{children:"Runs"})]}),l.jsxs(tt,{to:"/history",className:"sidebar-link",activeProps:{className:"sidebar-link sidebar-link-active"},activeOptions:{exact:!0},children:[l.jsx(kS,{className:"sidebar-icon"}),l.jsx("span",{children:"History"})]}),l.jsxs(tt,{to:"/traffic",className:"sidebar-link",activeProps:{className:"sidebar-link sidebar-link-active"},activeOptions:{exact:!1},children:[l.jsx(e6,{className:"sidebar-icon"}),l.jsx("span",{children:"Traffic sources"})]}),!So()&&l.jsxs(tt,{to:"/backlinks",className:"sidebar-link",activeProps:{className:"sidebar-link sidebar-link-active"},activeOptions:{exact:!0},children:[l.jsx(t6,{className:"sidebar-icon"}),l.jsx("span",{children:"Backlink data"})]}),n&&l.jsxs(tt,{to:"/settings",className:"sidebar-link",activeProps:{className:"sidebar-link sidebar-link-active"},activeOptions:{exact:!0},children:[l.jsx(n6,{className:"sidebar-icon"}),l.jsx("span",{children:"Settings"})]}),k?l.jsxs(l.Fragment,{children:[l.jsx("p",{className:"sidebar-section-title",children:"Tracked projects"}),[1,2,3].map(pe=>l.jsxs("div",{className:"sidebar-skeleton-item",children:[l.jsx("span",{className:"skeleton-circle size-2"}),l.jsx("span",{className:"skeleton-text flex-1",style:{width:`${50+pe*15}%`}})]},pe))]}):B&&B.projects.length>0?l.jsxs(l.Fragment,{children:[l.jsx("p",{className:"sidebar-section-title",children:"Tracked projects"}),B.projects.map(pe=>{const at=pe.visibilitySummary.tone;return l.jsxs(tt,{to:"/projects/$projectName",params:{projectName:pe.project.name},className:"sidebar-project",activeProps:{className:"sidebar-project sidebar-project-active"},children:[l.jsx("span",{className:`sidebar-dot sidebar-dot-${at}`}),l.jsx("span",{children:pe.project.displayName||pe.project.name})]},pe.project.id)})]}):k?null:l.jsxs(l.Fragment,{children:[l.jsx("p",{className:"sidebar-section-title",children:"Resources"}),n&&l.jsxs(tt,{to:"/setup",className:"sidebar-link",activeProps:{className:"sidebar-link sidebar-link-active"},activeOptions:{exact:!0},children:[l.jsx(a6,{className:"sidebar-icon"}),l.jsx("span",{children:"Setup"})]})]})]}),e&&l.jsxs("div",{className:"sidebar-account",children:[l.jsxs("div",{className:"sidebar-account-identity",children:[l.jsx("span",{className:"sidebar-account-name",children:e.name}),e.role==="viewer"?l.jsx("span",{className:"sidebar-account-role",children:ck()}):null]}),l.jsx(le,{type:"button",variant:"ghost",size:"sm",onClick:fn(async()=>{await pk(),window.location.reload()}),children:"Sign out"})]}),u?l.jsx("div",{className:"sidebar-footer",children:Wk.map(({label:pe,href:at,Icon:It})=>l.jsx("a",{className:"sidebar-footer-icon",href:at,target:"_blank",rel:"noopener noreferrer",title:pe,"aria-label":pe,children:l.jsx(It,{className:"size-4"})},at))}):null]}),l.jsxs("div",{className:"main-area",children:[l.jsxs("header",{className:"topbar",children:[l.jsxs("div",{className:"topbar-left",children:[!xe&&l.jsx(le,{className:"sidebar-privacy-toggle",variant:"ghost",size:"icon",type:"button","aria-label":$?"Show sidebar":"Hide sidebar","aria-controls":$?void 0:"desktop-sidebar","aria-expanded":!$,title:$?"Show sidebar":"Hide sidebar",onClick:Ve,children:$?l.jsx(o6,{className:"size-4"}):l.jsx(r6,{className:"size-4"})}),l.jsx("div",{className:"topbar-brand-mobile",children:l.jsx(Rk,{compact:!0})}),l.jsxs("nav",{className:"breadcrumb","aria-label":"Breadcrumb",children:[l.jsx(tt,{to:"/",children:"Home"}),l.jsx(Lc,{className:"breadcrumb-sep size-3"}),l.jsx("span",{className:"breadcrumb-current",children:He})]})]}),l.jsxs("div",{className:"topbar-actions",children:[l.jsx(FY,{}),l.jsxs("div",{className:"health-pill-row",children:[l.jsxs("span",{className:`health-pill health-pill-${z.apiStatus.state}`,title:Vr(z.apiStatus),children:["API ",z.apiStatus.state==="ok"?"ok":z.apiStatus.state]}),l.jsx("span",{className:`health-pill health-pill-${z.workerStatus.state}`,title:Vr(z.workerStatus),children:`Worker ${z.workerStatus.state==="ok"?"ok":z.workerStatus.state}`})]}),xe?null:l.jsxs(le,{className:"nav-toggle",variant:"secondary",size:"icon",type:"button","aria-expanded":M,"aria-controls":"mobile-nav",onClick:()=>L(pe=>!pe),children:[l.jsx(l6,{className:"size-4"}),l.jsx("span",{className:"sr-only",children:"Open navigation"})]})]})]}),xe?null:l.jsxs("div",{id:"mobile-nav",className:`mobile-nav ${M?"mobile-nav-open":""}`,children:[l.jsxs(le,{className:"mobile-nav-close",variant:"ghost",size:"icon",type:"button",onClick:()=>L(!1),children:[l.jsx($r,{className:"size-5"}),l.jsx("span",{className:"sr-only",children:"Close navigation"})]}),l.jsx(tt,{to:"/",className:"mobile-nav-link",activeProps:{className:"mobile-nav-link mobile-nav-link-active"},activeOptions:{exact:!0},children:"Portfolio"}),l.jsx(tt,{to:"/projects",className:"mobile-nav-link",activeProps:{className:"mobile-nav-link mobile-nav-link-active"},activeOptions:{exact:!1},children:"Projects"}),l.jsx(tt,{to:"/runs",className:"mobile-nav-link",activeProps:{className:"mobile-nav-link mobile-nav-link-active"},activeOptions:{exact:!0},children:"Runs"}),l.jsx(tt,{to:"/history",className:"mobile-nav-link",activeProps:{className:"mobile-nav-link mobile-nav-link-active"},activeOptions:{exact:!0},children:"History"}),l.jsx(tt,{to:"/traffic",className:"mobile-nav-link",activeProps:{className:"mobile-nav-link mobile-nav-link-active"},activeOptions:{exact:!1},children:"Traffic sources"}),!So()&&l.jsx(tt,{to:"/backlinks",className:"mobile-nav-link",activeProps:{className:"mobile-nav-link mobile-nav-link-active"},activeOptions:{exact:!0},children:"Backlink data"}),n&&l.jsx(tt,{to:"/settings",className:"mobile-nav-link",activeProps:{className:"mobile-nav-link mobile-nav-link-active"},activeOptions:{exact:!0},children:"Settings"}),B&&B.projects.length>0?l.jsxs("div",{className:"mobile-nav-section",children:[l.jsx("p",{className:"mobile-nav-section-title",children:"Tracked projects"}),B.projects.map(pe=>l.jsx(tt,{to:"/projects/$projectName",params:{projectName:pe.project.name},className:"mobile-nav-link",children:pe.project.name},pe.project.id))]}):null,e&&l.jsxs("div",{className:"mobile-nav-section",children:[l.jsx("p",{className:"mobile-nav-section-title",children:"Signed in"}),l.jsxs("div",{className:"sidebar-account",children:[l.jsxs("div",{className:"sidebar-account-identity",children:[l.jsx("span",{className:"sidebar-account-name",children:e.name}),e.role==="viewer"?l.jsx("span",{className:"sidebar-account-role",children:ck()}):null]}),l.jsx(le,{type:"button",variant:"ghost",size:"sm","data-testid":"mobile-sign-out",onClick:fn(async()=>{await pk(),window.location.reload()}),children:"Sign out"})]})]})]}),l.jsx("main",{id:"content",className:`page-shell ${f&&Y?"pb-20":""}`.trim(),children:k&&!i?l.jsxs("div",{className:"page-skeleton",children:[l.jsxs("div",{className:"page-skeleton-header",children:[l.jsx("div",{className:"skeleton-text h-6 w-40"}),l.jsx("div",{className:"skeleton-text-sm w-72"})]}),l.jsx("div",{className:"page-skeleton-grid",children:[1,2,3].map(pe=>l.jsxs("div",{className:"page-skeleton-card",children:[l.jsx("div",{className:"skeleton-text w-24"}),l.jsx("div",{className:"skeleton-text w-full"}),l.jsx("div",{className:"skeleton-text-sm w-3/4"})]},pe))}),l.jsx("div",{className:"page-skeleton-grid",style:{gridTemplateColumns:"1fr 1fr"},children:[1,2].map(pe=>l.jsxs("div",{className:"page-skeleton-card",children:[l.jsx("div",{className:"skeleton-text w-20"}),l.jsx("div",{className:"space-y-2",children:[1,2,3].map(at=>l.jsx("div",{className:"skeleton-text-sm w-full"},at))})]},pe))})]}):l.jsx(Qf,{})}),l.jsxs("footer",{className:"footer",children:[l.jsxs("span",{className:"footer-brand",children:[l.jsx("span",{children:l.jsx("a",{href:"https://canonry.ai",children:"Canonry"})}),z.apiStatus.version&&z.apiStatus.version!=="unknown"?l.jsxs("span",{className:"footer-version",children:["v",z.apiStatus.version]}):null]}),u?l.jsx("div",{className:"footer-links",children:Wk.map(({label:pe,href:at,Icon:It})=>l.jsx("a",{href:at,target:"_blank",rel:"noopener noreferrer",title:pe,"aria-label":pe,className:"footer-icon",children:l.jsx(It,{className:"size-3.5"})},at))}):null]})]}),q&&!ce&&Le?l.jsx(Cd,{open:!0,title:"Loading run details",subtitle:"Fetching the durable run record",onClose:P,children:l.jsx("p",{className:"text-sm text-muted",role:"status",children:"Loading run details…"})}):null,q&&!ce&&qe.isError?l.jsx(Cd,{open:!0,title:"Run unavailable",subtitle:"The run could not be loaded",onClose:P,children:l.jsx("p",{className:"text-sm text-negative",children:qe.error instanceof Error?qe.error.message:"Run details are unavailable."})}):null,ce?l.jsxs(Cd,{open:!0,title:ce.summary,subtitle:`${ce.projectName} · ${ce.kindLabel}`,onClose:P,children:[l.jsxs("div",{className:"flex flex-wrap items-center gap-x-5 gap-y-1 text-sm",children:[l.jsx(E1,{status:ce.status}),l.jsx("span",{className:"text-secondary",children:ce.startedAt}),l.jsx("span",{className:"text-muted",children:ce.duration}),l.jsx("span",{className:"text-faint",children:ce.triggerLabel})]}),ce.status==="failed"&&ce.statusDetail&&l.jsx("p",{className:"mt-2 text-sm text-negative",children:ce.statusDetail}),l.jsxs("div",{className:"mt-4",children:[l.jsx("p",{className:"text-[10px] font-semibold uppercase tracking-wider text-muted mb-2",children:"Activity Log"}),Le?l.jsx("p",{className:"text-sm text-muted",children:"Loading run details..."}):Ae?.snapshots&&Ae.snapshots.length>0?l.jsxs("div",{className:"space-y-2",children:[Ae.snapshots.map(pe=>l.jsxs("div",{className:"rounded-lg border border-default bg-surface p-3",children:[l.jsxs("div",{className:"flex items-center justify-between gap-2 mb-1",children:[l.jsx("p",{className:"text-sm font-medium text-strong truncate",children:pe.query??"Unknown query"}),l.jsxs("div",{className:"flex items-center gap-1.5",children:[l.jsx(FZ,{provider:pe.provider}),l.jsx(rC,{variant:pe.citationState===wc.cited?"success":"neutral",children:pe.citationState})]})]}),pe.model&&l.jsx("p",{className:"text-[11px] text-muted font-mono",children:pe.model}),pe.citedDomains.length>0&&l.jsxs("p",{className:"text-xs text-muted mt-1",children:[l.jsx("span",{className:"text-secondary",children:"Sources:"})," ",pe.citedDomains.join(", ")]}),pe.citedCompetitorDomains.length>0&&l.jsxs("p",{className:"text-xs text-negative-400/80 mt-0.5",children:["Competitor cited: ",pe.citedCompetitorDomains.join(", ")]}),pe.mentionedCompetitorDomains.length>0&&l.jsxs("p",{className:"text-xs text-negative-400/80 mt-0.5",children:["Competitor mentioned: ",pe.mentionedCompetitorDomains.join(", ")]}),pe.groundingSources&&pe.groundingSources.length>0&&l.jsxs("details",{className:"mt-2",children:[l.jsxs("summary",{className:"text-xs text-muted cursor-pointer hover:text-secondary",children:[pe.groundingSources.length," grounding source",pe.groundingSources.length!==1?"s":""]}),l.jsx("ul",{className:"mt-2 space-y-3",children:pe.groundingSources.map((at,It)=>l.jsx("li",{className:"min-w-0",children:l.jsx(Eg,{url:at.uri,title:at.title})},It))})]}),pe.answerText&&l.jsxs("details",{className:"mt-1",children:[l.jsx("summary",{className:"text-xs text-muted cursor-pointer hover:text-secondary",children:"Answer preview"}),l.jsx("p",{className:"mt-1 text-xs text-secondary leading-relaxed whitespace-pre-wrap",children:pe.answerText})]})]},pe.id)),Ae.status==="running"&&l.jsxs("div",{className:"flex items-center gap-2 p-3 text-sm text-muted",children:[l.jsx("span",{className:"inline-block h-2 w-2 rounded-full bg-caution-500 animate-pulse"}),"Running remaining queries..."]})]}):Ae&&Ae.status===jt.running?l.jsxs("div",{className:"flex items-center gap-2 p-3 text-sm text-muted",children:[l.jsx("span",{className:"inline-block h-2 w-2 rounded-full bg-caution-500 animate-pulse"}),Ae.kind===De["answer-visibility"]?"Waiting for first query result...":"Run is in progress..."]}):Ae&&Ae.status===jt.queued?l.jsxs("div",{className:"flex items-center gap-2 p-3 text-sm text-muted",children:[l.jsx("span",{className:"inline-block h-2 w-2 rounded-full bg-mono-500 animate-pulse"}),"Run queued, waiting for execution slot..."]}):Ae&&Ae.error?l.jsxs("div",{className:"rounded-lg border border-negative-800/40 bg-negative-950/20 p-3",children:[l.jsx("p",{className:"text-sm font-medium text-negative mb-2",children:"Run failed"}),l.jsx("pre",{className:"max-h-48 overflow-y-auto whitespace-pre-wrap break-words font-mono text-xs leading-5 text-negative",children:VH(Ae.error)})]}):ce.kind!==De["answer-visibility"]?l.jsx("p",{className:"text-sm text-secondary",children:ce.status===jt.completed?"Run completed.":ce.status===jt.partial?"Run completed with partial results.":ce.status===jt.cancelled?"Run cancelled.":ce.status===jt.failed?"Run failed.":"No run details available."}):l.jsx("p",{className:"text-sm text-muted",children:"No snapshot data available."})]})]}):null,E&&!Nt?l.jsx(Cd,{open:!0,title:Pe?"Loading answer":"Answer unavailable",subtitle:"Query evidence",onClose:P,children:Pe?l.jsx("p",{role:"status",className:"text-sm text-secondary",children:"Loading answer…"}):l.jsxs(l.Fragment,{children:[l.jsx("p",{role:"alert",className:"text-sm text-secondary",children:Ne||st?"Could not load this answer.":"This answer is not in the available query evidence."}),l.jsx(le,{type:"button",variant:"outline",onClick:()=>{$e()},children:"Retry"})]})}):null,Nt?l.jsx(aY,{evidence:Nt.evidence,project:Nt.project,onClose:P}):null,l.jsx(YX,{}),l.jsx(VY,{}),f?l.jsx($X,{}):null]})]})}class JX extends C.Component{state={error:null};static getDerivedStateFromError(n){return{error:n}}componentDidCatch(n,i){console.error("[ErrorBoundary]",n,i.componentStack),om({kind:"render",error:n,component:this.props.name??"root"})}handleReset=()=>{this.setState({error:null})};render(){return this.state.error?l.jsx("div",{className:"page-container",children:l.jsxs("div",{className:"flex flex-col items-center justify-center gap-4 py-20 text-center",children:[l.jsx("div",{className:"rounded-full bg-negative-950/40 p-3",children:l.jsx(fm,{className:"size-6 text-negative-400"})}),l.jsx("h2",{className:"text-lg font-semibold text-heading",children:"Something went wrong"}),l.jsx("p",{className:"text-sm text-secondary max-w-md",children:this.state.error.message||"An unexpected error occurred while rendering this page."}),l.jsxs("div",{className:"flex gap-3 mt-2",children:[l.jsxs(le,{variant:"secondary",size:"sm",onClick:this.handleReset,children:[l.jsx(c6,{className:"size-3.5 mr-1.5"}),"Try again"]}),l.jsx(le,{variant:"secondary",size:"sm",onClick:()=>{const n=window.__CANONRY_CONFIG__?.basePath?.replace(/\/$/,"")??"";window.location.href=n||"/"},children:"Go home"})]})]})}):this.props.children}}const _a=C.forwardRef(({className:e,...n},i)=>l.jsx("div",{ref:i,className:Da("rounded-xl border border-base bg-bg/75 shadow-[0_0_0_1px_var(--color-shadow-hairline)]",e),...n}));_a.displayName="Card";const Er=C.forwardRef(({className:e,...n},i)=>l.jsx("div",{ref:i,className:Da("flex flex-col gap-1.5 p-5",e),...n}));Er.displayName="CardHeader";const wC=C.forwardRef(({className:e,...n},i)=>l.jsx("h3",{ref:i,className:Da("font-medium tracking-tight text-primary",e),...n}));wC.displayName="CardTitle";const pm=C.forwardRef(({className:e,...n},i)=>l.jsx("p",{ref:i,className:Da("text-sm text-muted",e),...n}));pm.displayName="CardDescription";const vo=C.forwardRef(({className:e,...n},i)=>l.jsx("div",{ref:i,className:Da("p-5 pt-0",e),...n}));vo.displayName="CardContent";function Pg({disabled:e,title:n,...i}){const{canWrite:r}=fa();return r?l.jsx(le,{disabled:e,title:n,...i}):l.jsx(le,{...i,disabled:!0,title:ON})}function O1({title:e,children:n}){const{isAdmin:i}=fa();return i?l.jsx(l.Fragment,{children:n}):l.jsxs(_a,{className:"surface-card mx-auto mt-8 max-w-lg",children:[l.jsxs(Er,{children:[l.jsxs(wC,{children:[e," is for administrators"]}),l.jsx(pm,{children:"Your account has view-only access. You can read everything this install has measured; changing how it is set up needs an administrator account."})]}),l.jsx(vo,{children:l.jsx("p",{className:"supporting-copy",children:"If you need to make a change here, ask an administrator on this install."})})]})}function ese(e,n,i){return{mode:n,scope:e.measurementScope,scopeKey:e.measurementScopeKey,marketKey:e.marketKey,queryClass:e.queryClass==="non-brand"?"non-brand":"branded",provider:e.provider,model:e.model,location:e.location,runId:e.measurementRunId,revision:e.revision,evaluationDefinitionId:i}}function tse(e,n,i){const r=[...new Set(n.filter(u=>!i||u.provider===i).map(u=>u.sourceRunId).filter(u=>!!u))].sort();return{...e,mode:"simple",scope:"project",scopeKey:void 0,marketKey:void 0,provider:i||void 0,model:void 0,revision:void 0,runId:r.length===1?r[0]:void 0,runIds:r.length>1?r:void 0}}function Nc(e,n,i,r){return["sentiment",e,n,i??null,r??null]}const kC=5e3,WX=new Set(["pending","running","waiting-to-retry"]);function nS(e){return WX.has(e.state)}function eJ(e){const n=e?.coverage.counts;return!!(n&&n.pending+n.running+n["waiting-to-retry"]>0)}function tJ(e,n){return eJ(e)||n?kC:!1}function nJ(e,n,i=!0){const r=yt({queryKey:Nc(e,"settings"),queryFn:()=>Pd(e),retry:!1,staleTime:0,refetchOnWindowFocus:"always"}),u=yt({queryKey:Nc(e,"jobs"),queryFn:()=>vH(e),enabled:!!r.data?.actions.configure,retry:!1,refetchOnWindowFocus:"always",refetchInterval:x=>x.state.data?.jobs.some(nS)?kC:!1}),h=!!u.data?.jobs.some(nS),f=x=>{const k={...n,queryClass:x};return{queryKey:Nc(e,"summary",k),queryFn:()=>hH(e,k),enabled:i&&!!(r.data?.enabled&&r.data.installEnabled),retry:!1,staleTime:0,refetchOnWindowFocus:"always",refetchInterval:S=>tJ(S.state.data,h)}},b=yt(f("branded")),v=yt(f("non-brand"));return{settings:r,branded:b,nonBrand:v,jobs:u}}const Bi={branded:"Branded","non-brand":"Non-brand"},P1=10;function q1(e){return e>=P1}const Xe={states:{disabled:"Sentiment is off.","not-measured":"No ratings yet.",processing:"Analyzing sentiment…",canceled:"Analysis canceled.",partial:"Partial results.",failed:"Analysis failed.",complete:"Analysis complete.",unsupported:"Sentiment unavailable."},noJudgments:"No ratings available.",tooFew:"too few",minRated:`Shown from ${P1} ratings`,partial:"Partial results",columns:{favorable:"Favorable",rated:"With opinion"},title:"Sentiment",subtitle:"How AI answers describe you in queries that name you",rated:"Share of answers that give an opinion (favorable, mixed or unfavorable) about who they name",noAnswers:"No answers yet",ratedUnavailable:"Unavailable",details:{ratedAnswers:"Answers with an opinion",unadmitted:"Checks not yet analyzed",checksCaption:"Not counted in the favorable share:",interval:"Likely range (95%)"},nonBrand:{label:"Non-brand queries",none:"No unfavorable or mixed answers in non-brand queries.",noneSoFar:"No unfavorable or mixed answers in non-brand queries so far.",notRated:"Non-brand answers are not rated yet.",view:"View answers",evidence:"Non-brand queries, unfavorable and mixed",rowNone:"No unfavorable or mixed answers",rowLabel:"Unfavorable or mixed",help:"A non-brand answer almost always names you to recommend you, so its favorable share is near 100% and says little. Sentiment is measured on branded queries; unfavorable or mixed answers to non-brand queries are listed here when they happen."},properties:{title:"Most criticized properties",evidence:"unfavorable and mixed",viewAll:"View all unfavorable and mixed answers",allEvidence:"Branded queries, unfavorable and mixed"},overall:"Favorable share of ratings in answers to branded queries. Each saved answer-subject assessment counts once. Answers with no opinion, or where it is unclear who they name, are left out.",favorable:"The favorable share of favorable, mixed and unfavorable ratings in answers to branded queries. Each rating covers one subject named in an answer; answers with no opinion are left out."},Cc="—",aJ={factual:"Named, no opinion","subject-not-mentioned":"Not named in the answer","wrong-subject":"Named someone else","ambiguous-subject":"Unclear which one was meant","ambiguous-judgment":"Opinion unclear","subject-not-applicable":"Not applicable","unsupported-language":"Not in English","missing-source-text":"No answer text","input-too-large":"Answer too long to rate","invalid-conclusion-evidence":"Rating set aside",pending:"Waiting to be rated",running:"Being rated","waiting-to-retry":"Retrying"};function Hi(e){return aJ[e]??e.replaceAll("-"," ").replace(/^./,n=>n.toUpperCase())}const To=["favorable","mixed","unfavorable"];function SC(e){return e==="favorable"?"positive":e==="unfavorable"?"negative":e==="mixed"?"caution":"neutral"}const Pc=["mixed","unfavorable"];function jC(e){return e.interval?`${em(e.interval.low,Ka.fraction)} to ${em(e.interval.high,Ka.fraction)}`:null}const Xm={favorable:"progress-fill-info",mixed:"progress-fill-caution",unfavorable:"progress-fill-negative"};function Bd(e){return`${e} ${e===1?"rating":"ratings"}`}function Jm(e){return e.score.favorableRate!==null&&e.coverage.judged>0}function qg(e){return e.state==="complete"&&!e.provisional&&e.coverage.unadmittedAssessments===0}function AC(e){return e.state==="complete"?Xe.partial:Xe.states[e.state]}function M1(e){return e?Jm(e)&&q1(e.coverage.judged):!1}function iJ({value:e,label:n}){const{counts:i,judged:r}=e.coverage;if(!Jm(e))return l.jsx("div",{className:"sentiment-bar sentiment-bar-track","data-sentiment-bar":"empty","aria-hidden":"true"});const u=To.map(h=>`${i[h]} ${h}`).join(", ");return M1(e)?l.jsx("div",{role:"img","aria-label":`${n}: ${u}, ${e.score.favorableDisplay} favorable of ${Bd(r)}`,className:"sentiment-bar","data-sentiment-bar":"rated",children:To.filter(h=>i[h]>0).map(h=>l.jsx("span",{"data-outcome":h,className:`sentiment-bar-segment ${Xm[h]}`,style:{flexGrow:i[h]},title:`${Hi(h)}: ${i[h]} of ${Bd(r)}`},h))}):l.jsx("div",{role:"img","aria-label":`${n}: ${u}, ${Bd(r)}, favorable share ${Xe.minRated.toLowerCase()}`,className:"sentiment-bar sentiment-bar-track","data-sentiment-bar":"too-few"})}function sJ({value:e,label:n}){const{counts:i,judged:r}=e.coverage;return l.jsx("div",{role:"img","aria-label":`${n}: ${To.map(u=>`${i[u]} ${u}`).join(", ")}, ${Bd(r)}`,className:"sentiment-property-bar",children:To.filter(u=>i[u]>0).map(u=>l.jsx("span",{"data-outcome":u,className:`sentiment-bar-segment ${Xm[u]}`,style:{flexGrow:i[u]}},u))})}function oJ(e){const n=new Map(e.breakdowns.filter(i=>i.dimension==="property").map(i=>[i.key,i]));return(e.criticizedProperties?.keys??[]).flatMap(i=>n.get(i)??[])}function rJ({value:e,label:n}){return l.jsx("div",{role:"group","aria-label":`${n} favorable share`,className:"sentiment-class-favorable",children:M1(e)?l.jsx("span",{className:"sentiment-class-share",children:e.score.favorableDisplay}):l.jsxs(l.Fragment,{children:[l.jsx("span",{"aria-hidden":"true",className:"sentiment-class-empty",title:Xe.minRated,children:Cc}),l.jsx("span",{className:"sr-only",children:Xe.minRated})]})})}function lJ({ratedAnswers:e=0,eligibleAnswers:n=0}){return`${e} of ${n} ${n===1?"answer":"answers"} rated`}function cJ(e){const{eligibleAnswers:n}=e;return n===void 0?{display:Cc,detail:Xe.ratedUnavailable,empty:!0}:n<=0?{display:Cc,detail:Xe.noAnswers,empty:!0}:e.ratedAnswerRate===null||e.ratedAnswerRate===void 0?{display:Cc,detail:Xe.states.disabled,empty:!0}:{display:em(e.ratedAnswerRate,Ka.fraction),detail:lJ(e),empty:!1}}function uJ({coverage:e,label:n}){const{display:i,detail:r,empty:u}=cJ(e);return l.jsxs("div",{role:"group","aria-label":`${n} share rated`,className:"sentiment-class-ratings",children:[l.jsx("span",{"aria-hidden":"true",className:u?"sentiment-class-empty":void 0,title:r,children:i}),l.jsx("span",{className:"sr-only",children:u?r:`${i}, ${r}`})]})}function dJ({value:e}){return Jm(e)?e.provisional?l.jsx("p",{className:"sentiment-class-note text-caution",children:Xe.partial}):null:l.jsx("p",{className:"sentiment-class-note",children:e.state==="complete"?Xe.noJudgments:Xe.states[e.state]})}function mJ(e){return!!(e.coverage.selected||e.coverage.eligibleAssessments||e.reason)}function pJ({value:e,queryClass:n,open:i,setOpenClass:r}){const u=C.useContext(ui),h=C.useId(),f=C.useId(),b=C.useId(),v=C.useRef(null),x=C.useRef(null),k=C.useCallback(()=>r(E=>E===n?null:E),[r,n]);C.useEffect(()=>{if(!i)return;const E=$=>$ instanceof Node&&!!(v.current?.contains($)||x.current?.contains($)),P=$=>{E($.target)||k()},M=$=>{E($.target)||k()},L=$=>{$.key==="Escape"&&(k(),v.current?.focus())};return document.addEventListener("pointerdown",P),document.addEventListener("focusin",M),document.addEventListener("keydown",L),()=>{document.removeEventListener("pointerdown",P),document.removeEventListener("focusin",M),document.removeEventListener("keydown",L)}},[i,k]);const{coverage:S,score:N}=e,_=jC(N),z=S.judged>0&&!q1(S.judged),q=n==="branded"?oJ(e):[];return mJ(e)?l.jsxs(l.Fragment,{children:[l.jsx("button",{ref:v,type:"button",className:"sentiment-class-details-toggle","aria-label":`${Bi[n]} details`,"aria-expanded":i,"aria-controls":h,onClick:()=>r(E=>E===n?null:n),children:l.jsx(Mc,{className:"sentiment-class-details-chevron","aria-hidden":"true"})}),l.jsxs("div",{ref:x,id:h,role:"group","aria-labelledby":f,className:"sentiment-class-details",hidden:!i,children:[l.jsx("p",{id:f,className:"sentiment-class-details-title",children:Bi[n]}),l.jsxs("dl",{className:"sentiment-details-list",children:[(S.eligibleAnswers??0)>0&&l.jsxs("div",{children:[l.jsx("dt",{children:Xe.details.ratedAnswers}),l.jsxs("dd",{children:[S.ratedAnswers??0," of ",S.eligibleAnswers]})]}),z&&To.filter(E=>S.counts[E]>0).map(E=>l.jsxs("div",{children:[l.jsx("dt",{children:Hi(E)}),l.jsx("dd",{children:S.counts[E]})]},E)),z&&l.jsxs("div",{children:[l.jsx("dt",{children:"Favorable share"}),l.jsx("dd",{children:Xe.minRated})]}),_&&l.jsxs("div",{children:[l.jsxs("dt",{children:[Xe.details.interval," ",l.jsx(ca,{text:N.limitation,placement:"bottom"})]}),l.jsx("dd",{children:_})]})]}),u&&q.length>0&&l.jsxs("div",{className:"sentiment-details-properties",role:"group","aria-labelledby":b,children:[l.jsxs("p",{id:b,className:"sentiment-details-subtitle",children:[Xe.properties.title,e.criticizedProperties&&e.criticizedProperties.total>q.length?l.jsxs("span",{className:"sentiment-details-subtitle-count",children:[" · ",q.length," of ",e.criticizedProperties.total]}):null]}),l.jsx("ul",{children:q.map(E=>l.jsxs("li",{className:"sentiment-property",children:[l.jsx("button",{type:"button",className:"sentiment-property-name","aria-label":`View ${Xe.properties.evidence} answers for ${E.label}`,onClick:()=>{if(!v.current)return;const P=Mg(u,e);u.openEvidence({...P,queryClass:n,scope:"property",scopeKey:E.key,marketKey:P.scope==="market"?P.scopeKey:P.marketKey,outcome:Pc},`${E.label}, ${Xe.properties.evidence}`,v.current)},children:E.label}),l.jsxs("span",{className:"sentiment-property-count",children:[E.coverage.counts.favorable," of ",E.coverage.judged," favorable"]}),l.jsx(sJ,{value:E,label:E.label})]},E.key))}),l.jsx("button",{type:"button",className:"sentiment-property-name sentiment-details-view-all",onClick:()=>{v.current&&u.openEvidence({...Mg(u,e),queryClass:n,outcome:Pc},Xe.properties.allEvidence,v.current)},children:Xe.properties.viewAll})]}),(S.unadmittedAssessments>0||Object.entries(S.counts).some(([E,P])=>P>0&&!To.includes(E)))&&l.jsx("p",{className:"sentiment-details-caption",children:Xe.details.checksCaption}),l.jsxs("dl",{className:"sentiment-details-list",children:[S.unadmittedAssessments>0&&l.jsxs("div",{children:[l.jsx("dt",{children:Xe.details.unadmitted}),l.jsx("dd",{children:S.unadmittedAssessments})]}),Object.entries(S.counts).filter(([E,P])=>P>0&&!["favorable","mixed","unfavorable"].includes(E)).map(([E,P])=>l.jsxs("div",{children:[l.jsx("dt",{children:Hi(E)}),l.jsx("dd",{children:P})]},E))]}),e.reason&&l.jsx("p",{className:"sentiment-class-details-reason",children:e.reason})]})]}):null}function B1(e){return!!(e?.configured&&e.branded.coverage.judged>0&&e.branded.score.favorableRate!==null)&&!Vm()}function hJ({value:e}){if(!B1(e))return null;const n=e.branded,i=n.coverage.judged,r=jC(n.score),u=`${Xe.overall} ${i} of ${n.coverage.selected} judged${r?`, 95% interval ${r}`:""}. ${n.provisional?"Provisional. ":""}${Xe.states[n.state]}${n.reason?` ${n.reason}`:""}`;return l.jsx("div",{className:"project-row-stat","data-sentiment-score":!0,children:l.jsxs("div",{className:"metric-inline-block",children:[l.jsxs("div",{className:"flex items-center gap-1",children:[l.jsx("p",{className:"metric-inline-label",children:"Sentiment"}),l.jsx("span",{className:"relative z-10",children:l.jsx(ca,{text:u,placement:"bottom"})})]}),q1(i)?l.jsxs("p",{className:"metric-inline-value",children:[n.score.favorableDisplay,l.jsx("span",{className:"sr-only",children:" favorable judgments, branded queries"})]}):l.jsxs("p",{className:"metric-inline-value text-secondary",children:[Xe.tooFew,l.jsxs("span",{className:"sr-only",children:[" ratings for a favorable share, ",i," of ",P1," needed, branded queries"]})]}),l.jsx("p",{className:"metric-inline-caption","aria-hidden":"true"})]})})}const ui=C.createContext(null);function Mg(e,n){const{selection:i}=n;return{...e.selection,...i,runId:i.runId??void 0,runIds:i.runId?void 0:i.runIds,revision:i.revision??void 0,evaluationDefinitionId:i.evaluationDefinitionId??void 0}}function nse(){return C.useContext(ui)?.configured??!1}function ase({projectName:e,selection:n,runOptions:i=[],waitForResolvedRun:r=!1,evidenceReady:u=!0,hasSourceEvidence:h=!0,children:f}){return l.jsx(fJ,{projectName:e,selection:n,runOptions:i,waitForResolvedRun:r,evidenceReady:u,hasSourceEvidence:h,children:f})}function fJ({projectName:e,selection:n,runOptions:i,waitForResolvedRun:r,evidenceReady:u,hasSourceEvidence:h,children:f}){const b=JSON.stringify([e,n]),[v,x]=C.useState(null),k=C.useCallback(qe=>x(Ae=>Ae?.key===b&&Ae?.runId===qe?.runId&&Ae?.revision===qe?.revision?Ae:qe?{...qe,key:b}:null),[b]),S=u&&(!r||v?.key===b),N=r&&S&&v?{...n,runId:v.runId,revision:v.revision}:n,_=JSON.stringify([e,N]),{settings:z,branded:q,nonBrand:E,jobs:P}=nJ(e,N,S&&h),[M,L]=C.useState(!1),[$,H]=C.useState(null),J=C.useRef(null);C.useEffect(()=>{L(!1),H(null)},[_]);const V=S&&!!(z.data?.enabled&&z.data.installEnabled),ae=(n.queryClass==="non-brand"?E.data:q.data)?.selection,Fe={...N,...ae?{...ae,runId:ae.runId??void 0,runIds:ae.runId?void 0:ae.runIds,revision:ae.revision??void 0,evaluationDefinitionId:ae.evaluationDefinitionId??void 0}:{}},We=Fe.runId&&!i.some(qe=>qe.id===Fe.runId)?[{id:Fe.runId,label:"Displayed sweep"},...i]:i,Ve=qe=>{qe.preventDefault(),J.current?.focus()};return l.jsxs(ui.Provider,{value:{projectName:e,selection:N,resolveSource:k,settings:z,summaries:{branded:q,"non-brand":E},configured:V,hasSourceEvidence:h,openManage:qe=>{J.current=qe,L(!0)},openEvidence:(qe,Ae,Le)=>{J.current=Le,H({selection:qe,label:Ae})}},children:[f,l.jsx(_g,{open:M&&!!z.data?.actions.configure,onOpenChange:L,children:l.jsxs(um,{onCloseAutoFocus:Ve,className:"overflow-y-auto",children:[l.jsxs(Tg,{children:[l.jsx(dm,{children:"Manage sentiment"}),l.jsx(mm,{children:"Classify saved answers and review the cost before submitting a backfill."})]}),z.data?.actions.configure&&l.jsx(_J,{projectName:e,settings:z.data,selection:Fe,runOptions:We},JSON.stringify([z.data.evaluationDefinitionId,z.data.enabled,z.data.enablementEpoch])),P.data&&l.jsx(SJ,{projectName:e,jobs:P.data.jobs})]})}),l.jsx(_g,{open:$!==null,onOpenChange:qe=>{qe||H(null)},children:l.jsxs(um,{onCloseAutoFocus:Ve,className:"overflow-y-auto",children:[l.jsxs(Tg,{children:[l.jsxs(dm,{children:["Sentiment evidence",$?`: ${$.label}`:""]}),l.jsx(mm,{children:"Stored judgments and exact quotations for the selected query and scope."})]}),$&&l.jsx(xJ,{projectName:e,selection:$.selection},JSON.stringify($.selection))]})})]})}function ise(e,n){const i=C.useContext(ui)?.resolveSource;C.useEffect(()=>{i?.(e?{runId:e,revision:void 0}:null)},[i,e,n])}function aS(){const e=C.useContext(ui);return e?.settings.data?.actions.configure?l.jsx(Pg,{type:"button",variant:"outline",size:"sm",onClick:n=>e.openManage(n.currentTarget),children:e.settings.data.enabled?"Manage sentiment":"Enable sentiment"}):null}function NC(e,n){return!e?.configured||n==="unknown"||n==="unclassified"?null:["branded"]}function gJ({queryClass:e="all"}){const n=C.useContext(ui),i=NC(n,e);return!n?.hasSourceEvidence||!i?.some(r=>M1(n.summaries[r].data))?null:l.jsx("ul",{className:"sentiment-legend","aria-hidden":"true",children:To.map(r=>l.jsxs("li",{children:[l.jsx("span",{className:`sentiment-legend-swatch ${Xm[r]}`}),Hi(r)]},r))})}function yJ({queryClass:e}){const n=C.useContext(ui);if(!n?.hasSourceEvidence)return null;const i=n.summaries["non-brand"],r=i.data,u=e==="non-brand";if(!r)return u?i.isError?l.jsxs("p",{role:"alert",className:"sentiment-nonbrand-note",children:["Couldn’t load non-brand sentiment. ",l.jsx(le,{variant:"ghost",onClick:()=>{i.refetch()},children:"Retry"})]}):l.jsx("p",{role:"status",className:"sentiment-nonbrand-note",children:"Loading non-brand sentiment…"}):null;const h=r.coverage.counts;return h.unfavorable===0&&h.mixed===0?u?qg(r)?l.jsx("p",{className:"sentiment-nonbrand-note",children:Xe.nonBrand.none}):Jm(r)?l.jsx("p",{className:"sentiment-nonbrand-note",children:Xe.nonBrand.noneSoFar}):l.jsx("p",{className:"sentiment-nonbrand-note",children:r.state==="not-measured"?Xe.nonBrand.notRated:`${Xe.nonBrand.label}: ${AC(r)}`}):null:l.jsx("div",{className:"sentiment-nonbrand",role:"group","aria-label":Xe.nonBrand.label,children:l.jsxs("div",{className:"sentiment-nonbrand-line",children:[l.jsxs("span",{className:"sentiment-nonbrand-label",children:[Xe.nonBrand.label,l.jsx(ca,{text:Xe.nonBrand.help})]}),l.jsxs("span",{className:"sentiment-nonbrand-counts",children:[Pc.slice().reverse().filter(f=>h[f]>0).map(f=>l.jsxs("span",{children:[l.jsx("span",{"aria-hidden":"true",className:`sentiment-legend-swatch ${Xm[f]}`}),h[f]," ",f]},f)),!qg(r)&&l.jsx("span",{className:"text-caution",children:Xe.partial})]}),l.jsx(le,{type:"button",variant:"outline",size:"sm",onClick:f=>n.openEvidence({...Mg(n,r),queryClass:"non-brand",outcome:Pc},Xe.nonBrand.evidence,f.currentTarget),children:Xe.nonBrand.view})]})})}function sse({queryClass:e="all",legend:n=!0,manage:i=!1}){const r=C.useContext(ui),u=NC(r,e),[h,f]=C.useState(null);if(!r)return null;if(!u){const v=r.settings.data;return!i||!v?.actions.configure?null:l.jsxs("div",{className:"sentiment-headlines-title",children:[l.jsxs("div",{children:[l.jsx("h3",{className:"sentiment-headlines-heading",children:Xe.title}),!(v.enabled&&v.installEnabled)&&l.jsx("p",{className:"sentiment-headlines-subtitle",children:Xe.states.disabled})]}),l.jsx(aS,{})]})}const b=r.hasSourceEvidence&&u.some(v=>r.summaries[v].data);return l.jsxs("div",{className:"sentiment-headlines",role:"group","aria-label":"Favorable answer scores",children:[l.jsxs("div",{className:"sentiment-headlines-title",children:[l.jsxs("div",{children:[l.jsx("h3",{className:"sentiment-headlines-heading",children:Xe.title}),l.jsx("p",{className:"sentiment-headlines-subtitle",children:Xe.subtitle})]}),i&&l.jsx(aS,{})]}),n&&l.jsx(gJ,{queryClass:e}),b&&l.jsxs("div",{className:"sentiment-headlines-columns","aria-hidden":"true",children:[l.jsx("span",{className:"sentiment-headlines-favorable",children:Xe.columns.favorable}),l.jsx("span",{className:"sentiment-headlines-ratings",title:Xe.rated,children:Xe.columns.rated})]}),u.map(v=>{const x=r.summaries[v];return l.jsxs("div",{className:"sentiment-class","data-query-class":v,children:[l.jsxs("div",{className:"sentiment-class-label",children:[l.jsx("span",{children:Bi[v]}),l.jsx(ca,{text:Xe.favorable})]}),r.hasSourceEvidence?x.data?l.jsxs(l.Fragment,{children:[l.jsx(iJ,{value:x.data,label:Bi[v]}),l.jsx(rJ,{value:x.data,label:Bi[v]}),l.jsx(uJ,{coverage:x.data.coverage,label:Bi[v]}),l.jsx(dJ,{value:x.data}),l.jsx(pJ,{value:x.data,queryClass:v,open:h===v,setOpenClass:f})]}):x.isError?l.jsxs("p",{role:"alert",className:"sentiment-class-status",children:["Couldn’t load sentiment. ",l.jsx(le,{variant:"ghost",onClick:()=>{x.refetch()},children:"Retry"})]}):l.jsx("p",{role:"status",className:"sentiment-class-status",children:"Loading sentiment…"}):l.jsx("p",{className:"sentiment-class-status",children:"No saved answers."})]},v)}),e!=="branded"&&l.jsx(yJ,{queryClass:e})]})}function ose({queryId:e,sourceSnapshotIds:n=[],queryClass:i,location:r,showLabel:u=!1}){const h=C.useContext(ui);if(!h?.configured)return null;const f=i?h.summaries[i]:void 0,b=h.hasSourceEvidence?f?.data:void 0,v=b?.queries.filter(N=>N.queryClass===i&&(e?N.queryId===e:n.length>0)&&n.every(_=>N.sourceSnapshotIds.includes(_)))??[],x=v.length===1?v[0]:void 0,k=r===void 0?x:x?.locations.find(N=>N.location===r);if(!x||!k)return l.jsx("span",{className:"text-sm text-secondary",children:h.hasSourceEvidence&&f?.isPending&&(e||n.length)?"Loading…":"Unavailable"});const S={...h.selection,...b.selection,runId:b.selection.runId??void 0,runIds:b.selection.runId?void 0:b.selection.runIds,revision:b.selection.revision??void 0,evaluationDefinitionId:b.selection.evaluationDefinitionId??void 0,queryClass:x.queryClass,queryId:x.queryId,executionNodeKey:x.executionNodeKey??void 0,...r===void 0?{}:{location:r??"none"}};if(x.queryClass==="non-brand"){if(k.state==="unsupported")return l.jsx("span",{className:"text-sm text-secondary",children:"Unavailable"});const{unfavorable:N,mixed:_}=k.coverage.counts;if(N===0&&_===0){const z=u&&l.jsx("span",{className:"block text-sm font-normal text-secondary",children:Xe.nonBrand.rowLabel});return qg(k)?l.jsxs("span",{className:"text-sm text-muted",children:[z,l.jsx("span",{"aria-hidden":"true",title:Xe.nonBrand.rowNone,children:Cc}),l.jsx("span",{className:"sr-only",children:Xe.nonBrand.rowNone})]}):l.jsxs("span",{className:"text-sm text-secondary",children:[z,l.jsx("span",{children:AC(k)})]})}return l.jsxs(le,{type:"button",variant:"ghost",className:"h-auto min-h-11 flex-col items-start gap-0 px-1","aria-label":`View unfavorable and mixed answers for ${x.queryText}`,onKeyDown:z=>z.stopPropagation(),onClick:z=>{z.stopPropagation(),h.openEvidence({...S,outcome:Pc},`${x.queryText}, unfavorable and mixed`,z.currentTarget)},children:[u&&l.jsx("span",{className:"text-sm font-normal text-secondary",children:Xe.nonBrand.rowLabel}),N>0&&l.jsxs("span",{className:"text-sm text-negative",children:[N," unfavorable"]}),_>0&&l.jsxs("span",{className:"text-sm text-caution",children:[_," mixed"]}),k.provisional&&l.jsx("span",{className:"text-xs font-normal text-caution",children:"Provisional"})]})}return l.jsxs(le,{type:"button",variant:"ghost",className:"h-auto min-h-11 flex-col items-start gap-0 px-1","aria-label":`View ${Bi[x.queryClass]} sentiment evidence for ${x.queryText}`,onKeyDown:N=>N.stopPropagation(),onClick:N=>{N.stopPropagation(),h.openEvidence(S,x.queryText,N.currentTarget)},children:[u&&l.jsx("span",{className:"text-sm font-normal text-secondary",children:"Favorable"}),l.jsx("span",{className:"font-mono text-primary",children:k.score.favorableDisplay}),l.jsxs("span",{className:"text-sm font-normal text-secondary",children:[k.coverage.judged," judged"]}),k.provisional&&l.jsx("span",{className:"text-xs font-normal text-caution",children:"Provisional"})]})}function bJ(e){return e.outcome==="subject-not-mentioned"?"Not mentioned":e.outcome==="running"?"Classifying":e.outcome==="waiting-to-retry"?"Retrying":e.outcome?Hi(e.outcome):e.state==="not-measured"?"Not classified":e.state==="processing"?"Classifying":e.state==="failed"?"Failed":e.state==="canceled"?"Canceled":"Unavailable"}function rse({queryId:e,sourceSnapshotIds:n,queryClass:i,provider:r,model:u,location:h,showSubjects:f=!1,showLabel:b=!1}){const v=C.useContext(ui);if(!v?.configured)return null;const x=i?v.summaries[i]:void 0,k=v.hasSourceEvidence?x?.data:void 0,S=k?.queries.filter(z=>z.queryClass===i&&(!e||z.queryId===e)&&n.length>0&&n.every(q=>z.sourceSnapshotIds.includes(q)))??[],N=S.length===1?S[0]:void 0,_=N?.assessments?.filter(z=>n.includes(z.sourceSnapshotId)&&z.provider===r&&z.location===h&&(u===void 0||z.servedModel===u))??[];return l.jsxs("div",{role:"group",className:"text-sm text-secondary","aria-label":`${r||"Saved answer"} sentiment`,children:[b&&l.jsx("span",{className:"block text-sm text-secondary",children:"Sentiment"}),_.length?_.map(z=>{const q=bJ(z),E=SC(z.outcome),P=l.jsxs(l.Fragment,{children:[f&&l.jsxs("span",{children:[z.subjectLabel," · "]}),l.jsx(xn,{tone:E,className:"max-w-full shrink-0 rounded-none border-0 bg-transparent p-0 text-sm font-normal tracking-normal [overflow-wrap:normal]",children:q})]}),M={...v.selection,...k.selection,runId:k.selection.runId??void 0,runIds:k.selection.runId?void 0:k.selection.runIds,revision:k.selection.revision??void 0,evaluationDefinitionId:k.selection.evaluationDefinitionId??void 0,queryClass:N.queryClass,queryId:N.queryId,executionNodeKey:N.executionNodeKey??void 0,assessmentId:z.assessmentId??void 0};return l.jsxs("div",{className:"flex items-center gap-1",children:[z.assessmentId?l.jsx(le,{type:"button",variant:"ghost",className:"h-auto min-h-11 flex-wrap justify-start whitespace-normal px-1 text-left text-sm","aria-label":`View ${z.provider} sentiment evidence for ${z.subjectLabel}: ${q}`,onKeyDown:L=>L.stopPropagation(),onClick:L=>{L.stopPropagation(),v.openEvidence(M,`${N.queryText} · ${z.provider} · ${z.subjectLabel}`,L.currentTarget)},children:P}):l.jsx("span",{children:P}),z.reason&&l.jsx(ca,{text:z.reason})]},JSON.stringify([z.sourceSnapshotId,z.subjectId,z.assessmentId]))}):l.jsx("span",{children:v.hasSourceEvidence&&x?.isPending&&n.length?"Loading…":"Unavailable"})]})}function vJ({item:e}){return l.jsxs("article",{className:"space-y-4 border-b border-default py-5 text-sm text-secondary",children:[l.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[l.jsx("strong",{className:"text-primary",children:e.subject.displayName}),l.jsx(xn,{tone:SC(e.outcome),children:Hi(e.outcome)}),l.jsx("span",{children:Bi[e.context.queryClass]}),l.jsx("span",{children:e.context.provider}),l.jsx("span",{children:e.context.servedModel??"Source model unavailable"}),l.jsx("span",{children:e.context.location??"No location"})]}),e.reason&&l.jsx("p",{children:e.reason}),l.jsxs("section",{children:[l.jsx("h3",{className:"mb-2 text-heading",children:"Conclusion evidence"}),e.conclusion.length?e.conclusion.map(n=>l.jsx("blockquote",{className:"mb-2 border-l border-strong pl-3 text-primary",children:n.text},`${n.id}:${n.start}`)):l.jsx("p",{children:"No valid conclusion evidence is available."})]}),l.jsxs("section",{children:[l.jsx("h3",{className:"mb-2 text-heading",children:"Complaint evidence"}),e.complaint?.length?e.complaint.map(n=>l.jsx("blockquote",{className:"mb-2 border-l border-strong pl-3 text-primary",children:n.text},`${n.id}:${n.start}`)):l.jsx("p",{children:"No complaint was identified."})]}),l.jsxs("details",{children:[l.jsx("summary",{className:"cursor-pointer",children:"Original source answer"}),l.jsx("p",{className:"mt-2 whitespace-pre-wrap break-words text-primary",children:e.sourceText})]}),l.jsxs("details",{children:[l.jsx("summary",{className:"cursor-pointer",children:"Assessment provenance"}),l.jsxs("dl",{className:"mt-3 space-y-2 break-all",children:[l.jsx("dt",{children:"Query"}),l.jsx("dd",{children:e.context.queryText}),l.jsx("dt",{children:"Subject"}),l.jsxs("dd",{children:[e.subject.displayName," (",e.subject.id,")"]}),l.jsx("dt",{children:"Run"}),l.jsx("dd",{children:e.runId}),l.jsx("dt",{children:"Revision"}),l.jsx("dd",{children:e.context.revision??"Unavailable"}),l.jsx("dt",{children:"Evaluator"}),l.jsx("dd",{children:e.returnedModel??"Unavailable"}),l.jsx("dt",{children:"Evaluation definition"}),l.jsx("dd",{children:e.evaluationDefinitionId}),l.jsx("dt",{children:"Source snapshot"}),l.jsx("dd",{children:e.sourceSnapshotId}),l.jsx("dt",{children:"Source hash"}),l.jsx("dd",{children:e.sourceTextHash}),e.context.usageEdges.map((n,i)=>l.jsxs("div",{children:[l.jsx("dt",{children:"Assignment"}),l.jsxs("dd",{children:["Target ",n.targetId,"; Property ",n.propertyId??"None","; market ",n.marketId??"None","; ",n.queryClass]})]},i))]})]})]})}function xJ({projectName:e,selection:n}){const[i,r]=C.useState(),u=yt({queryKey:Nc(e,"evidence",n,i),queryFn:()=>gH(e,n,i),retry:!1});return u.isPending?l.jsx("p",{role:"status",className:"mt-4 text-sm text-secondary",children:"Loading sentiment evidence…"}):u.isError?l.jsxs("p",{role:"alert",className:"mt-4 text-sm text-secondary",children:["Could not load sentiment evidence. ",l.jsx(le,{variant:"outline",onClick:()=>{u.refetch()},children:"Retry evidence"})]}):l.jsxs(l.Fragment,{children:[u.data.items.length?u.data.items.map(h=>l.jsx(vJ,{item:h},h.assessmentId)):l.jsx("p",{className:"mt-4 text-sm text-secondary",children:"No stored sentiment evidence for this query and scope."}),l.jsxs("div",{className:"mt-3 flex gap-2",children:[i&&l.jsx(le,{variant:"outline",onClick:()=>r(void 0),children:"First evidence page"}),u.data.nextCursor&&l.jsx(le,{variant:"outline",onClick:()=>r(u.data.nextCursor??void 0),children:"Next evidence page"})]})]})}function wJ({projectName:e,jobId:n}){const[i,r]=C.useState(),u=yt({queryKey:Nc(e,`job:${n}`,void 0,i),queryFn:()=>xH(e,n,i),retry:!1});return u.isPending?l.jsx("p",{role:"status",children:"Loading attempts…"}):u.isError?l.jsxs("p",{role:"alert",children:["Could not load attempts. ",l.jsx(le,{variant:"outline",onClick:()=>{u.refetch()},children:"Retry attempts"})]}):l.jsxs(l.Fragment,{children:[u.data.attempts.map(h=>l.jsxs("p",{children:[h.errorCode??"Request complete","; ",h.usage.kind==="unknown"?"Usage unknown":`${h.usage.inputTokens??"Unknown"} input tokens (${h.usage.kind})`]},h.id)),l.jsxs("div",{className:"mt-2 flex gap-2",children:[i&&l.jsx(le,{variant:"outline",onClick:()=>r(void 0),children:"Newest attempts"}),u.data.nextAttemptCursor&&l.jsx(le,{variant:"outline",onClick:()=>r(u.data.nextAttemptCursor??void 0),children:"Older attempts"})]})]})}function kJ({projectName:e,job:n}){const[i,r]=C.useState(!1);return l.jsxs("details",{onToggle:u=>r(u.currentTarget.open),children:[l.jsx("summary",{children:"Job details"}),n.cancellationReason&&l.jsx("p",{children:n.cancellationReason}),Object.entries(n.counts).filter(([,u])=>u>0).map(([u,h])=>l.jsxs("p",{children:[Hi(u),": ",h]},u)),l.jsxs("p",{children:["Attempts: ",n.attemptCount]}),i&&n.attemptCount>0&&l.jsx(wJ,{projectName:e,jobId:n.id})]})}function SJ({projectName:e,jobs:n}){return l.jsxs("details",{className:"mt-6 text-sm text-secondary",children:[l.jsx("summary",{className:"cursor-pointer",children:"Recent sentiment jobs"}),n.length===0?l.jsx("p",{className:"mt-2",children:"No sentiment jobs have been submitted."}):l.jsx("div",{className:"data-table-wrapper mt-3",children:l.jsxs("table",{className:"data-table","aria-label":"Sentiment jobs",children:[l.jsx("thead",{children:l.jsxs("tr",{children:[l.jsx("th",{children:"Submitted"}),l.jsx("th",{children:"State"}),l.jsx("th",{children:"Selected"}),l.jsx("th",{children:"Details"})]})}),l.jsx("tbody",{children:n.map(i=>l.jsxs("tr",{children:[l.jsx("td",{children:FH(i.createdAt)}),l.jsx("td",{children:Hi(i.state)}),l.jsx("td",{children:i.selected}),l.jsx("td",{children:l.jsx(kJ,{projectName:e,job:i})})]},i.id))})]})})]})}const jJ={probe:"Probe sweeps","unsupported-run-kind":"Not an answer sweep","failed-run":"Failed sweep","incomplete-run":"Incomplete sweep","legacy-missing-provenance":"Saved without its frozen query and subject record","legacy-missing-language":"Saved before the answer language was recorded","excluded-branded":"Branded answers (backfill that class separately)","excluded-non-brand":"Non-brand answers (backfill that class separately)"};function AJ(e){return jJ[e]??Hi(e)}function CC(e){return[e.provider&&`engine ${e.provider}`,e.model&&`model ${e.model}`,e.location&&(e.location==="none"?"no location":`location ${e.location}`),e.scope!=="project"&&e.scopeKey&&`${e.scope} ${e.scopeKey}`,e.marketKey&&`market ${e.marketKey}`,e.queryId&&`query ${e.queryId}`,e.revision!==void 0&&`revision ${e.revision}`].filter(n=>!!n)}function NJ(e){const n=CC(e);return[`${Bi[e.queryClass]} queries`,...n.length?n:["whole sweep"]].join(" · ")}function CJ(e,n,i,r){return r?{...e,queryClass:i,queryId:void 0,runIds:void 0,runId:n}:{mode:"auto",scope:"project",queryClass:i,runId:n}}function _J({projectName:e,settings:n,selection:i,runOptions:r}){const u=Ds(),[h,f]=C.useState(n.enabled),[b,v]=C.useState(i.runId??""),[x,k]=C.useState(i.queryClass),[S,N]=C.useState(!1),[_,z]=C.useState(null),q=C.useRef(null),E=CC({...i,queryId:void 0}),P=()=>u.invalidateQueries({queryKey:["sentiment",e]}),M=()=>{z(null),q.current=null},L=oi({mutationFn:async()=>{if(!(await Pd(e)).actions.configure)throw new Error("Administrator permission is required to configure sentiment.");return fH(e,{enabled:h})},onSuccess:async()=>{M(),await P(),await u.invalidateQueries({queryKey:["project-overview-slim"]})},onError:P}),$=oi({mutationFn:async()=>{if(!(await Pd(e)).actions.backfill)throw new Error("Administrator permission is required to backfill sentiment.");return yH(e,CJ(i,b,x,S&&E.length>0))},onSuccess:V=>{z(V),q.current=crypto.randomUUID()},onError:P}),H=oi({mutationFn:async()=>{if(!_?.previewToken||!q.current)throw new Error("Create and review a backfill preview first.");if(!(await Pd(e)).actions.backfill)throw new Error("Administrator permission is required to backfill sentiment.");return bH(e,_.previewToken,q.current)},onSuccess:async()=>{M(),await P()},onError:P}),J=L.isPending||$.isPending||H.isPending;return l.jsxs("div",{className:"mt-5 space-y-5 text-sm text-secondary",children:[l.jsx("p",{children:n.disclosure}),!n.ready&&l.jsx("p",{children:n.readinessReasons.join("; ")||"An operator must configure sentiment on this installation."}),l.jsxs("form",{className:"space-y-3",onSubmit:V=>{V.preventDefault(),L.mutate()},children:[l.jsxs("label",{className:"flex items-center gap-2",children:[l.jsx("input",{type:"checkbox",checked:h,disabled:J,onChange:V=>{f(V.target.checked),M()}}),"Enable project sentiment"]}),l.jsx("p",{children:"Enabling applies to future completed sweeps. Past sweeps require an explicit backfill."}),l.jsx(Pg,{type:"submit",disabled:J,children:L.isPending?"Saving…":"Save sentiment settings"}),L.isError&&l.jsx("p",{role:"alert",children:qi(L.error)}),L.isSuccess&&l.jsx("p",{role:"status",children:"Sentiment settings saved."})]}),n.actions.backfill&&l.jsxs("section",{className:"space-y-3",children:[l.jsx("h3",{children:"Backfill a saved sweep"}),l.jsxs("label",{className:"block",children:["Saved sweep",l.jsxs("select",{className:"mt-1 block w-full rounded-md border border-default bg-bg p-2 text-primary",value:b,disabled:J,onChange:V=>{v(V.target.value),M()},children:[l.jsx("option",{value:"",children:"Select a saved sweep"}),r.map(V=>l.jsx("option",{value:V.id,children:V.label},V.id))]})]}),l.jsxs("label",{className:"block",children:["Query class",l.jsxs("select",{className:"mt-1 block w-full rounded-md border border-default bg-bg p-2 text-primary",value:x,disabled:J,onChange:V=>{k(V.target.value),M()},children:[l.jsx("option",{value:"non-brand",children:"Non-brand"}),l.jsx("option",{value:"branded",children:"Branded"})]})]}),l.jsx("p",{children:"The backfill covers every engine, location and query of the chosen sweep for this query class."}),E.length>0&&l.jsxs("label",{className:"flex items-start gap-2",children:[l.jsx("input",{type:"checkbox",className:"mt-1",checked:S,disabled:J,onChange:V=>{N(V.target.checked),M()}}),l.jsxs("span",{children:["Limit to the current view",l.jsx("span",{className:"block",children:E.join(" · ")})]})]}),l.jsx(le,{variant:"outline",disabled:J||!b||!n.enabled||!n.ready,onClick:()=>{M(),$.mutate()},children:$.isPending?"Preparing preview…":"Preview sentiment backfill"}),$.isError&&l.jsx("p",{role:"alert",children:qi($.error)}),_&&l.jsxs("div",{className:"space-y-3",children:[l.jsxs("dl",{className:"grid grid-cols-[1fr_auto] gap-2",children:[l.jsx("dt",{children:"Selection"}),l.jsx("dd",{className:"text-right",children:NJ(_.selection)}),l.jsx("dt",{children:"Eligible assessments"}),l.jsx("dd",{children:_.eligibleAssessments}),l.jsx("dt",{children:"Already classified"}),l.jsx("dd",{children:_.alreadyClassified}),l.jsx("dt",{children:"Estimated input tokens"}),l.jsx("dd",{children:_.estimatedInputTokens}),l.jsx("dt",{children:"Estimated cost (USD)"}),l.jsx("dd",{children:_.estimatedCostUsd??"Unavailable"})]}),l.jsx(ca,{text:_.estimateMethod}),_.eligibleAssessments===0&&l.jsx("p",{children:"No saved answers in this selection can be classified."}),_.skipped.length>0&&l.jsxs("div",{children:[l.jsx("p",{children:"Not included:"}),l.jsx("ul",{"aria-label":"Skipped assessments",className:"list-disc pl-5",children:_.skipped.map(V=>l.jsxs("li",{children:[AJ(V.reason),": ",V.count]},`${V.runId}:${V.reason}`))})]}),l.jsx(Pg,{disabled:J||!_.previewToken||_.eligibleAssessments===0,onClick:()=>H.mutate(),children:H.isPending?"Submitting…":"Confirm sentiment backfill"})]}),H.isError&&l.jsxs("p",{role:"alert",children:[qi(H.error)," Retry uses the same request key."]}),H.isSuccess&&l.jsx("p",{role:"status",children:"Backfill submitted. Progress is available in Recent jobs."})]})]})}const TJ=20,EJ=6;function RJ({points:e,tone:n}){const i=C.useId();if(e.length===0)return null;const r=42,u=132,h=5,f=u-h*2,b=r-h*2,v=b-EJ,x=E=>h+E/Math.max(e.length-1,1)*f,k=PK(e),S=Math.min(...e),N=Math.max(...e),_=Math.max(N-S,TJ),z=(N+S)/2-_/2,q=e.map((E,P)=>({x:x(P),y:h+(1-(E-z)/_)*v}));return l.jsxs("svg",{className:`sparkline sparkline-${n}${k?" sparkline-provisional":""}`,viewBox:`0 0 ${u} ${r}`,"aria-hidden":"true",children:[l.jsx("defs",{children:l.jsx("clipPath",{id:i,children:l.jsx("rect",{x:h,y:h,width:f,height:b,rx:"8"})})}),l.jsx("line",{className:"sparkline-guide",x1:h,x2:u-h,y1:r-h,y2:r-h}),q.length===1?l.jsx("circle",{className:"sparkline-point",cx:q[0].x,cy:q[0].y,r:"3"}):l.jsx("polyline",{clipPath:`url(#${i})`,points:q.map(E=>`${E.x},${E.y}`).join(" "),vectorEffect:"non-scaling-stroke"})]})}function DJ({project:e,sentimentColumn:n}){return l.jsxs("div",{className:`project-row relative${n?" project-row-with-sentiment":""}`,children:[l.jsx("div",{className:"project-row-chart",children:l.jsx(RJ,{points:e.trend,tone:VN(e.lastRun.status)})}),l.jsxs("div",{className:"project-row-primary",children:[l.jsxs(tt,{to:"/projects/$projectName",params:{projectName:e.project.name},className:"after:absolute after:inset-0 after:rounded-xl focus-visible:outline-none focus-visible:after:ring-2 focus-visible:after:ring-mono-400",children:[l.jsx("p",{className:"project-name",children:e.project.name}),l.jsx("p",{className:"project-domain",children:e.project.canonicalDomain})]}),l.jsx("p",{className:"project-insight",children:e.insight})]}),l.jsx("div",{className:"project-row-stat",children:l.jsxs("div",{className:"metric-inline-block",children:[l.jsx("p",{className:"metric-inline-label",children:"Mentioned"}),l.jsx("p",{className:`metric-inline-value ${e.mentionTone==="caution"?"text-caution-400":""}`,children:e.hasMeasurement===!1?"Not measured":em(e.mentionScore,Ka.percent)}),l.jsx("p",{className:`metric-inline-caption${e.providerCoverage?" text-caution":""}`,title:e.providerCoverage,children:e.providerCoverage?l.jsxs(l.Fragment,{children:[l.jsx("span",{className:"sr-only",children:"Partial sweep: "}),e.providerCoverage]}):e.mentionDelta})]})}),l.jsx("div",{className:"project-row-stat",children:l.jsxs("div",{className:"metric-inline-block",children:[l.jsxs("p",{className:"metric-inline-label",children:[l.jsx("span",{"aria-hidden":"true",children:"Pressure"}),l.jsx("span",{className:"sr-only",children:"Competitor pressure"})]}),l.jsx("p",{className:"metric-inline-value",children:e.hasMeasurement===!1?"Not measured":e.competitorPressureLabel}),l.jsx("p",{className:"metric-inline-caption","aria-hidden":"true"})]})}),B1(e.sentiment)?l.jsx(hJ,{value:e.sentiment}):n&&l.jsx("div",{className:"project-row-stat","aria-hidden":"true","data-sentiment-placeholder":!0}),l.jsx("span",{className:"project-row-link",children:l.jsx(Lc,{className:"h-4 w-4 text-muted"})})]})}function zJ(){const{isAdmin:e}=fa(),n=au(),{dashboard:i,isLoading:r,isError:u,activityLoading:h,activityError:f,refetch:b}=Fm(),v=i??n?.dashboard,k=R1(!n,n?.health),{openRun:S}=D1();if(u&&!v)return l.jsxs("div",{className:"page-container",children:[l.jsx("div",{className:"page-header",children:l.jsxs("div",{className:"page-header-left",children:[l.jsx("h1",{className:"page-title",children:"Portfolio unavailable"}),l.jsx("p",{className:"page-subtitle",children:"Canonry could not load the project list."})]})}),l.jsxs("div",{className:"max-w-xl rounded-lg border border-negative bg-negative-soft p-4",role:"alert",children:[l.jsx("p",{className:"text-sm font-medium text-heading",children:"Your projects have not been changed."}),l.jsx("p",{className:"mt-1 text-sm text-secondary",children:"Check the connection or sign in again, then retry."}),l.jsx(le,{type:"button",variant:"secondary",className:"mt-4",onClick:()=>{b()},children:"Retry loading portfolio"})]})]});if(!v||r)return l.jsxs("div",{className:"page-skeleton",children:[l.jsxs("div",{className:"page-skeleton-header",children:[l.jsx("div",{className:"skeleton-text h-6 w-32"}),l.jsx("div",{className:"skeleton-text-sm w-64"})]}),l.jsx("div",{className:"space-y-3",children:[1,2,3].map(M=>l.jsxs("div",{className:"rounded-xl border border-default bg-surface p-4 flex items-center gap-4",children:[l.jsxs("div",{className:"flex-1 space-y-2",children:[l.jsx("div",{className:"skeleton-text w-36"}),l.jsx("div",{className:"skeleton-text-sm w-48"})]}),l.jsx("div",{className:"skeleton-text w-16"}),l.jsx("div",{className:"skeleton-text w-16"}),l.jsx("div",{className:"skeleton h-8 w-20 rounded"})]},M))})]});const N=v.portfolioOverview,_=N.projects.length>0&&N.projects.every(M=>M.hasMeasurement===!1),z=N.projects.some(M=>B1(M.sentiment)),q=N.attentionItems.map(M=>_&&M.id==="attention_stable"?{...M,tone:"neutral",title:"Awaiting first measurement",detail:"Visibility results will appear after the first sweep."}:M),E=k.data??n?.health??{apiStatus:{label:"API",state:"checking",detail:"Checking service health"},workerStatus:{label:"Worker",state:"checking",detail:"Checking service health"}},P=VQ(N.systemHealth.filter(M=>e||M.id==="api"||M.id==="worker"),E,v.settings);return l.jsxs("div",{className:"page-container",children:[l.jsx("div",{className:"page-header",children:l.jsxs("div",{className:"page-header-left",children:[l.jsx("h1",{className:"page-title",children:"Portfolio"}),l.jsx("p",{className:"page-subtitle",children:"Visibility across all projects."})]})}),N.projects.length>0?l.jsx("div",{className:"project-list project-list-scrollable",children:N.projects.map(M=>l.jsx(DJ,{project:M,sentimentColumn:z},M.project.id))}):l.jsxs(_a,{className:"surface-card empty-card",children:[l.jsx("h3",{children:N.emptyState?.title??"No projects yet"}),l.jsx("p",{className:"supporting-copy",children:N.emptyState?.detail}),l.jsx(le,{size:"sm",asChild:!0,children:l.jsx(tt,{to:N.emptyState?.ctaHref==="/setup"||!N.emptyState?.ctaHref?"/setup":"/",children:N.emptyState?.ctaLabel??"Launch setup"})})]}),l.jsxs("div",{className:"overview-secondary-grid",children:[q.length>0&&l.jsxs("section",{className:"overview-secondary-section",children:[l.jsx("div",{className:"section-head section-head-inline",children:l.jsxs("div",{children:[l.jsx("p",{className:"eyebrow eyebrow-soft",children:"Needs attention"}),l.jsx("h2",{className:"section-title-sm",children:"What changed"})]})}),l.jsx("div",{className:"attention-list attention-list-scrollable",children:q.map(M=>M.href?l.jsxs(tt,{to:M.href,className:`attention-item attention-item-${M.tone}`,children:[l.jsxs("div",{children:[l.jsx("p",{className:"attention-title",children:M.title}),l.jsx("p",{className:"attention-detail",children:M.detail})]}),M.actionLabel&&l.jsx("span",{className:"attention-action",children:M.actionLabel})]},M.id):l.jsxs("div",{className:`attention-item attention-item-static attention-item-${M.tone}`,children:[l.jsxs("div",{children:[l.jsx("p",{className:"attention-title",children:M.title}),l.jsx("p",{className:"attention-detail",children:M.detail})]}),M.actionLabel&&l.jsx("span",{className:"attention-action",children:M.actionLabel})]},M.id))})]}),l.jsxs("section",{className:"overview-secondary-section",children:[l.jsx("div",{className:"section-head section-head-inline",children:l.jsxs("div",{children:[l.jsx("p",{className:"eyebrow eyebrow-soft",children:"Recent runs"}),l.jsx("h2",{className:"section-title-sm",children:"Activity"})]})}),l.jsx("div",{className:"compact-stack compact-stack-scrollable",children:f?l.jsxs("div",{role:"alert",children:[l.jsx("p",{className:"text-sm text-secondary",children:"Recent jobs could not be loaded."}),l.jsx(le,{type:"button",variant:"secondary",className:"mt-3",onClick:()=>{b()},children:"Retry loading activity"})]}):h?l.jsx("p",{className:"supporting-copy",role:"status",children:"Loading recent jobs…"}):N.recentRuns.length>0?N.recentRuns.map(M=>l.jsxs("button",{className:"compact-run",type:"button",onClick:()=>S(M.id),children:[l.jsxs("div",{children:[l.jsx("p",{className:"compact-run-title",children:M.projectName}),l.jsx("p",{className:"compact-run-detail",children:M.summary})]}),l.jsx(E1,{status:M.status})]},M.id)):l.jsx("p",{className:"supporting-copy",children:"Run history appears here after the first launch."})})]})]}),l.jsxs("section",{className:"page-section",children:[l.jsx("div",{className:"section-head section-head-inline",children:l.jsxs("div",{children:[l.jsx("p",{className:"eyebrow eyebrow-soft",children:"System health"}),l.jsx("h2",{className:"section-title-sm",children:"Infrastructure"})]})}),l.jsx("div",{className:"divide-y divide-default border-y border-default",children:P.map(M=>{const L=M.id==="api"?E.apiStatus:M.id==="worker"?E.workerStatus:void 0,$=L?L.state==="ok"?void 0:Vr(L):M.tone==="positive"?void 0:M.meta;return l.jsxs("div",{className:"flex items-start justify-between gap-4 py-3",children:[l.jsxs("div",{children:[l.jsx("p",{className:"text-sm font-medium text-heading",children:M.label}),$&&l.jsx("p",{className:"mt-1 text-sm text-secondary",children:$})]}),l.jsx(xn,{tone:M.tone,title:L?Vr(L):M.meta,children:M.detail})]},M.id)})})]})]})}const IJ='a, button, input, select, textarea, label, [role="button"], [role="link"], [role="checkbox"], [role="menuitem"]';function OJ(e){if(e.defaultPrevented||e.button!==0||e.metaKey||e.ctrlKey||e.shiftKey||e.altKey)return!1;const n=e.target;if(n&&typeof n.closest=="function"&&n.closest(IJ))return!1;const i=typeof window<"u"?window.getSelection():null;return!(i&&!i.isCollapsed&&i.toString().trim()!=="")}function PJ({onApplied:e}){const{canWrite:n}=fa(),[i,r]=C.useState(""),[u,h]=C.useState(!1),[f,b]=C.useState([]),[v,x]=C.useState([]);if(Vm()||!n)return null;const k=async()=>{if(!i.trim())return;h(!0),b([]),x([]);const S=h6(i),N=[],_=[];for(let z=0;z<S.length;z++){const q=S[z];if(q.errors.length>0){N.push(`Document ${z+1}: ${q.errors[0]?.message}`);continue}const E=q.toJSON();if(!(!E||typeof E!="object"))try{const P=await aH(E);_.push(`Applied "${P.displayName||P.name}" (revision ${P.configRevision})`)}catch(P){N.push(`Document ${z+1}: ${qi(P)}`)}}b(_),x(N),h(!1),_.length>0&&(yn({title:"YAML applied",detail:`Applied ${_.length} document${_.length===1?"":"s"} successfully.`,tone:N.length>0?"caution":"positive",dedupeKey:"yaml:apply",dedupeMode:"replace"}),e())};return l.jsxs("section",{className:"mt-8",children:[l.jsx("div",{className:"page-section-divider"}),l.jsx("div",{className:"section-head mt-6",children:l.jsxs("div",{children:[l.jsx("p",{className:"eyebrow eyebrow-soft",children:"Config as code"}),l.jsx("h2",{className:"text-sm font-medium text-strong",children:"Apply YAML"})]})}),l.jsxs("p",{className:"text-muted text-sm mb-3",children:["Paste a ",l.jsx("code",{className:"text-secondary",children:"canonry.yaml"})," config (multi-document YAML with ",l.jsx("code",{className:"text-secondary",children:"---"})," separators supported)."]}),l.jsx("textarea",{className:"setup-input w-full font-mono text-xs",rows:10,placeholder:`apiVersion: canonry/v1
|
|
65
|
+
kind: Project
|
|
66
|
+
metadata:
|
|
67
|
+
name: my-project
|
|
68
|
+
spec:
|
|
69
|
+
canonicalDomain: example.com
|
|
70
|
+
country: US
|
|
71
|
+
language: en
|
|
72
|
+
queries: []`,value:i,onChange:S=>r(S.target.value)}),f.length>0&&l.jsx("ul",{className:"mt-2 space-y-1",children:f.map((S,N)=>l.jsx("li",{className:"text-positive-400 text-sm",children:S},N))}),v.length>0&&l.jsx("ul",{className:"mt-2 space-y-1",children:v.map((S,N)=>l.jsx("li",{className:"text-negative-400 text-sm",children:S},N))}),l.jsx("div",{className:"mt-3",children:l.jsx(le,{type:"button",disabled:!i.trim()||u,onClick:fn(k),children:u?"Applying...":"Apply"})})]})}function qJ(){const{dashboard:e,isLoading:n,refetch:i}=Fm(),{canWrite:r,isAdmin:u}=fa(),h=zs();if(!e||n)return l.jsxs("div",{className:"page-skeleton",children:[l.jsxs("div",{className:"page-skeleton-header",children:[l.jsx("div",{className:"skeleton-text h-6 w-28"}),l.jsx("div",{className:"skeleton-text-sm w-40"})]}),l.jsxs("div",{className:"rounded-xl border border-default bg-surface overflow-hidden",children:[l.jsx("div",{className:"p-3 border-b border-default flex gap-8",children:["Name","Domain","Mentions","Last run","Country"].map(b=>l.jsx("div",{className:"skeleton-text-sm w-16"},b))}),[1,2,3].map(b=>l.jsxs("div",{className:"p-3 border-b border-subtle flex gap-8 items-center",children:[l.jsxs("div",{className:"flex-1 space-y-1",children:[l.jsx("div",{className:"skeleton-text w-28"}),l.jsx("div",{className:"skeleton-text-sm w-16"})]}),l.jsx("div",{className:"skeleton-text w-24"}),l.jsx("div",{className:"skeleton h-5 w-14 rounded-full"}),l.jsx("div",{className:"skeleton h-5 w-16 rounded-full"}),l.jsx("div",{className:"skeleton-text-sm w-8"})]},b))]})]});const f=e.projects;return l.jsxs("div",{className:"page-container",children:[l.jsxs("div",{className:"page-header",children:[l.jsxs("div",{className:"page-header-left",children:[l.jsx("h1",{className:"page-title",children:"Projects"}),l.jsxs("p",{className:"page-subtitle",children:[f.length," project",f.length!==1?"s":""," tracked"]})]}),u?l.jsx("div",{className:"page-header-right",children:l.jsxs(le,{type:"button",onClick:()=>{h({to:"/setup",search:{experience:"platform"}})},children:[l.jsx(Zf,{className:"size-4 mr-1.5"}),f.length===0?"Map a site":"Add project"]})}):null]}),f.length>0?l.jsx("div",{className:"data-table-wrapper",children:l.jsxs("table",{className:"data-table",children:[l.jsx("thead",{children:l.jsxs("tr",{children:[l.jsx("th",{children:"Name"}),l.jsx("th",{children:"Domain"}),l.jsx("th",{children:"Mentions"}),l.jsx("th",{children:"Last run"}),l.jsx("th",{className:"text-right",children:"Country"})]})}),l.jsx("tbody",{children:f.map(b=>{const v=b.recentRuns[0];return l.jsxs("tr",{className:"cursor-pointer",onClick:x=>{OJ(x)&&h({to:"/projects/$projectName",params:{projectName:b.project.name}})},children:[l.jsxs("td",{children:[l.jsx(tt,{to:"/projects/$projectName",params:{projectName:b.project.name},className:"text-heading font-medium hover:underline",children:b.project.displayName||b.project.name}),l.jsx("p",{className:"text-[11px] text-muted",children:b.project.name})]}),l.jsx("td",{className:"text-secondary",children:b.project.canonicalDomain}),l.jsx("td",{children:l.jsx(xn,{tone:b.mentionSummary.tone,children:b.mentionSummary.value})}),l.jsx("td",{className:"text-muted text-sm",children:v?l.jsx(E1,{status:v.status}):l.jsx("span",{className:"text-faint",children:"No runs"})}),l.jsx("td",{className:"text-right text-muted",children:b.project.country})]},b.project.id)})})]})}):l.jsxs(_a,{className:"surface-card empty-card",children:[l.jsx("h3",{children:"No projects yet"}),l.jsx("p",{className:"supporting-copy",children:"Map a public site to capture its Page Health baseline and exact fixes."}),u?l.jsxs(le,{type:"button",onClick:()=>{h({to:"/setup",search:{experience:"platform"}})},children:[l.jsx(Zf,{className:"size-4 mr-1.5"}),"Map a site"]}):null]}),r?l.jsx(PJ,{onApplied:()=>{i()}}):null]})}class MJ extends Error{constructor(){super(ON),this.name="ViewOnlyError"}}function BJ(e){if(!e.canWrite)throw new MJ}function il(){const e=fa();return()=>{BJ(e)}}function LJ(e){return e==="gsc-sync"?"GSC sync queued":e==="inspect-sitemap"?"Sitemap inspection queued":"Visibility sweep queued"}function UJ(e,n){const i=e??"Project";return n==="gsc-sync"?`${i} will refresh after the sync completes.`:n==="inspect-sitemap"?`${i} will notify you when sitemap inspection finishes.`:`${i} will notify you when the run finishes.`}function L1(e,n){C1({id:e.id,projectId:e.projectId,kind:e.kind,projectLabel:n.projectLabel,sourceAction:n.sourceAction,lastAnnouncedStatus:"queued"}),yn({title:LJ(e.kind),detail:UJ(n.projectLabel,e.kind),tone:"neutral",dedupeKey:`run:${e.id}`,dedupeMode:"replace"})}function VJ(e){const n=e.filter(f=>f.status!=="conflict"&&f.status!=="error"),i=e.filter(f=>f.status==="conflict"),r=e.filter(f=>f.status==="error"),u=i.length+r.length;if(n.length===0){const f=[r.length>0?`${r.length} need provider or query setup`:null,i.length>0?`${i.length} already have an active run`:null].filter(b=>b!==null);yn({title:"No runs queued",detail:f.length>0?`${f.join("; ")}.`:"No projects were available to queue.",tone:"caution",durationMs:8e3,dedupeKey:"run-all:conflict",dedupeMode:"replace"});return}for(const f of n)C1({id:f.id,projectId:f.projectId,kind:f.kind,projectLabel:f.projectName,sourceAction:"run-all",lastAnnouncedStatus:"queued"});const h=ZQ({runIds:n.map(f=>f.id),queuedCount:n.length,skippedCount:u});yn({title:"Run-all batch queued",detail:u>0?`${n.length} project${n.length===1?"":"s"} queued; ${u} need attention or already have an active run.`:`${n.length} project${n.length===1?"":"s"} queued.`,tone:u>0?"caution":"neutral",dedupeKey:`batch:${h}`,dedupeMode:"replace"})}function Wm(e,n){if(e instanceof wn&&e.code==="PROVIDERS_FAILING"){yn({title:"Sweep not started",detail:"Every provider keeps failing on its account. The AI Visibility notice says when sweeps resume.",tone:"caution",durationMs:8e3,dedupeKey:`providers-failing:${n?.projectKey??"project"}:${n?.sourceAction??"run"}`,dedupeMode:"replace"});return}if(e instanceof wn&&e.code==="RUN_IN_PROGRESS"){yn({title:"Run already in progress",detail:n?.projectLabel?`${n.projectLabel} already has an active run. Wait for it to finish, then retry.`:"This project already has an active run. Wait for it to finish, then retry.",tone:"caution",durationMs:8e3,dedupeKey:`run-in-progress:${n?.projectKey??"project"}:${n?.sourceAction??"run"}`,dedupeMode:"replace"});return}yn({title:e instanceof Error?e.message:"Failed to queue run",tone:"negative"})}function $J(){const e=il();return oi({onMutate:e,meta:{skipGlobalErrorToast:!0},mutationFn:({projectName:n,opts:i})=>YG(n,i),onSuccess:(n,i)=>{L1(n,{projectLabel:i.projectLabel??i.projectName,sourceAction:i.sourceAction})},onError:(n,i)=>{i.sourceAction!=="setup-launch"&&Wm(n,{projectKey:i.projectName,projectLabel:i.projectLabel??i.projectName,sourceAction:i.sourceAction})}})}function lse(){const e=il();return oi({onMutate:e,meta:{skipGlobalErrorToast:!0},mutationFn:n=>iH(n),onSuccess:n=>{VJ(n)},onError:n=>{yn({title:n instanceof Error?n.message:"Failed to queue runs",tone:"negative"})}})}function KJ(){const e=il();return oi({onMutate:e,meta:{skipGlobalErrorToast:!0},mutationFn:({projectName:n,body:i})=>rH(n,i),onSuccess:(n,i)=>{C1({id:n.runId,projectId:i.projectId,kind:De["site-audit"],projectLabel:i.projectLabel??i.projectName,sourceAction:"site-audit",lastAnnouncedStatus:n.status}),yn({title:n.status==="running"?"Site Health scan already running":"Site Health scan queued",detail:`${i.projectLabel??i.projectName} will refresh automatically when the scan finishes.`,tone:"neutral",dedupeKey:`run:${n.runId}`,dedupeMode:"replace"})},onError:(n,i)=>{i.suppressErrorToast||Wm(n,{projectKey:i.projectName,projectLabel:i.projectLabel??i.projectName,sourceAction:"site-audit"})}})}function cse(){const e=il();return oi({onMutate:e,meta:{skipGlobalErrorToast:!0},mutationFn:({projectName:n,opts:i})=>sH(n,i),onSuccess:(n,i)=>{L1(n,{projectLabel:i.projectLabel??i.projectName,sourceAction:"gsc-sync"})},onError:(n,i)=>{Wm(n,{projectKey:i.projectName,projectLabel:i.projectLabel??i.projectName,sourceAction:"gsc-sync"})}})}function use(){const e=il();return oi({onMutate:e,meta:{skipGlobalErrorToast:!0},mutationFn:({projectName:n,opts:i})=>oH(n,i),onSuccess:(n,i)=>{L1(n,{projectLabel:i.projectLabel??i.projectName,sourceAction:"inspect-sitemap"})},onError:(n,i)=>{Wm(n,{projectKey:i.projectName,projectLabel:i.projectLabel??i.projectName,sourceAction:"inspect-sitemap"})}})}function GJ(e){if(!Array.isArray(e.queryKey)||e.queryKey.length<=1)return!1;const n=e.queryKey[0];return n==="projects"||n==="project-dashboard-full"}function dse(){const e=il();return oi({onMutate:e,mutationFn:({projectName:n,queries:i})=>QG(n,i)})}const iS=[{id:"site",label:"Scan site",optional:!1},{id:"fixes",label:"Page health",optional:!1},{id:"visibility",label:"AI Visibility",optional:!0},{id:"done",label:"Next steps",optional:!1}],HJ={skipped:"Skipped",pending:"In progress",incomplete:"Didn’t finish",unknown:null};function Eo({current:e,outcomes:n={}}){const i=iS.findIndex(r=>r.id===e);return l.jsx("ol",{"aria-label":"Onboarding progress",className:"grid border-y border-default sm:grid-cols-4 sm:divide-x sm:divide-default",children:iS.map((r,u)=>{const h=u<i?n[r.id]:void 0,f=u<i&&h===void 0,b=u===i,v=h?HJ[h]:null;return l.jsxs("li",{"aria-current":b?"step":void 0,className:"flex min-h-12 items-center gap-3 py-2 sm:px-3 sm:first:pl-0 sm:last:pr-0",children:[l.jsx("span",{"aria-hidden":"true",className:`flex size-6 shrink-0 items-center justify-center rounded-full border text-xs font-semibold tabular-nums ${b?"border-accent bg-accent text-on-inverse":f?"border-positive bg-positive-soft text-positive":"border-default bg-surface-subtle text-muted"}`,children:f?"✓":h==="skipped"||h==="incomplete"?"–":u+1}),l.jsxs("span",{className:"flex min-w-0 flex-wrap items-baseline gap-x-2",children:[l.jsx("span",{className:`text-sm font-medium ${b||f?"text-heading":"text-secondary"}`,children:r.label}),v?l.jsx("span",{className:"text-[13px] text-secondary",children:v}):r.optional&&!h?l.jsx("span",{className:"text-[13px] text-secondary",children:"Optional"}):null,f?l.jsx("span",{className:"sr-only",children:"Complete"}):null]})]},r.id)})})}function FJ(){return[{id:"search-console",icon:Kg,label:"Search Console",detail:"Compare answer engines with the queries you already rank for.",action:"Connect",to:"/projects/$projectName/search-console"},{id:"analytics",icon:AS,label:"Google Analytics",detail:"See the traffic answer engines actually send you.",action:"Connect",to:"/projects/$projectName/activity"},{id:"schedule",icon:NS,label:"Scheduled sweeps",detail:"Re-measure on a schedule instead of by hand.",action:"Set up",to:"/projects/$projectName/settings"},{id:"notifications",icon:Yf,label:"Notifications",detail:"Send a webhook when a sweep finishes or a score moves.",action:"Set up",to:"/projects/$projectName/settings"},{id:"local",icon:CS,label:"Local presence",detail:"Track the Google Business Profile behind local answers.",action:"Open",to:"/projects/$projectName/local"},{id:"agent",icon:u6,label:"Your agent",detail:"Read this project from Claude Code, Codex, or any MCP client.",action:"Docs",href:"https://github.com/Canonry/canonry/blob/main/docs/mcp.md"}]}function QJ({projectName:e}){const n=FJ();return l.jsxs("section",{"aria-labelledby":"next-steps-heading",className:"mt-6 border-t border-default pt-5",children:[l.jsx("h2",{id:"next-steps-heading",className:"text-sm font-medium text-heading",children:"What else this project can do"}),l.jsx("ul",{className:"mt-3 divide-y divide-default",children:n.map(({id:i,icon:r,label:u,detail:h,action:f,to:b,href:v})=>l.jsxs("li",{className:"flex flex-wrap items-center gap-x-4 gap-y-1 py-3",children:[l.jsx(r,{className:"size-4 shrink-0 text-muted","aria-hidden":"true"}),l.jsx("span",{className:"min-w-36 text-sm font-medium text-heading",children:u}),l.jsx("span",{className:"min-w-0 flex-1 text-sm text-secondary",children:h}),b?l.jsxs(tt,{to:b,params:{projectName:e},className:"text-sm font-medium text-link underline-offset-4 hover:underline",children:[f,l.jsxs("span",{className:"sr-only",children:[" ",u]})]}):l.jsxs("a",{href:v,target:"_blank",rel:"noreferrer",className:"text-sm font-medium text-link underline-offset-4 hover:underline",children:[f,l.jsxs("span",{className:"sr-only",children:[" ",u]})]})]},i))})]})}function ZJ({providerName:e,keyUrl:n,modelHint:i,compact:r=!1,leadingField:u,secondaryActions:h,onSaved:f}){const b=Ds(),v=e.toLowerCase()==="local",x=r&&e.toLowerCase()==="gemini"&&!!n,[k,S]=C.useState(""),[N,_]=C.useState(""),[z,q]=C.useState(""),[E,P]=C.useState(""),[M,L]=C.useState(""),[$,H]=C.useState(""),[J,V]=C.useState(!1),[Q,ae]=C.useState(null),[Fe,We]=C.useState(!1),Ve=v?N.trim().length>0:k.trim().length>0;async function qe(){if(Ve){V(!0),ae(null),We(!1);try{const ke=Y=>{const me=parseInt(Y.trim(),10);return Number.isFinite(me)&&me>0?me:void 0},Ie={},xe=ke(E);xe!==void 0&&(Ie.maxConcurrency=xe);const de=ke(M);de!==void 0&&(Ie.maxRequestsPerMinute=de);const ce=ke($);ce!==void 0&&(Ie.maxRequestsPerDay=ce),await DN(e.toLowerCase(),{...k.trim()?{apiKey:k.trim()}:{},...N.trim()?{baseUrl:N.trim()}:{},...z.trim()?{model:z.trim()}:{},...Object.keys(Ie).length>0?{quota:Ie}:{}}),S(""),_(""),q(""),P(""),L(""),H(""),We(!0),On(b,"runAdmission"),yn({title:"Provider updated",detail:`${e} configuration saved.`,tone:"positive",dedupeKey:`settings:provider:${e}`,dedupeMode:"replace"}),f()}catch(ke){ae(ke instanceof Error?ke.message:"Failed to update provider")}finally{V(!1)}}}const Ae=i??"Use default model",Le=r?"block text-sm font-medium text-secondary":"text-sm text-secondary",B=r?"setup-input min-h-11 w-full":"mt-0.5 w-full rounded border border-strong bg-transparent px-2 py-1.5 text-sm text-strong placeholder-mono-600 focus:border-mono-500 focus:outline-none",ee=l.jsxs(l.Fragment,{children:[l.jsxs("div",{className:r?"space-y-1.5":void 0,children:[l.jsx("label",{className:Le,htmlFor:`model-${e}`,children:"Model (optional)"}),l.jsx("input",{id:`model-${e}`,type:"text",className:B,placeholder:Ae,value:z,onChange:ke=>q(ke.target.value)})]}),l.jsxs("div",{children:[l.jsx("label",{className:Le,children:"Quota (optional)"}),l.jsxs("div",{className:"mt-0.5 grid grid-cols-3 gap-1.5",children:[l.jsxs("div",{children:[l.jsx("input",{type:"number",min:"1",className:r?"setup-input min-h-11 w-full":"w-full rounded border border-strong bg-transparent px-2 py-1.5 text-sm text-strong placeholder-mono-600 focus:border-mono-500 focus:outline-none",placeholder:"Concurrent",value:E,onChange:ke=>P(ke.target.value)}),l.jsx("p",{className:"mt-1 text-sm text-secondary",children:"Max concurrent"})]}),l.jsxs("div",{children:[l.jsx("input",{type:"number",min:"1",className:r?"setup-input min-h-11 w-full":"w-full rounded border border-strong bg-transparent px-2 py-1.5 text-sm text-strong placeholder-mono-600 focus:border-mono-500 focus:outline-none",placeholder:"/min",value:M,onChange:ke=>L(ke.target.value)}),l.jsx("p",{className:"mt-1 text-sm text-secondary",children:"Per minute"})]}),l.jsxs("div",{children:[l.jsx("input",{type:"number",min:"1",className:r?"setup-input min-h-11 w-full":"w-full rounded border border-strong bg-transparent px-2 py-1.5 text-sm text-strong placeholder-mono-600 focus:border-mono-500 focus:outline-none",placeholder:"/day",value:$,onChange:ke=>H(ke.target.value)}),l.jsx("p",{className:"mt-1 text-sm text-secondary",children:"Per day"})]})]})]})]}),ve=v?l.jsxs("div",{className:r?"space-y-1.5":void 0,children:[l.jsx("label",{className:Le,htmlFor:`base-url-${e}`,children:"Base URL"}),l.jsx("input",{id:`base-url-${e}`,type:"text",className:B,placeholder:"http://localhost:11434/v1",value:N,onChange:ke=>_(ke.target.value)}),l.jsx("p",{className:"mt-1 text-sm text-secondary",children:"Use any OpenAI-compatible endpoint, such as Ollama or vLLM."})]}):null,je=l.jsxs("div",{className:r?"min-w-0 space-y-1.5":void 0,children:[l.jsxs("div",{className:r?"flex items-center justify-between gap-3":"flex items-center justify-between",children:[l.jsxs("label",{className:Le,htmlFor:`api-key-${e}`,children:["API key",v?" (optional)":""]}),n&&!x&&l.jsxs("a",{href:n,target:"_blank",rel:"noopener noreferrer",className:"text-sm text-secondary hover:text-neutral underline underline-offset-2",children:["Get API key ","↗"]})]}),l.jsx("input",{id:`api-key-${e}`,type:"password",autoComplete:"new-password",autoCapitalize:"none",spellCheck:!1,className:B,placeholder:v?"Optional. Most local servers do not need one.":`Enter ${e} API key`,value:k,onChange:ke=>S(ke.target.value)})]}),oe=l.jsx(le,{type:"button",size:r?"default":"sm",className:r?"min-h-11":void 0,disabled:!Ve||J,onClick:fn(qe),children:J?"Saving...":r?"Save connection":"Save"});return l.jsxs("div",{className:r?"space-y-3":"mt-3 rounded-lg border border-base bg-bg-elevated/40 p-3 space-y-2",children:[x&&l.jsxs("div",{className:"flex flex-wrap items-start gap-x-6 gap-y-3 pb-2",children:[l.jsxs("div",{className:"min-w-0 flex-1 basis-72 space-y-1",children:[l.jsx("h3",{className:"text-base font-semibold text-heading",children:"Start with Gemini’s free tier"}),l.jsxs("p",{className:"max-w-prose text-sm text-secondary",children:["Get a key in Google AI Studio, then paste it below. Free usage has model and rate limits; paid usage is billed by Google."," ",l.jsx("a",{href:"https://ai.google.dev/gemini-api/docs/pricing",target:"_blank",rel:"noopener noreferrer",className:"text-link underline underline-offset-2 focus-visible:outline-2 focus-visible:outline-offset-2",children:"Pricing and limits"})]})]}),l.jsx(le,{variant:"outline",className:"min-h-11",asChild:!0,children:l.jsxs("a",{href:n,target:"_blank",rel:"noopener noreferrer",children:["Get a free Gemini API key ","↗"]})})]}),r?l.jsxs(l.Fragment,{children:[l.jsxs("div",{className:u?"grid items-start gap-3 sm:grid-cols-[minmax(0,0.7fr)_minmax(0,1.3fr)]":void 0,children:[u,je]}),ve]}):l.jsxs(l.Fragment,{children:[ve,je]}),r?l.jsxs("details",{children:[l.jsx("summary",{className:"min-h-11 cursor-pointer text-sm text-secondary py-3",children:"Advanced provider settings"}),l.jsx("div",{className:"space-y-3 pt-2",children:ee})]}):ee,Q&&l.jsx("p",{role:"alert",className:"text-sm text-negative-400",children:Q}),Fe&&l.jsx("p",{className:"text-sm text-positive-400",children:"Provider updated."}),r?l.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[oe,h]}):oe]})}const hm="cdp:chatgpt";function xo(e){return e.trim().toLowerCase()}function YJ({projectProviders:e,configuredApiProviders:n,cdpConfigured:i}){const r=e.map(xo),u=new Set(r),h=r.length===0||r.some(x=>x!==hm),f=r.length===0||u.has(hm);if(h&&n!==void 0&&n.map(xo).some(k=>r.length===0||u.has(k))||f&&i===!0)return!0;if(!(h&&n===void 0||f&&i===void 0))return!1}const XJ=[{label:"System check",description:"Verify your instance is ready"},{label:"Create project",description:"Name, domain, and locale"},{label:"Queries",description:"Add queries to track"},{label:"Competitors",description:"Add competitor domains"},{label:"Launch",description:"Start your first visibility sweep"}],JJ=[{label:"Queries"},{label:"First sweep"}];function sS(e,n){return(e==="completed"||e==="partial")&&n>0}function oS(e){return e.launchReady?e.hasProject?e.queryCount===0?2:e.competitorCount===0&&!e.hasRunAttempt?3:4:1:0}function _C(e){return e.queryCounts.total>0}function WJ(e,n){return n?e.find(i=>i.project.name===n)??null:e.find(i=>!_C(i))??e.at(0)??null}function eW({current:e,labels:n}){return l.jsx("div",{className:"setup-steps",role:"list","aria-label":"Setup progress",children:n.map((i,r)=>{const u=r<e,h=r===e;return l.jsxs("div",{className:`setup-step ${u?"setup-step-done":""} ${h?"setup-step-active":""}`,role:"listitem","aria-current":h?"step":void 0,children:[l.jsx("span",{className:"setup-step-number",children:u?"✓":r+1}),l.jsx("span",{children:i.label})]},i.label)})})}function tW({visibilityProjectName:e,siteHealthOnboarding:n=!1,onboardingFinish:i=n}={}){const{canWrite:r}=fa();return e&&r?l.jsx(rS,{visibilityProjectName:e,siteHealthOnboarding:n,onboardingFinish:i}):l.jsx(O1,{title:e?"Set up AI Visibility":"Setup",children:l.jsx(rS,{visibilityProjectName:e,siteHealthOnboarding:n,onboardingFinish:i})})}function rS({visibilityProjectName:e,siteHealthOnboarding:n,onboardingFinish:i}){const r=au(),{isAdmin:u}=fa(),{dashboard:h,isLoading:f,refetch:b}=Fm(void 0,{pauseProjectPolling:!0,includeSettings:u}),v=h??r?.dashboard,x=zs(),k=C.useCallback(N=>{N&&e&&N.focus()},[e]),S=()=>{if(!e){x({to:"/",replace:!0});return}if(i){x({to:"/setup",search:{onboarding:"complete",setupProject:e,skipped:"visibility"},replace:!0});return}x({to:"/projects/$projectName",params:{projectName:e},replace:!0})};return!v||f?l.jsxs("div",{className:"page-skeleton",children:[l.jsxs("div",{className:"page-skeleton-header",children:[l.jsx("div",{className:"skeleton-text h-6 w-24"}),l.jsx("div",{className:"skeleton-text-sm w-80"})]}),l.jsxs("div",{className:"page-skeleton-card",children:[l.jsx("div",{className:"skeleton-text w-32"}),l.jsx("div",{className:"space-y-3 mt-3",children:[1,2,3].map(N=>l.jsxs("div",{className:"flex items-center justify-between",children:[l.jsxs("div",{className:"space-y-1 flex-1",children:[l.jsx("div",{className:"skeleton-text w-24"}),l.jsx("div",{className:"skeleton-text-sm w-48"})]}),l.jsx("div",{className:"skeleton h-6 w-16 rounded-full"})]},N))})]})]}):e&&!v.projects.some(N=>N.project.name===e)?l.jsxs("div",{className:"page-container",children:[n?l.jsx(Eo,{current:"visibility"}):null,l.jsxs("div",{className:"page-header",children:[l.jsxs("div",{className:"page-header-left",children:[l.jsx("h1",{ref:k,tabIndex:-1,className:"page-title",children:"Set up AI Visibility"}),l.jsx("p",{className:"page-subtitle",children:"Choose what to track, then run your first visibility sweep."})]}),n?l.jsx("div",{className:"page-header-right",children:l.jsx(le,{type:"button",variant:"outline",onClick:S,children:"Skip AI Visibility"})}):null]}),l.jsxs(_a,{role:"alert",className:"compact-stack",children:[l.jsx("h2",{children:"Project not found"}),l.jsx("p",{className:"text-secondary",children:"Canonry could not find the project handed off from Site Health. Refresh the project list or choose a project to continue."}),l.jsxs("div",{className:"flex flex-wrap gap-2",children:[l.jsx(le,{type:"button",variant:"outline",onClick:()=>{b()},children:"Retry"}),l.jsx(le,{type:"button",asChild:!0,children:l.jsx(tt,{to:"/projects",children:"View projects"})})]})]})]}):l.jsx(nW,{dashboard:v,initialHealth:r?.health,enableLiveStatus:!r,refetch:b,visibilityProjectName:e,visibilityHeadingRef:k,siteHealthOnboarding:n,onboardingFinish:i})}function nW({dashboard:e,initialHealth:n,enableLiveStatus:i,refetch:r,visibilityProjectName:u,visibilityHeadingRef:h,siteHealthOnboarding:f,onboardingFinish:b}){const v=e.settings,{isAdmin:x}=fa(),S=R1(i,n).data??n??{apiStatus:{label:"API",state:"checking",detail:"Checking service health"},workerStatus:{label:"Worker",state:"checking",detail:"Checking service health"}},N=KQ(e.setup,S,v),_=!!u,z=zs(),q=Ds(),E=C.useRef(b1()).current,P=C.useRef(new Set),M=C.useCallback((F,Qe)=>{if(Qe){if(P.current.has(Qe))return;P.current.add(Qe)}S1({surface:"wizard",...F,eventId:v1()})},[]),L=WJ(e.projects,u),$=L?e.runs.filter(F=>F.projectId===L.project.id).sort((F,Qe)=>Qe.createdAt.localeCompare(F.createdAt)):[],H=L?.queryCounts.total??0,J=L?.project.name,V=yt({queryKey:["setup","resume-queries",J],queryFn:()=>J?TN(J):Promise.resolve([]),enabled:!!J}),Q=V.data??[],ae=V.data?.length??H,Fe=L?.competitors.map(F=>F.domain)??[],We=$.at(0)??null,Ve=!!L&&_C(L),qe=!!L&&V.isPending,Ae=_?2:oS({launchReady:N.launchState.enabled,hasProject:!!L,queryCount:ae,competitorCount:Fe.length,hasRunAttempt:$.length>0||Ve}),Le=oS({launchReady:!0,hasProject:!!L,queryCount:ae,competitorCount:Fe.length,hasRunAttempt:$.length>0||Ve}),[B,ee]=C.useState(Ae),[ve,je]=C.useState(!qe),oe=_&&(qe||!ve),[ke,Ie]=C.useState(L?.project.name??""),[xe,de]=C.useState(L?.project.displayName??""),[ce,Y]=C.useState(L?.project.canonicalDomain??""),[me,Pe]=C.useState(L?.project.country??"US"),[Ne,st]=C.useState(L?.project.language??"en"),[$e,Nt]=C.useState(L?.project.autoExtractBacklinks??!1),[He,pe]=C.useState(L?.project.name??null),[at,It]=C.useState(null),[qn,Ht]=C.useState(!1),Me=()=>{if(!He){z({to:"/",replace:!!u});return}z({to:f?"/projects/$projectName/technical-aeo":"/projects/$projectName",params:{projectName:He},replace:!!u})},ct=(F=!1)=>{if(!b||!He){Me();return}z({to:"/setup",search:{onboarding:"complete",setupProject:He,...F?{skipped:"visibility"}:{}},replace:!0})},Ft=()=>ct(!0),[Qt,En]=C.useState(Q.map(F=>F.query).join(`
|
|
73
|
+
`)),[Vt,di]=C.useState(ae>0),[Vs,mi]=C.useState(null),[Rn,Bo]=C.useState(!1),[$s,Ks]=C.useState(!1),pi=v.providerStatuses.filter(F=>F.state==="ready"),bn=L?.project.providers.map(xo)??[],Tt=pi.filter(F=>bn.length===0||bn.includes(xo(F.name))),$n=pi.map(F=>xo(F.name)),Zt=Tt.length>0,Gs=bn.length===0||bn.includes(hm),Ia=_&&!x,Wn=yt({...rF({client:W,path:{name:J??""}}),enabled:Ia&&!!J,staleTime:0,refetchOnMount:"always",refetchOnWindowFocus:"always",retry:!1}),re=Wn.data?.answerVisibilityProviderReady,Ee=Ia&&(Wn.isError||Wn.isSuccess&&typeof re!="boolean"),Ye=yt({...zF({client:W}),enabled:!Ia&&Gs&&!Zt,staleTime:6e4,retry:!1}),Ot=Gs?Ye.isSuccess?typeof Ye.data.browserVersion=="string":Ye.isError?!1:void 0:!1,Je=Ia?Wn.isSuccess&&Wn.isFetchedAfterMount&&!Wn.isFetching?re:void 0:YJ({projectProviders:bn,configuredApiProviders:$n,cdpConfigured:Ot}),xt=Tt.length+(Ot===!0?1:0),[sn,hi]=C.useState(Tt[0]?.name??""),[Lo,Hs]=C.useState(5),[iu,sl]=C.useState(!1),[ol,rl]=C.useState(null),[ll,cl]=C.useState(""),Uo=C.useRef(!1),su=C.useCallback(F=>{!F||!Uo.current||(Uo.current=!1,F.focus({preventScroll:!0}))},[]),[ga,on]=C.useState(!1),[Dn,Qi]=C.useState(!1),[Vo,ou]=C.useState(!1),$o=v.providerStatuses.filter(F=>xo(F.name)!==hm&&(bn.length===0||bn.includes(xo(F.name)))),ea=$o.find(F=>F.name===ll)??$o.find(F=>F.state!=="ready")??$o.at(0),Zi=`Help me choose AI Visibility queries for Canonry project ${JSON.stringify(He??ke)} (${ce}).
|
|
74
|
+
1. Read the project, its existing tracked queries, and Site Health findings. Ask about my customers, services, and locations if needed, then propose relevant customer queries.
|
|
75
|
+
2. Check the configured connection's capabilities, then use Canonry's Research flow to test a small approved batch. Retrieve saved answers and any available sources. Compare brand mentions separately from site citations; unavailable citation evidence is not a "not cited" result. Text-only routes can inform query research but cannot establish an AI Visibility baseline. Research does not add queries to tracking. If more candidates are needed, propose ICP Discovery separately.
|
|
76
|
+
3. Recommend a short list with reasons. Ask before provider usage. Once I approve, preserve existing queries and return the combined list, one query per line, for me to paste into setup. Do not change tracked queries or launch a visibility sweep.`,ul=async()=>{ou(!1);try{await navigator.clipboard.writeText(Zi),Qi(!0)}catch{ou(!0)}},[fi,Yi]=C.useState(Fe.join(`
|
|
77
|
+
`)),[Xi,Ji]=C.useState(Fe.length>0),[en,dl]=C.useState(null),[ml,Qa]=C.useState(!1),pl=C.useRef(xN(J)).current?.runId??null,hl=C.useRef(pl),[Za,np]=C.useState(!!pl||!!We&&!Ve),[gi,Qs]=C.useState(!1),[jn,zn]=C.useState(null),[Wi,ap]=C.useState(pl??(Ve?null:We?.id??null)),fl=$J(),Ya=yt({...N1({client:W,path:{id:Wi??""}}),enabled:!!Wi,refetchInterval:({state:F})=>{const Qe=F.data?.status;return Qe==="completed"||Qe==="partial"||Qe==="failed"||Qe==="cancelled"?!1:2e3},refetchIntervalInBackground:!0}),[es,ru]=C.useState(""),[In,Ko]=C.useState(!1),[gl,Go]=C.useState(null),Kn=ke.toLowerCase().replace(/[^a-z0-9-]/g,"-").replace(/-+/g,"-").replace(/^-|-$/g,""),ta=Qt.split(`
|
|
78
|
+
`).map(F=>F.trim()).filter(Boolean),yi=fi.split(`
|
|
79
|
+
`).map(F=>F.trim()).filter(Boolean),ya=Math.max(ae,Vt?ta.length:0),ba=QK({apiReady:S.apiStatus.state==="ok",databaseConfigured:S.apiStatus.databaseConfigured,workerReady:S.workerStatus.state==="ok",providerReady:Je!==!1}),Xa=(ba&&ba!=="no_provider"?N.launchState.blockedReason:Ee?"Provider readiness could not be checked. Try again.":Je===void 0?"Checking provider readiness before launch.":ba==="no_provider"?"Launch is blocked until a provider allowed by this project is configured.":void 0)??(He?ya===0?"Add at least one query before launching the first sweep.":void 0:"Create a project before launching the first sweep.");C.useEffect(()=>{ve||qe||(_||ee(Ae),Q.length>0&&(En(Q.map(F=>F.query).join(`
|
|
80
|
+
`)),di(!0)),je(!0))},[Q,Ae,_,ve,qe]),C.useEffect(()=>{if(Tt.length===0){hi("");return}Tt.some(F=>F.name===sn)||hi(Tt[0].name)},[Tt,sn]),C.useEffect(()=>{ve&&(M({flowVersion:ft,onboardingSessionId:E,event:"onboarding.started",step:FK(Ae),resumed:!!L},"onboarding.started"),!L&&Ae>0&&M({flowVersion:ft,onboardingSessionId:E,event:"onboarding.step_completed",step:"system",method:"automatic"},"onboarding.step_completed:system"))},[M,Ae,E,ve,L]),C.useEffect(()=>{_||!ZK(S)||!ba||M({flowVersion:ft,onboardingSessionId:E,event:"onboarding.blocked",step:"system",action:ba==="no_provider"?"configure_provider":"continue",reasonCode:ba},`onboarding.blocked:system:${ba}`)},[M,S,_,E,ba]);const Oa=Ya.data?.status,Ho=Ya.data?.snapshots?.length??0;C.useEffect(()=>{if(!Za||!Oa)return;const F=hl.current;if(!F||F!==Wi)return;if(sS(Oa,Ho)){M({flowVersion:ft,onboardingSessionId:E,event:"onboarding.step_completed",step:"run",method:"automatic",countBucket:si(Ho)},"onboarding.step_completed:run"),im(F);return}const Qe=Oa==="cancelled"?"run_cancelled":Oa==="failed"||(Oa==="completed"||Oa==="partial")&&Ho===0?"run_failed":void 0;Qe&&(M({flowVersion:ft,onboardingSessionId:E,event:"onboarding.blocked",step:"run",action:"retry_run",reasonCode:Qe},`onboarding.blocked:run:${Qe}`),im(F))},[M,Wi,E,Oa,Ho,Za]);const sp=async()=>{if(!(!Kn||!ce)){Ht(!0),It(null);try{const F=await RN(Kn,{displayName:xe||ke,canonicalDomain:ce,country:me,language:Ne,autoExtractBacklinks:$e});pe(Kn),yn({title:"Project created",detail:`${F.displayName||F.name} is ready for setup.`,tone:"positive",dedupeKey:`project:create:${F.name}`,dedupeMode:"drop"}),await r(),M({flowVersion:ft,onboardingSessionId:E,event:"onboarding.step_completed",step:"project",method:"manual"},"onboarding.step_completed:project"),ee(2)}catch(F){It(F instanceof Error?F.message:"Failed to create project"),M({flowVersion:ft,onboardingSessionId:E,event:"onboarding.blocked",step:"project",action:"save",reasonCode:"project_create_failed"},"onboarding.blocked:project:project_create_failed")}finally{Ht(!1)}}},Fo=async()=>{if(!He)return;const F=ta;if(F.length!==0){Bo(!0),mi(null);try{await FG(He,F),di(!0),_?await Promise.all([q.invalidateQueries({queryKey:MN({client:W,path:{name:He}})}),q.invalidateQueries({predicate:GJ}),q.invalidateQueries({queryKey:["setup","resume-queries",He]})]):await r(),M({flowVersion:ft,onboardingSessionId:E,event:"onboarding.step_completed",step:"queries",method:$s?"generated":"manual",countBucket:si(F.length)},"onboarding.step_completed:queries"),ee(_?4:3)}catch(Qe){mi(Qe instanceof Error?Qe.message:"Failed to save queries"),M({flowVersion:ft,onboardingSessionId:E,event:"onboarding.blocked",step:"queries",action:"save",reasonCode:"query_save_failed"},"onboarding.blocked:queries:query_save_failed")}finally{Bo(!1)}}},Pa=async()=>{if(!(!He||!sn)){sl(!0),rl(null);try{const F=await nH(He,sn,Lo);if(F.queries.length>0){const Qe=Qt?Qt.trimEnd()+`
|
|
81
|
+
`+F.queries.join(`
|
|
82
|
+
`):F.queries.join(`
|
|
83
|
+
`);En(Qe),Ks(!0)}}catch(F){rl(F instanceof Error?F.message:"Failed to generate queries"),M({flowVersion:ft,onboardingSessionId:E,event:"onboarding.blocked",step:"queries",action:"generate_queries",reasonCode:jc(F,"unknown")},"onboarding.blocked:queries:generate")}finally{sl(!1)}}},yl=async()=>{if(!He)return;const F=yi;if(F.length!==0){Qa(!0),dl(null);try{await ZG(He,F),Ji(!0),await r(),M({flowVersion:ft,onboardingSessionId:E,event:"onboarding.step_completed",step:"competitors",method:"manual",countBucket:si(F.length)},"onboarding.step_completed:competitors"),ee(4)}catch(Qe){dl(Qe instanceof Error?Qe.message:"Failed to save competitors"),M({flowVersion:ft,onboardingSessionId:E,event:"onboarding.blocked",step:"competitors",action:"save",reasonCode:"unknown"},"onboarding.blocked:competitors:save")}finally{Qa(!1)}}},bl=async()=>{const F=es.trim();if(F){Ko(!0),Go(null);try{await DN("gemini",{apiKey:F}),yn({title:"Gemini configured",detail:"Provider is ready — continuing setup.",tone:"positive",dedupeKey:"setup:gemini:configured",dedupeMode:"drop"}),ru(""),await r(),hi(v.providerStatuses.find(Qe=>Qe.name.toLowerCase()==="gemini")?.name??"gemini"),M({flowVersion:ft,onboardingSessionId:E,event:"onboarding.step_completed",step:"system",method:"inline"},"onboarding.step_completed:system")}catch(Qe){Go(Qe instanceof Error?Qe.message:"Failed to save Gemini key"),M({flowVersion:ft,onboardingSessionId:E,event:"onboarding.blocked",step:"system",action:"configure_provider",reasonCode:"provider_save_failed"},"onboarding.blocked:system:provider_save_failed")}finally{Ko(!1)}}},bi=async()=>{if(!bo()){if(!He||Xa){zn(Xa??"Complete setup before launching the first sweep.");const F=ba??(He?ya===0?"no_queries":"run_rejected":"unknown");Ia||M({flowVersion:ft,onboardingSessionId:E,event:"run.requested",origin:"dashboard_setup",result:"rejected",providerCountBucket:si(xt),queryCountBucket:si(ya),reasonCode:F});return}Qs(!0),zn(null);try{const F=await fl.mutateAsync({projectName:He,projectLabel:xe||ke||He,sourceAction:"setup-launch"});ap(F.id),np(!0),vN(He,F.id),hl.current=F.id,Ia||M({flowVersion:ft,onboardingSessionId:E,event:"run.requested",origin:"dashboard_setup",result:"queued",providerCountBucket:si(xt),queryCountBucket:si(ya)}),await r()}catch(F){zn(F instanceof Error?F.message:"Failed to queue the visibility sweep. Retry when the instance is ready."),Ia||M({flowVersion:ft,onboardingSessionId:E,event:"run.requested",origin:"dashboard_setup",result:"rejected",providerCountBucket:si(xt),queryCountBucket:si(ya),reasonCode:jc(F,"run_rejected")})}finally{Qs(!1)}}},Mn=()=>ee(F=>_?2:Math.max(0,F-1)),Qo=(F,Qe,vi)=>{M({flowVersion:ft,onboardingSessionId:E,event:"onboarding.step_completed",step:F,method:"existing",...vi===void 0?{}:{countBucket:si(vi)}},`onboarding.step_completed:${F}`),ee(Qe)},vl=()=>{if(M({flowVersion:ft,onboardingSessionId:E,event:"onboarding.step_completed",step:"queries",method:"skipped",countBucket:"0"},"onboarding.step_completed:queries"),_){Ft();return}ee(3)},xl=()=>{M({flowVersion:ft,onboardingSessionId:E,event:"onboarding.step_completed",step:"competitors",method:"skipped",countBucket:"0"},"onboarding.step_completed:competitors"),ee(4)},Zs=_?"section":_a,va=Je!==!0||Ot===!0?l.jsx(le,{type:"button",variant:"ghost",size:"sm",className:"min-h-11",onClick:()=>{r(),Gs&&Ye.refetch()},children:"Check again"}):null,wl=(Je===!1||ga)&&!!ea,Ys=_&&(B===2||B===4)?x?l.jsxs("section",{"aria-labelledby":"setup-provider-heading",className:"space-y-3 border-b border-default pb-6 mb-6",children:[l.jsxs("div",{className:"flex flex-wrap items-center gap-3",children:[l.jsx("h2",{id:"setup-provider-heading",className:"text-lg font-semibold text-heading",children:Je===!1?"Connect a provider":"Answer engine provider"}),l.jsx(xn,{tone:Je===!0?"positive":"neutral",children:Je===!0?"Configured":Je===!1?"Not connected":"Checking"})]}),l.jsx("p",{className:"max-w-prose text-sm text-secondary",children:Je===!0?Tt.length>0?`${Tt.map(F=>F.displayName??F.name).join(", ")} available for this project. Research and sweeps use your provider account.`:"ChatGPT in Chrome is configured for sweeps. Query Research needs an API provider.":Je===!1?"An answer engine is required for visibility sweeps. You can save queries now and connect later.":"Checking available providers. You can choose queries while this finishes."}),Je===!1||ga?ea?l.jsx("div",{children:l.jsx(ZJ,{compact:!0,leadingField:l.jsxs("div",{className:"min-w-0 space-y-1.5",children:[l.jsx("label",{className:"block text-sm font-medium text-secondary",htmlFor:"setup-provider",children:"Provider to connect"}),l.jsx("select",{ref:su,id:"setup-provider",className:"setup-input",value:ea.name,onChange:F=>{F.target.value!==ea.name&&(Uo.current=document.activeElement===F.currentTarget,cl(F.target.value))},children:$o.map(F=>l.jsx("option",{value:F.name,children:F.displayName??F.name},F.name))})]}),secondaryActions:va,providerName:ea.name,keyUrl:ea.keyUrl,modelHint:ea.modelHint,onSaved:()=>{on(!1),r()}},ea.name)}):l.jsx("p",{className:"max-w-prose text-sm text-secondary",children:bn.length>0?`This project's provider selection is ${bn.join(", ")}. Configure an allowed provider in Settings, or change the selection in project Settings.`:"Provider configuration is unavailable here. Open Settings to connect an answer engine, then check again."}):null,l.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[Je===!0&&!ga&&ea?l.jsx(le,{type:"button",variant:"outline",size:"sm",onClick:()=>on(!0),children:"Configure a provider"}):null,!ea||Ot===!0?l.jsx(le,{type:"button",variant:"outline",size:"sm",asChild:!0,children:l.jsx(tt,{to:"/settings",target:"_blank",rel:"noopener noreferrer",children:"Open provider settings"})}):null,wl?null:va]})]}):l.jsxs("section",{"aria-labelledby":"setup-provider-heading",className:"space-y-2 border-b border-default pb-6 mb-6",children:[l.jsx("h2",{id:"setup-provider-heading",className:"text-lg font-semibold text-heading",children:"Answer engine provider"}),l.jsx("p",{className:"max-w-prose text-sm text-secondary",children:"Provider settings are managed by an administrator."}),Ee?l.jsx("p",{role:"alert",className:"text-sm text-negative",children:"Provider readiness could not be checked. Try again."}):l.jsx("p",{className:"max-w-prose text-sm text-secondary",role:"status",children:Je===!0?"An answer engine is available for this project.":Je===!1?"Ask an administrator to connect an answer engine for this project. You can save queries now.":"Checking provider readiness. You can save queries now."}),l.jsx(le,{type:"button",variant:"ghost",size:"sm",className:"min-h-11",disabled:Wn.isFetching,onClick:()=>{Wn.refetch()},children:Ee?"Retry provider check":"Check again"})]}):null,Ja=(()=>{switch(B){case 0:return l.jsxs(_a,{className:"surface-card step-card",children:[l.jsx("div",{className:"section-head",children:l.jsxs("div",{children:[l.jsx("p",{className:"eyebrow eyebrow-soft",children:"Step 1 of 5"}),l.jsx("h2",{children:"System check"})]})}),l.jsx("p",{className:"supporting-copy",children:"Checking that your Canonry instance is configured and reachable."}),l.jsx("div",{className:"compact-stack",children:N.healthChecks.map(F=>l.jsxs("div",{className:"health-check-row",children:[l.jsxs("div",{children:[l.jsx("p",{className:"run-row-title",children:F.label}),l.jsx("p",{className:"supporting-copy",children:F.detail}),F.id==="provider"&&F.state!=="ready"&&l.jsxs("div",{className:"mt-3 rounded-md border border-default bg-bg-elevated/40 p-3 space-y-2",children:[l.jsxs("p",{className:"text-xs text-secondary",children:["Paste a Gemini key to enable visibility checks (free at"," ",l.jsx("a",{href:"https://aistudio.google.com/apikey",target:"_blank",rel:"noreferrer",className:"text-positive-400 hover:text-positive underline underline-offset-2",children:"aistudio.google.com"}),")."]}),l.jsxs("div",{className:"flex items-center gap-2",children:[l.jsx("input",{type:"password",value:es,onChange:Qe=>ru(Qe.target.value),placeholder:"AI... (paste here)",className:"flex-1 rounded-md border border-base bg-bg px-2.5 py-1.5 text-sm text-heading placeholder:text-faint focus:border-mono-600 focus:outline-none font-mono",disabled:In}),l.jsx(le,{type:"button",size:"sm",disabled:In||!es.trim(),onClick:fn(bl),children:In?"Saving...":"Save"})]}),gl&&l.jsxs("div",{role:"alert",className:"space-y-1 text-xs text-negative",children:[l.jsx("p",{children:gl}),l.jsx("p",{children:"Check that the key is complete, then retry Save."})]}),l.jsxs("p",{className:"text-sm text-secondary",children:["Connect more answer engines later in"," ",l.jsx(tt,{to:"/settings",className:"text-link hover:underline",children:"Settings"}),"."]})]})]}),l.jsx(xn,{tone:F.state==="ready"?"positive":"caution",title:F.id==="api"?Vr(S.apiStatus):F.id==="worker"?Vr(S.workerStatus):F.detail,children:F.state==="ready"?"Ready":"Attention"})]},F.id))}),l.jsxs("div",{className:"setup-nav",children:[N.launchState.blockedReason?l.jsx("p",{role:"status",className:"supporting-copy text-negative",children:N.launchState.blockedReason}):l.jsx("span",{}),l.jsx(le,{type:"button",disabled:!N.launchState.enabled,title:N.launchState.blockedReason,onClick:()=>{M({flowVersion:ft,onboardingSessionId:E,event:"onboarding.step_completed",step:"system",method:"automatic"},"onboarding.step_completed:system"),ee(Le)},children:"Continue"})]})]});case 1:return l.jsxs(_a,{className:"surface-card step-card",children:[l.jsxs("div",{className:"section-head",children:[l.jsxs("div",{children:[l.jsx("p",{className:"eyebrow eyebrow-soft",children:"Step 2 of 5"}),l.jsx("h2",{children:"Create project"})]}),He?l.jsx(xn,{tone:"positive",children:"Created"}):null]}),He?l.jsxs("div",{className:"compact-stack",children:[l.jsxs("p",{className:"text-neutral",children:["Project ",l.jsx("span",{className:"text-heading font-medium",children:He})," created successfully."]}),l.jsxs("div",{className:"setup-nav",children:[l.jsx(le,{type:"button",variant:"outline",onClick:Mn,children:"Back"}),l.jsx(le,{type:"button",onClick:()=>Qo("project",2),children:"Continue"})]})]}):l.jsxs("div",{className:"compact-stack",children:[l.jsxs("div",{className:"setup-field",children:[l.jsx("label",{className:"setup-label",htmlFor:"project-name",children:"Project name"}),l.jsx("input",{id:"project-name",className:"setup-input",type:"text",placeholder:"my-website",value:ke,onChange:F=>Ie(F.target.value)}),Kn&&Kn!==ke?l.jsxs("p",{className:"supporting-copy",children:["Slug: ",Kn]}):null]}),l.jsxs("div",{className:"setup-field",children:[l.jsx("label",{className:"setup-label",htmlFor:"display-name",children:"Display name (optional)"}),l.jsx("input",{id:"display-name",className:"setup-input",type:"text",placeholder:"My Website",value:xe,onChange:F=>de(F.target.value)})]}),l.jsxs("div",{className:"setup-field",children:[l.jsx("label",{className:"setup-label",htmlFor:"domain",children:"Canonical domain"}),l.jsx("input",{id:"domain",className:"setup-input",type:"text",placeholder:"example.com",value:ce,onChange:F=>Y(F.target.value)})]}),l.jsxs("div",{className:"setup-field-row",children:[l.jsxs("div",{className:"setup-field",children:[l.jsx("label",{className:"setup-label",htmlFor:"country",children:"Country"}),l.jsx("input",{id:"country",className:"setup-input",type:"text",placeholder:"US",maxLength:2,value:me,onChange:F=>Pe(F.target.value.toUpperCase())})]}),l.jsxs("div",{className:"setup-field",children:[l.jsx("label",{className:"setup-label",htmlFor:"language",children:"Language"}),l.jsx("input",{id:"language",className:"setup-input",type:"text",placeholder:"en",maxLength:5,value:Ne,onChange:F=>st(F.target.value.toLowerCase())})]})]}),l.jsxs("label",{className:"flex items-start gap-3 rounded-md border border-default bg-surface p-3 cursor-pointer hover:border-strong",children:[l.jsx("input",{type:"checkbox",className:"mt-0.5 h-4 w-4 rounded border-strong bg-bg",checked:$e,onChange:F=>Nt(F.target.checked)}),l.jsxs("span",{className:"flex-1",children:[l.jsx("span",{className:"block text-sm text-heading",children:"Auto-extract backlinks"}),l.jsxs("span",{className:"block text-xs text-muted mt-0.5",children:["When a new Common Crawl release syncs, automatically extract backlinks for this project."," ",l.jsx(tt,{to:"/backlinks",className:"text-positive-400 hover:text-positive underline underline-offset-2",children:"Manage backlinks"})]})]})]}),at?l.jsx("p",{className:"text-negative-400 text-sm",children:at}):null,l.jsxs("div",{className:"setup-nav",children:[l.jsx(le,{type:"button",variant:"outline",onClick:Mn,children:"Back"}),l.jsx(le,{type:"button",disabled:!Kn||!ce||qn,onClick:fn(sp),children:qn?"Creating...":"Create project"})]})]})]});case 2:return l.jsxs(Zs,{className:_?"visibility-setup-section step-card":"surface-card step-card","aria-labelledby":"setup-queries-heading",children:[l.jsxs("div",{className:"section-head",children:[l.jsxs("div",{children:[l.jsx("p",{className:"eyebrow eyebrow-soft",children:_?"Step 1 of 2":"Step 3 of 5"}),l.jsx("h2",{id:"setup-queries-heading",children:"Add queries"})]}),oe?l.jsx(xn,{tone:"neutral",children:"Loading"}):V.isError?l.jsx(xn,{tone:"negative",children:"Load failed"}):Vt?l.jsxs(xn,{tone:"positive",children:[ta.length," saved"]}):l.jsxs(xn,{tone:"neutral",children:[ta.length," quer",ta.length!==1?"ies":"y"]})]}),l.jsx("p",{className:"supporting-copy",children:"Add the queries your customers use, one per line. You can refine your list later."}),l.jsxs("div",{className:"space-y-2 border-b border-default pb-4",children:[l.jsxs("div",{className:"flex flex-col gap-3 sm:flex-row sm:items-start sm:justify-between",children:[l.jsxs("div",{className:"min-w-0 space-y-1",children:[l.jsx("h3",{className:"text-sm font-semibold text-heading",children:"Research queries with your agent"}),l.jsx("p",{className:"max-w-prose text-sm text-secondary",children:"Ask your agent to compare answers and available sources with Canonry Research, then recommend queries. Research does not change your tracked queries."})]}),l.jsx(le,{type:"button",variant:"outline",size:"sm",className:"min-h-11 shrink-0 self-start",onClick:fn(ul),children:Dn?"Research prompt copied":"Copy research prompt"})]}),l.jsxs("details",{open:Vo||void 0,className:"text-sm text-secondary",children:[l.jsx("summary",{className:"min-h-11 cursor-pointer py-3 text-link",children:"View agent prompt"}),l.jsx("textarea",{"aria-label":"Agent query research prompt",readOnly:!0,className:"setup-textarea mt-2 w-full",rows:8,value:Zi})]}),Vo?l.jsx("p",{role:"alert",className:"text-sm text-negative",children:"Could not copy. Select and copy the prompt above."}):null]}),oe?l.jsx("div",{className:"rounded-md border border-default bg-bg-elevated/40 p-4 text-sm text-secondary",role:"status",children:"Loading saved queries…"}):V.isError?l.jsxs("div",{className:"compact-stack",children:[l.jsx("div",{role:"alert",className:"rounded-md border border-negative bg-negative-soft p-3 text-sm text-negative",children:"Saved queries could not be loaded. Retry before changing the query basket."}),l.jsxs("div",{className:"setup-nav",children:[l.jsx(le,{type:"button",variant:"outline",onClick:_?Me:Mn,children:"Back"}),l.jsx(le,{type:"button",onClick:()=>{V.refetch()},children:"Retry loading queries"})]})]}):Vt?l.jsxs("div",{className:"compact-stack",children:[l.jsx("ul",{className:"detail-list",children:ta.map(F=>l.jsx("li",{children:F},F))}),l.jsxs("div",{className:"setup-nav",children:[l.jsx(le,{type:"button",variant:"outline",onClick:_?Me:Mn,children:"Back"}),l.jsx(le,{type:"button",variant:"outline",onClick:()=>di(!1),children:"Edit queries"}),l.jsx(le,{type:"button",onClick:()=>Qo("queries",_?4:3,ta.length),children:"Continue"})]})]}):l.jsxs("div",{className:"compact-stack",children:[Tt.length>0?l.jsxs("div",{className:"compact-stack",children:[l.jsxs("div",{className:"flex items-center gap-2 text-muted text-xs uppercase tracking-wide",children:[l.jsx("span",{className:"flex-1 border-t border-base"}),"auto-generate",l.jsx("span",{className:"flex-1 border-t border-base"})]}),l.jsxs("div",{className:"flex items-end gap-2",children:[l.jsxs("div",{className:"setup-field flex-1",children:[l.jsx("label",{className:"setup-label",htmlFor:"gen-provider",children:"Provider"}),l.jsx("select",{id:"gen-provider",className:"setup-input",value:sn,onChange:F=>hi(F.target.value),children:Tt.map(F=>l.jsxs("option",{value:F.name,children:[F.displayName??F.name,F.model?` (${F.model})`:""]},F.name))})]}),l.jsxs("div",{className:"setup-field",children:[l.jsx("label",{className:"setup-label",htmlFor:"gen-count",children:"Count"}),l.jsx("select",{id:"gen-count",className:"setup-input",value:Lo,onChange:F=>Hs(Number(F.target.value)),children:[3,5,10,15,20].map(F=>l.jsx("option",{value:F,children:F},F))})]}),l.jsx(le,{type:"button",variant:"outline",disabled:iu||!sn,onClick:fn(Pa),children:iu?"Analyzing site...":"Generate"})]}),ol?l.jsx("p",{className:"text-negative-400 text-sm",children:ol}):null]}):null,_?null:l.jsxs("div",{className:"flex items-center gap-2 text-muted text-xs uppercase tracking-wide",children:[l.jsx("span",{className:"flex-1 border-t border-base"}),"or type manually",l.jsx("span",{className:"flex-1 border-t border-base"})]}),l.jsxs("div",{className:"setup-field",children:[l.jsx("label",{className:"setup-label",htmlFor:"queries",children:"Queries (one per line)"}),l.jsx("textarea",{id:"queries",className:"setup-textarea",rows:6,placeholder:`emergency dentist brooklyn
|
|
84
|
+
best invisalign downtown brooklyn
|
|
85
|
+
pediatric dentist brooklyn heights`,value:Qt,onChange:F=>En(F.target.value)})]}),Vs?l.jsx("p",{className:"text-negative-400 text-sm",children:Vs}):null,l.jsxs("div",{className:"setup-nav",children:[l.jsx(le,{type:"button",variant:"outline",onClick:_?Me:Mn,children:"Back"}),l.jsx(le,{type:"button",variant:"ghost",onClick:vl,children:_?"Finish without AI Visibility":"Skip for now"}),l.jsx(le,{type:"button",disabled:ta.length===0||Rn,onClick:fn(Fo),children:Rn?"Saving...":`Save ${ta.length} quer${ta.length!==1?"ies":"y"}`})]})]})]});case 3:return l.jsxs(_a,{className:"surface-card step-card",children:[l.jsxs("div",{className:"section-head",children:[l.jsxs("div",{children:[l.jsx("p",{className:"eyebrow eyebrow-soft",children:"Step 4 of 5"}),l.jsx("h2",{children:"Add competitors"})]}),Xi?l.jsx(xn,{tone:"positive",children:"Saved"}):null]}),l.jsx("p",{className:"supporting-copy",children:"Optional. Domains that compete for the same queries, one per line. You can add them later from the project."}),Xi?l.jsxs("div",{className:"compact-stack",children:[l.jsx("ul",{className:"detail-list",children:yi.map(F=>l.jsx("li",{children:F},F))}),l.jsxs("div",{className:"setup-nav",children:[l.jsx(le,{type:"button",variant:"outline",onClick:Mn,children:"Back"}),l.jsx(le,{type:"button",onClick:()=>Qo("competitors",4,yi.length),children:"Continue"})]})]}):l.jsxs("div",{className:"compact-stack",children:[l.jsxs("div",{className:"setup-field",children:[l.jsx("label",{className:"setup-label",htmlFor:"competitors",children:"Competitor domains (one per line)"}),l.jsx("textarea",{id:"competitors",className:"setup-textarea",rows:4,placeholder:`competitor1.com
|
|
86
|
+
competitor2.com`,value:fi,onChange:F=>Yi(F.target.value)})]}),en?l.jsx("p",{className:"text-negative-400 text-sm",children:en}):null,l.jsxs("div",{className:"setup-nav",children:[l.jsx(le,{type:"button",variant:"outline",onClick:Mn,children:"Back"}),l.jsx("div",{className:"flex gap-2",children:yi.length===0?l.jsx(le,{type:"button",onClick:xl,children:"Continue without competitors"}):l.jsxs(l.Fragment,{children:[l.jsx(le,{type:"button",variant:"outline",onClick:xl,children:"Skip"}),l.jsx(le,{type:"button",disabled:ml,onClick:fn(yl),children:ml?"Saving...":`Save ${yi.length} competitor${yi.length!==1?"s":""}`})]})})]})]})]});case 4:{const F=Ya.data,Qe=F?.status??(Wi===We?.id?We.status:void 0),vi=Qe==="completed"||Qe==="partial"||Qe==="failed"||Qe==="cancelled",ts=F?.snapshots??[],qa=F?.queryCounts,kl=Qe?sS(Qe,ts.length):!1,An=Ve&&!Za,xi=jn??(F?.error?UH(F.error):Qe==="cancelled"?"The sweep was cancelled before it produced a baseline.":(Qe==="completed"||Qe==="partial")&&ts.length===0?"The sweep finished without producing any snapshots.":We?.statusDetail||"The sweep did not produce a baseline.");let Wa=null;return An||kl?Wa=l.jsx(xn,{tone:"positive",children:"Complete"}):jn&&!Za?Wa=l.jsx(xn,{tone:"negative",children:"Failed"}):vi?Wa=l.jsx(xn,{tone:"negative",children:Qe==="cancelled"?"Cancelled":"Failed"}):Za&&(Wa=l.jsx(xn,{tone:"caution",children:"Running"})),l.jsxs(_a,{className:"surface-card step-card",children:[l.jsxs("div",{className:"section-head",children:[l.jsxs("div",{children:[l.jsx("p",{className:"eyebrow eyebrow-soft",children:_?"Step 2 of 2":"Step 5 of 5"}),l.jsx("h2",{children:bo()?"AI Visibility":"Launch first run"})]}),Wa]}),An?l.jsxs("div",{className:"compact-stack",children:[l.jsxs("p",{className:"text-secondary",children:["Setup is complete. ",l.jsx("span",{className:"text-strong font-medium",children:He})," already has a successful answer-visibility baseline."]}),l.jsxs("div",{className:"setup-nav",children:[l.jsx("span",{}),l.jsx(le,{type:"button",onClick:()=>ct(),children:f?"Finish setup":"Open project dashboard →"})]})]}):!Za&&bo()?l.jsxs("div",{className:"compact-stack",children:[He?l.jsx(sX,{projectName:He}):l.jsx("p",{className:"text-sm text-secondary",children:Dg}),jn&&l.jsx("p",{role:"alert",className:"text-sm text-negative",children:jn}),l.jsxs("div",{className:"setup-nav",children:[l.jsx("span",{}),l.jsx(le,{type:"button",onClick:Me,children:"Open project dashboard →"})]})]}):Za?vi?kl?l.jsxs("div",{className:"compact-stack",children:[l.jsxs("p",{className:"text-neutral",children:["Sweep complete. Your first answer-visibility snapshot for"," ",l.jsx("span",{className:"text-heading font-medium",children:He}),":"]}),l.jsxs("div",{className:"grid grid-cols-3 gap-2 mt-1",children:[l.jsxs("div",{className:"rounded-md border border-default bg-surface p-3",children:[l.jsx("p",{className:"text-xs font-medium text-secondary",children:"Mentioned"}),l.jsx("p",{className:"text-2xl font-bold tabular-nums text-primary mt-1",children:qa?l.jsxs(l.Fragment,{children:[qa.mentionedQueries,l.jsxs("span",{className:"text-faint text-lg",children:[" / ",qa.totalQueries]})]}):"Unavailable"}),l.jsx("p",{className:"mt-0.5 text-sm text-secondary",children:"queries naming your brand"})]}),l.jsxs("div",{className:"rounded-md border border-default bg-surface p-3",children:[l.jsx("p",{className:"text-xs font-medium text-secondary",children:"Cited"}),l.jsx("p",{className:"text-2xl font-bold tabular-nums text-primary mt-1",children:qa?l.jsxs(l.Fragment,{children:[qa.citedQueries,l.jsxs("span",{className:"text-faint text-lg",children:[" / ",qa.totalQueries]})]}):"Unavailable"}),l.jsx("p",{className:"mt-0.5 text-sm text-secondary",children:"queries citing your site"})]}),l.jsxs("div",{className:"rounded-md border border-default bg-surface p-3",children:[l.jsx("p",{className:"text-xs font-medium text-secondary",children:"Results"}),l.jsx("p",{className:"text-2xl font-bold tabular-nums text-primary mt-1",children:ts.length}),l.jsx("p",{className:"mt-0.5 text-sm text-secondary",children:"completed engine checks"})]})]}),!b&&He?l.jsx(QJ,{projectName:He}):null,l.jsxs("div",{className:"setup-nav",children:[l.jsx("span",{}),l.jsx(le,{type:"button",onClick:()=>ct(),children:f?"Finish setup":"Open project dashboard →"})]})]}):l.jsxs("div",{className:"compact-stack",children:[l.jsxs("div",{role:"alert",className:"rounded-md border border-negative bg-negative-soft p-3 text-sm text-negative",children:[l.jsx("p",{children:xi}),l.jsx("p",{className:"mt-1 text-xs text-secondary",children:bo()?Dg:x?"Fix provider or query configuration if needed, then retry without leaving setup.":"Ask an administrator to review the provider and query configuration."})]}),l.jsxs("div",{className:"setup-nav",children:[x&&!bo()?l.jsx(le,{type:"button",variant:"outline",asChild:!0,children:l.jsx(tt,{to:"/settings",children:"Configure providers"})}):l.jsx("span",{}),bo()||!x?l.jsx(le,{type:"button",onClick:Me,children:"Open project dashboard →"}):l.jsx(le,{type:"button",disabled:gi||!!Xa,onClick:fn(bi),children:gi?"Retrying...":"Retry visibility sweep"})]})]}):l.jsxs("div",{className:"compact-stack",children:[l.jsx("p",{className:"text-neutral",children:"Sweep running. This usually takes 30 to 60 seconds."}),l.jsx("div",{className:"rounded-md border border-default bg-surface p-3 text-xs text-muted",children:l.jsxs("p",{children:["Status: ",l.jsx("span",{className:"text-neutral",children:Qe??"queued"})]})}),Ya.isError&&l.jsxs("div",{role:"alert",className:"rounded-md border border-negative bg-negative-soft p-3 text-sm text-negative",children:[l.jsx("p",{children:Ya.error instanceof Error?Ya.error.message:"Could not refresh the sweep status."}),l.jsx(le,{type:"button",variant:"outline",size:"sm",className:"mt-2",onClick:()=>{Ya.refetch()},children:"Retry status check"})]}),l.jsxs("div",{className:"setup-nav",children:[l.jsx("span",{}),l.jsx(le,{type:"button",variant:"outline",onClick:f?()=>ct():Me,children:f?"Finish setup":"Watch on project page"})]})]}):l.jsxs("div",{className:"compact-stack",children:[l.jsxs("p",{className:"supporting-copy",children:["Your queries are saved. Run a first sweep to get a baseline for"," ",l.jsx("span",{className:"text-heading font-medium",children:He}),", or finish and run it later from the project. A sweep calls the answer engines, so it costs provider usage."]}),(Xa||jn)&&l.jsxs("div",{role:"alert",className:"rounded-md border border-negative bg-negative-soft p-3 text-sm text-negative",children:[l.jsx("p",{children:jn??Xa}),l.jsx("p",{className:"mt-1 text-xs text-secondary",children:"Resolve the blocker above, then retry the sweep here."})]}),l.jsxs("div",{className:"setup-nav",children:[l.jsx(le,{type:"button",variant:"outline",onClick:Mn,children:"Back"}),l.jsx(le,{type:"button",variant:"ghost",onClick:Ft,children:"Finish without running"}),ba==="no_provider"&&!_?l.jsx(le,{type:"button",asChild:!0,children:l.jsx(tt,{to:"/settings",children:"Configure a provider"})}):l.jsx(le,{type:"button",disabled:gi||!!Xa,title:Xa,onClick:fn(bi),children:gi?"Launching...":jn?"Retry visibility sweep":"Launch visibility sweep"})]})]})]})}default:return null}})();return l.jsxs("div",{className:_?"page-container visibility-setup":"page-container",children:[f?l.jsx(Eo,{current:"visibility"}):null,l.jsxs("div",{className:"page-header",children:[l.jsxs("div",{className:"page-header-left",children:[l.jsx("h1",{ref:u?h:void 0,tabIndex:u?-1:void 0,className:"page-title",children:u?"Set up AI Visibility":"Setup"}),l.jsx("p",{className:"page-subtitle",children:u?"Connect an answer engine, then choose queries for your first sweep.":"Create a project and run its first visibility check."})]}),f?l.jsx("div",{className:"page-header-right",children:l.jsx(le,{type:"button",variant:"outline",className:"min-h-11",onClick:Ft,children:"Skip AI Visibility"})}):null]}),f?null:l.jsx(eW,{current:_?B===4?1:0:B,labels:_?JJ:XJ}),l.jsxs("section",{className:"setup-wizard",children:[Ys,Ja]})]})}const Ff="canonry mcp install --client claude-code",aW="https://github.com/Canonry/canonry/blob/main/docs/mcp.md";function iW(){const e=C.useRef(b1()).current,n=C.useRef(new Set),i=C.useCallback((r,u)=>{n.current.has(r)||(n.current.add(r),S1({...u,flowVersion:ft,onboardingSessionId:e,surface:"platform",eventId:v1()}))},[e]);return C.useEffect(()=>{i("started",{event:"onboarding.started",step:"finish",resumed:!1})},[i]),C.useCallback(r=>{i(`action:${r}`,{event:"onboarding.step_completed",step:"finish",method:"manual",nextAction:r})},[i])}const ep=C.createContext(()=>{});function sW({projectName:e,skippedVisibility:n=!1}){const i=yt({...AQ({client:W,path:{name:e}}),retry:!1}),r=i.data?.hasData?i.data:null,u=iW(),h=lS(e,De["site-audit"]),f=lS(e,De["answer-visibility"]),b={...h?{site:h,fixes:h}:{},...oW(f,n)};return l.jsx(ep.Provider,{value:u,children:l.jsxs("div",{className:"page-container max-w-6xl py-8 md:py-10",children:[l.jsx(Eo,{current:"done",outcomes:b}),l.jsxs("header",{className:"relative mx-auto mt-12 max-w-2xl text-center md:mt-16",children:[l.jsx(rW,{}),l.jsx("p",{className:"onb-reveal mt-6 text-sm font-medium text-positive",style:Ta(250),children:"Setup complete"}),l.jsx("h1",{className:"onb-reveal mt-2 text-5xl font-semibold tracking-tight text-heading md:text-6xl",style:Ta(350),children:"You’re set."}),l.jsxs("p",{className:"onb-reveal mx-auto mt-4 max-w-xl text-lg text-secondary",style:Ta(450),children:["Canonry is tracking ",l.jsx("span",{className:"font-medium text-heading",children:e}),". Here’s how to get the most out of it from here."]})]}),l.jsxs("div",{className:"mt-14 grid gap-4 md:grid-cols-6",children:[l.jsx(Td,{className:"md:col-span-4 md:row-span-2",delayMs:600,labelledBy:"onb-agent-heading",children:l.jsx(uW,{projectName:e})}),l.jsx(Td,{className:"md:col-span-2 md:row-span-2",delayMs:700,labelledBy:"onb-data-heading",children:l.jsx(pW,{projectName:e})}),l.jsx(Td,{className:"md:col-span-3",delayMs:800,labelledBy:"onb-schedule-heading",children:l.jsx(gW,{projectName:e})}),l.jsx(Td,{className:"md:col-span-3",delayMs:900,labelledBy:"onb-alerts-heading",children:l.jsx(yW,{projectName:e,score:r?.aggregateScore??null})})]}),l.jsxs("div",{className:"onb-reveal mt-12 flex flex-col items-center gap-3 sm:flex-row sm:justify-center",style:Ta(1e3),children:[l.jsx(le,{asChild:!0,className:"h-11 rounded-full px-6 text-base md:h-11",children:l.jsxs(tt,{to:"/projects/$projectName",params:{projectName:e},replace:!0,onClick:()=>u("open_project"),children:["Open ",e,l.jsx(_c,{className:"size-4","aria-hidden":"true"})]})}),l.jsx(le,{asChild:!0,variant:"ghost",className:"h-11 rounded-full px-5 md:h-11",children:l.jsx(tt,{to:"/projects/$projectName/technical-aeo",params:{projectName:e},replace:!0,onClick:()=>u("review_page_health"),children:"Review page health"})})]})]})})}function lS(e,n){const i=yt({...BN({client:W,path:{name:e},query:{kind:n,limit:20}}),retry:!1,refetchInterval:r=>cS(r.state.status==="success"?{isSuccess:!0,data:r.state.data}:{isSuccess:!1})==="pending"?5e3:!1});return cS(i)}function oW(e,n){return e===void 0?{}:n?{visibility:"skipped"}:{visibility:e}}function cS(e){if(!e.isSuccess||!e.data)return"unknown";const n=e.data.filter(i=>i.trigger!==Va.probe);if(!n.some(i=>i.status===jt.completed||i.status===jt.partial))return n.some(i=>i.status===jt.queued||i.status===jt.running)?"pending":n.length>0?"incomplete":"skipped"}function Ta(e){return{"--onb-delay":`${e}ms`}}function rW(){return l.jsx("div",{className:"onb-check relative mx-auto size-20","aria-hidden":"true",children:l.jsxs("svg",{viewBox:"0 0 80 80",className:"relative size-20",children:[l.jsx("circle",{className:"onb-check-ring",cx:"40",cy:"40",r:"36",fill:"none",strokeWidth:"3",pathLength:"1"}),l.jsx("path",{className:"onb-check-mark",d:"M25 41 L35 51 L56 30",fill:"none",strokeWidth:"4",strokeLinecap:"round",strokeLinejoin:"round",pathLength:"1"})]})})}function Td({className:e="",delayMs:n,labelledBy:i,children:r}){return l.jsx("section",{"aria-labelledby":i,className:`onb-reveal onb-tile flex flex-col overflow-hidden rounded-2xl border border-default bg-surface p-6 md:p-7 ${e}`,style:Ta(n),children:r})}function tp({id:e,eyebrow:n,title:i,children:r}){return l.jsxs("div",{children:[l.jsx("p",{className:"text-xs font-medium uppercase tracking-wide text-muted",children:n}),l.jsx("h2",{id:e,className:"mt-1.5 text-2xl font-semibold tracking-tight text-heading",children:i}),l.jsx("p",{className:"mt-2 text-sm text-secondary",children:r})]})}const Ed=[{id:"diagnose",label:"Diagnose",prompt:"Why did we lose citations this week?",calls:["canonry_insights_list","canonry_competitor_landscape"],reply:"Two engines started citing a competitor’s comparison page instead of yours. Want me to draft one that answers the same query?"},{id:"fix",label:"Fix",prompt:"Fix the weakest pages on the site.",calls:["canonry_technical_aeo_pages","canonry_site_health_page_audit"],reply:"The lowest-scoring pages are missing structured data and answer-first intros. I’ve written the changes for you to review."},{id:"automate",label:"Automate",prompt:"Re-check everything every Monday and tell me in Slack.",calls:["canonry_schedule_set","canonry_agent_webhook_attach"],reply:"Done. A sweep runs every Monday, and I’ll post what changed to Slack."}],lW=9e3;function cW(){return typeof window<"u"&&typeof window.matchMedia=="function"&&window.matchMedia("(prefers-reduced-motion: reduce)").matches}function uW({projectName:e}){const n=C.useContext(ep),[i,r]=C.useState(0),[u,h]=C.useState(!1),[f,b]=C.useState(!1);C.useEffect(()=>{if(u||cW())return;const k=window.setTimeout(()=>r(S=>(S+1)%Ed.length),lW);return()=>window.clearTimeout(k)},[i,u]);const v=async()=>{try{await navigator.clipboard.writeText(Ff),n("copy_agent_command"),b(!0),window.setTimeout(()=>b(!1),1800)}catch{yn({tone:"negative",title:"Could not copy the command",detail:`Run ${Ff} in your terminal.`})}},x=Ed[i]??Ed[0];return l.jsxs(l.Fragment,{children:[l.jsxs(tp,{id:"onb-agent-heading",eyebrow:"Your agent",title:"Let your agent run it.",children:["Your agent can do everything in Canonry: diagnose a drop, fix pages, run sweeps and scans, and write the client report. Use Claude Code, Codex, Cursor, or Aero, the analyst built into"," ",l.jsx("span",{className:"text-heading",children:e})," that reviews every sweep on its own."]}),l.jsxs("div",{className:"mt-6 flex flex-1 flex-col rounded-xl border border-default bg-bg",onMouseEnter:()=>h(!0),onMouseLeave:()=>h(!1),onFocus:()=>h(!0),children:[l.jsxs("div",{className:"flex items-center gap-1 border-b border-default px-3 py-2",role:"tablist","aria-label":"Example agent sessions",children:[Ed.map((k,S)=>l.jsx("button",{type:"button",role:"tab","aria-selected":S===i,onClick:()=>{r(S),h(!0)},className:`rounded-md px-2.5 py-1 text-xs font-medium transition-colors ${S===i?"bg-surface-inset text-heading":"text-muted hover:text-secondary"}`,children:k.label},k.id)),l.jsx("span",{className:"ml-auto text-xs text-faint",children:"Example"})]}),l.jsxs("div",{role:"tabpanel","aria-label":`${x.label} example`,className:"flex-1 p-4 font-mono text-[13px] leading-relaxed",children:[l.jsxs("p",{className:"onb-type text-heading",style:Ta(150),children:[l.jsx("span",{className:"text-muted",children:"> "}),x.prompt]}),x.calls.map((k,S)=>l.jsxs("p",{className:"onb-line mt-1 text-muted first:mt-3",style:Ta(1300+S*450),children:[l.jsx("span",{className:"text-positive",children:"●"})," ",k]},k)),l.jsx("p",{className:"onb-line mt-3 text-secondary",style:Ta(1500+x.calls.length*450),children:x.reply}),l.jsx("span",{className:"onb-caret mt-2 inline-block h-4 w-2 bg-current align-middle text-secondary",style:Ta(1900+x.calls.length*450),"aria-hidden":"true"})]},x.id)]}),l.jsxs("div",{className:"mt-4 flex flex-wrap items-center gap-2",children:[l.jsx("code",{className:"min-w-0 flex-1 truncate rounded-lg border border-default bg-surface-inset px-3 py-2 font-mono text-[13px] text-heading",children:Ff}),l.jsxs(le,{type:"button",variant:"secondary",size:"sm",className:"h-9 md:h-9",onClick:()=>{v()},children:[f?l.jsx(Bc,{className:"size-4","aria-hidden":"true"}):l.jsx(Gg,{className:"size-4","aria-hidden":"true"}),f?"Copied":"Copy"]}),l.jsx("a",{href:aW,target:"_blank",rel:"noreferrer",className:"text-sm font-medium text-link underline-offset-4 hover:underline",children:"Other clients"})]})]})}const dW=[{icon:Kg,label:"Search Console",action:"connect_search_console",to:"/projects/$projectName/search-console"},{icon:AS,label:"Google Analytics",action:"connect_analytics",to:"/projects/$projectName/activity"},{icon:CS,label:"Business Profile",action:"connect_business_profile",to:"/projects/$projectName/local"}],mW=["GPTBot","ClaudeBot","PerplexityBot"];function pW({projectName:e}){const n=C.useContext(ep);return l.jsxs(l.Fragment,{children:[l.jsx(tp,{id:"onb-data-heading",eyebrow:"Server-side traffic",title:"See the AI bots.",children:"AI crawlers and answer-engine fetches never run JavaScript, so Google Analytics never sees them. Canonry reads them straight from your server."}),l.jsx(hW,{}),l.jsxs(tt,{to:"/traffic",onClick:()=>n("connect_server_traffic"),"aria-label":"Connect server-side traffic",className:"group flex items-center gap-3 rounded-xl border border-strong bg-surface-inset px-4 py-3 text-sm font-medium text-heading transition-colors hover:bg-surface-inset-hover",children:[l.jsx(_S,{className:"size-4 text-positive","aria-hidden":"true"}),l.jsxs("span",{className:"flex-1",children:["Connect your server",l.jsx("span",{className:"block text-xs font-normal text-secondary",children:"Cloudflare, Vercel, WordPress, or Cloud Run"})]}),l.jsx(_c,{className:"size-4 text-link transition-transform group-hover:translate-x-0.5","aria-hidden":"true"})]}),l.jsx("p",{className:"mt-5 text-xs font-medium uppercase tracking-wide text-muted",children:"Also connect"}),l.jsx("ul",{className:"mt-1 divide-y divide-default",children:dW.map(({icon:i,label:r,action:u,to:h})=>l.jsx("li",{children:l.jsxs(tt,{to:h,params:{projectName:e},"aria-label":`Connect ${r}`,onClick:()=>n(u),className:"group flex items-center gap-3 py-2.5 text-sm text-heading",children:[l.jsx(i,{className:"size-4 text-muted","aria-hidden":"true"}),l.jsx("span",{className:"flex-1",children:r}),l.jsx(_c,{className:"size-3.5 text-link transition-transform group-hover:translate-x-0.5","aria-hidden":"true"})]})},r))})]})}function hW(){const e=[22,70,118];return l.jsxs("div",{className:"relative my-6 h-36","aria-hidden":"true",children:[l.jsx("svg",{viewBox:"0 0 200 140",preserveAspectRatio:"none",className:"absolute inset-0 size-full",children:e.map((n,i)=>l.jsx("path",{className:"onb-flow",style:Ta(i*400),d:`M20 ${n} C 100 ${n}, 118 70, 170 70`,fill:"none",strokeWidth:"1.5"},n))}),mW.map((n,i)=>l.jsx("span",{className:"onb-bot absolute left-0 -translate-y-1/2 rounded-md border border-default bg-bg-elevated px-2 py-1 font-mono text-[11px] text-secondary",style:{top:`${(e[i]??70)/140*100}%`,...Ta(i*600)},children:n},n)),l.jsx("span",{className:"onb-hub absolute right-0 top-1/2 flex size-11 -translate-y-1/2 items-center justify-center rounded-2xl bg-accent text-on-inverse",children:l.jsx(_S,{className:"size-5"})})]})}const fW=["M","T","W","T","F","S","S"];function gW({projectName:e}){return l.jsxs(l.Fragment,{children:[l.jsx(tp,{id:"onb-schedule-heading",eyebrow:"Scheduled sweeps",title:"Runs on its own.",children:"Re-measure every week without lifting a finger, so a drop shows up before a customer notices."}),l.jsx("ol",{className:"mt-6 grid grid-cols-7 gap-2","aria-hidden":"true",children:fW.map((n,i)=>l.jsxs("li",{className:"flex flex-col items-center gap-2",children:[l.jsx("span",{className:"onb-day size-3 rounded-full bg-surface-inset",style:Ta(i*500)}),l.jsx("span",{className:"text-xs text-muted",children:n})]},i))}),l.jsx(TC,{projectName:e,to:"/projects/$projectName/settings",icon:NS,label:"Set a schedule",action:"set_schedule"})]})}function yW({projectName:e,score:n}){return l.jsxs(l.Fragment,{children:[l.jsx(tp,{id:"onb-alerts-heading",eyebrow:"Notifications",title:"Hear about changes.",children:"Get a webhook in Slack or anywhere else when a sweep finishes or a score moves."}),l.jsxs("div",{className:"relative mt-6 flex h-14 items-center","aria-hidden":"true",children:[l.jsx("span",{className:"onb-bell flex size-10 items-center justify-center rounded-full border border-default bg-bg-elevated",children:l.jsx(Yf,{className:"size-4 text-secondary"})}),l.jsxs("span",{className:"onb-toast ml-3 flex items-center gap-2 rounded-xl border border-default bg-bg-elevated px-3 py-2 text-sm shadow-[0_8px_24px_var(--color-shadow-panel)]",children:[l.jsx("span",{className:"size-2 rounded-full bg-positive-400"}),l.jsx("span",{className:"text-heading",children:e}),l.jsx("span",{className:"text-secondary",children:n===null?"sweep finished":`page health ${n}`})]})]}),l.jsx(TC,{projectName:e,to:"/projects/$projectName/settings",icon:Yf,label:"Add a notification",action:"add_notification"})]})}function TC({projectName:e,to:n,icon:i,label:r,action:u}){const h=C.useContext(ep);return l.jsxs(tt,{to:n,params:{projectName:e},onClick:()=>h(u),className:"group mt-6 inline-flex items-center gap-2 self-start text-sm font-medium text-link",children:[l.jsx(i,{className:"size-4","aria-hidden":"true"}),r,l.jsx(_c,{className:"size-3.5 transition-transform group-hover:translate-x-0.5","aria-hidden":"true"})]})}const bW=C.lazy(async()=>({default:(await Fi(()=>import("./SiteHealthSection-DQZyy4P_.js").then(n=>n.d),__vite__mapDeps([0,1,2,3,4]),import.meta.url)).SiteHealthSection})),vW=`Public pages only, crawled from this computer and stored locally. The first scan reads up to ${N2} pages, then stops.`,xW=1800,wW="https://github.com/Canonry/canonry#or-use-any-shell-capable-coding-agent",kW="Help me set up Canonry for my public site.\n\nUse the official Canonry docs:\n- Agent quickstart: https://github.com/Canonry/canonry#or-use-any-shell-capable-coding-agent\n- CLI reference: https://github.com/Canonry/canonry/blob/main/skills/canonry/references/canonry-cli.md\n- Plugin setup: https://github.com/Canonry/canonry/blob/main/docs/plugins.md\n- MCP setup: https://github.com/Canonry/canonry/blob/main/docs/mcp.md\n\nPick one path and stay on it. Use connected Canonry tools (plugin or MCP) only if you have them and I have not pointed you at a specific install. A connected tool runs in its own process and never sees `CANONRY_CONFIG_DIR`, `CANONRY_PORT`, or anything else you export in a shell, so it always acts on my default install. If I named a config directory, a port, or a sandbox, that is the shell path: use `cnry` and tell me which path you chose. Never mix the two in one run, and never create a duplicate project. The `cnry` and `canonry` commands are interchangeable.\n\n1. Ask for my public domain, country, and language. Do not create or scan anything yet. Country and language are only applied when a project is created, so if you reuse an existing project, report its country and language instead of changing them.\n2. Shell path only: confirm `cnry` is on PATH, then run `cnry --version`. If Canonry is missing, propose `npm install -g @canonry/canonry` and wait for approval. Then run `cnry doctor --format json`, which is the command that says whether config, database, and server are in place. `cnry --version` does not read config and succeeds on a completely unconfigured install, so it cannot answer this. If config is missing, run `cnry bootstrap` yourself: it is not interactive, takes about a second, and is safe to rerun. Do not hand it to me and wait. The interactive command is `cnry init`, which is optional provider and OAuth setup that Page Health does not need. Bootstrap prints an API key, so do not repeat its output back to me, and never ask me to paste passwords, API keys, OAuth credentials, or command output.\n3. Confirm the API is reachable. `cnry doctor --format json` reports it, and any project read exits non-zero with `CONNECTION_ERROR` when it is not. If it is unreachable, propose `cnry start` and wait for approval. Use `cnry start`, which is the background daemon, and not `cnry serve`, which runs in the foreground and will block you until I stop it, even though some error messages suggest it. Stop anything you started with `cnry stop`.\n4. List projects with the connected project tool or `cnry project list --format json`, and reuse one whose domain matches. Confirm the proposed name is not already assigned to a different domain. To find out whether a project has already been scanned, run `cnry technical-aeo score <project> --format json` with no `--run-id`, which reports the latest run. Read the `hasData` field, not the score: this command exits 0 and reports `aggregateScore: 0` for a project that has never been scanned, so reading the score alone would have you tell me my site scored zero. If `hasData` is true and `runStatus` is `completed` or `partial`, read that scan instead of starting a new one. If no project matches, show the exact create operation and wait for approval.\n5. Propose a bounded Site Health scan: `--max-pages 100` for a first look, plus whether dead-link checking is on (it is off unless you pass `--check-dead-links`). Show the connected operation or the exact `cnry technical-aeo run <project> --max-pages 100 --wait --format json` command with the project name filled in, and wait for separate approval before scanning. `--wait` polls for up to 15 minutes and returns only the run id and status. If the status it returns is still `queued` or `running`, the scan has not finished: do not rerun it or report results, poll `cnry technical-aeo progress <project> --run-id <run-id> --format json` until it is terminal. If `--wait` outruns your own tool timeout first, recover the run id with `cnry technical-aeo score <project> --format json` and poll the same way.\n6. When the run is `completed` or `partial`, read `cnry technical-aeo crawl <project> --run-id <run-id> --format json` first. It is the only one of these commands that carries `termination` and `complete`; the score and pages commands do not. Then read `cnry technical-aeo score <project> --run-id <run-id> --format json` and `cnry technical-aeo pages <project> --run-id <run-id> --sort score-asc --limit 10 --format jsonl`. Tell me the termination reason in plain words and whether the scan covered the whole site or stopped at a page, link, depth, or time limit. A `partial` run scored the pages it reached and not my site, so never present it as a full-site result. If it stopped early, the fix depends on the reason, so say which: a page or depth limit needs a larger budget, a time limit needs a smaller scan (a lower `--max-pages` or `--max-depth`). If the run failed or was cancelled, inspect the run error and stop.\n7. Summarize only completed evidence, then propose AI Visibility setup. Ask before you add queries, connect providers, start a provider-backed or quota-consuming run, edit files, or publish.";function SW(e,n){return e==="legacy"?"legacy":e==="platform"?"platform":n.state==="success"?n.projectCount===0?"platform":"legacy":n.state==="error"?"retry":"loading"}const jW="2000-01-01T00:00:00.000Z",AW=5e3;function NW(e,n){const i=new Set,r=new Map;for(const f of n)f.trigger!==Va.probe&&(r.has(f.projectId)||r.set(f.projectId,f.id),(f.status===jt.completed||f.status===jt.partial)&&i.add(f.projectId));const h=(e.every(f=>f.createdAt)?[...e].sort((f,b)=>(f.createdAt??"").localeCompare(b.createdAt??"")||f.name.localeCompare(b.name)):e).find(f=>!i.has(f.id));return h?{projectName:h.name,runId:r.get(h.id)}:null}const EC=[{value:"US",label:"United States"},{value:"CA",label:"Canada"},{value:"GB",label:"United Kingdom"},{value:"AU",label:"Australia"},{value:"NZ",label:"New Zealand"},{value:"IE",label:"Ireland"},{value:"DE",label:"Germany"},{value:"FR",label:"France"},{value:"ES",label:"Spain"},{value:"IT",label:"Italy"},{value:"NL",label:"Netherlands"},{value:"BR",label:"Brazil"},{value:"MX",label:"Mexico"},{value:"IN",label:"India"},{value:"SG",label:"Singapore"},{value:"JP",label:"Japan"}],RC=[{value:"en",label:"English"},{value:"es",label:"Spanish"},{value:"fr",label:"French"},{value:"de",label:"German"},{value:"it",label:"Italian"},{value:"pt",label:"Portuguese"},{value:"nl",label:"Dutch"},{value:"ja",label:"Japanese"}];function CW(e,n){try{const i=new Intl.DisplayNames(["en"],{type:"region"}),r=new Intl.DisplayNames(["en"],{type:"language"}),u=e.length===2?i.of(e.toUpperCase()):void 0,h=n?r.of(n.toLowerCase()):void 0;return`${u??(e||"Country")} · ${h??(n||"Language")}`}catch{return`${e||"Country"} · ${n||"Language"}`}}function _W(e,n){const i=e.trim().toUpperCase(),r=n.trim().toLowerCase();return{countryValid:EC.some(u=>u.value===i),languageValid:RC.some(u=>u.value===r)}}function TW(e){const n=e.replace(/^\[|\]$/g,"");return/^(?:\d{1,3}\.){3}\d{1,3}$/.test(n)||n.includes(":")}function EW(e){const n=e.trim();if(!n)return null;const i=/^[a-z][a-z\d+.-]*:\/\//i.test(n)?n:`https://${n}`;let r;try{r=new URL(i)}catch{return null}if(r.protocol!=="http:"&&r.protocol!=="https:")return null;const u=r.hostname.toLowerCase().replace(/^www\./,"");if(!u||u==="localhost"||TW(u)||!u.includes("."))return null;const h=u.replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"");return h?{canonicalDomain:u,projectName:h,displayName:u}:null}async function RW(e,n=xW){let i;const r=new Promise(h=>{i=setTimeout(()=>h({state:"timed-out"}),n)}),u=await Promise.race([e.then(h=>({state:"queued",run:h})),r]);return i&&clearTimeout(i),u}function DW(e,n){e.catch(()=>{yn({title:"Site Health scan did not start",detail:"The project is safe. Choose Run scan in Site Health to retry.",tone:"negative",dedupeKey:`site-health-dispatch:${n}`})})}function DC(e){const n=C.useRef(b1()).current,i=C.useRef(new Set),r=C.useCallback((u,h)=>{if(h){if(i.current.has(h))return;i.current.add(h)}S1({...u,surface:e,eventId:v1()})},[e]);return{onboardingSessionId:n,emit:r}}function uS(e,n){return e instanceof wn&&e.statusCode===409?"A project with this name already exists. Change the project name, or open the existing project.":e instanceof Error&&e.message?e.message:n}function Bg(){return l.jsxs("div",{className:"page-container max-w-3xl","aria-busy":"true","aria-live":"polite",children:[l.jsx("div",{className:"page-header",children:l.jsxs("div",{className:"page-header-left",children:[l.jsx("h1",{className:"page-title",children:"Preparing setup"}),l.jsx("p",{className:"page-subtitle",children:"Checking the projects already on this install."})]})}),l.jsxs("div",{className:"flex items-center gap-3 rounded-lg border border-default bg-surface p-4 text-sm text-secondary",role:"status",children:[l.jsx(Ts,{className:"size-4 motion-safe:animate-spin","aria-hidden":"true"}),"Loading projects…"]})]})}function zW({onRetry:e}){return l.jsxs("div",{className:"page-container max-w-3xl",children:[l.jsx("div",{className:"page-header",children:l.jsxs("div",{className:"page-header-left",children:[l.jsx("h1",{className:"page-title",children:"Can’t load projects"}),l.jsx("p",{className:"page-subtitle",children:"Canonry could not confirm whether this install already has a project."})]})}),l.jsxs("div",{className:"rounded-lg border border-negative bg-negative-soft p-4",role:"alert",tabIndex:-1,children:[l.jsx("p",{className:"text-sm font-medium text-heading",children:"Setup is paused to protect existing projects."}),l.jsx("p",{className:"mt-1 text-sm text-secondary",children:"Check the connection or sign in again, then retry."}),l.jsx(le,{type:"button",className:"mt-4",variant:"secondary",onClick:e,children:"Retry project check"})]})]})}function IW({projectName:e,initialRunId:n}){return l.jsx(O1,{title:"Site Health setup",children:l.jsx(OW,{projectName:e,initialRunId:n})})}function OW({projectName:e,initialRunId:n}){const i=zs(),r=yt({...qo({client:W}),enabled:!!e,retry:!1,refetchOnMount:"always"}),{onboardingSessionId:u,emit:h}=DC("site_health"),[f]=C.useState(()=>JK(n));C.useEffect(()=>{f&&WK()},[f]),C.useEffect(()=>{e&&h({flowVersion:ft,onboardingSessionId:u,event:"onboarding.started",step:"run",resumed:!!n&&!f},"onboarding.started")},[h,f,n,u,e]),C.useEffect(()=>{!e||!n||xN(e)?.runId!==n&&vN(e,n)},[n,e]);const v=yt({...N1({client:W,path:{id:n??""}}),enabled:!!n,refetchInterval:({state:_})=>{const z=_.data?.status;return z==="completed"||z==="partial"||z==="failed"||z==="cancelled"?!1:2e3},refetchIntervalInBackground:!0}).data?.status;if(C.useEffect(()=>{if(!e||!n||!v)return;if(v==="completed"||v==="partial"){h({flowVersion:ft,onboardingSessionId:u,event:"onboarding.step_completed",step:"run",method:"automatic"},"onboarding.step_completed:run"),im(n);return}if(v!=="failed"&&v!=="cancelled")return;const _=v==="cancelled"?"run_cancelled":"run_failed";h({flowVersion:ft,onboardingSessionId:u,event:"onboarding.blocked",step:"run",action:"retry_run",reasonCode:_},`onboarding.blocked:run:${_}`),im(n)},[h,n,u,e,v]),!e)return l.jsxs("div",{className:"page-container max-w-3xl",children:[l.jsx("div",{className:"page-header",children:l.jsxs("div",{className:"page-header-left",children:[l.jsx("h1",{className:"page-title",children:"Project not found"}),l.jsx("p",{className:"page-subtitle",children:"This setup link does not identify a project."})]})}),l.jsx(le,{type:"button",variant:"secondary",onClick:()=>{i({to:"/projects"})},children:"View projects"})]});if(r.isPending)return l.jsxs("div",{className:"page-container max-w-3xl","aria-busy":"true","aria-live":"polite",children:[l.jsx(Eo,{current:"site"}),l.jsxs("div",{className:"mt-8 flex items-center gap-3 text-sm text-secondary",role:"status",children:[l.jsx(Ts,{className:"size-4 motion-safe:animate-spin","aria-hidden":"true"}),"Loading Site Health setup…"]})]});if(r.isError)return l.jsxs("div",{className:"page-container max-w-3xl",children:[l.jsx("div",{className:"page-header",children:l.jsxs("div",{className:"page-header-left",children:[l.jsx("h1",{className:"page-title",children:"Can’t resume setup"}),l.jsx("p",{className:"page-subtitle",children:"Canonry could not load the project for this Site Health scan."})]})}),l.jsxs("div",{className:"rounded-lg border border-negative bg-negative-soft p-4",role:"alert",children:[l.jsx("p",{className:"text-sm text-secondary",children:"Check the connection or sign in again, then retry."}),l.jsx(le,{type:"button",className:"mt-4",variant:"secondary",onClick:()=>{r.refetch()},children:"Retry project check"})]})]});const x=r.data.find(_=>_.name===e);if(!x)return l.jsxs("div",{className:"page-container max-w-3xl",children:[l.jsx("div",{className:"page-header",children:l.jsxs("div",{className:"page-header-left",children:[l.jsx("h1",{className:"page-title",children:"Project not found"}),l.jsxs("p",{className:"page-subtitle",children:["Canonry could not find ",e,". It will not open a different project."]})]})}),l.jsx(le,{type:"button",variant:"secondary",onClick:()=>{i({to:"/projects"})},children:"View projects"})]});const k=()=>{i({to:"/setup",search:{onboarding:"site-health",setupProject:x.name},replace:!0})},S=()=>{i({to:"/setup",search:{experience:"legacy",onboarding:"site-health",setupProject:x.name},replace:!0})},N=()=>{h({flowVersion:ft,onboardingSessionId:u,event:"onboarding.step_completed",step:"run",method:"skipped"},"onboarding.step_completed:run"),i({to:"/setup",search:{onboarding:"complete",setupProject:x.name,skipped:"visibility"},replace:!0})};return l.jsxs("div",{className:"page-container max-w-7xl py-8 md:py-10",children:[l.jsx("h1",{className:"sr-only",children:"Set up Canonry"}),l.jsx(C.Suspense,{fallback:l.jsxs("div",{className:"space-y-5",children:[l.jsx(Eo,{current:"site"}),l.jsxs("div",{className:"flex min-h-72 items-center justify-center gap-3 text-sm text-secondary",role:"status",children:[l.jsx(Ts,{className:"size-4 motion-safe:animate-spin","aria-hidden":"true"}),"Loading Site Health…"]})]}),children:l.jsx(bW,{projectName:x.name,projectId:x.id,initialRunId:n,onReleaseInitialRun:k,showOnboardingActions:!0,onContinueOnboarding:S,onSkipOnboarding:N})})]})}function PW(){const e=pS({from:"/setup"}),n=e.onboarding==="site-health"&&!e.setupProject,i=e.onboarding==="site-health"&&e.experience!=="legacy",r=NG(),u=e.experience==="legacy"?"legacy":e.experience==="platform"?"platform":r,[h,f]=C.useState(!1),[b,v]=C.useState(void 0),x=yt({...qo({client:W}),enabled:u==="auto",retry:!1,refetchOnMount:"always"}),k=yt({...Oc({client:W,query:{kind:De["site-audit"],since:jW,limit:AW}}),enabled:u==="auto",retry:!1,refetchOnMount:"always"}),S=u==="auto"&&x.isSuccess&&x.isFetchedAfterMount&&x.data.length===0;C.useEffect(()=>{S&&f(!0)},[S]);const N=u!=="auto"?{state:"idle"}:x.isSuccess&&x.isFetchedAfterMount?{state:"success",projectCount:x.data.length}:x.isError?{state:"error"}:{state:"loading"},_=u==="legacy"?"legacy":h||S?"platform":SW(u,N);if(e.onboarding==="complete"&&e.setupProject)return l.jsx(sW,{projectName:e.setupProject,skippedVisibility:e.skipped==="visibility"});if(n||i)return l.jsx(IW,{projectName:e.setupProject,initialRunId:e.siteHealthRunId});const z=u==="auto"&&_==="legacy"&&!e.setupProject&&x.isSuccess;if(z&&b===void 0)return k.isError?v(null):k.isSuccess&&k.isFetchedAfterMount&&v(NW(x.data,k.data)),l.jsx(Bg,{});const q=z?b:null;return q?l.jsx(qW,{projectName:q.projectName,runId:q.runId}):_==="legacy"?l.jsx(tW,{visibilityProjectName:e.setupProject,siteHealthOnboarding:e.onboarding==="site-health",onboardingFinish:e.onboarding==="site-health"||e.onboarding==="first-run"}):_==="loading"?l.jsx(Bg,{}):_==="retry"?l.jsx(zW,{onRetry:()=>{x.refetch()}}):l.jsx(MW,{onActivationStarted:()=>f(!0),skipSiteScan:e.siteScan==="skip"})}function qW({projectName:e,runId:n}){const i=zs();return C.useEffect(()=>{i({to:"/setup",search:{onboarding:"site-health",setupProject:e,...n?{siteHealthRunId:n}:{}},replace:!0})},[i,e,n]),l.jsx(Bg,{})}function MW({onActivationStarted:e,skipSiteScan:n}){return l.jsx(O1,{title:"Site Health setup",children:l.jsx(BW,{onActivationStarted:e,skipSiteScan:n})})}function BW({onActivationStarted:e,skipSiteScan:n}){const i=zs(),r=Ds(),u=KJ(),h=yt({...EF({client:W}),retry:!1}),f=oi(RF()),[b,v]=C.useState(""),[x,k]=C.useState(""),[S,N]=C.useState(""),[_,z]=C.useState("US"),[q,E]=C.useState("en"),[P,M]=C.useState(!1),[L,$]=C.useState("idle"),[H,J]=C.useState(null),[V,Q]=C.useState(null),[ae,Fe]=C.useState(!1),[We,Ve]=C.useState(null),[qe,Ae]=C.useState(!1),Le=h.isError?void 0:h.data,B=typeof Le?.enabled=="boolean"?Le.enabled:null,ee=f.isPending?f.variables.body.enabled:B,[ve,je]=C.useState(null),oe=C.useRef(null),{onboardingSessionId:ke,emit:Ie}=DC("platform");C.useEffect(()=>{Ie({flowVersion:ft,onboardingSessionId:ke,event:"onboarding.started",step:"project",resumed:!1},"onboarding.started")},[Ie,ke]);const xe=EW(b),de=x||xe?.projectName||"",ce=S||xe?.displayName||"",Y=L==="creating"||L==="dispatching",me=V??We,Pe=CW(_,q),{countryValid:Ne,languageValid:st}=_W(_,q),$e=Ne&&st;C.useEffect(()=>{me&&oe.current?.focus()},[me]);const Nt=(Me,ct)=>i({to:"/setup",search:{...ct?{siteHealthRunId:ct}:{},onboarding:"site-health",setupProject:Me.name},replace:!0}),He=async Me=>{$("dispatching"),Ve(null);try{const ct=u.mutateAsync({projectName:Me.name,projectId:Me.id,projectLabel:Me.displayName||Me.name,suppressErrorToast:!0,body:{checkDeadLinks:!0,maxPages:N2}}),Ft=await RW(ct);if(Ft.state==="queued"){Ie({flowVersion:ft,onboardingSessionId:ke,event:"run.requested",origin:"dashboard_setup",result:"queued",kind:"site_health",providerCountBucket:"0",queryCountBucket:"0"}),XK(Ft.run.runId),await Nt(Me,Ft.run.runId);return}ct.then(()=>{Ie({flowVersion:ft,onboardingSessionId:ke,event:"run.requested",origin:"dashboard_setup",result:"queued",kind:"site_health",providerCountBucket:"0",queryCountBucket:"0"})},Qt=>{Ie({flowVersion:ft,onboardingSessionId:ke,event:"run.requested",origin:"dashboard_setup",result:"rejected",kind:"site_health",providerCountBucket:"0",queryCountBucket:"0",reasonCode:jc(Qt,"run_rejected")})}),DW(ct,Me.id),await Nt(Me)}catch(ct){$("recovery"),Ve(uS(ct,"The project was created, but the Site Health scan could not be started."));const Ft=jc(ct,"run_rejected");Ie({flowVersion:ft,onboardingSessionId:ke,event:"run.requested",origin:"dashboard_setup",result:"rejected",kind:"site_health",providerCountBucket:"0",queryCountBucket:"0",reasonCode:Ft}),Ie({flowVersion:ft,onboardingSessionId:ke,event:"onboarding.blocked",step:"run",action:"retry_run",reasonCode:Ft},`onboarding.blocked:run:${Ft}`)}},pe=async Me=>{if(Me.preventDefault(),!(!xe||!n&&!P||!$e||Y)){$("creating"),Q(null),Fe(!1),Ve(null);try{const ct=await HG({name:de,displayName:ce,canonicalDomain:xe.canonicalDomain,country:_,language:q});if(e(),J(ct),Ie({flowVersion:ft,onboardingSessionId:ke,event:"onboarding.step_completed",step:"project",method:"manual"},"onboarding.step_completed:project"),await r.invalidateQueries({queryKey:Ur({client:W})}),n){await i({to:"/setup",search:{experience:"legacy",onboarding:"first-run",setupProject:ct.name},replace:!0});return}await He(ct)}catch(ct){$("idle");const Ft=ct instanceof wn&&ct.statusCode===409;Fe(Ft),Q(uS(ct,"Could not create the project. Try again.")),Ie({flowVersion:ft,onboardingSessionId:ke,event:"onboarding.blocked",step:"project",action:"save",reasonCode:jc(ct,"project_create_failed")},"onboarding.blocked:project"),Ft&&(e(),r.invalidateQueries({queryKey:Ur({client:W})}))}}},at=()=>{H&&!Y&&He(H)},It=()=>{Y||i({to:"/projects"})},qn=async()=>{try{await navigator.clipboard.writeText(kW),Ae(!0)}catch{yn({tone:"negative",title:"Could not copy setup request",detail:"Open the agent quickstart to continue with the CLI instead."})}},Ht=async Me=>{je(null);try{const ct=await f.mutateAsync({client:W,body:{enabled:Me}});r.setQueryData(UN({client:W}),ct),ct.enabled!==Me&&je(`The server kept telemetry ${ct.enabled?"on":"off"}. Check its telemetry settings.`)}catch{je("Could not update telemetry. Try again.")}};return H&&L==="recovery"?l.jsxs("div",{className:"page-container max-w-3xl",children:[l.jsx(Eo,{current:"site"}),l.jsx("div",{className:"page-header mt-8",children:l.jsxs("div",{className:"page-header-left",children:[l.jsx("h1",{className:"page-title",children:"Project created"}),l.jsxs("p",{className:"page-subtitle",children:[H.displayName||H.name," is ready. The Site Health scan needs another try."]})]})}),l.jsxs("div",{ref:oe,className:"rounded-lg border border-negative bg-negative-soft p-4",role:"alert",tabIndex:-1,children:[l.jsx("p",{className:"text-sm font-medium text-heading",children:We}),l.jsx("p",{className:"mt-1 text-sm text-secondary",children:"You can retry the scan or continue setup and retry from Site Health."}),l.jsxs("div",{className:"mt-4 flex flex-wrap gap-3",children:[l.jsx(le,{type:"button",onClick:at,children:"Retry Site Health scan"}),l.jsx(le,{type:"button",variant:"secondary",onClick:()=>{Nt(H)},children:"Continue setup"})]})]})]}):l.jsxs("div",{className:"page-container max-w-xl py-8 md:py-12",children:[n?null:l.jsx(Eo,{current:"site"}),l.jsxs("header",{className:`mb-8 ${n?"":"mt-8"}`,children:[l.jsx("h1",{id:"site-map-setup-title",className:"text-2xl font-semibold tracking-[-0.025em] text-heading",children:n?"Create a project":"Scan your site"}),l.jsx("p",{className:"mt-2 max-w-lg text-sm leading-6 text-secondary",children:n?"Add a public domain, then choose the queries you want to track. No site scan will run.":"Enter your public website to see its pages, structure, internal links, and technical SEO scores."})]}),l.jsxs("form",{"aria-labelledby":"site-map-setup-title",className:"space-y-6",onSubmit:fn(pe),noValidate:!0,children:[l.jsxs("div",{className:"grid gap-2",children:[l.jsx("label",{className:"text-sm font-medium text-heading",htmlFor:"launchpad-domain",children:"Website URL"}),l.jsx("input",{id:"launchpad-domain",className:"h-11 w-full rounded-md border border-strong bg-bg-elevated/50 px-3 text-base text-heading outline-none transition placeholder:text-muted focus:border-mono-500 focus:ring-1 focus:ring-mono-500",type:"text",inputMode:"url",autoComplete:"url",autoCapitalize:"none",spellCheck:!1,required:!0,"aria-invalid":!!(b&&!xe),"aria-describedby":b&&!xe?"launchpad-domain-hint launchpad-domain-error":"launchpad-domain-hint",placeholder:"https://example.com",value:b,onChange:Me=>{v(Me.target.value),Q(null),Fe(!1)}}),l.jsx("p",{id:"launchpad-domain-hint",className:"text-sm text-secondary",children:n?l.jsxs(l.Fragment,{children:["A public domain is still required."," ",l.jsx(tt,{to:"/setup",search:{experience:"platform"},className:"font-medium text-link underline-offset-4 hover:underline",children:"Map with Site Health instead"})]}):l.jsxs(l.Fragment,{children:["Only public pages are scanned."," ",l.jsx(tt,{to:"/setup",search:{experience:"platform",onboarding:"first-run",siteScan:"skip"},className:"font-medium text-link underline-offset-4 hover:underline",children:"Set up without a site scan"})]})}),b&&!xe?l.jsx("p",{id:"launchpad-domain-error",className:"text-sm text-negative",role:"alert",children:"Enter a public domain, such as example.com."}):null]}),l.jsxs("details",{className:"group border-y border-default",children:[l.jsxs("summary",{className:"flex min-h-11 cursor-pointer list-none items-center justify-between gap-4 py-3 text-sm [&::-webkit-details-marker]:hidden",children:[l.jsx("span",{className:"font-medium text-heading",children:"Project name and locale"}),l.jsxs("span",{className:"flex items-center gap-2 text-secondary",children:[Pe,l.jsx(Mc,{className:"size-4 transition-transform group-open:rotate-180 motion-reduce:transition-none","aria-hidden":"true"})]})]}),l.jsxs("div",{className:"space-y-5 border-t border-default py-4",children:[xe?l.jsxs("div",{children:[l.jsx("p",{className:"mb-3 text-sm font-medium text-heading",children:"Project"}),l.jsxs("div",{className:"grid gap-4 sm:grid-cols-2",children:[l.jsxs("div",{className:"grid gap-2",children:[l.jsx("label",{className:"text-sm text-secondary",htmlFor:"launchpad-project-name",children:"Project name"}),l.jsx("input",{id:"launchpad-project-name",className:"setup-input h-10",type:"text",value:de,onChange:Me=>k(Me.target.value)})]}),l.jsxs("div",{className:"grid gap-2",children:[l.jsx("label",{className:"text-sm text-secondary",htmlFor:"launchpad-display-name",children:"Display name"}),l.jsx("input",{id:"launchpad-display-name",className:"setup-input h-10",type:"text",value:ce,onChange:Me=>N(Me.target.value)})]})]})]}):null,l.jsxs("div",{children:[l.jsx("p",{className:"mb-3 text-sm font-medium text-heading",children:"Locale"}),l.jsxs("div",{className:"grid gap-4 sm:grid-cols-2",children:[l.jsxs("div",{className:"grid gap-2",children:[l.jsx("label",{className:"text-sm text-secondary",htmlFor:"launchpad-country",children:"Country"}),l.jsx("select",{id:"launchpad-country",className:"setup-input h-10",value:_,onChange:Me=>z(Me.target.value),children:EC.map(Me=>l.jsx("option",{value:Me.value,children:Me.label},Me.value))})]}),l.jsxs("div",{className:"grid gap-2",children:[l.jsx("label",{className:"text-sm text-secondary",htmlFor:"launchpad-language",children:"Language"}),l.jsx("select",{id:"launchpad-language",className:"setup-input h-10",value:q,onChange:Me=>E(Me.target.value),children:RC.map(Me=>l.jsx("option",{value:Me.value,children:Me.label},Me.value))})]})]})]})]})]}),n?null:l.jsxs("label",{className:"flex min-h-11 cursor-pointer items-start gap-3 py-2",children:[l.jsx("input",{className:"mt-0.5 size-4 shrink-0 rounded border-strong bg-bg",type:"checkbox",checked:P,onChange:Me=>M(Me.target.checked),"aria-label":"Allow Canonry to scan this public site."}),l.jsxs("span",{className:"flex items-center gap-1.5",children:[l.jsx("span",{className:"text-sm leading-5 text-heading",children:"Allow Canonry to scan this public site."}),l.jsx(ca,{text:vW})]})]}),me?l.jsxs("div",{ref:oe,className:"rounded-md border border-negative bg-negative-soft p-3",role:"alert",tabIndex:-1,children:[l.jsx("p",{className:"text-sm font-medium text-heading",children:me}),ae?l.jsx(le,{type:"button",variant:"secondary",size:"sm",className:"mt-3",onClick:It,children:"View projects"}):null]}):null,l.jsxs("div",{className:"grid gap-2",children:[l.jsx(le,{className:"h-11 w-full",type:"submit",disabled:!xe||!n&&!P||!$e||Y,children:L==="creating"||L==="dispatching"?l.jsxs(l.Fragment,{children:[l.jsx(Ts,{className:"size-4 motion-safe:animate-spin","aria-hidden":"true"})," ",n?"Creating project…":"Mapping site…"]}):n?"Create project":"Scan site"}),L==="dispatching"?l.jsx("span",{className:"text-center text-sm text-secondary",role:"status",children:"Opening Site Health when the scan is ready."}):null]})]}),l.jsxs("section",{className:"mt-8 border-t border-default pt-6","aria-labelledby":"agent-setup-title",children:[l.jsx("p",{id:"agent-setup-title",className:"text-sm font-medium text-heading",children:"Use your agent instead"}),l.jsx("p",{className:"mt-1 text-sm leading-5 text-secondary",children:"Copy a complete CLI setup request into any agent."}),l.jsxs("div",{className:"mt-3 flex flex-wrap items-center gap-1",children:[l.jsxs(le,{type:"button",variant:"ghost",size:"sm",className:"-ml-3",onClick:fn(qn),children:[qe?l.jsx(Bc,{className:"size-3.5","aria-hidden":"true"}):l.jsx(Gg,{className:"size-3.5","aria-hidden":"true"}),l.jsx("span",{"aria-live":"polite",children:qe?"Copied setup request":"Copy setup request"})]}),l.jsx(le,{asChild:!0,variant:"ghost",size:"sm",children:l.jsxs("a",{href:wW,target:"_blank",rel:"noopener noreferrer",children:["Agent quickstart",l.jsx(d6,{className:"size-3.5","aria-hidden":"true"}),l.jsx("span",{className:"sr-only",children:" (opens in a new tab)"})]})})]})]}),B!==null?l.jsxs("section",{className:"mt-6 border-t border-default pt-5","aria-labelledby":"telemetry-title",children:[l.jsxs("label",{className:`flex min-h-11 items-start gap-3 py-2 ${f.isPending?"cursor-wait":"cursor-pointer"}`,children:[l.jsx("input",{className:"mt-0.5 size-4 shrink-0 rounded border-strong bg-bg accent-accent focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-mono-500 disabled:cursor-wait",type:"checkbox",checked:ee??!1,disabled:f.isPending,onChange:Me=>{Ht(Me.target.checked)},"aria-describedby":"telemetry-detail"}),l.jsxs("span",{className:"grid gap-0.5",children:[l.jsx("span",{id:"telemetry-title",className:"text-sm leading-5 text-heading",children:"Share anonymous product telemetry"}),l.jsx("span",{id:"telemetry-detail",className:"max-w-[70ch] text-sm leading-5 text-secondary",children:"Helps prioritize improvements. Canonry does not send raw domains, URLs, queries, answer content, or credentials."})]})]}),f.isPending?l.jsx("p",{className:"mt-1 text-sm text-secondary",role:"status",children:"Saving preference…"}):null,ve?l.jsx("p",{className:"mt-1 text-sm text-negative",role:"alert",children:ve}):null]}):null]})}function LW(){return l.jsx("div",{className:"page-container",children:l.jsx("section",{className:"page-section",children:l.jsxs(_a,{className:"surface-card empty-card",children:[l.jsx("h1",{children:"Route not found"}),l.jsx("p",{children:"The current path does not map to a dashboard view."}),l.jsx(le,{asChild:!0,children:l.jsx(tt,{to:"/",children:"Return to overview"})})]})})})}const za=Is(()=>Fi(()=>import("./ProjectPage-By9arjLJ.js"),__vite__mapDeps([5,1,0,2,3,4,6,7,8,9,10,11]),import.meta.url),"ProjectPage"),UW=Is(()=>Fi(()=>import("./RunsPage-CfDi7I1z.js"),__vite__mapDeps([12,1,10,4,2,7,11]),import.meta.url),"RunsPage"),VW=Is(()=>Fi(()=>import("./HistoryPage-DpOoXr2P.js"),__vite__mapDeps([13,1,9,10,4,2,7,11]),import.meta.url),"HistoryPage"),$W=Is(()=>Fi(()=>import("./SettingsPage-BHDb1apK.js"),__vite__mapDeps([14,1,10,4,2,7,11]),import.meta.url),"SettingsPage"),KW=Is(()=>Fi(()=>import("./BacklinksPage-CTeTJ9dh.js"),__vite__mapDeps([15,1,2,10,4,7,11]),import.meta.url),"BacklinksPage"),GW=Is(()=>Fi(()=>import("./TrafficPage-DX_vN2RL.js"),__vite__mapDeps([16,1,8,2,10,4,7,11]),import.meta.url),"TrafficPage"),HW=Is(()=>Fi(()=>import("./TrafficSourceDetailPage-Cg92zrtZ.js"),__vite__mapDeps([17,1,8,3,4,2,10,7,11]),import.meta.url),"TrafficSourceDetailPage"),FW=Is(()=>Fi(()=>import("./MeasurementPropertyPage-DxXsgM25.js"),__vite__mapDeps([18,1,3,4,6,7,2,10,11]),import.meta.url),"MeasurementPropertyPage");function QW(){return l.jsx(JX,{children:l.jsx(MH,{children:l.jsx(XX,{})})})}const Un=$5()({component:QW,validateSearch:e=>({manageQueries:e.manageQueries===!0||e.manageQueries==="true"?!0:void 0,runId:typeof e.runId=="string"?e.runId:void 0,siteHealthRunId:typeof e.siteHealthRunId=="string"?e.siteHealthRunId:void 0,evidenceId:typeof e.evidenceId=="string"?e.evidenceId:void 0,runStatus:typeof e.runStatus=="string"?e.runStatus:void 0,runKind:typeof e.runKind=="string"?e.runKind:void 0,runProject:typeof e.runProject=="string"?e.runProject:void 0,runWindow:typeof e.runWindow=="string"?e.runWindow:void 0,runQuery:typeof e.runQuery=="string"?e.runQuery:void 0,onboarding:e.onboarding==="site-health"||e.onboarding==="first-run"||e.onboarding==="complete"?e.onboarding:void 0,experience:e.experience==="legacy"||e.experience==="platform"?e.experience:void 0,siteScan:e.siteScan==="skip"?"skip":void 0,skipped:e.skipped==="visibility"?"visibility":void 0,setupProject:typeof e.setupProject=="string"?e.setupProject:void 0,scope:typeof e.scope=="string"?e.scope:void 0,class:typeof e.class=="string"?e.class:void 0,...Object.fromEntries(["queryWorkspace","researchMode","trackingQueryId","measurementScope","measurementScopeKey","measurementMarketKey","queryClass","measurementProvider","measurementModel","measurementLocation","measurementFrom","measurementTo","measurementRevision","measurementRunId","measurementQueryKey","measurementAnswer"].map(n=>[n,typeof e[n]=="string"?e[n]:void 0]))})}),ZW=Bt({getParentRoute:()=>Un,path:"/",component:zJ,beforeLoad:async({context:e})=>{let n=e.queryClient.getQueryData(Ur({client:W}));if(n===void 0)try{n=await e.queryClient.ensureQueryData(qo({client:W}))}catch{return}if(n.length===0)throw Lg({to:"/setup"})}}),YW=Bt({getParentRoute:()=>Un,path:"/projects",component:qJ}),XW=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i,Vn=Bt({getParentRoute:()=>Un,path:"/projects/$projectName",component:()=>l.jsx(Qf,{}),beforeLoad:async({context:e,params:n,location:i})=>{const r=n.projectName;if(!XW.test(r))return;let u=e.queryClient.getQueryData(Ur({client:W}));if(!u)try{u=await e.queryClient.ensureQueryData(qo({client:W}))}catch{return}const h=u.find(f=>f.id===r);if(h)throw Lg({to:i.pathname.replace(`/projects/${r}`,`/projects/${encodeURIComponent(h.name)}`),replace:!0})}}),JW=Bt({getParentRoute:()=>Vn,path:"/",component:()=>l.jsx(za,{tab:"overview"})}),WW=Bt({getParentRoute:()=>Vn,path:"/portfolio",component:()=>l.jsx(za,{tab:"portfolio"})}),eee=Bt({getParentRoute:()=>Vn,path:"/search-console",component:()=>l.jsx(za,{tab:"search-console"})}),tee=Bt({getParentRoute:()=>Vn,path:"/conversions",component:()=>l.jsx(za,{tab:"conversions"})}),nee=Bt({getParentRoute:()=>Vn,path:"/local",component:()=>l.jsx(za,{tab:"local"})}),aee=Bt({getParentRoute:()=>Vn,path:"/discovery",component:()=>l.jsx(za,{tab:"discovery"})}),iee=Bt({getParentRoute:()=>Vn,path:"/queries",component:()=>l.jsx(za,{tab:"queries"})}),see=Bt({getParentRoute:()=>Vn,path:"/properties/$targetKey",component:()=>l.jsx(FW,{})}),oee=Bt({getParentRoute:()=>Vn,path:"/report",beforeLoad:({params:e})=>{throw Lg({to:"/projects/$projectName",params:e,replace:!0})}}),ree=Bt({getParentRoute:()=>Vn,path:"/activity",component:()=>l.jsx(za,{tab:"activity"})}),lee=Bt({getParentRoute:()=>Vn,path:"/backlinks",component:()=>l.jsx(za,{tab:"backlinks"})}),cee=Bt({getParentRoute:()=>Vn,path:"/technical-aeo",component:()=>l.jsx(za,{tab:"technical-aeo"})}),uee=Bt({getParentRoute:()=>Vn,path:"/history",component:()=>l.jsx(za,{tab:"history"})}),dee=Bt({getParentRoute:()=>Vn,path:"/settings",component:()=>l.jsx(za,{tab:"settings"})}),mee=Bt({getParentRoute:()=>Un,path:"/runs",component:UW}),pee=Bt({getParentRoute:()=>Un,path:"/history",component:VW}),hee=Bt({getParentRoute:()=>Un,path:"/settings",component:$W,beforeLoad:({context:e})=>{}}),fee=Bt({getParentRoute:()=>Un,path:"/setup",component:PW}),gee=Bt({getParentRoute:()=>Un,path:"/backlinks",component:KW}),yee=Bt({getParentRoute:()=>Un,path:"/traffic",component:GW}),bee=Bt({getParentRoute:()=>Un,path:"/traffic/$projectName/$sourceId",component:HW}),vee=Bt({getParentRoute:()=>Un,path:"*",component:LW}),xee=Un.addChildren([ZW,YW,Vn.addChildren([JW,WW,eee,tee,nee,aee,iee,see,oee,ree,lee,cee,uee,dee]),mee,pee,hee,fee,gee,yee,bee,vee]);function wee(){return typeof window<"u"&&window.__CANONRY_CONFIG__?.basePath?window.__CANONRY_CONFIG__.basePath:"/"}const dS=wee(),kee=dS==="/"?"":dS.replace(/\/$/,"");function See(e,n){return K5({routeTree:xee,basepath:kee||"/",context:{queryClient:e},...n?.initialEntries})}let mS=!1;async function jee(e){return(await Z_({client:W,body:e,keepalive:!0})).data}function Aee(){mS||typeof window>"u"||(mS=!0,!(Vm()||So())&&(oG({send:jee}),W.interceptors.request.use((e,n)=>{const i=n.fetch??globalThis.fetch,r=typeof n.url=="string"?n.url:void 0;return n.fetch=async(u,h)=>{try{return await i(u,h)}catch(f){throw f instanceof DOMException&&f.name==="AbortError"||rm({method:e.method,route:r,network:!0}),f}},e}),W.interceptors.response.use((e,n,i)=>(rm({method:n.method,route:typeof i.url=="string"?i.url:void 0,path:Cee(n.url),status:e.status}),e)),window.addEventListener("error",e=>{om({kind:"unhandled",error:e.error})}),window.addEventListener("unhandledrejection",e=>{om({kind:"unhandled",error:e.reason})}),Dee()))}function Nee(e){let n=null;const i=()=>{const r=e.state.matches.at(-1);if(!r)return;rG(r.fullPath);const u=e.state.location;if(!u)return;const h=u.search&&typeof u.search=="object"?u.search:{};n&&n.pathname===u.pathname&&mG(n.search,h),n={pathname:u.pathname,search:h}};return i(),e.subscribe("onResolved",i)}function Cee(e){try{return new URL(e,window.location.origin).pathname}catch{return}}const _ee={LCP:[2500,4e3],INP:[200,500],CLS:[.1,.25],FCP:[1800,3e3],TTFB:[800,1800]};function Tee(e,n){const[i,r]=_ee[e];return n<=i?"good":n<=r?"needs-improvement":"poor"}function Eee(){let e=0,n=0,i=-1/0,r=-1/0;return{add(u){u.hadRecentInput||(u.startTime-r<1e3&&u.startTime-i<5e3?n+=u.value:(n=u.value,i=u.startTime),r=u.startTime,e=Math.max(e,n))},value:()=>e}}function Ree(){let e=0;return{add(n){n.interactionId&&(e=Math.max(e,n.duration))},value:()=>e}}function Dee(){if(typeof PerformanceObserver>"u")return;const e=new Set,n=(b,v)=>{e.has(b)||!Number.isFinite(v)||(e.add(b),hG(b,Tee(b,v)))},i=(b,v,x={})=>{try{new PerformanceObserver(k=>v(k.getEntries())).observe({type:b,buffered:!0,...x})}catch{}};try{const b=performance.getEntriesByType("navigation")[0];b&&b.responseStart>0&&n("TTFB",b.responseStart)}catch{}i("paint",b=>{const v=b.find(x=>x.name==="first-contentful-paint");v&&n("FCP",v.startTime)});let r=0;i("largest-contentful-paint",b=>{const v=b.at(-1);v&&(r=v.startTime)});const u=Eee();i("layout-shift",b=>{for(const v of b)u.add({startTime:v.startTime,value:v.value??0,hadRecentInput:v.hadRecentInput===!0})});const h=Ree();i("event",b=>{for(const v of b)h.add(v)},{durationThreshold:40});const f=()=>{r>0&&n("LCP",r),n("CLS",u.value()),h.value()>0&&n("INP",h.value())};document.addEventListener("visibilitychange",()=>{document.visibilityState==="hidden"&&f()}),window.addEventListener("pagehide",f)}const zee=6e4;function Iee(){const e=C.useRef($G()).current,[n,i]=C.useState(e?"ready":"checking"),[r,u]=C.useState(null),[h,f]=C.useState(null),[b,v]=C.useState(e),[x,k]=C.useState(!1),[S,N]=C.useState(""),[_,z]=C.useState(""),[q,E]=C.useState(""),[P,M]=C.useState(!1),[L,$]=C.useState("password"),[H,J]=C.useState(null),[V,Q]=C.useState(!1),[ae,Fe]=C.useState(!1),We=C.useRef(null),Ve=C.useRef(null),qe=C.useRef(null),Ae=()=>{const Y=r?`${r.name}:${r.role}`:e?"api-key:explicit":h?`api-key:${h.id}`:"no-accounts";if(!We.current||qe.current!==Y){Ve.current?.clear();const me=OH();Ve.current=me,We.current=See(me),Nee(We.current),qe.current=Y}return{queryClient:Ve.current,router:We.current}},Le=Y=>Y.authRequired?(k(!0),u(Y.user),f(null),v(!1),i(Y.user?"ready":"account-login"),!0):!1;C.useEffect(()=>{let Y=!1;const me=async(Pe,Ne=!1)=>{try{const st=await Mf();if(Y)return;f(st),v(!1),i("ready")}catch(st){if(Y)return;if(Ne&&st instanceof wn&&st.statusCode===401)return eH().then(()=>{Y||(J(null),f(null),v(!1),Fe(!0),i("login"))}).catch($e=>{Y||(J($e instanceof Error?$e.message:"Could not clear the invalid session"),i(Pe))});J(st instanceof Error?st.message:"Could not verify API key access"),i(Pe)}};return e?(me("api-key-error"),()=>{Y=!0}):(Promise.allSettled([mk(),dk()]).then(([Pe,Ne])=>{if(Y||Pe.status==="fulfilled"&&Le(Pe.value))return;if(Ne.status==="rejected"){const $e=Ne.reason;J($e instanceof Error?$e.message:"Failed to reach the Canonry API"),i("login");return}const st=Ne.value;st.authenticated?(v(!0),me("api-key-error",!0)):(f(null),v(!1),i(st.setupRequired?"setup":"login"))}),()=>{Y=!0})},[]),C.useEffect(()=>{if(n!=="ready"||e)return;const Y=setInterval(()=>{if(x){mk().then(me=>{me.authRequired&&!me.user&&(Fe(!0),u(null),f(null),i("account-login"))}).catch(()=>{});return}dk().then(me=>{me.authenticated||(Fe(!0),f(null),i(me.setupRequired?"setup":"login"))}).catch(()=>{})},zee);return uk(()=>{Fe(!0),u(null),f(null),v(!1),i(x?"account-login":"login")}),()=>{clearInterval(Y),uk(null)}},[n,x,e]);const B=async Y=>{if(Y.preventDefault(),!_.trim()||_.trim().length<8){J("Password must be at least 8 characters");return}if(_!==q){J("Passwords do not match");return}Q(!0),J(null);try{if(!(await XG(_.trim())).authenticated){J("Setup failed");return}z(""),E(""),M(!1),Fe(!1),f(null),v(!0),i("checking");try{const Pe=await Mf();f(Pe),v(!1),i("ready")}catch(Pe){J(Pe instanceof Error?Pe.message:"Could not verify API key access"),i("api-key-error")}}catch(me){J(me instanceof wn||me instanceof Error?me.message:"Setup failed")}finally{Q(!1)}},ee=Y=>{z(Y),J(null)},ve=Y=>{E(Y),J(null)},je=async Y=>{if(Y.preventDefault(),!!_.trim()){Q(!0),J(null);try{if(!(L==="api-key"?await WG(_.trim()):await JG(_.trim())).authenticated){J(L==="api-key"?"Invalid API key":"Incorrect password");return}const Pe=await Mf();f(Pe),v(!1),z(""),M(!1),Fe(!1),i("ready")}catch(me){J(me instanceof wn||me instanceof Error?me.message:"Authentication failed")}finally{Q(!1)}}},oe=Y=>{$(Y),z(""),M(!1),J(null)},ke=async Y=>{if(Y.preventDefault(),!(!S.trim()||!_)){Q(!0),J(null);try{const me=await tH(S.trim(),_);if(!me.user){J("Incorrect name or password.");return}z(""),Fe(!1),u(me.user),f(null),v(!1),i("ready")}catch(me){J(me instanceof wn?me.message:"Incorrect name or password.")}finally{Q(!1)}}};if(n==="ready"){const{queryClient:Y,router:me}=Ae();return l.jsx(SH,{account:r,apiKey:h,apiKeyPending:b,children:l.jsx(G5,{client:Y,children:l.jsx(H5,{router:me})})})}const Ie=_.trim(),xe=_.length>0&&Ie.length<8,de=q.length>0&&_!==q,ce=Ie.length>=8&&_===q;return l.jsx("div",{className:"min-h-screen bg-bg px-4 py-8",children:l.jsxs("div",{className:"mx-auto flex min-h-[calc(100vh-4rem)] max-w-md flex-col items-center justify-center gap-5",children:[l.jsxs("div",{"data-testid":"auth-brand",className:"flex items-center gap-2.5",children:[l.jsx("img",{className:"size-7",src:"./favicon.svg",alt:"","aria-hidden":"true"}),l.jsx("span",{className:"text-lg font-semibold tracking-tight text-heading",children:"Canonry"})]}),l.jsx(_a,{className:"surface-card w-full",children:n==="checking"?l.jsx(vo,{className:"py-8",children:l.jsx("p",{className:"supporting-copy text-center",children:"Connecting to Canonry…"})}):n==="api-key-error"?l.jsxs(l.Fragment,{children:[l.jsxs(Er,{children:[l.jsx("p",{className:"eyebrow eyebrow-soft",children:"Dashboard access"}),l.jsx("h1",{className:"font-medium tracking-tight text-primary",children:"Could not verify API key access"})]}),l.jsxs(vo,{className:"space-y-4",children:[l.jsx("p",{className:"supporting-copy",children:H??"Canonry could not verify this session’s access, so the dashboard stayed locked."}),l.jsx(le,{type:"button",className:"w-full",onClick:()=>{window.location.reload()},children:"Try again"})]})]}):n==="account-login"?l.jsxs(l.Fragment,{children:[l.jsxs(Er,{children:[l.jsx("p",{className:"eyebrow eyebrow-soft",children:"Dashboard access"}),l.jsx("h1",{className:"font-medium tracking-tight text-primary",children:"Sign in to Canonry"})]}),l.jsxs(vo,{children:[ae?l.jsx("p",{className:"mb-4 rounded-md border border-caution bg-caution-soft px-3 py-2 text-sm text-caution",children:"You were signed out — please sign in again."}):null,l.jsxs("form",{className:"space-y-4",onSubmit:fn(ke),children:[l.jsxs("label",{className:"block space-y-1.5",htmlFor:"account-name",children:[l.jsx("span",{className:"text-xs font-medium text-secondary",children:"Name"}),l.jsx("input",{autoFocus:!0,id:"account-name",className:"w-full rounded-md border border-base bg-bg px-3 py-2 text-sm text-heading outline-none transition focus:border-mono-600",type:"text",name:"username",autoComplete:"username",value:S,onChange:Y=>{N(Y.target.value),J(null)},"aria-invalid":!!H,"aria-describedby":H?"account-login-error":void 0})]}),l.jsxs("label",{className:"block space-y-1.5",htmlFor:"account-password",children:[l.jsx("span",{className:"text-xs font-medium text-secondary",children:"Password"}),l.jsx("input",{id:"account-password",className:"w-full rounded-md border border-base bg-bg px-3 py-2 text-sm text-heading outline-none transition focus:border-mono-600",type:"password",name:"password",autoComplete:"current-password",value:_,onChange:Y=>ee(Y.target.value),"aria-invalid":!!H,"aria-describedby":H?"account-login-error":void 0})]}),H?l.jsx("p",{id:"account-login-error",role:"alert",className:"text-sm text-negative-400",children:H}):null,l.jsx(le,{type:"submit",disabled:V||!S.trim()||!_,children:V?"Signing in…":"Sign in"})]})]})]}):n==="setup"?l.jsxs(l.Fragment,{children:[l.jsxs(Er,{children:[l.jsx("p",{className:"eyebrow eyebrow-soft",children:"First-time setup"}),l.jsx("h1",{className:"font-medium tracking-tight text-primary",children:"Create a dashboard password"}),l.jsx(pm,{children:"This password protects the dashboard on this computer."})]}),l.jsx(vo,{children:l.jsxs("form",{className:"space-y-4",onSubmit:fn(B),children:[l.jsxs("div",{className:"space-y-1.5",children:[l.jsx("label",{className:"block text-xs font-medium text-secondary",htmlFor:"dashboard-password-new",children:"Password"}),l.jsx("input",{autoFocus:!0,id:"dashboard-password-new",className:"w-full rounded-md border border-base bg-bg px-3 py-2 text-sm text-heading outline-none transition focus:border-mono-600",type:P?"text":"password",name:"new-password",autoComplete:"new-password",minLength:8,required:!0,value:_,onChange:Y=>ee(Y.target.value),"aria-invalid":xe,"aria-describedby":"dashboard-password-new-help"}),l.jsx("span",{id:"dashboard-password-new-help","aria-live":"polite",className:xe?"block text-sm text-negative-400":"block text-sm text-secondary",children:xe?"Enter at least 8 characters.":"Use at least 8 characters."})]}),l.jsxs("div",{className:"space-y-1.5",children:[l.jsx("label",{className:"block text-xs font-medium text-secondary",htmlFor:"dashboard-password-confirm",children:"Confirm password"}),l.jsx("input",{id:"dashboard-password-confirm",className:"w-full rounded-md border border-base bg-bg px-3 py-2 text-sm text-heading outline-none transition focus:border-mono-600",type:P?"text":"password",name:"confirm-password",autoComplete:"new-password",minLength:8,required:!0,value:q,onChange:Y=>ve(Y.target.value),"aria-invalid":de,"aria-describedby":"dashboard-password-confirm-help"}),l.jsx("span",{id:"dashboard-password-confirm-help","aria-live":"polite",className:de?"block text-sm text-negative-400":"block text-sm text-secondary",children:de?"Passwords do not match.":"Enter the same password again."})]}),l.jsxs("label",{className:"flex min-h-10 cursor-pointer items-center gap-2 text-sm text-secondary",htmlFor:"dashboard-password-show",children:[l.jsx("input",{id:"dashboard-password-show",type:"checkbox",checked:P,onChange:Y=>M(Y.target.checked)}),"Show passwords"]}),H?l.jsx("p",{id:"dashboard-password-setup-error",role:"alert",className:"text-sm text-negative-400",children:H}):null,l.jsx(le,{type:"submit",disabled:V||!ce,children:V?"Creating password…":"Create password and continue"})]})})]}):l.jsxs(l.Fragment,{children:[l.jsxs(Er,{children:[l.jsx("p",{className:"eyebrow eyebrow-soft",children:"Dashboard access"}),l.jsx("h1",{className:"font-medium tracking-tight text-primary",children:"Sign in to Canonry"}),l.jsx(pm,{children:L==="api-key"?"Enter an API key from this Canonry install. This opens the dashboard with that key’s access and does not change the password.":"Enter your dashboard password to continue."})]}),l.jsxs(vo,{children:[ae?l.jsx("p",{className:"mb-4 rounded-md border border-caution bg-caution-soft px-3 py-2 text-sm text-caution",children:"Your session expired — please sign in again."}):null,l.jsxs("form",{className:"space-y-4",onSubmit:fn(je),children:[l.jsxs("label",{className:"block space-y-1.5",htmlFor:"dashboard-password-current",children:[l.jsx("span",{className:"text-xs font-medium text-secondary",children:L==="api-key"?"Canonry API key":"Password"}),l.jsx("input",{autoFocus:!0,id:"dashboard-password-current",className:"w-full rounded-md border border-base bg-bg px-3 py-2 text-sm text-heading outline-none transition focus:border-mono-600",type:P?"text":"password",name:L==="api-key"?"apiKey":"password",autoComplete:L==="api-key"?"off":"current-password",spellCheck:!1,required:!0,value:_,onChange:Y=>ee(Y.target.value),"aria-invalid":!!H,"aria-describedby":H?"dashboard-password-login-error":void 0})]}),l.jsxs("label",{className:"flex min-h-10 cursor-pointer items-center gap-2 text-sm text-secondary",htmlFor:"dashboard-login-password-show",children:[l.jsx("input",{id:"dashboard-login-password-show",type:"checkbox",checked:P,onChange:Y=>M(Y.target.checked)}),L==="api-key"?"Show API key":"Show password"]}),H?l.jsx("p",{id:"dashboard-password-login-error",role:"alert",className:"text-sm text-negative-400",children:H}):null,l.jsx(le,{type:"submit",disabled:V||!_.trim(),children:V?"Signing in…":"Open dashboard"}),l.jsx(le,{type:"button",variant:"ghost",onClick:()=>oe(L==="api-key"?"password":"api-key"),children:L==="api-key"?"Use dashboard password instead":"Forgot password? Use API key"})]})]})]})})]})})}const zC=document.getElementById("root");if(!zC)throw new Error("Expected #root element for web app bootstrap.");Aee();v6.createRoot(zC).render(l.jsx(C.StrictMode,{children:l.jsx(Iee,{})}));export{tie as $,On as A,le as B,wc as C,fn as D,wie as E,jie as F,Sie as G,Ane as H,ca as I,Cne as J,Nne as K,fa as L,Fie as M,LH as N,cse as O,use as P,JZ as Q,Ka as R,aS as S,xn as T,FH as U,Nte as V,Yne as W,eae as X,Xte as Y,Qne as Z,Jae as _,Hie as a,Wne as a$,eie as a0,one as a1,sne as a2,gne as a3,yn as a4,iie as a5,sie as a6,dne as a7,oie as a8,mne as a9,$ne as aA,wn as aB,Kne as aC,Vte as aD,UH as aE,XQ as aF,xg as aG,Gne as aH,qd as aI,Nie as aJ,Dg as aK,bo as aL,KH as aM,jt as aN,DH as aO,mae as aP,JY as aQ,cne as aR,Tte as aS,Cte as aT,qi as aU,ise as aV,jte as aW,Bte as aX,aq as aY,Pte as aZ,Ste as a_,lne as aa,une as ab,nie as ac,aie as ad,Wae as ae,rne as af,rie as ag,hie as ah,uie as ai,mie as aj,die as ak,pie as al,zne as am,C1 as an,De as ao,cie as ap,GN as aq,Gi as ar,lie as as,Pg as at,l9 as au,c9 as av,ute as aw,cte as ax,Pne as ay,Vne as az,HH as b,Hee as b$,kte as b0,aF as b1,NF as b2,bae as b3,Sae as b4,vae as b5,Dte as b6,Ite as b7,o$ as b8,Ote as b9,zae as bA,Uae as bB,Vae as bC,$ae as bD,Dae as bE,Lae as bF,Iae as bG,Kae as bH,Oae as bI,Gae as bJ,Mae as bK,Fae as bL,Yae as bM,BJ as bN,Pae as bO,ge as bP,rte as bQ,ote as bR,ste as bS,ite as bT,tte as bU,ete as bV,ate as bW,nte as bX,Wee as bY,Jee as bZ,Gee as b_,hF as ba,yae as bb,l$ as bc,bg as bd,zte as be,IG as bf,xae as bg,gae as bh,gF as bi,wae as bj,Hne as bk,kae as bl,Rie as bm,Die as bn,pne as bo,LN as bp,Aie as bq,BN as br,Tae as bs,Rae as bt,Bae as bu,Zae as bv,Qae as bw,qae as bx,Hae as by,Xae as bz,lte as c,TP as c$,Xee as c0,Yee as c1,Zee as c2,Fee as c3,Qee as c4,Kee as c5,$ee as c6,Vee as c7,Uee as c8,K6 as c9,qo as cA,NN as cB,oae as cC,sae as cD,PY as cE,_g as cF,um as cG,Tg as cH,dm as cI,mm as cJ,XY as cK,rF as cL,xo as cM,hm as cN,zF as cO,YJ as cP,dse as cQ,Jie as cR,ZY as cS,Xie as cT,$J as cU,jae as cV,rae as cW,Yie as cX,dae as cY,lae as cZ,P9 as c_,qte as ca,Zte as cb,Qte as cc,Fte as cd,jne as ce,zG as cf,A2 as cg,Tm as ch,N2 as ci,_s as cj,Nae as ck,dte as cl,TF as cm,Eae as cn,aae as co,_te as cp,vk as cq,Wte as cr,ene as cs,tae as ct,nae as cu,tne as cv,nne as cw,ine as cx,ane as cy,au as cz,GH as d,OJ as d$,Aae as d0,Zie as d1,cae as d2,$ie as d3,iX as d4,GG as d5,YH as d6,sX as d7,Kte as d8,Gte as d9,lse as dA,nu as dB,Cae as dC,_ae as dD,MG as dE,Lte as dF,Ute as dG,Jte as dH,hne as dI,fne as dJ,O1 as dK,Fm as dL,R1 as dM,ZJ as dN,Sne as dO,Vr as dP,wk as dQ,Ine as dR,qne as dS,Bne as dT,Lne as dU,One as dV,Mne as dW,Une as dX,Of as dY,Dne as dZ,Tie as d_,$te as da,QG as db,Wie as dc,ese as dd,tse as de,ase as df,Hte as dg,nF as dh,Yte as di,FZ as dj,fie as dk,sH as dl,wne as dm,yie as dn,bie as dp,vie as dq,gie as dr,Xne as ds,yne as dt,bne as du,vne as dv,kne as dw,xne as dx,E1 as dy,Oc as dz,sse as e,Rte as e0,d1 as e1,iae as e2,Cie as e3,Eie as e4,Rne as e5,Ete as e6,Tne as e7,Ene as e8,_ne as e9,Pie as eA,pte as eB,Bie as eC,Vie as eD,Mie as eE,Uie as eF,Eo as eG,wte as eH,yte as eI,Lie as eJ,gte as eK,HO as eL,vte as eM,bte as eN,_ie as ea,Zne as eb,aO as ec,pae as ed,uae as ee,fae as ef,hae as eg,Dk as eh,xte as ei,xw as ej,fte as ek,Fi as el,Da as em,hte as en,om as eo,Mte as ep,AQ as eq,Iie as er,zie as es,KJ as et,qie as eu,tX as ev,mte as ew,Kie as ex,Gie as ey,Oie as ez,em as f,nse as g,ose as h,rse as i,Eg as j,Uc as k,WZ as l,Qie as m,vV as n,uG as o,Fne as p,xie as q,kie as r,Jne as s,$H as t,D1 as u,_a as v,Ate as w,W as x,Vm as y,So as z};
|