@ainyc/canonry 3.2.0 → 3.2.1

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.
@@ -44,7 +44,7 @@ Error generating stack: `+g.message+`
44
44
 
45
45
  `)}v.write("payload.value = newResult;"),v.write("return payload;");const O=v.compile();return(_,C)=>O(y,_,C)};let a;const o=Df,u=!dL.jitless,f=u&&bV.value,p=t.catchall;let m;e._zod.parse=(y,v)=>{m??(m=r.value);const w=y.value;return o(w)?u&&f&&v?.async===!1&&v.jitless!==!0?(a||(a=i(t.shape)),y=a(y,v),p?AL([],w,y,v,m,e):y):n(y,v):(y.issues.push({expected:"object",code:"invalid_type",input:w,inst:e}),y)}});function T2(e,t,n,r){for(const a of e)if(a.issues.length===0)return t.value=a.value,t;const i=e.filter(a=>!tu(a));return i.length===1?(t.value=i[0].value,i[0]):(t.issues.push({code:"invalid_union",input:t.value,inst:n,errors:e.map(a=>a.issues.map(o=>vo(o,r,yo())))}),t)}const OL=ge("$ZodUnion",(e,t)=>{cn.init(e,t),zt(e._zod,"optin",()=>t.options.some(i=>i._zod.optin==="optional")?"optional":void 0),zt(e._zod,"optout",()=>t.options.some(i=>i._zod.optout==="optional")?"optional":void 0),zt(e._zod,"values",()=>{if(t.options.every(i=>i._zod.values))return new Set(t.options.flatMap(i=>Array.from(i._zod.values)))}),zt(e._zod,"pattern",()=>{if(t.options.every(i=>i._zod.pattern)){const i=t.options.map(a=>a._zod.pattern);return new RegExp(`^(${i.map(a=>tN(a.source)).join("|")})$`)}});const n=t.options.length===1,r=t.options[0]._zod.run;e._zod.parse=(i,a)=>{if(n)return r(i,a);let o=!1;const u=[];for(const d of t.options){const f=d._zod.run({value:i.value,issues:[]},a);if(f instanceof Promise)u.push(f),o=!0;else{if(f.issues.length===0)return f;u.push(f)}}return o?Promise.all(u).then(d=>T2(d,i,e,a)):T2(u,i,e,a)}}),sY=ge("$ZodDiscriminatedUnion",(e,t)=>{t.inclusive=!1,OL.init(e,t);const n=e._zod.parse;zt(e._zod,"propValues",()=>{const i={};for(const a of t.options){const o=a._zod.propValues;if(!o||Object.keys(o).length===0)throw new Error(`Invalid discriminated union option at index "${t.options.indexOf(a)}"`);for(const[u,d]of Object.entries(o)){i[u]||(i[u]=new Set);for(const f of d)i[u].add(f)}}return i});const r=Ky(()=>{const i=t.options,a=new Map;for(const o of i){const u=o._zod.propValues?.[t.discriminator];if(!u||u.size===0)throw new Error(`Invalid discriminated union option at index "${t.options.indexOf(o)}"`);for(const d of u){if(a.has(d))throw new Error(`Duplicate discriminator value "${String(d)}"`);a.set(d,o)}}return a});e._zod.parse=(i,a)=>{const o=i.value;if(!Df(o))return i.issues.push({code:"invalid_type",expected:"object",input:o,inst:e}),i;const u=r.value.get(o?.[t.discriminator]);return u?u._zod.run(i,a):t.unionFallback?n(i,a):(i.issues.push({code:"invalid_union",errors:[],note:"No matching discriminator",discriminator:t.discriminator,input:o,path:[t.discriminator],inst:e}),i)}}),oY=ge("$ZodIntersection",(e,t)=>{cn.init(e,t),e._zod.parse=(n,r)=>{const i=n.value,a=t.left._zod.run({value:i,issues:[]},r),o=t.right._zod.run({value:i,issues:[]},r);return a instanceof Promise||o instanceof Promise?Promise.all([a,o]).then(([d,f])=>P2(n,d,f)):P2(n,a,o)}});function n1(e,t){if(e===t)return{valid:!0,data:e};if(e instanceof Date&&t instanceof Date&&+e==+t)return{valid:!0,data:e};if(wu(e)&&wu(t)){const n=Object.keys(t),r=Object.keys(e).filter(a=>n.indexOf(a)!==-1),i={...e,...t};for(const a of r){const o=n1(e[a],t[a]);if(!o.valid)return{valid:!1,mergeErrorPath:[a,...o.mergeErrorPath]};i[a]=o.data}return{valid:!0,data:i}}if(Array.isArray(e)&&Array.isArray(t)){if(e.length!==t.length)return{valid:!1,mergeErrorPath:[]};const n=[];for(let r=0;r<e.length;r++){const i=e[r],a=t[r],o=n1(i,a);if(!o.valid)return{valid:!1,mergeErrorPath:[r,...o.mergeErrorPath]};n.push(o.data)}return{valid:!0,data:n}}return{valid:!1,mergeErrorPath:[]}}function P2(e,t,n){const r=new Map;let i;for(const u of t.issues)if(u.code==="unrecognized_keys"){i??(i=u);for(const d of u.keys)r.has(d)||r.set(d,{}),r.get(d).l=!0}else e.issues.push(u);for(const u of n.issues)if(u.code==="unrecognized_keys")for(const d of u.keys)r.has(d)||r.set(d,{}),r.get(d).r=!0;else e.issues.push(u);const a=[...r].filter(([,u])=>u.l&&u.r).map(([u])=>u);if(a.length&&i&&e.issues.push({...i,keys:a}),tu(e))return e;const o=n1(t.value,n.value);if(!o.valid)throw new Error(`Unmergable intersection. Error path: ${JSON.stringify(o.mergeErrorPath)}`);return e.value=o.data,e}const lY=ge("$ZodRecord",(e,t)=>{cn.init(e,t),e._zod.parse=(n,r)=>{const i=n.value;if(!wu(i))return n.issues.push({expected:"record",code:"invalid_type",input:i,inst:e}),n;const a=[],o=t.keyType._zod.values;if(o){n.value={};const u=new Set;for(const f of o)if(typeof f=="string"||typeof f=="number"||typeof f=="symbol"){u.add(typeof f=="number"?f.toString():f);const p=t.valueType._zod.run({value:i[f],issues:[]},r);p instanceof Promise?a.push(p.then(m=>{m.issues.length&&n.issues.push(...nu(f,m.issues)),n.value[f]=m.value})):(p.issues.length&&n.issues.push(...nu(f,p.issues)),n.value[f]=p.value)}let d;for(const f in i)u.has(f)||(d=d??[],d.push(f));d&&d.length>0&&n.issues.push({code:"unrecognized_keys",input:i,inst:e,keys:d})}else{n.value={};for(const u of Reflect.ownKeys(i)){if(u==="__proto__")continue;let d=t.keyType._zod.run({value:u,issues:[]},r);if(d instanceof Promise)throw new Error("Async schemas not supported in object keys currently");if(typeof u=="string"&&wL.test(u)&&d.issues.length){const m=t.keyType._zod.run({value:Number(u),issues:[]},r);if(m instanceof Promise)throw new Error("Async schemas not supported in object keys currently");m.issues.length===0&&(d=m)}if(d.issues.length){t.mode==="loose"?n.value[u]=i[u]:n.issues.push({code:"invalid_key",origin:"record",issues:d.issues.map(m=>vo(m,r,yo())),input:u,path:[u],inst:e});continue}const p=t.valueType._zod.run({value:i[u],issues:[]},r);p instanceof Promise?a.push(p.then(m=>{m.issues.length&&n.issues.push(...nu(u,m.issues)),n.value[d.value]=m.value})):(p.issues.length&&n.issues.push(...nu(u,p.issues)),n.value[d.value]=p.value)}}return a.length?Promise.all(a).then(()=>n):n}}),cY=ge("$ZodEnum",(e,t)=>{cn.init(e,t);const n=fL(t.entries),r=new Set(n);e._zod.values=r,e._zod.pattern=new RegExp(`^(${n.filter(i=>wV.has(typeof i)).map(i=>typeof i=="string"?Su(i):i.toString()).join("|")})$`),e._zod.parse=(i,a)=>{const o=i.value;return r.has(o)||i.issues.push({code:"invalid_value",values:n,input:o,inst:e}),i}}),uY=ge("$ZodLiteral",(e,t)=>{if(cn.init(e,t),t.values.length===0)throw new Error("Cannot create literal schema with no valid values");const n=new Set(t.values);e._zod.values=n,e._zod.pattern=new RegExp(`^(${t.values.map(r=>typeof r=="string"?Su(r):r?Su(r.toString()):String(r)).join("|")})$`),e._zod.parse=(r,i)=>{const a=r.value;return n.has(a)||r.issues.push({code:"invalid_value",values:t.values,input:a,inst:e}),r}}),dY=ge("$ZodTransform",(e,t)=>{cn.init(e,t),e._zod.parse=(n,r)=>{if(r.direction==="backward")throw new uL(e.constructor.name);const i=t.transform(n.value,n);if(r.async)return(i instanceof Promise?i:Promise.resolve(i)).then(o=>(n.value=o,n));if(i instanceof Promise)throw new uu;return n.value=i,n}});function R2(e,t){return e.issues.length&&t===void 0?{issues:[],value:void 0}:e}const EL=ge("$ZodOptional",(e,t)=>{cn.init(e,t),e._zod.optin="optional",e._zod.optout="optional",zt(e._zod,"values",()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,void 0]):void 0),zt(e._zod,"pattern",()=>{const n=t.innerType._zod.pattern;return n?new RegExp(`^(${tN(n.source)})?$`):void 0}),e._zod.parse=(n,r)=>{if(t.innerType._zod.optin==="optional"){const i=t.innerType._zod.run(n,r);return i instanceof Promise?i.then(a=>R2(a,n.value)):R2(i,n.value)}return n.value===void 0?n:t.innerType._zod.run(n,r)}}),fY=ge("$ZodExactOptional",(e,t)=>{EL.init(e,t),zt(e._zod,"values",()=>t.innerType._zod.values),zt(e._zod,"pattern",()=>t.innerType._zod.pattern),e._zod.parse=(n,r)=>t.innerType._zod.run(n,r)}),hY=ge("$ZodNullable",(e,t)=>{cn.init(e,t),zt(e._zod,"optin",()=>t.innerType._zod.optin),zt(e._zod,"optout",()=>t.innerType._zod.optout),zt(e._zod,"pattern",()=>{const n=t.innerType._zod.pattern;return n?new RegExp(`^(${tN(n.source)}|null)$`):void 0}),zt(e._zod,"values",()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,null]):void 0),e._zod.parse=(n,r)=>n.value===null?n:t.innerType._zod.run(n,r)}),pY=ge("$ZodDefault",(e,t)=>{cn.init(e,t),e._zod.optin="optional",zt(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(n,r)=>{if(r.direction==="backward")return t.innerType._zod.run(n,r);if(n.value===void 0)return n.value=t.defaultValue,n;const i=t.innerType._zod.run(n,r);return i instanceof Promise?i.then(a=>D2(a,t)):D2(i,t)}});function D2(e,t){return e.value===void 0&&(e.value=t.defaultValue),e}const mY=ge("$ZodPrefault",(e,t)=>{cn.init(e,t),e._zod.optin="optional",zt(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(n,r)=>(r.direction==="backward"||n.value===void 0&&(n.value=t.defaultValue),t.innerType._zod.run(n,r))}),gY=ge("$ZodNonOptional",(e,t)=>{cn.init(e,t),zt(e._zod,"values",()=>{const n=t.innerType._zod.values;return n?new Set([...n].filter(r=>r!==void 0)):void 0}),e._zod.parse=(n,r)=>{const i=t.innerType._zod.run(n,r);return i instanceof Promise?i.then(a=>M2(a,e)):M2(i,e)}});function M2(e,t){return!e.issues.length&&e.value===void 0&&e.issues.push({code:"invalid_type",expected:"nonoptional",input:e.value,inst:t}),e}const yY=ge("$ZodCatch",(e,t)=>{cn.init(e,t),zt(e._zod,"optin",()=>t.innerType._zod.optin),zt(e._zod,"optout",()=>t.innerType._zod.optout),zt(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(n,r)=>{if(r.direction==="backward")return t.innerType._zod.run(n,r);const i=t.innerType._zod.run(n,r);return i instanceof Promise?i.then(a=>(n.value=a.value,a.issues.length&&(n.value=t.catchValue({...n,error:{issues:a.issues.map(o=>vo(o,r,yo()))},input:n.value}),n.issues=[]),n)):(n.value=i.value,i.issues.length&&(n.value=t.catchValue({...n,error:{issues:i.issues.map(a=>vo(a,r,yo()))},input:n.value}),n.issues=[]),n)}}),vY=ge("$ZodPipe",(e,t)=>{cn.init(e,t),zt(e._zod,"values",()=>t.in._zod.values),zt(e._zod,"optin",()=>t.in._zod.optin),zt(e._zod,"optout",()=>t.out._zod.optout),zt(e._zod,"propValues",()=>t.in._zod.propValues),e._zod.parse=(n,r)=>{if(r.direction==="backward"){const a=t.out._zod.run(n,r);return a instanceof Promise?a.then(o=>lm(o,t.in,r)):lm(a,t.in,r)}const i=t.in._zod.run(n,r);return i instanceof Promise?i.then(a=>lm(a,t.out,r)):lm(i,t.out,r)}});function lm(e,t,n){return e.issues.length?(e.aborted=!0,e):t._zod.run({value:e.value,issues:e.issues},n)}const xY=ge("$ZodReadonly",(e,t)=>{cn.init(e,t),zt(e._zod,"propValues",()=>t.innerType._zod.propValues),zt(e._zod,"values",()=>t.innerType._zod.values),zt(e._zod,"optin",()=>t.innerType?._zod?.optin),zt(e._zod,"optout",()=>t.innerType?._zod?.optout),e._zod.parse=(n,r)=>{if(r.direction==="backward")return t.innerType._zod.run(n,r);const i=t.innerType._zod.run(n,r);return i instanceof Promise?i.then(I2):I2(i)}});function I2(e){return e.value=Object.freeze(e.value),e}const bY=ge("$ZodCustom",(e,t)=>{Lr.init(e,t),cn.init(e,t),e._zod.parse=(n,r)=>n,e._zod.check=n=>{const r=n.value,i=t.fn(r);if(i instanceof Promise)return i.then(a=>L2(a,n,r,e));L2(i,n,r,e)}});function L2(e,t,n,r){if(!e){const i={code:"custom",input:n,inst:r,path:[...r._zod.def.path??[]],continue:!r._zod.def.abort};r._zod.def.params&&(i.params=r._zod.def.params),t.issues.push(Mf(i))}}var $2;class wY{constructor(){this._map=new WeakMap,this._idmap=new Map}add(t,...n){const r=n[0];return this._map.set(t,r),r&&typeof r=="object"&&"id"in r&&this._idmap.set(r.id,t),this}clear(){return this._map=new WeakMap,this._idmap=new Map,this}remove(t){const n=this._map.get(t);return n&&typeof n=="object"&&"id"in n&&this._idmap.delete(n.id),this._map.delete(t),this}get(t){const n=t._zod.parent;if(n){const r={...this.get(n)??{}};delete r.id;const i={...r,...this._map.get(t)};return Object.keys(i).length?i:void 0}return this._map.get(t)}has(t){return this._map.has(t)}}function SY(){return new wY}($2=globalThis).__zod_globalRegistry??($2.__zod_globalRegistry=SY());const mf=globalThis.__zod_globalRegistry;function jY(e,t){return new e({type:"string",...Ge(t)})}function NY(e,t){return new e({type:"string",format:"email",check:"string_format",abort:!1,...Ge(t)})}function B2(e,t){return new e({type:"string",format:"guid",check:"string_format",abort:!1,...Ge(t)})}function kY(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,...Ge(t)})}function CY(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",...Ge(t)})}function _Y(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",...Ge(t)})}function AY(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",...Ge(t)})}function OY(e,t){return new e({type:"string",format:"url",check:"string_format",abort:!1,...Ge(t)})}function EY(e,t){return new e({type:"string",format:"emoji",check:"string_format",abort:!1,...Ge(t)})}function zY(e,t){return new e({type:"string",format:"nanoid",check:"string_format",abort:!1,...Ge(t)})}function TY(e,t){return new e({type:"string",format:"cuid",check:"string_format",abort:!1,...Ge(t)})}function PY(e,t){return new e({type:"string",format:"cuid2",check:"string_format",abort:!1,...Ge(t)})}function RY(e,t){return new e({type:"string",format:"ulid",check:"string_format",abort:!1,...Ge(t)})}function DY(e,t){return new e({type:"string",format:"xid",check:"string_format",abort:!1,...Ge(t)})}function MY(e,t){return new e({type:"string",format:"ksuid",check:"string_format",abort:!1,...Ge(t)})}function IY(e,t){return new e({type:"string",format:"ipv4",check:"string_format",abort:!1,...Ge(t)})}function LY(e,t){return new e({type:"string",format:"ipv6",check:"string_format",abort:!1,...Ge(t)})}function $Y(e,t){return new e({type:"string",format:"cidrv4",check:"string_format",abort:!1,...Ge(t)})}function BY(e,t){return new e({type:"string",format:"cidrv6",check:"string_format",abort:!1,...Ge(t)})}function UY(e,t){return new e({type:"string",format:"base64",check:"string_format",abort:!1,...Ge(t)})}function FY(e,t){return new e({type:"string",format:"base64url",check:"string_format",abort:!1,...Ge(t)})}function qY(e,t){return new e({type:"string",format:"e164",check:"string_format",abort:!1,...Ge(t)})}function KY(e,t){return new e({type:"string",format:"jwt",check:"string_format",abort:!1,...Ge(t)})}function HY(e,t){return new e({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,...Ge(t)})}function GY(e,t){return new e({type:"string",format:"date",check:"string_format",...Ge(t)})}function VY(e,t){return new e({type:"string",format:"time",check:"string_format",precision:null,...Ge(t)})}function ZY(e,t){return new e({type:"string",format:"duration",check:"string_format",...Ge(t)})}function YY(e,t){return new e({type:"number",checks:[],...Ge(t)})}function WY(e,t){return new e({type:"number",check:"number_format",abort:!1,format:"safeint",...Ge(t)})}function QY(e,t){return new e({type:"boolean",...Ge(t)})}function XY(e){return new e({type:"unknown"})}function JY(e,t){return new e({type:"never",...Ge(t)})}function U2(e,t){return new jL({check:"less_than",...Ge(t),value:e,inclusive:!1})}function Ob(e,t){return new jL({check:"less_than",...Ge(t),value:e,inclusive:!0})}function F2(e,t){return new NL({check:"greater_than",...Ge(t),value:e,inclusive:!1})}function Eb(e,t){return new NL({check:"greater_than",...Ge(t),value:e,inclusive:!0})}function q2(e,t){return new pZ({check:"multiple_of",...Ge(t),value:e})}function zL(e,t){return new gZ({check:"max_length",...Ge(t),maximum:e})}function kg(e,t){return new yZ({check:"min_length",...Ge(t),minimum:e})}function TL(e,t){return new vZ({check:"length_equals",...Ge(t),length:e})}function eW(e,t){return new xZ({check:"string_format",format:"regex",...Ge(t),pattern:e})}function tW(e){return new bZ({check:"string_format",format:"lowercase",...Ge(e)})}function nW(e){return new wZ({check:"string_format",format:"uppercase",...Ge(e)})}function rW(e,t){return new SZ({check:"string_format",format:"includes",...Ge(t),includes:e})}function iW(e,t){return new jZ({check:"string_format",format:"starts_with",...Ge(t),prefix:e})}function aW(e,t){return new NZ({check:"string_format",format:"ends_with",...Ge(t),suffix:e})}function Iu(e){return new kZ({check:"overwrite",tx:e})}function sW(e){return Iu(t=>t.normalize(e))}function oW(){return Iu(e=>e.trim())}function lW(){return Iu(e=>e.toLowerCase())}function cW(){return Iu(e=>e.toUpperCase())}function uW(){return Iu(e=>xV(e))}function dW(e,t,n){return new e({type:"array",element:t,...Ge(n)})}function fW(e,t,n){return new e({type:"custom",check:"custom",fn:t,...Ge(n)})}function hW(e){const t=pW(n=>(n.addIssue=r=>{if(typeof r=="string")n.issues.push(Mf(r,n.value,t._zod.def));else{const i=r;i.fatal&&(i.continue=!1),i.code??(i.code="custom"),i.input??(i.input=n.value),i.inst??(i.inst=t),i.continue??(i.continue=!t._zod.def.abort),n.issues.push(Mf(i))}},e(n.value,n)));return t}function pW(e,t){const n=new Lr({check:"custom",...Ge(t)});return n._zod.check=e,n}function PL(e){let t=e?.target??"draft-2020-12";return t==="draft-4"&&(t="draft-04"),t==="draft-7"&&(t="draft-07"),{processors:e.processors??{},metadataRegistry:e?.metadata??mf,target:t,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 En(e,t,n={path:[],schemaPath:[]}){var r;const i=e._zod.def,a=t.seen.get(e);if(a)return a.count++,n.schemaPath.includes(e)&&(a.cycle=n.path),a.schema;const o={schema:{},count:1,cycle:void 0,path:n.path};t.seen.set(e,o);const u=e._zod.toJSONSchema?.();if(u)o.schema=u;else{const p={...n,schemaPath:[...n.schemaPath,e],path:n.path};if(e._zod.processJSONSchema)e._zod.processJSONSchema(t,o.schema,p);else{const y=o.schema,v=t.processors[i.type];if(!v)throw new Error(`[toJSONSchema]: Non-representable type encountered: ${i.type}`);v(e,t,y,p)}const m=e._zod.parent;m&&(o.ref||(o.ref=m),En(m,t,p),t.seen.get(m).isParent=!0)}const d=t.metadataRegistry.get(e);return d&&Object.assign(o.schema,d),t.io==="input"&&hr(e)&&(delete o.schema.examples,delete o.schema.default),t.io==="input"&&o.schema._prefault&&((r=o.schema).default??(r.default=o.schema._prefault)),delete o.schema._prefault,t.seen.get(e).schema}function RL(e,t){const n=e.seen.get(t);if(!n)throw new Error("Unprocessed schema. This is a bug in Zod.");const r=new Map;for(const o of e.seen.entries()){const u=e.metadataRegistry.get(o[0])?.id;if(u){const d=r.get(u);if(d&&d!==o[0])throw new Error(`Duplicate schema id "${u}" detected during JSON Schema conversion. Two different schemas cannot share the same id when converted together.`);r.set(u,o[0])}}const i=o=>{const u=e.target==="draft-2020-12"?"$defs":"definitions";if(e.external){const m=e.external.registry.get(o[0])?.id,y=e.external.uri??(w=>w);if(m)return{ref:y(m)};const v=o[1].defId??o[1].schema.id??`schema${e.counter++}`;return o[1].defId=v,{defId:v,ref:`${y("__shared")}#/${u}/${v}`}}if(o[1]===n)return{ref:"#"};const f=`#/${u}/`,p=o[1].schema.id??`__schema${e.counter++}`;return{defId:p,ref:f+p}},a=o=>{if(o[1].schema.$ref)return;const u=o[1],{ref:d,defId:f}=i(o);u.def={...u.schema},f&&(u.defId=f);const p=u.schema;for(const m in p)delete p[m];p.$ref=d};if(e.cycles==="throw")for(const o of e.seen.entries()){const u=o[1];if(u.cycle)throw new Error(`Cycle detected: #/${u.cycle?.join("/")}/<root>
46
46
 
47
- Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.`)}for(const o of e.seen.entries()){const u=o[1];if(t===o[0]){a(o);continue}if(e.external){const f=e.external.registry.get(o[0])?.id;if(t!==o[0]&&f){a(o);continue}}if(e.metadataRegistry.get(o[0])?.id){a(o);continue}if(u.cycle){a(o);continue}if(u.count>1&&e.reused==="ref"){a(o);continue}}}function DL(e,t){const n=e.seen.get(t);if(!n)throw new Error("Unprocessed schema. This is a bug in Zod.");const r=o=>{const u=e.seen.get(o);if(u.ref===null)return;const d=u.def??u.schema,f={...d},p=u.ref;if(u.ref=null,p){r(p);const y=e.seen.get(p),v=y.schema;if(v.$ref&&(e.target==="draft-07"||e.target==="draft-04"||e.target==="openapi-3.0")?(d.allOf=d.allOf??[],d.allOf.push(v)):Object.assign(d,v),Object.assign(d,f),o._zod.parent===p)for(const S in d)S==="$ref"||S==="allOf"||S in f||delete d[S];if(v.$ref&&y.def)for(const S in d)S==="$ref"||S==="allOf"||S in y.def&&JSON.stringify(d[S])===JSON.stringify(y.def[S])&&delete d[S]}const m=o._zod.parent;if(m&&m!==p){r(m);const y=e.seen.get(m);if(y?.schema.$ref&&(d.$ref=y.schema.$ref,y.def))for(const v in d)v==="$ref"||v==="allOf"||v in y.def&&JSON.stringify(d[v])===JSON.stringify(y.def[v])&&delete d[v]}e.override({zodSchema:o,jsonSchema:d,path:u.path??[]})};for(const o of[...e.seen.entries()].reverse())r(o[0]);const i={};if(e.target==="draft-2020-12"?i.$schema="https://json-schema.org/draft/2020-12/schema":e.target==="draft-07"?i.$schema="http://json-schema.org/draft-07/schema#":e.target==="draft-04"?i.$schema="http://json-schema.org/draft-04/schema#":e.target,e.external?.uri){const o=e.external.registry.get(t)?.id;if(!o)throw new Error("Schema is missing an `id` property");i.$id=e.external.uri(o)}Object.assign(i,n.def??n.schema);const a=e.external?.defs??{};for(const o of e.seen.entries()){const u=o[1];u.def&&u.defId&&(a[u.defId]=u.def)}e.external||Object.keys(a).length>0&&(e.target==="draft-2020-12"?i.$defs=a:i.definitions=a);try{const o=JSON.parse(JSON.stringify(i));return Object.defineProperty(o,"~standard",{value:{...t["~standard"],jsonSchema:{input:Cg(t,"input",e.processors),output:Cg(t,"output",e.processors)}},enumerable:!1,writable:!1}),o}catch{throw new Error("Error converting schema to JSON.")}}function hr(e,t){const n=t??{seen:new Set};if(n.seen.has(e))return!1;n.seen.add(e);const r=e._zod.def;if(r.type==="transform")return!0;if(r.type==="array")return hr(r.element,n);if(r.type==="set")return hr(r.valueType,n);if(r.type==="lazy")return hr(r.getter(),n);if(r.type==="promise"||r.type==="optional"||r.type==="nonoptional"||r.type==="nullable"||r.type==="readonly"||r.type==="default"||r.type==="prefault")return hr(r.innerType,n);if(r.type==="intersection")return hr(r.left,n)||hr(r.right,n);if(r.type==="record"||r.type==="map")return hr(r.keyType,n)||hr(r.valueType,n);if(r.type==="pipe")return hr(r.in,n)||hr(r.out,n);if(r.type==="object"){for(const i in r.shape)if(hr(r.shape[i],n))return!0;return!1}if(r.type==="union"){for(const i of r.options)if(hr(i,n))return!0;return!1}if(r.type==="tuple"){for(const i of r.items)if(hr(i,n))return!0;return!!(r.rest&&hr(r.rest,n))}return!1}const mW=(e,t={})=>n=>{const r=PL({...n,processors:t});return En(e,r),RL(r,e),DL(r,e)},Cg=(e,t,n={})=>r=>{const{libraryOptions:i,target:a}=r??{},o=PL({...i??{},target:a,io:t,processors:n});return En(e,o),RL(o,e),DL(o,e)},gW={guid:"uuid",url:"uri",datetime:"date-time",json_string:"json-string",regex:""},yW=(e,t,n,r)=>{const i=n;i.type="string";const{minimum:a,maximum:o,format:u,patterns:d,contentEncoding:f}=e._zod.bag;if(typeof a=="number"&&(i.minLength=a),typeof o=="number"&&(i.maxLength=o),u&&(i.format=gW[u]??u,i.format===""&&delete i.format,u==="time"&&delete i.format),f&&(i.contentEncoding=f),d&&d.size>0){const p=[...d];p.length===1?i.pattern=p[0].source:p.length>1&&(i.allOf=[...p.map(m=>({...t.target==="draft-07"||t.target==="draft-04"||t.target==="openapi-3.0"?{type:"string"}:{},pattern:m.source}))])}},vW=(e,t,n,r)=>{const i=n,{minimum:a,maximum:o,format:u,multipleOf:d,exclusiveMaximum:f,exclusiveMinimum:p}=e._zod.bag;typeof u=="string"&&u.includes("int")?i.type="integer":i.type="number",typeof p=="number"&&(t.target==="draft-04"||t.target==="openapi-3.0"?(i.minimum=p,i.exclusiveMinimum=!0):i.exclusiveMinimum=p),typeof a=="number"&&(i.minimum=a,typeof p=="number"&&t.target!=="draft-04"&&(p>=a?delete i.minimum:delete i.exclusiveMinimum)),typeof f=="number"&&(t.target==="draft-04"||t.target==="openapi-3.0"?(i.maximum=f,i.exclusiveMaximum=!0):i.exclusiveMaximum=f),typeof o=="number"&&(i.maximum=o,typeof f=="number"&&t.target!=="draft-04"&&(f<=o?delete i.maximum:delete i.exclusiveMaximum)),typeof d=="number"&&(i.multipleOf=d)},xW=(e,t,n,r)=>{n.type="boolean"},bW=(e,t,n,r)=>{n.not={}},wW=(e,t,n,r)=>{},SW=(e,t,n,r)=>{const i=e._zod.def,a=fL(i.entries);a.every(o=>typeof o=="number")&&(n.type="number"),a.every(o=>typeof o=="string")&&(n.type="string"),n.enum=a},jW=(e,t,n,r)=>{const i=e._zod.def,a=[];for(const o of i.values)if(o===void 0){if(t.unrepresentable==="throw")throw new Error("Literal `undefined` cannot be represented in JSON Schema")}else if(typeof o=="bigint"){if(t.unrepresentable==="throw")throw new Error("BigInt literals cannot be represented in JSON Schema");a.push(Number(o))}else a.push(o);if(a.length!==0)if(a.length===1){const o=a[0];n.type=o===null?"null":typeof o,t.target==="draft-04"||t.target==="openapi-3.0"?n.enum=[o]:n.const=o}else a.every(o=>typeof o=="number")&&(n.type="number"),a.every(o=>typeof o=="string")&&(n.type="string"),a.every(o=>typeof o=="boolean")&&(n.type="boolean"),a.every(o=>o===null)&&(n.type="null"),n.enum=a},NW=(e,t,n,r)=>{if(t.unrepresentable==="throw")throw new Error("Custom types cannot be represented in JSON Schema")},kW=(e,t,n,r)=>{if(t.unrepresentable==="throw")throw new Error("Transforms cannot be represented in JSON Schema")},CW=(e,t,n,r)=>{const i=n,a=e._zod.def,{minimum:o,maximum:u}=e._zod.bag;typeof o=="number"&&(i.minItems=o),typeof u=="number"&&(i.maxItems=u),i.type="array",i.items=En(a.element,t,{...r,path:[...r.path,"items"]})},_W=(e,t,n,r)=>{const i=n,a=e._zod.def;i.type="object",i.properties={};const o=a.shape;for(const f in o)i.properties[f]=En(o[f],t,{...r,path:[...r.path,"properties",f]});const u=new Set(Object.keys(o)),d=new Set([...u].filter(f=>{const p=a.shape[f]._zod;return t.io==="input"?p.optin===void 0:p.optout===void 0}));d.size>0&&(i.required=Array.from(d)),a.catchall?._zod.def.type==="never"?i.additionalProperties=!1:a.catchall?a.catchall&&(i.additionalProperties=En(a.catchall,t,{...r,path:[...r.path,"additionalProperties"]})):t.io==="output"&&(i.additionalProperties=!1)},AW=(e,t,n,r)=>{const i=e._zod.def,a=i.inclusive===!1,o=i.options.map((u,d)=>En(u,t,{...r,path:[...r.path,a?"oneOf":"anyOf",d]}));a?n.oneOf=o:n.anyOf=o},OW=(e,t,n,r)=>{const i=e._zod.def,a=En(i.left,t,{...r,path:[...r.path,"allOf",0]}),o=En(i.right,t,{...r,path:[...r.path,"allOf",1]}),u=f=>"allOf"in f&&Object.keys(f).length===1,d=[...u(a)?a.allOf:[a],...u(o)?o.allOf:[o]];n.allOf=d},EW=(e,t,n,r)=>{const i=n,a=e._zod.def;i.type="object";const o=a.keyType,d=o._zod.bag?.patterns;if(a.mode==="loose"&&d&&d.size>0){const p=En(a.valueType,t,{...r,path:[...r.path,"patternProperties","*"]});i.patternProperties={};for(const m of d)i.patternProperties[m.source]=p}else(t.target==="draft-07"||t.target==="draft-2020-12")&&(i.propertyNames=En(a.keyType,t,{...r,path:[...r.path,"propertyNames"]})),i.additionalProperties=En(a.valueType,t,{...r,path:[...r.path,"additionalProperties"]});const f=o._zod.values;if(f){const p=[...f].filter(m=>typeof m=="string"||typeof m=="number");p.length>0&&(i.required=p)}},zW=(e,t,n,r)=>{const i=e._zod.def,a=En(i.innerType,t,r),o=t.seen.get(e);t.target==="openapi-3.0"?(o.ref=i.innerType,n.nullable=!0):n.anyOf=[a,{type:"null"}]},TW=(e,t,n,r)=>{const i=e._zod.def;En(i.innerType,t,r);const a=t.seen.get(e);a.ref=i.innerType},PW=(e,t,n,r)=>{const i=e._zod.def;En(i.innerType,t,r);const a=t.seen.get(e);a.ref=i.innerType,n.default=JSON.parse(JSON.stringify(i.defaultValue))},RW=(e,t,n,r)=>{const i=e._zod.def;En(i.innerType,t,r);const a=t.seen.get(e);a.ref=i.innerType,t.io==="input"&&(n._prefault=JSON.parse(JSON.stringify(i.defaultValue)))},DW=(e,t,n,r)=>{const i=e._zod.def;En(i.innerType,t,r);const a=t.seen.get(e);a.ref=i.innerType;let o;try{o=i.catchValue(void 0)}catch{throw new Error("Dynamic catch values are not supported in JSON Schema")}n.default=o},MW=(e,t,n,r)=>{const i=e._zod.def,a=t.io==="input"?i.in._zod.def.type==="transform"?i.out:i.in:i.out;En(a,t,r);const o=t.seen.get(e);o.ref=a},IW=(e,t,n,r)=>{const i=e._zod.def;En(i.innerType,t,r);const a=t.seen.get(e);a.ref=i.innerType,n.readOnly=!0},ML=(e,t,n,r)=>{const i=e._zod.def;En(i.innerType,t,r);const a=t.seen.get(e);a.ref=i.innerType},LW=ge("ZodISODateTime",(e,t)=>{$Z.init(e,t),dn.init(e,t)});function $W(e){return HY(LW,e)}const BW=ge("ZodISODate",(e,t)=>{BZ.init(e,t),dn.init(e,t)});function UW(e){return GY(BW,e)}const FW=ge("ZodISOTime",(e,t)=>{UZ.init(e,t),dn.init(e,t)});function qW(e){return VY(FW,e)}const KW=ge("ZodISODuration",(e,t)=>{FZ.init(e,t),dn.init(e,t)});function HW(e){return ZY(KW,e)}const GW=(e,t)=>{gL.init(e,t),e.name="ZodError",Object.defineProperties(e,{format:{value:n=>TV(e,n)},flatten:{value:n=>zV(e,n)},addIssue:{value:n=>{e.issues.push(n),e.message=JSON.stringify(e.issues,t1,2)}},addIssues:{value:n=>{e.issues.push(...n),e.message=JSON.stringify(e.issues,t1,2)}},isEmpty:{get(){return e.issues.length===0}}})},Ti=ge("ZodError",GW,{Parent:Error}),VW=rN(Ti),ZW=iN(Ti),YW=Hy(Ti),WW=Gy(Ti),QW=DV(Ti),XW=MV(Ti),JW=IV(Ti),eQ=LV(Ti),tQ=$V(Ti),nQ=BV(Ti),rQ=UV(Ti),iQ=FV(Ti),un=ge("ZodType",(e,t)=>(cn.init(e,t),Object.assign(e["~standard"],{jsonSchema:{input:Cg(e,"input"),output:Cg(e,"output")}}),e.toJSONSchema=mW(e,{}),e.def=t,e.type=t.type,Object.defineProperty(e,"_def",{value:t}),e.check=(...n)=>e.clone(No(t,{checks:[...t.checks??[],...n.map(r=>typeof r=="function"?{_zod:{check:r,def:{check:"custom"},onattach:[]}}:r)]}),{parent:!0}),e.with=e.check,e.clone=(n,r)=>ko(e,n,r),e.brand=()=>e,e.register=((n,r)=>(n.add(e,r),e)),e.parse=(n,r)=>VW(e,n,r,{callee:e.parse}),e.safeParse=(n,r)=>YW(e,n,r),e.parseAsync=async(n,r)=>ZW(e,n,r,{callee:e.parseAsync}),e.safeParseAsync=async(n,r)=>WW(e,n,r),e.spa=e.safeParseAsync,e.encode=(n,r)=>QW(e,n,r),e.decode=(n,r)=>XW(e,n,r),e.encodeAsync=async(n,r)=>JW(e,n,r),e.decodeAsync=async(n,r)=>eQ(e,n,r),e.safeEncode=(n,r)=>tQ(e,n,r),e.safeDecode=(n,r)=>nQ(e,n,r),e.safeEncodeAsync=async(n,r)=>rQ(e,n,r),e.safeDecodeAsync=async(n,r)=>iQ(e,n,r),e.refine=(n,r)=>e.check(JQ(n,r)),e.superRefine=n=>e.check(eX(n)),e.overwrite=n=>e.check(Iu(n)),e.optional=()=>G2(e),e.exactOptional=()=>BQ(e),e.nullable=()=>V2(e),e.nullish=()=>G2(V2(e)),e.nonoptional=n=>GQ(e,n),e.array=()=>Oe(e),e.or=n=>EQ([e,n]),e.and=n=>RQ(e,n),e.transform=n=>Z2(e,LQ(n)),e.default=n=>qQ(e,n),e.prefault=n=>HQ(e,n),e.catch=n=>ZQ(e,n),e.pipe=n=>Z2(e,n),e.readonly=()=>QQ(e),e.describe=n=>{const r=e.clone();return mf.add(r,{description:n}),r},Object.defineProperty(e,"description",{get(){return mf.get(e)?.description},configurable:!0}),e.meta=(...n)=>{if(n.length===0)return mf.get(e);const r=e.clone();return mf.add(r,n[0]),r},e.isOptional=()=>e.safeParse(void 0).success,e.isNullable=()=>e.safeParse(null).success,e.apply=n=>n(e),e)),IL=ge("_ZodString",(e,t)=>{aN.init(e,t),un.init(e,t),e._zod.processJSONSchema=(r,i,a)=>yW(e,r,i);const n=e._zod.bag;e.format=n.format??null,e.minLength=n.minimum??null,e.maxLength=n.maximum??null,e.regex=(...r)=>e.check(eW(...r)),e.includes=(...r)=>e.check(rW(...r)),e.startsWith=(...r)=>e.check(iW(...r)),e.endsWith=(...r)=>e.check(aW(...r)),e.min=(...r)=>e.check(kg(...r)),e.max=(...r)=>e.check(zL(...r)),e.length=(...r)=>e.check(TL(...r)),e.nonempty=(...r)=>e.check(kg(1,...r)),e.lowercase=r=>e.check(tW(r)),e.uppercase=r=>e.check(nW(r)),e.trim=()=>e.check(oW()),e.normalize=(...r)=>e.check(sW(...r)),e.toLowerCase=()=>e.check(lW()),e.toUpperCase=()=>e.check(cW()),e.slugify=()=>e.check(uW())}),aQ=ge("ZodString",(e,t)=>{aN.init(e,t),IL.init(e,t),e.email=n=>e.check(NY(sQ,n)),e.url=n=>e.check(OY(oQ,n)),e.jwt=n=>e.check(KY(SQ,n)),e.emoji=n=>e.check(EY(lQ,n)),e.guid=n=>e.check(B2(K2,n)),e.uuid=n=>e.check(kY(cm,n)),e.uuidv4=n=>e.check(CY(cm,n)),e.uuidv6=n=>e.check(_Y(cm,n)),e.uuidv7=n=>e.check(AY(cm,n)),e.nanoid=n=>e.check(zY(cQ,n)),e.guid=n=>e.check(B2(K2,n)),e.cuid=n=>e.check(TY(uQ,n)),e.cuid2=n=>e.check(PY(dQ,n)),e.ulid=n=>e.check(RY(fQ,n)),e.base64=n=>e.check(UY(xQ,n)),e.base64url=n=>e.check(FY(bQ,n)),e.xid=n=>e.check(DY(hQ,n)),e.ksuid=n=>e.check(MY(pQ,n)),e.ipv4=n=>e.check(IY(mQ,n)),e.ipv6=n=>e.check(LY(gQ,n)),e.cidrv4=n=>e.check($Y(yQ,n)),e.cidrv6=n=>e.check(BY(vQ,n)),e.e164=n=>e.check(qY(wQ,n)),e.datetime=n=>e.check($W(n)),e.date=n=>e.check(UW(n)),e.time=n=>e.check(qW(n)),e.duration=n=>e.check(HW(n))});function D(e){return jY(aQ,e)}const dn=ge("ZodStringFormat",(e,t)=>{an.init(e,t),IL.init(e,t)}),sQ=ge("ZodEmail",(e,t)=>{EZ.init(e,t),dn.init(e,t)}),K2=ge("ZodGUID",(e,t)=>{AZ.init(e,t),dn.init(e,t)}),cm=ge("ZodUUID",(e,t)=>{OZ.init(e,t),dn.init(e,t)}),oQ=ge("ZodURL",(e,t)=>{zZ.init(e,t),dn.init(e,t)}),lQ=ge("ZodEmoji",(e,t)=>{TZ.init(e,t),dn.init(e,t)}),cQ=ge("ZodNanoID",(e,t)=>{PZ.init(e,t),dn.init(e,t)}),uQ=ge("ZodCUID",(e,t)=>{RZ.init(e,t),dn.init(e,t)}),dQ=ge("ZodCUID2",(e,t)=>{DZ.init(e,t),dn.init(e,t)}),fQ=ge("ZodULID",(e,t)=>{MZ.init(e,t),dn.init(e,t)}),hQ=ge("ZodXID",(e,t)=>{IZ.init(e,t),dn.init(e,t)}),pQ=ge("ZodKSUID",(e,t)=>{LZ.init(e,t),dn.init(e,t)}),mQ=ge("ZodIPv4",(e,t)=>{qZ.init(e,t),dn.init(e,t)}),gQ=ge("ZodIPv6",(e,t)=>{KZ.init(e,t),dn.init(e,t)}),yQ=ge("ZodCIDRv4",(e,t)=>{HZ.init(e,t),dn.init(e,t)}),vQ=ge("ZodCIDRv6",(e,t)=>{GZ.init(e,t),dn.init(e,t)}),xQ=ge("ZodBase64",(e,t)=>{VZ.init(e,t),dn.init(e,t)}),bQ=ge("ZodBase64URL",(e,t)=>{YZ.init(e,t),dn.init(e,t)}),wQ=ge("ZodE164",(e,t)=>{WZ.init(e,t),dn.init(e,t)}),SQ=ge("ZodJWT",(e,t)=>{XZ.init(e,t),dn.init(e,t)}),LL=ge("ZodNumber",(e,t)=>{CL.init(e,t),un.init(e,t),e._zod.processJSONSchema=(r,i,a)=>vW(e,r,i),e.gt=(r,i)=>e.check(F2(r,i)),e.gte=(r,i)=>e.check(Eb(r,i)),e.min=(r,i)=>e.check(Eb(r,i)),e.lt=(r,i)=>e.check(U2(r,i)),e.lte=(r,i)=>e.check(Ob(r,i)),e.max=(r,i)=>e.check(Ob(r,i)),e.int=r=>e.check(H2(r)),e.safe=r=>e.check(H2(r)),e.positive=r=>e.check(F2(0,r)),e.nonnegative=r=>e.check(Eb(0,r)),e.negative=r=>e.check(U2(0,r)),e.nonpositive=r=>e.check(Ob(0,r)),e.multipleOf=(r,i)=>e.check(q2(r,i)),e.step=(r,i)=>e.check(q2(r,i)),e.finite=()=>e;const n=e._zod.bag;e.minValue=Math.max(n.minimum??Number.NEGATIVE_INFINITY,n.exclusiveMinimum??Number.NEGATIVE_INFINITY)??null,e.maxValue=Math.min(n.maximum??Number.POSITIVE_INFINITY,n.exclusiveMaximum??Number.POSITIVE_INFINITY)??null,e.isInt=(n.format??"").includes("int")||Number.isSafeInteger(n.multipleOf??.5),e.isFinite=!0,e.format=n.format??null});function ue(e){return YY(LL,e)}const jQ=ge("ZodNumberFormat",(e,t)=>{JZ.init(e,t),LL.init(e,t)});function H2(e){return WY(jQ,e)}const NQ=ge("ZodBoolean",(e,t)=>{eY.init(e,t),un.init(e,t),e._zod.processJSONSchema=(n,r,i)=>xW(e,n,r)});function lt(e){return QY(NQ,e)}const kQ=ge("ZodUnknown",(e,t)=>{tY.init(e,t),un.init(e,t),e._zod.processJSONSchema=(n,r,i)=>wW()});function ju(){return XY(kQ)}const CQ=ge("ZodNever",(e,t)=>{nY.init(e,t),un.init(e,t),e._zod.processJSONSchema=(n,r,i)=>bW(e,n,r)});function _Q(e){return JY(CQ,e)}const AQ=ge("ZodArray",(e,t)=>{rY.init(e,t),un.init(e,t),e._zod.processJSONSchema=(n,r,i)=>CW(e,n,r,i),e.element=t.element,e.min=(n,r)=>e.check(kg(n,r)),e.nonempty=n=>e.check(kg(1,n)),e.max=(n,r)=>e.check(zL(n,r)),e.length=(n,r)=>e.check(TL(n,r)),e.unwrap=()=>e.element});function Oe(e,t){return dW(AQ,e,t)}const OQ=ge("ZodObject",(e,t)=>{aY.init(e,t),un.init(e,t),e._zod.processJSONSchema=(n,r,i)=>_W(e,n,r,i),zt(e,"shape",()=>t.shape),e.keyof=()=>et(Object.keys(e._zod.def.shape)),e.catchall=n=>e.clone({...e._zod.def,catchall:n}),e.passthrough=()=>e.clone({...e._zod.def,catchall:ju()}),e.loose=()=>e.clone({...e._zod.def,catchall:ju()}),e.strict=()=>e.clone({...e._zod.def,catchall:_Q()}),e.strip=()=>e.clone({...e._zod.def,catchall:void 0}),e.extend=n=>CV(e,n),e.safeExtend=n=>_V(e,n),e.merge=n=>AV(e,n),e.pick=n=>NV(e,n),e.omit=n=>kV(e,n),e.partial=(...n)=>OV(BL,e,n[0]),e.required=(...n)=>EV(UL,e,n[0])});function me(e,t){const n={type:"object",shape:e??{},...Ge(t)};return new OQ(n)}const $L=ge("ZodUnion",(e,t)=>{OL.init(e,t),un.init(e,t),e._zod.processJSONSchema=(n,r,i)=>AW(e,n,r,i),e.options=t.options});function EQ(e,t){return new $L({type:"union",options:e,...Ge(t)})}const zQ=ge("ZodDiscriminatedUnion",(e,t)=>{$L.init(e,t),sY.init(e,t)});function TQ(e,t,n){return new zQ({type:"union",options:t,discriminator:e,...Ge(n)})}const PQ=ge("ZodIntersection",(e,t)=>{oY.init(e,t),un.init(e,t),e._zod.processJSONSchema=(n,r,i)=>OW(e,n,r,i)});function RQ(e,t){return new PQ({type:"intersection",left:e,right:t})}const DQ=ge("ZodRecord",(e,t)=>{lY.init(e,t),un.init(e,t),e._zod.processJSONSchema=(n,r,i)=>EW(e,n,r,i),e.keyType=t.keyType,e.valueType=t.valueType});function Gl(e,t,n){return new DQ({type:"record",keyType:e,valueType:t,...Ge(n)})}const r1=ge("ZodEnum",(e,t)=>{cY.init(e,t),un.init(e,t),e._zod.processJSONSchema=(r,i,a)=>SW(e,r,i),e.enum=t.entries,e.options=Object.values(t.entries);const n=new Set(Object.keys(t.entries));e.extract=(r,i)=>{const a={};for(const o of r)if(n.has(o))a[o]=t.entries[o];else throw new Error(`Key ${o} not found in enum`);return new r1({...t,checks:[],...Ge(i),entries:a})},e.exclude=(r,i)=>{const a={...t.entries};for(const o of r)if(n.has(o))delete a[o];else throw new Error(`Key ${o} not found in enum`);return new r1({...t,checks:[],...Ge(i),entries:a})}});function et(e,t){const n=Array.isArray(e)?Object.fromEntries(e.map(r=>[r,r])):e;return new r1({type:"enum",entries:n,...Ge(t)})}const MQ=ge("ZodLiteral",(e,t)=>{uY.init(e,t),un.init(e,t),e._zod.processJSONSchema=(n,r,i)=>jW(e,n,r),e.values=new Set(t.values),Object.defineProperty(e,"value",{get(){if(t.values.length>1)throw new Error("This schema contains multiple valid literal values. Use `.values` instead.");return t.values[0]}})});function ba(e,t){return new MQ({type:"literal",values:Array.isArray(e)?e:[e],...Ge(t)})}const IQ=ge("ZodTransform",(e,t)=>{dY.init(e,t),un.init(e,t),e._zod.processJSONSchema=(n,r,i)=>kW(e,n),e._zod.parse=(n,r)=>{if(r.direction==="backward")throw new uL(e.constructor.name);n.addIssue=a=>{if(typeof a=="string")n.issues.push(Mf(a,n.value,t));else{const o=a;o.fatal&&(o.continue=!1),o.code??(o.code="custom"),o.input??(o.input=n.value),o.inst??(o.inst=e),n.issues.push(Mf(o))}};const i=t.transform(n.value,n);return i instanceof Promise?i.then(a=>(n.value=a,n)):(n.value=i,n)}});function LQ(e){return new IQ({type:"transform",transform:e})}const BL=ge("ZodOptional",(e,t)=>{EL.init(e,t),un.init(e,t),e._zod.processJSONSchema=(n,r,i)=>ML(e,n,r,i),e.unwrap=()=>e._zod.def.innerType});function G2(e){return new BL({type:"optional",innerType:e})}const $Q=ge("ZodExactOptional",(e,t)=>{fY.init(e,t),un.init(e,t),e._zod.processJSONSchema=(n,r,i)=>ML(e,n,r,i),e.unwrap=()=>e._zod.def.innerType});function BQ(e){return new $Q({type:"optional",innerType:e})}const UQ=ge("ZodNullable",(e,t)=>{hY.init(e,t),un.init(e,t),e._zod.processJSONSchema=(n,r,i)=>zW(e,n,r,i),e.unwrap=()=>e._zod.def.innerType});function V2(e){return new UQ({type:"nullable",innerType:e})}const FQ=ge("ZodDefault",(e,t)=>{pY.init(e,t),un.init(e,t),e._zod.processJSONSchema=(n,r,i)=>PW(e,n,r,i),e.unwrap=()=>e._zod.def.innerType,e.removeDefault=e.unwrap});function qQ(e,t){return new FQ({type:"default",innerType:e,get defaultValue(){return typeof t=="function"?t():pL(t)}})}const KQ=ge("ZodPrefault",(e,t)=>{mY.init(e,t),un.init(e,t),e._zod.processJSONSchema=(n,r,i)=>RW(e,n,r,i),e.unwrap=()=>e._zod.def.innerType});function HQ(e,t){return new KQ({type:"prefault",innerType:e,get defaultValue(){return typeof t=="function"?t():pL(t)}})}const UL=ge("ZodNonOptional",(e,t)=>{gY.init(e,t),un.init(e,t),e._zod.processJSONSchema=(n,r,i)=>TW(e,n,r,i),e.unwrap=()=>e._zod.def.innerType});function GQ(e,t){return new UL({type:"nonoptional",innerType:e,...Ge(t)})}const VQ=ge("ZodCatch",(e,t)=>{yY.init(e,t),un.init(e,t),e._zod.processJSONSchema=(n,r,i)=>DW(e,n,r,i),e.unwrap=()=>e._zod.def.innerType,e.removeCatch=e.unwrap});function ZQ(e,t){return new VQ({type:"catch",innerType:e,catchValue:typeof t=="function"?t:()=>t})}const YQ=ge("ZodPipe",(e,t)=>{vY.init(e,t),un.init(e,t),e._zod.processJSONSchema=(n,r,i)=>MW(e,n,r,i),e.in=t.in,e.out=t.out});function Z2(e,t){return new YQ({type:"pipe",in:e,out:t})}const WQ=ge("ZodReadonly",(e,t)=>{xY.init(e,t),un.init(e,t),e._zod.processJSONSchema=(n,r,i)=>IW(e,n,r,i),e.unwrap=()=>e._zod.def.innerType});function QQ(e){return new WQ({type:"readonly",innerType:e})}const XQ=ge("ZodCustom",(e,t)=>{bY.init(e,t),un.init(e,t),e._zod.processJSONSchema=(n,r,i)=>NW(e,n)});function JQ(e,t={}){return fW(XQ,e,t)}function eX(e){return hW(e)}me({maxConcurrency:ue().int().positive(),maxRequestsPerMinute:ue().int().positive(),maxRequestsPerDay:ue().int().positive()});const hs=D().min(1);D().min(1);const sN=me({label:D().min(1),city:D().min(1),region:D().min(1),country:D().length(2),timezone:D().optional()}),oN=et(["citation.lost","citation.gained","run.completed","run.failed","insight.critical","insight.high"]);me({id:D(),projectId:D(),channel:ba("webhook"),url:D().url(),urlDisplay:D(),urlHost:D(),events:Oe(oN),enabled:lt().default(!0),source:D().optional(),webhookSecret:D().optional(),createdAt:D(),updatedAt:D()});me({channel:ba("webhook"),url:D().url(),events:Oe(oN).min(1),source:D().optional()});const FL=et(["cli","api","config-file"]);function tX(e){const t=new Set,n=new Set;for(const r of e){if(t.has(r.label)){n.add(r.label);continue}t.add(r.label)}return[...n]}function nX(e,t){return t?e.some(n=>n.label===t):!0}me({displayName:D().min(1),canonicalDomain:D().min(1),ownedDomains:Oe(D().min(1)).optional(),country:D().length(2),language:D().min(2),tags:Oe(D()).optional(),labels:Gl(D(),D()).optional(),providers:Oe(hs).optional(),locations:Oe(sN).optional(),defaultLocation:D().nullable().optional(),autoExtractBacklinks:lt().optional(),configSource:FL.optional()});me({id:D(),name:D(),displayName:D().optional(),canonicalDomain:D(),ownedDomains:Oe(D()).default([]),country:D().length(2),language:D().min(2),tags:Oe(D()).default([]),labels:Gl(D(),D()).default({}),locations:Oe(sN).default([]),defaultLocation:D().nullable().optional(),autoExtractBacklinks:lt().default(!1),configSource:FL.default("cli"),configRevision:ue().int().positive().default(1),createdAt:D().optional(),updatedAt:D().optional()});me({id:D(),keyword:D(),createdAt:D()});me({keywords:Oe(D().trim().min(1)).min(1)});me({provider:hs,count:ue().int().min(1).max(20).optional()});me({id:D(),domain:D(),createdAt:D()});me({competitors:Oe(D().trim().min(1)).min(1)});function i1(e){let t=e.trim().toLowerCase();try{t.includes("://")&&(t=new URL(t).hostname.toLowerCase())}catch{}return t.replace(/^www\./,"")}function rX(e){const t=[e.canonicalDomain,...e.ownedDomains??[]],n=new Set,r=[];for(const i of t){const a=i.trim();if(!a)continue;const o=i1(a);n.has(o)||(n.add(o),r.push(a))}return r}const iX=me({name:D().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:Gl(D(),D()).optional().default({})}),aX=me({preset:D().optional(),cron:D().optional(),timezone:D().optional().default("UTC"),providers:Oe(hs).optional().default([])}).refine(e=>e.preset&&!e.cron||!e.preset&&e.cron,{message:'Exactly one of "preset" or "cron" must be provided'}).optional(),sX=me({channel:ba("webhook"),url:D().url(),events:Oe(oN).min(1)}),oX=me({gsc:me({propertyUrl:D()}).optional(),syncSchedule:me({preset:D().optional(),cron:D().optional()}).optional()}).optional(),lX=me({displayName:D().min(1),canonicalDomain:D().min(1),ownedDomains:Oe(D().min(1)).optional().default([]),country:D().length(2),language:D().min(2),keywords:Oe(D().min(1)).optional().default([]),competitors:Oe(D().min(1)).optional().default([]),providers:Oe(hs).optional().default([]),locations:Oe(sN).optional().default([]),defaultLocation:D().optional(),schedule:aX,notifications:Oe(sX).optional().default([]),google:oX,autoExtractBacklinks:lt().optional().default(!1)}).superRefine((e,t)=>{const n=tX(e.locations);n.length>0&&t.addIssue({code:"custom",message:`Duplicate location labels are not allowed: ${n.join(", ")}`,path:["locations"]}),nX(e.locations,e.defaultLocation)||t.addIssue({code:"custom",message:`defaultLocation "${e.defaultLocation}" must match a configured location label`,path:["defaultLocation"]})});me({apiVersion:ba("canonry/v1"),kind:ba("Project"),metadata:iX,spec:lX});const cX=et(["gsc","ga4"]);me({id:D(),domain:D(),connectionType:cX,propertyId:D().nullable().optional(),sitemapUrl:D().nullable().optional(),scopes:Oe(D()).default([]),createdAt:D(),updatedAt:D()});me({date:D(),query:D(),page:D(),country:D().nullable().optional(),device:D().nullable().optional(),clicks:ue(),impressions:ue(),ctr:ue(),position:ue()});const a1=me({id:D(),url:D(),indexingState:D().nullable().optional(),verdict:D().nullable().optional(),coverageState:D().nullable().optional(),pageFetchState:D().nullable().optional(),robotsTxtState:D().nullable().optional(),crawlTime:D().nullable().optional(),lastCrawlResult:D().nullable().optional(),isMobileFriendly:lt().nullable().optional(),richResults:Oe(D()).default([]),inspectedAt:D()});et(["stable","reindexed","deindexed","still-missing","new"]);const uX=me({url:D(),previousState:D().nullable(),currentState:D().nullable(),transitionDate:D()}),dX=me({reason:D(),count:ue(),urls:Oe(a1).default([])});me({summary:me({total:ue(),indexed:ue(),notIndexed:ue(),deindexed:ue(),percentage:ue()}),lastInspectedAt:D().nullable(),indexed:Oe(a1).default([]),notIndexed:Oe(a1).default([]),deindexed:Oe(uX).default([]),reasonGroups:Oe(dX).default([])});me({url:D(),type:et(["URL_UPDATED","URL_DELETED"]),notifiedAt:D()});me({url:D(),type:et(["URL_UPDATED","URL_DELETED"]),notifiedAt:D(),status:et(["success","error"]),error:D().optional()});me({date:D(),indexed:ue(),notIndexed:ue(),reasonBreakdown:Gl(D(),ue()).default({})});me({id:D(),domain:D(),siteUrl:D().nullable().optional(),createdAt:D(),updatedAt:D()});const zb=me({id:D(),url:D(),httpCode:ue().nullable().optional(),inIndex:lt().nullable().optional(),lastCrawledDate:D().nullable().optional(),inIndexDate:D().nullable().optional(),inspectedAt:D(),documentSize:ue().nullable().optional(),anchorCount:ue().nullable().optional(),discoveryDate:D().nullable().optional()});me({summary:me({total:ue(),indexed:ue(),notIndexed:ue(),unknown:ue().optional(),percentage:ue()}),lastInspectedAt:D().nullable(),indexed:Oe(zb).default([]),notIndexed:Oe(zb).default([]),unknown:Oe(zb).default([]).optional()});me({query:D(),impressions:ue(),clicks:ue(),ctr:ue(),averagePosition:ue()});me({date:D(),indexed:ue(),notIndexed:ue(),unknown:ue()});me({url:D(),status:et(["success","error"]),submittedAt:D(),error:D().optional()});const Lu=et(["live","staging"]);me({projectName:D(),url:D(),stagingUrl:D().optional(),username:D(),defaultEnv:Lu,createdAt:D(),updatedAt:D()});const Y2=me({url:D(),reachable:lt(),pageCount:ue().nullable().optional(),version:D().nullable().optional(),error:D().nullable().optional(),plugins:Oe(D()).optional(),authenticatedUser:me({id:ue(),slug:D()}).nullable().optional()});me({connected:lt(),projectName:D(),defaultEnv:Lu,live:Y2.nullable(),staging:Y2.nullable(),adminUrl:D().nullable().optional()});const fX=me({id:ue(),slug:D(),title:D(),status:D(),modifiedAt:D().nullable().optional(),link:D().nullable().optional()}),qL=me({title:D().nullable(),description:D().nullable(),noindex:lt().nullable(),writable:lt().default(!1),writeTargets:Oe(D()).default([])}),hX=me({type:D(),json:Gl(D(),ju())}),pX=fX.extend({env:Lu,content:D(),seo:qL,schemaBlocks:Oe(hX).default([])}),W2=pX.extend({contentHash:D(),contentSnippet:D()}),KL=me({manualRequired:ba(!0),targetUrl:D(),adminUrl:D().nullable().optional(),content:D(),nextSteps:Oe(D()).default([])}),mX=me({slug:D(),severity:et(["high","medium","low"]),code:et(["noindex","missing-seo-title","missing-meta-description","missing-schema","thin-content"]),message:D()});me({slug:D(),title:D(),status:D(),wordCount:ue(),seo:qL,schemaPresent:lt(),issues:Oe(mX).default([])});const gX=me({slug:D(),status:et(["applied","skipped","manual"]),error:D().optional(),manualAssist:KL.optional()});me({env:Lu,strategy:et(["plugin","manual"]),results:Oe(gX)});const yX=me({slug:D(),status:et(["deployed","stripped","skipped","failed"]),schemasInjected:Oe(D()).optional(),manualAssist:KL.optional(),error:D().optional()});me({env:Lu,results:Oe(yX)});const vX=me({slug:D(),title:D(),canonrySchemas:Oe(D()),thirdPartySchemas:Oe(D()),hasCanonrySchema:lt()});me({env:Lu,pages:Oe(vX)});const xX=me({name:D(),status:et(["completed","skipped","failed"]),summary:D().optional(),error:D().optional()});me({projectName:D(),steps:Oe(xX)});me({slug:D(),live:W2,staging:W2,hasDifferences:lt(),differences:me({title:lt(),slug:lt(),content:lt(),seoTitle:lt(),seoDescription:lt(),noindex:lt(),schema:lt()})});const HL=et(["queued","running","completed","partial","failed","cancelled"]),gn=HL.enum,GL=et(["answer-visibility","site-audit","gsc-sync","inspect-sitemap","ga-sync","bing-inspect","bing-inspect-sitemap","backlink-extract"]),Gt=GL.enum,VL=et(["manual","scheduled","config-apply"]),Sf=VL.enum,Nu=et(["cited","not-cited"]);Nu.enum;const _g=et(["visible","not-visible"]);_g.enum;const ZL=et(["new","cited","lost","emerging","not-cited"]);ZL.enum;me({kind:ba(Gt["answer-visibility"]).optional(),trigger:ba(Sf.manual).optional(),providers:Oe(hs).optional(),location:D().min(1).optional(),allLocations:lt().optional(),noLocation:lt().optional()}).refine(e=>+!!e.location+ +!!e.allLocations+ +!!e.noLocation<=1,{message:'Only one of "location", "allLocations", or "noLocation" may be provided'});const bX=me({message:D(),raw:ju().optional()}),wX=me({message:D().optional(),providers:Gl(D(),bX).optional()}),SX=me({id:D(),projectId:D(),kind:GL,status:HL,trigger:VL.default("manual"),location:D().nullable().optional(),startedAt:D().nullable().optional(),finishedAt:D().nullable().optional(),error:wX.nullable().optional(),createdAt:D()});function lN(e){if(e.providers){const t=Object.entries(e.providers);if(t.length===1){const[n,r]=t[0];return`${n}: ${r.message}`}if(t.length>1)return t.map(([n,r])=>`${n}: ${r.message}`).join(" • ")}return e.message??"Run failed."}const YL=me({uri:D(),title:D()}),WL=me({id:D(),runId:D(),keywordId:D(),keyword:D().optional(),provider:hs,citationState:Nu,answerMentioned:lt().optional(),visibilityState:_g.optional(),transition:ZL.optional(),answerText:D().nullable().optional(),citedDomains:Oe(D()).default([]),competitorOverlap:Oe(D()).default([]),recommendedCompetitors:Oe(D()).default([]),matchedTerms:Oe(D()).default([]),groundingSources:Oe(YL).default([]),searchQueries:Oe(D()).default([]),model:D().nullable().optional(),location:D().nullable().optional(),createdAt:D()});me({snapshots:Oe(WL),total:ue().int().nonnegative()});const jX=me({keywordId:D().nullable(),keyword:D().nullable(),run1State:Nu.nullable(),run2State:Nu.nullable(),run1AnswerMentioned:lt().nullable(),run2AnswerMentioned:lt().nullable(),run1VisibilityState:_g.nullable(),run2VisibilityState:_g.nullable(),changed:lt(),visibilityChanged:lt()});me({run1:D(),run2:D(),diff:Oe(jX)});const NX=SX.extend({snapshots:Oe(WL).optional()});me({totalRuns:ue().int().nonnegative(),run:NX.nullable()});me({id:D(),projectId:D().nullable().optional(),actor:D(),action:D(),entityType:D(),entityId:D().nullable().optional(),diff:ju().optional(),createdAt:D()});const kX=et(["yes","no","unknown","not-mentioned"]);me({companyName:D().min(1),domain:D().min(1),phrases:Oe(D().min(1)).optional().default([]),competitors:Oe(D().min(1)).optional().default([])});const CX=me({name:D(),count:ue().int().nonnegative()}),_X=me({id:D(),name:D(),weight:ue(),score:ue(),grade:D(),status:et(["pass","partial","fail"]),findings:Oe(me({type:D(),message:D()})).default([]),recommendations:Oe(D()).default([])}),AX=me({url:D(),finalUrl:D(),auditedAt:D(),overallScore:ue(),overallGrade:D(),summary:D(),factors:Oe(_X).default([])}),OX=me({industry:D(),summary:D(),services:Oe(D()).default([]),categoryTerms:Oe(D()).default([])}),EX=me({provider:D(),displayName:D(),model:D().nullable().optional(),mentioned:lt(),cited:lt(),describedAccurately:kX,accuracyNotes:D().nullable().optional(),incorrectClaims:Oe(D()).default([]),recommendedCompetitors:Oe(D()).default([]),citedDomains:Oe(D()).default([]),groundingSources:Oe(YL).default([]),searchQueries:Oe(D()).default([]),answerText:D(),error:D().nullable().optional()}),zX=me({phrase:D(),providerResults:Oe(EX).default([])}),TX=me({totalQueries:ue().int().nonnegative(),totalProviders:ue().int().nonnegative(),totalComparisons:ue().int().nonnegative(),mentionCount:ue().int().nonnegative(),citationCount:ue().int().nonnegative(),topCompetitors:Oe(CX).default([]),visibilityGap:D(),whatThisMeans:Oe(D()).default([]),recommendedActions:Oe(D()).default([])});me({companyName:D(),domain:D(),homepageUrl:D(),generatedAt:D(),phrases:Oe(D()).default([]),competitors:Oe(D()).default([]),profile:OX,audit:AX,queryResults:Oe(zX).default([]),summary:TX});me({id:D(),projectId:D(),cronExpr:D(),preset:D().nullable().optional(),timezone:D().default("UTC"),enabled:lt().default(!0),providers:Oe(hs).default([]),lastRunAt:D().nullable().optional(),nextRunAt:D().nullable().optional(),createdAt:D(),updatedAt:D()});me({preset:D().optional(),cron:D().optional(),timezone:D().optional().default("UTC"),enabled:lt().optional().default(!0),providers:Oe(hs).optional().default([])}).refine(e=>e.preset&&!e.cron||!e.preset&&e.cron,{message:'Exactly one of "preset" or "cron" must be provided'});const PX=et(["mentioned","cited"]),ro=PX.enum;me({id:D(),projectId:D(),propertyId:D(),clientEmail:D(),connected:lt(),createdAt:D(),updatedAt:D()});me({date:D(),landingPage:D(),sessions:ue(),organicSessions:ue(),users:ue()});const cN=et(["session","first_user","manual_utm"]),RX=me({source:D(),medium:D(),sessions:ue(),users:ue(),sourceDimension:cN}),DX=me({source:D(),medium:D(),sourceDimension:cN,landingPage:D(),sessions:ue(),users:ue()}),MX=me({source:D(),medium:D(),sessions:ue(),users:ue(),channelGroup:D()});me({totalSessions:ue(),totalOrganicSessions:ue(),totalDirectSessions:ue(),totalUsers:ue(),topPages:Oe(me({landingPage:D(),sessions:ue(),organicSessions:ue(),directSessions:ue(),users:ue()})),aiReferrals:Oe(RX),aiReferralLandingPages:Oe(DX),aiSessionsDeduped:ue(),aiUsersDeduped:ue(),aiSessionsBySession:ue(),aiUsersBySession:ue(),socialReferrals:Oe(MX),socialSessions:ue(),socialUsers:ue(),organicSharePct:ue(),aiSharePct:ue(),aiSharePctBySession:ue(),directSharePct:ue(),socialSharePct:ue(),lastSyncedAt:D().nullable()});me({date:D(),source:D(),medium:D(),landingPage:D(),sessions:ue(),users:ue(),sourceDimension:cN});me({date:D(),source:D(),medium:D(),sessions:ue(),users:ue(),channelGroup:D()});me({date:D(),sessions:ue(),organicSessions:ue(),users:ue()});function Q2(e){return e.toLowerCase().replace(/[^a-z0-9]/g,"")}const IX=et(["aero","user","compaction"]);IX.enum;const QL=128;me({key:D().min(1).max(QL),value:D().min(1)});me({key:D().min(1).max(QL)});const uN=et(["queued","downloading","querying","ready","failed"]);uN.enum;me({id:D(),release:D(),status:uN,phaseDetail:D().nullable().optional(),vertexPath:D().nullable().optional(),edgesPath:D().nullable().optional(),vertexSha256:D().nullable().optional(),edgesSha256:D().nullable().optional(),vertexBytes:ue().int().nullable().optional(),edgesBytes:ue().int().nullable().optional(),projectsProcessed:ue().int().nullable().optional(),domainsDiscovered:ue().int().nullable().optional(),downloadStartedAt:D().nullable().optional(),downloadFinishedAt:D().nullable().optional(),queryStartedAt:D().nullable().optional(),queryFinishedAt:D().nullable().optional(),error:D().nullable().optional(),createdAt:D(),updatedAt:D()});const LX=me({linkingDomain:D(),numHosts:ue().int()}),$X=me({projectId:D(),release:D(),targetDomain:D(),totalLinkingDomains:ue().int(),totalHosts:ue().int(),top10HostsShare:D(),queriedAt:D()});me({summary:$X.nullable(),total:ue().int(),rows:Oe(LX)});me({release:D(),totalLinkingDomains:ue().int(),totalHosts:ue().int(),top10HostsShare:D(),queriedAt:D()});me({duckdbInstalled:lt(),duckdbVersion:D().nullable().optional(),duckdbSpec:D(),pluginDir:D()});me({installed:lt(),version:D(),path:D(),alreadyPresent:lt()});me({release:D(),vertexUrl:D(),edgesUrl:D(),vertexBytes:ue().int().nullable(),edgesBytes:ue().int().nullable(),lastModified:D().nullable()});me({release:D(),syncStatus:uN.nullable(),bytes:ue().int(),lastUsedAt:D().nullable()});et(["snapshot","insight"]);const BX=me({kind:ba("snapshot"),id:D(),runId:D(),keyword:D(),provider:D(),model:D().nullable(),citationState:Nu,matchedField:et(["answerText","citedDomains","searchQueries","keyword"]),snippet:D(),createdAt:D()}),UX=me({kind:ba("insight"),id:D(),runId:D().nullable(),type:et(["regression","gain","opportunity"]),severity:et(["critical","high","medium","low"]),title:D(),keyword:D(),provider:D(),matchedField:et(["title","keyword","recommendation","cause"]),snippet:D(),dismissed:lt(),createdAt:D()}),FX=TQ("kind",[BX,UX]);me({query:D(),totalHits:ue().int().nonnegative(),truncated:lt(),hits:Oe(FX)});const XL=et(["create","expand","refresh","add-schema"]);XL.enum;const JL=et(["gsc","competitor-evidence","both"]);JL.enum;const e5=et(["high","medium","low"]);e5.enum;const qX=et(["blog-post","comparison","listicle","how-to","guide","glossary"]);qX.enum;const t5=et(["proposed","briefed","payload-generated","draft-created","published","validated","dismissed"]);t5.enum;const KX=me({url:D(),gscImpressions:ue().nonnegative(),gscClicks:ue().nonnegative(),gscAvgPosition:ue().nonnegative().nullable(),organicSessions:ue().nonnegative()}),HX=me({domain:D(),url:D(),title:D(),citationCount:ue().int().nonnegative()}),GX=me({demand:ue(),competitor:ue(),absence:ue(),gapSeverity:ue()}),VX=me({actionId:D(),state:t5,lastUpdated:D()}),ZX=me({targetRef:D(),query:D(),action:XL,ourBestPage:KX.nullable(),winningCompetitor:HX.nullable(),score:ue(),scoreBreakdown:GX,drivers:Oe(D()),demandSource:JL,actionConfidence:e5,existingAction:VX.nullable()});me({targets:Oe(ZX),contextMetrics:me({totalAiReferralSessions:ue().int().nonnegative(),latestRunId:D(),runTimestamp:D()})});const YX=me({uri:D(),title:D(),domain:D(),isOurDomain:lt(),isCompetitor:lt(),citationCount:ue().int().nonnegative(),providers:Oe(hs)}),WX=me({query:D(),groundingSources:Oe(YX)});me({sources:Oe(WX),latestRunId:D()});const QX=me({query:D(),competitorDomains:Oe(D()),competitorCount:ue().int().nonnegative(),missRate:ue().min(0).max(1),lastSeenInRunId:D()});me({gaps:Oe(QX),latestRunId:D()});const n5=et(["ok","warn","fail","skipped"]);n5.enum;const dN=et(["global","project"]);dN.enum;const r5=et(["auth","config","providers","integrations","database","schedules"]);r5.enum;const XX=me({id:D(),category:r5,scope:dN,title:D(),status:n5,code:D().describe('Stable machine-readable code (e.g. "google.token.refresh-failed"). Use this for filtering and remediation logic.'),summary:D(),remediation:D().nullable().optional().describe('Operator-facing next step. Null when status is "ok" or no specific remediation applies.'),details:Gl(D(),ju()).optional().describe("Structured context — principal email, redirect URI, missing scopes, etc. Stable per check id."),durationMs:ue().int().nonnegative().describe("How long the check took to execute.")});me({scope:dN,project:D().nullable().describe('Project name when scope is "project", null otherwise.'),generatedAt:D().describe("ISO-8601 timestamp when this doctor run started."),durationMs:ue().int().nonnegative(),summary:me({total:ue().int().nonnegative(),ok:ue().int().nonnegative(),warn:ue().int().nonnegative(),fail:ue().int().nonnegative(),skipped:ue().int().nonnegative()}),checks:Oe(XX)});const JX=me({provider:D(),citationState:Nu,cited:lt(),mentioned:lt(),runId:D(),runCreatedAt:D()}),eJ=me({keywordId:D(),keyword:D(),providers:Oe(JX),citedCount:ue().int().nonnegative(),mentionedCount:ue().int().nonnegative(),totalProviders:ue().int().nonnegative()}),tJ=me({keywordId:D(),keyword:D(),provider:D(),citingCompetitors:Oe(D()),runId:D(),runCreatedAt:D()}),nJ=me({providersConfigured:ue().int().nonnegative(),providersCiting:ue().int().nonnegative(),providersMentioning:ue().int().nonnegative(),totalKeywords:ue().int().nonnegative(),keywordsCitedAndMentioned:ue().int().nonnegative(),keywordsCitedOnly:ue().int().nonnegative(),keywordsMentionedOnly:ue().int().nonnegative(),keywordsInvisible:ue().int().nonnegative(),latestRunId:D().nullable(),latestRunAt:D().nullable()});me({summary:nJ,byKeyword:Oe(eJ),competitorGaps:Oe(tJ),status:et(["ready","no-data"]),reason:et(["no-runs-yet","no-keywords"]).optional()});var io=(e=>(e.Clicks="clicks",e.Impressions="impressions",e.CTR="ctr",e.Position="position",e))(io||{});const rJ={clicks:"Clicks",impressions:"Impressions",ctr:"CTR",position:"Position"},um={clicks:"Clicks",impressions:"Impr",ctr:"CTR",position:"Pos"},iJ=lN;function aJ(e){const t=[];if(e.message&&t.push(e.message),e.providers)for(const[n,r]of Object.entries(e.providers)){const i=`[${n}] ${r.message}`;r.raw!==void 0?t.push(`${i}
47
+ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.`)}for(const o of e.seen.entries()){const u=o[1];if(t===o[0]){a(o);continue}if(e.external){const f=e.external.registry.get(o[0])?.id;if(t!==o[0]&&f){a(o);continue}}if(e.metadataRegistry.get(o[0])?.id){a(o);continue}if(u.cycle){a(o);continue}if(u.count>1&&e.reused==="ref"){a(o);continue}}}function DL(e,t){const n=e.seen.get(t);if(!n)throw new Error("Unprocessed schema. This is a bug in Zod.");const r=o=>{const u=e.seen.get(o);if(u.ref===null)return;const d=u.def??u.schema,f={...d},p=u.ref;if(u.ref=null,p){r(p);const y=e.seen.get(p),v=y.schema;if(v.$ref&&(e.target==="draft-07"||e.target==="draft-04"||e.target==="openapi-3.0")?(d.allOf=d.allOf??[],d.allOf.push(v)):Object.assign(d,v),Object.assign(d,f),o._zod.parent===p)for(const S in d)S==="$ref"||S==="allOf"||S in f||delete d[S];if(v.$ref&&y.def)for(const S in d)S==="$ref"||S==="allOf"||S in y.def&&JSON.stringify(d[S])===JSON.stringify(y.def[S])&&delete d[S]}const m=o._zod.parent;if(m&&m!==p){r(m);const y=e.seen.get(m);if(y?.schema.$ref&&(d.$ref=y.schema.$ref,y.def))for(const v in d)v==="$ref"||v==="allOf"||v in y.def&&JSON.stringify(d[v])===JSON.stringify(y.def[v])&&delete d[v]}e.override({zodSchema:o,jsonSchema:d,path:u.path??[]})};for(const o of[...e.seen.entries()].reverse())r(o[0]);const i={};if(e.target==="draft-2020-12"?i.$schema="https://json-schema.org/draft/2020-12/schema":e.target==="draft-07"?i.$schema="http://json-schema.org/draft-07/schema#":e.target==="draft-04"?i.$schema="http://json-schema.org/draft-04/schema#":e.target,e.external?.uri){const o=e.external.registry.get(t)?.id;if(!o)throw new Error("Schema is missing an `id` property");i.$id=e.external.uri(o)}Object.assign(i,n.def??n.schema);const a=e.external?.defs??{};for(const o of e.seen.entries()){const u=o[1];u.def&&u.defId&&(a[u.defId]=u.def)}e.external||Object.keys(a).length>0&&(e.target==="draft-2020-12"?i.$defs=a:i.definitions=a);try{const o=JSON.parse(JSON.stringify(i));return Object.defineProperty(o,"~standard",{value:{...t["~standard"],jsonSchema:{input:Cg(t,"input",e.processors),output:Cg(t,"output",e.processors)}},enumerable:!1,writable:!1}),o}catch{throw new Error("Error converting schema to JSON.")}}function hr(e,t){const n=t??{seen:new Set};if(n.seen.has(e))return!1;n.seen.add(e);const r=e._zod.def;if(r.type==="transform")return!0;if(r.type==="array")return hr(r.element,n);if(r.type==="set")return hr(r.valueType,n);if(r.type==="lazy")return hr(r.getter(),n);if(r.type==="promise"||r.type==="optional"||r.type==="nonoptional"||r.type==="nullable"||r.type==="readonly"||r.type==="default"||r.type==="prefault")return hr(r.innerType,n);if(r.type==="intersection")return hr(r.left,n)||hr(r.right,n);if(r.type==="record"||r.type==="map")return hr(r.keyType,n)||hr(r.valueType,n);if(r.type==="pipe")return hr(r.in,n)||hr(r.out,n);if(r.type==="object"){for(const i in r.shape)if(hr(r.shape[i],n))return!0;return!1}if(r.type==="union"){for(const i of r.options)if(hr(i,n))return!0;return!1}if(r.type==="tuple"){for(const i of r.items)if(hr(i,n))return!0;return!!(r.rest&&hr(r.rest,n))}return!1}const mW=(e,t={})=>n=>{const r=PL({...n,processors:t});return En(e,r),RL(r,e),DL(r,e)},Cg=(e,t,n={})=>r=>{const{libraryOptions:i,target:a}=r??{},o=PL({...i??{},target:a,io:t,processors:n});return En(e,o),RL(o,e),DL(o,e)},gW={guid:"uuid",url:"uri",datetime:"date-time",json_string:"json-string",regex:""},yW=(e,t,n,r)=>{const i=n;i.type="string";const{minimum:a,maximum:o,format:u,patterns:d,contentEncoding:f}=e._zod.bag;if(typeof a=="number"&&(i.minLength=a),typeof o=="number"&&(i.maxLength=o),u&&(i.format=gW[u]??u,i.format===""&&delete i.format,u==="time"&&delete i.format),f&&(i.contentEncoding=f),d&&d.size>0){const p=[...d];p.length===1?i.pattern=p[0].source:p.length>1&&(i.allOf=[...p.map(m=>({...t.target==="draft-07"||t.target==="draft-04"||t.target==="openapi-3.0"?{type:"string"}:{},pattern:m.source}))])}},vW=(e,t,n,r)=>{const i=n,{minimum:a,maximum:o,format:u,multipleOf:d,exclusiveMaximum:f,exclusiveMinimum:p}=e._zod.bag;typeof u=="string"&&u.includes("int")?i.type="integer":i.type="number",typeof p=="number"&&(t.target==="draft-04"||t.target==="openapi-3.0"?(i.minimum=p,i.exclusiveMinimum=!0):i.exclusiveMinimum=p),typeof a=="number"&&(i.minimum=a,typeof p=="number"&&t.target!=="draft-04"&&(p>=a?delete i.minimum:delete i.exclusiveMinimum)),typeof f=="number"&&(t.target==="draft-04"||t.target==="openapi-3.0"?(i.maximum=f,i.exclusiveMaximum=!0):i.exclusiveMaximum=f),typeof o=="number"&&(i.maximum=o,typeof f=="number"&&t.target!=="draft-04"&&(f<=o?delete i.maximum:delete i.exclusiveMaximum)),typeof d=="number"&&(i.multipleOf=d)},xW=(e,t,n,r)=>{n.type="boolean"},bW=(e,t,n,r)=>{n.not={}},wW=(e,t,n,r)=>{},SW=(e,t,n,r)=>{const i=e._zod.def,a=fL(i.entries);a.every(o=>typeof o=="number")&&(n.type="number"),a.every(o=>typeof o=="string")&&(n.type="string"),n.enum=a},jW=(e,t,n,r)=>{const i=e._zod.def,a=[];for(const o of i.values)if(o===void 0){if(t.unrepresentable==="throw")throw new Error("Literal `undefined` cannot be represented in JSON Schema")}else if(typeof o=="bigint"){if(t.unrepresentable==="throw")throw new Error("BigInt literals cannot be represented in JSON Schema");a.push(Number(o))}else a.push(o);if(a.length!==0)if(a.length===1){const o=a[0];n.type=o===null?"null":typeof o,t.target==="draft-04"||t.target==="openapi-3.0"?n.enum=[o]:n.const=o}else a.every(o=>typeof o=="number")&&(n.type="number"),a.every(o=>typeof o=="string")&&(n.type="string"),a.every(o=>typeof o=="boolean")&&(n.type="boolean"),a.every(o=>o===null)&&(n.type="null"),n.enum=a},NW=(e,t,n,r)=>{if(t.unrepresentable==="throw")throw new Error("Custom types cannot be represented in JSON Schema")},kW=(e,t,n,r)=>{if(t.unrepresentable==="throw")throw new Error("Transforms cannot be represented in JSON Schema")},CW=(e,t,n,r)=>{const i=n,a=e._zod.def,{minimum:o,maximum:u}=e._zod.bag;typeof o=="number"&&(i.minItems=o),typeof u=="number"&&(i.maxItems=u),i.type="array",i.items=En(a.element,t,{...r,path:[...r.path,"items"]})},_W=(e,t,n,r)=>{const i=n,a=e._zod.def;i.type="object",i.properties={};const o=a.shape;for(const f in o)i.properties[f]=En(o[f],t,{...r,path:[...r.path,"properties",f]});const u=new Set(Object.keys(o)),d=new Set([...u].filter(f=>{const p=a.shape[f]._zod;return t.io==="input"?p.optin===void 0:p.optout===void 0}));d.size>0&&(i.required=Array.from(d)),a.catchall?._zod.def.type==="never"?i.additionalProperties=!1:a.catchall?a.catchall&&(i.additionalProperties=En(a.catchall,t,{...r,path:[...r.path,"additionalProperties"]})):t.io==="output"&&(i.additionalProperties=!1)},AW=(e,t,n,r)=>{const i=e._zod.def,a=i.inclusive===!1,o=i.options.map((u,d)=>En(u,t,{...r,path:[...r.path,a?"oneOf":"anyOf",d]}));a?n.oneOf=o:n.anyOf=o},OW=(e,t,n,r)=>{const i=e._zod.def,a=En(i.left,t,{...r,path:[...r.path,"allOf",0]}),o=En(i.right,t,{...r,path:[...r.path,"allOf",1]}),u=f=>"allOf"in f&&Object.keys(f).length===1,d=[...u(a)?a.allOf:[a],...u(o)?o.allOf:[o]];n.allOf=d},EW=(e,t,n,r)=>{const i=n,a=e._zod.def;i.type="object";const o=a.keyType,d=o._zod.bag?.patterns;if(a.mode==="loose"&&d&&d.size>0){const p=En(a.valueType,t,{...r,path:[...r.path,"patternProperties","*"]});i.patternProperties={};for(const m of d)i.patternProperties[m.source]=p}else(t.target==="draft-07"||t.target==="draft-2020-12")&&(i.propertyNames=En(a.keyType,t,{...r,path:[...r.path,"propertyNames"]})),i.additionalProperties=En(a.valueType,t,{...r,path:[...r.path,"additionalProperties"]});const f=o._zod.values;if(f){const p=[...f].filter(m=>typeof m=="string"||typeof m=="number");p.length>0&&(i.required=p)}},zW=(e,t,n,r)=>{const i=e._zod.def,a=En(i.innerType,t,r),o=t.seen.get(e);t.target==="openapi-3.0"?(o.ref=i.innerType,n.nullable=!0):n.anyOf=[a,{type:"null"}]},TW=(e,t,n,r)=>{const i=e._zod.def;En(i.innerType,t,r);const a=t.seen.get(e);a.ref=i.innerType},PW=(e,t,n,r)=>{const i=e._zod.def;En(i.innerType,t,r);const a=t.seen.get(e);a.ref=i.innerType,n.default=JSON.parse(JSON.stringify(i.defaultValue))},RW=(e,t,n,r)=>{const i=e._zod.def;En(i.innerType,t,r);const a=t.seen.get(e);a.ref=i.innerType,t.io==="input"&&(n._prefault=JSON.parse(JSON.stringify(i.defaultValue)))},DW=(e,t,n,r)=>{const i=e._zod.def;En(i.innerType,t,r);const a=t.seen.get(e);a.ref=i.innerType;let o;try{o=i.catchValue(void 0)}catch{throw new Error("Dynamic catch values are not supported in JSON Schema")}n.default=o},MW=(e,t,n,r)=>{const i=e._zod.def,a=t.io==="input"?i.in._zod.def.type==="transform"?i.out:i.in:i.out;En(a,t,r);const o=t.seen.get(e);o.ref=a},IW=(e,t,n,r)=>{const i=e._zod.def;En(i.innerType,t,r);const a=t.seen.get(e);a.ref=i.innerType,n.readOnly=!0},ML=(e,t,n,r)=>{const i=e._zod.def;En(i.innerType,t,r);const a=t.seen.get(e);a.ref=i.innerType},LW=ge("ZodISODateTime",(e,t)=>{$Z.init(e,t),dn.init(e,t)});function $W(e){return HY(LW,e)}const BW=ge("ZodISODate",(e,t)=>{BZ.init(e,t),dn.init(e,t)});function UW(e){return GY(BW,e)}const FW=ge("ZodISOTime",(e,t)=>{UZ.init(e,t),dn.init(e,t)});function qW(e){return VY(FW,e)}const KW=ge("ZodISODuration",(e,t)=>{FZ.init(e,t),dn.init(e,t)});function HW(e){return ZY(KW,e)}const GW=(e,t)=>{gL.init(e,t),e.name="ZodError",Object.defineProperties(e,{format:{value:n=>TV(e,n)},flatten:{value:n=>zV(e,n)},addIssue:{value:n=>{e.issues.push(n),e.message=JSON.stringify(e.issues,t1,2)}},addIssues:{value:n=>{e.issues.push(...n),e.message=JSON.stringify(e.issues,t1,2)}},isEmpty:{get(){return e.issues.length===0}}})},Ti=ge("ZodError",GW,{Parent:Error}),VW=rN(Ti),ZW=iN(Ti),YW=Hy(Ti),WW=Gy(Ti),QW=DV(Ti),XW=MV(Ti),JW=IV(Ti),eQ=LV(Ti),tQ=$V(Ti),nQ=BV(Ti),rQ=UV(Ti),iQ=FV(Ti),un=ge("ZodType",(e,t)=>(cn.init(e,t),Object.assign(e["~standard"],{jsonSchema:{input:Cg(e,"input"),output:Cg(e,"output")}}),e.toJSONSchema=mW(e,{}),e.def=t,e.type=t.type,Object.defineProperty(e,"_def",{value:t}),e.check=(...n)=>e.clone(No(t,{checks:[...t.checks??[],...n.map(r=>typeof r=="function"?{_zod:{check:r,def:{check:"custom"},onattach:[]}}:r)]}),{parent:!0}),e.with=e.check,e.clone=(n,r)=>ko(e,n,r),e.brand=()=>e,e.register=((n,r)=>(n.add(e,r),e)),e.parse=(n,r)=>VW(e,n,r,{callee:e.parse}),e.safeParse=(n,r)=>YW(e,n,r),e.parseAsync=async(n,r)=>ZW(e,n,r,{callee:e.parseAsync}),e.safeParseAsync=async(n,r)=>WW(e,n,r),e.spa=e.safeParseAsync,e.encode=(n,r)=>QW(e,n,r),e.decode=(n,r)=>XW(e,n,r),e.encodeAsync=async(n,r)=>JW(e,n,r),e.decodeAsync=async(n,r)=>eQ(e,n,r),e.safeEncode=(n,r)=>tQ(e,n,r),e.safeDecode=(n,r)=>nQ(e,n,r),e.safeEncodeAsync=async(n,r)=>rQ(e,n,r),e.safeDecodeAsync=async(n,r)=>iQ(e,n,r),e.refine=(n,r)=>e.check(JQ(n,r)),e.superRefine=n=>e.check(eX(n)),e.overwrite=n=>e.check(Iu(n)),e.optional=()=>G2(e),e.exactOptional=()=>BQ(e),e.nullable=()=>V2(e),e.nullish=()=>G2(V2(e)),e.nonoptional=n=>GQ(e,n),e.array=()=>Oe(e),e.or=n=>EQ([e,n]),e.and=n=>RQ(e,n),e.transform=n=>Z2(e,LQ(n)),e.default=n=>qQ(e,n),e.prefault=n=>HQ(e,n),e.catch=n=>ZQ(e,n),e.pipe=n=>Z2(e,n),e.readonly=()=>QQ(e),e.describe=n=>{const r=e.clone();return mf.add(r,{description:n}),r},Object.defineProperty(e,"description",{get(){return mf.get(e)?.description},configurable:!0}),e.meta=(...n)=>{if(n.length===0)return mf.get(e);const r=e.clone();return mf.add(r,n[0]),r},e.isOptional=()=>e.safeParse(void 0).success,e.isNullable=()=>e.safeParse(null).success,e.apply=n=>n(e),e)),IL=ge("_ZodString",(e,t)=>{aN.init(e,t),un.init(e,t),e._zod.processJSONSchema=(r,i,a)=>yW(e,r,i);const n=e._zod.bag;e.format=n.format??null,e.minLength=n.minimum??null,e.maxLength=n.maximum??null,e.regex=(...r)=>e.check(eW(...r)),e.includes=(...r)=>e.check(rW(...r)),e.startsWith=(...r)=>e.check(iW(...r)),e.endsWith=(...r)=>e.check(aW(...r)),e.min=(...r)=>e.check(kg(...r)),e.max=(...r)=>e.check(zL(...r)),e.length=(...r)=>e.check(TL(...r)),e.nonempty=(...r)=>e.check(kg(1,...r)),e.lowercase=r=>e.check(tW(r)),e.uppercase=r=>e.check(nW(r)),e.trim=()=>e.check(oW()),e.normalize=(...r)=>e.check(sW(...r)),e.toLowerCase=()=>e.check(lW()),e.toUpperCase=()=>e.check(cW()),e.slugify=()=>e.check(uW())}),aQ=ge("ZodString",(e,t)=>{aN.init(e,t),IL.init(e,t),e.email=n=>e.check(NY(sQ,n)),e.url=n=>e.check(OY(oQ,n)),e.jwt=n=>e.check(KY(SQ,n)),e.emoji=n=>e.check(EY(lQ,n)),e.guid=n=>e.check(B2(K2,n)),e.uuid=n=>e.check(kY(cm,n)),e.uuidv4=n=>e.check(CY(cm,n)),e.uuidv6=n=>e.check(_Y(cm,n)),e.uuidv7=n=>e.check(AY(cm,n)),e.nanoid=n=>e.check(zY(cQ,n)),e.guid=n=>e.check(B2(K2,n)),e.cuid=n=>e.check(TY(uQ,n)),e.cuid2=n=>e.check(PY(dQ,n)),e.ulid=n=>e.check(RY(fQ,n)),e.base64=n=>e.check(UY(xQ,n)),e.base64url=n=>e.check(FY(bQ,n)),e.xid=n=>e.check(DY(hQ,n)),e.ksuid=n=>e.check(MY(pQ,n)),e.ipv4=n=>e.check(IY(mQ,n)),e.ipv6=n=>e.check(LY(gQ,n)),e.cidrv4=n=>e.check($Y(yQ,n)),e.cidrv6=n=>e.check(BY(vQ,n)),e.e164=n=>e.check(qY(wQ,n)),e.datetime=n=>e.check($W(n)),e.date=n=>e.check(UW(n)),e.time=n=>e.check(qW(n)),e.duration=n=>e.check(HW(n))});function D(e){return jY(aQ,e)}const dn=ge("ZodStringFormat",(e,t)=>{an.init(e,t),IL.init(e,t)}),sQ=ge("ZodEmail",(e,t)=>{EZ.init(e,t),dn.init(e,t)}),K2=ge("ZodGUID",(e,t)=>{AZ.init(e,t),dn.init(e,t)}),cm=ge("ZodUUID",(e,t)=>{OZ.init(e,t),dn.init(e,t)}),oQ=ge("ZodURL",(e,t)=>{zZ.init(e,t),dn.init(e,t)}),lQ=ge("ZodEmoji",(e,t)=>{TZ.init(e,t),dn.init(e,t)}),cQ=ge("ZodNanoID",(e,t)=>{PZ.init(e,t),dn.init(e,t)}),uQ=ge("ZodCUID",(e,t)=>{RZ.init(e,t),dn.init(e,t)}),dQ=ge("ZodCUID2",(e,t)=>{DZ.init(e,t),dn.init(e,t)}),fQ=ge("ZodULID",(e,t)=>{MZ.init(e,t),dn.init(e,t)}),hQ=ge("ZodXID",(e,t)=>{IZ.init(e,t),dn.init(e,t)}),pQ=ge("ZodKSUID",(e,t)=>{LZ.init(e,t),dn.init(e,t)}),mQ=ge("ZodIPv4",(e,t)=>{qZ.init(e,t),dn.init(e,t)}),gQ=ge("ZodIPv6",(e,t)=>{KZ.init(e,t),dn.init(e,t)}),yQ=ge("ZodCIDRv4",(e,t)=>{HZ.init(e,t),dn.init(e,t)}),vQ=ge("ZodCIDRv6",(e,t)=>{GZ.init(e,t),dn.init(e,t)}),xQ=ge("ZodBase64",(e,t)=>{VZ.init(e,t),dn.init(e,t)}),bQ=ge("ZodBase64URL",(e,t)=>{YZ.init(e,t),dn.init(e,t)}),wQ=ge("ZodE164",(e,t)=>{WZ.init(e,t),dn.init(e,t)}),SQ=ge("ZodJWT",(e,t)=>{XZ.init(e,t),dn.init(e,t)}),LL=ge("ZodNumber",(e,t)=>{CL.init(e,t),un.init(e,t),e._zod.processJSONSchema=(r,i,a)=>vW(e,r,i),e.gt=(r,i)=>e.check(F2(r,i)),e.gte=(r,i)=>e.check(Eb(r,i)),e.min=(r,i)=>e.check(Eb(r,i)),e.lt=(r,i)=>e.check(U2(r,i)),e.lte=(r,i)=>e.check(Ob(r,i)),e.max=(r,i)=>e.check(Ob(r,i)),e.int=r=>e.check(H2(r)),e.safe=r=>e.check(H2(r)),e.positive=r=>e.check(F2(0,r)),e.nonnegative=r=>e.check(Eb(0,r)),e.negative=r=>e.check(U2(0,r)),e.nonpositive=r=>e.check(Ob(0,r)),e.multipleOf=(r,i)=>e.check(q2(r,i)),e.step=(r,i)=>e.check(q2(r,i)),e.finite=()=>e;const n=e._zod.bag;e.minValue=Math.max(n.minimum??Number.NEGATIVE_INFINITY,n.exclusiveMinimum??Number.NEGATIVE_INFINITY)??null,e.maxValue=Math.min(n.maximum??Number.POSITIVE_INFINITY,n.exclusiveMaximum??Number.POSITIVE_INFINITY)??null,e.isInt=(n.format??"").includes("int")||Number.isSafeInteger(n.multipleOf??.5),e.isFinite=!0,e.format=n.format??null});function ue(e){return YY(LL,e)}const jQ=ge("ZodNumberFormat",(e,t)=>{JZ.init(e,t),LL.init(e,t)});function H2(e){return WY(jQ,e)}const NQ=ge("ZodBoolean",(e,t)=>{eY.init(e,t),un.init(e,t),e._zod.processJSONSchema=(n,r,i)=>xW(e,n,r)});function lt(e){return QY(NQ,e)}const kQ=ge("ZodUnknown",(e,t)=>{tY.init(e,t),un.init(e,t),e._zod.processJSONSchema=(n,r,i)=>wW()});function ju(){return XY(kQ)}const CQ=ge("ZodNever",(e,t)=>{nY.init(e,t),un.init(e,t),e._zod.processJSONSchema=(n,r,i)=>bW(e,n,r)});function _Q(e){return JY(CQ,e)}const AQ=ge("ZodArray",(e,t)=>{rY.init(e,t),un.init(e,t),e._zod.processJSONSchema=(n,r,i)=>CW(e,n,r,i),e.element=t.element,e.min=(n,r)=>e.check(kg(n,r)),e.nonempty=n=>e.check(kg(1,n)),e.max=(n,r)=>e.check(zL(n,r)),e.length=(n,r)=>e.check(TL(n,r)),e.unwrap=()=>e.element});function Oe(e,t){return dW(AQ,e,t)}const OQ=ge("ZodObject",(e,t)=>{aY.init(e,t),un.init(e,t),e._zod.processJSONSchema=(n,r,i)=>_W(e,n,r,i),zt(e,"shape",()=>t.shape),e.keyof=()=>et(Object.keys(e._zod.def.shape)),e.catchall=n=>e.clone({...e._zod.def,catchall:n}),e.passthrough=()=>e.clone({...e._zod.def,catchall:ju()}),e.loose=()=>e.clone({...e._zod.def,catchall:ju()}),e.strict=()=>e.clone({...e._zod.def,catchall:_Q()}),e.strip=()=>e.clone({...e._zod.def,catchall:void 0}),e.extend=n=>CV(e,n),e.safeExtend=n=>_V(e,n),e.merge=n=>AV(e,n),e.pick=n=>NV(e,n),e.omit=n=>kV(e,n),e.partial=(...n)=>OV(BL,e,n[0]),e.required=(...n)=>EV(UL,e,n[0])});function me(e,t){const n={type:"object",shape:e??{},...Ge(t)};return new OQ(n)}const $L=ge("ZodUnion",(e,t)=>{OL.init(e,t),un.init(e,t),e._zod.processJSONSchema=(n,r,i)=>AW(e,n,r,i),e.options=t.options});function EQ(e,t){return new $L({type:"union",options:e,...Ge(t)})}const zQ=ge("ZodDiscriminatedUnion",(e,t)=>{$L.init(e,t),sY.init(e,t)});function TQ(e,t,n){return new zQ({type:"union",options:t,discriminator:e,...Ge(n)})}const PQ=ge("ZodIntersection",(e,t)=>{oY.init(e,t),un.init(e,t),e._zod.processJSONSchema=(n,r,i)=>OW(e,n,r,i)});function RQ(e,t){return new PQ({type:"intersection",left:e,right:t})}const DQ=ge("ZodRecord",(e,t)=>{lY.init(e,t),un.init(e,t),e._zod.processJSONSchema=(n,r,i)=>EW(e,n,r,i),e.keyType=t.keyType,e.valueType=t.valueType});function Gl(e,t,n){return new DQ({type:"record",keyType:e,valueType:t,...Ge(n)})}const r1=ge("ZodEnum",(e,t)=>{cY.init(e,t),un.init(e,t),e._zod.processJSONSchema=(r,i,a)=>SW(e,r,i),e.enum=t.entries,e.options=Object.values(t.entries);const n=new Set(Object.keys(t.entries));e.extract=(r,i)=>{const a={};for(const o of r)if(n.has(o))a[o]=t.entries[o];else throw new Error(`Key ${o} not found in enum`);return new r1({...t,checks:[],...Ge(i),entries:a})},e.exclude=(r,i)=>{const a={...t.entries};for(const o of r)if(n.has(o))delete a[o];else throw new Error(`Key ${o} not found in enum`);return new r1({...t,checks:[],...Ge(i),entries:a})}});function et(e,t){const n=Array.isArray(e)?Object.fromEntries(e.map(r=>[r,r])):e;return new r1({type:"enum",entries:n,...Ge(t)})}const MQ=ge("ZodLiteral",(e,t)=>{uY.init(e,t),un.init(e,t),e._zod.processJSONSchema=(n,r,i)=>jW(e,n,r),e.values=new Set(t.values),Object.defineProperty(e,"value",{get(){if(t.values.length>1)throw new Error("This schema contains multiple valid literal values. Use `.values` instead.");return t.values[0]}})});function ba(e,t){return new MQ({type:"literal",values:Array.isArray(e)?e:[e],...Ge(t)})}const IQ=ge("ZodTransform",(e,t)=>{dY.init(e,t),un.init(e,t),e._zod.processJSONSchema=(n,r,i)=>kW(e,n),e._zod.parse=(n,r)=>{if(r.direction==="backward")throw new uL(e.constructor.name);n.addIssue=a=>{if(typeof a=="string")n.issues.push(Mf(a,n.value,t));else{const o=a;o.fatal&&(o.continue=!1),o.code??(o.code="custom"),o.input??(o.input=n.value),o.inst??(o.inst=e),n.issues.push(Mf(o))}};const i=t.transform(n.value,n);return i instanceof Promise?i.then(a=>(n.value=a,n)):(n.value=i,n)}});function LQ(e){return new IQ({type:"transform",transform:e})}const BL=ge("ZodOptional",(e,t)=>{EL.init(e,t),un.init(e,t),e._zod.processJSONSchema=(n,r,i)=>ML(e,n,r,i),e.unwrap=()=>e._zod.def.innerType});function G2(e){return new BL({type:"optional",innerType:e})}const $Q=ge("ZodExactOptional",(e,t)=>{fY.init(e,t),un.init(e,t),e._zod.processJSONSchema=(n,r,i)=>ML(e,n,r,i),e.unwrap=()=>e._zod.def.innerType});function BQ(e){return new $Q({type:"optional",innerType:e})}const UQ=ge("ZodNullable",(e,t)=>{hY.init(e,t),un.init(e,t),e._zod.processJSONSchema=(n,r,i)=>zW(e,n,r,i),e.unwrap=()=>e._zod.def.innerType});function V2(e){return new UQ({type:"nullable",innerType:e})}const FQ=ge("ZodDefault",(e,t)=>{pY.init(e,t),un.init(e,t),e._zod.processJSONSchema=(n,r,i)=>PW(e,n,r,i),e.unwrap=()=>e._zod.def.innerType,e.removeDefault=e.unwrap});function qQ(e,t){return new FQ({type:"default",innerType:e,get defaultValue(){return typeof t=="function"?t():pL(t)}})}const KQ=ge("ZodPrefault",(e,t)=>{mY.init(e,t),un.init(e,t),e._zod.processJSONSchema=(n,r,i)=>RW(e,n,r,i),e.unwrap=()=>e._zod.def.innerType});function HQ(e,t){return new KQ({type:"prefault",innerType:e,get defaultValue(){return typeof t=="function"?t():pL(t)}})}const UL=ge("ZodNonOptional",(e,t)=>{gY.init(e,t),un.init(e,t),e._zod.processJSONSchema=(n,r,i)=>TW(e,n,r,i),e.unwrap=()=>e._zod.def.innerType});function GQ(e,t){return new UL({type:"nonoptional",innerType:e,...Ge(t)})}const VQ=ge("ZodCatch",(e,t)=>{yY.init(e,t),un.init(e,t),e._zod.processJSONSchema=(n,r,i)=>DW(e,n,r,i),e.unwrap=()=>e._zod.def.innerType,e.removeCatch=e.unwrap});function ZQ(e,t){return new VQ({type:"catch",innerType:e,catchValue:typeof t=="function"?t:()=>t})}const YQ=ge("ZodPipe",(e,t)=>{vY.init(e,t),un.init(e,t),e._zod.processJSONSchema=(n,r,i)=>MW(e,n,r,i),e.in=t.in,e.out=t.out});function Z2(e,t){return new YQ({type:"pipe",in:e,out:t})}const WQ=ge("ZodReadonly",(e,t)=>{xY.init(e,t),un.init(e,t),e._zod.processJSONSchema=(n,r,i)=>IW(e,n,r,i),e.unwrap=()=>e._zod.def.innerType});function QQ(e){return new WQ({type:"readonly",innerType:e})}const XQ=ge("ZodCustom",(e,t)=>{bY.init(e,t),un.init(e,t),e._zod.processJSONSchema=(n,r,i)=>NW(e,n)});function JQ(e,t={}){return fW(XQ,e,t)}function eX(e){return hW(e)}me({maxConcurrency:ue().int().positive(),maxRequestsPerMinute:ue().int().positive(),maxRequestsPerDay:ue().int().positive()});const hs=D().min(1);D().min(1);const sN=me({label:D().min(1),city:D().min(1),region:D().min(1),country:D().length(2),timezone:D().optional()}),oN=et(["citation.lost","citation.gained","run.completed","run.failed","insight.critical","insight.high"]);me({id:D(),projectId:D(),channel:ba("webhook"),url:D().url(),urlDisplay:D(),urlHost:D(),events:Oe(oN),enabled:lt().default(!0),source:D().optional(),webhookSecret:D().optional(),createdAt:D(),updatedAt:D()});me({channel:ba("webhook"),url:D().url(),events:Oe(oN).min(1),source:D().optional()});const FL=et(["cli","api","config-file"]);function tX(e){const t=new Set,n=new Set;for(const r of e){if(t.has(r.label)){n.add(r.label);continue}t.add(r.label)}return[...n]}function nX(e,t){return t?e.some(n=>n.label===t):!0}me({displayName:D().min(1),canonicalDomain:D().min(1),ownedDomains:Oe(D().min(1)).optional(),country:D().length(2),language:D().min(2),tags:Oe(D()).optional(),labels:Gl(D(),D()).optional(),providers:Oe(hs).optional(),locations:Oe(sN).optional(),defaultLocation:D().nullable().optional(),autoExtractBacklinks:lt().optional(),configSource:FL.optional()});me({id:D(),name:D(),displayName:D().optional(),canonicalDomain:D(),ownedDomains:Oe(D()).default([]),country:D().length(2),language:D().min(2),tags:Oe(D()).default([]),labels:Gl(D(),D()).default({}),locations:Oe(sN).default([]),defaultLocation:D().nullable().optional(),autoExtractBacklinks:lt().default(!1),configSource:FL.default("cli"),configRevision:ue().int().positive().default(1),createdAt:D().optional(),updatedAt:D().optional()});me({id:D(),keyword:D(),createdAt:D()});me({keywords:Oe(D().trim().min(1)).min(1)});me({provider:hs,count:ue().int().min(1).max(20).optional()});me({id:D(),domain:D(),createdAt:D()});me({competitors:Oe(D().trim().min(1)).min(1)});function i1(e){let t=e.trim().toLowerCase();try{t.includes("://")&&(t=new URL(t).hostname.toLowerCase())}catch{}return t.replace(/^www\./,"")}function rX(e){const t=[e.canonicalDomain,...e.ownedDomains??[]],n=new Set,r=[];for(const i of t){const a=i.trim();if(!a)continue;const o=i1(a);n.has(o)||(n.add(o),r.push(a))}return r}const iX=me({name:D().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:Gl(D(),D()).optional().default({})}),aX=me({preset:D().optional(),cron:D().optional(),timezone:D().optional().default("UTC"),providers:Oe(hs).optional().default([])}).refine(e=>e.preset&&!e.cron||!e.preset&&e.cron,{message:'Exactly one of "preset" or "cron" must be provided'}).optional(),sX=me({channel:ba("webhook"),url:D().url(),events:Oe(oN).min(1)}),oX=me({gsc:me({propertyUrl:D()}).optional(),syncSchedule:me({preset:D().optional(),cron:D().optional()}).optional()}).optional(),lX=me({displayName:D().min(1),canonicalDomain:D().min(1),ownedDomains:Oe(D().min(1)).optional().default([]),country:D().length(2),language:D().min(2),keywords:Oe(D().min(1)).optional().default([]),competitors:Oe(D().min(1)).optional().default([]),providers:Oe(hs).optional().default([]),locations:Oe(sN).optional().default([]),defaultLocation:D().optional(),schedule:aX,notifications:Oe(sX).optional().default([]),google:oX,autoExtractBacklinks:lt().optional().default(!1)}).superRefine((e,t)=>{const n=tX(e.locations);n.length>0&&t.addIssue({code:"custom",message:`Duplicate location labels are not allowed: ${n.join(", ")}`,path:["locations"]}),nX(e.locations,e.defaultLocation)||t.addIssue({code:"custom",message:`defaultLocation "${e.defaultLocation}" must match a configured location label`,path:["defaultLocation"]})});me({apiVersion:ba("canonry/v1"),kind:ba("Project"),metadata:iX,spec:lX});const cX=et(["gsc","ga4"]);me({id:D(),domain:D(),connectionType:cX,propertyId:D().nullable().optional(),sitemapUrl:D().nullable().optional(),scopes:Oe(D()).default([]),createdAt:D(),updatedAt:D()});me({date:D(),query:D(),page:D(),country:D().nullable().optional(),device:D().nullable().optional(),clicks:ue(),impressions:ue(),ctr:ue(),position:ue()});const a1=me({id:D(),url:D(),indexingState:D().nullable().optional(),verdict:D().nullable().optional(),coverageState:D().nullable().optional(),pageFetchState:D().nullable().optional(),robotsTxtState:D().nullable().optional(),crawlTime:D().nullable().optional(),lastCrawlResult:D().nullable().optional(),isMobileFriendly:lt().nullable().optional(),richResults:Oe(D()).default([]),inspectedAt:D()});et(["stable","reindexed","deindexed","still-missing","new"]);const uX=me({url:D(),previousState:D().nullable(),currentState:D().nullable(),transitionDate:D()}),dX=me({reason:D(),count:ue(),urls:Oe(a1).default([])});me({summary:me({total:ue(),indexed:ue(),notIndexed:ue(),deindexed:ue(),percentage:ue()}),lastInspectedAt:D().nullable(),indexed:Oe(a1).default([]),notIndexed:Oe(a1).default([]),deindexed:Oe(uX).default([]),reasonGroups:Oe(dX).default([])});me({url:D(),type:et(["URL_UPDATED","URL_DELETED"]),notifiedAt:D()});me({url:D(),type:et(["URL_UPDATED","URL_DELETED"]),notifiedAt:D(),status:et(["success","error"]),error:D().optional()});me({date:D(),indexed:ue(),notIndexed:ue(),reasonBreakdown:Gl(D(),ue()).default({})});me({id:D(),domain:D(),siteUrl:D().nullable().optional(),createdAt:D(),updatedAt:D()});const zb=me({id:D(),url:D(),httpCode:ue().nullable().optional(),inIndex:lt().nullable().optional(),lastCrawledDate:D().nullable().optional(),inIndexDate:D().nullable().optional(),inspectedAt:D(),documentSize:ue().nullable().optional(),anchorCount:ue().nullable().optional(),discoveryDate:D().nullable().optional()});me({summary:me({total:ue(),indexed:ue(),notIndexed:ue(),unknown:ue().optional(),percentage:ue()}),lastInspectedAt:D().nullable(),indexed:Oe(zb).default([]),notIndexed:Oe(zb).default([]),unknown:Oe(zb).default([]).optional()});me({query:D(),impressions:ue(),clicks:ue(),ctr:ue(),averagePosition:ue()});me({date:D(),indexed:ue(),notIndexed:ue(),unknown:ue()});me({url:D(),status:et(["success","error"]),submittedAt:D(),error:D().optional()});const Lu=et(["live","staging"]);me({projectName:D(),url:D(),stagingUrl:D().optional(),username:D(),defaultEnv:Lu,createdAt:D(),updatedAt:D()});const Y2=me({url:D(),reachable:lt(),pageCount:ue().nullable().optional(),version:D().nullable().optional(),error:D().nullable().optional(),plugins:Oe(D()).optional(),authenticatedUser:me({id:ue(),slug:D()}).nullable().optional()});me({connected:lt(),projectName:D(),defaultEnv:Lu,live:Y2.nullable(),staging:Y2.nullable(),adminUrl:D().nullable().optional()});const fX=me({id:ue(),slug:D(),title:D(),status:D(),modifiedAt:D().nullable().optional(),link:D().nullable().optional()}),qL=me({title:D().nullable(),description:D().nullable(),noindex:lt().nullable(),writable:lt().default(!1),writeTargets:Oe(D()).default([])}),hX=me({type:D(),json:Gl(D(),ju())}),pX=fX.extend({env:Lu,content:D(),seo:qL,schemaBlocks:Oe(hX).default([])}),W2=pX.extend({contentHash:D(),contentSnippet:D()}),KL=me({manualRequired:ba(!0),targetUrl:D(),adminUrl:D().nullable().optional(),content:D(),nextSteps:Oe(D()).default([])}),mX=me({slug:D(),severity:et(["high","medium","low"]),code:et(["noindex","missing-seo-title","missing-meta-description","missing-schema","thin-content"]),message:D()});me({slug:D(),title:D(),status:D(),wordCount:ue(),seo:qL,schemaPresent:lt(),issues:Oe(mX).default([])});const gX=me({slug:D(),status:et(["applied","skipped","manual"]),error:D().optional(),manualAssist:KL.optional()});me({env:Lu,strategy:et(["plugin","manual"]),results:Oe(gX)});const yX=me({slug:D(),status:et(["deployed","stripped","skipped","failed"]),schemasInjected:Oe(D()).optional(),manualAssist:KL.optional(),error:D().optional()});me({env:Lu,results:Oe(yX)});const vX=me({slug:D(),title:D(),canonrySchemas:Oe(D()),thirdPartySchemas:Oe(D()),hasCanonrySchema:lt()});me({env:Lu,pages:Oe(vX)});const xX=me({name:D(),status:et(["completed","skipped","failed"]),summary:D().optional(),error:D().optional()});me({projectName:D(),steps:Oe(xX)});me({slug:D(),live:W2,staging:W2,hasDifferences:lt(),differences:me({title:lt(),slug:lt(),content:lt(),seoTitle:lt(),seoDescription:lt(),noindex:lt(),schema:lt()})});const HL=et(["queued","running","completed","partial","failed","cancelled"]),gn=HL.enum,GL=et(["answer-visibility","site-audit","gsc-sync","inspect-sitemap","ga-sync","bing-inspect","bing-inspect-sitemap","backlink-extract"]),Gt=GL.enum,VL=et(["manual","scheduled","config-apply"]),Sf=VL.enum,Nu=et(["cited","not-cited"]);Nu.enum;const _g=et(["visible","not-visible"]);_g.enum;const ZL=et(["new","cited","lost","emerging","not-cited"]);ZL.enum;me({kind:ba(Gt["answer-visibility"]).optional(),trigger:ba(Sf.manual).optional(),providers:Oe(hs).optional(),location:D().min(1).optional(),allLocations:lt().optional(),noLocation:lt().optional()}).refine(e=>+!!e.location+ +!!e.allLocations+ +!!e.noLocation<=1,{message:'Only one of "location", "allLocations", or "noLocation" may be provided'});const bX=me({message:D(),raw:ju().optional()}),wX=me({message:D().optional(),providers:Gl(D(),bX).optional()}),SX=me({id:D(),projectId:D(),kind:GL,status:HL,trigger:VL.default("manual"),location:D().nullable().optional(),startedAt:D().nullable().optional(),finishedAt:D().nullable().optional(),error:wX.nullable().optional(),createdAt:D()});function lN(e){if(e.providers){const t=Object.entries(e.providers);if(t.length===1){const[n,r]=t[0];return`${n}: ${r.message}`}if(t.length>1)return t.map(([n,r])=>`${n}: ${r.message}`).join(" • ")}return e.message??"Run failed."}const YL=me({uri:D(),title:D()}),WL=me({id:D(),runId:D(),keywordId:D(),keyword:D().optional(),provider:hs,citationState:Nu,answerMentioned:lt().optional(),visibilityState:_g.optional(),transition:ZL.optional(),answerText:D().nullable().optional(),citedDomains:Oe(D()).default([]),competitorOverlap:Oe(D()).default([]),recommendedCompetitors:Oe(D()).default([]),matchedTerms:Oe(D()).default([]),groundingSources:Oe(YL).default([]),searchQueries:Oe(D()).default([]),model:D().nullable().optional(),location:D().nullable().optional(),createdAt:D()});me({snapshots:Oe(WL),total:ue().int().nonnegative()});const jX=me({keywordId:D().nullable(),keyword:D().nullable(),run1State:Nu.nullable(),run2State:Nu.nullable(),run1AnswerMentioned:lt().nullable(),run2AnswerMentioned:lt().nullable(),run1VisibilityState:_g.nullable(),run2VisibilityState:_g.nullable(),changed:lt(),visibilityChanged:lt()});me({run1:D(),run2:D(),diff:Oe(jX)});const NX=SX.extend({snapshots:Oe(WL).optional()});me({totalRuns:ue().int().nonnegative(),run:NX.nullable()});me({id:D(),projectId:D().nullable().optional(),actor:D(),action:D(),entityType:D(),entityId:D().nullable().optional(),diff:ju().optional(),createdAt:D()});const kX=et(["yes","no","unknown","not-mentioned"]);me({companyName:D().min(1),domain:D().min(1),phrases:Oe(D().min(1)).optional().default([]),competitors:Oe(D().min(1)).optional().default([])});const CX=me({name:D(),count:ue().int().nonnegative()}),_X=me({id:D(),name:D(),weight:ue(),score:ue(),grade:D(),status:et(["pass","partial","fail"]),findings:Oe(me({type:D(),message:D()})).default([]),recommendations:Oe(D()).default([])}),AX=me({url:D(),finalUrl:D(),auditedAt:D(),overallScore:ue(),overallGrade:D(),summary:D(),factors:Oe(_X).default([])}),OX=me({industry:D(),summary:D(),services:Oe(D()).default([]),categoryTerms:Oe(D()).default([])}),EX=me({provider:D(),displayName:D(),model:D().nullable().optional(),mentioned:lt(),cited:lt(),describedAccurately:kX,accuracyNotes:D().nullable().optional(),incorrectClaims:Oe(D()).default([]),recommendedCompetitors:Oe(D()).default([]),citedDomains:Oe(D()).default([]),groundingSources:Oe(YL).default([]),searchQueries:Oe(D()).default([]),answerText:D(),error:D().nullable().optional()}),zX=me({phrase:D(),providerResults:Oe(EX).default([])}),TX=me({totalQueries:ue().int().nonnegative(),totalProviders:ue().int().nonnegative(),totalComparisons:ue().int().nonnegative(),mentionCount:ue().int().nonnegative(),citationCount:ue().int().nonnegative(),topCompetitors:Oe(CX).default([]),visibilityGap:D(),whatThisMeans:Oe(D()).default([]),recommendedActions:Oe(D()).default([])});me({companyName:D(),domain:D(),homepageUrl:D(),generatedAt:D(),phrases:Oe(D()).default([]),competitors:Oe(D()).default([]),profile:OX,audit:AX,queryResults:Oe(zX).default([]),summary:TX});me({id:D(),projectId:D(),cronExpr:D(),preset:D().nullable().optional(),timezone:D().default("UTC"),enabled:lt().default(!0),providers:Oe(hs).default([]),lastRunAt:D().nullable().optional(),nextRunAt:D().nullable().optional(),createdAt:D(),updatedAt:D()});me({preset:D().optional(),cron:D().optional(),timezone:D().optional().default("UTC"),enabled:lt().optional().default(!0),providers:Oe(hs).optional().default([])}).refine(e=>e.preset&&!e.cron||!e.preset&&e.cron,{message:'Exactly one of "preset" or "cron" must be provided'});const PX=et(["mentioned","cited"]),ro=PX.enum;me({id:D(),projectId:D(),propertyId:D(),clientEmail:D(),connected:lt(),createdAt:D(),updatedAt:D()});me({date:D(),landingPage:D(),sessions:ue(),organicSessions:ue(),users:ue()});const cN=et(["session","first_user","manual_utm"]),RX=me({source:D(),medium:D(),sessions:ue(),users:ue(),sourceDimension:cN}),DX=me({source:D(),medium:D(),sourceDimension:cN,landingPage:D(),sessions:ue(),users:ue()}),MX=me({source:D(),medium:D(),sessions:ue(),users:ue(),channelGroup:D()});me({totalSessions:ue(),totalOrganicSessions:ue(),totalDirectSessions:ue(),totalUsers:ue(),topPages:Oe(me({landingPage:D(),sessions:ue(),organicSessions:ue(),directSessions:ue(),users:ue()})),aiReferrals:Oe(RX),aiReferralLandingPages:Oe(DX),aiSessionsDeduped:ue(),aiUsersDeduped:ue(),aiSessionsBySession:ue(),aiUsersBySession:ue(),socialReferrals:Oe(MX),socialSessions:ue(),socialUsers:ue(),organicSharePct:ue(),aiSharePct:ue(),aiSharePctBySession:ue(),directSharePct:ue(),socialSharePct:ue(),organicSharePctDisplay:D(),aiSharePctDisplay:D(),aiSharePctBySessionDisplay:D(),directSharePctDisplay:D(),socialSharePctDisplay:D(),lastSyncedAt:D().nullable()});me({date:D(),source:D(),medium:D(),landingPage:D(),sessions:ue(),users:ue(),sourceDimension:cN});me({date:D(),source:D(),medium:D(),sessions:ue(),users:ue(),channelGroup:D()});me({date:D(),sessions:ue(),organicSessions:ue(),users:ue()});function Q2(e){return e.toLowerCase().replace(/[^a-z0-9]/g,"")}const IX=et(["aero","user","compaction"]);IX.enum;const QL=128;me({key:D().min(1).max(QL),value:D().min(1)});me({key:D().min(1).max(QL)});const uN=et(["queued","downloading","querying","ready","failed"]);uN.enum;me({id:D(),release:D(),status:uN,phaseDetail:D().nullable().optional(),vertexPath:D().nullable().optional(),edgesPath:D().nullable().optional(),vertexSha256:D().nullable().optional(),edgesSha256:D().nullable().optional(),vertexBytes:ue().int().nullable().optional(),edgesBytes:ue().int().nullable().optional(),projectsProcessed:ue().int().nullable().optional(),domainsDiscovered:ue().int().nullable().optional(),downloadStartedAt:D().nullable().optional(),downloadFinishedAt:D().nullable().optional(),queryStartedAt:D().nullable().optional(),queryFinishedAt:D().nullable().optional(),error:D().nullable().optional(),createdAt:D(),updatedAt:D()});const LX=me({linkingDomain:D(),numHosts:ue().int()}),$X=me({projectId:D(),release:D(),targetDomain:D(),totalLinkingDomains:ue().int(),totalHosts:ue().int(),top10HostsShare:D(),queriedAt:D()});me({summary:$X.nullable(),total:ue().int(),rows:Oe(LX)});me({release:D(),totalLinkingDomains:ue().int(),totalHosts:ue().int(),top10HostsShare:D(),queriedAt:D()});me({duckdbInstalled:lt(),duckdbVersion:D().nullable().optional(),duckdbSpec:D(),pluginDir:D()});me({installed:lt(),version:D(),path:D(),alreadyPresent:lt()});me({release:D(),vertexUrl:D(),edgesUrl:D(),vertexBytes:ue().int().nullable(),edgesBytes:ue().int().nullable(),lastModified:D().nullable()});me({release:D(),syncStatus:uN.nullable(),bytes:ue().int(),lastUsedAt:D().nullable()});et(["snapshot","insight"]);const BX=me({kind:ba("snapshot"),id:D(),runId:D(),keyword:D(),provider:D(),model:D().nullable(),citationState:Nu,matchedField:et(["answerText","citedDomains","searchQueries","keyword"]),snippet:D(),createdAt:D()}),UX=me({kind:ba("insight"),id:D(),runId:D().nullable(),type:et(["regression","gain","opportunity"]),severity:et(["critical","high","medium","low"]),title:D(),keyword:D(),provider:D(),matchedField:et(["title","keyword","recommendation","cause"]),snippet:D(),dismissed:lt(),createdAt:D()}),FX=TQ("kind",[BX,UX]);me({query:D(),totalHits:ue().int().nonnegative(),truncated:lt(),hits:Oe(FX)});const XL=et(["create","expand","refresh","add-schema"]);XL.enum;const JL=et(["gsc","competitor-evidence","both"]);JL.enum;const e5=et(["high","medium","low"]);e5.enum;const qX=et(["blog-post","comparison","listicle","how-to","guide","glossary"]);qX.enum;const t5=et(["proposed","briefed","payload-generated","draft-created","published","validated","dismissed"]);t5.enum;const KX=me({url:D(),gscImpressions:ue().nonnegative(),gscClicks:ue().nonnegative(),gscAvgPosition:ue().nonnegative().nullable(),organicSessions:ue().nonnegative()}),HX=me({domain:D(),url:D(),title:D(),citationCount:ue().int().nonnegative()}),GX=me({demand:ue(),competitor:ue(),absence:ue(),gapSeverity:ue()}),VX=me({actionId:D(),state:t5,lastUpdated:D()}),ZX=me({targetRef:D(),query:D(),action:XL,ourBestPage:KX.nullable(),winningCompetitor:HX.nullable(),score:ue(),scoreBreakdown:GX,drivers:Oe(D()),demandSource:JL,actionConfidence:e5,existingAction:VX.nullable()});me({targets:Oe(ZX),contextMetrics:me({totalAiReferralSessions:ue().int().nonnegative(),latestRunId:D(),runTimestamp:D()})});const YX=me({uri:D(),title:D(),domain:D(),isOurDomain:lt(),isCompetitor:lt(),citationCount:ue().int().nonnegative(),providers:Oe(hs)}),WX=me({query:D(),groundingSources:Oe(YX)});me({sources:Oe(WX),latestRunId:D()});const QX=me({query:D(),competitorDomains:Oe(D()),competitorCount:ue().int().nonnegative(),missRate:ue().min(0).max(1),lastSeenInRunId:D()});me({gaps:Oe(QX),latestRunId:D()});const n5=et(["ok","warn","fail","skipped"]);n5.enum;const dN=et(["global","project"]);dN.enum;const r5=et(["auth","config","providers","integrations","database","schedules"]);r5.enum;const XX=me({id:D(),category:r5,scope:dN,title:D(),status:n5,code:D().describe('Stable machine-readable code (e.g. "google.token.refresh-failed"). Use this for filtering and remediation logic.'),summary:D(),remediation:D().nullable().optional().describe('Operator-facing next step. Null when status is "ok" or no specific remediation applies.'),details:Gl(D(),ju()).optional().describe("Structured context — principal email, redirect URI, missing scopes, etc. Stable per check id."),durationMs:ue().int().nonnegative().describe("How long the check took to execute.")});me({scope:dN,project:D().nullable().describe('Project name when scope is "project", null otherwise.'),generatedAt:D().describe("ISO-8601 timestamp when this doctor run started."),durationMs:ue().int().nonnegative(),summary:me({total:ue().int().nonnegative(),ok:ue().int().nonnegative(),warn:ue().int().nonnegative(),fail:ue().int().nonnegative(),skipped:ue().int().nonnegative()}),checks:Oe(XX)});const JX=me({provider:D(),citationState:Nu,cited:lt(),mentioned:lt(),runId:D(),runCreatedAt:D()}),eJ=me({keywordId:D(),keyword:D(),providers:Oe(JX),citedCount:ue().int().nonnegative(),mentionedCount:ue().int().nonnegative(),totalProviders:ue().int().nonnegative()}),tJ=me({keywordId:D(),keyword:D(),provider:D(),citingCompetitors:Oe(D()),runId:D(),runCreatedAt:D()}),nJ=me({providersConfigured:ue().int().nonnegative(),providersCiting:ue().int().nonnegative(),providersMentioning:ue().int().nonnegative(),totalKeywords:ue().int().nonnegative(),keywordsCitedAndMentioned:ue().int().nonnegative(),keywordsCitedOnly:ue().int().nonnegative(),keywordsMentionedOnly:ue().int().nonnegative(),keywordsInvisible:ue().int().nonnegative(),latestRunId:D().nullable(),latestRunAt:D().nullable()});me({summary:nJ,byKeyword:Oe(eJ),competitorGaps:Oe(tJ),status:et(["ready","no-data"]),reason:et(["no-runs-yet","no-keywords"]).optional()});var io=(e=>(e.Clicks="clicks",e.Impressions="impressions",e.CTR="ctr",e.Position="position",e))(io||{});const rJ={clicks:"Clicks",impressions:"Impressions",ctr:"CTR",position:"Position"},um={clicks:"Clicks",impressions:"Impr",ctr:"CTR",position:"Pos"},iJ=lN;function aJ(e){const t=[];if(e.message&&t.push(e.message),e.providers)for(const[n,r]of Object.entries(e.providers)){const i=`[${n}] ${r.message}`;r.raw!==void 0?t.push(`${i}
48
48
 
49
49
  ${JSON.stringify(r.raw,null,2)}`):t.push(i)}return t.length>0?t.join(`
50
50
 
@@ -286,7 +286,7 @@ spec:
286
286
  A`,",",",0,",",",",",",",`
287
287
  A`,",",",0,0,",",",",","Z"])),A.x,A.y,a,a,+(p<0),E.x,E.y,r,r,+(I>180),+(p>0),_.x,_.y,a,a,+(p<0),C.x,C.y)}else O+=Wn(eD||(eD=ml(["L",",","Z"])),t,n);return O},Ome={cx:0,cy:0,innerRadius:0,outerRadius:0,startAngle:0,endAngle:0,cornerRadius:0,forceCornerRadius:!1,cornerIsExternal:!1},Eme=e=>{var t=xr(e,Ome),{cx:n,cy:r,innerRadius:i,outerRadius:a,cornerRadius:o,forceCornerRadius:u,cornerIsExternal:d,startAngle:f,endAngle:p,className:m}=t;if(a<i||f===p)return null;var y=Tt("recharts-sector",m),v=a-i,w=bo(o,v,0,!0),S;return w>0&&Math.abs(f-p)<360?S=Ame({cx:n,cy:r,innerRadius:i,outerRadius:a,cornerRadius:Math.min(w,v/2),forceCornerRadius:u,cornerIsExternal:d,startAngle:f,endAngle:p}):S=AB({cx:n,cy:r,innerRadius:i,outerRadius:a,startAngle:f,endAngle:p}),x.createElement("path",cj({},Mr(t),{className:y,d:S}))};function zme(e,t,n){if(e==="horizontal")return[{x:t.x,y:n.top},{x:t.x,y:n.top+n.height}];if(e==="vertical")return[{x:n.left,y:t.y},{x:n.left+n.width,y:t.y}];if(c3(t)){if(e==="centric"){var{cx:r,cy:i,innerRadius:a,outerRadius:o,angle:u}=t,d=Xn(r,i,a,u),f=Xn(r,i,o,u);return[{x:d.x,y:d.y},{x:f.x,y:f.y}]}return _B(t)}}var pS={},mS={},gS={},tD;function Tme(){return tD||(tD=1,(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});const t=j3();function n(r){return t.isSymbol(r)?NaN:Number(r)}e.toNumber=n})(gS)),gS}var nD;function Pme(){return nD||(nD=1,(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});const t=Tme();function n(r){return r?(r=t.toNumber(r),r===1/0||r===-1/0?(r<0?-1:1)*Number.MAX_VALUE:r===r?r:0):r===0?r:0}e.toFinite=n})(mS)),mS}var rD;function Rme(){return rD||(rD=1,(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});const t=N3(),n=Pme();function r(i,a,o){o&&typeof o!="number"&&t.isIterateeCall(i,a,o)&&(a=o=void 0),i=n.toFinite(i),a===void 0?(a=i,i=0):a=n.toFinite(a),o=o===void 0?i<a?1:-1:n.toFinite(o);const u=Math.max(Math.ceil((a-i)/(o||1)),0),d=new Array(u);for(let f=0;f<u;f++)d[f]=i,i+=o;return d}e.range=r})(pS)),pS}var yS,iD;function Dme(){return iD||(iD=1,yS=Rme().range),yS}var Mme=Dme();const OB=_a(Mme);var ta=e=>e.chartData,jk=oe([ta],e=>{var t=e.chartData!=null?e.chartData.length-1:0;return{chartData:e.chartData,computedData:e.computedData,dataEndIndex:t,dataStartIndex:0}}),$v=(e,t,n,r)=>r?jk(e):ta(e),Ime=(e,t,n)=>n?jk(e):ta(e),Lme=oe([$v],e=>{var{chartData:t,dataStartIndex:n,dataEndIndex:r}=e;return t!=null?t.slice(n,r+1):[]});oe([jk],e=>{var{chartData:t,dataStartIndex:n,dataEndIndex:r}=e;return t!=null?t.slice(n,r+1):[]});var $me=oe([ta],e=>{var{chartData:t,dataStartIndex:n,dataEndIndex:r}=e;return t!=null?t.slice(n,r+1):[]});function va(e){if(Array.isArray(e)&&e.length===2){var[t,n]=e;if(rt(t)&&rt(n))return!0}return!1}function aD(e,t,n){return n?e:[Math.min(e[0],t[0]),Math.max(e[1],t[1])]}function EB(e,t){if(t&&typeof e!="function"&&Array.isArray(e)&&e.length===2){var[n,r]=e,i,a;if(rt(n))i=n;else if(typeof n=="function")return;if(rt(r))a=r;else if(typeof r=="function")return;var o=[i,a];if(va(o))return o}}function Bme(e,t,n){if(!(!n&&t==null)){if(typeof e=="function"&&t!=null)try{var r=e(t,n);if(va(r))return aD(r,t,n)}catch{}if(Array.isArray(e)&&e.length===2){var[i,a]=e,o,u;if(i==="auto")t!=null&&(o=Math.min(...t));else if(Be(i))o=i;else if(typeof i=="function")try{t!=null&&(o=i(t?.[0]))}catch{}else if(typeof i=="string"&&ZP.test(i)){var d=ZP.exec(i);if(d==null||d[1]==null||t==null)o=void 0;else{var f=+d[1];o=t[0]-f}}else o=t?.[0];if(a==="auto")t!=null&&(u=Math.max(...t));else if(Be(a))u=a;else if(typeof a=="function")try{t!=null&&(u=a(t?.[1]))}catch{}else if(typeof a=="string"&&YP.test(a)){var p=YP.exec(a);if(p==null||p[1]==null||t==null)u=void 0;else{var m=+p[1];u=t[1]+m}}else u=t?.[1];var y=[o,u];if(va(y))return t==null?y:aD(y,t,n)}}}var Zu=1e9,Ume={precision:20,rounding:4,toExpNeg:-7,toExpPos:21,LN10:"2.302585092994045684017991454684364207601101488628772976033327900967572609677352480235997205089598298341967784042286"},kk,rn=!0,Ei="[DecimalError] ",kl=Ei+"Invalid argument: ",Nk=Ei+"Exponent out of range: ",Yu=Math.floor,ll=Math.pow,Fme=/^(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i,Qr,Bn=1e7,Jt=7,zB=9007199254740991,cy=Yu(zB/Jt),De={};De.absoluteValue=De.abs=function(){var e=new this.constructor(this);return e.s&&(e.s=1),e};De.comparedTo=De.cmp=function(e){var t,n,r,i,a=this;if(e=new a.constructor(e),a.s!==e.s)return a.s||-e.s;if(a.e!==e.e)return a.e>e.e^a.s<0?1:-1;for(r=a.d.length,i=e.d.length,t=0,n=r<i?r:i;t<n;++t)if(a.d[t]!==e.d[t])return a.d[t]>e.d[t]^a.s<0?1:-1;return r===i?0:r>i^a.s<0?1:-1};De.decimalPlaces=De.dp=function(){var e=this,t=e.d.length-1,n=(t-e.e)*Jt;if(t=e.d[t],t)for(;t%10==0;t/=10)n--;return n<0?0:n};De.dividedBy=De.div=function(e){return os(this,new this.constructor(e))};De.dividedToIntegerBy=De.idiv=function(e){var t=this,n=t.constructor;return Ut(os(t,new n(e),0,1),n.precision)};De.equals=De.eq=function(e){return!this.cmp(e)};De.exponent=function(){return zn(this)};De.greaterThan=De.gt=function(e){return this.cmp(e)>0};De.greaterThanOrEqualTo=De.gte=function(e){return this.cmp(e)>=0};De.isInteger=De.isint=function(){return this.e>this.d.length-2};De.isNegative=De.isneg=function(){return this.s<0};De.isPositive=De.ispos=function(){return this.s>0};De.isZero=function(){return this.s===0};De.lessThan=De.lt=function(e){return this.cmp(e)<0};De.lessThanOrEqualTo=De.lte=function(e){return this.cmp(e)<1};De.logarithm=De.log=function(e){var t,n=this,r=n.constructor,i=r.precision,a=i+5;if(e===void 0)e=new r(10);else if(e=new r(e),e.s<1||e.eq(Qr))throw Error(Ei+"NaN");if(n.s<1)throw Error(Ei+(n.s?"NaN":"-Infinity"));return n.eq(Qr)?new r(0):(rn=!1,t=os(Wf(n,a),Wf(e,a),a),rn=!0,Ut(t,i))};De.minus=De.sub=function(e){var t=this;return e=new t.constructor(e),t.s==e.s?RB(t,e):TB(t,(e.s=-e.s,e))};De.modulo=De.mod=function(e){var t,n=this,r=n.constructor,i=r.precision;if(e=new r(e),!e.s)throw Error(Ei+"NaN");return n.s?(rn=!1,t=os(n,e,0,1).times(e),rn=!0,n.minus(t)):Ut(new r(n),i)};De.naturalExponential=De.exp=function(){return PB(this)};De.naturalLogarithm=De.ln=function(){return Wf(this)};De.negated=De.neg=function(){var e=new this.constructor(this);return e.s=-e.s||0,e};De.plus=De.add=function(e){var t=this;return e=new t.constructor(e),t.s==e.s?TB(t,e):RB(t,(e.s=-e.s,e))};De.precision=De.sd=function(e){var t,n,r,i=this;if(e!==void 0&&e!==!!e&&e!==1&&e!==0)throw Error(kl+e);if(t=zn(i)+1,r=i.d.length-1,n=r*Jt+1,r=i.d[r],r){for(;r%10==0;r/=10)n--;for(r=i.d[0];r>=10;r/=10)n++}return e&&t>n?t:n};De.squareRoot=De.sqrt=function(){var e,t,n,r,i,a,o,u=this,d=u.constructor;if(u.s<1){if(!u.s)return new d(0);throw Error(Ei+"NaN")}for(e=zn(u),rn=!1,i=Math.sqrt(+u),i==0||i==1/0?(t=ya(u.d),(t.length+e)%2==0&&(t+="0"),i=Math.sqrt(t),e=Yu((e+1)/2)-(e<0||e%2),i==1/0?t="5e"+e:(t=i.toExponential(),t=t.slice(0,t.indexOf("e")+1)+e),r=new d(t)):r=new d(i.toString()),n=d.precision,i=o=n+3;;)if(a=r,r=a.plus(os(u,a,o+2)).times(.5),ya(a.d).slice(0,o)===(t=ya(r.d)).slice(0,o)){if(t=t.slice(o-3,o+1),i==o&&t=="4999"){if(Ut(a,n+1,0),a.times(a).eq(u)){r=a;break}}else if(t!="9999")break;o+=4}return rn=!0,Ut(r,n)};De.times=De.mul=function(e){var t,n,r,i,a,o,u,d,f,p=this,m=p.constructor,y=p.d,v=(e=new m(e)).d;if(!p.s||!e.s)return new m(0);for(e.s*=p.s,n=p.e+e.e,d=y.length,f=v.length,d<f&&(a=y,y=v,v=a,o=d,d=f,f=o),a=[],o=d+f,r=o;r--;)a.push(0);for(r=f;--r>=0;){for(t=0,i=d+r;i>r;)u=a[i]+v[r]*y[i-r-1]+t,a[i--]=u%Bn|0,t=u/Bn|0;a[i]=(a[i]+t)%Bn|0}for(;!a[--o];)a.pop();return t?++n:a.shift(),e.d=a,e.e=n,rn?Ut(e,m.precision):e};De.toDecimalPlaces=De.todp=function(e,t){var n=this,r=n.constructor;return n=new r(n),e===void 0?n:(ka(e,0,Zu),t===void 0?t=r.rounding:ka(t,0,8),Ut(n,e+zn(n)+1,t))};De.toExponential=function(e,t){var n,r=this,i=r.constructor;return e===void 0?n=Bl(r,!0):(ka(e,0,Zu),t===void 0?t=i.rounding:ka(t,0,8),r=Ut(new i(r),e+1,t),n=Bl(r,!0,e+1)),n};De.toFixed=function(e,t){var n,r,i=this,a=i.constructor;return e===void 0?Bl(i):(ka(e,0,Zu),t===void 0?t=a.rounding:ka(t,0,8),r=Ut(new a(i),e+zn(i)+1,t),n=Bl(r.abs(),!1,e+zn(r)+1),i.isneg()&&!i.isZero()?"-"+n:n)};De.toInteger=De.toint=function(){var e=this,t=e.constructor;return Ut(new t(e),zn(e)+1,t.rounding)};De.toNumber=function(){return+this};De.toPower=De.pow=function(e){var t,n,r,i,a,o,u=this,d=u.constructor,f=12,p=+(e=new d(e));if(!e.s)return new d(Qr);if(u=new d(u),!u.s){if(e.s<1)throw Error(Ei+"Infinity");return u}if(u.eq(Qr))return u;if(r=d.precision,e.eq(Qr))return Ut(u,r);if(t=e.e,n=e.d.length-1,o=t>=n,a=u.s,o){if((n=p<0?-p:p)<=zB){for(i=new d(Qr),t=Math.ceil(r/Jt+4),rn=!1;n%2&&(i=i.times(u),oD(i.d,t)),n=Yu(n/2),n!==0;)u=u.times(u),oD(u.d,t);return rn=!0,e.s<0?new d(Qr).div(i):Ut(i,r)}}else if(a<0)throw Error(Ei+"NaN");return a=a<0&&e.d[Math.max(t,n)]&1?-1:1,u.s=1,rn=!1,i=e.times(Wf(u,r+f)),rn=!0,i=PB(i),i.s=a,i};De.toPrecision=function(e,t){var n,r,i=this,a=i.constructor;return e===void 0?(n=zn(i),r=Bl(i,n<=a.toExpNeg||n>=a.toExpPos)):(ka(e,1,Zu),t===void 0?t=a.rounding:ka(t,0,8),i=Ut(new a(i),e,t),n=zn(i),r=Bl(i,e<=n||n<=a.toExpNeg,e)),r};De.toSignificantDigits=De.tosd=function(e,t){var n=this,r=n.constructor;return e===void 0?(e=r.precision,t=r.rounding):(ka(e,1,Zu),t===void 0?t=r.rounding:ka(t,0,8)),Ut(new r(n),e,t)};De.toString=De.valueOf=De.val=De.toJSON=De[Symbol.for("nodejs.util.inspect.custom")]=function(){var e=this,t=zn(e),n=e.constructor;return Bl(e,t<=n.toExpNeg||t>=n.toExpPos)};function TB(e,t){var n,r,i,a,o,u,d,f,p=e.constructor,m=p.precision;if(!e.s||!t.s)return t.s||(t=new p(e)),rn?Ut(t,m):t;if(d=e.d,f=t.d,o=e.e,i=t.e,d=d.slice(),a=o-i,a){for(a<0?(r=d,a=-a,u=f.length):(r=f,i=o,u=d.length),o=Math.ceil(m/Jt),u=o>u?o+1:u+1,a>u&&(a=u,r.length=1),r.reverse();a--;)r.push(0);r.reverse()}for(u=d.length,a=f.length,u-a<0&&(a=u,r=f,f=d,d=r),n=0;a;)n=(d[--a]=d[a]+f[a]+n)/Bn|0,d[a]%=Bn;for(n&&(d.unshift(n),++i),u=d.length;d[--u]==0;)d.pop();return t.d=d,t.e=i,rn?Ut(t,m):t}function ka(e,t,n){if(e!==~~e||e<t||e>n)throw Error(kl+e)}function ya(e){var t,n,r,i=e.length-1,a="",o=e[0];if(i>0){for(a+=o,t=1;t<i;t++)r=e[t]+"",n=Jt-r.length,n&&(a+=Xs(n)),a+=r;o=e[t],r=o+"",n=Jt-r.length,n&&(a+=Xs(n))}else if(o===0)return"0";for(;o%10===0;)o/=10;return a+o}var os=(function(){function e(r,i){var a,o=0,u=r.length;for(r=r.slice();u--;)a=r[u]*i+o,r[u]=a%Bn|0,o=a/Bn|0;return o&&r.unshift(o),r}function t(r,i,a,o){var u,d;if(a!=o)d=a>o?1:-1;else for(u=d=0;u<a;u++)if(r[u]!=i[u]){d=r[u]>i[u]?1:-1;break}return d}function n(r,i,a){for(var o=0;a--;)r[a]-=o,o=r[a]<i[a]?1:0,r[a]=o*Bn+r[a]-i[a];for(;!r[0]&&r.length>1;)r.shift()}return function(r,i,a,o){var u,d,f,p,m,y,v,w,S,j,k,O,_,C,T,E,A,P,I=r.constructor,q=r.s==i.s?1:-1,$=r.d,U=i.d;if(!r.s)return new I(r);if(!i.s)throw Error(Ei+"Division by zero");for(d=r.e-i.e,A=U.length,T=$.length,v=new I(q),w=v.d=[],f=0;U[f]==($[f]||0);)++f;if(U[f]>($[f]||0)&&--d,a==null?O=a=I.precision:o?O=a+(zn(r)-zn(i))+1:O=a,O<0)return new I(0);if(O=O/Jt+2|0,f=0,A==1)for(p=0,U=U[0],O++;(f<T||p)&&O--;f++)_=p*Bn+($[f]||0),w[f]=_/U|0,p=_%U|0;else{for(p=Bn/(U[0]+1)|0,p>1&&(U=e(U,p),$=e($,p),A=U.length,T=$.length),C=A,S=$.slice(0,A),j=S.length;j<A;)S[j++]=0;P=U.slice(),P.unshift(0),E=U[0],U[1]>=Bn/2&&++E;do p=0,u=t(U,S,A,j),u<0?(k=S[0],A!=j&&(k=k*Bn+(S[1]||0)),p=k/E|0,p>1?(p>=Bn&&(p=Bn-1),m=e(U,p),y=m.length,j=S.length,u=t(m,S,y,j),u==1&&(p--,n(m,A<y?P:U,y))):(p==0&&(u=p=1),m=U.slice()),y=m.length,y<j&&m.unshift(0),n(S,m,j),u==-1&&(j=S.length,u=t(U,S,A,j),u<1&&(p++,n(S,A<j?P:U,j))),j=S.length):u===0&&(p++,S=[0]),w[f++]=p,u&&S[0]?S[j++]=$[C]||0:(S=[$[C]],j=1);while((C++<T||S[0]!==void 0)&&O--)}return w[0]||w.shift(),v.e=d,Ut(v,o?a+zn(v)+1:a)}})();function PB(e,t){var n,r,i,a,o,u,d=0,f=0,p=e.constructor,m=p.precision;if(zn(e)>16)throw Error(Nk+zn(e));if(!e.s)return new p(Qr);for(rn=!1,u=m,o=new p(.03125);e.abs().gte(.1);)e=e.times(o),f+=5;for(r=Math.log(ll(2,f))/Math.LN10*2+5|0,u+=r,n=i=a=new p(Qr),p.precision=u;;){if(i=Ut(i.times(e),u),n=n.times(++d),o=a.plus(os(i,n,u)),ya(o.d).slice(0,u)===ya(a.d).slice(0,u)){for(;f--;)a=Ut(a.times(a),u);return p.precision=m,t==null?(rn=!0,Ut(a,m)):a}a=o}}function zn(e){for(var t=e.e*Jt,n=e.d[0];n>=10;n/=10)t++;return t}function vS(e,t,n){if(t>e.LN10.sd())throw rn=!0,n&&(e.precision=n),Error(Ei+"LN10 precision limit exceeded");return Ut(new e(e.LN10),t)}function Xs(e){for(var t="";e--;)t+="0";return t}function Wf(e,t){var n,r,i,a,o,u,d,f,p,m=1,y=10,v=e,w=v.d,S=v.constructor,j=S.precision;if(v.s<1)throw Error(Ei+(v.s?"NaN":"-Infinity"));if(v.eq(Qr))return new S(0);if(t==null?(rn=!1,f=j):f=t,v.eq(10))return t==null&&(rn=!0),vS(S,f);if(f+=y,S.precision=f,n=ya(w),r=n.charAt(0),a=zn(v),Math.abs(a)<15e14){for(;r<7&&r!=1||r==1&&n.charAt(1)>3;)v=v.times(e),n=ya(v.d),r=n.charAt(0),m++;a=zn(v),r>1?(v=new S("0."+n),a++):v=new S(r+"."+n.slice(1))}else return d=vS(S,f+2,j).times(a+""),v=Wf(new S(r+"."+n.slice(1)),f-y).plus(d),S.precision=j,t==null?(rn=!0,Ut(v,j)):v;for(u=o=v=os(v.minus(Qr),v.plus(Qr),f),p=Ut(v.times(v),f),i=3;;){if(o=Ut(o.times(p),f),d=u.plus(os(o,new S(i),f)),ya(d.d).slice(0,f)===ya(u.d).slice(0,f))return u=u.times(2),a!==0&&(u=u.plus(vS(S,f+2,j).times(a+""))),u=os(u,new S(m),f),S.precision=j,t==null?(rn=!0,Ut(u,j)):u;u=d,i+=2}}function sD(e,t){var n,r,i;for((n=t.indexOf("."))>-1&&(t=t.replace(".","")),(r=t.search(/e/i))>0?(n<0&&(n=r),n+=+t.slice(r+1),t=t.substring(0,r)):n<0&&(n=t.length),r=0;t.charCodeAt(r)===48;)++r;for(i=t.length;t.charCodeAt(i-1)===48;)--i;if(t=t.slice(r,i),t){if(i-=r,n=n-r-1,e.e=Yu(n/Jt),e.d=[],r=(n+1)%Jt,n<0&&(r+=Jt),r<i){for(r&&e.d.push(+t.slice(0,r)),i-=Jt;r<i;)e.d.push(+t.slice(r,r+=Jt));t=t.slice(r),r=Jt-t.length}else r-=i;for(;r--;)t+="0";if(e.d.push(+t),rn&&(e.e>cy||e.e<-cy))throw Error(Nk+n)}else e.s=0,e.e=0,e.d=[0];return e}function Ut(e,t,n){var r,i,a,o,u,d,f,p,m=e.d;for(o=1,a=m[0];a>=10;a/=10)o++;if(r=t-o,r<0)r+=Jt,i=t,f=m[p=0];else{if(p=Math.ceil((r+1)/Jt),a=m.length,p>=a)return e;for(f=a=m[p],o=1;a>=10;a/=10)o++;r%=Jt,i=r-Jt+o}if(n!==void 0&&(a=ll(10,o-i-1),u=f/a%10|0,d=t<0||m[p+1]!==void 0||f%a,d=n<4?(u||d)&&(n==0||n==(e.s<0?3:2)):u>5||u==5&&(n==4||d||n==6&&(r>0?i>0?f/ll(10,o-i):0:m[p-1])%10&1||n==(e.s<0?8:7))),t<1||!m[0])return d?(a=zn(e),m.length=1,t=t-a-1,m[0]=ll(10,(Jt-t%Jt)%Jt),e.e=Yu(-t/Jt)||0):(m.length=1,m[0]=e.e=e.s=0),e;if(r==0?(m.length=p,a=1,p--):(m.length=p+1,a=ll(10,Jt-r),m[p]=i>0?(f/ll(10,o-i)%ll(10,i)|0)*a:0),d)for(;;)if(p==0){(m[0]+=a)==Bn&&(m[0]=1,++e.e);break}else{if(m[p]+=a,m[p]!=Bn)break;m[p--]=0,a=1}for(r=m.length;m[--r]===0;)m.pop();if(rn&&(e.e>cy||e.e<-cy))throw Error(Nk+zn(e));return e}function RB(e,t){var n,r,i,a,o,u,d,f,p,m,y=e.constructor,v=y.precision;if(!e.s||!t.s)return t.s?t.s=-t.s:t=new y(e),rn?Ut(t,v):t;if(d=e.d,m=t.d,r=t.e,f=e.e,d=d.slice(),o=f-r,o){for(p=o<0,p?(n=d,o=-o,u=m.length):(n=m,r=f,u=d.length),i=Math.max(Math.ceil(v/Jt),u)+2,o>i&&(o=i,n.length=1),n.reverse(),i=o;i--;)n.push(0);n.reverse()}else{for(i=d.length,u=m.length,p=i<u,p&&(u=i),i=0;i<u;i++)if(d[i]!=m[i]){p=d[i]<m[i];break}o=0}for(p&&(n=d,d=m,m=n,t.s=-t.s),u=d.length,i=m.length-u;i>0;--i)d[u++]=0;for(i=m.length;i>o;){if(d[--i]<m[i]){for(a=i;a&&d[--a]===0;)d[a]=Bn-1;--d[a],d[i]+=Bn}d[i]-=m[i]}for(;d[--u]===0;)d.pop();for(;d[0]===0;d.shift())--r;return d[0]?(t.d=d,t.e=r,rn?Ut(t,v):t):new y(0)}function Bl(e,t,n){var r,i=zn(e),a=ya(e.d),o=a.length;return t?(n&&(r=n-o)>0?a=a.charAt(0)+"."+a.slice(1)+Xs(r):o>1&&(a=a.charAt(0)+"."+a.slice(1)),a=a+(i<0?"e":"e+")+i):i<0?(a="0."+Xs(-i-1)+a,n&&(r=n-o)>0&&(a+=Xs(r))):i>=o?(a+=Xs(i+1-o),n&&(r=n-i-1)>0&&(a=a+"."+Xs(r))):((r=i+1)<o&&(a=a.slice(0,r)+"."+a.slice(r)),n&&(r=n-o)>0&&(i+1===o&&(a+="."),a+=Xs(r))),e.s<0?"-"+a:a}function oD(e,t){if(e.length>t)return e.length=t,!0}function DB(e){var t,n,r;function i(a){var o=this;if(!(o instanceof i))return new i(a);if(o.constructor=i,a instanceof i){o.s=a.s,o.e=a.e,o.d=(a=a.d)?a.slice():a;return}if(typeof a=="number"){if(a*0!==0)throw Error(kl+a);if(a>0)o.s=1;else if(a<0)a=-a,o.s=-1;else{o.s=0,o.e=0,o.d=[0];return}if(a===~~a&&a<1e7){o.e=0,o.d=[a];return}return sD(o,a.toString())}else if(typeof a!="string")throw Error(kl+a);if(a.charCodeAt(0)===45?(a=a.slice(1),o.s=-1):o.s=1,Fme.test(a))sD(o,a);else throw Error(kl+a)}if(i.prototype=De,i.ROUND_UP=0,i.ROUND_DOWN=1,i.ROUND_CEIL=2,i.ROUND_FLOOR=3,i.ROUND_HALF_UP=4,i.ROUND_HALF_DOWN=5,i.ROUND_HALF_EVEN=6,i.ROUND_HALF_CEIL=7,i.ROUND_HALF_FLOOR=8,i.clone=DB,i.config=i.set=qme,e===void 0&&(e={}),e)for(r=["precision","rounding","toExpNeg","toExpPos","LN10"],t=0;t<r.length;)e.hasOwnProperty(n=r[t++])||(e[n]=this[n]);return i.config(e),i}function qme(e){if(!e||typeof e!="object")throw Error(Ei+"Object expected");var t,n,r,i=["precision",1,Zu,"rounding",0,8,"toExpNeg",-1/0,0,"toExpPos",0,1/0];for(t=0;t<i.length;t+=3)if((r=e[n=i[t]])!==void 0)if(Yu(r)===r&&r>=i[t+1]&&r<=i[t+2])this[n]=r;else throw Error(kl+n+": "+r);if((r=e[n="LN10"])!==void 0)if(r==Math.LN10)this[n]=new this(r);else throw Error(kl+n+": "+r);return this}var kk=DB(Ume);Qr=new kk(1);const bt=kk;function MB(e){var t;return e===0?t=1:t=Math.floor(new bt(e).abs().log(10).toNumber())+1,t}function IB(e,t,n){for(var r=new bt(e),i=0,a=[];r.lt(t)&&i<1e5;)a.push(r.toNumber()),r=r.add(n),i++;return a}var LB=e=>{var[t,n]=e,[r,i]=[t,n];return t>n&&([r,i]=[n,t]),[r,i]},Ck=(e,t,n)=>{if(e.lte(0))return new bt(0);var r=MB(e.toNumber()),i=new bt(10).pow(r),a=e.div(i),o=r!==1?.05:.1,u=new bt(Math.ceil(a.div(o).toNumber())).add(n).mul(o),d=u.mul(i);return t?new bt(d.toNumber()):new bt(Math.ceil(d.toNumber()))},$B=(e,t,n)=>{var r;if(e.lte(0))return new bt(0);var i=[1,2,2.5,5],a=e.toNumber(),o=Math.floor(new bt(a).abs().log(10).toNumber()),u=new bt(10).pow(o),d=e.div(u).toNumber(),f=i.findIndex(v=>v>=d-1e-10);if(f===-1&&(u=u.mul(10),f=0),f+=n,f>=i.length){var p=Math.floor(f/i.length);f%=i.length,u=u.mul(new bt(10).pow(p))}var m=(r=i[f])!==null&&r!==void 0?r:1,y=new bt(m).mul(u);return t?y:new bt(Math.ceil(y.toNumber()))},Kme=(e,t,n)=>{var r=new bt(1),i=new bt(e);if(!i.isint()&&n){var a=Math.abs(e);a<1?(r=new bt(10).pow(MB(e)-1),i=new bt(Math.floor(i.div(r).toNumber())).mul(r)):a>1&&(i=new bt(Math.floor(e)))}else e===0?i=new bt(Math.floor((t-1)/2)):n||(i=new bt(Math.floor(e)));for(var o=Math.floor((t-1)/2),u=[],d=0;d<t;d++)u.push(i.add(new bt(d-o).mul(r)).toNumber());return u},BB=function(t,n,r,i){var a=arguments.length>4&&arguments[4]!==void 0?arguments[4]:0,o=arguments.length>5&&arguments[5]!==void 0?arguments[5]:Ck;if(!Number.isFinite((n-t)/(r-1)))return{step:new bt(0),tickMin:new bt(0),tickMax:new bt(0)};var u=o(new bt(n).sub(t).div(r-1),i,a),d;t<=0&&n>=0?d=new bt(0):(d=new bt(t).add(n).div(2),d=d.sub(new bt(d).mod(u)));var f=Math.ceil(d.sub(t).div(u).toNumber()),p=Math.ceil(new bt(n).sub(d).div(u).toNumber()),m=f+p+1;return m>r?BB(t,n,r,i,a+1,o):(m<r&&(p=n>0?p+(r-m):p,f=n>0?f:f+(r-m)),{step:u,tickMin:d.sub(new bt(f).mul(u)),tickMax:d.add(new bt(p).mul(u))})},lD=function(t){var[n,r]=t,i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:6,a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,o=arguments.length>3&&arguments[3]!==void 0?arguments[3]:"auto",u=Math.max(i,2),[d,f]=LB([n,r]);if(d===-1/0||f===1/0){var p=f===1/0?[d,...Array(i-1).fill(1/0)]:[...Array(i-1).fill(-1/0),f];return n>r?p.reverse():p}if(d===f)return Kme(d,i,a);var m=o==="snap125"?$B:Ck,{step:y,tickMin:v,tickMax:w}=BB(d,f,u,a,0,m),S=IB(v,w.add(new bt(.1).mul(y)),y);return n>r?S.reverse():S},cD=function(t,n){var[r,i]=t,a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,o=arguments.length>3&&arguments[3]!==void 0?arguments[3]:"auto",[u,d]=LB([r,i]);if(u===-1/0||d===1/0)return[r,i];if(u===d)return[u];var f=o==="snap125"?$B:Ck,p=Math.max(n,2),m=f(new bt(d).sub(u).div(p-1),a,0),y=[...IB(new bt(u),new bt(d),m),d];return a===!1&&(y=y.map(v=>Math.round(v))),r>i?y.reverse():y},Hme=e=>e.rootProps.barCategoryGap,Bv=e=>e.rootProps.stackOffset,UB=e=>e.rootProps.reverseStackOrder,_k=e=>e.options.chartName,Ak=e=>e.rootProps.syncId,FB=e=>e.rootProps.syncMethod,Ok=e=>e.options.eventEmitter,Gme=e=>e.rootProps.baseValue,lr={grid:-100,barBackground:-50,area:100,cursorRectangle:200,bar:300,line:400,axis:500,scatter:600,activeBar:1e3,cursorLine:1100,activeDot:1200,label:2e3},el={allowDecimals:!1,allowDataOverflow:!1,angleAxisId:0,reversed:!1,scale:"auto",tick:!0,type:"auto"},la={allowDataOverflow:!1,allowDecimals:!1,allowDuplicatedCategory:!0,includeHidden:!1,radiusAxisId:0,reversed:!1,scale:"auto",tick:!0,tickCount:5,type:"auto"},Uv=(e,t)=>{if(!(!e||!t))return e!=null&&e.reversed?[t[1],t[0]]:t};function Fv(e,t,n){if(n!=="auto")return n;if(e!=null)return Aa(e,t)?"category":"number"}function uD(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function uy(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?uD(Object(n),!0).forEach(function(r){Vme(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):uD(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function Vme(e,t,n){return(t=Zme(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Zme(e){var t=Yme(e,"string");return typeof t=="symbol"?t:t+""}function Yme(e,t){if(typeof e!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}var dD={allowDataOverflow:el.allowDataOverflow,allowDecimals:el.allowDecimals,allowDuplicatedCategory:!1,dataKey:void 0,domain:void 0,id:el.angleAxisId,includeHidden:!1,name:void 0,reversed:el.reversed,scale:el.scale,tick:el.tick,tickCount:void 0,ticks:void 0,type:el.type,unit:void 0,niceTicks:"auto"},fD={allowDataOverflow:la.allowDataOverflow,allowDecimals:la.allowDecimals,allowDuplicatedCategory:la.allowDuplicatedCategory,dataKey:void 0,domain:void 0,id:la.radiusAxisId,includeHidden:la.includeHidden,name:void 0,reversed:la.reversed,scale:la.scale,tick:la.tick,tickCount:la.tickCount,ticks:void 0,type:la.type,unit:void 0,niceTicks:"auto"},Wme=(e,t)=>{if(t!=null)return e.polarAxis.angleAxis[t]},Ek=oe([Wme,fB],(e,t)=>{var n;if(e!=null)return e;var r=(n=Fv(t,"angleAxis",dD.type))!==null&&n!==void 0?n:"category";return uy(uy({},dD),{},{type:r})}),Qme=(e,t)=>e.polarAxis.radiusAxis[t],zk=oe([Qme,fB],(e,t)=>{var n;if(e!=null)return e;var r=(n=Fv(t,"radiusAxis",fD.type))!==null&&n!==void 0?n:"category";return uy(uy({},fD),{},{type:r})}),qv=e=>e.polarOptions,Tk=oe([ms,gs,er],wme),qB=oe([qv,Tk],(e,t)=>{if(e!=null)return bo(e.innerRadius,t,0)}),KB=oe([qv,Tk],(e,t)=>{if(e!=null)return bo(e.outerRadius,t,t*.8)}),Xme=e=>{if(e==null)return[0,0];var{startAngle:t,endAngle:n}=e;return[t,n]},HB=oe([qv],Xme);oe([Ek,HB],Uv);var GB=oe([Tk,qB,KB],(e,t,n)=>{if(!(e==null||t==null||n==null))return[t,n]});oe([zk,GB],Uv);var VB=oe([sn,qv,qB,KB,ms,gs],(e,t,n,r,i,a)=>{if(!(e!=="centric"&&e!=="radial"||t==null||n==null||r==null)){var{cx:o,cy:u,startAngle:d,endAngle:f}=t;return{cx:bo(o,i,i/2),cy:bo(u,a,a/2),innerRadius:n,outerRadius:r,startAngle:d,endAngle:f,clockWise:!1}}}),Fn=(e,t)=>t,Kv=(e,t,n)=>n;function Pk(e){return e?.id}function ZB(e,t,n){var{chartData:r=[]}=t,{allowDuplicatedCategory:i,dataKey:a}=n,o=new Map;return e.forEach(u=>{var d,f=(d=u.data)!==null&&d!==void 0?d:r;if(!(f==null||f.length===0)){var p=Pk(u);f.forEach((m,y)=>{var v=a==null||i?y:String(Un(m,a,null)),w=Un(m,u.dataKey,0),S;o.has(v)?S=o.get(v):S={},Object.assign(S,{[p]:w}),o.set(v,S)})}}),Array.from(o.values())}function Rk(e){return"stackId"in e&&e.stackId!=null&&e.dataKey!=null}var Hv=(e,t)=>e===t?!0:e==null||t==null?!1:e[0]===t[0]&&e[1]===t[1];function Gv(e,t){return Array.isArray(e)&&Array.isArray(t)&&e.length===0&&t.length===0?!0:e===t}function Jme(e,t){if(e.length===t.length){for(var n=0;n<e.length;n++)if(e[n]!==t[n])return!1;return!0}return!1}var qn=e=>{var t=sn(e);return t==="horizontal"?"xAxis":t==="vertical"?"yAxis":t==="centric"?"angleAxis":"radiusAxis"},Wu=e=>e.tooltip.settings.axisId;function Dk(e){if(e!=null){var t=e.ticks,n=e.bandwidth,r=e.range(),i=[Math.min(...r),Math.max(...r)];return{domain:()=>e.domain(),range:(function(a){function o(){return a.apply(this,arguments)}return o.toString=function(){return a.toString()},o})(()=>i),rangeMin:()=>i[0],rangeMax:()=>i[1],isInRange(a){var o=i[0],u=i[1];return o<=u?a>=o&&a<=u:a>=u&&a<=o},bandwidth:n?()=>n.call(e):void 0,ticks:t?a=>t.call(e,a):void 0,map:(a,o)=>{var u=e(a);if(u!=null){if(e.bandwidth&&o!==null&&o!==void 0&&o.position){var d=e.bandwidth();switch(o.position){case"middle":u+=d/2;break;case"end":u+=d;break}}return u}}}}}var ege=(e,t)=>{if(t!=null)switch(e){case"linear":{if(!va(t)){for(var n,r,i=0;i<t.length;i++){var a=t[i];rt(a)&&((n===void 0||a<n)&&(n=a),(r===void 0||a>r)&&(r=a))}return n!==void 0&&r!==void 0?[n,r]:void 0}return t}default:return t}};function po(e,t){return e==null||t==null?NaN:e<t?-1:e>t?1:e>=t?0:NaN}function tge(e,t){return e==null||t==null?NaN:t<e?-1:t>e?1:t>=e?0:NaN}function Mk(e){let t,n,r;e.length!==2?(t=po,n=(u,d)=>po(e(u),d),r=(u,d)=>e(u)-d):(t=e===po||e===tge?e:nge,n=e,r=e);function i(u,d,f=0,p=u.length){if(f<p){if(t(d,d)!==0)return p;do{const m=f+p>>>1;n(u[m],d)<0?f=m+1:p=m}while(f<p)}return f}function a(u,d,f=0,p=u.length){if(f<p){if(t(d,d)!==0)return p;do{const m=f+p>>>1;n(u[m],d)<=0?f=m+1:p=m}while(f<p)}return f}function o(u,d,f=0,p=u.length){const m=i(u,d,f,p-1);return m>f&&r(u[m-1],d)>-r(u[m],d)?m-1:m}return{left:i,center:o,right:a}}function nge(){return 0}function YB(e){return e===null?NaN:+e}function*rge(e,t){for(let n of e)n!=null&&(n=+n)>=n&&(yield n)}const ige=Mk(po),Ch=ige.right;Mk(YB).center;class hD extends Map{constructor(t,n=oge){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:n}}),t!=null)for(const[r,i]of t)this.set(r,i)}get(t){return super.get(pD(this,t))}has(t){return super.has(pD(this,t))}set(t,n){return super.set(age(this,t),n)}delete(t){return super.delete(sge(this,t))}}function pD({_intern:e,_key:t},n){const r=t(n);return e.has(r)?e.get(r):n}function age({_intern:e,_key:t},n){const r=t(n);return e.has(r)?e.get(r):(e.set(r,n),n)}function sge({_intern:e,_key:t},n){const r=t(n);return e.has(r)&&(n=e.get(r),e.delete(r)),n}function oge(e){return e!==null&&typeof e=="object"?e.valueOf():e}function lge(e=po){if(e===po)return WB;if(typeof e!="function")throw new TypeError("compare is not a function");return(t,n)=>{const r=e(t,n);return r||r===0?r:(e(n,n)===0)-(e(t,t)===0)}}function WB(e,t){return(e==null||!(e>=e))-(t==null||!(t>=t))||(e<t?-1:e>t?1:0)}const cge=Math.sqrt(50),uge=Math.sqrt(10),dge=Math.sqrt(2);function dy(e,t,n){const r=(t-e)/Math.max(0,n),i=Math.floor(Math.log10(r)),a=r/Math.pow(10,i),o=a>=cge?10:a>=uge?5:a>=dge?2:1;let u,d,f;return i<0?(f=Math.pow(10,-i)/o,u=Math.round(e*f),d=Math.round(t*f),u/f<e&&++u,d/f>t&&--d,f=-f):(f=Math.pow(10,i)*o,u=Math.round(e/f),d=Math.round(t/f),u*f<e&&++u,d*f>t&&--d),d<u&&.5<=n&&n<2?dy(e,t,n*2):[u,d,f]}function uj(e,t,n){if(t=+t,e=+e,n=+n,!(n>0))return[];if(e===t)return[e];const r=t<e,[i,a,o]=r?dy(t,e,n):dy(e,t,n);if(!(a>=i))return[];const u=a-i+1,d=new Array(u);if(r)if(o<0)for(let f=0;f<u;++f)d[f]=(a-f)/-o;else for(let f=0;f<u;++f)d[f]=(a-f)*o;else if(o<0)for(let f=0;f<u;++f)d[f]=(i+f)/-o;else for(let f=0;f<u;++f)d[f]=(i+f)*o;return d}function dj(e,t,n){return t=+t,e=+e,n=+n,dy(e,t,n)[2]}function fj(e,t,n){t=+t,e=+e,n=+n;const r=t<e,i=r?dj(t,e,n):dj(e,t,n);return(r?-1:1)*(i<0?1/-i:i)}function mD(e,t){let n;for(const r of e)r!=null&&(n<r||n===void 0&&r>=r)&&(n=r);return n}function gD(e,t){let n;for(const r of e)r!=null&&(n>r||n===void 0&&r>=r)&&(n=r);return n}function QB(e,t,n=0,r=1/0,i){if(t=Math.floor(t),n=Math.floor(Math.max(0,n)),r=Math.floor(Math.min(e.length-1,r)),!(n<=t&&t<=r))return e;for(i=i===void 0?WB:lge(i);r>n;){if(r-n>600){const d=r-n+1,f=t-n+1,p=Math.log(d),m=.5*Math.exp(2*p/3),y=.5*Math.sqrt(p*m*(d-m)/d)*(f-d/2<0?-1:1),v=Math.max(n,Math.floor(t-f*m/d+y)),w=Math.min(r,Math.floor(t+(d-f)*m/d+y));QB(e,t,v,w,i)}const a=e[t];let o=n,u=r;for(cf(e,n,t),i(e[r],a)>0&&cf(e,n,r);o<u;){for(cf(e,o,u),++o,--u;i(e[o],a)<0;)++o;for(;i(e[u],a)>0;)--u}i(e[n],a)===0?cf(e,n,u):(++u,cf(e,u,r)),u<=t&&(n=u+1),t<=u&&(r=u-1)}return e}function cf(e,t,n){const r=e[t];e[t]=e[n],e[n]=r}function fge(e,t,n){if(e=Float64Array.from(rge(e)),!(!(r=e.length)||isNaN(t=+t))){if(t<=0||r<2)return gD(e);if(t>=1)return mD(e);var r,i=(r-1)*t,a=Math.floor(i),o=mD(QB(e,a).subarray(0,a+1)),u=gD(e.subarray(a+1));return o+(u-o)*(i-a)}}function hge(e,t,n=YB){if(!(!(r=e.length)||isNaN(t=+t))){if(t<=0||r<2)return+n(e[0],0,e);if(t>=1)return+n(e[r-1],r-1,e);var r,i=(r-1)*t,a=Math.floor(i),o=+n(e[a],a,e),u=+n(e[a+1],a+1,e);return o+(u-o)*(i-a)}}function pge(e,t,n){e=+e,t=+t,n=(i=arguments.length)<2?(t=e,e=0,1):i<3?1:+n;for(var r=-1,i=Math.max(0,Math.ceil((t-e)/n))|0,a=new Array(i);++r<i;)a[r]=e+r*n;return a}function Ri(e,t){switch(arguments.length){case 0:break;case 1:this.range(e);break;default:this.range(t).domain(e);break}return this}function ys(e,t){switch(arguments.length){case 0:break;case 1:{typeof e=="function"?this.interpolator(e):this.range(e);break}default:{this.domain(e),typeof t=="function"?this.interpolator(t):this.range(t);break}}return this}const hj=Symbol("implicit");function Ik(){var e=new hD,t=[],n=[],r=hj;function i(a){let o=e.get(a);if(o===void 0){if(r!==hj)return r;e.set(a,o=t.push(a)-1)}return n[o%n.length]}return i.domain=function(a){if(!arguments.length)return t.slice();t=[],e=new hD;for(const o of a)e.has(o)||e.set(o,t.push(o)-1);return i},i.range=function(a){return arguments.length?(n=Array.from(a),i):n.slice()},i.unknown=function(a){return arguments.length?(r=a,i):r},i.copy=function(){return Ik(t,n).unknown(r)},Ri.apply(i,arguments),i}function Lk(){var e=Ik().unknown(void 0),t=e.domain,n=e.range,r=0,i=1,a,o,u=!1,d=0,f=0,p=.5;delete e.unknown;function m(){var y=t().length,v=i<r,w=v?i:r,S=v?r:i;a=(S-w)/Math.max(1,y-d+f*2),u&&(a=Math.floor(a)),w+=(S-w-a*(y-d))*p,o=a*(1-d),u&&(w=Math.round(w),o=Math.round(o));var j=pge(y).map(function(k){return w+a*k});return n(v?j.reverse():j)}return e.domain=function(y){return arguments.length?(t(y),m()):t()},e.range=function(y){return arguments.length?([r,i]=y,r=+r,i=+i,m()):[r,i]},e.rangeRound=function(y){return[r,i]=y,r=+r,i=+i,u=!0,m()},e.bandwidth=function(){return o},e.step=function(){return a},e.round=function(y){return arguments.length?(u=!!y,m()):u},e.padding=function(y){return arguments.length?(d=Math.min(1,f=+y),m()):d},e.paddingInner=function(y){return arguments.length?(d=Math.min(1,y),m()):d},e.paddingOuter=function(y){return arguments.length?(f=+y,m()):f},e.align=function(y){return arguments.length?(p=Math.max(0,Math.min(1,y)),m()):p},e.copy=function(){return Lk(t(),[r,i]).round(u).paddingInner(d).paddingOuter(f).align(p)},Ri.apply(m(),arguments)}function XB(e){var t=e.copy;return e.padding=e.paddingOuter,delete e.paddingInner,delete e.paddingOuter,e.copy=function(){return XB(t())},e}function mge(){return XB(Lk.apply(null,arguments).paddingInner(1))}function $k(e,t,n){e.prototype=t.prototype=n,n.constructor=e}function JB(e,t){var n=Object.create(e.prototype);for(var r in t)n[r]=t[r];return n}function _h(){}var Qf=.7,fy=1/Qf,yu="\\s*([+-]?\\d+)\\s*",Xf="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",xa="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",gge=/^#([0-9a-f]{3,8})$/,yge=new RegExp(`^rgb\\(${yu},${yu},${yu}\\)$`),vge=new RegExp(`^rgb\\(${xa},${xa},${xa}\\)$`),xge=new RegExp(`^rgba\\(${yu},${yu},${yu},${Xf}\\)$`),bge=new RegExp(`^rgba\\(${xa},${xa},${xa},${Xf}\\)$`),wge=new RegExp(`^hsl\\(${Xf},${xa},${xa}\\)$`),Sge=new RegExp(`^hsla\\(${Xf},${xa},${xa},${Xf}\\)$`),yD={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};$k(_h,Jf,{copy(e){return Object.assign(new this.constructor,this,e)},displayable(){return this.rgb().displayable()},hex:vD,formatHex:vD,formatHex8:jge,formatHsl:Nge,formatRgb:xD,toString:xD});function vD(){return this.rgb().formatHex()}function jge(){return this.rgb().formatHex8()}function Nge(){return e6(this).formatHsl()}function xD(){return this.rgb().formatRgb()}function Jf(e){var t,n;return e=(e+"").trim().toLowerCase(),(t=gge.exec(e))?(n=t[1].length,t=parseInt(t[1],16),n===6?bD(t):n===3?new Pr(t>>8&15|t>>4&240,t>>4&15|t&240,(t&15)<<4|t&15,1):n===8?Lm(t>>24&255,t>>16&255,t>>8&255,(t&255)/255):n===4?Lm(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|t&240,((t&15)<<4|t&15)/255):null):(t=yge.exec(e))?new Pr(t[1],t[2],t[3],1):(t=vge.exec(e))?new Pr(t[1]*255/100,t[2]*255/100,t[3]*255/100,1):(t=xge.exec(e))?Lm(t[1],t[2],t[3],t[4]):(t=bge.exec(e))?Lm(t[1]*255/100,t[2]*255/100,t[3]*255/100,t[4]):(t=wge.exec(e))?jD(t[1],t[2]/100,t[3]/100,1):(t=Sge.exec(e))?jD(t[1],t[2]/100,t[3]/100,t[4]):yD.hasOwnProperty(e)?bD(yD[e]):e==="transparent"?new Pr(NaN,NaN,NaN,0):null}function bD(e){return new Pr(e>>16&255,e>>8&255,e&255,1)}function Lm(e,t,n,r){return r<=0&&(e=t=n=NaN),new Pr(e,t,n,r)}function kge(e){return e instanceof _h||(e=Jf(e)),e?(e=e.rgb(),new Pr(e.r,e.g,e.b,e.opacity)):new Pr}function pj(e,t,n,r){return arguments.length===1?kge(e):new Pr(e,t,n,r??1)}function Pr(e,t,n,r){this.r=+e,this.g=+t,this.b=+n,this.opacity=+r}$k(Pr,pj,JB(_h,{brighter(e){return e=e==null?fy:Math.pow(fy,e),new Pr(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?Qf:Math.pow(Qf,e),new Pr(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new Pr(Cl(this.r),Cl(this.g),Cl(this.b),hy(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:wD,formatHex:wD,formatHex8:Cge,formatRgb:SD,toString:SD}));function wD(){return`#${gl(this.r)}${gl(this.g)}${gl(this.b)}`}function Cge(){return`#${gl(this.r)}${gl(this.g)}${gl(this.b)}${gl((isNaN(this.opacity)?1:this.opacity)*255)}`}function SD(){const e=hy(this.opacity);return`${e===1?"rgb(":"rgba("}${Cl(this.r)}, ${Cl(this.g)}, ${Cl(this.b)}${e===1?")":`, ${e})`}`}function hy(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function Cl(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function gl(e){return e=Cl(e),(e<16?"0":"")+e.toString(16)}function jD(e,t,n,r){return r<=0?e=t=n=NaN:n<=0||n>=1?e=t=NaN:t<=0&&(e=NaN),new Zi(e,t,n,r)}function e6(e){if(e instanceof Zi)return new Zi(e.h,e.s,e.l,e.opacity);if(e instanceof _h||(e=Jf(e)),!e)return new Zi;if(e instanceof Zi)return e;e=e.rgb();var t=e.r/255,n=e.g/255,r=e.b/255,i=Math.min(t,n,r),a=Math.max(t,n,r),o=NaN,u=a-i,d=(a+i)/2;return u?(t===a?o=(n-r)/u+(n<r)*6:n===a?o=(r-t)/u+2:o=(t-n)/u+4,u/=d<.5?a+i:2-a-i,o*=60):u=d>0&&d<1?0:o,new Zi(o,u,d,e.opacity)}function _ge(e,t,n,r){return arguments.length===1?e6(e):new Zi(e,t,n,r??1)}function Zi(e,t,n,r){this.h=+e,this.s=+t,this.l=+n,this.opacity=+r}$k(Zi,_ge,JB(_h,{brighter(e){return e=e==null?fy:Math.pow(fy,e),new Zi(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?Qf:Math.pow(Qf,e),new Zi(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+(this.h<0)*360,t=isNaN(e)||isNaN(this.s)?0:this.s,n=this.l,r=n+(n<.5?n:1-n)*t,i=2*n-r;return new Pr(xS(e>=240?e-240:e+120,i,r),xS(e,i,r),xS(e<120?e+240:e-120,i,r),this.opacity)},clamp(){return new Zi(ND(this.h),$m(this.s),$m(this.l),hy(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const e=hy(this.opacity);return`${e===1?"hsl(":"hsla("}${ND(this.h)}, ${$m(this.s)*100}%, ${$m(this.l)*100}%${e===1?")":`, ${e})`}`}}));function ND(e){return e=(e||0)%360,e<0?e+360:e}function $m(e){return Math.max(0,Math.min(1,e||0))}function xS(e,t,n){return(e<60?t+(n-t)*e/60:e<180?n:e<240?t+(n-t)*(240-e)/60:t)*255}const Bk=e=>()=>e;function Age(e,t){return function(n){return e+n*t}}function Oge(e,t,n){return e=Math.pow(e,n),t=Math.pow(t,n)-e,n=1/n,function(r){return Math.pow(e+r*t,n)}}function Ege(e){return(e=+e)==1?t6:function(t,n){return n-t?Oge(t,n,e):Bk(isNaN(t)?n:t)}}function t6(e,t){var n=t-e;return n?Age(e,n):Bk(isNaN(e)?t:e)}const kD=(function e(t){var n=Ege(t);function r(i,a){var o=n((i=pj(i)).r,(a=pj(a)).r),u=n(i.g,a.g),d=n(i.b,a.b),f=t6(i.opacity,a.opacity);return function(p){return i.r=o(p),i.g=u(p),i.b=d(p),i.opacity=f(p),i+""}}return r.gamma=e,r})(1);function zge(e,t){t||(t=[]);var n=e?Math.min(t.length,e.length):0,r=t.slice(),i;return function(a){for(i=0;i<n;++i)r[i]=e[i]*(1-a)+t[i]*a;return r}}function Tge(e){return ArrayBuffer.isView(e)&&!(e instanceof DataView)}function Pge(e,t){var n=t?t.length:0,r=e?Math.min(n,e.length):0,i=new Array(r),a=new Array(n),o;for(o=0;o<r;++o)i[o]=Qu(e[o],t[o]);for(;o<n;++o)a[o]=t[o];return function(u){for(o=0;o<r;++o)a[o]=i[o](u);return a}}function Rge(e,t){var n=new Date;return e=+e,t=+t,function(r){return n.setTime(e*(1-r)+t*r),n}}function py(e,t){return e=+e,t=+t,function(n){return e*(1-n)+t*n}}function Dge(e,t){var n={},r={},i;(e===null||typeof e!="object")&&(e={}),(t===null||typeof t!="object")&&(t={});for(i in t)i in e?n[i]=Qu(e[i],t[i]):r[i]=t[i];return function(a){for(i in n)r[i]=n[i](a);return r}}var mj=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,bS=new RegExp(mj.source,"g");function Mge(e){return function(){return e}}function Ige(e){return function(t){return e(t)+""}}function Lge(e,t){var n=mj.lastIndex=bS.lastIndex=0,r,i,a,o=-1,u=[],d=[];for(e=e+"",t=t+"";(r=mj.exec(e))&&(i=bS.exec(t));)(a=i.index)>n&&(a=t.slice(n,a),u[o]?u[o]+=a:u[++o]=a),(r=r[0])===(i=i[0])?u[o]?u[o]+=i:u[++o]=i:(u[++o]=null,d.push({i:o,x:py(r,i)})),n=bS.lastIndex;return n<t.length&&(a=t.slice(n),u[o]?u[o]+=a:u[++o]=a),u.length<2?d[0]?Ige(d[0].x):Mge(t):(t=d.length,function(f){for(var p=0,m;p<t;++p)u[(m=d[p]).i]=m.x(f);return u.join("")})}function Qu(e,t){var n=typeof t,r;return t==null||n==="boolean"?Bk(t):(n==="number"?py:n==="string"?(r=Jf(t))?(t=r,kD):Lge:t instanceof Jf?kD:t instanceof Date?Rge:Tge(t)?zge:Array.isArray(t)?Pge:typeof t.valueOf!="function"&&typeof t.toString!="function"||isNaN(t)?Dge:py)(e,t)}function Uk(e,t){return e=+e,t=+t,function(n){return Math.round(e*(1-n)+t*n)}}function $ge(e,t){t===void 0&&(t=e,e=Qu);for(var n=0,r=t.length-1,i=t[0],a=new Array(r<0?0:r);n<r;)a[n]=e(i,i=t[++n]);return function(o){var u=Math.max(0,Math.min(r-1,Math.floor(o*=r)));return a[u](o-u)}}function Bge(e){return function(){return e}}function my(e){return+e}var CD=[0,1];function mr(e){return e}function gj(e,t){return(t-=e=+e)?function(n){return(n-e)/t}:Bge(isNaN(t)?NaN:.5)}function Uge(e,t){var n;return e>t&&(n=e,e=t,t=n),function(r){return Math.max(e,Math.min(t,r))}}function Fge(e,t,n){var r=e[0],i=e[1],a=t[0],o=t[1];return i<r?(r=gj(i,r),a=n(o,a)):(r=gj(r,i),a=n(a,o)),function(u){return a(r(u))}}function qge(e,t,n){var r=Math.min(e.length,t.length)-1,i=new Array(r),a=new Array(r),o=-1;for(e[r]<e[0]&&(e=e.slice().reverse(),t=t.slice().reverse());++o<r;)i[o]=gj(e[o],e[o+1]),a[o]=n(t[o],t[o+1]);return function(u){var d=Ch(e,u,1,r)-1;return a[d](i[d](u))}}function Ah(e,t){return t.domain(e.domain()).range(e.range()).interpolate(e.interpolate()).clamp(e.clamp()).unknown(e.unknown())}function Vv(){var e=CD,t=CD,n=Qu,r,i,a,o=mr,u,d,f;function p(){var y=Math.min(e.length,t.length);return o!==mr&&(o=Uge(e[0],e[y-1])),u=y>2?qge:Fge,d=f=null,m}function m(y){return y==null||isNaN(y=+y)?a:(d||(d=u(e.map(r),t,n)))(r(o(y)))}return m.invert=function(y){return o(i((f||(f=u(t,e.map(r),py)))(y)))},m.domain=function(y){return arguments.length?(e=Array.from(y,my),p()):e.slice()},m.range=function(y){return arguments.length?(t=Array.from(y),p()):t.slice()},m.rangeRound=function(y){return t=Array.from(y),n=Uk,p()},m.clamp=function(y){return arguments.length?(o=y?!0:mr,p()):o!==mr},m.interpolate=function(y){return arguments.length?(n=y,p()):n},m.unknown=function(y){return arguments.length?(a=y,m):a},function(y,v){return r=y,i=v,p()}}function Fk(){return Vv()(mr,mr)}function Kge(e){return Math.abs(e=Math.round(e))>=1e21?e.toLocaleString("en").replace(/,/g,""):e.toString(10)}function gy(e,t){if(!isFinite(e)||e===0)return null;var n=(e=t?e.toExponential(t-1):e.toExponential()).indexOf("e"),r=e.slice(0,n);return[r.length>1?r[0]+r.slice(2):r,+e.slice(n+1)]}function Eu(e){return e=gy(Math.abs(e)),e?e[1]:NaN}function Hge(e,t){return function(n,r){for(var i=n.length,a=[],o=0,u=e[0],d=0;i>0&&u>0&&(d+u+1>r&&(u=Math.max(1,r-d)),a.push(n.substring(i-=u,i+u)),!((d+=u+1)>r));)u=e[o=(o+1)%e.length];return a.reverse().join(t)}}function Gge(e){return function(t){return t.replace(/[0-9]/g,function(n){return e[+n]})}}var Vge=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function eh(e){if(!(t=Vge.exec(e)))throw new Error("invalid format: "+e);var t;return new qk({fill:t[1],align:t[2],sign:t[3],symbol:t[4],zero:t[5],width:t[6],comma:t[7],precision:t[8]&&t[8].slice(1),trim:t[9],type:t[10]})}eh.prototype=qk.prototype;function qk(e){this.fill=e.fill===void 0?" ":e.fill+"",this.align=e.align===void 0?">":e.align+"",this.sign=e.sign===void 0?"-":e.sign+"",this.symbol=e.symbol===void 0?"":e.symbol+"",this.zero=!!e.zero,this.width=e.width===void 0?void 0:+e.width,this.comma=!!e.comma,this.precision=e.precision===void 0?void 0:+e.precision,this.trim=!!e.trim,this.type=e.type===void 0?"":e.type+""}qk.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(this.width===void 0?"":Math.max(1,this.width|0))+(this.comma?",":"")+(this.precision===void 0?"":"."+Math.max(0,this.precision|0))+(this.trim?"~":"")+this.type};function Zge(e){e:for(var t=e.length,n=1,r=-1,i;n<t;++n)switch(e[n]){case".":r=i=n;break;case"0":r===0&&(r=n),i=n;break;default:if(!+e[n])break e;r>0&&(r=0);break}return r>0?e.slice(0,r)+e.slice(i+1):e}var yy;function Yge(e,t){var n=gy(e,t);if(!n)return yy=void 0,e.toPrecision(t);var r=n[0],i=n[1],a=i-(yy=Math.max(-8,Math.min(8,Math.floor(i/3)))*3)+1,o=r.length;return a===o?r:a>o?r+new Array(a-o+1).join("0"):a>0?r.slice(0,a)+"."+r.slice(a):"0."+new Array(1-a).join("0")+gy(e,Math.max(0,t+a-1))[0]}function _D(e,t){var n=gy(e,t);if(!n)return e+"";var r=n[0],i=n[1];return i<0?"0."+new Array(-i).join("0")+r:r.length>i+1?r.slice(0,i+1)+"."+r.slice(i+1):r+new Array(i-r.length+2).join("0")}const AD={"%":(e,t)=>(e*100).toFixed(t),b:e=>Math.round(e).toString(2),c:e=>e+"",d:Kge,e:(e,t)=>e.toExponential(t),f:(e,t)=>e.toFixed(t),g:(e,t)=>e.toPrecision(t),o:e=>Math.round(e).toString(8),p:(e,t)=>_D(e*100,t),r:_D,s:Yge,X:e=>Math.round(e).toString(16).toUpperCase(),x:e=>Math.round(e).toString(16)};function OD(e){return e}var ED=Array.prototype.map,zD=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"];function Wge(e){var t=e.grouping===void 0||e.thousands===void 0?OD:Hge(ED.call(e.grouping,Number),e.thousands+""),n=e.currency===void 0?"":e.currency[0]+"",r=e.currency===void 0?"":e.currency[1]+"",i=e.decimal===void 0?".":e.decimal+"",a=e.numerals===void 0?OD:Gge(ED.call(e.numerals,String)),o=e.percent===void 0?"%":e.percent+"",u=e.minus===void 0?"−":e.minus+"",d=e.nan===void 0?"NaN":e.nan+"";function f(m,y){m=eh(m);var v=m.fill,w=m.align,S=m.sign,j=m.symbol,k=m.zero,O=m.width,_=m.comma,C=m.precision,T=m.trim,E=m.type;E==="n"?(_=!0,E="g"):AD[E]||(C===void 0&&(C=12),T=!0,E="g"),(k||v==="0"&&w==="=")&&(k=!0,v="0",w="=");var A=(y&&y.prefix!==void 0?y.prefix:"")+(j==="$"?n:j==="#"&&/[boxX]/.test(E)?"0"+E.toLowerCase():""),P=(j==="$"?r:/[%p]/.test(E)?o:"")+(y&&y.suffix!==void 0?y.suffix:""),I=AD[E],q=/[defgprs%]/.test(E);C=C===void 0?6:/[gprs]/.test(E)?Math.max(1,Math.min(21,C)):Math.max(0,Math.min(20,C));function $(U){var G=A,te=P,Z,K,X;if(E==="c")te=I(U)+te,U="";else{U=+U;var pe=U<0||1/U<0;if(U=isNaN(U)?d:I(Math.abs(U),C),T&&(U=Zge(U)),pe&&+U==0&&S!=="+"&&(pe=!1),G=(pe?S==="("?S:u:S==="-"||S==="("?"":S)+G,te=(E==="s"&&!isNaN(U)&&yy!==void 0?zD[8+yy/3]:"")+te+(pe&&S==="("?")":""),q){for(Z=-1,K=U.length;++Z<K;)if(X=U.charCodeAt(Z),48>X||X>57){te=(X===46?i+U.slice(Z+1):U.slice(Z))+te,U=U.slice(0,Z);break}}}_&&!k&&(U=t(U,1/0));var Ne=G.length+U.length+te.length,R=Ne<O?new Array(O-Ne+1).join(v):"";switch(_&&k&&(U=t(R+U,R.length?O-te.length:1/0),R=""),w){case"<":U=G+U+te+R;break;case"=":U=G+R+U+te;break;case"^":U=R.slice(0,Ne=R.length>>1)+G+U+te+R.slice(Ne);break;default:U=R+G+U+te;break}return a(U)}return $.toString=function(){return m+""},$}function p(m,y){var v=Math.max(-8,Math.min(8,Math.floor(Eu(y)/3)))*3,w=Math.pow(10,-v),S=f((m=eh(m),m.type="f",m),{suffix:zD[8+v/3]});return function(j){return S(w*j)}}return{format:f,formatPrefix:p}}var Bm,Kk,n6;Qge({thousands:",",grouping:[3],currency:["$",""]});function Qge(e){return Bm=Wge(e),Kk=Bm.format,n6=Bm.formatPrefix,Bm}function Xge(e){return Math.max(0,-Eu(Math.abs(e)))}function Jge(e,t){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(Eu(t)/3)))*3-Eu(Math.abs(e)))}function eye(e,t){return e=Math.abs(e),t=Math.abs(t)-e,Math.max(0,Eu(t)-Eu(e))+1}function r6(e,t,n,r){var i=fj(e,t,n),a;switch(r=eh(r??",f"),r.type){case"s":{var o=Math.max(Math.abs(e),Math.abs(t));return r.precision==null&&!isNaN(a=Jge(i,o))&&(r.precision=a),n6(r,o)}case"":case"e":case"g":case"p":case"r":{r.precision==null&&!isNaN(a=eye(i,Math.max(Math.abs(e),Math.abs(t))))&&(r.precision=a-(r.type==="e"));break}case"f":case"%":{r.precision==null&&!isNaN(a=Xge(i))&&(r.precision=a-(r.type==="%")*2);break}}return Kk(r)}function Ao(e){var t=e.domain;return e.ticks=function(n){var r=t();return uj(r[0],r[r.length-1],n??10)},e.tickFormat=function(n,r){var i=t();return r6(i[0],i[i.length-1],n??10,r)},e.nice=function(n){n==null&&(n=10);var r=t(),i=0,a=r.length-1,o=r[i],u=r[a],d,f,p=10;for(u<o&&(f=o,o=u,u=f,f=i,i=a,a=f);p-- >0;){if(f=dj(o,u,n),f===d)return r[i]=o,r[a]=u,t(r);if(f>0)o=Math.floor(o/f)*f,u=Math.ceil(u/f)*f;else if(f<0)o=Math.ceil(o*f)/f,u=Math.floor(u*f)/f;else break;d=f}return e},e}function i6(){var e=Fk();return e.copy=function(){return Ah(e,i6())},Ri.apply(e,arguments),Ao(e)}function a6(e){var t;function n(r){return r==null||isNaN(r=+r)?t:r}return n.invert=n,n.domain=n.range=function(r){return arguments.length?(e=Array.from(r,my),n):e.slice()},n.unknown=function(r){return arguments.length?(t=r,n):t},n.copy=function(){return a6(e).unknown(t)},e=arguments.length?Array.from(e,my):[0,1],Ao(n)}function s6(e,t){e=e.slice();var n=0,r=e.length-1,i=e[n],a=e[r],o;return a<i&&(o=n,n=r,r=o,o=i,i=a,a=o),e[n]=t.floor(i),e[r]=t.ceil(a),e}function TD(e){return Math.log(e)}function PD(e){return Math.exp(e)}function tye(e){return-Math.log(-e)}function nye(e){return-Math.exp(-e)}function rye(e){return isFinite(e)?+("1e"+e):e<0?0:e}function iye(e){return e===10?rye:e===Math.E?Math.exp:t=>Math.pow(e,t)}function aye(e){return e===Math.E?Math.log:e===10&&Math.log10||e===2&&Math.log2||(e=Math.log(e),t=>Math.log(t)/e)}function RD(e){return(t,n)=>-e(-t,n)}function Hk(e){const t=e(TD,PD),n=t.domain;let r=10,i,a;function o(){return i=aye(r),a=iye(r),n()[0]<0?(i=RD(i),a=RD(a),e(tye,nye)):e(TD,PD),t}return t.base=function(u){return arguments.length?(r=+u,o()):r},t.domain=function(u){return arguments.length?(n(u),o()):n()},t.ticks=u=>{const d=n();let f=d[0],p=d[d.length-1];const m=p<f;m&&([f,p]=[p,f]);let y=i(f),v=i(p),w,S;const j=u==null?10:+u;let k=[];if(!(r%1)&&v-y<j){if(y=Math.floor(y),v=Math.ceil(v),f>0){for(;y<=v;++y)for(w=1;w<r;++w)if(S=y<0?w/a(-y):w*a(y),!(S<f)){if(S>p)break;k.push(S)}}else for(;y<=v;++y)for(w=r-1;w>=1;--w)if(S=y>0?w/a(-y):w*a(y),!(S<f)){if(S>p)break;k.push(S)}k.length*2<j&&(k=uj(f,p,j))}else k=uj(y,v,Math.min(v-y,j)).map(a);return m?k.reverse():k},t.tickFormat=(u,d)=>{if(u==null&&(u=10),d==null&&(d=r===10?"s":","),typeof d!="function"&&(!(r%1)&&(d=eh(d)).precision==null&&(d.trim=!0),d=Kk(d)),u===1/0)return d;const f=Math.max(1,r*u/t.ticks().length);return p=>{let m=p/a(Math.round(i(p)));return m*r<r-.5&&(m*=r),m<=f?d(p):""}},t.nice=()=>n(s6(n(),{floor:u=>a(Math.floor(i(u))),ceil:u=>a(Math.ceil(i(u)))})),t}function o6(){const e=Hk(Vv()).domain([1,10]);return e.copy=()=>Ah(e,o6()).base(e.base()),Ri.apply(e,arguments),e}function DD(e){return function(t){return Math.sign(t)*Math.log1p(Math.abs(t/e))}}function MD(e){return function(t){return Math.sign(t)*Math.expm1(Math.abs(t))*e}}function Gk(e){var t=1,n=e(DD(t),MD(t));return n.constant=function(r){return arguments.length?e(DD(t=+r),MD(t)):t},Ao(n)}function l6(){var e=Gk(Vv());return e.copy=function(){return Ah(e,l6()).constant(e.constant())},Ri.apply(e,arguments)}function ID(e){return function(t){return t<0?-Math.pow(-t,e):Math.pow(t,e)}}function sye(e){return e<0?-Math.sqrt(-e):Math.sqrt(e)}function oye(e){return e<0?-e*e:e*e}function Vk(e){var t=e(mr,mr),n=1;function r(){return n===1?e(mr,mr):n===.5?e(sye,oye):e(ID(n),ID(1/n))}return t.exponent=function(i){return arguments.length?(n=+i,r()):n},Ao(t)}function Zk(){var e=Vk(Vv());return e.copy=function(){return Ah(e,Zk()).exponent(e.exponent())},Ri.apply(e,arguments),e}function lye(){return Zk.apply(null,arguments).exponent(.5)}function LD(e){return Math.sign(e)*e*e}function cye(e){return Math.sign(e)*Math.sqrt(Math.abs(e))}function c6(){var e=Fk(),t=[0,1],n=!1,r;function i(a){var o=cye(e(a));return isNaN(o)?r:n?Math.round(o):o}return i.invert=function(a){return e.invert(LD(a))},i.domain=function(a){return arguments.length?(e.domain(a),i):e.domain()},i.range=function(a){return arguments.length?(e.range((t=Array.from(a,my)).map(LD)),i):t.slice()},i.rangeRound=function(a){return i.range(a).round(!0)},i.round=function(a){return arguments.length?(n=!!a,i):n},i.clamp=function(a){return arguments.length?(e.clamp(a),i):e.clamp()},i.unknown=function(a){return arguments.length?(r=a,i):r},i.copy=function(){return c6(e.domain(),t).round(n).clamp(e.clamp()).unknown(r)},Ri.apply(i,arguments),Ao(i)}function u6(){var e=[],t=[],n=[],r;function i(){var o=0,u=Math.max(1,t.length);for(n=new Array(u-1);++o<u;)n[o-1]=hge(e,o/u);return a}function a(o){return o==null||isNaN(o=+o)?r:t[Ch(n,o)]}return a.invertExtent=function(o){var u=t.indexOf(o);return u<0?[NaN,NaN]:[u>0?n[u-1]:e[0],u<n.length?n[u]:e[e.length-1]]},a.domain=function(o){if(!arguments.length)return e.slice();e=[];for(let u of o)u!=null&&!isNaN(u=+u)&&e.push(u);return e.sort(po),i()},a.range=function(o){return arguments.length?(t=Array.from(o),i()):t.slice()},a.unknown=function(o){return arguments.length?(r=o,a):r},a.quantiles=function(){return n.slice()},a.copy=function(){return u6().domain(e).range(t).unknown(r)},Ri.apply(a,arguments)}function d6(){var e=0,t=1,n=1,r=[.5],i=[0,1],a;function o(d){return d!=null&&d<=d?i[Ch(r,d,0,n)]:a}function u(){var d=-1;for(r=new Array(n);++d<n;)r[d]=((d+1)*t-(d-n)*e)/(n+1);return o}return o.domain=function(d){return arguments.length?([e,t]=d,e=+e,t=+t,u()):[e,t]},o.range=function(d){return arguments.length?(n=(i=Array.from(d)).length-1,u()):i.slice()},o.invertExtent=function(d){var f=i.indexOf(d);return f<0?[NaN,NaN]:f<1?[e,r[0]]:f>=n?[r[n-1],t]:[r[f-1],r[f]]},o.unknown=function(d){return arguments.length&&(a=d),o},o.thresholds=function(){return r.slice()},o.copy=function(){return d6().domain([e,t]).range(i).unknown(a)},Ri.apply(Ao(o),arguments)}function f6(){var e=[.5],t=[0,1],n,r=1;function i(a){return a!=null&&a<=a?t[Ch(e,a,0,r)]:n}return i.domain=function(a){return arguments.length?(e=Array.from(a),r=Math.min(e.length,t.length-1),i):e.slice()},i.range=function(a){return arguments.length?(t=Array.from(a),r=Math.min(e.length,t.length-1),i):t.slice()},i.invertExtent=function(a){var o=t.indexOf(a);return[e[o-1],e[o]]},i.unknown=function(a){return arguments.length?(n=a,i):n},i.copy=function(){return f6().domain(e).range(t).unknown(n)},Ri.apply(i,arguments)}const wS=new Date,SS=new Date;function In(e,t,n,r){function i(a){return e(a=arguments.length===0?new Date:new Date(+a)),a}return i.floor=a=>(e(a=new Date(+a)),a),i.ceil=a=>(e(a=new Date(a-1)),t(a,1),e(a),a),i.round=a=>{const o=i(a),u=i.ceil(a);return a-o<u-a?o:u},i.offset=(a,o)=>(t(a=new Date(+a),o==null?1:Math.floor(o)),a),i.range=(a,o,u)=>{const d=[];if(a=i.ceil(a),u=u==null?1:Math.floor(u),!(a<o)||!(u>0))return d;let f;do d.push(f=new Date(+a)),t(a,u),e(a);while(f<a&&a<o);return d},i.filter=a=>In(o=>{if(o>=o)for(;e(o),!a(o);)o.setTime(o-1)},(o,u)=>{if(o>=o)if(u<0)for(;++u<=0;)for(;t(o,-1),!a(o););else for(;--u>=0;)for(;t(o,1),!a(o););}),n&&(i.count=(a,o)=>(wS.setTime(+a),SS.setTime(+o),e(wS),e(SS),Math.floor(n(wS,SS))),i.every=a=>(a=Math.floor(a),!isFinite(a)||!(a>0)?null:a>1?i.filter(r?o=>r(o)%a===0:o=>i.count(0,o)%a===0):i)),i}const vy=In(()=>{},(e,t)=>{e.setTime(+e+t)},(e,t)=>t-e);vy.every=e=>(e=Math.floor(e),!isFinite(e)||!(e>0)?null:e>1?In(t=>{t.setTime(Math.floor(t/e)*e)},(t,n)=>{t.setTime(+t+n*e)},(t,n)=>(n-t)/e):vy);vy.range;const rs=1e3,Ni=rs*60,is=Ni*60,us=is*24,Yk=us*7,$D=us*30,jS=us*365,yl=In(e=>{e.setTime(e-e.getMilliseconds())},(e,t)=>{e.setTime(+e+t*rs)},(e,t)=>(t-e)/rs,e=>e.getUTCSeconds());yl.range;const Wk=In(e=>{e.setTime(e-e.getMilliseconds()-e.getSeconds()*rs)},(e,t)=>{e.setTime(+e+t*Ni)},(e,t)=>(t-e)/Ni,e=>e.getMinutes());Wk.range;const Qk=In(e=>{e.setUTCSeconds(0,0)},(e,t)=>{e.setTime(+e+t*Ni)},(e,t)=>(t-e)/Ni,e=>e.getUTCMinutes());Qk.range;const Xk=In(e=>{e.setTime(e-e.getMilliseconds()-e.getSeconds()*rs-e.getMinutes()*Ni)},(e,t)=>{e.setTime(+e+t*is)},(e,t)=>(t-e)/is,e=>e.getHours());Xk.range;const Jk=In(e=>{e.setUTCMinutes(0,0,0)},(e,t)=>{e.setTime(+e+t*is)},(e,t)=>(t-e)/is,e=>e.getUTCHours());Jk.range;const Oh=In(e=>e.setHours(0,0,0,0),(e,t)=>e.setDate(e.getDate()+t),(e,t)=>(t-e-(t.getTimezoneOffset()-e.getTimezoneOffset())*Ni)/us,e=>e.getDate()-1);Oh.range;const Zv=In(e=>{e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCDate(e.getUTCDate()+t)},(e,t)=>(t-e)/us,e=>e.getUTCDate()-1);Zv.range;const h6=In(e=>{e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCDate(e.getUTCDate()+t)},(e,t)=>(t-e)/us,e=>Math.floor(e/us));h6.range;function Xl(e){return In(t=>{t.setDate(t.getDate()-(t.getDay()+7-e)%7),t.setHours(0,0,0,0)},(t,n)=>{t.setDate(t.getDate()+n*7)},(t,n)=>(n-t-(n.getTimezoneOffset()-t.getTimezoneOffset())*Ni)/Yk)}const Yv=Xl(0),xy=Xl(1),uye=Xl(2),dye=Xl(3),zu=Xl(4),fye=Xl(5),hye=Xl(6);Yv.range;xy.range;uye.range;dye.range;zu.range;fye.range;hye.range;function Jl(e){return In(t=>{t.setUTCDate(t.getUTCDate()-(t.getUTCDay()+7-e)%7),t.setUTCHours(0,0,0,0)},(t,n)=>{t.setUTCDate(t.getUTCDate()+n*7)},(t,n)=>(n-t)/Yk)}const Wv=Jl(0),by=Jl(1),pye=Jl(2),mye=Jl(3),Tu=Jl(4),gye=Jl(5),yye=Jl(6);Wv.range;by.range;pye.range;mye.range;Tu.range;gye.range;yye.range;const eC=In(e=>{e.setDate(1),e.setHours(0,0,0,0)},(e,t)=>{e.setMonth(e.getMonth()+t)},(e,t)=>t.getMonth()-e.getMonth()+(t.getFullYear()-e.getFullYear())*12,e=>e.getMonth());eC.range;const tC=In(e=>{e.setUTCDate(1),e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCMonth(e.getUTCMonth()+t)},(e,t)=>t.getUTCMonth()-e.getUTCMonth()+(t.getUTCFullYear()-e.getUTCFullYear())*12,e=>e.getUTCMonth());tC.range;const ds=In(e=>{e.setMonth(0,1),e.setHours(0,0,0,0)},(e,t)=>{e.setFullYear(e.getFullYear()+t)},(e,t)=>t.getFullYear()-e.getFullYear(),e=>e.getFullYear());ds.every=e=>!isFinite(e=Math.floor(e))||!(e>0)?null:In(t=>{t.setFullYear(Math.floor(t.getFullYear()/e)*e),t.setMonth(0,1),t.setHours(0,0,0,0)},(t,n)=>{t.setFullYear(t.getFullYear()+n*e)});ds.range;const fs=In(e=>{e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCFullYear(e.getUTCFullYear()+t)},(e,t)=>t.getUTCFullYear()-e.getUTCFullYear(),e=>e.getUTCFullYear());fs.every=e=>!isFinite(e=Math.floor(e))||!(e>0)?null:In(t=>{t.setUTCFullYear(Math.floor(t.getUTCFullYear()/e)*e),t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)},(t,n)=>{t.setUTCFullYear(t.getUTCFullYear()+n*e)});fs.range;function p6(e,t,n,r,i,a){const o=[[yl,1,rs],[yl,5,5*rs],[yl,15,15*rs],[yl,30,30*rs],[a,1,Ni],[a,5,5*Ni],[a,15,15*Ni],[a,30,30*Ni],[i,1,is],[i,3,3*is],[i,6,6*is],[i,12,12*is],[r,1,us],[r,2,2*us],[n,1,Yk],[t,1,$D],[t,3,3*$D],[e,1,jS]];function u(f,p,m){const y=p<f;y&&([f,p]=[p,f]);const v=m&&typeof m.range=="function"?m:d(f,p,m),w=v?v.range(f,+p+1):[];return y?w.reverse():w}function d(f,p,m){const y=Math.abs(p-f)/m,v=Mk(([,,j])=>j).right(o,y);if(v===o.length)return e.every(fj(f/jS,p/jS,m));if(v===0)return vy.every(Math.max(fj(f,p,m),1));const[w,S]=o[y/o[v-1][2]<o[v][2]/y?v-1:v];return w.every(S)}return[u,d]}const[vye,xye]=p6(fs,tC,Wv,h6,Jk,Qk),[bye,wye]=p6(ds,eC,Yv,Oh,Xk,Wk);function NS(e){if(0<=e.y&&e.y<100){var t=new Date(-1,e.m,e.d,e.H,e.M,e.S,e.L);return t.setFullYear(e.y),t}return new Date(e.y,e.m,e.d,e.H,e.M,e.S,e.L)}function kS(e){if(0<=e.y&&e.y<100){var t=new Date(Date.UTC(-1,e.m,e.d,e.H,e.M,e.S,e.L));return t.setUTCFullYear(e.y),t}return new Date(Date.UTC(e.y,e.m,e.d,e.H,e.M,e.S,e.L))}function uf(e,t,n){return{y:e,m:t,d:n,H:0,M:0,S:0,L:0}}function Sye(e){var t=e.dateTime,n=e.date,r=e.time,i=e.periods,a=e.days,o=e.shortDays,u=e.months,d=e.shortMonths,f=df(i),p=ff(i),m=df(a),y=ff(a),v=df(o),w=ff(o),S=df(u),j=ff(u),k=df(d),O=ff(d),_={a:X,A:pe,b:Ne,B:R,c:null,d:HD,e:HD,f:Hye,g:tve,G:rve,H:Fye,I:qye,j:Kye,L:m6,m:Gye,M:Vye,p:B,q:F,Q:ZD,s:YD,S:Zye,u:Yye,U:Wye,V:Qye,w:Xye,W:Jye,x:null,X:null,y:eve,Y:nve,Z:ive,"%":VD},C={a:M,A:W,b:ae,B:ne,c:null,d:GD,e:GD,f:lve,g:vve,G:bve,H:ave,I:sve,j:ove,L:y6,m:cve,M:uve,p:de,q:Ce,Q:ZD,s:YD,S:dve,u:fve,U:hve,V:pve,w:mve,W:gve,x:null,X:null,y:yve,Y:xve,Z:wve,"%":VD},T={a:q,A:$,b:U,B:G,c:te,d:qD,e:qD,f:Lye,g:FD,G:UD,H:KD,I:KD,j:Rye,L:Iye,m:Pye,M:Dye,p:I,q:Tye,Q:Bye,s:Uye,S:Mye,u:_ye,U:Aye,V:Oye,w:Cye,W:Eye,x:Z,X:K,y:FD,Y:UD,Z:zye,"%":$ye};_.x=E(n,_),_.X=E(r,_),_.c=E(t,_),C.x=E(n,C),C.X=E(r,C),C.c=E(t,C);function E(ee,fe){return function(ze){var Q=[],He=-1,Me=0,it=ee.length,tt,Pt,Ft;for(ze instanceof Date||(ze=new Date(+ze));++He<it;)ee.charCodeAt(He)===37&&(Q.push(ee.slice(Me,He)),(Pt=BD[tt=ee.charAt(++He)])!=null?tt=ee.charAt(++He):Pt=tt==="e"?" ":"0",(Ft=fe[tt])&&(tt=Ft(ze,Pt)),Q.push(tt),Me=He+1);return Q.push(ee.slice(Me,He)),Q.join("")}}function A(ee,fe){return function(ze){var Q=uf(1900,void 0,1),He=P(Q,ee,ze+="",0),Me,it;if(He!=ze.length)return null;if("Q"in Q)return new Date(Q.Q);if("s"in Q)return new Date(Q.s*1e3+("L"in Q?Q.L:0));if(fe&&!("Z"in Q)&&(Q.Z=0),"p"in Q&&(Q.H=Q.H%12+Q.p*12),Q.m===void 0&&(Q.m="q"in Q?Q.q:0),"V"in Q){if(Q.V<1||Q.V>53)return null;"w"in Q||(Q.w=1),"Z"in Q?(Me=kS(uf(Q.y,0,1)),it=Me.getUTCDay(),Me=it>4||it===0?by.ceil(Me):by(Me),Me=Zv.offset(Me,(Q.V-1)*7),Q.y=Me.getUTCFullYear(),Q.m=Me.getUTCMonth(),Q.d=Me.getUTCDate()+(Q.w+6)%7):(Me=NS(uf(Q.y,0,1)),it=Me.getDay(),Me=it>4||it===0?xy.ceil(Me):xy(Me),Me=Oh.offset(Me,(Q.V-1)*7),Q.y=Me.getFullYear(),Q.m=Me.getMonth(),Q.d=Me.getDate()+(Q.w+6)%7)}else("W"in Q||"U"in Q)&&("w"in Q||(Q.w="u"in Q?Q.u%7:"W"in Q?1:0),it="Z"in Q?kS(uf(Q.y,0,1)).getUTCDay():NS(uf(Q.y,0,1)).getDay(),Q.m=0,Q.d="W"in Q?(Q.w+6)%7+Q.W*7-(it+5)%7:Q.w+Q.U*7-(it+6)%7);return"Z"in Q?(Q.H+=Q.Z/100|0,Q.M+=Q.Z%100,kS(Q)):NS(Q)}}function P(ee,fe,ze,Q){for(var He=0,Me=fe.length,it=ze.length,tt,Pt;He<Me;){if(Q>=it)return-1;if(tt=fe.charCodeAt(He++),tt===37){if(tt=fe.charAt(He++),Pt=T[tt in BD?fe.charAt(He++):tt],!Pt||(Q=Pt(ee,ze,Q))<0)return-1}else if(tt!=ze.charCodeAt(Q++))return-1}return Q}function I(ee,fe,ze){var Q=f.exec(fe.slice(ze));return Q?(ee.p=p.get(Q[0].toLowerCase()),ze+Q[0].length):-1}function q(ee,fe,ze){var Q=v.exec(fe.slice(ze));return Q?(ee.w=w.get(Q[0].toLowerCase()),ze+Q[0].length):-1}function $(ee,fe,ze){var Q=m.exec(fe.slice(ze));return Q?(ee.w=y.get(Q[0].toLowerCase()),ze+Q[0].length):-1}function U(ee,fe,ze){var Q=k.exec(fe.slice(ze));return Q?(ee.m=O.get(Q[0].toLowerCase()),ze+Q[0].length):-1}function G(ee,fe,ze){var Q=S.exec(fe.slice(ze));return Q?(ee.m=j.get(Q[0].toLowerCase()),ze+Q[0].length):-1}function te(ee,fe,ze){return P(ee,t,fe,ze)}function Z(ee,fe,ze){return P(ee,n,fe,ze)}function K(ee,fe,ze){return P(ee,r,fe,ze)}function X(ee){return o[ee.getDay()]}function pe(ee){return a[ee.getDay()]}function Ne(ee){return d[ee.getMonth()]}function R(ee){return u[ee.getMonth()]}function B(ee){return i[+(ee.getHours()>=12)]}function F(ee){return 1+~~(ee.getMonth()/3)}function M(ee){return o[ee.getUTCDay()]}function W(ee){return a[ee.getUTCDay()]}function ae(ee){return d[ee.getUTCMonth()]}function ne(ee){return u[ee.getUTCMonth()]}function de(ee){return i[+(ee.getUTCHours()>=12)]}function Ce(ee){return 1+~~(ee.getUTCMonth()/3)}return{format:function(ee){var fe=E(ee+="",_);return fe.toString=function(){return ee},fe},parse:function(ee){var fe=A(ee+="",!1);return fe.toString=function(){return ee},fe},utcFormat:function(ee){var fe=E(ee+="",C);return fe.toString=function(){return ee},fe},utcParse:function(ee){var fe=A(ee+="",!0);return fe.toString=function(){return ee},fe}}}var BD={"-":"",_:" ",0:"0"},Kn=/^\s*\d+/,jye=/^%/,Nye=/[\\^$*+?|[\]().{}]/g;function _t(e,t,n){var r=e<0?"-":"",i=(r?-e:e)+"",a=i.length;return r+(a<n?new Array(n-a+1).join(t)+i:i)}function kye(e){return e.replace(Nye,"\\$&")}function df(e){return new RegExp("^(?:"+e.map(kye).join("|")+")","i")}function ff(e){return new Map(e.map((t,n)=>[t.toLowerCase(),n]))}function Cye(e,t,n){var r=Kn.exec(t.slice(n,n+1));return r?(e.w=+r[0],n+r[0].length):-1}function _ye(e,t,n){var r=Kn.exec(t.slice(n,n+1));return r?(e.u=+r[0],n+r[0].length):-1}function Aye(e,t,n){var r=Kn.exec(t.slice(n,n+2));return r?(e.U=+r[0],n+r[0].length):-1}function Oye(e,t,n){var r=Kn.exec(t.slice(n,n+2));return r?(e.V=+r[0],n+r[0].length):-1}function Eye(e,t,n){var r=Kn.exec(t.slice(n,n+2));return r?(e.W=+r[0],n+r[0].length):-1}function UD(e,t,n){var r=Kn.exec(t.slice(n,n+4));return r?(e.y=+r[0],n+r[0].length):-1}function FD(e,t,n){var r=Kn.exec(t.slice(n,n+2));return r?(e.y=+r[0]+(+r[0]>68?1900:2e3),n+r[0].length):-1}function zye(e,t,n){var r=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(t.slice(n,n+6));return r?(e.Z=r[1]?0:-(r[2]+(r[3]||"00")),n+r[0].length):-1}function Tye(e,t,n){var r=Kn.exec(t.slice(n,n+1));return r?(e.q=r[0]*3-3,n+r[0].length):-1}function Pye(e,t,n){var r=Kn.exec(t.slice(n,n+2));return r?(e.m=r[0]-1,n+r[0].length):-1}function qD(e,t,n){var r=Kn.exec(t.slice(n,n+2));return r?(e.d=+r[0],n+r[0].length):-1}function Rye(e,t,n){var r=Kn.exec(t.slice(n,n+3));return r?(e.m=0,e.d=+r[0],n+r[0].length):-1}function KD(e,t,n){var r=Kn.exec(t.slice(n,n+2));return r?(e.H=+r[0],n+r[0].length):-1}function Dye(e,t,n){var r=Kn.exec(t.slice(n,n+2));return r?(e.M=+r[0],n+r[0].length):-1}function Mye(e,t,n){var r=Kn.exec(t.slice(n,n+2));return r?(e.S=+r[0],n+r[0].length):-1}function Iye(e,t,n){var r=Kn.exec(t.slice(n,n+3));return r?(e.L=+r[0],n+r[0].length):-1}function Lye(e,t,n){var r=Kn.exec(t.slice(n,n+6));return r?(e.L=Math.floor(r[0]/1e3),n+r[0].length):-1}function $ye(e,t,n){var r=jye.exec(t.slice(n,n+1));return r?n+r[0].length:-1}function Bye(e,t,n){var r=Kn.exec(t.slice(n));return r?(e.Q=+r[0],n+r[0].length):-1}function Uye(e,t,n){var r=Kn.exec(t.slice(n));return r?(e.s=+r[0],n+r[0].length):-1}function HD(e,t){return _t(e.getDate(),t,2)}function Fye(e,t){return _t(e.getHours(),t,2)}function qye(e,t){return _t(e.getHours()%12||12,t,2)}function Kye(e,t){return _t(1+Oh.count(ds(e),e),t,3)}function m6(e,t){return _t(e.getMilliseconds(),t,3)}function Hye(e,t){return m6(e,t)+"000"}function Gye(e,t){return _t(e.getMonth()+1,t,2)}function Vye(e,t){return _t(e.getMinutes(),t,2)}function Zye(e,t){return _t(e.getSeconds(),t,2)}function Yye(e){var t=e.getDay();return t===0?7:t}function Wye(e,t){return _t(Yv.count(ds(e)-1,e),t,2)}function g6(e){var t=e.getDay();return t>=4||t===0?zu(e):zu.ceil(e)}function Qye(e,t){return e=g6(e),_t(zu.count(ds(e),e)+(ds(e).getDay()===4),t,2)}function Xye(e){return e.getDay()}function Jye(e,t){return _t(xy.count(ds(e)-1,e),t,2)}function eve(e,t){return _t(e.getFullYear()%100,t,2)}function tve(e,t){return e=g6(e),_t(e.getFullYear()%100,t,2)}function nve(e,t){return _t(e.getFullYear()%1e4,t,4)}function rve(e,t){var n=e.getDay();return e=n>=4||n===0?zu(e):zu.ceil(e),_t(e.getFullYear()%1e4,t,4)}function ive(e){var t=e.getTimezoneOffset();return(t>0?"-":(t*=-1,"+"))+_t(t/60|0,"0",2)+_t(t%60,"0",2)}function GD(e,t){return _t(e.getUTCDate(),t,2)}function ave(e,t){return _t(e.getUTCHours(),t,2)}function sve(e,t){return _t(e.getUTCHours()%12||12,t,2)}function ove(e,t){return _t(1+Zv.count(fs(e),e),t,3)}function y6(e,t){return _t(e.getUTCMilliseconds(),t,3)}function lve(e,t){return y6(e,t)+"000"}function cve(e,t){return _t(e.getUTCMonth()+1,t,2)}function uve(e,t){return _t(e.getUTCMinutes(),t,2)}function dve(e,t){return _t(e.getUTCSeconds(),t,2)}function fve(e){var t=e.getUTCDay();return t===0?7:t}function hve(e,t){return _t(Wv.count(fs(e)-1,e),t,2)}function v6(e){var t=e.getUTCDay();return t>=4||t===0?Tu(e):Tu.ceil(e)}function pve(e,t){return e=v6(e),_t(Tu.count(fs(e),e)+(fs(e).getUTCDay()===4),t,2)}function mve(e){return e.getUTCDay()}function gve(e,t){return _t(by.count(fs(e)-1,e),t,2)}function yve(e,t){return _t(e.getUTCFullYear()%100,t,2)}function vve(e,t){return e=v6(e),_t(e.getUTCFullYear()%100,t,2)}function xve(e,t){return _t(e.getUTCFullYear()%1e4,t,4)}function bve(e,t){var n=e.getUTCDay();return e=n>=4||n===0?Tu(e):Tu.ceil(e),_t(e.getUTCFullYear()%1e4,t,4)}function wve(){return"+0000"}function VD(){return"%"}function ZD(e){return+e}function YD(e){return Math.floor(+e/1e3)}var Gc,x6,b6;Sve({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});function Sve(e){return Gc=Sye(e),x6=Gc.format,Gc.parse,b6=Gc.utcFormat,Gc.utcParse,Gc}function jve(e){return new Date(e)}function Nve(e){return e instanceof Date?+e:+new Date(+e)}function nC(e,t,n,r,i,a,o,u,d,f){var p=Fk(),m=p.invert,y=p.domain,v=f(".%L"),w=f(":%S"),S=f("%I:%M"),j=f("%I %p"),k=f("%a %d"),O=f("%b %d"),_=f("%B"),C=f("%Y");function T(E){return(d(E)<E?v:u(E)<E?w:o(E)<E?S:a(E)<E?j:r(E)<E?i(E)<E?k:O:n(E)<E?_:C)(E)}return p.invert=function(E){return new Date(m(E))},p.domain=function(E){return arguments.length?y(Array.from(E,Nve)):y().map(jve)},p.ticks=function(E){var A=y();return e(A[0],A[A.length-1],E??10)},p.tickFormat=function(E,A){return A==null?T:f(A)},p.nice=function(E){var A=y();return(!E||typeof E.range!="function")&&(E=t(A[0],A[A.length-1],E??10)),E?y(s6(A,E)):p},p.copy=function(){return Ah(p,nC(e,t,n,r,i,a,o,u,d,f))},p}function kve(){return Ri.apply(nC(bye,wye,ds,eC,Yv,Oh,Xk,Wk,yl,x6).domain([new Date(2e3,0,1),new Date(2e3,0,2)]),arguments)}function Cve(){return Ri.apply(nC(vye,xye,fs,tC,Wv,Zv,Jk,Qk,yl,b6).domain([Date.UTC(2e3,0,1),Date.UTC(2e3,0,2)]),arguments)}function Qv(){var e=0,t=1,n,r,i,a,o=mr,u=!1,d;function f(m){return m==null||isNaN(m=+m)?d:o(i===0?.5:(m=(a(m)-n)*i,u?Math.max(0,Math.min(1,m)):m))}f.domain=function(m){return arguments.length?([e,t]=m,n=a(e=+e),r=a(t=+t),i=n===r?0:1/(r-n),f):[e,t]},f.clamp=function(m){return arguments.length?(u=!!m,f):u},f.interpolator=function(m){return arguments.length?(o=m,f):o};function p(m){return function(y){var v,w;return arguments.length?([v,w]=y,o=m(v,w),f):[o(0),o(1)]}}return f.range=p(Qu),f.rangeRound=p(Uk),f.unknown=function(m){return arguments.length?(d=m,f):d},function(m){return a=m,n=m(e),r=m(t),i=n===r?0:1/(r-n),f}}function Oo(e,t){return t.domain(e.domain()).interpolator(e.interpolator()).clamp(e.clamp()).unknown(e.unknown())}function w6(){var e=Ao(Qv()(mr));return e.copy=function(){return Oo(e,w6())},ys.apply(e,arguments)}function S6(){var e=Hk(Qv()).domain([1,10]);return e.copy=function(){return Oo(e,S6()).base(e.base())},ys.apply(e,arguments)}function j6(){var e=Gk(Qv());return e.copy=function(){return Oo(e,j6()).constant(e.constant())},ys.apply(e,arguments)}function rC(){var e=Vk(Qv());return e.copy=function(){return Oo(e,rC()).exponent(e.exponent())},ys.apply(e,arguments)}function _ve(){return rC.apply(null,arguments).exponent(.5)}function N6(){var e=[],t=mr;function n(r){if(r!=null&&!isNaN(r=+r))return t((Ch(e,r,1)-1)/(e.length-1))}return n.domain=function(r){if(!arguments.length)return e.slice();e=[];for(let i of r)i!=null&&!isNaN(i=+i)&&e.push(i);return e.sort(po),n},n.interpolator=function(r){return arguments.length?(t=r,n):t},n.range=function(){return e.map((r,i)=>t(i/(e.length-1)))},n.quantiles=function(r){return Array.from({length:r+1},(i,a)=>fge(e,a/r))},n.copy=function(){return N6(t).domain(e)},ys.apply(n,arguments)}function Xv(){var e=0,t=.5,n=1,r=1,i,a,o,u,d,f=mr,p,m=!1,y;function v(S){return isNaN(S=+S)?y:(S=.5+((S=+p(S))-a)*(r*S<r*a?u:d),f(m?Math.max(0,Math.min(1,S)):S))}v.domain=function(S){return arguments.length?([e,t,n]=S,i=p(e=+e),a=p(t=+t),o=p(n=+n),u=i===a?0:.5/(a-i),d=a===o?0:.5/(o-a),r=a<i?-1:1,v):[e,t,n]},v.clamp=function(S){return arguments.length?(m=!!S,v):m},v.interpolator=function(S){return arguments.length?(f=S,v):f};function w(S){return function(j){var k,O,_;return arguments.length?([k,O,_]=j,f=$ge(S,[k,O,_]),v):[f(0),f(.5),f(1)]}}return v.range=w(Qu),v.rangeRound=w(Uk),v.unknown=function(S){return arguments.length?(y=S,v):y},function(S){return p=S,i=S(e),a=S(t),o=S(n),u=i===a?0:.5/(a-i),d=a===o?0:.5/(o-a),r=a<i?-1:1,v}}function k6(){var e=Ao(Xv()(mr));return e.copy=function(){return Oo(e,k6())},ys.apply(e,arguments)}function C6(){var e=Hk(Xv()).domain([.1,1,10]);return e.copy=function(){return Oo(e,C6()).base(e.base())},ys.apply(e,arguments)}function _6(){var e=Gk(Xv());return e.copy=function(){return Oo(e,_6()).constant(e.constant())},ys.apply(e,arguments)}function iC(){var e=Vk(Xv());return e.copy=function(){return Oo(e,iC()).exponent(e.exponent())},ys.apply(e,arguments)}function Ave(){return iC.apply(null,arguments).exponent(.5)}const A6=Object.freeze(Object.defineProperty({__proto__:null,scaleBand:Lk,scaleDiverging:k6,scaleDivergingLog:C6,scaleDivergingPow:iC,scaleDivergingSqrt:Ave,scaleDivergingSymlog:_6,scaleIdentity:a6,scaleImplicit:hj,scaleLinear:i6,scaleLog:o6,scaleOrdinal:Ik,scalePoint:mge,scalePow:Zk,scaleQuantile:u6,scaleQuantize:d6,scaleRadial:c6,scaleSequential:w6,scaleSequentialLog:S6,scaleSequentialPow:rC,scaleSequentialQuantile:N6,scaleSequentialSqrt:_ve,scaleSequentialSymlog:j6,scaleSqrt:lye,scaleSymlog:l6,scaleThreshold:f6,scaleTime:kve,scaleUtc:Cve,tickFormat:r6},Symbol.toStringTag,{value:"Module"}));function Ove(e){var t=A6;if(e in t&&typeof t[e]=="function")return t[e]();var n="scale".concat(yh(e));if(n in t&&typeof t[n]=="function")return t[n]()}function WD(e,t,n){if(typeof e=="function")return e.copy().domain(t).range(n);if(e!=null){var r=Ove(e);if(r!=null)return r.domain(t).range(n),r}}function aC(e,t,n,r){if(!(n==null||r==null))return typeof e.scale=="function"?WD(e.scale,n,r):WD(t,n,r)}function Eve(e){return"scale".concat(yh(e))}function zve(e){return Eve(e)in A6}var O6=(e,t,n)=>{if(e!=null){var{scale:r,type:i}=e;if(r==="auto")return i==="category"&&n&&(n.indexOf("LineChart")>=0||n.indexOf("AreaChart")>=0||n.indexOf("ComposedChart")>=0&&!t)?"point":i==="category"?"band":"linear";if(typeof r=="string")return zve(r)?r:"point"}};function Tve(e,t){for(var n=0,r=e.length,i=e[0]<e[e.length-1];n<r;){var a=Math.floor((n+r)/2);(i?e[a]<t:e[a]>t)?n=a+1:r=a}return n}function E6(e,t){if(e){var n=t??e.domain(),r=n.map(a=>{var o;return(o=e(a))!==null&&o!==void 0?o:0}),i=e.range();if(!(n.length===0||i.length<2))return a=>{var o,u,d=Tve(r,a);if(d<=0)return n[0];if(d>=n.length)return n[n.length-1];var f=(o=r[d-1])!==null&&o!==void 0?o:0,p=(u=r[d])!==null&&u!==void 0?u:0;return Math.abs(a-f)<=Math.abs(a-p)?n[d-1]:n[d]}}}function Pve(e){if(e!=null)return"invert"in e&&typeof e.invert=="function"?e.invert.bind(e):E6(e,void 0)}function QD(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function wy(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?QD(Object(n),!0).forEach(function(r){Rve(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):QD(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function Rve(e,t,n){return(t=Dve(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Dve(e){var t=Mve(e,"string");return typeof t=="symbol"?t:t+""}function Mve(e,t){if(typeof e!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}var yj=[0,"auto"],Rn={allowDataOverflow:!1,allowDecimals:!0,allowDuplicatedCategory:!0,angle:0,dataKey:void 0,domain:void 0,height:30,hide:!0,id:0,includeHidden:!1,interval:"preserveEnd",minTickGap:5,mirror:!1,name:void 0,orientation:"bottom",padding:{left:0,right:0},reversed:!1,scale:"auto",tick:!0,tickCount:5,tickFormatter:void 0,ticks:void 0,type:"category",unit:void 0,niceTicks:"auto"},z6=(e,t)=>e.cartesianAxis.xAxis[t],Oa=(e,t)=>{var n=z6(e,t);return n??Rn},Dn={allowDataOverflow:!1,allowDecimals:!0,allowDuplicatedCategory:!0,angle:0,dataKey:void 0,domain:yj,hide:!0,id:0,includeHidden:!1,interval:"preserveEnd",minTickGap:5,mirror:!1,name:void 0,orientation:"left",padding:{top:0,bottom:0},reversed:!1,scale:"auto",tick:!0,tickCount:5,tickFormatter:void 0,ticks:void 0,type:"number",unit:void 0,niceTicks:"auto",width:bh},T6=(e,t)=>e.cartesianAxis.yAxis[t],Ea=(e,t)=>{var n=T6(e,t);return n??Dn},Ive={domain:[0,"auto"],includeHidden:!1,reversed:!1,allowDataOverflow:!1,allowDuplicatedCategory:!1,dataKey:void 0,id:0,name:"",range:[64,64],scale:"auto",type:"number",unit:""},sC=(e,t)=>{var n=e.cartesianAxis.zAxis[t];return n??Ive},wr=(e,t,n)=>{switch(t){case"xAxis":return Oa(e,n);case"yAxis":return Ea(e,n);case"zAxis":return sC(e,n);case"angleAxis":return Ek(e,n);case"radiusAxis":return zk(e,n);default:throw new Error("Unexpected axis type: ".concat(t))}},Lve=(e,t,n)=>{switch(t){case"xAxis":return Oa(e,n);case"yAxis":return Ea(e,n);default:throw new Error("Unexpected axis type: ".concat(t))}},Eh=(e,t,n)=>{switch(t){case"xAxis":return Oa(e,n);case"yAxis":return Ea(e,n);case"angleAxis":return Ek(e,n);case"radiusAxis":return zk(e,n);default:throw new Error("Unexpected axis type: ".concat(t))}},P6=e=>e.graphicalItems.cartesianItems.some(t=>t.type==="bar")||e.graphicalItems.polarItems.some(t=>t.type==="radialBar");function R6(e,t){return n=>{switch(e){case"xAxis":return"xAxisId"in n&&n.xAxisId===t;case"yAxis":return"yAxisId"in n&&n.yAxisId===t;case"zAxis":return"zAxisId"in n&&n.zAxisId===t;case"angleAxis":return"angleAxisId"in n&&n.angleAxisId===t;case"radiusAxis":return"radiusAxisId"in n&&n.radiusAxisId===t;default:return!1}}}var D6=e=>e.graphicalItems.cartesianItems,$ve=oe([Fn,Kv],R6),M6=(e,t,n)=>e.filter(n).filter(r=>t?.includeHidden===!0?!0:!r.hide),Xu=oe([D6,wr,$ve],M6,{memoizeOptions:{resultEqualityCheck:Gv}}),I6=oe([Xu],e=>e.filter(t=>t.type==="area"||t.type==="bar").filter(Rk)),L6=e=>e.filter(t=>!("stackId"in t)||t.stackId===void 0),Bve=oe([Xu],L6),$6=e=>e.map(t=>t.data).filter(Boolean).flat(1),Uve=oe([Xu],e=>e.some(t=>!t.data)),B6=oe([Xu],$6,{memoizeOptions:{resultEqualityCheck:Gv}}),U6=(e,t)=>{var{chartData:n=[],dataStartIndex:r,dataEndIndex:i}=t;return e.length>0?e:n.slice(r,i+1)},oC=oe([B6,$v],U6),Fve=(e,t,n)=>t?.dataKey!=null?e.map(r=>({value:Un(r,t.dataKey)})):n.length>0?n.map(r=>r.dataKey).flatMap(r=>e.map(i=>({value:Un(i,r)}))):e.map(r=>({value:r})),F6=(e,t,n,r,i,a)=>{var{chartData:o=[],dataStartIndex:u,dataEndIndex:d}=r,f=Fve(e,t,n);if(i&&t?.dataKey!=null&&a.length>0){var p=o.slice(u,d+1),m=p.map(y=>({value:Un(y,t.dataKey)})).filter(y=>y.value!=null);return[...m,...f]}return f},zh=oe([oC,wr,Xu,$v,Uve,B6],F6);function vu(e){if(Oi(e)||e instanceof Date){var t=Number(e);if(rt(t))return t}}function XD(e){if(Array.isArray(e)){var t=[vu(e[0]),vu(e[1])];return va(t)?t:void 0}var n=vu(e);if(n!=null)return[n,n]}function Ca(e){return e.map(vu).filter(Tr)}function qve(e,t){var n=vu(e),r=vu(t);return n==null&&r==null?0:n==null?-1:r==null?1:n-r}var Kve=oe([zh],e=>e?.map(t=>t.value).sort(qve));function q6(e,t){switch(e){case"xAxis":return t.direction==="x";case"yAxis":return t.direction==="y";default:return!1}}function Hve(e,t,n){if(!n)return[];if(!n.length)return[];var r;if(typeof t=="number"&&!ja(t))r=t;else if(Array.isArray(t)){var i=Ca(t);i.length>0&&(r=Math.max(...i))}return r==null?[]:Ca(n.flatMap(a=>{var o=Un(e,a.dataKey),u,d;if(Array.isArray(o)?[u,d]=o:u=d=o,!(!rt(u)||!rt(d)))return[r-u,r+d]}))}var Ln=e=>{var t=qn(e),n=Wu(e);return Eh(e,t,n)},Pu=oe([Ln],e=>e?.dataKey),Gve=oe([I6,$v,Ln],ZB),K6=(e,t,n,r)=>{var i={},a=t.reduce((o,u)=>{if(u.stackId==null)return o;var d=o[u.stackId];return d==null&&(d=[]),d.push(u),o[u.stackId]=d,o},i);return Object.fromEntries(Object.entries(a).map(o=>{var[u,d]=o,f=r?[...d].reverse():d,p=f.map(Pk);return[u,{stackedData:kfe(e,p,n),graphicalItems:f}]}))},H6=oe([Gve,I6,Bv,UB],K6),G6=(e,t,n,r)=>{var{dataStartIndex:i,dataEndIndex:a}=t;if(r==null&&n!=="zAxis"){var o=Ofe(e,i,a);if(!(o!=null&&o[0]===0&&o[1]===0))return o}},Vve=oe([wr],e=>e.allowDataOverflow),lC=e=>{var t;if(e==null||!("domain"in e))return yj;if(e.domain!=null)return e.domain;if("ticks"in e&&e.ticks!=null){if(e.type==="number"){var n=Ca(e.ticks);return[Math.min(...n),Math.max(...n)]}if(e.type==="category")return e.ticks.map(String)}return(t=e?.domain)!==null&&t!==void 0?t:yj},V6=oe([wr],lC),Z6=oe([V6,Vve],EB),Zve=oe([H6,ta,Fn,Z6],G6,{memoizeOptions:{resultEqualityCheck:Hv}}),cC=e=>e.errorBars,Yve=(e,t,n)=>e.flatMap(r=>t[r.id]).filter(Boolean).filter(r=>q6(n,r)),Sy=function(){for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];var i=n.filter(Boolean);if(i.length!==0){var a=i.flat(),o=Math.min(...a),u=Math.max(...a);return[o,u]}},Y6=function(t,n,r,i,a){var o=arguments.length>5&&arguments[5]!==void 0?arguments[5]:[],u,d;if(r.length>0&&r.forEach(f=>{var p,m=f.data!=null?[...f.data]:o,y=(p=i[f.id])===null||p===void 0?void 0:p.filter(v=>q6(a,v));m.forEach(v=>{var w,S=Un(v,(w=n.dataKey)!==null&&w!==void 0?w:f.dataKey),j=Hve(v,S,y);if(j.length>=2){var k=Math.min(...j),O=Math.max(...j);(u==null||k<u)&&(u=k),(d==null||O>d)&&(d=O)}var _=XD(S);_!=null&&(u=u==null?_[0]:Math.min(u,_[0]),d=d==null?_[1]:Math.max(d,_[1]))})}),n?.dataKey!=null&&r.length===0&&t.forEach(f=>{var p=XD(Un(f,n.dataKey));p!=null&&(u=u==null?p[0]:Math.min(u,p[0]),d=d==null?p[1]:Math.max(d,p[1]))}),rt(u)&&rt(d))return[u,d]},Wve=oe([oC,wr,Bve,cC,Fn,Lme],Y6,{memoizeOptions:{resultEqualityCheck:Hv}});function Qve(e){var{value:t}=e;if(Oi(t)||t instanceof Date)return t}var Xve=(e,t,n)=>{var r=e.map(Qve).filter(i=>i!=null);return n&&(t.dataKey==null||t.allowDuplicatedCategory&&a3(r))?OB(0,e.length):t.allowDuplicatedCategory?r:Array.from(new Set(r))},W6=e=>e.referenceElements.dots,Ju=(e,t,n)=>e.filter(r=>r.ifOverflow==="extendDomain").filter(r=>t==="xAxis"?r.xAxisId===n:r.yAxisId===n),Jve=oe([W6,Fn,Kv],Ju),Q6=e=>e.referenceElements.areas,e0e=oe([Q6,Fn,Kv],Ju),X6=e=>e.referenceElements.lines,t0e=oe([X6,Fn,Kv],Ju),J6=(e,t)=>{if(e!=null){var n=Ca(e.map(r=>t==="xAxis"?r.x:r.y));if(n.length!==0)return[Math.min(...n),Math.max(...n)]}},n0e=oe(Jve,Fn,J6),eU=(e,t)=>{if(e!=null){var n=Ca(e.flatMap(r=>[t==="xAxis"?r.x1:r.y1,t==="xAxis"?r.x2:r.y2]));if(n.length!==0)return[Math.min(...n),Math.max(...n)]}},r0e=oe([e0e,Fn],eU);function i0e(e){var t;if(e.x!=null)return Ca([e.x]);var n=(t=e.segment)===null||t===void 0?void 0:t.map(r=>r.x);return n==null||n.length===0?[]:Ca(n)}function a0e(e){var t;if(e.y!=null)return Ca([e.y]);var n=(t=e.segment)===null||t===void 0?void 0:t.map(r=>r.y);return n==null||n.length===0?[]:Ca(n)}var tU=(e,t)=>{if(e!=null){var n=e.flatMap(r=>t==="xAxis"?i0e(r):a0e(r));if(n.length!==0)return[Math.min(...n),Math.max(...n)]}},s0e=oe([t0e,Fn],tU),o0e=oe(n0e,s0e,r0e,(e,t,n)=>Sy(e,n,t)),nU=(e,t,n,r,i,a,o,u)=>{if(n!=null)return n;var d=o==="vertical"&&u==="xAxis"||o==="horizontal"&&u==="yAxis",f=d?Sy(r,a,i):Sy(a,i);return Bme(t,f,e.allowDataOverflow)},l0e=oe([wr,V6,Z6,Zve,Wve,o0e,sn,Fn],nU,{memoizeOptions:{resultEqualityCheck:Hv}}),c0e=[0,1],rU=(e,t,n,r,i,a,o)=>{if(!((e==null||n==null||n.length===0)&&o===void 0)){var{dataKey:u,type:d}=e,f=Aa(t,a);if(f&&u==null){var p;return OB(0,(p=n?.length)!==null&&p!==void 0?p:0)}return d==="category"?Xve(r,e,f):i==="expand"&&!f?c0e:o}},uC=oe([wr,sn,oC,zh,Bv,Fn,l0e],rU),ed=oe([wr,P6,_k],O6),iU=(e,t,n)=>{var{niceTicks:r}=t;if(r!=="none"){var i=lC(t),a=Array.isArray(i)&&(i[0]==="auto"||i[1]==="auto");if((r==="snap125"||r==="adaptive")&&t!=null&&t.tickCount&&va(e)){if(a)return lD(e,t.tickCount,t.allowDecimals,r);if(t.type==="number")return cD(e,t.tickCount,t.allowDecimals,r)}if(r==="auto"&&n==="linear"&&t!=null&&t.tickCount){if(a&&va(e))return lD(e,t.tickCount,t.allowDecimals,"adaptive");if(t.type==="number"&&va(e))return cD(e,t.tickCount,t.allowDecimals,"adaptive")}}},dC=oe([uC,Eh,ed],iU),aU=(e,t,n,r)=>{if(r!=="angleAxis"&&e?.type==="number"&&va(t)&&Array.isArray(n)&&n.length>0){var i,a,o=t[0],u=(i=n[0])!==null&&i!==void 0?i:0,d=t[1],f=(a=n[n.length-1])!==null&&a!==void 0?a:0;return[Math.min(o,u),Math.max(d,f)]}return t},u0e=oe([wr,uC,dC,Fn],aU),d0e=oe(zh,wr,(e,t)=>{if(!(!t||t.type!=="number")){var n=1/0,r=Array.from(Ca(e.map(m=>m.value))).sort((m,y)=>m-y),i=r[0],a=r[r.length-1];if(i==null||a==null)return 1/0;var o=a-i;if(o===0)return 1/0;for(var u=0;u<r.length-1;u++){var d=r[u],f=r[u+1];if(!(d==null||f==null)){var p=f-d;n=Math.min(n,p)}}return n/o}}),sU=oe(d0e,sn,Hme,er,(e,t,n,r,i)=>i,(e,t,n,r,i)=>{if(!rt(e))return 0;var a=t==="vertical"?r.height:r.width;if(i==="gap")return e*a/2;if(i==="no-gap"){var o=bo(n,e*a),u=e*a/2;return u-o-(u-o)/a*o}return 0}),f0e=(e,t,n)=>{var r=Oa(e,t);return r==null||typeof r.padding!="string"?0:sU(e,"xAxis",t,n,r.padding)},h0e=(e,t,n)=>{var r=Ea(e,t);return r==null||typeof r.padding!="string"?0:sU(e,"yAxis",t,n,r.padding)},p0e=oe(Oa,f0e,(e,t)=>{var n,r;if(e==null)return{left:0,right:0};var{padding:i}=e;return typeof i=="string"?{left:t,right:t}:{left:((n=i.left)!==null&&n!==void 0?n:0)+t,right:((r=i.right)!==null&&r!==void 0?r:0)+t}}),m0e=oe(Ea,h0e,(e,t)=>{var n,r;if(e==null)return{top:0,bottom:0};var{padding:i}=e;return typeof i=="string"?{top:t,bottom:t}:{top:((n=i.top)!==null&&n!==void 0?n:0)+t,bottom:((r=i.bottom)!==null&&r!==void 0?r:0)+t}}),g0e=oe([er,p0e,Dv,Rv,(e,t,n)=>n],(e,t,n,r,i)=>{var{padding:a}=r;return i?[a.left,n.width-a.right]:[e.left+t.left,e.left+e.width-t.right]}),y0e=oe([er,sn,m0e,Dv,Rv,(e,t,n)=>n],(e,t,n,r,i,a)=>{var{padding:o}=i;return a?[r.height-o.bottom,o.top]:t==="horizontal"?[e.top+e.height-n.bottom,e.top+n.top]:[e.top+n.top,e.top+e.height-n.bottom]}),Th=(e,t,n,r)=>{var i;switch(t){case"xAxis":return g0e(e,n,r);case"yAxis":return y0e(e,n,r);case"zAxis":return(i=sC(e,n))===null||i===void 0?void 0:i.range;case"angleAxis":return HB(e);case"radiusAxis":return GB(e,n);default:return}},oU=oe([wr,Th],Uv),v0e=oe([ed,u0e],ege),fC=oe([wr,ed,v0e,oU],aC),lU=(e,t,n,r)=>{if(!(n==null||n.dataKey==null)){var{type:i,scale:a}=n,o=Aa(e,r);if(o&&(i==="number"||a!=="auto"))return t.map(u=>u.value)}},hC=oe([sn,zh,Eh,Fn],lU),Ru=oe([fC],Dk);oe([fC],Pve);oe([fC,Kve],E6);oe([Xu,cC,Fn],Yve);function cU(e,t){return e.id<t.id?-1:e.id>t.id?1:0}var Jv=(e,t)=>t,e0=(e,t,n)=>n,x0e=oe(Tv,Jv,e0,(e,t,n)=>e.filter(r=>r.orientation===t).filter(r=>r.mirror===n).sort(cU)),b0e=oe(Pv,Jv,e0,(e,t,n)=>e.filter(r=>r.orientation===t).filter(r=>r.mirror===n).sort(cU)),uU=(e,t)=>({width:e.width,height:t.height}),w0e=(e,t)=>{var n=typeof t.width=="number"?t.width:bh;return{width:n,height:e.height}},S0e=oe(er,Oa,uU),j0e=(e,t,n)=>{switch(t){case"top":return e.top;case"bottom":return n-e.bottom;default:return 0}},N0e=(e,t,n)=>{switch(t){case"left":return e.left;case"right":return n-e.right;default:return 0}},k0e=oe(gs,er,x0e,Jv,e0,(e,t,n,r,i)=>{var a={},o;return n.forEach(u=>{var d=uU(t,u);o==null&&(o=j0e(t,r,e));var f=r==="top"&&!i||r==="bottom"&&i;a[u.id]=o-Number(f)*d.height,o+=(f?-1:1)*d.height}),a}),C0e=oe(ms,er,b0e,Jv,e0,(e,t,n,r,i)=>{var a={},o;return n.forEach(u=>{var d=w0e(t,u);o==null&&(o=N0e(t,r,e));var f=r==="left"&&!i||r==="right"&&i;a[u.id]=o-Number(f)*d.width,o+=(f?-1:1)*d.width}),a}),_0e=(e,t)=>{var n=Oa(e,t);if(n!=null)return k0e(e,n.orientation,n.mirror)},A0e=oe([er,Oa,_0e,(e,t)=>t],(e,t,n,r)=>{if(t!=null){var i=n?.[r];return i==null?{x:e.left,y:0}:{x:e.left,y:i}}}),O0e=(e,t)=>{var n=Ea(e,t);if(n!=null)return C0e(e,n.orientation,n.mirror)},E0e=oe([er,Ea,O0e,(e,t)=>t],(e,t,n,r)=>{if(t!=null){var i=n?.[r];return i==null?{x:0,y:e.top}:{x:i,y:e.top}}}),z0e=oe(er,Ea,(e,t)=>{var n=typeof t.width=="number"?t.width:bh;return{width:n,height:e.height}}),dU=(e,t,n,r)=>{if(n!=null){var{allowDuplicatedCategory:i,type:a,dataKey:o}=n,u=Aa(e,r),d=t.map(p=>p.value),f=d.filter(p=>p!=null);if(o&&u&&a==="category"&&i&&a3(f))return d}},pC=oe([sn,zh,wr,Fn],dU),JD=oe([sn,Lve,ed,Ru,pC,hC,Th,dC,Fn],(e,t,n,r,i,a,o,u,d)=>{if(t!=null){var f=Aa(e,d);return{angle:t.angle,interval:t.interval,minTickGap:t.minTickGap,orientation:t.orientation,tick:t.tick,tickCount:t.tickCount,tickFormatter:t.tickFormatter,ticks:t.ticks,type:t.type,unit:t.unit,axisType:d,categoricalDomain:a,duplicateDomain:i,isCategorical:f,niceTicks:u,range:o,realScaleType:n,scale:r}}}),T0e=(e,t,n,r,i,a,o,u,d)=>{if(!(t==null||r==null)){var f=Aa(e,d),{type:p,ticks:m,tickCount:y}=t,v=n==="scaleBand"&&typeof r.bandwidth=="function"?r.bandwidth()/2:2,w=p==="category"&&r.bandwidth?r.bandwidth()/v:0;w=d==="angleAxis"&&a!=null&&a.length>=2?Si(a[0]-a[1])*2*w:w;var S=m||i;return S?S.map((j,k)=>{var O=o?o.indexOf(j):j,_=r.map(O);return rt(_)?{index:k,coordinate:_+w,value:j,offset:w}:null}).filter(Tr):f&&u?u.map((j,k)=>{var O=r.map(j);return rt(O)?{coordinate:O+w,value:j,index:k,offset:w}:null}).filter(Tr):r.ticks?r.ticks(y).map((j,k)=>{var O=r.map(j);return rt(O)?{coordinate:O+w,value:j,index:k,offset:w}:null}).filter(Tr):r.domain().map((j,k)=>{var O=r.map(j);return rt(O)?{coordinate:O+w,value:o?o[j]:j,index:k,offset:w}:null}).filter(Tr)}},fU=oe([sn,Eh,ed,Ru,dC,Th,pC,hC,Fn],T0e),P0e=(e,t,n,r,i,a,o)=>{if(!(t==null||n==null||r==null||r[0]===r[1])){var u=Aa(e,o),{tickCount:d}=t,f=0;return f=o==="angleAxis"&&r?.length>=2?Si(r[0]-r[1])*2*f:f,u&&a?a.map((p,m)=>{var y=n.map(p);return rt(y)?{coordinate:y+f,value:p,index:m,offset:f}:null}).filter(Tr):n.ticks?n.ticks(d).map((p,m)=>{var y=n.map(p);return rt(y)?{coordinate:y+f,value:p,index:m,offset:f}:null}).filter(Tr):n.domain().map((p,m)=>{var y=n.map(p);return rt(y)?{coordinate:y+f,value:i?i[p]:p,index:m,offset:f}:null}).filter(Tr)}},hU=oe([sn,Eh,Ru,Th,pC,hC,Fn],P0e),pU=oe(wr,Ru,(e,t)=>{if(!(e==null||t==null))return wy(wy({},e),{},{scale:t})}),R0e=oe([wr,ed,uC,oU],aC),D0e=oe([R0e],Dk);oe((e,t,n)=>sC(e,n),D0e,(e,t)=>{if(!(e==null||t==null))return wy(wy({},e),{},{scale:t})});var M0e=oe([sn,Tv,Pv],(e,t,n)=>{switch(e){case"horizontal":return t.some(r=>r.reversed)?"right-to-left":"left-to-right";case"vertical":return n.some(r=>r.reversed)?"bottom-to-top":"top-to-bottom";case"centric":case"radial":return"left-to-right";default:return}}),I0e=(e,t,n)=>{var r;return(r=e.renderedTicks[t])===null||r===void 0?void 0:r[n]};oe([I0e],e=>{if(!(!e||e.length===0))return t=>{var n,r=1/0,i=e[0];for(var a of e){var o=Math.abs(a.coordinate-t);o<r&&(r=o,i=a)}return(n=i)===null||n===void 0?void 0:n.value}});var mU=e=>e.options.defaultTooltipEventType,gU=e=>e.options.validateTooltipEventTypes;function yU(e,t,n){if(e==null)return t;var r=e?"axis":"item";return n==null?t:n.includes(r)?r:t}function Ph(e,t){var n=mU(e),r=gU(e);return yU(t,n,r)}function L0e(e){return Ke(t=>Ph(t,e))}var vU=(e,t)=>{var n,r=Number(t);if(!(ja(r)||t==null))return r>=0?e==null||(n=e[r])===null||n===void 0?void 0:n.value:void 0},$0e=e=>e.tooltip.settings,eo={active:!1,index:null,dataKey:void 0,graphicalItemId:void 0,coordinate:void 0},B0e={itemInteraction:{click:eo,hover:eo},axisInteraction:{click:eo,hover:eo},keyboardInteraction:eo,syncInteraction:{active:!1,index:null,dataKey:void 0,label:void 0,coordinate:void 0,sourceViewBox:void 0,graphicalItemId:void 0},tooltipItemPayloads:[],settings:{shared:void 0,trigger:"hover",axisId:0,active:!1,defaultIndex:void 0}},xU=ur({name:"tooltip",initialState:B0e,reducers:{addTooltipEntrySettings:{reducer(e,t){e.tooltipItemPayloads.push(t.payload)},prepare:Xt()},replaceTooltipEntrySettings:{reducer(e,t){var{prev:n,next:r}=t.payload,i=ji(e).tooltipItemPayloads.indexOf(n);i>-1&&(e.tooltipItemPayloads[i]=r)},prepare:Xt()},removeTooltipEntrySettings:{reducer(e,t){var n=ji(e).tooltipItemPayloads.indexOf(t.payload);n>-1&&e.tooltipItemPayloads.splice(n,1)},prepare:Xt()},setTooltipSettingsState(e,t){e.settings=t.payload},setActiveMouseOverItemIndex(e,t){e.syncInteraction.active=!1,e.syncInteraction.sourceViewBox=void 0,e.keyboardInteraction.active=!1,e.itemInteraction.hover.active=!0,e.itemInteraction.hover.index=t.payload.activeIndex,e.itemInteraction.hover.dataKey=t.payload.activeDataKey,e.itemInteraction.hover.graphicalItemId=t.payload.activeGraphicalItemId,e.itemInteraction.hover.coordinate=t.payload.activeCoordinate},mouseLeaveChart(e){e.itemInteraction.hover.active=!1,e.axisInteraction.hover.active=!1},mouseLeaveItem(e){e.itemInteraction.hover.active=!1},setActiveClickItemIndex(e,t){e.syncInteraction.active=!1,e.syncInteraction.sourceViewBox=void 0,e.itemInteraction.click.active=!0,e.keyboardInteraction.active=!1,e.itemInteraction.click.index=t.payload.activeIndex,e.itemInteraction.click.dataKey=t.payload.activeDataKey,e.itemInteraction.click.graphicalItemId=t.payload.activeGraphicalItemId,e.itemInteraction.click.coordinate=t.payload.activeCoordinate},setMouseOverAxisIndex(e,t){e.syncInteraction.active=!1,e.syncInteraction.sourceViewBox=void 0,e.axisInteraction.hover.active=!0,e.keyboardInteraction.active=!1,e.axisInteraction.hover.index=t.payload.activeIndex,e.axisInteraction.hover.dataKey=t.payload.activeDataKey,e.axisInteraction.hover.coordinate=t.payload.activeCoordinate},setMouseClickAxisIndex(e,t){e.syncInteraction.active=!1,e.syncInteraction.sourceViewBox=void 0,e.keyboardInteraction.active=!1,e.axisInteraction.click.active=!0,e.axisInteraction.click.index=t.payload.activeIndex,e.axisInteraction.click.dataKey=t.payload.activeDataKey,e.axisInteraction.click.coordinate=t.payload.activeCoordinate},setSyncInteraction(e,t){e.syncInteraction=t.payload},setKeyboardInteraction(e,t){e.keyboardInteraction.active=t.payload.active,e.keyboardInteraction.index=t.payload.activeIndex,e.keyboardInteraction.coordinate=t.payload.activeCoordinate}}}),{addTooltipEntrySettings:U0e,replaceTooltipEntrySettings:F0e,removeTooltipEntrySettings:q0e,setTooltipSettingsState:K0e,setActiveMouseOverItemIndex:H0e,mouseLeaveItem:ICe,mouseLeaveChart:bU,setActiveClickItemIndex:LCe,setMouseOverAxisIndex:wU,setMouseClickAxisIndex:G0e,setSyncInteraction:vf,setKeyboardInteraction:jy}=xU.actions,V0e=xU.reducer;function eM(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function Um(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?eM(Object(n),!0).forEach(function(r){Z0e(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):eM(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function Z0e(e,t,n){return(t=Y0e(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Y0e(e){var t=W0e(e,"string");return typeof t=="symbol"?t:t+""}function W0e(e,t){if(typeof e!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function Q0e(e,t,n){return t==="axis"?n==="click"?e.axisInteraction.click:e.axisInteraction.hover:n==="click"?e.itemInteraction.click:e.itemInteraction.hover}function X0e(e){return e.index!=null}var SU=(e,t,n,r)=>{if(t==null)return eo;var i=Q0e(e,t,n);if(i==null)return eo;if(i.active)return i;if(e.keyboardInteraction.active)return e.keyboardInteraction;if(e.syncInteraction.active&&e.syncInteraction.index!=null)return e.syncInteraction;var a=e.settings.active===!0;if(X0e(i)){if(a)return Um(Um({},i),{},{active:!0})}else if(r!=null)return{active:!0,coordinate:void 0,dataKey:void 0,index:r,graphicalItemId:void 0};return Um(Um({},eo),{},{coordinate:i.coordinate})};function J0e(e){if(typeof e=="number")return Number.isFinite(e)?e:void 0;if(e instanceof Date){var t=e.valueOf();return Number.isFinite(t)?t:void 0}var n=Number(e);return Number.isFinite(n)?n:void 0}function exe(e,t){var n=J0e(e),r=t[0],i=t[1];if(n===void 0)return!1;var a=Math.min(r,i),o=Math.max(r,i);return n>=a&&n<=o}function txe(e,t,n){if(n==null||t==null)return!0;var r=Un(e,t);return r==null||!va(n)?!0:exe(r,n)}var Af=(e,t,n,r)=>{var i=e?.index;if(i==null)return null;var a=Number(i);if(!rt(a))return i;var o=0,u=1/0;t.length>0&&(u=t.length-1);var d=Math.max(o,Math.min(a,u)),f=t[d];return f==null||txe(f,n,r)?String(d):null},jU=(e,t,n,r,i,a,o)=>{if(a!=null){var u=o[0],d=u?.getPosition(a);if(d!=null)return d;var f=i?.[Number(a)];if(f)return n==="horizontal"?{x:f.coordinate,y:(r.top+t)/2}:{x:(r.left+e)/2,y:f.coordinate}}},NU=(e,t,n,r)=>{if(t==="axis")return e.tooltipItemPayloads;if(e.tooltipItemPayloads.length===0)return[];var i;if(n==="hover"?i=e.itemInteraction.hover.graphicalItemId:i=e.itemInteraction.click.graphicalItemId,e.syncInteraction.active&&i==null)return e.tooltipItemPayloads;if(i==null&&(r!=null||e.keyboardInteraction.active)){var a=e.tooltipItemPayloads[0];return a!=null?[a]:[]}return e.tooltipItemPayloads.filter(o=>{var u;return((u=o.settings)===null||u===void 0?void 0:u.graphicalItemId)===i})},kU=e=>e.options.tooltipPayloadSearcher,td=e=>e.tooltip;function tM(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function nM(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?tM(Object(n),!0).forEach(function(r){nxe(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):tM(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function nxe(e,t,n){return(t=rxe(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function rxe(e){var t=ixe(e,"string");return typeof t=="symbol"?t:t+""}function ixe(e,t){if(typeof e!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function axe(e){if(typeof e=="string"||typeof e=="number")return e}function sxe(e){if(typeof e=="string"||typeof e=="number"||typeof e=="boolean")return e}function oxe(e){if(typeof e=="string"||typeof e=="number")return e;if(typeof e=="function")return t=>e(t)}function rM(e){if(typeof e=="string")return e}function lxe(e){if(!(e==null||typeof e!="object")){var t="name"in e?axe(e.name):void 0,n="unit"in e?sxe(e.unit):void 0,r="dataKey"in e?oxe(e.dataKey):void 0,i="payload"in e?e.payload:void 0,a="color"in e?rM(e.color):void 0,o="fill"in e?rM(e.fill):void 0;return{name:t,unit:n,dataKey:r,payload:i,color:a,fill:o}}}function cxe(e,t){return e??t}var CU=(e,t,n,r,i,a,o)=>{if(!(t==null||a==null)){var{chartData:u,computedData:d,dataStartIndex:f,dataEndIndex:p}=n,m=[];return e.reduce((y,v)=>{var w,{dataDefinedOnItem:S,settings:j}=v,k=cxe(S,u),O=Array.isArray(k)?nB(k,f,p):k,_=(w=j?.dataKey)!==null&&w!==void 0?w:r,C=j?.nameKey,T;if(r&&Array.isArray(O)&&!Array.isArray(O[0])&&o==="axis"?T=s3(O,r,i):T=a(O,t,d,C),Array.isArray(T))T.forEach(A=>{var P,I,q=lxe(A),$=q?.name,U=q?.dataKey,G=q?.payload,te=nM(nM({},j),{},{name:$,unit:q?.unit,color:(P=q?.color)!==null&&P!==void 0?P:j?.color,fill:(I=q?.fill)!==null&&I!==void 0?I:j?.fill});y.push(WP({tooltipEntrySettings:te,dataKey:U,payload:G,value:Un(G,U),name:$==null?void 0:String($)}))});else{var E;y.push(WP({tooltipEntrySettings:j,dataKey:_,payload:T,value:Un(T,_),name:(E=Un(T,C))!==null&&E!==void 0?E:j?.name}))}return y},m)}},mC=oe([Ln,P6,_k],O6),uxe=oe([e=>e.graphicalItems.cartesianItems,e=>e.graphicalItems.polarItems],(e,t)=>[...e,...t]),dxe=oe([qn,Wu],R6),ec=oe([uxe,Ln,dxe],M6,{memoizeOptions:{resultEqualityCheck:Gv}}),fxe=oe([ec],e=>e.filter(Rk)),_U=oe([ec],$6,{memoizeOptions:{resultEqualityCheck:Gv}}),hxe=oe([ec],e=>e.some(t=>!t.data)),Ul=oe([_U,ta],U6),pxe=oe([fxe,ta,Ln],ZB),gC=oe([Ul,Ln,ec,ta,hxe,_U],F6),AU=oe([Ln],lC),mxe=oe([Ln],e=>e.allowDataOverflow),OU=oe([AU,mxe],EB),gxe=oe([ec],e=>e.filter(Rk)),yxe=oe([pxe,gxe,Bv,UB],K6),vxe=oe([yxe,ta,qn,OU],G6),xxe=oe([ec],L6),bxe=oe([Ul,Ln,xxe,cC,qn,$me],Y6,{memoizeOptions:{resultEqualityCheck:Hv}}),wxe=oe([W6,qn,Wu],Ju),Sxe=oe([wxe,qn],J6),jxe=oe([Q6,qn,Wu],Ju),Nxe=oe([jxe,qn],eU),kxe=oe([X6,qn,Wu],Ju),Cxe=oe([kxe,qn],tU),_xe=oe([Sxe,Cxe,Nxe],Sy),Axe=oe([Ln,AU,OU,vxe,bxe,_xe,sn,qn],nU),Du=oe([Ln,sn,Ul,gC,Bv,qn,Axe],rU),Oxe=oe([Du,Ln,mC],iU),Exe=oe([Ln,Du,Oxe,qn],aU),EU=e=>{var t=qn(e),n=Wu(e),r=!1;return Th(e,t,n,r)},zU=oe([Ln,EU],Uv),zxe=oe([Ln,mC,Exe,zU],aC),TU=oe([zxe],Dk),Txe=oe([sn,gC,Ln,qn],dU),Pxe=oe([sn,gC,Ln,qn],lU),Rxe=(e,t,n,r,i,a,o,u)=>{if(t){var{type:d}=t,f=Aa(e,u);if(r){var p=n==="scaleBand"&&r.bandwidth?r.bandwidth()/2:2,m=d==="category"&&r.bandwidth?r.bandwidth()/p:0;return m=u==="angleAxis"&&i!=null&&i?.length>=2?Si(i[0]-i[1])*2*m:m,f&&o?o.map((y,v)=>{var w=r.map(y);return rt(w)?{coordinate:w+m,value:y,index:v,offset:m}:null}).filter(Tr):r.domain().map((y,v)=>{var w=r.map(y);return rt(w)?{coordinate:w+m,value:a?a[y]:y,index:v,offset:m}:null}).filter(Tr)}}},vs=oe([sn,Ln,mC,TU,EU,Txe,Pxe,qn],Rxe),yC=oe([mU,gU,$0e],(e,t,n)=>yU(n.shared,e,t)),PU=e=>e.tooltip.settings.trigger,vC=e=>e.tooltip.settings.defaultIndex,Rh=oe([td,yC,PU,vC],SU),th=oe([Rh,Ul,Pu,Du],Af),RU=oe([vs,th],vU),Dxe=oe([Rh],e=>{if(e)return e.dataKey}),Mxe=oe([Rh],e=>{if(e)return e.graphicalItemId}),DU=oe([td,yC,PU,vC],NU),Ixe=oe([ms,gs,sn,er,vs,vC,DU],jU),Lxe=oe([Rh,Ixe],(e,t)=>e!=null&&e.coordinate?e.coordinate:t),$xe=oe([Rh],e=>{var t;return(t=e?.active)!==null&&t!==void 0?t:!1}),Bxe=oe([DU,th,ta,Pu,RU,kU,yC],CU),Uxe=oe([Bxe],e=>{if(e!=null){var t=e.map(n=>n.payload).filter(n=>n!=null);return Array.from(new Set(t))}});function iM(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function aM(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?iM(Object(n),!0).forEach(function(r){Fxe(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):iM(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function Fxe(e,t,n){return(t=qxe(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function qxe(e){var t=Kxe(e,"string");return typeof t=="symbol"?t:t+""}function Kxe(e,t){if(typeof e!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}var Hxe=()=>Ke(Ln),Gxe=()=>{var e=Hxe(),t=Ke(vs),n=Ke(TU);return Xg(!e||!n?void 0:aM(aM({},e),{},{scale:n}),t)};function sM(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function Vc(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?sM(Object(n),!0).forEach(function(r){Vxe(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):sM(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function Vxe(e,t,n){return(t=Zxe(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Zxe(e){var t=Yxe(e,"string");return typeof t=="symbol"?t:t+""}function Yxe(e,t){if(typeof e!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}var Wxe=(e,t,n,r)=>{var i=t.find(a=>a&&a.index===n);if(i){if(e==="horizontal")return{x:i.coordinate,y:r.relativeY};if(e==="vertical")return{x:r.relativeX,y:i.coordinate}}return{x:0,y:0}},Qxe=(e,t,n,r)=>{var i=t.find(f=>f&&f.index===n);if(i){if(e==="centric"){var a=i.coordinate,{radius:o}=r;return Vc(Vc(Vc({},r),Xn(r.cx,r.cy,o,a)),{},{angle:a,radius:o})}var u=i.coordinate,{angle:d}=r;return Vc(Vc(Vc({},r),Xn(r.cx,r.cy,u,d)),{},{angle:d,radius:u})}return{angle:0,clockWise:!1,cx:0,cy:0,endAngle:0,innerRadius:0,outerRadius:0,radius:0,startAngle:0,x:0,y:0}};function Xxe(e,t){var{relativeX:n,relativeY:r}=e;return n>=t.left&&n<=t.left+t.width&&r>=t.top&&r<=t.top+t.height}var MU=(e,t,n,r,i)=>{var a,o=(a=t?.length)!==null&&a!==void 0?a:0;if(o<=1||e==null)return 0;if(r==="angleAxis"&&i!=null&&Math.abs(Math.abs(i[1]-i[0])-360)<=1e-6)for(var u=0;u<o;u++){var d,f,p,m,y,v=u>0?(d=n[u-1])===null||d===void 0?void 0:d.coordinate:(f=n[o-1])===null||f===void 0?void 0:f.coordinate,w=(p=n[u])===null||p===void 0?void 0:p.coordinate,S=u>=o-1?(m=n[0])===null||m===void 0?void 0:m.coordinate:(y=n[u+1])===null||y===void 0?void 0:y.coordinate,j=void 0;if(!(v==null||w==null||S==null))if(Si(w-v)!==Si(S-w)){var k=[];if(Si(S-w)===Si(i[1]-i[0])){j=S;var O=w+i[1]-i[0];k[0]=Math.min(O,(O+v)/2),k[1]=Math.max(O,(O+v)/2)}else{j=v;var _=S+i[1]-i[0];k[0]=Math.min(w,(_+w)/2),k[1]=Math.max(w,(_+w)/2)}var C=[Math.min(w,(j+w)/2),Math.max(w,(j+w)/2)];if(e>C[0]&&e<=C[1]||e>=k[0]&&e<=k[1]){var T;return(T=n[u])===null||T===void 0?void 0:T.index}}else{var E=Math.min(v,S),A=Math.max(v,S);if(e>(E+w)/2&&e<=(A+w)/2){var P;return(P=n[u])===null||P===void 0?void 0:P.index}}}else if(t)for(var I=0;I<o;I++){var q=t[I];if(q!=null){var $=t[I+1],U=t[I-1];if(I===0&&$!=null&&e<=(q.coordinate+$.coordinate)/2||I===o-1&&U!=null&&e>(q.coordinate+U.coordinate)/2||I>0&&I<o-1&&U!=null&&$!=null&&e>(q.coordinate+U.coordinate)/2&&e<=(q.coordinate+$.coordinate)/2)return q.index}}return-1},IU=()=>Ke(_k),xC=(e,t)=>t,LU=(e,t,n)=>n,bC=(e,t,n,r)=>r,Jxe=oe(vs,e=>Sv(e,t=>t.coordinate)),wC=oe([td,xC,LU,bC],SU),SC=oe([wC,Ul,Pu,Du],Af),ebe=(e,t,n)=>{if(t!=null){var r=td(e);return t==="axis"?n==="hover"?r.axisInteraction.hover.dataKey:r.axisInteraction.click.dataKey:n==="hover"?r.itemInteraction.hover.dataKey:r.itemInteraction.click.dataKey}},$U=oe([td,xC,LU,bC],NU),Ny=oe([ms,gs,sn,er,vs,bC,$U],jU),tbe=oe([wC,Ny],(e,t)=>{var n;return(n=e.coordinate)!==null&&n!==void 0?n:t}),BU=oe([vs,SC],vU),nbe=oe([$U,SC,ta,Pu,BU,kU,xC],CU),rbe=oe([wC,SC],(e,t)=>({isActive:e.active&&t!=null,activeIndex:t})),ibe=(e,t,n,r,i,a,o)=>{if(!(!e||!n||!r||!i)&&Xxe(e,o)){var u=Efe(e,t),d=MU(u,a,i,n,r),f=Wxe(t,i,d,e);return{activeIndex:String(d),activeCoordinate:f}}},abe=(e,t,n,r,i,a,o)=>{if(!(!e||!r||!i||!a||!n)){var u=Cme(e,n);if(u){var d=zfe(u,t),f=MU(d,o,a,r,i),p=Qxe(t,a,f,u);return{activeIndex:String(f),activeCoordinate:p}}}},sbe=(e,t,n,r,i,a,o,u)=>{if(!(!e||!t||!r||!i||!a))return t==="horizontal"||t==="vertical"?ibe(e,t,r,i,a,o,u):abe(e,t,n,r,i,a,o)},obe=oe(e=>e.zIndex.zIndexMap,(e,t)=>t,(e,t,n)=>n,(e,t,n)=>{if(t!=null){var r=e[t];if(r!=null)return n?r.panoramaElement:r.element}}),lbe=oe(e=>e.zIndex.zIndexMap,e=>{var t=Object.keys(e).map(r=>parseInt(r,10)).concat(Object.values(lr)),n=Array.from(new Set(t));return n.sort((r,i)=>r-i)},{memoizeOptions:{resultEqualityCheck:Jme}});function oM(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function lM(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?oM(Object(n),!0).forEach(function(r){cbe(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):oM(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function cbe(e,t,n){return(t=ube(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function ube(e){var t=dbe(e,"string");return typeof t=="symbol"?t:t+""}function dbe(e,t){if(typeof e!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}var fbe={},hbe={zIndexMap:Object.values(lr).reduce((e,t)=>lM(lM({},e),{},{[t]:{element:void 0,panoramaElement:void 0,consumers:0}}),fbe)},pbe=new Set(Object.values(lr));function mbe(e){return pbe.has(e)}var UU=ur({name:"zIndex",initialState:hbe,reducers:{registerZIndexPortal:{reducer:(e,t)=>{var{zIndex:n}=t.payload;e.zIndexMap[n]?e.zIndexMap[n].consumers+=1:e.zIndexMap[n]={consumers:1,element:void 0,panoramaElement:void 0}},prepare:Xt()},unregisterZIndexPortal:{reducer:(e,t)=>{var{zIndex:n}=t.payload;e.zIndexMap[n]&&(e.zIndexMap[n].consumers-=1,e.zIndexMap[n].consumers<=0&&!mbe(n)&&delete e.zIndexMap[n])},prepare:Xt()},registerZIndexPortalElement:{reducer:(e,t)=>{var{zIndex:n,element:r,isPanorama:i}=t.payload;e.zIndexMap[n]?i?e.zIndexMap[n].panoramaElement=r:e.zIndexMap[n].element=r:e.zIndexMap[n]={consumers:0,element:i?void 0:r,panoramaElement:i?r:void 0}},prepare:Xt()},unregisterZIndexPortalElement:{reducer:(e,t)=>{var{zIndex:n}=t.payload;e.zIndexMap[n]&&(t.payload.isPanorama?e.zIndexMap[n].panoramaElement=void 0:e.zIndexMap[n].element=void 0)},prepare:Xt()}}}),{registerZIndexPortal:gbe,unregisterZIndexPortal:CS,registerZIndexPortalElement:ybe,unregisterZIndexPortalElement:vbe}=UU.actions,xbe=UU.reducer;function za(e){var{zIndex:t,children:n}=e,r=uhe(),i=r&&t!==void 0&&t!==0,a=br(),o=x.useRef(void 0),u=x.useRef(new Set),d=fn(),f=Ke(m=>obe(m,t,a));if(x.useLayoutEffect(()=>{if(!i){var m=u.current;m.forEach(v=>{d(CS({zIndex:v}))}),m.clear(),o.current=void 0;return}if(u.current.has(t)||(d(gbe({zIndex:t})),u.current.add(t)),f){o.current=f;var y=u.current;y.forEach(v=>{v!==t&&(d(CS({zIndex:v})),y.delete(v))})}},[d,t,i,f]),x.useLayoutEffect(()=>{var m=u.current;return()=>{m.forEach(y=>{d(CS({zIndex:y}))}),m.clear()}},[d]),!i)return n;var p=f??o.current;return p?Kl.createPortal(n,p):null}function vj(){return vj=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},vj.apply(null,arguments)}function cM(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function Fm(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?cM(Object(n),!0).forEach(function(r){bbe(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):cM(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function bbe(e,t,n){return(t=wbe(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function wbe(e){var t=Sbe(e,"string");return typeof t=="symbol"?t:t+""}function Sbe(e,t){if(typeof e!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function jbe(e){var{cursor:t,cursorComp:n,cursorProps:r}=e;return x.isValidElement(t)?x.cloneElement(t,r):x.createElement(n,r)}function Nbe(e){var t,{coordinate:n,payload:r,index:i,offset:a,tooltipAxisBandSize:o,layout:u,cursor:d,tooltipEventType:f,chartName:p}=e,m=n,y=r,v=i;if(!d||!m||p!=="ScatterChart"&&f!=="axis")return null;var w,S,j;if(p==="ScatterChart")w=m,S=Lpe,j=lr.cursorLine;else if(p==="BarChart")w=$pe(u,m,a,o),S=gme,j=lr.cursorRectangle;else if(u==="radial"&&c3(m)){var{cx:k,cy:O,radius:_,startAngle:C,endAngle:T}=_B(m);w={cx:k,cy:O,startAngle:C,endAngle:T,innerRadius:_,outerRadius:_},S=Eme,j=lr.cursorLine}else w={points:zme(u,m,a)},S=cg,j=lr.cursorLine;var E=typeof d=="object"&&"className"in d?d.className:void 0,A=Fm(Fm(Fm(Fm({stroke:"#ccc",pointerEvents:"none"},a),w),yv(d)),{},{payload:y,payloadIndex:v,className:Tt("recharts-tooltip-cursor",E)});return x.createElement(za,{zIndex:(t=e.zIndex)!==null&&t!==void 0?t:j},x.createElement(jbe,{cursor:d,cursorComp:S,cursorProps:A}))}function kbe(e){var t=Gxe(),n=dB(),r=Vu(),i=IU();return t==null||n==null||r==null||i==null?null:x.createElement(Nbe,vj({},e,{offset:n,layout:r,tooltipAxisBandSize:t,chartName:i}))}var FU=x.createContext(null),Cbe=()=>x.useContext(FU),_S={exports:{}},uM;function _be(){return uM||(uM=1,(function(e){var t=Object.prototype.hasOwnProperty,n="~";function r(){}Object.create&&(r.prototype=Object.create(null),new r().__proto__||(n=!1));function i(d,f,p){this.fn=d,this.context=f,this.once=p||!1}function a(d,f,p,m,y){if(typeof p!="function")throw new TypeError("The listener must be a function");var v=new i(p,m||d,y),w=n?n+f:f;return d._events[w]?d._events[w].fn?d._events[w]=[d._events[w],v]:d._events[w].push(v):(d._events[w]=v,d._eventsCount++),d}function o(d,f){--d._eventsCount===0?d._events=new r:delete d._events[f]}function u(){this._events=new r,this._eventsCount=0}u.prototype.eventNames=function(){var f=[],p,m;if(this._eventsCount===0)return f;for(m in p=this._events)t.call(p,m)&&f.push(n?m.slice(1):m);return Object.getOwnPropertySymbols?f.concat(Object.getOwnPropertySymbols(p)):f},u.prototype.listeners=function(f){var p=n?n+f:f,m=this._events[p];if(!m)return[];if(m.fn)return[m.fn];for(var y=0,v=m.length,w=new Array(v);y<v;y++)w[y]=m[y].fn;return w},u.prototype.listenerCount=function(f){var p=n?n+f:f,m=this._events[p];return m?m.fn?1:m.length:0},u.prototype.emit=function(f,p,m,y,v,w){var S=n?n+f:f;if(!this._events[S])return!1;var j=this._events[S],k=arguments.length,O,_;if(j.fn){switch(j.once&&this.removeListener(f,j.fn,void 0,!0),k){case 1:return j.fn.call(j.context),!0;case 2:return j.fn.call(j.context,p),!0;case 3:return j.fn.call(j.context,p,m),!0;case 4:return j.fn.call(j.context,p,m,y),!0;case 5:return j.fn.call(j.context,p,m,y,v),!0;case 6:return j.fn.call(j.context,p,m,y,v,w),!0}for(_=1,O=new Array(k-1);_<k;_++)O[_-1]=arguments[_];j.fn.apply(j.context,O)}else{var C=j.length,T;for(_=0;_<C;_++)switch(j[_].once&&this.removeListener(f,j[_].fn,void 0,!0),k){case 1:j[_].fn.call(j[_].context);break;case 2:j[_].fn.call(j[_].context,p);break;case 3:j[_].fn.call(j[_].context,p,m);break;case 4:j[_].fn.call(j[_].context,p,m,y);break;default:if(!O)for(T=1,O=new Array(k-1);T<k;T++)O[T-1]=arguments[T];j[_].fn.apply(j[_].context,O)}}return!0},u.prototype.on=function(f,p,m){return a(this,f,p,m,!1)},u.prototype.once=function(f,p,m){return a(this,f,p,m,!0)},u.prototype.removeListener=function(f,p,m,y){var v=n?n+f:f;if(!this._events[v])return this;if(!p)return o(this,v),this;var w=this._events[v];if(w.fn)w.fn===p&&(!y||w.once)&&(!m||w.context===m)&&o(this,v);else{for(var S=0,j=[],k=w.length;S<k;S++)(w[S].fn!==p||y&&!w[S].once||m&&w[S].context!==m)&&j.push(w[S]);j.length?this._events[v]=j.length===1?j[0]:j:o(this,v)}return this},u.prototype.removeAllListeners=function(f){var p;return f?(p=n?n+f:f,this._events[p]&&o(this,p)):(this._events=new r,this._eventsCount=0),this},u.prototype.off=u.prototype.removeListener,u.prototype.addListener=u.prototype.on,u.prefixed=n,u.EventEmitter=u,e.exports=u})(_S)),_S.exports}var Abe=_be();const Obe=_a(Abe);var nh=new Obe,xj="recharts.syncEvent.tooltip",dM="recharts.syncEvent.brush",Ebe=(e,t)=>{if(t&&Array.isArray(e)){var n=Number.parseInt(t,10);if(!ja(n))return e[n]}},zbe={chartName:"",tooltipPayloadSearcher:()=>{},eventEmitter:void 0,defaultTooltipEventType:"axis"},qU=ur({name:"options",initialState:zbe,reducers:{createEventEmitter:e=>{e.eventEmitter==null&&(e.eventEmitter=Symbol("rechartsEventEmitter"))}}}),Tbe=qU.reducer,{createEventEmitter:Pbe}=qU.actions;function Rbe(e){return e.tooltip.syncInteraction}var Dbe={chartData:void 0,computedData:void 0,dataStartIndex:0,dataEndIndex:0},KU=ur({name:"chartData",initialState:Dbe,reducers:{setChartData(e,t){if(e.chartData=t.payload,t.payload==null){e.dataStartIndex=0,e.dataEndIndex=0;return}t.payload.length>0&&e.dataEndIndex!==t.payload.length-1&&(e.dataEndIndex=t.payload.length-1)},setComputedData(e,t){e.computedData=t.payload},setDataStartEndIndexes(e,t){var{startIndex:n,endIndex:r}=t.payload;n!=null&&(e.dataStartIndex=n),r!=null&&(e.dataEndIndex=r)}}}),{setChartData:fM,setDataStartEndIndexes:Mbe,setComputedData:$Ce}=KU.actions,Ibe=KU.reducer,Lbe=["x","y"];function hM(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function Zc(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?hM(Object(n),!0).forEach(function(r){$be(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):hM(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function $be(e,t,n){return(t=Bbe(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Bbe(e){var t=Ube(e,"string");return typeof t=="symbol"?t:t+""}function Ube(e,t){if(typeof e!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function Fbe(e,t){if(e==null)return{};var n,r,i=qbe(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)===-1&&{}.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}function qbe(e,t){if(e==null)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(t.indexOf(r)!==-1)continue;n[r]=e[r]}return n}function Kbe(){var e=Ke(Ak),t=Ke(Ok),n=fn(),r=Ke(FB),i=Ke(vs),a=Vu(),o=wh(),u=Ke(d=>d.rootProps.className);x.useEffect(()=>{if(e==null)return Gu;var d=(f,p,m)=>{if(t!==m&&e===f){if(p.payload.active===!1){n(vf({active:!1,coordinate:void 0,dataKey:void 0,index:null,label:void 0,sourceViewBox:void 0,graphicalItemId:void 0}));return}if(r==="index"){var y;if(o&&p!==null&&p!==void 0&&(y=p.payload)!==null&&y!==void 0&&y.coordinate&&p.payload.sourceViewBox){var v=p.payload.coordinate,{x:w,y:S}=v,j=Fbe(v,Lbe),{x:k,y:O,width:_,height:C}=p.payload.sourceViewBox,T=Zc(Zc({},j),{},{x:o.x+(_?(w-k)/_:0)*o.width,y:o.y+(C?(S-O)/C:0)*o.height});n(Zc(Zc({},p),{},{payload:Zc(Zc({},p.payload),{},{coordinate:T})}))}else n(p);return}if(i!=null){var E;if(typeof r=="function"){var A={activeTooltipIndex:p.payload.index==null?void 0:Number(p.payload.index),isTooltipActive:p.payload.active,activeIndex:p.payload.index==null?void 0:Number(p.payload.index),activeLabel:p.payload.label,activeDataKey:p.payload.dataKey,activeCoordinate:p.payload.coordinate},P=r(i,A);E=i[P]}else r==="value"&&(E=i.find(K=>String(K.value)===p.payload.label));var{coordinate:I}=p.payload;if(I==null||o==null){n(vf({active:!1,coordinate:void 0,dataKey:void 0,index:null,label:void 0,sourceViewBox:void 0,graphicalItemId:void 0}));return}if(E==null){n(vf({active:!1,coordinate:void 0,dataKey:void 0,index:null,label:void 0,sourceViewBox:p.payload.sourceViewBox,graphicalItemId:void 0}));return}var{x:q,y:$}=I,U=Math.min(q,o.x+o.width),G=Math.min($,o.y+o.height),te={x:a==="horizontal"?E.coordinate:U,y:a==="horizontal"?G:E.coordinate},Z=vf({active:p.payload.active,coordinate:te,dataKey:p.payload.dataKey,index:String(E.index),label:p.payload.label,sourceViewBox:p.payload.sourceViewBox,graphicalItemId:p.payload.graphicalItemId});n(Z)}}};return nh.on(xj,d),()=>{nh.off(xj,d)}},[u,n,t,e,r,i,a,o])}function Hbe(){var e=Ke(Ak),t=Ke(Ok),n=fn();x.useEffect(()=>{if(e==null)return Gu;var r=(i,a,o)=>{t!==o&&e===i&&n(Mbe(a))};return nh.on(dM,r),()=>{nh.off(dM,r)}},[n,t,e])}function Gbe(){var e=fn();x.useEffect(()=>{e(Pbe())},[e]),Kbe(),Hbe()}function Vbe(e,t,n,r,i,a){var o=Ke(w=>ebe(w,e,t)),u=Ke(Mxe),d=Ke(Ok),f=Ke(Ak),p=Ke(FB),m=Ke(Rbe),y=m?.sourceViewBox!=null,v=wh();x.useEffect(()=>{if(!y&&f!=null&&d!=null){var w=vf({active:a,coordinate:n,dataKey:o,index:i,label:typeof r=="number"?String(r):r,sourceViewBox:v,graphicalItemId:u});nh.emit(xj,f,w,d)}},[y,n,o,u,i,r,d,f,p,a,v])}function pM(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function mM(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?pM(Object(n),!0).forEach(function(r){Zbe(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):pM(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function Zbe(e,t,n){return(t=Ybe(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Ybe(e){var t=Wbe(e,"string");return typeof t=="symbol"?t:t+""}function Wbe(e,t){if(typeof e!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function Qbe(e){return e.dataKey}function Xbe(e,t){return x.isValidElement(e)?x.cloneElement(e,t):typeof e=="function"?x.createElement(e,t):x.createElement(hpe,t)}var gM=[],Jbe={allowEscapeViewBox:{x:!1,y:!1},animationDuration:400,animationEasing:"ease",axisId:0,contentStyle:{},cursor:!0,filterNull:!0,includeHidden:!1,isAnimationActive:"auto",itemSorter:"name",itemStyle:{},labelStyle:{},offset:10,reverseDirection:{x:!1,y:!1},separator:" : ",trigger:"hover",useTranslate3d:!1,wrapperStyle:{}};function ky(e){var t,n,r=xr(e,Jbe),{active:i,allowEscapeViewBox:a,animationDuration:o,animationEasing:u,content:d,filterNull:f,isAnimationActive:p,offset:m,payloadUniqBy:y,position:v,reverseDirection:w,useTranslate3d:S,wrapperStyle:j,cursor:k,shared:O,trigger:_,defaultIndex:C,portal:T,axisId:E}=r,A=fn(),P=typeof C=="number"?String(C):C;x.useEffect(()=>{A(K0e({shared:O,trigger:_,axisId:E,active:i,defaultIndex:P}))},[A,O,_,E,i,P]);var I=wh(),q=wB(),$=L0e(O),{activeIndex:U,isActive:G}=(t=Ke(Ce=>rbe(Ce,$,_,P)))!==null&&t!==void 0?t:{},te=Ke(Ce=>nbe(Ce,$,_,P)),Z=Ke(Ce=>BU(Ce,$,_,P)),K=Ke(Ce=>tbe(Ce,$,_,P)),X=te,pe=Cbe(),Ne=(n=i??G)!==null&&n!==void 0?n:!1,[R,B]=C3([X,Ne]),F=$==="axis"?Z:void 0;Vbe($,_,K,F,U,Ne);var M=T??pe;if(M==null||I==null||$==null)return null;var W=X??gM;Ne||(W=gM),f&&W.length&&(W=w3(W.filter(Ce=>Ce.value!=null&&(Ce.hide!==!0||r.includeHidden)),y,Qbe));var ae=W.length>0,ne=mM(mM({},r),{},{payload:W,label:F,active:Ne,activeIndex:U,coordinate:K,accessibilityLayer:q}),de=x.createElement(Npe,{allowEscapeViewBox:a,animationDuration:o,animationEasing:u,isAnimationActive:p,active:Ne,coordinate:K,hasPayload:ae,offset:m,position:v,reverseDirection:w,useTranslate3d:S,viewBox:I,wrapperStyle:j,lastBoundingBox:R,innerRef:B,hasPortalFromProps:!!T},Xbe(d,ne));return x.createElement(x.Fragment,null,Kl.createPortal(de,M),Ne&&x.createElement(kbe,{cursor:k,tooltipEventType:$,coordinate:K,payload:W,index:U}))}function ewe(e,t,n){return(t=twe(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function twe(e){var t=nwe(e,"string");return typeof t=="symbol"?t:t+""}function nwe(e,t){if(typeof e!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}class rwe{constructor(t){ewe(this,"cache",new Map),this.maxSize=t}get(t){var n=this.cache.get(t);return n!==void 0&&(this.cache.delete(t),this.cache.set(t,n)),n}set(t,n){if(this.cache.has(t))this.cache.delete(t);else if(this.cache.size>=this.maxSize){var r=this.cache.keys().next().value;r!=null&&this.cache.delete(r)}this.cache.set(t,n)}clear(){this.cache.clear()}size(){return this.cache.size}}function yM(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function iwe(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?yM(Object(n),!0).forEach(function(r){awe(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):yM(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function awe(e,t,n){return(t=swe(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function swe(e){var t=owe(e,"string");return typeof t=="symbol"?t:t+""}function owe(e,t){if(typeof e!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}var lwe={cacheSize:2e3,enableCache:!0},HU=iwe({},lwe),vM=new rwe(HU.cacheSize),cwe={position:"absolute",top:"-20000px",left:0,padding:0,margin:0,border:"none",whiteSpace:"pre"},xM="recharts_measurement_span";function uwe(e,t){var n=t.fontSize||"",r=t.fontFamily||"",i=t.fontWeight||"",a=t.fontStyle||"",o=t.letterSpacing||"",u=t.textTransform||"";return"".concat(e,"|").concat(n,"|").concat(r,"|").concat(i,"|").concat(a,"|").concat(o,"|").concat(u)}var bM=(e,t)=>{try{var n=document.getElementById(xM);n||(n=document.createElement("span"),n.setAttribute("id",xM),n.setAttribute("aria-hidden","true"),document.body.appendChild(n)),Object.assign(n.style,cwe,t),n.textContent="".concat(e);var r=n.getBoundingClientRect();return{width:r.width,height:r.height}}catch{return{width:0,height:0}}},Of=function(t){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(t==null||kh.isSsr)return{width:0,height:0};if(!HU.enableCache)return bM(t,n);var r=uwe(t,n),i=vM.get(r);if(i)return i;var a=bM(t,n);return vM.set(r,a),a},GU;function dwe(e,t,n){return(t=fwe(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function fwe(e){var t=hwe(e,"string");return typeof t=="symbol"?t:t+""}function hwe(e,t){if(typeof e!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}var wM=/(-?\d+(?:\.\d+)?[a-zA-Z%]*)([*/])(-?\d+(?:\.\d+)?[a-zA-Z%]*)/,SM=/(-?\d+(?:\.\d+)?[a-zA-Z%]*)([+-])(-?\d+(?:\.\d+)?[a-zA-Z%]*)/,pwe=/^(px|cm|vh|vw|em|rem|%|mm|in|pt|pc|ex|ch|vmin|vmax|Q)$/,mwe=/(-?\d+(?:\.\d+)?)([a-zA-Z%]+)?/,gwe={cm:96/2.54,mm:96/25.4,pt:96/72,pc:96/6,in:96,Q:96/(2.54*40),px:1},ywe=["cm","mm","pt","pc","in","Q","px"];function vwe(e){return ywe.includes(e)}var ou="NaN";function xwe(e,t){return e*gwe[t]}class Qn{static parse(t){var n,[,r,i]=(n=mwe.exec(t))!==null&&n!==void 0?n:[];return r==null?Qn.NaN:new Qn(parseFloat(r),i??"")}constructor(t,n){this.num=t,this.unit=n,this.num=t,this.unit=n,ja(t)&&(this.unit=""),n!==""&&!pwe.test(n)&&(this.num=NaN,this.unit=""),vwe(n)&&(this.num=xwe(t,n),this.unit="px")}add(t){return this.unit!==t.unit?new Qn(NaN,""):new Qn(this.num+t.num,this.unit)}subtract(t){return this.unit!==t.unit?new Qn(NaN,""):new Qn(this.num-t.num,this.unit)}multiply(t){return this.unit!==""&&t.unit!==""&&this.unit!==t.unit?new Qn(NaN,""):new Qn(this.num*t.num,this.unit||t.unit)}divide(t){return this.unit!==""&&t.unit!==""&&this.unit!==t.unit?new Qn(NaN,""):new Qn(this.num/t.num,this.unit||t.unit)}toString(){return"".concat(this.num).concat(this.unit)}isNaN(){return ja(this.num)}}GU=Qn;dwe(Qn,"NaN",new GU(NaN,""));function VU(e){if(e==null||e.includes(ou))return ou;for(var t=e;t.includes("*")||t.includes("/");){var n,[,r,i,a]=(n=wM.exec(t))!==null&&n!==void 0?n:[],o=Qn.parse(r??""),u=Qn.parse(a??""),d=i==="*"?o.multiply(u):o.divide(u);if(d.isNaN())return ou;t=t.replace(wM,d.toString())}for(;t.includes("+")||/.-\d+(?:\.\d+)?/.test(t);){var f,[,p,m,y]=(f=SM.exec(t))!==null&&f!==void 0?f:[],v=Qn.parse(p??""),w=Qn.parse(y??""),S=m==="+"?v.add(w):v.subtract(w);if(S.isNaN())return ou;t=t.replace(SM,S.toString())}return t}var jM=/\(([^()]*)\)/;function bwe(e){for(var t=e,n;(n=jM.exec(t))!=null;){var[,r]=n;t=t.replace(jM,VU(r))}return t}function wwe(e){var t=e.replace(/\s+/g,"");return t=bwe(t),t=VU(t),t}function Swe(e){try{return wwe(e)}catch{return ou}}function AS(e){var t=Swe(e.slice(5,-1));return t===ou?"":t}var jwe=["x","y","lineHeight","capHeight","fill","scaleToFit","textAnchor","verticalAnchor"],Nwe=["dx","dy","angle","className","breakAll"];function bj(){return bj=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},bj.apply(null,arguments)}function NM(e,t){if(e==null)return{};var n,r,i=kwe(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)===-1&&{}.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}function kwe(e,t){if(e==null)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(t.indexOf(r)!==-1)continue;n[r]=e[r]}return n}var ZU=/[ \f\n\r\t\v\u2028\u2029]+/,YU=e=>{var{children:t,breakAll:n,style:r}=e;try{var i=[];Jn(t)||(n?i=t.toString().split(""):i=t.toString().split(ZU));var a=i.map(u=>({word:u,width:Of(u,r).width})),o=n?0:Of(" ",r).width;return{wordsWithComputedWidth:a,spaceWidth:o}}catch{return null}};function WU(e){return e==="start"||e==="middle"||e==="end"||e==="inherit"}function Cwe(e){return Jn(e)||typeof e=="string"||typeof e=="number"||typeof e=="boolean"}var QU=(e,t,n,r)=>e.reduce((i,a)=>{var{word:o,width:u}=a,d=i[i.length-1];if(d&&u!=null&&(t==null||r||d.width+u+n<Number(t)))d.words.push(o),d.width+=u+n;else{var f={words:[o],width:u};i.push(f)}return i},[]),XU=e=>e.reduce((t,n)=>t.width>n.width?t:n),_we="…",kM=(e,t,n,r,i,a,o,u)=>{var d=e.slice(0,t),f=YU({breakAll:n,style:r,children:d+_we});if(!f)return[!1,[]];var p=QU(f.wordsWithComputedWidth,a,o,u),m=p.length>i||XU(p).width>Number(a);return[m,p]},Awe=(e,t,n,r,i)=>{var{maxLines:a,children:o,style:u,breakAll:d}=e,f=Be(a),p=String(o),m=QU(t,r,n,i);if(!f||i)return m;var y=m.length>a||XU(m).width>Number(r);if(!y)return m;for(var v=0,w=p.length-1,S=0,j;v<=w&&S<=p.length-1;){var k=Math.floor((v+w)/2),O=k-1,[_,C]=kM(p,O,d,u,a,r,n,i),[T]=kM(p,k,d,u,a,r,n,i);if(!_&&!T&&(v=k+1),_&&T&&(w=k-1),!_&&T){j=C;break}S++}return j||m},CM=e=>{var t=Jn(e)?[]:e.toString().split(ZU);return[{words:t,width:void 0}]},Owe=e=>{var{width:t,scaleToFit:n,children:r,style:i,breakAll:a,maxLines:o}=e;if((t||n)&&!kh.isSsr){var u,d,f=YU({breakAll:a,children:r,style:i});if(f){var{wordsWithComputedWidth:p,spaceWidth:m}=f;u=p,d=m}else return CM(r);return Awe({breakAll:a,children:r,maxLines:o,style:i},u,d,t,!!n)}return CM(r)},JU="#808080",Ewe={angle:0,breakAll:!1,capHeight:"0.71em",fill:JU,lineHeight:"1em",scaleToFit:!1,textAnchor:"start",verticalAnchor:"end",x:0,y:0},jC=x.forwardRef((e,t)=>{var n=xr(e,Ewe),{x:r,y:i,lineHeight:a,capHeight:o,fill:u,scaleToFit:d,textAnchor:f,verticalAnchor:p}=n,m=NM(n,jwe),y=x.useMemo(()=>Owe({breakAll:m.breakAll,children:m.children,maxLines:m.maxLines,scaleToFit:d,style:m.style,width:m.width}),[m.breakAll,m.children,m.maxLines,d,m.style,m.width]),{dx:v,dy:w,angle:S,className:j,breakAll:k}=m,O=NM(m,Nwe);if(!Oi(r)||!Oi(i)||y.length===0)return null;var _=Number(r)+(Be(v)?v:0),C=Number(i)+(Be(w)?w:0);if(!rt(_)||!rt(C))return null;var T;switch(p){case"start":T=AS("calc(".concat(o,")"));break;case"middle":T=AS("calc(".concat((y.length-1)/2," * -").concat(a," + (").concat(o," / 2))"));break;default:T=AS("calc(".concat(y.length-1," * -").concat(a,")"));break}var E=[],A=y[0];if(d&&A!=null){var P=A.width,{width:I}=m;E.push("scale(".concat(Be(I)&&Be(P)?I/P:1,")"))}return S&&E.push("rotate(".concat(S,", ").concat(_,", ").concat(C,")")),E.length&&(O.transform=E.join(" ")),x.createElement("text",bj({},Mr(O),{ref:t,x:_,y:C,className:Tt("recharts-text",j),textAnchor:f,fill:u.includes("url")?JU:u}),y.map((q,$)=>{var U=q.words.join(k?"":" ");return x.createElement("tspan",{x:_,dy:$===0?T:a,key:"".concat(U,"-").concat($)},U)}))});jC.displayName="Text";function _M(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function ca(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?_M(Object(n),!0).forEach(function(r){zwe(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):_M(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function zwe(e,t,n){return(t=Twe(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Twe(e){var t=Pwe(e,"string");return typeof t=="symbol"?t:t+""}function Pwe(e,t){if(typeof e!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}var Rwe=e=>{var{viewBox:t,position:n,offset:r=0,parentViewBox:i}=e,{x:a,y:o,height:u,upperWidth:d,lowerWidth:f}=yk(t),p=a,m=a+(d-f)/2,y=(p+m)/2,v=(d+f)/2,w=p+d/2,S=u>=0?1:-1,j=S*r,k=S>0?"end":"start",O=S>0?"start":"end",_=d>=0?1:-1,C=_*r,T=_>0?"end":"start",E=_>0?"start":"end",A=i;if(n==="top"){var P={x:p+d/2,y:o-j,horizontalAnchor:"middle",verticalAnchor:k};return A&&(P.height=Math.max(o-A.y,0),P.width=d),P}if(n==="bottom"){var I={x:m+f/2,y:o+u+j,horizontalAnchor:"middle",verticalAnchor:O};return A&&(I.height=Math.max(A.y+A.height-(o+u),0),I.width=f),I}if(n==="left"){var q={x:y-C,y:o+u/2,horizontalAnchor:T,verticalAnchor:"middle"};return A&&(q.width=Math.max(q.x-A.x,0),q.height=u),q}if(n==="right"){var $={x:y+v+C,y:o+u/2,horizontalAnchor:E,verticalAnchor:"middle"};return A&&($.width=Math.max(A.x+A.width-$.x,0),$.height=u),$}var U=A?{width:v,height:u}:{};return n==="insideLeft"?ca({x:y+C,y:o+u/2,horizontalAnchor:E,verticalAnchor:"middle"},U):n==="insideRight"?ca({x:y+v-C,y:o+u/2,horizontalAnchor:T,verticalAnchor:"middle"},U):n==="insideTop"?ca({x:p+d/2,y:o+j,horizontalAnchor:"middle",verticalAnchor:O},U):n==="insideBottom"?ca({x:m+f/2,y:o+u-j,horizontalAnchor:"middle",verticalAnchor:k},U):n==="insideTopLeft"?ca({x:p+C,y:o+j,horizontalAnchor:E,verticalAnchor:O},U):n==="insideTopRight"?ca({x:p+d-C,y:o+j,horizontalAnchor:T,verticalAnchor:O},U):n==="insideBottomLeft"?ca({x:m+C,y:o+u-j,horizontalAnchor:E,verticalAnchor:k},U):n==="insideBottomRight"?ca({x:m+f-C,y:o+u-j,horizontalAnchor:T,verticalAnchor:k},U):n&&typeof n=="object"&&(Be(n.x)||Ml(n.x))&&(Be(n.y)||Ml(n.y))?ca({x:a+bo(n.x,v),y:o+bo(n.y,u),horizontalAnchor:"end",verticalAnchor:"end"},U):ca({x:w,y:o+u/2,horizontalAnchor:"middle",verticalAnchor:"middle"},U)},Dwe=["labelRef"],Mwe=["content"];function AM(e,t){if(e==null)return{};var n,r,i=Iwe(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)===-1&&{}.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}function Iwe(e,t){if(e==null)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(t.indexOf(r)!==-1)continue;n[r]=e[r]}return n}function OM(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function xf(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?OM(Object(n),!0).forEach(function(r){Lwe(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):OM(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function Lwe(e,t,n){return(t=$we(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function $we(e){var t=Bwe(e,"string");return typeof t=="symbol"?t:t+""}function Bwe(e,t){if(typeof e!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function ts(){return ts=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},ts.apply(null,arguments)}var e8=x.createContext(null),t8=e=>{var{x:t,y:n,upperWidth:r,lowerWidth:i,width:a,height:o,children:u}=e,d=x.useMemo(()=>({x:t,y:n,upperWidth:r,lowerWidth:i,width:a,height:o}),[t,n,r,i,a,o]);return x.createElement(e8.Provider,{value:d},u)},n8=()=>{var e=x.useContext(e8),t=wh();return e||(t?yk(t):void 0)},Uwe=x.createContext(null),Fwe=()=>{var e=x.useContext(Uwe),t=Ke(VB);return e||t},qwe=e=>{var{value:t,formatter:n}=e,r=Jn(e.children)?t:e.children;return typeof n=="function"?n(r):r},NC=e=>e!=null&&typeof e=="function",Kwe=(e,t)=>{var n=Si(t-e),r=Math.min(Math.abs(t-e),360);return n*r},Hwe=(e,t,n,r,i)=>{var{offset:a,className:o}=e,{cx:u,cy:d,innerRadius:f,outerRadius:p,startAngle:m,endAngle:y,clockWise:v}=i,w=(f+p)/2,S=Kwe(m,y),j=S>=0?1:-1,k,O;switch(t){case"insideStart":k=m+j*a,O=v;break;case"insideEnd":k=y-j*a,O=!v;break;case"end":k=y+j*a,O=v;break;default:throw new Error("Unsupported position ".concat(t))}O=S<=0?O:!O;var _=Xn(u,d,w,k),C=Xn(u,d,w,k+(O?1:-1)*359),T="M".concat(_.x,",").concat(_.y,`
288
288
  A`).concat(w,",").concat(w,",0,1,").concat(O?0:1,`,
289
- `).concat(C.x,",").concat(C.y),E=Jn(e.id)?Ff("recharts-radial-line-"):e.id;return x.createElement("text",ts({},r,{dominantBaseline:"central",className:Tt("recharts-radial-bar-label",o)}),x.createElement("defs",null,x.createElement("path",{id:E,d:T})),x.createElement("textPath",{xlinkHref:"#".concat(E)},n))},Gwe=(e,t,n)=>{var{cx:r,cy:i,innerRadius:a,outerRadius:o,startAngle:u,endAngle:d}=e,f=(u+d)/2;if(n==="outside"){var{x:p,y:m}=Xn(r,i,o+t,f);return{x:p,y:m,textAnchor:p>=r?"start":"end",verticalAnchor:"middle"}}if(n==="center")return{x:r,y:i,textAnchor:"middle",verticalAnchor:"middle"};if(n==="centerTop")return{x:r,y:i,textAnchor:"middle",verticalAnchor:"start"};if(n==="centerBottom")return{x:r,y:i,textAnchor:"middle",verticalAnchor:"end"};var y=(a+o)/2,{x:v,y:w}=Xn(r,i,y,f);return{x:v,y:w,textAnchor:"middle",verticalAnchor:"middle"}},ug=e=>e!=null&&"cx"in e&&Be(e.cx),Vwe={angle:0,offset:5,zIndex:lr.label,position:"middle",textBreakAll:!1};function Zwe(e){if(!ug(e))return e;var{cx:t,cy:n,outerRadius:r}=e,i=r*2;return{x:t-r,y:n-r,width:i,upperWidth:i,lowerWidth:i,height:i}}function Js(e){var t=xr(e,Vwe),{viewBox:n,parentViewBox:r,position:i,value:a,children:o,content:u,className:d="",textBreakAll:f,labelRef:p}=t,m=Fwe(),y=n8(),v=i==="center"?y:m??y,w,S,j;n==null?w=v:ug(n)?w=n:w=yk(n);var k=Zwe(w);if(!w||Jn(a)&&Jn(o)&&!x.isValidElement(u)&&typeof u!="function")return null;var O=xf(xf({},t),{},{viewBox:w});if(x.isValidElement(u)){var{labelRef:_}=O,C=AM(O,Dwe);return x.cloneElement(u,C)}if(typeof u=="function"){var{content:T}=O,E=AM(O,Mwe);if(S=x.createElement(u,E),x.isValidElement(S))return S}else S=qwe(t);var A=Mr(t);if(ug(w)){if(i==="insideStart"||i==="insideEnd"||i==="end")return Hwe(t,i,S,A,w);j=Gwe(w,t.offset,t.position)}else{if(!k)return null;var P=Rwe({viewBox:k,position:i,offset:t.offset,parentViewBox:ug(r)?void 0:r});j=xf(xf({x:P.x,y:P.y,textAnchor:P.horizontalAnchor,verticalAnchor:P.verticalAnchor},P.width!==void 0?{width:P.width}:{}),P.height!==void 0?{height:P.height}:{})}return x.createElement(za,{zIndex:t.zIndex},x.createElement(jC,ts({ref:p,className:Tt("recharts-label",d)},A,j,{textAnchor:WU(A.textAnchor)?A.textAnchor:j.textAnchor,breakAll:f}),S))}Js.displayName="Label";var Ywe=(e,t,n)=>{if(!e)return null;var r={viewBox:t,labelRef:n};return e===!0?x.createElement(Js,ts({key:"label-implicit"},r)):Oi(e)?x.createElement(Js,ts({key:"label-implicit",value:e},r)):x.isValidElement(e)?e.type===Js?x.cloneElement(e,xf({key:"label-implicit"},r)):x.createElement(Js,ts({key:"label-implicit",content:e},r)):NC(e)?x.createElement(Js,ts({key:"label-implicit",content:e},r)):e&&typeof e=="object"?x.createElement(Js,ts({},e,{key:"label-implicit"},r)):null};function r8(e){var{label:t,labelRef:n}=e,r=n8();return Ywe(t,r,n)||null}var Wwe=["valueAccessor"],Qwe=["dataKey","clockWise","id","textBreakAll","zIndex"];function Cy(){return Cy=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Cy.apply(null,arguments)}function EM(e,t){if(e==null)return{};var n,r,i=Xwe(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)===-1&&{}.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}function Xwe(e,t){if(e==null)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(t.indexOf(r)!==-1)continue;n[r]=e[r]}return n}var Jwe=e=>{var t=Array.isArray(e.value)?e.value[e.value.length-1]:e.value;if(Cwe(t))return t},i8=x.createContext(void 0),eSe=i8.Provider,a8=x.createContext(void 0);a8.Provider;function tSe(){return x.useContext(i8)}function nSe(){return x.useContext(a8)}function dg(e){var{valueAccessor:t=Jwe}=e,n=EM(e,Wwe),{dataKey:r,clockWise:i,id:a,textBreakAll:o,zIndex:u}=n,d=EM(n,Qwe),f=tSe(),p=nSe(),m=f||p;return!m||!m.length?null:x.createElement(za,{zIndex:u??lr.label},x.createElement(Wi,{className:"recharts-label-list"},m.map((y,v)=>{var w,S=Jn(r)?t(y,v):Un(y.payload,r),j=Jn(a)?{}:{id:"".concat(a,"-").concat(v)};return x.createElement(Js,Cy({key:"label-".concat(v)},Mr(y),d,j,{fill:(w=n.fill)!==null&&w!==void 0?w:y.fill,parentViewBox:y.parentViewBox,value:S,textBreakAll:o,viewBox:y.viewBox,index:v,zIndex:0}))})))}dg.displayName="LabelList";function rSe(e){var{label:t}=e;return t?t===!0?x.createElement(dg,{key:"labelList-implicit"}):x.isValidElement(t)||NC(t)?x.createElement(dg,{key:"labelList-implicit",content:t}):typeof t=="object"?x.createElement(dg,Cy({key:"labelList-implicit"},t,{type:String(t.type)})):null:null}function wj(){return wj=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},wj.apply(null,arguments)}var s8=e=>{var{cx:t,cy:n,r,className:i}=e,a=Tt("recharts-dot",i);return Be(t)&&Be(n)&&Be(r)?x.createElement("circle",wj({},Yi(e),ok(e),{className:a,cx:t,cy:n,r})):null},iSe={radiusAxis:{},angleAxis:{}},o8=ur({name:"polarAxis",initialState:iSe,reducers:{addRadiusAxis(e,t){e.radiusAxis[t.payload.id]=t.payload},removeRadiusAxis(e,t){delete e.radiusAxis[t.payload.id]},addAngleAxis(e,t){e.angleAxis[t.payload.id]=t.payload},removeAngleAxis(e,t){delete e.angleAxis[t.payload.id]}}}),{addRadiusAxis:BCe,removeRadiusAxis:UCe,addAngleAxis:FCe,removeAngleAxis:qCe}=o8.actions,aSe=o8.reducer;function sSe(e){return e&&typeof e=="object"&&"className"in e&&typeof e.className=="string"?e.className:""}var l8=e=>e&&typeof e=="object"&&"clipDot"in e?!!e.clipDot:!0;function oSe(e){var{tooltipEntrySettings:t}=e,n=fn(),r=br(),i=x.useRef(null);return x.useLayoutEffect(()=>{r||(i.current===null?n(U0e(t)):i.current!==t&&n(F0e({prev:i.current,next:t})),i.current=t)},[t,n,r]),x.useLayoutEffect(()=>()=>{i.current&&(n(q0e(i.current)),i.current=null)},[n]),null}function lSe(e){var{legendPayload:t}=e,n=fn(),r=br(),i=x.useRef(null);return x.useLayoutEffect(()=>{r||(i.current===null?n(Nhe(t)):i.current!==t&&n(khe({prev:i.current,next:t})),i.current=t)},[n,r,t]),x.useLayoutEffect(()=>()=>{i.current&&(n(Che(i.current)),i.current=null)},[n]),null}var OS,cSe=()=>{var[e]=x.useState(()=>Ff("uid-"));return e},uSe=(OS=My.useId)!==null&&OS!==void 0?OS:cSe;function dSe(e,t){var n=uSe();return t||(e?"".concat(e,"-").concat(n):n)}var fSe=x.createContext(void 0),hSe=e=>{var{id:t,type:n,children:r}=e,i=dSe("recharts-".concat(n),t);return x.createElement(fSe.Provider,{value:i},r(i))},pSe={cartesianItems:[],polarItems:[]},c8=ur({name:"graphicalItems",initialState:pSe,reducers:{addCartesianGraphicalItem:{reducer(e,t){e.cartesianItems.push(t.payload)},prepare:Xt()},replaceCartesianGraphicalItem:{reducer(e,t){var{prev:n,next:r}=t.payload,i=ji(e).cartesianItems.indexOf(n);i>-1&&(e.cartesianItems[i]=r)},prepare:Xt()},removeCartesianGraphicalItem:{reducer(e,t){var n=ji(e).cartesianItems.indexOf(t.payload);n>-1&&e.cartesianItems.splice(n,1)},prepare:Xt()},addPolarGraphicalItem:{reducer(e,t){e.polarItems.push(t.payload)},prepare:Xt()},removePolarGraphicalItem:{reducer(e,t){var n=ji(e).polarItems.indexOf(t.payload);n>-1&&e.polarItems.splice(n,1)},prepare:Xt()},replacePolarGraphicalItem:{reducer(e,t){var{prev:n,next:r}=t.payload,i=ji(e).polarItems.indexOf(n);i>-1&&(e.polarItems[i]=r)},prepare:Xt()}}}),{addCartesianGraphicalItem:mSe,replaceCartesianGraphicalItem:gSe,removeCartesianGraphicalItem:ySe,addPolarGraphicalItem:KCe,removePolarGraphicalItem:HCe,replacePolarGraphicalItem:GCe}=c8.actions,vSe=c8.reducer,xSe=e=>{var t=fn(),n=x.useRef(null);return x.useLayoutEffect(()=>{n.current===null?t(mSe(e)):n.current!==e&&t(gSe({prev:n.current,next:e})),n.current=e},[t,e]),x.useLayoutEffect(()=>()=>{n.current&&(t(ySe(n.current)),n.current=null)},[t]),null},bSe=x.memo(xSe),wSe=["points"];function zM(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function ES(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?zM(Object(n),!0).forEach(function(r){SSe(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):zM(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function SSe(e,t,n){return(t=jSe(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function jSe(e){var t=NSe(e,"string");return typeof t=="symbol"?t:t+""}function NSe(e,t){if(typeof e!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function _y(){return _y=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},_y.apply(null,arguments)}function kSe(e,t){if(e==null)return{};var n,r,i=CSe(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)===-1&&{}.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}function CSe(e,t){if(e==null)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(t.indexOf(r)!==-1)continue;n[r]=e[r]}return n}function _Se(e){var{option:t,dotProps:n,className:r}=e;if(x.isValidElement(t))return x.cloneElement(t,n);if(typeof t=="function")return t(n);var i=Tt(r,typeof t!="boolean"?t.className:""),a=n??{},{points:o}=a,u=kSe(a,wSe);return x.createElement(s8,_y({},u,{className:i}))}function ASe(e,t){return e==null?!1:t?!0:e.length===1}function OSe(e){var{points:t,dot:n,className:r,dotClassName:i,dataKey:a,baseProps:o,needClip:u,clipPathId:d,zIndex:f=lr.scatter}=e;if(!ASe(t,n))return null;var p=l8(n),m=fce(n),y=t.map((w,S)=>{var j,k,O=ES(ES(ES({r:3},o),m),{},{index:S,cx:(j=w.x)!==null&&j!==void 0?j:void 0,cy:(k=w.y)!==null&&k!==void 0?k:void 0,dataKey:a,value:w.value,payload:w.payload,points:t});return x.createElement(_Se,{key:"dot-".concat(S),option:n,dotProps:O,className:i})}),v={};return u&&d!=null&&(v.clipPath="url(#clipPath-".concat(p?"":"dots-").concat(d,")")),x.createElement(za,{zIndex:f},x.createElement(Wi,_y({className:r},v),y))}function TM(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function PM(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?TM(Object(n),!0).forEach(function(r){ESe(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):TM(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function ESe(e,t,n){return(t=zSe(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function zSe(e){var t=TSe(e,"string");return typeof t=="symbol"?t:t+""}function TSe(e,t){if(typeof e!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}var u8=0,PSe={xAxis:{},yAxis:{},zAxis:{}},d8=ur({name:"cartesianAxis",initialState:PSe,reducers:{addXAxis:{reducer(e,t){e.xAxis[t.payload.id]=t.payload},prepare:Xt()},replaceXAxis:{reducer(e,t){var{prev:n,next:r}=t.payload;e.xAxis[n.id]!==void 0&&(n.id!==r.id&&delete e.xAxis[n.id],e.xAxis[r.id]=r)},prepare:Xt()},removeXAxis:{reducer(e,t){delete e.xAxis[t.payload.id]},prepare:Xt()},addYAxis:{reducer(e,t){e.yAxis[t.payload.id]=t.payload},prepare:Xt()},replaceYAxis:{reducer(e,t){var{prev:n,next:r}=t.payload;e.yAxis[n.id]!==void 0&&(n.id!==r.id&&delete e.yAxis[n.id],e.yAxis[r.id]=r)},prepare:Xt()},removeYAxis:{reducer(e,t){delete e.yAxis[t.payload.id]},prepare:Xt()},addZAxis:{reducer(e,t){e.zAxis[t.payload.id]=t.payload},prepare:Xt()},replaceZAxis:{reducer(e,t){var{prev:n,next:r}=t.payload;e.zAxis[n.id]!==void 0&&(n.id!==r.id&&delete e.zAxis[n.id],e.zAxis[r.id]=r)},prepare:Xt()},removeZAxis:{reducer(e,t){delete e.zAxis[t.payload.id]},prepare:Xt()},updateYAxisWidth(e,t){var{id:n,width:r}=t.payload,i=e.yAxis[n];if(i){var a,o=i.widthHistory||[];if(o.length===3&&o[0]===o[2]&&r===o[1]&&r!==i.width&&Math.abs(r-((a=o[0])!==null&&a!==void 0?a:0))<=1)return;var u=[...o,r].slice(-3);e.yAxis[n]=PM(PM({},i),{},{width:r,widthHistory:u})}}}}),{addXAxis:RSe,replaceXAxis:DSe,removeXAxis:MSe,addYAxis:ISe,replaceYAxis:LSe,removeYAxis:$Se,addZAxis:VCe,replaceZAxis:ZCe,removeZAxis:YCe,updateYAxisWidth:BSe}=d8.actions,USe=d8.reducer,FSe=oe([er],e=>({top:e.top,bottom:e.bottom,left:e.left,right:e.right})),qSe=oe([FSe,ms,gs],(e,t,n)=>{if(!(!e||t==null||n==null))return{x:e.left,y:e.top,width:Math.max(0,t-e.left-e.right),height:Math.max(0,n-e.top-e.bottom)}}),kC=()=>Ke(qSe),KSe=()=>Ke(Uxe);function RM(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function zS(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?RM(Object(n),!0).forEach(function(r){HSe(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):RM(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function HSe(e,t,n){return(t=GSe(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function GSe(e){var t=VSe(e,"string");return typeof t=="symbol"?t:t+""}function VSe(e,t){if(typeof e!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}var ZSe=e=>{var{point:t,childIndex:n,mainColor:r,activeDot:i,dataKey:a,clipPath:o}=e;if(i===!1||t.x==null||t.y==null)return null;var u={index:n,dataKey:a,cx:t.x,cy:t.y,r:4,fill:r??"none",strokeWidth:2,stroke:"#fff",payload:t.payload,value:t.value},d=zS(zS(zS({},u),yv(i)),ok(i)),f;return x.isValidElement(i)?f=x.cloneElement(i,d):typeof i=="function"?f=i(d):f=x.createElement(s8,d),x.createElement(Wi,{className:"recharts-active-dot",clipPath:o},f)};function DM(e){var{points:t,mainColor:n,activeDot:r,itemDataKey:i,clipPath:a,zIndex:o=lr.activeDot}=e,u=Ke(th),d=KSe();if(t==null||d==null)return null;var f=t.find(p=>d.includes(p.payload));return Jn(f)?null:x.createElement(za,{zIndex:o},x.createElement(ZSe,{point:f,childIndex:Number(u),mainColor:n,dataKey:i,activeDot:r,clipPath:a}))}var YSe=e=>{var{chartData:t}=e,n=fn(),r=br();return x.useEffect(()=>r?()=>{}:(n(fM(t)),()=>{n(fM(void 0))}),[t,n,r]),null},MM={x:0,y:0,width:0,height:0,padding:{top:0,right:0,bottom:0,left:0}},f8=ur({name:"brush",initialState:MM,reducers:{setBrushSettings(e,t){return t.payload==null?MM:t.payload}}}),{setBrushSettings:WCe}=f8.actions,WSe=f8.reducer,QSe=(e,t)=>{var{x:n,y:r}=e,{x:i,y:a}=t;return{x:Math.min(n,i),y:Math.min(r,a),width:Math.abs(i-n),height:Math.abs(a-r)}},XSe=e=>{var{x1:t,y1:n,x2:r,y2:i}=e;return QSe({x:t,y:n},{x:r,y:i})};function JSe(e){return(e%180+180)%180}var e1e=function(t){var{width:n,height:r}=t,i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,a=JSe(i),o=a*Math.PI/180,u=Math.atan(r/n),d=o>u&&o<Math.PI-u?r/Math.sin(o):n/Math.cos(o);return Math.abs(d)},t1e={dots:[],areas:[],lines:[]},h8=ur({name:"referenceElements",initialState:t1e,reducers:{addDot:(e,t)=>{e.dots.push(t.payload)},removeDot:(e,t)=>{var n=ji(e).dots.findIndex(r=>r===t.payload);n!==-1&&e.dots.splice(n,1)},addArea:(e,t)=>{e.areas.push(t.payload)},removeArea:(e,t)=>{var n=ji(e).areas.findIndex(r=>r===t.payload);n!==-1&&e.areas.splice(n,1)},addLine:(e,t)=>{e.lines.push(t.payload)},removeLine:(e,t)=>{var n=ji(e).lines.findIndex(r=>r===t.payload);n!==-1&&e.lines.splice(n,1)}}}),{addDot:QCe,removeDot:XCe,addArea:JCe,removeArea:e_e,addLine:n1e,removeLine:r1e}=h8.actions,i1e=h8.reducer,p8=x.createContext(void 0),a1e=e=>{var{children:t}=e,[n]=x.useState("".concat(Ff("recharts"),"-clip")),r=kC();if(r==null)return null;var{x:i,y:a,width:o,height:u}=r;return x.createElement(p8.Provider,{value:n},x.createElement("defs",null,x.createElement("clipPath",{id:n},x.createElement("rect",{x:i,y:a,height:u,width:o}))),t)},s1e=()=>x.useContext(p8);class o1e{constructor(t){var{x:n,y:r}=t;this.xAxisScale=n,this.yAxisScale=r}map(t,n){var r,i,{position:a}=n;return{x:(r=this.xAxisScale.map(t.x,{position:a}))!==null&&r!==void 0?r:0,y:(i=this.yAxisScale.map(t.y,{position:a}))!==null&&i!==void 0?i:0}}mapWithFallback(t,n){var r,i,{position:a,fallback:o}=n,u,d;return o==="rangeMin"?u=this.yAxisScale.rangeMin():o==="rangeMax"?u=this.yAxisScale.rangeMax():u=0,o==="rangeMin"?d=this.xAxisScale.rangeMin():o==="rangeMax"?d=this.xAxisScale.rangeMax():d=0,{x:(r=this.xAxisScale.map(t.x,{position:a}))!==null&&r!==void 0?r:d,y:(i=this.yAxisScale.map(t.y,{position:a}))!==null&&i!==void 0?i:u}}isInRange(t){var{x:n,y:r}=t,i=n==null||this.xAxisScale.isInRange(n),a=r==null||this.yAxisScale.isInRange(r);return i&&a}}function IM(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function LM(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?IM(Object(n),!0).forEach(function(r){l1e(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):IM(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function l1e(e,t,n){return(t=c1e(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function c1e(e){var t=u1e(e,"string");return typeof t=="symbol"?t:t+""}function u1e(e,t){if(typeof e!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function Ay(){return Ay=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Ay.apply(null,arguments)}var d1e=(e,t)=>{var n;if(x.isValidElement(e))n=x.cloneElement(e,t);else if(typeof e=="function")n=e(t);else{if(!rt(t.x1)||!rt(t.y1)||!rt(t.x2)||!rt(t.y2))return null;n=x.createElement("line",Ay({},t,{className:"recharts-reference-line-line"}))}return n},f1e=(e,t,n,r,i,a)=>{var{x:o,width:u}=a,d=i.map(e,{position:n});if(!rt(d)||t==="discard"&&!i.isInRange(d))return null;var f=[{x:o+u,y:d},{x:o,y:d}];return r==="left"?f.reverse():f},h1e=(e,t,n,r,i,a)=>{var{y:o,height:u}=a,d=i.map(e,{position:n});if(!rt(d)||t==="discard"&&!i.isInRange(d))return null;var f=[{x:d,y:o+u},{x:d,y:o}];return r==="top"?f.reverse():f},p1e=(e,t,n,r)=>{var i=[r.mapWithFallback(e[0],{position:n,fallback:"rangeMin"}),r.mapWithFallback(e[1],{position:n,fallback:"rangeMax"})];return t==="discard"&&i.some(a=>!r.isInRange(a))?null:i},m1e=(e,t,n,r,i,a,o)=>{var{x:u,y:d,segment:f,ifOverflow:p}=o,m=Oi(u),y=Oi(d);return y?f1e(d,p,r,a,t,n):m?h1e(u,p,r,i,e,n):f!=null&&f.length===2?p1e(f,p,r,new o1e({x:e,y:t})):null};function g1e(e){var t=fn();return x.useEffect(()=>(t(n1e(e)),()=>{t(r1e(e))})),null}function y1e(e){var{xAxisId:t,yAxisId:n,shape:r,className:i,ifOverflow:a}=e,o=br(),u=s1e(),d=Ke(A=>Oa(A,t)),f=Ke(A=>Ea(A,n)),p=Ke(A=>Ru(A,"xAxis",t,o)),m=Ke(A=>Ru(A,"yAxis",n,o)),y=wh();if(!u||!y||d==null||f==null||p==null||m==null)return null;var v=m1e(p,m,y,e.position,d.orientation,f.orientation,e);if(!v)return null;var w=v[0],S=v[1];if(w==null||S==null)return null;var{x:j,y:k}=w,{x:O,y:_}=S,C=a==="hidden"?"url(#".concat(u,")"):void 0,T=LM(LM({clipPath:C},Mr(e)),{},{x1:j,y1:k,x2:O,y2:_}),E=XSe({x1:j,y1:k,x2:O,y2:_});return x.createElement(za,{zIndex:e.zIndex},x.createElement(Wi,{className:Tt("recharts-reference-line",i)},d1e(r,T),x.createElement(t8,Ay({},E,{lowerWidth:E.width,upperWidth:E.width}),x.createElement(r8,{label:e.label}),e.children)))}var v1e={ifOverflow:"discard",xAxisId:0,yAxisId:0,fill:"none",label:!1,stroke:"#ccc",fillOpacity:1,strokeWidth:1,position:"middle",zIndex:lr.line};function m8(e){var t=xr(e,v1e);return x.createElement(x.Fragment,null,x.createElement(g1e,{yAxisId:t.yAxisId,xAxisId:t.xAxisId,ifOverflow:t.ifOverflow,x:t.x,y:t.y,segment:t.segment}),x.createElement(y1e,t))}m8.displayName="ReferenceLine";function g8(e,t){if(t<1)return[];if(t===1)return e;for(var n=[],r=0;r<e.length;r+=t){var i=e[r];i!==void 0&&n.push(i)}return n}function x1e(e,t,n){var r={width:e.width+t.width,height:e.height+t.height};return e1e(r,n)}function b1e(e,t,n){var r=n==="width",{x:i,y:a,width:o,height:u}=e;return t===1?{start:r?i:a,end:r?i+o:a+u}:{start:r?i+o:a+u,end:r?i:a}}function rh(e,t,n,r,i){if(e*t<e*r||e*t>e*i)return!1;var a=n();return e*(t-e*a/2-r)>=0&&e*(t+e*a/2-i)<=0}function w1e(e,t){return g8(e,t+1)}function S1e(e,t,n,r,i){for(var a=(r||[]).slice(),{start:o,end:u}=t,d=0,f=1,p=o,m=function(){var w=r?.[d];if(w===void 0)return{v:g8(r,f)};var S=d,j,k=()=>(j===void 0&&(j=n(w,S)),j),O=w.coordinate,_=d===0||rh(e,O,k,p,u);_||(d=0,p=o,f+=1),_&&(p=O+e*(k()/2+i),d+=f)},y;f<=a.length;)if(y=m(),y)return y.v;return[]}function j1e(e,t,n,r,i){var a=(r||[]).slice(),o=a.length;if(o===0)return[];for(var{start:u,end:d}=t,f=1;f<=o;f++){for(var p=(o-1)%f,m=u,y=!0,v=function(){var C=r[S];if(C==null)return 0;var T=S,E,A=()=>(E===void 0&&(E=n(C,T)),E),P=C.coordinate,I=S===p||rh(e,P,A,m,d);if(!I)return y=!1,1;I&&(m=P+e*(A()/2+i))},w,S=p;S<o&&(w=v(),!(w!==0&&w===1));S+=f);if(y){for(var j=[],k=p;k<o;k+=f){var O=r[k];O!=null&&j.push(O)}return j}}return[]}function $M(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function ir(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?$M(Object(n),!0).forEach(function(r){N1e(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):$M(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function N1e(e,t,n){return(t=k1e(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function k1e(e){var t=C1e(e,"string");return typeof t=="symbol"?t:t+""}function C1e(e,t){if(typeof e!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function _1e(e,t,n,r,i){for(var a=(r||[]).slice(),o=a.length,{start:u}=t,{end:d}=t,f=function(y){var v=a[y];if(v==null)return 1;var w=v,S,j=()=>(S===void 0&&(S=n(v,y)),S);if(y===o-1){var k=e*(w.coordinate+e*j()/2-d);a[y]=w=ir(ir({},w),{},{tickCoord:k>0?w.coordinate-k*e:w.coordinate})}else a[y]=w=ir(ir({},w),{},{tickCoord:w.coordinate});if(w.tickCoord!=null){var O=rh(e,w.tickCoord,j,u,d);O&&(d=w.tickCoord-e*(j()/2+i),a[y]=ir(ir({},w),{},{isShow:!0}))}},p=o-1;p>=0;p--)f(p);return a}function A1e(e,t,n,r,i,a){var o=(r||[]).slice(),u=o.length,{start:d,end:f}=t;if(a){var p=r[u-1];if(p!=null){var m=n(p,u-1),y=e*(p.coordinate+e*m/2-f);if(o[u-1]=p=ir(ir({},p),{},{tickCoord:y>0?p.coordinate-y*e:p.coordinate}),p.tickCoord!=null){var v=rh(e,p.tickCoord,()=>m,d,f);v&&(f=p.tickCoord-e*(m/2+i),o[u-1]=ir(ir({},p),{},{isShow:!0}))}}}for(var w=a?u-1:u,S=function(O){var _=o[O];if(_==null)return 1;var C=_,T,E=()=>(T===void 0&&(T=n(_,O)),T);if(O===0){var A=e*(C.coordinate-e*E()/2-d);o[O]=C=ir(ir({},C),{},{tickCoord:A<0?C.coordinate-A*e:C.coordinate})}else o[O]=C=ir(ir({},C),{},{tickCoord:C.coordinate});if(C.tickCoord!=null){var P=rh(e,C.tickCoord,E,d,f);P&&(d=C.tickCoord+e*(E()/2+i),o[O]=ir(ir({},C),{},{isShow:!0}))}},j=0;j<w;j++)S(j);return o}function CC(e,t,n){var{tick:r,ticks:i,viewBox:a,minTickGap:o,orientation:u,interval:d,tickFormatter:f,unit:p,angle:m}=e;if(!i||!i.length||!r)return[];if(Be(d)||kh.isSsr){var y;return(y=w1e(i,Be(d)?d:0))!==null&&y!==void 0?y:[]}var v=[],w=u==="top"||u==="bottom"?"width":"height",S=p&&w==="width"?Of(p,{fontSize:t,letterSpacing:n}):{width:0,height:0},j=(T,E)=>{var A=typeof f=="function"?f(T.value,E):T.value;return w==="width"?x1e(Of(A,{fontSize:t,letterSpacing:n}),S,m):Of(A,{fontSize:t,letterSpacing:n})[w]},k=i[0],O=i[1],_=i.length>=2&&k!=null&&O!=null?Si(O.coordinate-k.coordinate):1,C=b1e(a,_,w);return d==="equidistantPreserveStart"?S1e(_,C,j,i,o):d==="equidistantPreserveEnd"?j1e(_,C,j,i,o):(d==="preserveStart"||d==="preserveStartEnd"?v=A1e(_,C,j,i,o,d==="preserveStartEnd"):v=_1e(_,C,j,i,o),v.filter(T=>T.isShow))}var O1e=e=>{var{ticks:t,label:n,labelGapWithTick:r=5,tickSize:i=0,tickMargin:a=0}=e,o=0;if(t){Array.from(t).forEach(p=>{if(p){var m=p.getBoundingClientRect();m.width>o&&(o=m.width)}});var u=n?n.getBoundingClientRect().width:0,d=i+a,f=o+d+u+(n?r:0);return Math.round(f)}return 0},E1e={xAxis:{},yAxis:{}},y8=ur({name:"renderedTicks",initialState:E1e,reducers:{setRenderedTicks:(e,t)=>{var{axisType:n,axisId:r,ticks:i}=t.payload;e[n][r]=i},removeRenderedTicks:(e,t)=>{var{axisType:n,axisId:r}=t.payload;delete e[n][r]}}}),{setRenderedTicks:z1e,removeRenderedTicks:T1e}=y8.actions,P1e=y8.reducer,R1e=["axisLine","width","height","className","hide","ticks","axisType","axisId"];function D1e(e,t){if(e==null)return{};var n,r,i=M1e(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)===-1&&{}.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}function M1e(e,t){if(e==null)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(t.indexOf(r)!==-1)continue;n[r]=e[r]}return n}function Fl(){return Fl=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Fl.apply(null,arguments)}function BM(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function mn(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?BM(Object(n),!0).forEach(function(r){I1e(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):BM(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function I1e(e,t,n){return(t=L1e(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function L1e(e){var t=$1e(e,"string");return typeof t=="symbol"?t:t+""}function $1e(e,t){if(typeof e!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}var ls={x:0,y:0,width:0,height:0,viewBox:{x:0,y:0,width:0,height:0},orientation:"bottom",ticks:[],stroke:"#666",tickLine:!0,axisLine:!0,tick:!0,mirror:!1,minTickGap:5,tickSize:6,tickMargin:2,interval:"preserveEnd",zIndex:lr.axis};function B1e(e){var{x:t,y:n,width:r,height:i,orientation:a,mirror:o,axisLine:u,otherSvgProps:d}=e;if(!u)return null;var f=mn(mn(mn({},d),Yi(u)),{},{fill:"none"});if(a==="top"||a==="bottom"){var p=+(a==="top"&&!o||a==="bottom"&&o);f=mn(mn({},f),{},{x1:t,y1:n+p*i,x2:t+r,y2:n+p*i})}else{var m=+(a==="left"&&!o||a==="right"&&o);f=mn(mn({},f),{},{x1:t+m*r,y1:n,x2:t+m*r,y2:n+i})}return x.createElement("line",Fl({},f,{className:Tt("recharts-cartesian-axis-line",wv(u,"className"))}))}function U1e(e,t,n,r,i,a,o,u,d){var f,p,m,y,v,w,S=u?-1:1,j=e.tickSize||o,k=Be(e.tickCoord)?e.tickCoord:e.coordinate;switch(a){case"top":f=p=e.coordinate,y=n+ +!u*i,m=y-S*j,w=m-S*d,v=k;break;case"left":m=y=e.coordinate,p=t+ +!u*r,f=p-S*j,v=f-S*d,w=k;break;case"right":m=y=e.coordinate,p=t+ +u*r,f=p+S*j,v=f+S*d,w=k;break;default:f=p=e.coordinate,y=n+ +u*i,m=y+S*j,w=m+S*d,v=k;break}return{line:{x1:f,y1:m,x2:p,y2:y},tick:{x:v,y:w}}}function F1e(e,t){switch(e){case"left":return t?"start":"end";case"right":return t?"end":"start";default:return"middle"}}function q1e(e,t){switch(e){case"left":case"right":return"middle";case"top":return t?"start":"end";default:return t?"end":"start"}}function K1e(e){var{option:t,tickProps:n,value:r}=e,i,a=Tt(n.className,"recharts-cartesian-axis-tick-value");if(x.isValidElement(t))i=x.cloneElement(t,mn(mn({},n),{},{className:a}));else if(typeof t=="function")i=t(mn(mn({},n),{},{className:a}));else{var o="recharts-cartesian-axis-tick-value";typeof t!="boolean"&&(o=Tt(o,sSe(t))),i=x.createElement(jC,Fl({},n,{className:o}),r)}return i}function H1e(e){var{ticks:t,axisType:n,axisId:r}=e,i=fn();return x.useEffect(()=>{if(r==null||n==null)return Gu;var a=t.map(o=>({value:o.value,coordinate:o.coordinate,offset:o.offset,index:o.index}));return i(z1e({ticks:a,axisId:r,axisType:n})),()=>{i(T1e({axisId:r,axisType:n}))}},[i,t,r,n]),null}var G1e=x.forwardRef((e,t)=>{var{ticks:n=[],tick:r,tickLine:i,stroke:a,tickFormatter:o,unit:u,padding:d,tickTextProps:f,orientation:p,mirror:m,x:y,y:v,width:w,height:S,tickSize:j,tickMargin:k,fontSize:O,letterSpacing:_,getTicksConfig:C,events:T,axisType:E,axisId:A}=e,P=CC(mn(mn({},C),{},{ticks:n}),O,_),I=Yi(C),q=yv(r),$=WU(I.textAnchor)?I.textAnchor:F1e(p,m),U=q1e(p,m),G={};typeof i=="object"&&(G=i);var te=mn(mn({},I),{},{fill:"none"},G),Z=P.map(pe=>mn({entry:pe},U1e(pe,y,v,w,S,p,j,m,k))),K=Z.map(pe=>{var{entry:Ne,line:R}=pe;return x.createElement(Wi,{className:"recharts-cartesian-axis-tick",key:"tick-".concat(Ne.value,"-").concat(Ne.coordinate,"-").concat(Ne.tickCoord)},i&&x.createElement("line",Fl({},te,R,{className:Tt("recharts-cartesian-axis-tick-line",wv(i,"className"))})))}),X=Z.map((pe,Ne)=>{var R,B,{entry:F,tick:M}=pe,W=mn(mn(mn(mn({verticalAnchor:U},I),{},{textAnchor:$,stroke:"none",fill:a},M),{},{index:Ne,payload:F,visibleTicksCount:P.length,tickFormatter:o,padding:d},f),{},{angle:(R=(B=f?.angle)!==null&&B!==void 0?B:I.angle)!==null&&R!==void 0?R:0}),ae=mn(mn({},W),q);return x.createElement(Wi,Fl({className:"recharts-cartesian-axis-tick-label",key:"tick-label-".concat(F.value,"-").concat(F.coordinate,"-").concat(F.tickCoord)},u3(T,F,Ne)),r&&x.createElement(K1e,{option:r,tickProps:ae,value:"".concat(typeof o=="function"?o(F.value,Ne):F.value).concat(u||"")}))});return x.createElement("g",{className:"recharts-cartesian-axis-ticks recharts-".concat(E,"-ticks")},x.createElement(H1e,{ticks:P,axisId:A,axisType:E}),X.length>0&&x.createElement(za,{zIndex:lr.label},x.createElement("g",{className:"recharts-cartesian-axis-tick-labels recharts-".concat(E,"-tick-labels"),ref:t},X)),K.length>0&&x.createElement("g",{className:"recharts-cartesian-axis-tick-lines recharts-".concat(E,"-tick-lines")},K))}),V1e=x.forwardRef((e,t)=>{var{axisLine:n,width:r,height:i,className:a,hide:o,ticks:u,axisType:d,axisId:f}=e,p=D1e(e,R1e),[m,y]=x.useState(""),[v,w]=x.useState(""),S=x.useRef(null);x.useImperativeHandle(t,()=>({getCalculatedWidth:()=>{var k;return O1e({ticks:S.current,label:(k=e.labelRef)===null||k===void 0?void 0:k.current,labelGapWithTick:5,tickSize:e.tickSize,tickMargin:e.tickMargin})}}));var j=x.useCallback(k=>{if(k){var O=k.getElementsByClassName("recharts-cartesian-axis-tick-value");S.current=O;var _=O[0];if(_){var C=window.getComputedStyle(_),T=C.fontSize,E=C.letterSpacing;(T!==m||E!==v)&&(y(T),w(E))}}},[m,v]);return o||r!=null&&r<=0||i!=null&&i<=0?null:x.createElement(za,{zIndex:e.zIndex},x.createElement(Wi,{className:Tt("recharts-cartesian-axis",a)},x.createElement(B1e,{x:e.x,y:e.y,width:r,height:i,orientation:e.orientation,mirror:e.mirror,axisLine:n,otherSvgProps:Yi(e)}),x.createElement(G1e,{ref:j,axisType:d,events:p,fontSize:m,getTicksConfig:e,height:e.height,letterSpacing:v,mirror:e.mirror,orientation:e.orientation,padding:e.padding,stroke:e.stroke,tick:e.tick,tickFormatter:e.tickFormatter,tickLine:e.tickLine,tickMargin:e.tickMargin,tickSize:e.tickSize,tickTextProps:e.tickTextProps,ticks:u,unit:e.unit,width:e.width,x:e.x,y:e.y,axisId:f}),x.createElement(t8,{x:e.x,y:e.y,width:e.width,height:e.height,lowerWidth:e.width,upperWidth:e.width},x.createElement(r8,{label:e.label,labelRef:e.labelRef}),e.children)))}),_C=x.forwardRef((e,t)=>{var n=xr(e,ls);return x.createElement(V1e,Fl({},n,{ref:t}))});_C.displayName="CartesianAxis";var Z1e=["x1","y1","x2","y2","key"],Y1e=["offset"],W1e=["xAxisId","yAxisId"],Q1e=["xAxisId","yAxisId"];function UM(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function or(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?UM(Object(n),!0).forEach(function(r){X1e(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):UM(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function X1e(e,t,n){return(t=J1e(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function J1e(e){var t=eje(e,"string");return typeof t=="symbol"?t:t+""}function eje(e,t){if(typeof e!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function vl(){return vl=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},vl.apply(null,arguments)}function Oy(e,t){if(e==null)return{};var n,r,i=tje(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)===-1&&{}.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}function tje(e,t){if(e==null)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(t.indexOf(r)!==-1)continue;n[r]=e[r]}return n}var nje=e=>{var{fill:t}=e;if(!t||t==="none")return null;var{fillOpacity:n,x:r,y:i,width:a,height:o,ry:u}=e;return x.createElement("rect",{x:r,y:i,ry:u,width:a,height:o,stroke:"none",fill:t,fillOpacity:n,className:"recharts-cartesian-grid-bg"})};function v8(e){var{option:t,lineItemProps:n}=e,r;if(x.isValidElement(t))r=x.cloneElement(t,n);else if(typeof t=="function")r=t(n);else{var i,{x1:a,y1:o,x2:u,y2:d,key:f}=n,p=Oy(n,Z1e),m=(i=Yi(p))!==null&&i!==void 0?i:{},{offset:y}=m,v=Oy(m,Y1e);r=x.createElement("line",vl({},v,{x1:a,y1:o,x2:u,y2:d,fill:"none",key:f}))}return r}function rje(e){var{x:t,width:n,horizontal:r=!0,horizontalPoints:i}=e;if(!r||!i||!i.length)return null;var{xAxisId:a,yAxisId:o}=e,u=Oy(e,W1e),d=i.map((f,p)=>{var m=or(or({},u),{},{x1:t,y1:f,x2:t+n,y2:f,key:"line-".concat(p),index:p});return x.createElement(v8,{key:"line-".concat(p),option:r,lineItemProps:m})});return x.createElement("g",{className:"recharts-cartesian-grid-horizontal"},d)}function ije(e){var{y:t,height:n,vertical:r=!0,verticalPoints:i}=e;if(!r||!i||!i.length)return null;var{xAxisId:a,yAxisId:o}=e,u=Oy(e,Q1e),d=i.map((f,p)=>{var m=or(or({},u),{},{x1:f,y1:t,x2:f,y2:t+n,key:"line-".concat(p),index:p});return x.createElement(v8,{option:r,lineItemProps:m,key:"line-".concat(p)})});return x.createElement("g",{className:"recharts-cartesian-grid-vertical"},d)}function aje(e){var{horizontalFill:t,fillOpacity:n,x:r,y:i,width:a,height:o,horizontalPoints:u,horizontal:d=!0}=e;if(!d||!t||!t.length||u==null)return null;var f=u.map(m=>Math.round(m+i-i)).sort((m,y)=>m-y);i!==f[0]&&f.unshift(0);var p=f.map((m,y)=>{var v=f[y+1],w=v==null,S=w?i+o-m:v-m;if(S<=0)return null;var j=y%t.length;return x.createElement("rect",{key:"react-".concat(y),y:m,x:r,height:S,width:a,stroke:"none",fill:t[j],fillOpacity:n,className:"recharts-cartesian-grid-bg"})});return x.createElement("g",{className:"recharts-cartesian-gridstripes-horizontal"},p)}function sje(e){var{vertical:t=!0,verticalFill:n,fillOpacity:r,x:i,y:a,width:o,height:u,verticalPoints:d}=e;if(!t||!n||!n.length)return null;var f=d.map(m=>Math.round(m+i-i)).sort((m,y)=>m-y);i!==f[0]&&f.unshift(0);var p=f.map((m,y)=>{var v=f[y+1],w=v==null,S=w?i+o-m:v-m;if(S<=0)return null;var j=y%n.length;return x.createElement("rect",{key:"react-".concat(y),x:m,y:a,width:S,height:u,stroke:"none",fill:n[j],fillOpacity:r,className:"recharts-cartesian-grid-bg"})});return x.createElement("g",{className:"recharts-cartesian-gridstripes-vertical"},p)}var oje=(e,t)=>{var{xAxis:n,width:r,height:i,offset:a}=e;return rB(CC(or(or(or({},ls),n),{},{ticks:iB(n),viewBox:{x:0,y:0,width:r,height:i}})),a.left,a.left+a.width,t)},lje=(e,t)=>{var{yAxis:n,width:r,height:i,offset:a}=e;return rB(CC(or(or(or({},ls),n),{},{ticks:iB(n),viewBox:{x:0,y:0,width:r,height:i}})),a.top,a.top+a.height,t)},cje={horizontal:!0,vertical:!0,horizontalPoints:[],verticalPoints:[],stroke:"#ccc",fill:"none",verticalFill:[],horizontalFill:[],xAxisId:0,yAxisId:0,syncWithTicks:!1,zIndex:lr.grid};function x8(e){var t=vk(),n=xk(),r=dB(),i=or(or({},xr(e,cje)),{},{x:Be(e.x)?e.x:r.left,y:Be(e.y)?e.y:r.top,width:Be(e.width)?e.width:r.width,height:Be(e.height)?e.height:r.height}),{xAxisId:a,yAxisId:o,x:u,y:d,width:f,height:p,syncWithTicks:m,horizontalValues:y,verticalValues:v}=i,w=br(),S=Ke(I=>JD(I,"xAxis",a,w)),j=Ke(I=>JD(I,"yAxis",o,w));if(!Na(f)||!Na(p)||!Be(u)||!Be(d))return null;var k=i.verticalCoordinatesGenerator||oje,O=i.horizontalCoordinatesGenerator||lje,{horizontalPoints:_,verticalPoints:C}=i;if((!_||!_.length)&&typeof O=="function"){var T=y&&y.length,E=O({yAxis:j?or(or({},j),{},{ticks:T?y:j.ticks}):void 0,width:t??f,height:n??p,offset:r},T?!0:m);Jg(Array.isArray(E),"horizontalCoordinatesGenerator should return Array but instead it returned [".concat(typeof E,"]")),Array.isArray(E)&&(_=E)}if((!C||!C.length)&&typeof k=="function"){var A=v&&v.length,P=k({xAxis:S?or(or({},S),{},{ticks:A?v:S.ticks}):void 0,width:t??f,height:n??p,offset:r},A?!0:m);Jg(Array.isArray(P),"verticalCoordinatesGenerator should return Array but instead it returned [".concat(typeof P,"]")),Array.isArray(P)&&(C=P)}return x.createElement(za,{zIndex:i.zIndex},x.createElement("g",{className:"recharts-cartesian-grid"},x.createElement(nje,{fill:i.fill,fillOpacity:i.fillOpacity,x:i.x,y:i.y,width:i.width,height:i.height,ry:i.ry}),x.createElement(aje,vl({},i,{horizontalPoints:_})),x.createElement(sje,vl({},i,{verticalPoints:C})),x.createElement(rje,vl({},i,{offset:r,horizontalPoints:_,xAxis:S,yAxis:j})),x.createElement(ije,vl({},i,{offset:r,verticalPoints:C,xAxis:S,yAxis:j}))))}x8.displayName="CartesianGrid";var uje={},b8=ur({name:"errorBars",initialState:uje,reducers:{addErrorBar:(e,t)=>{var{itemId:n,errorBar:r}=t.payload;e[n]||(e[n]=[]),e[n].push(r)},replaceErrorBar:(e,t)=>{var{itemId:n,prev:r,next:i}=t.payload;e[n]&&(e[n]=e[n].map(a=>a.dataKey===r.dataKey&&a.direction===r.direction?i:a))},removeErrorBar:(e,t)=>{var{itemId:n,errorBar:r}=t.payload;e[n]&&(e[n]=e[n].filter(i=>i.dataKey!==r.dataKey||i.direction!==r.direction))}}}),{addErrorBar:t_e,replaceErrorBar:n_e,removeErrorBar:r_e}=b8.actions,dje=b8.reducer;function w8(e,t){var n,r,i=Ke(f=>Oa(f,e)),a=Ke(f=>Ea(f,t)),o=(n=i?.allowDataOverflow)!==null&&n!==void 0?n:Rn.allowDataOverflow,u=(r=a?.allowDataOverflow)!==null&&r!==void 0?r:Dn.allowDataOverflow,d=o||u;return{needClip:d,needClipX:o,needClipY:u}}function fje(e){var{xAxisId:t,yAxisId:n,clipPathId:r}=e,i=kC(),{needClipX:a,needClipY:o,needClip:u}=w8(t,n);if(!u||!i)return null;var{x:d,y:f,width:p,height:m}=i;return x.createElement("clipPath",{id:"clipPath-".concat(r)},x.createElement("rect",{x:a?d:d-p/2,y:o?f:f-m/2,width:a?p:p*2,height:o?m:m*2}))}function hje(e){var t=yv(e),n=3,r=2;if(t!=null){var{r:i,strokeWidth:a}=t,o=Number(i),u=Number(a);return(Number.isNaN(o)||o<0)&&(o=n),(Number.isNaN(u)||u<0)&&(u=r),{r:o,strokeWidth:u}}return{r:n,strokeWidth:r}}function AC(e,t){var n,r;return(n=(r=e.graphicalItems.cartesianItems.find(i=>i.id===t))===null||r===void 0?void 0:r.xAxisId)!==null&&n!==void 0?n:u8}function OC(e,t){var n,r;return(n=(r=e.graphicalItems.cartesianItems.find(i=>i.id===t))===null||r===void 0?void 0:r.yAxisId)!==null&&n!==void 0?n:u8}var S8=(e,t,n)=>pU(e,"xAxis",AC(e,t),n),j8=(e,t,n)=>hU(e,"xAxis",AC(e,t),n),N8=(e,t,n)=>pU(e,"yAxis",OC(e,t),n),k8=(e,t,n)=>hU(e,"yAxis",OC(e,t),n),pje=oe([sn,S8,N8,j8,k8],(e,t,n,r,i)=>Aa(e,"xAxis")?Xg(t,r,!1):Xg(n,i,!1)),mje=(e,t)=>t,C8=oe([D6,mje],(e,t)=>e.filter(n=>n.type==="area").find(n=>n.id===t)),_8=e=>{var t=sn(e),n=Aa(t,"xAxis");return n?"yAxis":"xAxis"},gje=(e,t)=>{var n=_8(e);return n==="yAxis"?OC(e,t):AC(e,t)},yje=(e,t,n)=>H6(e,_8(e),gje(e,t),n),vje=oe([C8,yje],(e,t)=>{var n;if(!(e==null||t==null)){var{stackId:r}=e,i=Pk(e);if(!(r==null||i==null)){var a=(n=t[r])===null||n===void 0?void 0:n.stackedData,o=a?.find(u=>u.key===i);if(o!=null)return o.map(u=>[u[0],u[1]])}}}),xje=oe([sn,S8,N8,j8,k8,vje,Ime,pje,C8,Gme],(e,t,n,r,i,a,o,u,d,f)=>{var{chartData:p,dataStartIndex:m,dataEndIndex:y}=o;if(!(d==null||e!=="horizontal"&&e!=="vertical"||t==null||n==null||r==null||i==null||r.length===0||i.length===0||u==null)){var{data:v}=d,w;if(v&&v.length>0?w=v:w=p?.slice(m,y+1),w!=null)return $je({layout:e,xAxis:t,yAxis:n,xAxisTicks:r,yAxisTicks:i,dataStartIndex:m,areaSettings:d,stackedData:a,displayedData:w,chartBaseValue:f,bandSize:u})}}),bje=["id"],wje=["activeDot","animationBegin","animationDuration","animationEasing","connectNulls","dot","fill","fillOpacity","hide","isAnimationActive","legendType","stroke","xAxisId","yAxisId"];function _l(){return _l=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},_l.apply(null,arguments)}function A8(e,t){if(e==null)return{};var n,r,i=Sje(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)===-1&&{}.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}function Sje(e,t){if(e==null)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(t.indexOf(r)!==-1)continue;n[r]=e[r]}return n}function FM(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function lu(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?FM(Object(n),!0).forEach(function(r){jje(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):FM(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function jje(e,t,n){return(t=Nje(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Nje(e){var t=kje(e,"string");return typeof t=="symbol"?t:t+""}function kje(e,t){if(typeof e!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function Ey(e,t){return e&&e!=="none"?e:t}var Cje=e=>{var{dataKey:t,name:n,stroke:r,fill:i,legendType:a,hide:o}=e;return[{inactive:o,dataKey:t,type:a,color:Ey(r,i),value:aB(n,t),payload:e}]},_je=x.memo(e=>{var{dataKey:t,data:n,stroke:r,strokeWidth:i,fill:a,name:o,hide:u,unit:d,tooltipType:f,id:p}=e,m={dataDefinedOnItem:n,getPosition:Gu,settings:{stroke:r,strokeWidth:i,fill:a,dataKey:t,nameKey:void 0,name:aB(o,t),hide:u,type:f,color:Ey(r,a),unit:d,graphicalItemId:p}};return x.createElement(oSe,{tooltipEntrySettings:m})});function Aje(e){var{clipPathId:t,points:n,props:r}=e,{needClip:i,dot:a,dataKey:o}=r,u=Yi(r);return x.createElement(OSe,{points:n,dot:a,className:"recharts-area-dots",dotClassName:"recharts-area-dot",dataKey:o,baseProps:u,needClip:i,clipPathId:t})}function Oje(e){var{showLabels:t,children:n,points:r}=e,i=r.map(a=>{var o,u,d={x:(o=a.x)!==null&&o!==void 0?o:0,y:(u=a.y)!==null&&u!==void 0?u:0,width:0,lowerWidth:0,upperWidth:0,height:0};return lu(lu({},d),{},{value:a.value,payload:a.payload,parentViewBox:void 0,viewBox:d,fill:void 0})});return x.createElement(eSe,{value:t?i:void 0},n)}function qM(e){var{points:t,baseLine:n,needClip:r,clipPathId:i,props:a}=e,{layout:o,type:u,stroke:d,connectNulls:f,isRange:p}=a,{id:m}=a,y=A8(a,bje),v=Yi(y),w=Mr(y);return x.createElement(x.Fragment,null,t?.length>1&&x.createElement(Wi,{clipPath:r?"url(#clipPath-".concat(i,")"):void 0},x.createElement(cg,_l({},w,{id:m,points:t,connectNulls:f,type:u,baseLine:n,layout:o,stroke:"none",className:"recharts-area-area"})),d!=="none"&&x.createElement(cg,_l({},v,{className:"recharts-area-curve",layout:o,type:u,connectNulls:f,fill:"none",points:t})),d!=="none"&&p&&Array.isArray(n)&&x.createElement(cg,_l({},v,{className:"recharts-area-curve",layout:o,type:u,connectNulls:f,fill:"none",points:n}))),x.createElement(Aje,{points:t,props:y,clipPathId:i}))}function Eje(e){var t,n,{alpha:r,baseLine:i,points:a,strokeWidth:o}=e,u=(t=a[0])===null||t===void 0?void 0:t.y,d=(n=a[a.length-1])===null||n===void 0?void 0:n.y;if(!rt(u)||!rt(d))return null;var f=r*Math.abs(u-d),p=Math.max(...a.map(m=>m.x||0));return Be(i)?p=Math.max(i,p):i&&Array.isArray(i)&&i.length&&(p=Math.max(...i.map(m=>m.x||0),p)),Be(p)?x.createElement("rect",{x:0,y:u<d?u:u-f,width:p+(o?parseInt("".concat(o),10):1),height:Math.floor(f)}):null}function zje(e){var t,n,{alpha:r,baseLine:i,points:a,strokeWidth:o}=e,u=(t=a[0])===null||t===void 0?void 0:t.x,d=(n=a[a.length-1])===null||n===void 0?void 0:n.x;if(!rt(u)||!rt(d))return null;var f=r*Math.abs(u-d),p=Math.max(...a.map(m=>m.y||0));return Be(i)?p=Math.max(i,p):i&&Array.isArray(i)&&i.length&&(p=Math.max(...i.map(m=>m.y||0),p)),Be(p)?x.createElement("rect",{x:u<d?u:u-f,y:0,width:f,height:Math.floor(p+(o?parseInt("".concat(o),10):1))}):null}function Tje(e){var{alpha:t,layout:n,points:r,baseLine:i,strokeWidth:a}=e;return n==="vertical"?x.createElement(Eje,{alpha:t,points:r,baseLine:i,strokeWidth:a}):x.createElement(zje,{alpha:t,points:r,baseLine:i,strokeWidth:a})}function Pje(e){var{needClip:t,clipPathId:n,props:r,previousPointsRef:i,previousBaselineRef:a}=e,{points:o,baseLine:u,isAnimationActive:d,animationBegin:f,animationDuration:p,animationEasing:m,onAnimationStart:y,onAnimationEnd:v}=r,w=x.useMemo(()=>({points:o,baseLine:u}),[o,u]),S=CB(w,"recharts-area-"),j=bk(),[k,O]=x.useState(!1),_=!k,C=x.useCallback(()=>{typeof v=="function"&&v(),O(!1)},[v]),T=x.useCallback(()=>{typeof y=="function"&&y(),O(!0)},[y]);if(j==null)return null;var E=i.current,A=a.current;return x.createElement(Oje,{showLabels:_,points:o},r.children,x.createElement(kB,{animationId:S,begin:f,duration:p,isActive:d,easing:m,onAnimationEnd:C,onAnimationStart:T,key:S},P=>{if(E){var I=E.length/o.length,q=P===1?o:o.map((U,G)=>{var te=Math.floor(G*I);if(E[te]){var Z=E[te];return lu(lu({},U),{},{x:ha(Z.x,U.x,P),y:ha(Z.y,U.y,P)})}return U}),$;return Be(u)?$=ha(A,u,P):Jn(u)||ja(u)?$=ha(A,0,P):$=u.map((U,G)=>{var te=Math.floor(G*I);if(Array.isArray(A)&&A[te]){var Z=A[te];return lu(lu({},U),{},{x:ha(Z.x,U.x,P),y:ha(Z.y,U.y,P)})}return U}),P>0&&(i.current=q,a.current=$),x.createElement(qM,{points:q,baseLine:$,needClip:t,clipPathId:n,props:r})}return P>0&&(i.current=o,a.current=u),x.createElement(Wi,null,d&&x.createElement("defs",null,x.createElement("clipPath",{id:"animationClipPath-".concat(n)},x.createElement(Tje,{alpha:P,points:o,baseLine:u,layout:j,strokeWidth:r.strokeWidth}))),x.createElement(Wi,{clipPath:"url(#animationClipPath-".concat(n,")")},x.createElement(qM,{points:o,baseLine:u,needClip:t,clipPathId:n,props:r})))}),x.createElement(rSe,{label:r.label}))}function Rje(e){var{needClip:t,clipPathId:n,props:r}=e,i=x.useRef(null),a=x.useRef();return x.createElement(Pje,{needClip:t,clipPathId:n,props:r,previousPointsRef:i,previousBaselineRef:a})}class Dje extends x.PureComponent{render(){var{hide:t,dot:n,points:r,className:i,top:a,left:o,needClip:u,xAxisId:d,yAxisId:f,width:p,height:m,id:y,baseLine:v,zIndex:w}=this.props;if(t)return null;var S=Tt("recharts-area",i),j=y,{r:k,strokeWidth:O}=hje(n),_=l8(n),C=k*2+O,T=u?"url(#clipPath-".concat(_?"":"dots-").concat(j,")"):void 0;return x.createElement(za,{zIndex:w},x.createElement(Wi,{className:S},u&&x.createElement("defs",null,x.createElement(fje,{clipPathId:j,xAxisId:d,yAxisId:f}),!_&&x.createElement("clipPath",{id:"clipPath-dots-".concat(j)},x.createElement("rect",{x:o-C/2,y:a-C/2,width:p+C,height:m+C}))),x.createElement(Rje,{needClip:u,clipPathId:j,props:this.props})),x.createElement(DM,{points:r,mainColor:Ey(this.props.stroke,this.props.fill),itemDataKey:this.props.dataKey,activeDot:this.props.activeDot,clipPath:T}),this.props.isRange&&Array.isArray(v)&&x.createElement(DM,{points:v,mainColor:Ey(this.props.stroke,this.props.fill),itemDataKey:this.props.dataKey,activeDot:this.props.activeDot,clipPath:T}))}}var Mje={activeDot:!0,animationBegin:0,animationDuration:1500,animationEasing:"ease",connectNulls:!1,dot:!1,fill:"#3182bd",fillOpacity:.6,hide:!1,isAnimationActive:"auto",legendType:"line",stroke:"#3182bd",strokeWidth:1,type:"linear",label:!1,xAxisId:0,yAxisId:0,zIndex:lr.area};function Ije(e){var t,{activeDot:n,animationBegin:r,animationDuration:i,animationEasing:a,connectNulls:o,dot:u,fill:d,fillOpacity:f,hide:p,isAnimationActive:m,legendType:y,stroke:v,xAxisId:w,yAxisId:S}=e,j=A8(e,wje),k=Vu(),O=IU(),{needClip:_}=w8(w,S),C=br(),{points:T,isRange:E,baseLine:A}=(t=Ke(G=>xje(G,e.id,C)))!==null&&t!==void 0?t:{},P=kC();if(k!=="horizontal"&&k!=="vertical"||P==null||O!=="AreaChart"&&O!=="ComposedChart")return null;var{height:I,width:q,x:$,y:U}=P;return!T||!T.length?null:x.createElement(Dje,_l({},j,{activeDot:n,animationBegin:r,animationDuration:i,animationEasing:a,baseLine:A,connectNulls:o,dot:u,fill:d,fillOpacity:f,height:I,hide:p,layout:k,isAnimationActive:m,isRange:E,legendType:y,needClip:_,points:T,stroke:v,width:q,left:$,top:U,xAxisId:w,yAxisId:S}))}var Lje=(e,t,n,r,i)=>{var a=n??t;if(Be(a))return a;var o=e==="horizontal"?i:r,u=o.scale.domain();if(o.type==="number"){var d=Math.max(u[0],u[1]),f=Math.min(u[0],u[1]);return a==="dataMin"?f:a==="dataMax"||d<0?d:Math.max(Math.min(u[0],u[1]),0)}return a==="dataMin"?u[0]:a==="dataMax"?u[1]:u[0]};function $je(e){var{areaSettings:{connectNulls:t,baseValue:n,dataKey:r},stackedData:i,layout:a,chartBaseValue:o,xAxis:u,yAxis:d,displayedData:f,dataStartIndex:p,xAxisTicks:m,yAxisTicks:y,bandSize:v}=e,w=i&&i.length,S=Lje(a,o,n,u,d),j=a==="horizontal",k=!1,O=f.map((C,T)=>{var E,A,P,I;if(w)I=i[p+T];else{var q=Un(C,r);Array.isArray(q)?(I=q,k=!0):I=[S,q]}var $=(E=(A=I)===null||A===void 0?void 0:A[1])!==null&&E!==void 0?E:null,U=$==null||w&&!t&&Un(C,r)==null;if(j){var G;return{x:VP({axis:u,ticks:m,bandSize:v,entry:C,index:T}),y:U?null:(G=d.scale.map($))!==null&&G!==void 0?G:null,value:I,payload:C}}return{x:U?null:(P=u.scale.map($))!==null&&P!==void 0?P:null,y:VP({axis:d,ticks:y,bandSize:v,entry:C,index:T}),value:I,payload:C}}),_;return w||k?_=O.map(C=>{var T,E=Array.isArray(C.value)?C.value[0]:null;if(j){var A;return{x:C.x,y:E!=null&&C.y!=null&&(A=d.scale.map(E))!==null&&A!==void 0?A:null,payload:C.payload}}return{x:E!=null&&(T=u.scale.map(E))!==null&&T!==void 0?T:null,y:C.y,payload:C.payload}}):_=j?d.scale.map(S):u.scale.map(S),{points:O,baseLine:_??0,isRange:k}}function Bje(e){var t=xr(e,Mje),n=br();return x.createElement(hSe,{id:t.id,type:"area"},r=>x.createElement(x.Fragment,null,x.createElement(lSe,{legendPayload:Cje(t)}),x.createElement(_je,{dataKey:t.dataKey,data:t.data,stroke:t.stroke,strokeWidth:t.strokeWidth,fill:t.fill,name:t.name,hide:t.hide,unit:t.unit,tooltipType:t.tooltipType,id:r}),x.createElement(bSe,{type:"area",id:r,data:t.data,dataKey:t.dataKey,xAxisId:t.xAxisId,yAxisId:t.yAxisId,zAxisId:0,stackId:Cfe(t.stackId),hide:t.hide,barSize:void 0,baseValue:t.baseValue,isPanorama:n,connectNulls:t.connectNulls}),x.createElement(Ije,_l({},t,{id:r}))))}var xl=x.memo(Bje,Nh);xl.displayName="Area";var Uje=["domain","range"],Fje=["domain","range"];function KM(e,t){if(e==null)return{};var n,r,i=qje(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)===-1&&{}.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}function qje(e,t){if(e==null)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(t.indexOf(r)!==-1)continue;n[r]=e[r]}return n}function HM(e,t){return e===t?!0:Array.isArray(e)&&e.length===2&&Array.isArray(t)&&t.length===2?e[0]===t[0]&&e[1]===t[1]:!1}function O8(e,t){if(e===t)return!0;var{domain:n,range:r}=e,i=KM(e,Uje),{domain:a,range:o}=t,u=KM(t,Fje);return!HM(n,a)||!HM(r,o)?!1:Nh(i,u)}var Kje=["type"],Hje=["dangerouslySetInnerHTML","ticks","scale"],Gje=["id","scale"];function Sj(){return Sj=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Sj.apply(null,arguments)}function GM(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function VM(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?GM(Object(n),!0).forEach(function(r){Vje(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):GM(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function Vje(e,t,n){return(t=Zje(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Zje(e){var t=Yje(e,"string");return typeof t=="symbol"?t:t+""}function Yje(e,t){if(typeof e!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function jj(e,t){if(e==null)return{};var n,r,i=Wje(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)===-1&&{}.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}function Wje(e,t){if(e==null)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(t.indexOf(r)!==-1)continue;n[r]=e[r]}return n}function Qje(e){var t=fn(),n=x.useRef(null),r=bk(),{type:i}=e,a=jj(e,Kje),o=Fv(r,"xAxis",i),u=x.useMemo(()=>{if(o!=null)return VM(VM({},a),{},{type:o})},[a,o]);return x.useLayoutEffect(()=>{u!=null&&(n.current===null?t(RSe(u)):n.current!==u&&t(DSe({prev:n.current,next:u})),n.current=u)},[u,t]),x.useLayoutEffect(()=>()=>{n.current&&(t(MSe(n.current)),n.current=null)},[t]),null}var Xje=e=>{var{xAxisId:t,className:n}=e,r=Ke(oB),i=br(),a="xAxis",o=Ke(k=>fU(k,a,t,i)),u=Ke(k=>S0e(k,t)),d=Ke(k=>A0e(k,t)),f=Ke(k=>z6(k,t));if(u==null||d==null||f==null)return null;var{dangerouslySetInnerHTML:p,ticks:m,scale:y}=e,v=jj(e,Hje),{id:w,scale:S}=f,j=jj(f,Gje);return x.createElement(_C,Sj({},v,j,{x:d.x,y:d.y,width:u.width,height:u.height,className:Tt("recharts-".concat(a," ").concat(a),n),viewBox:r,ticks:o,axisType:a,axisId:t}))},Jje={allowDataOverflow:Rn.allowDataOverflow,allowDecimals:Rn.allowDecimals,allowDuplicatedCategory:Rn.allowDuplicatedCategory,angle:Rn.angle,axisLine:ls.axisLine,height:Rn.height,hide:!1,includeHidden:Rn.includeHidden,interval:Rn.interval,label:!1,minTickGap:Rn.minTickGap,mirror:Rn.mirror,orientation:Rn.orientation,padding:Rn.padding,reversed:Rn.reversed,scale:Rn.scale,tick:Rn.tick,tickCount:Rn.tickCount,tickLine:ls.tickLine,tickSize:ls.tickSize,type:Rn.type,niceTicks:Rn.niceTicks,xAxisId:0},eNe=e=>{var t=xr(e,Jje);return x.createElement(x.Fragment,null,x.createElement(Qje,{allowDataOverflow:t.allowDataOverflow,allowDecimals:t.allowDecimals,allowDuplicatedCategory:t.allowDuplicatedCategory,angle:t.angle,dataKey:t.dataKey,domain:t.domain,height:t.height,hide:t.hide,id:t.xAxisId,includeHidden:t.includeHidden,interval:t.interval,minTickGap:t.minTickGap,mirror:t.mirror,name:t.name,orientation:t.orientation,padding:t.padding,reversed:t.reversed,scale:t.scale,tick:t.tick,tickCount:t.tickCount,tickFormatter:t.tickFormatter,ticks:t.ticks,type:t.type,unit:t.unit,niceTicks:t.niceTicks}),x.createElement(Xje,t))},ih=x.memo(eNe,O8);ih.displayName="XAxis";var tNe=["type"],nNe=["dangerouslySetInnerHTML","ticks","scale"],rNe=["id","scale"];function Nj(){return Nj=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Nj.apply(null,arguments)}function ZM(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function YM(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?ZM(Object(n),!0).forEach(function(r){iNe(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ZM(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function iNe(e,t,n){return(t=aNe(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function aNe(e){var t=sNe(e,"string");return typeof t=="symbol"?t:t+""}function sNe(e,t){if(typeof e!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function kj(e,t){if(e==null)return{};var n,r,i=oNe(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)===-1&&{}.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}function oNe(e,t){if(e==null)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(t.indexOf(r)!==-1)continue;n[r]=e[r]}return n}function lNe(e){var t=fn(),n=x.useRef(null),r=bk(),{type:i}=e,a=kj(e,tNe),o=Fv(r,"yAxis",i),u=x.useMemo(()=>{if(o!=null)return YM(YM({},a),{},{type:o})},[o,a]);return x.useLayoutEffect(()=>{u!=null&&(n.current===null?t(ISe(u)):n.current!==u&&t(LSe({prev:n.current,next:u})),n.current=u)},[u,t]),x.useLayoutEffect(()=>()=>{n.current&&(t($Se(n.current)),n.current=null)},[t]),null}function cNe(e){var{yAxisId:t,className:n,width:r,label:i}=e,a=x.useRef(null),o=x.useRef(null),u=Ke(oB),d=br(),f=fn(),p="yAxis",m=Ke(E=>z0e(E,t)),y=Ke(E=>E0e(E,t)),v=Ke(E=>fU(E,p,t,d)),w=Ke(E=>T6(E,t));if(x.useLayoutEffect(()=>{if(!(r!=="auto"||!m||NC(i)||x.isValidElement(i)||w==null)){var E=a.current;if(E){var A=E.getCalculatedWidth();Math.round(m.width)!==Math.round(A)&&f(BSe({id:t,width:A}))}}},[v,m,f,i,t,r,w]),m==null||y==null||w==null)return null;var{dangerouslySetInnerHTML:S,ticks:j,scale:k}=e,O=kj(e,nNe),{id:_,scale:C}=w,T=kj(w,rNe);return x.createElement(_C,Nj({},O,T,{ref:a,labelRef:o,x:y.x,y:y.y,tickTextProps:r==="auto"?{width:void 0}:{width:r},width:m.width,height:m.height,className:Tt("recharts-".concat(p," ").concat(p),n),viewBox:u,ticks:v,axisType:p,axisId:t}))}var uNe={allowDataOverflow:Dn.allowDataOverflow,allowDecimals:Dn.allowDecimals,allowDuplicatedCategory:Dn.allowDuplicatedCategory,angle:Dn.angle,axisLine:ls.axisLine,hide:!1,includeHidden:Dn.includeHidden,interval:Dn.interval,label:!1,minTickGap:Dn.minTickGap,mirror:Dn.mirror,orientation:Dn.orientation,padding:Dn.padding,reversed:Dn.reversed,scale:Dn.scale,tick:Dn.tick,tickCount:Dn.tickCount,tickLine:ls.tickLine,tickSize:ls.tickSize,type:Dn.type,niceTicks:Dn.niceTicks,width:Dn.width,yAxisId:0},dNe=e=>{var t=xr(e,uNe);return x.createElement(x.Fragment,null,x.createElement(lNe,{interval:t.interval,id:t.yAxisId,scale:t.scale,type:t.type,domain:t.domain,allowDataOverflow:t.allowDataOverflow,dataKey:t.dataKey,allowDuplicatedCategory:t.allowDuplicatedCategory,allowDecimals:t.allowDecimals,tickCount:t.tickCount,padding:t.padding,includeHidden:t.includeHidden,reversed:t.reversed,ticks:t.ticks,width:t.width,orientation:t.orientation,mirror:t.mirror,hide:t.hide,unit:t.unit,name:t.name,angle:t.angle,minTickGap:t.minTickGap,tick:t.tick,tickFormatter:t.tickFormatter,niceTicks:t.niceTicks}),x.createElement(cNe,t))},ah=x.memo(dNe,O8);ah.displayName="YAxis";var fNe=(e,t)=>t,EC=oe([fNe,sn,VB,qn,zU,vs,Jxe,er],sbe);function hNe(e){return"getBBox"in e.currentTarget&&typeof e.currentTarget.getBBox=="function"}function zC(e){var t=e.currentTarget.getBoundingClientRect(),n,r;if(hNe(e)){var i=e.currentTarget.getBBox();n=i.width>0?t.width/i.width:1,r=i.height>0?t.height/i.height:1}else{var a=e.currentTarget;n=a.offsetWidth>0?t.width/a.offsetWidth:1,r=a.offsetHeight>0?t.height/a.offsetHeight:1}var o=(u,d)=>({relativeX:Math.round((u-t.left)/n),relativeY:Math.round((d-t.top)/r)});return"touches"in e?Array.from(e.touches).map(u=>o(u.clientX,u.clientY)):o(e.clientX,e.clientY)}var E8=ti("mouseClick"),z8=xh();z8.startListening({actionCreator:E8,effect:(e,t)=>{var n=e.payload,r=EC(t.getState(),zC(n));r?.activeIndex!=null&&t.dispatch(G0e({activeIndex:r.activeIndex,activeDataKey:void 0,activeCoordinate:r.activeCoordinate}))}});var Cj=ti("mouseMove"),T8=xh(),Yc=null,tl=null,TS=null;T8.startListening({actionCreator:Cj,effect:(e,t)=>{var n=e.payload,r=t.getState(),{throttleDelay:i,throttledEvents:a}=r.eventSettings,o=a==="all"||a?.includes("mousemove");Yc!==null&&(cancelAnimationFrame(Yc),Yc=null),tl!==null&&(typeof i!="number"||!o)&&(clearTimeout(tl),tl=null),TS=zC(n);var u=()=>{var d=t.getState(),f=Ph(d,d.tooltip.settings.shared);if(!TS){Yc=null,tl=null;return}if(f==="axis"){var p=EC(d,TS);p?.activeIndex!=null?t.dispatch(wU({activeIndex:p.activeIndex,activeDataKey:void 0,activeCoordinate:p.activeCoordinate})):t.dispatch(bU())}Yc=null,tl=null};if(!o){u();return}i==="raf"?Yc=requestAnimationFrame(u):typeof i=="number"&&tl===null&&(tl=setTimeout(u,i))}});function pNe(e,t){return t instanceof HTMLElement?"HTMLElement <".concat(t.tagName,' class="').concat(t.className,'">'):t===window?"global.window":e==="children"&&typeof t=="object"&&t!==null?"<<CHILDREN>>":t}var WM={accessibilityLayer:!0,barCategoryGap:"10%",barGap:4,barSize:void 0,className:void 0,maxBarSize:void 0,stackOffset:"none",syncId:void 0,syncMethod:"index",baseValue:void 0,reverseStackOrder:!1},P8=ur({name:"rootProps",initialState:WM,reducers:{updateOptions:(e,t)=>{var n;e.accessibilityLayer=t.payload.accessibilityLayer,e.barCategoryGap=t.payload.barCategoryGap,e.barGap=(n=t.payload.barGap)!==null&&n!==void 0?n:WM.barGap,e.barSize=t.payload.barSize,e.maxBarSize=t.payload.maxBarSize,e.stackOffset=t.payload.stackOffset,e.syncId=t.payload.syncId,e.syncMethod=t.payload.syncMethod,e.className=t.payload.className,e.baseValue=t.payload.baseValue,e.reverseStackOrder=t.payload.reverseStackOrder}}}),mNe=P8.reducer,{updateOptions:gNe}=P8.actions,yNe=null,vNe={updatePolarOptions:(e,t)=>e===null?t.payload:(e.startAngle=t.payload.startAngle,e.endAngle=t.payload.endAngle,e.cx=t.payload.cx,e.cy=t.payload.cy,e.innerRadius=t.payload.innerRadius,e.outerRadius=t.payload.outerRadius,e)},R8=ur({name:"polarOptions",initialState:yNe,reducers:vNe}),{updatePolarOptions:i_e}=R8.actions,xNe=R8.reducer,D8=ti("keyDown"),M8=ti("focus"),I8=ti("blur"),t0=xh(),Wc=null,nl=null,qm=null;t0.startListening({actionCreator:D8,effect:(e,t)=>{qm=e.payload,Wc!==null&&(cancelAnimationFrame(Wc),Wc=null);var n=t.getState(),{throttleDelay:r,throttledEvents:i}=n.eventSettings,a=i==="all"||i.includes("keydown");nl!==null&&(typeof r!="number"||!a)&&(clearTimeout(nl),nl=null);var o=()=>{try{var u=t.getState(),d=u.rootProps.accessibilityLayer!==!1;if(!d)return;var{keyboardInteraction:f}=u.tooltip,p=qm;if(p!=="ArrowRight"&&p!=="ArrowLeft"&&p!=="Enter")return;var m=Af(f,Ul(u),Pu(u),Du(u)),y=m==null?-1:Number(m),v=!Number.isFinite(y)||y<0,w=vs(u),S=Ul(u),j=Ph(u,u.tooltip.settings.shared);if(p==="Enter"){if(v)return;var k=Ny(u,j,"hover",String(f.index));t.dispatch(jy({active:!f.active,activeIndex:f.index,activeCoordinate:k}));return}var O=M0e(u),_=O==="left-to-right"?1:-1,C=p==="ArrowRight"?1:-1,T;if(v){var E=Pu(u),A=Du(u),P=C*_,I=te=>({active:!1,index:String(te),dataKey:void 0,graphicalItemId:void 0,coordinate:void 0});if(T=-1,P>0){for(var q=0;q<S.length;q++)if(Af(I(q),S,E,A)!=null){T=q;break}}else for(var $=S.length-1;$>=0;$--)if(Af(I($),S,E,A)!=null){T=$;break}if(T<0)return}else{T=y+C*_;var U=w?.length||S.length;if(U===0||T>=U||T<0)return}var G=Ny(u,j,"hover",String(T));t.dispatch(jy({active:!0,activeIndex:T.toString(),activeCoordinate:G}))}finally{Wc=null,nl=null}};if(!a){o();return}r==="raf"?Wc=requestAnimationFrame(o):typeof r=="number"&&nl===null&&(o(),qm=null,nl=setTimeout(()=>{qm?o():(nl=null,Wc=null)},r))}});t0.startListening({actionCreator:M8,effect:(e,t)=>{var n=t.getState(),r=n.rootProps.accessibilityLayer!==!1;if(r){var{keyboardInteraction:i}=n.tooltip;if(!i.active&&i.index==null){var a="0",o=Ph(n,n.tooltip.settings.shared),u=Ny(n,o,"hover",String(a));t.dispatch(jy({active:!0,activeIndex:a,activeCoordinate:u}))}}}});t0.startListening({actionCreator:I8,effect:(e,t)=>{var n=t.getState(),r=n.rootProps.accessibilityLayer!==!1;if(r){var{keyboardInteraction:i}=n.tooltip;i.active&&t.dispatch(jy({active:!1,activeIndex:i.index,activeCoordinate:i.coordinate}))}}});function L8(e){e.persist();var{currentTarget:t}=e;return new Proxy(e,{get:(n,r)=>{if(r==="currentTarget")return t;var i=Reflect.get(n,r);return typeof i=="function"?i.bind(n):i}})}var yi=ti("externalEvent"),$8=xh(),Km=new Map,hf=new Map,PS=new Map;$8.startListening({actionCreator:yi,effect:(e,t)=>{var{handler:n,reactEvent:r}=e.payload;if(n!=null){var i=r.type,a=L8(r);PS.set(i,{handler:n,reactEvent:a});var o=Km.get(i);o!==void 0&&(cancelAnimationFrame(o),Km.delete(i));var u=t.getState(),{throttleDelay:d,throttledEvents:f}=u.eventSettings,p=f,m=p==="all"||p?.includes(i),y=hf.get(i);y!==void 0&&(typeof d!="number"||!m)&&(clearTimeout(y),hf.delete(i));var v=()=>{var j=PS.get(i);try{if(!j)return;var{handler:k,reactEvent:O}=j,_=t.getState(),C={activeCoordinate:Lxe(_),activeDataKey:Dxe(_),activeIndex:th(_),activeLabel:RU(_),activeTooltipIndex:th(_),isTooltipActive:$xe(_)};k&&k(C,O)}finally{Km.delete(i),hf.delete(i),PS.delete(i)}};if(!m){v();return}if(d==="raf"){var w=requestAnimationFrame(v);Km.set(i,w)}else if(typeof d=="number"){if(!hf.has(i)){v();var S=setTimeout(v,d);hf.set(i,S)}}else v()}}});var bNe=oe([td],e=>e.tooltipItemPayloads),wNe=oe([bNe,(e,t)=>t,(e,t,n)=>n],(e,t,n)=>{if(t!=null){var r=e.find(a=>a.settings.graphicalItemId===n);if(r!=null){var{getPosition:i}=r;if(i!=null)return i(t)}}}),B8=ti("touchMove"),U8=xh(),rl=null,Vs=null,QM=null,pf=null;U8.startListening({actionCreator:B8,effect:(e,t)=>{var n=e.payload;if(!(n.touches==null||n.touches.length===0)){pf=L8(n);var r=t.getState(),{throttleDelay:i,throttledEvents:a}=r.eventSettings,o=a==="all"||a.includes("touchmove");rl!==null&&(cancelAnimationFrame(rl),rl=null),Vs!==null&&(typeof i!="number"||!o)&&(clearTimeout(Vs),Vs=null),QM=Array.from(n.touches).map(d=>zC({clientX:d.clientX,clientY:d.clientY,currentTarget:n.currentTarget}));var u=()=>{if(pf!=null){var d=t.getState(),f=Ph(d,d.tooltip.settings.shared);if(f==="axis"){var p,m=(p=QM)===null||p===void 0?void 0:p[0];if(m==null){rl=null,Vs=null;return}var y=EC(d,m);y?.activeIndex!=null&&t.dispatch(wU({activeIndex:y.activeIndex,activeDataKey:void 0,activeCoordinate:y.activeCoordinate}))}else if(f==="item"){var v,w=pf.touches[0];if(document.elementFromPoint==null||w==null)return;var S=document.elementFromPoint(w.clientX,w.clientY);if(!S||!S.getAttribute)return;var j=S.getAttribute(Pfe),k=(v=S.getAttribute(Rfe))!==null&&v!==void 0?v:void 0,O=ec(d).find(T=>T.id===k);if(j==null||O==null||k==null)return;var{dataKey:_}=O,C=wNe(d,j,k);t.dispatch(H0e({activeDataKey:_,activeIndex:j,activeCoordinate:C,activeGraphicalItemId:k}))}rl=null,Vs=null}};if(!o){u();return}i==="raf"?rl=requestAnimationFrame(u):typeof i=="number"&&Vs===null&&(u(),pf=null,Vs=setTimeout(()=>{pf?u():(Vs=null,rl=null)},i))}}});var F8={throttleDelay:"raf",throttledEvents:["mousemove","touchmove","pointermove","scroll","wheel"]},q8=ur({name:"eventSettings",initialState:F8,reducers:{setEventSettings:(e,t)=>{t.payload.throttleDelay!=null&&(e.throttleDelay=t.payload.throttleDelay),t.payload.throttledEvents!=null&&(e.throttledEvents=t.payload.throttledEvents)}}}),{setEventSettings:SNe}=q8.actions,jNe=q8.reducer,NNe=A3({brush:WSe,cartesianAxis:USe,chartData:Ibe,errorBars:dje,eventSettings:jNe,graphicalItems:vSe,layout:yfe,legend:_he,options:Tbe,polarAxis:aSe,polarOptions:xNe,referenceElements:i1e,renderedTicks:P1e,rootProps:mNe,tooltip:V0e,zIndex:xbe}),kNe=function(t){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"Chart";return Fde({reducer:NNe,preloadedState:t,middleware:r=>{var i;return r({serializableCheck:!1,immutableCheck:!["commonjs","es6","production"].includes((i="es6")!==null&&i!==void 0?i:"")}).concat([z8.middleware,T8.middleware,t0.middleware,$8.middleware,U8.middleware])},enhancers:r=>{var i=r;return typeof r=="function"&&(i=r()),i.concat(q3({type:"raf"}))},devTools:{serialize:{replacer:pNe},name:"recharts-".concat(n)}})};function CNe(e){var{preloadedState:t,children:n,reduxStoreName:r}=e,i=br(),a=x.useRef(null);if(i)return n;a.current==null&&(a.current=kNe(t,r));var o=ck;return x.createElement(Hhe,{context:o,store:a.current},n)}function _Ne(e){var{layout:t,margin:n}=e,r=fn(),i=br();return x.useEffect(()=>{i||(r(pfe(t)),r(hfe(n)))},[r,i,t,n]),null}var ANe=x.memo(_Ne,Nh);function ONe(e){var t=fn();return x.useEffect(()=>{t(gNe(e))},[t,e]),null}var ENe=e=>{var t=fn();return x.useEffect(()=>{t(SNe(e))},[t,e]),null},zNe=x.memo(ENe,Nh);function XM(e){var{zIndex:t,isPanorama:n}=e,r=x.useRef(null),i=fn();return x.useLayoutEffect(()=>(r.current&&i(ybe({zIndex:t,element:r.current,isPanorama:n})),()=>{i(vbe({zIndex:t,isPanorama:n}))}),[i,t,n]),x.createElement("g",{tabIndex:-1,ref:r,className:"recharts-zIndex-layer_".concat(t)})}function JM(e){var{children:t,isPanorama:n}=e,r=Ke(lbe);if(!r||r.length===0)return t;var i=r.filter(o=>o<0),a=r.filter(o=>o>0);return x.createElement(x.Fragment,null,i.map(o=>x.createElement(XM,{key:o,zIndex:o,isPanorama:n})),t,a.map(o=>x.createElement(XM,{key:o,zIndex:o,isPanorama:n})))}var TNe=["children"];function PNe(e,t){if(e==null)return{};var n,r,i=RNe(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)===-1&&{}.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}function RNe(e,t){if(e==null)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(t.indexOf(r)!==-1)continue;n[r]=e[r]}return n}function zy(){return zy=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},zy.apply(null,arguments)}var DNe={width:"100%",height:"100%",display:"block"},MNe=x.forwardRef((e,t)=>{var n=vk(),r=xk(),i=wB();if(!Na(n)||!Na(r))return null;var{children:a,otherAttributes:o,title:u,desc:d}=e,f,p;return o!=null&&(typeof o.tabIndex=="number"?f=o.tabIndex:f=i?0:void 0,typeof o.role=="string"?p=o.role:p=i?"application":void 0),x.createElement(ek,zy({},o,{title:u,desc:d,role:p,tabIndex:f,width:n,height:r,style:DNe,ref:t}),a)}),INe=e=>{var{children:t}=e,n=Ke(Dv);if(!n)return null;var{width:r,height:i,y:a,x:o}=n;return x.createElement(ek,{width:r,height:i,x:o,y:a},t)},eI=x.forwardRef((e,t)=>{var{children:n}=e,r=PNe(e,TNe),i=br();return i?x.createElement(INe,null,x.createElement(JM,{isPanorama:!0},n)):x.createElement(MNe,zy({ref:t},r),x.createElement(JM,{isPanorama:!1},n))});function LNe(){var e=fn(),[t,n]=x.useState(null),r=Ke(Tfe);return x.useEffect(()=>{if(t!=null){var i=t.getBoundingClientRect(),a=i.width/t.offsetWidth;rt(a)&&a!==r&&e(gfe(a))}},[t,e,r]),n}function tI(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function $Ne(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?tI(Object(n),!0).forEach(function(r){BNe(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):tI(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function BNe(e,t,n){return(t=UNe(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function UNe(e){var t=FNe(e,"string");return typeof t=="symbol"?t:t+""}function FNe(e,t){if(typeof e!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function mo(){return mo=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},mo.apply(null,arguments)}var qNe=()=>(Gbe(),null);function Ty(e){if(typeof e=="number")return e;if(typeof e=="string"){var t=parseFloat(e);if(!Number.isNaN(t))return t}return 0}var KNe=x.forwardRef((e,t)=>{var n,r,i=x.useRef(null),[a,o]=x.useState({containerWidth:Ty((n=e.style)===null||n===void 0?void 0:n.width),containerHeight:Ty((r=e.style)===null||r===void 0?void 0:r.height)}),u=x.useCallback((f,p)=>{o(m=>{var y=Math.round(f),v=Math.round(p);return m.containerWidth===y&&m.containerHeight===v?m:{containerWidth:y,containerHeight:v}})},[]),d=x.useCallback(f=>{if(typeof t=="function"&&t(f),i.current!=null&&(i.current.disconnect(),i.current=null),f!=null&&typeof ResizeObserver<"u"){var{width:p,height:m}=f.getBoundingClientRect();u(p,m);var y=w=>{var S=w[0];if(S!=null){var{width:j,height:k}=S.contentRect;u(j,k)}},v=new ResizeObserver(y);v.observe(f),i.current=v}},[t,u]);return x.useEffect(()=>()=>{var f=i.current;f?.disconnect()},[u]),x.createElement(x.Fragment,null,x.createElement(Sh,{width:a.containerWidth,height:a.containerHeight}),x.createElement("div",mo({ref:d},e)))}),HNe=x.forwardRef((e,t)=>{var{width:n,height:r}=e,[i,a]=x.useState({containerWidth:Ty(n),containerHeight:Ty(r)}),o=x.useCallback((d,f)=>{a(p=>{var m=Math.round(d),y=Math.round(f);return p.containerWidth===m&&p.containerHeight===y?p:{containerWidth:m,containerHeight:y}})},[]),u=x.useCallback(d=>{if(typeof t=="function"&&t(d),d!=null){var{width:f,height:p}=d.getBoundingClientRect();o(f,p)}},[t,o]);return x.createElement(x.Fragment,null,x.createElement(Sh,{width:i.containerWidth,height:i.containerHeight}),x.createElement("div",mo({ref:u},e)))}),GNe=x.forwardRef((e,t)=>{var{width:n,height:r}=e;return x.createElement(x.Fragment,null,x.createElement(Sh,{width:n,height:r}),x.createElement("div",mo({ref:t},e)))}),VNe=x.forwardRef((e,t)=>{var{width:n,height:r}=e;return typeof n=="string"||typeof r=="string"?x.createElement(HNe,mo({},e,{ref:t})):typeof n=="number"&&typeof r=="number"?x.createElement(GNe,mo({},e,{width:n,height:r,ref:t})):x.createElement(x.Fragment,null,x.createElement(Sh,{width:n,height:r}),x.createElement("div",mo({ref:t},e)))});function ZNe(e){return e?KNe:VNe}var YNe=x.forwardRef((e,t)=>{var{children:n,className:r,height:i,onClick:a,onContextMenu:o,onDoubleClick:u,onMouseDown:d,onMouseEnter:f,onMouseLeave:p,onMouseMove:m,onMouseUp:y,onTouchEnd:v,onTouchMove:w,onTouchStart:S,style:j,width:k,responsive:O,dispatchTouchEvents:_=!0}=e,C=x.useRef(null),T=fn(),[E,A]=x.useState(null),[P,I]=x.useState(null),q=LNe(),$=gk(),U=$?.width>0?$.width:k,G=$?.height>0?$.height:i,te=x.useCallback(fe=>{q(fe),typeof t=="function"&&t(fe),A(fe),I(fe),fe!=null&&(C.current=fe)},[q,t,A,I]),Z=x.useCallback(fe=>{T(E8(fe)),T(yi({handler:a,reactEvent:fe}))},[T,a]),K=x.useCallback(fe=>{T(Cj(fe)),T(yi({handler:f,reactEvent:fe}))},[T,f]),X=x.useCallback(fe=>{T(bU()),T(yi({handler:p,reactEvent:fe}))},[T,p]),pe=x.useCallback(fe=>{T(Cj(fe)),T(yi({handler:m,reactEvent:fe}))},[T,m]),Ne=x.useCallback(()=>{T(M8())},[T]),R=x.useCallback(()=>{T(I8())},[T]),B=x.useCallback(fe=>{T(D8(fe.key))},[T]),F=x.useCallback(fe=>{T(yi({handler:o,reactEvent:fe}))},[T,o]),M=x.useCallback(fe=>{T(yi({handler:u,reactEvent:fe}))},[T,u]),W=x.useCallback(fe=>{T(yi({handler:d,reactEvent:fe}))},[T,d]),ae=x.useCallback(fe=>{T(yi({handler:y,reactEvent:fe}))},[T,y]),ne=x.useCallback(fe=>{T(yi({handler:S,reactEvent:fe}))},[T,S]),de=x.useCallback(fe=>{_&&T(B8(fe)),T(yi({handler:w,reactEvent:fe}))},[T,_,w]),Ce=x.useCallback(fe=>{T(yi({handler:v,reactEvent:fe}))},[T,v]),ee=ZNe(O);return x.createElement(FU.Provider,{value:E},x.createElement(U$.Provider,{value:P},x.createElement(ee,{width:U??j?.width,height:G??j?.height,className:Tt("recharts-wrapper",r),style:$Ne({position:"relative",cursor:"default",width:U,height:G},j),onClick:Z,onContextMenu:F,onDoubleClick:M,onFocus:Ne,onBlur:R,onKeyDown:B,onMouseDown:W,onMouseEnter:K,onMouseLeave:X,onMouseMove:pe,onMouseUp:ae,onTouchEnd:Ce,onTouchMove:de,onTouchStart:ne,ref:te},x.createElement(qNe,null),n)))}),WNe=["width","height","responsive","children","className","style","compact","title","desc"];function QNe(e,t){if(e==null)return{};var n,r,i=XNe(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)===-1&&{}.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}function XNe(e,t){if(e==null)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(t.indexOf(r)!==-1)continue;n[r]=e[r]}return n}var JNe=x.forwardRef((e,t)=>{var{width:n,height:r,responsive:i,children:a,className:o,style:u,compact:d,title:f,desc:p}=e,m=QNe(e,WNe),y=Yi(m);return d?x.createElement(x.Fragment,null,x.createElement(Sh,{width:n,height:r}),x.createElement(eI,{otherAttributes:y,title:f,desc:p},a)):x.createElement(YNe,{className:o,style:u,width:n,height:r,responsive:i??!1,onClick:e.onClick,onMouseLeave:e.onMouseLeave,onMouseEnter:e.onMouseEnter,onMouseMove:e.onMouseMove,onMouseDown:e.onMouseDown,onMouseUp:e.onMouseUp,onContextMenu:e.onContextMenu,onDoubleClick:e.onDoubleClick,onTouchStart:e.onTouchStart,onTouchMove:e.onTouchMove,onTouchEnd:e.onTouchEnd},x.createElement(eI,{otherAttributes:y,title:f,desc:p,ref:t},x.createElement(a1e,null,a)))});function _j(){return _j=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},_j.apply(null,arguments)}function nI(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function eke(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?nI(Object(n),!0).forEach(function(r){tke(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):nI(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function tke(e,t,n){return(t=nke(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function nke(e){var t=rke(e,"string");return typeof t=="symbol"?t:t+""}function rke(e,t){if(typeof e!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}var ike={top:5,right:5,bottom:5,left:5},ake=eke({accessibilityLayer:!0,barCategoryGap:"10%",barGap:4,layout:"horizontal",margin:ike,responsive:!1,reverseStackOrder:!1,stackOffset:"none",syncMethod:"index"},F8),ske=x.forwardRef(function(t,n){var r,i=xr(t.categoricalChartProps,ake),{chartName:a,defaultTooltipEventType:o,validateTooltipEventTypes:u,tooltipPayloadSearcher:d,categoricalChartProps:f}=t,p={chartName:a,defaultTooltipEventType:o,validateTooltipEventTypes:u,tooltipPayloadSearcher:d,eventEmitter:void 0};return x.createElement(CNe,{preloadedState:{options:p},reduxStoreName:(r=f.id)!==null&&r!==void 0?r:a},x.createElement(YSe,{chartData:f.data}),x.createElement(ANe,{layout:i.layout,margin:i.margin}),x.createElement(zNe,{throttleDelay:i.throttleDelay,throttledEvents:i.throttledEvents}),x.createElement(ONe,{baseValue:i.baseValue,accessibilityLayer:i.accessibilityLayer,barCategoryGap:i.barCategoryGap,maxBarSize:i.maxBarSize,stackOffset:i.stackOffset,barGap:i.barGap,barSize:i.barSize,syncId:i.syncId,syncMethod:i.syncMethod,className:i.className,reverseStackOrder:i.reverseStackOrder}),x.createElement(JNe,_j({},i,{ref:n})))}),oke=["axis"],Py=x.forwardRef((e,t)=>x.createElement(ske,{chartName:"ComposedChart",defaultTooltipEventType:"axis",validateTooltipEventTypes:oke,tooltipPayloadSearcher:Ebe,categoricalChartProps:e,ref:t}));const xu={contentStyle:{backgroundColor:"#18181b",border:"1px solid #3f3f46",borderRadius:8,fontSize:12},labelStyle:{color:"#e4e4e7"},itemStyle:{color:"#a1a1aa"}},so={fill:"#71717a",fontSize:11},lke="#27272a",sh="#27272a",oo=["#34d399","#60a5fa","#f472b6","#facc15","#a78bfa","#fb923c","#22d3ee","#f87171"];function K8(e){const t=String(e);return t.includes("T")?new Date(t):new Date(t+"T00:00:00")}function Ry(e){return K8(String(e)).toLocaleDateString(void 0,{month:"short",day:"numeric",year:"numeric"})}function Dy(e){const t=K8(e);return`${t.getMonth()+1}/${t.getDate()}`}const cke=["7d","30d","90d","all"],uke=["gap","cited","uncited"],H8={forum:"bg-amber-500",social:"bg-blue-500",news:"bg-zinc-400",reference:"bg-purple-500",blog:"bg-emerald-500",ecommerce:"bg-orange-500",video:"bg-red-500",academic:"bg-cyan-500",other:"bg-zinc-600"},dke={[ro.mentioned]:"Mentioned",[ro.cited]:"Cited"};function fke({projectName:e}){const[t,n]=x.useState("30d"),[r,i]=x.useState(ro.mentioned),[a,o]=x.useState(null),[u,d]=x.useState(null),[f,p]=x.useState(null),[m,y]=x.useState(null),[v,w]=x.useState(!0);if(x.useEffect(()=>{let P=!1;return w(!0),Promise.all([F7(e,t),q7(e,t),K7(e,t)]).then(([I,q,$])=>{P||(o(I),d(q),p($),w(!1))}).catch(()=>{P||w(!1)}),()=>{P=!0}},[e,t]),x.useEffect(()=>{y(null)},[r]),v&&!a)return l.jsx("p",{className:"text-sm text-zinc-500 py-8 text-center",children:"Loading analytics…"});const S=r===ro.mentioned,j=a?S?a.overall.mentionRate:a.overall.citationRate:0,k=a?S?a.overall.mentionedCount:a.overall.cited:0,O=a?.overall.total??0,_=a?S?a.mentionTrend:a.trend:"stable",C=_==="improving"?"positive":_==="declining"?"negative":"neutral",T=u?S?u.mentionedKeywords:u.cited:[],E=u?S?u.mentionGap:u.gap:[],A=u?S?u.notMentioned:u.uncited:[];return l.jsxs(l.Fragment,{children:[l.jsxs("section",{children:[l.jsxs("div",{className:"flex items-center justify-between mb-4",children:[l.jsxs("div",{className:"flex items-center gap-3",children:[l.jsxs("div",{children:[l.jsx("p",{className:"text-[10px] font-semibold uppercase tracking-wider text-zinc-500 mb-1",children:S?"Mention Metrics":"Citation Metrics"}),l.jsxs("h2",{className:"text-base font-semibold text-zinc-50 flex items-center gap-1.5",children:[S?"Answer-Mention Trends":"Source-Citation Trends",l.jsx(On,{text:S?"Percentage of queries where your brand or domain is mentioned in the AI-generated answer text. A higher rate means AI engines are actively naming your brand in their prose when answering user questions.":"Percentage of queries where your domain appears in the AI provider's source/reference links. This measures whether your pages are used as grounding sources, not whether your brand is named in the answer."})]})]}),l.jsx("div",{className:"sidebar-tabs ml-2",children:[ro.mentioned,ro.cited].map(P=>l.jsx("button",{type:"button",className:`sidebar-tab ${r===P?"sidebar-tab--active":""}`,onClick:()=>i(P),children:dke[P]},P))})]}),l.jsx("div",{className:"flex gap-1",children:cke.map(P=>l.jsx("button",{type:"button",className:`px-3 py-1 text-xs rounded-full border transition-colors ${t===P?"bg-zinc-700 border-zinc-600 text-zinc-50":"border-zinc-800 text-zinc-400 hover:border-zinc-700 hover:text-zinc-300"}`,onClick:()=>n(P),children:P==="all"?"All":P},P))})]}),a&&l.jsxs("div",{className:"space-y-4",children:[l.jsxs("div",{className:"flex items-center gap-6",children:[l.jsx(L$,{value:`${Math.round(j*100)}`,label:S?"Mention Rate":"Citation Rate",delta:`${k} / ${O}`,tone:C,description:`Trend: ${_}`,isNumeric:!0}),l.jsxs("div",{className:"flex-1 space-y-3",children:[l.jsxs("div",{className:"flex items-center gap-2",children:[l.jsx("span",{className:"text-xs text-zinc-500",children:"Trend"}),l.jsx(wt,{tone:C,children:_})]}),Object.keys(a.byProvider).length>0&&l.jsxs("table",{className:"w-full text-sm",children:[l.jsx("thead",{children:l.jsxs("tr",{className:"text-[10px] uppercase tracking-wider text-zinc-500",children:[l.jsx("th",{className:"text-left py-1 font-medium",children:"Provider"}),l.jsx("th",{className:"text-right py-1 font-medium",children:"Rate"}),l.jsx("th",{className:"text-right py-1 font-medium",children:S?"Mentioned / Total":"Cited / Total"})]})}),l.jsx("tbody",{children:Object.entries(a.byProvider).map(([P,I])=>{const q=S?I.mentionRate:I.citationRate,$=S?I.mentionedCount:I.cited;return l.jsxs("tr",{className:"border-t border-zinc-800/40",children:[l.jsx("td",{className:"py-1.5 text-zinc-300",children:P}),l.jsxs("td",{className:"py-1.5 text-right text-zinc-200",children:[(q*100).toFixed(1),"%"]}),l.jsxs("td",{className:"py-1.5 text-right text-zinc-400",children:[$," / ",I.total]})]},P)})})]})]})]}),a.buckets.length>=1&&l.jsx(hke,{buckets:a.buckets,keywordChanges:a.keywordChanges??[],metricMode:r})]})]}),l.jsx("div",{className:"page-section-divider"}),l.jsxs("section",{children:[l.jsx("div",{className:"flex items-center justify-between mb-4",children:l.jsxs("div",{children:[l.jsx("p",{className:"text-[10px] font-semibold uppercase tracking-wider text-zinc-500 mb-1",children:"Opportunity Analysis"}),l.jsxs("h2",{className:"text-base font-semibold text-zinc-50 flex items-center gap-1.5",children:["Brand Gap Analysis ",l.jsx(On,{text:S?"Classification based on the most recent completed run. Mentioned: your brand was named in the AI answer text. Gap: a competitor was cited but your brand was not mentioned. Not Mentioned: your brand was not mentioned and no competitors were cited.":"Classification based on the most recent completed run. Cited: your domain appeared in the AI provider's source links. Gap: a competitor was cited but you were not. Not Cited: neither your domain nor competitors appeared in sources. Consistency shows how often each key phrase was cited across all runs in the selected window."})]})]})}),u&&l.jsxs(l.Fragment,{children:[l.jsx("div",{className:"flex gap-1 mb-4",children:uke.map(P=>{const I=P==="cited"?T.length:P==="gap"?E.length:A.length,q=m===P,$=P==="gap"?"Gap":P==="cited"?S?"Mentioned":"Cited":S?"Not Mentioned":"Not Cited";return l.jsxs("button",{type:"button",className:`px-3 py-1 text-xs rounded-full border transition-colors ${q?P==="gap"?"bg-amber-900/40 border-amber-700/60 text-amber-300":P==="cited"?"bg-emerald-900/40 border-emerald-700/60 text-emerald-300":"bg-zinc-800/40 border-zinc-700 text-zinc-300":"border-zinc-800 text-zinc-400 hover:border-zinc-700"}`,onClick:()=>y(q?null:P),children:[$," (",I,")"]},P)})}),l.jsx(pke,{citedRows:T,gapRows:E,uncitedRows:A,filter:m,metricMode:r})]})]}),l.jsx("div",{className:"page-section-divider"}),l.jsxs("section",{children:[l.jsxs("div",{className:"mb-4",children:[l.jsx("p",{className:"text-[10px] font-semibold uppercase tracking-wider text-zinc-500 mb-1",children:"Source Intelligence"}),l.jsxs("h2",{className:"text-base font-semibold text-zinc-50 flex items-center gap-1.5",children:["Source Origin Breakdown ",l.jsx(On,{text:"Aggregated across all runs in the selected window. Shows what types of websites AI engines cite as grounding sources. More runs = more statistically meaningful breakdown."})]})]}),f&&f.overall.length>0&&l.jsxs("div",{className:"space-y-4",children:[l.jsx(mke,{categories:f.overall}),l.jsxs("table",{className:"w-full text-sm",children:[l.jsx("thead",{children:l.jsxs("tr",{className:"text-[10px] uppercase tracking-wider text-zinc-500",children:[l.jsx("th",{className:"text-left py-1 font-medium",children:"Category"}),l.jsx("th",{className:"text-right py-1 font-medium",children:"Count"}),l.jsx("th",{className:"text-right py-1 font-medium",children:"%"}),l.jsx("th",{className:"text-left py-1 pl-4 font-medium",children:"Top Sources"})]})}),l.jsx("tbody",{children:f.overall.map(P=>l.jsxs("tr",{className:"border-t border-zinc-800/40",children:[l.jsxs("td",{className:"py-1.5 text-zinc-300 flex items-center gap-2",children:[l.jsx("span",{className:`inline-block w-2 h-2 rounded-full ${H8[P.category]??"bg-zinc-600"}`}),P.label]}),l.jsx("td",{className:"py-1.5 text-right text-zinc-200",children:P.count}),l.jsxs("td",{className:"py-1.5 text-right text-zinc-400",children:[(P.percentage*100).toFixed(1),"%"]}),l.jsx("td",{className:"py-1.5 pl-4 text-zinc-500 text-xs truncate max-w-[200px]",children:P.topDomains.slice(0,3).map(I=>I.domain).join(", ")})]},P.category))})]})]}),f&&f.overall.length===0&&l.jsx("p",{className:"text-sm text-zinc-500 py-4",children:"No source data available. Run a visibility sweep first."})]})]})}function hke({buckets:e,keywordChanges:t,metricMode:n}){const r=n===ro.mentioned,i=r?"mentionRate":"citationRate",a=r?"Mention Rate":"Citation Rate",o=e.map(d=>({date:d.startDate,mentionRate:Math.round(d.mentionRate*1e3)/10,citationRate:Math.round(d.citationRate*1e3)/10,keywordCount:d.keywordCount??0})),u=x.useMemo(()=>{if(!t||t.length===0||e.length<2)return[];const d=new Date(e[0].startDate).getTime(),f=new Date(e[e.length-1].startDate).getTime();return t.filter(p=>{const m=new Date(p.date).getTime();return m>=d&&m<=f}).map(p=>{const m=new Date(p.date).getTime();let y=e[0].startDate,v=Math.abs(m-new Date(y).getTime());for(const w of e){const S=Math.abs(m-new Date(w.startDate).getTime());S<v&&(y=w.startDate,v=S)}return{...p,date:y}})},[e,t]);return l.jsxs("div",{className:"surface-card rounded-lg p-3 border border-zinc-800/60",children:[l.jsx("p",{className:"text-[10px] text-zinc-500 mb-1 flex items-center gap-1",children:"kp = key phrases tracked in this window"}),l.jsx("div",{className:"h-40",role:"img","aria-label":`${a} trend chart`,children:l.jsx(ey,{width:"100%",height:"100%",children:l.jsxs(Py,{data:o,margin:{top:8,right:8,bottom:0,left:0},children:[l.jsx(x8,{strokeDasharray:"3 3",stroke:lke,vertical:!1}),l.jsx(ih,{dataKey:"date",tick:so,tickLine:!1,axisLine:{stroke:sh},tickFormatter:Dy}),l.jsx(ah,{tick:so,tickLine:!1,axisLine:!1,domain:[0,100],tickFormatter:d=>`${d}%`,width:40}),l.jsx(ky,{...xu,labelFormatter:Ry,formatter:(d,f)=>{const p=typeof d=="number"?d:Number(d??0);return String(f)===i?[`${p.toFixed(1)}%`,a]:[String(p),String(f)]}}),u.map(d=>l.jsx(m8,{x:d.date,stroke:"#52525b",strokeDasharray:"4 2",label:{value:d.label,position:"top",fill:"#71717a",fontSize:9}},d.date)),l.jsx(xl,{type:"monotone",dataKey:i,stroke:oo[0],fill:oo[0],fillOpacity:.15,strokeWidth:2,dot:{fill:oo[0],r:3,strokeWidth:0},activeDot:{fill:oo[0],r:5,strokeWidth:0,opacity:.8}})]})})})]})}function pke({citedRows:e,gapRows:t,uncitedRows:n,filter:r,metricMode:i}){const a=i===ro.mentioned,o=x.useMemo(()=>{const u=[...t.map(d=>({...d,_sort:0})),...e.map(d=>({...d,_sort:1})),...n.map(d=>({...d,_sort:2}))];return r?u.filter(d=>d.category===r):u.sort((d,f)=>d._sort-f._sort)},[e,t,n,r]);return o.length===0?l.jsxs("p",{className:"text-sm text-zinc-500 py-4",children:["No key phrases found",r?` with status "${r}"`:"","."]}):l.jsxs("table",{className:"w-full text-sm",children:[l.jsx("thead",{children:l.jsxs("tr",{className:"text-[10px] uppercase tracking-wider text-zinc-500",children:[l.jsx("th",{className:"text-left py-1 font-medium",children:"Keyword"}),l.jsx("th",{className:"text-left py-1 font-medium",children:"Status"}),l.jsx("th",{className:"text-left py-1 font-medium",children:a?"Providers Mentioning":"Providers Citing"}),l.jsx("th",{className:"text-left py-1 font-medium",children:"Competitors Citing"}),l.jsx("th",{className:"text-right py-1 font-medium",children:"Consistency"})]})}),l.jsx("tbody",{children:o.map(u=>{const d=u.category==="cited"?"positive":u.category==="gap"?"caution":"neutral",f=u.category==="gap"?"Gap":u.category==="cited"?a?"Mentioned":"Cited":a?"Not Mentioned":"Not Cited",p=a?u.consistency.mentionedRuns:u.consistency.citedRuns;return l.jsxs("tr",{className:`border-t border-zinc-800/40 ${u.category==="gap"?"border-l-2 border-l-amber-600/60":""}`,children:[l.jsx("td",{className:"py-1.5 text-zinc-200",children:u.keyword}),l.jsx("td",{className:"py-1.5",children:l.jsx(wt,{tone:d,children:f})}),l.jsx("td",{className:"py-1.5 text-zinc-400 text-xs",children:u.providers.length>0?u.providers.join(", "):"—"}),l.jsx("td",{className:"py-1.5 text-zinc-400 text-xs",children:u.competitorsCiting.length>0?u.competitorsCiting.join(", "):"—"}),l.jsx("td",{className:"py-1.5 text-right text-zinc-400 text-xs",children:u.consistency.totalRuns>0?`${p}/${u.consistency.totalRuns} runs`:"—"})]},u.keywordId)})})]})}function mke({categories:e}){const t=e.reduce((n,r)=>n+r.count,0);return t===0?null:l.jsx("div",{className:"flex rounded-full overflow-hidden h-3 bg-zinc-800","aria-label":"Source category distribution",children:e.map(n=>{const r=n.count/t*100;return r<.5?null:l.jsx("div",{className:`${H8[n.category]??"bg-zinc-600"} transition-all`,style:{width:`${r}%`},title:`${n.label}: ${(n.percentage*100).toFixed(1)}%`},n.category)})})}const gke=["7d","30d","90d","all"],Zs=oo;function Hm(e){return e>=1e6?`${(e/1e6).toFixed(1)}M`:e>=1e3?`${(e/1e3).toFixed(1)}K`:e.toLocaleString()}function yke(e){const t=Date.now()-new Date(e).getTime(),n=Math.floor(t/6e4);if(n<1)return"just now";if(n<60)return`${n}m ago`;const r=Math.floor(n/60);return r<24?`${r}h ago`:`${Math.floor(r/24)}d ago`}function vke({projectName:e}){const[t,n]=x.useState(null),[r,i]=x.useState(null),[a,o]=x.useState(!0),[u,d]=x.useState(!1),[f,p]=x.useState(!1),[m,y]=x.useState(null),[v,w]=x.useState(null),[S,j]=x.useState("sessions"),[k,O]=x.useState("desc"),[_,C]=x.useState("sessions"),[T,E]=x.useState("desc"),[A,P]=x.useState("sessions"),[I,q]=x.useState("desc"),[$,U]=x.useState("sessions"),[G,te]=x.useState("desc"),[Z,K]=x.useState([]),[X,pe]=x.useState([]),[Ne,R]=x.useState([]),[B,F]=x.useState("30d");function M(je){o(!0),y2(e).then(ke=>{if(!je.current)return n(ke),ke.connected?Promise.all([v2(e,void 0,B),x2(e,B).catch(()=>[]),w2(e,B).catch(()=>[]),b2(e,B).catch(()=>[])]):null}).then(ke=>{je.current||(Array.isArray(ke)?(i(ke[0]),K(ke[1]),pe(ke[2]),R(ke[3])):(i(null),K([]),pe([]),R([])),o(!1))}).catch(ke=>{je.current||(y(ke instanceof Error?ke.message:"Failed to load GA4 data"),o(!1))})}x.useEffect(()=>{const je={current:!1};return M(je),()=>{je.current=!0}},[e,B]);async function W(){d(!0),y(null),w(null);try{const je=await JI(e);w(`Synced ${je.rowCount.toLocaleString()} page rows, ${je.aiReferralCount.toLocaleString()} AI and ${je.socialReferralCount.toLocaleString()} social referral rows (${je.days} days)`);const[ke,Ue,Pe,Te]=await Promise.all([v2(e,void 0,B),x2(e,B).catch(()=>[]),w2(e,B).catch(()=>[]),b2(e,B).catch(()=>[])]);i(ke),K(Ue),pe(Pe),R(Te);const tr=await y2(e);n(tr)}catch(je){y(je instanceof Error?je.message:"Sync failed")}finally{d(!1)}}async function ae(){p(!0),y(null),w(null);try{await G7(e),n({connected:!1,propertyId:null,clientEmail:null,lastSyncedAt:null,createdAt:null,updatedAt:null}),i(null),w("GA4 disconnected")}catch(je){y(je instanceof Error?je.message:"Disconnect failed")}finally{p(!1)}}function ne(je){S===je?O(ke=>ke==="desc"?"asc":"desc"):(j(je),O("desc"))}function de(je){_===je?E(ke=>ke==="desc"?"asc":"desc"):(C(je),E("desc"))}function Ce(je){A===je?q(ke=>ke==="desc"?"asc":"desc"):(P(je),q("desc"))}function ee(je){$===je?te(ke=>ke==="desc"?"asc":"desc"):(U(je),te("desc"))}const fe=x.useMemo(()=>r?.topPages?[...r.topPages].sort((je,ke)=>{const Ue=je[S],Pe=ke[S];return typeof Ue=="string"&&typeof Pe=="string"?k==="asc"?Ue.localeCompare(Pe):Pe.localeCompare(Ue):k==="asc"?Ue-Pe:Pe-Ue}):[],[r?.topPages,S,k]),ze=x.useMemo(()=>r?.aiReferrals?[...r.aiReferrals].sort((je,ke)=>{const Ue=je[_],Pe=ke[_];return typeof Ue=="string"&&typeof Pe=="string"?T==="asc"?Ue.localeCompare(Pe):Pe.localeCompare(Ue):T==="asc"?Ue-Pe:Pe-Ue}):[],[r?.aiReferrals,_,T]),Q=x.useMemo(()=>r?.aiReferralLandingPages?[...r.aiReferralLandingPages].sort((je,ke)=>{const Ue=je[$],Pe=ke[$];return typeof Ue=="string"&&typeof Pe=="string"?G==="asc"?Ue.localeCompare(Pe):Pe.localeCompare(Ue):G==="asc"?Ue-Pe:Pe-Ue}):[],[r?.aiReferralLandingPages,$,G]),He=x.useMemo(()=>r?.socialReferrals?[...r.socialReferrals].sort((je,ke)=>{const Ue=je[A],Pe=ke[A];return typeof Ue=="string"&&typeof Pe=="string"?I==="asc"?Ue.localeCompare(Pe):Pe.localeCompare(Ue):I==="asc"?Ue-Pe:Pe-Ue}):[],[r?.socialReferrals,A,I]),{socialChartData:Me,socialChartSources:it}=x.useMemo(()=>{const je=[...new Set(Ne.map(Pe=>Pe.source))],ke=new Map;for(const Pe of Ne){let Te=ke.get(Pe.date);Te||(Te={_socialTotal:0},ke.set(Pe.date,Te)),Te[Pe.source]=(Te[Pe.source]??0)+Pe.sessions,Te._socialTotal=(Te._socialTotal??0)+Pe.sessions}return{socialChartData:[...ke.entries()].sort(([Pe],[Te])=>Pe.localeCompare(Te)).map(([Pe,Te])=>({date:Pe,...Te})),socialChartSources:je}},[Ne]),{chartData:tt,chartSources:Pt,dateRange:Ft}=x.useMemo(()=>{const je=[...new Set(Z.map(xe=>xe.source))],ke=new Map;for(const xe of X)ke.set(xe.date,{_totalSessions:xe.sessions,_organicSessions:xe.organicSessions});const Ue=new Map;for(const xe of Z){const en=`${xe.date}::${xe.source}`,Br=Ue.get(en)??0;Ue.set(en,Math.max(Br,xe.sessions))}for(const[xe,en]of Ue){const[Br,na]=xe.split("::");let dr=ke.get(Br);dr||(dr={_totalSessions:0,_organicSessions:0},ke.set(Br,dr)),dr[na]=(dr[na]??0)+en}const Pe=[...ke.entries()].sort(([xe],[en])=>xe.localeCompare(en)).map(([xe,en])=>({date:xe,...en})),Te=Pe.map(xe=>xe.date),tr=Te.length>0?{start:Te[0],end:Te[Te.length-1]}:null;return{chartData:Pe,chartSources:je,dateRange:tr}},[Z,X]);if(a&&!t)return l.jsx("p",{className:"text-sm text-zinc-500 py-8 text-center",children:"Loading traffic data…"});if(!t?.connected)return l.jsx(xke,{projectName:e,onConnected:()=>M({current:!1})});const vn=r?.organicSharePct??0,we=r?.totalOrganicSessions??0,We=r?.aiSessionsDeduped??0,At=r?.aiSessionsBySession??0,on=r?.aiSharePctBySession??0,dt=r?new Set(r.aiReferrals.map(je=>je.source.toLowerCase())).size:0,ft=ze[0]??null,le=r?.totalDirectSessions??0,Se=r?.directSharePct??0,Re=r?.socialSessions??0,Ye=r?.socialSharePct??0,ct=r?new Set(r.socialReferrals.map(je=>je.source.toLowerCase())).size:0,Yt=He[0]??null;return l.jsxs(l.Fragment,{children:[m&&l.jsx("div",{className:"mb-4 px-4 py-2 rounded-lg bg-rose-900/20 border border-rose-800/60 text-sm text-rose-300",children:m}),v&&l.jsx("div",{className:"mb-4 px-4 py-2 rounded-lg bg-emerald-900/20 border border-emerald-800/60 text-sm text-emerald-300",children:v}),l.jsxs("div",{className:"flex items-center justify-between mb-6",children:[l.jsxs("div",{className:"flex items-center gap-3",children:[l.jsx("span",{className:"inline-block w-2 h-2 rounded-full bg-emerald-500"}),l.jsxs("span",{className:"text-xs text-zinc-400",children:["Property ",l.jsx("span",{className:"text-zinc-300",children:t.propertyId}),t.clientEmail&&l.jsxs(l.Fragment,{children:[" · ",l.jsx("span",{className:"text-zinc-500",children:t.clientEmail})]})]})]}),l.jsxs("div",{className:"flex items-center gap-2",children:[l.jsxs(ve,{variant:"outline",size:"sm",disabled:u,onClick:W,children:[l.jsx(C2,{className:`w-3.5 h-3.5 mr-1.5 ${u?"animate-spin":""}`}),u?"Syncing…":"Sync"]}),l.jsxs(ve,{variant:"ghost",size:"sm",className:"text-rose-400 hover:text-rose-300",disabled:f,onClick:ae,children:[l.jsx(fV,{className:"w-3.5 h-3.5 mr-1.5"}),"Disconnect"]})]})]}),l.jsxs("section",{children:[l.jsxs("div",{className:"mb-4 flex items-start justify-between",children:[l.jsxs("div",{children:[l.jsx("p",{className:"text-[10px] font-semibold uppercase tracking-wider text-zinc-500 mb-1",children:"Traffic Overview"}),l.jsxs("h2",{className:"text-base font-semibold text-zinc-50 flex items-center gap-1.5",children:["Site Traffic",l.jsx(On,{text:`Aggregated traffic metrics from Google Analytics 4. Sessions and users are summed across the selected period.${r?.periodStart&&r?.periodEnd?` Data available: ${new Date(r.periodStart+"T00:00:00").toLocaleDateString(void 0,{month:"short",day:"numeric",year:"numeric"})} – ${new Date(r.periodEnd+"T00:00:00").toLocaleDateString(void 0,{month:"short",day:"numeric",year:"numeric"})}.`:""} Organic sessions are Google organic search sessions specifically.`})]})]}),l.jsx("div",{className:"flex gap-1",children:gke.map(je=>l.jsx("button",{type:"button",className:`px-3 py-1 text-xs rounded-full border transition-colors ${B===je?"bg-zinc-700 border-zinc-600 text-zinc-50":"border-zinc-800 text-zinc-400 hover:border-zinc-700 hover:text-zinc-300"}`,onClick:()=>F(je),children:je==="all"?"All":je},je))})]}),r?l.jsxs("div",{className:"grid gap-4 md:grid-cols-3",children:[l.jsx(RS,{value:Hm(r.totalSessions),label:"Total Sessions",subtitle:r.totalSessions.toLocaleString(),tone:"neutral"}),l.jsx(RS,{value:Hm(r.totalOrganicSessions),label:"Organic Sessions",subtitle:`${vn}% of total`,tone:"positive"}),l.jsx(RS,{value:Hm(r.totalUsers),label:"Total Users",subtitle:r.totalUsers.toLocaleString(),tone:"neutral"})]}):l.jsxs("div",{className:"surface-card rounded-lg p-6 text-center border border-zinc-800/60",children:[l.jsx("p",{className:"text-sm text-zinc-400 mb-3",children:"No traffic data yet."}),l.jsxs(ve,{variant:"outline",size:"sm",disabled:u,onClick:W,children:[l.jsx(C2,{className:`w-3.5 h-3.5 mr-1.5 ${u?"animate-spin":""}`}),"Sync from GA4"]})]})]}),r&&l.jsxs(l.Fragment,{children:[l.jsx("div",{className:"page-section-divider"}),l.jsxs("section",{children:[l.jsxs("div",{className:"mb-4 flex items-end justify-between",children:[l.jsxs("div",{children:[l.jsx("p",{className:"text-[10px] font-semibold uppercase tracking-wider text-zinc-500 mb-1",children:"Traffic Attribution"}),l.jsxs("h2",{className:"text-base font-semibold text-zinc-50 flex items-center gap-1.5",children:["Traffic by channel",l.jsx(On,{text:"Decomposes GA4 sessions into four disjoint channels — organic search, social, direct, and known AI referrers. The AI cell is rendered separately so AI-driven traffic never inflates the Direct count. Detected via sessionDefaultChannelGrouping plus AI-source matching on sessionSource/firstUserSource/sessionManualSource (generic search sources excluded)."})]})]}),Ft&&l.jsxs("p",{className:"text-xs text-zinc-500",children:[new Date(Ft.start+"T00:00:00").toLocaleDateString(void 0,{month:"short",day:"numeric"})," – ",new Date(Ft.end+"T00:00:00").toLocaleDateString(void 0,{month:"short",day:"numeric",year:"numeric"})]})]}),tt.length>0&&l.jsxs(Fe,{className:"surface-card p-5 mb-4",children:[l.jsxs("div",{className:"mb-4 flex items-end justify-between",children:[l.jsxs("div",{children:[l.jsx("p",{className:"eyebrow eyebrow-soft",children:"Trend"}),l.jsx("h3",{className:"text-sm font-semibold text-zinc-100",children:Pt.length>0?"AI vs. total sessions":"All sessions (baseline)"}),Pt.length===0&&l.jsx("p",{className:"text-xs text-zinc-500 mt-0.5",children:"AI referral sessions will be overlaid here once detected"})]}),Pt.length===0&&l.jsx("p",{className:"text-xs text-zinc-500",children:"No AI referrals detected yet"})]}),l.jsx("div",{className:"h-64",children:l.jsx(ey,{width:"100%",height:"100%",children:l.jsxs(Py,{data:tt,margin:{top:4,right:4,bottom:0,left:0},children:[l.jsx(ih,{dataKey:"date",tick:so,tickLine:!1,axisLine:{stroke:sh},tickFormatter:Dy}),l.jsx(ah,{tick:so,tickLine:!1,axisLine:!1,allowDecimals:!1,width:36}),l.jsx(ky,{...xu,labelFormatter:Ry,formatter:(je,ke)=>{const Ue=typeof je=="number"?je.toLocaleString():String(je??0),Pe=String(ke??"");return Pe==="_totalSessions"?[Ue,"Total Sessions"]:Pe==="_organicSessions"?[Ue,"Organic Sessions"]:[Ue,Pe]}}),l.jsx(ij,{wrapperStyle:{fontSize:11,color:"#a1a1aa"},formatter:je=>je==="_totalSessions"?"Total Sessions":je==="_organicSessions"?"Organic Sessions":je}),l.jsx(xl,{type:"monotone",dataKey:"_totalSessions",stroke:"#52525b",fill:"#27272a",fillOpacity:.4,strokeWidth:1.5,dot:!1}),Pt.map((je,ke)=>l.jsx(xl,{type:"monotone",dataKey:je,stackId:"ai",stroke:Zs[ke%Zs.length],fill:Zs[ke%Zs.length],fillOpacity:.4,strokeWidth:1.5},je))]})})})]}),l.jsxs(Fe,{className:"surface-card p-5 mb-4",children:[l.jsxs("div",{className:"mb-4",children:[l.jsx("p",{className:"eyebrow eyebrow-soft",children:"Summary"}),l.jsx("h3",{className:"text-sm font-semibold text-zinc-100",children:"Channel breakdown"})]}),l.jsxs("div",{className:"grid gap-3 sm:grid-cols-2 lg:grid-cols-4",children:[l.jsx(ua,{label:"Organic",value:`${vn}%`,hint:`${we.toLocaleString()} sessions`,tone:"positive",tooltip:"Sessions from Google organic search (sessionDefaultChannelGrouping = 'Organic Search')."}),l.jsx(ua,{label:"Social",value:`${Ye}%`,hint:`${Re.toLocaleString()} sessions`,tone:"neutral",tooltip:"Sessions from social platforms (sessionDefaultChannelGrouping = 'Organic Social' or 'Paid Social')."}),l.jsx(ua,{label:"Direct",value:`${Se}%`,hint:`${le.toLocaleString()} sessions`,tone:"neutral",tooltip:"Sessions with no source — bookmarks, typed URLs, untagged email, in-app browsers, and AI-driven traffic whose referrer header was stripped."}),l.jsx(ua,{label:"Known AI referrers (lower bound)",value:`${on}%`,hint:`${At.toLocaleString()} sessions`,tone:"positive",tooltip:"Sessions whose current sessionSource matched a known AI engine (e.g. chatgpt.com, claude.ai, gemini.google.com). Disjoint from Direct/Organic/Social. This is a strict lower bound: most AI traffic strips the referrer and falls into Direct, so the true AI share is typically higher than what's shown here. The detail table below also surfaces firstUserSource and UTM-tagged AI signals."})]}),ft&&l.jsxs("div",{className:"mt-4 rounded-lg border border-emerald-800/40 bg-emerald-500/6 px-4 py-3 text-sm text-emerald-100",children:["Top AI referrer: ",l.jsx("span",{className:"font-medium",children:ft.source})," via ",ft.medium,", accounting for ",ft.sessions.toLocaleString()," sessions."]})]}),l.jsxs(Fe,{className:"surface-card p-5 mb-4",children:[l.jsxs("div",{className:"mb-4 flex items-end justify-between gap-3",children:[l.jsxs("div",{children:[l.jsx("p",{className:"eyebrow eyebrow-soft",children:"Detail"}),l.jsx("h3",{className:"text-sm font-semibold text-zinc-100",children:"Known AI referrers — sources detected"})]}),l.jsx("p",{className:"text-xs text-zinc-500",children:r.aiReferrals.length>0?`${dt} unique sources, ${r.aiReferrals.length} rows`:"No source rows"})]}),r.aiReferrals.length>0?l.jsx("div",{className:"overflow-x-auto",children:l.jsxs("table",{className:"w-full text-sm",children:[l.jsx("thead",{children:l.jsxs("tr",{className:"text-[10px] uppercase tracking-wider text-zinc-500",children:[l.jsx(rr,{label:"Source",sortKey:"source",current:_,dir:T,onSort:de,align:"left"}),l.jsx(rr,{label:"Medium",sortKey:"medium",current:_,dir:T,onSort:de,align:"left"}),l.jsx("th",{className:"py-1 font-medium text-left",children:"Attribution"}),l.jsx(rr,{label:"Sessions",sortKey:"sessions",current:_,dir:T,onSort:de,align:"right"}),l.jsx("th",{className:"py-1 font-medium text-right",children:"Share"}),l.jsx(rr,{label:"Users",sortKey:"users",current:_,dir:T,onSort:de,align:"right"})]})}),l.jsx("tbody",{children:ze.map(je=>l.jsx(wke,{referral:je,totalSessions:We},`${je.source}:${je.medium}:${je.sourceDimension}`))})]})}):l.jsxs("div",{className:"flex flex-col items-center justify-center py-8 text-center",children:[l.jsx("p",{className:"text-sm text-zinc-400 mb-2",children:"No AI referrer sessions detected yet"}),l.jsx("p",{className:"text-xs text-zinc-500 max-w-sm",children:"AI engines that preserve a referrer (Perplexity, copy/paste from ChatGPT, etc.) will appear here. Most AI traffic strips the referrer — see the Direct cell above for the upper bound."})]})]}),l.jsxs(Fe,{className:"surface-card p-5",children:[l.jsxs("div",{className:"mb-4 flex items-end justify-between gap-3",children:[l.jsxs("div",{children:[l.jsx("p",{className:"eyebrow eyebrow-soft",children:"Detail"}),l.jsx("h3",{className:"text-sm font-semibold text-zinc-100",children:"Known AI referrers — landing pages"})]}),l.jsx("p",{className:"text-xs text-zinc-500",children:Q.length>0?`${Q.length} rows`:"No landing-page rows"})]}),Q.length>0?l.jsx("div",{className:"overflow-x-auto",children:l.jsxs("table",{className:"w-full text-sm",children:[l.jsx("thead",{children:l.jsxs("tr",{className:"text-[10px] uppercase tracking-wider text-zinc-500",children:[l.jsx(rr,{label:"Landing Page",sortKey:"landingPage",current:$,dir:G,onSort:ee,align:"left"}),l.jsx(rr,{label:"Source",sortKey:"source",current:$,dir:G,onSort:ee,align:"left"}),l.jsx("th",{className:"py-1 font-medium text-left",children:"Attribution"}),l.jsx(rr,{label:"Sessions",sortKey:"sessions",current:$,dir:G,onSort:ee,align:"right"}),l.jsx(rr,{label:"Users",sortKey:"users",current:$,dir:G,onSort:ee,align:"right"})]})}),l.jsx("tbody",{children:Q.map(je=>l.jsx(Ske,{row:je},`${je.landingPage}:${je.source}:${je.medium}:${je.sourceDimension}`))})]})}):l.jsxs("div",{className:"flex flex-col items-center justify-center py-8 text-center",children:[l.jsx("p",{className:"text-sm text-zinc-400 mb-2",children:"No AI landing pages detected yet"}),l.jsx("p",{className:"text-xs text-zinc-500 max-w-sm",children:"Known-AI landing pages appear after a GA4 sync records visits from AI referrers."})]})]})]})]}),r&&l.jsxs(l.Fragment,{children:[l.jsx("div",{className:"page-section-divider"}),l.jsxs("section",{children:[l.jsxs("div",{className:"mb-4",children:[l.jsx("p",{className:"text-[10px] font-semibold uppercase tracking-wider text-zinc-500 mb-1",children:"Social Attribution"}),l.jsxs("h2",{className:"text-base font-semibold text-zinc-50 flex items-center gap-1.5",children:["Social Media Traffic",l.jsx(On,{text:"Tracks sessions classified as social traffic by GA4's default channel grouping (Organic Social and Paid Social). Google maintains the source-to-channel mapping."})]})]}),Me.length>0&&l.jsxs(Fe,{className:"surface-card p-5 mb-4",children:[l.jsx("div",{className:"mb-4 flex items-end justify-between",children:l.jsxs("div",{children:[l.jsx("p",{className:"eyebrow eyebrow-soft",children:"Trend"}),l.jsx("h3",{className:"text-sm font-semibold text-zinc-100",children:"Social sessions over time"})]})}),l.jsx("div",{className:"h-64",children:l.jsx(ey,{width:"100%",height:"100%",children:l.jsxs(Py,{data:Me,margin:{top:4,right:4,bottom:0,left:0},children:[l.jsx(ih,{dataKey:"date",tick:so,tickLine:!1,axisLine:{stroke:sh},tickFormatter:Dy}),l.jsx(ah,{tick:so,tickLine:!1,axisLine:!1,allowDecimals:!1,width:36}),l.jsx(ky,{...xu,labelFormatter:Ry,formatter:(je,ke)=>{const Ue=typeof je=="number"?je.toLocaleString():String(je??0),Pe=String(ke??"");return Pe==="_socialTotal"?[Ue,"Total Social"]:[Ue,Pe]}}),l.jsx(ij,{wrapperStyle:{fontSize:11,color:"#a1a1aa"},formatter:je=>je==="_socialTotal"?"Total Social":je}),l.jsx(xl,{type:"monotone",dataKey:"_socialTotal",stroke:"#52525b",fill:"#27272a",fillOpacity:.4,strokeWidth:1.5,dot:!1}),it.map((je,ke)=>l.jsx(xl,{type:"monotone",dataKey:je,stackId:"social",stroke:Zs[ke%Zs.length],fill:Zs[ke%Zs.length],fillOpacity:.4,strokeWidth:1.5},je))]})})})]}),l.jsxs("div",{className:"grid gap-4 xl:grid-cols-[minmax(0,0.9fr)_minmax(0,1.5fr)]",children:[l.jsxs(Fe,{className:"surface-card p-5",children:[l.jsxs("div",{className:"mb-4",children:[l.jsx("p",{className:"eyebrow eyebrow-soft",children:"Summary"}),l.jsx("h3",{className:"text-sm font-semibold text-zinc-100",children:"Social media visits"})]}),r.socialReferrals.length>0?l.jsxs(l.Fragment,{children:[l.jsxs("div",{className:"grid gap-3 sm:grid-cols-3",children:[l.jsx(ua,{label:"Social Sessions",value:Hm(Re),hint:`${Re.toLocaleString()} sessions`,tone:"positive",tooltip:"Total sessions classified as Organic Social or Paid Social by GA4's default channel grouping."}),l.jsx(ua,{label:"Share of Traffic",value:`${Ye}%`,hint:"of total sessions",tone:"neutral",tooltip:"Percentage of your total site sessions that originated from social media platforms."}),l.jsx(ua,{label:"Platforms",value:String(ct),hint:`${r.socialReferrals.length} source rows`,tone:"neutral",tooltip:"Number of distinct social media platforms detected. Each unique source/medium combination counts as one source row."})]}),Yt&&l.jsxs("div",{className:"mt-4 rounded-lg border border-sky-800/40 bg-sky-500/6 px-4 py-3 text-sm text-sky-100",children:["Top social source: ",l.jsx("span",{className:"font-medium",children:Yt.source})," via ",Yt.medium,", accounting for ",Yt.sessions.toLocaleString()," sessions."]})]}):l.jsxs("div",{className:"space-y-3",children:[l.jsxs("div",{className:"grid gap-3 sm:grid-cols-3",children:[l.jsx(ua,{label:"Social Sessions",value:"0",hint:"0 sessions",tone:"neutral",tooltip:"Total sessions attributed to social media platforms."}),l.jsx(ua,{label:"Share of Traffic",value:"0%",hint:"of total sessions",tone:"neutral",tooltip:"Percentage of your total site sessions from social media."}),l.jsx(ua,{label:"Platforms",value:"0",hint:"known platforms",tone:"neutral",tooltip:"Number of distinct social media platforms detected."})]}),l.jsxs("div",{className:"rounded-lg border border-zinc-800/60 bg-zinc-900/30 px-4 py-3 text-sm text-zinc-400",children:[l.jsx("p",{className:"mb-1.5 text-zinc-300",children:"Monitoring social media traffic via GA4 channel grouping"}),l.jsx("p",{className:"text-xs text-zinc-500",children:"Sessions classified as Organic Social or Paid Social by GA4 will appear here. Google maintains the source-to-channel mapping, which includes Facebook, Instagram, X/Twitter, LinkedIn, Reddit, Pinterest, Snapchat, and other platforms."})]})]})]}),l.jsxs(Fe,{className:"surface-card p-5",children:[l.jsxs("div",{className:"mb-4 flex items-end justify-between gap-3",children:[l.jsxs("div",{children:[l.jsx("p",{className:"eyebrow eyebrow-soft",children:"Breakdown"}),l.jsx("h3",{className:"text-sm font-semibold text-zinc-100",children:"Source / medium"})]}),l.jsx("p",{className:"text-xs text-zinc-500",children:r.socialReferrals.length>0?`${r.socialReferrals.length} rows`:"No source rows"})]}),r.socialReferrals.length>0?l.jsx("div",{className:"overflow-x-auto",children:l.jsxs("table",{className:"w-full text-sm",children:[l.jsx("thead",{children:l.jsxs("tr",{className:"text-[10px] uppercase tracking-wider text-zinc-500",children:[l.jsx(rr,{label:"Source",sortKey:"source",current:A,dir:I,onSort:Ce,align:"left"}),l.jsx(rr,{label:"Medium",sortKey:"medium",current:A,dir:I,onSort:Ce,align:"left"}),l.jsx("th",{className:"py-1 font-medium text-left",children:"Channel"}),l.jsx(rr,{label:"Sessions",sortKey:"sessions",current:A,dir:I,onSort:Ce,align:"right"}),l.jsx("th",{className:"py-1 font-medium text-right",children:"Share"}),l.jsx(rr,{label:"Users",sortKey:"users",current:A,dir:I,onSort:Ce,align:"right"})]})}),l.jsx("tbody",{children:He.map(je=>l.jsx(jke,{referral:je,totalSessions:Re},`${je.source}:${je.medium}:${je.channelGroup}`))})]})}):l.jsxs("div",{className:"flex flex-col items-center justify-center py-8 text-center",children:[l.jsx("p",{className:"text-sm text-zinc-400 mb-2",children:"No social media sessions detected yet"}),l.jsx("p",{className:"text-xs text-zinc-500 max-w-sm",children:"When visitors arrive from Facebook, X/Twitter, LinkedIn, or other social platforms, their sessions will be broken down here by source and medium."})]})]})]})]})]}),r&&r.topPages.length>0&&l.jsxs(l.Fragment,{children:[l.jsx("div",{className:"page-section-divider"}),l.jsxs("section",{children:[l.jsxs("div",{className:"mb-4",children:[l.jsx("p",{className:"text-[10px] font-semibold uppercase tracking-wider text-zinc-500 mb-1",children:"Page Performance"}),l.jsxs("h2",{className:"text-base font-semibold text-zinc-50 flex items-center gap-1.5",children:["Top Landing Pages",l.jsx(On,{text:"Landing pages ranked by session volume. Click column headers to sort. Organic % shows the share of sessions coming from Google organic search."})]})]}),l.jsx("div",{className:"overflow-x-auto",children:l.jsxs("table",{className:"w-full text-sm",children:[l.jsx("thead",{children:l.jsxs("tr",{className:"text-[10px] uppercase tracking-wider text-zinc-500",children:[l.jsx(rr,{label:"Landing Page",sortKey:"landingPage",current:S,dir:k,onSort:ne,align:"left"}),l.jsx(rr,{label:"Sessions",sortKey:"sessions",current:S,dir:k,onSort:ne,align:"right"}),l.jsx(rr,{label:"Organic",sortKey:"organicSessions",current:S,dir:k,onSort:ne,align:"right"}),l.jsx("th",{className:"text-right py-1 font-medium",children:"Organic %"}),l.jsx(rr,{label:"Users",sortKey:"users",current:S,dir:k,onSort:ne,align:"right"})]})}),l.jsx("tbody",{children:fe.map(je=>l.jsx(bke,{page:je},je.landingPage))})]})})]})]}),l.jsxs("div",{className:"mt-6 flex items-center justify-between text-xs text-zinc-500",children:[l.jsx("span",{children:r?.lastSyncedAt?`Last synced ${yke(r.lastSyncedAt)}`:"Never synced"}),l.jsx("span",{children:r?`${r.topPages.length} pages · ${r.aiReferrals.length} AI rows · ${r.socialReferrals.length} social rows`:""})]})]})}function xke({projectName:e,onConnected:t}){const[n,r]=x.useState(""),[i,a]=x.useState(null),[o,u]=x.useState(null),[d,f]=x.useState(!1),[p,m]=x.useState(null),y=x.useRef(null),v=x.useCallback(S=>{const j=S.target.files?.[0];if(!j)return;m(null),a(j.name);const k=new FileReader;k.onload=()=>{const O=k.result;try{const _=JSON.parse(O);if(!_.client_email||!_.private_key){m("JSON file is missing required fields: client_email and private_key. Make sure you downloaded a service account key (not an OAuth client)."),u(null);return}u(O)}catch{m("File is not valid JSON. Please upload a service account key file (.json) downloaded from Google Cloud Console."),u(null)}},k.onerror=()=>{m("Failed to read file."),u(null)},k.readAsText(j)},[]);async function w(){if(m(null),!n.trim()){m("Property ID is required.");return}if(!o){m("Please upload a service account key file.");return}f(!0);try{await H7(e,{propertyId:n.trim(),keyJson:o});try{await JI(e)}catch{}t()}catch(S){m(S instanceof Error?S.message:"Failed to connect GA4")}finally{f(!1)}}return l.jsxs(Fe,{className:"surface-card p-6",children:[l.jsx("h3",{className:"text-base font-semibold text-zinc-50 mb-1",children:"Connect Google Analytics 4"}),l.jsx("p",{className:"text-sm text-zinc-400 mb-5",children:"Connect a GA4 property to see traffic data for this project. You'll need a service account key file from Google Cloud Console."}),p&&l.jsx("div",{className:"mb-4 px-4 py-2 rounded-lg bg-rose-900/20 border border-rose-800/60 text-sm text-rose-300",children:p}),l.jsxs("div",{className:"mb-4",children:[l.jsx("label",{htmlFor:"ga4-property-id",className:"block text-xs font-medium text-zinc-400 mb-1.5",children:"GA4 Property ID"}),l.jsx("input",{id:"ga4-property-id",type:"text",placeholder:"e.g. 123456789",value:n,onChange:S=>r(S.target.value),className:"w-full rounded-lg bg-zinc-900/60 border border-zinc-800/60 px-3 py-2 text-sm text-zinc-200 placeholder:text-zinc-600 focus:outline-none focus:ring-1 focus:ring-zinc-600"}),l.jsx("p",{className:"mt-1 text-[11px] text-zinc-500",children:"Find this in GA4 → Admin → Property Settings. It's a numeric ID, not the Measurement ID (G-XXXXXX)."})]}),l.jsxs("div",{className:"mb-5",children:[l.jsx("label",{className:"block text-xs font-medium text-zinc-400 mb-1.5",children:"Service Account Key File"}),l.jsx("input",{ref:y,type:"file",accept:".json,application/json",onChange:v,className:"hidden"}),l.jsxs("button",{type:"button",onClick:()=>y.current?.click(),className:"flex items-center gap-2 w-full rounded-lg bg-zinc-900/60 border border-zinc-800/60 border-dashed px-4 py-3 text-sm text-zinc-400 hover:border-zinc-600 hover:text-zinc-300 transition-colors cursor-pointer",children:[l.jsx(pV,{className:"w-4 h-4 shrink-0"}),i?l.jsx("span",{className:"text-zinc-200 truncate",children:i}):l.jsx("span",{children:"Upload .json key file"})]}),l.jsxs("p",{className:"mt-1 text-[11px] text-zinc-500",children:["Download from Google Cloud Console → IAM & Admin → Service Accounts → Keys → Add Key → JSON. The service account must have ",l.jsx("span",{className:"text-zinc-400",children:"Viewer"})," access on the GA4 property."]})]}),l.jsx(ve,{variant:"default",size:"sm",disabled:d||!n.trim()||!o,onClick:w,children:d?"Connecting & syncing…":"Connect GA4"})]})}function rr({label:e,sortKey:t,current:n,dir:r,onSort:i,align:a}){const o=n===t;return l.jsxs("th",{className:`py-1 font-medium cursor-pointer select-none hover:text-zinc-300 transition-colors ${a==="right"?"text-right":"text-left"}`,onClick:()=>i(t),children:[e,o&&l.jsx("span",{className:"ml-0.5",children:r==="asc"?"↑":"↓"})]})}const G8={positive:"text-emerald-400",caution:"text-amber-400",negative:"text-rose-400",neutral:"text-zinc-50"};function RS({value:e,label:t,subtitle:n,tone:r}){return l.jsxs("div",{className:"rounded-lg bg-zinc-900/30 border border-zinc-800/60 px-5 py-4",children:[l.jsx("p",{className:"text-[10px] font-semibold uppercase tracking-wider text-zinc-500 mb-1",children:t}),l.jsx("p",{className:`text-2xl font-bold tabular-nums ${G8[r]}`,children:e}),l.jsx("p",{className:"text-xs text-zinc-500 mt-1",children:n})]})}function ua({value:e,label:t,hint:n,tone:r,tooltip:i}){return l.jsxs("div",{className:"rounded-lg border border-zinc-800/60 bg-zinc-950/40 px-4 py-3 flex flex-col",children:[l.jsxs("p",{className:"text-[10px] font-semibold uppercase tracking-wider text-zinc-500 mb-1 flex items-center gap-1",children:[t,i&&l.jsx(On,{text:i})]}),l.jsx("p",{className:`text-xl font-semibold tabular-nums ${G8[r]}`,children:e}),l.jsx("p",{className:"text-xs text-zinc-500 mt-1",children:n})]})}function bke({page:e}){const t=e.sessions>0?(e.organicSessions/e.sessions*100).toFixed(1):"0.0";return l.jsxs("tr",{className:"border-t border-zinc-800/40",children:[l.jsx("td",{className:"py-1.5 text-zinc-300 max-w-[400px] truncate",title:e.landingPage,children:e.landingPage}),l.jsx("td",{className:"py-1.5 text-right text-zinc-200 tabular-nums",children:e.sessions.toLocaleString()}),l.jsx("td",{className:"py-1.5 text-right text-emerald-400 tabular-nums",children:e.organicSessions.toLocaleString()}),l.jsxs("td",{className:"py-1.5 text-right text-zinc-400 tabular-nums",children:[t,"%"]}),l.jsx("td",{className:"py-1.5 text-right text-zinc-200 tabular-nums",children:e.users.toLocaleString()})]})}const V8={session:"Session",first_user:"First Visit",manual_utm:"UTM"},Z8={session:"Detected via GA4 sessionSource (referrer or utm_source for this session)",first_user:"Detected via GA4 firstUserSource (referrer from the user's first-ever visit)",manual_utm:"Detected via GA4 sessionManualSource (explicit utm_source parameter for the session)"};function wke({referral:e,totalSessions:t}){const n=t>0?(e.sessions/t*100).toFixed(1):"0.0",r=V8[e.sourceDimension]??e.sourceDimension,i=Z8[e.sourceDimension]??"";return l.jsxs("tr",{className:"border-t border-zinc-800/40",children:[l.jsx("td",{className:"py-1.5 text-zinc-200 max-w-[220px] truncate",title:e.source,children:e.source}),l.jsx("td",{className:"py-1.5 text-zinc-500 max-w-[180px] truncate",title:e.medium,children:e.medium}),l.jsx("td",{className:"py-1.5",children:l.jsx("span",{className:"inline-block text-[10px] px-1.5 py-0.5 rounded-full border border-zinc-700 text-zinc-400",title:i,children:r})}),l.jsx("td",{className:"py-1.5 text-right text-emerald-400 tabular-nums",children:e.sessions.toLocaleString()}),l.jsxs("td",{className:"py-1.5 text-right text-zinc-400 tabular-nums",children:[n,"%"]}),l.jsx("td",{className:"py-1.5 text-right text-zinc-200 tabular-nums",children:e.users.toLocaleString()})]})}function Ske({row:e}){const t=V8[e.sourceDimension]??e.sourceDimension,n=Z8[e.sourceDimension]??"";return l.jsxs("tr",{className:"border-t border-zinc-800/40",children:[l.jsx("td",{className:"py-1.5 text-zinc-300 max-w-[360px] truncate",title:e.landingPage,children:e.landingPage}),l.jsx("td",{className:"py-1.5 text-zinc-200 max-w-[220px] truncate",title:e.source,children:e.source}),l.jsx("td",{className:"py-1.5",children:l.jsx("span",{className:"inline-block text-[10px] px-1.5 py-0.5 rounded-full border border-zinc-700 text-zinc-400",title:n,children:t})}),l.jsx("td",{className:"py-1.5 text-right text-emerald-400 tabular-nums",children:e.sessions.toLocaleString()}),l.jsx("td",{className:"py-1.5 text-right text-zinc-200 tabular-nums",children:e.users.toLocaleString()})]})}function jke({referral:e,totalSessions:t}){const n=t>0?(e.sessions/t*100).toFixed(1):"0.0",r=e.channelGroup==="Paid Social"?"Paid":"Organic";return l.jsxs("tr",{className:"border-t border-zinc-800/40",children:[l.jsx("td",{className:"py-1.5 text-zinc-200 max-w-[220px] truncate",title:e.source,children:e.source}),l.jsx("td",{className:"py-1.5 text-zinc-500 max-w-[180px] truncate",title:e.medium,children:e.medium}),l.jsx("td",{className:"py-1.5",children:l.jsx("span",{className:"inline-block text-[10px] px-1.5 py-0.5 rounded-full border border-zinc-700 text-zinc-400",title:`GA4 channel group: ${e.channelGroup}`,children:r})}),l.jsx("td",{className:"py-1.5 text-right text-sky-400 tabular-nums",children:e.sessions.toLocaleString()}),l.jsxs("td",{className:"py-1.5 text-right text-zinc-400 tabular-nums",children:[n,"%"]}),l.jsx("td",{className:"py-1.5 text-right text-zinc-200 tabular-nums",children:e.users.toLocaleString()})]})}function Dh(e){e.invalidateQueries({queryKey:zr.runs.all}),e.invalidateQueries({queryKey:zr.projects.all})}function Nke(e){return e==="gsc-sync"?"GSC sync queued":e==="inspect-sitemap"?"Sitemap inspection queued":"Visibility sweep queued"}function kke(e,t){const n=e??"Project";return t==="gsc-sync"?`${n} will refresh after the sync completes.`:t==="inspect-sitemap"?`${n} will notify you when sitemap inspection finishes.`:`${n} will notify you when the run finishes.`}function n0(e,t){o5({id:e.id,projectId:e.projectId,kind:e.kind,projectLabel:t.projectLabel,sourceAction:t.sourceAction,lastAnnouncedStatus:"queued"}),gt({title:Nke(e.kind),detail:kke(t.projectLabel,e.kind),tone:"neutral",dedupeKey:`run:${e.id}`,dedupeMode:"replace"})}function Cke(e){const t=e.filter(i=>i.status!=="conflict"),n=e.filter(i=>i.status==="conflict");if(t.length===0){gt({title:"No runs queued",detail:n.length>0?`${n.length} project${n.length===1?"":"s"} already had a run in progress.`:"No projects were available to queue.",tone:"caution",durationMs:8e3,dedupeKey:"run-all:conflict",dedupeMode:"replace"});return}for(const i of t)o5({id:i.id,projectId:i.projectId,kind:i.kind,projectLabel:i.projectName,sourceAction:"run-all",lastAnnouncedStatus:"queued"});const r=xJ({runIds:t.map(i=>i.id),queuedCount:t.length,skippedCount:n.length});gt({title:"Run-all batch queued",detail:n.length>0?`${t.length} project${t.length===1?"":"s"} queued, ${n.length} skipped because a run is already active.`:`${t.length} project${t.length===1?"":"s"} queued.`,tone:n.length>0?"caution":"neutral",dedupeKey:`batch:${r}`,dedupeMode:"replace"})}function r0(e,t){if(e instanceof _i&&e.code==="RUN_IN_PROGRESS"){gt({title:"Run already in progress",detail:t?.projectLabel?`${t.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:${t?.projectKey??"project"}:${t?.sourceAction??"run"}`,dedupeMode:"replace"});return}gt({title:e instanceof Error?e.message:"Failed to queue run",tone:"negative"})}function Y8(){const e=wo();return oh({meta:{skipGlobalErrorToast:!0},mutationFn:({projectName:t,opts:n})=>n7(t,n),onSuccess:(t,n)=>{Dh(e),n0(t,{projectLabel:n.projectLabel??n.projectName,sourceAction:n.sourceAction})},onError:(t,n)=>{r0(t,{projectKey:n.projectName,projectLabel:n.projectLabel??n.projectName,sourceAction:n.sourceAction})}})}function _ke(){const e=wo();return oh({meta:{skipGlobalErrorToast:!0},mutationFn:t=>w7(t),onSuccess:t=>{Dh(e),Cke(t)},onError:t=>{gt({title:t instanceof Error?t.message:"Failed to queue runs",tone:"negative"})}})}function Ake(){const e=wo();return oh({meta:{skipGlobalErrorToast:!0},mutationFn:({projectName:t,opts:n})=>YI(t,n),onSuccess:(t,n)=>{Dh(e),n0(t,{projectLabel:n.projectLabel??n.projectName,sourceAction:"gsc-sync"})},onError:(t,n)=>{r0(t,{projectKey:n.projectName,projectLabel:n.projectLabel??n.projectName,sourceAction:"gsc-sync"})}})}function Oke(){const e=wo();return oh({meta:{skipGlobalErrorToast:!0},mutationFn:({projectName:t})=>R7(t),onSuccess:(t,n)=>{Dh(e),n0(t.run,{projectLabel:n.projectLabel??n.projectName,sourceAction:"discover-sitemaps"})},onError:(t,n)=>{r0(t,{projectKey:n.projectName,projectLabel:n.projectLabel??n.projectName,sourceAction:"discover-sitemaps"})}})}function Eke(){const e=wo();return oh({meta:{skipGlobalErrorToast:!0},mutationFn:({projectName:t,opts:n})=>T7(t,n),onSuccess:(t,n)=>{Dh(e),n0(t,{projectLabel:n.projectLabel??n.projectName,sourceAction:"inspect-sitemap"})},onError:(t,n)=>{r0(t,{projectKey:n.projectName,projectLabel:n.projectLabel??n.projectName,sourceAction:"inspect-sitemap"})}})}const zke=["7d","30d","90d","all"];function Tke({projectName:e}){const[t,n]=x.useState(!1),[r,i]=x.useState([]),[a,o]=x.useState([]),[u,d]=x.useState([]),[f,p]=x.useState([]),[m,y]=x.useState([]),[v,w]=x.useState(null),[S,j]=x.useState(""),[k,O]=x.useState(""),[_,C]=x.useState("30"),[T,E]=x.useState(!1),[A,P]=x.useState("30d"),[I,q]=x.useState({startDate:"",endDate:"",query:"",page:"",limit:"20"}),[$,U]=x.useState(""),[G,te]=x.useState(!0),[Z,K]=x.useState(!1),[X,pe]=x.useState(!1),[Ne,R]=x.useState(!1),[B,F]=x.useState(!1),[M,W]=x.useState(!1),[ae,ne]=x.useState(!1),[de,Ce]=x.useState(null),[ee,fe]=x.useState(!1),[ze,Q]=x.useState(!1),[He,Me]=x.useState(null),[it,tt]=x.useState(""),[Pt,Ft]=x.useState(!1),[vn,we]=x.useState(!1),[We,At]=x.useState("indexed"),[on,dt]=x.useState(null),ft=x.useMemo(()=>{if(!on)return u;const{key:V,dir:_e}=on;return[...u].sort((St,ht)=>{const Rt=V===io.CTR?Number.isFinite(St.ctr)?St.ctr:0:St[V],Ur=V===io.CTR?Number.isFinite(ht.ctr)?ht.ctr:0:ht[V];return _e==="asc"?Rt-Ur:Ur-Rt})},[u,on]),[le,Se]=x.useState([]),[Re,Ye]=x.useState(null),[ct,Yt]=x.useState(!1),[je,ke]=x.useState(null),[Ue,Pe]=x.useState(null),Te=r.find(V=>V.connectionType==="gsc"),tr=u.length>0||f.length>0||m.length>0,xe=Ake(),en=Oke(),Br=Eke();async function na(V){if(!V){o([]),j("");return}pe(!0);try{const{sites:_e}=await N7(e);o(_e),j(V.propertyId??_e[0]?.siteUrl??"")}catch(_e){o([]),ke(_e instanceof Error?_e.message:"Failed to load Search Console properties")}finally{pe(!1)}}async function dr(){F(!0);try{const V=await _7(e,{startDate:I.startDate||void 0,endDate:I.endDate||void 0,query:I.query||void 0,page:I.page||void 0,limit:parseInt(I.limit,10)||20,window:A});d(V)}catch(V){d([]),ke(V instanceof Error?V.message:"Failed to load GSC performance data")}finally{F(!1)}}async function ri(){W(!0);try{const[V,_e]=await Promise.all([O7(e,{url:$.trim()||void 0,limit:20}),E7(e)]);p(V),y(_e)}catch(V){p([]),y([]),ke(V instanceof Error?V.message:"Failed to load GSC inspection history")}finally{W(!1)}}async function Eo(){fe(!0);try{const[V,_e]=await Promise.all([Wj(e),z7(e).catch(()=>[])]);Ce(V),Se(_e)}catch(V){Ce(null),Se([]),ke(V instanceof Error?V.message:"Failed to load coverage data")}finally{fe(!1)}}async function xs(V){Yt(!0),ke(null);try{const _e=await m2(e,{urls:V}),{succeeded:St,failed:ht,total:Rt}=_e.summary;gt({title:"Indexing requested",detail:ht===0?`${St} URL${St!==1?"s":""} submitted for indexing.`:`${St}/${Rt} submitted successfully, ${ht} failed.`,tone:ht===0?"positive":"caution",dedupeKey:`gsc:indexing:${e}`,dedupeMode:"replace"})}catch(_e){ke(_e instanceof Error?_e.message:"Failed to request indexing")}finally{Yt(!1)}}async function i0(){Yt(!0),ke(null);try{const V=await m2(e,{urls:[],allUnindexed:!0}),{succeeded:_e,failed:St,total:ht}=V.summary;gt({title:"Indexing requested",detail:St===0?`${_e} unindexed URL${_e!==1?"s":""} submitted for indexing.`:`${_e}/${ht} submitted successfully, ${St} failed.`,tone:St===0?"positive":"caution",dedupeKey:`gsc:indexing-all:${e}`,dedupeMode:"replace"})}catch(V){ke(V instanceof Error?V.message:"Failed to request indexing")}finally{Yt(!1)}}async function zo(){if(it.trim()){Ft(!0),ke(null);try{await C7(e,"gsc",it.trim()),i(V=>V.map(_e=>_e.connectionType==="gsc"?{..._e,sitemapUrl:it.trim()}:_e)),gt({title:"Sitemap URL saved",detail:`${e} will use the updated sitemap URL.`,tone:"positive",dedupeKey:`gsc:sitemap:${e}`,dedupeMode:"drop"}),tt("")}catch(V){ke(V instanceof Error?V.message:"Failed to save sitemap URL")}finally{Ft(!1)}}}async function tc(){ke(null);try{const V=await en.mutateAsync({projectName:e,projectLabel:e});Me(V.sitemaps),i(_e=>_e.map(St=>St.connectionType==="gsc"?{...St,sitemapUrl:V.primarySitemapUrl}:St))}catch{}}async function To(){Q(!0),ke(null);try{const V=await P7(e);Me(V.sitemaps),V.sitemaps.length===0&&Pe("No sitemaps found in this GSC property. Submit a sitemap in Google Search Console first.")}catch(V){ke(V instanceof Error?V.message:"Failed to list sitemaps")}finally{Q(!1)}}async function Ih(){te(!0),ke(null);try{const[V,_e]=await Promise.all([Yj().catch(()=>null),ZI(e).catch(()=>[])]);n(!!V?.google?.configured),i(_e);const St=_e.find(ht=>ht.connectionType==="gsc");await Promise.all([na(St),dr(),ri(),Eo()])}finally{te(!1)}}x.useEffect(()=>{Ih()},[e]),x.useEffect(()=>{dr()},[A]);async function Lh(){if(!t){ke("Google OAuth app credentials are not configured yet. Set them on the Settings page first.");return}K(!0),ke(null),Pe(null);try{const{authUrl:V}=await S7(e,"gsc");if(!V.startsWith("https://accounts.google.com/")){ke("Unexpected OAuth redirect URL. Please try again.");return}const _e=window.open(V,"_blank","width=600,height=700");if(!_e){window.location.assign(V);return}Pe("Finish the Google consent flow in the popup, then close it to refresh this project.");const St=window.setInterval(()=>{_e.closed&&(window.clearInterval(St),Pe(null),Ih())},1e3)}catch(V){ke(V instanceof Error?V.message:"Failed to start OAuth flow")}finally{K(!1)}}async function $h(){ke(null),Pe(null);try{await j7(e,"gsc"),i(V=>V.filter(_e=>_e.connectionType!=="gsc")),o([]),j("")}catch(V){ke(V instanceof Error?V.message:"Failed to disconnect")}}async function Bh(){if(S){R(!0),ke(null);try{await k7(e,"gsc",S),i(V=>V.map(_e=>_e.connectionType==="gsc"?{..._e,propertyId:S}:_e)),gt({title:"GSC property updated",detail:`${e} is now linked to ${S}.`,tone:"positive",dedupeKey:`gsc:property:${e}`,dedupeMode:"drop"})}catch(V){ke(V instanceof Error?V.message:"Failed to save GSC property")}finally{R(!1)}}}async function rd(){ke(null),Pe(null);try{await xe.mutateAsync({projectName:e,projectLabel:e,opts:{days:parseInt(_,10)||void 0,full:T||void 0}})}catch{}}async function nc(){if(k.trim()){ne(!0),ke(null),Pe(null);try{const V=await A7(e,k.trim());w(V),O(""),await ri()}catch(V){ke(V instanceof Error?V.message:"Failed to inspect URL")}finally{ne(!1)}}}return l.jsxs("section",{className:"page-section-divider",children:[l.jsxs("div",{className:"section-head section-head-inline",children:[l.jsxs("div",{children:[l.jsx("p",{className:"eyebrow eyebrow-soft",children:"Search Console"}),l.jsx("h2",{children:"Google Search Console"})]}),l.jsxs("div",{className:"flex items-center gap-2",children:[l.jsx("div",{className:"flex gap-1",children:zke.map(V=>l.jsx("button",{type:"button",className:`px-3 py-1 text-xs rounded-full border transition-colors ${A===V?"bg-zinc-700 border-zinc-600 text-zinc-50":"border-zinc-800 text-zinc-400 hover:border-zinc-700 hover:text-zinc-300"}`,onClick:()=>P(V),children:V==="all"?"All":V},V))}),Te&&l.jsx(ve,{type:"button",variant:"outline",size:"sm",disabled:B,onClick:()=>{dr()},children:B?"Refreshing…":"Refresh data"})]})]}),je&&l.jsxs("div",{className:"mb-3 rounded-lg border border-rose-800/40 bg-rose-950/20 px-3 py-2 text-sm text-rose-300",children:[je,l.jsx("button",{type:"button",className:"ml-2 text-rose-400 hover:text-rose-200",onClick:()=>ke(null),children:"×"})]}),Ue&&l.jsxs("div",{className:"mb-3 rounded-lg border border-emerald-800/40 bg-emerald-950/20 px-3 py-2 text-sm text-emerald-300",children:[Ue,l.jsx("button",{type:"button",className:"ml-2 text-emerald-400 hover:text-emerald-200",onClick:()=>Pe(null),children:"×"})]}),G?l.jsx("p",{className:"text-sm text-zinc-500",children:"Loading…"}):l.jsxs("div",{className:"space-y-3",children:[l.jsxs(Fe,{className:"surface-card",children:[l.jsxs("div",{className:"section-head section-head-inline",children:[l.jsxs("div",{children:[l.jsx("p",{className:"eyebrow eyebrow-soft",children:"Connection"}),l.jsx("h3",{children:"Domain authorization"})]}),l.jsx(wt,{tone:Te?"positive":t?"caution":"negative",children:Te?"Connected":t?"Ready to connect":"App credentials missing"})]}),Te?l.jsxs("div",{className:"mt-3 space-y-3",children:[l.jsxs("div",{className:"rounded-lg border border-zinc-800/60 bg-zinc-900/30 px-4 py-3",children:[l.jsxs("div",{className:"flex items-center gap-3",children:[l.jsx("span",{className:"h-2 w-2 rounded-full bg-emerald-500"}),l.jsx("span",{className:"text-sm text-zinc-200",children:"Authorized for this project domain"}),l.jsx("span",{className:"text-xs text-zinc-500",children:Te.domain}),l.jsx("button",{type:"button",className:"ml-auto text-xs text-zinc-500 hover:text-rose-400 transition-colors",onClick:$h,children:"Disconnect"})]}),l.jsxs("p",{className:"mt-2 text-xs text-zinc-500",children:["Canonry stores OAuth tokens per canonical domain. This project currently maps to ",l.jsx("code",{children:Te.domain}),"."]})]}),l.jsxs("div",{className:"grid gap-3 lg:grid-cols-2",children:[l.jsxs("div",{className:"rounded-lg border border-zinc-800/60 bg-zinc-900/20 p-3",children:[l.jsx("p",{className:"text-xs uppercase tracking-wide text-zinc-500",children:"Selected property"}),l.jsx("p",{className:"mt-1 text-sm text-zinc-200",children:Te.propertyId??"No property selected yet"})]}),l.jsxs("div",{className:"rounded-lg border border-zinc-800/60 bg-zinc-900/20 p-3",children:[l.jsx("p",{className:"text-xs uppercase tracking-wide text-zinc-500",children:"Last auth update"}),l.jsx("p",{className:"mt-1 text-sm text-zinc-200",children:Ki(Te.updatedAt)})]})]})]}):l.jsxs("div",{className:"mt-3 rounded-lg border border-zinc-800/60 bg-zinc-900/30 px-4 py-5",children:[l.jsx("p",{className:"text-sm text-zinc-300",children:t?"Generate a Google OAuth link for this project and have the client sign in with a Google account that already has access to the correct Search Console property.":"Set Google OAuth client credentials first. Once configured, you can generate a consent link for this project domain."}),l.jsxs("div",{className:"mt-3 flex flex-wrap items-center gap-2",children:[t?l.jsx(ve,{type:"button",variant:"outline",size:"sm",disabled:Z,onClick:Lh,children:Z?"Opening…":"Connect Google Search Console"}):l.jsx(ve,{type:"button",variant:"outline",size:"sm",asChild:!0,children:l.jsx(Kt,{to:"/settings",children:"Open Settings"})}),!t&&l.jsx("p",{className:"text-xs text-zinc-500",children:"The same Google OAuth app credentials are shared across all projects."})]})]})]}),Te&&!Te.sitemapUrl&&l.jsx("div",{className:"rounded-lg border border-amber-800/40 bg-amber-950/20 px-4 py-3",children:l.jsxs("div",{className:"flex items-start gap-3",children:[l.jsx("span",{className:"mt-0.5 text-amber-400",children:l.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",className:"h-5 w-5","aria-hidden":"true",children:l.jsx("path",{fillRule:"evenodd",d:"M8.485 2.495c.673-1.167 2.357-1.167 3.03 0l6.28 10.875c.673 1.167-.17 2.625-1.516 2.625H3.72c-1.347 0-2.189-1.458-1.515-2.625L8.485 2.495zM10 6a.75.75 0 01.75.75v3.5a.75.75 0 01-1.5 0v-3.5A.75.75 0 0110 6zm0 9a1 1 0 100-2 1 1 0 000 2z",clipRule:"evenodd"})})}),l.jsxs("div",{className:"flex-1 min-w-0",children:[l.jsx("p",{className:"text-sm font-medium text-amber-300",children:"Set your sitemap URL"}),l.jsx("p",{className:"mt-1 text-xs text-amber-400/70",children:"Canonry uses your sitemap to discover URLs for index coverage inspection. Auto-discover from GSC or enter it manually."}),l.jsxs("div",{className:"mt-2 flex flex-col gap-2",children:[l.jsxs("div",{className:"flex flex-col gap-2 lg:flex-row",children:[l.jsx(ve,{type:"button",size:"sm",disabled:en.isPending||!Te.propertyId,onClick:tc,children:en.isPending?"Discovering…":"Auto-discover from GSC"}),l.jsx("span",{className:"self-center text-xs text-amber-400/60",children:"or enter manually:"})]}),l.jsxs("div",{className:"flex flex-col gap-2 lg:flex-row",children:[l.jsx("input",{className:"flex-1 rounded border border-amber-800/40 bg-transparent px-2 py-1.5 text-sm text-zinc-200 placeholder-zinc-500 focus:border-amber-600 focus:outline-none",type:"url",placeholder:"https://example.com/sitemap.xml",value:it,onChange:V=>tt(V.target.value),onKeyDown:V=>V.key==="Enter"&&void zo()}),l.jsx(ve,{type:"button",size:"sm",variant:"outline",disabled:Pt||!it.trim(),onClick:zo,children:Pt?"Saving…":"Save sitemap URL"})]})]})]})]})}),(Te||tr)&&l.jsxs(l.Fragment,{children:[l.jsxs(Fe,{className:"surface-card",children:[l.jsxs("div",{className:"section-head section-head-inline",children:[l.jsxs("div",{children:[l.jsx("p",{className:"eyebrow eyebrow-soft",children:"Coverage"}),l.jsx("h3",{children:"Index coverage"})]}),l.jsxs("div",{className:"flex items-center gap-2",children:[de&&de.notIndexed.length>0&&l.jsx(ve,{type:"button",variant:"outline",size:"sm",disabled:ct,onClick:()=>{i0()},children:ct?"Requesting…":`Request indexing (${de.notIndexed.length})`}),l.jsx(ve,{type:"button",variant:"outline",size:"sm",disabled:ee,onClick:()=>{Eo()},children:ee?"Loading…":"Refresh coverage"})]})]}),de&&de.summary.total>0?l.jsxs(l.Fragment,{children:[l.jsx("div",{className:"mt-6 flex flex-col items-center",children:(()=>{const V=de.summary.indexed+de.summary.notIndexed,_e=V>0?de.summary.indexed/V:0,St=V>0?de.summary.notIndexed/V:0,ht=54,Rt=2*Math.PI*ht,Ur=Rt*(1-_e),Di=Rt*St,bs=Rt*_e;return l.jsxs(l.Fragment,{children:[l.jsxs("div",{className:"relative h-48 w-48",children:[l.jsxs("svg",{viewBox:"0 0 128 128",className:"h-full w-full","aria-hidden":"true",children:[l.jsx("circle",{cx:"64",cy:"64",r:ht,fill:"none",stroke:"rgba(255,255,255,0.04)",strokeWidth:"14"}),l.jsx("circle",{cx:"64",cy:"64",r:ht,fill:"none",stroke:"#10b981",strokeWidth:"14",strokeDasharray:Rt,strokeDashoffset:Ur,strokeLinecap:"round",transform:"rotate(-90 64 64)",style:{transition:"stroke-dashoffset 0.6s ease"}}),de.summary.notIndexed>0&&l.jsx("circle",{cx:"64",cy:"64",r:ht,fill:"none",stroke:"#52525b",strokeWidth:"14",strokeDasharray:`${Di} ${Rt-Di}`,strokeDashoffset:-bs,transform:"rotate(-90 64 64)",style:{transition:"stroke-dasharray 0.6s ease, stroke-dashoffset 0.6s ease"}})]}),l.jsxs("div",{className:"absolute inset-0 flex flex-col items-center justify-center",children:[l.jsxs("span",{className:"text-3xl font-bold tabular-nums text-zinc-50",children:[(_e*100).toFixed(0),"%"]}),l.jsx("span",{className:"text-xs uppercase tracking-widest text-zinc-500 mt-0.5",children:"Indexed"})]})]}),l.jsxs("div",{className:"mt-4 flex items-center justify-center gap-8",children:[l.jsxs("div",{className:"flex items-center gap-2",children:[l.jsx("span",{className:"inline-block h-2.5 w-2.5 rounded-full bg-emerald-500"}),l.jsxs("div",{children:[l.jsx("p",{className:"text-2xl font-semibold tabular-nums text-zinc-50",children:de.summary.indexed.toLocaleString()}),l.jsx("p",{className:"text-[11px] uppercase tracking-wide text-zinc-500",children:"Indexed"})]})]}),l.jsx("div",{className:"h-8 w-px bg-zinc-800"}),l.jsxs("div",{className:"flex items-center gap-2",children:[l.jsx("span",{className:"inline-block h-2.5 w-2.5 rounded-full bg-zinc-500"}),l.jsxs("div",{children:[l.jsx("p",{className:"text-2xl font-semibold tabular-nums text-zinc-50",children:de.summary.notIndexed.toLocaleString()}),l.jsxs("p",{className:"text-[11px] uppercase tracking-wide text-zinc-500",children:["Not indexed",(de.reasonGroups??[]).length>0&&l.jsxs("span",{className:"ml-1 text-zinc-600",children:["· ",(de.reasonGroups??[]).length," ",(de.reasonGroups??[]).length===1?"reason":"reasons"]})]})]})]}),de.summary.deindexed>0&&l.jsxs(l.Fragment,{children:[l.jsx("div",{className:"h-8 w-px bg-zinc-800"}),l.jsxs("div",{className:"flex items-center gap-2",children:[l.jsx("span",{className:"inline-block h-2.5 w-2.5 rounded-full bg-rose-500"}),l.jsxs("div",{children:[l.jsx("p",{className:"text-2xl font-semibold tabular-nums text-zinc-50",children:de.summary.deindexed.toLocaleString()}),l.jsx("p",{className:"text-[11px] uppercase tracking-wide text-zinc-500",children:"Deindexed"})]})]})]})]})]})})()}),l.jsx("div",{className:"mt-3 flex gap-1",children:["indexed","notIndexed","deindexed"].map(V=>{const _e=V==="indexed"?de.indexed.length:V==="notIndexed"?de.notIndexed.length:de.deindexed.length,St=V==="indexed"?"Indexed":V==="notIndexed"?"Not Indexed":"Deindexed";return l.jsxs("button",{type:"button",className:`rounded-full px-3 py-1 text-xs font-medium transition-colors ${We===V?"bg-zinc-700 text-zinc-100":"text-zinc-400 hover:bg-zinc-800 hover:text-zinc-200"}`,onClick:()=>{At(V),Ye(null)},children:[St," (",_e,")"]},V)})}),l.jsxs("div",{className:"mt-3 overflow-x-auto",children:[We==="indexed"&&de.indexed.length>0&&l.jsxs("table",{className:"data-table w-full text-sm",children:[l.jsx("thead",{children:l.jsxs("tr",{children:[l.jsx("th",{className:"text-left",children:"URL"}),l.jsx("th",{className:"text-left",children:"Verdict"}),l.jsx("th",{className:"text-left",children:"Last Crawl"}),l.jsx("th",{className:"text-left",children:"Mobile"})]})}),l.jsx("tbody",{children:de.indexed.map(V=>l.jsxs("tr",{children:[l.jsx("td",{className:"max-w-sm truncate text-zinc-200",children:V.url}),l.jsx("td",{className:"text-zinc-400",children:V.verdict??"Unknown"}),l.jsx("td",{className:"text-zinc-400",children:V.crawlTime?V.crawlTime.split("T")[0]:"—"}),l.jsx("td",{className:"text-zinc-400",children:V.isMobileFriendly===!0?"Yes":V.isMobileFriendly===!1?"No":"—"})]},V.id))})]}),We==="notIndexed"&&!Re&&(de.reasonGroups??[]).length>0&&l.jsxs("table",{className:"data-table w-full text-sm",children:[l.jsx("thead",{children:l.jsxs("tr",{children:[l.jsx("th",{className:"text-left",children:"Reason"}),l.jsx("th",{className:"text-right",children:"Pages"})]})}),l.jsx("tbody",{children:(de.reasonGroups??[]).map(V=>l.jsxs("tr",{className:"cursor-pointer hover:bg-zinc-800/40",onClick:()=>Ye(V.reason),children:[l.jsx("td",{className:"text-zinc-200",children:V.reason}),l.jsx("td",{className:"text-right tabular-nums text-zinc-400",children:V.count})]},V.reason))})]}),We==="notIndexed"&&!Re&&(de.reasonGroups??[]).length===0&&de.notIndexed.length>0&&l.jsxs("table",{className:"data-table w-full text-sm",children:[l.jsx("thead",{children:l.jsxs("tr",{children:[l.jsx("th",{className:"text-left",children:"URL"}),l.jsx("th",{className:"text-left",children:"Indexing State"}),l.jsx("th",{className:"text-left",children:"Coverage"})]})}),l.jsx("tbody",{children:de.notIndexed.map(V=>l.jsxs("tr",{children:[l.jsx("td",{className:"max-w-sm truncate text-zinc-200",children:V.url}),l.jsx("td",{className:"text-zinc-400",children:V.indexingState??"Unknown"}),l.jsx("td",{className:"text-zinc-400",children:V.coverageState??"Unknown"})]},V.id))})]}),We==="notIndexed"&&Re&&(()=>{const V=(de.reasonGroups??[]).find(_e=>_e.reason===Re);return V?l.jsxs("div",{children:[l.jsx("div",{className:"flex items-center gap-2 mb-3",children:l.jsxs("button",{type:"button",className:"text-xs text-zinc-400 hover:text-zinc-200 transition-colors",onClick:()=>Ye(null),children:["←"," Back to reasons"]})}),l.jsxs("div",{className:"mb-3 flex items-center justify-between rounded-lg border border-zinc-800/60 bg-zinc-900/20 p-3",children:[l.jsxs("div",{children:[l.jsx("p",{className:"text-sm font-medium text-zinc-200",children:V.reason}),l.jsxs("p",{className:"mt-1 text-xs text-zinc-500",children:[V.count," affected page",V.count!==1?"s":""]})]}),l.jsx(ve,{type:"button",variant:"outline",size:"sm",disabled:ct,onClick:()=>{xs(V.urls.map(_e=>_e.url))},children:ct?"Requesting…":`Request indexing (${V.count})`})]}),l.jsxs("table",{className:"data-table w-full text-sm",children:[l.jsx("thead",{children:l.jsxs("tr",{children:[l.jsx("th",{className:"text-left",children:"URL"}),l.jsx("th",{className:"text-left",children:"Last Crawl"}),l.jsx("th",{className:"w-8"})]})}),l.jsx("tbody",{children:V.urls.map(_e=>l.jsxs("tr",{children:[l.jsx("td",{className:"max-w-sm truncate text-zinc-200",children:_e.url}),l.jsx("td",{className:"text-zinc-400",children:_e.crawlTime?_e.crawlTime.split("T")[0]:"—"}),l.jsx("td",{children:l.jsx("button",{type:"button",className:"text-xs text-zinc-500 hover:text-zinc-200 transition-colors",disabled:ct,onClick:()=>{xs([_e.url])},title:"Request indexing",children:"Index"})})]},_e.id))})]})]}):null})(),We==="deindexed"&&de.deindexed.length>0&&l.jsxs("table",{className:"data-table w-full text-sm",children:[l.jsx("thead",{children:l.jsxs("tr",{children:[l.jsx("th",{className:"text-left",children:"URL"}),l.jsx("th",{className:"text-left",children:"Previous"}),l.jsx("th",{className:"text-left",children:"Current"}),l.jsx("th",{className:"text-left",children:"Detected"})]})}),l.jsx("tbody",{children:de.deindexed.map((V,_e)=>l.jsxs("tr",{children:[l.jsx("td",{className:"max-w-sm truncate text-zinc-200",children:V.url}),l.jsx("td",{className:"text-zinc-400",children:V.previousState}),l.jsx("td",{className:"text-zinc-400",children:V.currentState}),l.jsx("td",{className:"text-zinc-400",children:V.transitionDate.split("T")[0]})]},`${V.url}-${_e}`))})]}),(We==="indexed"&&de.indexed.length===0||We==="notIndexed"&&!Re&&de.notIndexed.length===0||We==="deindexed"&&de.deindexed.length===0)&&l.jsx("p",{className:"text-sm text-zinc-500",children:"No URLs in this category."})]})]}):l.jsx("p",{className:"mt-3 text-sm text-zinc-500",children:ee?"Loading coverage data…":"No coverage data yet. Inspect your sitemap to populate this view."})]}),l.jsxs(Fe,{className:"surface-card",children:[l.jsxs("div",{className:"section-head section-head-inline",children:[l.jsxs("div",{children:[l.jsx("p",{className:"eyebrow eyebrow-soft",children:"Performance"}),l.jsx("h3",{children:"Search performance"})]}),l.jsx(ve,{type:"button",variant:"outline",size:"sm",disabled:B,onClick:()=>{dr()},children:B?"Loading…":"Apply filters"})]}),u.length>0&&(()=>{const V=new Map;for(const at of u){const Nt=V.get(at.date);Nt?(Nt.clicks+=at.clicks,Nt.impressions+=at.impressions):V.set(at.date,{clicks:at.clicks,impressions:at.impressions})}const _e=[...V.entries()].sort(([at],[Nt])=>at.localeCompare(Nt));if(_e.length===0)return null;const St=Math.max(..._e.map(([,at])=>at.impressions),1),ht=_e.reduce((at,[,Nt])=>at+Nt.clicks,0),Rt=_e.reduce((at,[,Nt])=>at+Nt.impressions,0),Ur=Rt>0?(ht/Rt*100).toFixed(1):"0.0",Di=700,bs=220,Sr={top:12,bottom:36,left:48,right:12},Uh=Di-Sr.left-Sr.right,ii=bs-Sr.top-Sr.bottom,Ta=Uh/_e.length,Mi=Math.max(Math.min(Ta*.35,24),4),Pa=Math.max(Mi*.15,1),Po=at=>{if(at<=0)return 1;const Nt=Math.pow(10,Math.floor(Math.log10(at))),Fr=at/Nt,Li=Fr<=1.5?1.5:Fr<=3?3:Fr<=5?5:10;return Math.ceil(Li*Nt)},Ii=4,ln=Math.ceil(Po(St)/Ii)*Ii,Fh=Array.from({length:Ii+1},(at,Nt)=>ln/Ii*Nt),qh=at=>at>=1e3?`${(at/1e3).toFixed(at>=1e4?0:1)}k`:String(at);return l.jsxs("div",{className:"mt-3",children:[l.jsxs("div",{className:"flex items-center gap-5 mb-2",children:[l.jsxs("div",{className:"flex items-center gap-1.5",children:[l.jsx("span",{className:"inline-block h-2.5 w-2.5 rounded-sm bg-emerald-500"}),l.jsxs("span",{className:"text-xs text-zinc-400",children:["Clicks ",l.jsx("span",{className:"text-zinc-200 tabular-nums font-medium",children:ht.toLocaleString()})]})]}),l.jsxs("div",{className:"flex items-center gap-1.5",children:[l.jsx("span",{className:"inline-block h-2.5 w-2.5 rounded-sm bg-blue-500"}),l.jsxs("span",{className:"text-xs text-zinc-400",children:["Impressions ",l.jsx("span",{className:"text-zinc-200 tabular-nums font-medium",children:Rt.toLocaleString()})]})]}),l.jsxs("span",{className:"text-xs text-zinc-500",children:["CTR ",l.jsxs("span",{className:"text-amber-400 tabular-nums font-medium",children:[Ur,"%"]})]})]}),l.jsx("div",{className:"relative w-full",style:{aspectRatio:`${Di} / ${bs}`},children:l.jsxs("svg",{viewBox:`0 0 ${Di} ${bs}`,className:"h-full w-full",children:[Fh.map((at,Nt)=>{const Fr=Sr.top+ii-at/ln*ii;return l.jsxs("g",{children:[l.jsx("line",{x1:Sr.left,y1:Fr,x2:Di-Sr.right,y2:Fr,stroke:"rgba(255,255,255,0.06)",strokeWidth:"1"}),l.jsx("text",{x:Sr.left-6,y:Fr+3.5,textAnchor:"end",fill:"#a1a1aa",fontSize:"10",fontFamily:"inherit",children:qh(at)})]},`t-${Nt}`)}),_e.map(([at,Nt],Fr)=>{const Li=Sr.left+Ta*Fr+Ta/2,Ro=Nt.impressions/ln*ii,Kh=Nt.clicks/ln*ii;return l.jsxs("g",{children:[l.jsx("title",{children:`${at}
289
+ `).concat(C.x,",").concat(C.y),E=Jn(e.id)?Ff("recharts-radial-line-"):e.id;return x.createElement("text",ts({},r,{dominantBaseline:"central",className:Tt("recharts-radial-bar-label",o)}),x.createElement("defs",null,x.createElement("path",{id:E,d:T})),x.createElement("textPath",{xlinkHref:"#".concat(E)},n))},Gwe=(e,t,n)=>{var{cx:r,cy:i,innerRadius:a,outerRadius:o,startAngle:u,endAngle:d}=e,f=(u+d)/2;if(n==="outside"){var{x:p,y:m}=Xn(r,i,o+t,f);return{x:p,y:m,textAnchor:p>=r?"start":"end",verticalAnchor:"middle"}}if(n==="center")return{x:r,y:i,textAnchor:"middle",verticalAnchor:"middle"};if(n==="centerTop")return{x:r,y:i,textAnchor:"middle",verticalAnchor:"start"};if(n==="centerBottom")return{x:r,y:i,textAnchor:"middle",verticalAnchor:"end"};var y=(a+o)/2,{x:v,y:w}=Xn(r,i,y,f);return{x:v,y:w,textAnchor:"middle",verticalAnchor:"middle"}},ug=e=>e!=null&&"cx"in e&&Be(e.cx),Vwe={angle:0,offset:5,zIndex:lr.label,position:"middle",textBreakAll:!1};function Zwe(e){if(!ug(e))return e;var{cx:t,cy:n,outerRadius:r}=e,i=r*2;return{x:t-r,y:n-r,width:i,upperWidth:i,lowerWidth:i,height:i}}function Js(e){var t=xr(e,Vwe),{viewBox:n,parentViewBox:r,position:i,value:a,children:o,content:u,className:d="",textBreakAll:f,labelRef:p}=t,m=Fwe(),y=n8(),v=i==="center"?y:m??y,w,S,j;n==null?w=v:ug(n)?w=n:w=yk(n);var k=Zwe(w);if(!w||Jn(a)&&Jn(o)&&!x.isValidElement(u)&&typeof u!="function")return null;var O=xf(xf({},t),{},{viewBox:w});if(x.isValidElement(u)){var{labelRef:_}=O,C=AM(O,Dwe);return x.cloneElement(u,C)}if(typeof u=="function"){var{content:T}=O,E=AM(O,Mwe);if(S=x.createElement(u,E),x.isValidElement(S))return S}else S=qwe(t);var A=Mr(t);if(ug(w)){if(i==="insideStart"||i==="insideEnd"||i==="end")return Hwe(t,i,S,A,w);j=Gwe(w,t.offset,t.position)}else{if(!k)return null;var P=Rwe({viewBox:k,position:i,offset:t.offset,parentViewBox:ug(r)?void 0:r});j=xf(xf({x:P.x,y:P.y,textAnchor:P.horizontalAnchor,verticalAnchor:P.verticalAnchor},P.width!==void 0?{width:P.width}:{}),P.height!==void 0?{height:P.height}:{})}return x.createElement(za,{zIndex:t.zIndex},x.createElement(jC,ts({ref:p,className:Tt("recharts-label",d)},A,j,{textAnchor:WU(A.textAnchor)?A.textAnchor:j.textAnchor,breakAll:f}),S))}Js.displayName="Label";var Ywe=(e,t,n)=>{if(!e)return null;var r={viewBox:t,labelRef:n};return e===!0?x.createElement(Js,ts({key:"label-implicit"},r)):Oi(e)?x.createElement(Js,ts({key:"label-implicit",value:e},r)):x.isValidElement(e)?e.type===Js?x.cloneElement(e,xf({key:"label-implicit"},r)):x.createElement(Js,ts({key:"label-implicit",content:e},r)):NC(e)?x.createElement(Js,ts({key:"label-implicit",content:e},r)):e&&typeof e=="object"?x.createElement(Js,ts({},e,{key:"label-implicit"},r)):null};function r8(e){var{label:t,labelRef:n}=e,r=n8();return Ywe(t,r,n)||null}var Wwe=["valueAccessor"],Qwe=["dataKey","clockWise","id","textBreakAll","zIndex"];function Cy(){return Cy=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Cy.apply(null,arguments)}function EM(e,t){if(e==null)return{};var n,r,i=Xwe(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)===-1&&{}.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}function Xwe(e,t){if(e==null)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(t.indexOf(r)!==-1)continue;n[r]=e[r]}return n}var Jwe=e=>{var t=Array.isArray(e.value)?e.value[e.value.length-1]:e.value;if(Cwe(t))return t},i8=x.createContext(void 0),eSe=i8.Provider,a8=x.createContext(void 0);a8.Provider;function tSe(){return x.useContext(i8)}function nSe(){return x.useContext(a8)}function dg(e){var{valueAccessor:t=Jwe}=e,n=EM(e,Wwe),{dataKey:r,clockWise:i,id:a,textBreakAll:o,zIndex:u}=n,d=EM(n,Qwe),f=tSe(),p=nSe(),m=f||p;return!m||!m.length?null:x.createElement(za,{zIndex:u??lr.label},x.createElement(Wi,{className:"recharts-label-list"},m.map((y,v)=>{var w,S=Jn(r)?t(y,v):Un(y.payload,r),j=Jn(a)?{}:{id:"".concat(a,"-").concat(v)};return x.createElement(Js,Cy({key:"label-".concat(v)},Mr(y),d,j,{fill:(w=n.fill)!==null&&w!==void 0?w:y.fill,parentViewBox:y.parentViewBox,value:S,textBreakAll:o,viewBox:y.viewBox,index:v,zIndex:0}))})))}dg.displayName="LabelList";function rSe(e){var{label:t}=e;return t?t===!0?x.createElement(dg,{key:"labelList-implicit"}):x.isValidElement(t)||NC(t)?x.createElement(dg,{key:"labelList-implicit",content:t}):typeof t=="object"?x.createElement(dg,Cy({key:"labelList-implicit"},t,{type:String(t.type)})):null:null}function wj(){return wj=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},wj.apply(null,arguments)}var s8=e=>{var{cx:t,cy:n,r,className:i}=e,a=Tt("recharts-dot",i);return Be(t)&&Be(n)&&Be(r)?x.createElement("circle",wj({},Yi(e),ok(e),{className:a,cx:t,cy:n,r})):null},iSe={radiusAxis:{},angleAxis:{}},o8=ur({name:"polarAxis",initialState:iSe,reducers:{addRadiusAxis(e,t){e.radiusAxis[t.payload.id]=t.payload},removeRadiusAxis(e,t){delete e.radiusAxis[t.payload.id]},addAngleAxis(e,t){e.angleAxis[t.payload.id]=t.payload},removeAngleAxis(e,t){delete e.angleAxis[t.payload.id]}}}),{addRadiusAxis:BCe,removeRadiusAxis:UCe,addAngleAxis:FCe,removeAngleAxis:qCe}=o8.actions,aSe=o8.reducer;function sSe(e){return e&&typeof e=="object"&&"className"in e&&typeof e.className=="string"?e.className:""}var l8=e=>e&&typeof e=="object"&&"clipDot"in e?!!e.clipDot:!0;function oSe(e){var{tooltipEntrySettings:t}=e,n=fn(),r=br(),i=x.useRef(null);return x.useLayoutEffect(()=>{r||(i.current===null?n(U0e(t)):i.current!==t&&n(F0e({prev:i.current,next:t})),i.current=t)},[t,n,r]),x.useLayoutEffect(()=>()=>{i.current&&(n(q0e(i.current)),i.current=null)},[n]),null}function lSe(e){var{legendPayload:t}=e,n=fn(),r=br(),i=x.useRef(null);return x.useLayoutEffect(()=>{r||(i.current===null?n(Nhe(t)):i.current!==t&&n(khe({prev:i.current,next:t})),i.current=t)},[n,r,t]),x.useLayoutEffect(()=>()=>{i.current&&(n(Che(i.current)),i.current=null)},[n]),null}var OS,cSe=()=>{var[e]=x.useState(()=>Ff("uid-"));return e},uSe=(OS=My.useId)!==null&&OS!==void 0?OS:cSe;function dSe(e,t){var n=uSe();return t||(e?"".concat(e,"-").concat(n):n)}var fSe=x.createContext(void 0),hSe=e=>{var{id:t,type:n,children:r}=e,i=dSe("recharts-".concat(n),t);return x.createElement(fSe.Provider,{value:i},r(i))},pSe={cartesianItems:[],polarItems:[]},c8=ur({name:"graphicalItems",initialState:pSe,reducers:{addCartesianGraphicalItem:{reducer(e,t){e.cartesianItems.push(t.payload)},prepare:Xt()},replaceCartesianGraphicalItem:{reducer(e,t){var{prev:n,next:r}=t.payload,i=ji(e).cartesianItems.indexOf(n);i>-1&&(e.cartesianItems[i]=r)},prepare:Xt()},removeCartesianGraphicalItem:{reducer(e,t){var n=ji(e).cartesianItems.indexOf(t.payload);n>-1&&e.cartesianItems.splice(n,1)},prepare:Xt()},addPolarGraphicalItem:{reducer(e,t){e.polarItems.push(t.payload)},prepare:Xt()},removePolarGraphicalItem:{reducer(e,t){var n=ji(e).polarItems.indexOf(t.payload);n>-1&&e.polarItems.splice(n,1)},prepare:Xt()},replacePolarGraphicalItem:{reducer(e,t){var{prev:n,next:r}=t.payload,i=ji(e).polarItems.indexOf(n);i>-1&&(e.polarItems[i]=r)},prepare:Xt()}}}),{addCartesianGraphicalItem:mSe,replaceCartesianGraphicalItem:gSe,removeCartesianGraphicalItem:ySe,addPolarGraphicalItem:KCe,removePolarGraphicalItem:HCe,replacePolarGraphicalItem:GCe}=c8.actions,vSe=c8.reducer,xSe=e=>{var t=fn(),n=x.useRef(null);return x.useLayoutEffect(()=>{n.current===null?t(mSe(e)):n.current!==e&&t(gSe({prev:n.current,next:e})),n.current=e},[t,e]),x.useLayoutEffect(()=>()=>{n.current&&(t(ySe(n.current)),n.current=null)},[t]),null},bSe=x.memo(xSe),wSe=["points"];function zM(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function ES(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?zM(Object(n),!0).forEach(function(r){SSe(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):zM(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function SSe(e,t,n){return(t=jSe(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function jSe(e){var t=NSe(e,"string");return typeof t=="symbol"?t:t+""}function NSe(e,t){if(typeof e!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function _y(){return _y=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},_y.apply(null,arguments)}function kSe(e,t){if(e==null)return{};var n,r,i=CSe(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)===-1&&{}.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}function CSe(e,t){if(e==null)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(t.indexOf(r)!==-1)continue;n[r]=e[r]}return n}function _Se(e){var{option:t,dotProps:n,className:r}=e;if(x.isValidElement(t))return x.cloneElement(t,n);if(typeof t=="function")return t(n);var i=Tt(r,typeof t!="boolean"?t.className:""),a=n??{},{points:o}=a,u=kSe(a,wSe);return x.createElement(s8,_y({},u,{className:i}))}function ASe(e,t){return e==null?!1:t?!0:e.length===1}function OSe(e){var{points:t,dot:n,className:r,dotClassName:i,dataKey:a,baseProps:o,needClip:u,clipPathId:d,zIndex:f=lr.scatter}=e;if(!ASe(t,n))return null;var p=l8(n),m=fce(n),y=t.map((w,S)=>{var j,k,O=ES(ES(ES({r:3},o),m),{},{index:S,cx:(j=w.x)!==null&&j!==void 0?j:void 0,cy:(k=w.y)!==null&&k!==void 0?k:void 0,dataKey:a,value:w.value,payload:w.payload,points:t});return x.createElement(_Se,{key:"dot-".concat(S),option:n,dotProps:O,className:i})}),v={};return u&&d!=null&&(v.clipPath="url(#clipPath-".concat(p?"":"dots-").concat(d,")")),x.createElement(za,{zIndex:f},x.createElement(Wi,_y({className:r},v),y))}function TM(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function PM(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?TM(Object(n),!0).forEach(function(r){ESe(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):TM(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function ESe(e,t,n){return(t=zSe(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function zSe(e){var t=TSe(e,"string");return typeof t=="symbol"?t:t+""}function TSe(e,t){if(typeof e!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}var u8=0,PSe={xAxis:{},yAxis:{},zAxis:{}},d8=ur({name:"cartesianAxis",initialState:PSe,reducers:{addXAxis:{reducer(e,t){e.xAxis[t.payload.id]=t.payload},prepare:Xt()},replaceXAxis:{reducer(e,t){var{prev:n,next:r}=t.payload;e.xAxis[n.id]!==void 0&&(n.id!==r.id&&delete e.xAxis[n.id],e.xAxis[r.id]=r)},prepare:Xt()},removeXAxis:{reducer(e,t){delete e.xAxis[t.payload.id]},prepare:Xt()},addYAxis:{reducer(e,t){e.yAxis[t.payload.id]=t.payload},prepare:Xt()},replaceYAxis:{reducer(e,t){var{prev:n,next:r}=t.payload;e.yAxis[n.id]!==void 0&&(n.id!==r.id&&delete e.yAxis[n.id],e.yAxis[r.id]=r)},prepare:Xt()},removeYAxis:{reducer(e,t){delete e.yAxis[t.payload.id]},prepare:Xt()},addZAxis:{reducer(e,t){e.zAxis[t.payload.id]=t.payload},prepare:Xt()},replaceZAxis:{reducer(e,t){var{prev:n,next:r}=t.payload;e.zAxis[n.id]!==void 0&&(n.id!==r.id&&delete e.zAxis[n.id],e.zAxis[r.id]=r)},prepare:Xt()},removeZAxis:{reducer(e,t){delete e.zAxis[t.payload.id]},prepare:Xt()},updateYAxisWidth(e,t){var{id:n,width:r}=t.payload,i=e.yAxis[n];if(i){var a,o=i.widthHistory||[];if(o.length===3&&o[0]===o[2]&&r===o[1]&&r!==i.width&&Math.abs(r-((a=o[0])!==null&&a!==void 0?a:0))<=1)return;var u=[...o,r].slice(-3);e.yAxis[n]=PM(PM({},i),{},{width:r,widthHistory:u})}}}}),{addXAxis:RSe,replaceXAxis:DSe,removeXAxis:MSe,addYAxis:ISe,replaceYAxis:LSe,removeYAxis:$Se,addZAxis:VCe,replaceZAxis:ZCe,removeZAxis:YCe,updateYAxisWidth:BSe}=d8.actions,USe=d8.reducer,FSe=oe([er],e=>({top:e.top,bottom:e.bottom,left:e.left,right:e.right})),qSe=oe([FSe,ms,gs],(e,t,n)=>{if(!(!e||t==null||n==null))return{x:e.left,y:e.top,width:Math.max(0,t-e.left-e.right),height:Math.max(0,n-e.top-e.bottom)}}),kC=()=>Ke(qSe),KSe=()=>Ke(Uxe);function RM(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function zS(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?RM(Object(n),!0).forEach(function(r){HSe(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):RM(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function HSe(e,t,n){return(t=GSe(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function GSe(e){var t=VSe(e,"string");return typeof t=="symbol"?t:t+""}function VSe(e,t){if(typeof e!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}var ZSe=e=>{var{point:t,childIndex:n,mainColor:r,activeDot:i,dataKey:a,clipPath:o}=e;if(i===!1||t.x==null||t.y==null)return null;var u={index:n,dataKey:a,cx:t.x,cy:t.y,r:4,fill:r??"none",strokeWidth:2,stroke:"#fff",payload:t.payload,value:t.value},d=zS(zS(zS({},u),yv(i)),ok(i)),f;return x.isValidElement(i)?f=x.cloneElement(i,d):typeof i=="function"?f=i(d):f=x.createElement(s8,d),x.createElement(Wi,{className:"recharts-active-dot",clipPath:o},f)};function DM(e){var{points:t,mainColor:n,activeDot:r,itemDataKey:i,clipPath:a,zIndex:o=lr.activeDot}=e,u=Ke(th),d=KSe();if(t==null||d==null)return null;var f=t.find(p=>d.includes(p.payload));return Jn(f)?null:x.createElement(za,{zIndex:o},x.createElement(ZSe,{point:f,childIndex:Number(u),mainColor:n,dataKey:i,activeDot:r,clipPath:a}))}var YSe=e=>{var{chartData:t}=e,n=fn(),r=br();return x.useEffect(()=>r?()=>{}:(n(fM(t)),()=>{n(fM(void 0))}),[t,n,r]),null},MM={x:0,y:0,width:0,height:0,padding:{top:0,right:0,bottom:0,left:0}},f8=ur({name:"brush",initialState:MM,reducers:{setBrushSettings(e,t){return t.payload==null?MM:t.payload}}}),{setBrushSettings:WCe}=f8.actions,WSe=f8.reducer,QSe=(e,t)=>{var{x:n,y:r}=e,{x:i,y:a}=t;return{x:Math.min(n,i),y:Math.min(r,a),width:Math.abs(i-n),height:Math.abs(a-r)}},XSe=e=>{var{x1:t,y1:n,x2:r,y2:i}=e;return QSe({x:t,y:n},{x:r,y:i})};function JSe(e){return(e%180+180)%180}var e1e=function(t){var{width:n,height:r}=t,i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,a=JSe(i),o=a*Math.PI/180,u=Math.atan(r/n),d=o>u&&o<Math.PI-u?r/Math.sin(o):n/Math.cos(o);return Math.abs(d)},t1e={dots:[],areas:[],lines:[]},h8=ur({name:"referenceElements",initialState:t1e,reducers:{addDot:(e,t)=>{e.dots.push(t.payload)},removeDot:(e,t)=>{var n=ji(e).dots.findIndex(r=>r===t.payload);n!==-1&&e.dots.splice(n,1)},addArea:(e,t)=>{e.areas.push(t.payload)},removeArea:(e,t)=>{var n=ji(e).areas.findIndex(r=>r===t.payload);n!==-1&&e.areas.splice(n,1)},addLine:(e,t)=>{e.lines.push(t.payload)},removeLine:(e,t)=>{var n=ji(e).lines.findIndex(r=>r===t.payload);n!==-1&&e.lines.splice(n,1)}}}),{addDot:QCe,removeDot:XCe,addArea:JCe,removeArea:e_e,addLine:n1e,removeLine:r1e}=h8.actions,i1e=h8.reducer,p8=x.createContext(void 0),a1e=e=>{var{children:t}=e,[n]=x.useState("".concat(Ff("recharts"),"-clip")),r=kC();if(r==null)return null;var{x:i,y:a,width:o,height:u}=r;return x.createElement(p8.Provider,{value:n},x.createElement("defs",null,x.createElement("clipPath",{id:n},x.createElement("rect",{x:i,y:a,height:u,width:o}))),t)},s1e=()=>x.useContext(p8);class o1e{constructor(t){var{x:n,y:r}=t;this.xAxisScale=n,this.yAxisScale=r}map(t,n){var r,i,{position:a}=n;return{x:(r=this.xAxisScale.map(t.x,{position:a}))!==null&&r!==void 0?r:0,y:(i=this.yAxisScale.map(t.y,{position:a}))!==null&&i!==void 0?i:0}}mapWithFallback(t,n){var r,i,{position:a,fallback:o}=n,u,d;return o==="rangeMin"?u=this.yAxisScale.rangeMin():o==="rangeMax"?u=this.yAxisScale.rangeMax():u=0,o==="rangeMin"?d=this.xAxisScale.rangeMin():o==="rangeMax"?d=this.xAxisScale.rangeMax():d=0,{x:(r=this.xAxisScale.map(t.x,{position:a}))!==null&&r!==void 0?r:d,y:(i=this.yAxisScale.map(t.y,{position:a}))!==null&&i!==void 0?i:u}}isInRange(t){var{x:n,y:r}=t,i=n==null||this.xAxisScale.isInRange(n),a=r==null||this.yAxisScale.isInRange(r);return i&&a}}function IM(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function LM(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?IM(Object(n),!0).forEach(function(r){l1e(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):IM(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function l1e(e,t,n){return(t=c1e(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function c1e(e){var t=u1e(e,"string");return typeof t=="symbol"?t:t+""}function u1e(e,t){if(typeof e!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function Ay(){return Ay=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Ay.apply(null,arguments)}var d1e=(e,t)=>{var n;if(x.isValidElement(e))n=x.cloneElement(e,t);else if(typeof e=="function")n=e(t);else{if(!rt(t.x1)||!rt(t.y1)||!rt(t.x2)||!rt(t.y2))return null;n=x.createElement("line",Ay({},t,{className:"recharts-reference-line-line"}))}return n},f1e=(e,t,n,r,i,a)=>{var{x:o,width:u}=a,d=i.map(e,{position:n});if(!rt(d)||t==="discard"&&!i.isInRange(d))return null;var f=[{x:o+u,y:d},{x:o,y:d}];return r==="left"?f.reverse():f},h1e=(e,t,n,r,i,a)=>{var{y:o,height:u}=a,d=i.map(e,{position:n});if(!rt(d)||t==="discard"&&!i.isInRange(d))return null;var f=[{x:d,y:o+u},{x:d,y:o}];return r==="top"?f.reverse():f},p1e=(e,t,n,r)=>{var i=[r.mapWithFallback(e[0],{position:n,fallback:"rangeMin"}),r.mapWithFallback(e[1],{position:n,fallback:"rangeMax"})];return t==="discard"&&i.some(a=>!r.isInRange(a))?null:i},m1e=(e,t,n,r,i,a,o)=>{var{x:u,y:d,segment:f,ifOverflow:p}=o,m=Oi(u),y=Oi(d);return y?f1e(d,p,r,a,t,n):m?h1e(u,p,r,i,e,n):f!=null&&f.length===2?p1e(f,p,r,new o1e({x:e,y:t})):null};function g1e(e){var t=fn();return x.useEffect(()=>(t(n1e(e)),()=>{t(r1e(e))})),null}function y1e(e){var{xAxisId:t,yAxisId:n,shape:r,className:i,ifOverflow:a}=e,o=br(),u=s1e(),d=Ke(A=>Oa(A,t)),f=Ke(A=>Ea(A,n)),p=Ke(A=>Ru(A,"xAxis",t,o)),m=Ke(A=>Ru(A,"yAxis",n,o)),y=wh();if(!u||!y||d==null||f==null||p==null||m==null)return null;var v=m1e(p,m,y,e.position,d.orientation,f.orientation,e);if(!v)return null;var w=v[0],S=v[1];if(w==null||S==null)return null;var{x:j,y:k}=w,{x:O,y:_}=S,C=a==="hidden"?"url(#".concat(u,")"):void 0,T=LM(LM({clipPath:C},Mr(e)),{},{x1:j,y1:k,x2:O,y2:_}),E=XSe({x1:j,y1:k,x2:O,y2:_});return x.createElement(za,{zIndex:e.zIndex},x.createElement(Wi,{className:Tt("recharts-reference-line",i)},d1e(r,T),x.createElement(t8,Ay({},E,{lowerWidth:E.width,upperWidth:E.width}),x.createElement(r8,{label:e.label}),e.children)))}var v1e={ifOverflow:"discard",xAxisId:0,yAxisId:0,fill:"none",label:!1,stroke:"#ccc",fillOpacity:1,strokeWidth:1,position:"middle",zIndex:lr.line};function m8(e){var t=xr(e,v1e);return x.createElement(x.Fragment,null,x.createElement(g1e,{yAxisId:t.yAxisId,xAxisId:t.xAxisId,ifOverflow:t.ifOverflow,x:t.x,y:t.y,segment:t.segment}),x.createElement(y1e,t))}m8.displayName="ReferenceLine";function g8(e,t){if(t<1)return[];if(t===1)return e;for(var n=[],r=0;r<e.length;r+=t){var i=e[r];i!==void 0&&n.push(i)}return n}function x1e(e,t,n){var r={width:e.width+t.width,height:e.height+t.height};return e1e(r,n)}function b1e(e,t,n){var r=n==="width",{x:i,y:a,width:o,height:u}=e;return t===1?{start:r?i:a,end:r?i+o:a+u}:{start:r?i+o:a+u,end:r?i:a}}function rh(e,t,n,r,i){if(e*t<e*r||e*t>e*i)return!1;var a=n();return e*(t-e*a/2-r)>=0&&e*(t+e*a/2-i)<=0}function w1e(e,t){return g8(e,t+1)}function S1e(e,t,n,r,i){for(var a=(r||[]).slice(),{start:o,end:u}=t,d=0,f=1,p=o,m=function(){var w=r?.[d];if(w===void 0)return{v:g8(r,f)};var S=d,j,k=()=>(j===void 0&&(j=n(w,S)),j),O=w.coordinate,_=d===0||rh(e,O,k,p,u);_||(d=0,p=o,f+=1),_&&(p=O+e*(k()/2+i),d+=f)},y;f<=a.length;)if(y=m(),y)return y.v;return[]}function j1e(e,t,n,r,i){var a=(r||[]).slice(),o=a.length;if(o===0)return[];for(var{start:u,end:d}=t,f=1;f<=o;f++){for(var p=(o-1)%f,m=u,y=!0,v=function(){var C=r[S];if(C==null)return 0;var T=S,E,A=()=>(E===void 0&&(E=n(C,T)),E),P=C.coordinate,I=S===p||rh(e,P,A,m,d);if(!I)return y=!1,1;I&&(m=P+e*(A()/2+i))},w,S=p;S<o&&(w=v(),!(w!==0&&w===1));S+=f);if(y){for(var j=[],k=p;k<o;k+=f){var O=r[k];O!=null&&j.push(O)}return j}}return[]}function $M(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function ir(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?$M(Object(n),!0).forEach(function(r){N1e(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):$M(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function N1e(e,t,n){return(t=k1e(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function k1e(e){var t=C1e(e,"string");return typeof t=="symbol"?t:t+""}function C1e(e,t){if(typeof e!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function _1e(e,t,n,r,i){for(var a=(r||[]).slice(),o=a.length,{start:u}=t,{end:d}=t,f=function(y){var v=a[y];if(v==null)return 1;var w=v,S,j=()=>(S===void 0&&(S=n(v,y)),S);if(y===o-1){var k=e*(w.coordinate+e*j()/2-d);a[y]=w=ir(ir({},w),{},{tickCoord:k>0?w.coordinate-k*e:w.coordinate})}else a[y]=w=ir(ir({},w),{},{tickCoord:w.coordinate});if(w.tickCoord!=null){var O=rh(e,w.tickCoord,j,u,d);O&&(d=w.tickCoord-e*(j()/2+i),a[y]=ir(ir({},w),{},{isShow:!0}))}},p=o-1;p>=0;p--)f(p);return a}function A1e(e,t,n,r,i,a){var o=(r||[]).slice(),u=o.length,{start:d,end:f}=t;if(a){var p=r[u-1];if(p!=null){var m=n(p,u-1),y=e*(p.coordinate+e*m/2-f);if(o[u-1]=p=ir(ir({},p),{},{tickCoord:y>0?p.coordinate-y*e:p.coordinate}),p.tickCoord!=null){var v=rh(e,p.tickCoord,()=>m,d,f);v&&(f=p.tickCoord-e*(m/2+i),o[u-1]=ir(ir({},p),{},{isShow:!0}))}}}for(var w=a?u-1:u,S=function(O){var _=o[O];if(_==null)return 1;var C=_,T,E=()=>(T===void 0&&(T=n(_,O)),T);if(O===0){var A=e*(C.coordinate-e*E()/2-d);o[O]=C=ir(ir({},C),{},{tickCoord:A<0?C.coordinate-A*e:C.coordinate})}else o[O]=C=ir(ir({},C),{},{tickCoord:C.coordinate});if(C.tickCoord!=null){var P=rh(e,C.tickCoord,E,d,f);P&&(d=C.tickCoord+e*(E()/2+i),o[O]=ir(ir({},C),{},{isShow:!0}))}},j=0;j<w;j++)S(j);return o}function CC(e,t,n){var{tick:r,ticks:i,viewBox:a,minTickGap:o,orientation:u,interval:d,tickFormatter:f,unit:p,angle:m}=e;if(!i||!i.length||!r)return[];if(Be(d)||kh.isSsr){var y;return(y=w1e(i,Be(d)?d:0))!==null&&y!==void 0?y:[]}var v=[],w=u==="top"||u==="bottom"?"width":"height",S=p&&w==="width"?Of(p,{fontSize:t,letterSpacing:n}):{width:0,height:0},j=(T,E)=>{var A=typeof f=="function"?f(T.value,E):T.value;return w==="width"?x1e(Of(A,{fontSize:t,letterSpacing:n}),S,m):Of(A,{fontSize:t,letterSpacing:n})[w]},k=i[0],O=i[1],_=i.length>=2&&k!=null&&O!=null?Si(O.coordinate-k.coordinate):1,C=b1e(a,_,w);return d==="equidistantPreserveStart"?S1e(_,C,j,i,o):d==="equidistantPreserveEnd"?j1e(_,C,j,i,o):(d==="preserveStart"||d==="preserveStartEnd"?v=A1e(_,C,j,i,o,d==="preserveStartEnd"):v=_1e(_,C,j,i,o),v.filter(T=>T.isShow))}var O1e=e=>{var{ticks:t,label:n,labelGapWithTick:r=5,tickSize:i=0,tickMargin:a=0}=e,o=0;if(t){Array.from(t).forEach(p=>{if(p){var m=p.getBoundingClientRect();m.width>o&&(o=m.width)}});var u=n?n.getBoundingClientRect().width:0,d=i+a,f=o+d+u+(n?r:0);return Math.round(f)}return 0},E1e={xAxis:{},yAxis:{}},y8=ur({name:"renderedTicks",initialState:E1e,reducers:{setRenderedTicks:(e,t)=>{var{axisType:n,axisId:r,ticks:i}=t.payload;e[n][r]=i},removeRenderedTicks:(e,t)=>{var{axisType:n,axisId:r}=t.payload;delete e[n][r]}}}),{setRenderedTicks:z1e,removeRenderedTicks:T1e}=y8.actions,P1e=y8.reducer,R1e=["axisLine","width","height","className","hide","ticks","axisType","axisId"];function D1e(e,t){if(e==null)return{};var n,r,i=M1e(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)===-1&&{}.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}function M1e(e,t){if(e==null)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(t.indexOf(r)!==-1)continue;n[r]=e[r]}return n}function Fl(){return Fl=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Fl.apply(null,arguments)}function BM(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function mn(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?BM(Object(n),!0).forEach(function(r){I1e(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):BM(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function I1e(e,t,n){return(t=L1e(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function L1e(e){var t=$1e(e,"string");return typeof t=="symbol"?t:t+""}function $1e(e,t){if(typeof e!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}var ls={x:0,y:0,width:0,height:0,viewBox:{x:0,y:0,width:0,height:0},orientation:"bottom",ticks:[],stroke:"#666",tickLine:!0,axisLine:!0,tick:!0,mirror:!1,minTickGap:5,tickSize:6,tickMargin:2,interval:"preserveEnd",zIndex:lr.axis};function B1e(e){var{x:t,y:n,width:r,height:i,orientation:a,mirror:o,axisLine:u,otherSvgProps:d}=e;if(!u)return null;var f=mn(mn(mn({},d),Yi(u)),{},{fill:"none"});if(a==="top"||a==="bottom"){var p=+(a==="top"&&!o||a==="bottom"&&o);f=mn(mn({},f),{},{x1:t,y1:n+p*i,x2:t+r,y2:n+p*i})}else{var m=+(a==="left"&&!o||a==="right"&&o);f=mn(mn({},f),{},{x1:t+m*r,y1:n,x2:t+m*r,y2:n+i})}return x.createElement("line",Fl({},f,{className:Tt("recharts-cartesian-axis-line",wv(u,"className"))}))}function U1e(e,t,n,r,i,a,o,u,d){var f,p,m,y,v,w,S=u?-1:1,j=e.tickSize||o,k=Be(e.tickCoord)?e.tickCoord:e.coordinate;switch(a){case"top":f=p=e.coordinate,y=n+ +!u*i,m=y-S*j,w=m-S*d,v=k;break;case"left":m=y=e.coordinate,p=t+ +!u*r,f=p-S*j,v=f-S*d,w=k;break;case"right":m=y=e.coordinate,p=t+ +u*r,f=p+S*j,v=f+S*d,w=k;break;default:f=p=e.coordinate,y=n+ +u*i,m=y+S*j,w=m+S*d,v=k;break}return{line:{x1:f,y1:m,x2:p,y2:y},tick:{x:v,y:w}}}function F1e(e,t){switch(e){case"left":return t?"start":"end";case"right":return t?"end":"start";default:return"middle"}}function q1e(e,t){switch(e){case"left":case"right":return"middle";case"top":return t?"start":"end";default:return t?"end":"start"}}function K1e(e){var{option:t,tickProps:n,value:r}=e,i,a=Tt(n.className,"recharts-cartesian-axis-tick-value");if(x.isValidElement(t))i=x.cloneElement(t,mn(mn({},n),{},{className:a}));else if(typeof t=="function")i=t(mn(mn({},n),{},{className:a}));else{var o="recharts-cartesian-axis-tick-value";typeof t!="boolean"&&(o=Tt(o,sSe(t))),i=x.createElement(jC,Fl({},n,{className:o}),r)}return i}function H1e(e){var{ticks:t,axisType:n,axisId:r}=e,i=fn();return x.useEffect(()=>{if(r==null||n==null)return Gu;var a=t.map(o=>({value:o.value,coordinate:o.coordinate,offset:o.offset,index:o.index}));return i(z1e({ticks:a,axisId:r,axisType:n})),()=>{i(T1e({axisId:r,axisType:n}))}},[i,t,r,n]),null}var G1e=x.forwardRef((e,t)=>{var{ticks:n=[],tick:r,tickLine:i,stroke:a,tickFormatter:o,unit:u,padding:d,tickTextProps:f,orientation:p,mirror:m,x:y,y:v,width:w,height:S,tickSize:j,tickMargin:k,fontSize:O,letterSpacing:_,getTicksConfig:C,events:T,axisType:E,axisId:A}=e,P=CC(mn(mn({},C),{},{ticks:n}),O,_),I=Yi(C),q=yv(r),$=WU(I.textAnchor)?I.textAnchor:F1e(p,m),U=q1e(p,m),G={};typeof i=="object"&&(G=i);var te=mn(mn({},I),{},{fill:"none"},G),Z=P.map(pe=>mn({entry:pe},U1e(pe,y,v,w,S,p,j,m,k))),K=Z.map(pe=>{var{entry:Ne,line:R}=pe;return x.createElement(Wi,{className:"recharts-cartesian-axis-tick",key:"tick-".concat(Ne.value,"-").concat(Ne.coordinate,"-").concat(Ne.tickCoord)},i&&x.createElement("line",Fl({},te,R,{className:Tt("recharts-cartesian-axis-tick-line",wv(i,"className"))})))}),X=Z.map((pe,Ne)=>{var R,B,{entry:F,tick:M}=pe,W=mn(mn(mn(mn({verticalAnchor:U},I),{},{textAnchor:$,stroke:"none",fill:a},M),{},{index:Ne,payload:F,visibleTicksCount:P.length,tickFormatter:o,padding:d},f),{},{angle:(R=(B=f?.angle)!==null&&B!==void 0?B:I.angle)!==null&&R!==void 0?R:0}),ae=mn(mn({},W),q);return x.createElement(Wi,Fl({className:"recharts-cartesian-axis-tick-label",key:"tick-label-".concat(F.value,"-").concat(F.coordinate,"-").concat(F.tickCoord)},u3(T,F,Ne)),r&&x.createElement(K1e,{option:r,tickProps:ae,value:"".concat(typeof o=="function"?o(F.value,Ne):F.value).concat(u||"")}))});return x.createElement("g",{className:"recharts-cartesian-axis-ticks recharts-".concat(E,"-ticks")},x.createElement(H1e,{ticks:P,axisId:A,axisType:E}),X.length>0&&x.createElement(za,{zIndex:lr.label},x.createElement("g",{className:"recharts-cartesian-axis-tick-labels recharts-".concat(E,"-tick-labels"),ref:t},X)),K.length>0&&x.createElement("g",{className:"recharts-cartesian-axis-tick-lines recharts-".concat(E,"-tick-lines")},K))}),V1e=x.forwardRef((e,t)=>{var{axisLine:n,width:r,height:i,className:a,hide:o,ticks:u,axisType:d,axisId:f}=e,p=D1e(e,R1e),[m,y]=x.useState(""),[v,w]=x.useState(""),S=x.useRef(null);x.useImperativeHandle(t,()=>({getCalculatedWidth:()=>{var k;return O1e({ticks:S.current,label:(k=e.labelRef)===null||k===void 0?void 0:k.current,labelGapWithTick:5,tickSize:e.tickSize,tickMargin:e.tickMargin})}}));var j=x.useCallback(k=>{if(k){var O=k.getElementsByClassName("recharts-cartesian-axis-tick-value");S.current=O;var _=O[0];if(_){var C=window.getComputedStyle(_),T=C.fontSize,E=C.letterSpacing;(T!==m||E!==v)&&(y(T),w(E))}}},[m,v]);return o||r!=null&&r<=0||i!=null&&i<=0?null:x.createElement(za,{zIndex:e.zIndex},x.createElement(Wi,{className:Tt("recharts-cartesian-axis",a)},x.createElement(B1e,{x:e.x,y:e.y,width:r,height:i,orientation:e.orientation,mirror:e.mirror,axisLine:n,otherSvgProps:Yi(e)}),x.createElement(G1e,{ref:j,axisType:d,events:p,fontSize:m,getTicksConfig:e,height:e.height,letterSpacing:v,mirror:e.mirror,orientation:e.orientation,padding:e.padding,stroke:e.stroke,tick:e.tick,tickFormatter:e.tickFormatter,tickLine:e.tickLine,tickMargin:e.tickMargin,tickSize:e.tickSize,tickTextProps:e.tickTextProps,ticks:u,unit:e.unit,width:e.width,x:e.x,y:e.y,axisId:f}),x.createElement(t8,{x:e.x,y:e.y,width:e.width,height:e.height,lowerWidth:e.width,upperWidth:e.width},x.createElement(r8,{label:e.label,labelRef:e.labelRef}),e.children)))}),_C=x.forwardRef((e,t)=>{var n=xr(e,ls);return x.createElement(V1e,Fl({},n,{ref:t}))});_C.displayName="CartesianAxis";var Z1e=["x1","y1","x2","y2","key"],Y1e=["offset"],W1e=["xAxisId","yAxisId"],Q1e=["xAxisId","yAxisId"];function UM(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function or(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?UM(Object(n),!0).forEach(function(r){X1e(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):UM(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function X1e(e,t,n){return(t=J1e(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function J1e(e){var t=eje(e,"string");return typeof t=="symbol"?t:t+""}function eje(e,t){if(typeof e!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function vl(){return vl=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},vl.apply(null,arguments)}function Oy(e,t){if(e==null)return{};var n,r,i=tje(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)===-1&&{}.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}function tje(e,t){if(e==null)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(t.indexOf(r)!==-1)continue;n[r]=e[r]}return n}var nje=e=>{var{fill:t}=e;if(!t||t==="none")return null;var{fillOpacity:n,x:r,y:i,width:a,height:o,ry:u}=e;return x.createElement("rect",{x:r,y:i,ry:u,width:a,height:o,stroke:"none",fill:t,fillOpacity:n,className:"recharts-cartesian-grid-bg"})};function v8(e){var{option:t,lineItemProps:n}=e,r;if(x.isValidElement(t))r=x.cloneElement(t,n);else if(typeof t=="function")r=t(n);else{var i,{x1:a,y1:o,x2:u,y2:d,key:f}=n,p=Oy(n,Z1e),m=(i=Yi(p))!==null&&i!==void 0?i:{},{offset:y}=m,v=Oy(m,Y1e);r=x.createElement("line",vl({},v,{x1:a,y1:o,x2:u,y2:d,fill:"none",key:f}))}return r}function rje(e){var{x:t,width:n,horizontal:r=!0,horizontalPoints:i}=e;if(!r||!i||!i.length)return null;var{xAxisId:a,yAxisId:o}=e,u=Oy(e,W1e),d=i.map((f,p)=>{var m=or(or({},u),{},{x1:t,y1:f,x2:t+n,y2:f,key:"line-".concat(p),index:p});return x.createElement(v8,{key:"line-".concat(p),option:r,lineItemProps:m})});return x.createElement("g",{className:"recharts-cartesian-grid-horizontal"},d)}function ije(e){var{y:t,height:n,vertical:r=!0,verticalPoints:i}=e;if(!r||!i||!i.length)return null;var{xAxisId:a,yAxisId:o}=e,u=Oy(e,Q1e),d=i.map((f,p)=>{var m=or(or({},u),{},{x1:f,y1:t,x2:f,y2:t+n,key:"line-".concat(p),index:p});return x.createElement(v8,{option:r,lineItemProps:m,key:"line-".concat(p)})});return x.createElement("g",{className:"recharts-cartesian-grid-vertical"},d)}function aje(e){var{horizontalFill:t,fillOpacity:n,x:r,y:i,width:a,height:o,horizontalPoints:u,horizontal:d=!0}=e;if(!d||!t||!t.length||u==null)return null;var f=u.map(m=>Math.round(m+i-i)).sort((m,y)=>m-y);i!==f[0]&&f.unshift(0);var p=f.map((m,y)=>{var v=f[y+1],w=v==null,S=w?i+o-m:v-m;if(S<=0)return null;var j=y%t.length;return x.createElement("rect",{key:"react-".concat(y),y:m,x:r,height:S,width:a,stroke:"none",fill:t[j],fillOpacity:n,className:"recharts-cartesian-grid-bg"})});return x.createElement("g",{className:"recharts-cartesian-gridstripes-horizontal"},p)}function sje(e){var{vertical:t=!0,verticalFill:n,fillOpacity:r,x:i,y:a,width:o,height:u,verticalPoints:d}=e;if(!t||!n||!n.length)return null;var f=d.map(m=>Math.round(m+i-i)).sort((m,y)=>m-y);i!==f[0]&&f.unshift(0);var p=f.map((m,y)=>{var v=f[y+1],w=v==null,S=w?i+o-m:v-m;if(S<=0)return null;var j=y%n.length;return x.createElement("rect",{key:"react-".concat(y),x:m,y:a,width:S,height:u,stroke:"none",fill:n[j],fillOpacity:r,className:"recharts-cartesian-grid-bg"})});return x.createElement("g",{className:"recharts-cartesian-gridstripes-vertical"},p)}var oje=(e,t)=>{var{xAxis:n,width:r,height:i,offset:a}=e;return rB(CC(or(or(or({},ls),n),{},{ticks:iB(n),viewBox:{x:0,y:0,width:r,height:i}})),a.left,a.left+a.width,t)},lje=(e,t)=>{var{yAxis:n,width:r,height:i,offset:a}=e;return rB(CC(or(or(or({},ls),n),{},{ticks:iB(n),viewBox:{x:0,y:0,width:r,height:i}})),a.top,a.top+a.height,t)},cje={horizontal:!0,vertical:!0,horizontalPoints:[],verticalPoints:[],stroke:"#ccc",fill:"none",verticalFill:[],horizontalFill:[],xAxisId:0,yAxisId:0,syncWithTicks:!1,zIndex:lr.grid};function x8(e){var t=vk(),n=xk(),r=dB(),i=or(or({},xr(e,cje)),{},{x:Be(e.x)?e.x:r.left,y:Be(e.y)?e.y:r.top,width:Be(e.width)?e.width:r.width,height:Be(e.height)?e.height:r.height}),{xAxisId:a,yAxisId:o,x:u,y:d,width:f,height:p,syncWithTicks:m,horizontalValues:y,verticalValues:v}=i,w=br(),S=Ke(I=>JD(I,"xAxis",a,w)),j=Ke(I=>JD(I,"yAxis",o,w));if(!Na(f)||!Na(p)||!Be(u)||!Be(d))return null;var k=i.verticalCoordinatesGenerator||oje,O=i.horizontalCoordinatesGenerator||lje,{horizontalPoints:_,verticalPoints:C}=i;if((!_||!_.length)&&typeof O=="function"){var T=y&&y.length,E=O({yAxis:j?or(or({},j),{},{ticks:T?y:j.ticks}):void 0,width:t??f,height:n??p,offset:r},T?!0:m);Jg(Array.isArray(E),"horizontalCoordinatesGenerator should return Array but instead it returned [".concat(typeof E,"]")),Array.isArray(E)&&(_=E)}if((!C||!C.length)&&typeof k=="function"){var A=v&&v.length,P=k({xAxis:S?or(or({},S),{},{ticks:A?v:S.ticks}):void 0,width:t??f,height:n??p,offset:r},A?!0:m);Jg(Array.isArray(P),"verticalCoordinatesGenerator should return Array but instead it returned [".concat(typeof P,"]")),Array.isArray(P)&&(C=P)}return x.createElement(za,{zIndex:i.zIndex},x.createElement("g",{className:"recharts-cartesian-grid"},x.createElement(nje,{fill:i.fill,fillOpacity:i.fillOpacity,x:i.x,y:i.y,width:i.width,height:i.height,ry:i.ry}),x.createElement(aje,vl({},i,{horizontalPoints:_})),x.createElement(sje,vl({},i,{verticalPoints:C})),x.createElement(rje,vl({},i,{offset:r,horizontalPoints:_,xAxis:S,yAxis:j})),x.createElement(ije,vl({},i,{offset:r,verticalPoints:C,xAxis:S,yAxis:j}))))}x8.displayName="CartesianGrid";var uje={},b8=ur({name:"errorBars",initialState:uje,reducers:{addErrorBar:(e,t)=>{var{itemId:n,errorBar:r}=t.payload;e[n]||(e[n]=[]),e[n].push(r)},replaceErrorBar:(e,t)=>{var{itemId:n,prev:r,next:i}=t.payload;e[n]&&(e[n]=e[n].map(a=>a.dataKey===r.dataKey&&a.direction===r.direction?i:a))},removeErrorBar:(e,t)=>{var{itemId:n,errorBar:r}=t.payload;e[n]&&(e[n]=e[n].filter(i=>i.dataKey!==r.dataKey||i.direction!==r.direction))}}}),{addErrorBar:t_e,replaceErrorBar:n_e,removeErrorBar:r_e}=b8.actions,dje=b8.reducer;function w8(e,t){var n,r,i=Ke(f=>Oa(f,e)),a=Ke(f=>Ea(f,t)),o=(n=i?.allowDataOverflow)!==null&&n!==void 0?n:Rn.allowDataOverflow,u=(r=a?.allowDataOverflow)!==null&&r!==void 0?r:Dn.allowDataOverflow,d=o||u;return{needClip:d,needClipX:o,needClipY:u}}function fje(e){var{xAxisId:t,yAxisId:n,clipPathId:r}=e,i=kC(),{needClipX:a,needClipY:o,needClip:u}=w8(t,n);if(!u||!i)return null;var{x:d,y:f,width:p,height:m}=i;return x.createElement("clipPath",{id:"clipPath-".concat(r)},x.createElement("rect",{x:a?d:d-p/2,y:o?f:f-m/2,width:a?p:p*2,height:o?m:m*2}))}function hje(e){var t=yv(e),n=3,r=2;if(t!=null){var{r:i,strokeWidth:a}=t,o=Number(i),u=Number(a);return(Number.isNaN(o)||o<0)&&(o=n),(Number.isNaN(u)||u<0)&&(u=r),{r:o,strokeWidth:u}}return{r:n,strokeWidth:r}}function AC(e,t){var n,r;return(n=(r=e.graphicalItems.cartesianItems.find(i=>i.id===t))===null||r===void 0?void 0:r.xAxisId)!==null&&n!==void 0?n:u8}function OC(e,t){var n,r;return(n=(r=e.graphicalItems.cartesianItems.find(i=>i.id===t))===null||r===void 0?void 0:r.yAxisId)!==null&&n!==void 0?n:u8}var S8=(e,t,n)=>pU(e,"xAxis",AC(e,t),n),j8=(e,t,n)=>hU(e,"xAxis",AC(e,t),n),N8=(e,t,n)=>pU(e,"yAxis",OC(e,t),n),k8=(e,t,n)=>hU(e,"yAxis",OC(e,t),n),pje=oe([sn,S8,N8,j8,k8],(e,t,n,r,i)=>Aa(e,"xAxis")?Xg(t,r,!1):Xg(n,i,!1)),mje=(e,t)=>t,C8=oe([D6,mje],(e,t)=>e.filter(n=>n.type==="area").find(n=>n.id===t)),_8=e=>{var t=sn(e),n=Aa(t,"xAxis");return n?"yAxis":"xAxis"},gje=(e,t)=>{var n=_8(e);return n==="yAxis"?OC(e,t):AC(e,t)},yje=(e,t,n)=>H6(e,_8(e),gje(e,t),n),vje=oe([C8,yje],(e,t)=>{var n;if(!(e==null||t==null)){var{stackId:r}=e,i=Pk(e);if(!(r==null||i==null)){var a=(n=t[r])===null||n===void 0?void 0:n.stackedData,o=a?.find(u=>u.key===i);if(o!=null)return o.map(u=>[u[0],u[1]])}}}),xje=oe([sn,S8,N8,j8,k8,vje,Ime,pje,C8,Gme],(e,t,n,r,i,a,o,u,d,f)=>{var{chartData:p,dataStartIndex:m,dataEndIndex:y}=o;if(!(d==null||e!=="horizontal"&&e!=="vertical"||t==null||n==null||r==null||i==null||r.length===0||i.length===0||u==null)){var{data:v}=d,w;if(v&&v.length>0?w=v:w=p?.slice(m,y+1),w!=null)return $je({layout:e,xAxis:t,yAxis:n,xAxisTicks:r,yAxisTicks:i,dataStartIndex:m,areaSettings:d,stackedData:a,displayedData:w,chartBaseValue:f,bandSize:u})}}),bje=["id"],wje=["activeDot","animationBegin","animationDuration","animationEasing","connectNulls","dot","fill","fillOpacity","hide","isAnimationActive","legendType","stroke","xAxisId","yAxisId"];function _l(){return _l=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},_l.apply(null,arguments)}function A8(e,t){if(e==null)return{};var n,r,i=Sje(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)===-1&&{}.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}function Sje(e,t){if(e==null)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(t.indexOf(r)!==-1)continue;n[r]=e[r]}return n}function FM(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function lu(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?FM(Object(n),!0).forEach(function(r){jje(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):FM(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function jje(e,t,n){return(t=Nje(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Nje(e){var t=kje(e,"string");return typeof t=="symbol"?t:t+""}function kje(e,t){if(typeof e!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function Ey(e,t){return e&&e!=="none"?e:t}var Cje=e=>{var{dataKey:t,name:n,stroke:r,fill:i,legendType:a,hide:o}=e;return[{inactive:o,dataKey:t,type:a,color:Ey(r,i),value:aB(n,t),payload:e}]},_je=x.memo(e=>{var{dataKey:t,data:n,stroke:r,strokeWidth:i,fill:a,name:o,hide:u,unit:d,tooltipType:f,id:p}=e,m={dataDefinedOnItem:n,getPosition:Gu,settings:{stroke:r,strokeWidth:i,fill:a,dataKey:t,nameKey:void 0,name:aB(o,t),hide:u,type:f,color:Ey(r,a),unit:d,graphicalItemId:p}};return x.createElement(oSe,{tooltipEntrySettings:m})});function Aje(e){var{clipPathId:t,points:n,props:r}=e,{needClip:i,dot:a,dataKey:o}=r,u=Yi(r);return x.createElement(OSe,{points:n,dot:a,className:"recharts-area-dots",dotClassName:"recharts-area-dot",dataKey:o,baseProps:u,needClip:i,clipPathId:t})}function Oje(e){var{showLabels:t,children:n,points:r}=e,i=r.map(a=>{var o,u,d={x:(o=a.x)!==null&&o!==void 0?o:0,y:(u=a.y)!==null&&u!==void 0?u:0,width:0,lowerWidth:0,upperWidth:0,height:0};return lu(lu({},d),{},{value:a.value,payload:a.payload,parentViewBox:void 0,viewBox:d,fill:void 0})});return x.createElement(eSe,{value:t?i:void 0},n)}function qM(e){var{points:t,baseLine:n,needClip:r,clipPathId:i,props:a}=e,{layout:o,type:u,stroke:d,connectNulls:f,isRange:p}=a,{id:m}=a,y=A8(a,bje),v=Yi(y),w=Mr(y);return x.createElement(x.Fragment,null,t?.length>1&&x.createElement(Wi,{clipPath:r?"url(#clipPath-".concat(i,")"):void 0},x.createElement(cg,_l({},w,{id:m,points:t,connectNulls:f,type:u,baseLine:n,layout:o,stroke:"none",className:"recharts-area-area"})),d!=="none"&&x.createElement(cg,_l({},v,{className:"recharts-area-curve",layout:o,type:u,connectNulls:f,fill:"none",points:t})),d!=="none"&&p&&Array.isArray(n)&&x.createElement(cg,_l({},v,{className:"recharts-area-curve",layout:o,type:u,connectNulls:f,fill:"none",points:n}))),x.createElement(Aje,{points:t,props:y,clipPathId:i}))}function Eje(e){var t,n,{alpha:r,baseLine:i,points:a,strokeWidth:o}=e,u=(t=a[0])===null||t===void 0?void 0:t.y,d=(n=a[a.length-1])===null||n===void 0?void 0:n.y;if(!rt(u)||!rt(d))return null;var f=r*Math.abs(u-d),p=Math.max(...a.map(m=>m.x||0));return Be(i)?p=Math.max(i,p):i&&Array.isArray(i)&&i.length&&(p=Math.max(...i.map(m=>m.x||0),p)),Be(p)?x.createElement("rect",{x:0,y:u<d?u:u-f,width:p+(o?parseInt("".concat(o),10):1),height:Math.floor(f)}):null}function zje(e){var t,n,{alpha:r,baseLine:i,points:a,strokeWidth:o}=e,u=(t=a[0])===null||t===void 0?void 0:t.x,d=(n=a[a.length-1])===null||n===void 0?void 0:n.x;if(!rt(u)||!rt(d))return null;var f=r*Math.abs(u-d),p=Math.max(...a.map(m=>m.y||0));return Be(i)?p=Math.max(i,p):i&&Array.isArray(i)&&i.length&&(p=Math.max(...i.map(m=>m.y||0),p)),Be(p)?x.createElement("rect",{x:u<d?u:u-f,y:0,width:f,height:Math.floor(p+(o?parseInt("".concat(o),10):1))}):null}function Tje(e){var{alpha:t,layout:n,points:r,baseLine:i,strokeWidth:a}=e;return n==="vertical"?x.createElement(Eje,{alpha:t,points:r,baseLine:i,strokeWidth:a}):x.createElement(zje,{alpha:t,points:r,baseLine:i,strokeWidth:a})}function Pje(e){var{needClip:t,clipPathId:n,props:r,previousPointsRef:i,previousBaselineRef:a}=e,{points:o,baseLine:u,isAnimationActive:d,animationBegin:f,animationDuration:p,animationEasing:m,onAnimationStart:y,onAnimationEnd:v}=r,w=x.useMemo(()=>({points:o,baseLine:u}),[o,u]),S=CB(w,"recharts-area-"),j=bk(),[k,O]=x.useState(!1),_=!k,C=x.useCallback(()=>{typeof v=="function"&&v(),O(!1)},[v]),T=x.useCallback(()=>{typeof y=="function"&&y(),O(!0)},[y]);if(j==null)return null;var E=i.current,A=a.current;return x.createElement(Oje,{showLabels:_,points:o},r.children,x.createElement(kB,{animationId:S,begin:f,duration:p,isActive:d,easing:m,onAnimationEnd:C,onAnimationStart:T,key:S},P=>{if(E){var I=E.length/o.length,q=P===1?o:o.map((U,G)=>{var te=Math.floor(G*I);if(E[te]){var Z=E[te];return lu(lu({},U),{},{x:ha(Z.x,U.x,P),y:ha(Z.y,U.y,P)})}return U}),$;return Be(u)?$=ha(A,u,P):Jn(u)||ja(u)?$=ha(A,0,P):$=u.map((U,G)=>{var te=Math.floor(G*I);if(Array.isArray(A)&&A[te]){var Z=A[te];return lu(lu({},U),{},{x:ha(Z.x,U.x,P),y:ha(Z.y,U.y,P)})}return U}),P>0&&(i.current=q,a.current=$),x.createElement(qM,{points:q,baseLine:$,needClip:t,clipPathId:n,props:r})}return P>0&&(i.current=o,a.current=u),x.createElement(Wi,null,d&&x.createElement("defs",null,x.createElement("clipPath",{id:"animationClipPath-".concat(n)},x.createElement(Tje,{alpha:P,points:o,baseLine:u,layout:j,strokeWidth:r.strokeWidth}))),x.createElement(Wi,{clipPath:"url(#animationClipPath-".concat(n,")")},x.createElement(qM,{points:o,baseLine:u,needClip:t,clipPathId:n,props:r})))}),x.createElement(rSe,{label:r.label}))}function Rje(e){var{needClip:t,clipPathId:n,props:r}=e,i=x.useRef(null),a=x.useRef();return x.createElement(Pje,{needClip:t,clipPathId:n,props:r,previousPointsRef:i,previousBaselineRef:a})}class Dje extends x.PureComponent{render(){var{hide:t,dot:n,points:r,className:i,top:a,left:o,needClip:u,xAxisId:d,yAxisId:f,width:p,height:m,id:y,baseLine:v,zIndex:w}=this.props;if(t)return null;var S=Tt("recharts-area",i),j=y,{r:k,strokeWidth:O}=hje(n),_=l8(n),C=k*2+O,T=u?"url(#clipPath-".concat(_?"":"dots-").concat(j,")"):void 0;return x.createElement(za,{zIndex:w},x.createElement(Wi,{className:S},u&&x.createElement("defs",null,x.createElement(fje,{clipPathId:j,xAxisId:d,yAxisId:f}),!_&&x.createElement("clipPath",{id:"clipPath-dots-".concat(j)},x.createElement("rect",{x:o-C/2,y:a-C/2,width:p+C,height:m+C}))),x.createElement(Rje,{needClip:u,clipPathId:j,props:this.props})),x.createElement(DM,{points:r,mainColor:Ey(this.props.stroke,this.props.fill),itemDataKey:this.props.dataKey,activeDot:this.props.activeDot,clipPath:T}),this.props.isRange&&Array.isArray(v)&&x.createElement(DM,{points:v,mainColor:Ey(this.props.stroke,this.props.fill),itemDataKey:this.props.dataKey,activeDot:this.props.activeDot,clipPath:T}))}}var Mje={activeDot:!0,animationBegin:0,animationDuration:1500,animationEasing:"ease",connectNulls:!1,dot:!1,fill:"#3182bd",fillOpacity:.6,hide:!1,isAnimationActive:"auto",legendType:"line",stroke:"#3182bd",strokeWidth:1,type:"linear",label:!1,xAxisId:0,yAxisId:0,zIndex:lr.area};function Ije(e){var t,{activeDot:n,animationBegin:r,animationDuration:i,animationEasing:a,connectNulls:o,dot:u,fill:d,fillOpacity:f,hide:p,isAnimationActive:m,legendType:y,stroke:v,xAxisId:w,yAxisId:S}=e,j=A8(e,wje),k=Vu(),O=IU(),{needClip:_}=w8(w,S),C=br(),{points:T,isRange:E,baseLine:A}=(t=Ke(G=>xje(G,e.id,C)))!==null&&t!==void 0?t:{},P=kC();if(k!=="horizontal"&&k!=="vertical"||P==null||O!=="AreaChart"&&O!=="ComposedChart")return null;var{height:I,width:q,x:$,y:U}=P;return!T||!T.length?null:x.createElement(Dje,_l({},j,{activeDot:n,animationBegin:r,animationDuration:i,animationEasing:a,baseLine:A,connectNulls:o,dot:u,fill:d,fillOpacity:f,height:I,hide:p,layout:k,isAnimationActive:m,isRange:E,legendType:y,needClip:_,points:T,stroke:v,width:q,left:$,top:U,xAxisId:w,yAxisId:S}))}var Lje=(e,t,n,r,i)=>{var a=n??t;if(Be(a))return a;var o=e==="horizontal"?i:r,u=o.scale.domain();if(o.type==="number"){var d=Math.max(u[0],u[1]),f=Math.min(u[0],u[1]);return a==="dataMin"?f:a==="dataMax"||d<0?d:Math.max(Math.min(u[0],u[1]),0)}return a==="dataMin"?u[0]:a==="dataMax"?u[1]:u[0]};function $je(e){var{areaSettings:{connectNulls:t,baseValue:n,dataKey:r},stackedData:i,layout:a,chartBaseValue:o,xAxis:u,yAxis:d,displayedData:f,dataStartIndex:p,xAxisTicks:m,yAxisTicks:y,bandSize:v}=e,w=i&&i.length,S=Lje(a,o,n,u,d),j=a==="horizontal",k=!1,O=f.map((C,T)=>{var E,A,P,I;if(w)I=i[p+T];else{var q=Un(C,r);Array.isArray(q)?(I=q,k=!0):I=[S,q]}var $=(E=(A=I)===null||A===void 0?void 0:A[1])!==null&&E!==void 0?E:null,U=$==null||w&&!t&&Un(C,r)==null;if(j){var G;return{x:VP({axis:u,ticks:m,bandSize:v,entry:C,index:T}),y:U?null:(G=d.scale.map($))!==null&&G!==void 0?G:null,value:I,payload:C}}return{x:U?null:(P=u.scale.map($))!==null&&P!==void 0?P:null,y:VP({axis:d,ticks:y,bandSize:v,entry:C,index:T}),value:I,payload:C}}),_;return w||k?_=O.map(C=>{var T,E=Array.isArray(C.value)?C.value[0]:null;if(j){var A;return{x:C.x,y:E!=null&&C.y!=null&&(A=d.scale.map(E))!==null&&A!==void 0?A:null,payload:C.payload}}return{x:E!=null&&(T=u.scale.map(E))!==null&&T!==void 0?T:null,y:C.y,payload:C.payload}}):_=j?d.scale.map(S):u.scale.map(S),{points:O,baseLine:_??0,isRange:k}}function Bje(e){var t=xr(e,Mje),n=br();return x.createElement(hSe,{id:t.id,type:"area"},r=>x.createElement(x.Fragment,null,x.createElement(lSe,{legendPayload:Cje(t)}),x.createElement(_je,{dataKey:t.dataKey,data:t.data,stroke:t.stroke,strokeWidth:t.strokeWidth,fill:t.fill,name:t.name,hide:t.hide,unit:t.unit,tooltipType:t.tooltipType,id:r}),x.createElement(bSe,{type:"area",id:r,data:t.data,dataKey:t.dataKey,xAxisId:t.xAxisId,yAxisId:t.yAxisId,zAxisId:0,stackId:Cfe(t.stackId),hide:t.hide,barSize:void 0,baseValue:t.baseValue,isPanorama:n,connectNulls:t.connectNulls}),x.createElement(Ije,_l({},t,{id:r}))))}var xl=x.memo(Bje,Nh);xl.displayName="Area";var Uje=["domain","range"],Fje=["domain","range"];function KM(e,t){if(e==null)return{};var n,r,i=qje(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)===-1&&{}.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}function qje(e,t){if(e==null)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(t.indexOf(r)!==-1)continue;n[r]=e[r]}return n}function HM(e,t){return e===t?!0:Array.isArray(e)&&e.length===2&&Array.isArray(t)&&t.length===2?e[0]===t[0]&&e[1]===t[1]:!1}function O8(e,t){if(e===t)return!0;var{domain:n,range:r}=e,i=KM(e,Uje),{domain:a,range:o}=t,u=KM(t,Fje);return!HM(n,a)||!HM(r,o)?!1:Nh(i,u)}var Kje=["type"],Hje=["dangerouslySetInnerHTML","ticks","scale"],Gje=["id","scale"];function Sj(){return Sj=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Sj.apply(null,arguments)}function GM(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function VM(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?GM(Object(n),!0).forEach(function(r){Vje(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):GM(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function Vje(e,t,n){return(t=Zje(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Zje(e){var t=Yje(e,"string");return typeof t=="symbol"?t:t+""}function Yje(e,t){if(typeof e!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function jj(e,t){if(e==null)return{};var n,r,i=Wje(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)===-1&&{}.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}function Wje(e,t){if(e==null)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(t.indexOf(r)!==-1)continue;n[r]=e[r]}return n}function Qje(e){var t=fn(),n=x.useRef(null),r=bk(),{type:i}=e,a=jj(e,Kje),o=Fv(r,"xAxis",i),u=x.useMemo(()=>{if(o!=null)return VM(VM({},a),{},{type:o})},[a,o]);return x.useLayoutEffect(()=>{u!=null&&(n.current===null?t(RSe(u)):n.current!==u&&t(DSe({prev:n.current,next:u})),n.current=u)},[u,t]),x.useLayoutEffect(()=>()=>{n.current&&(t(MSe(n.current)),n.current=null)},[t]),null}var Xje=e=>{var{xAxisId:t,className:n}=e,r=Ke(oB),i=br(),a="xAxis",o=Ke(k=>fU(k,a,t,i)),u=Ke(k=>S0e(k,t)),d=Ke(k=>A0e(k,t)),f=Ke(k=>z6(k,t));if(u==null||d==null||f==null)return null;var{dangerouslySetInnerHTML:p,ticks:m,scale:y}=e,v=jj(e,Hje),{id:w,scale:S}=f,j=jj(f,Gje);return x.createElement(_C,Sj({},v,j,{x:d.x,y:d.y,width:u.width,height:u.height,className:Tt("recharts-".concat(a," ").concat(a),n),viewBox:r,ticks:o,axisType:a,axisId:t}))},Jje={allowDataOverflow:Rn.allowDataOverflow,allowDecimals:Rn.allowDecimals,allowDuplicatedCategory:Rn.allowDuplicatedCategory,angle:Rn.angle,axisLine:ls.axisLine,height:Rn.height,hide:!1,includeHidden:Rn.includeHidden,interval:Rn.interval,label:!1,minTickGap:Rn.minTickGap,mirror:Rn.mirror,orientation:Rn.orientation,padding:Rn.padding,reversed:Rn.reversed,scale:Rn.scale,tick:Rn.tick,tickCount:Rn.tickCount,tickLine:ls.tickLine,tickSize:ls.tickSize,type:Rn.type,niceTicks:Rn.niceTicks,xAxisId:0},eNe=e=>{var t=xr(e,Jje);return x.createElement(x.Fragment,null,x.createElement(Qje,{allowDataOverflow:t.allowDataOverflow,allowDecimals:t.allowDecimals,allowDuplicatedCategory:t.allowDuplicatedCategory,angle:t.angle,dataKey:t.dataKey,domain:t.domain,height:t.height,hide:t.hide,id:t.xAxisId,includeHidden:t.includeHidden,interval:t.interval,minTickGap:t.minTickGap,mirror:t.mirror,name:t.name,orientation:t.orientation,padding:t.padding,reversed:t.reversed,scale:t.scale,tick:t.tick,tickCount:t.tickCount,tickFormatter:t.tickFormatter,ticks:t.ticks,type:t.type,unit:t.unit,niceTicks:t.niceTicks}),x.createElement(Xje,t))},ih=x.memo(eNe,O8);ih.displayName="XAxis";var tNe=["type"],nNe=["dangerouslySetInnerHTML","ticks","scale"],rNe=["id","scale"];function Nj(){return Nj=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Nj.apply(null,arguments)}function ZM(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function YM(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?ZM(Object(n),!0).forEach(function(r){iNe(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ZM(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function iNe(e,t,n){return(t=aNe(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function aNe(e){var t=sNe(e,"string");return typeof t=="symbol"?t:t+""}function sNe(e,t){if(typeof e!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function kj(e,t){if(e==null)return{};var n,r,i=oNe(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)===-1&&{}.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}function oNe(e,t){if(e==null)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(t.indexOf(r)!==-1)continue;n[r]=e[r]}return n}function lNe(e){var t=fn(),n=x.useRef(null),r=bk(),{type:i}=e,a=kj(e,tNe),o=Fv(r,"yAxis",i),u=x.useMemo(()=>{if(o!=null)return YM(YM({},a),{},{type:o})},[o,a]);return x.useLayoutEffect(()=>{u!=null&&(n.current===null?t(ISe(u)):n.current!==u&&t(LSe({prev:n.current,next:u})),n.current=u)},[u,t]),x.useLayoutEffect(()=>()=>{n.current&&(t($Se(n.current)),n.current=null)},[t]),null}function cNe(e){var{yAxisId:t,className:n,width:r,label:i}=e,a=x.useRef(null),o=x.useRef(null),u=Ke(oB),d=br(),f=fn(),p="yAxis",m=Ke(E=>z0e(E,t)),y=Ke(E=>E0e(E,t)),v=Ke(E=>fU(E,p,t,d)),w=Ke(E=>T6(E,t));if(x.useLayoutEffect(()=>{if(!(r!=="auto"||!m||NC(i)||x.isValidElement(i)||w==null)){var E=a.current;if(E){var A=E.getCalculatedWidth();Math.round(m.width)!==Math.round(A)&&f(BSe({id:t,width:A}))}}},[v,m,f,i,t,r,w]),m==null||y==null||w==null)return null;var{dangerouslySetInnerHTML:S,ticks:j,scale:k}=e,O=kj(e,nNe),{id:_,scale:C}=w,T=kj(w,rNe);return x.createElement(_C,Nj({},O,T,{ref:a,labelRef:o,x:y.x,y:y.y,tickTextProps:r==="auto"?{width:void 0}:{width:r},width:m.width,height:m.height,className:Tt("recharts-".concat(p," ").concat(p),n),viewBox:u,ticks:v,axisType:p,axisId:t}))}var uNe={allowDataOverflow:Dn.allowDataOverflow,allowDecimals:Dn.allowDecimals,allowDuplicatedCategory:Dn.allowDuplicatedCategory,angle:Dn.angle,axisLine:ls.axisLine,hide:!1,includeHidden:Dn.includeHidden,interval:Dn.interval,label:!1,minTickGap:Dn.minTickGap,mirror:Dn.mirror,orientation:Dn.orientation,padding:Dn.padding,reversed:Dn.reversed,scale:Dn.scale,tick:Dn.tick,tickCount:Dn.tickCount,tickLine:ls.tickLine,tickSize:ls.tickSize,type:Dn.type,niceTicks:Dn.niceTicks,width:Dn.width,yAxisId:0},dNe=e=>{var t=xr(e,uNe);return x.createElement(x.Fragment,null,x.createElement(lNe,{interval:t.interval,id:t.yAxisId,scale:t.scale,type:t.type,domain:t.domain,allowDataOverflow:t.allowDataOverflow,dataKey:t.dataKey,allowDuplicatedCategory:t.allowDuplicatedCategory,allowDecimals:t.allowDecimals,tickCount:t.tickCount,padding:t.padding,includeHidden:t.includeHidden,reversed:t.reversed,ticks:t.ticks,width:t.width,orientation:t.orientation,mirror:t.mirror,hide:t.hide,unit:t.unit,name:t.name,angle:t.angle,minTickGap:t.minTickGap,tick:t.tick,tickFormatter:t.tickFormatter,niceTicks:t.niceTicks}),x.createElement(cNe,t))},ah=x.memo(dNe,O8);ah.displayName="YAxis";var fNe=(e,t)=>t,EC=oe([fNe,sn,VB,qn,zU,vs,Jxe,er],sbe);function hNe(e){return"getBBox"in e.currentTarget&&typeof e.currentTarget.getBBox=="function"}function zC(e){var t=e.currentTarget.getBoundingClientRect(),n,r;if(hNe(e)){var i=e.currentTarget.getBBox();n=i.width>0?t.width/i.width:1,r=i.height>0?t.height/i.height:1}else{var a=e.currentTarget;n=a.offsetWidth>0?t.width/a.offsetWidth:1,r=a.offsetHeight>0?t.height/a.offsetHeight:1}var o=(u,d)=>({relativeX:Math.round((u-t.left)/n),relativeY:Math.round((d-t.top)/r)});return"touches"in e?Array.from(e.touches).map(u=>o(u.clientX,u.clientY)):o(e.clientX,e.clientY)}var E8=ti("mouseClick"),z8=xh();z8.startListening({actionCreator:E8,effect:(e,t)=>{var n=e.payload,r=EC(t.getState(),zC(n));r?.activeIndex!=null&&t.dispatch(G0e({activeIndex:r.activeIndex,activeDataKey:void 0,activeCoordinate:r.activeCoordinate}))}});var Cj=ti("mouseMove"),T8=xh(),Yc=null,tl=null,TS=null;T8.startListening({actionCreator:Cj,effect:(e,t)=>{var n=e.payload,r=t.getState(),{throttleDelay:i,throttledEvents:a}=r.eventSettings,o=a==="all"||a?.includes("mousemove");Yc!==null&&(cancelAnimationFrame(Yc),Yc=null),tl!==null&&(typeof i!="number"||!o)&&(clearTimeout(tl),tl=null),TS=zC(n);var u=()=>{var d=t.getState(),f=Ph(d,d.tooltip.settings.shared);if(!TS){Yc=null,tl=null;return}if(f==="axis"){var p=EC(d,TS);p?.activeIndex!=null?t.dispatch(wU({activeIndex:p.activeIndex,activeDataKey:void 0,activeCoordinate:p.activeCoordinate})):t.dispatch(bU())}Yc=null,tl=null};if(!o){u();return}i==="raf"?Yc=requestAnimationFrame(u):typeof i=="number"&&tl===null&&(tl=setTimeout(u,i))}});function pNe(e,t){return t instanceof HTMLElement?"HTMLElement <".concat(t.tagName,' class="').concat(t.className,'">'):t===window?"global.window":e==="children"&&typeof t=="object"&&t!==null?"<<CHILDREN>>":t}var WM={accessibilityLayer:!0,barCategoryGap:"10%",barGap:4,barSize:void 0,className:void 0,maxBarSize:void 0,stackOffset:"none",syncId:void 0,syncMethod:"index",baseValue:void 0,reverseStackOrder:!1},P8=ur({name:"rootProps",initialState:WM,reducers:{updateOptions:(e,t)=>{var n;e.accessibilityLayer=t.payload.accessibilityLayer,e.barCategoryGap=t.payload.barCategoryGap,e.barGap=(n=t.payload.barGap)!==null&&n!==void 0?n:WM.barGap,e.barSize=t.payload.barSize,e.maxBarSize=t.payload.maxBarSize,e.stackOffset=t.payload.stackOffset,e.syncId=t.payload.syncId,e.syncMethod=t.payload.syncMethod,e.className=t.payload.className,e.baseValue=t.payload.baseValue,e.reverseStackOrder=t.payload.reverseStackOrder}}}),mNe=P8.reducer,{updateOptions:gNe}=P8.actions,yNe=null,vNe={updatePolarOptions:(e,t)=>e===null?t.payload:(e.startAngle=t.payload.startAngle,e.endAngle=t.payload.endAngle,e.cx=t.payload.cx,e.cy=t.payload.cy,e.innerRadius=t.payload.innerRadius,e.outerRadius=t.payload.outerRadius,e)},R8=ur({name:"polarOptions",initialState:yNe,reducers:vNe}),{updatePolarOptions:i_e}=R8.actions,xNe=R8.reducer,D8=ti("keyDown"),M8=ti("focus"),I8=ti("blur"),t0=xh(),Wc=null,nl=null,qm=null;t0.startListening({actionCreator:D8,effect:(e,t)=>{qm=e.payload,Wc!==null&&(cancelAnimationFrame(Wc),Wc=null);var n=t.getState(),{throttleDelay:r,throttledEvents:i}=n.eventSettings,a=i==="all"||i.includes("keydown");nl!==null&&(typeof r!="number"||!a)&&(clearTimeout(nl),nl=null);var o=()=>{try{var u=t.getState(),d=u.rootProps.accessibilityLayer!==!1;if(!d)return;var{keyboardInteraction:f}=u.tooltip,p=qm;if(p!=="ArrowRight"&&p!=="ArrowLeft"&&p!=="Enter")return;var m=Af(f,Ul(u),Pu(u),Du(u)),y=m==null?-1:Number(m),v=!Number.isFinite(y)||y<0,w=vs(u),S=Ul(u),j=Ph(u,u.tooltip.settings.shared);if(p==="Enter"){if(v)return;var k=Ny(u,j,"hover",String(f.index));t.dispatch(jy({active:!f.active,activeIndex:f.index,activeCoordinate:k}));return}var O=M0e(u),_=O==="left-to-right"?1:-1,C=p==="ArrowRight"?1:-1,T;if(v){var E=Pu(u),A=Du(u),P=C*_,I=te=>({active:!1,index:String(te),dataKey:void 0,graphicalItemId:void 0,coordinate:void 0});if(T=-1,P>0){for(var q=0;q<S.length;q++)if(Af(I(q),S,E,A)!=null){T=q;break}}else for(var $=S.length-1;$>=0;$--)if(Af(I($),S,E,A)!=null){T=$;break}if(T<0)return}else{T=y+C*_;var U=w?.length||S.length;if(U===0||T>=U||T<0)return}var G=Ny(u,j,"hover",String(T));t.dispatch(jy({active:!0,activeIndex:T.toString(),activeCoordinate:G}))}finally{Wc=null,nl=null}};if(!a){o();return}r==="raf"?Wc=requestAnimationFrame(o):typeof r=="number"&&nl===null&&(o(),qm=null,nl=setTimeout(()=>{qm?o():(nl=null,Wc=null)},r))}});t0.startListening({actionCreator:M8,effect:(e,t)=>{var n=t.getState(),r=n.rootProps.accessibilityLayer!==!1;if(r){var{keyboardInteraction:i}=n.tooltip;if(!i.active&&i.index==null){var a="0",o=Ph(n,n.tooltip.settings.shared),u=Ny(n,o,"hover",String(a));t.dispatch(jy({active:!0,activeIndex:a,activeCoordinate:u}))}}}});t0.startListening({actionCreator:I8,effect:(e,t)=>{var n=t.getState(),r=n.rootProps.accessibilityLayer!==!1;if(r){var{keyboardInteraction:i}=n.tooltip;i.active&&t.dispatch(jy({active:!1,activeIndex:i.index,activeCoordinate:i.coordinate}))}}});function L8(e){e.persist();var{currentTarget:t}=e;return new Proxy(e,{get:(n,r)=>{if(r==="currentTarget")return t;var i=Reflect.get(n,r);return typeof i=="function"?i.bind(n):i}})}var yi=ti("externalEvent"),$8=xh(),Km=new Map,hf=new Map,PS=new Map;$8.startListening({actionCreator:yi,effect:(e,t)=>{var{handler:n,reactEvent:r}=e.payload;if(n!=null){var i=r.type,a=L8(r);PS.set(i,{handler:n,reactEvent:a});var o=Km.get(i);o!==void 0&&(cancelAnimationFrame(o),Km.delete(i));var u=t.getState(),{throttleDelay:d,throttledEvents:f}=u.eventSettings,p=f,m=p==="all"||p?.includes(i),y=hf.get(i);y!==void 0&&(typeof d!="number"||!m)&&(clearTimeout(y),hf.delete(i));var v=()=>{var j=PS.get(i);try{if(!j)return;var{handler:k,reactEvent:O}=j,_=t.getState(),C={activeCoordinate:Lxe(_),activeDataKey:Dxe(_),activeIndex:th(_),activeLabel:RU(_),activeTooltipIndex:th(_),isTooltipActive:$xe(_)};k&&k(C,O)}finally{Km.delete(i),hf.delete(i),PS.delete(i)}};if(!m){v();return}if(d==="raf"){var w=requestAnimationFrame(v);Km.set(i,w)}else if(typeof d=="number"){if(!hf.has(i)){v();var S=setTimeout(v,d);hf.set(i,S)}}else v()}}});var bNe=oe([td],e=>e.tooltipItemPayloads),wNe=oe([bNe,(e,t)=>t,(e,t,n)=>n],(e,t,n)=>{if(t!=null){var r=e.find(a=>a.settings.graphicalItemId===n);if(r!=null){var{getPosition:i}=r;if(i!=null)return i(t)}}}),B8=ti("touchMove"),U8=xh(),rl=null,Vs=null,QM=null,pf=null;U8.startListening({actionCreator:B8,effect:(e,t)=>{var n=e.payload;if(!(n.touches==null||n.touches.length===0)){pf=L8(n);var r=t.getState(),{throttleDelay:i,throttledEvents:a}=r.eventSettings,o=a==="all"||a.includes("touchmove");rl!==null&&(cancelAnimationFrame(rl),rl=null),Vs!==null&&(typeof i!="number"||!o)&&(clearTimeout(Vs),Vs=null),QM=Array.from(n.touches).map(d=>zC({clientX:d.clientX,clientY:d.clientY,currentTarget:n.currentTarget}));var u=()=>{if(pf!=null){var d=t.getState(),f=Ph(d,d.tooltip.settings.shared);if(f==="axis"){var p,m=(p=QM)===null||p===void 0?void 0:p[0];if(m==null){rl=null,Vs=null;return}var y=EC(d,m);y?.activeIndex!=null&&t.dispatch(wU({activeIndex:y.activeIndex,activeDataKey:void 0,activeCoordinate:y.activeCoordinate}))}else if(f==="item"){var v,w=pf.touches[0];if(document.elementFromPoint==null||w==null)return;var S=document.elementFromPoint(w.clientX,w.clientY);if(!S||!S.getAttribute)return;var j=S.getAttribute(Pfe),k=(v=S.getAttribute(Rfe))!==null&&v!==void 0?v:void 0,O=ec(d).find(T=>T.id===k);if(j==null||O==null||k==null)return;var{dataKey:_}=O,C=wNe(d,j,k);t.dispatch(H0e({activeDataKey:_,activeIndex:j,activeCoordinate:C,activeGraphicalItemId:k}))}rl=null,Vs=null}};if(!o){u();return}i==="raf"?rl=requestAnimationFrame(u):typeof i=="number"&&Vs===null&&(u(),pf=null,Vs=setTimeout(()=>{pf?u():(Vs=null,rl=null)},i))}}});var F8={throttleDelay:"raf",throttledEvents:["mousemove","touchmove","pointermove","scroll","wheel"]},q8=ur({name:"eventSettings",initialState:F8,reducers:{setEventSettings:(e,t)=>{t.payload.throttleDelay!=null&&(e.throttleDelay=t.payload.throttleDelay),t.payload.throttledEvents!=null&&(e.throttledEvents=t.payload.throttledEvents)}}}),{setEventSettings:SNe}=q8.actions,jNe=q8.reducer,NNe=A3({brush:WSe,cartesianAxis:USe,chartData:Ibe,errorBars:dje,eventSettings:jNe,graphicalItems:vSe,layout:yfe,legend:_he,options:Tbe,polarAxis:aSe,polarOptions:xNe,referenceElements:i1e,renderedTicks:P1e,rootProps:mNe,tooltip:V0e,zIndex:xbe}),kNe=function(t){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"Chart";return Fde({reducer:NNe,preloadedState:t,middleware:r=>{var i;return r({serializableCheck:!1,immutableCheck:!["commonjs","es6","production"].includes((i="es6")!==null&&i!==void 0?i:"")}).concat([z8.middleware,T8.middleware,t0.middleware,$8.middleware,U8.middleware])},enhancers:r=>{var i=r;return typeof r=="function"&&(i=r()),i.concat(q3({type:"raf"}))},devTools:{serialize:{replacer:pNe},name:"recharts-".concat(n)}})};function CNe(e){var{preloadedState:t,children:n,reduxStoreName:r}=e,i=br(),a=x.useRef(null);if(i)return n;a.current==null&&(a.current=kNe(t,r));var o=ck;return x.createElement(Hhe,{context:o,store:a.current},n)}function _Ne(e){var{layout:t,margin:n}=e,r=fn(),i=br();return x.useEffect(()=>{i||(r(pfe(t)),r(hfe(n)))},[r,i,t,n]),null}var ANe=x.memo(_Ne,Nh);function ONe(e){var t=fn();return x.useEffect(()=>{t(gNe(e))},[t,e]),null}var ENe=e=>{var t=fn();return x.useEffect(()=>{t(SNe(e))},[t,e]),null},zNe=x.memo(ENe,Nh);function XM(e){var{zIndex:t,isPanorama:n}=e,r=x.useRef(null),i=fn();return x.useLayoutEffect(()=>(r.current&&i(ybe({zIndex:t,element:r.current,isPanorama:n})),()=>{i(vbe({zIndex:t,isPanorama:n}))}),[i,t,n]),x.createElement("g",{tabIndex:-1,ref:r,className:"recharts-zIndex-layer_".concat(t)})}function JM(e){var{children:t,isPanorama:n}=e,r=Ke(lbe);if(!r||r.length===0)return t;var i=r.filter(o=>o<0),a=r.filter(o=>o>0);return x.createElement(x.Fragment,null,i.map(o=>x.createElement(XM,{key:o,zIndex:o,isPanorama:n})),t,a.map(o=>x.createElement(XM,{key:o,zIndex:o,isPanorama:n})))}var TNe=["children"];function PNe(e,t){if(e==null)return{};var n,r,i=RNe(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)===-1&&{}.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}function RNe(e,t){if(e==null)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(t.indexOf(r)!==-1)continue;n[r]=e[r]}return n}function zy(){return zy=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},zy.apply(null,arguments)}var DNe={width:"100%",height:"100%",display:"block"},MNe=x.forwardRef((e,t)=>{var n=vk(),r=xk(),i=wB();if(!Na(n)||!Na(r))return null;var{children:a,otherAttributes:o,title:u,desc:d}=e,f,p;return o!=null&&(typeof o.tabIndex=="number"?f=o.tabIndex:f=i?0:void 0,typeof o.role=="string"?p=o.role:p=i?"application":void 0),x.createElement(ek,zy({},o,{title:u,desc:d,role:p,tabIndex:f,width:n,height:r,style:DNe,ref:t}),a)}),INe=e=>{var{children:t}=e,n=Ke(Dv);if(!n)return null;var{width:r,height:i,y:a,x:o}=n;return x.createElement(ek,{width:r,height:i,x:o,y:a},t)},eI=x.forwardRef((e,t)=>{var{children:n}=e,r=PNe(e,TNe),i=br();return i?x.createElement(INe,null,x.createElement(JM,{isPanorama:!0},n)):x.createElement(MNe,zy({ref:t},r),x.createElement(JM,{isPanorama:!1},n))});function LNe(){var e=fn(),[t,n]=x.useState(null),r=Ke(Tfe);return x.useEffect(()=>{if(t!=null){var i=t.getBoundingClientRect(),a=i.width/t.offsetWidth;rt(a)&&a!==r&&e(gfe(a))}},[t,e,r]),n}function tI(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function $Ne(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?tI(Object(n),!0).forEach(function(r){BNe(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):tI(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function BNe(e,t,n){return(t=UNe(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function UNe(e){var t=FNe(e,"string");return typeof t=="symbol"?t:t+""}function FNe(e,t){if(typeof e!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function mo(){return mo=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},mo.apply(null,arguments)}var qNe=()=>(Gbe(),null);function Ty(e){if(typeof e=="number")return e;if(typeof e=="string"){var t=parseFloat(e);if(!Number.isNaN(t))return t}return 0}var KNe=x.forwardRef((e,t)=>{var n,r,i=x.useRef(null),[a,o]=x.useState({containerWidth:Ty((n=e.style)===null||n===void 0?void 0:n.width),containerHeight:Ty((r=e.style)===null||r===void 0?void 0:r.height)}),u=x.useCallback((f,p)=>{o(m=>{var y=Math.round(f),v=Math.round(p);return m.containerWidth===y&&m.containerHeight===v?m:{containerWidth:y,containerHeight:v}})},[]),d=x.useCallback(f=>{if(typeof t=="function"&&t(f),i.current!=null&&(i.current.disconnect(),i.current=null),f!=null&&typeof ResizeObserver<"u"){var{width:p,height:m}=f.getBoundingClientRect();u(p,m);var y=w=>{var S=w[0];if(S!=null){var{width:j,height:k}=S.contentRect;u(j,k)}},v=new ResizeObserver(y);v.observe(f),i.current=v}},[t,u]);return x.useEffect(()=>()=>{var f=i.current;f?.disconnect()},[u]),x.createElement(x.Fragment,null,x.createElement(Sh,{width:a.containerWidth,height:a.containerHeight}),x.createElement("div",mo({ref:d},e)))}),HNe=x.forwardRef((e,t)=>{var{width:n,height:r}=e,[i,a]=x.useState({containerWidth:Ty(n),containerHeight:Ty(r)}),o=x.useCallback((d,f)=>{a(p=>{var m=Math.round(d),y=Math.round(f);return p.containerWidth===m&&p.containerHeight===y?p:{containerWidth:m,containerHeight:y}})},[]),u=x.useCallback(d=>{if(typeof t=="function"&&t(d),d!=null){var{width:f,height:p}=d.getBoundingClientRect();o(f,p)}},[t,o]);return x.createElement(x.Fragment,null,x.createElement(Sh,{width:i.containerWidth,height:i.containerHeight}),x.createElement("div",mo({ref:u},e)))}),GNe=x.forwardRef((e,t)=>{var{width:n,height:r}=e;return x.createElement(x.Fragment,null,x.createElement(Sh,{width:n,height:r}),x.createElement("div",mo({ref:t},e)))}),VNe=x.forwardRef((e,t)=>{var{width:n,height:r}=e;return typeof n=="string"||typeof r=="string"?x.createElement(HNe,mo({},e,{ref:t})):typeof n=="number"&&typeof r=="number"?x.createElement(GNe,mo({},e,{width:n,height:r,ref:t})):x.createElement(x.Fragment,null,x.createElement(Sh,{width:n,height:r}),x.createElement("div",mo({ref:t},e)))});function ZNe(e){return e?KNe:VNe}var YNe=x.forwardRef((e,t)=>{var{children:n,className:r,height:i,onClick:a,onContextMenu:o,onDoubleClick:u,onMouseDown:d,onMouseEnter:f,onMouseLeave:p,onMouseMove:m,onMouseUp:y,onTouchEnd:v,onTouchMove:w,onTouchStart:S,style:j,width:k,responsive:O,dispatchTouchEvents:_=!0}=e,C=x.useRef(null),T=fn(),[E,A]=x.useState(null),[P,I]=x.useState(null),q=LNe(),$=gk(),U=$?.width>0?$.width:k,G=$?.height>0?$.height:i,te=x.useCallback(fe=>{q(fe),typeof t=="function"&&t(fe),A(fe),I(fe),fe!=null&&(C.current=fe)},[q,t,A,I]),Z=x.useCallback(fe=>{T(E8(fe)),T(yi({handler:a,reactEvent:fe}))},[T,a]),K=x.useCallback(fe=>{T(Cj(fe)),T(yi({handler:f,reactEvent:fe}))},[T,f]),X=x.useCallback(fe=>{T(bU()),T(yi({handler:p,reactEvent:fe}))},[T,p]),pe=x.useCallback(fe=>{T(Cj(fe)),T(yi({handler:m,reactEvent:fe}))},[T,m]),Ne=x.useCallback(()=>{T(M8())},[T]),R=x.useCallback(()=>{T(I8())},[T]),B=x.useCallback(fe=>{T(D8(fe.key))},[T]),F=x.useCallback(fe=>{T(yi({handler:o,reactEvent:fe}))},[T,o]),M=x.useCallback(fe=>{T(yi({handler:u,reactEvent:fe}))},[T,u]),W=x.useCallback(fe=>{T(yi({handler:d,reactEvent:fe}))},[T,d]),ae=x.useCallback(fe=>{T(yi({handler:y,reactEvent:fe}))},[T,y]),ne=x.useCallback(fe=>{T(yi({handler:S,reactEvent:fe}))},[T,S]),de=x.useCallback(fe=>{_&&T(B8(fe)),T(yi({handler:w,reactEvent:fe}))},[T,_,w]),Ce=x.useCallback(fe=>{T(yi({handler:v,reactEvent:fe}))},[T,v]),ee=ZNe(O);return x.createElement(FU.Provider,{value:E},x.createElement(U$.Provider,{value:P},x.createElement(ee,{width:U??j?.width,height:G??j?.height,className:Tt("recharts-wrapper",r),style:$Ne({position:"relative",cursor:"default",width:U,height:G},j),onClick:Z,onContextMenu:F,onDoubleClick:M,onFocus:Ne,onBlur:R,onKeyDown:B,onMouseDown:W,onMouseEnter:K,onMouseLeave:X,onMouseMove:pe,onMouseUp:ae,onTouchEnd:Ce,onTouchMove:de,onTouchStart:ne,ref:te},x.createElement(qNe,null),n)))}),WNe=["width","height","responsive","children","className","style","compact","title","desc"];function QNe(e,t){if(e==null)return{};var n,r,i=XNe(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)===-1&&{}.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}function XNe(e,t){if(e==null)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(t.indexOf(r)!==-1)continue;n[r]=e[r]}return n}var JNe=x.forwardRef((e,t)=>{var{width:n,height:r,responsive:i,children:a,className:o,style:u,compact:d,title:f,desc:p}=e,m=QNe(e,WNe),y=Yi(m);return d?x.createElement(x.Fragment,null,x.createElement(Sh,{width:n,height:r}),x.createElement(eI,{otherAttributes:y,title:f,desc:p},a)):x.createElement(YNe,{className:o,style:u,width:n,height:r,responsive:i??!1,onClick:e.onClick,onMouseLeave:e.onMouseLeave,onMouseEnter:e.onMouseEnter,onMouseMove:e.onMouseMove,onMouseDown:e.onMouseDown,onMouseUp:e.onMouseUp,onContextMenu:e.onContextMenu,onDoubleClick:e.onDoubleClick,onTouchStart:e.onTouchStart,onTouchMove:e.onTouchMove,onTouchEnd:e.onTouchEnd},x.createElement(eI,{otherAttributes:y,title:f,desc:p,ref:t},x.createElement(a1e,null,a)))});function _j(){return _j=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},_j.apply(null,arguments)}function nI(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function eke(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?nI(Object(n),!0).forEach(function(r){tke(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):nI(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function tke(e,t,n){return(t=nke(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function nke(e){var t=rke(e,"string");return typeof t=="symbol"?t:t+""}function rke(e,t){if(typeof e!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}var ike={top:5,right:5,bottom:5,left:5},ake=eke({accessibilityLayer:!0,barCategoryGap:"10%",barGap:4,layout:"horizontal",margin:ike,responsive:!1,reverseStackOrder:!1,stackOffset:"none",syncMethod:"index"},F8),ske=x.forwardRef(function(t,n){var r,i=xr(t.categoricalChartProps,ake),{chartName:a,defaultTooltipEventType:o,validateTooltipEventTypes:u,tooltipPayloadSearcher:d,categoricalChartProps:f}=t,p={chartName:a,defaultTooltipEventType:o,validateTooltipEventTypes:u,tooltipPayloadSearcher:d,eventEmitter:void 0};return x.createElement(CNe,{preloadedState:{options:p},reduxStoreName:(r=f.id)!==null&&r!==void 0?r:a},x.createElement(YSe,{chartData:f.data}),x.createElement(ANe,{layout:i.layout,margin:i.margin}),x.createElement(zNe,{throttleDelay:i.throttleDelay,throttledEvents:i.throttledEvents}),x.createElement(ONe,{baseValue:i.baseValue,accessibilityLayer:i.accessibilityLayer,barCategoryGap:i.barCategoryGap,maxBarSize:i.maxBarSize,stackOffset:i.stackOffset,barGap:i.barGap,barSize:i.barSize,syncId:i.syncId,syncMethod:i.syncMethod,className:i.className,reverseStackOrder:i.reverseStackOrder}),x.createElement(JNe,_j({},i,{ref:n})))}),oke=["axis"],Py=x.forwardRef((e,t)=>x.createElement(ske,{chartName:"ComposedChart",defaultTooltipEventType:"axis",validateTooltipEventTypes:oke,tooltipPayloadSearcher:Ebe,categoricalChartProps:e,ref:t}));const xu={contentStyle:{backgroundColor:"#18181b",border:"1px solid #3f3f46",borderRadius:8,fontSize:12},labelStyle:{color:"#e4e4e7"},itemStyle:{color:"#a1a1aa"}},so={fill:"#71717a",fontSize:11},lke="#27272a",sh="#27272a",oo=["#34d399","#60a5fa","#f472b6","#facc15","#a78bfa","#fb923c","#22d3ee","#f87171"];function K8(e){const t=String(e);return t.includes("T")?new Date(t):new Date(t+"T00:00:00")}function Ry(e){return K8(String(e)).toLocaleDateString(void 0,{month:"short",day:"numeric",year:"numeric"})}function Dy(e){const t=K8(e);return`${t.getMonth()+1}/${t.getDate()}`}const cke=["7d","30d","90d","all"],uke=["gap","cited","uncited"],H8={forum:"bg-amber-500",social:"bg-blue-500",news:"bg-zinc-400",reference:"bg-purple-500",blog:"bg-emerald-500",ecommerce:"bg-orange-500",video:"bg-red-500",academic:"bg-cyan-500",other:"bg-zinc-600"},dke={[ro.mentioned]:"Mentioned",[ro.cited]:"Cited"};function fke({projectName:e}){const[t,n]=x.useState("30d"),[r,i]=x.useState(ro.mentioned),[a,o]=x.useState(null),[u,d]=x.useState(null),[f,p]=x.useState(null),[m,y]=x.useState(null),[v,w]=x.useState(!0);if(x.useEffect(()=>{let P=!1;return w(!0),Promise.all([F7(e,t),q7(e,t),K7(e,t)]).then(([I,q,$])=>{P||(o(I),d(q),p($),w(!1))}).catch(()=>{P||w(!1)}),()=>{P=!0}},[e,t]),x.useEffect(()=>{y(null)},[r]),v&&!a)return l.jsx("p",{className:"text-sm text-zinc-500 py-8 text-center",children:"Loading analytics…"});const S=r===ro.mentioned,j=a?S?a.overall.mentionRate:a.overall.citationRate:0,k=a?S?a.overall.mentionedCount:a.overall.cited:0,O=a?.overall.total??0,_=a?S?a.mentionTrend:a.trend:"stable",C=_==="improving"?"positive":_==="declining"?"negative":"neutral",T=u?S?u.mentionedKeywords:u.cited:[],E=u?S?u.mentionGap:u.gap:[],A=u?S?u.notMentioned:u.uncited:[];return l.jsxs(l.Fragment,{children:[l.jsxs("section",{children:[l.jsxs("div",{className:"flex items-center justify-between mb-4",children:[l.jsxs("div",{className:"flex items-center gap-3",children:[l.jsxs("div",{children:[l.jsx("p",{className:"text-[10px] font-semibold uppercase tracking-wider text-zinc-500 mb-1",children:S?"Mention Metrics":"Citation Metrics"}),l.jsxs("h2",{className:"text-base font-semibold text-zinc-50 flex items-center gap-1.5",children:[S?"Answer-Mention Trends":"Source-Citation Trends",l.jsx(On,{text:S?"Percentage of queries where your brand or domain is mentioned in the AI-generated answer text. A higher rate means AI engines are actively naming your brand in their prose when answering user questions.":"Percentage of queries where your domain appears in the AI provider's source/reference links. This measures whether your pages are used as grounding sources, not whether your brand is named in the answer."})]})]}),l.jsx("div",{className:"sidebar-tabs ml-2",children:[ro.mentioned,ro.cited].map(P=>l.jsx("button",{type:"button",className:`sidebar-tab ${r===P?"sidebar-tab--active":""}`,onClick:()=>i(P),children:dke[P]},P))})]}),l.jsx("div",{className:"flex gap-1",children:cke.map(P=>l.jsx("button",{type:"button",className:`px-3 py-1 text-xs rounded-full border transition-colors ${t===P?"bg-zinc-700 border-zinc-600 text-zinc-50":"border-zinc-800 text-zinc-400 hover:border-zinc-700 hover:text-zinc-300"}`,onClick:()=>n(P),children:P==="all"?"All":P},P))})]}),a&&l.jsxs("div",{className:"space-y-4",children:[l.jsxs("div",{className:"flex items-center gap-6",children:[l.jsx(L$,{value:`${Math.round(j*100)}`,label:S?"Mention Rate":"Citation Rate",delta:`${k} / ${O}`,tone:C,description:`Trend: ${_}`,isNumeric:!0}),l.jsxs("div",{className:"flex-1 space-y-3",children:[l.jsxs("div",{className:"flex items-center gap-2",children:[l.jsx("span",{className:"text-xs text-zinc-500",children:"Trend"}),l.jsx(wt,{tone:C,children:_})]}),Object.keys(a.byProvider).length>0&&l.jsxs("table",{className:"w-full text-sm",children:[l.jsx("thead",{children:l.jsxs("tr",{className:"text-[10px] uppercase tracking-wider text-zinc-500",children:[l.jsx("th",{className:"text-left py-1 font-medium",children:"Provider"}),l.jsx("th",{className:"text-right py-1 font-medium",children:"Rate"}),l.jsx("th",{className:"text-right py-1 font-medium",children:S?"Mentioned / Total":"Cited / Total"})]})}),l.jsx("tbody",{children:Object.entries(a.byProvider).map(([P,I])=>{const q=S?I.mentionRate:I.citationRate,$=S?I.mentionedCount:I.cited;return l.jsxs("tr",{className:"border-t border-zinc-800/40",children:[l.jsx("td",{className:"py-1.5 text-zinc-300",children:P}),l.jsxs("td",{className:"py-1.5 text-right text-zinc-200",children:[(q*100).toFixed(1),"%"]}),l.jsxs("td",{className:"py-1.5 text-right text-zinc-400",children:[$," / ",I.total]})]},P)})})]})]})]}),a.buckets.length>=1&&l.jsx(hke,{buckets:a.buckets,keywordChanges:a.keywordChanges??[],metricMode:r})]})]}),l.jsx("div",{className:"page-section-divider"}),l.jsxs("section",{children:[l.jsx("div",{className:"flex items-center justify-between mb-4",children:l.jsxs("div",{children:[l.jsx("p",{className:"text-[10px] font-semibold uppercase tracking-wider text-zinc-500 mb-1",children:"Opportunity Analysis"}),l.jsxs("h2",{className:"text-base font-semibold text-zinc-50 flex items-center gap-1.5",children:["Brand Gap Analysis ",l.jsx(On,{text:S?"Classification based on the most recent completed run. Mentioned: your brand was named in the AI answer text. Gap: a competitor was cited but your brand was not mentioned. Not Mentioned: your brand was not mentioned and no competitors were cited.":"Classification based on the most recent completed run. Cited: your domain appeared in the AI provider's source links. Gap: a competitor was cited but you were not. Not Cited: neither your domain nor competitors appeared in sources. Consistency shows how often each key phrase was cited across all runs in the selected window."})]})]})}),u&&l.jsxs(l.Fragment,{children:[l.jsx("div",{className:"flex gap-1 mb-4",children:uke.map(P=>{const I=P==="cited"?T.length:P==="gap"?E.length:A.length,q=m===P,$=P==="gap"?"Gap":P==="cited"?S?"Mentioned":"Cited":S?"Not Mentioned":"Not Cited";return l.jsxs("button",{type:"button",className:`px-3 py-1 text-xs rounded-full border transition-colors ${q?P==="gap"?"bg-amber-900/40 border-amber-700/60 text-amber-300":P==="cited"?"bg-emerald-900/40 border-emerald-700/60 text-emerald-300":"bg-zinc-800/40 border-zinc-700 text-zinc-300":"border-zinc-800 text-zinc-400 hover:border-zinc-700"}`,onClick:()=>y(q?null:P),children:[$," (",I,")"]},P)})}),l.jsx(pke,{citedRows:T,gapRows:E,uncitedRows:A,filter:m,metricMode:r})]})]}),l.jsx("div",{className:"page-section-divider"}),l.jsxs("section",{children:[l.jsxs("div",{className:"mb-4",children:[l.jsx("p",{className:"text-[10px] font-semibold uppercase tracking-wider text-zinc-500 mb-1",children:"Source Intelligence"}),l.jsxs("h2",{className:"text-base font-semibold text-zinc-50 flex items-center gap-1.5",children:["Source Origin Breakdown ",l.jsx(On,{text:"Aggregated across all runs in the selected window. Shows what types of websites AI engines cite as grounding sources. More runs = more statistically meaningful breakdown."})]})]}),f&&f.overall.length>0&&l.jsxs("div",{className:"space-y-4",children:[l.jsx(mke,{categories:f.overall}),l.jsxs("table",{className:"w-full text-sm",children:[l.jsx("thead",{children:l.jsxs("tr",{className:"text-[10px] uppercase tracking-wider text-zinc-500",children:[l.jsx("th",{className:"text-left py-1 font-medium",children:"Category"}),l.jsx("th",{className:"text-right py-1 font-medium",children:"Count"}),l.jsx("th",{className:"text-right py-1 font-medium",children:"%"}),l.jsx("th",{className:"text-left py-1 pl-4 font-medium",children:"Top Sources"})]})}),l.jsx("tbody",{children:f.overall.map(P=>l.jsxs("tr",{className:"border-t border-zinc-800/40",children:[l.jsxs("td",{className:"py-1.5 text-zinc-300 flex items-center gap-2",children:[l.jsx("span",{className:`inline-block w-2 h-2 rounded-full ${H8[P.category]??"bg-zinc-600"}`}),P.label]}),l.jsx("td",{className:"py-1.5 text-right text-zinc-200",children:P.count}),l.jsxs("td",{className:"py-1.5 text-right text-zinc-400",children:[(P.percentage*100).toFixed(1),"%"]}),l.jsx("td",{className:"py-1.5 pl-4 text-zinc-500 text-xs truncate max-w-[200px]",children:P.topDomains.slice(0,3).map(I=>I.domain).join(", ")})]},P.category))})]})]}),f&&f.overall.length===0&&l.jsx("p",{className:"text-sm text-zinc-500 py-4",children:"No source data available. Run a visibility sweep first."})]})]})}function hke({buckets:e,keywordChanges:t,metricMode:n}){const r=n===ro.mentioned,i=r?"mentionRate":"citationRate",a=r?"Mention Rate":"Citation Rate",o=e.map(d=>({date:d.startDate,mentionRate:Math.round(d.mentionRate*1e3)/10,citationRate:Math.round(d.citationRate*1e3)/10,keywordCount:d.keywordCount??0})),u=x.useMemo(()=>{if(!t||t.length===0||e.length<2)return[];const d=new Date(e[0].startDate).getTime(),f=new Date(e[e.length-1].startDate).getTime();return t.filter(p=>{const m=new Date(p.date).getTime();return m>=d&&m<=f}).map(p=>{const m=new Date(p.date).getTime();let y=e[0].startDate,v=Math.abs(m-new Date(y).getTime());for(const w of e){const S=Math.abs(m-new Date(w.startDate).getTime());S<v&&(y=w.startDate,v=S)}return{...p,date:y}})},[e,t]);return l.jsxs("div",{className:"surface-card rounded-lg p-3 border border-zinc-800/60",children:[l.jsx("p",{className:"text-[10px] text-zinc-500 mb-1 flex items-center gap-1",children:"kp = key phrases tracked in this window"}),l.jsx("div",{className:"h-40",role:"img","aria-label":`${a} trend chart`,children:l.jsx(ey,{width:"100%",height:"100%",children:l.jsxs(Py,{data:o,margin:{top:8,right:8,bottom:0,left:0},children:[l.jsx(x8,{strokeDasharray:"3 3",stroke:lke,vertical:!1}),l.jsx(ih,{dataKey:"date",tick:so,tickLine:!1,axisLine:{stroke:sh},tickFormatter:Dy}),l.jsx(ah,{tick:so,tickLine:!1,axisLine:!1,domain:[0,100],tickFormatter:d=>`${d}%`,width:40}),l.jsx(ky,{...xu,labelFormatter:Ry,formatter:(d,f)=>{const p=typeof d=="number"?d:Number(d??0);return String(f)===i?[`${p.toFixed(1)}%`,a]:[String(p),String(f)]}}),u.map(d=>l.jsx(m8,{x:d.date,stroke:"#52525b",strokeDasharray:"4 2",label:{value:d.label,position:"top",fill:"#71717a",fontSize:9}},d.date)),l.jsx(xl,{type:"monotone",dataKey:i,stroke:oo[0],fill:oo[0],fillOpacity:.15,strokeWidth:2,dot:{fill:oo[0],r:3,strokeWidth:0},activeDot:{fill:oo[0],r:5,strokeWidth:0,opacity:.8}})]})})})]})}function pke({citedRows:e,gapRows:t,uncitedRows:n,filter:r,metricMode:i}){const a=i===ro.mentioned,o=x.useMemo(()=>{const u=[...t.map(d=>({...d,_sort:0})),...e.map(d=>({...d,_sort:1})),...n.map(d=>({...d,_sort:2}))];return r?u.filter(d=>d.category===r):u.sort((d,f)=>d._sort-f._sort)},[e,t,n,r]);return o.length===0?l.jsxs("p",{className:"text-sm text-zinc-500 py-4",children:["No key phrases found",r?` with status "${r}"`:"","."]}):l.jsxs("table",{className:"w-full text-sm",children:[l.jsx("thead",{children:l.jsxs("tr",{className:"text-[10px] uppercase tracking-wider text-zinc-500",children:[l.jsx("th",{className:"text-left py-1 font-medium",children:"Keyword"}),l.jsx("th",{className:"text-left py-1 font-medium",children:"Status"}),l.jsx("th",{className:"text-left py-1 font-medium",children:a?"Providers Mentioning":"Providers Citing"}),l.jsx("th",{className:"text-left py-1 font-medium",children:"Competitors Citing"}),l.jsx("th",{className:"text-right py-1 font-medium",children:"Consistency"})]})}),l.jsx("tbody",{children:o.map(u=>{const d=u.category==="cited"?"positive":u.category==="gap"?"caution":"neutral",f=u.category==="gap"?"Gap":u.category==="cited"?a?"Mentioned":"Cited":a?"Not Mentioned":"Not Cited",p=a?u.consistency.mentionedRuns:u.consistency.citedRuns;return l.jsxs("tr",{className:`border-t border-zinc-800/40 ${u.category==="gap"?"border-l-2 border-l-amber-600/60":""}`,children:[l.jsx("td",{className:"py-1.5 text-zinc-200",children:u.keyword}),l.jsx("td",{className:"py-1.5",children:l.jsx(wt,{tone:d,children:f})}),l.jsx("td",{className:"py-1.5 text-zinc-400 text-xs",children:u.providers.length>0?u.providers.join(", "):"—"}),l.jsx("td",{className:"py-1.5 text-zinc-400 text-xs",children:u.competitorsCiting.length>0?u.competitorsCiting.join(", "):"—"}),l.jsx("td",{className:"py-1.5 text-right text-zinc-400 text-xs",children:u.consistency.totalRuns>0?`${p}/${u.consistency.totalRuns} runs`:"—"})]},u.keywordId)})})]})}function mke({categories:e}){const t=e.reduce((n,r)=>n+r.count,0);return t===0?null:l.jsx("div",{className:"flex rounded-full overflow-hidden h-3 bg-zinc-800","aria-label":"Source category distribution",children:e.map(n=>{const r=n.count/t*100;return r<.5?null:l.jsx("div",{className:`${H8[n.category]??"bg-zinc-600"} transition-all`,style:{width:`${r}%`},title:`${n.label}: ${(n.percentage*100).toFixed(1)}%`},n.category)})})}const gke=["7d","30d","90d","all"],Zs=oo;function Hm(e){return e>=1e6?`${(e/1e6).toFixed(1)}M`:e>=1e3?`${(e/1e3).toFixed(1)}K`:e.toLocaleString()}function yke(e){const t=Date.now()-new Date(e).getTime(),n=Math.floor(t/6e4);if(n<1)return"just now";if(n<60)return`${n}m ago`;const r=Math.floor(n/60);return r<24?`${r}h ago`:`${Math.floor(r/24)}d ago`}function vke({projectName:e}){const[t,n]=x.useState(null),[r,i]=x.useState(null),[a,o]=x.useState(!0),[u,d]=x.useState(!1),[f,p]=x.useState(!1),[m,y]=x.useState(null),[v,w]=x.useState(null),[S,j]=x.useState("sessions"),[k,O]=x.useState("desc"),[_,C]=x.useState("sessions"),[T,E]=x.useState("desc"),[A,P]=x.useState("sessions"),[I,q]=x.useState("desc"),[$,U]=x.useState("sessions"),[G,te]=x.useState("desc"),[Z,K]=x.useState([]),[X,pe]=x.useState([]),[Ne,R]=x.useState([]),[B,F]=x.useState("30d");function M(je){o(!0),y2(e).then(ke=>{if(!je.current)return n(ke),ke.connected?Promise.all([v2(e,void 0,B),x2(e,B).catch(()=>[]),w2(e,B).catch(()=>[]),b2(e,B).catch(()=>[])]):null}).then(ke=>{je.current||(Array.isArray(ke)?(i(ke[0]),K(ke[1]),pe(ke[2]),R(ke[3])):(i(null),K([]),pe([]),R([])),o(!1))}).catch(ke=>{je.current||(y(ke instanceof Error?ke.message:"Failed to load GA4 data"),o(!1))})}x.useEffect(()=>{const je={current:!1};return M(je),()=>{je.current=!0}},[e,B]);async function W(){d(!0),y(null),w(null);try{const je=await JI(e);w(`Synced ${je.rowCount.toLocaleString()} page rows, ${je.aiReferralCount.toLocaleString()} AI and ${je.socialReferralCount.toLocaleString()} social referral rows (${je.days} days)`);const[ke,Ue,Pe,Te]=await Promise.all([v2(e,void 0,B),x2(e,B).catch(()=>[]),w2(e,B).catch(()=>[]),b2(e,B).catch(()=>[])]);i(ke),K(Ue),pe(Pe),R(Te);const tr=await y2(e);n(tr)}catch(je){y(je instanceof Error?je.message:"Sync failed")}finally{d(!1)}}async function ae(){p(!0),y(null),w(null);try{await G7(e),n({connected:!1,propertyId:null,clientEmail:null,lastSyncedAt:null,createdAt:null,updatedAt:null}),i(null),w("GA4 disconnected")}catch(je){y(je instanceof Error?je.message:"Disconnect failed")}finally{p(!1)}}function ne(je){S===je?O(ke=>ke==="desc"?"asc":"desc"):(j(je),O("desc"))}function de(je){_===je?E(ke=>ke==="desc"?"asc":"desc"):(C(je),E("desc"))}function Ce(je){A===je?q(ke=>ke==="desc"?"asc":"desc"):(P(je),q("desc"))}function ee(je){$===je?te(ke=>ke==="desc"?"asc":"desc"):(U(je),te("desc"))}const fe=x.useMemo(()=>r?.topPages?[...r.topPages].sort((je,ke)=>{const Ue=je[S],Pe=ke[S];return typeof Ue=="string"&&typeof Pe=="string"?k==="asc"?Ue.localeCompare(Pe):Pe.localeCompare(Ue):k==="asc"?Ue-Pe:Pe-Ue}):[],[r?.topPages,S,k]),ze=x.useMemo(()=>r?.aiReferrals?[...r.aiReferrals].sort((je,ke)=>{const Ue=je[_],Pe=ke[_];return typeof Ue=="string"&&typeof Pe=="string"?T==="asc"?Ue.localeCompare(Pe):Pe.localeCompare(Ue):T==="asc"?Ue-Pe:Pe-Ue}):[],[r?.aiReferrals,_,T]),Q=x.useMemo(()=>r?.aiReferralLandingPages?[...r.aiReferralLandingPages].sort((je,ke)=>{const Ue=je[$],Pe=ke[$];return typeof Ue=="string"&&typeof Pe=="string"?G==="asc"?Ue.localeCompare(Pe):Pe.localeCompare(Ue):G==="asc"?Ue-Pe:Pe-Ue}):[],[r?.aiReferralLandingPages,$,G]),He=x.useMemo(()=>r?.socialReferrals?[...r.socialReferrals].sort((je,ke)=>{const Ue=je[A],Pe=ke[A];return typeof Ue=="string"&&typeof Pe=="string"?I==="asc"?Ue.localeCompare(Pe):Pe.localeCompare(Ue):I==="asc"?Ue-Pe:Pe-Ue}):[],[r?.socialReferrals,A,I]),{socialChartData:Me,socialChartSources:it}=x.useMemo(()=>{const je=[...new Set(Ne.map(Pe=>Pe.source))],ke=new Map;for(const Pe of Ne){let Te=ke.get(Pe.date);Te||(Te={_socialTotal:0},ke.set(Pe.date,Te)),Te[Pe.source]=(Te[Pe.source]??0)+Pe.sessions,Te._socialTotal=(Te._socialTotal??0)+Pe.sessions}return{socialChartData:[...ke.entries()].sort(([Pe],[Te])=>Pe.localeCompare(Te)).map(([Pe,Te])=>({date:Pe,...Te})),socialChartSources:je}},[Ne]),{chartData:tt,chartSources:Pt,dateRange:Ft}=x.useMemo(()=>{const je=[...new Set(Z.map(xe=>xe.source))],ke=new Map;for(const xe of X)ke.set(xe.date,{_totalSessions:xe.sessions,_organicSessions:xe.organicSessions});const Ue=new Map;for(const xe of Z){const en=`${xe.date}::${xe.source}`,Br=Ue.get(en)??0;Ue.set(en,Math.max(Br,xe.sessions))}for(const[xe,en]of Ue){const[Br,na]=xe.split("::");let dr=ke.get(Br);dr||(dr={_totalSessions:0,_organicSessions:0},ke.set(Br,dr)),dr[na]=(dr[na]??0)+en}const Pe=[...ke.entries()].sort(([xe],[en])=>xe.localeCompare(en)).map(([xe,en])=>({date:xe,...en})),Te=Pe.map(xe=>xe.date),tr=Te.length>0?{start:Te[0],end:Te[Te.length-1]}:null;return{chartData:Pe,chartSources:je,dateRange:tr}},[Z,X]);if(a&&!t)return l.jsx("p",{className:"text-sm text-zinc-500 py-8 text-center",children:"Loading traffic data…"});if(!t?.connected)return l.jsx(xke,{projectName:e,onConnected:()=>M({current:!1})});const vn=r?.organicSharePctDisplay??"0%",we=r?.totalOrganicSessions??0,We=r?.aiSessionsDeduped??0,At=r?.aiSessionsBySession??0,on=r?.aiSharePctBySessionDisplay??"0%",dt=r?new Set(r.aiReferrals.map(je=>je.source.toLowerCase())).size:0,ft=ze[0]??null,le=r?.totalDirectSessions??0,Se=r?.directSharePctDisplay??"0%",Re=r?.socialSessions??0,Ye=r?.socialSharePctDisplay??"0%",ct=r?new Set(r.socialReferrals.map(je=>je.source.toLowerCase())).size:0,Yt=He[0]??null;return l.jsxs(l.Fragment,{children:[m&&l.jsx("div",{className:"mb-4 px-4 py-2 rounded-lg bg-rose-900/20 border border-rose-800/60 text-sm text-rose-300",children:m}),v&&l.jsx("div",{className:"mb-4 px-4 py-2 rounded-lg bg-emerald-900/20 border border-emerald-800/60 text-sm text-emerald-300",children:v}),l.jsxs("div",{className:"flex items-center justify-between mb-6",children:[l.jsxs("div",{className:"flex items-center gap-3",children:[l.jsx("span",{className:"inline-block w-2 h-2 rounded-full bg-emerald-500"}),l.jsxs("span",{className:"text-xs text-zinc-400",children:["Property ",l.jsx("span",{className:"text-zinc-300",children:t.propertyId}),t.clientEmail&&l.jsxs(l.Fragment,{children:[" · ",l.jsx("span",{className:"text-zinc-500",children:t.clientEmail})]})]})]}),l.jsxs("div",{className:"flex items-center gap-2",children:[l.jsxs(ve,{variant:"outline",size:"sm",disabled:u,onClick:W,children:[l.jsx(C2,{className:`w-3.5 h-3.5 mr-1.5 ${u?"animate-spin":""}`}),u?"Syncing…":"Sync"]}),l.jsxs(ve,{variant:"ghost",size:"sm",className:"text-rose-400 hover:text-rose-300",disabled:f,onClick:ae,children:[l.jsx(fV,{className:"w-3.5 h-3.5 mr-1.5"}),"Disconnect"]})]})]}),l.jsxs("section",{children:[l.jsxs("div",{className:"mb-4 flex items-start justify-between",children:[l.jsxs("div",{children:[l.jsx("p",{className:"text-[10px] font-semibold uppercase tracking-wider text-zinc-500 mb-1",children:"Traffic Overview"}),l.jsxs("h2",{className:"text-base font-semibold text-zinc-50 flex items-center gap-1.5",children:["Site Traffic",l.jsx(On,{text:`Aggregated traffic metrics from Google Analytics 4. Sessions and users are summed across the selected period.${r?.periodStart&&r?.periodEnd?` Data available: ${new Date(r.periodStart+"T00:00:00").toLocaleDateString(void 0,{month:"short",day:"numeric",year:"numeric"})} – ${new Date(r.periodEnd+"T00:00:00").toLocaleDateString(void 0,{month:"short",day:"numeric",year:"numeric"})}.`:""} Organic sessions are Google organic search sessions specifically.`})]})]}),l.jsx("div",{className:"flex gap-1",children:gke.map(je=>l.jsx("button",{type:"button",className:`px-3 py-1 text-xs rounded-full border transition-colors ${B===je?"bg-zinc-700 border-zinc-600 text-zinc-50":"border-zinc-800 text-zinc-400 hover:border-zinc-700 hover:text-zinc-300"}`,onClick:()=>F(je),children:je==="all"?"All":je},je))})]}),r?l.jsxs("div",{className:"grid gap-4 md:grid-cols-3",children:[l.jsx(RS,{value:Hm(r.totalSessions),label:"Total Sessions",subtitle:r.totalSessions.toLocaleString(),tone:"neutral"}),l.jsx(RS,{value:Hm(r.totalOrganicSessions),label:"Organic Sessions",subtitle:`${vn} of total`,tone:"positive"}),l.jsx(RS,{value:Hm(r.totalUsers),label:"Total Users",subtitle:r.totalUsers.toLocaleString(),tone:"neutral"})]}):l.jsxs("div",{className:"surface-card rounded-lg p-6 text-center border border-zinc-800/60",children:[l.jsx("p",{className:"text-sm text-zinc-400 mb-3",children:"No traffic data yet."}),l.jsxs(ve,{variant:"outline",size:"sm",disabled:u,onClick:W,children:[l.jsx(C2,{className:`w-3.5 h-3.5 mr-1.5 ${u?"animate-spin":""}`}),"Sync from GA4"]})]})]}),r&&l.jsxs(l.Fragment,{children:[l.jsx("div",{className:"page-section-divider"}),l.jsxs("section",{children:[l.jsxs("div",{className:"mb-4 flex items-end justify-between",children:[l.jsxs("div",{children:[l.jsx("p",{className:"text-[10px] font-semibold uppercase tracking-wider text-zinc-500 mb-1",children:"Traffic Attribution"}),l.jsxs("h2",{className:"text-base font-semibold text-zinc-50 flex items-center gap-1.5",children:["Traffic by channel",l.jsx(On,{text:"Decomposes GA4 sessions into four disjoint channels — organic search, social, direct, and known AI referrers. The AI cell is rendered separately so AI-driven traffic never inflates the Direct count. Detected via sessionDefaultChannelGrouping plus AI-source matching on sessionSource/firstUserSource/sessionManualSource (generic search sources excluded)."})]})]}),Ft&&l.jsxs("p",{className:"text-xs text-zinc-500",children:[new Date(Ft.start+"T00:00:00").toLocaleDateString(void 0,{month:"short",day:"numeric"})," – ",new Date(Ft.end+"T00:00:00").toLocaleDateString(void 0,{month:"short",day:"numeric",year:"numeric"})]})]}),tt.length>0&&l.jsxs(Fe,{className:"surface-card p-5 mb-4",children:[l.jsxs("div",{className:"mb-4 flex items-end justify-between",children:[l.jsxs("div",{children:[l.jsx("p",{className:"eyebrow eyebrow-soft",children:"Trend"}),l.jsx("h3",{className:"text-sm font-semibold text-zinc-100",children:Pt.length>0?"AI vs. total sessions":"All sessions (baseline)"}),Pt.length===0&&l.jsx("p",{className:"text-xs text-zinc-500 mt-0.5",children:"AI referral sessions will be overlaid here once detected"})]}),Pt.length===0&&l.jsx("p",{className:"text-xs text-zinc-500",children:"No AI referrals detected yet"})]}),l.jsx("div",{className:"h-64",children:l.jsx(ey,{width:"100%",height:"100%",children:l.jsxs(Py,{data:tt,margin:{top:4,right:4,bottom:0,left:0},children:[l.jsx(ih,{dataKey:"date",tick:so,tickLine:!1,axisLine:{stroke:sh},tickFormatter:Dy}),l.jsx(ah,{tick:so,tickLine:!1,axisLine:!1,allowDecimals:!1,width:36}),l.jsx(ky,{...xu,labelFormatter:Ry,formatter:(je,ke)=>{const Ue=typeof je=="number"?je.toLocaleString():String(je??0),Pe=String(ke??"");return Pe==="_totalSessions"?[Ue,"Total Sessions"]:Pe==="_organicSessions"?[Ue,"Organic Sessions"]:[Ue,Pe]}}),l.jsx(ij,{wrapperStyle:{fontSize:11,color:"#a1a1aa"},formatter:je=>je==="_totalSessions"?"Total Sessions":je==="_organicSessions"?"Organic Sessions":je}),l.jsx(xl,{type:"monotone",dataKey:"_totalSessions",stroke:"#52525b",fill:"#27272a",fillOpacity:.4,strokeWidth:1.5,dot:!1}),Pt.map((je,ke)=>l.jsx(xl,{type:"monotone",dataKey:je,stackId:"ai",stroke:Zs[ke%Zs.length],fill:Zs[ke%Zs.length],fillOpacity:.4,strokeWidth:1.5},je))]})})})]}),l.jsxs(Fe,{className:"surface-card p-5 mb-4",children:[l.jsxs("div",{className:"mb-4",children:[l.jsx("p",{className:"eyebrow eyebrow-soft",children:"Summary"}),l.jsx("h3",{className:"text-sm font-semibold text-zinc-100",children:"Channel breakdown"})]}),l.jsxs("div",{className:"grid gap-3 sm:grid-cols-2 lg:grid-cols-4",children:[l.jsx(ua,{label:"Organic",value:vn,hint:`${we.toLocaleString()} sessions`,tone:"positive",tooltip:"Sessions from Google organic search (sessionDefaultChannelGrouping = 'Organic Search')."}),l.jsx(ua,{label:"Social",value:Ye,hint:`${Re.toLocaleString()} sessions`,tone:"neutral",tooltip:"Sessions from social platforms (sessionDefaultChannelGrouping = 'Organic Social' or 'Paid Social')."}),l.jsx(ua,{label:"Direct",value:Se,hint:`${le.toLocaleString()} sessions`,tone:"neutral",tooltip:"Sessions with no source — bookmarks, typed URLs, untagged email, in-app browsers, and AI-driven traffic whose referrer header was stripped."}),l.jsx(ua,{label:"Known AI referrers (lower bound)",value:on,hint:`${At.toLocaleString()} sessions`,tone:"positive",tooltip:"Sessions whose current sessionSource matched a known AI engine (e.g. chatgpt.com, claude.ai, gemini.google.com). Disjoint from Direct/Organic/Social. This is a strict lower bound: most AI traffic strips the referrer and falls into Direct, so the true AI share is typically higher than what's shown here. The detail table below also surfaces firstUserSource and UTM-tagged AI signals."})]}),ft&&l.jsxs("div",{className:"mt-4 rounded-lg border border-emerald-800/40 bg-emerald-500/6 px-4 py-3 text-sm text-emerald-100",children:["Top AI referrer: ",l.jsx("span",{className:"font-medium",children:ft.source})," via ",ft.medium,", accounting for ",ft.sessions.toLocaleString()," sessions."]})]}),l.jsxs(Fe,{className:"surface-card p-5 mb-4",children:[l.jsxs("div",{className:"mb-4 flex items-end justify-between gap-3",children:[l.jsxs("div",{children:[l.jsx("p",{className:"eyebrow eyebrow-soft",children:"Detail"}),l.jsx("h3",{className:"text-sm font-semibold text-zinc-100",children:"Known AI referrers — sources detected"})]}),l.jsx("p",{className:"text-xs text-zinc-500",children:r.aiReferrals.length>0?`${dt} unique sources, ${r.aiReferrals.length} rows`:"No source rows"})]}),r.aiReferrals.length>0?l.jsx("div",{className:"overflow-x-auto",children:l.jsxs("table",{className:"w-full text-sm",children:[l.jsx("thead",{children:l.jsxs("tr",{className:"text-[10px] uppercase tracking-wider text-zinc-500",children:[l.jsx(rr,{label:"Source",sortKey:"source",current:_,dir:T,onSort:de,align:"left"}),l.jsx(rr,{label:"Medium",sortKey:"medium",current:_,dir:T,onSort:de,align:"left"}),l.jsx("th",{className:"py-1 font-medium text-left",children:"Attribution"}),l.jsx(rr,{label:"Sessions",sortKey:"sessions",current:_,dir:T,onSort:de,align:"right"}),l.jsx("th",{className:"py-1 font-medium text-right",children:"Share"}),l.jsx(rr,{label:"Users",sortKey:"users",current:_,dir:T,onSort:de,align:"right"})]})}),l.jsx("tbody",{children:ze.map(je=>l.jsx(wke,{referral:je,totalSessions:We},`${je.source}:${je.medium}:${je.sourceDimension}`))})]})}):l.jsxs("div",{className:"flex flex-col items-center justify-center py-8 text-center",children:[l.jsx("p",{className:"text-sm text-zinc-400 mb-2",children:"No AI referrer sessions detected yet"}),l.jsx("p",{className:"text-xs text-zinc-500 max-w-sm",children:"AI engines that preserve a referrer (Perplexity, copy/paste from ChatGPT, etc.) will appear here. Most AI traffic strips the referrer — see the Direct cell above for the upper bound."})]})]}),l.jsxs(Fe,{className:"surface-card p-5",children:[l.jsxs("div",{className:"mb-4 flex items-end justify-between gap-3",children:[l.jsxs("div",{children:[l.jsx("p",{className:"eyebrow eyebrow-soft",children:"Detail"}),l.jsx("h3",{className:"text-sm font-semibold text-zinc-100",children:"Known AI referrers — landing pages"})]}),l.jsx("p",{className:"text-xs text-zinc-500",children:Q.length>0?`${Q.length} rows`:"No landing-page rows"})]}),Q.length>0?l.jsx("div",{className:"overflow-x-auto",children:l.jsxs("table",{className:"w-full text-sm",children:[l.jsx("thead",{children:l.jsxs("tr",{className:"text-[10px] uppercase tracking-wider text-zinc-500",children:[l.jsx(rr,{label:"Landing Page",sortKey:"landingPage",current:$,dir:G,onSort:ee,align:"left"}),l.jsx(rr,{label:"Source",sortKey:"source",current:$,dir:G,onSort:ee,align:"left"}),l.jsx("th",{className:"py-1 font-medium text-left",children:"Attribution"}),l.jsx(rr,{label:"Sessions",sortKey:"sessions",current:$,dir:G,onSort:ee,align:"right"}),l.jsx(rr,{label:"Users",sortKey:"users",current:$,dir:G,onSort:ee,align:"right"})]})}),l.jsx("tbody",{children:Q.map(je=>l.jsx(Ske,{row:je},`${je.landingPage}:${je.source}:${je.medium}:${je.sourceDimension}`))})]})}):l.jsxs("div",{className:"flex flex-col items-center justify-center py-8 text-center",children:[l.jsx("p",{className:"text-sm text-zinc-400 mb-2",children:"No AI landing pages detected yet"}),l.jsx("p",{className:"text-xs text-zinc-500 max-w-sm",children:"Known-AI landing pages appear after a GA4 sync records visits from AI referrers."})]})]})]})]}),r&&l.jsxs(l.Fragment,{children:[l.jsx("div",{className:"page-section-divider"}),l.jsxs("section",{children:[l.jsxs("div",{className:"mb-4",children:[l.jsx("p",{className:"text-[10px] font-semibold uppercase tracking-wider text-zinc-500 mb-1",children:"Social Attribution"}),l.jsxs("h2",{className:"text-base font-semibold text-zinc-50 flex items-center gap-1.5",children:["Social Media Traffic",l.jsx(On,{text:"Tracks sessions classified as social traffic by GA4's default channel grouping (Organic Social and Paid Social). Google maintains the source-to-channel mapping."})]})]}),Me.length>0&&l.jsxs(Fe,{className:"surface-card p-5 mb-4",children:[l.jsx("div",{className:"mb-4 flex items-end justify-between",children:l.jsxs("div",{children:[l.jsx("p",{className:"eyebrow eyebrow-soft",children:"Trend"}),l.jsx("h3",{className:"text-sm font-semibold text-zinc-100",children:"Social sessions over time"})]})}),l.jsx("div",{className:"h-64",children:l.jsx(ey,{width:"100%",height:"100%",children:l.jsxs(Py,{data:Me,margin:{top:4,right:4,bottom:0,left:0},children:[l.jsx(ih,{dataKey:"date",tick:so,tickLine:!1,axisLine:{stroke:sh},tickFormatter:Dy}),l.jsx(ah,{tick:so,tickLine:!1,axisLine:!1,allowDecimals:!1,width:36}),l.jsx(ky,{...xu,labelFormatter:Ry,formatter:(je,ke)=>{const Ue=typeof je=="number"?je.toLocaleString():String(je??0),Pe=String(ke??"");return Pe==="_socialTotal"?[Ue,"Total Social"]:[Ue,Pe]}}),l.jsx(ij,{wrapperStyle:{fontSize:11,color:"#a1a1aa"},formatter:je=>je==="_socialTotal"?"Total Social":je}),l.jsx(xl,{type:"monotone",dataKey:"_socialTotal",stroke:"#52525b",fill:"#27272a",fillOpacity:.4,strokeWidth:1.5,dot:!1}),it.map((je,ke)=>l.jsx(xl,{type:"monotone",dataKey:je,stackId:"social",stroke:Zs[ke%Zs.length],fill:Zs[ke%Zs.length],fillOpacity:.4,strokeWidth:1.5},je))]})})})]}),l.jsxs("div",{className:"grid gap-4 xl:grid-cols-[minmax(0,0.9fr)_minmax(0,1.5fr)]",children:[l.jsxs(Fe,{className:"surface-card p-5",children:[l.jsxs("div",{className:"mb-4",children:[l.jsx("p",{className:"eyebrow eyebrow-soft",children:"Summary"}),l.jsx("h3",{className:"text-sm font-semibold text-zinc-100",children:"Social media visits"})]}),r.socialReferrals.length>0?l.jsxs(l.Fragment,{children:[l.jsxs("div",{className:"grid gap-3 sm:grid-cols-3",children:[l.jsx(ua,{label:"Social Sessions",value:Hm(Re),hint:`${Re.toLocaleString()} sessions`,tone:"positive",tooltip:"Total sessions classified as Organic Social or Paid Social by GA4's default channel grouping."}),l.jsx(ua,{label:"Share of Traffic",value:Ye,hint:"of total sessions",tone:"neutral",tooltip:"Percentage of your total site sessions that originated from social media platforms."}),l.jsx(ua,{label:"Platforms",value:String(ct),hint:`${r.socialReferrals.length} source rows`,tone:"neutral",tooltip:"Number of distinct social media platforms detected. Each unique source/medium combination counts as one source row."})]}),Yt&&l.jsxs("div",{className:"mt-4 rounded-lg border border-sky-800/40 bg-sky-500/6 px-4 py-3 text-sm text-sky-100",children:["Top social source: ",l.jsx("span",{className:"font-medium",children:Yt.source})," via ",Yt.medium,", accounting for ",Yt.sessions.toLocaleString()," sessions."]})]}):l.jsxs("div",{className:"space-y-3",children:[l.jsxs("div",{className:"grid gap-3 sm:grid-cols-3",children:[l.jsx(ua,{label:"Social Sessions",value:"0",hint:"0 sessions",tone:"neutral",tooltip:"Total sessions attributed to social media platforms."}),l.jsx(ua,{label:"Share of Traffic",value:"0%",hint:"of total sessions",tone:"neutral",tooltip:"Percentage of your total site sessions from social media."}),l.jsx(ua,{label:"Platforms",value:"0",hint:"known platforms",tone:"neutral",tooltip:"Number of distinct social media platforms detected."})]}),l.jsxs("div",{className:"rounded-lg border border-zinc-800/60 bg-zinc-900/30 px-4 py-3 text-sm text-zinc-400",children:[l.jsx("p",{className:"mb-1.5 text-zinc-300",children:"Monitoring social media traffic via GA4 channel grouping"}),l.jsx("p",{className:"text-xs text-zinc-500",children:"Sessions classified as Organic Social or Paid Social by GA4 will appear here. Google maintains the source-to-channel mapping, which includes Facebook, Instagram, X/Twitter, LinkedIn, Reddit, Pinterest, Snapchat, and other platforms."})]})]})]}),l.jsxs(Fe,{className:"surface-card p-5",children:[l.jsxs("div",{className:"mb-4 flex items-end justify-between gap-3",children:[l.jsxs("div",{children:[l.jsx("p",{className:"eyebrow eyebrow-soft",children:"Breakdown"}),l.jsx("h3",{className:"text-sm font-semibold text-zinc-100",children:"Source / medium"})]}),l.jsx("p",{className:"text-xs text-zinc-500",children:r.socialReferrals.length>0?`${r.socialReferrals.length} rows`:"No source rows"})]}),r.socialReferrals.length>0?l.jsx("div",{className:"overflow-x-auto",children:l.jsxs("table",{className:"w-full text-sm",children:[l.jsx("thead",{children:l.jsxs("tr",{className:"text-[10px] uppercase tracking-wider text-zinc-500",children:[l.jsx(rr,{label:"Source",sortKey:"source",current:A,dir:I,onSort:Ce,align:"left"}),l.jsx(rr,{label:"Medium",sortKey:"medium",current:A,dir:I,onSort:Ce,align:"left"}),l.jsx("th",{className:"py-1 font-medium text-left",children:"Channel"}),l.jsx(rr,{label:"Sessions",sortKey:"sessions",current:A,dir:I,onSort:Ce,align:"right"}),l.jsx("th",{className:"py-1 font-medium text-right",children:"Share"}),l.jsx(rr,{label:"Users",sortKey:"users",current:A,dir:I,onSort:Ce,align:"right"})]})}),l.jsx("tbody",{children:He.map(je=>l.jsx(jke,{referral:je,totalSessions:Re},`${je.source}:${je.medium}:${je.channelGroup}`))})]})}):l.jsxs("div",{className:"flex flex-col items-center justify-center py-8 text-center",children:[l.jsx("p",{className:"text-sm text-zinc-400 mb-2",children:"No social media sessions detected yet"}),l.jsx("p",{className:"text-xs text-zinc-500 max-w-sm",children:"When visitors arrive from Facebook, X/Twitter, LinkedIn, or other social platforms, their sessions will be broken down here by source and medium."})]})]})]})]})]}),r&&r.topPages.length>0&&l.jsxs(l.Fragment,{children:[l.jsx("div",{className:"page-section-divider"}),l.jsxs("section",{children:[l.jsxs("div",{className:"mb-4",children:[l.jsx("p",{className:"text-[10px] font-semibold uppercase tracking-wider text-zinc-500 mb-1",children:"Page Performance"}),l.jsxs("h2",{className:"text-base font-semibold text-zinc-50 flex items-center gap-1.5",children:["Top Landing Pages",l.jsx(On,{text:"Landing pages ranked by session volume. Click column headers to sort. Organic % shows the share of sessions coming from Google organic search."})]})]}),l.jsx("div",{className:"overflow-x-auto",children:l.jsxs("table",{className:"w-full text-sm",children:[l.jsx("thead",{children:l.jsxs("tr",{className:"text-[10px] uppercase tracking-wider text-zinc-500",children:[l.jsx(rr,{label:"Landing Page",sortKey:"landingPage",current:S,dir:k,onSort:ne,align:"left"}),l.jsx(rr,{label:"Sessions",sortKey:"sessions",current:S,dir:k,onSort:ne,align:"right"}),l.jsx(rr,{label:"Organic",sortKey:"organicSessions",current:S,dir:k,onSort:ne,align:"right"}),l.jsx("th",{className:"text-right py-1 font-medium",children:"Organic %"}),l.jsx(rr,{label:"Users",sortKey:"users",current:S,dir:k,onSort:ne,align:"right"})]})}),l.jsx("tbody",{children:fe.map(je=>l.jsx(bke,{page:je},je.landingPage))})]})})]})]}),l.jsxs("div",{className:"mt-6 flex items-center justify-between text-xs text-zinc-500",children:[l.jsx("span",{children:r?.lastSyncedAt?`Last synced ${yke(r.lastSyncedAt)}`:"Never synced"}),l.jsx("span",{children:r?`${r.topPages.length} pages · ${r.aiReferrals.length} AI rows · ${r.socialReferrals.length} social rows`:""})]})]})}function xke({projectName:e,onConnected:t}){const[n,r]=x.useState(""),[i,a]=x.useState(null),[o,u]=x.useState(null),[d,f]=x.useState(!1),[p,m]=x.useState(null),y=x.useRef(null),v=x.useCallback(S=>{const j=S.target.files?.[0];if(!j)return;m(null),a(j.name);const k=new FileReader;k.onload=()=>{const O=k.result;try{const _=JSON.parse(O);if(!_.client_email||!_.private_key){m("JSON file is missing required fields: client_email and private_key. Make sure you downloaded a service account key (not an OAuth client)."),u(null);return}u(O)}catch{m("File is not valid JSON. Please upload a service account key file (.json) downloaded from Google Cloud Console."),u(null)}},k.onerror=()=>{m("Failed to read file."),u(null)},k.readAsText(j)},[]);async function w(){if(m(null),!n.trim()){m("Property ID is required.");return}if(!o){m("Please upload a service account key file.");return}f(!0);try{await H7(e,{propertyId:n.trim(),keyJson:o});try{await JI(e)}catch{}t()}catch(S){m(S instanceof Error?S.message:"Failed to connect GA4")}finally{f(!1)}}return l.jsxs(Fe,{className:"surface-card p-6",children:[l.jsx("h3",{className:"text-base font-semibold text-zinc-50 mb-1",children:"Connect Google Analytics 4"}),l.jsx("p",{className:"text-sm text-zinc-400 mb-5",children:"Connect a GA4 property to see traffic data for this project. You'll need a service account key file from Google Cloud Console."}),p&&l.jsx("div",{className:"mb-4 px-4 py-2 rounded-lg bg-rose-900/20 border border-rose-800/60 text-sm text-rose-300",children:p}),l.jsxs("div",{className:"mb-4",children:[l.jsx("label",{htmlFor:"ga4-property-id",className:"block text-xs font-medium text-zinc-400 mb-1.5",children:"GA4 Property ID"}),l.jsx("input",{id:"ga4-property-id",type:"text",placeholder:"e.g. 123456789",value:n,onChange:S=>r(S.target.value),className:"w-full rounded-lg bg-zinc-900/60 border border-zinc-800/60 px-3 py-2 text-sm text-zinc-200 placeholder:text-zinc-600 focus:outline-none focus:ring-1 focus:ring-zinc-600"}),l.jsx("p",{className:"mt-1 text-[11px] text-zinc-500",children:"Find this in GA4 → Admin → Property Settings. It's a numeric ID, not the Measurement ID (G-XXXXXX)."})]}),l.jsxs("div",{className:"mb-5",children:[l.jsx("label",{className:"block text-xs font-medium text-zinc-400 mb-1.5",children:"Service Account Key File"}),l.jsx("input",{ref:y,type:"file",accept:".json,application/json",onChange:v,className:"hidden"}),l.jsxs("button",{type:"button",onClick:()=>y.current?.click(),className:"flex items-center gap-2 w-full rounded-lg bg-zinc-900/60 border border-zinc-800/60 border-dashed px-4 py-3 text-sm text-zinc-400 hover:border-zinc-600 hover:text-zinc-300 transition-colors cursor-pointer",children:[l.jsx(pV,{className:"w-4 h-4 shrink-0"}),i?l.jsx("span",{className:"text-zinc-200 truncate",children:i}):l.jsx("span",{children:"Upload .json key file"})]}),l.jsxs("p",{className:"mt-1 text-[11px] text-zinc-500",children:["Download from Google Cloud Console → IAM & Admin → Service Accounts → Keys → Add Key → JSON. The service account must have ",l.jsx("span",{className:"text-zinc-400",children:"Viewer"})," access on the GA4 property."]})]}),l.jsx(ve,{variant:"default",size:"sm",disabled:d||!n.trim()||!o,onClick:w,children:d?"Connecting & syncing…":"Connect GA4"})]})}function rr({label:e,sortKey:t,current:n,dir:r,onSort:i,align:a}){const o=n===t;return l.jsxs("th",{className:`py-1 font-medium cursor-pointer select-none hover:text-zinc-300 transition-colors ${a==="right"?"text-right":"text-left"}`,onClick:()=>i(t),children:[e,o&&l.jsx("span",{className:"ml-0.5",children:r==="asc"?"↑":"↓"})]})}const G8={positive:"text-emerald-400",caution:"text-amber-400",negative:"text-rose-400",neutral:"text-zinc-50"};function RS({value:e,label:t,subtitle:n,tone:r}){return l.jsxs("div",{className:"rounded-lg bg-zinc-900/30 border border-zinc-800/60 px-5 py-4",children:[l.jsx("p",{className:"text-[10px] font-semibold uppercase tracking-wider text-zinc-500 mb-1",children:t}),l.jsx("p",{className:`text-2xl font-bold tabular-nums ${G8[r]}`,children:e}),l.jsx("p",{className:"text-xs text-zinc-500 mt-1",children:n})]})}function ua({value:e,label:t,hint:n,tone:r,tooltip:i}){return l.jsxs("div",{className:"rounded-lg border border-zinc-800/60 bg-zinc-950/40 px-4 py-3 flex flex-col",children:[l.jsxs("p",{className:"text-[10px] font-semibold uppercase tracking-wider text-zinc-500 mb-1 flex items-center gap-1",children:[t,i&&l.jsx(On,{text:i})]}),l.jsx("p",{className:`text-xl font-semibold tabular-nums ${G8[r]}`,children:e}),l.jsx("p",{className:"text-xs text-zinc-500 mt-1",children:n})]})}function bke({page:e}){const t=e.sessions>0?(e.organicSessions/e.sessions*100).toFixed(1):"0.0";return l.jsxs("tr",{className:"border-t border-zinc-800/40",children:[l.jsx("td",{className:"py-1.5 text-zinc-300 max-w-[400px] truncate",title:e.landingPage,children:e.landingPage}),l.jsx("td",{className:"py-1.5 text-right text-zinc-200 tabular-nums",children:e.sessions.toLocaleString()}),l.jsx("td",{className:"py-1.5 text-right text-emerald-400 tabular-nums",children:e.organicSessions.toLocaleString()}),l.jsxs("td",{className:"py-1.5 text-right text-zinc-400 tabular-nums",children:[t,"%"]}),l.jsx("td",{className:"py-1.5 text-right text-zinc-200 tabular-nums",children:e.users.toLocaleString()})]})}const V8={session:"Session",first_user:"First Visit",manual_utm:"UTM"},Z8={session:"Detected via GA4 sessionSource (referrer or utm_source for this session)",first_user:"Detected via GA4 firstUserSource (referrer from the user's first-ever visit)",manual_utm:"Detected via GA4 sessionManualSource (explicit utm_source parameter for the session)"};function wke({referral:e,totalSessions:t}){const n=t>0?(e.sessions/t*100).toFixed(1):"0.0",r=V8[e.sourceDimension]??e.sourceDimension,i=Z8[e.sourceDimension]??"";return l.jsxs("tr",{className:"border-t border-zinc-800/40",children:[l.jsx("td",{className:"py-1.5 text-zinc-200 max-w-[220px] truncate",title:e.source,children:e.source}),l.jsx("td",{className:"py-1.5 text-zinc-500 max-w-[180px] truncate",title:e.medium,children:e.medium}),l.jsx("td",{className:"py-1.5",children:l.jsx("span",{className:"inline-block text-[10px] px-1.5 py-0.5 rounded-full border border-zinc-700 text-zinc-400",title:i,children:r})}),l.jsx("td",{className:"py-1.5 text-right text-emerald-400 tabular-nums",children:e.sessions.toLocaleString()}),l.jsxs("td",{className:"py-1.5 text-right text-zinc-400 tabular-nums",children:[n,"%"]}),l.jsx("td",{className:"py-1.5 text-right text-zinc-200 tabular-nums",children:e.users.toLocaleString()})]})}function Ske({row:e}){const t=V8[e.sourceDimension]??e.sourceDimension,n=Z8[e.sourceDimension]??"";return l.jsxs("tr",{className:"border-t border-zinc-800/40",children:[l.jsx("td",{className:"py-1.5 text-zinc-300 max-w-[360px] truncate",title:e.landingPage,children:e.landingPage}),l.jsx("td",{className:"py-1.5 text-zinc-200 max-w-[220px] truncate",title:e.source,children:e.source}),l.jsx("td",{className:"py-1.5",children:l.jsx("span",{className:"inline-block text-[10px] px-1.5 py-0.5 rounded-full border border-zinc-700 text-zinc-400",title:n,children:t})}),l.jsx("td",{className:"py-1.5 text-right text-emerald-400 tabular-nums",children:e.sessions.toLocaleString()}),l.jsx("td",{className:"py-1.5 text-right text-zinc-200 tabular-nums",children:e.users.toLocaleString()})]})}function jke({referral:e,totalSessions:t}){const n=t>0?(e.sessions/t*100).toFixed(1):"0.0",r=e.channelGroup==="Paid Social"?"Paid":"Organic";return l.jsxs("tr",{className:"border-t border-zinc-800/40",children:[l.jsx("td",{className:"py-1.5 text-zinc-200 max-w-[220px] truncate",title:e.source,children:e.source}),l.jsx("td",{className:"py-1.5 text-zinc-500 max-w-[180px] truncate",title:e.medium,children:e.medium}),l.jsx("td",{className:"py-1.5",children:l.jsx("span",{className:"inline-block text-[10px] px-1.5 py-0.5 rounded-full border border-zinc-700 text-zinc-400",title:`GA4 channel group: ${e.channelGroup}`,children:r})}),l.jsx("td",{className:"py-1.5 text-right text-sky-400 tabular-nums",children:e.sessions.toLocaleString()}),l.jsxs("td",{className:"py-1.5 text-right text-zinc-400 tabular-nums",children:[n,"%"]}),l.jsx("td",{className:"py-1.5 text-right text-zinc-200 tabular-nums",children:e.users.toLocaleString()})]})}function Dh(e){e.invalidateQueries({queryKey:zr.runs.all}),e.invalidateQueries({queryKey:zr.projects.all})}function Nke(e){return e==="gsc-sync"?"GSC sync queued":e==="inspect-sitemap"?"Sitemap inspection queued":"Visibility sweep queued"}function kke(e,t){const n=e??"Project";return t==="gsc-sync"?`${n} will refresh after the sync completes.`:t==="inspect-sitemap"?`${n} will notify you when sitemap inspection finishes.`:`${n} will notify you when the run finishes.`}function n0(e,t){o5({id:e.id,projectId:e.projectId,kind:e.kind,projectLabel:t.projectLabel,sourceAction:t.sourceAction,lastAnnouncedStatus:"queued"}),gt({title:Nke(e.kind),detail:kke(t.projectLabel,e.kind),tone:"neutral",dedupeKey:`run:${e.id}`,dedupeMode:"replace"})}function Cke(e){const t=e.filter(i=>i.status!=="conflict"),n=e.filter(i=>i.status==="conflict");if(t.length===0){gt({title:"No runs queued",detail:n.length>0?`${n.length} project${n.length===1?"":"s"} already had a run in progress.`:"No projects were available to queue.",tone:"caution",durationMs:8e3,dedupeKey:"run-all:conflict",dedupeMode:"replace"});return}for(const i of t)o5({id:i.id,projectId:i.projectId,kind:i.kind,projectLabel:i.projectName,sourceAction:"run-all",lastAnnouncedStatus:"queued"});const r=xJ({runIds:t.map(i=>i.id),queuedCount:t.length,skippedCount:n.length});gt({title:"Run-all batch queued",detail:n.length>0?`${t.length} project${t.length===1?"":"s"} queued, ${n.length} skipped because a run is already active.`:`${t.length} project${t.length===1?"":"s"} queued.`,tone:n.length>0?"caution":"neutral",dedupeKey:`batch:${r}`,dedupeMode:"replace"})}function r0(e,t){if(e instanceof _i&&e.code==="RUN_IN_PROGRESS"){gt({title:"Run already in progress",detail:t?.projectLabel?`${t.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:${t?.projectKey??"project"}:${t?.sourceAction??"run"}`,dedupeMode:"replace"});return}gt({title:e instanceof Error?e.message:"Failed to queue run",tone:"negative"})}function Y8(){const e=wo();return oh({meta:{skipGlobalErrorToast:!0},mutationFn:({projectName:t,opts:n})=>n7(t,n),onSuccess:(t,n)=>{Dh(e),n0(t,{projectLabel:n.projectLabel??n.projectName,sourceAction:n.sourceAction})},onError:(t,n)=>{r0(t,{projectKey:n.projectName,projectLabel:n.projectLabel??n.projectName,sourceAction:n.sourceAction})}})}function _ke(){const e=wo();return oh({meta:{skipGlobalErrorToast:!0},mutationFn:t=>w7(t),onSuccess:t=>{Dh(e),Cke(t)},onError:t=>{gt({title:t instanceof Error?t.message:"Failed to queue runs",tone:"negative"})}})}function Ake(){const e=wo();return oh({meta:{skipGlobalErrorToast:!0},mutationFn:({projectName:t,opts:n})=>YI(t,n),onSuccess:(t,n)=>{Dh(e),n0(t,{projectLabel:n.projectLabel??n.projectName,sourceAction:"gsc-sync"})},onError:(t,n)=>{r0(t,{projectKey:n.projectName,projectLabel:n.projectLabel??n.projectName,sourceAction:"gsc-sync"})}})}function Oke(){const e=wo();return oh({meta:{skipGlobalErrorToast:!0},mutationFn:({projectName:t})=>R7(t),onSuccess:(t,n)=>{Dh(e),n0(t.run,{projectLabel:n.projectLabel??n.projectName,sourceAction:"discover-sitemaps"})},onError:(t,n)=>{r0(t,{projectKey:n.projectName,projectLabel:n.projectLabel??n.projectName,sourceAction:"discover-sitemaps"})}})}function Eke(){const e=wo();return oh({meta:{skipGlobalErrorToast:!0},mutationFn:({projectName:t,opts:n})=>T7(t,n),onSuccess:(t,n)=>{Dh(e),n0(t,{projectLabel:n.projectLabel??n.projectName,sourceAction:"inspect-sitemap"})},onError:(t,n)=>{r0(t,{projectKey:n.projectName,projectLabel:n.projectLabel??n.projectName,sourceAction:"inspect-sitemap"})}})}const zke=["7d","30d","90d","all"];function Tke({projectName:e}){const[t,n]=x.useState(!1),[r,i]=x.useState([]),[a,o]=x.useState([]),[u,d]=x.useState([]),[f,p]=x.useState([]),[m,y]=x.useState([]),[v,w]=x.useState(null),[S,j]=x.useState(""),[k,O]=x.useState(""),[_,C]=x.useState("30"),[T,E]=x.useState(!1),[A,P]=x.useState("30d"),[I,q]=x.useState({startDate:"",endDate:"",query:"",page:"",limit:"20"}),[$,U]=x.useState(""),[G,te]=x.useState(!0),[Z,K]=x.useState(!1),[X,pe]=x.useState(!1),[Ne,R]=x.useState(!1),[B,F]=x.useState(!1),[M,W]=x.useState(!1),[ae,ne]=x.useState(!1),[de,Ce]=x.useState(null),[ee,fe]=x.useState(!1),[ze,Q]=x.useState(!1),[He,Me]=x.useState(null),[it,tt]=x.useState(""),[Pt,Ft]=x.useState(!1),[vn,we]=x.useState(!1),[We,At]=x.useState("indexed"),[on,dt]=x.useState(null),ft=x.useMemo(()=>{if(!on)return u;const{key:V,dir:_e}=on;return[...u].sort((St,ht)=>{const Rt=V===io.CTR?Number.isFinite(St.ctr)?St.ctr:0:St[V],Ur=V===io.CTR?Number.isFinite(ht.ctr)?ht.ctr:0:ht[V];return _e==="asc"?Rt-Ur:Ur-Rt})},[u,on]),[le,Se]=x.useState([]),[Re,Ye]=x.useState(null),[ct,Yt]=x.useState(!1),[je,ke]=x.useState(null),[Ue,Pe]=x.useState(null),Te=r.find(V=>V.connectionType==="gsc"),tr=u.length>0||f.length>0||m.length>0,xe=Ake(),en=Oke(),Br=Eke();async function na(V){if(!V){o([]),j("");return}pe(!0);try{const{sites:_e}=await N7(e);o(_e),j(V.propertyId??_e[0]?.siteUrl??"")}catch(_e){o([]),ke(_e instanceof Error?_e.message:"Failed to load Search Console properties")}finally{pe(!1)}}async function dr(){F(!0);try{const V=await _7(e,{startDate:I.startDate||void 0,endDate:I.endDate||void 0,query:I.query||void 0,page:I.page||void 0,limit:parseInt(I.limit,10)||20,window:A});d(V)}catch(V){d([]),ke(V instanceof Error?V.message:"Failed to load GSC performance data")}finally{F(!1)}}async function ri(){W(!0);try{const[V,_e]=await Promise.all([O7(e,{url:$.trim()||void 0,limit:20}),E7(e)]);p(V),y(_e)}catch(V){p([]),y([]),ke(V instanceof Error?V.message:"Failed to load GSC inspection history")}finally{W(!1)}}async function Eo(){fe(!0);try{const[V,_e]=await Promise.all([Wj(e),z7(e).catch(()=>[])]);Ce(V),Se(_e)}catch(V){Ce(null),Se([]),ke(V instanceof Error?V.message:"Failed to load coverage data")}finally{fe(!1)}}async function xs(V){Yt(!0),ke(null);try{const _e=await m2(e,{urls:V}),{succeeded:St,failed:ht,total:Rt}=_e.summary;gt({title:"Indexing requested",detail:ht===0?`${St} URL${St!==1?"s":""} submitted for indexing.`:`${St}/${Rt} submitted successfully, ${ht} failed.`,tone:ht===0?"positive":"caution",dedupeKey:`gsc:indexing:${e}`,dedupeMode:"replace"})}catch(_e){ke(_e instanceof Error?_e.message:"Failed to request indexing")}finally{Yt(!1)}}async function i0(){Yt(!0),ke(null);try{const V=await m2(e,{urls:[],allUnindexed:!0}),{succeeded:_e,failed:St,total:ht}=V.summary;gt({title:"Indexing requested",detail:St===0?`${_e} unindexed URL${_e!==1?"s":""} submitted for indexing.`:`${_e}/${ht} submitted successfully, ${St} failed.`,tone:St===0?"positive":"caution",dedupeKey:`gsc:indexing-all:${e}`,dedupeMode:"replace"})}catch(V){ke(V instanceof Error?V.message:"Failed to request indexing")}finally{Yt(!1)}}async function zo(){if(it.trim()){Ft(!0),ke(null);try{await C7(e,"gsc",it.trim()),i(V=>V.map(_e=>_e.connectionType==="gsc"?{..._e,sitemapUrl:it.trim()}:_e)),gt({title:"Sitemap URL saved",detail:`${e} will use the updated sitemap URL.`,tone:"positive",dedupeKey:`gsc:sitemap:${e}`,dedupeMode:"drop"}),tt("")}catch(V){ke(V instanceof Error?V.message:"Failed to save sitemap URL")}finally{Ft(!1)}}}async function tc(){ke(null);try{const V=await en.mutateAsync({projectName:e,projectLabel:e});Me(V.sitemaps),i(_e=>_e.map(St=>St.connectionType==="gsc"?{...St,sitemapUrl:V.primarySitemapUrl}:St))}catch{}}async function To(){Q(!0),ke(null);try{const V=await P7(e);Me(V.sitemaps),V.sitemaps.length===0&&Pe("No sitemaps found in this GSC property. Submit a sitemap in Google Search Console first.")}catch(V){ke(V instanceof Error?V.message:"Failed to list sitemaps")}finally{Q(!1)}}async function Ih(){te(!0),ke(null);try{const[V,_e]=await Promise.all([Yj().catch(()=>null),ZI(e).catch(()=>[])]);n(!!V?.google?.configured),i(_e);const St=_e.find(ht=>ht.connectionType==="gsc");await Promise.all([na(St),dr(),ri(),Eo()])}finally{te(!1)}}x.useEffect(()=>{Ih()},[e]),x.useEffect(()=>{dr()},[A]);async function Lh(){if(!t){ke("Google OAuth app credentials are not configured yet. Set them on the Settings page first.");return}K(!0),ke(null),Pe(null);try{const{authUrl:V}=await S7(e,"gsc");if(!V.startsWith("https://accounts.google.com/")){ke("Unexpected OAuth redirect URL. Please try again.");return}const _e=window.open(V,"_blank","width=600,height=700");if(!_e){window.location.assign(V);return}Pe("Finish the Google consent flow in the popup, then close it to refresh this project.");const St=window.setInterval(()=>{_e.closed&&(window.clearInterval(St),Pe(null),Ih())},1e3)}catch(V){ke(V instanceof Error?V.message:"Failed to start OAuth flow")}finally{K(!1)}}async function $h(){ke(null),Pe(null);try{await j7(e,"gsc"),i(V=>V.filter(_e=>_e.connectionType!=="gsc")),o([]),j("")}catch(V){ke(V instanceof Error?V.message:"Failed to disconnect")}}async function Bh(){if(S){R(!0),ke(null);try{await k7(e,"gsc",S),i(V=>V.map(_e=>_e.connectionType==="gsc"?{..._e,propertyId:S}:_e)),gt({title:"GSC property updated",detail:`${e} is now linked to ${S}.`,tone:"positive",dedupeKey:`gsc:property:${e}`,dedupeMode:"drop"})}catch(V){ke(V instanceof Error?V.message:"Failed to save GSC property")}finally{R(!1)}}}async function rd(){ke(null),Pe(null);try{await xe.mutateAsync({projectName:e,projectLabel:e,opts:{days:parseInt(_,10)||void 0,full:T||void 0}})}catch{}}async function nc(){if(k.trim()){ne(!0),ke(null),Pe(null);try{const V=await A7(e,k.trim());w(V),O(""),await ri()}catch(V){ke(V instanceof Error?V.message:"Failed to inspect URL")}finally{ne(!1)}}}return l.jsxs("section",{className:"page-section-divider",children:[l.jsxs("div",{className:"section-head section-head-inline",children:[l.jsxs("div",{children:[l.jsx("p",{className:"eyebrow eyebrow-soft",children:"Search Console"}),l.jsx("h2",{children:"Google Search Console"})]}),l.jsxs("div",{className:"flex items-center gap-2",children:[l.jsx("div",{className:"flex gap-1",children:zke.map(V=>l.jsx("button",{type:"button",className:`px-3 py-1 text-xs rounded-full border transition-colors ${A===V?"bg-zinc-700 border-zinc-600 text-zinc-50":"border-zinc-800 text-zinc-400 hover:border-zinc-700 hover:text-zinc-300"}`,onClick:()=>P(V),children:V==="all"?"All":V},V))}),Te&&l.jsx(ve,{type:"button",variant:"outline",size:"sm",disabled:B,onClick:()=>{dr()},children:B?"Refreshing…":"Refresh data"})]})]}),je&&l.jsxs("div",{className:"mb-3 rounded-lg border border-rose-800/40 bg-rose-950/20 px-3 py-2 text-sm text-rose-300",children:[je,l.jsx("button",{type:"button",className:"ml-2 text-rose-400 hover:text-rose-200",onClick:()=>ke(null),children:"×"})]}),Ue&&l.jsxs("div",{className:"mb-3 rounded-lg border border-emerald-800/40 bg-emerald-950/20 px-3 py-2 text-sm text-emerald-300",children:[Ue,l.jsx("button",{type:"button",className:"ml-2 text-emerald-400 hover:text-emerald-200",onClick:()=>Pe(null),children:"×"})]}),G?l.jsx("p",{className:"text-sm text-zinc-500",children:"Loading…"}):l.jsxs("div",{className:"space-y-3",children:[l.jsxs(Fe,{className:"surface-card",children:[l.jsxs("div",{className:"section-head section-head-inline",children:[l.jsxs("div",{children:[l.jsx("p",{className:"eyebrow eyebrow-soft",children:"Connection"}),l.jsx("h3",{children:"Domain authorization"})]}),l.jsx(wt,{tone:Te?"positive":t?"caution":"negative",children:Te?"Connected":t?"Ready to connect":"App credentials missing"})]}),Te?l.jsxs("div",{className:"mt-3 space-y-3",children:[l.jsxs("div",{className:"rounded-lg border border-zinc-800/60 bg-zinc-900/30 px-4 py-3",children:[l.jsxs("div",{className:"flex items-center gap-3",children:[l.jsx("span",{className:"h-2 w-2 rounded-full bg-emerald-500"}),l.jsx("span",{className:"text-sm text-zinc-200",children:"Authorized for this project domain"}),l.jsx("span",{className:"text-xs text-zinc-500",children:Te.domain}),l.jsx("button",{type:"button",className:"ml-auto text-xs text-zinc-500 hover:text-rose-400 transition-colors",onClick:$h,children:"Disconnect"})]}),l.jsxs("p",{className:"mt-2 text-xs text-zinc-500",children:["Canonry stores OAuth tokens per canonical domain. This project currently maps to ",l.jsx("code",{children:Te.domain}),"."]})]}),l.jsxs("div",{className:"grid gap-3 lg:grid-cols-2",children:[l.jsxs("div",{className:"rounded-lg border border-zinc-800/60 bg-zinc-900/20 p-3",children:[l.jsx("p",{className:"text-xs uppercase tracking-wide text-zinc-500",children:"Selected property"}),l.jsx("p",{className:"mt-1 text-sm text-zinc-200",children:Te.propertyId??"No property selected yet"})]}),l.jsxs("div",{className:"rounded-lg border border-zinc-800/60 bg-zinc-900/20 p-3",children:[l.jsx("p",{className:"text-xs uppercase tracking-wide text-zinc-500",children:"Last auth update"}),l.jsx("p",{className:"mt-1 text-sm text-zinc-200",children:Ki(Te.updatedAt)})]})]})]}):l.jsxs("div",{className:"mt-3 rounded-lg border border-zinc-800/60 bg-zinc-900/30 px-4 py-5",children:[l.jsx("p",{className:"text-sm text-zinc-300",children:t?"Generate a Google OAuth link for this project and have the client sign in with a Google account that already has access to the correct Search Console property.":"Set Google OAuth client credentials first. Once configured, you can generate a consent link for this project domain."}),l.jsxs("div",{className:"mt-3 flex flex-wrap items-center gap-2",children:[t?l.jsx(ve,{type:"button",variant:"outline",size:"sm",disabled:Z,onClick:Lh,children:Z?"Opening…":"Connect Google Search Console"}):l.jsx(ve,{type:"button",variant:"outline",size:"sm",asChild:!0,children:l.jsx(Kt,{to:"/settings",children:"Open Settings"})}),!t&&l.jsx("p",{className:"text-xs text-zinc-500",children:"The same Google OAuth app credentials are shared across all projects."})]})]})]}),Te&&!Te.sitemapUrl&&l.jsx("div",{className:"rounded-lg border border-amber-800/40 bg-amber-950/20 px-4 py-3",children:l.jsxs("div",{className:"flex items-start gap-3",children:[l.jsx("span",{className:"mt-0.5 text-amber-400",children:l.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",className:"h-5 w-5","aria-hidden":"true",children:l.jsx("path",{fillRule:"evenodd",d:"M8.485 2.495c.673-1.167 2.357-1.167 3.03 0l6.28 10.875c.673 1.167-.17 2.625-1.516 2.625H3.72c-1.347 0-2.189-1.458-1.515-2.625L8.485 2.495zM10 6a.75.75 0 01.75.75v3.5a.75.75 0 01-1.5 0v-3.5A.75.75 0 0110 6zm0 9a1 1 0 100-2 1 1 0 000 2z",clipRule:"evenodd"})})}),l.jsxs("div",{className:"flex-1 min-w-0",children:[l.jsx("p",{className:"text-sm font-medium text-amber-300",children:"Set your sitemap URL"}),l.jsx("p",{className:"mt-1 text-xs text-amber-400/70",children:"Canonry uses your sitemap to discover URLs for index coverage inspection. Auto-discover from GSC or enter it manually."}),l.jsxs("div",{className:"mt-2 flex flex-col gap-2",children:[l.jsxs("div",{className:"flex flex-col gap-2 lg:flex-row",children:[l.jsx(ve,{type:"button",size:"sm",disabled:en.isPending||!Te.propertyId,onClick:tc,children:en.isPending?"Discovering…":"Auto-discover from GSC"}),l.jsx("span",{className:"self-center text-xs text-amber-400/60",children:"or enter manually:"})]}),l.jsxs("div",{className:"flex flex-col gap-2 lg:flex-row",children:[l.jsx("input",{className:"flex-1 rounded border border-amber-800/40 bg-transparent px-2 py-1.5 text-sm text-zinc-200 placeholder-zinc-500 focus:border-amber-600 focus:outline-none",type:"url",placeholder:"https://example.com/sitemap.xml",value:it,onChange:V=>tt(V.target.value),onKeyDown:V=>V.key==="Enter"&&void zo()}),l.jsx(ve,{type:"button",size:"sm",variant:"outline",disabled:Pt||!it.trim(),onClick:zo,children:Pt?"Saving…":"Save sitemap URL"})]})]})]})]})}),(Te||tr)&&l.jsxs(l.Fragment,{children:[l.jsxs(Fe,{className:"surface-card",children:[l.jsxs("div",{className:"section-head section-head-inline",children:[l.jsxs("div",{children:[l.jsx("p",{className:"eyebrow eyebrow-soft",children:"Coverage"}),l.jsx("h3",{children:"Index coverage"})]}),l.jsxs("div",{className:"flex items-center gap-2",children:[de&&de.notIndexed.length>0&&l.jsx(ve,{type:"button",variant:"outline",size:"sm",disabled:ct,onClick:()=>{i0()},children:ct?"Requesting…":`Request indexing (${de.notIndexed.length})`}),l.jsx(ve,{type:"button",variant:"outline",size:"sm",disabled:ee,onClick:()=>{Eo()},children:ee?"Loading…":"Refresh coverage"})]})]}),de&&de.summary.total>0?l.jsxs(l.Fragment,{children:[l.jsx("div",{className:"mt-6 flex flex-col items-center",children:(()=>{const V=de.summary.indexed+de.summary.notIndexed,_e=V>0?de.summary.indexed/V:0,St=V>0?de.summary.notIndexed/V:0,ht=54,Rt=2*Math.PI*ht,Ur=Rt*(1-_e),Di=Rt*St,bs=Rt*_e;return l.jsxs(l.Fragment,{children:[l.jsxs("div",{className:"relative h-48 w-48",children:[l.jsxs("svg",{viewBox:"0 0 128 128",className:"h-full w-full","aria-hidden":"true",children:[l.jsx("circle",{cx:"64",cy:"64",r:ht,fill:"none",stroke:"rgba(255,255,255,0.04)",strokeWidth:"14"}),l.jsx("circle",{cx:"64",cy:"64",r:ht,fill:"none",stroke:"#10b981",strokeWidth:"14",strokeDasharray:Rt,strokeDashoffset:Ur,strokeLinecap:"round",transform:"rotate(-90 64 64)",style:{transition:"stroke-dashoffset 0.6s ease"}}),de.summary.notIndexed>0&&l.jsx("circle",{cx:"64",cy:"64",r:ht,fill:"none",stroke:"#52525b",strokeWidth:"14",strokeDasharray:`${Di} ${Rt-Di}`,strokeDashoffset:-bs,transform:"rotate(-90 64 64)",style:{transition:"stroke-dasharray 0.6s ease, stroke-dashoffset 0.6s ease"}})]}),l.jsxs("div",{className:"absolute inset-0 flex flex-col items-center justify-center",children:[l.jsxs("span",{className:"text-3xl font-bold tabular-nums text-zinc-50",children:[(_e*100).toFixed(0),"%"]}),l.jsx("span",{className:"text-xs uppercase tracking-widest text-zinc-500 mt-0.5",children:"Indexed"})]})]}),l.jsxs("div",{className:"mt-4 flex items-center justify-center gap-8",children:[l.jsxs("div",{className:"flex items-center gap-2",children:[l.jsx("span",{className:"inline-block h-2.5 w-2.5 rounded-full bg-emerald-500"}),l.jsxs("div",{children:[l.jsx("p",{className:"text-2xl font-semibold tabular-nums text-zinc-50",children:de.summary.indexed.toLocaleString()}),l.jsx("p",{className:"text-[11px] uppercase tracking-wide text-zinc-500",children:"Indexed"})]})]}),l.jsx("div",{className:"h-8 w-px bg-zinc-800"}),l.jsxs("div",{className:"flex items-center gap-2",children:[l.jsx("span",{className:"inline-block h-2.5 w-2.5 rounded-full bg-zinc-500"}),l.jsxs("div",{children:[l.jsx("p",{className:"text-2xl font-semibold tabular-nums text-zinc-50",children:de.summary.notIndexed.toLocaleString()}),l.jsxs("p",{className:"text-[11px] uppercase tracking-wide text-zinc-500",children:["Not indexed",(de.reasonGroups??[]).length>0&&l.jsxs("span",{className:"ml-1 text-zinc-600",children:["· ",(de.reasonGroups??[]).length," ",(de.reasonGroups??[]).length===1?"reason":"reasons"]})]})]})]}),de.summary.deindexed>0&&l.jsxs(l.Fragment,{children:[l.jsx("div",{className:"h-8 w-px bg-zinc-800"}),l.jsxs("div",{className:"flex items-center gap-2",children:[l.jsx("span",{className:"inline-block h-2.5 w-2.5 rounded-full bg-rose-500"}),l.jsxs("div",{children:[l.jsx("p",{className:"text-2xl font-semibold tabular-nums text-zinc-50",children:de.summary.deindexed.toLocaleString()}),l.jsx("p",{className:"text-[11px] uppercase tracking-wide text-zinc-500",children:"Deindexed"})]})]})]})]})]})})()}),l.jsx("div",{className:"mt-3 flex gap-1",children:["indexed","notIndexed","deindexed"].map(V=>{const _e=V==="indexed"?de.indexed.length:V==="notIndexed"?de.notIndexed.length:de.deindexed.length,St=V==="indexed"?"Indexed":V==="notIndexed"?"Not Indexed":"Deindexed";return l.jsxs("button",{type:"button",className:`rounded-full px-3 py-1 text-xs font-medium transition-colors ${We===V?"bg-zinc-700 text-zinc-100":"text-zinc-400 hover:bg-zinc-800 hover:text-zinc-200"}`,onClick:()=>{At(V),Ye(null)},children:[St," (",_e,")"]},V)})}),l.jsxs("div",{className:"mt-3 overflow-x-auto",children:[We==="indexed"&&de.indexed.length>0&&l.jsxs("table",{className:"data-table w-full text-sm",children:[l.jsx("thead",{children:l.jsxs("tr",{children:[l.jsx("th",{className:"text-left",children:"URL"}),l.jsx("th",{className:"text-left",children:"Verdict"}),l.jsx("th",{className:"text-left",children:"Last Crawl"}),l.jsx("th",{className:"text-left",children:"Mobile"})]})}),l.jsx("tbody",{children:de.indexed.map(V=>l.jsxs("tr",{children:[l.jsx("td",{className:"max-w-sm truncate text-zinc-200",children:V.url}),l.jsx("td",{className:"text-zinc-400",children:V.verdict??"Unknown"}),l.jsx("td",{className:"text-zinc-400",children:V.crawlTime?V.crawlTime.split("T")[0]:"—"}),l.jsx("td",{className:"text-zinc-400",children:V.isMobileFriendly===!0?"Yes":V.isMobileFriendly===!1?"No":"—"})]},V.id))})]}),We==="notIndexed"&&!Re&&(de.reasonGroups??[]).length>0&&l.jsxs("table",{className:"data-table w-full text-sm",children:[l.jsx("thead",{children:l.jsxs("tr",{children:[l.jsx("th",{className:"text-left",children:"Reason"}),l.jsx("th",{className:"text-right",children:"Pages"})]})}),l.jsx("tbody",{children:(de.reasonGroups??[]).map(V=>l.jsxs("tr",{className:"cursor-pointer hover:bg-zinc-800/40",onClick:()=>Ye(V.reason),children:[l.jsx("td",{className:"text-zinc-200",children:V.reason}),l.jsx("td",{className:"text-right tabular-nums text-zinc-400",children:V.count})]},V.reason))})]}),We==="notIndexed"&&!Re&&(de.reasonGroups??[]).length===0&&de.notIndexed.length>0&&l.jsxs("table",{className:"data-table w-full text-sm",children:[l.jsx("thead",{children:l.jsxs("tr",{children:[l.jsx("th",{className:"text-left",children:"URL"}),l.jsx("th",{className:"text-left",children:"Indexing State"}),l.jsx("th",{className:"text-left",children:"Coverage"})]})}),l.jsx("tbody",{children:de.notIndexed.map(V=>l.jsxs("tr",{children:[l.jsx("td",{className:"max-w-sm truncate text-zinc-200",children:V.url}),l.jsx("td",{className:"text-zinc-400",children:V.indexingState??"Unknown"}),l.jsx("td",{className:"text-zinc-400",children:V.coverageState??"Unknown"})]},V.id))})]}),We==="notIndexed"&&Re&&(()=>{const V=(de.reasonGroups??[]).find(_e=>_e.reason===Re);return V?l.jsxs("div",{children:[l.jsx("div",{className:"flex items-center gap-2 mb-3",children:l.jsxs("button",{type:"button",className:"text-xs text-zinc-400 hover:text-zinc-200 transition-colors",onClick:()=>Ye(null),children:["←"," Back to reasons"]})}),l.jsxs("div",{className:"mb-3 flex items-center justify-between rounded-lg border border-zinc-800/60 bg-zinc-900/20 p-3",children:[l.jsxs("div",{children:[l.jsx("p",{className:"text-sm font-medium text-zinc-200",children:V.reason}),l.jsxs("p",{className:"mt-1 text-xs text-zinc-500",children:[V.count," affected page",V.count!==1?"s":""]})]}),l.jsx(ve,{type:"button",variant:"outline",size:"sm",disabled:ct,onClick:()=>{xs(V.urls.map(_e=>_e.url))},children:ct?"Requesting…":`Request indexing (${V.count})`})]}),l.jsxs("table",{className:"data-table w-full text-sm",children:[l.jsx("thead",{children:l.jsxs("tr",{children:[l.jsx("th",{className:"text-left",children:"URL"}),l.jsx("th",{className:"text-left",children:"Last Crawl"}),l.jsx("th",{className:"w-8"})]})}),l.jsx("tbody",{children:V.urls.map(_e=>l.jsxs("tr",{children:[l.jsx("td",{className:"max-w-sm truncate text-zinc-200",children:_e.url}),l.jsx("td",{className:"text-zinc-400",children:_e.crawlTime?_e.crawlTime.split("T")[0]:"—"}),l.jsx("td",{children:l.jsx("button",{type:"button",className:"text-xs text-zinc-500 hover:text-zinc-200 transition-colors",disabled:ct,onClick:()=>{xs([_e.url])},title:"Request indexing",children:"Index"})})]},_e.id))})]})]}):null})(),We==="deindexed"&&de.deindexed.length>0&&l.jsxs("table",{className:"data-table w-full text-sm",children:[l.jsx("thead",{children:l.jsxs("tr",{children:[l.jsx("th",{className:"text-left",children:"URL"}),l.jsx("th",{className:"text-left",children:"Previous"}),l.jsx("th",{className:"text-left",children:"Current"}),l.jsx("th",{className:"text-left",children:"Detected"})]})}),l.jsx("tbody",{children:de.deindexed.map((V,_e)=>l.jsxs("tr",{children:[l.jsx("td",{className:"max-w-sm truncate text-zinc-200",children:V.url}),l.jsx("td",{className:"text-zinc-400",children:V.previousState}),l.jsx("td",{className:"text-zinc-400",children:V.currentState}),l.jsx("td",{className:"text-zinc-400",children:V.transitionDate.split("T")[0]})]},`${V.url}-${_e}`))})]}),(We==="indexed"&&de.indexed.length===0||We==="notIndexed"&&!Re&&de.notIndexed.length===0||We==="deindexed"&&de.deindexed.length===0)&&l.jsx("p",{className:"text-sm text-zinc-500",children:"No URLs in this category."})]})]}):l.jsx("p",{className:"mt-3 text-sm text-zinc-500",children:ee?"Loading coverage data…":"No coverage data yet. Inspect your sitemap to populate this view."})]}),l.jsxs(Fe,{className:"surface-card",children:[l.jsxs("div",{className:"section-head section-head-inline",children:[l.jsxs("div",{children:[l.jsx("p",{className:"eyebrow eyebrow-soft",children:"Performance"}),l.jsx("h3",{children:"Search performance"})]}),l.jsx(ve,{type:"button",variant:"outline",size:"sm",disabled:B,onClick:()=>{dr()},children:B?"Loading…":"Apply filters"})]}),u.length>0&&(()=>{const V=new Map;for(const at of u){const Nt=V.get(at.date);Nt?(Nt.clicks+=at.clicks,Nt.impressions+=at.impressions):V.set(at.date,{clicks:at.clicks,impressions:at.impressions})}const _e=[...V.entries()].sort(([at],[Nt])=>at.localeCompare(Nt));if(_e.length===0)return null;const St=Math.max(..._e.map(([,at])=>at.impressions),1),ht=_e.reduce((at,[,Nt])=>at+Nt.clicks,0),Rt=_e.reduce((at,[,Nt])=>at+Nt.impressions,0),Ur=Rt>0?(ht/Rt*100).toFixed(1):"0.0",Di=700,bs=220,Sr={top:12,bottom:36,left:48,right:12},Uh=Di-Sr.left-Sr.right,ii=bs-Sr.top-Sr.bottom,Ta=Uh/_e.length,Mi=Math.max(Math.min(Ta*.35,24),4),Pa=Math.max(Mi*.15,1),Po=at=>{if(at<=0)return 1;const Nt=Math.pow(10,Math.floor(Math.log10(at))),Fr=at/Nt,Li=Fr<=1.5?1.5:Fr<=3?3:Fr<=5?5:10;return Math.ceil(Li*Nt)},Ii=4,ln=Math.ceil(Po(St)/Ii)*Ii,Fh=Array.from({length:Ii+1},(at,Nt)=>ln/Ii*Nt),qh=at=>at>=1e3?`${(at/1e3).toFixed(at>=1e4?0:1)}k`:String(at);return l.jsxs("div",{className:"mt-3",children:[l.jsxs("div",{className:"flex items-center gap-5 mb-2",children:[l.jsxs("div",{className:"flex items-center gap-1.5",children:[l.jsx("span",{className:"inline-block h-2.5 w-2.5 rounded-sm bg-emerald-500"}),l.jsxs("span",{className:"text-xs text-zinc-400",children:["Clicks ",l.jsx("span",{className:"text-zinc-200 tabular-nums font-medium",children:ht.toLocaleString()})]})]}),l.jsxs("div",{className:"flex items-center gap-1.5",children:[l.jsx("span",{className:"inline-block h-2.5 w-2.5 rounded-sm bg-blue-500"}),l.jsxs("span",{className:"text-xs text-zinc-400",children:["Impressions ",l.jsx("span",{className:"text-zinc-200 tabular-nums font-medium",children:Rt.toLocaleString()})]})]}),l.jsxs("span",{className:"text-xs text-zinc-500",children:["CTR ",l.jsxs("span",{className:"text-amber-400 tabular-nums font-medium",children:[Ur,"%"]})]})]}),l.jsx("div",{className:"relative w-full",style:{aspectRatio:`${Di} / ${bs}`},children:l.jsxs("svg",{viewBox:`0 0 ${Di} ${bs}`,className:"h-full w-full",children:[Fh.map((at,Nt)=>{const Fr=Sr.top+ii-at/ln*ii;return l.jsxs("g",{children:[l.jsx("line",{x1:Sr.left,y1:Fr,x2:Di-Sr.right,y2:Fr,stroke:"rgba(255,255,255,0.06)",strokeWidth:"1"}),l.jsx("text",{x:Sr.left-6,y:Fr+3.5,textAnchor:"end",fill:"#a1a1aa",fontSize:"10",fontFamily:"inherit",children:qh(at)})]},`t-${Nt}`)}),_e.map(([at,Nt],Fr)=>{const Li=Sr.left+Ta*Fr+Ta/2,Ro=Nt.impressions/ln*ii,Kh=Nt.clicks/ln*ii;return l.jsxs("g",{children:[l.jsx("title",{children:`${at}
290
290
  Clicks: ${Nt.clicks}
291
291
  Impressions: ${Nt.impressions}
292
292
  CTR: ${Nt.impressions>0?(Nt.clicks/Nt.impressions*100).toFixed(1):0}%`}),l.jsx("rect",{x:Li-Mi-Pa/2,y:Sr.top+ii-Ro,width:Mi,height:Math.max(Ro,1),rx:2,fill:"#3b82f6",opacity:.85}),l.jsx("rect",{x:Li+Pa/2,y:Sr.top+ii-Kh,width:Mi,height:Math.max(Kh,1),rx:2,fill:"#10b981",opacity:.85})]},at)}),(()=>{const at=Math.min(_e.length,7);return Array.from({length:at},(Nt,Fr)=>{const Li=_e.length===1?0:Math.round(Fr/(at-1)*(_e.length-1)),Ro=Sr.left+Ta*Li+Ta/2;return l.jsx("text",{x:Ro,y:bs-8,textAnchor:"middle",fill:"#71717a",fontSize:"10",fontFamily:"inherit",children:_e[Li][0].slice(5)},`xl-${Li}`)})})()]})})]})})(),l.jsxs("div",{className:"mt-3 grid gap-2 lg:grid-cols-5",children:[l.jsx("input",{className:"rounded border border-zinc-700 bg-transparent px-2 py-1.5 text-sm text-zinc-200 placeholder-zinc-600 focus:border-zinc-500 focus:outline-none",type:"date",value:I.startDate,onChange:V=>q(_e=>({..._e,startDate:V.target.value}))}),l.jsx("input",{className:"rounded border border-zinc-700 bg-transparent px-2 py-1.5 text-sm text-zinc-200 placeholder-zinc-600 focus:border-zinc-500 focus:outline-none",type:"date",value:I.endDate,onChange:V=>q(_e=>({..._e,endDate:V.target.value}))}),l.jsx("input",{className:"rounded border border-zinc-700 bg-transparent px-2 py-1.5 text-sm text-zinc-200 placeholder-zinc-600 focus:border-zinc-500 focus:outline-none",type:"text",placeholder:"Filter query",value:I.query,onChange:V=>q(_e=>({..._e,query:V.target.value}))}),l.jsx("input",{className:"rounded border border-zinc-700 bg-transparent px-2 py-1.5 text-sm text-zinc-200 placeholder-zinc-600 focus:border-zinc-500 focus:outline-none",type:"text",placeholder:"Filter page",value:I.page,onChange:V=>q(_e=>({..._e,page:V.target.value}))}),l.jsx("input",{className:"rounded border border-zinc-700 bg-transparent px-2 py-1.5 text-sm text-zinc-200 placeholder-zinc-600 focus:border-zinc-500 focus:outline-none",type:"number",min:"1",placeholder:"Limit",value:I.limit,onChange:V=>q(_e=>({..._e,limit:V.target.value}))})]}),u.length>0?l.jsx("div",{className:"mt-3 overflow-x-auto",children:l.jsxs("table",{className:"data-table w-full text-sm",children:[l.jsx("thead",{children:l.jsxs("tr",{children:[l.jsx("th",{className:"text-left",children:"Date"}),l.jsx("th",{className:"text-left",children:"Query"}),l.jsx("th",{className:"text-left",children:"Page"}),Object.values(io).map(V=>l.jsx("th",{className:"text-right","aria-sort":on?.key===V?on.dir==="asc"?"ascending":"descending":"none",children:l.jsxs("button",{type:"button",className:"w-full cursor-pointer select-none text-right hover:text-zinc-200 focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-zinc-400 rounded px-1 -mx-1",onClick:()=>dt(_e=>_e?.key===V?_e.dir==="desc"?{key:V,dir:"asc"}:null:{key:V,dir:"desc"}),children:[rJ[V],on?.key===V?on.dir==="desc"?" ↓":" ↑":""]})},V))]})}),l.jsx("tbody",{children:ft.map((V,_e)=>l.jsxs("tr",{children:[l.jsx("td",{className:"text-zinc-400",children:V.date}),l.jsx("td",{className:"max-w-xs truncate text-zinc-200",children:V.query}),l.jsx("td",{className:"max-w-xs truncate text-zinc-400",children:V.page}),l.jsx("td",{className:"text-right tabular-nums text-zinc-300",children:V.clicks.toLocaleString()}),l.jsx("td",{className:"text-right tabular-nums text-zinc-400",children:V.impressions.toLocaleString()}),l.jsxs("td",{className:"text-right tabular-nums text-zinc-400",children:[(Number.isFinite(V.ctr)?V.ctr*100:0).toFixed(1),"%"]}),l.jsx("td",{className:"text-right tabular-nums text-zinc-400",children:V.position.toFixed(1)})]},`${V.date}:${V.query}:${V.page}:${_e}`))})]})}):l.jsx("p",{className:"mt-3 text-sm text-zinc-500",children:"No performance rows match the current filters yet."})]}),l.jsxs(Fe,{className:"surface-card",children:[l.jsx("div",{className:"section-head",children:l.jsxs("div",{children:[l.jsx("p",{className:"eyebrow eyebrow-soft",children:"Inspection"}),l.jsx("h3",{children:"Inspect a URL"})]})}),l.jsxs("div",{className:"mt-3 flex flex-col gap-2 lg:flex-row",children:[l.jsx("input",{className:"flex-1 rounded border border-zinc-700 bg-transparent px-2 py-1.5 text-sm text-zinc-200 placeholder-zinc-600 focus:border-zinc-500 focus:outline-none",type:"url",placeholder:"https://example.com/page",value:k,onChange:V=>O(V.target.value),onKeyDown:V=>V.key==="Enter"&&void nc()}),l.jsx(ve,{type:"button",size:"sm",disabled:ae||!Te?.propertyId||!k.trim(),onClick:nc,children:ae?"Inspecting…":"Inspect URL"})]}),v&&l.jsxs("div",{className:"mt-3 grid gap-3 md:grid-cols-2 xl:grid-cols-4",children:[l.jsxs("div",{className:"rounded-lg border border-zinc-800/60 bg-zinc-900/20 p-3",children:[l.jsx("p",{className:"text-xs uppercase tracking-wide text-zinc-500",children:"Indexing state"}),l.jsx("p",{className:"mt-1 text-sm text-zinc-200",children:v.indexingState??"Unknown"})]}),l.jsxs("div",{className:"rounded-lg border border-zinc-800/60 bg-zinc-900/20 p-3",children:[l.jsx("p",{className:"text-xs uppercase tracking-wide text-zinc-500",children:"Verdict"}),l.jsx("p",{className:"mt-1 text-sm text-zinc-200",children:v.verdict??"Unknown"})]}),l.jsxs("div",{className:"rounded-lg border border-zinc-800/60 bg-zinc-900/20 p-3",children:[l.jsx("p",{className:"text-xs uppercase tracking-wide text-zinc-500",children:"Mobile friendly"}),l.jsx("p",{className:"mt-1 text-sm text-zinc-200",children:X2(v.isMobileFriendly)})]}),l.jsxs("div",{className:"rounded-lg border border-zinc-800/60 bg-zinc-900/20 p-3",children:[l.jsx("p",{className:"text-xs uppercase tracking-wide text-zinc-500",children:"Last crawl"}),l.jsx("p",{className:"mt-1 text-sm text-zinc-200",children:Ki(v.crawlTime)})]})]})]}),l.jsxs(Fe,{className:"surface-card",children:[l.jsxs("div",{className:"section-head section-head-inline",children:[l.jsxs("div",{children:[l.jsx("p",{className:"eyebrow eyebrow-soft",children:"History"}),l.jsx("h3",{children:"Inspection log"})]}),l.jsx(ve,{type:"button",variant:"outline",size:"sm",disabled:M,onClick:()=>{ri()},children:M?"Loading…":"Refresh history"})]}),l.jsxs("div",{className:"mt-3 flex flex-col gap-2 lg:flex-row",children:[l.jsx("input",{className:"flex-1 rounded border border-zinc-700 bg-transparent px-2 py-1.5 text-sm text-zinc-200 placeholder-zinc-600 focus:border-zinc-500 focus:outline-none",type:"text",placeholder:"Filter exact URL",value:$,onChange:V=>U(V.target.value)}),l.jsx(ve,{type:"button",size:"sm",variant:"outline",disabled:M,onClick:()=>{ri()},children:"Apply filter"})]}),f.length>0?l.jsx("div",{className:"mt-3 overflow-x-auto",children:l.jsxs("table",{className:"data-table w-full text-sm",children:[l.jsx("thead",{children:l.jsxs("tr",{children:[l.jsx("th",{className:"text-left",children:"URL"}),l.jsx("th",{className:"text-left",children:"Indexing"}),l.jsx("th",{className:"text-left",children:"Verdict"}),l.jsx("th",{className:"text-left",children:"Coverage"}),l.jsx("th",{className:"text-left",children:"Mobile"}),l.jsx("th",{className:"text-left",children:"Inspected"})]})}),l.jsx("tbody",{children:f.map(V=>l.jsxs("tr",{children:[l.jsx("td",{className:"max-w-sm truncate text-zinc-200",children:V.url}),l.jsx("td",{className:"text-zinc-300",children:V.indexingState??"Unknown"}),l.jsx("td",{className:"text-zinc-400",children:V.verdict??"Unknown"}),l.jsx("td",{className:"text-zinc-400",children:V.coverageState??"Unknown"}),l.jsx("td",{className:"text-zinc-400",children:X2(V.isMobileFriendly)}),l.jsx("td",{className:"text-zinc-400",children:Ki(V.inspectedAt)})]},V.id))})]})}):l.jsx("p",{className:"mt-3 text-sm text-zinc-500",children:"No inspection history yet."})]}),l.jsxs(Fe,{className:"surface-card",children:[l.jsx("div",{className:"section-head",children:l.jsxs("div",{children:[l.jsx("p",{className:"eyebrow eyebrow-soft",children:"Deindexed"}),l.jsx("h3",{children:"Recent indexing losses"})]})}),m.length>0?l.jsx("div",{className:"mt-3 overflow-x-auto",children:l.jsxs("table",{className:"data-table w-full text-sm",children:[l.jsx("thead",{children:l.jsxs("tr",{children:[l.jsx("th",{className:"text-left",children:"URL"}),l.jsx("th",{className:"text-left",children:"Previous"}),l.jsx("th",{className:"text-left",children:"Current"}),l.jsx("th",{className:"text-left",children:"Changed at"})]})}),l.jsx("tbody",{children:m.map(V=>l.jsxs("tr",{children:[l.jsx("td",{className:"max-w-sm truncate text-zinc-200",children:V.url}),l.jsx("td",{className:"text-zinc-400",children:V.previousState??"Unknown"}),l.jsx("td",{className:"text-zinc-300",children:V.currentState??"Unknown"}),l.jsx("td",{className:"text-zinc-400",children:Ki(V.transitionDate)})]},`${V.url}:${V.transitionDate}`))})]})}):l.jsx("p",{className:"mt-3 text-sm text-zinc-500",children:"No deindexed transitions recorded."})]})]}),Te&&l.jsxs(l.Fragment,{children:[l.jsx("div",{className:"border-t border-zinc-800/60 pt-3",children:l.jsxs("button",{type:"button",className:"flex w-full items-center gap-2 text-left",onClick:()=>we(V=>!V),children:[l.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",className:`h-4 w-4 text-zinc-500 transition-transform ${vn?"rotate-90":""}`,"aria-hidden":"true",children:l.jsx("path",{fillRule:"evenodd",d:"M7.21 14.77a.75.75 0 01.02-1.06L11.168 10 7.23 6.29a.75.75 0 111.04-1.08l4.5 4.25a.75.75 0 010 1.08l-4.5 4.25a.75.75 0 01-1.06-.02z",clipRule:"evenodd"})}),l.jsx("span",{className:"text-xs uppercase tracking-wide text-zinc-500",children:"Setup & Configuration"})]})}),vn&&l.jsxs("div",{className:"space-y-3",children:[l.jsxs("div",{className:"grid gap-3 xl:grid-cols-2",children:[l.jsxs(Fe,{className:"surface-card",children:[l.jsx("div",{className:"section-head",children:l.jsxs("div",{children:[l.jsx("p",{className:"eyebrow eyebrow-soft",children:"Property"}),l.jsx("h3",{children:"Pick the Search Console property"})]})}),l.jsxs("div",{className:"mt-3 space-y-2",children:[l.jsx("label",{className:"text-xs text-zinc-500",htmlFor:`gsc-property-${e}`,children:"Property URL"}),l.jsx("select",{id:`gsc-property-${e}`,className:"w-full rounded border border-zinc-700 bg-transparent px-2 py-1.5 text-sm text-zinc-200 focus:border-zinc-500 focus:outline-none",value:S,disabled:X||a.length===0,onChange:V=>j(V.target.value),children:a.length===0?l.jsx("option",{value:"",children:X?"Loading properties…":"No properties available"}):a.map(V=>l.jsxs("option",{value:V.siteUrl,children:[V.siteUrl," · ",V.permissionLevel]},V.siteUrl))}),l.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[l.jsx(ve,{type:"button",size:"sm",variant:"outline",disabled:X,onClick:()=>{na(Te)},children:X?"Refreshing…":"Refresh properties"}),l.jsx(ve,{type:"button",size:"sm",disabled:!S||Ne,onClick:Bh,children:Ne?"Saving…":"Save property"})]}),l.jsx("p",{className:"text-xs text-zinc-500",children:"The selected property is used for future syncs and URL inspections for this project."})]})]}),l.jsxs(Fe,{className:"surface-card",children:[l.jsx("div",{className:"section-head",children:l.jsxs("div",{children:[l.jsx("p",{className:"eyebrow eyebrow-soft",children:"Sync"}),l.jsx("h3",{children:"Import GSC performance data"})]})}),l.jsxs("div",{className:"mt-3 space-y-3",children:[l.jsxs("div",{className:"grid gap-3 sm:grid-cols-[160px_1fr]",children:[l.jsxs("div",{children:[l.jsx("label",{className:"text-xs text-zinc-500",htmlFor:`gsc-sync-days-${e}`,children:"Days"}),l.jsx("input",{id:`gsc-sync-days-${e}`,type:"number",min:"1",className:"mt-0.5 w-full rounded border border-zinc-700 bg-transparent px-2 py-1.5 text-sm text-zinc-200 placeholder-zinc-600 focus:border-zinc-500 focus:outline-none",value:_,onChange:V=>C(V.target.value)})]}),l.jsxs("label",{className:"flex items-center gap-2 rounded border border-zinc-800/60 bg-zinc-900/20 px-3 py-2 text-sm text-zinc-300",children:[l.jsx("input",{type:"checkbox",checked:T,onChange:V=>E(V.target.checked)}),"Replace existing imported rows for the requested range"]})]}),l.jsx(ve,{type:"button",size:"sm",disabled:xe.isPending||!Te.propertyId,onClick:rd,children:xe.isPending?"Queueing…":"Queue sync"}),!Te.propertyId&&l.jsx("p",{className:"text-xs text-amber-400",children:"Select a Search Console property before queueing a sync."})]})]})]}),l.jsxs(Fe,{className:"surface-card",children:[l.jsx("div",{className:"section-head",children:l.jsxs("div",{children:[l.jsx("p",{className:"eyebrow eyebrow-soft",children:"Sitemap"}),l.jsx("h3",{children:"Sitemap configuration"})]})}),l.jsxs("div",{className:"mt-3 space-y-3",children:[Te.sitemapUrl&&l.jsxs("div",{className:"rounded-lg border border-zinc-800/60 bg-zinc-900/20 p-3",children:[l.jsx("p",{className:"text-xs uppercase tracking-wide text-zinc-500",children:"Current sitemap URL"}),l.jsx("p",{className:"mt-1 text-sm text-zinc-200 break-all",children:Te.sitemapUrl})]}),l.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[l.jsx(ve,{type:"button",size:"sm",variant:"outline",disabled:ze||!Te.propertyId,onClick:()=>{To()},children:ze?"Loading…":"Browse sitemaps from GSC"}),l.jsx(ve,{type:"button",size:"sm",variant:"outline",disabled:en.isPending||!Te.propertyId,onClick:tc,children:en.isPending?"Discovering…":"Auto-discover and queue inspection"})]}),l.jsx("p",{className:"text-xs text-zinc-500",children:"Browse lists available sitemaps without queueing a run. Auto-discover saves the primary sitemap and queues an inspection."}),He&&He.length>0&&l.jsxs("div",{className:"rounded-lg border border-zinc-800/60 bg-zinc-900/20 p-3 space-y-2",children:[l.jsxs("p",{className:"text-xs uppercase tracking-wide text-zinc-500",children:["Sitemaps (",He.length,")"]}),He.map(V=>{const _e=V.contents?.[0];return l.jsxs("div",{className:"flex items-start justify-between gap-2 text-xs",children:[l.jsxs("div",{children:[l.jsx("p",{className:"text-zinc-200 break-all",children:V.path}),V.lastSubmitted&&l.jsxs("p",{className:"text-zinc-500",children:["Submitted: ",V.lastSubmitted.split("T")[0]]})]}),l.jsxs("div",{className:"flex items-center gap-3 shrink-0",children:[_e&&l.jsxs("div",{className:"text-right",children:[l.jsxs("p",{className:"text-zinc-300",children:[_e.indexed," / ",_e.submitted]}),l.jsx("p",{className:"text-zinc-500",children:"indexed"})]}),l.jsx("button",{type:"button",className:"text-xs text-zinc-400 hover:text-zinc-200 transition-colors",onClick:()=>tt(V.path),children:"Use"})]})]},V.path)})]}),l.jsxs("div",{className:"flex flex-col gap-2 lg:flex-row",children:[l.jsx("input",{className:"flex-1 rounded border border-zinc-700 bg-transparent px-2 py-1.5 text-sm text-zinc-200 placeholder-zinc-600 focus:border-zinc-500 focus:outline-none",type:"url",placeholder:Te.sitemapUrl?"Update sitemap URL…":"https://example.com/sitemap.xml",value:it,onChange:V=>tt(V.target.value),onKeyDown:V=>V.key==="Enter"&&it.trim()&&void zo()}),l.jsx(ve,{type:"button",size:"sm",disabled:Pt||!it.trim(),onClick:zo,children:Pt?"Saving…":Te.sitemapUrl?"Update":"Save"})]}),l.jsxs("div",{className:"flex flex-col gap-2 lg:flex-row",children:[l.jsx("input",{className:"flex-1 rounded border border-zinc-700 bg-transparent px-2 py-1.5 text-sm text-zinc-200 placeholder-zinc-600 focus:border-zinc-500 focus:outline-none",type:"url",placeholder:"Sitemap URL for inspection (leave empty for saved default)",id:`gsc-sitemap-inspect-${e}`}),l.jsx(ve,{type:"button",size:"sm",variant:"outline",disabled:Br.isPending||!Te.propertyId,onClick:async()=>{const _e=document.getElementById(`gsc-sitemap-inspect-${e}`)?.value?.trim()||Te.sitemapUrl||void 0;ke(null),Pe(null);try{await Br.mutateAsync({projectName:e,projectLabel:e,opts:{sitemapUrl:_e}})}catch{}},children:Br.isPending?"Queueing…":"Inspect sitemap"})]}),!Te.propertyId&&l.jsx("p",{className:"text-xs text-amber-400",children:"Select a Search Console property first."})]})]})]})]})]})]})}function DS({children:e,label:t="More info",placement:n="top",className:r}){const i=x.useId(),[a,o]=x.useState(!1);return l.jsxs("span",{className:`relative inline-flex ${r??""}`,children:[l.jsx("button",{type:"button","aria-label":t,"aria-describedby":a?i:void 0,className:"inline-flex h-4 w-4 items-center justify-center rounded-full text-zinc-500 hover:text-zinc-200 focus:text-zinc-200 focus:outline-none focus-visible:ring-1 focus-visible:ring-zinc-500",onMouseEnter:()=>o(!0),onMouseLeave:()=>o(!1),onFocus:()=>o(!0),onBlur:()=>o(!1),children:l.jsx(aL,{className:"h-3.5 w-3.5","aria-hidden":!0})}),a&&l.jsx("span",{id:i,role:"tooltip",className:`absolute z-50 w-64 rounded border border-zinc-700 bg-zinc-900 px-3 py-2 text-xs font-normal leading-relaxed text-zinc-200 shadow-lg ${n==="top"?"bottom-full mb-2":"top-full mt-2"} left-1/2 -translate-x-1/2 whitespace-normal`,children:e})]})}const il=50;function Qc(e){return typeof window>"u"?e:`${window.__CANONRY_CONFIG__?.basePath?.replace(/\/$/,"")??""}${e}`}function Gm(e){return e.toLocaleString()}function Pke(e){const t=Number(e);return Number.isFinite(t)?`${(t*100).toFixed(1)}%`:"—"}function Rke(e){const t=Date.now()-new Date(e).getTime(),n=Math.floor(t/6e4);if(n<1)return"just now";if(n<60)return`${n}m ago`;const r=Math.floor(n/60);return r<24?`${r}h ago`:`${Math.floor(r/24)}d ago`}function Dke(e){const t=e.filter(n=>n.kind===Gt["backlink-extract"]&&!fN(n.status));return t.length===0?null:t.reduce((n,r)=>n.createdAt>r.createdAt?n:r)}function Mke(e,t){const n=new Date(e??t).getTime(),r=Math.max(0,Math.floor((Date.now()-n)/1e3));if(r<60)return`${r}s`;const i=Math.floor(r/60),a=r%60;return a===0?`${i}m`:`${i}m ${a}s`}function Ike({projectName:e}){const[t,n]=x.useState(null),[r,i]=x.useState(null),[a,o]=x.useState([]),[u,d]=x.useState(null),[f,p]=x.useState(null),[m,y]=x.useState(null),[v,w]=x.useState(Date.now()),[S,j]=x.useState(0),[k,O]=x.useState(!0),[_,C]=x.useState(!1),[T,E]=x.useState(null),A=x.useRef(null),P=x.useCallback(async()=>{O(!0),E(null);try{const[Z,K,X,pe,Ne]=await Promise.all([eL().catch(()=>null),rG(e).catch(()=>null),iG(e,{limit:il,offset:S}).catch(B=>{if(B instanceof _i&&B.code==="NOT_FOUND")return null;throw B}),aG(e).catch(()=>[]),QH(e).catch(()=>[])]);d(Z),n(K),i(X),o(pe);const R=Dke(Ne);p(R),A.current=R?.id??null}catch(Z){E(Z instanceof Error?Z.message:"Failed to load backlinks")}finally{O(!1)}},[e,S]);x.useEffect(()=>{P()},[P]),x.useEffect(()=>{if(!f)return;const Z=f.id;let K=!1;const X=async()=>{try{const Ne=await El(Z);if(K)return;fN(Ne.status)?(p(null),y(Ne),await P()):p(R=>R?.id===Ne.id?{...R,...Ne}:R)}catch{}},pe=window.setInterval(()=>{X()},3e3);return()=>{K=!0,window.clearInterval(pe)}},[f,P]),x.useEffect(()=>{if(!f)return;const Z=window.setInterval(()=>w(Date.now()),1e3);return()=>window.clearInterval(Z)},[f]),x.useEffect(()=>{if(!m||m.status==="failed")return;const Z=window.setTimeout(()=>y(null),1e4);return()=>window.clearTimeout(Z)},[m]);async function I(){C(!0),E(null);try{const Z=await sG(e);p(Z),A.current=Z.id}catch(Z){Z instanceof _i&&Z.code==="MISSING_DEPENDENCY"?E("DuckDB is not installed. Visit the Backlinks admin page to install it."):E(Z instanceof Error?Z.message:"Failed to trigger extract")}finally{C(!1)}}const q=x.useMemo(()=>a.slice().sort((Z,K)=>Z.queriedAt.localeCompare(K.queriedAt)).map(Z=>({date:Z.queriedAt,linkingDomains:Z.totalLinkingDomains})),[a]),$=r&&r.total>il,U=Math.floor(S/il)+1,G=r?Math.max(1,Math.ceil(r.total/il)):1;return l.jsxs("section",{className:"page-section-divider",children:[l.jsx("div",{className:"section-head section-head-inline",children:l.jsxs("div",{children:[l.jsx("p",{className:"eyebrow eyebrow-soft",children:"Backlinks"}),l.jsx("h2",{children:"Referring domains"}),l.jsxs("p",{className:"text-sm text-zinc-500 mt-1 max-w-2xl",children:["Domains linking to "," ",l.jsx("span",{className:"text-zinc-300",children:e}),", extracted from the Common Crawl hyperlink graph. Updates when a release sync completes — no live scraping, no paid API."]})]})}),T&&l.jsx(Fe,{className:"surface-card p-4 mb-4 border-rose-800/60",children:l.jsx("p",{className:"text-sm text-rose-300",children:T})}),f&&l.jsx(Fe,{className:"surface-card p-4 mb-4 border-sky-800/60",children:l.jsxs("div",{className:"flex items-start gap-3",children:[l.jsx(oL,{className:"h-5 w-5 text-sky-400 animate-spin shrink-0 mt-0.5","aria-hidden":!0}),l.jsxs("div",{className:"flex-1 min-w-0",children:[l.jsxs("div",{className:"flex items-center gap-2 flex-wrap",children:[l.jsx("p",{className:"text-sm font-medium text-zinc-100",children:"Extract running"}),l.jsx(wt,{tone:"neutral",children:f.status}),l.jsxs("span",{className:"text-xs text-zinc-500 tabular-nums",children:[Mke(f.startedAt,f.createdAt)," elapsed · refreshing every 3s"]}),l.jsxs("span",{className:"sr-only",children:["now=",v]})]}),l.jsxs("p",{className:"text-xs text-zinc-500 mt-1",children:["Re-querying the cached Common Crawl release for"," ",l.jsx("span",{className:"text-zinc-300",children:e}),". No re-download — the ~16 GB dump already lives at"," ",l.jsx("code",{className:"text-zinc-400",children:"~/.canonry/cache/commoncrawl/"}),". Typically takes ~5 minutes."]})]})]})}),m&&!f&&l.jsx(Fe,{className:`surface-card p-4 mb-4 ${m.status==="failed"?"border-rose-800/60":"border-emerald-800/60"}`,children:l.jsxs("div",{className:"flex items-start gap-3",children:[m.status==="failed"?l.jsx("span",{className:"h-5 w-5 shrink-0 mt-0.5 text-rose-400 text-lg leading-none","aria-hidden":!0,children:"!"}):l.jsx(iL,{className:"h-5 w-5 text-emerald-400 shrink-0 mt-0.5","aria-hidden":!0}),l.jsxs("div",{className:"flex-1",children:[l.jsx("p",{className:`text-sm font-medium ${m.status==="failed"?"text-rose-300":"text-emerald-300"}`,children:m.status==="failed"?"Extract failed":"Extract complete"}),m.error?l.jsx("p",{className:"text-xs text-zinc-500 mt-1",children:iJ(m.error)}):m.status!=="failed"?l.jsx("p",{className:"text-xs text-zinc-500 mt-1",children:"Backlinks refreshed from the cached release."}):null]})]})}),te()]});function te(){if(k)return l.jsx(Fe,{className:"surface-card p-6",children:l.jsx("p",{className:"text-sm text-zinc-500",children:"Loading backlinks…"})});const Z=t!==null&&t.totalLinkingDomains>0,K=m?.status==="failed",X=t!==null&&t.totalLinkingDomains===0&&!K,pe=u?.status==="ready",Ne=u?.status==="failed",R=u&&(u.status==="downloading"||u.status==="querying"||u.status==="queued");return Z?l.jsxs(l.Fragment,{children:[l.jsxs("div",{className:"gauge-row",children:[l.jsxs("div",{className:"metric-card",children:[l.jsx("p",{className:"metric-card-eyebrow",children:"Referring domains"}),l.jsx("p",{className:"metric-card-big-value",children:l.jsx("span",{className:"text-zinc-50",children:Gm(t.totalLinkingDomains)})}),l.jsxs("p",{className:"metric-card-sub",children:["unique domains linking to ",t.targetDomain]})]}),l.jsxs("div",{className:"metric-card",children:[l.jsx("p",{className:"metric-card-eyebrow",children:"Total linking hosts"}),l.jsx("p",{className:"metric-card-big-value",children:l.jsx("span",{className:"text-zinc-50",children:Gm(t.totalHosts)})}),l.jsx("p",{className:"metric-card-sub",children:"aggregate host count across referring domains"})]}),l.jsxs("div",{className:"metric-card",children:[l.jsx("p",{className:"metric-card-eyebrow",children:"Top-10 concentration"}),l.jsx("p",{className:"metric-card-big-value",children:l.jsx("span",{className:"text-zinc-50",children:Pke(t.top10HostsShare)})}),l.jsx("p",{className:"metric-card-sub",children:"share of hosts from the 10 largest linking domains"})]})]}),l.jsxs("p",{className:"text-xs text-zinc-600 mt-2",children:["Release ",l.jsx("code",{className:"text-zinc-400",children:t.release})," · queried ",Rke(t.queriedAt)]}),q.length>=2&&l.jsxs(Fe,{className:"surface-card p-4 mt-4",children:[l.jsx("p",{className:"eyebrow eyebrow-soft",children:"Referring domains over releases"}),l.jsx("div",{className:"h-40 mt-2",children:l.jsx(ey,{width:"100%",height:"100%",children:l.jsxs(Py,{data:q,margin:{top:8,right:12,bottom:0,left:12},children:[l.jsx("defs",{children:l.jsxs("linearGradient",{id:"bl-gradient",x1:"0",y1:"0",x2:"0",y2:"1",children:[l.jsx("stop",{offset:"0%",stopColor:oo[0],stopOpacity:.4}),l.jsx("stop",{offset:"100%",stopColor:oo[0],stopOpacity:0})]})}),l.jsx(ih,{dataKey:"date",tick:so,stroke:sh,tickFormatter:Dy}),l.jsx(ah,{tick:so,stroke:sh,allowDecimals:!1}),l.jsx(ky,{contentStyle:xu.contentStyle,labelStyle:xu.labelStyle,itemStyle:xu.itemStyle,labelFormatter:Ry}),l.jsx(xl,{type:"monotone",dataKey:"linkingDomains",name:"Referring domains",stroke:oo[0],fill:"url(#bl-gradient)",strokeWidth:2})]})})})]}),l.jsxs("div",{className:"mt-4",children:[l.jsxs("div",{className:"flex items-center justify-between mb-2",children:[l.jsx("p",{className:"eyebrow eyebrow-soft",children:"Top referring domains"}),$&&l.jsxs("p",{className:"text-xs text-zinc-600",children:["Page ",U," of ",G," · ",Gm(r.total)," total"]})]}),l.jsx(Fe,{className:"surface-card overflow-hidden",children:l.jsxs("table",{className:"w-full text-sm",children:[l.jsx("thead",{children:l.jsxs("tr",{className:"border-b border-zinc-800 text-left text-xs uppercase tracking-wide text-zinc-600",children:[l.jsx("th",{className:"px-4 py-2 font-medium",children:"Domain"}),l.jsx("th",{className:"px-4 py-2 text-right font-medium",children:"Linking hosts"})]})}),l.jsxs("tbody",{children:[(r?.rows??[]).map(B=>l.jsxs("tr",{className:"border-b border-zinc-900 last:border-0",children:[l.jsx("td",{className:"px-4 py-2 text-zinc-200",children:B.linkingDomain}),l.jsx("td",{className:"px-4 py-2 text-right text-zinc-400 tabular-nums",children:Gm(B.numHosts)})]},B.linkingDomain)),r?.rows.length===0&&l.jsx("tr",{children:l.jsx("td",{className:"px-4 py-4 text-sm text-zinc-500",colSpan:2,children:"No referring domains in this release."})})]})]})}),$&&l.jsxs("div",{className:"flex items-center justify-end gap-2 mt-2",children:[l.jsx(ve,{type:"button",variant:"outline",size:"sm",disabled:S===0,onClick:()=>j(B=>Math.max(0,B-il)),children:"Previous"}),l.jsx(ve,{type:"button",variant:"outline",size:"sm",disabled:S+il>=(r?.total??0),onClick:()=>j(B=>B+il),children:"Next"})]})]}),l.jsxs("div",{className:"mt-4 flex items-center gap-3 flex-wrap",children:[l.jsxs(ve,{type:"button",variant:"outline",size:"sm",disabled:_||f!==null,onClick:I,children:[l.jsx(Jj,{className:"h-4 w-4 mr-1.5","aria-hidden":!0}),f?"Extract running…":_?"Queuing…":"Re-run extract"]}),l.jsxs(DS,{label:"What does Re-run extract do?",children:[l.jsxs("span",{className:"block",children:["Re-queries the ",l.jsx("span",{className:"text-zinc-200",children:"cached release files"})," at"," ",l.jsx("code",{className:"text-zinc-300",children:"~/.canonry/cache/commoncrawl/"})," for ",l.jsx("span",{className:"text-zinc-200",children:e}),". Replaces existing backlink rows for this project under the current release."]}),l.jsxs("span",{className:"mt-2 block text-zinc-400",children:[l.jsx("span",{className:"text-zinc-200",children:"No re-download"})," of the ~16 GB dump. Typically ",l.jsx("span",{className:"text-zinc-200",children:"~5 min"}),"."]})]}),l.jsx(ve,{asChild:!0,type:"button",variant:"outline",size:"sm",children:l.jsx("a",{href:Qc("/backlinks"),children:"Open admin"})})]})]}):l.jsx(Fe,{className:"surface-card p-6",children:l.jsxs("div",{className:"flex items-start gap-4",children:[l.jsx("div",{className:"flex h-10 w-10 shrink-0 items-center justify-center rounded-lg bg-zinc-900 text-zinc-400",children:l.jsx(sL,{className:"h-5 w-5","aria-hidden":!0})}),l.jsxs("div",{className:"flex-1",children:[!u&&l.jsxs(l.Fragment,{children:[l.jsx("h3",{className:"text-base font-semibold text-zinc-100",children:"No release sync yet"}),l.jsx("p",{className:"text-sm text-zinc-500 mt-1",children:"Run a workspace release sync to populate backlinks for every project in this workspace."}),l.jsx("div",{className:"mt-4",children:l.jsx(ve,{asChild:!0,type:"button",size:"sm",children:l.jsx("a",{href:Qc("/backlinks"),children:"Set up backlinks"})})})]}),R&&l.jsxs(l.Fragment,{children:[l.jsx("h3",{className:"text-base font-semibold text-zinc-100",children:"Sync in progress"}),l.jsxs("p",{className:"text-sm text-zinc-500 mt-1",children:["A workspace release sync is running (",u.status,u.phaseDetail?` — ${u.phaseDetail}`:"","). Backlinks will appear here once it finishes."]}),l.jsx("div",{className:"mt-4",children:l.jsx(ve,{asChild:!0,type:"button",variant:"outline",size:"sm",children:l.jsx("a",{href:Qc("/backlinks"),children:"View sync status"})})})]}),Ne&&l.jsxs(l.Fragment,{children:[l.jsx("h3",{className:"text-base font-semibold text-zinc-100",children:"Last sync failed"}),l.jsx("p",{className:"text-sm text-zinc-500 mt-1",children:u.error??"The workspace release sync failed. Retry from the Backlinks admin page."}),l.jsx("div",{className:"mt-4",children:l.jsx(ve,{asChild:!0,type:"button",size:"sm",children:l.jsx("a",{href:Qc("/backlinks"),children:"Go to Backlinks admin"})})})]}),pe&&!R&&!X&&!K&&l.jsxs(l.Fragment,{children:[l.jsx("h3",{className:"text-base font-semibold text-zinc-100",children:"No backlinks yet for this project"}),l.jsxs("p",{className:"text-sm text-zinc-500 mt-1",children:["Release ",l.jsx("code",{className:"text-zinc-300",children:u.release})," is ready but no backlinks have been extracted for"," ",l.jsx("code",{className:"text-zinc-300",children:e}),". Run an extract to populate data using the cached release."]}),l.jsxs("div",{className:"mt-4 flex items-center gap-3 flex-wrap",children:[l.jsxs(ve,{type:"button",size:"sm",disabled:_||f!==null,onClick:I,children:[l.jsx(Sg,{className:"h-4 w-4 mr-1.5","aria-hidden":!0}),f?"Extract running…":_?"Queuing…":"Run extract"]}),l.jsxs(DS,{label:"What does Run extract do?",children:[l.jsxs("span",{className:"block",children:["Runs a DuckDB query against the ",l.jsx("span",{className:"text-zinc-200",children:"cached release files"})," at"," ",l.jsx("code",{className:"text-zinc-300",children:"~/.canonry/cache/commoncrawl/"})," to find referring domains for ",l.jsx("span",{className:"text-zinc-200",children:e}),"."]}),l.jsxs("span",{className:"mt-2 block text-zinc-400",children:["No re-download. Typically takes ",l.jsx("span",{className:"text-zinc-200",children:"~5 min"}),"."]})]})]})]}),K&&l.jsxs(l.Fragment,{children:[l.jsx("h3",{className:"text-base font-semibold text-zinc-100",children:"Last extract failed"}),l.jsxs("p",{className:"text-sm text-zinc-500 mt-1",children:["See the error above for details. If the cache files for release"," ",l.jsx("code",{className:"text-zinc-300",children:u?.release})," are missing, re-sync the release from the Backlinks admin to restore the ~16 GB dump, then re-run the extract."]}),l.jsx("div",{className:"mt-4 flex items-center gap-3 flex-wrap",children:l.jsx(ve,{asChild:!0,type:"button",size:"sm",children:l.jsx("a",{href:Qc("/backlinks"),children:"Go to Backlinks admin"})})})]}),X&&l.jsxs(l.Fragment,{children:[l.jsx("h3",{className:"text-base font-semibold text-zinc-100",children:"No referring domains found"}),l.jsxs("p",{className:"text-sm text-zinc-500 mt-1",children:["The last extract against release ",l.jsx("code",{className:"text-zinc-300",children:t.release})," found"," ",l.jsx("span",{className:"text-zinc-300",children:"0 referring domains"})," for"," ",l.jsx("code",{className:"text-zinc-300",children:t.targetDomain}),". This can happen when:"]}),l.jsxs("ul",{className:"mt-2 space-y-1 text-xs text-zinc-500 list-disc list-inside",children:[l.jsx("li",{children:"the domain is newer than the release’s crawl window"}),l.jsx("li",{children:"the Common Crawl snapshot didn’t capture pages that link to it"}),l.jsx("li",{children:"the extract ran against a cache that was missing or incomplete"})]}),l.jsx("p",{className:"text-sm text-zinc-500 mt-3",children:"Try syncing a newer release — each Common Crawl dump is a different snapshot of the web graph."}),l.jsxs("div",{className:"mt-4 flex items-center gap-3 flex-wrap",children:[l.jsx(ve,{asChild:!0,type:"button",size:"sm",children:l.jsx("a",{href:Qc("/backlinks"),children:"Go to Backlinks admin"})}),l.jsxs(ve,{type:"button",variant:"outline",size:"sm",disabled:_||f!==null,onClick:I,children:[l.jsx(Sg,{className:"h-4 w-4 mr-1.5","aria-hidden":!0}),f?"Extract running…":_?"Queuing…":"Re-run extract"]}),l.jsxs(DS,{label:"What does Re-run extract do?",children:[l.jsxs("span",{className:"block",children:["Re-queries the cached release for ",l.jsx("span",{className:"text-zinc-200",children:t.targetDomain}),". Only useful if the cache files were incomplete last time."]}),l.jsx("span",{className:"mt-2 block text-zinc-400",children:"No re-download. ~5 min. If the release genuinely has no links for your domain, this won’t help — sync a different release instead."})]})]})]})]})]})})}}function Lke({projectName:e}){const[t,n]=x.useState(null),[r,i]=x.useState(!0),[a,o]=x.useState(null);if(x.useEffect(()=>{let p=!1;return i(!0),Z7(e).then(m=>{p||n(m)}).catch(m=>{p||o(m instanceof Error?m.message:String(m))}).finally(()=>{p||i(!1)}),()=>{p=!0}},[e]),r&&!t)return null;if(a)return l.jsxs("section",{className:"page-section-divider",children:[l.jsx("div",{className:"section-head section-head-inline",children:l.jsxs("div",{children:[l.jsx("p",{className:"eyebrow eyebrow-soft",children:"Citation visibility"}),l.jsx("h2",{children:"Citation + answer-mention coverage"})]})}),l.jsx("p",{className:"text-sm text-rose-400",children:a})]});if(!t)return null;if(t.status==="no-data")return l.jsxs("section",{className:"page-section-divider",children:[l.jsx("div",{className:"section-head section-head-inline",children:l.jsxs("div",{children:[l.jsx("p",{className:"eyebrow eyebrow-soft",children:"Citation visibility"}),l.jsx("h2",{children:"Citation + answer-mention coverage"})]})}),l.jsx("p",{className:"text-sm text-zinc-500",children:t.reason==="no-keywords"?"Add keywords to start tracking AI citations.":"Run a sweep to see which engines cite this project."})]});const{providersCiting:u,providersMentioning:d,providersConfigured:f}=t.summary;return l.jsxs("section",{className:"page-section-divider",children:[l.jsxs("div",{className:"section-head section-head-inline",children:[l.jsxs("div",{className:"space-y-1",children:[l.jsx("p",{className:"eyebrow eyebrow-soft",children:"Citation visibility"}),l.jsxs("h2",{className:"flex items-center gap-2",children:["Cited by ",u," of ",f," engines",l.jsx(On,{text:"An engine is ‘citing’ when our domain appears in its grounding source list (the structured citation/search-result attribution it returns alongside the answer). Counts each configured engine that cites the project on at least one tracked keyword in the latest snapshot per (keyword × provider)."})]}),l.jsxs("p",{className:"text-base text-zinc-300 flex items-center gap-2",children:["Mentioned in ",d," of ",f," engine answers",l.jsx(On,{text:"An engine is ‘mentioning’ when our brand or domain appears inside the prose of the answer text — independent of whether it’s in the citation list. Models often name-drop from training without citing a fresh page."})]})]}),t.summary.latestRunAt&&l.jsxs("p",{className:"supporting-copy",children:["Latest run ",new Date(t.summary.latestRunAt).toLocaleString()]})]}),l.jsx($ke,{data:t}),l.jsx(Bke,{data:t}),t.competitorGaps.length>0&&l.jsx(Kke,{data:t})]})}function $ke({data:e}){const{totalKeywords:t,keywordsCitedAndMentioned:n,keywordsCitedOnly:r,keywordsMentionedOnly:i,keywordsInvisible:a}=e.summary;return l.jsxs("div",{className:"grid grid-cols-2 gap-3 sm:grid-cols-4 mb-4",children:[l.jsx(Vm,{label:"Cited + mentioned",value:`${n} / ${t}`,helper:"In sources AND named in answer",tone:n>0?"positive":"neutral"}),l.jsx(Vm,{label:"Cited only",value:`${r} / ${t}`,helper:"In sources, not named in answer",tone:r>0?"positive-dim":"neutral"}),l.jsx(Vm,{label:"Mentioned only",value:`${i} / ${t}`,helper:"Named in answer, no source link",tone:i>0?"caution":"neutral"}),l.jsx(Vm,{label:"Invisible",value:`${a} / ${t}`,helper:"No engine cites or mentions",tone:a>0?"negative":"neutral"})]})}function Vm({label:e,value:t,helper:n,tone:r}){const i=r==="positive"?"text-emerald-300":r==="positive-dim"?"text-emerald-400/70":r==="caution"?"text-amber-300":r==="negative"?"text-rose-300":"text-zinc-100";return l.jsxs("div",{className:"rounded-md border border-zinc-800/60 bg-zinc-900/30 px-4 py-3",children:[l.jsx("p",{className:"text-[10px] uppercase tracking-wide text-zinc-500",children:e}),l.jsx("p",{className:`mt-1 text-2xl font-semibold tabular-nums ${i}`,children:t}),l.jsx("p",{className:"text-[11px] text-zinc-500",children:n})]})}function Bke({data:e}){const t=x.useMemo(()=>{const n=new Set;for(const r of e.byKeyword)for(const i of r.providers)n.add(i.provider);return Array.from(n).sort()},[e.byKeyword]);return e.byKeyword.length===0?l.jsx("p",{className:"text-sm text-zinc-500",children:"No keyword coverage rows."}):l.jsxs("div",{children:[l.jsx(Uke,{}),l.jsx("div",{className:"evidence-table-wrap",children:l.jsxs("table",{className:"evidence-table",children:[l.jsx("thead",{children:l.jsxs("tr",{children:[l.jsx("th",{children:"Keyword"}),t.map(n=>l.jsx("th",{className:"text-center",children:l.jsx(Tl,{provider:n})},n)),l.jsx("th",{className:"text-right",children:"Cite"}),l.jsx("th",{className:"text-right",children:"Ment"})]})}),l.jsx("tbody",{children:e.byKeyword.map(n=>l.jsxs("tr",{children:[l.jsx("td",{className:"font-medium text-zinc-100",children:n.keyword}),t.map(r=>{const i=n.providers.find(a=>a.provider===r);return l.jsx("td",{className:"text-center",children:i==null?l.jsx(JG,{className:"inline h-3.5 w-3.5 text-zinc-700","aria-label":"no data"}):l.jsx(Fke,{provider:i})},r)}),l.jsx("td",{className:"text-right tabular-nums",children:l.jsxs("span",{className:n.totalProviders>0&&n.citedCount===n.totalProviders?"text-emerald-300":n.citedCount>0?"text-emerald-400/70":"text-zinc-500",children:[n.citedCount,"/",n.totalProviders]})}),l.jsx("td",{className:"text-right tabular-nums",children:l.jsxs("span",{className:n.totalProviders>0&&n.mentionedCount===n.totalProviders?"text-sky-300":n.mentionedCount>0?"text-sky-400/70":"text-zinc-500",children:[n.mentionedCount,"/",n.totalProviders]})})]},n.keywordId))})]})})]})}function Uke(){return l.jsxs("div",{className:"mb-2 flex flex-wrap items-center gap-3 text-[11px] text-zinc-500",children:[l.jsxs("span",{className:"flex items-center gap-1.5",children:[l.jsx(cu,{active:!0,tone:"cited"}),l.jsx("span",{children:"cited (in sources)"})]}),l.jsxs("span",{className:"flex items-center gap-1.5",children:[l.jsx(cu,{active:!0,tone:"mentioned"}),l.jsx("span",{children:"mentioned (in answer)"})]}),l.jsxs("span",{className:"flex items-center gap-1.5",children:[l.jsx(cu,{active:!1,tone:"cited"}),l.jsx(cu,{active:!1,tone:"mentioned"}),l.jsx("span",{children:"neither"})]})]})}function Fke({provider:e}){const t=qke(e);return l.jsxs("span",{className:"inline-flex items-center justify-center gap-1",title:t,children:[l.jsx(cu,{active:e.cited,tone:"cited"}),l.jsx(cu,{active:e.mentioned,tone:"mentioned"})]})}function qke(e){return e.cited&&e.mentioned?"Cited in sources and mentioned in answer":e.cited?"Cited in sources, not mentioned in answer":e.mentioned?"Mentioned in answer, not in sources":"Not cited and not mentioned"}function cu({active:e,tone:t}){if(!e)return l.jsx("span",{className:"inline-block h-2 w-2 rounded-full border border-zinc-700/80 bg-transparent","aria-hidden":"true"});const n=t==="cited"?"inline-block h-2 w-2 rounded-full bg-emerald-400 shadow-[0_0_0_1px_rgba(16,185,129,0.25)]":"inline-block h-2 w-2 rounded-full bg-sky-400 shadow-[0_0_0_1px_rgba(56,189,248,0.25)]";return l.jsx("span",{className:n,"aria-hidden":"true"})}function Kke({data:e}){return l.jsxs("div",{className:"mt-4",children:[l.jsxs("h3",{className:"text-sm font-semibold text-zinc-200 mb-2 flex items-center gap-2",children:["Competitor gaps",l.jsx(On,{text:"Keywords where the project is not cited but a configured competitor is. Each row maps to one (keyword, engine) pair — the same keyword may surface for multiple engines."}),l.jsxs("span",{className:"text-[10px] font-normal uppercase tracking-wide text-zinc-500",children:[e.competitorGaps.length," ",e.competitorGaps.length===1?"gap":"gaps"]})]}),l.jsx("div",{className:"evidence-table-wrap",children:l.jsxs("table",{className:"evidence-table",children:[l.jsx("thead",{children:l.jsxs("tr",{children:[l.jsx("th",{children:"Keyword"}),l.jsx("th",{children:"Engine"}),l.jsx("th",{children:"Competitors cited"})]})}),l.jsx("tbody",{children:e.competitorGaps.map(t=>l.jsxs("tr",{children:[l.jsx("td",{className:"font-medium text-zinc-100",children:t.keyword}),l.jsx("td",{children:l.jsx(Tl,{provider:t.provider})}),l.jsx("td",{className:"text-zinc-300",children:t.citingCompetitors.join(", ")})]},`${t.keywordId}::${t.provider}`))})]})})]})}function Hke({project:e,onUpdateProject:t,onRefresh:n}){const[r,i]=x.useState(!1),[a,o]=x.useState(!1),[u,d]=x.useState(null),[f,p]=x.useState(e.displayName),[m,y]=x.useState(e.canonicalDomain),[v,w]=x.useState(e.country),[S,j]=x.useState(e.language),[k,O]=x.useState(e.ownedDomains??[]),[_,C]=x.useState(""),[T,E]=x.useState(null),[A,P]=x.useState(!1),[I,q]=x.useState(!1),[$,U]=x.useState(""),[G,te]=x.useState(""),[Z,K]=x.useState(""),[X,pe]=x.useState(""),[Ne,R]=x.useState("");x.useEffect(()=>{r||(p(e.displayName),y(e.canonicalDomain),w(e.country),j(e.language),O(e.ownedDomains??[]))},[e,r]);function B(){i(!1),d(null),p(e.displayName),y(e.canonicalDomain),w(e.country),j(e.language),O(e.ownedDomains??[]),C("")}function F(){const Q=_.trim();Q&&(k.includes(Q)||O([...k,Q]),C(""))}function M(Q){O(k.filter(He=>He!==Q))}async function W(){if(!(!f.trim()||!m.trim()||!v.trim()||!S.trim())){o(!0),d(null);try{await t(e.name,{displayName:f.trim(),canonicalDomain:m.trim(),ownedDomains:k,country:v.trim(),language:S.trim()}),i(!1),gt({title:"Project settings saved",detail:`${f.trim()} was updated.`,tone:"positive",dedupeKey:`project:update:${e.name}`,dedupeMode:"replace"})}catch(Q){d(Q instanceof Error?Q.message:"Failed to save")}finally{o(!1)}}}async function ae(){const Q=$.trim(),He=G.trim(),Me=Z.trim(),it=X.trim();if(!(!Q||!He||!Me||!it)){P(!0),E(null);try{const tt={label:Q,city:He,region:Me,country:it};Ne.trim()&&(tt.timezone=Ne.trim()),await r7(e.name,tt),n(),U(""),te(""),K(""),pe(""),R(""),q(!1),gt({title:"Location added",detail:`${Q} is now available for ${e.name}.`,tone:"positive",dedupeKey:`project:location:add:${e.name}:${Q}`,dedupeMode:"drop"})}catch(tt){E(tt instanceof Error?tt.message:"Failed to add location")}finally{P(!1)}}}async function ne(Q){P(!0),E(null);try{await i7(e.name,Q),n(),gt({title:"Location removed",detail:`${Q} was removed from ${e.name}.`,tone:"positive",dedupeKey:`project:location:remove:${e.name}:${Q}`,dedupeMode:"drop"})}catch(He){E(He instanceof Error?He.message:"Failed to remove location")}finally{P(!1)}}async function de(Q){P(!0),E(null);try{await a7(e.name,Q),n(),gt({title:"Default location updated",detail:`${Q} is now the default for ${e.name}.`,tone:"positive",dedupeKey:`project:location:default:${e.name}`,dedupeMode:"replace"})}catch(He){E(He instanceof Error?He.message:"Failed to set default location")}finally{P(!1)}}const Ce=f!==e.displayName||m!==e.canonicalDomain||v!==e.country||S!==e.language||JSON.stringify(k)!==JSON.stringify(e.ownedDomains??[]),ee="w-full rounded border border-zinc-700 bg-transparent px-2 py-1.5 text-sm text-zinc-200 placeholder-zinc-600 focus:border-zinc-500 focus:outline-none",fe="block text-xs font-medium text-zinc-400 mb-1",ze=$.trim()&&G.trim()&&Z.trim()&&X.trim();return l.jsxs("section",{className:"page-section-divider",children:[l.jsxs("div",{className:"section-head section-head-inline",children:[l.jsxs("div",{children:[l.jsx("p",{className:"eyebrow eyebrow-soft",children:"Configuration"}),l.jsx("h2",{children:"Project settings"})]}),!r&&l.jsx(ve,{type:"button",variant:"outline",size:"sm",onClick:()=>i(!0),children:"Edit settings"})]}),u&&l.jsxs("div",{className:"mb-3 rounded-lg border border-rose-800/40 bg-rose-950/20 px-3 py-2 text-sm text-rose-300",children:[u,l.jsx("button",{type:"button",className:"ml-2 text-rose-400 hover:text-rose-200",onClick:()=>d(null),children:"×"})]}),r?l.jsxs("div",{className:"rounded-lg border border-zinc-800 bg-zinc-900/40 p-4 space-y-4",children:[l.jsxs("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-4",children:[l.jsxs("div",{children:[l.jsx("label",{className:fe,children:"Display name"}),l.jsx("input",{className:ee,type:"text",value:f,onChange:Q=>p(Q.target.value),placeholder:"My Project"})]}),l.jsxs("div",{children:[l.jsx("label",{className:fe,children:"Canonical domain"}),l.jsx("input",{className:ee,type:"text",value:m,onChange:Q=>y(Q.target.value),placeholder:"example.com"})]}),l.jsxs("div",{children:[l.jsx("label",{className:fe,children:"Country"}),l.jsx("input",{className:ee,type:"text",value:v,onChange:Q=>w(Q.target.value),placeholder:"US",maxLength:2})]}),l.jsxs("div",{children:[l.jsx("label",{className:fe,children:"Language"}),l.jsx("input",{className:ee,type:"text",value:S,onChange:Q=>j(Q.target.value),placeholder:"en"})]})]}),l.jsxs("div",{children:[l.jsx("label",{className:fe,children:"Owned domains"}),l.jsx("div",{className:"flex flex-wrap gap-1.5 mb-2",children:k.map(Q=>l.jsxs("span",{className:"inline-flex items-center gap-1 rounded-full border border-zinc-700/60 bg-zinc-800/40 px-2 py-0.5 text-xs text-zinc-300",children:[Q,l.jsx("button",{type:"button",className:"ml-0.5 text-zinc-500 hover:text-zinc-200 transition-colors",onClick:()=>M(Q),"aria-label":`Remove ${Q}`,children:"×"})]},Q))}),l.jsxs("div",{className:"flex gap-2",children:[l.jsx("input",{className:`${ee} flex-1`,type:"text",placeholder:"docs.example.com",value:_,onChange:Q=>C(Q.target.value),onKeyDown:Q=>Q.key==="Enter"&&(Q.preventDefault(),F())}),l.jsx(ve,{type:"button",variant:"outline",size:"sm",disabled:!_.trim(),onClick:F,children:"Add"})]})]}),l.jsxs("div",{className:"flex items-center gap-2 pt-2 border-t border-zinc-800/60",children:[l.jsx(ve,{type:"button",disabled:a||!Ce||!f.trim()||!m.trim(),onClick:W,children:a?"Saving...":"Save changes"}),l.jsx(ve,{type:"button",variant:"outline",disabled:a,onClick:B,children:"Cancel"})]})]}):l.jsx("div",{className:"rounded-lg border border-zinc-800/60 bg-zinc-900/30 overflow-hidden",children:l.jsx("table",{className:"w-full text-sm",children:l.jsxs("tbody",{children:[l.jsxs("tr",{className:"border-b border-zinc-800/40",children:[l.jsx("td",{className:"px-4 py-2.5 text-zinc-500 font-medium w-40",children:"Display name"}),l.jsx("td",{className:"px-4 py-2.5 text-zinc-200",children:e.displayName||"—"})]}),l.jsxs("tr",{className:"border-b border-zinc-800/40",children:[l.jsx("td",{className:"px-4 py-2.5 text-zinc-500 font-medium",children:"Canonical domain"}),l.jsx("td",{className:"px-4 py-2.5 text-zinc-200",children:e.canonicalDomain})]}),l.jsxs("tr",{className:"border-b border-zinc-800/40",children:[l.jsx("td",{className:"px-4 py-2.5 text-zinc-500 font-medium",children:"Owned domains"}),l.jsx("td",{className:"px-4 py-2.5",children:(e.ownedDomains??[]).length>0?l.jsx("div",{className:"flex flex-wrap gap-1.5",children:e.ownedDomains.map(Q=>l.jsx("span",{className:"rounded-full border border-zinc-700/60 bg-zinc-800/40 px-2 py-0.5 text-xs text-zinc-300",children:Q},Q))}):l.jsx("span",{className:"text-zinc-500",children:"—"})})]}),l.jsxs("tr",{className:"border-b border-zinc-800/40",children:[l.jsx("td",{className:"px-4 py-2.5 text-zinc-500 font-medium",children:"Country"}),l.jsx("td",{className:"px-4 py-2.5 text-zinc-200",children:e.country})]}),l.jsxs("tr",{className:"border-b border-zinc-800/40",children:[l.jsx("td",{className:"px-4 py-2.5 text-zinc-500 font-medium",children:"Language"}),l.jsx("td",{className:"px-4 py-2.5 text-zinc-200",children:e.language})]}),l.jsxs("tr",{children:[l.jsx("td",{className:"px-4 py-2.5 text-zinc-500 font-medium align-top pt-3",children:"Locations"}),l.jsxs("td",{className:"px-4 py-2.5",children:[T&&l.jsxs("div",{className:"mb-2 rounded border border-rose-800/40 bg-rose-950/20 px-2 py-1 text-xs text-rose-300",children:[T,l.jsx("button",{type:"button",className:"ml-1 text-rose-400 hover:text-rose-200",onClick:()=>E(null),children:"×"})]}),(e.locations??[]).length>0?l.jsxs("table",{className:"w-full text-xs mb-2",children:[l.jsx("thead",{children:l.jsxs("tr",{className:"text-zinc-600",children:[l.jsx("th",{className:"text-left pb-1 font-medium pr-3",children:"Label"}),l.jsx("th",{className:"text-left pb-1 font-medium pr-3",children:"City"}),l.jsx("th",{className:"text-left pb-1 font-medium pr-3",children:"Region"}),l.jsx("th",{className:"text-left pb-1 font-medium pr-3",children:"Country"}),l.jsx("th",{className:"text-left pb-1 font-medium pr-3",children:"Timezone"}),l.jsx("th",{className:"pb-1"})]})}),l.jsx("tbody",{children:e.locations.map(Q=>l.jsxs("tr",{className:"border-t border-zinc-800/30",children:[l.jsx("td",{className:"py-1.5 pr-3",children:l.jsxs("span",{className:`inline-flex items-center gap-1 rounded-full border px-1.5 py-0.5 text-[10px] font-medium ${Q.label===e.defaultLocation?"border-emerald-700/60 bg-emerald-950/30 text-emerald-300":"border-zinc-700/60 bg-zinc-800/40 text-zinc-300"}`,children:[Q.label,Q.label===e.defaultLocation?" ★":""]})}),l.jsx("td",{className:"py-1.5 pr-3 text-zinc-300",children:Q.city}),l.jsx("td",{className:"py-1.5 pr-3 text-zinc-300",children:Q.region}),l.jsx("td",{className:"py-1.5 pr-3 text-zinc-300",children:Q.country}),l.jsx("td",{className:"py-1.5 pr-3 text-zinc-500",children:Q.timezone??"—"}),l.jsx("td",{className:"py-1.5",children:l.jsxs("div",{className:"flex items-center gap-1.5",children:[Q.label!==e.defaultLocation&&l.jsx("button",{type:"button",disabled:A,onClick:()=>de(Q.label),className:"text-[10px] text-zinc-500 hover:text-emerald-400 transition-colors disabled:opacity-40","aria-label":`Set ${Q.label} as default location`,children:"Set default"}),l.jsx("button",{type:"button",disabled:A,onClick:()=>ne(Q.label),className:"text-[10px] text-zinc-500 hover:text-rose-400 transition-colors disabled:opacity-40","aria-label":`Remove location ${Q.label}`,children:"Remove"})]})})]},Q.label))})]}):l.jsx("p",{className:"text-zinc-500 text-xs mb-2",children:"No locations configured"}),I?l.jsxs("div",{className:"mt-2 rounded border border-zinc-800 bg-zinc-900/50 p-3 space-y-2",children:[l.jsx("p",{className:"text-[10px] font-medium uppercase tracking-wide text-zinc-500",children:"Add location"}),l.jsxs("div",{className:"grid grid-cols-2 gap-2",children:[l.jsxs("div",{children:[l.jsx("label",{className:"block text-[10px] text-zinc-500 mb-0.5",children:"Label *"}),l.jsx("input",{className:ee,type:"text",value:$,onChange:Q=>U(Q.target.value),placeholder:"nyc"})]}),l.jsxs("div",{children:[l.jsx("label",{className:"block text-[10px] text-zinc-500 mb-0.5",children:"City *"}),l.jsx("input",{className:ee,type:"text",value:G,onChange:Q=>te(Q.target.value),placeholder:"New York"})]}),l.jsxs("div",{children:[l.jsx("label",{className:"block text-[10px] text-zinc-500 mb-0.5",children:"Region *"}),l.jsx("input",{className:ee,type:"text",value:Z,onChange:Q=>K(Q.target.value),placeholder:"NY"})]}),l.jsxs("div",{children:[l.jsx("label",{className:"block text-[10px] text-zinc-500 mb-0.5",children:"Country *"}),l.jsx("input",{className:ee,type:"text",value:X,onChange:Q=>pe(Q.target.value),placeholder:"US",maxLength:2})]}),l.jsxs("div",{className:"col-span-2",children:[l.jsx("label",{className:"block text-[10px] text-zinc-500 mb-0.5",children:"Timezone (optional)"}),l.jsx("input",{className:ee,type:"text",value:Ne,onChange:Q=>R(Q.target.value),placeholder:"America/New_York"})]})]}),l.jsxs("div",{className:"flex items-center gap-2 pt-1",children:[l.jsx(ve,{type:"button",size:"sm",disabled:A||!ze,onClick:ae,children:A?"Adding...":"Add location"}),l.jsx(ve,{type:"button",size:"sm",variant:"outline",disabled:A,onClick:()=>{q(!1),E(null)},children:"Cancel"})]})]}):l.jsx(ve,{type:"button",size:"sm",variant:"outline",onClick:()=>q(!0),children:"+ Add location"})]})]})]})})})]})}const Gke=[{value:"daily",label:"Every day"},{value:"weekly@mon",label:"Every Monday"},{value:"weekly@wed",label:"Every Wednesday"},{value:"weekly@fri",label:"Every Friday"},{value:"twice-daily",label:"Twice a day (6am & 6pm)"},{value:"custom",label:"Custom cron expression"}],rI=["UTC","America/New_York","America/Chicago","America/Denver","America/Los_Angeles","America/Toronto","America/Vancouver","Europe/London","Europe/Paris","Europe/Berlin","Asia/Tokyo","Asia/Shanghai","Asia/Singapore","Australia/Sydney"];function Vke({projectName:e}){const[t,n]=x.useState("loading"),[r,i]=x.useState(!1),[a,o]=x.useState("daily"),[u,d]=x.useState(6),[f,p]=x.useState(""),[m,y]=x.useState("UTC"),[v,w]=x.useState(!1),[S,j]=x.useState(""),[k,O]=x.useState(!1),[_,C]=x.useState(!1),[T,E]=x.useState(null);x.useEffect(()=>{h7(e).then(n).catch(()=>n(null))},[e]);const A=()=>{if(t&&t!=="loading"){const $=oJ(t.preset??null,t.cronExpr);o($.freq),d($.hour),p($.customCron);const U=rI.includes(t.timezone);y(U?t.timezone:"Other"),w(!U),j(U?"":t.timezone)}else o("daily"),d(6),p(""),y("UTC"),w(!1),j("");E(null),i(!0)},P=async()=>{O(!0),E(null);try{const U={timezone:v?S.trim()||"UTC":m};a==="custom"?U.cron=f.trim():U.preset=sJ(a,u);const G=await h2(e,U);n(G),i(!1),gt({title:"Schedule saved",detail:Tb(G.preset??null,G.cronExpr,G.timezone),tone:"positive",dedupeKey:`schedule:${e}`,dedupeMode:"replace"})}catch($){E($ instanceof Error?$.message:"Failed to save schedule")}finally{O(!1)}},I=async()=>{if(!(!t||t==="loading")){O(!0),E(null);try{const $={timezone:t.timezone,enabled:!t.enabled};t.preset?$.preset=t.preset:$.cron=t.cronExpr;const U=await h2(e,$);n(U),gt({title:U.enabled?"Schedule resumed":"Schedule paused",detail:Tb(U.preset??null,U.cronExpr,U.timezone),tone:"positive",dedupeKey:`schedule:toggle:${e}`,dedupeMode:"replace"})}catch($){E($ instanceof Error?$.message:"Failed to update schedule")}finally{O(!1)}}},q=async()=>{C(!0),E(null);try{await p7(e),n(null),i(!1),gt({title:"Schedule removed",detail:`${e} will no longer run automatically.`,tone:"positive",dedupeKey:`schedule:remove:${e}`,dedupeMode:"drop"})}catch($){E($ instanceof Error?$.message:"Failed to remove schedule")}finally{C(!1)}};return l.jsxs("section",{className:"page-section-divider",children:[l.jsxs("div",{className:"section-head section-head-inline",children:[l.jsxs("div",{children:[l.jsx("p",{className:"eyebrow eyebrow-soft",children:"Automation"}),l.jsx("h2",{children:"Scheduled runs"})]}),t!=="loading"&&!r&&l.jsx(ve,{type:"button",variant:"outline",size:"sm",onClick:A,children:t?"Edit schedule":"+ Set schedule"})]}),t==="loading"&&l.jsx("p",{className:"supporting-copy",children:"Loading..."}),t!=="loading"&&!r&&t===null&&l.jsx(Fe,{className:"surface-card compact-card",children:l.jsx("p",{className:"supporting-copy",children:"No schedule configured. Set one to automatically trigger visibility sweeps."})}),t!=="loading"&&!r&&t!==null&&l.jsxs(Fe,{className:"surface-card compact-card",children:[l.jsxs("div",{className:"flex items-start justify-between gap-4",children:[l.jsxs("div",{className:"space-y-1",children:[l.jsx("p",{className:"text-sm font-medium text-zinc-200",children:Tb(t.preset??null,t.cronExpr,t.timezone)}),l.jsxs("p",{className:"text-xs text-zinc-500",children:["Cron: ",l.jsx("span",{className:"font-mono",children:t.cronExpr})]}),t.nextRunAt&&l.jsxs("p",{className:"text-xs text-zinc-500",children:["Next run: ",new Date(t.nextRunAt).toLocaleString()]}),t.lastRunAt&&l.jsxs("p",{className:"text-xs text-zinc-500",children:["Last run: ",new Date(t.lastRunAt).toLocaleString()]})]}),l.jsxs("div",{className:"flex items-center gap-2 shrink-0",children:[l.jsx(wt,{tone:t.enabled?"positive":"neutral",children:t.enabled?"Active":"Paused"}),l.jsx(ve,{type:"button",variant:"outline",size:"sm",disabled:k,onClick:I,children:t.enabled?"Pause":"Resume"}),l.jsx(ve,{type:"button",variant:"ghost",size:"sm",disabled:_,onClick:q,children:_?"Removing...":"Remove"})]})]}),T&&l.jsx("p",{className:"text-rose-400 text-sm mt-2",children:T})]}),r&&l.jsxs("div",{className:"rounded-lg border border-zinc-800 bg-zinc-900/40 p-4 space-y-3",children:[l.jsxs("div",{className:"grid grid-cols-2 gap-3",children:[l.jsxs("div",{className:"space-y-1.5",children:[l.jsx("label",{className:"text-xs font-medium text-zinc-400",children:"Frequency"}),l.jsx("select",{className:"w-full rounded border border-zinc-700 bg-zinc-900 px-2 py-1.5 text-sm text-zinc-200 focus:border-zinc-500 focus:outline-none",value:a,onChange:$=>o($.target.value),children:Gke.map($=>l.jsx("option",{value:$.value,children:$.label},$.value))})]}),l.jsxs("div",{className:"space-y-1.5",children:[l.jsx("label",{className:"text-xs font-medium text-zinc-400",children:"Time"}),l.jsx("select",{className:"w-full rounded border border-zinc-700 bg-zinc-900 px-2 py-1.5 text-sm text-zinc-200 focus:border-zinc-500 focus:outline-none disabled:opacity-40",value:u,disabled:a==="twice-daily"||a==="custom",onChange:$=>d(parseInt($.target.value)),children:Array.from({length:24},($,U)=>l.jsx("option",{value:U,children:s1(U)},U))})]})]}),a==="custom"&&l.jsxs("div",{className:"space-y-1.5",children:[l.jsx("label",{className:"text-xs font-medium text-zinc-400",children:"Cron expression"}),l.jsx("input",{className:"w-full rounded border border-zinc-700 bg-transparent px-2 py-1.5 text-sm text-zinc-200 placeholder-zinc-600 font-mono focus:border-zinc-500 focus:outline-none",type:"text",placeholder:"0 9 * * 1-5",value:f,onChange:$=>p($.target.value)})]}),l.jsxs("div",{className:"space-y-1.5",children:[l.jsx("label",{className:"text-xs font-medium text-zinc-400",children:"Timezone"}),l.jsxs("select",{className:"w-full rounded border border-zinc-700 bg-zinc-900 px-2 py-1.5 text-sm text-zinc-200 focus:border-zinc-500 focus:outline-none",value:v?"Other":m,onChange:$=>{$.target.value==="Other"?(w(!0),y("Other")):(w(!1),y($.target.value))},children:[rI.map($=>l.jsx("option",{value:$,children:$},$)),l.jsxs("option",{value:"Other",children:["Other (enter manually)","…"]})]}),v&&l.jsx("input",{className:"w-full rounded border border-zinc-700 bg-transparent px-2 py-1.5 text-sm text-zinc-200 placeholder-zinc-600 focus:border-zinc-500 focus:outline-none",type:"text",placeholder:"e.g. America/New_York",value:S,onChange:$=>j($.target.value)})]}),T&&l.jsx("p",{className:"text-rose-400 text-sm",children:T}),l.jsxs("div",{className:"flex gap-2 justify-end",children:[l.jsx(ve,{type:"button",variant:"outline",size:"sm",onClick:()=>{i(!1),E(null)},children:"Cancel"}),l.jsx(ve,{type:"button",size:"sm",disabled:k||a==="custom"&&!f.trim(),onClick:P,children:k?"Saving...":"Save schedule"})]})]})]})}const Zke=[{value:"citation.lost",label:"Citation lost"},{value:"citation.gained",label:"Citation gained"},{value:"run.completed",label:"Run completed"},{value:"run.failed",label:"Run failed"}];function Yke({projectName:e}){const[t,n]=x.useState("loading"),[r,i]=x.useState(!1),[a,o]=x.useState(""),[u,d]=x.useState(["citation.lost","citation.gained"]),[f,p]=x.useState(!1),[m,y]=x.useState(null),[v,w]=x.useState({});x.useEffect(()=>{m7(e).then(n).catch(()=>n([]))},[e]);const S=_=>{d(C=>C.includes(_)?C.filter(T=>T!==_):[...C,_])},j=async()=>{if(!(!a.trim()||u.length===0)){p(!0),y(null);try{const _=await g7(e,{channel:"webhook",url:a.trim(),events:u});n(C=>C==="loading"?[_]:[...C,_]),o(""),d(["citation.lost","citation.gained"]),i(!1),gt({title:"Webhook added",detail:`Notifications will be sent to ${_.url}.`,tone:"positive",dedupeKey:`notification:add:${e}`,dedupeMode:"drop"})}catch(_){y(_ instanceof Error?_.message:"Failed to add webhook")}finally{p(!1)}}},k=async _=>{try{await y7(e,_),n(C=>C==="loading"?C:C.filter(T=>T.id!==_)),gt({title:"Webhook removed",detail:`${e} no longer sends notifications to this endpoint.`,tone:"positive",dedupeKey:`notification:remove:${e}:${_}`,dedupeMode:"drop"})}catch(C){y(C instanceof Error?C.message:"Failed to remove webhook")}},O=async _=>{w(C=>({...C,[_]:{state:"testing"}}));try{const C=await v7(e,_);w(T=>({...T,[_]:{state:C.ok?"ok":"fail",status:C.status}})),C.ok&&gt({title:"Test notification sent",detail:`Webhook returned status ${C.status}.`,tone:"positive",dedupeKey:`notification:test:${e}:${_}`,dedupeMode:"replace"})}catch{w(C=>({...C,[_]:{state:"fail"}}))}};return l.jsxs("section",{className:"page-section-divider",children:[l.jsxs("div",{className:"section-head section-head-inline",children:[l.jsxs("div",{children:[l.jsx("p",{className:"eyebrow eyebrow-soft",children:"Automation"}),l.jsx("h2",{children:"Notifications"})]}),t!=="loading"&&l.jsx(ve,{type:"button",variant:"outline",size:"sm",onClick:()=>{i(!r),y(null)},children:r?"Cancel":"+ Add webhook"})]}),r&&l.jsxs("div",{className:"mb-3 rounded-lg border border-zinc-800 bg-zinc-900/40 p-4 space-y-3",children:[l.jsxs("div",{className:"space-y-1.5",children:[l.jsx("label",{className:"text-xs font-medium text-zinc-400",children:"Webhook URL"}),l.jsx("input",{className:"w-full rounded border border-zinc-700 bg-transparent px-2 py-1.5 text-sm text-zinc-200 placeholder-zinc-600 focus:border-zinc-500 focus:outline-none",type:"url",placeholder:"https://hooks.example.com/canonry",value:a,onChange:_=>o(_.target.value)})]}),l.jsxs("div",{className:"space-y-1.5",children:[l.jsx("label",{className:"text-xs font-medium text-zinc-400",children:"Trigger on"}),l.jsx("div",{className:"flex flex-wrap gap-3",children:Zke.map(_=>l.jsxs("label",{className:"flex items-center gap-1.5 cursor-pointer select-none",children:[l.jsx("input",{type:"checkbox",className:"rounded border-zinc-600 bg-zinc-800",checked:u.includes(_.value),onChange:()=>S(_.value)}),l.jsx("span",{className:"text-sm text-zinc-300",children:_.label})]},_.value))})]}),m&&l.jsx("p",{className:"text-rose-400 text-sm",children:m}),l.jsxs("div",{className:"flex gap-2 justify-end",children:[l.jsx(ve,{type:"button",variant:"outline",size:"sm",onClick:()=>{i(!1),y(null)},children:"Cancel"}),l.jsx(ve,{type:"button",size:"sm",disabled:f||!a.trim()||u.length===0,onClick:j,children:f?"Adding...":"Add webhook"})]})]}),t==="loading"&&l.jsx("p",{className:"supporting-copy",children:"Loading..."}),t!=="loading"&&t.length===0&&!r&&l.jsx(Fe,{className:"surface-card compact-card",children:l.jsx("p",{className:"supporting-copy",children:"No webhooks configured. Add one to get alerted when citations change or runs complete."})}),t!=="loading"&&t.length>0&&l.jsxs("div",{className:"evidence-table-wrap",children:[l.jsxs("table",{className:"evidence-table",children:[l.jsx("thead",{children:l.jsxs("tr",{children:[l.jsx("th",{children:"Endpoint"}),l.jsx("th",{children:"Events"}),l.jsx("th",{children:"Status"}),l.jsx("th",{})]})}),l.jsx("tbody",{children:t.map(_=>l.jsxs("tr",{children:[l.jsx("td",{className:"evidence-keyword-cell",children:l.jsx("span",{className:"font-mono text-xs text-zinc-300 break-all",title:_.urlHost,children:_.urlDisplay??_.url})}),l.jsx("td",{children:l.jsx("div",{className:"flex flex-wrap gap-1",children:_.events.map(C=>l.jsx("span",{className:"inline-flex items-center rounded-full border border-zinc-700 bg-zinc-800/60 px-2 py-0.5 text-[10px] font-medium text-zinc-400 uppercase tracking-wide",children:C.replace("."," ")},C))})}),l.jsx("td",{children:l.jsx(wt,{tone:_.enabled?"positive":"neutral",children:_.enabled?"Active":"Paused"})}),l.jsx("td",{children:l.jsxs("div",{className:"flex items-center gap-1 justify-end",children:[v[_.id]&&(()=>{const C=v[_.id],T=C.state==="testing"?"Sending…":C.state==="ok"?`Delivered${C.status?` (${C.status})`:""}`:`Failed${C.status?` (${C.status})`:""}`;return l.jsx(wt,{tone:C.state==="ok"?"positive":C.state==="fail"?"negative":"neutral",children:T})})(),l.jsx(ve,{variant:"ghost",size:"sm",type:"button",disabled:v[_.id]?.state==="testing",onClick:()=>O(_.id),children:"Test"}),l.jsx(ve,{variant:"ghost",size:"sm",type:"button",onClick:()=>k(_.id),children:"Remove"})]})})]},_.id))})]}),m&&l.jsx("p",{className:"text-rose-400 text-sm mt-2",children:m})]})]})}function Wke({projectName:e,refreshNonce:t}){const[n,r]=x.useState(null),[i,a]=x.useState([]),[o,u]=x.useState(null),[d,f]=x.useState([]),[p,m]=x.useState([]),[y,v]=x.useState(null),[w,S]=x.useState(""),[j,k]=x.useState(""),[O,_]=x.useState(""),[C,T]=x.useState(!0),[E,A]=x.useState(!1),[P,I]=x.useState(null),[q,$]=x.useState("coverage");x.useEffect(()=>{U()},[e,t]);async function U(){T(!0),I(null);try{const R=await WI(e);if(r(R),R.connected){const[B,F,M,W]=await Promise.all([Qj(e).catch(()=>null),QI(e).catch(()=>[]),B7(e).catch(()=>[]),R.siteUrl?Promise.resolve([]):L7(e).then(ae=>ae.sites).catch(()=>[])]);u(B),f(F),m(M),a(W)}else u(null),f([]),m([]),a([])}catch(R){I(R instanceof Error?R.message:"Failed to load Bing data")}finally{T(!1)}}async function G(){if(j.trim()){I(null);try{const R=await M7(e,j.trim());k(""),R.availableSites.length>0&&a(R.availableSites),await U()}catch(R){I(R instanceof Error?R.message:"Failed to connect")}}}async function te(){try{await I7(e),r(null),a([]),u(null),f([]),m([]),v(null),_(""),I(null)}catch(R){I(R instanceof Error?R.message:"Failed to disconnect")}}async function Z(){if(O)try{await $7(e,O),await U()}catch(R){I(R instanceof Error?R.message:"Failed to set site")}}async function K(){if(w.trim())try{const R=await XI(e,w.trim());v(R),f(B=>[R,...B])}catch(R){I(R instanceof Error?R.message:"Inspection failed")}}async function X(R){A(!0),I(null);try{const B=await g2(e,{urls:[R]}),{succeeded:F,failed:M,total:W}=B.summary;gt({title:"Bing submission requested",detail:M===0?`${F} URL submitted to Bing.`:`${F}/${W} submitted successfully, ${M} failed.`,tone:M===0?"positive":"caution",dedupeKey:`bing:indexing:${e}:${R}`,dedupeMode:"replace"})}catch(B){const F=B instanceof Error?B.message:"Submission failed";I(F),gt({title:"Bing submission failed",detail:F,tone:"negative",dedupeKey:`bing:indexing:${e}:${R}`,dedupeMode:"replace"})}finally{A(!1)}}async function pe(){A(!0),I(null),gt({title:"Submitting URLs to Bing",detail:"Requesting indexing for all currently unindexed URLs.",tone:"neutral",dedupeKey:`bing:indexing-all:${e}`,dedupeMode:"replace"});try{const R=await g2(e,{allUnindexed:!0}),{succeeded:B,failed:F,total:M}=R.summary;gt({title:"Bing submissions requested",detail:F===0?`${B}/${M} URL${M!==1?"s":""} submitted to Bing.`:`${B}/${M} submitted successfully, ${F} failed.`,tone:F===0?"positive":"caution",dedupeKey:`bing:indexing-all:${e}`,dedupeMode:"replace"})}catch(R){const B=R instanceof Error?R.message:"Batch submission failed";I(B),gt({title:"Bing submissions failed",detail:B,tone:"negative",dedupeKey:`bing:indexing-all:${e}`,dedupeMode:"replace"})}finally{A(!1)}}if(C)return l.jsx(Fe,{className:"surface-card",children:l.jsx("div",{className:"text-sm text-zinc-400",children:"Loading Bing data..."})});if(!n?.connected)return l.jsxs(Fe,{className:"surface-card",children:[l.jsxs("div",{className:"section-head section-head-inline",children:[l.jsxs("div",{children:[l.jsx("p",{className:"eyebrow eyebrow-soft",children:"Connection"}),l.jsx("h3",{children:"Domain authorization"})]}),l.jsx(wt,{tone:"caution",children:"Not connected"})]}),l.jsx("p",{className:"text-sm text-zinc-300",children:"Connect Bing Webmaster Tools to inspect URLs, monitor index coverage, and submit pages for indexing."}),l.jsxs("div",{className:"mt-3",children:[l.jsx("label",{className:"text-xs text-zinc-500",htmlFor:"bing-api-key",children:"API Key"}),l.jsxs("div",{className:"flex items-center gap-2 mt-1",children:[l.jsx("input",{id:"bing-api-key",type:"password",className:"flex-1 rounded border border-zinc-700 bg-transparent px-2 py-1.5 text-sm text-zinc-200 placeholder-zinc-600 focus:border-zinc-500 focus:outline-none",placeholder:"Bing Webmaster Tools API key",value:j,onChange:R=>k(R.target.value),onKeyDown:R=>R.key==="Enter"&&G()}),l.jsx(ve,{size:"sm",disabled:!j.trim(),onClick:G,children:"Connect"})]}),l.jsxs("p",{className:"mt-1 text-[11px] text-zinc-500",children:["Get your API key from"," ",l.jsx("a",{href:"https://www.bing.com/webmasters/",target:"_blank",rel:"noopener noreferrer",className:"text-zinc-400 hover:text-zinc-300 underline underline-offset-2",children:"Bing Webmaster Tools"})]})]}),P&&l.jsx("p",{className:"mt-3 text-xs text-rose-400",children:P})]});if(!n.siteUrl)return l.jsxs(Fe,{className:"surface-card",children:[l.jsxs("div",{className:"section-head section-head-inline",children:[l.jsxs("div",{children:[l.jsx("p",{className:"eyebrow eyebrow-soft",children:"Connection"}),l.jsx("h3",{children:"Domain authorization"})]}),l.jsxs("div",{className:"flex items-center gap-2",children:[l.jsx(wt,{tone:"positive",children:"Connected"}),l.jsx(ve,{size:"sm",variant:"ghost",onClick:te,children:"Disconnect"})]})]}),l.jsxs("div",{className:"space-y-3",children:[l.jsxs("div",{className:"rounded-lg border border-zinc-800/60 bg-zinc-900/30 px-4 py-3",children:[l.jsxs("div",{className:"flex items-center gap-3",children:[l.jsx("span",{className:"h-2 w-2 rounded-full bg-emerald-500"}),l.jsx("span",{className:"text-sm text-zinc-200",children:"Authorized for this project domain"}),l.jsx("span",{className:"text-xs text-zinc-500",children:n.domain})]}),l.jsx("p",{className:"mt-2 text-xs text-zinc-500",children:"The API key is connected, but no Bing site is selected yet. Pick the verified site that should receive inspections and indexing requests."})]}),l.jsxs("div",{className:"grid gap-3 lg:grid-cols-2",children:[l.jsxs("div",{className:"rounded-lg border border-zinc-800/60 bg-zinc-900/20 p-3",children:[l.jsx("p",{className:"text-xs uppercase tracking-wide text-zinc-500",children:"Registered domain"}),l.jsx("p",{className:"mt-1 text-sm text-zinc-200",children:n.domain})]}),l.jsxs("div",{className:"rounded-lg border border-zinc-800/60 bg-zinc-900/20 p-3",children:[l.jsx("p",{className:"text-xs uppercase tracking-wide text-zinc-500",children:"Last auth update"}),l.jsx("p",{className:"mt-1 text-sm text-zinc-200",children:n.updatedAt?Ki(n.updatedAt):"—"})]})]}),l.jsxs("div",{className:"rounded-lg border border-zinc-800/60 bg-zinc-900/20 p-3",children:[l.jsx("p",{className:"text-xs uppercase tracking-wide text-zinc-500",children:"Select site"}),i.length>0?l.jsxs("div",{className:"mt-3 flex flex-col gap-2 lg:flex-row",children:[l.jsxs("select",{className:"flex-1 rounded border border-zinc-700 bg-zinc-900 px-2 py-1.5 text-sm text-zinc-200 focus:border-zinc-500 focus:outline-none",value:O,onChange:R=>_(R.target.value),children:[l.jsx("option",{value:"",children:"Select a site..."}),i.map(R=>l.jsxs("option",{value:R.url,children:[R.url,R.verified?" (verified)":""]},R.url))]}),l.jsx(ve,{size:"sm",disabled:!O,onClick:Z,children:"Set Site"})]}):l.jsx("p",{className:"mt-3 text-xs text-zinc-500",children:"No verified Bing sites are available yet. Verify the domain in Bing Webmaster Tools, then use the page-level refresh to reload everything."})]})]}),P&&l.jsx("p",{className:"mt-3 text-xs text-rose-400",children:P})]});const Ne=[{key:"coverage",label:"Coverage"},{key:"inspections",label:"Inspections"},{key:"performance",label:"Performance"}];return l.jsxs("div",{className:"space-y-3",children:[l.jsxs(Fe,{className:"surface-card",children:[l.jsxs("div",{className:"section-head section-head-inline",children:[l.jsxs("div",{children:[l.jsx("p",{className:"eyebrow eyebrow-soft",children:"Connection"}),l.jsx("h3",{children:"Domain authorization"})]}),l.jsxs("div",{className:"flex items-center gap-2",children:[l.jsx(wt,{tone:"positive",children:"Connected"}),l.jsx(ve,{size:"sm",variant:"ghost",onClick:te,children:"Disconnect"})]})]}),P&&l.jsx("p",{className:"mb-3 text-xs text-rose-400",children:P}),l.jsxs("div",{className:"space-y-3",children:[l.jsxs("div",{className:"rounded-lg border border-zinc-800/60 bg-zinc-900/30 px-4 py-3",children:[l.jsxs("div",{className:"flex items-center gap-3",children:[l.jsx("span",{className:"h-2 w-2 rounded-full bg-emerald-500"}),l.jsx("span",{className:"text-sm text-zinc-200",children:"Authorized for this project domain"}),l.jsx("span",{className:"text-xs text-zinc-500",children:n.domain})]}),l.jsxs("p",{className:"mt-2 text-xs text-zinc-500",children:["Canonry stores Bing connections per canonical domain. This project is currently mapped to ",l.jsx("code",{children:n.siteUrl}),"."]})]}),l.jsxs("div",{className:"grid gap-3 lg:grid-cols-2",children:[l.jsxs("div",{className:"rounded-lg border border-zinc-800/60 bg-zinc-900/20 p-3",children:[l.jsx("p",{className:"text-xs uppercase tracking-wide text-zinc-500",children:"Selected site"}),l.jsx("p",{className:"mt-1 text-sm text-zinc-200",children:n.siteUrl})]}),l.jsxs("div",{className:"rounded-lg border border-zinc-800/60 bg-zinc-900/20 p-3",children:[l.jsx("p",{className:"text-xs uppercase tracking-wide text-zinc-500",children:"Last auth update"}),l.jsx("p",{className:"mt-1 text-sm text-zinc-200",children:n.updatedAt?Ki(n.updatedAt):"—"})]})]})]})]}),l.jsxs(Fe,{className:"surface-card",children:[l.jsxs("div",{className:"section-head section-head-inline",children:[l.jsxs("div",{children:[l.jsx("p",{className:"eyebrow eyebrow-soft",children:"Coverage"}),l.jsx("h3",{children:"Index monitoring"})]}),l.jsx("p",{className:"text-xs text-zinc-500",children:o?.lastInspectedAt?`Last inspected ${Ki(o.lastInspectedAt)}`:"No inspection history yet"})]}),l.jsx("div",{className:"flex gap-1 border-b border-zinc-800",children:Ne.map(R=>l.jsx("button",{className:`px-3 py-1.5 text-xs font-medium border-b-2 transition-colors ${q===R.key?"border-zinc-200 text-zinc-200":"border-transparent text-zinc-500 hover:text-zinc-300"}`,onClick:()=>$(R.key),children:R.label},R.key))}),q==="coverage"&&o&&l.jsxs("div",{className:"mt-4 space-y-4",children:[l.jsxs("div",{className:"grid gap-3 sm:grid-cols-4",children:[l.jsx(Am,{label:"Indexed",value:o.summary.indexed,tone:"positive"}),l.jsx(Am,{label:"Not in index",value:o.summary.notIndexed+(o.summary.unknown??0),tone:"negative"}),l.jsx(Am,{label:"Status unknown",value:o.summary.unknown??0,tone:"neutral"}),l.jsx(Am,{label:"Coverage",value:`${o.summary.percentage}%`,tone:"neutral"})]}),o.notIndexed.length>0&&l.jsxs("div",{children:[l.jsxs("div",{className:"mb-2 flex items-center justify-between gap-3",children:[l.jsxs("h4",{className:"text-xs font-medium text-zinc-400",children:["Not Indexed (",o.notIndexed.length,")"]}),l.jsx(ve,{size:"sm",variant:"ghost",disabled:E,onClick:pe,children:E?"Submitting…":"Submit all to Bing"})]}),l.jsx("div",{className:"overflow-x-auto rounded-lg border border-zinc-800/60",children:l.jsxs("table",{className:"w-full text-xs",children:[l.jsx("thead",{children:l.jsxs("tr",{className:"border-b border-zinc-800",children:[l.jsx("th",{className:"text-left py-1.5 px-3 text-zinc-500 font-medium",children:"URL"}),l.jsx("th",{className:"text-left py-1.5 px-3 text-zinc-500 font-medium w-16",children:"HTTP"}),l.jsx("th",{className:"text-right py-1.5 px-3 text-zinc-500 font-medium w-20",children:"Action"})]})}),l.jsx("tbody",{children:o.notIndexed.map(R=>l.jsxs("tr",{className:"border-b border-zinc-800/50",children:[l.jsx("td",{className:"py-1.5 px-3 text-zinc-300 truncate max-w-[480px]",children:R.url}),l.jsx("td",{className:"py-1.5 px-3 text-zinc-400",children:R.httpCode??"—"}),l.jsx("td",{className:"py-1.5 px-3 text-right",children:l.jsx("button",{className:"text-[10px] text-zinc-400 hover:text-zinc-200 underline underline-offset-2",disabled:E,onClick:()=>X(R.url),children:"Submit"})})]},R.id))})]})})]}),(o.unknown??[]).length>0&&l.jsxs("div",{children:[l.jsxs("div",{className:"mb-2 flex items-center justify-between gap-3",children:[l.jsxs("h4",{className:"text-xs font-medium text-zinc-400",children:["Unknown — not yet confirmed (",(o.unknown??[]).length,")"]}),l.jsx(ve,{size:"sm",variant:"ghost",disabled:E,onClick:pe,children:E?"Submitting…":"Submit all to Bing"})]}),l.jsx("div",{className:"overflow-x-auto rounded-lg border border-zinc-800/60",children:l.jsxs("table",{className:"w-full text-xs",children:[l.jsx("thead",{children:l.jsxs("tr",{className:"border-b border-zinc-800",children:[l.jsx("th",{className:"text-left py-1.5 px-3 text-zinc-500 font-medium",children:"URL"}),l.jsx("th",{className:"text-left py-1.5 px-3 text-zinc-500 font-medium w-32",children:"Last Crawled"}),l.jsx("th",{className:"text-right py-1.5 px-3 text-zinc-500 font-medium w-20",children:"Action"})]})}),l.jsx("tbody",{children:(o.unknown??[]).map(R=>l.jsxs("tr",{className:"border-b border-zinc-800/50",children:[l.jsx("td",{className:"py-1.5 px-3 text-zinc-300 truncate max-w-[480px]",children:R.url}),l.jsx("td",{className:"py-1.5 px-3 text-zinc-400",children:R.lastCrawledDate?Ki(R.lastCrawledDate):"—"}),l.jsx("td",{className:"py-1.5 px-3 text-right",children:l.jsx("button",{className:"text-[10px] text-zinc-400 hover:text-zinc-200 underline underline-offset-2",disabled:E,onClick:()=>X(R.url),children:"Submit"})})]},R.id))})]})})]}),o.indexed.length>0&&l.jsxs("div",{children:[l.jsxs("h4",{className:"mb-2 text-xs font-medium text-zinc-400",children:["Indexed (",o.indexed.length,")"]}),l.jsx("div",{className:"overflow-x-auto rounded-lg border border-zinc-800/60",children:l.jsxs("table",{className:"w-full text-xs",children:[l.jsx("thead",{children:l.jsxs("tr",{className:"border-b border-zinc-800",children:[l.jsx("th",{className:"text-left py-1.5 px-3 text-zinc-500 font-medium",children:"URL"}),l.jsx("th",{className:"text-left py-1.5 px-3 text-zinc-500 font-medium w-32",children:"Last Crawled"})]})}),l.jsx("tbody",{children:o.indexed.map(R=>l.jsxs("tr",{className:"border-b border-zinc-800/50",children:[l.jsx("td",{className:"py-1.5 px-3 text-zinc-300 truncate max-w-[480px]",children:R.url}),l.jsx("td",{className:"py-1.5 px-3 text-zinc-400",children:R.lastCrawledDate?Ki(R.lastCrawledDate):"—"})]},R.id))})]})})]})]}),q==="coverage"&&!o&&l.jsx("p",{className:"mt-4 text-xs text-zinc-500",children:"No coverage data yet. Inspect URLs to build coverage data."}),q==="inspections"&&l.jsxs("div",{className:"mt-4 space-y-3",children:[l.jsxs("div",{className:"flex flex-col gap-2 lg:flex-row",children:[l.jsx("input",{type:"text",className:"flex-1 rounded border border-zinc-700 bg-transparent px-2 py-1.5 text-sm text-zinc-200 placeholder-zinc-600 focus:border-zinc-500 focus:outline-none",placeholder:"URL to inspect",value:w,onChange:R=>S(R.target.value),onKeyDown:R=>R.key==="Enter"&&K()}),l.jsx(ve,{size:"sm",disabled:!w.trim(),onClick:K,children:"Inspect"})]}),y&&l.jsxs("div",{className:"rounded border border-zinc-800 bg-zinc-900/40 p-3 text-xs space-y-1",children:[l.jsx("div",{className:"font-medium text-zinc-200",children:y.url}),l.jsxs("div",{className:"text-zinc-400",children:["In Index: ",l.jsx("span",{className:y.inIndex?"text-emerald-400":"text-rose-400",children:y.inIndex?"Yes":"No"})," · ","HTTP: ",y.httpCode??"—"," · ","Crawled: ",y.lastCrawledDate??"—"]})]}),d.length>0&&l.jsx("div",{className:"overflow-x-auto rounded-lg border border-zinc-800/60",children:l.jsxs("table",{className:"w-full text-xs",children:[l.jsx("thead",{children:l.jsxs("tr",{className:"border-b border-zinc-800",children:[l.jsx("th",{className:"text-left py-1.5 px-3 text-zinc-500 font-medium",children:"URL"}),l.jsx("th",{className:"text-left py-1.5 px-3 text-zinc-500 font-medium w-16",children:"Index"}),l.jsx("th",{className:"text-left py-1.5 px-3 text-zinc-500 font-medium w-14",children:"HTTP"}),l.jsx("th",{className:"text-left py-1.5 px-3 text-zinc-500 font-medium w-32",children:"Inspected"})]})}),l.jsx("tbody",{children:d.map(R=>l.jsxs("tr",{className:"border-b border-zinc-800/50",children:[l.jsx("td",{className:"py-1.5 px-3 text-zinc-300 truncate max-w-[480px]",children:R.url}),l.jsx("td",{className:"py-1.5 px-3",children:l.jsx(wt,{tone:R.inIndex?"positive":"negative",children:R.inIndex?"Yes":"No"})}),l.jsx("td",{className:"py-1.5 px-3 text-zinc-400",children:R.httpCode??"—"}),l.jsx("td",{className:"py-1.5 px-3 text-zinc-400",children:Ki(R.inspectedAt)})]},R.id))})]})})]}),q==="performance"&&l.jsx("div",{className:"mt-4",children:p.length===0?l.jsx("p",{className:"text-xs text-zinc-500",children:"No Bing performance data available."}):l.jsx("div",{className:"overflow-x-auto rounded-lg border border-zinc-800/60",children:l.jsxs("table",{className:"w-full text-xs",children:[l.jsx("thead",{children:l.jsxs("tr",{className:"border-b border-zinc-800",children:[l.jsx("th",{className:"text-left py-1.5 px-3 text-zinc-500 font-medium",children:"Query"}),l.jsx("th",{className:"text-right py-1.5 px-3 text-zinc-500 font-medium w-16",children:um[io.Clicks]}),l.jsx("th",{className:"text-right py-1.5 px-3 text-zinc-500 font-medium w-16",children:um[io.Impressions]}),l.jsx("th",{className:"text-right py-1.5 px-3 text-zinc-500 font-medium w-14",children:um[io.CTR]}),l.jsx("th",{className:"text-right py-1.5 px-3 text-zinc-500 font-medium w-14",children:um[io.Position]})]})}),l.jsx("tbody",{children:p.map((R,B)=>l.jsxs("tr",{className:"border-b border-zinc-800/50",children:[l.jsx("td",{className:"py-1.5 px-3 text-zinc-300 truncate max-w-[480px]",children:R.query}),l.jsx("td",{className:"py-1.5 px-3 text-right text-zinc-200",children:R.clicks}),l.jsx("td",{className:"py-1.5 px-3 text-right text-zinc-400",children:R.impressions}),l.jsxs("td",{className:"py-1.5 px-3 text-right text-zinc-400",children:[(Number.isFinite(R.ctr)?R.ctr*100:0).toFixed(1),"%"]}),l.jsx("td",{className:"py-1.5 px-3 text-right text-zinc-400",children:R.averagePosition.toFixed(1)})]},B))})]})})})]})]})}function Qke({projectName:e}){const[t,n]=x.useState("google"),[r,i]=x.useState(!0),[a,o]=x.useState("idle"),[u,d]=x.useState(null),f=x.useRef(null),[p,m]=x.useState(!1),[y,v]=x.useState(null),[w,S]=x.useState(null),[j,k]=x.useState(!1),[O,_]=x.useState(null),[C,T]=x.useState(null),[E,A]=x.useState(0);async function P(B=!1){B||i(!0),d(null);try{const[F,M,W]=await Promise.all([Yj().catch(()=>null),ZI(e).catch(()=>[]),WI(e).catch(()=>null)]),ae=M.find(Ce=>Ce.connectionType==="gsc")??null;m(!!F?.google?.configured),k(!!F?.bing?.configured),v(ae),_(W);const[ne,de]=await Promise.all([ae?Wj(e).catch(()=>null):Promise.resolve(null),W?.connected?Qj(e).catch(()=>null):Promise.resolve(null)]);S(ne),T(de)}catch(F){d(F instanceof Error?F.message:"Failed to load search console overview")}finally{i(!1)}}async function I(){if(a!=="idle")return;f.current?.abort();const B=new AbortController;f.current=B;const F=B.signal;o("syncing"),d(null);const M=[];try{async function W(){if(!y)return;const Ce=await YI(e);if(!Ce?.id)return;const ee=2e3,ze=Date.now()+12e4;for(;Date.now()<ze;){if(F.aborted||(await new Promise(He=>setTimeout(He,ee)),F.aborted))return;const Q=await El(Ce.id).catch(()=>null);if(!Q)break;if(["completed","failed","cancelled"].includes(Q.status)){Q.status!=="completed"&&M.push(`Google sync ${Q.status}`);break}}}const ae=10;async function ne(){if(!O?.connected)return;const Ce=await QI(e).catch(()=>[]),ee=[...new Set(Ce.map(fe=>fe.url))];if(ee.length!==0)for(let fe=0;fe<ee.length;fe+=ae){if(F.aborted)return;const ze=ee.slice(fe,fe+ae),He=(await Promise.allSettled(ze.map(Me=>XI(e,Me)))).filter(Me=>Me.status==="rejected").length;He>0&&M.push(`${He} Bing inspection(s) failed`)}}const de=await Promise.allSettled([W(),ne()]);for(const Ce of de)Ce.status==="rejected"&&M.push(Ce.reason instanceof Error?Ce.reason.message:"Sync failed");if(F.aborted)return;o("reloading"),await P(!0),A(Ce=>Ce+1),M.length>0&&d(`Partial refresh: ${M.join("; ")}`)}catch(W){F.aborted||d(W instanceof Error?W.message:"Refresh failed")}finally{F.aborted||o("idle")}}x.useEffect(()=>(P(),()=>{f.current?.abort()}),[e]);const q=y?"positive":p?"caution":"negative",$=y?"Connected":p?"Ready to connect":"Needs setup",U=w?`${w.summary.percentage}% indexed`:y?"Awaiting coverage":"No coverage data",G=w?`${w.summary.notIndexed} not indexed${w.summary.deindexed>0?` · ${w.summary.deindexed} deindexed`:""}`:y?"Run sitemap inspection to populate coverage":p?"Connect Search Console for this domain":"Add Google OAuth credentials in Settings",te=w?.lastInspectedAt??y?.updatedAt??null,Z=O?.connected?"positive":j?"caution":"negative",K=O?.connected?"Connected":j?"Ready to connect":"Needs setup",X=C?`${C.summary.percentage}% indexed`:O?.connected?"Awaiting coverage":"No coverage data",pe=C?C.summary.notIndexed+(C.summary.unknown??0):0,Ne=C?`${pe} not in index`:O?.connected?"Inspect URLs to populate coverage":j?"Connect Bing Webmaster Tools for this domain":"Add a Bing API key in Settings",R=C?.lastInspectedAt??O?.updatedAt??null;return l.jsxs("div",{className:"space-y-6",children:[l.jsxs(Fe,{className:"surface-card",children:[l.jsxs("div",{className:"section-head section-head-inline",children:[l.jsxs("div",{children:[l.jsx("p",{className:"eyebrow eyebrow-soft",children:"Search console"}),l.jsx("h2",{children:"Search Engine Intelligence"}),l.jsx("p",{className:"mt-1 max-w-3xl text-sm leading-6 text-zinc-500",children:"Scan both engines at a glance, then open the Google or Bing workspace when you need to inspect coverage or take action."})]}),l.jsx(ve,{type:"button",variant:"outline",size:"sm",disabled:r||a!=="idle",onClick:()=>{I()},children:r?"Loading…":a==="syncing"?"Refreshing Google & Bing…":a==="reloading"?"Reloading workspaces…":"Refresh all"})]}),u&&l.jsx("div",{className:"mb-3 rounded-lg border border-rose-800/40 bg-rose-950/20 px-3 py-2 text-sm text-rose-300",children:u}),l.jsxs("div",{className:"grid gap-3 lg:grid-cols-2",children:[l.jsx(OT,{eyebrow:"Google",title:"Google Search Console",status:r?"Loading…":$,tone:r?"neutral":q,targetLabel:"Selected property",targetValue:y?.propertyId??"No property selected",coverageValue:r?"Loading…":U,note:r?"Loading overview…":G,updatedAt:te,active:t==="google",onClick:()=>n("google")}),l.jsx(OT,{eyebrow:"Bing",title:"Bing Webmaster Tools",status:r?"Loading…":K,tone:r?"neutral":Z,targetLabel:"Selected site",targetValue:O?.siteUrl??"No site selected",coverageValue:r?"Loading…":X,note:r?"Loading overview…":Ne,updatedAt:R,active:t==="bing",onClick:()=>n("bing")})]})]}),l.jsx("div",{className:"flex flex-wrap gap-2",role:"tablist","aria-label":"Search engine workspaces",children:[["google","Google"],["bing","Bing"]].map(([B,F])=>l.jsx("button",{type:"button",role:"tab","aria-selected":t===B,className:`project-subnav-link ${t===B?"project-subnav-link-active":""}`,onClick:()=>n(B),children:F},B))}),t==="google"&&l.jsx(Tke,{projectName:e}),t==="bing"&&l.jsxs("section",{className:"page-section-divider",children:[l.jsx("div",{className:"section-head section-head-inline",children:l.jsxs("div",{children:[l.jsx("p",{className:"eyebrow eyebrow-soft",children:"Search engine"}),l.jsx("h2",{children:"Bing Webmaster Tools"})]})}),l.jsx(Wke,{projectName:e,refreshNonce:E})]})]})}function Xke({insights:e}){const{openEvidence:t}=$u(),[n,r]=x.useState(null);return l.jsx("div",{className:"insight-list",children:e.map(i=>{const a=n===i.id,o=i.affectedPhrases.length>0;return l.jsxs("div",{children:[l.jsxs("div",{className:`insight-row insight-row-${i.tone} ${o?"cursor-pointer":""}`,onClick:o?()=>r(a?null:i.id):void 0,children:[l.jsxs("div",{className:"flex items-center gap-2 min-w-0",children:[o&&l.jsx(lh,{size:12,className:`shrink-0 text-zinc-500 transition-transform duration-150 ${a?"rotate-90":""}`}),l.jsx(wt,{tone:i.tone,children:i.actionLabel}),l.jsx("span",{className:"text-sm font-medium text-zinc-100 truncate",children:i.title}),l.jsx("span",{className:"hidden sm:inline text-xs text-zinc-500 truncate",children:i.detail})]}),o&&l.jsxs("span",{className:"text-[11px] text-zinc-600 whitespace-nowrap",children:[i.affectedPhrases.length," phrase",i.affectedPhrases.length>1?"s":""]})]}),a&&l.jsx("div",{className:"divide-y divide-zinc-800/20",children:i.affectedPhrases.map((u,d)=>l.jsxs("div",{className:"flex items-center justify-between gap-3 px-4 py-2 pl-9 bg-zinc-900/40",children:[l.jsxs("div",{className:"flex items-center gap-2 min-w-0",children:[l.jsx(T1,{state:u.citationState}),l.jsx("span",{className:"text-sm text-zinc-200 truncate",children:u.keyword}),l.jsx("div",{className:"hidden sm:flex gap-1",children:u.provider&&l.jsx(Tl,{provider:u.provider})})]}),u.evidenceId&&l.jsx("button",{type:"button",className:"text-xs text-zinc-400 hover:text-zinc-200 whitespace-nowrap transition-colors",onClick:f=>{f.stopPropagation(),t(u.evidenceId)},children:"View →"})]},u.evidenceId||`${i.id}-${d}`))})]},i.id)})})}function Mh({tab:e}){const{projectId:t}=Uy({from:"/projects/$projectId"}),n=jo(),{dashboard:r,isLoading:i,refetch:a}=Yl();if(!r||i)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-48"}),l.jsx("div",{className:"skeleton-text-sm w-32"})]}),l.jsx("div",{className:"grid grid-cols-3 gap-4",children:[1,2,3].map(we=>l.jsxs("div",{className:"page-skeleton-card flex flex-col items-center",children:[l.jsx("div",{className:"skeleton-circle size-20"}),l.jsx("div",{className:"skeleton-text w-16 mt-3"})]},we))}),l.jsxs("div",{className:"page-skeleton-card",children:[l.jsx("div",{className:"skeleton-text w-28"}),l.jsx("div",{className:"space-y-2 mt-2",children:[1,2,3,4].map(we=>l.jsx("div",{className:"skeleton-text-sm w-full"},we))})]})]});const o=pne(r,t),[u,d]=x.useState(!1),[f,p]=x.useState(!1),[m,y]=x.useState(!1),[v,w]=x.useState(""),[S,j]=x.useState(!1),[k,O]=x.useState(!1),[_,C]=x.useState(""),[T,E]=x.useState(!1),[A,P]=x.useState(!1),[I,q]=x.useState(""),[$,U]=x.useState(!1),[G,te]=x.useState(void 0),[Z,K]=x.useState(!1),[X,pe]=x.useState(null),[Ne,R]=x.useState(!1),B=o?.visibilityEvidence??[],F=o?.project.name??"",M=o?.project.displayName||o?.project.name||F,W=Y8(),ae=x.useMemo(()=>new Set(B.map(we=>we.location??"")),[B]),ne=ae.has(""),de=x.useMemo(()=>[...ae].filter(Boolean),[ae]);x.useEffect(()=>{if(G===void 0||G===""||!F){pe(null),R(!1);return}R(!0),GI(F,G).then(we=>{pe(we),R(!1)}).catch(()=>{pe(null),R(!1)})},[G,F]);const Ce=x.useMemo(()=>{if(!X)return null;const we=new Map;for(const We of X){for(const[At,on]of Object.entries(We.providerRuns??{}))we.set(`${We.keyword}::${At}`,on.map(dt=>({runId:dt.runId,citationState:dt.citationState,createdAt:dt.createdAt,answerMentioned:dt.answerMentioned,visibilityState:dt.visibilityState,visibilityTransition:dt.visibilityTransition})));(!We.providerRuns||Object.keys(We.providerRuns).length===0)&&we.set(`${We.keyword}::`,We.runs.map(At=>({runId:At.runId,citationState:At.citationState,createdAt:At.createdAt,answerMentioned:At.answerMentioned,visibilityState:At.visibilityState,visibilityTransition:At.visibilityTransition})))}return we},[X]),ee=x.useMemo(()=>{const we=G!==void 0?B.filter(We=>G===""?!We.location:We.location===G):B;return Ce?we.map(We=>{const At=Ce.get(`${We.keyword}::${We.provider}`)??Ce.get(`${We.keyword}::`);return At?{...We,runHistory:At}:We}):we},[B,G,Ce]);if(!o)return l.jsx("div",{className:"page-container",children:l.jsxs(Fe,{className:"surface-card empty-card",children:[l.jsx("h1",{children:"Project not found"}),l.jsxs("p",{children:['Could not find a project with ID "',t,'".']}),l.jsx(ve,{asChild:!0,children:l.jsx(Kt,{to:"/",children:"Return to overview"})})]})});async function fe(){try{await W.mutateAsync({projectName:F,projectLabel:M,sourceAction:"project-run"}),a()}catch{}}async function ze(){p(!0);try{await s7(F),gt({title:"Project deleted",detail:`${M} was removed.`,tone:"positive",dedupeKey:`project:delete:${F}`,dedupeMode:"drop"}),n({to:"/"}),a()}catch(we){console.error("Failed to delete project:",we)}finally{p(!1)}}async function Q(){try{const we=await o7(F),We=typeof we=="string"?we:JSON.stringify(we,null,2),At=new Blob([We],{type:"text/yaml"}),on=URL.createObjectURL(At),dt=document.createElement("a");dt.href=on,dt.download=`${F}.yaml`,dt.click()}catch(we){gt({title:"Export failed",detail:we instanceof Error?we.message:"Could not export project YAML.",tone:"negative"})}}async function He(){const we=v.split(`